Наши скрипты > 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, гляну.
Вообще второй вариант наверное лучше.
Ладно, ещё поковыряюсь завтра, потом ещё вопросы будут. :)

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии