0) { $ymd = substr ($date, 0, 10); $sod = $ymd . " 00:00:00"; $eod = $ymd . " 23:59:59"; foreach ($Types as $type) { $condition = "type=\"$type\" and (timestamp > \"$sod\" and timestamp < \"$eod\")"; $stats[$type] = countlog ($condition); } # foreach $dates[$ymd] = &$stats; $date = SubtractDays ($date, 1); $nbr_days--; } # while return $dates; } # GetStats function displayquickstats () { $today = substr (Today2SQLDatetime (), 0, 10); $dates = getquickstats ($today); $current_time = date ("g:i a"); // Start quickstats print "
"; print "

Today's Activity

"; print "

as of $current_time

"; $processed = $dates[$today]["processed"]; $returned = $dates[$today]["returned"]; $returned_pct = $processed == 0 ? 0 : number_format ($returned / $processed * 100, 1, ".", ""); $whitelist = $dates[$today]["whitelist"]; $whitelist_pct = $processed == 0 ? 0 : number_format ($whitelist / $processed * 100, 1, ".", ""); $blacklist = $dates[$today]["blacklist"]; $blacklist_pct = $processed == 0 ? 0 : number_format ($blacklist / $processed * 100, 1, ".", ""); $registered = $dates[$today]["registered"]; $mailloop = $dates[$today]["mailloop"]; $nulllist = $dates[$today]["nulllist"]; $nulllist_pct = $processed == 0 ? 0 : number_format ($nulllist / $processed * 100, 1, ".", ""); $returned_link = $returned == 0 ? 0 : "$returned"; $whitelist_link = $whitelist == 0 ? 0 : "$whitelist"; $blacklist_link = $blacklist == 0 ? 0 : "$blacklist"; $registered_link = $registered == 0 ? 0 : "$registered"; $mailloop_link = $mailloop == 0 ? 0 : "$mailloop"; $nulllist_link = $nulllist == 0 ? 0 : "$nulllist"; print << Processed $processed n/a Returned $returned_link $returned_pct% Whitelist $whitelist_link $whitelist_pct% Blacklist $blacklist_link $blacklist_pct% Registered $registered_link n/a Mailloop $mailloop_link n/a Nulllist $nulllist_link $nulllist_pct%
EOT; } // displayquickstats function getquickstats ($date) { global $Types; $dates = GetStats (1, $date); foreach ($Types as $type) { if (isset ($dates [$date]["processed"])) { $dates [$date]["processed"] += $dates [$date][$type]; } else { $dates [$date]["processed"] = $dates [$date][$type]; } // if } # foreach return $dates; } // getquickstats function NavigationBar ($userid) { print "
"; if (!isset ($userid) || $userid == "") { print <<Welcome to MAPS
END; } else { $Userid = ucfirst ($userid); print <<Welcome $Userid END; print <<
Search Sender/Subject
END; displayquickstats (); print <<
Check Email Address
END; } // if print ""; } # NavigationBar function GetUserLines () { global $userid; $lines = 10; $statement = "select value from useropts where userid=\"$userid\" and name=\"Page\""; $result = mysql_query ($statement) or DBError ("GetUserLines: Unable to execute query: ", $statement); $row = mysql_fetch_array ($result); if (isset ($row["value"])) { $lines = $row["value"]; } // if return $lines; } // GetUserLines function DisplayList ($type, $next, $lines) { global $userid; global $total; global $last; $statement="select * from list where userid=\"$userid\" and type=\"$type\" order by sequence limit $next, $lines"; $result = mysql_query ($statement) or DBError ("DisplayList: Unable to execute query: ", $statement); for ($i = 0; $i < $lines; $i++) { $row = mysql_fetch_array ($result); if (!isset ($row ["sequence"])) { break; } // if $sequence = $row ["sequence"]; $username = $row ["pattern"] == "" ? " " : $row ["pattern"]; $domain = $row ["domain"] == "" ? " " : $row ["domain"]; $hit_count = $row ["hit_count"] == "" ? " " : $row ["hit_count"]; $last_hit = $row ["last_hit"] == "" ? " " : $row ["last_hit"]; $comments = $row ["comment"] == "" ? " " : $row ["comment"]; // Remove time from last hit $last_hit = substr ($last_hit, 0, (strlen ($last_hit) - strpos ($last_hit, " ")) + 1); // Reformat last_hit $last_hit = substr ($last_hit, 5, 2) . "/" . substr ($last_hit, 8, 2) . "/" . substr ($last_hit, 0, 4); $leftclass = ($i == $lines || $sequence == $total || $sequence == $last) ? "tablebottomleft" : "tableleftdata"; $dataclass = ($i == $lines || $sequence == $total || $sequence == $last) ? "tablebottomdata" : "tabledata"; $rightclass = ($i == $lines || $sequence == $total || $sequence == $last) ? "tablebottomright" : "tablerightdata"; print "" . $sequence . ""; print "\n"; print "" . $username . ""; print "@"; print "" . $domain . ""; print "" . $hit_count . ""; print "" . $last_hit . ""; print "" . $comments . ""; print ""; } // for } // DisplayList function MAPSHeader () { print << END; } // MAPSHeader function ListDomains ($top = 10) { global $userid; // Generate a list of the top 10 spammers by domain $statement = "select count(sender) as nbr, "; // Must extract domain from sender... $statement = $statement . "substring(sender, locate(\"@\",sender, 1)+1) as domain "; // From email for the current userid... $statement = $statement . "from email where userid=\"$userid\" "; // Group things by domain but order them descending on nbr... $statement = $statement . "group by domain order by nbr desc"; // Do the query $result = mysql_query ($statement) or DBError ("ListDomains: Unable to execute query: ", $statement); print << Mark Ranking Domain Returns END; // Get results for ($i = 0; $i < $top; $i++) { $row = mysql_fetch_array ($result); $domain = $row["domain"]; $nbr = $row["nbr"]; print ""; $ranking = $i + 1; if ($i < $top - 1) { print "\n"; print "" . $ranking . ""; print "$domain"; print ""; print "$nbr"; } else { print "\n"; print "" . $ranking . ""; print "$domain"; print ""; print "$nbr"; } // if print ""; } // for print << END; } // ListDomains function Space () { global $userid; // Tally up space used by $userid $space = 0; $statement = "select * from email where userid = \"$userid\""; $result = mysql_query ($statement) or DBError ("Space: Unable to execute query: ", $statement); while ($row = mysql_fetch_array ($result)) { $msg_space = strlen ($row["userid"]) + strlen ($row["sender"]) + strlen ($row["subject"]) + strlen ($row["timestamp"]) + strlen ($row["data"]); $space = $space + $msg_space; } // while return $space; } // Space ?>