Файл: selemege.tk/plugins/cleaner/forum.php
Строк: 90
<?
/*
=======================================
DCMS-Cleaner
Автор: Искатель
---------------------------------------
При распространении указывать ссылку на
оф. сайт http://dcms-fiera.ru
---------------------------------------
Контакты
ICQ: 587863132
http://dcms-fiera.ru
=======================================
*/
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';
only_reg();
if (user_access('adm_panel_show'))
{
$set['title'] = 'Форум - Файлы';
include_once '../../sys/inc/thead.php';
?>
<link rel="stylesheet" href="style/style.css" type="text/css" />
<?
title();
aut();
$num = 0;
$nums = 0;
$size = 0;
if(isset($_GET['del']) && $_GET['del'] == 'all')
{
// Папка файлов форума
$dh = opendir(H.'sys/forum/files');
while($fname = readdir($dh))
{
$file_array = explode('.', $fname);
$nums = count($file_array);
$fileres = $file_array[($nums - 1)];
$file_types = explode("|", 'frf');
if(in_array($fileres, $file_types))
{
$files[] = $fname;
}
$real = $fname;
// Берем id файла
$file = abs(intval($fname));
// Фиксируем размер
$file_size = @filesize(H.'sys/forum/files/' . $real);
// Определяем запись в таблице файла
$id_post = mysql_fetch_array(mysql_query("SELECT * FROM `forum_files` WHERE `id` = '$file' LIMIT 1"));
// Определяем пост
$post = mysql_fetch_array(mysql_query("SELECT * FROM `forum_p` WHERE `id` = '$id_post[id_post]' LIMIT 1"));
// Сверяем файлы с таблицей постов
if ($real != '..' && $real != '.' && !$post['id'])
{
// Удаляем запись в таблице
mysql_query("DELETE FROM `forum_files` WHERE `id_post` = '$file'");
// Удаляем файл
@unlink(H.'sys/forum/files/' . $real);
// Суммируем размер для общего веса файлов
$size = $size + @filesize(H.'sys/forum/files/' . $real);
$num++;
}
elseif ($file_size == '0') // Проверяем файлы с нулевым размером
{
// Удаляем запись в таблице
mysql_query("DELETE FROM `forum_files` WHERE `id_post` = '$file'");
// Удаляем файл
@unlink(H.'sys/forum/files/' . $real);
// Суммируем размер для общего веса файлов
$size = $size + @filesize(H.'sys/forum/files/' . $real);
$num++;
}
}
$_SESSION['message'] = 'Форум успешно очищен, удалено (' . $num . ') файлов';
header("Location: ?");
exit;
}
echo '<div class="mess">';
echo 'В релизах DCMS 6.6.4 ветке и ее всех модификациях не удаляются прикрепленные файлы, при удалении тем в форуме.<br />';
/*
=============================================
Сравнение файлов с таблицей
forum_p, поиск (мертвых)
файлов
=============================================
*/
$num = 0;
// Папка файлов форума
$dh = opendir(H.'sys/forum/files');
while($fname = readdir($dh))
{
$file_array = explode('.', $fname);
$nums = count($file_array);
$fileres = $file_array[($nums - 1)];
$file_types = explode("|", 'frf');
if(in_array($fileres, $file_types))
{
$files[] = $fname;
}
$real = $fname;
// Берем id файла
$file = abs(intval($fname));
// Фиксируем размер
$file_size = @filesize(H.'sys/forum/files/' . $real);
// Определяем запись в таблице файла
$id_post = mysql_fetch_array(mysql_query("SELECT * FROM `forum_files` WHERE `id` = '$file' LIMIT 1"));
// Определяем пост
$post = mysql_fetch_array(mysql_query("SELECT * FROM `forum_p` WHERE `id` = '$id_post[id_post]' LIMIT 1"));
// Сверяем файлы с таблицей постов
if ($real != '..' && $real != '.' && !$post['id'])
{
echo $real . ' - <br />';
// Суммируем размер для общего веса файлов
$size = $size + @filesize(H.'sys/forum/files/' . $real);
$num++;
}
elseif ($file_size == '0') // Проверяем файлы с нулевым размером
{
$num++;
}
}
if ($num > 0)echo '<img src="style/icons/delete.gif" /> <font color=red>В форуме обнаружено <b>' . $num . '</b> файлов для удаления. Эти файлы занимают ' . size_file($size) . ' (sys/forum/files/)</font>';
else
echo '<img src="style/icons/ok.gif" /> <font color=green>В форуме с файлами все отлично</font>';
echo '</div>';
echo '<div class="foot">';
echo '<img src="style/icons/str.gif" /> <a href="?del=all">Очистить форум от мусора</a>';
echo '</div>';
echo '<div class="foot">';
echo '<img src="style/icons/str2.gif" /> <a href="index.php">DCMS Cleaner</a>';
echo '</div>';
include_once '../../sys/inc/tfoot.php';
}
?>