Joywork/cron/clearFunnelFilesSql.php

167 lines
4.2 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
set_time_limit(0);
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Очистка файлов клиентов по запросу</title>
</head>
<body>
<?php
$countAll = 0;
$countDel = 0;
$count = 0;
$sum = 0;
$sqlObj = "SELECT DISTINCT `client_id` FROM `funnel_files` WHERE `client_id` > 0 ORDER BY `id` ASC";
$rezObj = mysql_query($sqlObj);
while ($obj = mysql_fetch_assoc($rezObj)) {
$userActive = true;
$sqlUser = "SELECT id_agent, who_work FROM `clients` WHERE `id` = " . $obj['client_id'];
$rezUser = mysql_query($sqlUser);
$user = mysql_fetch_assoc($rezUser);
$userId = $user['who_work'];
if (!$userId) {
$userId = $user['id_agent'];
}
$agencyId = User::getAgencyIdForUser($userId);
if ($agencyId) {
$agency = new User();
$agency->get($agencyId);
if ($agency) {
$tarif = new \Tarif;
$tarif->get($agency->id_tarif);
$date_tarif = strtotime($agency->date_tarif);
$date_end = $date_tarif + $tarif->period * 3600 * 24;
$date_end_f = date("d.m.Y H:i", $date_end);
$dney = ceil(($date_end - time()) / 24 / 3600);
echo " Удаляем файлы агентства " . $agencyId . " <br/>";
echo $dney . " <br/>";;
if ($dney < -60) {
$userActive = false;
}
} else {
echo "Не найдено агентство " . $agencyId . " <br/>";
$userActive = false;
}
} else {
echo "Не найдено агентство для пользователя " . $userId . " <br/>";
$agency = new User();
$agency->get($userId);
if ($agency && isset($agency->id_tarif)) {
$tarif = new \Tarif;
$tarif->get($agency->id_tarif);
$date_tarif = strtotime($agency->date_tarif);
$date_end = $date_tarif + $tarif->period * 3600 * 24;
$date_end_f = date("d.m.Y H:i", $date_end);
$dney = ceil(($date_end - time()) / 24 / 3600);
echo " Удаляем файлы агента " . $userId . " <br/>";
echo $dney . " <br/>";;
if ($dney < -60) {
$userActive = false;
}
} else {
echo "Не найден агент " . $userId . " <br/>";
$userActive = false;
}
}
if (!$userActive) {
$countDel++;
echo " Удаляем файлы клиента " . $obj['client_id'] . " <br/>";
$path = $_SERVER['DOCUMENT_ROOT'] . "/upload/funnels/clients/" . $obj['client_id'] . "/";
$files = glob($path . '*', GLOB_MARK);
if (count($files) == 0) {
echo "Нет файлов";
} else {
foreach ($files as $file) {
$size = filesize($file);
$sum = $sum + $size;
echo $file . " " . date("d.m.Y H:i:s.", filemtime($file)) . " size: " . formatSizeUnits($size) . "<br/>";
//unlink($file);
$count++;
}
}
//удалить запись из таблицы
//$sqlDelete = "DELETE FROM clients_files where req_id > 0 and req_id = " . $obj['req_id'];
//mysql_query($sqlDelete);
}
$countAll++;
}
echo "Обработано " . $countAll . " записей <br/>";
echo "Удалено " . $countDel . " записей <br/>";
echo "Удалено " . $count . " файлов <br/>";
echo "Удалено " .formatSizeUnits($sum);
function formatSizeUnits($bytes)
{
if ($bytes >= 1073741824)
{
$bytes = number_format($bytes / 1073741824, 2) . ' GB';
}
elseif ($bytes >= 1048576)
{
$bytes = number_format($bytes / 1048576, 2) . ' MB';
}
elseif ($bytes >= 1024)
{
$bytes = number_format($bytes / 1024, 2) . ' kB';
}
elseif ($bytes > 1)
{
$bytes = $bytes . ' bytes';
}
elseif ($bytes == 1)
{
$bytes = $bytes . ' byte';
}
else
{
$bytes = '0 bytes';
}
return $bytes;
}
?>
</body>
</html>