403Webshell
Server IP : 172.67.201.108  /  Your IP : 216.73.216.55
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.7
System : Linux ip-172-31-69-123.ec2.internal 6.1.177-224.371.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 20:28:29 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lifamfest/wp-content/plugins/wordpress-https/lib/Mvied/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/lifamfest/wp-content/plugins/wordpress-https/lib/Mvied/Theme.php
<?php
/**
 * Base class for a WordPress theme.
 *
 * @author Mike Ems
 * @package Mvied
 */
class Mvied_Theme {
	/**
	 * Base directory
	 *
	 * @var string
	 */
	protected $_directory;
	
	/**
	 * Module directory
	 *
	 * @var string
	 */
	protected $_module_directory;
	/**
	 * Loaded Modules
	 *
	 * @var array
	 */
	protected $_modules = array();
	/**
	 * Logger
	 *
	 * @var Mvied_Logger_Interface
	 */
	protected $_logger;
	/**
	 * Theme Settings
	 *
	 * @var array
	 */
	protected $_settings = array();
	/**
	 * Theme Slug
	 *
	 * Used as a unqiue identifier for the theme.
	 *
	 * @var string
	 */
	protected $_slug;
	
	/**
	 * Theme Version
	 *
	 * @var string
	 */
	protected $_version;
	
	/**
	 * Set Directory
	 * 
	 * @param string $directory
	 * @return object $this
	 */
	public function setDirectory( $directory ) {
		$this->_directory = $directory;
		return $this;
	}
	
	/**
	 * Get Directory
	 * 
	 * @param none
	 * @return string
	 */
	public function getDirectory() {
		return $this->_directory;
	}
	
	/**
	 * Set Module Directory
	 * 
	 * @param string $module_directory
	 * @return object $this
	 */
	public function setModuleDirectory( $module_directory ) {
		$this->_module_directory = $module_directory;
		return $this;
	}
	
	/**
	 * Get Module Directory
	 * 
	 * @param none
	 * @return string
	 */
	public function getModuleDirectory() {
		return $this->_module_directory;
	}
	
	/**
	 * Get Available Modules
	 *
	 * @param none
	 * @return array $modules
	 */
	public function getAvailableModules() {
		$modules = array();
		if ( is_dir($this->getModuleDirectory()) && $module_directory = opendir($this->getModuleDirectory()) ) {
			while ( false !== ($entry = readdir($module_directory)) ) {
				if ( $entry != '.' && $entry != '..' ) {
					$module = str_replace('.php', '', $entry);
					if ( $module != 'Interface' ) {
						$modules[] = $module;
						if ( is_dir($this->getModuleDirectory() . $module) && $sub_module_directory = opendir($this->getModuleDirectory() . $module) ) {
							while ( false !== ($entry = readdir($sub_module_directory)) ) {
								if ( $entry != '.' && $entry != '..' ) {
									$sub_module = str_replace('.php', '', $entry);
									$modules[] = $module . '\\' . $sub_module;
								}
							}
						}
					}
				}
			}
		}
		return $modules;
	}
	/**
	 * Get Module
	 *
	 * @param string $module
	 * @return object
	 */
	public function getModule( $module ) {
		$module = 'Module\\' . $module;
		if ( isset($module) ) {
			if ( isset($this->_modules[$module]) ) {
				return $this->_modules[$module];
			}
		}
		
		die('Module not found: \'' . $module . '\'.');
	}
	/**
	 * Get Modules
	 * 
	 * Returns an array of all loaded modules
	 *
	 * @param none
	 * @return array $modules
	 */
	public function getModules() {
		$modules = array();
		if ( isset($this->_modules) ) {
			$modules = $this->_modules;
		}
		return $modules;
	}
	
	/**
	 * Set Module
	 *
	 * @param string $module
	 * @param object $object
	 * @return $this
	 */
	public function setModule( $module, $object ) {
		$this->_modules[$module] = $object;
		return $this;
	}
	/**
	 * Set Logger
	 * 
	 * @param object $logger
	 * @return object $this
	 */
	public function setLogger( Mvied_Logger_Interface $logger ) {
		$this->_logger = $logger;	
		return $this;
	}
	
	/**
	 * Get Logger
	 * 
	 * @param none
	 * @return object
	 */
	public function getLogger() {
		if ( ! isset($this->_logger) ) {
			die(__CLASS__ . ' missing Logger dependency.');
		}
		
		return $this->_logger->getInstance();
	}
	/**
	 * Get Theme Setting
	 *
	 * @param string $setting
	 * @param int $setting_blog_id
	 * @return mixed
	 */
	public function getSetting( $setting, $blog_id = 0 ) {
		$setting_full = $this->getSlug() . '_' . $setting;
		if ( $blog_id > 0 ) {
			$value = get_blog_option($blog_id, $setting_full);
		} else {
			$value = get_option($setting_full);
		}
		// Load default option
		if ( $value === false ) {
			$value = $this->_settings[$setting];
		}
		// Convert 1's and 0's to boolean
		switch( $value ) {
			case "1":
				$value = true;
			break;
			case "0":
				$value = false;
			break;
		}
		return $value;
	}
	/**
	 * Get Theme Settings
	 *
	 * @param none
	 * @return array
	 */
	public function getSettings() {
		return $this->_settings;
	}

	/**
	 * Set Plugin Setting
	 *
	 * @param string $setting
	 * @param mixed $value
	 * @param int $blog_id
	 * @return $this
	 */
	public function setSetting( $setting, $value, $blog_id = 0 ) {
		$setting_full = $this->getSlug() . '_' . $setting;
		if ( $blog_id > 0 ) {
			update_blog_option($blog_id, $setting_full, $value);
		} else {
			update_option($setting_full, $value);
		}
		return $this;
	}

	/**
	 * Set Slug
	 * 
	 * @param string $slug
	 * @return object $this
	 */
	public function setSlug( $slug ) {
		$this->_slug = $slug;
		return $this;
	}
	
	/**
	 * Get Slug
	 * 
	 * @param none
	 * @return string
	 */
	public function getSlug() {
		return $this->_slug;
	}
	
	/**
	 * Set Version
	 * 
	 * @param string $version
	 * @return object $this
	 */
	public function setVersion( $version ) {
		$this->_version = $version;
		return $this;
	}
	
	/**
	 * Get Version
	 * 
	 * @param none
	 * @return string
	 */
	public function getVersion() {
		return $this->_version;
	}
	
	/**
	 * Init
	 * 
	 * Initializes all of the modules.
	 *
	 * @param none
	 * @return $this
	 */
	public function init() {
		$modules = $this->getModules();
		foreach( $modules as $module ) {
			$module->init();
		}
		if ( isset($this->_slug) ) {
			do_action($this->_slug . '_init');
		}
		return $this;
	}
	/**
	 * Is Module Loaded?
	 *
	 * @param string $module
	 * @return boolean
	 */
	public function isModuleLoaded( $module ) {
		if ( is_object($this->getModule($module)) ) {
			return true;
		} else {
			return false;
		}
	}
	/**
	 * Load Module
	 *
	 * @param string $module
	 * @return $this
	 */
	public function loadModule( $module ) {
		if ( strpos(get_class($this), '_') !== false ) {
			$base_class = substr(get_class($this), 0, strpos(get_class($this), '_'));
		} else {
			$base_class = get_class($this);
		}
		$module_full = 'Module\\' . $module;
		$filename = str_replace('\\', '/', $module);
		$filename = $filename . '.php';
		
		require_once($this->getModuleDirectory() . $filename);
		$class = $base_class . '_' . str_replace('\\', '_', $module_full);
		if ( ! isset($this->_modules[$class]) || ! is_object($this->_modules[$class]) || get_class($this->_modules[$class]) != $class ) {
			try {
				$object = new $class;
				$this->setModule($module_full, $object);
				$this->getModule($module)->setTheme($this);
			} catch ( Exception $e ) {
				die('Unable to load module: \'' . $module . '\'. ' . $e->getMessage());
			}
		}
		return $this;
	}
	/**
	 * Load Modules
	 * 
	 * Load specified modules. If no modules are specified, all modules are loaded.
	 *
	 * @param array $modules
	 * @return $this
	 */
	public function loadModules( $modules = array() ) {
		if ( sizeof($modules) == 0 ) {
			$modules = $this->getAvailableModules();
		}
		foreach( $modules as $module ) {
			$this->loadModule( $module );
		}
		return $this;
	}
	/**
	 * Unload Module
	 *
	 * @param string $module
	 * @return $this
	 */
	public function unloadModule( $module ) {
		if ( strpos(get_class($this), '_') !== false ) {
			$base_class = substr(get_class($this), 0, strpos(get_class($this), '_'));
		} else {
			$base_class = get_class($this);
		}
		$module = 'Module\\' . $module;
		$modules = $this->getModules();
		
		unset($modules[$module]);
		
		$this->_modules = $modules;
		return $this;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit