Beispiel #1
0
 /**
  * Check is connected or not BaseObject (File|Folder) to user storage.
  * It means row in SharingTable.
  * @param               $userId
  * @param BaseObject|BaseObject $object
  * @param array         $returnData Special for optimization we get fields and return by link.
  * @return bool
  * @throws \Bitrix\Main\ArgumentException
  */
 public static function isConnectedToUserStorage($userId, BaseObject $object, array &$returnData = array())
 {
     $userId = (int) $userId;
     $returnData = SharingTable::getList(array('select' => array('REAL_OBJECT_ID', 'LINK_OBJECT_ID'), 'filter' => array('REAL_OBJECT_ID' => $object->getRealObjectId(), '=TO_ENTITY' => self::CODE_USER . $userId, '=STATUS' => SharingTable::STATUS_IS_APPROVED), 'limit' => 1))->fetch();
     return (bool) $returnData;
 }
Beispiel #2
0
 private function getUserShareObjectIds()
 {
     $sharedObjectIds = array();
     foreach (SharingTable::getList(array('select' => array('REAL_OBJECT_ID', 'TO_ENTITY', 'FROM_ENTITY'), 'filter' => array(array('LOGIC' => 'OR', '=TO_ENTITY' => Sharing::CODE_USER . $this->getUser()->getId(), '=FROM_ENTITY' => Sharing::CODE_USER . $this->getUser()->getId()), '!=STATUS' => SharingTable::STATUS_IS_DECLINED, 'REAL_STORAGE_ID' => $this->folder->getStorageId())))->fetchAll() as $row) {
         $sharedObjectIds[$row['REAL_OBJECT_ID']] = $row;
     }
     unset($row);
     return $sharedObjectIds;
 }