1<?php 2/** 3 * Smarty plugin 4 * @package Smarty 5 * @subpackage plugins 6 */ 7 8/** 9 * Smarty {assign_debug_info} function plugin 10 * 11 * Type: function<br> 12 * Name: assign_debug_info<br> 13 * Purpose: assign debug info to the template<br> 14 * @author Monte Ohrt <monte at ohrt dot com> 15 * @param array unused in this plugin, this plugin uses {@link Smarty::$_config}, 16 * {@link Smarty::$_tpl_vars} and {@link Smarty::$_smarty_debug_info} 17 * @param Smarty 18 */ 19function smarty_function_assign_debug_info($params, &$smarty) 20{ 21 $assigned_vars = $smarty->_tpl_vars; 22 ksort($assigned_vars); 23 if (@is_array($smarty->_config[0])) { 24 $config_vars = $smarty->_config[0]; 25 ksort($config_vars); 26 $smarty->assign("_debug_config_keys", array_keys($config_vars)); 27 $smarty->assign("_debug_config_vals", array_values($config_vars)); 28 } 29 30 $included_templates = $smarty->_smarty_debug_info; 31 32 $smarty->assign("_debug_keys", array_keys($assigned_vars)); 33 $smarty->assign("_debug_vals", array_values($assigned_vars)); 34 35 $smarty->assign("_debug_tpls", $included_templates); 36} 37 38/* vim: set expandtab: */ 39 40?> 41