%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sender/lib/internals/commonajax/ |
Current File : //home/bitrix/www/bitrix/modules/sender/lib/internals/commonajax/checker.php |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender\Internals\CommonAjax; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Error; use Bitrix\Main\Result; use Bitrix\Sender\Security; Loc::loadMessages(__FILE__); /** * Class Checker * @package Bitrix\Sender\Internals\CommonAjax */ class Checker { /** * Get read permission checker. * * @return array */ public static function getReadPermissionChecker() { return array(__CLASS__, 'onReadPermissionCheck'); } /** * On read permission check. * * @param Result $result Result. * @return void */ public static function onReadPermissionCheck(Result $result) { if (Security\User::current()->canView()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); } /** * Get write permission checker. * * @return array */ public static function getWritePermissionChecker() { return array(__CLASS__, 'onWritePermissionCheck'); } /** * On write permission check. * * @param Result $result Result. * @return void */ public static function onWritePermissionCheck(Result $result) { if (Security\User::current()->canEdit()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); } /** * Get permission checker for viewing Letter. * * @return callable */ public static function getViewLetterPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewLetters()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying Letter. * * @return callable */ public static function getModifyLetterPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifyLetters()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for modifying Abuse. * * @return callable */ public static function getModifyAbusePermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifyAbuses()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for viewing Segment. * * @return callable */ public static function getViewSegmentPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewSegments()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for selecting Segment. * * @return callable */ public static function getSelectSegmentPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewSegments()) { return; } if (Security\Access::current()->canViewLetters()) { return; } if (Security\Access::current()->canViewAds()) { return; } if (Security\Access::current()->canViewRc()) { return; } if (Security\Access::current()->canModifySettings()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying Segment. * * @return callable */ public static function getModifySegmentPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifySegments()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for viewing RC. * * @return callable */ public static function getViewRcPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewRc()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying RC. * * @return callable */ public static function getModifyRcPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifyRc()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for viewing RC. * * @return callable */ public static function getViewBlacklistPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewBlacklist()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying RC. * * @return callable */ public static function getModifyBlacklistPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifyBlacklist()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for viewing ad. * * @return callable */ public static function getViewAdPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewAds()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying ad. * * @return callable */ public static function getModifyAdPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifyAds()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for viewing recipients. * * @return callable */ public static function getViewRecipientsPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canViewSegments()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_READ_ACCESS'))); }; } /** * Get permission checker for modifying recipients. * * @return callable */ public static function getModifyRecipientsPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifySegments()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } /** * Get permission checker for modifying settings. * * @return callable */ public static function getModifySettingsPermissionChecker() { return function (Result $result) { if (Security\Access::current()->canModifySettings()) { return; } $result->addError(new Error(Loc::getMessage('SENDER_COMMON_AJAX_CHECKER_ERROR_NO_WRITE_ACCESS'))); }; } }