Блог о программировании на PHP, Yii2, 1C-Bitrix

Зануление битрикса

Иногда требуется более чем 1 месяц для разработки сайта, и редакция ниже бизнеса. В связи с этим иногда бесит надпись «Срок пробной версии продукта истек», да и не столько бесит, сколько она выводится до DOCTYPE и теряется распознавание line-height для некоторых блоков.

P.S. У нас имеются NFR только на бизнес.

Решение не заставляет себя ждать, хакаем битрикс, для этого:

  1. Ищем файлик /bitrix/modules/main/include.php
  2. Делаем поиск по слову OLDSITEEXPIREDATE
  3. Ищем строчку следующего вида:
    $GLOBALS[___1052505947(118)]= OLDSITEEXPIREDATE;
    $GLOBALS[___1052505947(119)]= array();
  4. если расшифровать, то это строки вида:
    $GLOBALS["SiteExpireDate"] = OLDSITEEXPIREDATE;
    $GLOBALS["arCustomTemplateEngines"] = array();
  5. Перед этим определением идут две строчки:
    $GLOBALS['____1744271346'][67]($_1470031424, $_1127614367);
    $GLOBALS['____1744271346'][68]($_1804910315, $_633755920);

    это

    define( "OLDSITEEXPIREDATE", $_1127614367 );
    define( "SITEEXPIREDATE",  $_633755920 );
  6. Заменяем $_1127614367 и $_633755920 на 1682990400, это 2 мая 2023 года в юникс формате. Я думаю этой даты хватит, пока мой блог будет жить.

P.S. Также комментируем цикл for до объявления этих переменных, из-за него срабатывает die() на даты конца лицензии.

P.P.S. Используется для скорости разработки, чтобы не ждать ключа от редакции. Обновления соответственно все равно остаются блокированными.