acp_styles::update_styles_tree PHP Method

update_styles_tree() protected method

Update styles tree
protected update_styles_tree ( array &$styles, array | false $style = false ) : boolean
$styles array Styles list, passed as reference
$style array | false Current style, false if root
return boolean True if something was updated, false if not
    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;
    }