ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilECSUser.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
35 class ilECSUser
36 {
37  protected $source;
38 
39  public $login;
40  public $email;
41  public $firstname;
42  public $lastname;
43  public $institution;
44  public $uid_hash;
45 
52  public function __construct($a_data)
53  {
54  $this->source = $a_data;
55  if (is_object($a_data)) {
56  $this->loadFromObject();
57  } elseif (is_array($a_data)) {
58  $this->loadFromGET();
59  } else {
60  $this->loadFromJSON();
61  }
62  }
63 
70  public function getLogin()
71  {
72  return $this->login;
73  }
74 
81  public function getFirstname()
82  {
83  return $this->firstname;
84  }
85 
91  public function getLastname()
92  {
93  return $this->lastname;
94  }
95 
101  public function getEmail()
102  {
103  return $this->email;
104  }
111  public function getInstitution()
112  {
113  return $this->institution;
114  }
115 
122  public function getImportId()
123  {
124  return $this->uid_hash;
125  }
126 
133  public function loadFromObject()
134  {
135  global $ilSetting;
136 
137  $this->login = $this->source->getLogin();
138  $this->firstname = $this->source->getFirstname();
139  $this->lastname = $this->source->getLastname();
140  $this->email = $this->source->getEmail();
141  $this->institution = $this->source->getInstitution();
142 
143  $this->uid_hash = 'il_' . $ilSetting->get('inst_id', 0) . '_usr_' . $this->source->getId();
144  }
145 
152  public function loadFromJSON()
153  {
154  $this->source = json_decode(urldecode($this->source));
155 
156  $this->login = $this->source->login();
157  $this->firstname = $this->source->firstname();
158  $this->lastname = $this->source->lastname();
159  $this->email = $this->source->email();
160  $this->institution = $this->source->institution();
161 
162  $this->uid_hash = $this->source->uid_hash;
163  }
164 
171  public function loadFromGET()
172  {
173  $this->login = ilUtil::stripSlashes(urldecode($_GET['ecs_login']));
174  $this->firstname = ilUtil::stripSlashes(urldecode($_GET['ecs_firstname']));
175  $this->lastname = ilUtil::stripSlashes(urldecode($_GET['ecs_lastname']));
176  $this->email = ilUtil::stripSlashes(urldecode($_GET['ecs_email']));
177  $this->institution = ilUtil::stripSlashes(urldecode($_GET['ecs_institution']));
178 
179  if ($_GET['ecs_uid_hash']) {
180  $this->uid_hash = ilUtil::stripSlashes(urldecode($_GET['ecs_uid_hash']));
181  } elseif ($_GET['ecs_uid']) {
182  $this->uid_hash = ilUtil::stripSlashes(urldecode($_GET['ecs_uid']));
183  }
184  }
185 
193  public function toJSON()
194  {
195  return urlencode(json_encode($this));
196  }
197 
204  public function toGET()
205  {
206  return '&ecs_login=' . urlencode((string) $this->login) .
207  '&ecs_firstname=' . urlencode((string) $this->firstname) .
208  '&ecs_lastname=' . urlencode((string) $this->lastname) .
209  '&ecs_email=' . urlencode((string) $this->email) .
210  '&ecs_institution=' . urlencode((string) $this->institution) .
211  '&ecs_uid_hash=' . urlencode((string) $this->uid_hash);
212  '&ecs_uid=' . urlencode((string) $this->uid_hash);
213  }
214 
219  public function toREALM()
220  {
221  return
222  (string) $this->login . '' .
223  (string) $this->firstname . '' .
224  (string) $this->lastname . '' .
225  (string) $this->email . '' .
226  (string) $this->institution . '' .
227  (string) $this->uid_hash;
228  }
229 }
Add rich text string
getFirstname()
get firstname
toJSON()
public
$_GET["client_id"]
loadFromJSON()
load from json
toGET()
get GET parameter string
toREALM()
Concatenate all attributes to one string.
getLastname()
getLastname
__construct($a_data)
Constructor.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
getEmail()
get email
getLogin()
get login
getImportId()
get Email
loadFromObject()
load from object
global $ilSetting
Definition: privfeed.php:17
loadFromGET()
load user data from GET parameters
getInstitution()
get institution
Stores relevant user data.