From d146f51feb8262e28f6ee5dd521f7fa24d3853b1 Mon Sep 17 00:00:00 2001 From: David Goodwin Date: Thu, 27 Dec 2018 22:01:19 +0000 Subject: [PATCH] remove duplication of PFASmarty class --- lib/smarty.inc.php | 72 ++++------------------------------------------ 1 file changed, 5 insertions(+), 67 deletions(-) diff --git a/lib/smarty.inc.php b/lib/smarty.inc.php index 705ad5b0..33b7943a 100644 --- a/lib/smarty.inc.php +++ b/lib/smarty.inc.php @@ -1,76 +1,11 @@ template = new Smarty(); - - //$this->template->debugging = true; - if($template=='default') - $this->template->setTemplateDir(dirname(__FILE__) . '/../templates'); - else $this->template->setTemplateDir(dirname(__FILE__) . '/../templates/'.$template); - - // if it's not present or writeable, smarty should just not cache. - $templates_c = dirname(__FILE__) . '/../templates_c'; - if (is_dir($templates_c) && is_writeable($templates_c)) { - $this->template->setCompileDir($templates_c); - } else { - # unfortunately there's no sane way to just disable compiling of templates - clearstatcache(); // just incase someone just fixed it; on their next refresh it should work. - error_log("ERROR: directory $templates_c doesn't exist or isn't writeable for the webserver"); - die("ERROR: the templates_c directory doesn't exist or isn't writeable for the webserver"); - } - $this->template->setConfigDir(dirname(__FILE__) . '/../configs'); - } +require_once(dirname(__FILE__) . '/PFASmarty.php'); - public function assign($key, $value, $sanitise = true) { - $this->template->assign("RAW_$key", $value); - if ($sanitise == false) { - return $this->template->assign($key, $value); - } - $clean = $this->sanitise($value); - /* we won't run the key through sanitise() here... some might argue we should */ - return $this->template->assign($key, $clean); - } - - public function display($template) { - header("Expires: Sun, 16 Mar 2003 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); - header("Cache-Control: no-store, no-cache, must-revalidate"); - header("Cache-Control: post-check=0, pre-check=0", false); - header("Pragma: no-cache"); - header("Content-Type: text/html; charset=UTF-8"); +Smarty_Autoloader::register(); - $this->template->display($template); - unset($_SESSION['flash']); # cleanup flash messages - } - /** - * Recursive cleaning of data, using htmlentities - this assumes we only ever output to HTML and we're outputting in UTF-8 charset - * - * @param mixed $data - array or primitive type; objects not supported. - * @return mixed $data - * */ - public function sanitise($data) { - if (!is_array($data)) { - return htmlentities($data, ENT_QUOTES, 'UTF-8', false); - } - if (is_array($data)) { - $clean = array(); - foreach ($data as $key => $value) { - /* as this is a nested data structure it's more likely we'll output the key too (at least in my opinion, so we'll sanitise it too */ - $clean[$this->sanitise($key)] = $this->sanitise($value); - } - return $clean; - } - } -} if(isset($CONF['theme']) && is_dir(dirname(__FILE__) ."/../templates/".$CONF['theme'])) $smarty = new PFASmarty($CONF['theme']); else $smarty = new PFASmarty(); @@ -88,6 +23,9 @@ $smarty->assign('CONF', $CONF); $smarty->assign('PALANG', $PALANG); $smarty->assign('url_domain', ''); //*** footer.tpl +if(!isset($version)) { + $version = 'dev/unknown'; +} $smarty->assign('version', $version); //*** menu.tpl