1: <?php
2: /**
3: * Smarty Internal Plugin Compile Debug
4: * Compiles the {debug} tag.
5: * It opens a window the the Smarty Debugging Console.
6: *
7: * @package Smarty
8: * @subpackage Compiler
9: * @author Uwe Tews
10: */
11:
12: /**
13: * Smarty Internal Plugin Compile Debug Class
14: *
15: * @package Smarty
16: * @subpackage Compiler
17: */
18: class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase
19: {
20: /**
21: * Compiles code for the {debug} tag
22: *
23: * @param array $args array with attributes from parser
24: * @param object $compiler compiler object
25: *
26: * @return string compiled code
27: */
28: public function compile($args, $compiler)
29: {
30: // check and get attributes
31: $_attr = $this->getAttributes($compiler, $args);
32: // compile always as nocache
33: $compiler->tag_nocache = true;
34: // display debug template
35: $_output =
36: "<?php \$_smarty_debug = new Smarty_Internal_Debug;\n \$_smarty_debug->display_debug(\$_smarty_tpl);\n";
37: $_output .= "unset(\$_smarty_debug);\n?>";
38: return $_output;
39: }
40: }
41: