| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- <?php
 
- /**
 
-  * Template Lite compile config variables - template internal module
 
-  *
 
-  * Type:	 template
 
-  * Name:	 compile_config
 
-  */
 
- function compile_compile_config($variable, &$object)
 
- {
 
- 	$_result	= "";
 
- 	// remove the beginning and ending #
 
- 	$variable = substr($variable, 1, -1);
 
- 	// get [foo] and .foo and (...) pieces			
 
- 	preg_match_all('!(?:^\w+)|(?:' . $object->_var_bracket_regexp . ')|\.\$?\w+|\S+!', $variable, $_match);
 
- 	$variable = $_match[0];
 
- 	$var_name = array_shift($variable);
 
- 	$_result = "\$this->_confs['$var_name']";
 
- 	foreach ($variable as $var)
 
- 	{
 
- 		if ($var{0} == '[')
 
- 		{
 
- 			$var = substr($var, 1, -1);
 
- 			if (is_numeric($var))
 
- 			{
 
- 				$_result .= "[$var]";
 
- 			}
 
- 			elseif ($var{0} == '$')
 
- 			{
 
- 				$_result .= "[" . $object->_compile_variable($var) . "]";
 
- 			}
 
- 			elseif ($var{0} == '#')
 
- 			{
 
- 				$_result .= "[" . $object->_compile_config($var) . "]";
 
- 			}
 
- 			else
 
- 			{
 
- 				$_result .= "['$var']";
 
- 			}
 
- 	   }
 
- 	   else if ($var{0} == '.')
 
- 	   {
 
-   				if ($var{1} == '$')
 
- 			{
 
-    				$_result .= "[\$this->_TPL['" . substr($var, 2) . "']]";
 
- 			}
 
- 	   		else
 
- 			{
 
- 		   		$_result .= "['" . substr($var, 1) . "']";
 
- 			}
 
- 		}
 
- 		else if (substr($var,0,2) == '->')
 
- 		{
 
- 			if(substr($var,2,2) == '__')
 
- 			{
 
- 				$object->trigger_error('call to internal object members is not allowed', E_USER_ERROR, __FILE__, __LINE__);
 
- 			}
 
- 			else if (substr($var, 2, 1) == '$')
 
- 			{
 
- 				$_output .= '->{(($var=$this->_TPL[\''.substr($var,3).'\']) && substr($var,0,2)!=\'__\') ? $_var : $this->trigger_error("cannot access property \\"$var\\"")}';
 
- 			}
 
- 		}
 
- 		else
 
- 		{
 
- 			$object->trigger_error('#' . $var_name.implode('', $variable) . '# is an invalid reference', E_USER_ERROR, __FILE__, __LINE__);
 
- 		}
 
- 	}
 
- 	return $_result;
 
- }
 
- ?>
 
 
  |