shell bypass 403

UnknownSec Shell


name : ThemeCustomizeController.php
<?php

namespace Modules\Appearance\Http\Controllers;

use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Modules\Appearance\Entities\Theme;
use Modules\Appearance\Entities\ThemeCustomize;

class ThemeCustomizeController extends Controller
{

    public function index()
    {
        try {
            $themes = ThemeCustomize::with('theme')->get();
            return view('appearance::customize.index', compact('themes'));
        } catch (\Exception $e) {
            GettingError($e->getMessage(), url()->current(), request()->ip(), request()->userAgent());
        }
    }


    public function create()
    {
        $default = ThemeCustomize::getData();
        $themes = Theme::getAllData();
        return view('appearance::customize.create', compact('themes', 'default'));

    }


    public function store(Request $request)
    {
        if (demoCheck()) {
            return redirect()->back();
        }
        $request->validate([
            'title' => 'required|max:191',
            'theme' => 'required|max:191',
            'is_default' => 'sometimes|required|boolean',
            's_color' => 'required|string|max:20',
            'p_color' => 'required|string|max:20',
            'footer_background_color' => 'required|string|max:20',
            'footer_headline_color' => 'required|string|max:20',
            'footer_text_color' => 'required|string|max:20',
            'footer_text_hover_color' => 'required|string|max:20',
        ]);

        if ($request->is_default) {
            ThemeCustomize::where('is_default', 1)->where('theme_name', $request->theme)->update(['is_default' => 0]);
        }

        $theme = new ThemeCustomize();
        $theme->name = $request->title;
        $theme->theme_name = $request->theme;
        $theme->secondary_color = $request->s_color;
        $theme->primary_color = $request->p_color;

        $theme->footer_background_color = $request->footer_background_color;
        $theme->footer_headline_color = $request->footer_headline_color;
        $theme->footer_text_color = $request->footer_text_color;
        $theme->footer_text_hover_color = $request->footer_text_hover_color;

        $theme->is_default = $request->is_default ? 1 : 0;
        $theme->created_by = Auth::id();

        $theme->save();


        Toastr::success(__('setting.New Theme Created Successful'), __('common.Success'));
        return redirect()->to(route('appearance.themes-customize.index'));
    }


    public function edit($id)
    {
        $editData = ThemeCustomize::findOrFail($id);
        $themes = Theme::getAllData();
        return view('appearance::customize.edit', compact('themes', 'editData'));
    }


    public function update(Request $request, $id)
    {

        if (demoCheck()) {
            return redirect()->back();
        }
        $request->validate([
            'title' => 'required|max:191',
            'theme' => 'required|max:191',
            's_color' => 'required|string|max:20',
            'p_color' => 'required|string|max:20',
            'footer_background_color' => 'required|string|max:20',
            'footer_headline_color' => 'required|string|max:20',
            'footer_text_color' => 'required|string|max:20',
            'footer_text_hover_color' => 'required|string|max:20',
        ]);


        $theme = ThemeCustomize::findOrFail($id);
        $theme->name = $request->title;
        $theme->theme_name = $request->theme;
        $theme->secondary_color = $request->s_color;
        $theme->primary_color = $request->p_color;


        $theme->footer_background_color = $request->footer_background_color;
        $theme->footer_headline_color = $request->footer_headline_color;
        $theme->footer_text_color = $request->footer_text_color;
        $theme->footer_text_hover_color = $request->footer_text_hover_color;

        $theme->save();


        Toastr::success(__('setting.Theme Update Successfully'), __('common.Success'));
        return redirect()->to(route('appearance.themes-customize.index'));
    }


    public function destroy($id)
    {
        if (demoCheck()) {
            return redirect()->back();
        }
        $theme = ThemeCustomize::findOrFail($id);

        if ($theme->id == 1) {
            Toastr::error(__('setting.You can not permitted to delete system theme'), __('common.Operation failed'));
            return redirect()->back();
        }

        if ($theme->is_default) {
            Theme::find(1)->update(['is_default' => 1]);
        }


        $theme->delete();
        Toastr::success(__('setting.Theme Deleted Successful'), __('common.Success'));
        return redirect()->back();
    }


    public function copy($id)
    {
        if (demoCheck()) {
            return redirect()->back();
        }
        $theme = ThemeCustomize::findOrFail($id);
        $newTheme = new ThemeCustomize();
        $newTheme->name = __('setting.Clone of') . ' ' . $theme->name;
        $newTheme->created_at = Carbon::now();
        $newTheme->primary_color = $theme->primary_color;
        $newTheme->secondary_color = $theme->secondary_color;
        $newTheme->footer_background_color = $theme->footer_background_color;
        $newTheme->footer_headline_color = $theme->footer_headline_color;
        $newTheme->footer_text_color = $theme->footer_text_color;
        $newTheme->footer_text_hover_color = $theme->footer_text_hover_color;
        $newTheme->theme_name = $theme->theme_name;
        $newTheme->is_default = false;
        $newTheme->created_by = Auth::id();
        $newTheme->save();


        Toastr::success(__('setting.Theme Cloned Successful'), __('common.Success'));
        return redirect()->back();

    }

    public function default($id)
    {

        if (demoCheck()) {
            return redirect()->back();
        }
        $theme = ThemeCustomize::findOrFail($id);
        ThemeCustomize::where('id', '!=', $theme->id)->update(['is_default' => 0]);
        $theme->is_default = 1;
        $theme->save();

        Cache::rememberForever('color_theme_' . SaasDomain(), function () {
            return DB::table('themes')
                ->select(
                    'theme_customizes.primary_color',
                    'theme_customizes.secondary_color',
                    'theme_customizes.footer_background_color',
                    'theme_customizes.footer_headline_color',
                    'theme_customizes.footer_text_color',
                    'theme_customizes.footer_text_hover_color',
                )
                ->join('theme_customizes', 'themes.id', '=', 'theme_customizes.theme_id')
                ->where('theme_customizes.lms_id', '=', SaasInstitute()->id)
                ->where('themes.is_active', '=', 1)
                ->where('theme_customizes.is_default', '=', 1)
                ->first();
        });

        Toastr::success(__('setting.Theme Set Default Successful'), __('common.Success'));
        return redirect()->back();

    }
}

© 2025 UnknownSec
afwwrfwafr45458465
Password