Commit 4cc2036fafd62bc90d237a437346915e44cd692e

Authored by Michael Joseph
1 parent 77834f5f

reformatted


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1127 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 417 additions and 425 deletions
lib/users/User.inc
@@ -9,407 +9,402 @@ @@ -9,407 +9,402 @@
9 */ 9 */
10 10
11 class User { 11 class User {
12 -  
13 - /** object primary key */  
14 - var $iId;  
15 - /** user's login name */  
16 - var $sUserName;  
17 - /** user's name (first and last) */  
18 - var $sName;  
19 - /** user's password */  
20 - var $sPassword;  
21 - /** user's maximum allowed file storage quota in bytes */  
22 - var $iQuotaMax;  
23 - /** user's current file storage quota in bytes */  
24 - var $iQuotaCurrent;  
25 - /** user's email address */  
26 - var $sEmail;  
27 - /** user's mobile phone number */  
28 - var $sMobile;  
29 - /** notify user by mail status */  
30 - var $bEmailNotification;  
31 - /** notify user via sms (mobile phone) status */  
32 - var $bSmsNotification;  
33 - /** user's ldap identification */  
34 - var $sLdapDn;  
35 - /** maxiumum concurrent sessions user may have */  
36 - var $iMaxSessions;  
37 - /** primary key of language preferred by user */  
38 - var $iLanguageID;  
39 - /** internal variable used to determine if the password has changed or not */  
40 - var $bPasswordChanged;  
41 -  
42 - function User($sNewUserName, $sNewName, $sNewPassword, $iNewQuotaMax, $sNewEmail, $sNewMobile, $bNewEmailNotification, $bNewSmsNotification, $sNewLdapDn, $iNewMaxSessions, $iNewLanguageID) {  
43 - //object not created in database yet  
44 - $this->iId = -1;  
45 - $this->sUserName = $sNewUserName;  
46 - $this->sName = $sNewName;  
47 - $this->sPassword = $sNewPassword;  
48 - $this->iQuotaMax = $iNewQuotaMax;  
49 - $this->sEmail = $sNewEmail;  
50 - $this->sMobile = $sNewMobile;  
51 - $this->bEmailNotification = $bNewEmailNotification;  
52 - $this->bSmsNotification = $bNewSmsNotification;  
53 - $this->sLdapDn = $sNewLdapDn;  
54 - $this->iMaxSessions = $iNewMaxSessions;  
55 - $this->iLanguageID = $iNewLanguageID;  
56 - $this->bPasswordChanged = false;  
57 - }  
58 -  
59 - /**  
60 - * Get the object's primary key  
61 - *  
62 - * @return int object's primary key  
63 - *  
64 - */  
65 - function getID() {  
66 - return $this->iId;  
67 - }  
68 -  
69 - /**  
70 - * Get the user's login name  
71 - *  
72 - * @return String user's login name  
73 - *  
74 - */  
75 - function getUserName() {  
76 - return $this->sUserName;  
77 - }  
78 -  
79 - /**  
80 - * Set the user's login name  
81 - *  
82 - * @param String New user login name  
83 - *  
84 - */  
85 - function setUserName($sNewValue) {  
86 - $this->sUserName = $sNewValue;  
87 - }  
88 -  
89 - /**  
90 - * Set the user's password  
91 - *  
92 - * @param String New user password  
93 - *  
94 - */  
95 - function setPassword($sNewValue) {  
96 - $this->sPassword = $sNewValue;  
97 - $this->bPasswordChanged = true;  
98 - }  
99 -  
100 - /**  
101 - * Get the user's maximum disk quota  
102 - *  
103 - * @return int user's maximum disk quota  
104 - *  
105 - */  
106 - function getQuotaMax() {  
107 - return $this->iQuotaMax;  
108 - }  
109 -  
110 - /**  
111 - * Set the user's maximum disk quota  
112 - *  
113 - * @param int User's maximum disk quota in bytes  
114 - *  
115 - */  
116 - function setQuotaMax($iNewValue) {  
117 - $this->iQuotaMax = $iNewValue;  
118 - }  
119 -  
120 - function getName() {  
121 - return $this->sName;  
122 - }  
123 -  
124 - /**  
125 - * Get the user's currrently used quota  
126 - *  
127 - * @return int user's currently used quota  
128 - *  
129 - */  
130 - function getQuotaCurrent() {  
131 - return $this->iQuotaCurrent;  
132 - }  
133 -  
134 - /**  
135 - * Get the user's email address  
136 - *  
137 - * @return String user's email address  
138 - *  
139 - */  
140 - function getEmail() {  
141 - return $this->sEmail;  
142 - }  
143 -  
144 - /**  
145 - * Set the user's email address  
146 - *  
147 - * @param String User's email address  
148 - *  
149 - */  
150 - function setEmail($sNewValue) {  
151 - $this->sEmail = $sNewValue;  
152 - }  
153 -  
154 - /**  
155 - * Get the user's mobile phone number  
156 - *  
157 - * @return String user's mobile phone number  
158 - *  
159 - */  
160 - function getMobile() {  
161 - return $this->sMobile;  
162 - }  
163 -  
164 - /**  
165 - * Set the user's mobile phone number  
166 - *  
167 - * @param String User's mobile phone number  
168 - *  
169 - */  
170 - function setMobile($sNewValue) {  
171 - $this->sMobile = $sNewValue;  
172 - }  
173 -  
174 - /**  
175 - * Get the user's email notification status  
176 - *  
177 - * @return boolean user's email notification status  
178 - *  
179 - */  
180 - function getEmailNotification() {  
181 - return $this->bEmailNotification;  
182 - }  
183 -  
184 - /**  
185 - * Set the user's email notification status  
186 - *  
187 - * @param boolean User's email notification status (notify by email)  
188 - *  
189 - */  
190 - function setEmailNotification($bNewValue) {  
191 - $this->bEmailNotification = $bNewValue;  
192 - }  
193 -  
194 - /**  
195 - * Get the user's SMS (mobile phone) notification status  
196 - *  
197 - * @return boolean SMS (mobile phone) notification status  
198 - *  
199 - */  
200 - function getSmsNotification() {  
201 - return $this->bSmsNotification;  
202 - }  
203 -  
204 - /**  
205 - * Set the user's SMS (mobile phone) notification status  
206 - *  
207 - * @param boolean User's SMS (mobile phone) notification status (notify by mobile phone)  
208 - *  
209 - */  
210 - function setSmsNotification($bNewValue) {  
211 - $this->bSmsNotification = $bNewValue;  
212 - }  
213 -  
214 - /**  
215 - * Get the user's LDAP distinguished name  
216 - *  
217 - * @return String user's LDAP distinguished name  
218 - *  
219 - */  
220 - function getLdapDn() {  
221 - return $this->sLdapDn;  
222 - }  
223 -  
224 - /**  
225 - * Set the user's LDAP distinguished name  
226 - *  
227 - * @param String User's LDAP distinguished name  
228 - *  
229 - */  
230 - function setLdapDn($sNewValue) {  
231 - $this->sLdapDn = $sNewValue;  
232 - }  
233 -  
234 - /**  
235 - * Get the user's maximum number of concurrent sessions  
236 - *  
237 - * @return int user's maximum number of concurrent sessions  
238 - *  
239 - */  
240 - function getMaxSessions() {  
241 - return $this->iMaxSessions;  
242 - }  
243 -  
244 - /**  
245 - * Set the user's maximum number of concurrent sessions  
246 - *  
247 - * @param int User's maximum number of concurrent sessions  
248 - *  
249 - */  
250 - function setMaxSessions($iNewValue) {  
251 - $this->iMaxSessions = $iNewValue;  
252 - }  
253 -  
254 - /**  
255 - * Get the primary key for the language preferred by the user  
256 - *  
257 - * @return int primary key of language preferred by user  
258 - *  
259 - */  
260 - function getLanguageID() {  
261 - return $this->iLanguageIDID;  
262 - }  
263 -  
264 - /**  
265 - * Set the primary key of the language preferred by the user  
266 - *  
267 - * @param int Primary key of language preferred by user  
268 - *  
269 - */  
270 - function setLanguageID($iNewValue) {  
271 - $this->iLanguageIDID = $iNewValue;  
272 - }  
273 -  
274 - /**  
275 - * Create the current object in the database  
276 - *  
277 - * @return boolean on successful store, false otherwise and set $_SESSION["errorMessage"]  
278 - *  
279 - */  
280 - function create() {  
281 - global $default, $lang_err_database, $lang_err_object_exists;  
282 - //if the object hasn't been created  
283 - if ($this->iId < 0)  
284 - {  
285 - //check to see if name exsits  
286 - $sql = $default->db;  
287 - $query = "SELECT username FROM ". $default->owl_users_table ." WHERE username = '" . $this->sUserName . "'";  
288 - $sql->query($query);  
289 - $rows = $sql->num_rows($sql);  
290 -  
291 - if ($rows > 0)  
292 - {  
293 - // duplicate username  
294 - $_SESSION["errorMessage"] = "User::The username " . $this->sUserName . " is already in use!";  
295 - return false;  
296 - }  
297 -  
298 - else  
299 - {  
300 - $result = $sql->query("INSERT INTO " . $default->owl_users_table . " (username, name, password, quota_max, quota_current, email, mobile, email_notification, sms_notification, ldap_dn, max_sessions, language_id) " .  
301 - "VALUES ('" . addslashes($this->sUserName) . "', '" . addslashes($this->sName) . "', '" . addslashes(md5($this->sPassword)) . "', $this->iQuotaMax, 0, '" . addslashes($this->sEmail) . "', '" . addslashes($this->sMobile) . "', " . ($this->bEmailNotification ? 1 : 0) . ", " . ($this->bSmsNotification ? 1 : 0) . ", '" . addslashes($this->sLdapDn) . "', $this->iMaxSessions, $this->iLanguageID)");  
302 - if ($result)  
303 - {  
304 - $this->iId = $sql->insert_id();  
305 - return true;  
306 - }  
307 - $_SESSION["errorMessage"] = $lang_err_database;  
308 - return false;  
309 - }  
310 - }  
311 - $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iId . " table = $default->owl_users_table";  
312 - return false;  
313 - }  
314 -  
315 - /**  
316 - * Update the values in the database table with the object's current values  
317 - *  
318 - * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"]  
319 - *  
320 - */  
321 - function update() {  
322 - global $default, $lang_err_database, $lang_err_object_key;  
323 - //only update if the object has been stored  
324 - if ($this->iId > 0) {  
325 - $sql = $default->db;  
326 - $result = $sql->query("UPDATE " . $default->owl_users_table . " SET username = '" . addslashes($this->sUserName) . "', name = '" . addslashes($this->sName) . "', " . ($this->bPasswordChanged ? "password = '" . addslashes(md5($this->sPassword)) . "', " : " ") . " quota_max = $this->iQuotaMax, email = '" . addslashes($this->sEmail) . "', mobile = '" . addslashes($this->sMobile) . "', email_notification = " . ($this->bEmailNotification ? 1 : 0) . ", sms_notification = " . ($this->bSmsNotification ? 1 : 0) . ", ldap_dn = '" . addslashes($this->sLdapDn) . "', max_sessions = $this->iMaxSessions, language_id = $this->iLanguageID WHERE id = $this->iId");  
327 - if ($result) {  
328 - return true;  
329 - }  
330 - $_SESSION["errorMessage"] = $lang_err_database;  
331 - return false;  
332 - }  
333 - $_SESSION["errorMessage"] = $lang_err_object_key;  
334 - return false;  
335 - }  
336 -  
337 - /**  
338 - * Delete the current object from the database  
339 - *  
340 - * @return boolean true on successful deletion, false otherwise and set $_SESSION["errorMessage"]  
341 - *  
342 - */  
343 - function delete() {  
344 - global $default, $lang_err_database, $lang_err_object_key;  
345 - //only delete the object if it exists in the database  
346 - if ($this->iId >= 0) {  
347 - $sql = $default->db;  
348 - $result = $sql->query("DELETE FROM $default->owl_users_table WHERE id = $this->iId");  
349 - if ($result) {  
350 - return true;  
351 - }  
352 - $_SESSION["errorMessage"] = $lang_err_database;  
353 - return false;  
354 - }  
355 - $_SESSION["errorMessage"] = $lang_err_object_key;  
356 - return false;  
357 - }  
358 -  
359 - /**  
360 - * Static function.  
361 - * Given a web_documents primary key it will create a  
362 - * User object and populate it with the  
363 - * corresponding database values  
364 - *  
365 - * @return User populated User object on successful query, false otherwise and set $_SESSION["errorMessage"]  
366 - */  
367 - function & get($iUserID) {  
368 - global $default;  
369 - $sql = $default->db;  
370 - $result = $sql->query("SELECT * FROM $default->owl_users_table WHERE id = $iUserID");  
371 - if ($result) {  
372 - if ($sql->next_record()) {  
373 - $oUser = & new User(stripslashes($sql->f("username")), stripslashes($sql->f("name")), stripslashes($sql->f("password")), $sql->f("quota_max"), stripslashes($sql->f("email")), stripslashes($sql->f("mobile")), $sql->f("email_notification"), $sql->f("sms_notification"), $sql->f("ldap_dn"), $sql->f("max_sessions"), $sql->f("language_id"));  
374 - $oUser->iId = $iUserID;  
375 - return $oUser;  
376 - }  
377 - $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iUserID . " table = $default->owl_users_table";  
378 - return false;  
379 - }  
380 - $_SESSION["errorMessage"] = $lang_err_database;  
381 - return false;  
382 - }  
383 -  
384 - /**  
385 - * Static function  
386 - * Get a list of users  
387 - *  
388 - * @param String Where clause (not required)  
389 - *  
390 - * @return Array array of User objects, false otherwise and set $_SESSION["errorMessage"]  
391 - */  
392 - function getList($sWhereClause = null) {  
393 - global $default, $lang_err_database;  
394 - $aUserArray;  
395 - settype($aUserArray, "array");  
396 - $sql = $default->db;  
397 - $result = $sql->query("SELECT * FROM " . $default->owl_users_table . (isset($sWhereClause) ? " " . $sWhereClause : ""));  
398 - if ($result) {  
399 - $iCount = 0;  
400 - while ($sql->next_record()) {  
401 - $oUser = & User::get($sql->f("id"));  
402 - $oUser->iQuotaCurrent = $sql->f("quota_current");  
403 - $aUserArray[$iCount] = $oUser;  
404 - $iCount++;  
405 - }  
406 - return $aUserArray;  
407 - }  
408 - $_SESSION["errorMessage"] = $lang_err_database;  
409 - return false;  
410 - }  
411 -  
412 - 12 +
  13 + /** object primary key */
  14 + var $iId;
  15 + /** user's login name */
  16 + var $sUserName;
  17 + /** user's name (first and last) */
  18 + var $sName;
  19 + /** user's password */
  20 + var $sPassword;
  21 + /** user's maximum allowed file storage quota in bytes */
  22 + var $iQuotaMax;
  23 + /** user's current file storage quota in bytes */
  24 + var $iQuotaCurrent;
  25 + /** user's email address */
  26 + var $sEmail;
  27 + /** user's mobile phone number */
  28 + var $sMobile;
  29 + /** notify user by mail status */
  30 + var $bEmailNotification;
  31 + /** notify user via sms (mobile phone) status */
  32 + var $bSmsNotification;
  33 + /** user's ldap identification */
  34 + var $sLdapDn;
  35 + /** maxiumum concurrent sessions user may have */
  36 + var $iMaxSessions;
  37 + /** primary key of language preferred by user */
  38 + var $iLanguageID;
  39 + /** internal variable used to determine if the password has changed or not */
  40 + var $bPasswordChanged;
  41 +
  42 + function User($sNewUserName, $sNewName, $sNewPassword, $iNewQuotaMax, $sNewEmail, $sNewMobile, $bNewEmailNotification, $bNewSmsNotification, $sNewLdapDn, $iNewMaxSessions, $iNewLanguageID) {
  43 + //object not created in database yet
  44 + $this->iId = -1;
  45 + $this->sUserName = $sNewUserName;
  46 + $this->sName = $sNewName;
  47 + $this->sPassword = $sNewPassword;
  48 + $this->iQuotaMax = $iNewQuotaMax;
  49 + $this->sEmail = $sNewEmail;
  50 + $this->sMobile = $sNewMobile;
  51 + $this->bEmailNotification = $bNewEmailNotification;
  52 + $this->bSmsNotification = $bNewSmsNotification;
  53 + $this->sLdapDn = $sNewLdapDn;
  54 + $this->iMaxSessions = $iNewMaxSessions;
  55 + $this->iLanguageID = $iNewLanguageID;
  56 + $this->bPasswordChanged = false;
  57 + }
  58 +
  59 + /**
  60 + * Get the object's primary key
  61 + *
  62 + * @return int object's primary key
  63 + *
  64 + */
  65 + function getID() {
  66 + return $this->iId;
  67 + }
  68 +
  69 + /**
  70 + * Get the user's login name
  71 + *
  72 + * @return String user's login name
  73 + *
  74 + */
  75 + function getUserName() {
  76 + return $this->sUserName;
  77 + }
  78 +
  79 + /**
  80 + * Set the user's login name
  81 + *
  82 + * @param String New user login name
  83 + *
  84 + */
  85 + function setUserName($sNewValue) {
  86 + $this->sUserName = $sNewValue;
  87 + }
  88 +
  89 + /**
  90 + * Set the user's password
  91 + *
  92 + * @param String New user password
  93 + *
  94 + */
  95 + function setPassword($sNewValue) {
  96 + $this->sPassword = $sNewValue;
  97 + $this->bPasswordChanged = true;
  98 + }
  99 +
  100 + /**
  101 + * Get the user's maximum disk quota
  102 + *
  103 + * @return int user's maximum disk quota
  104 + *
  105 + */
  106 + function getQuotaMax() {
  107 + return $this->iQuotaMax;
  108 + }
  109 +
  110 + /**
  111 + * Set the user's maximum disk quota
  112 + *
  113 + * @param int User's maximum disk quota in bytes
  114 + *
  115 + */
  116 + function setQuotaMax($iNewValue) {
  117 + $this->iQuotaMax = $iNewValue;
  118 + }
  119 +
  120 + function getName() {
  121 + return $this->sName;
  122 + }
  123 +
  124 + /**
  125 + * Get the user's currrently used quota
  126 + *
  127 + * @return int user's currently used quota
  128 + *
  129 + */
  130 + function getQuotaCurrent() {
  131 + return $this->iQuotaCurrent;
  132 + }
  133 +
  134 + /**
  135 + * Get the user's email address
  136 + *
  137 + * @return String user's email address
  138 + *
  139 + */
  140 + function getEmail() {
  141 + return $this->sEmail;
  142 + }
  143 +
  144 + /**
  145 + * Set the user's email address
  146 + *
  147 + * @param String User's email address
  148 + *
  149 + */
  150 + function setEmail($sNewValue) {
  151 + $this->sEmail = $sNewValue;
  152 + }
  153 +
  154 + /**
  155 + * Get the user's mobile phone number
  156 + *
  157 + * @return String user's mobile phone number
  158 + *
  159 + */
  160 + function getMobile() {
  161 + return $this->sMobile;
  162 + }
  163 +
  164 + /**
  165 + * Set the user's mobile phone number
  166 + *
  167 + * @param String User's mobile phone number
  168 + *
  169 + */
  170 + function setMobile($sNewValue) {
  171 + $this->sMobile = $sNewValue;
  172 + }
  173 +
  174 + /**
  175 + * Get the user's email notification status
  176 + *
  177 + * @return boolean user's email notification status
  178 + *
  179 + */
  180 + function getEmailNotification() {
  181 + return $this->bEmailNotification;
  182 + }
  183 +
  184 + /**
  185 + * Set the user's email notification status
  186 + *
  187 + * @param boolean User's email notification status (notify by email)
  188 + *
  189 + */
  190 + function setEmailNotification($bNewValue) {
  191 + $this->bEmailNotification = $bNewValue;
  192 + }
  193 +
  194 + /**
  195 + * Get the user's SMS (mobile phone) notification status
  196 + *
  197 + * @return boolean SMS (mobile phone) notification status
  198 + *
  199 + */
  200 + function getSmsNotification() {
  201 + return $this->bSmsNotification;
  202 + }
  203 +
  204 + /**
  205 + * Set the user's SMS (mobile phone) notification status
  206 + *
  207 + * @param boolean User's SMS (mobile phone) notification status (notify by mobile phone)
  208 + *
  209 + */
  210 + function setSmsNotification($bNewValue) {
  211 + $this->bSmsNotification = $bNewValue;
  212 + }
  213 +
  214 + /**
  215 + * Get the user's LDAP distinguished name
  216 + *
  217 + * @return String user's LDAP distinguished name
  218 + *
  219 + */
  220 + function getLdapDn() {
  221 + return $this->sLdapDn;
  222 + }
  223 +
  224 + /**
  225 + * Set the user's LDAP distinguished name
  226 + *
  227 + * @param String User's LDAP distinguished name
  228 + *
  229 + */
  230 + function setLdapDn($sNewValue) {
  231 + $this->sLdapDn = $sNewValue;
  232 + }
  233 +
  234 + /**
  235 + * Get the user's maximum number of concurrent sessions
  236 + *
  237 + * @return int user's maximum number of concurrent sessions
  238 + *
  239 + */
  240 + function getMaxSessions() {
  241 + return $this->iMaxSessions;
  242 + }
  243 +
  244 + /**
  245 + * Set the user's maximum number of concurrent sessions
  246 + *
  247 + * @param int User's maximum number of concurrent sessions
  248 + *
  249 + */
  250 + function setMaxSessions($iNewValue) {
  251 + $this->iMaxSessions = $iNewValue;
  252 + }
  253 +
  254 + /**
  255 + * Get the primary key for the language preferred by the user
  256 + *
  257 + * @return int primary key of language preferred by user
  258 + *
  259 + */
  260 + function getLanguageID() {
  261 + return $this->iLanguageIDID;
  262 + }
  263 +
  264 + /**
  265 + * Set the primary key of the language preferred by the user
  266 + *
  267 + * @param int Primary key of language preferred by user
  268 + *
  269 + */
  270 + function setLanguageID($iNewValue) {
  271 + $this->iLanguageIDID = $iNewValue;
  272 + }
  273 +
  274 + /**
  275 + * Create the current object in the database
  276 + *
  277 + * @return boolean on successful store, false otherwise and set $_SESSION["errorMessage"]
  278 + *
  279 + */
  280 + function create() {
  281 + global $default, $lang_err_database, $lang_err_object_exists;
  282 + //if the object hasn't been created
  283 + if ($this->iId < 0) {
  284 + //check to see if name exsits
  285 + $sql = $default->db;
  286 + $query = "SELECT username FROM ". $default->owl_users_table ." WHERE username = '" . $this->sUserName . "'";
  287 + $sql->query($query);
  288 + $rows = $sql->num_rows($sql);
  289 +
  290 + if ($rows > 0) {
  291 + // duplicate username
  292 + $_SESSION["errorMessage"] = "User::The username " . $this->sUserName . " is already in use!";
  293 + return false;
  294 + }
  295 + else {
  296 + $result = $sql->query("INSERT INTO " . $default->owl_users_table . " (username, name, password, quota_max, quota_current, email, mobile, email_notification, sms_notification, ldap_dn, max_sessions, language_id) " .
  297 + "VALUES ('" . addslashes($this->sUserName) . "', '" . addslashes($this->sName) . "', '" . addslashes(md5($this->sPassword)) . "', $this->iQuotaMax, 0, '" . addslashes($this->sEmail) . "', '" . addslashes($this->sMobile) . "', " . ($this->bEmailNotification ? 1 : 0) . ", " . ($this->bSmsNotification ? 1 : 0) . ", '" . addslashes($this->sLdapDn) . "', $this->iMaxSessions, $this->iLanguageID)");
  298 + if ($result) {
  299 + $this->iId = $sql->insert_id();
  300 + return true;
  301 + }
  302 + $_SESSION["errorMessage"] = $lang_err_database;
  303 + return false;
  304 + }
  305 + }
  306 + $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iId . " table = $default->owl_users_table";
  307 + return false;
  308 + }
  309 +
  310 + /**
  311 + * Update the values in the database table with the object's current values
  312 + *
  313 + * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"]
  314 + *
  315 + */
  316 + function update() {
  317 + global $default, $lang_err_database, $lang_err_object_key;
  318 + //only update if the object has been stored
  319 + if ($this->iId > 0) {
  320 + $sql = $default->db;
  321 + $result = $sql->query("UPDATE " . $default->owl_users_table . " SET username = '" . addslashes($this->sUserName) . "', name = '" . addslashes($this->sName) . "', " . ($this->bPasswordChanged ? "password = '" . addslashes(md5($this->sPassword)) . "', " : " ") . " quota_max = $this->iQuotaMax, email = '" . addslashes($this->sEmail) . "', mobile = '" . addslashes($this->sMobile) . "', email_notification = " . ($this->bEmailNotification ? 1 : 0) . ", sms_notification = " . ($this->bSmsNotification ? 1 : 0) . ", ldap_dn = '" . addslashes($this->sLdapDn) . "', max_sessions = $this->iMaxSessions, language_id = $this->iLanguageID WHERE id = $this->iId");
  322 + if ($result) {
  323 + return true;
  324 + }
  325 + $_SESSION["errorMessage"] = $lang_err_database;
  326 + return false;
  327 + }
  328 + $_SESSION["errorMessage"] = $lang_err_object_key;
  329 + return false;
  330 + }
  331 +
  332 + /**
  333 + * Delete the current object from the database
  334 + *
  335 + * @return boolean true on successful deletion, false otherwise and set $_SESSION["errorMessage"]
  336 + *
  337 + */
  338 + function delete() {
  339 + global $default, $lang_err_database, $lang_err_object_key;
  340 + //only delete the object if it exists in the database
  341 + if ($this->iId >= 0) {
  342 + $sql = $default->db;
  343 + $result = $sql->query("DELETE FROM $default->owl_users_table WHERE id = $this->iId");
  344 + if ($result) {
  345 + return true;
  346 + }
  347 + $_SESSION["errorMessage"] = $lang_err_database;
  348 + return false;
  349 + }
  350 + $_SESSION["errorMessage"] = $lang_err_object_key;
  351 + return false;
  352 + }
  353 +
  354 + /**
  355 + * Static function.
  356 + * Given a web_documents primary key it will create a
  357 + * User object and populate it with the
  358 + * corresponding database values
  359 + *
  360 + * @return User populated User object on successful query, false otherwise and set $_SESSION["errorMessage"]
  361 + */
  362 + function & get($iUserID) {
  363 + global $default;
  364 + $sql = $default->db;
  365 + $result = $sql->query("SELECT * FROM $default->owl_users_table WHERE id = $iUserID");
  366 + if ($result) {
  367 + if ($sql->next_record()) {
  368 + $oUser = & new User(stripslashes($sql->f("username")), stripslashes($sql->f("name")), stripslashes($sql->f("password")), $sql->f("quota_max"), stripslashes($sql->f("email")), stripslashes($sql->f("mobile")), $sql->f("email_notification"), $sql->f("sms_notification"), $sql->f("ldap_dn"), $sql->f("max_sessions"), $sql->f("language_id"));
  369 + $oUser->iId = $iUserID;
  370 + return $oUser;
  371 + }
  372 + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iUserID . " table = $default->owl_users_table";
  373 + return false;
  374 + }
  375 + $_SESSION["errorMessage"] = $lang_err_database;
  376 + return false;
  377 + }
  378 +
  379 + /**
  380 + * Static function
  381 + * Get a list of users
  382 + *
  383 + * @param String Where clause (not required)
  384 + *
  385 + * @return Array array of User objects, false otherwise and set $_SESSION["errorMessage"]
  386 + */
  387 + function getList($sWhereClause = null) {
  388 + global $default, $lang_err_database;
  389 + $aUserArray;
  390 + settype($aUserArray, "array");
  391 + $sql = $default->db;
  392 + $result = $sql->query("SELECT * FROM " . $default->owl_users_table . (isset($sWhereClause) ? " " . $sWhereClause : ""));
  393 + if ($result) {
  394 + $iCount = 0;
  395 + while ($sql->next_record()) {
  396 + $oUser = & User::get($sql->f("id"));
  397 + $oUser->iQuotaCurrent = $sql->f("quota_current");
  398 + $aUserArray[$iCount] = $oUser;
  399 + $iCount++;
  400 + }
  401 + return $aUserArray;
  402 + }
  403 + $_SESSION["errorMessage"] = $lang_err_database;
  404 + return false;
  405 + }
  406 +
  407 +
413 /** 408 /**
414 * Static function 409 * Static function
415 * Return the useID for the specified user 410 * Return the useID for the specified user
@@ -419,37 +414,34 @@ class User { @@ -419,37 +414,34 @@ class User {
419 */ 414 */
420 function getUnitID($userID) { 415 function getUnitID($userID) {
421 global $default, $lang_err_database; 416 global $default, $lang_err_database;
422 -  
423 - $sql = $default->db; 417 +
  418 + $sql = $default->db;
424 $result = $sql->query("SELECT DISTINCT gul.unit_id FROM $default->owl_users_groups_table ugl " . 419 $result = $sql->query("SELECT DISTINCT gul.unit_id FROM $default->owl_users_groups_table ugl " .
425 "INNER JOIN $default->owl_groups_units_table gul ON ugl.group_id = gul.group_id ". 420 "INNER JOIN $default->owl_groups_units_table gul ON ugl.group_id = gul.group_id ".
426 "WHERE ugl.user_id=$userID"); 421 "WHERE ugl.user_id=$userID");
427 - if ($result) {  
428 - if ($sql->next_record()) {  
429 - return $sql->f("unit_id");  
430 - }  
431 - }  
432 - $_SESSION["errorMessage"] = $lang_err_database;  
433 - return false; 422 + if ($result) {
  423 + if ($sql->next_record()) {
  424 + return $sql->f("unit_id");
  425 + }
  426 + }
  427 + $_SESSION["errorMessage"] = $lang_err_database;
  428 + return false;
434 } 429 }
435 - /* 430 +
  431 + /**
436 * static function 432 * static function
437 * 433 *
438 * gets the id of a user using their username 434 * gets the id of a user using their username
439 * 435 *
440 * @param string The username for which we want its ID 436 * @param string The username for which we want its ID
441 - *  
442 - *  
443 */ 437 */
444 -  
445 - function getUserID($username)  
446 - {  
447 - global $default;  
448 -  
449 - $id = lookupID($default->owl_users_table, "username", $username);  
450 -  
451 - $this->iId = $id;  
452 - } 438 + function getUserID($sUsername) {
  439 + global $default;
  440 +
  441 + $id = lookupID($default->owl_users_table, "username", $sUsername);
  442 +
  443 + $this->iId = $id;
  444 + }
453 } 445 }
454 446
455 /** 447 /**
@@ -457,13 +449,13 @@ class User { @@ -457,13 +449,13 @@ class User {
457 * 449 *
458 * Creates a User object from an array 450 * Creates a User object from an array
459 * 451 *
460 -* @param Array Array of parameters. Must match order of parameters in constructor 452 +* @param Array Array of parameters. Must match order of parameters in constructor
461 * 453 *
462 * @return User user object 454 * @return User user object
463 */ 455 */
464 function & userCreateFromArray($aParameters) { 456 function & userCreateFromArray($aParameters) {
465 - $oUser = & new User($aParameters[0], $aParameters[1], $aParameters[2], $aParameters[3], $aParameters[4], $aParameters[5], $aParameters[6], $aParameters[7], $aParameters[8], $aParameters[9], $aParameters[10]);  
466 - return $oUser; 457 + $oUser = & new User($aParameters[0], $aParameters[1], $aParameters[2], $aParameters[3], $aParameters[4], $aParameters[5], $aParameters[6], $aParameters[7], $aParameters[8], $aParameters[9], $aParameters[10]);
  458 + return $oUser;
467 } 459 }
468 460
469 ?> 461 ?>