Блог о программировании на 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. Используется для скорости разработки, чтобы не ждать ключа от редакции. Обновления соответственно все равно остаются блокированными.

  • EB

    Метод не работает, после подстановки сайт сразу блокируется в связи окончанием даты…

    • admin

      Спасибо, действительно недостаточно просто изменить эти переменные, обновил статью.

  • Eugene

    Для веб-кластера не работает?!

    • admin

      Если честно не пробовал, теоретически должно, система обновления то идентичная :)

      • Eugene

        Как только не пробовал, не выходит! Может не так пробовал…

        • admin

          По сути главное подменить дату окончания лицензии, если не получается, можно попробовать провести деобфускацию кода и поиграться с ним :)
          Мой метод не панацея, возможно еще, что битрикс придумали что-то новое, надо пробовать :)

          • Eugene

            Видимо это не для “чайников” :) все сложно однако…

    • Дмитрий Михеев

      Класс всё работает, не забудьте про этот файл

      /bitrix/modules/main/include/prolog_after.php

      Комментируем строки вида

      if(OLDSITEEXPIREDATE != SITEEXPIREDATE)

      die(GetMessage(“expire_mess2”));

      После этого сайт должен заработать.

  • Дмитрий Михеев

    Класс всё работает, не забудьте про этот файл

    /bitrix/modules/main/include/prolog_after.php

    Комментируем строки вида

    if(OLDSITEEXPIREDATE != SITEEXPIREDATE)

    die(GetMessage(“expire_mess2”));

    После этого сайт должен заработать.

  • LeXX

    А у меня не работает. (((( У меня была дата 661192717 – 14 Dec 1990 16:38:37.

  • Валера

    Автор спасибо, выручил.

  • Boojin

    Здравствуйте.
    Можете подсказать это тема с именно этими исправлениями еще работает в версии 16 битрикса? А то данная тема весьма актуальна :)

    • Царь

      Работает и будет еще долго работать

      • Boojin

        Я попробовал заменить на 1682990400 и у меня сверху начало писать осталось 2426 дней, но я не смог сделать это “P.S. Также комментируем цикл for до объявления этих переменных, из-за него срабатывает die() на даты конца лицензии.” я нашел три цикла комментирую их и сайт совсем не работает… Я может не правильно комментирую потому что там же все в строку, можете подсказать как правильно или прислать файл для примера на почту([email protected])?
        Заранее спасибо за ответ!

        • Станислав Задирака

          Комментируйте ближайший предшествующий измененным переменным цикл вида for(…); В любом редакторе с подсветкой можно найти закрывающую скобку.

      • Boojin

        У меня вот так стало писать
        “Срок работы пробной версии продукта истек. Вы можете купить полнофункциональную версию продукта на сайте http://www.1c-bitrix.ru. Регистрация.” и сайт совсем перестал работать….
        Это можно, как-то исправить?

  • Сергей

    Подскажите, реально ли обновить версию с просроченной лицухой, не продлевая при этом лицуху?

  • Алексей

    Видимо уже не работает.
    ;$GLOBALS[‘____319278922’][70]($_1692327486, $_295264562); $GLOBALS[‘____319278922’][71]($_153512303, $_481143246); $GLOBALS[___1686497687(121)]= OLDSITEEXPIREDATE;

    замена не решает проблему