| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2003-04-20 21:12:13 +00:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  |  * Smarty plugin | 
					
						
							| 
									
										
										
										
											2003-04-20 21:12:13 +00:00
										 |  |  |  * @package Smarty | 
					
						
							|  |  |  |  * @subpackage plugins | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty {eval} function plugin | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Type:     function<br> | 
					
						
							|  |  |  |  * Name:     eval<br> | 
					
						
							|  |  |  |  * Purpose:  evaluate a template variable as a template<br> | 
					
						
							|  |  |  |  * @link http://smarty.php.net/manual/en/language.function.eval.php {eval} | 
					
						
							|  |  |  |  *       (Smarty online manual) | 
					
						
							|  |  |  |  * @param array | 
					
						
							|  |  |  |  * @param Smarty | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2003-06-16 19:45:11 +00:00
										 |  |  | function smarty_function_eval($params, &$smarty) | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-04-16 08:03:07 +00:00
										 |  |  |     if (!isset($params['var'])) { | 
					
						
							| 
									
										
										
										
											2003-06-16 19:45:11 +00:00
										 |  |  |         $smarty->trigger_error("eval: missing 'var' parameter"); | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  |         return; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2003-06-19 14:04:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-07-17 14:23:18 +00:00
										 |  |  |     if($params['var'] == '') { | 
					
						
							|  |  |  |         return; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-07-17 14:23:18 +00:00
										 |  |  |     $smarty->_compile_source('evaluated template', $params['var'], $_var_compiled); | 
					
						
							| 
									
										
										
										
											2003-06-22 23:05:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-01-08 17:34:45 +00:00
										 |  |  |     ob_start(); | 
					
						
							| 
									
										
										
										
											2003-07-23 16:14:47 +00:00
										 |  |  |     $smarty->_eval('?>' . $_var_compiled); | 
					
						
							| 
									
										
										
										
											2003-07-17 14:23:18 +00:00
										 |  |  |     $_contents = ob_get_contents(); | 
					
						
							| 
									
										
										
										
											2003-01-08 17:34:45 +00:00
										 |  |  |     ob_end_clean(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-07-17 14:23:18 +00:00
										 |  |  |     if (!empty($params['assign'])) { | 
					
						
							|  |  |  |         $smarty->assign($params['assign'], $_contents); | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2003-07-17 14:23:18 +00:00
										 |  |  |         return $_contents; | 
					
						
							| 
									
										
										
										
											2002-02-27 22:30:05 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* vim: set expandtab: */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 |