www_archline_hu/cadline/backend/maintenance2/maintenance/viewerlejartaktorlese.php
LÁZÁR Imre AI Agent c2cf6dab13 feat(cadline): add common_cadline_libraries + maintenance backend
common_cadline_libraries (CRM hardlock/db/users classes; upstream cadline_web/cadcommonlib), maintenance/ (ARCHLine.XP license backend; upstream cadline_web/maintenance), maintenance2/. Vetted live files (byte-truth); upstream repos in PROVENANCE.md. NOTE: could be git submodules — kept as live files for byte-fidelity.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:34:30 +02:00

100 lines
3.6 KiB
PHP

<?php
die();
// Viewerből törli a régi képeket. Minden nap 5-kor fut le.
include("config.php");
include("version.php");
include("email.php");
$timereguser = (60 * 60 * 24 * 30 * 6); //~6 hónap
$timeguest = (60 * 60 * 24 * 30 * 3); //~3 hónap
$path = '../public/img/collection/users/';
$guests = $path . 'guest/';
$trash = '../public/img/collection/users/trash/';
$now = time();
$msh->query("SELECT user_id FROM forum_user WHERE viewsub=1");
$elofizetokt = $msh->fetchAssoc();
$elofizetok = array();
foreach ($elofizetokt as $elof) {
$e = (object)$elof;
$elofizetok[] = $e->user_id;
}
$kiirni = "";
$log = "\n" . date('Y-m-d H:i', $now) . ":";
$msh->query("SELECT mappa FROM collection_projects WHERE autodel=0");
$kivetelekt = $msh->fetchAssoc();
$kivetelek = array();
foreach ($kivetelekt as $kiv) {
$k = (object)$kiv;
$guestuser = current(explode("/", $k->mappa));
if (!in_array($guestuser, $kivetelek))
$kivetelek[] = $guestuser;
}
// vendég userek utáni takarítás - projekt dátumát nézi
$usermappak = scandir($guests);
unset($usermappak[0], $usermappak[1]); // . és .. törlése
foreach ($usermappak as $user) {
if (in_array($user, $kivetelek)) {
$kiirni .= "\n<br />Kivetel: {$user}";
continue;
}
$userprojektekpath = $guests . $user . "/";
$userprojektek = scandir($userprojektekpath);
unset($userprojektek[0], $userprojektek[1]);
foreach ($userprojektek as $projekt) {
$datumElemDir = filemtime($userprojektekpath . $projekt);
$kiirni .= "\n<br>Datum {$projekt}:" . date('Y-m-d H:i', $datumElemDir);
if (!in_array($user, $kivetelek) && (($now - $timeguest) > $datumElemDir)) {
mkdir("{$trash}guest/{$user}");
mkdir("{$trash}guest/{$user}/" . $projekt);
exec("cp -R {$userprojektekpath}{$projekt} {$trash}guest/{$user}");
exec("rm -R {$userprojektekpath}{$projekt}");
$log .= "\nDeleted guest: " . $userprojektekpath . $projekt;
$kiirni .= "\n <b style='color: red;'>toroltem:</b> {$userprojektekpath}{$projekt}";
$tomb['deleted'] = 1;
$msh->update('collection_projects', $tomb, "userid='guest' AND mappa='{$user}/{$projekt}'");
}
}
}
// fórumos userek utáni takarítás - projekt dátumát nézi
$usermappak = scandir($path);
unset($usermappak[0], $usermappak[1]);
$kiirni .= "\n\n\n<br /><br /><br />";
foreach ($usermappak as $user) {
if (!is_numeric($user)) {
continue;
} // 'guest' mappát ne bántsa
if (in_array($user, $elofizetok)) {
$kiirni .= "\n<br />itt NEM nezem: {$user}";
continue;
} // akinek van előfizetése azt se törölje
$userprojektekpath = $path . $user . "/";
$userprojektek = scandir($userprojektekpath);
unset($userprojektek[0], $userprojektek[1]);
foreach ($userprojektek as $projekt) {
$datumElemDir = filemtime($userprojektekpath . $projekt);
$kiirni .= "\n<br>Datum {$projekt}:" . date('Y-m-d H:i', $datumElemDir);
if (!in_array($user, $elofizetok) && (($now - $timereguser) > $datumElemDir)) {
mkdir($trash . $user);
mkdir($trash . $user . "/" . $projekt);
exec("cp -R {$userprojektekpath}{$projekt} {$trash}{$user}");
exec("chmod 777 -R {$trash}{$user}");
exec("rm -R {$userprojektekpath}{$projekt}");
$log .= "\nDeleted user: " . $userprojektekpath . $projekt;
$tomb['deleted'] = 1;
$msh->update('collection_projects', $tomb, "userid={$user} AND mappa='{$projekt}'");
$kiirni .= "\n <b style='color: red;'>toroltem:</b> {$userprojektekpath}{$projekt}";
}
}
}
if (!$kiirni) $kiirni .= "Nem törölt semmit.";
if (strlen($log) < 20) $log .= " Nincs torles.";
exec("echo '{$log}' >> ../public/img/collection/users/log.txt");
print $kiirni;