Subversion-Projekte lars-tiefland.ci

Revision

Revision 1028 | Revision 1030 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1026 lars 1
<?php
2
 
3
/**
4
 *
5
 * @package WebanOS CI
6
 * @author Lars Tiefland <ltiefland@gmail.com>
7
 * @copyright 2016
8
 * @version $Rev: 1029 $
9
 */
10
 
1028 lars 11
class User_rechte_model extends CI_Model
1026 lars 12
{
13
	public function __construct()
14
	{
15
		parent::__construct();
16
	}
17
 
18
	public function get_rechte()
19
	{
20
		if ($ID)
21
		{
22
			$sql = "
23
                SELECT
24
                    *
25
                FROM
26
                    user_properties
27
                WHERE
28
                    Access = $ID
29
            ";
30
			$result = $GLOBALS["db_red"]->query($sql);
31
			while ($zeile = $result->row_array())
32
			{
33
				$user_properties[$zeile["properties"]] = 1;
34
			}
35
 
36
			$sql = "
37
                SELECT
38
                    *
39
                FROM
40
                    Access
41
                WHERE
42
                    ID = $ID
43
            ";
44
			$result = $GLOBALS["db_red"]->query($sql);
45
			$zeile = $result->row_array();
46
			list($user_name, $user_site) = explode("@", $zeile["user"]);
47
			$user = $zeile;
48
			$user["site"] = $user_site;
49
			$user["properties"] = $user_properties;
50
		}
1029 lars 51
		$sql = "
1026 lars 52
            SELECT
53
                *
54
            FROM
55
                modules
56
            ORDER by
57
                rang
58
        ";
59
		$result = $GLOBALS["db_red"]->query($sql);
60
		while ($module = $result->row_array())
61
		{
62
			//$module["name"] = html_entity_decode($module["name"]);
63
			if (isset($web_rechte[$module["interner_name"]]))
64
			{
1029 lars 65
				$sql = "
1026 lars 66
                    SELECT
67
                        tools.*
68
                    FROM
69
                        tools
70
                    WHERE
71
                        tools.modules = ".$module["ID"]."
72
                    ORDER BY
73
                        tools.rang
74
				";
75
				$result = $GLOBALS["db_red"]->query($sql);
76
				while ($tool = $result->row_array())
77
				{
78
					//$tool["name"] = ($tool["name"]);
79
					if (isset($web_rechte[$module["interner_name"]][$tool["button_name"]]))
80
					{
1029 lars 81
						$sql = "
1026 lars 82
                            SELECT
83
                                properties.*
84
                            FROM
85
                                properties
86
                            WHERE
87
                                properties.tools = ".$tool["ID"]."
88
                            AND
89
                                hidden = 'false'
90
                            ORDER BY
91
                                properties.rang
92
                        ";
93
						$result = $GLOBALS["db_red"]->query($sql);
94
						while ($property = $result->row_array())
95
						{
96
							//$property["name"] = utf8_encode($property["name"]);
97
							if (isset($web_rechte[$module["interner_name"]][$tool["button_name"]][$property["interner_name"]]))
98
							{
99
								if ($web_rechte[$module["interner_name"]][$tool["button_name"]][$property["interner_name"]])
100
								{
101
									$property["web_name"] = $web_rechte[$module["interner_name"]][$tool["button_name"]][$property["interner_name"]];
102
									if (($property["web_name"]))
103
									{
104
										if (stristr($property["web_name"], ";"))
105
										{
106
											$name = explode(";", $property["web_name"]);
107
											if (stristr($name[0], ":"))
108
											{
109
												$property["name"] = $name[0];
110
											}
111
 
112
										}
113
										elseif ($property["web_name"][strlen($property["web_name"])] == ":")
114
										{
115
											$property["name"] = $property["web_name"];
116
										}
117
									}
118
								}
119
								$tool["properties"][] = $property;
120
							}
121
						}
122
						if (count($tool["properties"]))
123
						{
124
							$module["tools"][] = $tool;
125
						}
126
					}
127
				}
128
				if (count($module["tools"]))
129
				{
130
					$modules[] = $module;
131
				}
132
			}
133
		}
134
		return $modules;
135
	}
136
 
137
	public function get_info($user_id)
138
	{
139
		$sql = "SELECT
140
				*
141
			FROM
142
				Access
143
			WHERE
144
				id=".$user_id."
145
		";
146
		$res = $GLOBALS["db_red"]->query($sql);
147
		$user = $res->row_array();
148
		list($user_local, $domain) = explode("@", $user["user"]);
149
		$user["domain"] = $domain;
150
		$user["local"] = $user_local;
151
		$user["datenquellen"] = unserialize($user["datenquellen"]);
152
		return $user;
153
	}
154
}
155
 
156
?>