Тарифы Услуги Сим-карты

Interaction intitle datalife engine панель управления. Установка DLE

«Темные лошадки» попадаются не только среди людей, но и среди CMS . Одной из таких «лошадок » является DLE .

Если о других движках на php в интернете очень много информации, то об этой CMS можно найти лишь несколько достойных материалов. Сделаем достойной и эту статью, поведав читателям о том, как установить шаблон на DLE :

Известное о неизвестной CMS

Этот движок не столь популярен в мировом интернете, как WordPress или Joomla . Он является творением русских программистов. Поэтому наткнуться на сайт, работающий на данной CMS и шаблоне для DLE , можно чаще всего в Рунете.

CMS DLE позиционируется создателями как основа для развертывания информационных порталов и блогов. Внутренняя система движка адаптирована под большие нагрузки и обладает высокой степенью отказоустойчивости:


Как и большинство движков, DLE (DataLife Engine ) работает на основе php и MySQL . Основным минусом этой системы управления контентом является ее платность. Несмотря на это DLE занимает четвертую позицию по распространенности среди ресурсов, находящихся в зоне ru. Хотя их большая часть (59 тысяч сайтов ) используют пиратские версии движка.

Лицензия на базовую комплектацию CMS сроком на 1 год стоит 2190 руб. Ее продление на второй год (и последующие) обойдется в 1490 руб. Цена расширенной версии составляет 2790 рублей.

Кроме платных версий существует и бесплатная. Такой вариант CMS преподносится производителем, как пробная версия движка и основа для создания своего первого сайта:


Самым главным недостатком DLE является слабая защищенность. Еще в 2008 году эксперты критиковали CMS за низкую безопасность ее внутренней системы при работе с запросами. Скорее всего, эта проблема не устранена и сегодня.

По аналитическим данным Яндекса за 2011 год, чаще всего зараженными оказываются сайты, работающие именно на основе CMS DLE . Последним выпуском движка на данный момент является версия 10.3. Она вышла в сентябре 2014 года.

Особенности шаблона для DLE

Шаблоны для сайтов DLE обладают рядом особенностей, которые кардинально отличают эту CMS от других систем управления контентом:

  • Структура шаблонов движка построена на основе файлов TPL . Это во многом облегчает процесс верстки и адаптации дизайна шаблона;
  • Основным файлом структуры является main.tpl . Все дополнительные элементы шаблона (меню, боковая панель ) также задаются с помощью файлов TPL ;
  • Стилевые решения прописаны в двух файлах: в engine.css заданы стили для программной части, а в style.css – все остальное:

Перед тем, как установить шаблон DLE , скачиваем его инсталляционный пакет и размещаем в папке templates :

Затем нужно зайти в панель управления сайта (файл admin.php ). После этого в меню с левой стороны выбрать пункт «Настройки скрипта », «Настройки системы »:


Внизу в разделе «Общие настройки » перейти в пункт «Шаблон сайта по умолчанию ». В выпадающем списке выбрать нужный шаблон. После внесения изменений не забудьте нажать кнопку «Сохранить »:


После этого новый шаблон активируется, и сайт поменяет свой внешний вид. Но перед тем как поставить шаблон на DLE , не забудьте его разархивировать.

В CMS DLE в отличие от других популярных систем управления контентом установка шаблона происходит не из архива.


К сожалению, большинство из шаблонов под DLE , как и сам движок, являются платными. Но если хорошо поискать, то в Рунете можно найти парочку достойных ресурсов, где можно скачать шаблоны бесплатно. Вот несколько из них:

  • dle-shablony.net – здесь для бесплатного скачивания представлено около 50 разнообразных шаблонов. Но все они «свалены » в одном общем разделе без сортировки по категориям. Хотя среди них можно обнаружить и совсем уж «клубничные » экземпляры:


  • newtemplates.ru – на сайте представлена большая коллекция платных и бесплатных шаблонов. Все они удобно рассортированы по тематическим рубрикам. Но даже среди платных можно найти образцы стоимостью в 5-10$ и тиражом всего лишь в 5 экземпляров. А это обеспечит ресурсу дизайн с достаточно высокой степенью уникальности!


  • 10.dle-shabloni.ru – крутой ресурс с огромной коллекцией шаблонов для сайтов DLE . Отыскать среди них нужные по тематике или даже по цвету помогут теги. Посмотреть на работу шаблона можно с помощью встроенной демоверсии или в ролике, проигрываемом в окне видеоплеера Youtube:


Не забывайте, что каждый шаблон разрабатывался под определенную версию CMS DLE. Их соответствие нужно проверять перед скачиванием выбранного образца.

Как редактировать шаблон DLE

В отличие от других популярных систем управления контента DLE обладает более простой схемой построения шаблонов. Благодаря этому их правка происходит намного быстрее и проще. В состав инструментария административной части движка входит интегрированный редактор кода.

Для доступа к данному инструменту нужно:

  • Перейти в админку сайта;
  • В меню слева выбрать пункт «Управление шаблонами », «Шаблоны сайта »;
  • В выпадающем списке, расположенном в поле «Выбранный шаблон для редактирования » установить нужный экземпляр и нажать на кнопку «Выполнить »:


  • После этого внизу отобразится окно встроенного редактора кода. Но перед тем как редактировать шаблон, нужно выбрать файл для правки. Файловое древо шаблона расположено слева. После нажатия курсором на нужный источник его содержимое отобразится в окне редактора:


Как видно из рисунка, файл tpl представляет собой обычный html , в структуре которого легко разобраться. Но перед правкой этого кода настоятельно рекомендуется ознакомиться с особенностями построения движка DLE .

Техническая документация по CMS DLE доступна для изучения на официальном сайте производителя.

Были подготовлены и реализованы следующие изменения:




1. Добавлена возможность авторизации на сайте с использованием социальный сетей. Включается данная поддержка в настройках скрипта в панели управления. А настройка непосредственно социальных сетей осуществляется в специальном новом разделе панели управления: "Настройка социальный сетей". В данном разделе вы можете настроить какие именно социальные сети вы хотите поддерживать на своем сайте, а также указать необходимые параметры и ключи для работы конкретной социальной сети. Также в данном разделе предоставлена подробная справка как создавать приложения в социальных сетях для авторизации. Всего на данный момент поддерживается шесть социальных сетей: Вконтакте, Одноклассники, Facebook, Яндекс, Mail.ru, Google. Тем самым ваши посетители могут быстро авторизоваться на вашем сайте использованием своего логина и пароля в социальных сетях, без необходимости прохождения процедуры регистрации с вводом каптч, подтверждением E-mail и прочего.

текст , которые выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Вконтакте. А также тег {vk_url}


текст , которые выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Одноклассники. А также тег {odnoklassniki_url} , который выводит ссылку URL на авторизацию в данной соц. сети.


текст выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Facebook. А также тег {facebook_url} , который выводит ссылку URL на авторизацию в данной соц. сети.


текст , которые выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Google. А также тег {google_url} , который выводит ссылку URL на авторизацию в данной соц. сети.


текст , которые выводят текст заключенный в них, если включена поддержка авторизации при помощи социальной сети Mail.ru. А также тег {mailru_url} , который выводит ссылку URL на авторизацию в данной соц. сети.


текст , которые выводят текст заключенный в них, если включена поддержка авторизации при помощи сети Yandex. А также тег {yandex_url} , который выводит ссылку URL на авторизацию в данной сети.

3. Добавлена возможность создавать при загрузке изображений на сервер не только уменьшенных копий, но и копий среднего размера загружаемых изображений. Тем самым теперь вы можете создавать при загрузке изображений маленькое превью картинки, среднюю уменьшенную копию и оригинальное изображение.

4. Добавлена возможность при вставке загруженных к новостям картинок указывать в каком виде их вставлять. А именно, увеличивать их при клике на них до оригинального изображения, или вставлять их просто в виде изображений, без каких-либо ссылок в них.5. В настройках скрипта в панели управления скриптом, была убрана настройка смещения времени. Вместо нее, добавлен более удобный выбор часового пояса сервера, по которому будет работать скрипт. Использование часовых поясов более удобно, т.к. автоматически будет производится переход на летнее и зимнее время (например, если сервер находится в Европе, а вы установили Московский часовой пояс, то вам не нужно производить настройки два раза в год). А также в RSS будет транслироваться корректный часовой пояс вашего сервера.

6. Добавлена возможность персонального выбора каждым зарегистрированным пользователем своего часового пояса в котором он находится. Данная возможность позволяет посетителям сайта видеть для себя корректное время публикации статей и комментариев. Например, сервер и администрация сайта находится в Москве, а зарегистрированный пользователь находится в Красноярске, то этот пользователь может зайти на сайте в настройки своего профиля и выбрать Красноярский часовой пояс, и после этого он будет видеть дату и время новостей и комментариев уже по своему Красноярскому времени, и т.д.

7. Для шаблона редактирования профиля пользователя (userinfo.tpl) добавлен новый тег {timezones} который выводит список доступных часовых поясов в системе, и позволяет выбрать ему свой часовой пояс для своего профиля на сайте.

8. Добавлена возможность для опросов , добавленных к публикациям, выводить их не только при просмотре полных новостей, но и при просмотре кратких новостей. Для этого в шаблоне кратких новостей (shortstory.tpl) вы можете использовать тег {poll} . Оформление самого опроса осуществляется также в шаблоне poll.tpl

9. Для шаблонов вывода кратких новостей (shortstory.tpl) добавлена возможность использования тегов баннеров, добавленных в управлении рекламными материалами в админпанели. Тем самым вы можете очень гибко выводить баннеры на страницах своего сайта совместно с тегами {banner_x} и самостоятельно определять после какой новости на странице вы хотите осуществить вывод рекламы.

10. Для шаблонов вывода кратких и полных новостей (shortstory.tpl и fullstory.tpl) добавлены новые теги текст , которые выводят текст в них в виде ссылки на добавление новость в закладки на сайте, а также добавлены теги текст , которые выводят текст в них в виде ссылки удаление новости из закладок на сайте. Данные теги позволят более гибко настраивать дизайн своего сайта, для тех, кто хочет отказаться от общего тега {favorites} , который выводит только одну заранее запрограммированную картинку на данные действия.

11. Добавлены новые глобальные теги для шаблонов: текст , которые выводят текст, заключенный в них, если сайт просматривается при помощи смартфона, а также теги текст , которые выводят текст, заключенный в них, если сайт просматривается посетителем не со смартфона. Данные теги являются глобальными и могут использоваться во всех файлах шаблона. Тем самым вы можете гибко настраивать вывод контента своего сайта, в зависимости от используемого посетителем устройства, например, управлять выводом рекламы для устройств и многое другое.

12. Добавлены новые глобальные теги для шаблонов: текст , которые выводят текст, заключенный в них, если сайт просматривается при помощи планшета, а также теги текст , которые выводят текст, заключенный в них, если сайт просматривается посетителем не с использованием планшета. Данные теги являются глобальными и могут использоваться во всех файлах шаблона. Тем самым вы можете гибко настраивать вывод контента своего сайта, в зависимости от используемого посетителем устройства, например, управлять выводом рекламы для устройств и многое другое.

13. Добавлены новые глобальные теги для шаблонов: текст , которые выводят текст, заключенный в них, если сайт просматривается при помощи десктопного браузера (настольные компьютеры, ноутбуки), а также теги текст , которые выводят текст, заключенный в них, если сайт просматривается посетителем не с использованием десктопного браузера. Данные теги являются глобальными и могут использоваться во всех файлах шаблона. Тем самым вы можете гибко настраивать вывод контента своего сайта, в зависимости от используемого посетителем устройства, например, управлять выводом рекламы для устройств и многое другое.

14. Добавлена возможность указывать для статический страниц файлы шаблонов, находящиеся не только в корневой папке шаблона, но и файлы, находящиеся в подпапках шаблона.

15. Добавлена возможность в модуле перекрестных ссылок назначать для каждого ключевого слова, сколько замен данного слова должно производится на странице.

16. Для полнотекстового поиска на сайте добавлен логический режим работы поиска , что позволяет существенно улучшить поиск по сайту и релевантность найденной информации по поисковому запросу. Данное нововведение позволяет показывать посетителю наиболее подходящие под его запрос найденные новости, комментарии или статические страницы.

17. Улучшен алгоритм обработки уже находящихся ссылок на странице при замене ключевых слов из модуля перекрестных ссылок. Теперь больше не требуется обязательное отсутствие HTML тегов внутри ссылок, замена в них не будет производится независимо от этого.

18. Улучшен алгоритм нахождения и замены ключевых слов из модуля перекрестных ссылок, благодаря чему удалось существенно увеличить скорость работы скрипта при большом объёме ссылок.

19. Для модуля управления перекрестными ссылками в админпанели скрипта добавлена возможность массовой установки области замены ключевых слов, а также добавлена возможность массово устанавливать учитывать регистр букв или нет.

20. Добавлена возможность редактирования значений дополнительных полей для профиля пользователя, непосредственно в админпанели скрипта в разделе настроек собственного профиля пользователем.

21. Для шаблона вывода информации о зарегистрированном пользователе на сайте (login.tpl) добавлена возможность вывода значений его дополнительных полей, которые он заполнил при регистрации или в настройках своего профиля. Для вывода дополнительных полей профиля используются точно такие же теги, как и в шаблонах профиля (userinfo.tpl) и в шаблонах комментариев (comments.tpl).

22. Из базы данных профилей пользователей убрано стационарное поле ICQ . Данное решение принято с тем что данный мессенджер потерял свою актуальность и использование этого поля незначительно, при том что оно занимает место в базе данных. При этом при необходимости вы можете создать данное поле как дополнительное поле для профиля и использовать его при необходимости на сайте.

23. Добавлено указание номера просматриваемой страницы полной новости, в метатеге title, если новость была разбита на несколько страниц.

24. В настройки скрипта добавлена возможность назначение символа - разделителя, для модуля "speedbar" (хлебные крошки). Данный символ будет использоваться при выводе навигации данного модуля, разделяя разделы сайта. Тем самым вы можете указать любой собственный разделитель, вместо постоянно используемого ранее символа "»".25. В настройки скрипта добавлена возможность назначение символа - разделителя, для списка категорий, назначенных новости. Данный символ будет использоваться при выводе списка категорий при показе новостей на сайте, разделяя назначенные категории. Тем самым вы можете указать любой собственный разделитель, вместо постоянно используемого ранее символа "»".

26. Добавлен вывод информации о сторонних модулях, установленных в панели управления скриптом, в левой боковой панели быстрой навигации по модулям в админпанели.

27. Переработано управление ключевыми словами для облака тегов , метатегов и значений доп. полей, имеющих тип перекрестные ссылки. Теперь вы можете не только удалять их в один клик, но и редактировать без удаления, для этого необходимо дважды кликнуть по нужному вам слову. А также добавлен автоматический разбор вставленных слов при помощи Ctr-V, без необходимости нажатия Enter.

28. В панели управления скриптом , добавлена кнопка для быстрого сворачивания и разворачивания боковой панели. Данное нововведение будет полезным для пользователей, имеющих мониторы с низким разрешением экрана, для увеличения рабочей области.

29. Добавлен автоматический сброс Кеша сжатых CSS и JS файлов, при редактировании данных файлов в редакторе шаблонов панели управления.

31. Добавлена поддержка апострофов , для дополнительных полей новостей, имеющих тип "Использовать значения как гиперссылки", и для которых при этом не был включен безопасный режим. Тем самым вы можете использовать, например, такие слова как О"Брайен, д"Артаньян и т.д.

32. Добавлено автоматическое формирование имени ЧПУ для категории, при ее создании в админпанели, если оно не было задано пользователем. При этом при создании данного имени применяется транслитерация от указанного имени категории.

33. При добавлении и редактировании категорий в админпанели скрипта , добавлен контроль зарезервированных имен ЧПУ ссылок для категорий, чтобы пользователями не добавлялись имена, которые зарезервированы в DLE для других нужд. Например, вы не сможете добавить корневую категорию с именем "catalog", потому как это имя используется для организации на сайте каталогов, но сможете использовать это имя для подкатегории, где данное имя уже не зарезервировано и т.д.

34. Добавлен более удобный выбор категорий при создании или редактировании дополнительных полей новостей в панели управления скриптом.35. В настройки скрипта добавлена возможность указывать количество дней , в течении которых, необходимо хранить логи скрипта, для модуля "Список всех действий, выполненных в админпанели скрипта". При этом минимальным количеством дней в целях безопасности остается 30 дней, чтобы злоумышленник не мог удалить логи действий, а администратор сайта при желании может увеличить необходимое количество дней, например, до трех месяцев или года и т.д.

36. Обновлена библиотека Jquery до актуальной версии v1.11.1

37. Обновлен визуальный редактор TinyMCE до актуальной версии.

38. Обновлен до актуальной версии HTML5 плеер , в котором были исправлены некоторые ошибки с воспроизведением.

39. Исправлена проблема , при которой не работало управление настройками скрипта в админпанели, при использовании смартфонов и планшетов.

40. Исправлена проблема , при которой происходила некорректная проверка на заполненность доп. полей, если перед полем с типом "список", было обязательное поле с другим типом.

41. Исправлена проблема , при которой если поиск производится повторно, а пользователь при этом находился не на первой странице поисковой выдачи, он мог получать пустую страницу, если в новых результатах найдено меньшее количество новостей. Теперь новый поиск возвращает пользователя на первую страницу поисковой выдачи.

42. Исправлена проблема , при которой модуль "speedbar" (хлебные крошки), выводил вложенное нахождение пользователя на статической странице, а при этом фактически он находился на главной странице сайте, если в настройках скрипта был включен показ статической страницы по умолчанию для главной страницы сайта.

43. Исправлена проблема , при которой если пользователь редактировал новость, ожидающую модерацию на сайте, не мог управлять загруженными к данной новости картинками, а если при редактировании новости загружал повторно картинки, они не назначались данной новости.

44. Исправлена проблема , связанная с некорректной работой тегов текст , при использовании их в пользовательском выводе новостей тега {custom ...}

45. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

Информация к скачиванию скрипта для клиентов:

Внимание! Просмотр данной информации доступен только пользователям имеющим лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Если вы еще не являетесь нашим клиентом, то вы можете на нашем сайте.

Обсудить релиз вы можете на

Наверное, всем людям свойственно забывать какую-то информацию. Особенно это относится к паролям и логинам от различных сайтов.

Вы (или человек, который делал вам доступы) создали надежный пароль, но не записали его в укромное место и забыли. Как быть в таком случае?

По умолчанию, в DataLife Engine запрещено восстанавливать пароли для группы «Администраторы». Это сделано по понятным причинам – ведь если человек имеет доступ к вашей почте, значит, он имеет доступ и к вашему сайту.

Но вы можете включить возможность восстановления пароля стандартным способом (через форму восстановления) и для администраторов. О том, как это сделать – читайте в данной статей.

Эта же статья посвящена тем случаям, когда стандартное восстановление пароля не включено, а вернуть доступ к панели управления нужно.

Я расскажу вам о двух способах восстановления, они несложные. Каждый выбирает тот способ, который ему показался более удобным.

Восстановление доступа к панели управления сайтом в DataLife Engine через SQL- запрос

Из заголовка, думаю, вы уже поняли, что для смены пароля вам необходимо сделать SQL-запрос в вашей базе данных. О том, как делать SQL-запрос, я подробно расписал в .

Запрос вам необходимо сделать следующего типа:

UPDATE `dle_users` SET `password` = "202cb962ac59075b964b07152d234b70" WHERE `user_id` = 1;

Где «1 » – это ID администратора (меняете на свой), а «» – пароль «123» в зашифрованном виде.

После того, как запрос был успешно выполнен (если возникли трудности – пишите об этом в комментариях), вы можете зайти в панель управления сайтом, используя ваш логин и пароль «123».

Восстановление доступа к панели управления сайтом в DataLife Engine через дополнительного пользователя

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

Для этого:

1. Зарегистрируйте новый профиль (обязательно запомните логин).

2. В вашей базе данных выполните SQL-запрос:

UPDATE `dle_users` SET `user_group` = "1" WHERE `name` = "login";

Где «login » – логин нового пользователя (меняете на свой).

Вот, собственно, и все. С помощью этого запроса мы делаем админом указанного пользователя, и уже с его данными вы можете авторизоваться в панели управления вашим сайтом.

Исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое. Скачать бесплатно .


Дорогие друзья,

Представляем вам новую версию нашего скрипта DataLife Engine v.13.1 NULLED. В данном релизе вас ожидает добавление поддержки автоматического обновления плагинов на новые версии и ряд других улучшений в системе плагинов, добавлены новые возможности для более удобной работы с дополнительными полями, добавлен новый тип рейтинга "Нравится и Не Нравится", улучшенный поиск публикаций в админпанели, и многое другое, об этом и другом читайте подробнее...

Были подготовлены и реализованы следующие изменения:


1. Добавлена возможность автоматического обновления скрипта в админпанели в пределах одной версии скрипта, в случаях, когда выходят, например, исправления найденных уязвимостей или других багов. В случаях, если в пределах одной версии вносятся изменения в дистрибутив, например, при выходе исправлений уязвимостей, или других выявленных проблем со скриптом, в админпанели возможно будет обновить скрипт, в рамках данной текущей версии скрипта.


2. Добавлена возможность автоматического обновления плагинов на сайте . Для этого в плагине задается URL для получения информации о наличии новой версии. По данному URL сайт разработчика плагина должен отдавать массив в JSON формате, который должен содержать информацию о актуальной версии плагина, а также ссылку на загрузку актуальной версии плагина. Например, по данному URL должно возвращаться значение {"version":"2.0","url":"https://dle-news.ru/test/test.zip"} . После чего, при проверке обновлений, администратор сайта сможет узнать о наличии новых версий плагина и обновить плагины в админпанели в один клик.


3. Для системы управления плагинами, добавлена возможность указывать количество замен, которые нужно провести, по каждому критерию поиска в файле. Например, вам нужно найти и заменить какой-либо код в файле, который встречается в этом файле несколько раз, вы можете указать сколько раз необходимо заменить данный код. Для замены всех вхождений этого кода, вы можете оставить данный параметр пустым, тем самым замена будет произведена везде, где встречается указанный вами код.


4. Для системы управления плагинами, добавлена возможность автоматического удаления загруженных вместе с плагином в архиве дополнительных файлов, в случае если плагин удаляется с сайта. Для этого в параметры плагина добавляется возможность выбора, удалять дополнительные файлы или нет. Тем самым вы можете самостоятельно решать, необходимо ли зачищать сервер от дополнительных файлов в случае его удаления с сайта, или же их необходимо оставить.

5. Для системы управления плагинами, добавлена возможность использовать в именах папок, находящихся в ZIP архивах, тег {THEME}. При загрузке архива через систему плагинов, данный тег будет заменен на имя используемого шаблона. Например, разместив в архиве файл /templates/{THEME}/test.tpl, ваш файл шаблона будет помещен в используемый на сайте шаблон. Тем самым, при использовании сложных плагинов, которые содержат в себе примеры файлов шаблонов, они могут сразу загружаться в нужную папку, содержащую используемый пользователем шаблон.

6. Для системы управления плагинами, добавлена возможность использовать в действии "Поиск и замена" в строке замены управляющие символы функции preg_replace, такие как \\1 и т.д., что снимает ограничения на поиск и замену некоторых кодов в DLE.


7. Для дополнительных полей, имеющих тип "Изображение" и "Галерея изображений" , добавлена возможность назначать каждому изображению в отдельности, свое персональное описание, которое также используется в качестве HTML атрибута alt, при выводе данных дополнительных полей на сайте.


8. Для дополнительных полей, имеющих тип "Галерея изображений", добавлена возможность изменять порядок сортировки загруженных картинок, просто переместив их мышью. После загрузки изображений вы можете поменять местами изображения по вашему желанию. Также загруженные изображения могут быть перенесены в другие дополнительные поля.


9. Для публикаций и комментариев добавлен новый тип рейтинга "Нравится и Не нравится", который ведет отдельный учет как количества лайков, так и количества дизлайков. Для этого для шаблонов вывода публикаций и комментариев добавлены новые теги: {likes} - который выводит количество лайков, {dislikes} - который выводит количество дизлайков, а также тег текст - который выводит текст, заключенный в теге, в случае если в настройках включен данный тип рейтинга.


10. В настройки профилей пользователей в админпанели, добавлена возможность устанавливать список категорий, в которые данному конкретному пользователю разрешено добавление публикаций. Это позволит, например, журналистам, вести личные рубрики, в которые другие журналисты (или часть из них) не имеют права публикации. Или наоборот - исключить журналиста из конкретной категории новостей, если он, например, в ней некомпетентен.

11. В настройки профилей пользователей в админпанели, добавлена возможность устанавливать список доверительных категорий, в которые данному конкретному пользователю разрешено добавление публикаций без модерации. Такая персонализация позволит значительно более гибко разграничивать права, не создавая при этом кучу групп пользователей, в том числе и групп под каждого конкретного журналиста.


12. Для расширенного поиска публикаций в админпанели, в разделе редактирования публикаций, добавлена возможность выбирать где необходимо произвести поиск. Вы можете произвести поиск по всему контенту, можете отдельно по заголовкам, краткому описанию, полному описанию и дополнительным полям. Также существенно улучшены алгоритмы поиска, для более корректного нахождения публикаций.

13. Для расширенного поиска публикаций в админпанели, в разделе редактирования публикаций, добавлена возможность поиска одновременно по нескольким категориям на выбор.

14. Для облака тегов добавлена возможность использования символов "&" и "#", что позволяет, например, использовать в облаке имена различных брендов, например, "H&M" и т.д.


15. В настройки скрипта в админпанели, добавлена возможность разрешения для администрации сайта авторизоваться на сайте при помощи социальных сетей. При включении данной настройки, пользователи, находящиеся в группе администраторы, также могут авторизоваться на сайте при помощи своих аккаунтов в социальных сетях.


16. В админпанели, в разделе редактирования комментариев, добавлена возможность поиска комментариев по тексту. В данном разделе вы можете произвести поиск необходимых вам для редактирования комментариев, по каким-либо ключевым словам. Тем самым редактирование комментариев становится более удобным.


17. В админпанели, в разделе управления перекрестными ссылками, добавлена возможность для массовых действий над ссылками, устанавливать замену "Только в статических страницах", а также "В статических страницах, новостях и комментариях".

18. Для предосмотра баннеров в разделе управления рекламой в админпанели, добавлено подключение стилей вашего шаблона из файла preview.css. Тем самым вы можете видеть более правильное оформление вашего рекламного кода, в случае если он использует классы из вашего шаблона.

19. Для шаблона вывода кратких новостей (shortstory.tpl) добавлено использование тегов текст , которые выводят заключенный текст в них, в случае если публикации по данным критериям отсутствуют. Тем самым вы можете переназначить стандартное системное сообщение об отсутствии публикаций в каком-либо отдельном разделе сайта, сделав его уникальным, например, для каждого раздела сайта. Также данные теги можно использовать и в шаблонах, которые используются при пользовательском выводе публикаций с помощью тега {custom ...}


20. Для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, добавлено использование новых тегов: {%losturl%} , который выводит только URL ссылки на сброс и генерацию нового пароля, а также {%ipurl%} , который выводит только URL ссылки на сброс блокировки по IP. Тем самым вы можете отдельно задавать нужное вам оформление в письме данных ссылок, например, в виде кнопок. А также вы можете, например, отказаться от вывода ссылки на снятие блокировки по IP, если не используете эту возможность на своем сайте.

21. Улучшена система удаления категорий в админпанели . В случае если удаляемая категория, содержит в себе подкатегории, которые также подлежат удалению, то все действия для публикаций, которые содержат удаляемую категорию, будут автоматически распространены и на публикации, которые содержат также и удаляемые подкатегории. И к данным публикациям в подкатегориях, будут применены те же действия.


22. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность добавления блокируемых адресов или логинов, или e-mail сразу целыми списками, а не по одному. Что существенно ускоряет процесс добавления, если у вас уже есть готовый список из того что необходимо заблокировать.


23. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность редактирования уже существующих правил. Вы можете выбрать и отредактировать любое правило, без необходимости его удаления и повторного добавления.


24. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность выбора одновременно нескольких или всех добавленных правил, и массовой разблокировки данных правил в один клик.

25. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена поддержка использования IPv6 адресов, которые можно указать для блокировки доступа на сайт. Также добавлена возможность указания IPv6 подсетей для блокировки.

26. Добавлена возможность указания IPv6 адресов в профиле пользователя , с которых разрешена авторизация для пользователя. Также вы можете указать не только отдельный адрес, но и IPv6 подсеть.

27. Для модуля пользовательской сортировки публикаций на сайте , выводимых тегом {sort} добавлена возможность выставления сортировки для каждой конкретной категории, а не для всех категорий одновременно.

28. Для ссылок, публикуемых в публикациях, добавлена возможность использование в них блочных элементов, таких как "p", "div" и т.д. Что позволяет DataLife Еngine более точно и правильнее соответствовать стандартам HTML5.

29. Добавлена возможность добавления новых пользователей в панели управления DataLife Engine, при работе с панелью с использованием смартфонов.

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

31. Для дополнительных полей, имеющих тип "Перекрестные ссылки" , добавлена возможность использования в значениях символа двойных кавычек, и символа амперсанда.

32. В случае если для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, установлено использование HTML формата для данного письма, то ссылки, которые генерирует тег {%lostlink%} в этом шаблоне, будут формироваться уже в виде готового HTML кода, а не просто текстовые ссылки.

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

35. Внесены изменения в работу дополнительных полей, в случае если поле имеет ограничения на добавление по группам пользователей. Если значение дополнительного поля было добавлено пользователем, имеющим на это право, а в последствии публикация редактируется пользователем, у которого нет прав на заполнение этого поля, то значение данного поля больше не очищается, а остается таким, каким его заполнил ранее пользователь, имеющий на это право.

36. Лимит на количество символов метатега Description для категорий увеличен до 300 символов . Максимальная длина соответствует теперь максимальной длине, установленной поисковой системой Google, для вывода данной информации в результатах поиска.

37. Улучшен поиск похожих новостей на сайте. Показ похожих новостей стал более релевантным по сортировки найденных публикаций.

38. Улучшена поддержка IPv6 адресов посетителей сайта. В некоторых определенных случаях полный адрес мог не помещаться в базу данных. Теперь длина полей зарезервирована согласно спецификации RFC 4291.

39. Улучшено формирование метатега og:description протокола Open Graph при просмотре полных новостей. Формирование происходит более корректно при использовании в качестве основного контента дополнительных полей для публикаций.

40. Улучшена работа системы безопасности DataLife Engine , с целью более корректной проверки данных на поддоменах, на некоторых хостингах, имеющий структуру поддоменов, в виде подпапок основного домена.

41. Добавлена поддержка протокола tel: для ссылок публикуемых на сайте при помощи BB тегов.

42. Обновлены визуальные редакторы TinyMCE и Froala до актуальных версий . Исправлен ряд выявленных ошибок в данных редакторах.

43. Исправлена проблема, с использованием в дополнительных полях профиля пользователей, полей с типом "Список", в которых использовались значения с использованием символа "|".

44. Исправлена проблема, при которой в разделе управления плагинами, если изменялось действие над файлом в меню, некоторые символы могли некорректно изменяться в указанных в полях значениях.

45. Исправлена проблема , при которой нельзя было использовать теги для внутренних страниц сайта, и разрешалось использование только для внешних сайтов.

46. Исправлена проблема , при которой нельзя было приступить к обновлению сайта на новую версию, в случае если сайт был в кодировке отличной от UTF-8 при этом логин или пароль администратора содержал в себе буквы, написанные на кириллице.

47. Исправлена проблема, при которой не появлялось всплывающее окно о поступлении новых персональных сообщений, если пользователь самостоятельно вышел из своего аккаунта на сайте, а после чего опять вошел в него спустя какое-то время.

48. Исправлена проблема, при которой не работало редактирование комментариев в панели управления скриптом, в случае если в настройках скрипта был включен TinyMCE редактор.

49. Исправлена проблема , при которой не отображалось количество дней, в течении которых можно добавлять комментарии к публикации, если такие лимиты были установлены в настройках скрипта в админпанели.

50. Исправлена проблема , при которой дополнительное поле, имеющее тип "Загружаемый файл", не отображалось на сайте в виде ссылки на скачивание файла, а выводилось простым тегом.

51. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

Здравствуйте. Данный топик хочу посветить созданию простейшего модуля для популярной CMS Datalife Engine . В России, как впрочем и в странах СНГ она пользуется достаточно большой популярностью, однако на хабре статей об этой cms почему-то до сих пор нету. Я попытаюсь исправить это недоразумение. В этой статье вы узнаете о том, как сделать простейший модуль для этой CMS, а также познакомитесь со структурой движка.

Введение

Хотелось бы отметить, что система пользуется спросом у сайтов развлекательной тематики. Оно и понятно, система проста в использовании, имеет достаточное количество модулей и шаблонов. Да и почти все нужное есть «из коробки». Однако бывает, что чего-нибудь не хватает. Эту проблему мы постараемся решить.

Почему DLE?

Вы наверняка заинтересуетесь, почему я выбрал именно эту CMS. Ответ простой: достаточно логичная структура самого движка, отделение шаблонов от кода, довольно простой шаблонизатор, опять же довольно логичное размещение всего внутри - легко разобраться что к чему. Плюс к этому система остается относительно легкой и удобной. Она не так функциональна как, например, Друпал, но все же мне она нравится.

Структура

Для начала нам нужно знать кое-что о структуре движка. Нельзя творить на сервере бардак, поэтому мы будем хранить все в своих папках.

Модули для работы движка принято помещать в папку /engine/modules/ .

В папке /engine/inc/ находятся файлы панели администратора.

Начиная с версии 8.х появилось подключать модули прямо в шаблоне. Шаблон находится в папке /templates/имя_шаблона/. В этой папке есть файл main.tpl Это корневой файл шаблона, обычно в нем расположена основная структура шаблона. Обычно модуль можно подключить так:

{include file=«engine/modules/mod_category.php»}

Где mod_category.php – файл, находящийся в категории /engine/modules/. Думаю с этим все понятно, поехали дальше.

Давайте сделаем модуль для вывода последних комментариев с кэшированием. Для этого создадим файл в папке /engine/modules/ и назовем его mod_lastcomm.php Далее я привожу листинг кода этого файла с подробными комментариями.

Код

DATALIFEENGINE". Эта константа определяется в index.php и ее значение TRUE символизирует о том, что файл подключен с помощью include/require, а не просто запущен. */ if(!defined("DATALIFEENGINE")) { die("Hacking attempt!"); } /* Подключаем класс api, для того чтобы нам можно было использовать функции для работы с кэшем. */ include ("engine/api/api.class.php"); /* Пытаемся прочетать информацию, сохраненную в кэше с именем lastcomm. Рекомендую давать осмысленные имена всему тому, что мы сохраняем в кэше. По сути lastcomm – это файл в папке /engine/cache/, а 60 – это время жизни кэша в секундах. В данном случае, если с создания файла прошло больше времени, чем 60 секунд, то нам снова придется лезть в бд. */ $lastcomm=$dle_api->load_from_cache("lastcomm", 60); /* Проверяем – есть у нас кэш или нету. Если нету, то лезем в бд. */ if (!$lastcomm) { /* Собственно запрос в бд. Он выполняется с помощью функции класса $db. Константа PREFIX содержит префикс, указанный при установки cms. Названия столбцов названы вполне нормально, я думаю не нужно объяснять что они делают. Индефикатор запроса заносим в переменную $sql. */ $sql = $db->query("SELECT comments.post_id, comments.text, comments.autor, post.id, post.flag, post.category, post.date as newsdate, post.title, post.alt_name FROM " . PREFIX . "_comments as comments, " . PREFIX . "_post as post WHERE post.id=comments.post_id ORDER BY comments.date DESC LIMIT 0,20"); /* С помощью функции get_row() класса $db считываем последовательно каждую строку из результатов выборки. Информация заносится в массив $row с индексами равными именам полей таблиц */ while ($row = $db->get_row($sql)) { /* Если нужно обрезаем заголовок новости */ if (strlen($row["title"]) > 50) { $title = substr($row["title"], 0, 50)."..."; } else { $title = $row["title"]; } /* Формируем ссылку на профиль пользователя. Аналогично */ $aname=urlencode($row["autor"]); $name= "". $row["autor"] .""; /* Формируем текст комментария и если надо обрезаем его */ $text = htmlspecialchars($row["text"]); if (strlen($text) > 1024) $text= substr($text, 0, 1024)."..."; /* Формируем ссылку на новость. Массив $config содержит все настройки системы. В частности $config["http_home_url"] - это урл домена. */ $newslink = $config["http_home_url"].$row["post_id"]."-".$row["alt_name"].".html"; $hint = "onMouseover=\"showhint("$text", this, event, "");\""; $title = "".stripslashes($title).""; /* Итоговая запись для одного комментария */ $lastcomm.="От $name в новости:
$title

"; } $db->free(); /* Кэшируем полученные данные. Чтобы получше разобраться с функциями кэширования, откройте файл "engine/api/api.class.php" там отлично все закомментировано */ $dle_api->save_to_cache ("lastcomm", $lastcomm); } /* Выводим полученный результат */ echo $lastcomm; ?>

Заключение

Данный код полностью рабочий. И в нем конечно же есть недостатки. Например не проверяется для ссылок - включено ли ЧПУ. Или при переходе по ссылке на профиль пользователя мы попадаем сразу в его профиль, а не на окошечко jQuery с краткой информацией. Вообщем есть что доработать. Но все эти вещи не были включены сюда только по одной причине - не дать запутаться новичку. Также советую проанализировать другие файлы, например topnews.php. Если у вас возникнут вопросы по написанию модулей или вообще по системе - я с радостью отвечу на них.

На этом у меня все, если эта тема кому-нибудь покажется интересной, то я сделаю цикл статей про cms Datalide Engine (DLE).

Ах да, это моя первая статья на хабре, поэтому извините если что не так.