UnknownSec Bypass
403
:
/
var
/
www
/
html
/
lms_d5c35339adb3
/
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 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; /** * TemplateController constructor. * @param ResponseBuilder $responseBuilder * @param Breadcrumbs $breadCrumbs * @param TemplateRepository $templateRepository * @param ThemeInterface $themeRepository */ public function __construct( ResponseBuilder $responseBuilder, Breadcrumbs $breadCrumbs, TemplateRepository $templateRepository, ThemeInterface $themeRepository ) { $this->middleware('admins'); $this->responseBuilder = $responseBuilder; $this->breadCrumbs = $breadCrumbs; $this->templateRepository = $templateRepository; $this->themeRepository = $themeRepository; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $env = 'environment'; $title = 'Configurações de Template'; $this->breadCrumbs->addBreadcrumb('Home', route('index')); $this->breadCrumbs->addBreadcrumb('Dashboard', route('admin.index')); $this->breadCrumbs->addBreadcrumb('Configurações do Template', route('admin.config.template.index')); $bread = $this->breadCrumbs->generate(); $template = $this->templateRepository->firstRecord(); $themes = $this->themeRepository->all(); return view('admin.config.template_config', compact('env', 'bread', 'title', 'template', 'themes')); } public function openModalTheme($themeId) { $theme = $this->themeRepository->find($themeId); return view('admin.config.modal_theme_select', compact('theme')); } 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\Response */ 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; $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'); } 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