コード例 #1
0
ファイル: Session.php プロジェクト: aelix/framework
 /**
  * @param User $user
  */
 public function setUser(User $user)
 {
     $this->set('core.user_id', $user->getID());
 }
コード例 #2
0
ファイル: User.php プロジェクト: aelix/framework
 /**
  * @param int $userID
  * @return User
  * @throws UserDoesntExistException
  */
 public static function getByID($userID)
 {
     if (isset(self::$userByID[$userID]) && self::$userByID[$userID] instanceof User) {
         return self::$userByID[$userID];
     } else {
         $stmt = Aelix::db()->prepare('SELECT * FROM `user` WHERE `id` = :userID')->execute([':userID' => $userID]);
         if ($stmt->rowCount() != 1) {
             throw new UserDoesntExistException();
         }
         $user = new User($stmt->fetchArray());
         self::$userByID[$user->getID()] = $user;
         return $user;
     }
 }
コード例 #3
0
ファイル: UserData.php プロジェクト: aelix/framework
 /**
  * @param UserDataField $field
  * @param User $user
  * @param mixed $value
  * @return UserData
  * @throws \InvalidArgumentException
  */
 public static function create(UserDataField $field, User $user, $value)
 {
     // check if field is already set for user
     if ($user->getData($field->getName()) !== null) {
         throw new \InvalidArgumentException('User\'s data field ' . $field->getName() . ' already set.');
     }
     $value = serialize($value);
     Aelix::db()->prepare('INSERT INTO `user_data`
         SET `userID` = :userID, `fieldID` = :fieldID, `value` = :value')->execute([':userID' => $user->getID(), ':fieldID' => $field->getID(), ':value' => $value]);
     $dataID = Aelix::db()->getPDO()->lastInsertId('user_data');
     return new UserData($user, $field, $dataID, $value);
 }