Название: Иконка для каждого Формата файлов attachment для DLE 9.6
Год: 2012
Версия движка DLE: 9.6
Описание:
Данный хак улучшит вид attachment (аттач) для DLE 9.6, дополнив ссылку форматом в виде изображения (см.img).
Аттач — прикрепленный файл к новости, посту или статьи. В качестве аттача может выступить любой файл: картинка, текст, html-страница, музыкальный фрагмент и т.д.
Скриншоты:
Установка:
1. Открыть engine\modules\functions.php найти:
Показать / Скрыть текст
while ( $row = $db->get_row() ) {
$size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
$row['name'] = explode( "/", $row['name'] );
$row['name'] = end( $row['name'] );
$find_1[] = '[ attachment =' . $row['id'] . ']';
$find_2[] = "#[ attachment ={$row['id']}:(.+?)]#i";
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {
$replace_1[] = "<span class=" attachment ">{$lang['att_denied']}</span>";
$replace_2[] = "<span class=" attachment ">{$lang['att_denied']}</span>";
} elseif( $config['files_count'] == 'yes' ) {
$replace_1[] = "<span class=" attachment "><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
$replace_2[] = "<span class=" attachment "><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
} else {
$replace_1[] = "<span class=" attachment "><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class=" attachment "><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >1</a> [{$size}]</span>";
}
}
Заменить кодом:
Показать / Скрыть текст
while ( $row = $db->get_row() ) {
$size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
$row['name'] = explode( "/", $row['name'] );
$row['name'] = end( $row['name'] );
$path_info = pathinfo(ROOT_DIR . '/uploads/files/' . $row['onserver']);
$format = $path_info['extension'];
switch($format){
default: $icon = '{THEME}/filetypes/blank.png'; break;
case 'doc': case 'docx': $icon = '{THEME}/filetypes/word.png'; break;
case 'pdf': $icon = '{THEME}/filetypes/pdf.png'; break;
case 'exe': $icon = '{THEME}/filetypes/exe.png'; break;
case 'zip': $icon = '{THEME}/filetypes/zip.png'; break;
case 'swf': $icon = '{THEME}/filetypes/flash.png'; break;
case 'rar': $icon = '{THEME}/filetypes/rar.png'; break;
}
$find_1[] = '[ attachment =' . $row['id'] . ']';
$find_2[] = "#[ attachment ={$row['id']}:(.+?)]#i";
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {
$replace_1[] = "<span class=" attachment ">{$lang['att_denied']}</span>";
$replace_2[] = "<span class=" attachment ">{$lang['att_denied']}</span>";
} elseif( $config['files_count'] == 'yes' ) {
$replace_1[] = "<span class=" attachment "><img src="$icon" alt="$format" align="middle">Скачать<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" > {$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
$replace_2[] = "<span class=" attachment "><img src="$icon" alt="$format" align="middle">Скачать<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" > 1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
} else {
$replace_1[] = "<span class=" attachment "><img src="$icon" alt="$format" align="middle">Скачать<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" > {$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class=" attachment "><img src="$icon" alt="$format" align="middle">Скачать<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" > 1</a> [{$size}]</span>";
}
}
2. Загрузить папку filetypes в /templates/ваш_шаблон/. и всё!
Совет:
Показать / Скрыть текстДля того что-бы добавить новый формат с иконкой, делаем следующую операцию, находим:
case 'rar': $icon = '{THEME}/filetypes/rar.png'; break;
копируем данный код, вставляем ниже этого кода и заменяем формат на нужный вам, например:
case 'txt': $icon = '{THEME}/filetypes/txt.png'; break;
Добавив при этом в папку filetypes изображением с символом нужного формата. Так-же не забудьте добавить в настройках DLE 9.6 необходимый вам
формат.