mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
Add INC (working name) to template syntax
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10051 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
d2f72e2b27
commit
03568fd176
3 changed files with 28 additions and 1 deletions
|
@ -281,6 +281,8 @@
|
|||
<li>[Feature] Separate PM Reply and PM Reply to all in prosilver.</li>
|
||||
<li>[Feature] Place debug notices during captcha rendering in the error log - useful for debugging output already started errors.</li>
|
||||
<li>[Feature] Ability to define constant PHPBB_USE_BOARD_URL_PATH to use board url for images/avatars/ranks/imageset...</li>
|
||||
<li>[Feature] Added INC command to template syntax.</li>
|
||||
|
||||
</ul>
|
||||
<a name="v304"></a><h3>1.ii. Changes since 3.0.4</h3>
|
||||
|
||||
|
|
|
@ -1174,7 +1174,12 @@ append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;
|
|||
<span class="comment"><!-- DEFINE $SOME_VAR = 'my_file.html' --></span>
|
||||
<span class="comment"><!-- INCLUDE {$SOME_VAR} --></span>
|
||||
</pre></div>
|
||||
|
||||
<p>Also added in <strong>3.0.6</strong> is the ability to increment an variable on use. This can be used for instances like tabindexes, where the amount of entries is not statically known.
|
||||
The INC command will print the current state of a defined var and then increment it by one (postincrement).</p>
|
||||
<div class="codebox"><pre>
|
||||
<span class="comment"><!-- DEFINE $SOME_VAR = 1 --></span>
|
||||
<span class="comment"><!-- INC $SOME_VAR --></span>
|
||||
</pre></div>
|
||||
<h4>PHP</h4>
|
||||
<p>A contentious decision has seen the ability to include PHP within the template introduced. This is achieved by enclosing the PHP within relevant tags:</p>
|
||||
|
||||
|
|
|
@ -191,6 +191,10 @@ class template_compile
|
|||
$compile_blocks[] = '<?php ' . $this->compile_tag_define($block_val[2], false) . ' ?>';
|
||||
break;
|
||||
|
||||
case 'INC':
|
||||
$compile_blocks[] = '<?php ' . $this->compile_tag_counter($block_val[2], true) . ' ?>';
|
||||
break;
|
||||
|
||||
case 'INCLUDE':
|
||||
$temp = array_shift($include_blocks);
|
||||
|
||||
|
@ -626,6 +630,22 @@ class template_compile
|
|||
return (($match[1]) ? $this->generate_block_data_ref(substr($match[1], 0, -1), true, true) . '[\'' . $match[2] . '\']' : '$this->_tpldata[\'DEFINE\'][\'.\'][\'' . $match[2] . '\']') . ' = ' . $match[4] . ';';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compile INC tags
|
||||
* @access private
|
||||
*/
|
||||
function compile_tag_counter($tag_args)
|
||||
{
|
||||
preg_match('#^\$(?=[A-Z])([A-Z0-9_\-]*)$#', $tag_args, $match);
|
||||
if (empty($match[1]))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
return 'echo $this->_tpldata[\'DEFINE\'][\'.\'][\'' . $match[1] . '\']++';
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile INCLUDE tag
|
||||
* @access private
|
||||
|
|
Loading…
Add table
Reference in a new issue