Refactor assign_block_var to use the same block selection mechanism
as is used in alter_block_array. This allows creating new blocks
at any position in the template structure, not only on the last block.
Allows selecting a block as outer[2].middle.
Added tests. Added PHP 7.2 compatibility.
PHPBB3-14994
Refactor assign_block_var to use the same block selection mechanism
as is used in alter_block_array. This allows creating new blocks
at any position in the template structure, not only on the last block.
Allows selecting a block as outer[2].middle.
Added tests. Added PHP 7.2 compatibility.
PHPBB3-14994
Refactor assign_block_var to use the same block selection mechanism
as is used in alter_block_array. This allows creating new blocks
at any position in the template structure, not only on the last block.
Allows selecting a block as outer[2].middle.
PHPBB3-14994
Adds a new function to the template interface, and implements it in the
context class. The function returns the ordinal index for a specified key,
with the same structure that the key for alter_block_array.
Reuses same code. Remove unneeded references, do nothing for int keys.
Check out of bounds or wrong blockname errors. Added tests.
Remove default parameter value.
PHPBB3-14944
Adds a new mode to alter_block_array to allow for the deletion of
a certain block of template variables. The selection method is the
same as for the other modes for alter_block_array. The passed in
vararray is ignored, and an out of bounds index is considered an error.
Added tests for the new function, fixed.
PHPBB3-14950
Allows inserting elements in a loop specified as 'outer[3].inner'.
This was coded, but malfunctioning. Name incorrectly set on insert.
If block was empty, the insertion process should create it.
Checking for out of bounds indexes.
PHPBB3-14943
Adds a new function to the template interface, and implements it in the
context class. The function returns the ordinal index for a specified key,
with the same structure that the key for alter_block_array.
Reuses same code. Remove unneeded references, do nothing for int keys.
Check out of bounds or wrong blockname errors. Added tests.
PHPBB3-14944
Adds a new mode to alter_block_array to allow for the deletion of
a certain block of template variables. The selection method is the
same as for the other modes for alter_block_array. The passed in
vararray is ignored, and an out of bounds index is considered an error.
PHPBB3-14944
Adds a new function to the template interface, and implements it in the
context class. The function returns the ordinal index for a specified key,
with the same structure that the key for alter_block_array.
Reuses same code. Remove unneeded references, do nothing for int keys.
PHPBB3-14944
Adds a new function to the template interface, and implements it in the
context class. The function returns the ordinal index for a specified key,
with the same structure that the key for alter_block_array.
Reuses same code.
PHPBB3-14944
We do not set S_NUM_ROWS while adding a row, to reduce the complexity
If we would set it on adding, each subsequent adding would cause
n modifications, resulting in a O(n!) complexity, rather then O(n)
PHPBB3-12892
The size of the template block array is calculated within a foreach loop
iterating through the array, which is unnecessary. It only needs to be done
once. In a block of 1000 rows, this results in
500,500 calls to sizeof() in this location. With this change, that's reduced to
1000.
PHPBB3-12232
Add one more wrapper template method for the function assign_block_vars() which
takes a 2-dimensional array as a parameter
and calls assign_block_vars() in a loop to assign the whole block loop at once.
This can make the core a little bit more expendable from the point of
developing extensions as it allows to pass the data to events before
it's being assigned to template.
PHPBB3-12224