Наши скрипты > Sanitarium WebLoG
Критика: конструктивная и не очень.
(1/1)
AlexanderIpp:
Вот ковыряю я этот Санитариум.
Вообще мне был нужен приличный движок для интеграции с конфой на Ikonboard 2.1.9.
С Perl\'ом знаком неплохо, с DBM тоже.
По-идее скрипт типа данного движка - штука не очень сложная, и применения ООП не требующая. Сам бы написал, да времени нет.
По-идее мне многие фичи были не нужны, например, комментарии я тут же сделал средствами конфы.
Мои претензии таковы:
1. Применение модулей и излишний уклон в ООП. МОдифицировать из-за этого движок почти невозможно, по крайней мере, использовать стандартные встроенные функции очень сложно, приходится всё делать самому руками.
Имхо, этим и объясняется малое кол-во хаков к этому движку, хотя он уже довольно известен...
2. Отсутствие использования CGI.pm. Зачем читать формы руками, выводить заголовки и пр. ими же? Если есть такая приличная вещь?
3. Отсутствие встроенной защиты. Мне в общем-то пофиг, я всё на основе иконбордовского логина сделал, но...
4. Излишняя страсть автора скрипта ко всеобщему усложнени всего подряд. Тот же auth_mod. Куда такие навороты?..
Сюда же и модули и прочее.
Вообще я многие фичи так и не сумел реализовать.
Увы, как только появится лишняя от-но свободная неделька, придётся написать свой движок... Жаль...
Хотя многое сделано неплохо. Если использовать Санитариум как готовый продукт, то ему почти нет равных.
Green Kakadu:
--- Цитировать ---Отсутствие использования CGI.pm. Зачем читать формы руками, выводить заголовки и пр. ими же? Если есть такая приличная вещь?
--- Конец цитаты ---
согласен абсолютно. Понимание этого ко мне пришло несколько позже чем нужно было.
--- Цитировать ---МОдифицировать из-за этого движок почти невозможно, по крайней мере, использовать стандартные встроенные функции очень сложно, приходится всё делать самому руками.
--- Конец цитаты ---
;) лучше не так сказать - модифицировать несложно, но почти все это должно производится через Sanitarium_WL.pm, а там сложно разобраться - все из-за того, признаю, что ;) я это недостаточно структурировал и по большому счету, сделал несколько безграмотно, но этому есть достойное объяснение - в первый раз :) как-никак.
С другой стороны, могу со всей честностью заявить, что мои следующие "творения" (если таковые будут), будут менее громоздки в плане структуры.
--- Цитировать ---Излишняя страсть автора скрипта ко всеобщему усложнени всего подряд. Тот же auth_mod. Куда такие навороты?..
--- Конец цитаты ---
я не программист, а связист - возможно сказывается разный менталитет.. Хотя мне не кажется что auth_mod так уж и усложнен, просто хранить не зашифрованный пароль было бы ИМХО неразумно, хотя опять же есть и в этом доля истины..
+ ко всему явно надо доправить некоторые баги
--- Цитировать ---Хотя многое сделано неплохо. Если использовать Санитариум как готовый продукт, то ему почти нет равных.
--- Конец цитаты ---
я старался.
AlexanderIpp:
Green Kakadu
--- Цитировать ---но почти все это должно производится через Sanitarium_WL.pm, а там сложно разобраться - все из-за того, признаю, что я это недостаточно структурировал
--- Конец цитаты ---
Угу. И того, имеем то, что приходится всё делать самому руками. Благо dbm в сущности штука несложная. :)
--- Цитировать ---в первый раз как-никак.
--- Конец цитаты ---
Для первого раза - очень мощно! :up:
--- Цитировать ---просто хранить не зашифрованный пароль было бы ИМХО неразумно, хотя опять же есть и в этом доля истины..
--- Конец цитаты ---
А смысл шифровать? Если кто-то получит доступ к компу, на котором всё это лежит в куках, то тут уже и шифрование не спасёт. А так - лишние сложности.
--- Цитировать ---я старался.
--- Конец цитаты ---
Вижу. :)
Теперь вопрос ближе к делу.
Я хочу сделать генерацию смайлов средствами Ikonboard. При этом динамическую, т.е. не при постинге статьи, а при её выводе.
Где искать вывод ТЕКСТА статьи при печати или простом просмотре?
Green Kakadu:
--- Цитировать ---всё это лежит в куках, то тут уже и шифрование не спасёт. А так - лишние сложности.
--- Конец цитаты ---
в куках только идентификатор и время сессии.
--- Цитировать ---Где искать вывод ТЕКСТА статьи при печати или простом просмотре?
--- Конец цитаты ---
Sanitarium_WL.pm
(строка 438) sub build_article
Вот эта часть:
--- Код: ---
#if use dinamic generated pages
if ($page_view){
$self->{\'page\'}=$page_view;
$self->unpack_rec($article_db{$pages[($page_view - 1)]});
#$self->get_author_info();
if ($print){
#make for mail & print pages
if ($self->{\'static_pages\'}){$self->{\'article_url\'}="$self->{\'public_url\'}/$self->{\'cat_id\'}/$id"."_1.$self->{\'ext\'}";}
else {$self->{\'article_url\'}=$self->{\'view_cgi_url\'}."?goto=$id";}
$self->load_templates($print);#$print = \'print\' or \'mail\'
}
$self->{\'static_pages\'}=0;
return $self->parse_article_template;
}
--- Конец кода ---
Возможно удобнее будет перехватывать все это и вводить дополнительную обработку отсюда: (строка 530 ) sub parse_article_template.
Т.е. уже последний этап перед вставкой содержимого в шаблоны.
Текст статьи : $self->{\'content\'}
Превью: $self->{\'preview\'}
Т.е. можно с ними что-нибудь поделать, а потом опять закинуть в те же значения хеша и пустить на окончательную обработку.
AlexanderIpp:
Green Kakadu
--- Цитировать ---в куках только идентификатор и время сессии
--- Конец цитаты ---
Я особо не вникал, так глянул, поверхностно. :)
--- Цитировать ---Sanitarium_WL.pm
(строка 438) sub build_article
Вот эта часть:
--- Конец цитаты ---
Ok, гляну.
Вообще второй вариант наверное лучше.
Ладно, ещё поковыряюсь завтра, потом ещё вопросы будут. :)
Навигация
Перейти к полной версии