A super easy PHP Framework for web development!
				https://github.com/exacti/phacil-framework
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							1.0 KiB
						
					
					
				<?php
 | 
						|
/**
 | 
						|
 * Smarty plugin
 | 
						|
 *
 | 
						|
 * @package    Smarty
 | 
						|
 * @subpackage PluginsShared
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * evaluate compiler parameter
 | 
						|
 *
 | 
						|
 * @param array   $params  parameter array as given to the compiler function
 | 
						|
 * @param integer $index   array index of the parameter to convert
 | 
						|
 * @param mixed   $default value to be returned if the parameter is not present
 | 
						|
 *
 | 
						|
 * @return mixed evaluated value of parameter or $default
 | 
						|
 * @throws SmartyException if parameter is not a literal (but an expression, variable, …)
 | 
						|
 * @author Rodney Rehm
 | 
						|
 */
 | 
						|
function smarty_literal_compiler_param($params, $index, $default = null)
 | 
						|
{
 | 
						|
    // not set, go default
 | 
						|
    if (!isset($params[ $index ])) {
 | 
						|
        return $default;
 | 
						|
    }
 | 
						|
    // test if param is a literal
 | 
						|
    if (!preg_match('/^([\'"]?)[a-zA-Z0-9-]+(\\1)$/', $params[ $index ])) {
 | 
						|
        throw new SmartyException('$param[' . $index .
 | 
						|
                                  '] is not a literal and is thus not evaluatable at compile time');
 | 
						|
    }
 | 
						|
 | 
						|
    $t = null;
 | 
						|
    eval("\$t = " . $params[ $index ] . ";");
 | 
						|
 | 
						|
    return $t;
 | 
						|
}
 | 
						|
 |