Update version of smarty to 4.3.1
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
* 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.
|
||||
* version 3.0 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
|
||||
@@ -20,14 +20,13 @@
|
||||
* Smarty mailing list. Send a blank e-mail to
|
||||
* smarty-discussion-subscribe@googlegroups.com
|
||||
*
|
||||
* @link http://www.smarty.net/
|
||||
* @link https://www.smarty.net/
|
||||
* @copyright 2018 New Digital Group, Inc.
|
||||
* @copyright 2018 Uwe Tews
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author Uwe Tews <uwe dot tews at gmail dot com>
|
||||
* @author Rodney Rehm
|
||||
* @package Smarty
|
||||
* @version 3.1.33
|
||||
*/
|
||||
/**
|
||||
* set SMARTY_DIR to absolute path to Smarty library files.
|
||||
@@ -37,7 +36,7 @@ if (!defined('SMARTY_DIR')) {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
define('SMARTY_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
|
||||
define('SMARTY_DIR', __DIR__ . DIRECTORY_SEPARATOR);
|
||||
}
|
||||
/**
|
||||
* set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins.
|
||||
@@ -61,25 +60,21 @@ if (!defined('SMARTY_MBSTRING')) {
|
||||
*/
|
||||
define('SMARTY_MBSTRING', function_exists('mb_get_info'));
|
||||
}
|
||||
if (!defined('SMARTY_RESOURCE_CHAR_SET')) {
|
||||
// UTF-8 can only be done properly when mbstring is available!
|
||||
/**
|
||||
* @deprecated in favor of Smarty::$_CHARSET
|
||||
*/
|
||||
define('SMARTY_RESOURCE_CHAR_SET', SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1');
|
||||
}
|
||||
if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) {
|
||||
/**
|
||||
* @deprecated in favor of Smarty::$_DATE_FORMAT
|
||||
*/
|
||||
define('SMARTY_RESOURCE_DATE_FORMAT', '%b %e, %Y');
|
||||
|
||||
/**
|
||||
* Load helper functions
|
||||
*/
|
||||
if (!defined('SMARTY_HELPER_FUNCTIONS_LOADED')) {
|
||||
include __DIR__ . '/functions.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Smarty_Autoloader
|
||||
*/
|
||||
if (!class_exists('Smarty_Autoloader')) {
|
||||
include dirname(__FILE__) . '/bootstrap.php';
|
||||
include __DIR__ . '/bootstrap.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* Load always needed external class files
|
||||
*/
|
||||
@@ -112,7 +107,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* smarty version
|
||||
*/
|
||||
const SMARTY_VERSION = '3.1.33';
|
||||
const SMARTY_VERSION = '4.3.1';
|
||||
/**
|
||||
* define variable scopes
|
||||
*/
|
||||
@@ -144,13 +139,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
const DEBUG_OFF = 0;
|
||||
const DEBUG_ON = 1;
|
||||
const DEBUG_INDIVIDUAL = 2;
|
||||
/**
|
||||
* modes for handling of "<?php ... ?>" tags in templates.
|
||||
*/
|
||||
const PHP_PASSTHRU = 0; //-> print tags as plain text
|
||||
const PHP_QUOTE = 1; //-> escape tags as entities
|
||||
const PHP_REMOVE = 2; //-> escape tags as entities
|
||||
const PHP_ALLOW = 3; //-> escape tags as entities
|
||||
|
||||
/**
|
||||
* filter types
|
||||
*/
|
||||
@@ -180,13 +169,13 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* The character set to adhere to (e.g. "UTF-8")
|
||||
*/
|
||||
public static $_CHARSET = SMARTY_RESOURCE_CHAR_SET;
|
||||
public static $_CHARSET = SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1';
|
||||
|
||||
/**
|
||||
* The date format to be used internally
|
||||
* (accepts date() and strftime())
|
||||
*/
|
||||
public static $_DATE_FORMAT = SMARTY_RESOURCE_DATE_FORMAT;
|
||||
public static $_DATE_FORMAT = '%b %e, %Y';
|
||||
|
||||
/**
|
||||
* Flag denoting if PCRE should run in UTF-8 mode
|
||||
@@ -370,13 +359,6 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
*/
|
||||
public $security_policy = null;
|
||||
|
||||
/**
|
||||
* controls handling of PHP-blocks
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
public $php_handling = self::PHP_PASSTHRU;
|
||||
|
||||
/**
|
||||
* controls if the php template file resource is allowed
|
||||
*
|
||||
@@ -667,6 +649,12 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
'cache_dir' => 'CacheDir',
|
||||
);
|
||||
|
||||
/**
|
||||
* PHP7 Compatibility mode
|
||||
* @var bool
|
||||
*/
|
||||
private $isMutingUndefinedOrNullWarnings = false;
|
||||
|
||||
/**
|
||||
* Initialize new Smarty object
|
||||
*/
|
||||
@@ -689,27 +677,6 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable error handler to mute expected messages
|
||||
*
|
||||
* @return boolean
|
||||
* @deprecated
|
||||
*/
|
||||
public static function muteExpectedErrors()
|
||||
{
|
||||
return Smarty_Internal_ErrorHandler::muteExpectedErrors();
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable error handler muting expected messages
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
public static function unmuteExpectedErrors()
|
||||
{
|
||||
restore_error_handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a template resource exists
|
||||
*
|
||||
@@ -800,7 +767,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
* @param mixed $index index of directory to get, null to get all
|
||||
* @param bool $isConfig true for config_dir
|
||||
*
|
||||
* @return array list of template directories, or directory of $index
|
||||
* @return array|string list of template directories, or directory of $index
|
||||
*/
|
||||
public function getTemplateDir($index = null, $isConfig = false)
|
||||
{
|
||||
@@ -909,7 +876,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
$this->plugins_dir = (array)$this->plugins_dir;
|
||||
}
|
||||
foreach ($this->plugins_dir as $k => $v) {
|
||||
$this->plugins_dir[ $k ] = $this->_realpath(rtrim($v, '/\\') . DIRECTORY_SEPARATOR, true);
|
||||
$this->plugins_dir[ $k ] = $this->_realpath(rtrim($v ?? '', '/\\') . DIRECTORY_SEPARATOR, true);
|
||||
}
|
||||
$this->_cache[ 'plugin_files' ] = array();
|
||||
$this->_pluginsDirNormalized = true;
|
||||
@@ -1387,12 +1354,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
*/
|
||||
private function _normalizeDir($dirName, $dir)
|
||||
{
|
||||
$this->{$dirName} = $this->_realpath(rtrim($dir, "/\\") . DIRECTORY_SEPARATOR, true);
|
||||
if (class_exists('Smarty_Internal_ErrorHandler', false)) {
|
||||
if (!isset(Smarty_Internal_ErrorHandler::$mutedDirectories[ $this->{$dirName} ])) {
|
||||
Smarty_Internal_ErrorHandler::$mutedDirectories[ $this->{$dirName} ] = null;
|
||||
}
|
||||
}
|
||||
$this->{$dirName} = $this->_realpath(rtrim($dir ?? '', "/\\") . DIRECTORY_SEPARATOR, true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1414,7 +1376,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
}
|
||||
foreach ($dir as $k => $v) {
|
||||
if (!isset($processed[ $k ])) {
|
||||
$dir[ $k ] = $v = $this->_realpath(rtrim($v, "/\\") . DIRECTORY_SEPARATOR, true);
|
||||
$dir[ $k ] = $v = $this->_realpath(rtrim($v ?? '', "/\\") . DIRECTORY_SEPARATOR, true);
|
||||
$processed[ $k ] = true;
|
||||
}
|
||||
}
|
||||
@@ -1422,4 +1384,22 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
$isConfig ? $this->_joined_config_dir = join('#', $this->config_dir) :
|
||||
$this->_joined_template_dir = join('#', $this->template_dir);
|
||||
}
|
||||
|
||||
/**
|
||||
* Mutes errors for "undefined index", "undefined array key" and "trying to read property of null".
|
||||
*
|
||||
* @void
|
||||
*/
|
||||
public function muteUndefinedOrNullWarnings(): void {
|
||||
$this->isMutingUndefinedOrNullWarnings = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates if Smarty will mute errors for "undefined index", "undefined array key" and "trying to read property of null".
|
||||
* @bool
|
||||
*/
|
||||
public function isMutingUndefinedOrNullWarnings(): bool {
|
||||
return $this->isMutingUndefinedOrNullWarnings;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user