Автор: ko1yan (dle-solutions.ru)
Источник: PhP-uCoz.ru 1. В phpmyadmin выполнить запрос:
Code
ALTER TABLE `dle_files` ADD `md5` VARCHAR( 250 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL DEFAULT ''
2. Открыть файл engine/inc/files.php и найти:
Code
$img_result .= "
$image_name -> $lang[files_upok]
";
$added_time = time() + ($config['date_adjust'] * 60);
Ниже добавить:
Code
$md5_f = md5_file(ROOT_DIR . "/uploads/files/" . $file_prefix . $image_name);
Чуть ниже найти:
Code
$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, md5) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time')" );
и добавить перед )" ); добавить , '$md5_f' тоесть должно получиться:
$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, md5) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time', '$md5_f')" );
3. Открыть файл engine/modules/functions.php найти в функции show_attach:
Code
$replace_1[] = "{$row['name']} [{$size}] ({$lang['att_dcount']} {$row['dcount']})";
$replace_2[] = "\\1 [{$size}] ({$lang['att_dcount']} {$row['dcount']})";
заменить на:
Code
$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']}){$md5f}</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']}){$md5f}</span>";
а выше добавить:
Code
if($row['md5']) $md5f = "<br /><span style=\"font-size: 9px;\">MD5: <i>{$row['md5']}</i></span>";
Готово! По идее должно работать почти на всех версиях DLE, инструкция сделана на основе версии DataLife Engine 9.2.
MD5 для будет показываться только для новых файлов!