����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.116.81.41 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/gle.gltechlimited.com/app/Http/Controllers/ |
Upload File : |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Validator; use Nwidart\Modules\Facades\Module; use Yajra\DataTables\Facades\DataTables; use ZipArchive; class AddOnManagerController extends Controller { public function __construct() { $this->middleware('permission:addon-manager.manage', ['only' => ['index', 'toggle', 'install', 'delete']]); } public function index() { $modules = Module::toCollection(); $modules = $modules->map(function ($module) { $json = @file_get_contents(base_path() . '/Modules/' . $module . '/module.json'); $module = json_decode($json, true); $module['status'] = Module::find($module['name'])->isEnabled() ? 1 : 0; return $module; }); if (request()->ajax()) { return DataTables::of($modules) ->addIndexColumn() ->addColumn('image', function ($row) { return '<img class="pull-left" src="' . Module::asset($row['alias'] . ':logo/' . $row['alias'] . '.png') . '" alt="NEXTHOUR"/>'; }) ->addColumn('name', function ($row) { $html = '<b>' . $row['name'] . '</b>'; $html .= '<p>' . $row['description'] . '</p>'; return $html; }) ->addColumn('status', 'admin.addonmanager.status') ->addColumn('version', function ($row) { return $row['version']; }) ->addColumn('url', function ($row) { return isset($row['manage_settings_url']) && $row['manage_settings_url'] ? $row['manage_settings_url'] : ''; }) ->addColumn('action', 'admin.addonmanager.action') ->rawColumns(['image', 'name', 'status', 'url', 'version', 'action']) ->make(true); } return view('admin.addonmanager.index', compact('modules')); } public function toggle(Request $request) { if ($request->ajax()) { $module = Module::find($request->modulename); if (!isset($module)) { return response()->json(['msg' => __('Module not found'), 'status' => 'fail']); } if (env('DEMO_LOCK') == 1) { return response()->json(['msg' => __('This action is disabled in demo !'), 'status' => 'fail']); } if ($request->status == 0) { $module->disable(); return response()->json(['msg' => $request->modulename . __('Module disabled !'), 'status' => 'success']); } else { $module->enable(); return response()->json(['msg' => $request->modulename . __('Module enabled !'), 'status' => 'success']); } } } public function install(Request $request) { $validator = Validator::make( [ 'file' => $request->addon_file, 'extension' => strtolower($request->addon_file->getClientOriginalExtension()), ], [ 'file' => 'required', 'extension' => 'required|in:zip,7zip,gzip', ] ); if ($validator->fails()) { return back()->withErrors(__('File should be a valid add-on zip file !')); } ini_set('max_execution_time', 300); $filename = $request->addon_file; $modulename = str_replace('.' . $filename->getClientOriginalExtension(), '', $filename->getClientOriginalName()); $zip = new ZipArchive; $zipped = $zip->open($filename, ZipArchive::CREATE); if ($zipped) { $extract = $zip->extractTo(base_path() . '/Modules/'); if ($extract) { $module = Module::find($modulename); $module->enable(); Artisan::call('module:publish'); Artisan::call('module:migrate', ['module' => $modulename]); Artisan::call('module:update ' . $modulename); //If any external pkg. to install. return back()->with('success', $modulename . __('Module Installed Successfully'), 'Installed'); } } $zip->close(); } public function delete(Request $request) { if (env('DEMO_LOCK') == 1) { return back()->with('deleted', __('This function is disabled in demo !')); } $module = Module::find($request->modulename); if (!isset($module)) { return back()->with('deleted', __('Module not found !')); } $module->delete(); return back()->with('success', __('Module deleted !')); } }