X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Ffriendica_smarty.php;h=b3f0d18a01d32509f1ca8345c6f0403eff148d51;hb=1b74e3ff100426b86f0f7cdd2f967b7781d6f8fa;hp=2a294e9e240c19bdce6ea49841d962f9e436f404;hpb=1d6dd1666f4fc5da64447a48e158f8755d1d2a1b;p=friendica.git diff --git a/include/friendica_smarty.php b/include/friendica_smarty.php index 2a294e9e24..b3f0d18a01 100644 --- a/include/friendica_smarty.php +++ b/include/friendica_smarty.php @@ -5,30 +5,37 @@ require_once("library/Smarty/libs/Smarty.class.php"); class FriendicaSmarty extends Smarty { public $filename; - public $root; function __construct() { parent::__construct(); $a = get_app(); + $theme = current_theme(); - //$this->root = $_SERVER['DOCUMENT_ROOT'] . '/'; - $this->root = ''; + // setTemplateDir can be set to an array, which Smarty will parse in order. + // The order is thus very important here + $template_dirs = array('theme' => "view/theme/$theme/smarty3/"); + if( x($a->theme_info,"extends") ) + $template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/smarty3/"); + $template_dirs = $template_dirs + array('base' => 'view/smarty3/'); + $this->setTemplateDir($template_dirs); - $this->setTemplateDir($this->root . 'view/smarty3/'); - $this->setCompileDir($this->root . 'view/smarty3/compiled/'); - $this->setConfigDir($this->root . 'view/smarty3/config/'); - $this->setCacheDir($this->root . 'view/smarty3/cache/'); + $this->setCompileDir('view/smarty3/compiled/'); + $this->setConfigDir('view/smarty3/config/'); + $this->setCacheDir('view/smarty3/cache/'); - $this->left_delimiter = $a->smarty3_ldelim; - $this->right_delimiter = $a->smarty3_rdelim; + $this->left_delimiter = $a->get_template_ldelim('smarty3'); + $this->right_delimiter = $a->get_template_rdelim('smarty3'); + + // Don't report errors so verbosely + $this->error_reporting = E_ALL & ~E_NOTICE; } function parsed($template = '') { if($template) { return $this->fetch('string:' . $template); } - return $this->fetch('file:' . $this->root . $this->filename); + return $this->fetch('file:' . $this->filename); } }