Web frameworks

Подписаться на эту рубрику по RSS

Обновил модуль Kohana CheatSheet

Просмотров: 2736Комментарии: 1
Web frameworks

Добавлен комментарий класса, обновлен jQuery.

Актуальны две версии:

  • в ветке master версия для текущей версии фреймворка (сейчас это 3.1.0). Пример можно посмотреть тут.
  • в ветке ko3.0.x версия для kohana 3.0.х. Пример тут

Краткий туториал по Jelly-Rauth

Просмотров: 2979Комментарии: 0
Web frameworks

Всех тех, кто празднует Рождество Христово 25 декабря -- с Праздником!


Приходят письма с просьбами продемонстрировать особенности работы с моей библиотекой аутентификации для ORM Jelly. С этой целью покажу, как можно написать каркас для системы под следующие требования: админка + регистрация посетителей (то и другое с возможностью автологина).

Далее...

Jelly-rAuth - мой модуль аутентификации для Kohana 3

Просмотров: 3451Комментарии: 0
Web frameworks

Announced my view on what should be Kohana 3 authentication library (see my github repo for readme).


Если кому интересно, выложил немного причесанный модуль, скажем, jelly-rauth, которым реализую аутентификацию в Кохане 3. Постарался все описать в README, лишь немного более развернуто по отличиям:


  •  Это не драйвер к какой-либо из имеющихся библиотек, а самостоятельный и самодостаточный модуль (требует только Jelly).  Разумеется, предпочтительнее было бы реализовать его с возможностью подключения драйверов для разных ORM. Возможно так и сделаю в будущем, если будет интерес со стороны сообщества. Но не сейчас smile
  • При разработке мне время от времени требуется задавать разные настройки для разных типов пользователей. Например, разную соль для обычных пользователей и администраторов. Ну и чтобы по разным табличкам были, хотя это дело вкуса, наверное smile Не нашел лучшего решения, чем добавить многопрофильность в конфиг. Теперь смело шифруем пароли обычных пользователей md5, а одминские -- sha512 smile

  • Убрал систему ролей. Ну не нужна она здесь, мне кажется, ибо это вотчина ACL! Там и роли, и ресурсы, все логично.  

  • Вместо ролей заделал булевское свойство 'is_active', которое отвечает за бан юзера и тем самым отчасти является аналогом прежней роли 'login'. 

  • Стало можно проверять существование пользователя в базе данных при каждом вызове logged_in() на случай если вдруг он был удален.


В итоге получилось, как мне кажется, нечто более компактное и даже может быть простое. Впрочем, исключительно на мой вкус. Конечно, сюда нужна и библиотечка для ACL, возможно чуть попозже тож поделюсь наработками, пока непричесано smile

Обновление Jelly-MPTT

Просмотров: 5428Комментарии: 8
Web frameworks

Немного разгребся с текущей загрузкой (а было тяжко smile и обновил, вернее, немного переписал Jelly-MPTT. Поуменьшилось ненужных классов и стало в более "желейном" стиле, без расширения Jelly_meta. Пока что тестировалось только  стандартными юнит-тестами. Старая версия перемещена в ветку deprecated, хотя она вполне рабочая, если до этого работала у вас нормально smile

+++

А доводилось ли вам замечать, что движение курсора мыши нелинейно по отношению к смещению самой мыши? Чем быстрее двигаешь, тем дальше смещается курсор при одном и том же смещении мыши. Это совершенно логично и привычно, но не всегда осознается smile

Kohana 3 CheatSheet на Github

Просмотров: 2268Комментарии: 0
Web frameworks

Kohana 3 CheatSheet module on GitHub


Исправил несовместимость версии 0.3 модуля с Kohana 3.0.6 и создал репозиторий на Гитхабе. Все ж действительно проще поддерживать и как-то нагляднее и прозрачнее получается, чем распространять архивом. К сожалению, не совсем хорошо знаком с Markdown, поэтому проблемы с разметкой, но надеюсь привести в приличный вид со временем.


PS Забыл сказать, что в новой версии немного расширил возможности по исключению классов из выдачи, разрешив простейшие маски имен классов (см. документацию). Ну и убрал возможность исключать директории, потому что это дублирование функционала

Kohana 3 Curl module

Просмотров: 4624Комментарии: 4
Web frameworks

Github kohana-curl repo


Модифицировал библиотеку Kohana-curl-library для использования в качестве модуля в Kohana 3. Из дополнений -- возможность множественной установки опций с использованием curl_setopt_array(), задание опций в конфигурационном файле, да некоторая (как мне кажется, обоснованная) шлифовка.  

 +++++++

I've modified Matt Wells' Kohana 2 Curl library to use with Kohana 3 PHP framework. Some main additions are using curl_setopt_array() for simultaneous many options setting, possibility to set options in config file. Any feedback will be appreciated.

Использование библиотек ACL и A2 с Jelly-Auth

Просмотров: 4542Комментарии: 6
Web frameworks

Briefly in English

In this part of Jelly-Auth Kohana 3 tutorial I try to implement ACL. To be translated.


Предыдущая часть


Итак, продолжаем допиливание макета админки, сделанного на Kohana 3 с помощью расширений Jelly и Jelly-Auth. В прошлый раз мы остановились на том, что мне нужна система управлением правами доступа. Вкратце система ролей может выглядеть примерно так:

- роль 'login' позволяет пользователю логиниться в админку. Фактически, она является признаком того, что пользователь активен, а для (временной) деактивации ее можно удалять;

- роль 'user' соответствует пользователю - не администратору. Позволяет редактировать свой профиль кроме назначения ролей;

- роль 'admin' позволяет осуществлять все возможные действия, за исключением редактирования паролей пользователей (ограничение весьма условное, однако для примера сгодится);


Из уже готовых расширений для Kohana 3, позволяющих реализовать достаточно сложную систему управления правами доступа я отметил для себя A2/Acl и Aacl. Первое внедряет в Кохану Зендовскую систему управления доступом, второе же придерживается другой идеологии, позволяя автоматически задавать доступ к целым классам. И хотя последнее нравится мне гораздо больше, но я не нашел как без своих патчей реализовать вывод элементов страниц в зависимости от разрешений на доступ. Поэтому пока что буду внедрять A2/ACL.

Далее...

Jelly-MPTT

Просмотров: 3858Комментарии: 9
Web frameworks

Попытался портировать Modified Preorder Tree Traversal  со Sprig-MPTT на Jelly (для Kohana 3). Вещь нужная, т.к. деревья встречаются часто, и с ними надо работать. Сильно помогло наличие юнит-тестов, правда, пришлось переделать их под PHPUnit. Буду благодарен за критические отзывы и сообщения об ошибках. На гитхабе это мой первый репозиторий, поэтому могут быть косяки.


+++++++

I tried to port Paul Banks' Sprig-MPTT for Jelly Kohana 3 extension. I have little experience with Jelly (and unit tests helped me very much to do this work) so any feedback especially bugs and coding principles will be highly appreciated. I'm a novice on github so pardon my git issues. 


Github Jelly-MPTT repo

Discuss on Jelly Forum

Authentication using Jelly and Jelly-Auth. Part 2

Просмотров: 4275Комментарии: 0
Web frameworks

Russian version "Аутентификация с использованием Jelly и Jelly-Auth -- часть 2"


Previous part of the tutorial



In this part of Kohana 3 tutorial I'll add auto-login and make some using of the role system, presented in Jelly-Auth Kohana 3 module. But at first some updates for previous part needed. 

1. Instead of
[code lang="php"]$this->auth = Jelly_Auth::instance();[/code]
it would be better to use
[code lang="php"]$this->auth = Auth::instance();[/code]
to retain some code flexibilty. Thanks SpadXIII


2. The Kohana 3 ORM module is really useless here and can be unplugged. Thanks to Sezarin.
Далее...

Аутентификация с использованием Jelly и Jelly-Auth -- часть 2

Просмотров: 5528Комментарии: 6
Web frameworks

Briefly in English
Next part of tutorial on using Kohana 3 Jelly and Jelly-Auth (autologin, built-in role system application). Will be translated soon.


Часть 1


В этой части добавятся автологин и использование встроенной ролевой системы. Однако сначала проведу работу над ошибками

1. вместо
[code lang="php"]

$this->auth = Jelly_Auth::instance();

[/code]
лучше
[code lang="php"]

$this->auth = Auth::instance();

[/code]
Thanks SpadXIII


2. модуль ORM здесь действительно не нужен и его можно спокойно отключить (спасибо Sezarin).
Далее...