diff --git a/Rocksolid_Light/rslight/scripts/nocem.php b/Rocksolid_Light/rslight/scripts/nocem.php index 7b6a3c9..e9943f6 100644 --- a/Rocksolid_Light/rslight/scripts/nocem.php +++ b/Rocksolid_Light/rslight/scripts/nocem.php @@ -84,93 +84,4 @@ foreach ($messages as $message) { } unlink($lockfile); exit(); - -function delete_message($messageid, $group, $overview_dbh) -{ - global $logfile, $config_dir, $spooldir, $CONFIG, $webserver_group; - /* Find section */ - $menulist = file($config_dir . "menu.conf", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - foreach ($menulist as $menu) { - if ($menu[0] == '#') { - continue; - } - $menuitem = explode(':', $menu); - $glfp = fopen($config_dir . $menuitem[0] . "/groups.txt", 'r'); - while ($gl = fgets($glfp)) { - $group_name = preg_split("/( |\t)/", $gl, 2); - if (strtolower(trim($group)) == strtolower(trim($group_name[0]))) { - $config_name = $menuitem[0]; - echo "\nFOUND: " . $group . " IN: " . $config_name; - file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " FOUND: " . $group . " IN: " . $config_name, FILE_APPEND); - break 2; - } - } - } - - if ($CONFIG['article_database'] == '1') { - $database = $spooldir . '/' . $group . '-articles.db3'; - if (is_file($database)) { - $articles_dbh = article_db_open($database); - $articles_stmt = $articles_dbh->prepare('DELETE FROM articles WHERE msgid=:messageid'); - $articles_stmt->execute([ - 'messageid' => $messageid - ]); - $articles_dbh = null; - } - } - // Handle overview and history - $overview_stmt_del = $overview_dbh->prepare('DELETE FROM overview WHERE newsgroup=:newsgroup AND msgid=:msgid'); - $overview_query = $overview_dbh->prepare('SELECT * FROM overview WHERE newsgroup=:newsgroup AND msgid=:msgid'); - $overview_query->execute([ - ':newsgroup' => $group, - ':msgid' => $messageid - ]); - $grouppath = preg_replace('/\./', '/', $group); - $status = "deleted"; - $statusdate = time(); - $statusreason = "nocem"; - $statusnotes = null; - while ($row = $overview_query->fetch()) { - if (isset($row['number'])) { - echo "\nFOUND: " . $messageid . " IN: " . $group; - file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " DELETING: " . $messageid . " IN: " . $group, FILE_APPEND); - } - if (is_file($spooldir . '/articles/' . $grouppath . '/' . $row['number'])) { - unlink($spooldir . '/articles/' . $grouppath . '/' . $row['number']); - } - delete_message_from_overboard($config_name, $group, $messageid); - add_to_history($group, $row['number'], $row['msgid'], $status, $statusdate, $statusreason, $statusnotes); - thread_cache_removearticle($group, $row['number']); - $overview_stmt_del->execute([ - ':newsgroup' => $group, - ':msgid' => $messageid - ]); - } - return; -} - -function delete_message_from_overboard($config_name, $group, $messageid) -{ - GLOBAL $spooldir; - $cachefile = $spooldir . "/" . $config_name . "-overboard.dat"; - if (is_file($cachefile)) { - $cached_overboard = unserialize(file_get_contents($cachefile)); - if ($target = $cached_overboard['msgids'][$messageid]) { - unset($cached_overboard['threads'][$target['date']]); - unset($cached_overboard['msgids'][$messageid]); - unset($cached_overboard['threadlink'][$messageid]); - file_put_contents($cachefile, serialize($cached_overboard)); - } - } - $cachefile = $spooldir . "/" . $group . "-overboard.dat"; - if (is_file($cachefile)) { - $cached_overboard = unserialize(file_get_contents($cachefile)); - if ($target = $cached_overboard['msgids'][$messageid]) { - unset($cached_overboard['threads'][$target['date']]); - unset($cached_overboard['msgids'][$messageid]); - unset($cached_overboard['threadlink'][$messageid]); - file_put_contents($cachefile, serialize($cached_overboard)); - } - } -} -?> +?> \ No newline at end of file