Subversion-Projekte lars-tiefland.ci

Revision

Revision 1558 | Revision 1983 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1251 lars 1
	<?php
851 lars 2
 
3
/**
4
 *
5
 * @package WebanOS CI
6
 * @author Lars Tiefland <ltiefland@gmail.com>
7
 * @copyright 2016
8
 * @version $Rev: 1982 $
9
 */
10
 
11
class Weban_backend
12
{
13
	public function __construct()
14
	{
1982 lars 15
		$csrf_name = $CI->security->get_csrf_token_name();
16
		$csrf_value = $CI->security->get_csrf_hash();
928 lars 17
		if (!isset($_SESSION['username']))
18
		{
929 lars 19
			if (!isset($_SESSION["redirected"]))
20
			{
21
				$_SESSION["redirected"] = true;
22
				header("Location:/backend/Login/");
23
				exit;
24
			}
1232 lars 25
			return;
928 lars 26
		}
851 lars 27
		$CI = &get_instance();
939 lars 28
		$CI->smarty->assign('csrf_name', $csrf_name);
29
		$CI->smarty->assign('csrf_value', $csrf_value);
851 lars 30
		$web_rechte = array();
871 lars 31
		$user_rechte = array();
1220 lars 32
		$CI->load->model('termine_model', 'termine');
33
		$termine = $CI->termine->get_list();
34
		$CI->smarty->assign('termine', $termine);
851 lars 35
		$sql = "SELECT
883 lars 36
				*
37
			FROM
38
				webs
39
			WHERE
40
				domain='".__SHOP__."'
41
		";
42
		$res = $GLOBALS["db_red"]->query($sql);
43
		$GLOBALS["webs"] = $res->row_array();
1558 lars 44
		$base = $_SERVER["DOCUMENT_ROOT"]."/backend/css";
1555 lars 45
		$extra = "/".__SHOP__."/";
46
		$file = "jquery-ui.custom.css";
47
		$css_file = $base.$extra.$file;
48
		if (!file_exists($css_file))
49
		{
1557 lars 50
			$extra = "/start/";
1555 lars 51
		}
1558 lars 52
		$css_file = "/backend/css".$extra.$file;
1556 lars 53
		$CI->smarty->assign("jquery_ui_css", $css_file);
1005 lars 54
		$CI->smarty->assign("webs", $GLOBALS["webs"]);
883 lars 55
 
56
		$sql = "SELECT
851 lars 57
				modules.interner_name AS m_name,
58
				tools.button_name AS t_name,
59
				properties.interner_name AS p_name,
1250 lars 60
				webs_properties.Bezeichnung,
61
				filename
851 lars 62
			FROM
63
				webs,
64
		        webs_properties,
65
		        properties,
66
		        tools,
67
		        modules
68
		    WHERE
69
		        webs.domain='".__SHOP__."'
70
		    AND
71
		        webs_properties.webs=webs.ID
72
		    AND
73
		        webs_properties.properties=properties.ID
74
		    AND
75
		        properties.tools = tools.ID
76
		    AND
77
		        tools.modules = modules.ID
78
		    ORDER BY
79
		        properties.Rang
80
		";
81
 
82
		$result = $GLOBALS["db_red"]->query($sql);
83
		while ($zeile = $result->unbuffered_row('array'))
84
		{
85
			//var_dump($zeile);
86
			//exit;
87
			if (!$zeile["Bezeichnung"])
88
			{
89
				$zeile["Bezeichnung"] = "";
90
			}
91
			$zeile["Bezeichnung"] = explode("|", $zeile["Bezeichnung"]);
92
 
93
			if (count($zeile["Bezeichnung"]) == 1)
94
			{
95
				$zeile["Bezeichnung"] = $zeile["Bezeichnung"][0];
96
			}
97
 
98
			$web_rechte[$zeile["m_name"]][$zeile["t_name"]][$zeile["p_name"]] = $zeile["Bezeichnung"];
99
		}
100
 
101
		foreach (array_keys($web_rechte) as $a)
102
		{
103
			foreach (array_keys($web_rechte[$a]) as $b)
104
			{
105
				foreach (array_keys($web_rechte[$a][$b]) as $c)
106
				{
107
					if (is_array($web_rechte[$a][$b][$c]))
108
					{
109
						//if (in_array($_SESSION[language], $web_rechte[$a][$b][$c]))
110
						{
111
							$web_rechte[$a][$b][$c] = $web_rechte[$a][$b][$c][array_search($_SESSION["language"],
112
								array_keys($web_rechte["online_shop"]["language"]))];
113
						}
114
						if ($web_rechte[$a][$b][$c] == "./.")
115
						{
116
							unset($web_rechte[$a][$b][$c]);
117
						}
118
					}
119
				}
120
			}
121
		}
122
 
123
		unset($query);
124
		unset($result);
125
		unset($zeile);
126
		$CI->smarty->assign("web_rechte", $web_rechte);
853 lars 127
		if ($CI->session->user_data["user"] == "admin")
128
		{
870 lars 129
			$user_rechte = $web_rechte;
853 lars 130
		}
870 lars 131
		else
132
		{
133
			$sql = "
134
				SELECT
135
					modules.interner_name AS module,
136
					tools.button_name AS tool,
137
					properties.interner_name AS property
138
				FROM
139
					webs,
140
					Access,
141
					webs_properties,
142
					user_properties,
143
					properties,
144
					tools,
145
					modules
146
				WHERE
147
					webs.domain='".__SHOP__."'
148
				AND
149
					webs_properties.webs=webs.ID
150
				AND
151
					webs_properties.properties=properties.ID
152
				AND
1096 lars 153
					Access.user='".$CI->session->user_data["user"]."'
870 lars 154
				AND
155
					user_properties.Access=Access.ID
156
				AND
157
					user_properties.properties=properties.ID
158
				AND
159
					properties.tools = tools.ID
160
				AND
161
					tools.modules = modules.ID
162
			";
163
			$result = $GLOBALS["db_red"]->query($sql);
164
			while ($zeile = $result->unbuffered_row('array'))
165
			{
166
				$user_rechte[$zeile["module"]][$zeile["tool"]][$zeile["property"]] = 1;
167
			}
168
		}
169
		$CI->smarty->assign("user_rechte", $user_rechte);
1250 lars 170
		$query_modules = "SELECT
171
				*
172
			FROM
173
				modules
174
			ORDER BY
175
				rang
176
		";
177
 
178
		$result_modules = $GLOBALS['db_red']->query($query_modules);
179
		while ($zeile_modules = $result_modules->unbuffered_row('array'))
180
		{
181
			$u_tools = array();
182
			if (isset($user_rechte[$zeile_modules["interner_name"]]))
183
			{
184
				$query_tools = "SELECT
185
						*
186
					FROM
187
						tools
188
					WHERE
189
						tools.modules = ".$zeile_modules["ID"]."
190
					AND
191
						tools.hidden='false'
192
					ORDER BY
193
						tools.rang
194
				";
195
 
1252 lars 196
				$result_tools = $GLOBALS['db_red']->query($query_tools);
197
				while ($zeile_tools = $result_tools->unbuffered_row('array'))
1250 lars 198
				{
199
					if (isset($user_rechte[$zeile_modules["interner_name"]][$zeile_tools["button_name"]]))
200
					{
201
						if ($zeile_tools["filename"])
202
						{
203
							$images_Pfad = 'images/navigation/';
204
							$imgsrc = $images_Pfad.'bt_'.$zeile_tools["button_name"].'.gif';
205
							$imgsrc_f2 = $images_Pfad.'bt_'.$zeile_tools["button_name"].'_f2.gif';
206
							$u_tools[] = array(
207
								"ID" => $zeile_tools["ID"],
208
								"image" => $imgsrc,
209
								"image_f2" => $imgsrc_f2,
210
								"filename" => $zeile_tools["filename"],
211
								"name" => $zeile_tools["name"],
1298 lars 212
								"icon" => $zeile_tools["icon"],
1250 lars 213
								);
214
						}
215
					}
216
				}
217
				if ($u_tools)
218
				{
219
					$u_modules[] = array(
220
						"name" => $zeile_modules["name"],
1254 lars 221
						"interner_name" => $zeile_modules["interner_name"],
1250 lars 222
						"ID" => $zeile_modules["ID"],
223
						"count" => count($user_rechte[$zeile_modules["interner_name"]]),
224
						"tools" => $u_tools,
1298 lars 225
						"icon" => $zeile_modules["icon"],
1250 lars 226
						);
227
				}
228
			}
229
		}
1251 lars 230
		$CI->smarty->assign('u_modules', $u_modules);
851 lars 231
		$GLOBALS["web_rechte"] = $web_rechte;
870 lars 232
		$GLOBALS["user_rechte"] = $user_rechte;
851 lars 233
	}
234
}
235
 
1232 lars 236
?>