Subversion-Projekte lars-tiefland.ci

Revision

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