Exemple #1
0
 /**
  * Возвращает экземпляр пользователя. Если не передан, то будет взят текущий (авторизованный).
  * 
  * Определяет и извлекает пользователя из переданных данных. Будем искать в:
  * 1. Массиве,если передан массив.
  * 2. Попытаемся привести число к нужному виду, если передано число.
  * 3. В сессии.
  * 
  * @return PsUser
  */
 public static function inst($DataOrId = null, $forceFill = false)
 {
     if (is_array($DataOrId)) {
         $userId = AuthManager::validateUserId(array_get_value('id_user', $DataOrId));
     } else {
         $userId = AuthManager::extractUserId($DataOrId);
     }
     if (!array_key_exists($userId, self::$insts)) {
         self::$insts[$userId] = null;
         self::$insts[$userId] = new PsUser($userId);
     }
     check_condition(self::$insts[$userId] instanceof PsUser, "Попытка повторно создать объект пользователя с кодом [{$userId}].");
     if ($forceFill) {
         //Проверим, что пользователь существует
         UserBean::inst()->getUserDataById($userId);
     }
     return self::$insts[$userId];
 }
Exemple #2
0
 public function getUserAnswerHtml($userId = null)
 {
     /* @var $ans UserAnsDO */
     $ans = $this->BEAN->getUserAnswer($this->id, AuthManager::extractUserId($userId));
     return $ans ? PSSmarty::template('mosaic/user_answer.tpl', array('ans' => $ans))->fetch() : null;
 }