aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_template.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-04-06 17:15:45 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-04-06 17:15:45 +0000
commit431e494ae43257bea251a59ed6b2a4bb20eb7fd4 (patch)
tree66bea58ebc6be0c6a76b5444a73016fd2a97f7ff /phpBB/includes/functions_template.php
parent3933f0bab385f7702cd6335842aa42e004b3d195 (diff)
downloadforums-431e494ae43257bea251a59ed6b2a4bb20eb7fd4.tar
forums-431e494ae43257bea251a59ed6b2a4bb20eb7fd4.tar.gz
forums-431e494ae43257bea251a59ed6b2a4bb20eb7fd4.tar.bz2
forums-431e494ae43257bea251a59ed6b2a4bb20eb7fd4.tar.xz
forums-431e494ae43257bea251a59ed6b2a4bb20eb7fd4.zip
To all people having their bug status set to fixed: SF pserver CVS access is currently down, therefore the snapshots are still out of date.
- fix a bunch of bugs - <!-- $Id$ --> is no longer allowed in template (.html) files - changed layout of private message screens (folders are menu items) - removed unread mode for private messages - added new feature to template engine - "jump out of loop" or "loop another loop within my loop" :D (will be documented within the coding guidelines) - added autologin field to sessions - check session length checks - added add_log statement to sessions to track session valid to invalid changes if ip/browser change depending on config settings (only debug) - added multibyte support for various variables (exception at the moment is usernames which needs some discussion) - hopefully not broke something. :/ git-svn-id: file:///svn/phpbb/trunk@5765 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/functions_template.php')
-rw-r--r--phpBB/includes/functions_template.php18
1 files changed, 17 insertions, 1 deletions
diff --git a/phpBB/includes/functions_template.php b/phpBB/includes/functions_template.php
index f7032d0e3c..6ed8c4c1ab 100644
--- a/phpBB/includes/functions_template.php
+++ b/phpBB/includes/functions_template.php
@@ -255,6 +255,14 @@ class template_compile
*/
function compile_tag_block($tag_args)
{
+ $no_nesting = false;
+
+ if (strpos($tag_args, '!') === 0)
+ {
+ $no_nesting = substr_count($tag_args, '!', 0, strrpos($tag_args, '!') + 1);
+ $tag_args = substr($tag_args, $no_nesting);
+ }
+
// Allow for control of looping (indexes start from zero):
// foo(2) : Will start the loop on the 3rd entry
// foo(-2) : Will start the loop two entries from the end
@@ -305,7 +313,15 @@ class template_compile
// This block is nested.
// Generate a namespace string for this block.
- $namespace = implode('.', $this->template->block_names);
+ if ($no_nesting !== false)
+ {
+ // We need to implode $no_nesting times from the end...
+ $namespace = implode('.', array_slice($this->template->block_names, -$no_nesting));
+ }
+ else
+ {
+ $namespace = implode('.', $this->template->block_names);
+ }
// Get a reference to the data array for this block that depends on the
// current indices of all parent blocks.