Archived
Smarty bugfix release 3.1.17 - read changelog
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Project: Smarty: the PHP compiling template engine
|
||||
* File: Smarty.class.php
|
||||
* SVN: $Id: Smarty.class.php 4800 2013-12-15 15:19:01Z Uwe.Tews@googlemail.com $
|
||||
* SVN: $Id: Smarty.class.php 4814 2014-02-16 18:34:08Z Uwe.Tews@googlemail.com $
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -28,7 +28,7 @@
|
||||
* @author Uwe Tews
|
||||
* @author Rodney Rehm
|
||||
* @package Smarty
|
||||
* @version 3.1-DEV
|
||||
* @version 3.1.17
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -113,7 +113,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* smarty version
|
||||
*/
|
||||
const SMARTY_VERSION = 'Smarty-3.1.16';
|
||||
const SMARTY_VERSION = 'Smarty-3.1.17';
|
||||
|
||||
/**
|
||||
* define variable scopes
|
||||
@@ -835,7 +835,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
{
|
||||
$this->template_dir = array();
|
||||
foreach ((array) $template_dir as $k => $v) {
|
||||
$this->template_dir[$k] = rtrim($v, '/\\') . DS;
|
||||
$this->template_dir[$k] = str_replace(array('//','\\\\'), DS, rtrim($v, '/\\')) . DS;
|
||||
}
|
||||
|
||||
$this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir);
|
||||
@@ -858,20 +858,24 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
|
||||
if (is_array($template_dir)) {
|
||||
foreach ($template_dir as $k => $v) {
|
||||
$v = str_replace(array('//','\\\\'), DS, rtrim($v, '/\\')) . DS;
|
||||
if (is_int($k)) {
|
||||
// indexes are not merged but appended
|
||||
$this->template_dir[] = rtrim($v, '/\\') . DS;
|
||||
$this->template_dir[] = $v;
|
||||
} else {
|
||||
// string indexes are overridden
|
||||
$this->template_dir[$k] = rtrim($v, '/\\') . DS;
|
||||
$this->template_dir[$k] = $v;
|
||||
}
|
||||
}
|
||||
} elseif ($key !== null) {
|
||||
// override directory at specified index
|
||||
$this->template_dir[$key] = rtrim($template_dir, '/\\') . DS;
|
||||
} else {
|
||||
// append new directory
|
||||
$this->template_dir[] = rtrim($template_dir, '/\\') . DS;
|
||||
$v = str_replace(array('//','\\\\'), DS, rtrim($template_dir, '/\\')) . DS;
|
||||
if ($key !== null) {
|
||||
// override directory at specified index
|
||||
$this->template_dir[$key] = $v;
|
||||
} else {
|
||||
// append new directory
|
||||
$this->template_dir[] = $v;
|
||||
}
|
||||
}
|
||||
$this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir);
|
||||
|
||||
@@ -903,7 +907,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
{
|
||||
$this->config_dir = array();
|
||||
foreach ((array) $config_dir as $k => $v) {
|
||||
$this->config_dir[$k] = rtrim($v, '/\\') . DS;
|
||||
$this->config_dir[$k] = str_replace(array('//','\\\\'), DS, rtrim($v, '/\\')) . DS;
|
||||
}
|
||||
|
||||
$this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir);
|
||||
@@ -925,20 +929,24 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
|
||||
if (is_array($config_dir)) {
|
||||
foreach ($config_dir as $k => $v) {
|
||||
$v = str_replace(array('//','\\\\'), DS, rtrim($v, '/\\')) . DS;
|
||||
if (is_int($k)) {
|
||||
// indexes are not merged but appended
|
||||
$this->config_dir[] = rtrim($v, '/\\') . DS;
|
||||
$this->config_dir[] = $v;
|
||||
} else {
|
||||
// string indexes are overridden
|
||||
$this->config_dir[$k] = rtrim($v, '/\\') . DS;
|
||||
$this->config_dir[$k] = $v;
|
||||
}
|
||||
}
|
||||
} elseif ($key !== null) {
|
||||
// override directory at specified index
|
||||
$this->config_dir[$key] = rtrim($config_dir, '/\\') . DS;
|
||||
} else {
|
||||
// append new directory
|
||||
$this->config_dir[] = rtrim($config_dir, '/\\') . DS;
|
||||
$v = str_replace(array('//','\\\\'), DS, rtrim($config_dir, '/\\')) . DS;
|
||||
if ($key !== null) {
|
||||
// override directory at specified index
|
||||
$this->config_dir[$key] = rtrim($v, '/\\') . DS;
|
||||
} else {
|
||||
// append new directory
|
||||
$this->config_dir[] = rtrim($v, '/\\') . DS;
|
||||
}
|
||||
}
|
||||
|
||||
$this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir);
|
||||
|
||||
Reference in New Issue
Block a user