Merge branch 'AnrDaemon-fix-php5.3-compat'

This commit is contained in:
Simon Wisselink
2020-05-05 09:21:07 +02:00
5 changed files with 21 additions and 18 deletions

View File

@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Fixed
- PHP5.3 compatability fixes
## [3.1.36] - 2020-04-14
### Fixed

View File

@@ -40,7 +40,7 @@
}
},
"require-dev": {
"phpunit/phpunit": "6.4.1",
"phpunit/phpunit": "6.4.1 || ^5.7 || ^4.8",
"smarty/smarty-lexer": "^3.1"
}
}

View File

@@ -127,12 +127,12 @@ class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree
}
private function getChunkedSubtrees() {
$chunks = [];
$chunks = array();
$currentMode = null;
$currentChunk = [];
$currentChunk = array();
for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) {
if ($this->subtrees[ $key ]->data === '' && in_array($currentMode, ['textstripped', 'text', 'tag'])) {
if ($this->subtrees[ $key ]->data === '' && in_array($currentMode, array('textstripped', 'text', 'tag'))) {
continue;
}
@@ -150,19 +150,19 @@ class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree
if ($newMode == $currentMode) {
$currentChunk[] = $this->subtrees[ $key ];
} else {
$chunks[] = [
$chunks[] = array(
'mode' => $currentMode,
'subtrees' => $currentChunk
];
);
$currentMode = $newMode;
$currentChunk = [$this->subtrees[ $key ]];
$currentChunk = array($this->subtrees[ $key ]);
}
}
if ($currentMode && $currentChunk) {
$chunks[] = [
$chunks[] = array(
'mode' => $currentMode,
'subtrees' => $currentChunk
];
);
}
return $chunks;
}

View File

@@ -95,7 +95,7 @@ class CompileForeachTest extends PHPUnit_Smarty
array('{foreach $foo x y foo}{$y}.{$x},{foreachelse}else{/foreach}total{$smarty.foreach.foo.total}', array(9,10,11), '0.9,1.10,2.11,total3', '', $i ++),
array('{$x = "hallo"}{$bar=[1,2,3]}{foreach $foo as $x}outer={$x@index}.{$x}#{foreach $bar as $x}inner={$x@index}.{$x}{/foreach}##{/foreach}###{$x}', array(9,10,11), 'outer=0.9#inner=0.1inner=1.2inner=2.3##outer=1.10#inner=0.1inner=1.2inner=2.3##outer=2.11#inner=0.1inner=1.2inner=2.3#####hallo', '', $i ++),
array('{foreach $foo as $x}{$x}{foreachelse}else{/foreach}', null, 'else', '', $i ++),
array('{foreach $foo as $x}{$x}{foreachelse}else{/foreach}', [], 'else', '', $i ++),
array('{foreach $foo as $x}{$x}{foreachelse}else{/foreach}', array(), 'else', '', $i ++),
array('{foreach $foo as $x}{$x}{foreachelse}else{/foreach}', new \ArrayIterator(), 'else', '', $i ++),
);
}

View File

@@ -57,7 +57,7 @@ class PhpFunctionTest extends PHPUnit_Smarty
public function testEmpty2()
{
if (version_compare(phpversion(), '5.5', '<')) {
$this->markTestSkipped('runs only on PHP > 5.5');
$this->markTestSkipped('runs only on PHP >= 5.5');
}
$this->smarty->disableSecurity();
@@ -82,7 +82,7 @@ class PhpFunctionTest extends PHPUnit_Smarty
public function testEmpty3()
{
if (version_compare(phpversion(), '5.5', '<')) {
$this->markTestSkipped('runs only on PHP > 5.5');
$this->markTestSkipped('runs only on PHP >= 5.5');
}
$this->smarty->disableSecurity();
$this->smarty->assign('var', array(true,
@@ -104,7 +104,7 @@ class PhpFunctionTest extends PHPUnit_Smarty
public function testEmpty4()
{
if (version_compare(phpversion(), '5.5', '<')) {
$this->markTestSkipped('runs only on PHP > 5.5');
$this->markTestSkipped('runs only on PHP >= 5.5');
}
$this->smarty->disableSecurity();
@@ -168,11 +168,11 @@ class PhpFunctionTest extends PHPUnit_Smarty
$this->smarty->disableSecurity();
$this->smarty->assign('varobject', new TestIsset());
$this->smarty->assign('vararray', $vararray = [
$this->smarty->assign('vararray', $vararray = array(
'keythatexists' => false,
'keywitharray' => [1 => 1],
'keywithobject' => new TestIsset()]
);
'keywitharray' => array(1 => 1),
'keywithobject' => new TestIsset()
));
$this->smarty->assign('key', 'A');
$this->smarty->assign('_varsimpleA', 1);
@@ -234,4 +234,4 @@ class TestIsset {
public function pass($v) {
return $v;
}
}
}