XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
user.php
Go to the documentation of this file.
1 <?php
20 defined('XOOPS_ROOT_PATH') or die('Restricted access');
21 
28 class XoopsUser extends XoopsObject
29 {
35  var $_groups = array();
40  var $_isAdmin = null;
45  var $_rank = null;
50  var $_isOnline = null;
51 
57  function XoopsUser($id = null)
58  {
59  $this->initVar('uid', XOBJ_DTYPE_INT, null, false);
60  $this->initVar('name', XOBJ_DTYPE_TXTBOX, null, false, 60);
61  $this->initVar('uname', XOBJ_DTYPE_TXTBOX, null, true, 25);
62  $this->initVar('email', XOBJ_DTYPE_TXTBOX, null, true, 60);
63  $this->initVar('url', XOBJ_DTYPE_TXTBOX, null, false, 100);
64  $this->initVar('user_avatar', XOBJ_DTYPE_TXTBOX, null, false, 30);
65  $this->initVar('user_regdate', XOBJ_DTYPE_INT, null, false);
66  $this->initVar('user_icq', XOBJ_DTYPE_TXTBOX, null, false, 15);
67  $this->initVar('user_from', XOBJ_DTYPE_TXTBOX, null, false, 100);
68  $this->initVar('user_sig', XOBJ_DTYPE_TXTAREA, null, false, null);
69  $this->initVar('user_viewemail', XOBJ_DTYPE_INT, 0, false);
70  $this->initVar('actkey', XOBJ_DTYPE_OTHER, null, false);
71  $this->initVar('user_aim', XOBJ_DTYPE_TXTBOX, null, false, 18);
72  $this->initVar('user_yim', XOBJ_DTYPE_TXTBOX, null, false, 25);
73  $this->initVar('user_msnm', XOBJ_DTYPE_TXTBOX, null, false, 100);
74  $this->initVar('pass', XOBJ_DTYPE_TXTBOX, null, false, 32);
75  $this->initVar('posts', XOBJ_DTYPE_INT, null, false);
76  $this->initVar('attachsig', XOBJ_DTYPE_INT, 0, false);
77  $this->initVar('rank', XOBJ_DTYPE_INT, 0, false);
78  $this->initVar('level', XOBJ_DTYPE_INT, 0, false);
79  $this->initVar('theme', XOBJ_DTYPE_OTHER, null, false);
80  $this->initVar('timezone_offset', XOBJ_DTYPE_OTHER, '0.0', false);
81  $this->initVar('last_login', XOBJ_DTYPE_INT, 0, false);
82  $this->initVar('umode', XOBJ_DTYPE_OTHER, null, false);
83  $this->initVar('uorder', XOBJ_DTYPE_INT, 1, false);
84  // RMV-NOTIFY
85  $this->initVar('notify_method', XOBJ_DTYPE_OTHER, 1, false);
86  $this->initVar('notify_mode', XOBJ_DTYPE_OTHER, 0, false);
87  $this->initVar('user_occ', XOBJ_DTYPE_TXTBOX, null, false, 100);
88  $this->initVar('bio', XOBJ_DTYPE_TXTAREA, null, false, null);
89  $this->initVar('user_intrest', XOBJ_DTYPE_TXTBOX, null, false, 150);
90  $this->initVar('user_mailok', XOBJ_DTYPE_INT, 1, false);
91  // for backward compatibility
92  if (isset($id)) {
93  if (is_array($id)) {
94  $this->assignVars($id);
95  } else {
96  $member_handler = & xoops_gethandler('member');
97  $user =& $member_handler->getUser($id);
98  foreach ($user->vars as $k => $v) {
99  $this->assignVar($k, $v['value']);
100  }
101  }
102  }
103  }
104 
111  function isGuest()
112  {
113  return false;
114  }
115 
124  function getUnameFromId($userid, $usereal = 0)
125  {
126  $userid = intval($userid);
127  $usereal = intval($usereal);
128  if ($userid > 0) {
129  $member_handler = & xoops_gethandler('member');
130  $user =& $member_handler->getUser($userid);
131  if (is_object($user)) {
133  if ($usereal) {
134  $name = $user->getVar('name');
135  if ($name != '') {
136  return $ts->htmlSpecialChars($name);
137  } else {
138  return $ts->htmlSpecialChars($user->getVar('uname'));
139  }
140  } else {
141  return $ts->htmlSpecialChars($user->getVar('uname'));
142  }
143  }
144  }
145  return $GLOBALS['xoopsConfig']['anonymous'];
146  }
147 
153  function incrementPost()
154  {
155  $member_handler =& xoops_gethandler('member');
156  return $member_handler->updateUserByField($this, 'posts', $this->getVar('posts') + 1);
157  }
158 
164  function setGroups($groupsArr)
165  {
166  if (is_array($groupsArr)) {
167  $this->_groups =& $groupsArr;
168  }
169  }
170 
176  function &getGroups()
177  {
178  if (empty($this->_groups)) {
179  $member_handler =& xoops_gethandler('member');
180  $this->_groups = $member_handler->getGroupsByUser($this->getVar('uid'));
181  }
182  return $this->_groups;
183  }
184 
191  function &groups()
192  {
193  $groups = $this->getGroups();
194  return $groups;
195  }
196 
207  function isAdmin($module_id = null)
208  {
209  if (is_null($module_id)) {
210  $module_id = isset($GLOBALS['xoopsModule']) ? $GLOBALS['xoopsModule']->getVar('mid', 'n') : 1;
211  } elseif (intval($module_id) < 1) {
212  $module_id = 0;
213  }
214  $moduleperm_handler =& xoops_gethandler('groupperm');
215  return $moduleperm_handler->checkRight('module_admin', $module_id, $this->getGroups());
216  }
217 
222  function rank()
223  {
224  if (!isset($this->_rank)) {
225  $this->_rank = xoops_getrank($this->getVar('rank'), $this->getVar('posts'));
226  }
227  return $this->_rank;
228  }
229 
234  function isActive()
235  {
236  if ($this->getVar('level') == 0) {
237  return false;
238  }
239  return true;
240  }
241 
246  function isOnline()
247  {
248  if (!isset($this->_isOnline)) {
249  $onlinehandler =& xoops_gethandler('online');
250  $this->_isOnline = ($onlinehandler->getCount(new Criteria('online_uid', $this->getVar('uid'))) > 0) ? true : false;
251  }
252  return $this->_isOnline;
253  }
254 
259  function uid($format = '')
260  {
261  return $this->getVar('uid', $format);
262  }
263 
268  function id($format = 'N')
269  {
270  return $this->getVar('uid', $format);
271  }
272 
278  function name($format = 'S')
279  {
280  return $this->getVar('name', $format);
281  }
282 
288  function uname($format = 'S')
289  {
290  return $this->getVar('uname', $format);
291  }
292 
299  function email($format = 'S')
300  {
301  return $this->getVar('email', $format);
302  }
303 
304  function url($format = 'S')
305  {
306  return $this->getVar('url', $format);
307  }
308 
309  function user_avatar($format = 'S')
310  {
311  return $this->getVar('user_avatar', $format);
312  }
313 
314  function user_regdate($format = '')
315  {
316  return $this->getVar('user_regdate', $format);
317  }
318 
319  function user_icq($format = 'S')
320  {
321  return $this->getVar('user_icq', $format);
322  }
323 
324  function user_from($format = 'S')
325  {
326  return $this->getVar('user_from', $format);
327  }
328 
329  function user_sig($format = 'S')
330  {
331  return $this->getVar('user_sig', $format);
332  }
333 
334  function user_viewemail($format = '')
335  {
336  return $this->getVar('user_viewemail', $format);
337  }
338 
339  function actkey($format = '')
340  {
341  return $this->getVar('actkey', $format);
342  }
343 
344  function user_aim($format = 'S')
345  {
346  return $this->getVar('user_aim', $format);
347  }
348 
349  function user_yim($format = 'S')
350  {
351  return $this->getVar('user_yim', $format);
352  }
353 
354  function user_msnm($format = 'S')
355  {
356  return $this->getVar('user_msnm', $format);
357  }
358 
359  function pass($format = '')
360  {
361  return $this->getVar('pass', $format);
362  }
363 
364  function posts($format = '')
365  {
366  return $this->getVar('posts', $format);
367  }
368 
369  function attachsig($format = '')
370  {
371  return $this->getVar('attachsig', $format);
372  }
373 
374  function level($format = '')
375  {
376  return $this->getVar('level', $format);
377  }
378 
379  function theme($format = '')
380  {
381  return $this->getVar('theme', $format);
382  }
383 
384  function timezone($format = '')
385  {
386  return $this->getVar('timezone_offset', $format);
387  }
388 
389  function umode($format = '')
390  {
391  return $this->getVar('umode', $format);
392  }
393 
394  function uorder($format = '')
395  {
396  return $this->getVar('uorder', $format);
397  }
398 
399  // RMV-NOTIFY
400  function notify_method($format = '')
401  {
402  return $this->getVar('notify_method', $format);
403  }
404 
405  function notify_mode($format = '')
406  {
407  return $this->getVar('notify_mode', $format);
408  }
409 
410  function user_occ($format = 'S')
411  {
412  return $this->getVar('user_occ', $format);
413  }
414 
415  function bio($format = 'S')
416  {
417  return $this->getVar('bio', $format);
418  }
419 
420  function user_intrest($format = 'S')
421  {
422  return $this->getVar('user_intrest', $format);
423  }
429  function getProfile()
430  {
431  trigger_error(__CLASS__ . "::" . __FUNCTION__ . ' is deprecated', E_USER_WARNING);
432  return false;
433  }
435 }
436 
444 {
451  function isGuest()
452  {
453  return true;
454  }
455 }
456 
467 {
469  {
470  $this->__construct($db);
471  }
472 
473  function __construct(&$db)
474  {
475  parent::__construct($db, 'users', 'XoopsUser', 'uid', 'uname');
476  }
477 
481  function &loginUser($uname, $pwd, $md5 = false) {
482  trigger_error(__CLASS__ . "::" . __FUNCTION__ . ' is deprecated', E_USER_WARNING);
483  return false;
484  }
485 
486  function updateUserByField($fieldName, $fieldValue, $uid) {
487  trigger_error(__CLASS__ . "::" . __FUNCTION__ . ' is deprecated', E_USER_WARNING);
488  return false;
489  }
491 }
492 ?>