mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-21 14:59:46 +02:00
[ticket/10752] Pass-by-reference fix for acp_styles
Fixing pass-by-reference bug in acp_styles PHPBB3-10752
This commit is contained in:
parent
7c99525b98
commit
e558a3cb05
@ -567,7 +567,7 @@ class acp_styles
|
|||||||
$this->template->assign_var('STYLES_LIST_COLS', $this->styles_list_cols);
|
$this->template->assign_var('STYLES_LIST_COLS', $this->styles_list_cols);
|
||||||
|
|
||||||
// Show styles list
|
// Show styles list
|
||||||
$this->show_styles_list(&$styles, 0, 0);
|
$this->show_styles_list($styles, 0, 0);
|
||||||
|
|
||||||
// Show styles with invalid inherits_id
|
// Show styles with invalid inherits_id
|
||||||
foreach ($styles as $style)
|
foreach ($styles as $style)
|
||||||
@ -643,8 +643,8 @@ class acp_styles
|
|||||||
}
|
}
|
||||||
if (!$has_parent)
|
if (!$has_parent)
|
||||||
{
|
{
|
||||||
$this->list_style(&$style, 0);
|
$this->list_style($style, 0);
|
||||||
$this->show_available_child_styles(&$styles, $style['style_name'], 1);
|
$this->show_available_child_styles($styles, $style['style_name'], 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -763,14 +763,14 @@ class acp_styles
|
|||||||
* @param int $parent parent style id
|
* @param int $parent parent style id
|
||||||
* @param int $level style inheritance level
|
* @param int $level style inheritance level
|
||||||
*/
|
*/
|
||||||
function show_styles_list($styles, $parent, $level)
|
function show_styles_list(&$styles, $parent, $level)
|
||||||
{
|
{
|
||||||
foreach ($styles as &$style)
|
foreach ($styles as &$style)
|
||||||
{
|
{
|
||||||
if (empty($style['_shown']) && $style['style_parent_id'] == $parent)
|
if (empty($style['_shown']) && $style['style_parent_id'] == $parent)
|
||||||
{
|
{
|
||||||
$this->list_style(&$style, $level);
|
$this->list_style($style, $level);
|
||||||
$this->show_styles_list(&$styles, $style['style_id'], $level + 1);
|
$this->show_styles_list($styles, $style['style_id'], $level + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -782,14 +782,14 @@ class acp_styles
|
|||||||
* @param string $name Name of parent style
|
* @param string $name Name of parent style
|
||||||
* @param string $level Styles tree level
|
* @param string $level Styles tree level
|
||||||
*/
|
*/
|
||||||
function show_available_child_styles($styles, $name, $level)
|
function show_available_child_styles(&$styles, $name, $level)
|
||||||
{
|
{
|
||||||
foreach ($styles as &$style)
|
foreach ($styles as &$style)
|
||||||
{
|
{
|
||||||
if (empty($style['_shown']) && $style['_inherit_name'] == $name)
|
if (empty($style['_shown']) && $style['_inherit_name'] == $name)
|
||||||
{
|
{
|
||||||
$this->list_style(&$style, $level);
|
$this->list_style($style, $level);
|
||||||
$this->show_available_child_styles(&$styles, $style['style_name'], $level + 1);
|
$this->show_available_child_styles($styles, $style['style_name'], $level + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -801,7 +801,7 @@ class acp_styles
|
|||||||
* @param array $style Current style, false if root
|
* @param array $style Current style, false if root
|
||||||
* @returns true if something was updated, false if not
|
* @returns true if something was updated, false if not
|
||||||
*/
|
*/
|
||||||
function update_styles_tree($styles, $style = false)
|
function update_styles_tree(&$styles, $style = false)
|
||||||
{
|
{
|
||||||
$parent_id = ($style === false) ? 0 : $style['style_id'];
|
$parent_id = ($style === false) ? 0 : $style['style_id'];
|
||||||
$parent_tree = ($style === false) ? '' : ($style['style_parent_tree'] == '' ? '' : $style['style_parent_tree']) . $style['style_path'];
|
$parent_tree = ($style === false) ? '' : ($style['style_parent_tree'] == '' ? '' : $style['style_parent_tree']) . $style['style_path'];
|
||||||
@ -816,7 +816,7 @@ class acp_styles
|
|||||||
$row['style_parent_tree'] = $parent_tree;
|
$row['style_parent_tree'] = $parent_tree;
|
||||||
$update = true;
|
$update = true;
|
||||||
}
|
}
|
||||||
$updated |= $this->update_styles_tree(&$styles, $row);
|
$updated |= $this->update_styles_tree($styles, $row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($update)
|
if ($update)
|
||||||
@ -866,7 +866,7 @@ class acp_styles
|
|||||||
* @param array $style style row
|
* @param array $style style row
|
||||||
* @param array $level style inheritance level
|
* @param array $level style inheritance level
|
||||||
*/
|
*/
|
||||||
function list_style($style, $level)
|
function list_style(&$style, $level)
|
||||||
{
|
{
|
||||||
// Mark row as shown
|
// Mark row as shown
|
||||||
if (!empty($style['_shown'])) return;
|
if (!empty($style['_shown'])) return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user