UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
eagleead
/
app
/
Http
/
Controllers
/
Admin
/
Config
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
TemplateController.php
<?php namespace EstudioLMS\Http\Controllers\Admin\Config; use EstudioLMS\Base\ResponseBuilder; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Repositories\Config\TemplateRepository; use EstudioLMS\Repositories\Config\ThemeInterface; use EstudioLMS\Repositories\Marketing\DigitalMagnetInterface; use File; use Illuminate\Http\Request; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use Storage; /** * Class TemplateController * @package EstudioLMS\Http\Controllers\Admin\Config */ class TemplateController extends Controller { /** * @var ResponseBuilder */ private $responseBuilder; /** * @var Breadcrumbs */ private $breadCrumbs; /** * @var TemplateRepository */ private $templateRepository; /** * @var ThemeInterface */ private $themeRepository; /** * @var DigitalMagnetInterface */ private $digitalMagnet; /** * TemplateController constructor. * @param ResponseBuilder $responseBuilder * @param Breadcrumbs $breadCrumbs * @param TemplateRepository $templateRepository * @param ThemeInterface $themeRepository * @param DigitalMagnetInterface $digitalMagnet */ public function __construct( ResponseBuilder $responseBuilder, Breadcrumbs $breadCrumbs, TemplateRepository $templateRepository, ThemeInterface $themeRepository, DigitalMagnetInterface $digitalMagnet ) { $this->middleware('admins'); $this->responseBuilder = $responseBuilder; $this->breadCrumbs = $breadCrumbs; $this->templateRepository = $templateRepository; $this->themeRepository = $themeRepository; $this->digitalMagnet = $digitalMagnet; } /** * Display a listing of the resource. * * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function index() { $env = 'environment'; $title = trans('admin_config.titleTemplate'); $this->breadCrumbs->addBreadcrumb(trans('admin_master.breadDash'), route('admin.index')); $this->breadCrumbs->addBreadcrumb(trans('admin_config.titleTemplate'), route('admin.config.template.index')); $bread = $this->breadCrumbs->generate(); $template = $this->templateRepository->firstRecord(); $themes = $this->themeRepository->all(); $digitalMagnet = $this->digitalMagnet->findWhere( [ ['published', '=', 1] ] )->pluck('name', 'id')->prepend(trans('admin_config.selectBait'), '0'); return view('admin.config.template_config', compact('env', 'bread', 'title', 'template', 'themes', 'digitalMagnet')); } /** * @param $themeId * @return \Illuminate\Contracts\View\Factory|\Illuminate\Foundation\Application|\Illuminate\View\View */ public function openModalTheme($themeId) { $theme = $this->themeRepository->find($themeId); return view('admin.config.modal_theme_select', compact('theme')); } /** * @param Request $request * @return mixed */ public function setTheme(Request $request) { $data = $request->all(); $update = $this->templateRepository->update( [ 'theme_id' => $data['themeId'] ], 1); $cssData = [ $update['font_title'], $update['font_body'], str_replace('+', ' ', $update['font_body']), $update['color_body'], $update['color5'], str_replace('+', ' ', $update['font_title']), $update['color_title'], $update['link'], $update['link_hover'], $update['color1'], $update['color2'], $update['color3'], $update['color4'], $update['color_border'], $update['button1'], $update['button2'], $update['button3'], $update['button4'], $update['custom_css'] ]; $this->makeCSS($cssData); return $update; } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function update(Request $request) { $data = $request->all(); if ($request->hasFile('logo')) { if ($request->file('logo')->isValid()) { $data['logo'] = uniqid(str_random(20)).'.'. $request->file('logo')->getClientOriginalExtension(); Storage::disk('template')->put($data['logo'], File::get($request->file('logo'))); } } else { unset($data['logo']); } if ($request->hasFile('favicon')) { if ($request->file('favicon')->isValid()) { $data['favicon'] = uniqid(str_random(20)).'.'. $request->file('favicon')->getClientOriginalExtension(); Storage::disk('template')->put($data['favicon'], File::get($request->file('favicon'))); } } else { unset($data['favicon']); } /* verificação dos checkboxes */ $data['add_teacher'] = !empty($data['add_teacher']) ? $data['add_teacher'] : 0; $data['list_teacher'] = !empty($data['list_teacher']) ? $data['list_teacher'] : 0; $data['students_studying'] = !empty($data['students_studying']) ? $data['students_studying'] : 0; $data['release_date'] = !empty($data['release_date']) ? $data['release_date'] : 0; $data['level'] = !empty($data['level']) ? $data['level'] : 0; if (empty($data['head_block'])) $data['head_block'] = null; if (empty($data['content_block'])) $data['content_block'] = null; if (empty($data['footer_block'])) $data['footer_block'] = null; $data['visual_admin'] = !empty($data['visual_admin']) ? $data['visual_admin'] : 0; $data['menu_main'] = !empty($data['menu_main']) ? $data['menu_main'] : 0; $data['menu_courses'] = !empty($data['menu_courses']) ? $data['menu_courses'] : 0; $data['menu_subscription'] = !empty($data['menu_subscription']) ? $data['menu_subscription'] : 0; $data['menu_teachers'] = !empty($data['menu_teachers']) ? $data['menu_teachers'] : 0; $data['menu_blog'] = !empty($data['menu_blog']) ? $data['menu_blog'] : 0; $data['menu_faq'] = !empty($data['menu_faq']) ? $data['menu_faq'] : 0; $data['menu_contact'] = !empty($data['menu_contact']) ? $data['menu_contact'] : 0; $data['listing_courses'] = !empty($data['listing_courses']) ? $data['listing_courses'] : 0; $data['listing_subscriptions'] = !empty($data['listing_subscriptions']) ? $data['listing_subscriptions'] : 0; $data['show_course_details_subscription_landpage'] = !empty($data['show_course_details_subscription_landpage']) ? $data['show_course_details_subscription_landpage'] : 0; $data['show_course_ratings'] = !empty($data['show_course_ratings']) ? $data['show_course_ratings'] : 0; $data['show_lesson_comments'] = !empty($data['show_lesson_comments']) ? $data['show_lesson_comments'] : 0; $data['show_course_modules'] = !empty($data['show_course_modules']) ? $data['show_course_modules'] : 0; $data['show_course_programmatic_content'] = !empty($data['show_course_programmatic_content']) ? $data['show_course_programmatic_content'] : 0; $data['show_digital_magnet'] = !empty($data['show_digital_magnet']) ? $data['show_digital_magnet'] : 0; if (empty($data['digital_magnet_id'])) $data['digital_magnet_id'] = null; if (empty($data['side_blog_block_text'])) $data['side_blog_block_text'] = null; if (empty($data['side_blog_block_script'])) $data['side_blog_block_script'] = null; $this->templateRepository->UpdateOrCreate(['id' => $data['id']], $data); $cssData = [ $data['font_title'], $data['font_body'], str_replace('+', ' ', $data['font_body']), $data['color_body'], $data['color5'], str_replace('+', ' ', $data['font_title']), $data['color_title'], $data['link'], $data['link_hover'], $data['color1'], $data['color2'], $data['color3'], $data['color4'], $data['color_border'], $data['button1'], $data['button2'], $data['button3'], $data['button4'], $data['custom_css'] ]; $this->makeCSS($cssData); flash()->success(trans('admin_template.msgSuccess')); return redirect()->route('admin.config.template.index'); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function updateSideColors(Request $request) { $data = $request->all(); $this->templateRepository->UpdateOrCreate(['id' => $data['id']], $data); $cssData = [ $data['font_title'], $data['font_body'], str_replace('+', ' ', $data['font_body']), $data['color_body'], $data['color5'], str_replace('+', ' ', $data['font_title']), $data['color_title'], $data['link'], $data['link_hover'], $data['color1'], $data['color2'], $data['color3'], $data['color4'], $data['color_border'], $data['button1'], $data['button2'], $data['button3'], $data['button4'], $data['custom_css'] ]; $this->makeCSS($cssData); //flash()->success(trans('admin_template.msgSuccess')); return redirect()->route('index'); } /** * @param $cssData */ private function makeCSS($cssData) { $skelArray = [ '<font_title_load>', '<font_body_load>', '<font_body>', '<color_body>', '<color5>', '<font_title>', '<color_title>', '<link>', '<link_hover>', '<color1>', '<color2>', '<color3>', '<color4>', '<color_border>', '<button1>', '<button2>', '<button3>', '<button4>', '<custom_css>' ]; $themeId = $this->templateRepository->firstRecord()->theme_id; $skelFile = $this->themeRepository->find($themeId)->skeleton; $skeleton = file_get_contents(public_path() . '/assets/css/app/' . $skelFile); $newCss = str_replace($skelArray, $cssData, $skeleton); file_put_contents(public_path() . '/assets/css/app/client.css', $newCss); } }
Copyright © 2026 - UnknownSec