initial conversion to static app class
This commit is contained in:
parent
1cd3b41825
commit
256c228efd
396
boot.php
396
boot.php
@ -653,61 +653,63 @@ class ZotlabsAutoloader {
|
||||
*/
|
||||
class App {
|
||||
|
||||
public $install = false; // true if we are installing the software
|
||||
public static $install = false; // true if we are installing the software
|
||||
|
||||
public $account = null; // account record of the logged-in account
|
||||
public $channel = null; // channel record of the current channel of the logged-in account
|
||||
public $observer = null; // xchan record of the page observer
|
||||
public $profile_uid = 0; // If applicable, the channel_id of the "page owner"
|
||||
public $poi = null; // "person of interest", generally a referenced connection
|
||||
private $oauth_key = null; // consumer_id of oauth request, if used
|
||||
public $layout = array(); // Comanche parsed template
|
||||
public $pdl = null; // Comanche page description
|
||||
private $perms = null; // observer permissions
|
||||
private $widgets = array(); // widgets for this page
|
||||
public static $account = null; // account record of the logged-in account
|
||||
public static $channel = null; // channel record of the current channel of the logged-in account
|
||||
public static $observer = null; // xchan record of the page observer
|
||||
public static $profile_uid = 0; // If applicable, the channel_id of the "page owner"
|
||||
public static $poi = null; // "person of interest", generally a referenced connection
|
||||
private static $oauth_key = null; // consumer_id of oauth request, if used
|
||||
public static $layout = array(); // Comanche parsed template
|
||||
public static $pdl = null; // Comanche page description
|
||||
private static $perms = null; // observer permissions
|
||||
private static $widgets = array(); // widgets for this page
|
||||
|
||||
public $groups;
|
||||
public $language;
|
||||
public $module_loaded = false;
|
||||
public $query_string;
|
||||
public $config; // config cache
|
||||
public $page;
|
||||
public $profile;
|
||||
public $user;
|
||||
public $cid;
|
||||
public $contact;
|
||||
public $contacts;
|
||||
public $content;
|
||||
public $data = array();
|
||||
public $error = false;
|
||||
public $cmd;
|
||||
public $argv;
|
||||
public $argc;
|
||||
public $module;
|
||||
public $pager;
|
||||
public $strings;
|
||||
public $hooks;
|
||||
public $timezone;
|
||||
public $interactive = true;
|
||||
public $plugins;
|
||||
private $apps = array();
|
||||
public $identities;
|
||||
public $css_sources = array();
|
||||
public $js_sources = array();
|
||||
public $theme_info = array();
|
||||
public $is_sys = false;
|
||||
public $nav_sel;
|
||||
public static $groups;
|
||||
public static $language;
|
||||
public static $module_loaded = false;
|
||||
public static $query_string;
|
||||
public static $config; // config cache
|
||||
public static $page;
|
||||
public static $profile;
|
||||
public static $user;
|
||||
public static $cid;
|
||||
public static $contact;
|
||||
public static $contacts;
|
||||
public static $content;
|
||||
public static $data = array();
|
||||
public static $error = false;
|
||||
public static $cmd;
|
||||
public static $argv;
|
||||
public static $argc;
|
||||
public static $module;
|
||||
public static $pager;
|
||||
public static $strings;
|
||||
public static $hooks;
|
||||
public static $timezone;
|
||||
public static $interactive = true;
|
||||
public static $plugins;
|
||||
private static $apps = array();
|
||||
public static $identities;
|
||||
public static $css_sources = array();
|
||||
public static $js_sources = array();
|
||||
public static $theme_info = array();
|
||||
public static $is_sys = false;
|
||||
public static $nav_sel;
|
||||
public static $is_mobile = false;
|
||||
public static $is_tablet = false;
|
||||
|
||||
public $category;
|
||||
public static $category;
|
||||
|
||||
// Allow themes to control internal parameters
|
||||
// by changing App values in theme.php
|
||||
|
||||
public $sourcename = '';
|
||||
public $videowidth = 425;
|
||||
public $videoheight = 350;
|
||||
public $force_max_items = 0;
|
||||
public $theme_thread_allow = true;
|
||||
public static $sourcename = '';
|
||||
public static $videowidth = 425;
|
||||
public static $videoheight = 350;
|
||||
public static $force_max_items = 0;
|
||||
public static $theme_thread_allow = true;
|
||||
|
||||
/**
|
||||
* @brief An array for all theme-controllable parameters
|
||||
@ -715,7 +717,7 @@ class App {
|
||||
* Mostly unimplemented yet. Only options 'template_engine' and
|
||||
* beyond are used.
|
||||
*/
|
||||
private $theme = array(
|
||||
private static $theme = array(
|
||||
'sourcename' => '',
|
||||
'videowidth' => 425,
|
||||
'videoheight' => 350,
|
||||
@ -728,33 +730,33 @@ class App {
|
||||
/**
|
||||
* @brief An array of registered template engines ('name'=>'class name')
|
||||
*/
|
||||
public $template_engines = array();
|
||||
public static $template_engines = array();
|
||||
/**
|
||||
* @brief An array of instanced template engines ('name'=>'instance')
|
||||
*/
|
||||
public $template_engine_instance = array();
|
||||
public static $template_engine_instance = array();
|
||||
|
||||
private $ldelim = array(
|
||||
private static $ldelim = array(
|
||||
'internal' => '',
|
||||
'smarty3' => '{{'
|
||||
);
|
||||
private $rdelim = array(
|
||||
private static $rdelim = array(
|
||||
'internal' => '',
|
||||
'smarty3' => '}}'
|
||||
);
|
||||
|
||||
// These represent the URL which was used to access the page
|
||||
|
||||
private $scheme;
|
||||
private $hostname;
|
||||
private $path;
|
||||
private static $scheme;
|
||||
private static $hostname;
|
||||
private static $path;
|
||||
|
||||
// This is our standardised URL - regardless of what was used
|
||||
// to access the page
|
||||
|
||||
private $baseurl;
|
||||
private static $baseurl;
|
||||
|
||||
private $meta;
|
||||
private static $meta;
|
||||
|
||||
/**
|
||||
* App constructor.
|
||||
@ -763,11 +765,11 @@ class App {
|
||||
// we'll reset this after we read our config file
|
||||
date_default_timezone_set('UTC');
|
||||
|
||||
$this->config = array('system'=>array());
|
||||
$this->page = array();
|
||||
$this->pager= array();
|
||||
self::$config = array('system'=>array());
|
||||
self::$page = array();
|
||||
self::$pager= array();
|
||||
|
||||
$this->query_string = '';
|
||||
self::$query_string = '';
|
||||
|
||||
|
||||
startup();
|
||||
@ -778,64 +780,64 @@ class App {
|
||||
. 'library/langdet' . PATH_SEPARATOR
|
||||
. '.' );
|
||||
|
||||
$this->scheme = 'http';
|
||||
self::$scheme = 'http';
|
||||
if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
|
||||
$this->scheme = 'https';
|
||||
self::$scheme = 'https';
|
||||
elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
|
||||
$this->scheme = 'https';
|
||||
self::$scheme = 'https';
|
||||
|
||||
if(x($_SERVER,'SERVER_NAME')) {
|
||||
$this->hostname = $_SERVER['SERVER_NAME'];
|
||||
self::$hostname = $_SERVER['SERVER_NAME'];
|
||||
|
||||
if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443)
|
||||
$this->hostname .= ':' . $_SERVER['SERVER_PORT'];
|
||||
self::$hostname .= ':' . $_SERVER['SERVER_PORT'];
|
||||
/**
|
||||
* Figure out if we are running at the top of a domain
|
||||
* or in a sub-directory and adjust accordingly
|
||||
*/
|
||||
|
||||
$path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\');
|
||||
if(isset($path) && strlen($path) && ($path != $this->path))
|
||||
$this->path = $path;
|
||||
if(isset($path) && strlen($path) && ($path != self::$path))
|
||||
self::$path = $path;
|
||||
}
|
||||
|
||||
set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path("include/self::$hostname" . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'], 0, 2) === "q=") {
|
||||
$this->query_string = substr($_SERVER['QUERY_STRING'], 2);
|
||||
self::$query_string = substr($_SERVER['QUERY_STRING'], 2);
|
||||
// removing trailing / - maybe a nginx problem
|
||||
if (substr($this->query_string, 0, 1) == "/")
|
||||
$this->query_string = substr($this->query_string, 1);
|
||||
if (substr(self::$query_string, 0, 1) == "/")
|
||||
self::$query_string = substr(self::$query_string, 1);
|
||||
}
|
||||
if(x($_GET,'q'))
|
||||
$this->cmd = trim($_GET['q'],'/\\');
|
||||
self::$cmd = trim($_GET['q'],'/\\');
|
||||
|
||||
// unix style "homedir"
|
||||
|
||||
if(substr($this->cmd, 0, 1) === '~')
|
||||
$this->cmd = 'channel/' . substr($this->cmd, 1);
|
||||
if(substr(self::$cmd, 0, 1) === '~')
|
||||
self::$cmd = 'channel/' . substr(self::$cmd, 1);
|
||||
|
||||
/*
|
||||
* Break the URL path into C style argc/argv style arguments for our
|
||||
* modules. Given "http://example.com/module/arg1/arg2", $this->argc
|
||||
* will be 3 (integer) and $this->argv will contain:
|
||||
* modules. Given "http://example.com/module/arg1/arg2", self::$argc
|
||||
* will be 3 (integer) and self::$argv will contain:
|
||||
* [0] => 'module'
|
||||
* [1] => 'arg1'
|
||||
* [2] => 'arg2'
|
||||
*
|
||||
* There will always be one argument. If provided a naked domain
|
||||
* URL, $this->argv[0] is set to "home".
|
||||
* URL, self::$argv[0] is set to "home".
|
||||
*/
|
||||
|
||||
$this->argv = explode('/', $this->cmd);
|
||||
$this->argc = count($this->argv);
|
||||
if ((array_key_exists('0', $this->argv)) && strlen($this->argv[0])) {
|
||||
$this->module = str_replace(".", "_", $this->argv[0]);
|
||||
$this->module = str_replace("-", "_", $this->module);
|
||||
self::$argv = explode('/', self::$cmd);
|
||||
self::$argc = count(self::$argv);
|
||||
if ((array_key_exists('0', self::$argv)) && strlen(self::$argv[0])) {
|
||||
self::$module = str_replace(".", "_", self::$argv[0]);
|
||||
self::$module = str_replace("-", "_", self::$module);
|
||||
} else {
|
||||
$this->argc = 1;
|
||||
$this->argv = array('home');
|
||||
$this->module = 'home';
|
||||
self::$argc = 1;
|
||||
self::$argv = array('home');
|
||||
self::$module = 'home';
|
||||
}
|
||||
|
||||
/*
|
||||
@ -843,22 +845,22 @@ class App {
|
||||
* pagination
|
||||
*/
|
||||
|
||||
$this->pager['page'] = ((x($_GET,'page') && intval($_GET['page']) > 0) ? intval($_GET['page']) : 1);
|
||||
$this->pager['itemspage'] = 60;
|
||||
$this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
|
||||
if($this->pager['start'] < 0)
|
||||
$this->pager['start'] = 0;
|
||||
$this->pager['total'] = 0;
|
||||
self::$pager['page'] = ((x($_GET,'page') && intval($_GET['page']) > 0) ? intval($_GET['page']) : 1);
|
||||
self::$pager['itemspage'] = 60;
|
||||
self::$pager['start'] = (self::$pager['page'] * self::$pager['itemspage']) - self::$pager['itemspage'];
|
||||
if(self::$pager['start'] < 0)
|
||||
self::$pager['start'] = 0;
|
||||
self::$pager['total'] = 0;
|
||||
|
||||
/*
|
||||
* Detect mobile devices
|
||||
*/
|
||||
|
||||
$mobile_detect = new Mobile_Detect();
|
||||
$this->is_mobile = $mobile_detect->isMobile();
|
||||
$this->is_tablet = $mobile_detect->isTablet();
|
||||
self::$is_mobile = $mobile_detect->isMobile();
|
||||
self::$is_tablet = $mobile_detect->isTablet();
|
||||
|
||||
$this->head_set_icon('/images/hz-32.png');
|
||||
self::head_set_icon('/images/hz-32.png');
|
||||
|
||||
BaseObject::set_app($this);
|
||||
|
||||
@ -868,146 +870,146 @@ class App {
|
||||
$dc = get_declared_classes();
|
||||
foreach ($dc as $k) {
|
||||
if (in_array("ITemplateEngine", class_implements($k))){
|
||||
$this->register_template_engine($k);
|
||||
self::register_template_engine($k);
|
||||
}
|
||||
}
|
||||
|
||||
spl_autoload_register('ZotlabsAutoloader::loader');
|
||||
|
||||
$this->meta= new Zotlabs\Web\HttpMeta();
|
||||
self::$meta= new Zotlabs\Web\HttpMeta();
|
||||
}
|
||||
|
||||
function get_baseurl($ssl = false) {
|
||||
if(is_array($this->config)
|
||||
&& array_key_exists('system',$this->config)
|
||||
&& is_array($this->config['system'])
|
||||
&& array_key_exists('baseurl',$this->config['system'])
|
||||
&& strlen($this->config['system']['baseurl'])) {
|
||||
$url = $this->config['system']['baseurl'];
|
||||
public static function get_baseurl($ssl = false) {
|
||||
if(is_array(self::$config)
|
||||
&& array_key_exists('system',self::$config)
|
||||
&& is_array(self::$config['system'])
|
||||
&& array_key_exists('baseurl',self::$config['system'])
|
||||
&& strlen(self::$config['system']['baseurl'])) {
|
||||
$url = self::$config['system']['baseurl'];
|
||||
$url = trim($url,'\\/');
|
||||
return $url;
|
||||
}
|
||||
|
||||
$scheme = $this->scheme;
|
||||
$scheme = self::$scheme;
|
||||
|
||||
$this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
|
||||
self::$baseurl = $scheme . "://" . self::$hostname . ((isset(self::$path) && strlen(self::$path)) ? '/' . self::$path : '' );
|
||||
|
||||
return $this->baseurl;
|
||||
return self::$baseurl;
|
||||
}
|
||||
|
||||
function set_baseurl($url) {
|
||||
if(is_array($this->config)
|
||||
&& array_key_exists('system',$this->config)
|
||||
&& is_array($this->config['system'])
|
||||
&& array_key_exists('baseurl',$this->config['system'])
|
||||
&& strlen($this->config['system']['baseurl'])) {
|
||||
$url = $this->config['system']['baseurl'];
|
||||
public static function set_baseurl($url) {
|
||||
if(is_array(self::$config)
|
||||
&& array_key_exists('system',self::$config)
|
||||
&& is_array(self::$config['system'])
|
||||
&& array_key_exists('baseurl',self::$config['system'])
|
||||
&& strlen(self::$config['system']['baseurl'])) {
|
||||
$url = self::$config['system']['baseurl'];
|
||||
$url = trim($url,'\\/');
|
||||
}
|
||||
|
||||
$parsed = @parse_url($url);
|
||||
|
||||
$this->baseurl = $url;
|
||||
self::$baseurl = $url;
|
||||
|
||||
if($parsed) {
|
||||
$this->scheme = $parsed['scheme'];
|
||||
self::$scheme = $parsed['scheme'];
|
||||
|
||||
$this->hostname = $parsed['host'];
|
||||
self::$hostname = $parsed['host'];
|
||||
if(x($parsed,'port'))
|
||||
$this->hostname .= ':' . $parsed['port'];
|
||||
self::$hostname .= ':' . $parsed['port'];
|
||||
if(x($parsed,'path'))
|
||||
$this->path = trim($parsed['path'],'\\/');
|
||||
self::$path = trim($parsed['path'],'\\/');
|
||||
}
|
||||
}
|
||||
|
||||
function get_scheme() {
|
||||
return $this->scheme;
|
||||
public static function get_scheme() {
|
||||
return self::$scheme;
|
||||
}
|
||||
|
||||
|
||||
function get_hostname() {
|
||||
return $this->hostname;
|
||||
public static function get_hostname() {
|
||||
return self::$hostname;
|
||||
}
|
||||
|
||||
function set_hostname($h) {
|
||||
$this->hostname = $h;
|
||||
public static function set_hostname($h) {
|
||||
self::$hostname = $h;
|
||||
}
|
||||
|
||||
function set_path($p) {
|
||||
$this->path = trim(trim($p), '/');
|
||||
public static function set_path($p) {
|
||||
self::$path = trim(trim($p), '/');
|
||||
}
|
||||
|
||||
function get_path() {
|
||||
return $this->path;
|
||||
public static function get_path() {
|
||||
return self::$path;
|
||||
}
|
||||
|
||||
function set_account($acct) {
|
||||
$this->account = $acct;
|
||||
public static function set_account($acct) {
|
||||
self::$account = $acct;
|
||||
}
|
||||
|
||||
function get_account() {
|
||||
return $this->account;
|
||||
public static function get_account() {
|
||||
return self::$account;
|
||||
}
|
||||
|
||||
function set_channel($channel) {
|
||||
$this->channel = $channel;
|
||||
public static function set_channel($channel) {
|
||||
self::$channel = $channel;
|
||||
}
|
||||
|
||||
function get_channel() {
|
||||
return $this->channel;
|
||||
public static function get_channel() {
|
||||
return self::$channel;
|
||||
}
|
||||
|
||||
function set_observer($xchan) {
|
||||
$this->observer = $xchan;
|
||||
public static function set_observer($xchan) {
|
||||
self::$observer = $xchan;
|
||||
}
|
||||
|
||||
|
||||
function get_observer() {
|
||||
return $this->observer;
|
||||
public static function get_observer() {
|
||||
return self::$observer;
|
||||
}
|
||||
|
||||
function set_perms($perms) {
|
||||
$this->perms = $perms;
|
||||
public static function set_perms($perms) {
|
||||
self::$perms = $perms;
|
||||
}
|
||||
|
||||
function get_perms() {
|
||||
return $this->perms;
|
||||
public static function get_perms() {
|
||||
return self::$perms;
|
||||
}
|
||||
|
||||
function set_oauth_key($consumer_id) {
|
||||
$this->oauth_key = $consumer_id;
|
||||
public static function set_oauth_key($consumer_id) {
|
||||
self::$oauth_key = $consumer_id;
|
||||
}
|
||||
|
||||
function get_oauth_key() {
|
||||
return $this->oauth_key;
|
||||
public static function get_oauth_key() {
|
||||
return self::$oauth_key;
|
||||
}
|
||||
|
||||
function get_apps() {
|
||||
return $this->apps;
|
||||
public static function get_apps() {
|
||||
return self::$apps;
|
||||
}
|
||||
|
||||
function set_apps($arr) {
|
||||
$this->apps = $arr;
|
||||
public static function set_apps($arr) {
|
||||
self::$apps = $arr;
|
||||
}
|
||||
|
||||
function set_groups($g) {
|
||||
$this->groups = $g;
|
||||
public static function set_groups($g) {
|
||||
self::$groups = $g;
|
||||
}
|
||||
|
||||
function get_groups() {
|
||||
return $this->groups;
|
||||
public static function get_groups() {
|
||||
return self::$groups;
|
||||
}
|
||||
|
||||
function set_pager_total($n) {
|
||||
$this->pager['total'] = intval($n);
|
||||
public static function set_pager_total($n) {
|
||||
self::$pager['total'] = intval($n);
|
||||
}
|
||||
|
||||
function set_pager_itemspage($n) {
|
||||
$this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
|
||||
$this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
|
||||
public static function set_pager_itemspage($n) {
|
||||
self::$pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
|
||||
self::$pager['start'] = (self::$pager['page'] * self::$pager['itemspage']) - self::$pager['itemspage'];
|
||||
}
|
||||
|
||||
function build_pagehead() {
|
||||
public static function build_pagehead() {
|
||||
|
||||
$user_scalable = ((local_channel()) ? get_pconfig(local_channel(),'system','user_scalable') : 1);
|
||||
if ($user_scalable === false)
|
||||
@ -1021,36 +1023,36 @@ class App {
|
||||
if($interval < 10000)
|
||||
$interval = 80000;
|
||||
|
||||
if(! x($this->page,'title'))
|
||||
$this->page['title'] = $this->config['system']['sitename'];
|
||||
if(! x(self::$page,'title'))
|
||||
self::$page['title'] = self::$config['system']['sitename'];
|
||||
|
||||
if(! $this->meta->get_field('og:title'))
|
||||
$this->meta->set('og:title',$this->page['title']);
|
||||
if(! self::$meta->get_field('og:title'))
|
||||
self::$meta->set('og:title',self::$page['title']);
|
||||
|
||||
$this->meta->set('generator', Zotlabs\Project\System::get_platform_name());
|
||||
self::$meta->set('generator', Zotlabs\Project\System::get_platform_name());
|
||||
|
||||
/* put the head template at the beginning of page['htmlhead']
|
||||
* since the code added by the modules frequently depends on it
|
||||
* being first
|
||||
*/
|
||||
$tpl = get_markup_template('head.tpl');
|
||||
$this->page['htmlhead'] = replace_macros($tpl, array(
|
||||
self::$page['htmlhead'] = replace_macros($tpl, array(
|
||||
'$preload_images' => $preload_images,
|
||||
'$user_scalable' => $user_scalable,
|
||||
'$baseurl' => $this->get_baseurl(),
|
||||
'$baseurl' => self::get_baseurl(),
|
||||
'$local_channel' => local_channel(),
|
||||
'$metas' => $this->meta->get(),
|
||||
'$metas' => self::$meta->get(),
|
||||
'$update_interval' => $interval,
|
||||
'$icon' => head_get_icon(),
|
||||
'$head_css' => head_get_css(),
|
||||
'$head_js' => head_get_js(),
|
||||
'$js_strings' => js_strings(),
|
||||
'$zid' => get_my_address(),
|
||||
'$channel_id' => $this->profile['uid'],
|
||||
)) . $this->page['htmlhead'];
|
||||
'$channel_id' => self::$profile['uid'],
|
||||
)) . self::$page['htmlhead'];
|
||||
|
||||
// always put main.js at the end
|
||||
$this->page['htmlhead'] .= head_get_main_js();
|
||||
self::$page['htmlhead'] .= head_get_main_js();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1059,7 +1061,7 @@ class App {
|
||||
* @param string $class
|
||||
* @param string $name
|
||||
*/
|
||||
function register_template_engine($class, $name = '') {
|
||||
public static function register_template_engine($class, $name = '') {
|
||||
if ($name === ""){
|
||||
$v = get_class_vars( $class );
|
||||
if(x($v, "name")) $name = $v['name'];
|
||||
@ -1068,7 +1070,7 @@ class App {
|
||||
echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
|
||||
killme();
|
||||
}
|
||||
$this->template_engines[$name] = $class;
|
||||
self::$template_engines[$name] = $class;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1079,23 +1081,23 @@ class App {
|
||||
*
|
||||
* @return object Template Engine instance
|
||||
*/
|
||||
function template_engine($name = ''){
|
||||
public static function template_engine($name = ''){
|
||||
if ($name !== "") {
|
||||
$template_engine = $name;
|
||||
} else {
|
||||
$template_engine = 'smarty3';
|
||||
if (x($this->theme, 'template_engine')) {
|
||||
$template_engine = $this->theme['template_engine'];
|
||||
if (x(self::$theme, 'template_engine')) {
|
||||
$template_engine = self::$theme['template_engine'];
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($this->template_engines[$template_engine])){
|
||||
if(isset($this->template_engine_instance[$template_engine])){
|
||||
return $this->template_engine_instance[$template_engine];
|
||||
if (isset(self::$template_engines[$template_engine])){
|
||||
if(isset(self::$template_engine_instance[$template_engine])){
|
||||
return self::$template_engine_instance[$template_engine];
|
||||
} else {
|
||||
$class = $this->template_engines[$template_engine];
|
||||
$class = self::$template_engines[$template_engine];
|
||||
$obj = new $class;
|
||||
$this->template_engine_instance[$template_engine] = $obj;
|
||||
self::$template_engine_instance[$template_engine] = $obj;
|
||||
return $obj;
|
||||
}
|
||||
}
|
||||
@ -1108,28 +1110,28 @@ class App {
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function get_template_engine() {
|
||||
return $this->theme['template_engine'];
|
||||
public static function get_template_engine() {
|
||||
return self::$theme['template_engine'];
|
||||
}
|
||||
|
||||
function set_template_engine($engine = 'smarty3') {
|
||||
$this->theme['template_engine'] = $engine;
|
||||
public static function set_template_engine($engine = 'smarty3') {
|
||||
self::$theme['template_engine'] = $engine;
|
||||
}
|
||||
|
||||
function get_template_ldelim($engine = 'smarty3') {
|
||||
return $this->ldelim[$engine];
|
||||
public static function get_template_ldelim($engine = 'smarty3') {
|
||||
return self::$ldelim[$engine];
|
||||
}
|
||||
|
||||
function get_template_rdelim($engine = 'smarty3') {
|
||||
return $this->rdelim[$engine];
|
||||
public static function get_template_rdelim($engine = 'smarty3') {
|
||||
return self::$rdelim[$engine];
|
||||
}
|
||||
|
||||
function head_set_icon($icon) {
|
||||
$this->data['pageicon'] = $icon;
|
||||
public static function head_set_icon($icon) {
|
||||
self::$data['pageicon'] = $icon;
|
||||
}
|
||||
|
||||
function head_get_icon() {
|
||||
$icon = $this->data['pageicon'];
|
||||
public static function head_get_icon() {
|
||||
$icon = self::$data['pageicon'];
|
||||
if(! strpos($icon,'://'))
|
||||
$icon = z_root() . $icon;
|
||||
return $icon;
|
||||
|
Reference in New Issue
Block a user