diff --git a/interface/lib/classes/tpl.inc.php b/interface/lib/classes/tpl.inc.php index 33566c0759b7037d9cb51dc1676e4486895ddbd3..d76c48d1d0e15e21089cbf45c692260dc7aa59c4 100644 --- a/interface/lib/classes/tpl.inc.php +++ b/interface/lib/classes/tpl.inc.php @@ -1,12 +1,15 @@ <?php /** - * Template Class - * - * @author Kelvin Jones <kelvin@kelvinjones.co.uk> - * @copyright 2002 Active Fish Group - * @version 1.1 - * @package ISPConfig - */ +* vlibTemplate is a class used to seperate PHP and HTML. +* For instructions on how to use vlibTemplate, see the +* vlibTemplate.html file, located in the 'docs' directory. +* +* @since 07/03/2002 +* @author Kelvin Jones <kelvin@kelvinjones.co.uk> +* @package vLIB +* @access public +* @see vlibTemplate.html +*/ /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ @@ -19,160 +22,130 @@ // // $Id: class.tpl.inc.php,v 1.1 2003/07/08 12:31:10 platinum Exp $ -// check to avoid multiple including of class +//** check to avoid multiple including of class if (!defined('vlibTemplateClassLoaded')) { define('vlibTemplateClassLoaded', 1); global $conf; include_once ($conf['classpath'].'/tpl_error.inc.php'); include_once ($conf['classpath'].'/tpl_ini.inc.php'); - /** - * vlibTemplate is a class used to seperate PHP and HTML. - * For instructions on how to use vlibTemplate, see the - * vlibTemplate.html file, located in the 'docs' directory. - * - * @since 07/03/2002 - * @author Kelvin Jones <kelvin@kelvinjones.co.uk> - * @package vLIB - * @access public - * @see vlibTemplate.html - */ - - class tpl { - - /*-----------------------------------------------------------------------------\ - | ATTENTION | - | Do not touch the following variables. vlibTemplate will not work otherwise. | - \-----------------------------------------------------------------------------*/ - - var $OPTIONS = array( - 'MAX_INCLUDES' => 10, - 'TEMPLATE_DIR' => null, - 'GLOBAL_VARS' => null, - 'GLOBAL_CONTEXT_VARS' => null, - 'LOOP_CONTEXT_VARS' => null, - 'SET_LOOP_VAR' => null, - 'DEFAULT_ESCAPE' => null, - 'STRICT' => null, - 'CASELESS' => null, - 'UNKNOWNS' => null, - 'TIME_PARSE' => null, - 'ENABLE_PHPINCLUDE' => null, - 'INCLUDE_PATHS' => array(), - 'CACHE_DIRECTORY' => null, - 'CACHE_LIFETIME' => null, - 'CACHE_EXTENSION' => null - ); + class tpl{ + + /*-----------------------------------------------------------------------------\ + | ATTENTION | + | Do not touch the following variables. vlibTemplate will not work otherwise. | + \-----------------------------------------------------------------------------*/ + private $OPTIONS = array( + 'MAX_INCLUDES' => 10, + 'TEMPLATE_DIR' => null, + 'GLOBAL_VARS' => null, + 'GLOBAL_CONTEXT_VARS' => null, + 'LOOP_CONTEXT_VARS' => null, + 'SET_LOOP_VAR' => null, + 'DEFAULT_ESCAPE' => null, + 'STRICT' => null, + 'CASELESS' => null, + 'UNKNOWNS' => null, + 'TIME_PARSE' => null, + 'ENABLE_PHPINCLUDE' => null, + 'INCLUDE_PATHS' => array(), + 'CACHE_DIRECTORY' => null, + 'CACHE_LIFETIME' => null, + 'CACHE_EXTENSION' => null + ); /** open and close tags used for escaping */ - var $ESCAPE_TAGS = array( - 'html' => array('open' => 'htmlspecialchars(' - ,'close'=> ', ENT_QUOTES)'), - 'url' => array('open' => 'urlencode(' - ,'close'=> ')'), - 'rawurl'=>array('open' => 'rawurlencode(' - ,'close'=> ')'), - 'sq' => array('open' => 'addcslashes(' - ,'close'=> ", \"'\")"), - 'dq' => array('open' => 'addcslashes(' - ,'close'=> ", '\"')"), - '1' => array('open' => 'htmlspecialchars(' - ,'close'=> ', ENT_QUOTES)'), - '0' => array('open' => '' - ,'close'=> ''), - 'none' => array('open' => '' - ,'close'=> ''), - 'hex' => array('open' => '$this->_escape_hex(', - 'close'=> ', false)'), - 'hexentity' => array('open' => '$this->_escape_hex(', - 'close'=> ', true)') - ); - + private $ESCAPE_TAGS = array( + 'html' => array('open' => 'htmlspecialchars(' ,'close'=> ', ENT_QUOTES)'), + 'url' => array('open' => 'urlencode(' ,'close'=> ')'), + 'rawurl' => array('open' => 'rawurlencode(' ,'close'=> ')'), + 'sq' => array('open' => 'addcslashes(' ,'close'=> ", \"'\")"), + 'dq' => array('open' => 'addcslashes(' ,'close'=> ", '\"')"), + '1' => array('open' => 'htmlspecialchars(' ,'close'=> ', ENT_QUOTES)'), + '0' => array('open' => '' ,'close'=> ''), + 'none' => array('open' => '' ,'close'=> ''), + 'hex' => array('open' => '$this->_escape_hex(' ,'close'=> ', false)'), + 'hexentity' => array('open' => '$this->_escape_hex(' ,'close'=> ', true)') + ); + /** open and close tags used for formatting */ - var $FORMAT_TAGS = array( - 'strtoupper' => array('open' => 'strtoupper(', - 'close'=> ')'), - 'uc' => array('open' => 'strtoupper(', - 'close'=> ')'), - 'strtolower' => array('open' => 'strtolower(', - 'close'=> ')'), - 'lc' => array('open' => 'strtolower(', - 'close'=> ')'), - 'ucfirst' => array('open' => 'ucfirst(', - 'close'=> ')'), - 'lcucfirst' => array('open' => 'ucfirst(strtolower(', - 'close'=> '))'), - 'ucwords' => array('open' => 'ucwords(', - 'close'=> ')'), - 'lcucwords' => array('open' => 'ucwords(strtolower(', - 'close'=> '))') - ); + private $FORMAT_TAGS = array( + 'strtoupper' => array('open' => 'strtoupper(', 'close'=> ')'), + 'uc' => array('open' => 'strtoupper(', 'close'=> ')'), + 'strtolower' => array('open' => 'strtolower(', 'close'=> ')'), + 'lc' => array('open' => 'strtolower(', 'close'=> ')'), + 'ucfirst' => array('open' => 'ucfirst(', 'close'=> ')'), + 'lcucfirst' => array('open' => 'ucfirst(strtolower(', 'close'=> '))'), + 'ucwords' => array('open' => 'ucwords(', 'close'=> ')'), + 'lcucwords' => array('open' => 'ucwords(strtolower(', 'close'=> '))') + ); /** operators allowed when using extended TMPL_IF syntax */ - var $allowed_if_ops = array('==','!=','<>','<','>','<=','>='); - + private $allowed_if_ops = array('==','!=','<>','<','>','<=','>='); + /** dbs allowed by vlibTemplate::setDbLoop(). */ - var $allowed_loop_dbs = array('MYSQL','POSTGRESQL','INFORMIX','INTERBASE','INGRES', - 'MSSQL','MSQL','OCI8','ORACLE','OVRIMOS','SYBASE'); - + private $allowed_loop_dbs = array('MYSQL','POSTGRESQL','INFORMIX','INTERBASE','INGRES', + 'MSSQL','MSQL','OCI8','ORACLE','OVRIMOS','SYBASE'); + /** root directory of vlibTemplate automagically filled in */ - var $VLIBTEMPLATE_ROOT = null; - + private $VLIBTEMPLATE_ROOT = null; + /** contains current directory used when doing recursive include */ - var $_currentincludedir = array(); - + private $_currentincludedir = array(); + /** current depth of includes */ - var $_includedepth = 0; - + private $_includedepth = 0; + /** full path to tmpl file */ - var $_tmplfilename = null; - + private $_tmplfilename = null; + /** file data before it's parsed */ - var $_tmplfile = null; - + private $_tmplfile = null; + /** parsed version of file, ready for eval()ing */ - var $_tmplfilep = null; - + private $_tmplfilep = null; + /** eval()ed version ready for printing or whatever */ - var $_tmploutput = null; - + private $_tmploutput = null; + /** array for variables to be kept */ - var $_vars = array(); - + private $_vars = array(); + /** array where loop variables are kept */ - var $_arrvars = array(); + private $_arrvars = array(); /** array which holds the current namespace during parse */ - var $_namespace = array(); - + private $_namespace = array(); + /** variable is set to true once the template is parsed, to save re-parsing everything */ - var $_parsed = false; - + private $_parsed = false; + /** array holds all unknowns vars */ - var $_unknowns = array(); - + private $_unknowns = array(); + /** microtime when template parsing began */ - var $_firstparsetime = null; - + private $_firstparsetime = null; + /** total time taken to parse template */ - var $_totalparsetime = null; - + private $_totalparsetime = null; + /** name of current loop being passed in */ - var $_currloopname = null; - + private $_currloopname = null; + /** rows with the above loop */ - var $_currloop = array(); - + private $_currloop = array(); + /** define vars to avoid warnings */ - var $_debug = null; - var $_cache = null; + private $_debug = null; + private $_cache = null; /** array which holds the dynamic Includes */ - var $_dyninclude = array(); - /*-----------------------------------------------------------------------------\ - | public functions | - \-----------------------------------------------------------------------------*/ - + private $_dyninclude = array(); + + /*-----------------------------------------------------------------------------\ + | public functions | + \-----------------------------------------------------------------------------*/ + /** * FUNCTION: newTemplate @@ -185,10 +158,11 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true * @access public */ - function newTemplate ($tmplfile) { + public function newTemplate($tmplfile) + { if (!$tfile = $this->_fileSearch($tmplfile)) vlibTemplateError::raiseError('VT_ERROR_NOFILE',KILL,$tmplfile); - // make sure that any parsing vars are cleared for the new template + //* make sure that any parsing vars are cleared for the new template $this->_tmplfile = null; $this->_tmplfilep = null; $this->_tmploutput = null; @@ -197,7 +171,7 @@ if (!defined('vlibTemplateClassLoaded')) { $this->_firstparsetime = null; $this->_totalparsetime = null; - // reset debug module + //* reset debug module if ($this->_debug) $this->_debugReset(); $this->_tmplfilename = $tfile; @@ -216,7 +190,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function setVar ($k,$v=null) { + public function setVar($k, $v = null) + { if (is_array($k)) { foreach($k as $key => $value){ $key = ($this->OPTIONS['CASELESS']) ? strtolower(trim($key)) : trim($key); @@ -224,13 +199,11 @@ if (!defined('vlibTemplateClassLoaded')) { $this->_vars[$key] = $value; } } - } - else { + } else { if (preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $k) && $v !== null) { if ($this->OPTIONS['CASELESS']) $k = strtolower($k); $this->_vars[trim($k)] = $v; - } - else { + } else { return false; } } @@ -249,8 +222,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - - function setInclude($k, $v = null) { + public function setInclude($k, $v = null) + { if(is_array($k)) { foreach($k as $key => $val) { $this->_dyninclude[$key] = $val; @@ -258,7 +231,6 @@ if (!defined('vlibTemplateClassLoaded')) { } else { $this->_dyninclude[$k] = $v; } - return true; } @@ -272,7 +244,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false returns true unless called with 0 params * @access public */ - function unsetVar () { + public function unsetVar() + { $num_args = func_num_args(); if ($num_args < 1) return false; @@ -293,7 +266,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return array * @access public */ - function getVars () { + public function getVars() + { if (empty($this->_vars)) return false; return $this->_vars; } @@ -306,7 +280,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return var * @access public */ - function getVar ($var) { + public function getVar($var) + { if ($this->OPTIONS['CASELESS']) $var = strtolower($var); if (empty($var) || !isset($this->_vars[$var])) return false; return $this->_vars[$var]; @@ -320,13 +295,14 @@ if (!defined('vlibTemplateClassLoaded')) { * @return true * @access public */ - function setContextVars () { + public function setContextVars() + { $_phpself = @$GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']; $_pathinfo = @$GLOBALS['HTTP_SERVER_VARS']['PATH_INFO']; $_request_uri = @$GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI']; $_qs = @$GLOBALS['HTTP_SERVER_VARS']['QUERY_STRING']; - // the following fixes bug of $PHP_SELF on Win32 CGI and IIS. + //* the following fixes bug of $PHP_SELF on Win32 CGI and IIS. $_self = (!empty($_pathinfo)) ? $_pathinfo : $_phpself; $_uri = (!empty($_request_uri)) ? $_request_uri : $_self.'?'.$_qs; @@ -345,7 +321,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function setLoop ($k,$v) { + public function setLoop($k, $v) + { if (is_array($v) && preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $k)) { $k = ($this->OPTIONS['CASELESS']) ? strtolower(trim($k)) : trim($k); $this->_arrvars[$k] = array(); @@ -368,7 +345,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function setDbLoop ($loopname, $result, $db_type='MYSQL') { + public function setDbLoop($loopname, $result, $db_type = 'MYSQL') + { $db_type = strtoupper($db_type); if (!in_array($db_type, $this->allowed_loop_dbs)) { vlibTemplateError::raiseError('VT_WARNING_INVALID_LOOP_DB',WARNING, $db_type); @@ -386,7 +364,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = mysql_fetch_assoc($result)) { $loop_arr[] = $r; } - break; + break; case 'POSTGRESQL': if (get_resource_type($result) != 'pgsql result') { @@ -399,7 +377,7 @@ if (!defined('vlibTemplateClassLoaded')) { for ($i=0; $i < $nr; $i++) { $loop_arr[] = pg_fetch_array($result, $i, PGSQL_ASSOC); } - break; + break; case 'INFORMIX': if (!$result) { @@ -409,7 +387,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = ifx_fetch_row($result, 'NEXT')) { $loop_arr[] = $r; } - break; + break; case 'INTERBASE': if (get_resource_type($result) != 'interbase result') { @@ -419,7 +397,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = ibase_fetch_row($result)) { $loop_arr[] = $r; } - break; + break; case 'INGRES': if (!$result) { @@ -429,7 +407,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = ingres_fetch_array(INGRES_ASSOC, $result)) { $loop_arr[] = $r; } - break; + break; case 'MSSQL': if (get_resource_type($result) != 'mssql result') { @@ -439,7 +417,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = mssql_fetch_array($result)) { $loop_arr[] = $r; } - break; + break; case 'MSQL': if (get_resource_type($result) != 'msql result') { @@ -449,7 +427,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = msql_fetch_array($result, MSQL_ASSOC)) { $loop_arr[] = $r; } - break; + break; case 'OCI8': if (get_resource_type($result) != 'oci8 statement') { @@ -459,7 +437,7 @@ if (!defined('vlibTemplateClassLoaded')) { while(OCIFetchInto($result, &$r, OCI_ASSOC+OCI_RETURN_LOBS)) { $loop_arr[] = $r; } - break; + break; case 'ORACLE': if (get_resource_type($result) != 'oracle Cursor') { @@ -469,7 +447,7 @@ if (!defined('vlibTemplateClassLoaded')) { while(ora_fetch_into($result, &$r, ORA_FETCHINTO_ASSOC)) { $loop_arr[] = $r; } - break; + break; case 'OVRIMOS': if (!$result) { @@ -479,7 +457,7 @@ if (!defined('vlibTemplateClassLoaded')) { while(ovrimos_fetch_into($result, &$r, 'NEXT')) { $loop_arr[] = $r; } - break; + break; case 'SYBASE': if (get_resource_type($result) != 'sybase-db result') { @@ -490,7 +468,7 @@ if (!defined('vlibTemplateClassLoaded')) { while($r = sybase_fetch_array($result)) { $loop_arr[] = $r; } - break; + break; } $this->setLoop($loopname, $loop_arr); return true; @@ -505,13 +483,13 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function newLoop ($loopname) { + public function newLoop($loopname) + { if (preg_match('/^[a-z_]+[a-z0-9_]*$/i', $loopname)) { $this->_currloopname[$loopname] = $loopname; $this->_currloop[$loopname] = array(); return true; - } - else { + } else { return false; } } @@ -526,7 +504,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function addRow ($row, $loopname=null) { + public function addRow($row, $loopname = null) + { if (!$loopname) $loopname = $this->_currloopname[(count($this->_currloopname)-1)]; if (!isset($this->_currloop[$loopname]) || empty($this->_currloopname)) { @@ -536,8 +515,7 @@ if (!defined('vlibTemplateClassLoaded')) { if (is_array($row)) { $this->_currloop[$loopname][] = $row; return true; - } - else { + } else { return false; } } @@ -552,7 +530,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function addLoop ($loopname=null) { + public function addLoop($loopname = null) + { if ($loopname == null) { // add last loop used if (!empty($this->_currloop)) { foreach ($this->_currloop as $k => $v) { @@ -561,16 +540,13 @@ if (!defined('vlibTemplateClassLoaded')) { } $this->_currloopname = array(); return true; - } - else { + } else { return false; } - } - elseif (!isset($this->_currloop[$loopname]) || empty($this->_currloopname)) { // newLoop not yet envoked - vlibTemplateError::raiseError('VT_WARNING_LOOP_NOT_SET',WARNING); + } elseif (!isset($this->_currloop[$loopname]) || empty($this->_currloopname)) { // newLoop not yet envoked + vlibTemplateError::raiseError('VT_WARNING_LOOP_NOT_SET', WARNING); return false; - } - else { // add a specific loop + } else { // add a specific loop $this->setLoop($loopname, $this->_currloop[$loopname]); unset($this->_currloopname[$loopname], $this->_currloop[$loopname]); } @@ -587,7 +563,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false returns true unless called with 0 params * @access public */ - function unsetLoop () { + public function unsetLoop() + { $num_args = func_num_args(); if ($num_args < 1) return false; @@ -600,7 +577,6 @@ if (!defined('vlibTemplateClassLoaded')) { return true; } - /** * FUNCTION: reset * @@ -610,7 +586,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true * @access public */ - function reset () { + public function reset() + { $this->clearVars(); $this->clearLoops(); $this->_tmplfilename = null; @@ -634,7 +611,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true * @access public */ - function clearVars () { + public function clearVars() + { $this->_vars = array(); return true; } @@ -647,7 +625,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true * @access public */ - function clearLoops () { + public function clearLoops() + { $this->_arrvars = array(); $this->_currloopname = null; $this->_currloop = array(); @@ -662,7 +641,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true * @access public */ - function clearAll () { + public function clearAll() + { $this->clearVars(); $this->clearLoops(); return true; @@ -677,7 +657,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access public */ - function unknownsExist () { + public function unknownsExist() + { return (!empty($this->_unknowns)); } @@ -688,7 +669,8 @@ if (!defined('vlibTemplateClassLoaded')) { * * @access public */ - function unknowns () { + public function unknowns() + { return $this->unknownsExist(); } @@ -701,7 +683,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return array * @access public */ - function getUnknowns () { + public function getUnknowns() + { return $this->_unknowns; } @@ -715,7 +698,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean * @access public */ - function setUnknowns ($arg) { + public function setUnknowns($arg) + { $arg = strtolower(trim($arg)); if (preg_match('/^ignore|remove|print|leave|comment$/', $arg)) { $this->OPTIONS['UNKNOWNS'] = $arg; @@ -737,7 +721,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return bool success * @access public */ - function setPath () { + public function setPath() + { $num_args = func_num_args(); if ($num_args < 1) { $this->OPTIONS['INCLUDE_PATHS'] = array(); @@ -760,7 +745,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return float time taken to parse template * @access public */ - function getParseTime () { + public function getParseTime() + { if ($this->OPTIONS['TIME_PARSE'] && $this->_parsed) { return $this->_totalparsetime; } @@ -778,7 +764,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access public * @return boolean true/false */ - function fastPrint () { + public function fastPrint() + { $ret = $this->_parse('ob_gzhandler'); print($this->_tmploutput); return $ret; @@ -793,7 +780,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access public * @return boolean true/false */ - function pparse () { + public function pparse() + { if (!$this->_parsed) $this->_parse(); print($this->_tmploutput); return true; @@ -806,7 +794,8 @@ if (!defined('vlibTemplateClassLoaded')) { * * @access public */ - function pprint () { + public function pprint() + { return $this->pparse(); } @@ -820,14 +809,15 @@ if (!defined('vlibTemplateClassLoaded')) { * @access public * @return boolean true/false */ - function grab () { + public function grab() + { if (!$this->_parsed) $this->_parse(); return $this->_tmploutput; } - /*-----------------------------------------------------------------------------\ - | private functions | - \-----------------------------------------------------------------------------*/ + /*-----------------------------------------------------------------------------\ + | private functions | + \-----------------------------------------------------------------------------*/ /** * FUNCTION: vlibTemplate @@ -840,7 +830,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return boolean true/false * @access private */ - function tpl ($tmplfile=null, $options=null) { + public function __construct($tmplfile = null, $options = null) + { if (is_array($tmplfile) && $options == null) { $options = $tmplfile; unset($tmplfile); @@ -859,8 +850,7 @@ if (!defined('vlibTemplateClassLoaded')) { $key = strtoupper($key); if ($key == 'PATH') { $this->setPath($val); - } - else { + } else { $this->_setOption($key, strtolower($val)); } } @@ -879,12 +869,12 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return mixed data/string or boolean */ - function _getData ($tmplfile, $do_eval=false) { - //check the current file depth + private function _getData ($tmplfile, $do_eval=false) + { + //* check the current file depth if ($this->_includedepth > $this->OPTIONS['MAX_INCLUDES'] || $tmplfile == false) { return; - } - else { + } else { if ($this->_debug) array_push ($this->_debugIncludedfiles, $tmplfile); if ($do_eval) { array_push($this->_currentincludedir, dirname($tmplfile)); @@ -893,11 +883,10 @@ if (!defined('vlibTemplateClassLoaded')) { } - if($this->_cache && $this->_checkCache($tmplfile)) { // cache exists so lets use it + if($this->_cache && $this->_checkCache($tmplfile)) { //* cache exists so lets use it $data = fread($fp = fopen($this->_cachefile, 'r'), filesize($this->_cachefile)); fclose($fp); - } - else { // no cache lets parse the file + } else { //* no cache lets parse the file $data = fread($fp = fopen($tmplfile, 'r'), filesize($tmplfile)); fclose($fp); @@ -942,7 +931,7 @@ if (!defined('vlibTemplateClassLoaded')) { } } - // now we must parse the $data and check for any <tmpl_include>'s + //* now we must parse the $data and check for any <tmpl_include>'s if ($this->_debug) $this->doDebugWarnings(file($tmplfile), $tmplfile); if ($do_eval) { @@ -950,11 +939,9 @@ if (!defined('vlibTemplateClassLoaded')) { $this->_includedepth--; array_pop($this->_currentincludedir); return $success; - } - else { + } else { return $data; } - } /** @@ -966,15 +953,16 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return mixed fullpath to file or boolean false */ - function _fileSearch ($file) { + private function _fileSearch($file) + { $filename = basename($file); $filepath = dirname($file); - // check fullpath first.. + //* check fullpath first.. $fullpath = $filepath.'/'.$filename; if (is_file($fullpath)) return $fullpath; - // ..then check for relative path for current directory.. + //* ..then check for relative path for current directory.. if (!empty($this->_currentincludedir)) { $currdir = $this->_currentincludedir[(count($this->_currentincludedir) -1)]; $relativepath = realpath($currdir.'/'.$filepath.'/'.$filename); @@ -984,7 +972,7 @@ if (!defined('vlibTemplateClassLoaded')) { } } - // ..then check for relative path for all additional given paths.. + //* ..then check for relative path for all additional given paths.. if (!empty($this->OPTIONS['INCLUDE_PATHS'])) { foreach ($this->OPTIONS['INCLUDE_PATHS'] as $currdir) { $relativepath = realpath($currdir.'/'.$filepath.'/'.$filename); @@ -994,17 +982,17 @@ if (!defined('vlibTemplateClassLoaded')) { } } - // ..then check path from TEMPLATE_DIR.. + //* ..then check path from TEMPLATE_DIR.. if (!empty($this->OPTIONS['TEMPLATE_DIR'])) { $fullpath = realpath($this->OPTIONS['TEMPLATE_DIR'].'/'.$filepath.'/'.$filename); if (is_file($fullpath)) return $fullpath; } - // ..then check relative path from executing php script.. + //* ..then check relative path from executing php script.. $fullpath = realpath($filepath.'/'.$filename); if (is_file($fullpath)) return $fullpath; - // ..then check path from template file. + //* ..then check path from template file. if (!empty($this->VLIBTEMPLATE_ROOT)) { $fullpath = realpath($this->VLIBTEMPLATE_ROOT.'/'.$filepath.'/'.$filename); if (is_file($fullpath)) return $fullpath; @@ -1024,7 +1012,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return array new look array * @access private */ - function _arrayBuild ($arr) { + private function _arrayBuild($arr) + { if (is_array($arr) && !empty($arr)) { $arr = array_values($arr); // to prevent problems w/ non sequential arrays for ($i = 0; $i < count($arr); $i++) { @@ -1036,8 +1025,7 @@ if (!defined('vlibTemplateClassLoaded')) { if (is_array($v)) { if (($arr[$i][$k] = $this->_arrayBuild($v)) == false) return false; - } - else { // reinsert the var + } else { // reinsert the var $arr[$i][$k] = $v; } } @@ -1051,8 +1039,7 @@ if (!defined('vlibTemplateClassLoaded')) { } } return $arr; - } - elseif (empty($arr)) { + } elseif (empty($arr)) { return true; } } @@ -1068,7 +1055,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return string used for eval'ing */ - function _parseIf ($varname, $value=null, $op=null, $namespace=null) { + private function _parseIf($varname, $value = null, $op = null, $namespace = null) + { if (isset($namespace)) $namespace = substr($namespace, 0, -1); $comp_str = ''; // used for extended if statements @@ -1079,20 +1067,17 @@ if (!defined('vlibTemplateClassLoaded')) { if (!empty($op)) { if (in_array($op, $this->allowed_if_ops)) { $comp_str .= $op; - } - else { + } else { vlibTemplateError::raiseError('VT_WARNING_INVALID_IF_OP', WARNING, $op); } - } - else { + } else { $comp_str .= '=='; } // now we add the value, if it's numeric, then we leave the quotes off if (is_numeric($value)) { $comp_str .= $value; - } - else { + } else { $comp_str .= '\''.$value.'\''; } } @@ -1104,15 +1089,13 @@ if (!defined('vlibTemplateClassLoaded')) { if ($this->_namespace[$i] == $namespace || (($i + 1) == $numnamespaces && !empty($namespace))) { $retstr .= "['".$namespace."'][\$_".$i."]"; break 1; - } - else { + } else { $retstr .= "['".$this->_namespace[$i]."'][\$_".$i."]"; } } if ($this->OPTIONS['GLOBAL_VARS'] && empty($namespace)) { return '(('.$retstr.'[\''.$varname.'\'] !== null) ? '.$retstr.'[\''.$varname.'\'] : $this->_vars[\''.$varname.'\'])'.$comp_str; - } - else { + } else { return $retstr."['".$varname."']".$comp_str; } } @@ -1126,7 +1109,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return string used for eval'ing */ - function _parseLoop ($varname) { + private function _parseLoop ($varname) + { array_push($this->_namespace, $varname); $tempvar = count($this->_namespace) - 1; $retstr = "for (\$_".$tempvar."=0 ; \$_".$tempvar." < count(\$this->_arrvars"; @@ -1151,22 +1135,21 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return string used for eval'ing */ - function _parseVar ($wholetag, $tag, $varname, $escape, $format, $namespace) { + private function _parseVar ($wholetag, $tag, $varname, $escape, $format, $namespace) + { if (!empty($namespace)) $namespace = substr($namespace, 0, -1); $wholetag = stripslashes($wholetag); if (count($this->_namespace) == 0 || $namespace == 'global') { $var1 = '$this->_vars[\''.$varname.'\']'; - } - else { + } else { $var1build = "\$this->_arrvars"; $numnamespaces = count($this->_namespace); for ($i=0; $i < $numnamespaces; $i++) { if ($this->_namespace[$i] == $namespace || (($i + 1) == $numnamespaces && !empty($namespace))) { $var1build .= "['".$namespace."'][\$_".$i."]"; break 1; - } - else { + } else { $var1build .= "['".$this->_namespace[$i]."'][\$_".$i."]"; } } @@ -1188,7 +1171,7 @@ if (!defined('vlibTemplateClassLoaded')) { $aftervar = $this->FORMAT_TAGS[$format]['close'] . $aftervar; } - // build return values + //* build return values $retstr = 'if ('.$var1.' !== null) { '; $retstr .= 'print('.$beforevar.$var1.$aftervar.'); '; $retstr .= '}'; @@ -1204,24 +1187,23 @@ if (!defined('vlibTemplateClassLoaded')) { $comment = addcslashes('<!-- unknown variable '.ereg_replace('<!--|-->', '', $wholetag).'//-->', '"'); $retstr .= ' else { print("'.$comment.'"); $this->_setUnknown("'.$varname.'"); }'; return $retstr; - break; + case 'leave': $retstr .= ' else { print("'.addcslashes($wholetag, '"').'"); $this->_setUnknown("'.$varname.'"); }'; return $retstr; - break; + case 'print': $retstr .= ' else { print("'.htmlspecialchars($wholetag, ENT_QUOTES).'"); $this->_setUnknown("'.$varname.'"); }'; return $retstr; - break; case 'ignore': return $retstr; - break; + case 'remove': default: $retstr .= ' else { $this->_setUnknown("'.$varname.'"); }'; return $retstr; - break; + } } @@ -1234,7 +1216,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return string replace values */ - function _parseTag ($args) { + private function _parseTag ($args) + { $wholetag = $args[0]; $openclose = $args[1]; $tag = strtolower($args[2]); @@ -1247,13 +1230,12 @@ if (!defined('vlibTemplateClassLoaded')) { if ($tag == 'loop' || $tag == 'endloop') array_pop($this->_namespace); if ($tag == 'comment' || $tag == 'endcomment') { return '<?php */ ?>'.$newline; - } - else { + } else { return '<?php } ?>'.$newline; } } - // arrange attributes + //* arrange attributes for ($i=3; $i < 8; $i=($i+2)) { if (empty($args[$i]) && empty($args[($i+1)])) break; $key = (empty($args[$i])) ? 'name' : strtolower($args[$i]); @@ -1276,53 +1258,43 @@ if (!defined('vlibTemplateClassLoaded')) { } - // return correct string (tag dependent) + //* return correct string (tag dependent) switch ($tag) { case 'var': if (empty($escape) && (!empty($this->OPTIONS['DEFAULT_ESCAPE']) && strtolower($this->OPTIONS['DEFAULT_ESCAPE']) != 'none')) { $escape = strtolower($this->OPTIONS['DEFAULT_ESCAPE']); } return '<?php '.$this->_parseVar ($wholetag, $tag, $var, @$escape, @$format, @$namespace)." ?>$newline"; - break; case 'if': return '<?php if ('. $this->_parseIf($var, @$value, @$op, @$namespace) .') { ?>'.$newline; - break; case 'unless': return '<?php if (!'. $this->_parseIf($var, @$value, @$op, @$namespace) .') { ?>'.$newline; - break; case 'elseif': return '<?php } elseif ('. $this->_parseIf($var, @$value, @$op, @$namespace) .') { ?>'.$newline; - break; case 'loop': return '<?php '. $this->_parseLoop($var) .'?>'.$newline; - break; case 'comment': if (empty($var)) { // full open/close style comment return '<?php /* ?>'.$newline; - } - else { // just ignore tag if it was a one line comment + } else { // just ignore tag if it was a one line comment return; } - break; case 'phpinclude': if ($this->OPTIONS['ENABLE_PHPINCLUDE']) { return '<?php include(\''.$file.'\'); ?>'.$newline; } - break; case 'include': return '<?php $this->_getData($this->_fileSearch(\''.$file.'\'), 1); ?>'; - break; case 'dyninclude': return '<?php $this->_getData($this->_fileSearch($this->_dyninclude[\''.$name.'\']), 1); ?>'; - break; default: if ($this->OPTIONS['STRICT']) vlibTemplateError::raiseError('VT_ERROR_INVALID_TAG', KILL, htmlspecialchars($wholetag, ENT_QUOTES)); @@ -1342,7 +1314,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return boolean true/false */ - function _intParse () { + private function _intParse () + { $mqrt = get_magic_quotes_runtime(); set_magic_quotes_runtime(0); $this->_tmplfilep = '?>'.$this->_getData($this->_tmplfilename).'<?php return true;'; @@ -1360,7 +1333,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @access private * @return boolean true/false */ - function _parse ($compress='') { + private function _parse ($compress = '') + { if (!$this->_parsed) { if ($this->OPTIONS['TIME_PARSE']) $this->_firstparsetime = $this->_getMicroTime(); @@ -1384,9 +1358,6 @@ if (!defined('vlibTemplateClassLoaded')) { if (!$success) vlibTemplateError::raiseError('VT_ERROR_PARSE', FATAL); $this->_tmploutput .= ob_get_contents(); ob_end_clean(); - - - return true; } @@ -1404,7 +1375,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @return bool true/false * @access private */ - function _setOption () { + private function _setOption() + { $numargs = func_num_args(); if ($numargs < 1) { vlibTemplateError::raiseError('VT_ERROR_WRONG_NO_PARAMS', null, '_setOption()'); @@ -1417,18 +1389,15 @@ if (!defined('vlibTemplateClassLoaded')) { foreach ($options as $k => $v) { if ($v != null) { if(in_array($k, array_keys($this->OPTIONS))) $this->OPTIONS[$k] = $v; - } - else { + } else { continue; } } - } - else { + } else { vlibTemplateError::raiseError('VT_ERROR_WRONG_NO_PARAMS', null, '_setOption()'); return false; } - } - elseif (is_int($numargs / 2)) { + }elseif (is_int($numargs / 2)) { for ($i = 0; $i < $numargs; $i=($i+2)) { $k = func_get_arg($i); $v = func_get_arg(($i+1)); @@ -1436,8 +1405,7 @@ if (!defined('vlibTemplateClassLoaded')) { if(in_array($k, array_keys($this->OPTIONS))) $this->OPTIONS[$k] = $v; } } - } - else { + } else { vlibTemplateError::raiseError('VT_ERROR_WRONG_NO_PARAMS', null, '_setOption()'); return false; } @@ -1453,7 +1421,8 @@ if (!defined('vlibTemplateClassLoaded')) { * @param string var * @access private */ - function _setUnknown ($var) { + private function _setUnknown($var) + { if (!in_array($var, $this->_unknowns)) array_push($this->_unknowns, $var); } @@ -1464,8 +1433,9 @@ if (!defined('vlibTemplateClassLoaded')) { * @return float microtime * @access private */ - function _getMicrotime () { - list($msec, $sec) = explode(" ",microtime()); + private function _getMicrotime() + { + list($msec, $sec) = explode(' ',microtime()); return ((float)$msec + (float)$sec); } @@ -1478,7 +1448,7 @@ if (!defined('vlibTemplateClassLoaded')) { * @return string encoded in hex * @access private */ - function _escape_hex($str="", $entity=false) { + private function _escape_hex($str = '', $entity = false) { $prestr = $entity ? '&#x' : '%'; $poststr= $entity ? ';' : ''; for ($i=0; $i < strlen($str); $i++) { @@ -1496,7 +1466,7 @@ if (!defined('vlibTemplateClassLoaded')) { function recache() {vlibTemplateError::raiseError('VT_WARNING_NOT_CACHE_OBJ', WARNING, 'recache()');} function setCacheLifeTime() {vlibTemplateError::raiseError('VT_WARNING_NOT_CACHE_OBJ', WARNING, 'setCacheLifeTime()');} function setCacheExtension() {vlibTemplateError::raiseError('VT_WARNING_NOT_CACHE_OBJ', WARNING, 'setCacheExtension()');} - } + } // << end class Def //include_once ($conf['classpath'].'/vlibTemplate/debug.php'); include_once ($conf['classpath'].'/tpl_cache.inc.php'); diff --git a/interface/lib/classes/tpl_ini.inc.php b/interface/lib/classes/tpl_ini.inc.php index 48e00445361b84589c4ac84a36586004d67a02cd..bbe26ea7991c3f44ccf7e1849427008591dfa6a8 100644 --- a/interface/lib/classes/tpl_ini.inc.php +++ b/interface/lib/classes/tpl_ini.inc.php @@ -45,8 +45,9 @@ if (!defined('vlibIniClassLoaded')) { class vlibIni{ - /** config vars for vlibTemplate */ - public static function vlibTemplate () { + /** Returns $array of config vars for vlibTemplate */ + public static function vlibTemplate() + { global $conf; @@ -104,7 +105,7 @@ if (!defined('vlibIniClassLoaded')) { - /** config vars for vlibDate */ + /** Returns $array of config vars for vlibDate */ public function vlibDate() { return array( 'DEFAULT_LANG' => 'de' ); //* default language for the date displays @@ -112,5 +113,6 @@ if (!defined('vlibIniClassLoaded')) { }// << end class vlibIni + } // << if Defined ?> \ No newline at end of file