invoiceSettings::get()->first()->company_name, 'company_adress' => invoiceSettings::get()->first()->company_adress, 'company_phone' => invoiceSettings::get()->first()->company_phone, 'company_vat' => invoiceSettings::get()->first()->company_vat, 'company_mail' => invoiceSettings::get()->first()->company_mail, 'company_web' => invoiceSettings::get()->first()->company_web ]); } public function updateIcons(Request $request) { $request->validate([ 'icon' => 'nullable|max:10000|mimes:jpg,png,jpeg', 'favicon' => 'nullable|max:10000|mimes:ico', ]); if ($request->hasFile('icon')) { $request->file('icon')->storeAs('public', 'icon.png'); } if ($request->hasFile('favicon')) { $request->file('favicon')->storeAs('public', 'favicon.ico'); } return redirect()->route('admin.settings.index')->with('success', 'Icons updated!'); } public function updateInvoiceSettings(Request $request) { $request->validate([ 'logo' => 'nullable|max:10000|mimes:jpg,png,jpeg', ]); invoiceSettings::updateOrCreate(['id' => "1"], ['company_name' => $request->get('company-name')]); invoiceSettings::updateOrCreate(['id' => "1",], ['company_adress' => $request->get('company-adress')]); invoiceSettings::updateOrCreate(['id' => "1",], ['company_phone' => $request->get('company-phone')]); invoiceSettings::updateOrCreate(['id' => "1",], ['company_mail' => $request->get('company-mail')]); invoiceSettings::updateOrCreate(['id' => "1",], ['company_vat' => $request->get('company-vat')]); invoiceSettings::updateOrCreate(['id' => "1",], ['company_web' => $request->get('company-web')]); if ($request->hasFile('logo')) { $request->file('logo')->storeAs('public', 'logo.png'); } return redirect()->route('admin.settings.index')->with('success', 'Invoice settings updated!'); } public function rglob($pattern, $flags = 0) { $files = glob($pattern, $flags); foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) { $files = array_merge($files, $this::rglob($dir.'/'.basename($pattern), $flags)); } return $files; } public function downloadAllInvoices(){ $zip = new ZipArchive; $zip_safe_path = storage_path('invoices.zip'); $res = $zip->open($zip_safe_path, ZipArchive::CREATE); $result = $this::rglob(storage_path('app/invoice/*')); if ($res === TRUE) { foreach($result as $file){ if (file_exists($file) && is_file($file)) { $zip->addFile($file,basename($file)); } } $zip->close(); } return response()->download($zip_safe_path); } }