芝麻web文件管理V1.00
编辑当前文件:/home/shaabmuni/public_html/public/crm/app/FaveoStorage/Controllers/SettingsController.php
'.Lang::get('storage::lang.storage').'
'; } public function settings() { try { $settings = new CommonSettings(); $directories = $this->directories(); $def = $settings->getOptionValue('storage', 'default'); $ro = $settings->getOptionValue('storage', 'root'); $default = 'local'; $root = storage_path('app'); if ($def) { $default = $def->option_value; } if ($ro) { $root = $ro->option_value; } return view('storage::settings', compact('default', 'root', 'directories')); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function postSettings(Request $request) { try { $requests = $request->except('_token'); $this->delete(); if (count($requests) > 0) { foreach ($requests as $key => $value) { if ($value) { $this->save($key, $value); } } } return redirect()->back()->with('success', 'Updated'); } catch (Exception $ex) { return redirect()->back()->with('fails', $ex->getMessage()); } } public function delete() { $settings = CommonSettings::where('option_name', 'storage')->get(); if ($settings->count() > 0) { foreach ($settings as $setting) { $setting->delete(); } } } public function save($key, $value) { CommonSettings::create([ 'option_name' => 'storage', 'optional_field' => $key, 'option_value' => $value, ]); } public function directories($root = '') { if ($root == '') { $root = base_path(); } $iter = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD // Ignore "Permission denied" ); $paths = [$root]; foreach ($iter as $path => $dir) { if ($dir->isDir()) { $paths[$path] = $path; } } return $paths; } public function attachment() { $storage = new StorageController(); $storage->upload(); } public function activate() { if (!\Schema::hasColumn('ticket_attachment', 'driver')) { $path = 'app'.DIRECTORY_SEPARATOR.'FaveoStorage'.DIRECTORY_SEPARATOR.'database'.DIRECTORY_SEPARATOR.'migrations'; Artisan::call('migrate', [ '--path' => $path, '--force' => true, ]); } } }