Your IP : 3.145.138.21


Current Path : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/
Upload File :
Current File : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/disk.tar

security/mailsecuritycontext.php000066400000004112147737233200013253 0ustar00<?php

namespace Bitrix\Mail\Disk\Security;

use Bitrix\Main;
use Bitrix\Mail;
use Bitrix\Disk;

if (!Main\Loader::includeModule('disk'))
{
	return false;
}

class MailSecurityContext extends Disk\Security\SecurityContext
{

	/**
	 * @param $targetId
	 * @return bool
	 */
	public function canAdd($targetId)
	{
		return true;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canChangeRights($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canChangeSettings($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canCreateWorkflow($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canDelete($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canMarkDeleted($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @param $targetId
	 * @return bool
	 */
	public function canMove($objectId, $targetId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canRead($objectId)
	{
		global $DB;

		$message = $DB->query(sprintf(
			'SELECT ID, MAILBOX_ID FROM b_mail_message WHERE ID IN (
				SELECT MESSAGE_ID FROM b_mail_msg_attachment WHERE FILE_ID = (
					SELECT FILE_ID FROM b_disk_object WHERE ID = %u
				)
			)',
			$objectId
		))->fetch();

		return Mail\Helper\Message::hasAccess($message, $this->userId);
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canRename($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canRestore($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canShare($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canUpdate($objectId)
	{
		return false;
	}

	/**
	 * @param $objectId
	 * @return bool
	 */
	public function canStartBizProc($objectId)
	{
		return false;
	}

	public function getSqlExpressionForList($columnObjectId, $columnCreatedBy)
	{
		return '1 = 0';
	}

}
proxytype/mail.php000066400000001527147737233200010301 0ustar00<?php

namespace Bitrix\Mail\Disk\ProxyType;

use Bitrix\Main;
use Bitrix\Disk;

if (!Main\Loader::includeModule('disk'))
{
	return false;
}

class Mail extends Disk\ProxyType\Base
{

	/**
	 * @param $user
	 * @return \Bitrix\Disk\Security\SecurityContext
	 */
	public function getSecurityContextByUser($user)
	{
		return new \Bitrix\Mail\Disk\Security\MailSecurityContext($user);
	}

	/**
	 * @inheritdoc
	 */
	public function getStorageBaseUrl()
	{
		return '/';
	}

	/**
	 * @inheritdoc
	 */
	public function getEntityUrl()
	{
		return '/';
	}

	/**
	 * @inheritdoc
	 */
	public function getEntityTitle()
	{
		return 'mail';
	}

	/**
	 * @inheritdoc
	 */
	public function getEntityImageSrc($width, $height)
	{
		return '/bitrix/images/mail/mail.gif';
	}

	/**
	 * @inheritdoc
	 */
	public function getTitle()
	{
		return $this->getEntityTitle();
	}

}