Изменил механизм регистрации и выполнения евентов в экшене.
Теперь можно регистрировать евент используя регулярные выражения, как для самого евента, так и для всех параметров, передаваемых в URL. Это позволяет избавиться от переопределения метода
EventNotFound() при динамических евентах.
$this->AddEvent('edit','EventEditBlog');
$this->AddEventPreg('/^(\d+)\.html$/i','EventShowTopicPersonal');
$this->AddEventPreg('/^\w+$/i','/^(\d+)\.html$/i','EventShowTopic');
$this->AddEventPreg('/^\w+$/i','/^bad$/i','/^$/i','EventShowBlogBad');
$this->AddEventPreg('/^\w+$/i','/^bad$/i','/^page(\d+)$/i','EventShowBlogBad');
Так же осталась возможность использовать старый вариант с методом
AddEvent(), он просто является оберткой для
AddEventPreg().
Изменения здесь —
http://trac.lsdev.ru/livestreet/changeset/35, просьба кто может протестить новый механизм :)