Initial commit
This commit is contained in:
72
lotgd-web/lotgd/lib/user/user_debuglog.php
Executable file
72
lotgd-web/lotgd/lib/user/user_debuglog.php
Executable file
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
if ($petition !=""){
|
||||
addnav("Navigation");
|
||||
addnav("Return to the petition","viewpetition.php?op=view&id=$petition");
|
||||
}
|
||||
$debuglog = db_prefix('debuglog');
|
||||
$accounts = db_prefix('accounts');
|
||||
|
||||
|
||||
// As mySQL cannot use two different indexes in a single query this query can take up to 25s on its own!
|
||||
// This happens solely on larger debuglogs (where full table scans take quite long), smaller servers
|
||||
// should not recognize a change.
|
||||
// It may seem strange, but in this case two single queries are better!
|
||||
// $sql = "SELECT count(id) AS c FROM $debuglog WHERE actor=$userid OR target=$userid";
|
||||
|
||||
$sql = "SELECT COUNT(id) AS c FROM $debuglog WHERE target=$userid";
|
||||
$result = db_query($sql);
|
||||
$row = db_fetch_assoc($result);
|
||||
$max = $row['c'];
|
||||
|
||||
$sql = "SELECT COUNT(id) AS c FROM $debuglog WHERE actor=$userid";
|
||||
$result = db_query($sql);
|
||||
$row = db_fetch_assoc($result);
|
||||
$max += $row['c'];
|
||||
|
||||
$start = (int)httpget('start');
|
||||
|
||||
$sql = "(
|
||||
SELECT $debuglog. * , a1.name AS actorname, a2.name AS targetname
|
||||
FROM $debuglog
|
||||
LEFT JOIN $accounts AS a1 ON a1.acctid = $debuglog.actor
|
||||
LEFT JOIN $accounts AS a2 ON a2.acctid = $debuglog.target
|
||||
WHERE $debuglog.actor = $userid
|
||||
) UNION (
|
||||
SELECT $debuglog. * , a2.name AS targetname, a1.name AS actorname
|
||||
FROM $debuglog
|
||||
LEFT JOIN $accounts AS a1 ON a1.acctid = $debuglog.actor
|
||||
LEFT JOIN $accounts AS a2 ON a2.acctid = $debuglog.target
|
||||
WHERE $debuglog.target = $userid
|
||||
)
|
||||
ORDER BY date DESC
|
||||
LIMIT $start,500";
|
||||
|
||||
$next = $start+500;
|
||||
$prev = $start-500;
|
||||
addnav("Operations");
|
||||
addnav("Edit user info","user.php?op=edit&userid=$userid$returnpetition");
|
||||
addnav("Refresh", "user.php?op=debuglog&userid=$userid&start=$start$returnpetition");
|
||||
addnav("Debug Log");
|
||||
if ($next < $max) {
|
||||
addnav("Next page","user.php?op=debuglog&userid=$userid&start=$next$returnpetition");
|
||||
}
|
||||
if ($start > 0) {
|
||||
addnav("Previous page",
|
||||
"user.php?op=debuglog&userid=$userid&start=$prev$returnpetition");
|
||||
}
|
||||
$result = db_query($sql);
|
||||
$odate = "";
|
||||
while ($row = db_fetch_assoc($result)) {
|
||||
$dom = date("D, M d",strtotime($row['date']));
|
||||
if ($odate != $dom){
|
||||
output_notl("`n`b`@%s`0`b`n", $dom);
|
||||
$odate = $dom;
|
||||
}
|
||||
$time = date("H:i:s", strtotime($row['date']))." (".reltime(strtotime($row['date'])).")";
|
||||
output_notl("`#%s (%s) `^%s - `&%s`7 %s`0", $row['field'], $row['value'], $time, $row['actorname'], $row['message']);
|
||||
if ($row['target']) {
|
||||
output(" \\-- Recipient = `\$%s`0", $row['targetname']);
|
||||
}
|
||||
output_notl("`n");
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user