loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

ХакиОтображение картинкой формата файла аттача (DLE 9.6-9.x)

Написал kacergei, 3 июля 2012 | 4 комментария | рейтинг новости не нравится   -7   нравится Версия для печати
Установка:

1) Открываем /engine/modules/functions.php
Ищем (607 строка):
    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 = '/templates/Simple/filetypes/blank.png'; break;
                                case 'doc': $icon = '/templates/Simple/filetypes/word.png'; break;
                                case 'bmp': $icon = '/templates/Simple/filetypes/bmp.png'; break;        
                                case 'jpg': $icon = '/templates/Simple/filetypes/jpg.png'; break;
                                case 'jpeg': $icon = '/templates/Simple/filetypes/jpg.png'; break;        
                                case 'png': $icon = '/templates/Simple/filetypes/png.png'; break;        
                                case 'gif': $icon = '/templates/Simple/filetypes/gif.png'; break;    
                                case 'psd': $icon = '/templates/Simple/filetypes/photoshop.png'; break;    
                                case 'mp3': case 'wav': case 'ogg': $icon = '/templates/Simple/filetypes/music.png'; break;    
                                case 'avi': case 'flv': case 'wmv': $icon = '/templates/Simple/filetypes/music.png'; break;    
                                case 'pdf': $icon = '/templates/Simple/filetypes/finerider.png'; break;
                                case 'exe': $icon = '/templates/Simple/filetypes/exe.png'; break;    
                                case 'txt': $icon = '/templates/Simple/filetypes/txt.png'; break;            
                                case 'phps': $icon = '/templates/Simple/filetypes/php.png'; break;        
                                case 'html': case 'htm': $icon = '/templates/Simple/filetypes/code.png'; break;
                                case 'rar': case 'zip':  case '7z': $icon = '/templates/Simple/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) Скачиваем архив: СКАЧАТЬ
3) Содержимое кладем в /templates/{Theme}/

P.S> Сорри если что не так первая новость)
Если кому попадутся другие картинки расширений пишите в комменты


Отблагодарили: Rostishka

Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал Bomberman, 8 июля 2012 в 01:33 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 171, Пользователи
Карма:
Советую задуматься над правильностью реализации...

Написал Chumaster59, 13 июля 2012 в 00:40 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 65, Пользователи
Карма:
/templates/Simple на { THEME} нельзя заменить ?
<span class="attachment"> ??? может <span class=\"attachment\">
вы код светили ? там одни ошибки

Написал keiZ, 8 сентября 2012 в 01:50 плохой комментарий   0   хороший комментарий
Новостей: 19, комментариев: 172, Пользователи
Карма: 22±
switch порадовал =D
представляю себе реализацию проверки, например, високосного года

switch($year)
{
default: $visokosnij=0; break;
case 2010: $visokosnij=0; break;
case 2011: $visokosnij=0; break;
case 2012: $visokosnij=1; break;
case 2013: $visokosnij=0; break;
....
}


ну вы поняли bd

Написал EXTRIM, 27 января 2013 в 18:47 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 1, Пользователи
Карма:
Вот правильный, рабочий код.




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 = '/templates/Simple/filetypes/blank.png'; break;
case 'doc': $icon = '/templates/Simple/filetypes/word.png'; break;
case 'bmp': $icon = '/templates/Simple/filetypes/word.png'; break;
case 'jpg': $icon = '/templates/Simple/filetypes/jpg.png'; break;
case 'jpeg': $icon = '/templates/Simple/filetypes/jpg.png'; break;
case 'png': $icon = '/templates/Simple/filetypes/png.png'; break;
case 'gif': $icon = '/templates/Simple/filetypes/gif.png'; break;
case 'psd': $icon = '/templates/Simple/filetypes/photoshop.png'; break;
case 'mp3': case 'wav': case 'ogg': $icon = '/templates/Simple/filetypes/music.png'; break;
case 'avi': case 'flv': case 'wmv': $icon = '/templates/Simple/filetypes/music.png'; break;
case 'pdf': $icon = '/templates/Simple/filetypes/finerider.png'; break;
case 'exe': $icon = '/templates/Simple/filetypes/exe.png'; break;
case 'txt': $icon = '/templates/Simple/filetypes/txt.png'; break;
case 'phps': $icon = '/templates/Simple/filetypes/php.png'; break;
case 'html': case 'htm': $icon = '/templates/Simple/filetypes/code.png'; break;
case 'rar': case 'zip': case '7z': $icon = '/templates/Simple/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[] = "{$lang['att_denied']}";
$replace_2[] = "{$lang['att_denied']}";

} elseif( $config['files_count'] == 'yes' ) {

$replace_1[] = "{$row['name']}

[{$size}] ({$lang['att_dcount']} {$row['dcount']})";
$replace_2[] = "\\1 [{$size}]

({$lang['att_dcount']} {$row['dcount']})";

} else {

$replace_1[] = "{$row['name']}

[{$size}]";
$replace_2[] = "\\1 [{$size}]

";

}

}

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]