initial
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
|
||||
class WLCMS_Loader
|
||||
{
|
||||
const CLASS_DIR = 'includes/classes/';
|
||||
const VIEW_DIR = 'view/';
|
||||
|
||||
private $admin_core_class;
|
||||
private $wizard_class;
|
||||
private $admin_menus_class;
|
||||
private $settings_class;
|
||||
private $login_class;
|
||||
private $branding_class;
|
||||
private $admin_script_class;
|
||||
private $admin_dashboard_class;
|
||||
private $admin_settings_class;
|
||||
private $upgrade_class;
|
||||
|
||||
private $admin_url;
|
||||
|
||||
|
||||
private static $_instance; //The single instance
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
$this->loadClasses();
|
||||
}
|
||||
|
||||
public static function getInstance()
|
||||
{
|
||||
if (!self::$_instance) { // If no instance then make one
|
||||
self::$_instance = new self();
|
||||
}
|
||||
|
||||
return self::$_instance;
|
||||
}
|
||||
|
||||
private function loadClasses()
|
||||
{
|
||||
$this->require_class('Messages');
|
||||
$this->require_class('Previewable');
|
||||
|
||||
$this->require_class('Admin_Core');
|
||||
$this->admin_core_class = new WLCMS_Admin_Core();
|
||||
|
||||
$this->require_class('Wizard');
|
||||
$this->wizard_class = new WLCMS_Wizard();
|
||||
|
||||
$this->require_class('Admin_Script');
|
||||
$this->admin_script_class = new WLCMS_Admin_Script();
|
||||
|
||||
$this->require_class('Settings');
|
||||
$this->settings_class = new WLCMS_Settings();
|
||||
|
||||
$this->require_class('Upgrade');
|
||||
$this->upgrade_class = new WLCMS_Upgrades();
|
||||
|
||||
$this->require_class('Admin_Menus');
|
||||
$this->admin_menus_class = new WLCMS_Admin_Menus();
|
||||
|
||||
$this->require_class('Login');
|
||||
$this->login_class = new WLCMS_Login();
|
||||
|
||||
$this->require_class('Branding');
|
||||
$this->branding_class = new WLCMS_Branding();
|
||||
|
||||
$this->require_class('Admin_Dashboard');
|
||||
$this->admin_dashboard_class = new WLCMS_Admin_Dashboard();
|
||||
|
||||
$this->require_class('Admin_Settings');
|
||||
$this->admin_settings_class = new WLCMS_Admin_Settings();
|
||||
|
||||
}
|
||||
|
||||
public function Admin_Core()
|
||||
{
|
||||
return $this->admin_core_class;
|
||||
}
|
||||
|
||||
public function Wizard()
|
||||
{
|
||||
return $this->wizard_class;
|
||||
}
|
||||
|
||||
public function Settings()
|
||||
{
|
||||
return $this->settings_class;
|
||||
}
|
||||
|
||||
public function Upgrade()
|
||||
{
|
||||
return $this->upgrade_class;
|
||||
}
|
||||
|
||||
public function Admin_Dashboard()
|
||||
{
|
||||
return $this->admin_dashboard_class;
|
||||
}
|
||||
|
||||
public function Admin_Menus()
|
||||
{
|
||||
return $this->admin_menus_class;
|
||||
}
|
||||
|
||||
public function Login()
|
||||
{
|
||||
return $this->login_class;
|
||||
}
|
||||
|
||||
public function Branding()
|
||||
{
|
||||
return $this->branding_class;
|
||||
}
|
||||
|
||||
public function Admin_Script()
|
||||
{
|
||||
return $this->admin_script_class;
|
||||
}
|
||||
|
||||
public function Admin_Settings()
|
||||
{
|
||||
return $this->admin_settings_class;
|
||||
}
|
||||
|
||||
public function require_class($file = "")
|
||||
{
|
||||
return $this->required(self::CLASS_DIR . $file);
|
||||
}
|
||||
|
||||
public function admin_url($view = 'settings')
|
||||
{
|
||||
return admin_url('options-general.php?page=wlcms-plugin.php&view=' . $view);
|
||||
}
|
||||
|
||||
public function required($file = "")
|
||||
{
|
||||
$dir = WLCMS_DIR;
|
||||
|
||||
if (empty($dir) || !is_dir($dir)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$file = path_join($dir, $file . '.php');
|
||||
|
||||
if (!file_exists($file)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
require_once $file;
|
||||
}
|
||||
|
||||
public function get_view($file = "")
|
||||
{
|
||||
$this->required(self::VIEW_DIR . $file);
|
||||
}
|
||||
|
||||
public function admin_view($file = "")
|
||||
{
|
||||
$this->get_view('admin/' . $file);
|
||||
}
|
||||
|
||||
public function get_active_view()
|
||||
{
|
||||
$default = 'settings';
|
||||
|
||||
if (!isset($_GET['view'])) {
|
||||
return $default;
|
||||
}
|
||||
|
||||
$available = array('wizard', 'settings');
|
||||
$view = wp_filter_kses($_GET['view']);
|
||||
|
||||
return (in_array($view, $available)) ? $view : $default;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user