Subversion-Projekte lars-tiefland.ci

Revision

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