Skip to content

Instantly share code, notes, and snippets.

@XOlegator
Created November 19, 2020 07:05
Show Gist options
  • Save XOlegator/906fd351294dcb8f25b4df7e79c3c76b to your computer and use it in GitHub Desktop.
Save XOlegator/906fd351294dcb8f25b4df7e79c3c76b to your computer and use it in GitHub Desktop.
Магические константы Битрикса, которые имеет смысл принудительно определять при выполнении служебных скриптов (AJAX, cron, exchange и т.п.)
<?php
/**
* Это стандартный заголовок для какого-либо обработчика AJAX вызова
* или обращения к API на Битриксе: всё то, где не выполняется обычная страница сайта.
* Коллекция "магических" констант Битрикса, меняя которые под требования скрипта, -
* можно существенно снизить нагрузку сервера (меньше исполнения PHP-кода, меньше запросов к БД).
* ВНИМАНИЕ! Константы с комментариями - нужно менять их значения или вообще удалять, -
* в каждом конкретном применении надо действовать индивидуально
*/
/**
* Битриксовая константа.
* Если в настройках битрикса включена смена идентификатора сессий,
* эта константа позволит работать обмену с 1С
*/
//define('BX_SESSION_ID_CHANGE', false);
/**
* Битриксовая константа.
* Пропустить обработку $_POST, - обрабатыватются только
* $_GET и $_COOKIE и оба массива параметров сливаются в один - $_REQUEST
*/
//define('BX_SKIP_POST_UNQUOTE', true);
/**
* Битриксовая константа.
* При установке в true отключает выполнение всех агентов (если они на хите работают)
*/
define('NO_AGENT_CHECK', true);
/**
* Битриксовая константа.
* Если инициализировать данную константу каким либо значением,
* то это запретит сбор статистики на данной странице.
*/
define('NO_KEEP_STATISTIC', 'Y');
/**
* Битриксовая константа.
* Инициализация этой константы каким-либо значением
* приведет к запрету следующих действий модуля "Статистика",
* выполняемых ежедневно при помощи технологии агентов:
* 1) перевод на новый день;
* 2) очистка устаревших данных статистики;
* 3) отсылка ежедневного статистического отчета.
*/
define('NO_AGENT_STATISTIC', 'Y');
/**
* Битриксовая константа.
* Запрет реакции на служебные параметры в URL (анализ быстродействия и пр.).
* Например, при включенной битриксовой отладке перестанут
* в AJAX-ответы подмешиваться сообщения о метриках (что ломает JSON и т.п.).
*/
define('PUBLIC_AJAX_MODE', true);
/**
* Битриксовая константа.
* Запрет обработки отправки писем на хите. Если это установить,
* то отправка писем должна работать по cron, -
* если cron не настроить, то письма вообще не будут уходить!
*/
define('DisableEventsCheck', true);
/**
* Битриксовая константа.
* Отключить функционал блокировки посетителей по превышению лимита активности
*/
define('STATISTIC_SKIP_ACTIVITY_CHECK', true);
/**
* Битриксовая константа.
* Константа предназначена для отключения автоматического сбора статистики,
* реализованного как вызов функции CStatistics::Keep
* в качестве обработчика события OnBeforeProlog.
*/
define('STOP_STATISTICS', true);
/**
* Битриксовая константа.
* Если определить константу, то сообщения модуля безопасности будут
* не через AJAX (возвращается JavaScript),
* а через простой текст (echo)
*/
define('BX_SECURITY_SHOW_MESSAGE', true);
/**
* Битриксовая константа.
* Если инициализировать данную константу значением "true" до подключения пролога,
* то это отключит проверку прав на доступ к файлам и каталогам.
*/
define('NOT_CHECK_PERMISSIONS', true);
/**
* Битриксовая константа.
* Отключает интеграцию с Битрикс24
*/
define('B24CONNECTOR_SKIP', true);
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
// Далее сам скрипт
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment