Еще со времен работы над kohana-world.com оставались наработки в области аутентификации с помощью сторонних сервисов (соцсети и тд). Не так давно решил причесать их, довести до ума (читай до версии 3.3) и оформить в виде отдельного модуля. Далее…
В Kohana популярны методы, являющиеся одновременно и сеттерами, и геттерами. Например, в классе Request это query(), post(), headers() и т.д. В них можно передать как массив значений, так и отдельную пару. И вот тут-то есть нюанс:
Как известно, файловая система Mac OS X не обладает чувствительностью к регистру. В связи с этим возникают проблемы при переименовании файлов и директорий (это актуально при апгрейде на Kohana v3.3, помните?). Git начинает «видеть» как старые, так и новые версии файлов. Далее…
Как-то не сразу обнаружил, что уже пару дней как объявлен долгожданный первый релиз ветки 3.3.x с кодовым именем badius. Основные изменения я ранее уже описывал, повторяться не буду. Далее…
Не успела докачаться недавно вышедшая версия 3.2.1, как разработчики объявили о релизе 3.2.2 (zip). По сути версия содержит только одно исправление, но зато какое! Фреймворк содержал дыру, позволявшую выполнять произвольный PHP-код. Об этом недавно писали на Хабре, и по итогам обсуждения задачи #4591 исправление вышло отдельным релизом. Фреймворк можно поправить с помощью вот такого переопределенного класса URL.
В версии 3.2 разработчики поменяли поведение метода Request->uri() (#3690). В 3.0-3.1 этот метод позволял получить «соседний» URI с применением небольших изменений, например: Далее…
Добавлены методы has_any($alias, $far_keys = NULL) и count_relationships($alias, $far_keys = NULL). Первый метод определяет, имеет ли модель хотя бы одну запись в указанной связи $alias. А метод count_relationships() возвращает общее количество записей по данной связи. Например, если в системе имеются роли ‘login‘ (ID=1) и ‘admin‘ (ID=2), и пользователь $user имеет только роль ‘login‘, то: