add smarty lib
Dieser Commit ist enthalten in:
Ursprung
538d71063a
Commit
0459ca90a0
5 geänderte Dateien mit 2281 neuen und 0 gelöschten Zeilen
110
libs/Autoloader.php
Normale Datei
110
libs/Autoloader.php
Normale Datei
|
@ -0,0 +1,110 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Smarty Autoloader
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smarty Autoloader
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
* @author Uwe Tews
|
||||||
|
* Usage:
|
||||||
|
* require_once '...path/Autoloader.php';
|
||||||
|
* Smarty_Autoloader::register();
|
||||||
|
* or
|
||||||
|
* include '...path/bootstrap.php';
|
||||||
|
*
|
||||||
|
* $smarty = new Smarty();
|
||||||
|
*/
|
||||||
|
class Smarty_Autoloader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Filepath to Smarty root
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public static $SMARTY_DIR = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filepath to Smarty internal plugins
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public static $SMARTY_SYSPLUGINS_DIR = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Array with Smarty core classes and their filename
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public static $rootClasses = array('smarty' => 'Smarty.class.php', 'smartybc' => 'SmartyBC.class.php',);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers Smarty_Autoloader backward compatible to older installations.
|
||||||
|
*
|
||||||
|
* @param bool $prepend Whether to prepend the autoloader or not.
|
||||||
|
*/
|
||||||
|
public static function registerBC($prepend = false)
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* register the class autoloader
|
||||||
|
*/
|
||||||
|
if (!defined('SMARTY_SPL_AUTOLOAD')) {
|
||||||
|
define('SMARTY_SPL_AUTOLOAD', 0);
|
||||||
|
}
|
||||||
|
if (SMARTY_SPL_AUTOLOAD &&
|
||||||
|
set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
|
||||||
|
) {
|
||||||
|
$registeredAutoLoadFunctions = spl_autoload_functions();
|
||||||
|
if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
|
||||||
|
spl_autoload_register();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
self::register($prepend);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers Smarty_Autoloader as an SPL autoloader.
|
||||||
|
*
|
||||||
|
* @param bool $prepend Whether to prepend the autoloader or not.
|
||||||
|
*/
|
||||||
|
public static function register($prepend = false)
|
||||||
|
{
|
||||||
|
self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
|
||||||
|
self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
|
||||||
|
self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
|
||||||
|
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
|
||||||
|
spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
|
||||||
|
} else {
|
||||||
|
spl_autoload_register(array(__CLASS__, 'autoload'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles auto loading of classes.
|
||||||
|
*
|
||||||
|
* @param string $class A class name.
|
||||||
|
*/
|
||||||
|
public static function autoload($class)
|
||||||
|
{
|
||||||
|
if ($class[ 0 ] !== 'S' && strpos($class, 'Smarty') !== 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$_class = strtolower($class);
|
||||||
|
if (isset(self::$rootClasses[ $_class ])) {
|
||||||
|
$file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
|
||||||
|
if (is_file($file)) {
|
||||||
|
include $file;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
|
||||||
|
if (is_file($file)) {
|
||||||
|
include $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
1539
libs/Smarty.class.php
Normale Datei
1539
libs/Smarty.class.php
Normale Datei
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
455
libs/SmartyBC.class.php
Normale Datei
455
libs/SmartyBC.class.php
Normale Datei
|
@ -0,0 +1,455 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Project: Smarty: the PHP compiling template engine
|
||||||
|
* File: SmartyBC.class.php
|
||||||
|
* SVN: $Id: SmartyBC.class.php 128 2019-07-03 11:58:28Z oldperl $
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
* For questions, help, comments, discussion, etc., please join the
|
||||||
|
* Smarty mailing list. Send a blank e-mail to
|
||||||
|
* smarty-discussion-subscribe@googlegroups.com
|
||||||
|
*
|
||||||
|
* @link http://www.smarty.net/
|
||||||
|
* @copyright 2008 New Digital Group, Inc.
|
||||||
|
* @author Monte Ohrt <monte at ohrt dot com>
|
||||||
|
* @author Uwe Tews
|
||||||
|
* @author Rodney Rehm
|
||||||
|
* @package Smarty
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @ignore
|
||||||
|
*/
|
||||||
|
require_once(dirname(__FILE__) . '/Smarty.class.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smarty Backward Compatibility Wrapper Class
|
||||||
|
*
|
||||||
|
* @package Smarty
|
||||||
|
*/
|
||||||
|
class SmartyBC extends Smarty
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Smarty 2 BC
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $_version = self::SMARTY_VERSION;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is an array of directories where trusted php scripts reside.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public $trusted_dir = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize new SmartyBC object
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wrapper for assign_by_ref
|
||||||
|
*
|
||||||
|
* @param string $tpl_var the template variable name
|
||||||
|
* @param mixed &$value the referenced value to assign
|
||||||
|
*/
|
||||||
|
public function assign_by_ref($tpl_var, &$value)
|
||||||
|
{
|
||||||
|
$this->assignByRef($tpl_var, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wrapper for append_by_ref
|
||||||
|
*
|
||||||
|
* @param string $tpl_var the template variable name
|
||||||
|
* @param mixed &$value the referenced value to append
|
||||||
|
* @param boolean $merge flag if array elements shall be merged
|
||||||
|
*/
|
||||||
|
public function append_by_ref($tpl_var, &$value, $merge = false)
|
||||||
|
{
|
||||||
|
$this->appendByRef($tpl_var, $value, $merge);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clear the given assigned template variable.
|
||||||
|
*
|
||||||
|
* @param string $tpl_var the template variable to clear
|
||||||
|
*/
|
||||||
|
public function clear_assign($tpl_var)
|
||||||
|
{
|
||||||
|
$this->clearAssign($tpl_var);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers custom function to be used in templates
|
||||||
|
*
|
||||||
|
* @param string $function the name of the template function
|
||||||
|
* @param string $function_impl the name of the PHP function to register
|
||||||
|
* @param bool $cacheable
|
||||||
|
* @param mixed $cache_attrs
|
||||||
|
*/
|
||||||
|
public function register_function($function, $function_impl, $cacheable = true, $cache_attrs = null)
|
||||||
|
{
|
||||||
|
$this->registerPlugin('function', $function, $function_impl, $cacheable, $cache_attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister custom function
|
||||||
|
*
|
||||||
|
* @param string $function name of template function
|
||||||
|
*/
|
||||||
|
public function unregister_function($function)
|
||||||
|
{
|
||||||
|
$this->unregisterPlugin('function', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers object to be used in templates
|
||||||
|
*
|
||||||
|
* @param string $object name of template object
|
||||||
|
* @param object $object_impl the referenced PHP object to register
|
||||||
|
* @param array $allowed list of allowed methods (empty = all)
|
||||||
|
* @param boolean $smarty_args smarty argument format, else traditional
|
||||||
|
* @param array $block_methods list of methods that are block format
|
||||||
|
*
|
||||||
|
* @throws SmartyException
|
||||||
|
* @internal param array $block_functs list of methods that are block format
|
||||||
|
*/
|
||||||
|
public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true,
|
||||||
|
$block_methods = array())
|
||||||
|
{
|
||||||
|
settype($allowed, 'array');
|
||||||
|
settype($smarty_args, 'boolean');
|
||||||
|
$this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister object
|
||||||
|
*
|
||||||
|
* @param string $object name of template object
|
||||||
|
*/
|
||||||
|
public function unregister_object($object)
|
||||||
|
{
|
||||||
|
$this->unregisterObject($object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers block function to be used in templates
|
||||||
|
*
|
||||||
|
* @param string $block name of template block
|
||||||
|
* @param string $block_impl PHP function to register
|
||||||
|
* @param bool $cacheable
|
||||||
|
* @param mixed $cache_attrs
|
||||||
|
*/
|
||||||
|
public function register_block($block, $block_impl, $cacheable = true, $cache_attrs = null)
|
||||||
|
{
|
||||||
|
$this->registerPlugin('block', $block, $block_impl, $cacheable, $cache_attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister block function
|
||||||
|
*
|
||||||
|
* @param string $block name of template function
|
||||||
|
*/
|
||||||
|
public function unregister_block($block)
|
||||||
|
{
|
||||||
|
$this->unregisterPlugin('block', $block);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers compiler function
|
||||||
|
*
|
||||||
|
* @param string $function name of template function
|
||||||
|
* @param string $function_impl name of PHP function to register
|
||||||
|
* @param bool $cacheable
|
||||||
|
*/
|
||||||
|
public function register_compiler_function($function, $function_impl, $cacheable = true)
|
||||||
|
{
|
||||||
|
$this->registerPlugin('compiler', $function, $function_impl, $cacheable);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister compiler function
|
||||||
|
*
|
||||||
|
* @param string $function name of template function
|
||||||
|
*/
|
||||||
|
public function unregister_compiler_function($function)
|
||||||
|
{
|
||||||
|
$this->unregisterPlugin('compiler', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers modifier to be used in templates
|
||||||
|
*
|
||||||
|
* @param string $modifier name of template modifier
|
||||||
|
* @param string $modifier_impl name of PHP function to register
|
||||||
|
*/
|
||||||
|
public function register_modifier($modifier, $modifier_impl)
|
||||||
|
{
|
||||||
|
$this->registerPlugin('modifier', $modifier, $modifier_impl);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister modifier
|
||||||
|
*
|
||||||
|
* @param string $modifier name of template modifier
|
||||||
|
*/
|
||||||
|
public function unregister_modifier($modifier)
|
||||||
|
{
|
||||||
|
$this->unregisterPlugin('modifier', $modifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a resource to fetch a template
|
||||||
|
*
|
||||||
|
* @param string $type name of resource
|
||||||
|
* @param array $functions array of functions to handle resource
|
||||||
|
*/
|
||||||
|
public function register_resource($type, $functions)
|
||||||
|
{
|
||||||
|
$this->registerResource($type, $functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister a resource
|
||||||
|
*
|
||||||
|
* @param string $type name of resource
|
||||||
|
*/
|
||||||
|
public function unregister_resource($type)
|
||||||
|
{
|
||||||
|
$this->unregisterResource($type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a prefilter function to apply
|
||||||
|
* to a template before compiling
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function register_prefilter($function)
|
||||||
|
{
|
||||||
|
$this->registerFilter('pre', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister a prefilter function
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function unregister_prefilter($function)
|
||||||
|
{
|
||||||
|
$this->unregisterFilter('pre', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a postfilter function to apply
|
||||||
|
* to a compiled template after compilation
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function register_postfilter($function)
|
||||||
|
{
|
||||||
|
$this->registerFilter('post', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister a postfilter function
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function unregister_postfilter($function)
|
||||||
|
{
|
||||||
|
$this->unregisterFilter('post', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers an output filter function to apply
|
||||||
|
* to a template output
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function register_outputfilter($function)
|
||||||
|
{
|
||||||
|
$this->registerFilter('output', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister an outputfilter function
|
||||||
|
*
|
||||||
|
* @param callable $function
|
||||||
|
*/
|
||||||
|
public function unregister_outputfilter($function)
|
||||||
|
{
|
||||||
|
$this->unregisterFilter('output', $function);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* load a filter of specified type and name
|
||||||
|
*
|
||||||
|
* @param string $type filter type
|
||||||
|
* @param string $name filter name
|
||||||
|
*/
|
||||||
|
public function load_filter($type, $name)
|
||||||
|
{
|
||||||
|
$this->loadFilter($type, $name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clear cached content for the given template and cache id
|
||||||
|
*
|
||||||
|
* @param string $tpl_file name of template file
|
||||||
|
* @param string $cache_id name of cache_id
|
||||||
|
* @param string $compile_id name of compile_id
|
||||||
|
* @param string $exp_time expiration time
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
|
||||||
|
{
|
||||||
|
return $this->clearCache($tpl_file, $cache_id, $compile_id, $exp_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clear the entire contents of cache (all templates)
|
||||||
|
*
|
||||||
|
* @param string $exp_time expire time
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function clear_all_cache($exp_time = null)
|
||||||
|
{
|
||||||
|
return $this->clearCache(null, null, null, $exp_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test to see if valid cache exists for this template
|
||||||
|
*
|
||||||
|
* @param string $tpl_file name of template file
|
||||||
|
* @param string $cache_id
|
||||||
|
* @param string $compile_id
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
|
||||||
|
{
|
||||||
|
return $this->isCached($tpl_file, $cache_id, $compile_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clear all the assigned template variables.
|
||||||
|
*/
|
||||||
|
public function clear_all_assign()
|
||||||
|
{
|
||||||
|
$this->clearAllAssign();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clears compiled version of specified template resource,
|
||||||
|
* or all compiled template files if one is not specified.
|
||||||
|
* This function is for advanced use only, not normally needed.
|
||||||
|
*
|
||||||
|
* @param string $tpl_file
|
||||||
|
* @param string $compile_id
|
||||||
|
* @param string $exp_time
|
||||||
|
*
|
||||||
|
* @return boolean results of {@link smarty_core_rm_auto()}
|
||||||
|
*/
|
||||||
|
public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
|
||||||
|
{
|
||||||
|
return $this->clearCompiledTemplate($tpl_file, $compile_id, $exp_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether requested template exists.
|
||||||
|
*
|
||||||
|
* @param string $tpl_file
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function template_exists($tpl_file)
|
||||||
|
{
|
||||||
|
return $this->templateExists($tpl_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array containing template variables
|
||||||
|
*
|
||||||
|
* @param string $name
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function get_template_vars($name = null)
|
||||||
|
{
|
||||||
|
return $this->getTemplateVars($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array containing config variables
|
||||||
|
*
|
||||||
|
* @param string $name
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function get_config_vars($name = null)
|
||||||
|
{
|
||||||
|
return $this->getConfigVars($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* load configuration values
|
||||||
|
*
|
||||||
|
* @param string $file
|
||||||
|
* @param string $section
|
||||||
|
* @param string $scope
|
||||||
|
*/
|
||||||
|
public function config_load($file, $section = null, $scope = 'global')
|
||||||
|
{
|
||||||
|
$this->ConfigLoad($file, $section, $scope);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return a reference to a registered object
|
||||||
|
*
|
||||||
|
* @param string $name
|
||||||
|
*
|
||||||
|
* @return object
|
||||||
|
*/
|
||||||
|
public function get_registered_object($name)
|
||||||
|
{
|
||||||
|
return $this->getRegisteredObject($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clear configuration values
|
||||||
|
*
|
||||||
|
* @param string $var
|
||||||
|
*/
|
||||||
|
public function clear_config($var = null)
|
||||||
|
{
|
||||||
|
$this->clearConfig($var);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* trigger Smarty error
|
||||||
|
*
|
||||||
|
* @param string $error_msg
|
||||||
|
* @param integer $error_type
|
||||||
|
*/
|
||||||
|
public function trigger_error($error_msg, $error_type = E_USER_WARNING)
|
||||||
|
{
|
||||||
|
trigger_error("Smarty error: $error_msg", $error_type);
|
||||||
|
}
|
||||||
|
}
|
17
libs/bootstrap.php
Normale Datei
17
libs/bootstrap.php
Normale Datei
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of the Smarty package.
|
||||||
|
*
|
||||||
|
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Load and register Smarty Autoloader
|
||||||
|
*/
|
||||||
|
if (!class_exists('Smarty_Autoloader')) {
|
||||||
|
require dirname(__FILE__) . '/Autoloader.php';
|
||||||
|
}
|
||||||
|
Smarty_Autoloader::register(true);
|
160
libs/debug.tpl
Normale Datei
160
libs/debug.tpl
Normale Datei
|
@ -0,0 +1,160 @@
|
||||||
|
{capture name='_smarty_debug' assign=debug_output}
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Smarty Debug Console</title>
|
||||||
|
<style type="text/css">
|
||||||
|
{literal}
|
||||||
|
body, h1, h2, h3, td, th, p {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 0.9em;
|
||||||
|
margin: 1px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin: 0;
|
||||||
|
text-align: left;
|
||||||
|
padding: 2px;
|
||||||
|
background-color: #f0c040;
|
||||||
|
color: black;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
background-color: #9B410E;
|
||||||
|
color: white;
|
||||||
|
text-align: left;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 2px;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
text-align: left;
|
||||||
|
font-weight: bold;
|
||||||
|
color: black;
|
||||||
|
font-size: 0.7em;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
p, table, div {
|
||||||
|
background: #f0ead8;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 0;
|
||||||
|
font-style: italic;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
font-family: monospace;
|
||||||
|
vertical-align: top;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
.odd {
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.even {
|
||||||
|
background-color: #fafafa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exectime {
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bold div {
|
||||||
|
color: black;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
#blue h3 {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
#normal div {
|
||||||
|
color: black;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#table_assigned_vars th {
|
||||||
|
color: blue;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#table_config_vars th {
|
||||||
|
color: maroon;
|
||||||
|
}
|
||||||
|
|
||||||
|
{/literal}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Smarty {Smarty::SMARTY_VERSION} Debug Console
|
||||||
|
- {if isset($template_name)}{$template_name|debug_print_var nofilter} {/if}{if !empty($template_data)}Total Time {$execution_time|string_format:"%.5f"}{/if}</h1>
|
||||||
|
|
||||||
|
{if !empty($template_data)}
|
||||||
|
<h2>included templates & config files (load time in seconds)</h2>
|
||||||
|
<div>
|
||||||
|
{foreach $template_data as $template}
|
||||||
|
<font color=brown>{$template.name}</font>
|
||||||
|
<br> <span class="exectime">
|
||||||
|
(compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
{/foreach}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
<h2>assigned template variables</h2>
|
||||||
|
|
||||||
|
<table id="table_assigned_vars">
|
||||||
|
{foreach $assigned_vars as $vars}
|
||||||
|
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
||||||
|
<td><h3><font color=blue>${$vars@key}</font></h3>
|
||||||
|
{if isset($vars['nocache'])}<b>Nocache</b></br>{/if}
|
||||||
|
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if}
|
||||||
|
</td>
|
||||||
|
<td><h3>Value</h3>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
||||||
|
<td>{if isset($vars['attributes'])}<h3>Attributes</h3>{$vars['attributes']|debug_print_var nofilter} {/if}</td>
|
||||||
|
{/foreach}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>assigned config file variables</h2>
|
||||||
|
|
||||||
|
<table id="table_config_vars">
|
||||||
|
{foreach $config_vars as $vars}
|
||||||
|
<tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
|
||||||
|
<td><h3><font color=blue>#{$vars@key}#</font></h3>
|
||||||
|
{if isset($vars['scope'])}<b>Origin:</b> {$vars['scope']|debug_print_var nofilter}{/if}
|
||||||
|
</td>
|
||||||
|
<td>{$vars['value']|debug_print_var:10:80 nofilter}</td>
|
||||||
|
</tr>
|
||||||
|
{/foreach}
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
{/capture}
|
||||||
|
<script type="text/javascript">
|
||||||
|
{$id = '__Smarty__'}
|
||||||
|
{if $display_mode}{$id = "$offset$template_name"|md5}{/if}
|
||||||
|
_smarty_console = window.open("", "console{$id}", "width=1024,height=600,left={$offset},top={$offset},resizable,scrollbars=yes");
|
||||||
|
_smarty_console.document.write("{$debug_output|escape:'javascript' nofilter}");
|
||||||
|
_smarty_console.document.close();
|
||||||
|
</script>
|
Laden …
In neuem Issue referenzieren