Subversion-Projekte lars-tiefland.ci

Revision

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