public static function Enabled()
 {
     if (!CModule::IncludeModule('disk')) {
         return false;
     }
     if (!Bitrix\Disk\Driver::isSuccessfullyConverted()) {
         return false;
     }
     return true;
 }
Beispiel #2
0
	public static function ChangeFolderMembers($chatId, $userId, $append = true)
	{
		$folderModel = self::GetFolderModel($chatId);
		if (!$folderModel)
			return false;

		if (!is_array($userId))
			$userIds = Array($userId);
		else
			$userIds = $userId;

		$driver = Bitrix\Disk\Driver::getInstance();
		$rightsManager = $driver->getRightsManager();
		if ($append)
		{
			$fullAccessTaskId = $rightsManager->getTaskIdByName($rightsManager::TASK_FULL);

			$accessCodes = Array();
			foreach ($userIds as $userId)
			{
				$userId = intval($userId);
				if ($userId <= 0)
					continue;

				$accessCodes[] = array(
					'ACCESS_CODE' => 'U'.$userId,
					'TASK_ID' => $fullAccessTaskId,
				);
			}
			if (count($accessCodes) <= 0)
				return false;

			$result = $rightsManager->append($folderModel, $accessCodes);
		}
		else
		{
			$accessCodes = Array();
			foreach ($userIds as $userId)
			{
				$userId = intval($userId);
				if ($userId <= 0)
					continue;

				$accessCodes[] = 'U'.$userId;
			}
			$result = $rightsManager->revokeByAccessCodes($folderModel, $accessCodes);
		}

		return $result;
	}
Beispiel #3
0
 /**
  * @param array $listAttachedId
  * @param $entityId
  */
 public static function deleteAttachedFileDisk(array $listAttachedId, $entityId)
 {
     if (!CModule::includeModule('disk')) {
         return;
     }
     $userFieldManager = Bitrix\Disk\Driver::getInstance()->getUserFieldManager();
     foreach ($listAttachedId as $idAttached) {
         list($type, $realId) = Bitrix\Disk\Uf\FileUserType::detectType($idAttached);
         if ($type == Bitrix\Disk\Uf\FileUserType::TYPE_ALREADY_ATTACHED) {
             $attachedModel = Bitrix\Disk\AttachedObject::loadById($realId);
             if (!$attachedModel) {
                 continue;
             }
             if ($userFieldManager->belongsToEntity($attachedModel, "lists_element", $entityId)) {
                 $attachedModel->delete();
             }
         }
     }
 }