Subversion-Projekte lars-tiefland.ci

Revision

Revision 2074 | Revision 2252 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

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