Поддержка серверов

CGroup::SetModulePermission: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=174066

<?php 
//    /bitrix/modules/main/classes/general/user.phpCGroup::SetModulePermission()
//    4893:

    
public static function SetModulePermission($group_id$module_id$permission)
    {
        
/** @global CMain $APPLICATION */
        
global $DB$APPLICATION;

        if(
intval($permission)<=&& $permission != false)
        {
            
$strSql "SELECT T.ID FROM b_task T WHERE T.MODULE_ID='".$DB->ForSql($module_id)."' AND NAME='".$DB->ForSql($permission)."'";
            
$db_task $DB->Query($strSql);
            if(
$ar_task=$db_task->Fetch())
                
$permission $ar_task['ID'];
        }

        
$permission_letter '';
        if(
intval($permission)>|| $permission === false)
        {
            
$strSql "SELECT T.ID FROM b_task T WHERE T.MODULE_ID='".$DB->ForSql($module_id)."'";
            
$dbr_tasks $DB->Query($strSqlfalse"File: ".__FILE__."<br>Line: ".__LINE__);
            
$arIds = array();
            while(
$arTask $dbr_tasks->Fetch())
                
$arIds[] = $arTask['ID'];

            if(!empty(
$arIds))
            {
                
$strSql "DELETE FROM b_group_task WHERE GROUP_ID=".intval($group_id)." AND TASK_ID IN (".implode(","$arIds).")";
                
$DB->Query($strSqlfalse"File: ".__FILE__."<br>Line: ".__LINE__);
            }

            if(
intval($permission)>0)
            {
                
$DB->Query(
                    
"INSERT INTO b_group_task (GROUP_ID, TASK_ID, EXTERNAL_ID) ".
                    
"SELECT G.ID, T.ID, '' ".
                    
"FROM b_group G, b_task T ".
                    
"WHERE G.ID = ".intval($group_id)." AND T.ID = ".intval($permission),
                    
false,
                    
"File: ".__FILE__."<br>Line: ".__LINE__
                
);

                
$permission_letter CTask::GetLetter($permission);
            }
        }
        else
        {
            
$permission_letter $permission;
        }

        if(
$permission_letter <> '')
            
$APPLICATION->SetGroupRight($module_id$group_id$permission_letter);
        else
            
$APPLICATION->DelGroupRight($module_id, array($group_id));
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение