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

CMain::SetGroupRight: метод Битрикс

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

//    CMain::SetGroupRight()
//    /bitrix/modules/main/classes/general/main.php:2567

    public static function SetGroupRight($module_id, $group_id, $right, $site_id=false)
    {
        global $DB;
        $err_mess = (CAllMain::err_mess())."<br>Function: SetGroupRight<br>Line: ";
        $group_id = intval($group_id);

        if(COption::GetOptionString("main", "event_log_module_access", "N") === "Y")
        {
            //get old value
            $sOldRight = "";
            $rsRight = $DB->Query("SELECT G_ACCESS FROM b_module_group WHERE MODULE_ID='".$DB->ForSql($module_id,50)."' AND GROUP_ID=".$group_id." AND SITE_ID ".($site_id ? "= '".$DB->ForSql($site_id)."'" : "IS NULL"));
            if($arRight = $rsRight->Fetch())
                $sOldRight = $arRight["G_ACCESS"];
            if($sOldRight <> $right)
                CEventLog::Log("SECURITY", "MODULE_RIGHTS_CHANGED", "main", $group_id, $module_id.($site_id ? "/".$site_id : "").": (".$sOldRight.") => (".$right.")");
        }

        $arFields = array(
            "MODULE_ID"    => "'".$DB->ForSql($module_id,50)."'",
            "GROUP_ID"    => $group_id,
            "G_ACCESS"    => "'".$DB->ForSql($right,255)."'"
            );

        $rows = $DB->Update("b_module_group", $arFields, "WHERE MODULE_ID='".$DB->ForSql($module_id,50)."' AND GROUP_ID='".$group_id."' AND SITE_ID ".($site_id ? "= '".$DB->ForSql($site_id)."'" : "IS NULL"), $err_mess.__LINE__);
        if(intval($rows)<=0)
        {
            if ($site_id)
                $arFields["SITE_ID"] = "'".$DB->ForSql($site_id,2)."'";

            $DB->Insert("b_module_group",$arFields, $err_mess.__LINE__);
        }

        foreach (GetModuleEvents("main", "OnAfterSetGroupRight", true) as $arEvent)
        {
            ExecuteModuleEventEx($arEvent, array("MODULE_ID" => $module_id, "GROUP_ID" => $group_id));
        }
    }
';

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

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

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

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

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

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

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

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