Refactor TU voters list

* Change voters_list() to return an array of voters instead of
  generating HTML code in the library call.

* Change the template to generate HTML code for the list of voters
  instead of displaying the library's return value.

* Use HTML lists.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2012-10-08 14:12:07 +02:00
parent eb7efe33ca
commit 14b237ac53
2 changed files with 8 additions and 4 deletions

View file

@ -969,14 +969,14 @@ function vote_details($voteid, $dbh=NULL) {
* @param string $voteid The ID of the Trusted User proposal * @param string $voteid The ID of the Trusted User proposal
* @param \PDO $dbh An already established database connection * @param \PDO $dbh An already established database connection
* *
* @return array All users (and HTML links) who voted for a specific proposal * @return array All users who voted for a specific proposal
*/ */
function voter_list($voteid, $dbh=NULL) { function voter_list($voteid, $dbh=NULL) {
if (!$dbh) { if (!$dbh) {
$dbh = db_connect(); $dbh = db_connect();
} }
$whovoted = ''; $whovoted = array();
$q = "SELECT tv.UserID,U.Username "; $q = "SELECT tv.UserID,U.Username ";
$q.= "FROM TU_Votes tv, Users U "; $q.= "FROM TU_Votes tv, Users U ";
@ -987,7 +987,7 @@ function voter_list($voteid, $dbh=NULL) {
$result = $dbh->query($q); $result = $dbh->query($q);
if ($result) { if ($result) {
while ($row = $result->fetch(PDO::FETCH_ASSOC)) { while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$whovoted.= '<a href="' . get_user_uri($row['Username']) . '">'.$row['Username'].'</a> '; $whovoted[] = $row['Username'];
} }
} }
return $whovoted; return $whovoted;

View file

@ -54,7 +54,11 @@
<?php if (!$isrunning): ?> <?php if (!$isrunning): ?>
<div class="box"> <div class="box">
<h2><?= __("Voters"); ?></h2> <h2><?= __("Voters"); ?></h2>
<?= $whovoted; ?> <ul>
<?php foreach($whovoted as $voter): ?>
<li><a href="<?= get_user_uri($voter) ?>"><?= htmlspecialchars($voter) ?></a></li>
<?php endforeach; ?>
</ul>
</div> </div>
<?php endif; ?> <?php endif; ?>