Я решил, что будет неплохо, если я буду раз в неделю писать об изменениях, которые производятся при разработке СБ. Так как занимаюсь я этим только в выходные (ибо времени нет), то и выходить они будут небольшими размерами.
Начнём с веб-части.
- Удалена поддержка летнего времени. Эта фича работала очень странно, да и ею в России не пользуются. Вдобавок PHP, насколько мне известно, сам умеет уже обрабатывать этот кейс. Так что это было лишней настройкой.
- Обновлён список часовых поясов, починили часовые пояса вообще. Они не работали в последней dev-версии, т.к. я случайно вырезал связанный с этим функционал. Теперь всё работает, как и прежде, и даже лучше (по ощущениям, полученным при тестировании на разных хостах стабильной и dev-версии).
Изменения в этой сфере критичны и несовместимы со старой системой часовых поясов, потому часовой пояс при запуске обновлятора сбросится на Московский.
- Автозагрузчик классов обновлён. Это подкапотное изменение, никак не повлияет на интерфейс.
При загрузке файла с классом, если у него объявлен статический метод boot(), то он будет вызван.
Зачем это может быть полезно? При стартовой конфигурации класса, например. Класс часового пояса, например, при загрузке выставляет Лондонский часовой пояс, пока не будет вызван метод установки часового пояса из настроек.
- Починили мут из веб-части при использовании нового плагина. Старый в процессе, не переживайте.
С вебом пока всё, но ещё планируется в течении дня:
- Починить мут из веб-части при использовании старого плагина.
- XAJAX. С ним надо что-то делать. Там сейчас собирается очень нелепо ответ, что иногда приводит к XAJAX Error.
- Разрешить ввод любого SteamID при выдаче бана/мута/админки. И даже ссылки на профиль(sic!).
- Окончание миграции на SypexGeo. Но что-то мне подсказывает, что сегодня я не успею, ибо надо ещё многое сделать...
Так как я занимаюсь старым плагином (
не всем привычен новый, и я их понимаю: сам не привыкну к новому, а админы ругаются, когда ставлю его), то вынужден так же сообщить об одном изменении, которое было сделано.
- Исправлено поведение функции GetAdmImmunity() в плагине мутов.
В чём проблема? При снятии мута, Вы могли заметить, что SourceComms проверяет иммунитет админа, который выдал мут, и иммунитет админа, который снимает.
Проблема в том, что эта функция вызывалась при выдаче мута админом на сервере и её результат кешировался. Она возвращала персональный иммунитет админа, не учитывая групповой, что приводило к забавной ошибке: любой админ мог снять мут любого админа, пока игрок с мутом не перезайдёт.
Почему баг не проявлялся при перезаходе игрока с мутом? Всё просто. При получении мута из базы, SourceComms запрашивает и персональный иммунитет админа, и групповой (который он получает от админ группы).
На эти выходные пока всё. В воскресенье подготовлю подобного же плана пост.
И, может, уже в следующие выходные будет релиз 1.1.6, если я всё успею закончить...