mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 12:02:24 +09:00
Fix #1893 duplicate function call when loop="" template syntax is used
This commit is contained in:
parent
7b46deb973
commit
f373e38d6d
2 changed files with 6 additions and 6 deletions
|
|
@ -561,7 +561,7 @@ class TemplateHandler
|
||||||
{
|
{
|
||||||
$expr_m[2] .= '=>' . trim($expr_m[3]);
|
$expr_m[2] .= '=>' . trim($expr_m[3]);
|
||||||
}
|
}
|
||||||
$nodes[$idx - 1] .= sprintf('<?php if(%1$s)foreach(%1$s as %2$s){ ?>', $expr_m[1], $expr_m[2]);
|
$nodes[$idx - 1] .= sprintf('<?php $__loop_tmp=%1$s;if($__loop_tmp)foreach($__loop_tmp as %2$s){ ?>', $expr_m[1], $expr_m[2]);
|
||||||
}
|
}
|
||||||
elseif(isset($expr_m[4]) && $expr_m[4])
|
elseif(isset($expr_m[4]) && $expr_m[4])
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test
|
||||||
// foreach loop
|
// foreach loop
|
||||||
array(
|
array(
|
||||||
'<ul><li loop="$arr=>$key,$val" class="sample"><a>Link</a><ul><li loop="$arr2=>$key2,$val2"></li></ul></li></ul>',
|
'<ul><li loop="$arr=>$key,$val" class="sample"><a>Link</a><ul><li loop="$arr2=>$key2,$val2"></li></ul></li></ul>',
|
||||||
'?><ul><?php if($__Context->arr)foreach($__Context->arr as $__Context->key=>$__Context->val){ ?><li class="sample"><a>Link</a><ul><?php if($__Context->arr2)foreach($__Context->arr2 as $__Context->key2=>$__Context->val2){ ?><li></li><?php } ?></ul></li><?php } ?></ul>'
|
'?><ul><?php $__loop_tmp=$__Context->arr;if($__loop_tmp)foreach($__loop_tmp as $__Context->key=>$__Context->val){ ?><li class="sample"><a>Link</a><ul><?php $__loop_tmp=$__Context->arr2;if($__loop_tmp)foreach($__loop_tmp as $__Context->key2=>$__Context->val2){ ?><li></li><?php } ?></ul></li><?php } ?></ul>'
|
||||||
),
|
),
|
||||||
// while loop
|
// while loop
|
||||||
array(
|
array(
|
||||||
|
|
@ -180,7 +180,7 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test
|
||||||
// issue 135
|
// issue 135
|
||||||
array(
|
array(
|
||||||
'<block loop="$_m_list_all=>$key,$val"><p>{$key}</p><div>Loop block {$val}</div></block>',
|
'<block loop="$_m_list_all=>$key,$val"><p>{$key}</p><div>Loop block {$val}</div></block>',
|
||||||
PHP_EOL . 'if($__Context->_m_list_all)foreach($__Context->_m_list_all as $__Context->key=>$__Context->val){ ?><p><?php echo $__Context->key ?></p><div>Loop block <?php echo $__Context->val ?></div><?php } ?>'
|
PHP_EOL . '$__loop_tmp=$__Context->_m_list_all;if($__loop_tmp)foreach($__loop_tmp as $__Context->key=>$__Context->val){ ?><p><?php echo $__Context->key ?></p><div>Loop block <?php echo $__Context->val ?></div><?php } ?>'
|
||||||
),
|
),
|
||||||
// issue 136
|
// issue 136
|
||||||
array(
|
array(
|
||||||
|
|
@ -190,17 +190,17 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test
|
||||||
// issue 188
|
// issue 188
|
||||||
array(
|
array(
|
||||||
'<div cond="$ii < $nn" loop="$dummy => $k, $v">Hello, world!</div>',
|
'<div cond="$ii < $nn" loop="$dummy => $k, $v">Hello, world!</div>',
|
||||||
PHP_EOL . 'if($__Context->ii < $__Context->nn){;' . PHP_EOL . 'if($__Context->dummy)foreach($__Context->dummy as $__Context->k=>$__Context->v){ ?><div>Hello, world!</div><?php }} ?>'
|
PHP_EOL . 'if($__Context->ii < $__Context->nn){;' . PHP_EOL . '$__loop_tmp=$__Context->dummy;if($__loop_tmp)foreach($__loop_tmp as $__Context->k=>$__Context->v){ ?><div>Hello, world!</div><?php }} ?>'
|
||||||
),
|
),
|
||||||
// issue 190
|
// issue 190
|
||||||
array(
|
array(
|
||||||
'<div cond="!($i >= $n)" loop="$dummy => $k, $v">Hello, world!</div>',
|
'<div cond="!($i >= $n)" loop="$dummy => $k, $v">Hello, world!</div>',
|
||||||
PHP_EOL . 'if(!($__Context->i >= $__Context->n)){;' . PHP_EOL . 'if($__Context->dummy)foreach($__Context->dummy as $__Context->k=>$__Context->v){ ?><div>Hello, world!</div><?php }} ?>'
|
PHP_EOL . 'if(!($__Context->i >= $__Context->n)){;' . PHP_EOL . '$__loop_tmp=$__Context->dummy;if($__loop_tmp)foreach($__loop_tmp as $__Context->k=>$__Context->v){ ?><div>Hello, world!</div><?php }} ?>'
|
||||||
),
|
),
|
||||||
// issue 183
|
// issue 183
|
||||||
array(
|
array(
|
||||||
'<table><thead><tr><th loop="$vvvls => $vvv">{$vvv}</th></tr></thead>'."\n".'<tbody><tr><td>C</td><td>D</td></tr></tbody></table>',
|
'<table><thead><tr><th loop="$vvvls => $vvv">{$vvv}</th></tr></thead>'."\n".'<tbody><tr><td>C</td><td>D</td></tr></tbody></table>',
|
||||||
'?><table><thead><tr><?php if($__Context->vvvls)foreach($__Context->vvvls as $__Context->vvv){ ?><th><?php echo $__Context->vvv ?></th><?php } ?></tr></thead>'."\n".'<tbody><tr><td>C</td><td>D</td></tr></tbody></table>'
|
'?><table><thead><tr><?php $__loop_tmp=$__Context->vvvls;if($__loop_tmp)foreach($__loop_tmp as $__Context->vvv){ ?><th><?php echo $__Context->vvv ?></th><?php } ?></tr></thead>'."\n".'<tbody><tr><td>C</td><td>D</td></tr></tbody></table>'
|
||||||
),
|
),
|
||||||
// issue 512 - ignores <marquee>
|
// issue 512 - ignores <marquee>
|
||||||
array(
|
array(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue