'Pengaturan', ]; return view('admin.app.more.index', compact('data')); } public function media() { $data = [ 'subtitle' => 'Media', ]; return view('admin.app.more.media', compact('data')); } public function seo() { $data = [ 'subtitle' => 'Search Engine Optimization', ]; return view('admin.app.more.seo', compact('data')); } public function surel() { $data = [ 'subtitle' => 'Surel / SMTP', ]; return view('admin.app.more.surel', compact('data')); } public function payment() { $data = [ 'subtitle' => 'API Pembayaran', ]; return view('admin.app.more.payment', compact('data')); } public function packages() { $data = [ 'subtitle' => 'Layanan Paket', ]; return view('admin.app.more.packages', compact('data')); } public function advertiser() { $data = [ 'subtitle' => 'Layanan Paket Advertiser', ]; return view('admin.app.more.advertiser', compact('data')); } public function fees() { $data = [ 'subtitle' => 'Biaya Pajak', ]; return view('admin.app.more.fees', compact('data')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'title' => 'required', 'short_info' => 'string', 'about' => 'string', 'address' => 'string', 'email' => 'string|email', 'phone' => 'string', ]); if ($validator->fails()) { return redirect()->back()->with('swal', swal_alert('error', $validator->errors()->first()))->withInput(); } $input = $request->all(); $findWebsiteTitle = Website::find(1); $findWebsiteShort = Website::find(6); $findWebsiteAbout = Website::find(15); $findWebsiteAddress = Website::find(9); $findWebsiteEmail = Website::find(11); $findWebsitePhone = Website::find(10); // update data $findWebsiteTitle->value = $input['title']; $findWebsiteShort->value = $input['short_info']; $findWebsiteAbout->value = clean($input['about']); $findWebsiteAddress->value = $input['address']; $findWebsiteEmail->value = $input['email']; $findWebsitePhone->value = $input['phone']; // save data $findWebsiteTitle->save(); $findWebsiteShort->save(); $findWebsiteAbout->save(); $findWebsiteAddress->save(); $findWebsiteEmail->save(); $findWebsitePhone->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } public function storeSeo(Request $request) { $validator = Validator::make($request->all(), [ 'meta_title' => 'required', 'meta_keywords' => 'required', 'meta_description' => 'required', 'gtag_manager' => 'string', 'fb_pixel' => 'string', ]); if ($validator->fails()) { return redirect()->back()->with('swal', swal_alert('error', $validator->errors()->first()))->withInput(); } $input = $request->all(); $findMetaTitle = Website::find(5); $findMetaKeywords = Website::find(4); $findMetaDescription = Website::find(3); $findGoogleTag = Website::find(34); $findFacebookPixel = Website::find(35); // update data $findMetaTitle->value = $input['meta_title']; $findMetaKeywords->value = $input['meta_keywords']; $findMetaDescription->value = $input['meta_description']; $findGoogleTag->value = $input['gtag_manager']; $findFacebookPixel->value = $input['fb_pixel']; // save data $findMetaTitle->save(); $findMetaKeywords->save(); $findMetaDescription->save(); $findGoogleTag->save(); $findFacebookPixel->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } public function storePayment(Request $request) { $validator = Validator::make($request->all(), [ 'duitku_merchant' => 'required', 'duitku_client' => 'required', 'duitku_sandbox' => 'required', 'payment_duitku' => 'string', ]); if ($validator->fails()) { return redirect()->back()->with('swal', swal_alert('error', $validator->errors()->first()))->withInput(); } $input = $request->all(); $findMerchant = Website::find(36); $findClient = Website::find(37); $findProduct = Website::find(38); $findActive = Website::find(39); // update data $findMerchant->value = $input['duitku_merchant']; $findClient->value = $input['duitku_client']; $findProduct->value = $input['duitku_sandbox']; $findActive->value = empty($input['payment_duitku']) ? 0 : 1; // save data $findMerchant->save(); $findClient->save(); $findProduct->save(); $findActive->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } public function storeFees(Request $request) { $validator = Validator::make($request->all(), [ 'platform_percentage' => 'required', 'deposit_percentage' => 'required', ]); if ($validator->fails()) { return redirect()->back()->with('swal', swal_alert('error', $validator->errors()->first()))->withInput(); } $input = $request->all(); $findDeposit = Website::find(26); $findPlatform = Website::find(25); // update data $findDeposit->value = $input['deposit_percentage']; $findPlatform->value = $input['platform_percentage']; // save data $findDeposit->save(); $findPlatform->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } public function storeSurel(Request $request) { } public function storeMedia(Request $request) { $validator = Validator::make($request->all(), [ 'type' => 'required', 'image' => 'required|image|mimes:jpg,jpeg,png,svg|max:7048', ], [ 'image.mimes' => 'Tipe file yang diunggah harus jpg, jpeg, png, atau svg.', ]); if($validator->fails()) { return redirect()->back()->withInput()->with('swal', swal_alert('error', 'Unexpected error, please try again. code: ' . $validator->errors()->first())); } $input = $request->all(); if($input['type'] === "logo") { $findMedia = Website::find(23); } else { $findMedia = Website::find(2); } if($findMedia) { if($input['type'] === "logo") { // Jika ada file baru yang diunggah, simpan file baru di storage if ($request->hasFile('image') && $request->file('image')->isValid()) { $foto_namaBaru = $request->file('image')->store('public/images'); $findMedia->value = $foto_namaBaru; $findMedia->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } } else { if ($request->hasFile('image') && $request->file('image')->isValid()) { $foto_namaBaru = $request->file('image')->store('public/images'); $findMedia->value = $foto_namaBaru; $findMedia->save(); return redirect()->back()->with('swal', swal_alert('success', 'Data berhasil disimpan')); } } } else { return redirect()->back()->with('swal', swal_alert('error', 'Tidak ditemukan data')); } } public function cashflow() { $getTotalIncomeOrder = Order::sum('price'); $getTotalPendingIncomeOrder = Order::where('is_status', GlobalEnum::isOrderOnWorking)->sum('price'); $getListOrder = Order::orderBy('created_at', 'desc')->limit(5)->get(); $getFlowOrder = Order::getTotalAmountByMonth(); $getTotalOrder = Order::count(); $getListAwaitingWithdrawal = Withdrawal::where('is_status', 1)->count(); $data = [ 'subtitle' => 'Keuangan dan Transaksi' ]; return view('admin.app.more.cashflow', compact('data', 'getTotalIncomeOrder', 'getTotalPendingIncomeOrder', 'getListOrder', 'getFlowOrder', 'getListAwaitingWithdrawal', 'getTotalOrder')); } public function statistics(Request $request) { $logsActivity = LogActivites::where('logType', GlobalEnum::LogOfLogin)->orderBy('created_at', 'desc')->limit(10)->get(); $logGeneral = LogActivites::where('logType', GlobalEnum::LogOfGeneral)->orderBy('created_at', 'desc')->limit(10)->get(); $data = [ 'subtitle' => 'Riwayat Aktifitas' ]; return view('admin.app.more.statistic', compact('data', 'logsActivity', 'logGeneral')); } }