PATH:
home
/
lab2454c
/
vaultchip.com
/
platform
/
core
/
base
/
src
/
Http
/
Controllers
<?php namespace Botble\Base\Http\Controllers; use Arr; use Assets; use Botble\Base\Http\Responses\BaseHttpResponse; use Botble\Base\Supports\Helper; use Botble\Base\Supports\Language; use Botble\Base\Supports\MembershipAuthorization; use Botble\Base\Supports\SystemManagement; use Botble\Base\Tables\InfoTable; use Botble\Table\TableBuilder; use Exception; use Illuminate\Contracts\Container\BindingResolutionException; use Illuminate\Contracts\Filesystem\FileNotFoundException; use Illuminate\Contracts\View\Factory; use Illuminate\Filesystem\Filesystem; use Illuminate\Foundation\Application; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\Auth; use Illuminate\View\View; use Menu; use Throwable; use Botble\Base\Models\HomeTitle; use Botble\Base\Models\ProductBannerContent; use Illuminate\Support\Facades\Storage; use Illuminate\Http\File; use App\Models\ProductEnquiry; class SystemController extends Controller { /** * @param Request $request * @param TableBuilder $tableBuilder * @return Factory|View * @throws Throwable * @throws BindingResolutionException * @throws FileNotFoundException */ public function getInfo(Request $request, TableBuilder $tableBuilder) { page_title()->setTitle(trans('core/base::system.info.title')); Assets::addScriptsDirectly('vendor/core/core/base/js/system-info.js') ->addStylesDirectly(['vendor/core/core/base/css/system-info.css']); $composerArray = SystemManagement::getComposerArray(); $packages = SystemManagement::getPackagesAndDependencies($composerArray['require']); $infoTable = $tableBuilder->create(InfoTable::class); if ($request->expectsJson()) { return $infoTable->renderTable(); } $systemEnv = SystemManagement::getSystemEnv(); $serverEnv = SystemManagement::getServerEnv(); $requiredPhpVersion = Arr::get($composerArray, 'require.php', '^7.3'); $requiredPhpVersion = str_replace('^', '', $requiredPhpVersion); $requiredPhpVersion = str_replace('~', '', $requiredPhpVersion); $matchPHPRequirement = version_compare(phpversion(), $requiredPhpVersion) > 0; return view('core/base::system.info', compact( 'packages', 'infoTable', 'systemEnv', 'serverEnv', 'matchPHPRequirement', 'requiredPhpVersion' )); } /** * @return Factory|View */ public function getCacheManagement() { page_title()->setTitle(trans('core/base::cache.cache_management')); Assets::addScriptsDirectly('vendor/core/core/base/js/cache.js'); return view('core/base::system.cache'); } /** * @param Request $request * @param BaseHttpResponse $response * @param Filesystem $files * @param Application $app * @return BaseHttpResponse */ public function postClearCache(Request $request, BaseHttpResponse $response, Filesystem $files, Application $app) { switch ($request->input('type')) { case 'clear_cms_cache': Helper::clearCache(); Menu::clearCacheMenuItems(); break; case 'refresh_compiled_views': foreach ($files->glob(config('view.compiled') . '/*') as $view) { $files->delete($view); } break; case 'clear_config_cache': $files->delete($app->getCachedConfigPath()); break; case 'clear_route_cache': $files->delete($app->getCachedRoutesPath()); break; case 'clear_log': if ($files->isDirectory(storage_path('logs'))) { foreach ($files->allFiles(storage_path('logs')) as $file) { $files->delete($file->getPathname()); } } break; } return $response->setMessage(trans('core/base::cache.commands.' . $request->input('type') . '.success_msg')); } /** * @param MembershipAuthorization $authorization * @param BaseHttpResponse $response * @return BaseHttpResponse */ public function authorize(MembershipAuthorization $authorization, BaseHttpResponse $response) { $authorization->authorize(); return $response; } /** * @param string $lang * @param Request $request * @return RedirectResponse * @throws Exception */ public function getLanguage($lang, Request $request) { if ($lang != false && array_key_exists($lang, Language::getAvailableLocales())) { if (Auth::check()) { cache()->forget(md5('cache-dashboard-menu-' . $request->user()->getKey())); } session()->put('site-locale', $lang); } return redirect()->back(); } /** * @param BaseHttpResponse $response * @return BaseHttpResponse */ public function getMenuItemsCount(BaseHttpResponse $response) { $data = apply_filters(BASE_FILTER_MENU_ITEMS_COUNT, []); return $response->setData($data); } public function getHomeTitle() { //$titles = DB::select('select * from home_titles'); $data['titles'] = HomeTitle::all(); return view('core/base::custom.list', $data); } public function editHomeTitle(HomeTitle $homeTitle) { $data['homeTitle'] = $homeTitle; return view('core/base::custom.homeTitle', $data); } public function saveHomeTitle(Request $request, $homeTitle) { $homeTitle = HomeTitle::find($homeTitle); //dd($request,$homeTitle); $changed = false; $values = $request->validate([ "tag1" => "required|string|max:150", "title1" => "required|string|max:150", "desc1" => "required|string|max:150", "tag2" => "required|string|max:150", "title2" => "required|string|max:150", "title3" => "required|string|max:150", "title4" => "required|string|max:150", "card_title" => "required|string|max:150", "card_desc" => "required|string|max:200", "title5" => "required|string|max:150", "tag5" => "required|string|max:150", "title6" => "required|string|max:150", "newsletter_title" => "required|string|max:150", "newsletter_description" => "required|string|max:200", "demo_link" => "nullable|string|max:150", "playstore_link" => "nullable|string|max:150", "applestore_link" => "nullable|string|max:150", "crypto_image" => "nullable|image|max:2000", "feature1" => "required|string|max:150", "feature2" => "required|string|max:150", "feature3" => "required|string|max:150", "feature4" => "required|string|max:150", "feature5" => "required|string|max:150", "feature6" => "required|string|max:150", ]); //dd($values); if ($request->crypto_image) { Storage::delete($homeTitle->crypto_image); $values['crypto_image'] = Storage::putFile('homeTitle', new File($request->crypto_image)); } $homeTitle->fill($request->except('crypto_image')); if (isset($values['crypto_image'])) { $homeTitle->crypto_image = $values['crypto_image']; } if ($homeTitle->isDirty()) { $homeTitle->save(); $changed = true; } if (! $changed) { return redirect()->route('getHomeTitle')->withErrors('No changes done to save'); } return redirect()->route('getHomeTitle')->withSuccess('Title Data updated Successfully!'); } public function getProductBannerContent(Request $request) { $data['productBanners'] = ProductBannerContent::all(); dd($data['productBanners']); return view('core/base::custom.productBannerContent.list', $data); } public function editProductBannerContent(ProductBannerContent $productBannerContent) { $data['productBannerContent'] = $productBannerContent; return view('core/base::custom.productBannerContent.form', $data); } public function saveProductBannerContent(Request $request, $productBannerContent) { $productBannerContent = ProductBannerContent::find($productBannerContent); //dd($request,$productBannerContent); $changed = false; $values = $request->validate([ "banner_title" => "required|string|max:150", "banner_desc" => "required|string|max:200", "banner_image" => "nullable|image|max:2000", ]); //dd($values); if ($request->banner_image) { Storage::delete($productBannerContent->banner_image); $values['banner_image'] = Storage::putFile('productBanner', new File($request->banner_image)); } $productBannerContent->fill($request->except('banner_image')); if (isset($values['banner_image'])) { $productBannerContent->banner_image = $values['banner_image']; } if ($productBannerContent->isDirty()) { $productBannerContent->save(); $changed = true; } if (! $changed) { return redirect()->route('getProductBannerContent')->withErrors('No changes done to save'); } return redirect()->route('getProductBannerContent')->withSuccess('Banner Data updated Successfully!'); } public function showEnquiry(Rerquest $request) { //$data['productEnquiries'] = ProductEnquiry::orderBy('id', 'desc')->get(); $query = ProductEnquiry::orderBy('id', 'desc'); $data = array(); if (isset($request->status)) { $query->Where('is_complete', '=', $request->status); $data['status'] = $request->status; } $data['productEnquiries'] = $query->get(); return view('core/base::custom.enquiryList', $data); } public function markEnquiry(ProductEnquiry $productEnquiry) { if ($productEnquiry->is_complete == 0 ) { $productEnquiry->is_complete = 1; $productEnquiry->save(); } return redirect()->route('enquiry')->withSuccess('Enquiry status Updated Successfully!'); } }
[-] SystemController.php
[edit]
[+]
..
[-] BaseController.php
[edit]