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

Здравствуйте. Данный топик хочу посветить созданию простейшего модуля для популярной 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 Далее я привожу листинг кода этого файла с подробными комментариями.

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

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

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

Приветствую всех, кто посвящает этим строкам свое драгоценное время.

В этой статье я хочу рассказать о способах оптимально настроить сервер и систему управления контентом DataLife Engine. За 4 года работы с интернет сайтами и серверами я усвоил, что безопасность превыше удобства и что ей нужно уделять внимание. Оговорка : я не претендую на авторство чьей-либо интеллектуальной собственности! Весь материал собран на просторах интернета.

Ниже будут описаны действия, которые помогут распределить нагрузку сервера, обезопасить его от DOS атак, ограничить доступ к FTP протоколу и правильно сконфигурировать систему DataLife Engine.

Защита и конфигурация вашего сервера.

1. Настройка конфигурации сервера с использованием связки front-end Nginx к Apache.

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

В случае схемы с применением front-end сервера получим значительную экономию ресурсов за счет того, что после поступления запроса, nginx передает запрос Apache и быстро получает ответ. В итоге, Apache, после того как отдал ответ nginx, освобождает память. Далее с клиентом взаимодействует веб-сервер nginx, который как раз и написан для раздачи статического контента большому количеству клиентов при незначительном потреблении системных ресурсов.

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

Установка NGINX на популярные ОС.

Red Hat Enterprise Linux 4 / CentOS 4
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов.

Red Hat Enterprise Linux 5 / CentOS 5
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов EPEL.

ASPLinux Server 5 / Fedora
nginx присутствует в стандартной поставке дистрибутива.

Если репозитории подключены или просто не требуются, выполняем: yum install nginx

Установка Apache.

Чтобы установить Apache веб-сервер достаточно выполнить: yum install httpd

Установка mod_rpaf.

1. Устанавливаем пакет httpd-devel:

yum -y install httpd-devel


2. Скачиваем и устанавливаем mod_rpaf:
Входим в директорию /usr/local/src

cd /usr/local/src


Загружаем в /usr/local/src файл mod_rpaf-0.6.tar.gz

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


Распаковываем mod_rpaf-0.6.tar.gz

tar xzf mod_rpaf-0.6.tar.gz


Переходим в каталог в который распаковали

Ставим модуль в систему

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf и добавить в него следующие строки:


RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.

service httpd restart


4. В nginx внутри блока http {} должны быть указаны строки:

proxy_set_header Host $host;


Если данные строки указаны, дописывать не нужно.

Если модифицируется nginx.conf, следует перезапустить nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. Как проверить, работает ли установленный модуль?
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


Далее зайдите по ссылке , где domain.tcom - имя вашего домена. Если отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Настройка NGINX.

Ниже приведен конфигурационный файл nginx для работы в качестве front-end сервера. Подразумевается, что nginx будет работать на всех интерфейсах на 80 порту, а Apache будет работать на интерфейсе 127.0.0.1 и порту 8080. Сохраните данный конфигурационный файл в каталоге /etc/nginx/ с именем nginx.conf.

user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 20000;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] $status "
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
send_timeout 900;
server_tokens off;
server {
listen 80;
server_name _;
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Настройка Apache.

В файле конфигурации Apache /etc/httpd/conf/httpd.conf найдите строку:

и замените ее строкой:

Listen 127.0.0.1:8080


Настройка mod_rpaf.

Добавьте модуль mod_rpaf в файл конфигурации Apache. Для этого в файл /etc/httpd/conf/httpd.conf добавьте следующую строку:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


Затем в этот же файл добавьте строки:

RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


Вместо 192.168.0.1 необходимо поставить IP-адрес сервера.

2. Конфигурация сервера для защиты от dos-атак.

Включаем в nginx кеширование главной страницы для тех у кого нет cookie.

Добавляем ограничения в nginx.conf:

limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
server{
location / {
limit_req zone=two burst=5;
}
}
}


Пользуемся tail и awk:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503


Подключаем лог:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }"


Получаем IP машин:

iptables -A INPUT -p tcp -j DROP -s $IP


Заносим IP в Firewall:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


Теперь установим connlimit для iptables чтобы ограничить подключения ботов. В правилах ставим разрешение на 5 подключений с одного IP, и 25 из подсети класса С.

DDOS атака с 16000 ботов - Load average: 1.4 1.9 2.0

Ограничение доступа по FTP

Для этого нам понадобитсья файл.ftpaccess. Он поможет запретить или разрешить доступ по FTP с указанных IP адресов. Кто-то может задать вопрос: «У меня динамический IP, как мне правильно использовать.ftpaccess?» Ответ я подразумеваю только такой: «Если вам нужна данная надстройка безопасности - приобретите у вашего провайдера статический IP. Много денег у вас за него не попросят.»

Чтобы создать.ftpacces файл нам понадобиться SSH доступ. Можно воспользоваться программой winscp. Настроек в.ftpaccess может быть большое множество, однако нас интересует только один параметр. Прописав эти строки в файле вы закроете полностью доступ от всех:

Deny from all


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

Allow from 127.0.0.1
Deny from all


Естественно адрес 127.0.0.1 указан для примера и его нужно заменить на собственный.

Важно! Лучше всего запретить доступ по FTP абсолютно всем и подклчаться только по SSH.

Защита системы управления контентом DataLife Engine.

1. Установите и настройте .

2. Переименуйте файл админпанели и сделайте фейк по старому адресу (www.sait.com/admin.php) при переходе на который пользователь будет заблокирован посредством запрета его ip в.htaccess.

Переименовали? Теперь создаем в корневом каталоге файл ip.txt для хранения ip-адресов. Даем ему и.htaccess права CHMOD – 777.

Создаем файл admin.php следующего содержания:


$ip = getenv ("REMOTE_ADDR");

$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess", "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

Админ панель DataLife Engine

Текст, например: Твой ip в логах, я найду тебя! Бойся, ничтожество, ха-ха! "
3. Добавим дополнительную аутентификацию в админцентре.

Необходимо придумать еще один логин и пароль (не используйте данные вашего административного аккаунта). Второй логин и пароль должен в корне отличаться от первого. Определились? Отлично! Теперь зашифруем наш пароль в md5 (сделать это можно на сайте md5encryption.com).
Далее открываем admin.php (вспомните, ранее мы его переименовали и, по этому, если вы назвали его superadmin.php - вам необходимо открывать именно этот его) и после строки:

//поставить еденицу если хотите включить отладку запросов
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", "DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess", "config\\.php", "document\\.cookie");
$request = serialize($_GET);


if($_GET)
{
foreach ($bag_req as $key => $value) {
{
В массиве найден запрос $value
$request";
}
}
}
if($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req as $key => $value) {
if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
{
if($debug == "1") $do_debug = "
В массиве найден запрос $value , который блокирует правильную работу
$request";
die("BAD REQUEST $do_debug");
}
}
}
?>


Сохраняем его на сервере в любом каталоге системы DLE. Открываем файл engine/classes/mysql.php и после:

if(!defined("DATALIFEENGINE"))
{
die("Hacking attempt!");
}


подключаем созданный файл:

include_once(ENGINE_DIR."/путь_к_файлу/название.php");


6. Используя бесплатные компоненты к DLE обязательно узнайте мнение специалиста о их надежности.

При возникновении вопросов обращайтесь к поисковым системам - весь материал в свободном доступе!
Есть что добавить? Милости прошу к обсуждению!

Удачи вам и вашим проектам!

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


DataLife Engine - это многофункциональная система управления сайтом. Благодаря очень мощной системе управления новостями, публикациями, статьями, пользователями, DataLife Engine предназначен в первую очередь для организации собственных средств массовой информации и блогов в сети интернет. Большое разнообразие базовых возможностей скрипта, изначально интегрированных в скрипт, позволяют DataLife Engine на шаг вперед опережать своих ближайших конкурентов в данном направлении создания сайтов. А благодаря точной и продуманной структуре ядра, сводящей к минимуму требования к ресурсам сервера, DataLife Engine способен с легкостью работать с высокопосещаемыми проектами c минимальной нагрузкой на сервер. Гибкость и легкость в настройке и интеграции собственного дизайна, позволит вам в кратчайшие сроки изучить и понять структуру шаблонов и соответственно развернуть собственные сайты, без каких-либо дополнительных материальных затрат.


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

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

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

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

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

7. Добавлено использование канонических ссылок, в коде страниц, для всех страниц сайта включая навигацию по разделам, просмотр полной новости и т.д. Данная возможность позволяет повысить SEO оптимизацию сайтов, а также позволяет избегать дублей страниц в случае если где-либо в сети интернет публикуются некорректные ссылки на ваш сайт, либо если по каким-либо причинам необходимо отключить контроль неверных ЧПУ.

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

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

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

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


12. Расширены возможности модуля "Метатеги", данный модуль был переименован в "Заголовки, описания, метатеги". Теперь в данном модуле вы можете задавать для страниц не только метатеги, но и отдельный заголовок для страницы и описание страницы, которые вы в дальнейшем можете вывести в любом месте вашего шаблона. Для этого добавлены новые глобальные теги для шаблонов: {page-title} - выводит указанный вами заголовок для страницы, {page-description} - выводит указанное вами описание для страницы. В описании страницы также допустимо использование BB и HTML тегов. Тем самым при помощи данного модуля, вы можете, например, создать и вывести заголовки и описания для облака тегов к каждому тегу персонально и т.д.

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

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

15. Расширены возможности по выводу публикаций на основе значений дополнительных полей в публикациях. При обращении по адресу http://вашсайт/xfsearch/имя поля/значение поля/ будут выводится публикации, как и ранее, содержащие указанное значение в данном конкретном поле, если для поля задана опция "использовать как перекрестные ссылки". При обращении по адресу http://вашсайт/xfsearch/значение поля/ будут выводится публикации содержащие данное значение по всем дополнительным полям. При обращении по адресу http://вашсайт/xfsearch/имя поля/ будут выводится все публикации, в которых заполнено данное указанное поле.

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

17. В настройки скрипта добавлена возможность назначения HTTP заголовка, откуда необходимо получать IP адреса пользователей. Данное нововведение будет полезно для сайтов, которые используют различные внешние прокси серверы, и не имеют возможности правильно перенастроить сервер под них, для получения корректных реальных IP адресов посетителей. Например, при использовании сервиса cloudflare и других для защиты от DDOS атак и использовании обычного хостинг тарифа без доступа к серверным настройкам. Теперь вы можете в настройках скрипта в админпанели указать скрипту откуда ему брать IP адрес посетителей сайта.

18. При удалении категории в панели управления скриптом, добавлена возможность выбора, как поступить с публикациями, которые находятся в данной категории. Вы можете: "Убрать данную категорию из публикаций", "Заменить категорию на другую или другие категории", а также "Удалить все публикации находящиеся в данной категории". При этом если происходит удаление или замена категории из публикации, то будет убрана или заменена только удаляемая категория. Например, ваша публикация находится в категориях "В мире", "Новости", "Популярное", и вы к примеру, удаляете категорию "В мире", то у публикаций, находящихся в данной категории, только категория "В мире" будет удалена или заменена, все остальные категории в списке у данных публикаций останутся на месте.

19. Для публикаций добавлен новый тип дополнительного поля: "Чистый HTML и JS". При использовании данного поля, DataLife Engine не будет вмешиваться в текст, написанный в нём, и не будет проводить фильтрацию HTML кода этого текста, а также разрешает написание в нём чистого jаvascript кода. Данное поле будет полезно, когда вам в новость нужно вставить какой-то код, над которым не нужно проводить проверку безопасности, например, какой-либо свой плеер и т.д. Внимание, с учетом того скрипт не будет фильтровать текст из этого поля, при его создании обязательно установите ограничения, каким группам его разрешено использовать. Не разрешайте его использование обычным пользователям, которым вы не доверяете, в противном случае это может нести угрозу безопасности вашего сайта.

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

21. Добавлена поддержка технологии "Яндекс Турбо" для обычных RSS каналов, без использования включения в настройках типа RSS потока как "Яндекс новости", для этого добавлена поддержка вывода полной новости тегом {full-story} для любого типа RSS потока. A также обновлен стандартный шаблон /templates/rss.xml в котором демонстрируется как должен выглядеть шаблон с полной поддержкой "Яндекс Турбо". Аналогично поддерживается полностью и возможность настройки шаблона RSS для технологии "Яндекс Дзен".

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

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

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

25. Добавлено использование микроразметки schema.org для вывода рейтинга с типом "Оценка". Использование данной микроразметки позволяет для полных новостей при выводе их в результатах поиска в Google выводить также и рейтинг публикации.

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

27. Добавлена возможность автоматического уведомления администрации сайта о поступлении новой новости от пользователей, находящейся на модерации (в случае если это включено в настройках скрипта), если новость была добавлена из панели управления скриптом. Ранее уведомление отправлялось только если публикация добавлялась непосредственно с сайта.

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

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

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

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

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

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

34. В админпанели скрипта добавлен форматированный вывод количества различных счетчиков (просмотры, публикации, комментарии). Вывод этих счетчиков осуществляется в форматированном виде в виде разделения пробелом сотен, тысяч, миллионов и т.д. Что дает более наглядное представление и восприятие данных чисел.

35. Для шаблонов вывода комментариев и добавления комментариев (addcomments.tpl и comments.tpl) добавлена поддержка новых тегов текст - выводит текст в теге, если новость принадлежит указанным категориям, а также тегов: текст - выводит текст в теге, если новость не принадлежит указанным категориям. Тем самым вы можете задать разное оформление вывода комментариев и добавления комментариев для публикаций из разных категорий.

36. Добавлена поддержка склонений слов для тега вывода количества голосов, которые были выставлены для рейтинга публикаций. Например, вы можете использовать {vote-num} отзыв||а|ов. Ранее для этого тега это было недоступно, т.к. он содержит в себе HTML код, а не просто число.

37. В случае если в настройках скрипта включено использование сайта только по HTTPS протоколу, то cookies браузером также будут отправляться на сервер только по HTTPS протоколу и автоматически блокироваться если используется обычный HTTP протокол.

38. Добавлен контроль неверных ЧПУ для статических страниц, текст публикации которых разбит на несколько страниц. В случае если указан некорректный номер страницы, будет производится автоматический 301 редирект на начальный адрес данной страницы.

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

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

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

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

43. Для авторизации с использованием социальной сети "Одноклассники", добавлена возможность автоматического получения E-mail пользователя, при условии, что само приложение получило соответствующие права от Одноклассников. Внимание, по умолчанию Одноклассники не дают прав на получение E-mail, и для получения соответствующего доступа вам необходимо дополнительно обращаться в соц. сеть для разрешения получения e-mail. Если разрешение получено, то DLE также автоматически будет импортировать e-mail адрес.

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

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

46. Улучшена система контроля появления дублей страниц, при просмотре всех последних комментариев на сайте.

47. Оптимизирована обработка дополнительных полей публикаций при показе кратких публикаций, а также при работе модуля вывода популярных публикаций.

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

49. Для редактора TinyMCE добавлена поддержка вставки тегов скрытого текста, c использованием соответствующей кнопки в редакторе.

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

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

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

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

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

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

56. Исправлена проблема, при которой не работала динамическая загрузка комментариев, если это включено в настройках скрипта, и при этом тег {jsfiles} размещен в самом низу сайта.

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

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

В интернете огромное количество сайтов, и все они работают на разных движках. Различия, в основном, заключаются в функциональных возможностях движков и в удобстве работы для посторонних пользователей сайтов. Самыми популярными движками являются Joomla , WordPress, Drupal, DLE. На последнем остановимся более подробно, так как, являясь одним из самых удобных и простых движков, он все чаще выбирается веб-мастерами и становится основой большинства веб-ресурсов.

Движок DLE — это DataLifeEngine – основа, которую предварительно рассчитывали использовать для ресурсов с новостными лентами и обзорами. Сегодня на этом движке работают самые разнообразные сайты, посвященные каким угодно тематикам.

Свою популярность движок DLE заслужил благодаря огромному функционалу, о котором всё подробно написано на сайте dle-news.ru. Создатели этого движка предлагают две версии своего продукта: платную и бесплатную. Вполне логично предположить,что бесплатная версия будет с более ограниченными возможностями. Но несмотря на это, бесплатная версия продукта DLE – это отличный движок и для начинающих веб-мастеров, и для более продвинутых. На нем прекрасно работают сайты не только с новостями, но и посвященные кулинарии, медицинской тематике и т.д.

На какой хостинг можно установить DLE

Перед тем, как начать установку движка DLE, неплохо было бы ознакомиться с теми требованиями, которые он предъявляет к серверу. Во-первых, это несколько установленных библиотек: PHP Zlib, PHP XML, PHP GD2, PHP iconv. Кроме того, программное обеспечение должно включать Apache версии 2.0 и выше, PHP 4.3.2+ или PHP 5.0+ и MySQL версии не старее 4.0. оперативная память должна быть размером не менее 8 мегабайт, но это минимум. Никто не запрещает пользоваться оперативкой с 16 мегабайтами, на которой продукт будет работать еще лучше.

При использовании движка DLE на сервере лучше произвести отключение безопасного режима, который обозначен как SafeMode.

Проверка хостинга на соответствие

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

Начинаем установку с проверки полного списка настроек. Для этого в корень сайта добавляем текстовый документ, присваиваем ему имя phpinfo.php, а в него записываем код:

Затем производим запуск скрипта, который у нас получилось создать. В браузере набираем следующее: https://мой_сайт.ру/phpinfo.php. После этого мы можем видеть на странице следующую картину:

Те места, которые обведены красным, являются главными параметрами, определяющими дальнейшую работу создаваемого веб-ресурса. К примеру, для того, чтобы можно было работать с графическими объектами, нужна нормальная работа Библиотеки PHP GD2. Если ее установка будет произведена некорректно, на сайте не будет отображаться капча.

Также для того, чтобы создаваемый веб-ресурс нормально работал, необходимо установить базу MySQL. Система будет запрашивать логин и пароль. Чтобы не забыть эти данные, лучше где-нибудь себе их записать. Для настройки базы пользуемся панелью управления, которая есть на хостинге.

Подробная инструкция по установке DLE

После того, как пакет с движком скачан на компьютер, его нужно распаковать и установить. Но устанавливать мы будем не все подряд, а только папку upload и папку Documentation. В том случае, если на хостинге есть функция распознавания архивов zip, то процесс установки пойдет быстрее. Если же такая функция не поддерживается, то закачку файлов из архива придется производить по отдельности.

Очень удобно при установке движка DLE работать с TotalCommander. Когда вы будете копировать файлы или папки на сервер, отметку с надписи «Перевести имена файлов в нижний регистр» нужно убрать.

Если сервер позволяет распознать и распаковать архив, помещаем в него сразу все те файлы, которые находятся в папке upload.

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

Чтобы подкорректировать Атрибуты, надо выделить нужную папку. После того, как вы изменяете права доступа папки, замены их на содержимое папок не происходит. Выделять файлы и папки, которые будем изменять, удобнее всего через TotalCommander или сочетанием клавиш на клавиатуре Alt+A.

В отрывшееся окошко вписываем то, что нам нужно и жмем OK.

— Установите для папки templates и всех вложенных в нее папок права на запись (CHMOD 777)

— Установите для всех файлов в папке templates права на запись (CHMOD 666)

— Установите права для записи (CHMOD 777) для папок backup, uploads, а также для всех папок, находящихся внутри них.

— Установитеправадлязаписи (CHMOD 777) дляпапок /engine/data/, /engine/cache/, /engine/cache/system/.

Когда все корректировки будут внесены, в браузере вводим следующую запись: https://proba.regciti.ru/install.php. Она означает, что мы собираемся запустить файл с названием install.php. После того, как файл будет запущен, в каждом открывающемся окошке будут появляться подсказки. Ориентируясь на эти подписи, продолжаем процесс установки. В принципе, он начнется автоматически, а система сама выполнит проверку всех тех файлов, которые должны быть установлены, и сообщит вам о завершении установки.

Теперь можно увидеть предварительный результат того, над чем вы все это время так старательно трудились. Вводим в строку браузера https://имя вашего сайта/index.php. Перед вами откроется демонстрационная страничка. Чтобы войти в админ-панель и начать работу, нужно ввести в адресную строку следующую запись: https://имя вашего сайта/admin.php. На экране в случае правильной установки должна появиться следующая картинка:

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

После этого автоматически начнется процесс проверки всех тех компонентов и файлов, которые были установлены. Скрипт автоматически укажет на те ошибки, которые были допущены и которые нужно исправить, чтобы продолжить работу. НА этой картинке есть перечень нескольких пунктов. Они должны быть без красной обводки, — это будет означать, что ошибок скрипт не обнаружил и можно продолжать работу дальше. Если же какой-либо пункт будет в красной обводке, исправляем ошибку. В принципе, скрипт может потребовать исправить ошибки,а вы можете отказаться, но тогда ожидайте, что система будет в некоторых моментах давать сбой. И это будет только ваша вина, а не провайдеров и не пользователей. Если же ошибки исправить не удается, можно попросить консультации или помощи у провайдера, который предоставляет вам место на сервере.

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

Продолжаем и получаем новое открывшееся окошко. Здесь можно будет узнать о том, какие ошибки были допущены в тот момент, когда вы производили изменения Атрибутов для папок и файлов. Скрипт сам вам укажет, где вы допустили ошибки или пропустили что-то.

Если ошибки все же есть, исправить их лучше через фтп-клиента. после корректировки обновляем страничку и смотрим, есть ли еще места, где нужно внести корректировки. Если же вы все сделали правильно, и система не выделила вам места с ошибками, поздравляем! Вы успешно прошли один из самых сложных и ответственных этапов установки, и теперь можете ее смело продолжить!

Сервер MySQL:

Кодировка для MySQL:

На следующей картинке отмечены места, которые нужно вводить очень внимательно и правильно.

Имя базы будет таким, каким мы его присвоили в самом начале. В нашем случае это proba_regciti.

В пункте «Имя пользователя» вводим то т логин пользователя, от имени которого создавалась база. На том этапе логин и пароль мы еще на всякий случай записали.

Указываем адрес электронной почты в строке E-mail. Жмем «Продолжить». В случае отсутствия ошибок ввода на предыдущей страничке перед вами появится надпись: «Поздравляем! Установка успешно завершена».

В следующем открывшемся окошке уделяем внимание нескольким моментам.

Когда вы устанавливали скрипт, автоматически с ним была создана база данных, кабинет админа и созданы настройки работы системы. Чтобы не сбить все настройки и не запустить повторную установку, рекомендуется удалить install.php.

Надеюсь теперь Вы поняли, как устанавливать DLE на хостинг. Если всё ещё остались вопросы – задавайте их в комментариях к данной статье.

Опубликовал author

Заходим в редактирование статьи, нажимаем кнопку с изображением папки(загрузка файлов на сервер) .

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

Также стоит отметить еще один интересный вариант загрузки из папки uploads/files, так можно переместить ваши файлы в другую папку(/uploads/posts/).

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

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

Все картинки движок загружает в папку /uploads/posts/, можно сказать, что это папка специально для картинок, в ней создается подпапка, именем которой будет дата загрузки картинок, а в этой папке будут полноразмерные картинки и папка с их уменьшенными копиями thumbs.

Аналогично загружаются и другие типы файлов(если они разрешены в настройках), кроме картинок, dle автоматически перенаправляет их в папку uploads/files, только они отображаться будут в виде вложений (аттачментов) и пользователи увидят ссылку на скачивание этого файла.

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

Теперь настало время рассмотреть какие параметры мы можем задавать для картинок и файлов из административной панели.

Заходим (Главная –список всех разделов-настройки системы-Настройка работы с изображениями )

И смотрим настройки (некоторые мы уже видели в окне загрузки файлов и картинок)

  • Максимально допустимые размеры оригинального изображения – DLE может автоматически уменьшать оригинальный размер картинки до заданного. Этого можно добиться двумя способами, первый — указать требуемый размер любой стороны, второй — задать ширину и высоту оригинального изображения в формате ширина x высота, 0 – размер картинки не изменяется.
  • Параметры по умолчанию для оригинального изображения – т.е. по какой стороне будет проверка(и соответственно уменьшение) размеров изображения – по наибольшей стороне, по ширине, по высоте
  • Максимально допустимый вес изображений, загружаемых для публикаций – какой максимальный вес картинки в килобайтах допустим для загрузки.
  • Автоматическое удаление изображений – через сколько дней картинки, загруженные на сайт для статьи будут удалены, в случае если она не будет опубликована. Если ничего не указано, изображения удаляться не будут.
  • Размер уменьшенной копии загруженного изображения – есть два варианта задания размера: указать требуемый размер любой стороны, второй — задать ширину и высоту в виде ширина x высотаПараметры по умолчанию для создания уменьшенной копии изображения – по какой стороне будет производится ресайз уменьшенной копии изображения (наибольшей стороне, ширине,высоте)Качество сжатия.jpg изображения – в каком качестве картинка будет скопирована на серверМаксимально допустимый вес аватаров, загружаемых пользователем в профиле – сколько в килобайтах будет допустимый вес аватаров.0- ограничение снимается, 1 – запрет на загрузку аватаров.

Настройки водяных знаков

  • Разрешить наложение водяных знаков – нужно ли накладывать водяные знаки на изображение
  • Минимальный размер для накладывания водяного знака – для картинок со стороной меньше какого размера водяной знак накладываться не будет
Наложение водяного знака в DLE

Как задать водяной знак? Стандартные водяные знаки с логотипом DLE находятся в папке dleimages по адресу ваш_сайт.ru/templates/имя_вашего_шаблона/dleimages. Здесь нам нужно заменить два файла watermark_dark.png и watermark_light.png на свои собственные картинки, предварительно нарисованные в каком-либо текстовом редакторе, например в Adobe Photoshop. Они будут лучше смотреться, если сделать их полупрозрачными. Можно сделать их такого же размера как водяные знаки по умолчанию, либо задать свой размер, важно только соблюсти следующие правила: размер водяного знака не должен превышать размер картинки и оба наших вновь созданных водяных знака должны быть одинакового размера.

Настройки показа увеличенных изображений из миниатюр
  • Автоматическое затемнение сайта при показе оригинального изображения – будет ли затемняться фон сайта при показе большого изображения(при нажатии на миниатюру)
  • Вид оригинального изображения при увеличении из уменьшенной копии – оригинальное изображение показывается в браузере виде модального окошка (c помощью js-плагина Highslide, подключаемого в DLE по умолчанию, он существует и отдельно от нашего движка, распространяется бесплатно, это своего рода аналог lightbox), здесь можно задать некоторые визуальные эффекты для этого изображения (тень, рамка, закругленные края).
  • Режим галереи при просмотре уменьшенных изображений – да/нет (включено или выключено) припросмотре больших изображений из уменьшенных копий, на изображениях будет выводится навигация, будет режим слайдшоу.

Иногда можно столкнутся с проблемой, что режим галереи в DLE не работает — не выводится панель навигации на всплывающей картинке. Дело в том, что скрипт highslide.js подключается автоматически (можно обнаружить, если открыть исходный код в браузере) , кроме того должны проинициализироваться его некоторые параметры, они приведены ниже. Проверьте, что это присутствует в коде вашей страницы.

JavaScript

hs.graphicsDir = "/engine/classes/highslide/graphics/"; hs.outlineType = "rounded-white"; hs.numberOfImagesToPreload = 0; hs.showCredits = false; hs.lang = { loadingText: "Загрузка...", playTitle: "Просмотр слайдшоу (пробел)", pauseTitle: "Пауза", previousTitle: "Предыдущее изображение", nextTitle: "Следующее изображение", moveTitle: "Переместить", closeTitle: "Закрыть (Esc)", fullExpandTitle: "Развернуть до полного размера", restoreTitle: "Кликните для закрытия картинки, нажмите и удерживайте для перемещения", focusTitle: "Сфокусировать", loadingTitle: "Нажмите для отмены" }; hs.align = "center"; hs.transitions = ["expand", "crossfade"]; hs.addSlideshow({ interval: 4000, repeat: false, useControls: true, fixedControls: "fit", overlayOptions: { opacity: .75, position: "bottom center", hideOnMouseOut: true } });

hs . graphicsDir = "/engine/classes/highslide/graphics/" ;

hs . outlineType = "rounded-white" ; hs . numberOfImagesToPreload = 0 ;

hs . showCredits = false ;

hs . lang ,

playTitle : "Просмотр слайдшоу (пробел)" , pauseTitle : "Пауза" , previousTitle : "Предыдущее изображение" ,

nextTitle : "Следующее изображение" , moveTitle : "Переместить" , closeTitle : "Закрыть (Esc)" ,

fullExpandTitle : "Развернуть до полного размера" ,

restoreTitle : "Кликните для закрытия картинки, нажмите и удерживайте для перемещения" ,

focusTitle : : "Нажмите для отмены" } ;

hs . align = "center" ; hs . transitions = [ "expand" , "crossfade" ] ;

hs . addSlideshow ({ interval : 4000 , repeat : false , useControls : true , fixedControls : "fit" ,

overlayOptions : { opacity : . 75 , position : "bottom center" , hideOnMouseOut : true } } ) ;

В этом же исходном коде должна присутствовать и функция, ответственная за вывод картинок режиме галереи и слайдшоу, а именно: hs.addSlideshow.

Если покопаться в файлах движка, то мы обнаружим, что вывод этих параметров определяется такими строчками кода в файле index.php, расположенном в корне сайта.

if (strpos ($tpl->result["content"], "hs.expand") !== false or strpos ($tpl->copy_template, "hs.expand") !== false) { if ($config["thumb_dimming"]) $dimming = "hs.dimmingOpacity = 0.60;"; else $dimming = ""; if ($config["thumb_gallery"] AND ($dle_module == "showfull" OR $dle_module == "static")) { $gallery = " hs.align = "center"; hs.transitions = ["expand", "crossfade"]; hs.addSlideshow({ interval: 4000, repeat: false, useControls: true, fixedControls: "fit", overlayOptions: { opacity: .75, position: "bottom center", hideOnMouseOut: true } });"; } else { $gallery = "";

if (strpos ($ tpl -> result [ "content" ] , "hs.expand" ) !== false or strpos ($ tpl -> copy_template , "hs.expand" ) !== false ) {

if ($ config [ "thumb_dimming" ] ) $ dimming = "hs.dimmingOpacity = 0.60;" ; else $ dimming = "" ;

if ($ config [ "thumb_gallery" ] AND ($ dle_module == "showfull" OR $ dle_module == "static" ) ) {

$ gallery = "

hs.align = "center";

hs.transitions = ["expand", "crossfade"];

hs.addSlideshow({

interval: 4000,

repeat: false,

useControls: true,

fixedControls: "fit",

overlayOptions: {

opacity: .75,

  • hs.numberPosition — показывает номер текущего изображения в последовательности (например, Изображение 1 из 5) Может принимать значения ‘heading’ — отображается вверху, caption -отображается внизу. Точная строка задается в объекте hs.lang(он содержит строки локализации). В том же файле index.php находим строку hs.lang = { и дописываем в конец параметр — number: ‘Изображение %1 из %2’ (после предыдущего параметра не забываем ставить запятую);
  • hs.addSlideShow — функция задающая параметры для режима галереи(картинки сгруппированы и имеют общую панель навигации)
  • interval — количество миллисекунд, которое будет показываться каждый слайд. (по умолчанию 4000)
  • repeat — повторение (начинать с первого слайда после перехода к последнему) (по умолчанию false )
  • useControls — разрешить Highslide создать панель управления слайдшоу (true или false )
  • fixedControls -если истинно, панель управления зафиксирована, элементы управления находятся в одном положении в течение просмотра всех картинок и пользователь может просматривать изображения с помощью кнопки Далее не перемещая мышь (true или false )
  • overlayOptions -параметры наложения для панели управления (объект)
  • opacity -прозрачность панели(по умолчанию.75),
  • position -положение панели управления по вертикали (top , middle , bottom ) и горизонтали (left , center ,right ) (по умолчанию ‘bottom center’)
  • hideOnMouseOut — скрывать панель управления, когда мышка не находится на картинке (по умолчанию true)
  • Далее меняем внешний вид панели навигации. Для этого открываем файл engine.css (templates/Default/style/engine.css, вместо Default подставьте при необходимости имя вашего шаблона). Ищем строки 423, 432, 447 (.highslide-controls, .highslide-controls ul, . highslide- controls a соответственно) и заменяем в background url controlbar-black-border.gif (по умолчанию черная панель управления) на controlbar-white.gif — белая контрольная панель.

    Способы задать миниатюру для статьи

    Миниатюру для статьи можно задать просто вставив картинку в начале текста статьи. Однако нужно следить, чтобы везде было одинаково, применены одинаковые стили и если нужно например заключить миниатюру в ссылку на статью, адрес статьи придется указать вручную.

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

    Максимальное количество файлов при массовой загрузке – сколько одновременно файлов разрешено выбрать и поставить в очередь на скачивание

    Включить поддержку докачивания файлов при скачивании – разрешена ли докачка файлов при разрыве соединения

    Включить счетчик скачиваний файла – отображение информации: сколько человек скачали этот файл.

    Ну пожалуй на этом все! Спасибо, что дочитали до конца. До новых встреч!
    Как обычно, смотрим видео