Вход Регистрация
Файл: selemege.tk/plugins/cleaner/obmen.php
Строк: 398
<?
/*
=======================================
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')
{

    
/*
    ================================
    Чистим таблицы
    ================================
    */
    
$q mysql_query("SELECT id FROM `obmennik_files`");

    while (
$file mysql_fetch_assoc($q))
    {
        if (!
file_exists(H.'sys/obmen/files/' $file['id'] . '.dat')) 
        {
            
// Таблицы
            
mysql_query("DELETE FROM `mark_files` WHERE `id_file` = '$file[id]'");
            
mysql_query("DELETE FROM `obmennik_komm` WHERE `id_file` = '$file[id]'");
            
mysql_query("DELETE FROM `obmennik_files` WHERE `id` = '$file[id]'");
            
$num++;
        }
    }

        
    
$CONF["file_types"] ='jpg|png|gif|jpeg';
    
/*
    ================================
    Папка sys/obmen/screens/128/
    ================================
    */
    
$dh opendir(H.'sys/obmen/screens/128');

    while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
        
        
$real $fname;
        
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

    
$screen intval($fname);

    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
    {
    @
unlink(H.'sys/obmen/screens/128/' $real);
    
$num++;
    }

    }
    
/*
    ================================
    Папка sys/obmen/screens/48/
    ================================
    */
    
$dh opendir(H.'sys/obmen/screens/48');

    while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
        
        
$real $fname;
        
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

        
$screen intval($fname);

        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
        {
            @
unlink(H.'sys/obmen/screens/48/' $real);
            
$num++;
        }

    }
    
/*
    ================================
    Папка sys/obmen/screens/14/
    ================================
    */
    
$dh opendir(H.'sys/obmen/screens/14');

    while(
$fname readdir($dh))
    {

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
        
        
$real $fname;
        
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

        
$screen intval($fname);

        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
        {
            @
unlink(H.'sys/obmen/screens/14/' $real);
            
$num++;
        }

    }
/*
================================
Сравнение файлов с таблицей 
obmennik_files, поиск (мертвых) 
файлов, и файлов с нулевым
 размером 
================================
*/
$dh opendir(H.'sys/obmen/files');

while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"'dat');
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
          
        
$real $fname;
          
        
$fname str_replace('.dat'''$fname);

$file intval($fname);
$file_size = @filesize(H.'sys/obmen/files/' $real);


 
// Сверяем файлы с таблицей
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$file'"),0) == && $real != '..' && $real != '.')
{

    
mysql_query("DELETE FROM `mark_files` WHERE `id_file` = '$file'");
    
mysql_query("DELETE FROM `obmennik_komm` WHERE `id_file` = '$file'");
    @
unlink(H.'sys/obmen/files/' $real);
    
$size $size + @filesize(H.'sys/obmen/files/' $real);
    
$num++;

}
elseif (
$file_size == '0'// Проверяем файлы с нулевым размером
{    
    
// Таблицы
    
mysql_query("DELETE FROM `mark_files` WHERE `id_file` = '$file'");
    
mysql_query("DELETE FROM `obmennik_komm` WHERE `id_file` = '$file'");
    
mysql_query("DELETE FROM `obmennik_files` WHERE `id` = '$file'");
    
    
    @
unlink(H.'sys/obmen/files/' $real);
    
    @
unlink(H.'sys/obmen/screens/14/' $file '.gif');
    @
unlink(H.'sys/obmen/screens/48/' $file '.gif');
    @
unlink(H.'sys/obmen/screens/128/' $file '.gif');
    
    @
unlink(H.'sys/obmen/screens/14/' $file '.png');
    @
unlink(H.'sys/obmen/screens/48/' $file '.png');
    @
unlink(H.'sys/obmen/screens/128/' $file '.png');
    
    @
unlink(H.'sys/obmen/screens/14/' $file '.jpg');
    @
unlink(H.'sys/obmen/screens/48/' $file '.jpg');
    @
unlink(H.'sys/obmen/screens/128/' $file '.jpg');
    
    @
unlink(H.'sys/obmen/screens/14/' $file '.jpeg');
    @
unlink(H.'sys/obmen/screens/48/' $file '.jpeg');
    @
unlink(H.'sys/obmen/screens/128/' $file '.jpeg');
    
$num++;
}

}
    
    
$_SESSION['message'] = 'Папки обмена успешно очищены, удалено (' $num ') файлов';
    
header("Location: ?");
    exit;
}

/*
================================
Проверка папок со скриншотами
файлов обменника, уж не знаю
почему, но разработчики dcms 6
ветки не позаботились об их
удалении =)
================================
*/

$CONF["file_types"] ='jpg|png|gif|jpeg';

echo 
'<div class="mess">';
echo 
'В релизах DCMS 6.6.4 ветке и ее модификациях не удаляются скриншоты, после удаления файла.<br />';

/*
================================
Папка sys/obmen/screens/128/
================================
*/

$dh opendir(H.'sys/obmen/screens/128');

while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
          
        
$real $fname;
          
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

$screen intval($fname);

if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
{

$size $size + @filesize(H.'sys/obmen/screens/128/' $real);
$num++;
}
}
/*
================================
Папка sys/obmen/screens/48/
================================
*/
$dh opendir(H.'sys/obmen/screens/48');

while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
          
        
$real $fname;
          
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

$screen intval($fname);

if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
{
$size $size + @filesize(H.'sys/obmen/screens/48/' $real);
$num++;
}
}
/*
================================
Папка sys/obmen/screens/14/
================================
*/
$dh opendir(H.'sys/obmen/screens/14');

while(
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"$CONF['file_types']);
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
          
        
$real $fname;
          
        
$fname str_replace('.jpg'''$fname);
        
$fname str_replace('.jpeg'''$fname);
        
$fname str_replace('.png'''$fname);
        
$fname str_replace('.gif'''$fname);

$screen intval($fname);

if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$screen'"),0) == && $real != '..' && $real != '.')
{
$size $size + @filesize(H.'sys/obmen/screens/128/' $real);
$num++;
}
}

if (
$num 0)echo '<img src="style/icons/delete.gif" /> <font color=red>В обменнике обнаружено <b>' $num '</b> скриншотов для удаления. Эти файлы занимают ' size_file($size) . ' (sys/obmen/screens/)</font>';
else
echo 
'<img src="style/icons/ok.gif" /> <font color=green>В папках со скриншотами все отлично</font>';

echo 
'</div>';

/*
=============================================
Сравнение файлов с таблицей 
obmennik_files, поиск (мертвых) 
файлов, и файлов с нулевым
 размером
=============================================
*/

echo '<div class="mess">';
echo 
'Бывают случаи когда файлы на сайт загружаются с нулевым размером, а также при удалении файлов они все же остаются на сервере, но их нет в таблицах.<br />';
$num 0;

$dh opendir(H.'sys/obmen/files');

while (
$fname readdir($dh)){

          
$file_array explode('.'$fname);
          
$nums count($file_array);
          
$fileres $file_array[($nums 1)];
          
$file_types explode("|"'dat');
          
          if(
in_array($fileres$file_types)){
          
$files[] = $fname;
          }
          
        
$real $fname;
          
        
$fname str_replace('.dat'''$fname);

$file intval($fname);
$file_size = @filesize(H.'sys/obmen/files/' $real);


 
// Сверяем файлы с таблицей
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `obmennik_files` WHERE `id` = '$file'"),0) == && $real != '..' && $real != '.')
{

    
$size $size + @filesize(H.'sys/obmen/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/obmen/files/)</font>';
else
echo 
'<img src="style/icons/ok.gif" /> <font color=green>В папках с файлами все отлично</font>';

echo 
'</div>';


/*
=============================================
Cравнение таблицы и файлов
Если файлов нет на сервере, но они есть в
таблице, будем чистить, ибо могут быть ошибки
из за их отсутствия
=============================================
*/

echo '<div class="mess">';
echo 
'Проверка наличия файлов записанных в таблице obmennik_files.<br />';
$num 0;

$q mysql_query("SELECT id FROM `obmennik_files`");

while (
$file mysql_fetch_assoc($q))
{
    if (!
file_exists(H.'sys/obmen/files/' $file['id'] . '.dat')) 
    {
        
$num++;
    }
}

if (
$num 0)
echo 
'<img src="style/icons/delete.gif" /> <font color=red>В таблице обменника обнаружено <b>' $num '</b> записей для удаления. Эти файлы отсутствуют на вашем сервере в (sys/obmen/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';
}
?>
Онлайн: 0
Реклама