Subversion-Projekte lars-tiefland.ci

Revision

Revision 1096 | Revision 1232 | 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: 1220 $
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();
940 lars 25
		$csrf_name = $CI->security->get_csrf_token_name();
941 lars 26
		$csrf_value = $CI->security->get_csrf_hash();
939 lars 27
		$CI->smarty->assign('csrf_name', $csrf_name);
28
		$CI->smarty->assign('csrf_value', $csrf_value);
851 lars 29
		$web_rechte = array();
871 lars 30
		$user_rechte = array();
1220 lars 31
		$CI->load->model('termine_model', 'termine');
32
		$termine = $CI->termine->get_list();
33
		$CI->smarty->assign('termine', $termine);
851 lars 34
		$sql = "SELECT
883 lars 35
				*
36
			FROM
37
				webs
38
			WHERE
39
				domain='".__SHOP__."'
40
		";
41
		$res = $GLOBALS["db_red"]->query($sql);
42
		$GLOBALS["webs"] = $res->row_array();
1005 lars 43
		$CI->smarty->assign("webs", $GLOBALS["webs"]);
883 lars 44
 
45
		$sql = "SELECT
851 lars 46
				modules.interner_name AS m_name,
47
				tools.button_name AS t_name,
48
				properties.interner_name AS p_name,
49
				webs_properties.Bezeichnung
50
			FROM
51
				webs,
52
		        webs_properties,
53
		        properties,
54
		        tools,
55
		        modules
56
		    WHERE
57
		        webs.domain='".__SHOP__."'
58
		    AND
59
		        webs_properties.webs=webs.ID
60
		    AND
61
		        webs_properties.properties=properties.ID
62
		    AND
63
		        properties.tools = tools.ID
64
		    AND
65
		        tools.modules = modules.ID
66
		    ORDER BY
67
		        properties.Rang
68
		";
69
 
70
		$result = $GLOBALS["db_red"]->query($sql);
71
		while ($zeile = $result->unbuffered_row('array'))
72
		{
73
			//var_dump($zeile);
74
			//exit;
75
			if (!$zeile["Bezeichnung"])
76
			{
77
				$zeile["Bezeichnung"] = "";
78
			}
79
			$zeile["Bezeichnung"] = explode("|", $zeile["Bezeichnung"]);
80
 
81
			if (count($zeile["Bezeichnung"]) == 1)
82
			{
83
				$zeile["Bezeichnung"] = $zeile["Bezeichnung"][0];
84
			}
85
 
86
			$web_rechte[$zeile["m_name"]][$zeile["t_name"]][$zeile["p_name"]] = $zeile["Bezeichnung"];
87
		}
88
 
89
		foreach (array_keys($web_rechte) as $a)
90
		{
91
			foreach (array_keys($web_rechte[$a]) as $b)
92
			{
93
				foreach (array_keys($web_rechte[$a][$b]) as $c)
94
				{
95
					if (is_array($web_rechte[$a][$b][$c]))
96
					{
97
						//if (in_array($_SESSION[language], $web_rechte[$a][$b][$c]))
98
						{
99
							$web_rechte[$a][$b][$c] = $web_rechte[$a][$b][$c][array_search($_SESSION["language"],
100
								array_keys($web_rechte["online_shop"]["language"]))];
101
						}
102
						if ($web_rechte[$a][$b][$c] == "./.")
103
						{
104
							unset($web_rechte[$a][$b][$c]);
105
						}
106
					}
107
				}
108
			}
109
		}
110
 
111
		unset($query);
112
		unset($result);
113
		unset($zeile);
114
		$CI->smarty->assign("web_rechte", $web_rechte);
853 lars 115
		if ($CI->session->user_data["user"] == "admin")
116
		{
870 lars 117
			$user_rechte = $web_rechte;
853 lars 118
		}
870 lars 119
		else
120
		{
121
			$sql = "
122
				SELECT
123
					modules.interner_name AS module,
124
					tools.button_name AS tool,
125
					properties.interner_name AS property
126
				FROM
127
					webs,
128
					Access,
129
					webs_properties,
130
					user_properties,
131
					properties,
132
					tools,
133
					modules
134
				WHERE
135
					webs.domain='".__SHOP__."'
136
				AND
137
					webs_properties.webs=webs.ID
138
				AND
139
					webs_properties.properties=properties.ID
140
				AND
1096 lars 141
					Access.user='".$CI->session->user_data["user"]."'
870 lars 142
				AND
143
					user_properties.Access=Access.ID
144
				AND
145
					user_properties.properties=properties.ID
146
				AND
147
					properties.tools = tools.ID
148
				AND
149
					tools.modules = modules.ID
150
			";
151
			$result = $GLOBALS["db_red"]->query($sql);
152
			while ($zeile = $result->unbuffered_row('array'))
153
			{
154
				$user_rechte[$zeile["module"]][$zeile["tool"]][$zeile["property"]] = 1;
155
			}
156
		}
157
		$CI->smarty->assign("user_rechte", $user_rechte);
851 lars 158
		$GLOBALS["web_rechte"] = $web_rechte;
870 lars 159
		$GLOBALS["user_rechte"] = $user_rechte;
851 lars 160
	}
161
}
162
 
163
?>