Subversion-Projekte lars-tiefland.ci

Revision

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