/**
  * Returns list of recently files by user.
  * @param mixed|int|User|\CAllUser $user User.
  * @param array                    $filter Filter.
  * @return File[]
  * @internal
  */
 public function getFileModelListByUser($user, array $filter = array())
 {
     $userId = User::resolveUserId($user);
     if (!$userId) {
         $this->errorCollection->addOne(new Error('Could not get user id.'));
         return array();
     }
     $driver = Driver::getInstance();
     $storage = $driver->getStorageByUserId($userId);
     if (!$storage) {
         $this->errorCollection->addOne(new Error('Could not get storage by user id.'));
         return array();
     }
     if ($this->isFirstRun($userId)) {
         if (!$this->hasData($userId)) {
             $this->fixColdStart($userId);
         }
         $this->saveFirstRun($userId);
     }
     $securityContext = $storage->getCurrentUserSecurityContext();
     $parameters = array('filter' => array('RECENTLY_USED.USER_ID' => $userId, 'DELETED_TYPE' => ObjectTable::DELETED_TYPE_NONE, 'TYPE' => ObjectTable::TYPE_FILE), 'order' => array('RECENTLY_USED.CREATE_TIME' => 'DESC'), 'limit' => RecentlyUsedTable::MAX_COUNT_FOR_USER);
     if ($filter) {
         $parameters['filter'] = array_merge($parameters['filter'], $filter);
     }
     $parameters = $driver->getRightsManager()->addRightsCheck($securityContext, $parameters, array('ID', 'CREATED_BY'));
     return File::getModelList($parameters);
 }
Example #2
0
 /**
  * Checks $user is current user or not.
  * @param mixed $user User for check (may be userId, \CAllUser).
  * @return bool
  */
 private function isCurrentUser($user)
 {
     global $USER;
     return $USER instanceof \CAllUser && $USER->getId() && $USER->getId() == UserModel::resolveUserId($user);
 }
 public function __construct($user)
 {
     $this->errorCollection = new ErrorCollection();
     $this->userId = User::resolveUserId($user);
     $this->buildDocumentHandlerList();
 }
 /**
  * @param \CUser|User|int $user
  * @return $this
  */
 public function setUser($user)
 {
     $this->userId = User::resolveUserId($user);
     return $this;
 }