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: 
33:         // compile always as nocache
34:         $compiler->tag_nocache = true;
35: 
36:         // display debug template
37:         $_output = "<?php \$_smarty_tpl->smarty->loadPlugin('Smarty_Internal_Debug'); Smarty_Internal_Debug::display_debug(\$_smarty_tpl); ?>";
38: 
39:         return $_output;
40:     }
41: }
42: