Пример #1
0
 /**
  * @param int $uID
  * @param boolean $login
  * @return User
  */
 public static function getByUserID($uID, $login = false)
 {
     $db = Loader::db();
     $v = array($uID);
     $q = "SELECT uID, uName, uIsActive, uLastOnline, uTimezone, uDefaultLanguage FROM Users WHERE uID = ?";
     $r = $db->query($q, $v);
     if ($r) {
         $row = $r->fetchRow();
         $nu = new User();
         $nu->uID = $row['uID'];
         $nu->uName = $row['uName'];
         $nu->uIsActive = $row['uIsActive'];
         $nu->uDefaultLanguage = $row['uDefaultLanguage'];
         $nu->uLastLogin = $row['uLastLogin'];
         $nu->uTimezone = $row['uTimezone'];
         $nu->uGroups = $nu->_getUserGroups(true);
         if ($login) {
             $_SESSION['uID'] = $row['uID'];
             $_SESSION['uName'] = $row['uName'];
             $_SESSION['uBlockTypesSet'] = false;
             $_SESSION['uGroups'] = $nu->uGroups;
             $_SESSION['uLastOnline'] = $row['uLastOnline'];
             $_SESSION['uTimezone'] = $row['uTimezone'];
             $_SESSION['uDefaultLanguage'] = $row['uDefaultLanguage'];
             $nu->recordLogin();
         }
     }
     return $nu;
 }
Пример #2
0
 /** Return an User instance given its id (or null if it's not found)
  * @param int $uID The id of the user
  * @param boolean $login = false Set to true to make the user the current one
  * @param boolean $cacheItemsOnLogin = false Set to true to cache some items when $login is true
  * @return User|null
  */
 public static function getByUserID($uID, $login = false, $cacheItemsOnLogin = true)
 {
     $db = Loader::db();
     $v = array($uID);
     $q = "SELECT uID, uName, uIsActive, uLastOnline, uTimezone, uDefaultLanguage FROM Users WHERE uID = ? LIMIT 1";
     $r = $db->query($q, $v);
     $row = $r ? $r->FetchRow() : null;
     $nu = null;
     if ($row) {
         $nu = new User();
         $nu->uID = $row['uID'];
         $nu->uName = $row['uName'];
         $nu->uIsActive = $row['uIsActive'];
         $nu->uDefaultLanguage = $row['uDefaultLanguage'];
         $nu->uLastLogin = $row['uLastLogin'];
         $nu->uTimezone = $row['uTimezone'];
         $nu->uGroups = $nu->_getUserGroups(true);
         $nu->superUser = $nu->getUserID() == USER_SUPER_ID;
         if ($login) {
             User::regenerateSession();
             $_SESSION['uID'] = $row['uID'];
             $_SESSION['uName'] = $row['uName'];
             $_SESSION['uBlockTypesSet'] = false;
             $_SESSION['uGroups'] = $nu->uGroups;
             $_SESSION['uLastOnline'] = $row['uLastOnline'];
             $_SESSION['uTimezone'] = $row['uTimezone'];
             $_SESSION['uDefaultLanguage'] = $row['uDefaultLanguage'];
             if ($cacheItemsOnLogin) {
                 Loader::helper('concrete/interface')->cacheInterfaceItems();
             }
             $nu->recordLogin();
         }
     }
     return $nu;
 }