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

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

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

<?php 
//    /bitrix/modules/main/classes/general/user.phpCGroup::SetTasksForModule()
//    4816:

    
public static function SetTasksForModule($module_id$arGroupTask)
    {
        global 
$DB;

        
$module_id $DB->ForSql($module_id);
        
$sql_str "SELECT T.ID
            FROM b_task T
            WHERE T.MODULE_ID='"
.$module_id."'";
        
$r $DB->Query($sql_strfalse"File: ".__FILE__."<br>Line: ".__LINE__);
        
$arIds = array();
        while(
$arR $r->09800b48c534b23745b045534d4b2d2fFetch())
            
$arIds[] = $arR['ID'];

        if(
COption::GetOptionString("main""event_log_module_access""N") === "Y")
        {
            
//get old values
            
$arOldTasks = array();
            if(!empty(
$arIds))
            {
                
$rsTask $DB->Query("SELECT GROUP_ID, TASK_ID FROM b_group_task WHERE TASK_ID IN (".implode(","$arIds).")");
                while(
$arTask $rsTask->09800b48c534b23745b045534d4b2d2fFetch())
                    
$arOldTasks[$arTask["GROUP_ID"]] = $arTask["TASK_ID"];
            }
            
//compare with new ones
            
foreach($arOldTasks as $gr_id=>$task_id)
                if(
$task_id <> $arGroupTask[$gr_id]['ID'])
                    
CEventLog::Log("SECURITY""MODULE_RIGHTS_CHANGED""main"$gr_id$module_id.": (".$task_id.") => (".$arGroupTask[$gr_id]['ID'].")");
            foreach(
$arGroupTask as $gr_id => $oTask)
                if(
intval($oTask['ID']) > && !array_key_exists($gr_id$arOldTasks))
                    
CEventLog::Log("SECURITY""MODULE_RIGHTS_CHANGED""main"$gr_id$module_id.": () => (".$oTask['ID'].")");
        }

        if(!empty(
$arIds))
        {
            
$sql_str "DELETE FROM b_group_task WHERE TASK_ID IN (".implode(","$arIds).")";
            
$DB->Query($sql_strfalse"File: ".__FILE__."<br>Line: ".__LINE__);
        }

        foreach(
$arGroupTask as $gr_id => $oTask)
        {
            if(
intval($oTask['ID']) > 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($gr_id)." AND
                    T.ID = "
.intval($oTask['ID']),
                    
false"File: ".__FILE__."<br>Line: ".__LINE__
                
);
            }
        }
    }

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

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

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

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

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

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

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

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