Subversion-Projekte lars-tiefland.ci

Revision

Revision 928 | Revision 939 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
851 lars 1
<?php
2
 
3
/**
4
 *
5
 * @package WebanOS CI
6
 * @author Lars Tiefland <ltiefland@gmail.com>
7
 * @copyright 2016
8
 * @version $Rev: 929 $
9
 */
10
 
11
class Weban_backend
12
{
13
	public function __construct()
14
	{
928 lars 15
		if (!isset($_SESSION['username']))
16
		{
929 lars 17
			if (!isset($_SESSION["redirected"]))
18
			{
19
				$_SESSION["redirected"] = true;
20
				header("Location:/backend/Login/");
21
				exit;
22
			}
928 lars 23
		}
851 lars 24
		$CI = &get_instance();
25
		$web_rechte = array();
871 lars 26
		$user_rechte = array();
851 lars 27
		$sql = "SELECT
883 lars 28
				*
29
			FROM
30
				webs
31
			WHERE
32
				domain='".__SHOP__."'
33
		";
34
		$res = $GLOBALS["db_red"]->query($sql);
35
		$GLOBALS["webs"] = $res->row_array();
36
 
37
		$sql = "SELECT
851 lars 38
				modules.interner_name AS m_name,
39
				tools.button_name AS t_name,
40
				properties.interner_name AS p_name,
41
				webs_properties.Bezeichnung
42
			FROM
43
				webs,
44
		        webs_properties,
45
		        properties,
46
		        tools,
47
		        modules
48
		    WHERE
49
		        webs.domain='".__SHOP__."'
50
		    AND
51
		        webs_properties.webs=webs.ID
52
		    AND
53
		        webs_properties.properties=properties.ID
54
		    AND
55
		        properties.tools = tools.ID
56
		    AND
57
		        tools.modules = modules.ID
58
		    ORDER BY
59
		        properties.Rang
60
		";
61
 
62
		$result = $GLOBALS["db_red"]->query($sql);
63
		while ($zeile = $result->unbuffered_row('array'))
64
		{
65
			//var_dump($zeile);
66
			//exit;
67
			if (!$zeile["Bezeichnung"])
68
			{
69
				$zeile["Bezeichnung"] = "";
70
			}
71
			$zeile["Bezeichnung"] = explode("|", $zeile["Bezeichnung"]);
72
 
73
			if (count($zeile["Bezeichnung"]) == 1)
74
			{
75
				$zeile["Bezeichnung"] = $zeile["Bezeichnung"][0];
76
			}
77
 
78
			$web_rechte[$zeile["m_name"]][$zeile["t_name"]][$zeile["p_name"]] = $zeile["Bezeichnung"];
79
		}
80
 
81
		foreach (array_keys($web_rechte) as $a)
82
		{
83
			foreach (array_keys($web_rechte[$a]) as $b)
84
			{
85
				foreach (array_keys($web_rechte[$a][$b]) as $c)
86
				{
87
					if (is_array($web_rechte[$a][$b][$c]))
88
					{
89
						//if (in_array($_SESSION[language], $web_rechte[$a][$b][$c]))
90
						{
91
							$web_rechte[$a][$b][$c] = $web_rechte[$a][$b][$c][array_search($_SESSION["language"],
92
								array_keys($web_rechte["online_shop"]["language"]))];
93
						}
94
						if ($web_rechte[$a][$b][$c] == "./.")
95
						{
96
							unset($web_rechte[$a][$b][$c]);
97
						}
98
					}
99
				}
100
			}
101
		}
102
 
103
		unset($query);
104
		unset($result);
105
		unset($zeile);
106
		$CI->smarty->assign("web_rechte", $web_rechte);
853 lars 107
		if ($CI->session->user_data["user"] == "admin")
108
		{
870 lars 109
			$user_rechte = $web_rechte;
853 lars 110
		}
870 lars 111
		else
112
		{
113
			$sql = "
114
				SELECT
115
					modules.interner_name AS module,
116
					tools.button_name AS tool,
117
					properties.interner_name AS property
118
				FROM
119
					webs,
120
					Access,
121
					webs_properties,
122
					user_properties,
123
					properties,
124
					tools,
125
					modules
126
				WHERE
127
					webs.domain='".__SHOP__."'
128
				AND
129
					webs_properties.webs=webs.ID
130
				AND
131
					webs_properties.properties=properties.ID
132
				AND
872 lars 133
					Access.user='".$CI->session->user_data["name"]."'
870 lars 134
				AND
135
					user_properties.Access=Access.ID
136
				AND
137
					user_properties.properties=properties.ID
138
				AND
139
					properties.tools = tools.ID
140
				AND
141
					tools.modules = modules.ID
142
			";
143
			$result = $GLOBALS["db_red"]->query($sql);
144
			while ($zeile = $result->unbuffered_row('array'))
145
			{
146
				$user_rechte[$zeile["module"]][$zeile["tool"]][$zeile["property"]] = 1;
147
			}
148
		}
149
		$CI->smarty->assign("user_rechte", $user_rechte);
851 lars 150
		$GLOBALS["web_rechte"] = $web_rechte;
870 lars 151
		$GLOBALS["user_rechte"] = $user_rechte;
851 lars 152
	}
153
}
154
 
155
?>