Инструкция по установке и настройке модуля архива файлов "Files v4.0 FREE" для Datalife Engine v8.0-8.5
==============================================================================================
Минимальные системные требования модуля PHP 5.2.1 с активной библиотекой php_zip.dll Safe Mode должен быть отключён!
Внимание! В архиве есть файл Faq.doc. Пожалуйста, прочтите его обязательно. Если у вас возникнут другие вопросы, то можете писать.
Если вы выполняете обновление, то прочтите Инструкцию по обновлению модуля.
Сначала скопируйте содержимое папки root_dir в корневую директорию движка dle (где находятся папки engine,templates и т.д.)
А содержимое папки templates/Ваша_Тема в папку вашего скина, где Ваша_Тема - это ваш скин.
Для версии 8.0
В файле admin.php после
'editnews',
добавить ниже
// Модуль Files
'admin_files',
// Модуль Files
В файле engine/inc/options.php находим
array (
'name' => $lang['opt_rss'],
'url' => "$PHP_SELF?mod=rss",
'descr' => $lang['opt_rssc'],
'image' => "rss.gif",
'access' => $user_group[$member_id['user_group']]['admin_rss']
),
добавить выше
// Модуль Files
array(
'name' => "Архив файлов",
'url' => "$PHP_SELF?mod=admin_files&action=list",
'descr' => "Архив файлов",
'image' => "files.png",
'access' => $user_group[$member_id['user_group']]['admin_files'],
),
// Модуль Files
Остальное для версий 8.0 - 8.5
После этого в файле engine/engine.php после
case "comments" :
include ENGINE_DIR . '/modules/comments.php';
break;
добавить
// Модуль Files
case "files" :
include ENGINE_DIR.'/modules/files/files.php';
break;
// Модуль Files
В этом же файле
После:
elseif ($do == 'static') $titl_e = $static_descr;
добавить
// Модуль Files
elseif ($do == 'files' AND $op == 'addfile')
{
$nam_e = "Добавление файла в архив файлов";
}
elseif ($do == 'files')
{
if($metatags['title'] == "")
$titl_e = "Архив файлов ";
else
$titl_e = $metatags['title']." » Архив файлов ";
}
// Модуль Files
Затем, чтобы для пользователей отображалась ссылки в /templates/Ваша_Тема/login.tpl необходимо:
1. Добавить код для добавления файла
<a href="{$config['http_home_url']}index.php?do=files&op=addfile">Добавить файл</a>
2. Добавить код для просмотра закладок файлов
<a href="{$config['http_home_url']}index.php?do=files&op=favorites">Избранные файлы</a>
Для получения ссылки на архив добавляем ссылку вида
<a href="http://site.ru/index.php?do=files">Архив файлов</a> - без включенного ЧПУ
<a href="http://site.ru/files">Архив файлов</a> - с включенным ЧПУ
Файл index.php
находим строку:
$tpl->set ( '{calendar}', $tpl->result['calendar'] );
и добавляем до этой строки:
// Моудль Files
$files = "files";
require_once ROOT_DIR.'/engine/modules/files/newfiles.php';
$tpl->set('{newfiles}',$newfiles);
require_once ROOT_DIR.'/engine/modules/files/top_downloads_files.php';
$tpl->set('{top_downloads_files}',$newfiles);
require_once ROOT_DIR.'/engine/modules/files/menu_files.php';
$tpl->set('{menu_files}',$menu_files);
$menu_files = "";
require ROOT_DIR.'/engine/modules/files/archives.php';
$tpl->set('{archives_files}',$files_archive);
// Моудль Files
После (дле 8.0-8.3):
<script type="text/javascript" src="{$config['http_home_url']}engine/ajax/js_edit.js"></script>
До (для 8.5):
<div id="loading-layer" style="display:none;font-family: Verdana;font-size: 11px;width:200px;height:50px;background:#FFF;padding:10px;text-align:center;border:1px solid #000"><div style="font-weight:bold" id="loading-layer-text">{$lang['ajax_info']}</div><br /><img src="{$config['http_home_url']}engine/ajax/loading.gif" border="0" alt="" /></div>
добавить
<script type="text/javascript" src="{$config['http_home_url']}engine/ajax/files/js_edit_files.js"></script>
Находим
if ($user_group[$member_id['user_group']]['allow_all_edit']) {
$ajax .= <<<HTML
var allow_dle_delete_news = true;\n
HTML;
} else {
$ajax .= <<<HTML
var allow_dle_delete_news = false;\n
HTML;
}
Добавляем ниже
// Модуль Files Удаление
include_once ENGINE_DIR.'/data/files_config_global.php';
include_once ENGINE_DIR . '/modules/files/function.php';
$cat_access_config = get_vars_files ( "", "access_config" );
if (! $cat_access_config) {
$cat_access_config = array ();
$result = $db->query ( "SELECT `param_name`, `value` FROM `" . PREFIX . "_" . $modul_dbtitle . "_access_configure`" );
while ( $row = $db->get_row ( $result ) ) {
$cat_access_config [$row ['param_name']] = array ();
$row['value'] = explode ( ',', $row['value'] );
$cat_access_config [$row ['param_name']] = $row['value'];
}
set_vars_files ( "", "access_config", $cat_access_config );
$db->free ( $result );
}
if (in_array($member_id['user_group'], $cat_access_config['access_delete_files']) OR $member_id['user_group'] == "1") {
$ajax .= <<<HTML
var allow_dle_delete_f = true;\n
HTML;
} else {
$ajax .= <<<HTML
var dle_login_hash = '';
var allow_dle_delete_f = false;\n
HTML;
}
// Модуль Files Удаление
После этого в нужном месте сайта (в шаблоне) вставить (main.tpl):
{newfiles} - для вывода последних файлов
Откройте файл engine/inc/usergroup.php
Находим
$admin_googlemap = intval( $_REQUEST['admin_googlemap'] );
Добавляем ниже
// Модуль Files
$admin_files = intval( $_REQUEST['admin_files'] );
// Модуль Files
Находим
max_pm='$max_pm'
Заменяем на
max_pm='$max_pm', speed_download_files='$speed_download_files', admin_files='$admin_files'
Находим
if( $action == "add" ) {
Добавляем после
// Модуль Files
$speed_download_files = "";
// Модуль Files
Находим
$admin_googlemap_no = "checked";
Добавляем после
// Модуль Files
$admin_files_no = "checked";
// Модуль Files
Находим
$group_name_value = htmlspecialchars( stripslashes( $user_group[$id]['group_name'] ) );
Добавляем после
// Модуль Files
$speed_download_files = htmlspecialchars(stripslashes($user_group[$id]['speed_download_files']));
// Модуль Files
Находим
if( $user_group[$id]['admin_googlemap'] ) $admin_googlemap_yes = "checked"; else $admin_googlemap_no = "checked";
Добавляем после
// Модуль Files
if( $user_group[$id]['admin_files'] ) $admin_files_yes = "checked"; else $admin_files_no = "checked";
// Модуль Files
Находим
<tr>
<td style="padding:4px;" class="option"><b>{$lang['group_a_googlemap']}</b><br /><span class="small">{$lang['group_h_googlemap']}</span></td>
<td style="padding-top:2px;padding-bottom:2px;"><input type="radio" name="admin_googlemap" {$admin_googlemap_yes} value="1" {$gastgroup}> {$lang['opt_sys_yes']} <input type="radio" name="admin_googlemap" {$admin_googlemap_no} value="0" {$admingroup}> {$lang['opt_sys_no']}</td>
</tr>
<tr><td background="engine/skins/images/mline.gif" height=1 colspan=2></td></tr>
</table>
</div>
Добавляем после
<!--modul-files-->
<div class="dle_aTab" style="display:none;">
<table width="100%">
<tr>
<td style="padding:4px;" class="option"><b>{$lang['opt_sys_file5']}</b><br /><span class="small">{$lang['opt_sys_file5d']}</span></td>
<td width="480" style="padding-top:2px;padding-bottom:2px;"><input class="edit" type="text" size="25" name="speed_download_files" value="{$speed_download_files}"></td>
</tr>
<tr><td background="engine/skins/images/mline.gif" height=1 colspan=2></td></tr>
<tr><td background="engine/skins/images/mline.gif" height=1 colspan=2></td></tr>
<tr>
<td style="padding:4px;" class="option"><b>Разрешить управление файловым архивом в админпанели</b><br /><span class="small">Данная опция позволит пользователям, имеющим доступ в админпанель, управлять файловым архивом в админпанели.</span></td>
<td style="padding-top:2px;padding-bottom:2px;"><input type="radio" name="admin_files" {$admin_files_yes} value="1" {$gastgroup}> {$lang['opt_sys_yes']} <input type="radio" name="admin_files" {$admin_files_no} value="0" {$admingroup}> {$lang['opt_sys_no']}</td>
</tr>
</table>
</div>
Находим
initTabs('dle_tabView1',Array('{$lang['tabs_gr_all']}', '{$lang['tabs_gr_news']}', '{$lang['tabs_gr_comments']}', '{$lang['tabs_gr_admin']}'),0, '100%');
Заменяем на
initTabs('dle_tabView1',Array('{$lang['tabs_gr_all']}', '{$lang['tabs_gr_news']}', '{$lang['tabs_gr_comments']}', '{$lang['tabs_gr_admin']}', 'Файловый архив'),0, '100%');
Затем выполните запрос install_files.php, который произведёт установку всех таблиц необходимых для работы модуля. После этого обязательно удалите этот файл!
После этого для того, чтобы было ЧПУ (если конечно оно у вас включено в админке), в файл .htaccess (он лежит в корне движка DLE) вставьте после строк:
RewriteEngine On
вот эти строки:
# Модуль Files
RewriteRule ^files.xml$ engine/modules/files/files_rss.php?action=files
RewriteRule ^([1-9][0-9]*)_files.xml$ engine/modules/files/files_rss.php?action=files&catid=$1
RewriteRule ^files(/?)+$ index.php?do=files
# За день
RewriteRule ^files/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?do=files&year=$1&month=$2&day=$3 [L]
RewriteRule ^files/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?do=files&year=$1&month=$2&day=$3&cstart=$4 [L]
# За весь месяц
RewriteRule ^files/([0-9]{4})/([0-9]{2})(/?)+$ index.php?do=files&year=$1&month=$2 [L]
RewriteRule ^files/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?do=files&year=$1&month=$2&cstart=$3 [L]
# Вывод за весь год
RewriteRule ^files/([0-9]{4})(/?)+$ index.php?do=files&year=$1 [L]
RewriteRule ^files/([0-9]{4})/page/([0-9]+)(/?)+$ index.php?do=files&year=$1&cstart=$2 [L]
RewriteRule ^addfile(/?)+$ index.php?do=files&op=addfile
RewriteRule ^files/file([1-9][0-9]*).html index.php?do=files&op=download&fileid=$1
RewriteRule ^files/options.html index.php?do=files&op=options
RewriteRule ^files/([0-9]+)_(.*).html(/?)+$ index.php?do=files&op=download&fileid=$1 [L]
RewriteRule ^files/cat([1-9][0-9]*).html index.php?do=files&op=cat&id=$1
##############Сортировка файлов#############################################################
RewriteRule ^files/cat([1-9][0-9]*)-titleA.html index.php?do=files&op=cat&id=$1&orderby=titleA
RewriteRule ^files/cat([1-9][0-9]*)-titleD.html index.php?do=files&op=cat&id=$1&orderby=titleD
RewriteRule ^files/cat([1-9][0-9]*)-dateA.html index.php?do=files&op=cat&id=$1&orderby=dateA
RewriteRule ^files/cat([1-9][0-9]*)-dateD.html index.php?do=files&op=cat&id=$1&orderby=dateD
RewriteRule ^files/cat([1-9][0-9]*)-hitsA.html index.php?do=files&op=cat&id=$1&orderby=hitsA
RewriteRule ^files/cat([1-9][0-9]*)-hitsD.html index.php?do=files&op=cat&id=$1&orderby=hitsD
##############################################################################################
RewriteRule ^files/cat([0-9][0-9]*)_(.*)-(.*).html index.php?cstart=$2&do=files&op=cat&id=$1&orderby=$3
RewriteRule ^files/comments/(.*)/file([1-9][0-9]*).html index.php?cstart=$1&do=files&op=download&fileid=$2
RewriteRule ^files/page(.*)/ index.php?cstart=$1&do=files
RewriteRule ^files/file([1-9][0-9]*)-comdel([1-9][0-9]*).html index.php?do=files&op=del&fileid=$1&id=$2
RewriteRule ^files/brokenfile_([1-9][0-9]*).html index.php?do=files&op=brokenfile&fileid=$1
# Алфавит
RewriteRule ^files/alpha/([^/]*)(/?)+$ index.php?do=files&op=alpha&word=$1 [L]
RewriteRule ^files/alpha/([^/]*)/page([0-9]+)(/?)$ index.php?do=files&op=alpha&word=$1&cstart=$2 [L]
# вывод избранных статей
RewriteRule ^favoritesfiles(/?)+$ index.php?do=files&op=favorites [L]
RewriteRule ^favoritesfiles/page/([0-9]+)(/?)+$ index.php?do=files&op=favorites&cstart=$1 [L]
# Google SiteMap
RewriteRule ^files_sitemap.xml$ uploads/files_sitemap.xml [L]
# Модуль Files
После этого зайдите в панель администрирования модулем Files (Админцентр - Другие разделы - Архив файлов) и настройте архив файлов, создайте категории, добавьте файл.
После этого переходите к редактированию шаблонов под ваш дизайн сайта, которые находятся в папке /templates/Ваша_Тема/files/
1) Главная страница архива файлов, страница категории и результаты поиска по файлам используют шаблон files.tpl и содержит следующие теги:
[title]{title}[/title] - название файла как ссылка на комментарии (можно просто оставить {title}).
{version} - версия данного файла.
{platform} - платформа/формат файла.
{link-category} - но собственно ссылка на категорию.
{search-id} - ID поиска файла. Отображается только при поиске файлов.
{screenshot} - Скриншот к файлу.
{description} - Описание файла.
{url} - Ссылка на скачиваемый файл, отображаемая как "Скачать". (доступна только зарегистрированным пользователям вашего сайта.)
{size} - Размер скачиваемого файла.
[broken]{broken}[/broken] - При помощи этого тега пользователи могут сообщать о повреждённых, либо потерянных ссылках. (доступна только зарегистрированным пользователям вашего сайта.)
[edit] и [/edit] - ссылка на редактирование файла. (доступна только администраторам вашего сайта.)
{views} - количество скачиваний данного файла.
{author} - автор файла.
{date} - дата размещения файла.
[com-link]Комментарии ({comments-num})[/com-link] - ссылка на комментарии файла с указанием количества их.
2) Страница описания файла, с комментариями и формой их добавления задается шаблоном file.tpl, аналогичный шаблону files.tpl, за исключением тегов:
[related-news]{related-news}[/related-news] - вывод похожих файлов
{rating} - вывод рейтинга
{url1} и {url2} - отображает зеркало 1 и 2 файла.
[mirrors]{url1}{url2}[/mirrors] - выводит зеркала на файлы, если они заданы. Если зеркала или одно из зеркал к файлу не заданы, то они просто не выводятся.
[edit-date] {edit-date} [/edit-date] - выводит дату редактирования файла
{editor} - выводит имя редактора
[edit-reason] {edit-reason} [./edit-reason] - выводит причину редактирования
{keywords} - выводит теги в файлу (ключевые слова)
3) Если вы включите в настройках модуля автоматический вывод категорий на главной файлового архива, то будет использоваться шаблон auto_category.tpl, имеющий следующие теги:
[catheader][/catheader] - между этими тегами располагается шапка таблицы.
[head_coll] [/head_coll] - между этими тегами располагается шапка таблицы основных категорий.
[mainline] [/mainline] - между этими тегами располагаются ссылки на категории.
[foot_coll] [/foot_coll] - между этими тегами располагается низ таблицы основных категорий.
[catline][/catline] - между этими тегами располагаются ссылки на подкатегории.
[full-link]{title}[/full-link] - выводит ссылки на категории. Эти теги должны непосредственно располагаться между тегами [catline] и [/catline]
[number_files_cat]{number_files_cat}[/number_files_cat] - выводит количество файлов, имеющихся в основной категории. Эти теги тоже должны непосредственно располагаться между тегами [catline] и [/catline]
[catbreak][/catbreak] - разделяет строку с основной категорией и её субкатегориями от следующей строки с категорией и её субкатегорий.
[catfooter][/catfooter] - между этими тегами располагается футер (низ) таблицы.
{num_filesmain} - отображает количество файлов всего, имеющихся в файловом архиве.
{rss} - вывод RSS потока файлов.
{options} - вывод сслыки на настройик архива.
{favorites} - вывод ссылки на закладки архива
{addfile} - вывод ссылки на добавление файла.
4) Шаблон navcatfiles.tpl отображает категорию и её субкатегории с количеством файлов в каждой категории. Если субкатегории у категории отсутствуют или вы зашли на саму субкатегорию основной категории, то выводится одна категория с количеством файлов. Этот шаблон имеет следующие теги:
[catheader][/catheader] - между этими тегами располагается шапка таблицы.
[catline][/catline] - между этими тегами располагаются ссылки на категории.
[fcat_url]{fcat_title}[/fcat_url] - выводит ссылки на категории. Эти теги должны непосредственно располагаться между тегами [catline] и [/catline]
[number_files_cat]{number_files_cat}[/number_files_cat] - выводит количество файлов, имеющихся в категориях. Эти теги тоже должны непосредственно располагаться между тегами [catline] и [/catline]
[catfooter][/catfooter] - между этими тегами располагается футер (низ) таблицы.
5) Шаблон file_navigation.tpl выводит навигацию (Архив файлов - Основная категория - Субкатегория (если имеется) - Название файла) при просмотре файла с комментариями. Этот шаблон имеет следующие теги:
{archive_files} - Выводит ссылку на главную страницу архива файлов.
{parentcategory} - Выводит ссылку основной категории файла.
{category} - Выводит ссылку субкатегории файла.
{title} - Выводит название файла (между тегами [catheader] ... [/catheader]
[catheader][/catheader] - между этими тегами располагается шапка таблицы.
[catfooter][/catfooter] - между этими тегами располагается футер (низ) таблицы.
{rss} - вывод RSS потока категории.
{count} - вывод количества файлов в категории.
[catline][/catline] - между этими тегами располагаются ссылки на подкатегории.
{full-link} - выводит ссылки на категории. Эти теги должны непосредственно располагаться между тегами [catline] и [/catline]
{number_files_cat} - выводит количество файлов в категории.
{title} - Выводит название категории (между тегами [catline] ... [/catline]
6) Шаблон addfile.tpl используется для вывода формы добавления файлов пользователями и имеет следующие теги:
{xfields} - тег для вывода доп. поле.
[sec_code]{sec_code}[/sec_code] - теги для вводы каптчи.
[not-wysywyg] [/not-wysywyg] - теги для вывода информации при выключенном wysywyg.
{shortarea} - вывод самого wysywyg редактора
{file_extensions} - выводит типы файлов (расширения), которые могут добавлять пользователи.
{title} - используется для ввода заголовка файла.
[allow_screenshot][/allow_screenshot] - между этими тегами располагается форма добавления скриншота к файлу. Если пользователям запрещено добавлять скриншоты к файлам то форма добавления скриншота не выводится.
{version} - версия файла.
{platform} - платформа/формат файла.
{category} - выводится список категорий, в которые можно добавлять файлы.
{bbcode} - бб коды форматирования текста описания файла
{description} - описание файла.
7) Если вы отключите в настройках модуля автоматический вывод категорий на главной файлового архива, то будет использоваться шаблон category.tpl - это чистый html, в нём вы вбиваете существующие категории архива файлов.
8) Шаблон sort.tpl необходим для функции сортировки файлов в категории по названию, по дате, по популярности (его можно вообще не редактировать, кроме как там например, изменить цвет, стиль текста под ваш скин).
И ещё - шаблоны file.tpl и files.tpl почти будут схожи с шаблоном shortstory.tpl вашего текущего скина.