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 */ 18class 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