Отображение картинкой формата файла аттача

Отображение картинкой формата файла аттача

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

Отображение картинкой формата файла аттача

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

Установка:
1. Открыть enginemodulesfunctions.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’: $icon = ‘{THEME}/filetypes/word.png’; break;
                                case ‘bmp’: $icon = ‘{THEME}/filetypes/word.png’; break;        
                                case ‘jpg’: $icon = ‘{THEME}/filetypes/jpg.png’; break;
                                case ‘jpeg’: $icon = ‘{THEME}/filetypes/jpg.png’; break;        
                                case ‘png’: $icon = ‘{THEME}/filetypes/png.png’; break;        
                                case ‘gif’: $icon = ‘{THEME}/filetypes/gif.png’; break;    
                    case ‘psd’: $icon = ‘{THEME}/filetypes/photoshop.png’; break;    
                                case ‘mp3’: case ‘wav’: case ‘ogg’: $icon = ‘{THEME}/filetypes/music.png’; break;    
                    case ‘avi’: case ‘flv’: case ‘wmv’: $icon = ‘{THEME}/filetypes/music.png’; break;    
                                case ‘pdf’: $icon = ‘{THEME}/filetypes/finerider.png’; break;
                                case ‘exe’: $icon = ‘{THEME}/filetypes/exe.png’; break;    
                                case ‘txt’: $icon = ‘{THEME}/filetypes/txt.png’; break;            
                                case ‘phps’: $icon = ‘{THEME}/filetypes/php.png’; break;        
                                case ‘html’: case ‘htm’: $icon = ‘{THEME}/filetypes/code.png’; break;
                                case ‘rar’: case ‘zip’:  case ‘7z’: $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» style=»max-width:600px;» 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» style=»max-width:600px;» 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» style=»max-width:600px;» 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» style=»max-width:600px;» alt=»$format» align=

«middle»/><a href=»{$config[’http_home_url’]}engine/download.php?id={$row[‘id’]}{$area}» >1</a> [{$size}]

</span>»;

        }

    }

Если Вы хотите добавить новую иконку и новый тип файла, то после:


case ‘rar’: case ‘zip’:  case ‘7z’: $icon = ‘{THEME}/filetypes/rar.png’; break;

Пишем:


case ‘Формат файла, например mp4’: $icon = ‘Путь к изображению формата файла, например {THEME}/filetypes/mp4.png’; break;

2. Скопировать из архива папку с иконками filetypes и залить ее в папку Вашего шаблона, к примеру templatesDefaultfiletypes. Можно изменить иконки на свой вкус.

Версия DLE: 9.х

Прикреплённые файлы:
Файл: format_file.zip
Размер: [1,72 Mb] (забрали: 35 раз)