Иконки для файлов attachment [DLE 9.6]

Иконки для файлов attachment [DLE 9.6]

Название: Иконка для каждого Формата файлов 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 необходимый вам
формат.