示例#1
0
 /**
  * Returns true if current user has read access to the file.
  * @param array $params Allowed keys: hash.
  * @param int $userId Current user's id.
  * @return bool
  */
 public static function checkUserReadAccess(array $params, $userId)
 {
     if (!\Bitrix\Disk\ExternalLink::isValidValueForField('HASH', $params['hash'])) {
         //bad hash
         return false;
     }
     $externalLink = \Bitrix\Disk\ExternalLink::load(array('=HASH' => $params['hash']), array('FILE'));
     if (!$externalLink || $externalLink->isExpired() || $externalLink->hasPassword()) {
         //could not make preview
         return false;
     }
     return true;
 }
示例#2
0
 protected function findLink()
 {
     $this->externalLink = \Bitrix\Disk\ExternalLink::load(array('=HASH' => $this->hash), array('FILE'));
     if (!$this->externalLink || $this->externalLink->isExpired()) {
         throw new \Bitrix\Main\SystemException('Invalid external link');
     }
     return $this;
 }
 /**
  * Check success view file in service.
  * @param FileData $fileData
  * @return bool
  */
 public function checkViewFile(FileData $fileData)
 {
     if (!$this->checkRequiredInputParams($fileData->toArray(), array('id'))) {
         return null;
     }
     if (!ExternalLink::isValidValueForField('HASH', $fileData->getId(), $this->errorCollection)) {
         return false;
     }
     /** @var ExternalLink $extLinkModel */
     $extLinkModel = ExternalLink::load(array('=HASH' => $fileData->getId()));
     if (!$extLinkModel) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('DISK_GOOGLE_VIEWER_HANDLER_ERROR_COULD_NOT_FIND_EXT_LINK'), self::ERROR_COULD_NOT_FIND_EXT_LINK)));
         return null;
     }
     return (bool) $extLinkModel->getDownloadCount();
 }