Add link to flag OOD comment

Implements: FS#46546

Signed-off-by: Mark Weiman <mark.weiman@markzz.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Mark Weiman 2015-12-14 16:18:16 -05:00 committed by Lukas Fleischer
parent 76a589257e
commit e9fe1a9eb1
6 changed files with 84 additions and 1 deletions

View file

@ -130,6 +130,10 @@
top: 4px; top: 4px;
} }
.flagged a {
color: inherit;
}
legend { legend {
padding: 1em 0; padding: 1em 0;
} }

View file

@ -73,6 +73,9 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
case "unflag": case "unflag":
$_POST['do_UnFlag'] = __('UnFlag'); $_POST['do_UnFlag'] = __('UnFlag');
break; break;
case "flag-comment":
include('pkgflagcomment.php');
return;
case "delete": case "delete":
include('pkgdel.php'); include('pkgdel.php');
return; return;

View file

@ -0,0 +1,19 @@
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
include_once("aur.inc.php");
include_once("pkgbasefuncs.inc.php");
set_lang();
check_sid();
if (!isset($base_id)) {
header('Location: /');
exit();
}
html_header(__("Flag Comment"));
$message = pkgbase_get_flag_comment($base_id);
include('flag_comment.php');
html_footer(AURWEB_VERSION);

View file

@ -444,6 +444,38 @@ function pkgbase_unflag($base_ids) {
} }
} }
/**
* Get package flag OOD comment
*
* @param int $base_id
*
* @return array Tuple of pkgbase ID, reason for OOD, and user who flagged
*/
function pkgbase_get_flag_comment($base_id) {
$base_id = intval($base_id);
$dbh = DB::connect();
$q = "SELECT FlaggerComment,OutOfDateTS,Username FROM PackageBases ";
$q.= "LEFT JOIN Users ON FlaggerUID = Users.ID ";
$q.= "WHERE PackageBases.ID = " . $base_id . " ";
$q.= "AND PackageBases.OutOfDateTS IS NOT NULL";
$result = $dbh->query($q);
$row = array();
if (!$result) {
$row['error'] = __("Error retrieving package details.");
}
else {
$row = $result->fetch(PDO::FETCH_ASSOC);
if (empty($row)) {
$row['error'] = __("Package details could not be found.");
}
}
return $row;
}
/** /**
* Delete package bases * Delete package bases
* *

View file

@ -0,0 +1,25 @@
<div class="box">
<h2><?= __('Flagged Out-of-Date Comment: %s', htmlspecialchars($pkgbase_name)) ?></h2>
<p>
<?php if (isset($message['Username'])): ?>
<?= __('%s%s%s flagged %s%s%s out-of-date on %s%s%s for the following reason:',
'<strong>', html_format_username($message['Username']), '</strong>',
'<strong>', htmlspecialchars($pkgbase_name), '</strong>',
'<strong>', gmdate('Y-m-d', $message['OutOfDateTS']), '</strong>'); ?>
<?php else: ?>
<?= __('%s%s%s is not flagged out-of-date.',
'<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?>
<?php endif; ?>
</p>
<p>
<div class="article-content">
<blockquote><p><?= parse_comment($message['FlaggerComment']) ?></p></blockquote>
</div>
</p>
<p>
<form action="<?= htmlspecialchars(get_pkgbase_uri($pkgbase_name), ENT_QUOTES) ?>">
<input type="submit" value="<?= __("Return to Details") ?>" />
</form>
</p>
</div>

View file

@ -8,7 +8,7 @@
</li> </li>
<li><a href="<?= $snapshot_uri ?>"><?= __('Download snapshot') ?></a> <li><a href="<?= $snapshot_uri ?>"><?= __('Download snapshot') ?></a>
<li><a href="https://wiki.archlinux.org/index.php/Special:Search?search=<?= urlencode($row['Name']) ?>"><?= __('Search wiki') ?></a></li> <li><a href="https://wiki.archlinux.org/index.php/Special:Search?search=<?= urlencode($row['Name']) ?>"><?= __('Search wiki') ?></a></li>
<li><span class="flagged"><?php if ($row["OutOfDateTS"] !== NULL) { echo __('Flagged out-of-date')." (${out_of_date_time})"; } ?></span></li> <li><span class="flagged"><?= $row["OutOfDateTS"] !== NULL ? html_action_link($base_uri . 'flag-comment/', __('Flagged out-of-date %s', "(${out_of_date_time})")) : "" ?></span></li>
<?php if ($row["OutOfDateTS"] === NULL): ?> <?php if ($row["OutOfDateTS"] === NULL): ?>
<li><?= html_action_link($base_uri . 'flag/', __('Flag package out-of-date')) ?></li> <li><?= html_action_link($base_uri . 'flag/', __('Flag package out-of-date')) ?></li>
<?php elseif (($row["OutOfDateTS"] !== NULL) && has_credential(CRED_PKGBASE_UNFLAG, $unflaggers)): ?> <?php elseif (($row["OutOfDateTS"] !== NULL) && has_credential(CRED_PKGBASE_UNFLAG, $unflaggers)): ?>