Subversion-Projekte lars-tiefland.ci

Revision

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