X-Git-Url: http://www.andromeda.nl/gitweb/?p=gnucomo.git;a=blobdiff_plain;f=src%2Fgcm_daemon%2Fgcm_maintenance.php;h=a672266fcc84644a6886c87b30195d62e21a11cf;hp=a36c4af2fb9fece63ab7d3b4b49f9573928eacb5;hb=fac85e60fba231c5856191bd672b45d60b49d2b0;hpb=e78d696dd90a039d332c783d4411b4f2b207fdd9 diff --git a/src/gcm_daemon/gcm_maintenance.php b/src/gcm_daemon/gcm_maintenance.php index a36c4af..a672266 100755 --- a/src/gcm_daemon/gcm_maintenance.php +++ b/src/gcm_daemon/gcm_maintenance.php @@ -31,9 +31,6 @@ ini_set('html_errors', 'false'); define("BATCHSIZE", 10000); -//Tell the log that we're up. -define_syslog_variables(); - require_once "gnucomo_config.php"; require_once "db.class.php"; @@ -103,43 +100,46 @@ if ($dbms->have_db_connection() == "FALSE") { purge_old_logs($purge_date); } + else + { - // Check the references from the abuse list to the logs + // Check the references from the abuse list to the logs - $abuse_result = $dbms->query("select source, nr_abuses, masklen(source) from object_abuse + $abuse_result = $dbms->query("select source, nr_abuses, masklen(source) from object_abuse where (status='dropped' or status='') and masklen(source)>16 and objectid=11 order by source"); - for ($ab = 0; $ab < $dbms->num_rows($abuse_result); $ab++) - { - $logentries = 0; - $abuse = $dbms->fetch_object($abuse_result, $ab); - $nr_abuses = $abuse->nr_abuses; - $log_res = $dbms->query("select logid from log_abuse where source='" . $abuse->source . "' and objectid=11"); - - if ($dbms->num_rows($log_res) != $nr_abuses) + for ($ab = 0; $ab < $dbms->num_rows($abuse_result); $ab++) { - echo "Mismatch in nr of abuses. Corrected.\n"; - $dbms->query("update object_abuse set nr_abuses=" . $dbms->num_rows($log_res) . - " where source='" . $abuse->source . "' and objectid=11"); - } - if ($dbms->num_rows($log_res) == 0) - { - echo " Removing ", $abuse->source, "\n"; - $dbms->query("delete from object_abuse where source='". $abuse->source . "' and objectid=11"); - } - else - { - $logref_res = $dbms->query("select logid from log where logid in - (select logid from log_abuse where source='" . $abuse->source . "' and objectid=11)"); - $logentries = $dbms->num_rows($logref_res); - if ($logentries == 0) + $logentries = 0; + $abuse = $dbms->fetch_object($abuse_result, $ab); + $nr_abuses = $abuse->nr_abuses; + $log_res = $dbms->query("select logid from log_abuse where source='" . $abuse->source . "' and objectid=11"); + + if ($dbms->num_rows($log_res) != $nr_abuses) + { + echo "Mismatch in nr of abuses. Corrected.\n"; + $dbms->query("update object_abuse set nr_abuses=" . $dbms->num_rows($log_res) . + " where source='" . $abuse->source . "' and objectid=11"); + } + if ($dbms->num_rows($log_res) == 0) + { + echo " Removing ", $abuse->source, "\n"; + $dbms->query("delete from object_abuse where source='". $abuse->source . "' and objectid=11"); + } + else { - echo "All references to log entries are lost. Purging log_abuse table.\n"; - $dbms->query("delete from log_abuse where source='" . $abuse->source . "' and objectid=11"); + $logref_res = $dbms->query("select logid from log where logid in + (select logid from log_abuse where source='" . $abuse->source . "' and objectid=11)"); + $logentries = $dbms->num_rows($logref_res); + if ($logentries == 0) + { + echo "All references to log entries are lost. Purging log_abuse table.\n"; + $dbms->query("delete from log_abuse where source='" . $abuse->source . "' and objectid=11"); + } } + echo $abuse->source . "\t$nr_abuses\t" . $dbms->num_rows($log_res) . "\t" . $logentries . "\n"; } - echo $abuse->source . "\t$nr_abuses\t" . $dbms->num_rows($log_res) . "\t" . $logentries . "\n"; } // Gather the statistics for each object