From 45ea013b111547ef684cc7c64dd91a6217935ab1 Mon Sep 17 00:00:00 2001 From: javiexin Date: Sun, 1 Jan 2017 21:22:29 +0100 Subject: [PATCH] [ticket/14943] Fix template loop access by index Allows inserting elements in a loop specified as 'outer[3].inner'. This was coded, but malfunctioning. Name incorrectly set on insert. PHPBB3-14943 --- phpBB/phpbb/template/context.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/phpBB/phpbb/template/context.php b/phpBB/phpbb/template/context.php index 8bf6c10e2d..f0bc4c859a 100644 --- a/phpBB/phpbb/template/context.php +++ b/phpBB/phpbb/template/context.php @@ -325,11 +325,13 @@ class context } $block = &$block[$blocks[$i]]; // Traverse the last block + $name = $blocks[$i]; } else { // Top-level block. $block = &$this->tpldata[$blockname]; + $name = $blockname; } // Change key to zero (change first position) if false and to last position if true @@ -378,7 +380,7 @@ class context } // Assign S_BLOCK_NAME - $vararray['S_BLOCK_NAME'] = $blockname; + $vararray['S_BLOCK_NAME'] = $name; // Re-position template blocks for ($i = sizeof($block); $i > $key; $i--)