11.04.13, 10:26
0 комментарий
  DLE Хаки

Хак формат файлов атача DataLife Engine 9.x

Cделали небольшой хак для DataLife Engine суть которого - возле аттача (ссылки на скачивание файла) отображать формат файла в виде изображения (как на скриншоте).

Установка:

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" 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>";

        }

    }


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

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


Пишем:

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



2. Скопировать папку filetypes в папку Вашего шаблона (templatesDefaultfiletypes).

Можете изменить иконки на свой вкус.

СКАЧАТЬ

Вес файла
11.27 Kb

СКАЧАТЬ

Вес файла
1.72 Mb

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204