Вход Регистрация
Файл: panel/loads_recount.php
Строк: 113
<?php

foreach (array('start''compress''sess''settings''db_connect''ipua''fnc''adm_check''loads''user') as $inc) {
    require_once 
"../sys/inc/$inc.php";
}

access('adm_set_loads'null'index.php?' SID);
adm_check();

$set['title'] = 'Пересчет файлов в з-ц';
include_once 
'../sys/inc/thead.php';

if (isset(
$_POST['goc'])) {
    
mysql_query("TRUNCATE TABLE `loads_list`");
    
mysql_query("TRUNCATE TABLE `loads_rating`");
    
msg("База успешно очищена");
}

if (isset(
$_POST['go']) && isset($_POST['path'])) {
    if (
function_exists('set_time_limit'))
        @
set_time_limit(600); // Ставим ограничение на 10 минут
    
$deleted 0// количество удаленных файлов

    
if (isset($_POST['clear']) && $_POST['clear'] == 1) {
        
$path urldecode($_POST['path']);
        
$path str_replace('../sys/loads/files'null$path);
        
$path = (function_exists('iconv')) ? iconv('windows-1251''utf-8'$path) : $path;
        
$path '/' preg_replace('#^/+|/+$#i'null$path) . '/';
        
mysql_query("DELETE FROM `loads_list` WHERE `path` LIKE '" mysql_real_escape_string($path) . "%'");
    } else {
        
$q mysql_query("SELECT * FROM `loads_list`");
        while (
$list mysql_fetch_array($q)) {
            
$file = (function_exists('iconv')) ? iconv('utf-8''windows-1251'$list['path'] . $list['name']) : $list['path'] . $list['name'];
            if (!
file_exists('../sys/loads/files' $file)) {
                
mysql_query("DELETE FROM `loads_list` WHERE `path` = '" mysql_real_escape_string($list['path']) . "' AND `name` = '" mysql_real_escape_string($list['name']) . "' LIMIT 1");
                
$deleted++;
            }
        }
    }

    function 
recount_loads($dir) {
        global 
$added;
        global 
$dirr;
        
$opendir opendir($dir);
        while (
$readdir readdir($opendir)) {
            if (!
preg_match("#^.|.99.99.name|.name$|.txt$|.opis$|.db$|.dat$|.99.99.jad$#i"$readdir) && !preg_match("#.1.JPG$|.1.PNG$|.1.GIF$|.2.JPG$|.2.PNG$|.2.GIF$|.3.JPG$|.3.PNG$|.3.GIF$#"$readdir)) {
                if (
is_dir($dir '/' $readdir))
                    
recount_loads($dir '/' $readdir);
                elseif (
is_file($dir '/' $readdir)) {
                    
$path str_replace('../sys/loads/files'null$dir);
                    
$path = (function_exists('iconv')) ? iconv('windows-1251''utf-8'$path) : $path;
                    
$path '/' preg_replace('#^/+|/+$#i'null$path) . '/';
                    
$name = (function_exists('iconv')) ? iconv('windows-1251''utf-8'$readdir) : $readdir;
                    
$size filesize($dir '/' $readdir);
                    
$file_time filectime($dir '/' $readdir);

                    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `loads_list` WHERE `name` = '" mysql_real_escape_string($name) . "' AND `path` = '" mysql_real_escape_string($path) . "' LIMIT 1"), 0) == 0) {
                        
mysql_query("INSERT INTO `loads_list` (`name`, `size`,  `path`, `time`) values('" mysql_real_escape_string($name) . "', '$size', '" mysql_real_escape_string($path) . "', '$file_time')");
                        
$added++;
                    }
                    if (@
mkdir('../sys/loads/files_dop' $path '' $name0777)) {
                        
$dirr++;
                    }
                }
            }
        }
        
closedir($opendir);
    }

    
$added 0;
    
$dirr 0// Добавлено


    
recount_loads(urldecode($_POST['path']));
    
admin_log('Загрузки''Пересчет файлов'"Удалено $deleted / Добавлено $added записей");
    
msg("Удалено $deleted / Добавлено $added записей / Созданно $dirr папок для дополнительных файлов");
}
err();
aut();

#Навигация
echo "<div class='list-group-item-null list-group-item-grey'><small>";
echo 
"<a href='/' class='hint--right' data-hint='" lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo 
"<a href='/panel/'>" lang('Панель управления') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo 
lang('Пересчет файлов');
echo 
"</small></div><br />";

echo 
"<form method='post' class='list-group-item-null' action='?gen=$passgen'>n";
echo 
"Директория:*<br />n";
echo 
"<select class="form-control" name="path">";
echo 
"<option value='..%2Fsys%2Floads%2Ffiles'>Корневая папка</option>n";
dirrs('../sys/loads/files''../sys/loads/files');
echo 
"</select><br />n";
$doc->Button('btn btn-primary btn-sm''go''''Пересчитать');
echo 
"</form>n";

echo 
"<form method='post' class='list-group-item-null' action='?gen=$passgen'>n";
$doc->Button('btn btn-primary btn-sm''goc''trash''Очистить таблицу**');
echo 
"</form>n";

echo 
"<div class='list-group-item-null list-group-item-info'>";
echo 
"* Частый пересчет большого количества файлов может сильно загрузить сервер, поэтому по возможности старайтесь указывать конкретную папку.<br />n";
echo 
"** Данная функция дает возможность полностью удалять файлы с таблицы з-ц. Если вы считаете что счетчик з-ц считает не верно, то перед пересчетом используйте эту функцию..<br />n";
echo 
"</div>";

include_once 
'../sys/inc/tfoot.php';
?>
Онлайн: 1
Реклама