Subversion-Projekte lars-tiefland.ci

Revision

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