aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/template/context.php
diff options
context:
space:
mode:
authorDavid King <imkingdavid@gmail.com>2013-07-11 20:43:41 -0400
committerDavid King <imkingdavid@gmail.com>2013-07-11 20:43:41 -0400
commit8b7aef6f938bf7c08d41908e78b6e71117adba38 (patch)
treed39d9f3720e4afe78d23772e15830a2b12f1f5ba /phpBB/includes/template/context.php
parentb9c290b5480a958eabeef66d5e9af799f77e4566 (diff)
parentb1d3c1bf6990c8105c18eb9db06ebf9c974b0899 (diff)
downloadforums-8b7aef6f938bf7c08d41908e78b6e71117adba38.tar
forums-8b7aef6f938bf7c08d41908e78b6e71117adba38.tar.gz
forums-8b7aef6f938bf7c08d41908e78b6e71117adba38.tar.bz2
forums-8b7aef6f938bf7c08d41908e78b6e71117adba38.tar.xz
forums-8b7aef6f938bf7c08d41908e78b6e71117adba38.zip
Merge branch 'develop' into ticket/11215
* develop: (176 commits) [feature/bootstrap-dic] Bootstrap container from config.php [ticket/11548] Use new static methods for request and submit [ticket/10772] Updating tests [ticket/10772] Remove 3.1 code [ticket/11388] Add newlines at EOF [ticket/11388] INCLUDECSS [ticket/11548] Run array_map on complete error array and not just colour_error [ticket/11644] Skip phpbb_dbal_order_lower_test on MySQL 5.6 [ticket/11388] Do not append assets_version if using remote path (e.g. http) [ticket/11388] Fix typo [ticket/11388] Remove typehints (causing tests to fail) [ticket/11388] Disable cache if IN_INSTALL defined [ticket/11388] Do not modify by reference [ticket/11388] typehits [ticket/11388] INCLUDEJS test for //(url) [ticket/11388] INCLUDEJS supports //(url) [ticket/11388] Fixing includejs test [ticket/11388] includejs inherit from includeasset [feature/twig] Unit tests for includejs [ticket/8319] Add migration file for update change ...
Diffstat (limited to 'phpBB/includes/template/context.php')
-rw-r--r--phpBB/includes/template/context.php34
1 files changed, 32 insertions, 2 deletions
diff --git a/phpBB/includes/template/context.php b/phpBB/includes/template/context.php
index ec09da1cf3..c5ce7422b9 100644
--- a/phpBB/includes/template/context.php
+++ b/phpBB/includes/template/context.php
@@ -138,7 +138,7 @@ class phpbb_template_context
}
$s_row_count = isset($str[$blocks[$blockcount]]) ? sizeof($str[$blocks[$blockcount]]) : 0;
- $vararray['S_ROW_COUNT'] = $s_row_count;
+ $vararray['S_ROW_COUNT'] = $vararray['S_ROW_NUM'] = $s_row_count;
// Assign S_FIRST_ROW
if (!$s_row_count)
@@ -146,6 +146,9 @@ class phpbb_template_context
$vararray['S_FIRST_ROW'] = true;
}
+ // Assign S_BLOCK_NAME
+ $vararray['S_BLOCK_NAME'] = $blocks[$blockcount];
+
// Now the tricky part, we always assign S_LAST_ROW and remove the entry before
// This is much more clever than going through the complete template data on display (phew)
$vararray['S_LAST_ROW'] = true;
@@ -158,12 +161,18 @@ class phpbb_template_context
// We're adding a new iteration to this block with the given
// variable assignments.
$str[$blocks[$blockcount]][] = $vararray;
+
+ // Set S_NUM_ROWS
+ foreach ($str[$blocks[$blockcount]] as &$mod_block)
+ {
+ $mod_block['S_NUM_ROWS'] = sizeof($str[$blocks[$blockcount]]);
+ }
}
else
{
// Top-level block.
$s_row_count = (isset($this->tpldata[$blockname])) ? sizeof($this->tpldata[$blockname]) : 0;
- $vararray['S_ROW_COUNT'] = $s_row_count;
+ $vararray['S_ROW_COUNT'] = $vararray['S_ROW_NUM'] = $s_row_count;
// Assign S_FIRST_ROW
if (!$s_row_count)
@@ -171,6 +180,9 @@ class phpbb_template_context
$vararray['S_FIRST_ROW'] = true;
}
+ // Assign S_BLOCK_NAME
+ $vararray['S_BLOCK_NAME'] = $blockname;
+
// We always assign S_LAST_ROW and remove the entry before
$vararray['S_LAST_ROW'] = true;
if ($s_row_count > 0)
@@ -180,6 +192,12 @@ class phpbb_template_context
// Add a new iteration to this block with the variable assignments we were given.
$this->tpldata[$blockname][] = $vararray;
+
+ // Set S_NUM_ROWS
+ foreach ($this->tpldata[$blockname] as &$mod_block)
+ {
+ $mod_block['S_NUM_ROWS'] = sizeof($this->tpldata[$blockname]);
+ }
}
return true;
@@ -298,14 +316,26 @@ class phpbb_template_context
$vararray['S_FIRST_ROW'] = true;
}
+ // Assign S_BLOCK_NAME
+ $vararray['S_BLOCK_NAME'] = $blockname;
+
// Re-position template blocks
for ($i = sizeof($block); $i > $key; $i--)
{
$block[$i] = $block[$i-1];
+
+ $block[$i]['S_ROW_COUNT'] = $block[$i]['S_ROW_NUM'] = $i;
}
// Insert vararray at given position
$block[$key] = $vararray;
+ $block[$key]['S_ROW_COUNT'] = $block[$key]['S_ROW_NUM'] = $key;
+
+ // Set S_NUM_ROWS
+ foreach ($this->tpldata[$blockname] as &$mod_block)
+ {
+ $mod_block['S_NUM_ROWS'] = sizeof($this->tpldata[$blockname]);
+ }
return true;
}