Subversion-Projekte lars-tiefland.ci

Revision

Revision 941 | Revision 1220 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

/**
 *
 * @package WebanOS CI
 * @author Lars Tiefland <ltiefland@gmail.com> 
 * @copyright 2016
 * @version $Rev: 1005 $
 */

class Weban_backend
{
        public function __construct()
        {
                if (!isset($_SESSION['username']))
                {
                        if (!isset($_SESSION["redirected"]))
                        {
                                $_SESSION["redirected"] = true;
                                header("Location:/backend/Login/");
                                exit;
                        }
                }
                $CI = &get_instance();
                $csrf_name = $CI->security->get_csrf_token_name();
                $csrf_value = $CI->security->get_csrf_hash();
                $CI->smarty->assign('csrf_name', $csrf_name);
                $CI->smarty->assign('csrf_value', $csrf_value);
                $web_rechte = array();
                $user_rechte = array();
                $sql = "SELECT
                                *
                        FROM
                                webs
                        WHERE
                                domain='".__SHOP__."'
                ";
                $res = $GLOBALS["db_red"]->query($sql);
                $GLOBALS["webs"] = $res->row_array();
                $CI->smarty->assign("webs", $GLOBALS["webs"]);

                $sql = "SELECT
                                modules.interner_name AS m_name,
                                tools.button_name AS t_name,
                                properties.interner_name AS p_name,
                                webs_properties.Bezeichnung
                        FROM
                                webs,
                        webs_properties,
                        properties,
                        tools,
                        modules
                    WHERE
                        webs.domain='".__SHOP__."'
                    AND
                        webs_properties.webs=webs.ID
                    AND
                        webs_properties.properties=properties.ID
                    AND
                        properties.tools = tools.ID
                    AND
                        tools.modules = modules.ID
                    ORDER BY
                        properties.Rang
                ";

                $result = $GLOBALS["db_red"]->query($sql);
                while ($zeile = $result->unbuffered_row('array'))
                {
                        //var_dump($zeile);
                        //exit;
                        if (!$zeile["Bezeichnung"])
                        {
                                $zeile["Bezeichnung"] = "";
                        }
                        $zeile["Bezeichnung"] = explode("|", $zeile["Bezeichnung"]);

                        if (count($zeile["Bezeichnung"]) == 1)
                        {
                                $zeile["Bezeichnung"] = $zeile["Bezeichnung"][0];
                        }

                        $web_rechte[$zeile["m_name"]][$zeile["t_name"]][$zeile["p_name"]] = $zeile["Bezeichnung"];
                }

                foreach (array_keys($web_rechte) as $a)
                {
                        foreach (array_keys($web_rechte[$a]) as $b)
                        {
                                foreach (array_keys($web_rechte[$a][$b]) as $c)
                                {
                                        if (is_array($web_rechte[$a][$b][$c]))
                                        {
                                                //if (in_array($_SESSION[language], $web_rechte[$a][$b][$c]))
                                                {
                                                        $web_rechte[$a][$b][$c] = $web_rechte[$a][$b][$c][array_search($_SESSION["language"],
                                                                array_keys($web_rechte["online_shop"]["language"]))];
                                                }
                                                if ($web_rechte[$a][$b][$c] == "./.")
                                                {
                                                        unset($web_rechte[$a][$b][$c]);
                                                }
                                        }
                                }
                        }
                }

                unset($query);
                unset($result);
                unset($zeile);
                $CI->smarty->assign("web_rechte", $web_rechte);
                if ($CI->session->user_data["user"] == "admin")
                {
                        $user_rechte = $web_rechte;
                }
                else
                {
                        $sql = "
                                SELECT
                                        modules.interner_name AS module,
                                        tools.button_name AS tool,
                                        properties.interner_name AS property
                                FROM
                                        webs,
                                        Access,
                                        webs_properties,
                                        user_properties,
                                        properties,
                                        tools,
                                        modules
                                WHERE
                                        webs.domain='".__SHOP__."'
                                AND
                                        webs_properties.webs=webs.ID
                                AND
                                        webs_properties.properties=properties.ID
                                AND
                                        Access.user='".$CI->session->user_data["name"]."'
                                AND
                                        user_properties.Access=Access.ID
                                AND
                                        user_properties.properties=properties.ID
                                AND
                                        properties.tools = tools.ID
                                AND
                                        tools.modules = modules.ID
                        ";
                        $result = $GLOBALS["db_red"]->query($sql);
                        while ($zeile = $result->unbuffered_row('array'))
                        {
                                $user_rechte[$zeile["module"]][$zeile["tool"]][$zeile["property"]] = 1;
                        }
                }
                $CI->smarty->assign("user_rechte", $user_rechte);
                $GLOBALS["web_rechte"] = $web_rechte;
                $GLOBALS["user_rechte"] = $user_rechte;
        }
}

?>