Проверка групп пользователя и исключение разделов

Проверка групп пользователя и исключение разделов

Пример события для проверки групп пользователя с целью исключить разделы из общего доступа

Код события (скачать пример)

AddEventHandler("main", "OnBeforeProlog", "GinyInitSettings", 50);

function GinyInitSettings() {

    // exclude sections from public access

    if(CModule::IncludeModule("iblock")) {

        global $HIDDEN_SECTIONS_IDS;

        global $USER;

        $UF_USER_GROUP = array(

                            1 => 22, // admins

                            9 => 23,  // wholesalers

                            10 => 24,  // УПРАВЛЯЮЩИЕ

                            );

        $HIDDEN_SECTIONS_IDS = array();

        if (!$USER->IsAuthorized()) {

            $db_sid = CIBlockSection::GetList(Array("ID"=>"ASC"), Array('IBLOCK_ID'=>18, 'GLOBAL_ACTIVE'=>'Y', '!UF_USER_GROUP' => false ), false, array("ID"));

            while($ar_sid = $db_sid->GetNext()){

                $HIDDEN_SECTIONS_IDS[] = $ar_sid["ID"];

            }

        }else{

            $userHiddenGroups = array();

            $arUserGroups = CUser::GetUserGroup($USER->GetID());

            foreach($UF_USER_GROUP as $tmpGroupID => $tmpGroupVALUE) {

                if( !in_array($tmpGroupID, $arUserGroups )) {

                    $userHiddenGroups[] = $tmpGroupVALUE;

                }

            }

            if(!empty($userHiddenGroups)){

                $db_sid = CIBlockSection::GetList(Array("ID"=>"ASC"), Array('IBLOCK_ID'=>18, 'GLOBAL_ACTIVE'=>'Y', 'UF_USER_GROUP' => $userHiddenGroups ), false, array("ID"));

                while($ar_sid = $db_sid->GetNext()){

                    $HIDDEN_SECTIONS_IDS[] = $ar_sid["ID"];

                }

            }

        }

    }

}

Ещё статьи:

09.11.2022 NetAngels символьные ссылки не работают для битрикс
На тарифе виртуального сервера в NetAngels я создал символьные ссылки для второго сайта, но они не работают 403 ошибка и непонятно в чём причина. Но причина была интересной)))) грустный смайлик ID: 344

06.10.2022 Задача модуль сертификатов
Разработать кастомный модуль сертификатов для сайта на CMS Bitrix
Суть модуля: Генерация 2х видов сертификатов для участников семинара. ID: 343

06.10.2022 Задача SEO модуль перелинковки
Нам необходимо разработать небольшой модуль для реализации перелинковки разделов компонента bitrix.catalog:

- Управление - через импорт-экспорт CSV/XLSX файла (доступен для использования модуль esol.importexportexcel);

- Вывод на страницах разделов двух раздельных блоков ссылок по простым правилам сортировки/отображения ($arSection["DESCRIPTION"] затрагиваться не должен);

- Отдельный скрипт проверки наличия активных товаров в разделах, на которые ставятся ссылки, и деактивация ссылок на такие разделы (с возможностью запуска после импорта, вручную и по cron-расписанию); ID: 342

© 2015-2022 Web админ
Связаться по WhatsApp