From f427947ebb3b67f04186fefc1ac9aeb7109d4c28 Mon Sep 17 00:00:00 2001 From: Retro_Guy Date: Sun, 20 Aug 2023 04:58:18 -0700 Subject: [PATCH] Simple log entry wording change in expire.php. --- Rocksolid_Light/rslight/scripts/expire.php | 134 +++++++++++---------- 1 file changed, 71 insertions(+), 63 deletions(-) diff --git a/Rocksolid_Light/rslight/scripts/expire.php b/Rocksolid_Light/rslight/scripts/expire.php index f367e9d..21b919c 100755 --- a/Rocksolid_Light/rslight/scripts/expire.php +++ b/Rocksolid_Light/rslight/scripts/expire.php @@ -1,85 +1,93 @@ time()) { - exit; - } - $lockfile = $lockdir . '/'.$config_name.'-spoolnews.lock'; - $pid = file_get_contents($lockfile); - if (posix_getsid($pid) === false || !is_file($lockfile)) { +if (filemtime($spooldir . '/' . $config_name . '-expire-timer') + 86400 > time()) { + exit(); +} +$lockfile = $lockdir . '/' . $config_name . '-spoolnews.lock'; +$pid = file_get_contents($lockfile); +if (posix_getsid($pid) === false || ! is_file($lockfile)) { print "Starting expire...\n"; file_put_contents($lockfile, getmypid()); // create lockfile - } else { +} else { print "expire currently running\n"; - exit; - } + exit(); +} - $webserver_group=$CONFIG['webserver_user']; - $logfile=$logdir.'/expire.log'; +$webserver_group = $CONFIG['webserver_user']; +$logfile = $logdir . '/expire.log'; - $grouplist = file($config_dir.'/'.$config_name.'/groups.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - foreach($grouplist as $groupline) { - $groupname=explode(' ', $groupline); - $group=$groupname[0]; - if($group[0] == ':') { - continue; - } - $expire_conf = $CONFIG['expire_days']; - $expire_user = get_config_value('expire.conf', $group); - - if($expire_user !== false) { - $expire = $expire_user; - } else { - $expire = $expire_conf; - } - if($expire < 1) { - continue; - } - $expireme = time() - ($expire * 86400); - $showme = date('d M, Y', $expireme); - -echo "Expire $group articles before $showme\n"; -file_put_contents($logfile, "\n".format_log_date()." ".$config_name." ".$group." Expiring: articles before ".$showme, FILE_APPEND); - if($CONFIG['article_database'] == '1') { -echo "Expiring article database...\n"; -file_put_contents($logfile, "\n".format_log_date()." ".$config_name." ".$group." Expiring article database...", FILE_APPEND); - $database = $spooldir.'/'.$group.'-articles.db3'; - if(is_file($database)) { - $articles_dbh = article_db_open($database); - $articles_query = $articles_dbh->prepare('DELETE FROM articles WHERE newsgroup=:newsgroup AND date<:expireme'); - $articles_query->execute([':newsgroup' => $group, ':expireme' => $expireme]); - $articles_dbh = null; - } - } -// Expire tradspool and remove from newsportal -echo "Expiring overview database and writing history...\n"; -file_put_contents($logfile, "\n".format_log_date()." ".$config_name." ".$group." Expiring overview database and writing history...", FILE_APPEND); +$grouplist = file($config_dir . '/' . $config_name . '/groups.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); +foreach ($grouplist as $groupline) { + $groupname = explode(' ', $groupline); + $group = $groupname[0]; + if ($group[0] == ':') { + continue; + } + $expire_conf = $CONFIG['expire_days']; + $expire_user = get_config_value('expire.conf', $group); - $database = $spooldir.'/articles-overview.db3'; + if ($expire_user !== false) { + $expire = $expire_user; + } else { + $expire = $expire_conf; + } + if ($expire < 1) { + continue; + } + $expireme = time() - ($expire * 86400); + $showme = date('d M, Y', $expireme); + + echo "Expire $group articles before $showme\n"; + file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " " . $group . " Expiring: articles before " . $showme, FILE_APPEND); + if ($CONFIG['article_database'] == '1') { + echo "Expiring article database...\n"; + file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " " . $group . " Expiring article database...", FILE_APPEND); + $database = $spooldir . '/' . $group . '-articles.db3'; + if (is_file($database)) { + $articles_dbh = article_db_open($database); + $articles_query = $articles_dbh->prepare('DELETE FROM articles WHERE newsgroup=:newsgroup AND date<:expireme'); + $articles_query->execute([ + ':newsgroup' => $group, + ':expireme' => $expireme + ]); + $articles_dbh = null; + } + } + // Expire tradspool and remove from newsportal + echo "Expiring overview database and writing history...\n"; + file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " " . $group . " Expiring overview database and writing history...", FILE_APPEND); + + $database = $spooldir . '/articles-overview.db3'; $dbh = overview_db_open($database); $query = $dbh->prepare('SELECT * FROM overview WHERE newsgroup=:newsgroup AND date<:expireme'); - $query->execute([':newsgroup' => $group, ':expireme' => $expireme]); + $query->execute([ + ':newsgroup' => $group, + ':expireme' => $expireme + ]); $stmt = $dbh->prepare('DELETE FROM overview WHERE newsgroup=:newsgroup AND date<:expireme'); $grouppath = preg_replace('/\./', '/', $group); $status = "deleted"; $statusdate = time(); $statusreason = "expired"; - $i=0; - while($row = $query->fetch()) { - if(is_file($spooldir.'/articles/'.$grouppath.'/'.$row['number'])) { - unlink($spooldir.'/articles/'.$grouppath.'/'.$row['number']); + $i = 0; + while ($row = $query->fetch()) { + if (is_file($spooldir . '/articles/' . $grouppath . '/' . $row['number'])) { + unlink($spooldir . '/articles/' . $grouppath . '/' . $row['number']); } add_to_history($group, $row['number'], $row['msgid'], $status, $statusdate, $statusreason, $statusnotes); - thread_cache_removearticle($group,$row['number']); - $i++; + thread_cache_removearticle($group, $row['number']); + $i ++; } - $stmt->execute([':newsgroup' => $group, ':expireme' => $expireme]); + $stmt->execute([ + ':newsgroup' => $group, + ':expireme' => $expireme + ]); $dbh = null; unlink($lockfile); - touch($spooldir.'/'.$config_name.'-expire-timer'); - echo "Expired ".$i." articles for ".$group."\n"; - file_put_contents($logfile, "\n".format_log_date()." ".$config_name." Expired ".$i." articles for ".$group, FILE_APPEND); + touch($spooldir . '/' . $config_name . '-expire-timer'); + echo "Expired " . $i . " articles for " . $group . "\n"; + file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " " . $group . " Expired " . $i . " articles", FILE_APPEND); } ?>