| | |
| | | */ |
| | | public function newTemplate($tmplfile) |
| | | { |
| | | if (!$tfile = $this->_fileSearch($tmplfile)) vlibTemplateError::raiseError('VT_ERROR_NOFILE',KILL,$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 |
| | | $this->_tmplfile = null; |
| | |
| | | $this->_totalparsetime = null; |
| | | |
| | | //* reset debug module |
| | | if ($this->_debug) $this->_debugReset(); |
| | | |
| | | if ($this->_debug){ |
| | | $this->_debugReset(); |
| | | } |
| | | $this->_tmplfilename = $tfile; |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public function getVars() |
| | | { |
| | | if (empty($this->_vars)) return false; |
| | | return $this->_vars; |
| | | return empty($this->_vars) ? false : $this->_vars; |
| | | } |
| | | |
| | | /** |
| | |
| | | public function getVar($var) |
| | | { |
| | | if ($this->OPTIONS['CASELESS']) $var = strtolower($var); |
| | | if (empty($var) || !isset($this->_vars[$var])) return false; |
| | | return $this->_vars[$var]; |
| | | return (empty($var) || !isset($this->_vars[$var])) ? false : $this->_vars[$var]; |
| | | } |
| | | |
| | | /** |
| | |
| | | $this->_arrvars[$k] = array(); |
| | | if ($this->OPTIONS['SET_LOOP_VAR'] && !empty($v)) $this->setvar($k, 1); |
| | | if (($this->_arrvars[$k] = $this->_arrayBuild($v)) == false) { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_ARR',WARNING,$k); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_ARR', WARNING, $k); |
| | | } |
| | | } |
| | | return true; |
| | |
| | | */ |
| | | public function setDbLoop($loopname, $result, $db_type = 'MYSQL') |
| | | { |
| | | $db_type = strtoupper($db_type); |
| | | /* |
| | | $db_type = strtoupper($db_type); |
| | | if (!in_array($db_type, $this->allowed_loop_dbs)) { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_LOOP_DB',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_LOOP_DB', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | |
| | | $loop_arr = array(); |
| | | // TODO: Are all these necessary as were onyl using mysql and possible postgres ? - pedro |
| | | switch ($db_type) { |
| | | |
| | | case 'MYSQL': |
| | | if (get_resource_type($result) != 'mysql result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = mysql_fetch_assoc($result)) { |
| | |
| | | |
| | | case 'POSTGRESQL': |
| | | if (get_resource_type($result) != 'pgsql result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | |
| | |
| | | |
| | | case 'INFORMIX': |
| | | if (!$result) { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = ifx_fetch_row($result, 'NEXT')) { |
| | |
| | | |
| | | case 'INTERBASE': |
| | | if (get_resource_type($result) != 'interbase result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = ibase_fetch_row($result)) { |
| | |
| | | |
| | | case 'INGRES': |
| | | if (!$result) { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = ingres_fetch_array(INGRES_ASSOC, $result)) { |
| | |
| | | |
| | | case 'MSSQL': |
| | | if (get_resource_type($result) != 'mssql result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = mssql_fetch_array($result)) { |
| | |
| | | |
| | | case 'MSQL': |
| | | if (get_resource_type($result) != 'msql result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while($r = msql_fetch_array($result, MSQL_ASSOC)) { |
| | |
| | | |
| | | case 'OCI8': |
| | | if (get_resource_type($result) != 'oci8 statement') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while(OCIFetchInto($result, &$r, OCI_ASSOC+OCI_RETURN_LOBS)) { |
| | |
| | | |
| | | case 'ORACLE': |
| | | if (get_resource_type($result) != 'oracle Cursor') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while(ora_fetch_into($result, &$r, ORA_FETCHINTO_ASSOC)) { |
| | |
| | | |
| | | case 'OVRIMOS': |
| | | if (!$result) { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | while(ovrimos_fetch_into($result, &$r, 'NEXT')) { |
| | |
| | | |
| | | case 'SYBASE': |
| | | if (get_resource_type($result) != 'sybase-db result') { |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE',WARNING, $db_type); |
| | | vlibTemplateError::raiseError('VT_WARNING_INVALID_RESOURCE', WARNING, $db_type); |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | $this->setLoop($loopname, $loop_arr); |
| | | return true; |
| | | */ |
| | | } |
| | | |
| | | /** |
| | |
| | | if (!$loopname) $loopname = $this->_currloopname[(count($this->_currloopname)-1)]; |
| | | |
| | | if (!isset($this->_currloop[$loopname]) || empty($this->_currloopname)) { |
| | | vlibTemplateError::raiseError('VT_WARNING_LOOP_NOT_SET',WARNING); |
| | | vlibTemplateError::raiseError('VT_WARNING_LOOP_NOT_SET', WARNING); |
| | | return false; |
| | | } |
| | | if (is_array($row)) { |
| | |
| | | if ($this->_includedepth > $this->OPTIONS['MAX_INCLUDES'] || $tmplfile == false) { |
| | | return; |
| | | } else { |
| | | if ($this->_debug) array_push ($this->_debugIncludedfiles, $tmplfile); |
| | | if ($this->_debug){ |
| | | array_push ($this->_debugIncludedfiles, $tmplfile); |
| | | } |
| | | if ($do_eval) { |
| | | array_push($this->_currentincludedir, dirname($tmplfile)); |
| | | $this->_includedepth++; |
| | |
| | | */ |
| | | private function _fileSearch($file) |
| | | { |
| | | $filename = basename($file); |
| | | |
| | | $filename = basename($file); |
| | | $filepath = dirname($file); |
| | | |
| | | if(isset($_SESSION['s']['module']['name']) && isset($_SESSION['s']['theme'])) { |
| | | if(is_file(ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$_SESSION['s']['module']['name'].'/'.$filename)) { |
| | | return ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$_SESSION['s']['module']['name'].'/'.$filename; |
| | | } |
| | | } |
| | | |
| | | //* check fullpath first.. |
| | | $fullpath = $filepath.'/'.$filename; |
| | |
| | | |
| | | switch (strtolower($this->OPTIONS['UNKNOWNS'])) { |
| | | case 'comment': |
| | | $comment = addcslashes('<!-- unknown variable '.ereg_replace('<!--|-->', '', $wholetag).'//-->', '"'); |
| | | $comment = addcslashes('<!-- unknown variable '.preg_replace('/<!--|-->/', '', $wholetag).'//-->', '"'); |
| | | $retstr .= ' else { print("'.$comment.'"); $this->_setUnknown("'.$varname.'"); }'; |
| | | return $retstr; |
| | | |
| | |
| | | */ |
| | | private function _intParse () |
| | | { |
| | | $mqrt = get_magic_quotes_runtime(); |
| | | set_magic_quotes_runtime(0); |
| | | //$mqrt = get_magic_quotes_runtime(); |
| | | //set_magic_quotes_runtime(0); |
| | | $this->_tmplfilep = '?>'.$this->_getData($this->_tmplfilename).'<?php return true;'; |
| | | set_magic_quotes_runtime($mqrt); |
| | | //set_magic_quotes_runtime($mqrt); |
| | | return true; |
| | | } |
| | | |