| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty Resource Extension | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @package    Smarty | 
					
						
							|  |  |  |  * @subpackage TemplateResources | 
					
						
							|  |  |  |  * @author     Uwe Tews | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty Resource Extension | 
					
						
							|  |  |  |  * Default template and config file handling | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @package    Smarty | 
					
						
							|  |  |  |  * @subpackage TemplateResources | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | class Smarty_Internal_Extension_DefaultTemplateHandler | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * get default content from template of config resource handler | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param Smarty_Internal_Template        $_template | 
					
						
							|  |  |  |      * @param Smarty_Internal_Template_Source $source | 
					
						
							|  |  |  |      * @param  Smarty_Resource                $resObj | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     static function _getDefault(Smarty_Internal_Template $_template, &$source, &$resObj) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if ($source->isConfig) { | 
					
						
							|  |  |  |             $default_handler = $_template->smarty->default_config_handler_func; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $default_handler = $_template->smarty->default_template_handler_func; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         $_content = $_timestamp = null; | 
					
						
							|  |  |  |         $_return = call_user_func_array($default_handler, | 
					
						
							|  |  |  |                                         array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty)); | 
					
						
							|  |  |  |         if (is_string($_return)) { | 
					
						
							| 
									
										
										
										
											2015-05-05 00:41:30 +02:00
										 |  |  |             $source->exists = is_file($_return); | 
					
						
							|  |  |  |             if ($source->exists) { | 
					
						
							|  |  |  |                 $source->timestamp = filemtime($_return); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |             $source->filepath = $_return; | 
					
						
							|  |  |  |         } elseif ($_return === true) { | 
					
						
							|  |  |  |             $source->content = $_content; | 
					
						
							|  |  |  |             $source->timestamp = $_timestamp; | 
					
						
							|  |  |  |             $source->exists = true; | 
					
						
							|  |  |  |             $source->recompiled = true; | 
					
						
							|  |  |  |             $source->filepath = false; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * register template default handler | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |      * @param Smarty $smarty | 
					
						
							|  |  |  |      * @param mixed  $callback | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @throws SmartyException | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |     static function registerDefaultTemplateHandler(Smarty $smarty, $callback) | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (is_callable($callback)) { | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |             $smarty->default_template_handler_func = $callback; | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             throw new SmartyException("Default template handler not callable"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * register config default handler | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |      * @param Smarty $smarty | 
					
						
							|  |  |  |      * @param mixed  $callback | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @throws SmartyException | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |     static function registerDefaultConfigHandler(Smarty $smarty, $callback) | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |     { | 
					
						
							|  |  |  |         if (is_callable($callback)) { | 
					
						
							| 
									
										
										
										
											2015-02-15 01:45:37 +01:00
										 |  |  |             $smarty->default_config_handler_func = $callback; | 
					
						
							| 
									
										
										
										
											2015-01-02 10:48:07 +01:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             throw new SmartyException("Default config handler not callable"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |