Файл: panel/loads_dop_recount.php
Строк: 92
<?php
/* DCMS Special
* Дата последнего редактирования 18.01.2016
* Модифицировал densnet
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
require_once "../sys/inc/$inc.php";
}
access('adm_set_loads', null, 'index.php?' . SID);
adm_check();
$set['title'] = lang('Пересчет дополнительных файлов');
include_once '../sys/inc/thead.php';
if (isset($_POST['goc'])) {
mysql_query("TRUNCATE TABLE `loads_dop`");
msg("База успешно очищена");
}
if (isset($_POST['go']) && isset($_POST['path'])) {
function recount_loads($dir) {
global $added;
$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_dop', 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_dop` WHERE `name` = '" . mysql_real_escape_string($name) . "' LIMIT 1"), 0) == 0) {
mysql_query("INSERT INTO `loads_dop` (`name`, `size`, `path`) values('" . mysql_real_escape_string($name) . "', '$size', '" . mysql_real_escape_string($path) . "')");
$added++;
}
}
}
}
closedir($opendir);
}
$added = 0; // Добавлено
recount_loads(urldecode($_POST['path']));
admin_log('Загрузки', 'Пересчет файлов', "Добавлено $added записей");
msg("Добавлено $added записей");
}
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_dop'>Корневая папка</option>n";
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';
?>