DataLife Engine (DLE)
01.07.2009, 22:41Рубрика: other
Пришлось столкнуться с платным движком под название DataLife Engine. Не буду отрицать, впечатление хорошее. Административная часть так вообще на ура. Очень много настроек, гибкость системы, а главное легкость и понятливость. В общем, все, что нужно продвинутому пользователю.
Но как известно, никуда без ложки дегтя. Так как предстоящий проект не совсем подходил под движок, нужно было лезть вглубь. И тут же первое впечатление стало сходить на нет.
- Шаблоны просто жесть... Привычка использования гибкости smarty (и подобных) дает о себе знать. Нет php поддержки, все нужно в модулях прописывать. Странно, но в login.tpl как раз наоборот. Так почему же не выбрать один способ? Либо include, либо read? И так же сделать два шаблона login, для авторизованного и для не авторизованного пользователя. Пришлось в итоге инклюдить все шаблоны.
- Один из принципов программирования нарушен: повторение одних и тех же функций (к примеру function.inc.php – для админки, и function.php – для публичной части). То есть, хочу что то изменить, и нужно искать все (а не одно!) места.
- Добавление новостей (addnews.php) и редактирование (editnews.php) в разных файлах. А значит и сами формы в разных файлах, а значит опять по сто раз менять одно и тоже. Вот захотелось добавить что то сверх естественное (не используя DLE дополнительные поля) и готовимся по два раза это делать.
- Удаление новостей тоже забавно. Устанавливается флаг “yes” в $ifdelete. Забавное в удалении то, что перед тем как удалить, он производит кучу операций которые нужны при сохранении новости. Я даже был приятно удивлен когда увидел что перед удалением, новость не обновляется. А конструкция изменения новостей, такая же как в 5п. Только из-за того, что дата подставляется.
- Способы изменения и добавления информации в базу, тоже интересные. К примеру обновление профиля пользователя:
if( strlen( $password1 ) > 0 ) {
$password1 = md5( md5( $password1 ) );
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";
} else {
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";
}
Здесь не особо важно, но strlen( $password1 ) > 0 можно было бы заменить на $password1 != “”. Хотя всю конструкцию можно было бы заменить на один SQL запрос:
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', " . ($password1!=""?"password='" . md5( md5( $password1 ) ) . "',":"") . " allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";
- Так же, хотелось бы заметить, что в SQL можно присваивать так называемые алиасы для таблиц:
FROM " . PREFIX . "_comments as _c
И писать потом:
_c.id, _с.user_id и т.д. и т.п.
а не
PREFIX . "_comments.id и PREFIX . "_comments.user_id
И еще, все javascript скрипты запакованы. Для чего? Для того чтобы тормозить клиентскую сторону? Все равно распаковать их не проблема.
Можно еще найти много чего, но смысл? И так все понятно. Движок очень популярен, и таким он останется. Но не для программистов это точно.
Очередной раз убеждаемся, что свой корявый код, куда приятнее чужого корявого кода.
Ссылки по теме:
|
cma-cms
(11.06.2010, 19:31:12) пишет: |
|
Aion-Top
(30.12.2009, 20:51:57) пишет: |
- datalife engine powered ©
- dle тормозит
- тормозит dle
- как удалить DLE
- не устанавливается dle
- DLE xfields
- xfields dle
- DLE Password
- DLE smarty
- не устанавливаеться dle
- dle дополнительные поля
- dle md5
- dle не устанавливается
- {xfields} dle
- Дополнительные поля в DLE
- smarty dle
- Форма добавления новостей dle
- md5 dle
- JQuery для DLE
- xfield dle
- datalife engine
- dle password md5
- как добавить поле в DLE
- Smarty в DLE
- include php in DLE
- дополнительные поля на DLE
- dle тормоз
- dle addnews.php
- как удалить движок ДЛЕ
- почему тормозит DLE
- дополнительные поля новостей dle
- Тормоза DLE
- Как обновить движок DLE
- что такое DLE
- datalife engine
- developing.name
- DLE set names
- Powered by DataLife Engine
- addnews.php DLE
- dle
- Powered by DLE
- DLE dnjhjq hfp yt ecnjyfdkbdftnmcz
- datalife engine xfield
- Include файла в DLE
- Как изменить имя пользователя на ВДУ,
- изменить адрес админцентра dle
- dle удалить Обновление профиля пользователя
- DLE данные xfields
- движок DataLife Engine не ставится
- как изменить поле DLE