public static function _init($controller = NULL) { /* Auto-generate WP shortcodes to controllers and it's methods */ foreach (get_class_methods(get_class($controller)) as $method) { $method = $method == '__construct' ? 'index' : $method; if ($method == __FUNCTION__) { break; } if ($method == 'index') { add_shortcode(strtolower(get_class($controller)), array(get_class($controller), $method)); } add_shortcode(strtolower(get_class($controller)) . '_' . $method, array(get_class($controller), $method)); } /* PI Loader for use */ self::$load = new PI_Loader(); self::$instance->load = self::$load; /* PI Control Panel use */ self::$control_panel = new PI_Control_Panel(); self::$instance->control_panel = self::$control_panel; }
public function model($model, $alias = false) { $file = PLUGINPATH . 'models/' . $model . EXT; if ($model == NULL) { log_message('error', 'Attempted to load non existing model'); return false; } if (!file_exists($file)) { log_message('error', 'Attempted to load non existing model'); return false; } if (preg_match('/[^a-zA-Z]+/', $alias, $matches)) { log_message('error', 'Model alias contains special characters'); return false; } $model_class = get_class_name_from_file($file); $model_name = $alias ? $alias : $model_class; include $file; $model = new $model_class(); parent::__set($model_name, $model); }
function __construct() { parent::_init($this); }