2011-03-28 14:21:28 +00:00
|
|
|
<?
|
|
|
|
enforce_login();
|
|
|
|
if (!defined('LOG_ENTRIES_PER_PAGE')) {
|
2012-08-30 08:00:17 +00:00
|
|
|
define('LOG_ENTRIES_PER_PAGE', 100);
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
2012-08-30 08:00:17 +00:00
|
|
|
show_header("Site log");
|
2011-03-28 14:21:28 +00:00
|
|
|
|
2012-08-30 08:00:17 +00:00
|
|
|
if(!isset($_GET['beta']) || $_GET['beta'] == 1) {
|
|
|
|
$BetaLog = true;
|
|
|
|
$URL = get_url(array('beta'));
|
|
|
|
include(SERVER_ROOT.'/sections/log/sphinx.php');
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
2012-08-30 08:00:17 +00:00
|
|
|
$BetaLog = false;
|
|
|
|
$URL = get_url(array('beta'));
|
|
|
|
include(SERVER_ROOT.'/sections/log/sql.php');
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
|
|
|
?>
|
|
|
|
<div class="thin">
|
2012-08-19 08:00:19 +00:00
|
|
|
<div class="header">
|
2012-08-30 08:00:17 +00:00
|
|
|
<h2>Site log<?=$BetaLog ? ' (beta)' : ''?></h2>
|
2012-08-19 08:00:19 +00:00
|
|
|
</div>
|
2011-03-28 14:21:28 +00:00
|
|
|
<div>
|
|
|
|
<form action="" method="get">
|
|
|
|
<table cellpadding="6" cellspacing="1" border="0" class="border" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td class="label"><strong>Search for:</strong></td>
|
|
|
|
<td>
|
2012-08-30 08:00:17 +00:00
|
|
|
<input type="hidden" name="beta" value="<?=$BetaLog ? 1 : 0?>" />
|
|
|
|
<input type="text" name="search" size="60"<?=!empty($_GET['search']) ? ' value="'.display_str($_GET['search']).'"' : '' ?> />
|
2011-03-28 14:21:28 +00:00
|
|
|
|
|
|
|
<input type="submit" value="Search log" />
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
2012-08-30 08:00:17 +00:00
|
|
|
<div class="linkbox">
|
|
|
|
<? if($BetaLog) { ?>
|
|
|
|
<a href="log.php?<?=$URL?>&beta=0">Go to normal page (slower)</a>
|
|
|
|
<? } else { ?>
|
|
|
|
<a href="log.php?<?=$URL?>&beta=1">Go to beta page (faster)</a>
|
|
|
|
<? } ?>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<? if($TotalMatches > LOG_ENTRIES_PER_PAGE) { ?>
|
2011-03-28 14:21:28 +00:00
|
|
|
<div class="linkbox">
|
|
|
|
<?
|
2012-08-30 08:00:17 +00:00
|
|
|
$Pages = get_pages($Page,$TotalMatches,LOG_ENTRIES_PER_PAGE,9);
|
|
|
|
echo $Pages;
|
2011-03-28 14:21:28 +00:00
|
|
|
?>
|
|
|
|
</div>
|
2012-08-30 08:00:17 +00:00
|
|
|
<? } ?>
|
2011-03-28 14:21:28 +00:00
|
|
|
<table cellpadding="6" cellspacing="1" border="0" class="border" width="100%">
|
|
|
|
<tr class="colhead">
|
|
|
|
<td style="width: 180px;"><strong>Time</strong></td>
|
|
|
|
<td><strong>Message</strong></td>
|
|
|
|
</tr>
|
2012-08-30 08:00:17 +00:00
|
|
|
<? if($QueryStatus) { ?>
|
|
|
|
<tr class="nobr"><td colspan="2">Search request failed (<?=$QueryError?>).</td></tr>
|
|
|
|
<? } elseif($DB->record_count() == 0) { ?>
|
|
|
|
<tr class="nobr"><td colspan="2">Nothing found!</td></tr>
|
|
|
|
<? }
|
2011-03-28 14:21:28 +00:00
|
|
|
$Row = 'a';
|
|
|
|
$Usernames = array();
|
2012-08-30 08:00:17 +00:00
|
|
|
while(list($ID, $Message, $LogTime) = $DB->next_record()) {
|
2011-03-28 14:21:28 +00:00
|
|
|
$MessageParts = explode(" ", $Message);
|
|
|
|
$Message = "";
|
|
|
|
$Color = $Colon = false;
|
|
|
|
for ($i = 0, $PartCount = sizeof($MessageParts); $i < $PartCount; $i++) {
|
|
|
|
if ((strpos($MessageParts[$i], 'https://'.SSL_SITE_URL) === 0 && $Offset = strlen('https://'.SSL_SITE_URL.'/')) ||
|
|
|
|
(strpos($MessageParts[$i], 'http://'.NONSSL_SITE_URL) === 0 && $Offset = strlen('http://'.NONSSL_SITE_URL.'/'))) {
|
|
|
|
$MessageParts[$i] = '<a href="'.substr($MessageParts[$i], $Offset).'">'.substr($MessageParts[$i], $Offset).'</a>';
|
|
|
|
}
|
|
|
|
switch ($MessageParts[$i]) {
|
|
|
|
case "Torrent":
|
2012-01-28 08:00:29 +00:00
|
|
|
case "torrent":
|
|
|
|
$TorrentID = $MessageParts[$i + 1];
|
2011-03-28 14:21:28 +00:00
|
|
|
if (is_numeric($TorrentID)) {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i].' <a href="torrents.php?torrentid='.$TorrentID.'"> '.$TorrentID.'</a>';
|
|
|
|
$i++;
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "Request":
|
2012-01-28 08:00:29 +00:00
|
|
|
$RequestID = $MessageParts[$i + 1];
|
2011-03-28 14:21:28 +00:00
|
|
|
if (is_numeric($RequestID)) {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i].' <a href="requests.php?action=view&id='.$RequestID.'"> '.$RequestID.'</a>';
|
|
|
|
$i++;
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "Artist":
|
2012-01-28 08:00:29 +00:00
|
|
|
case "artist":
|
|
|
|
$ArtistID = $MessageParts[$i + 1];
|
2011-03-28 14:21:28 +00:00
|
|
|
if (is_numeric($ArtistID)) {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i].' <a href="artist.php?id='.$ArtistID.'"> '.$ArtistID.'</a>';
|
|
|
|
$i++;
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "group":
|
2012-01-28 08:00:29 +00:00
|
|
|
case "Group":
|
|
|
|
$GroupID = $MessageParts[$i + 1];
|
|
|
|
if (is_numeric($GroupID)) {
|
|
|
|
$Message = $Message.' '.$MessageParts[$i].' <a href="torrents.php?id='.$GroupID.'"> '.$GroupID.'</a>';
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
2012-01-28 08:00:29 +00:00
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
2011-03-28 14:21:28 +00:00
|
|
|
}
|
2012-01-28 08:00:29 +00:00
|
|
|
$i++;
|
2011-03-28 14:21:28 +00:00
|
|
|
break;
|
|
|
|
case "by":
|
|
|
|
$UserID = 0;
|
|
|
|
$User = "";
|
|
|
|
$URL = "";
|
|
|
|
if ($MessageParts[$i + 1] == "user") {
|
|
|
|
$i++;
|
|
|
|
if (is_numeric($MessageParts[$i + 1])) {
|
|
|
|
$UserID = $MessageParts[++$i];
|
|
|
|
}
|
2012-03-31 08:00:23 +00:00
|
|
|
$URL = "user ".$UserID." ".'(<a href="user.php?id='.$UserID.'">'.substr($MessageParts[++$i],1,-1)."</a>)";
|
|
|
|
} elseif (in_array($MessageParts[$i - 1], array('deleted','uploaded','edited','created','recovered'))) {
|
2011-03-28 14:21:28 +00:00
|
|
|
$User = $MessageParts[++$i];
|
|
|
|
if(substr($User,-1) == ':') {
|
|
|
|
$User = substr($User, 0, -1);
|
|
|
|
$Colon = true;
|
|
|
|
}
|
|
|
|
if(!isset($Usernames[$User])) {
|
2012-03-31 08:00:23 +00:00
|
|
|
$DB->query("SELECT ID FROM users_main WHERE Username = _utf8 '".$User."' COLLATE utf8_bin");
|
2011-03-28 14:21:28 +00:00
|
|
|
list($UserID) = $DB->next_record();
|
2012-01-28 08:00:29 +00:00
|
|
|
$Usernames[$User] = $UserID ? $UserID : '';
|
2011-03-28 14:21:28 +00:00
|
|
|
} else {
|
|
|
|
$UserID = $Usernames[$User];
|
|
|
|
}
|
|
|
|
$DB->set_query_id($Log);
|
|
|
|
$URL = $Usernames[$User] ? '<a href="user.php?id='.$UserID.'">'.$User."</a>".($Colon?':':'') : $User;
|
|
|
|
}
|
|
|
|
$Message = $Message." by ".$URL;
|
|
|
|
break;
|
|
|
|
case "uploaded":
|
|
|
|
if ($Color === false) {
|
|
|
|
$Color = 'green';
|
|
|
|
}
|
|
|
|
$Message = $Message." ".$MessageParts[$i];
|
|
|
|
break;
|
|
|
|
case "deleted":
|
|
|
|
if ($Color === false || $Color === 'green') {
|
|
|
|
$Color = 'red';
|
|
|
|
}
|
|
|
|
$Message = $Message." ".$MessageParts[$i];
|
|
|
|
break;
|
|
|
|
case "edited":
|
|
|
|
if ($Color === false) {
|
|
|
|
$Color = 'blue';
|
|
|
|
}
|
|
|
|
$Message = $Message." ".$MessageParts[$i];
|
|
|
|
break;
|
|
|
|
case "un-filled":
|
|
|
|
if ($Color === false) {
|
|
|
|
$Color = '';
|
|
|
|
}
|
|
|
|
$Message = $Message." ".$MessageParts[$i];
|
|
|
|
break;
|
2012-01-28 08:00:29 +00:00
|
|
|
case "marked":
|
|
|
|
if ($i == 1) {
|
|
|
|
$User = $MessageParts[$i - 1];
|
|
|
|
if(!isset($Usernames[$User])) {
|
2012-03-31 08:00:23 +00:00
|
|
|
$DB->query("SELECT ID FROM users_main WHERE Username = _utf8 '".$User."' COLLATE utf8_bin");
|
2012-01-28 08:00:29 +00:00
|
|
|
list($UserID) = $DB->next_record();
|
|
|
|
$Usernames[$User] = $UserID ? $UserID : '';
|
|
|
|
$DB->set_query_id($Log);
|
|
|
|
} else {
|
|
|
|
$UserID = $Usernames[$User];
|
|
|
|
}
|
|
|
|
$URL = $Usernames[$User] ? '<a href="user.php?id='.$UserID.'">'.$User."</a>" : $User;
|
|
|
|
$Message = $URL." ".$MessageParts[$i];
|
|
|
|
} else {
|
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "Collage":
|
|
|
|
$CollageID = $MessageParts[$i + 1];
|
|
|
|
if (is_numeric($CollageID)) {
|
|
|
|
$Message = $Message.' '.$MessageParts[$i].' <a href="collages.php?id='.$CollageID.'"> '.$CollageID.'</a>';
|
|
|
|
$i++;
|
|
|
|
} else {
|
|
|
|
$Message = $Message.' '.$MessageParts[$i];
|
|
|
|
}
|
|
|
|
break;
|
2011-03-28 14:21:28 +00:00
|
|
|
default:
|
|
|
|
$Message = $Message." ".$MessageParts[$i];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$Row = ($Row == 'a') ? 'b' : 'a';
|
|
|
|
?>
|
2012-08-30 08:00:17 +00:00
|
|
|
<tr class="row<?=$Row?>" id="log_<?=$ID?>">
|
2011-03-28 14:21:28 +00:00
|
|
|
<td class="nobr">
|
|
|
|
<?=time_diff($LogTime)?>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<span<? if($Color) { ?> style="color: <?=$Color ?>;"<? } ?>><?=$Message?></span>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<?
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
</table>
|
|
|
|
<div class="linkbox">
|
|
|
|
<?=$Pages?>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?
|
|
|
|
show_footer() ?>
|