fixed Сидбонусы

У меня была такая же проблема. Выскакивала ошибка на крон-задачу статистики. Далее, я рассуждал так:
я проверил ещё раз php-код и таблицы в базе на предмет запятых вместо точек в десятичных представлениях чисел сидбонусов. Оказалось, что у меня всё в порядке.
Все знают, что php очень вольно относится к преобразованиям типов переменных, и по собственному усмотрению может преобразовать один тип в другой.
Сидбонусы, которые у нас прописаны в админке, сериализуются (преобразуются в пригодное для хранения представление) в массив значений типа value, после чего отправляются в базу (переменная seed_bonus_points таблицы bb_config).
Как должно происходить обратное преобразование (десериализация)? Судя по мануалу (http://php.ru/manual/function.unserialize.html раздел "Возвращаемое значение"), обратное преобразование может быть к одному из пяти (!) типов. По здравой логике, php сам должен был бы преобразовать по умолчанию к типу float...
Далее, я исходил из того, что php мог вольно десериализовать к любому типу по своему усмотрению. К тому же, нельзя забывать, что у всех разные трекеры и разные числа сидбонусов... поэтому я решил воспользоваться явным преобразование к типу float.
В 177-ой строке крон-задачи статистики (файл library/includes/cron/jobs/tr_cleanup_and_dlstat.php) есть строка с десериализацией:
PHP:
$seed_bonus = unserialize($bb_cfg['seed_bonus_points']);
я её заменил на строку с явным преобразованием к типу float:
PHP:
$seed_bonus = (float) unserialize($bb_cfg['seed_bonus_points']);
После чего, ошибка крон-задачи Tracker cleanup and dlstat из логов полностью исчезла и сидбонусы заработали нормально.

P. S. Вся эта ситуация заставила меня вспомнить одну из простых истин:
"Хороший стиль программирования предполагает явное преобразование типов данных".

Предлагаю в следующий билд включить указанную выше поправку.
 
А как убрать эти запятые на совсем? Обновил до новой ревизии по ссылке... Но при редактирование и на странице Обмена бонусов запятые остались... Всё перекопал, но запятые эти так и не увидел(((
 

Attachments

  • 1.webp
    1.webp
    10.7 KB · Views: 39
  • 2.webp
    2.webp
    11.2 KB · Views: 37
  • 3.webp
    3.webp
    10.7 KB · Views: 33
  • 4.webp
    4.webp
    13.2 KB · Views: 36
А как убрать эти запятые на совсем? Обновил до новой ревизии по ссылке... Но при редактирование и на странице Обмена бонусов запятые остались... Всё перекопал, но запятые эти так и не увидел(((
а если не секрет МТ какая версия движка стоит???
 
отлично. а как обновили видеоурок случайно не сделали свой тоже хочу обновить
Тут 2 варианта, скачать чистый движок и перенести все моды или же открыть гит и ручками внести все правки
 
Back
Top