Empty commit

This commit is contained in:
Git 2012-12-10 08:00:21 +00:00
parent 494d38fff5
commit 5625f727e8
7 changed files with 300 additions and 177 deletions

View File

@ -538,6 +538,8 @@ CREATE TABLE `reports` (
`ResolvedTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `ResolvedTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ReportedTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `ReportedTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`Reason` text COLLATE utf8_bin NOT NULL, `Reason` text COLLATE utf8_bin NOT NULL,
`ClaimerID` int(10) unsigned NOT NULL DEFAULT '0',
`Notes` text COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`ID`), PRIMARY KEY (`ID`),
KEY `Status` (`Status`), KEY `Status` (`Status`),
KEY `Type` (`Type`), KEY `Type` (`Type`),

View File

@ -103,9 +103,9 @@
<input class="sort_numbers" type="text" name="sort" value="<?=$Sort?>" id="sort_<?=$GroupID?>" size="4" /> <input class="sort_numbers" type="text" name="sort" value="<?=$Sort?>" id="sort_<?=$GroupID?>" size="4" />
</td> </td>
<td><?=$Number?></td> <td><?=$Number?></td>
<td><?=trim($CatNum)?></td> <td><?=trim($CatNum) ?: '&nbsp;'?></td>
<td><?=trim($GroupYear)?></td> <td><?=trim($GroupYear) ?: '&nbsp;'?></td>
<td><?=trim($DisplayName)?></td> <td><?=trim($DisplayName) ?: '&nbsp;'?></td>
<td><?=trim($TorrentLink)?></td> <td><?=trim($TorrentLink)?></td>
<td class="nobr"><?=Users::format_username($UserID, $Username, false, false, false)?></td> <td class="nobr"><?=Users::format_username($UserID, $Username, false, false, false)?></td>
<td class="nobr"> <td class="nobr">

View File

@ -0,0 +1,25 @@
<?php
if (!check_perms('site_moderate_forums') || empty($_GET['id'])) {
print
json_encode(
array(
'status' => 'failure'
)
);
die();
}
$ID = (int) $_GET['id'];
$Notes = str_replace("<br />", "\n", $_GET['notes']);
$Notes = db_string($Notes);
$DB->query("UPDATE reports SET Notes = '$Notes' WHERE ID = '$ID'");
print
json_encode(
array(
'status' => 'success'
)
);
exit();

View File

@ -0,0 +1,35 @@
<?php
if (!check_perms('site_moderate_forums') || empty($_GET['id'])) {
print
json_encode(
array(
'status' => 'failure'
)
);
die();
}
$ID = (int)$_GET['id'];
$DB->query("SELECT ClaimerID FROM reports WHERE ID = '$ID'");
list($ClaimerID) = $DB->next_record();
if ($ClaimerID) {
print
json_encode(
array(
'status' => 'dupe'
)
);
exit();
} else {
$UserID = $LoggedUser['ID'];
$DB->query("UPDATE reports SET ClaimerID = '$UserID' WHERE ID = '$ID'");
print
json_encode(
array(
'status' => 'success',
'username' => $LoggedUser['Username']
)
);
exit();
}

View File

@ -24,6 +24,12 @@
case 'takecompose': case 'takecompose':
include(SERVER_ROOT.'/sections/reports/takecompose.php'); include(SERVER_ROOT.'/sections/reports/takecompose.php');
break; break;
case 'add_notes':
include(SERVER_ROOT.'/sections/reports/ajax_add_notes.php');
break;
case 'claim':
include(SERVER_ROOT.'/sections/reports/ajax_claim_report.php');
break;
default: default:
include(SERVER_ROOT.'/sections/reports/reports.php'); include(SERVER_ROOT.'/sections/reports/reports.php');
break; break;

View File

@ -1,6 +1,5 @@
<? <?
/************************************************************************ /************************************************************************
************************************************************************/ ************************************************************************/
if (!check_perms('admin_reports') && !check_perms('project_team') && !check_perms('site_moderate_forums')) { if (!check_perms('admin_reports') && !check_perms('project_team') && !check_perms('site_moderate_forums')) {
error(404); error(404);
@ -16,7 +15,7 @@
include(SERVER_ROOT . '/sections/reports/array.php'); include(SERVER_ROOT . '/sections/reports/array.php');
// Header // Header
View::show_header('Reports','bbcode'); View::show_header('Reports', 'bbcode,reports');
if ($_GET['id'] && is_number($_GET['id'])) { if ($_GET['id'] && is_number($_GET['id'])) {
$View = "Single report"; $View = "Single report";
@ -54,7 +53,9 @@
r.Type, r.Type,
r.ReportedTime, r.ReportedTime,
r.Reason, r.Reason,
r.Status r.Status,
r.ClaimerID,
r.Notes
FROM reports AS r FROM reports AS r
JOIN users_main AS um ON r.UserID=um.ID JOIN users_main AS um ON r.UserID=um.ID
WHERE " . $Where . " WHERE " . $Where . "
@ -73,6 +74,7 @@
<div class="thin"> <div class="thin">
<div class="header"> <div class="header">
<h2>Active Reports</h2> <h2>Active Reports</h2>
<div class="linkbox"> <div class="linkbox">
<a href="reports.php">New</a> | <a href="reports.php">New</a> |
<a href="reports.php?view=old">Old</a> | <a href="reports.php?view=old">Old</a> |
@ -87,21 +89,16 @@
?> ?>
</div> </div>
<? <?
while(list($ReportID, $SnitchID, $SnitchName, $ThingID, $Short, $ReportedTime, $Reason, $Status) = $DB->next_record()) { while (list($ReportID, $SnitchID, $SnitchName, $ThingID, $Short, $ReportedTime, $Reason, $Status, $ClaimerID, $Notes) = $DB->next_record()) {
$Type = $Types[$Short]; $Type = $Types[$Short];
$Reference = "reports.php?id=" . $ReportID . "#report" . $ReportID; $Reference = "reports.php?id=" . $ReportID . "#report" . $ReportID;
?> ?>
<div id="report<?=$ReportID?>"> <div id="report<?=$ReportID?>">
<form class="manage_form" name="report" action="reports.php" method="post">
<div>
<input type="hidden" name="reportid" value="<?=$ReportID?>" />
<input type="hidden" name="action" value="takeresolve" />
<input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>" />
</div>
<table cellpadding="5" id="report_<?=$ReportID?>"> <table cellpadding="5" id="report_<?=$ReportID?>">
<tr> <tr>
<td><strong><a href="<?=$Reference?>">Report #<?=$ReportID?></a></strong></td> <td><strong><a href="<?=$Reference?>">Report #<?=$ReportID?></a></strong></td>
<td><strong><?=$Type['title']?></strong> was reported by <a href="user.php?id=<?=$SnitchID?>"><?=$SnitchName?></a> <?=time_diff($ReportedTime)?> <a href="reports.php?action=compose&amp;to=<?=$SnitchID?>&amp;reportid=<?=$ReportID?>&amp;type=<?=$Short?>&amp;thingid=<?=$ThingID?>">[Contact]</a></td> <td><strong><?=$Type['title']?></strong> was reported by <a href="user.php?id=<?=$SnitchID?>"><?=$SnitchName?></a> <?=time_diff($ReportedTime)?> <a
href="reports.php?action=compose&amp;to=<?=$SnitchID?>&amp;reportid=<?=$ReportID?>&amp;type=<?=$Short?>&amp;thingid=<?=$ThingID?>">[Contact]</a></td>
</tr> </tr>
<tr> <tr>
@ -209,10 +206,31 @@
</tr> </tr>
<tr> <tr>
<td colspan="2"><?=$Text->full_format($Reason)?></td> <td colspan="2"><?=$Text->full_format($Reason)?></td>
</tr>
<tr>
<td colspan="2">
<? if ($ClaimerID) { ?>
Claimed by <?=Users::format_username($ClaimerID, false, false, false, false)?>
<? } else { ?>
<a href="#" id="claim_<?=$ReportID?>" onclick="claim(<?=$ReportID?>); return false;"; return false;">Claim</a>
<? } ?>
&nbsp;&nbsp;
<a onclick="toggleNotes(<?=$ReportID?>); return false;" href="#">Toggle Notes</a>
<div id="notes_div_<?=$ReportID?>" style="display: <?=empty($Notes) ? "none" : "block"?>;">
<textarea cols="50" rows="3" id="notes_<?=$ReportID?>"><?=$Notes?></textarea>
<br/>
<input type="submit" onclick="saveNotes(<?=$ReportID?>)" value="Save"/>
</div>
</td>
</tr> </tr>
<? if ($Status != "Resolved") { ?> <? if ($Status != "Resolved") { ?>
<tr> <tr>
<td class="center" colspan="2"> <td class="center" colspan="2">
<form class="manage_form" name="report" action="reports.php" method="post">
<input type="hidden" name="reportid" value="<?=$ReportID?>"/>
<input type="hidden" name="action" value="takeresolve"/>
<input type="hidden" name="auth" value="<?=$LoggedUser['AuthKey']?>"/>
<input type="submit" name="submit" value="Resolve"/> <input type="submit" name="submit" value="Resolve"/>
</td> </td>
</tr> </tr>

View File

@ -0,0 +1,37 @@
function toggleNotes(id) {
var style = $('#notes_div_' + id).raw().style.display;
if (style == "none") {
$('#notes_div_' + id).raw().style.display = "block";
}
else {
$('#notes_div_' + id).raw().style.display = "none";
}
}
function saveNotes(id) {
var notes = $('#notes_' + id).raw().value;
notes = notes.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '<br />');
ajax.get('reports.php?action=add_notes&id=' + id + '&notes=' + notes, function (response) {
if (JSON.parse(response)['status'] != 'success') {
alert("Error, could not save notes");
}
});
}
function claim(id) {
ajax.get('reports.php?action=claim&id=' + id, function (response) {
var json = JSON.parse(response);
if (json['status'] == 'failure') {
alert("Error, could not claim.");
}
if (json['status'] == 'dupe') {
alert("Oops, this report has already been claimed.");
}
if (json['status'] == 'success') {
var username = json['username'];
$('#claim_' + id).raw().innerHTML = '<a href="#" onclick="return false;">Claimed by ' + username + '</a>';
}
});
}