function.assign_debug_info.php 1.1 KB

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