protected function update_styles_tree(&$styles, $style = false)
{
$parent_id = $style === false ? 0 : $style['style_id'];
$parent_tree = $style === false ? '' : ($style['style_parent_tree'] == '' ? '' : $style['style_parent_tree']) . $style['style_path'];
$update = false;
$updated = false;
foreach ($styles as &$row) {
if ($row['style_parent_id'] == $parent_id) {
if ($row['style_parent_tree'] != $parent_tree) {
$row['style_parent_tree'] = $parent_tree;
$update = true;
}
$updated |= $this->update_styles_tree($styles, $row);
}
}
if ($update) {
$sql = 'UPDATE ' . STYLES_TABLE . "\n\t\t\t\tSET style_parent_tree = '" . $this->db->sql_escape($parent_tree) . "'\n\t\t\t\tWHERE style_parent_id = {$parent_id}";
$this->db->sql_query($sql);
$updated = true;
}
return $updated;
}