Joywork/cron/clearUserDocsRoot.php

126 lines
3.3 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);
ini_set('display_errors', 1);
error_reporting(E_ALL);
$countAll = 0;
$countDel = 0;
$sum = 0;
$sqlObj = "SELECT `user_id`, `created_by`, `path` FROM `users_files` ORDER BY `id` ASC";
$rezObj = mysql_query($sqlObj);
while ($obj = mysql_fetch_assoc($rezObj)) {
$userActive = true;
$userId = $obj['user_id'];
if ($userId) {
$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 < -90) {
$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 < -90) {
$userActive = false;
}
} else {
echo "Не найден агент " . $userId . " <br/>";
$userActive = false;
}
}
if (!$userActive) {
$countDel++;
echo " Удаляем файл " . $obj['user_id'] . " " . $obj['path'] . " <br/>";
$path = $_SERVER['DOCUMENT_ROOT'] . $obj['path'];
if (file_exists($path)) {
$size = filesize($path);
$sum = $sum + $size;
echo $path . " " . date("d.m.Y H:i:s.", filemtime($path)) . " size: " . formatSizeUnits($size) . "<br/>";
//unlink($path);
}
}
}
}
echo "<br/>".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;
}