This shows a list of all Trusted Users and the vote ID of the last
proposal each of the TUs voted on. This list is sorted by vote ID.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 web/html/tu.php                     |  2 ++
 web/lib/acctfuncs.inc.php           | 19 ++++++++++++++++++
 web/template/tu_last_votes_list.php | 40 +++++++++++++++++++++++++++++++++++++
 3 files changed, 61 insertions(+)
 create mode 100644 web/template/tu_last_votes_list.php

diff --git a/web/html/tu.php b/web/html/tu.php
index e2f7712..d221619 100644
--- a/web/html/tu.php
+++ b/web/html/tu.php
@@ -134,6 +134,8 @@ if ($atype == "Trusted User" || $atype == "Developer") {
        <?php endif; ?>
 </div>
 <?php
+               $result = last_votes_list();
+               include("tu_last_votes_list.php");
        }
 }
 else {
diff --git a/web/lib/acctfuncs.inc.php b/web/lib/acctfuncs.inc.php
index 31cdd79..f52dfc3 100644
--- a/web/lib/acctfuncs.inc.php
+++ b/web/lib/acctfuncs.inc.php
@@ -996,6 +996,25 @@ function past_proposal_list($order, $lim) {
 }
 
 /**
+ * Get the vote ID of the last vote of all Trusted Users
+ *
+ * @return array The vote ID of the last vote of each Trusted User
+ */
+function last_votes_list() {
+       $dbh = DB::connect();
+
+       $q = "SELECT UserID, MAX(VoteID) AS LastVote FROM TU_Votes GROUP BY 
UserID ORDER BY VoteID DESC";
+       $result = $dbh->query($q);
+
+       $details = array();
+       while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
+               $details[] = $row;
+       }
+
+       return $details;
+}
+
+/**
  * Determine the total number of Trusted User proposals
  *
  * @return string The total number of Trusted User proposals
diff --git a/web/template/tu_last_votes_list.php 
b/web/template/tu_last_votes_list.php
new file mode 100644
index 0000000..090ce8d
--- /dev/null
+++ b/web/template/tu_last_votes_list.php
@@ -0,0 +1,40 @@
+<div class="box">
+       <h2><?= __("Last Votes by TU") ?></h2>
+       <table class="results">
+               <thead>
+                       <tr>
+                               <th><?= __("User") ?></th>
+                               <th><?= __("Last vote") ?></th>
+                       </tr>
+               </thead>
+
+               <tbody>
+                       <?php if (empty($result)): ?>
+                       <tr><td align="center" colspan="0"><?= __("No results 
found.") ?></td></tr>
+                       <?php else: while (list($indx, $row) = each($result)):
+                               if ($indx % 2):
+                                       $c = "even";
+                               else:
+                                       $c = "odd";
+                               endif;
+                               $username = username_from_id($row["UserID"]);
+                       ?>
+                       <tr class="<?= $c ?>">
+                               <td>
+                                       <?php if (!$USE_VIRTUAL_URLS): ?>
+                                       <a href="<?= get_uri('/account/'); 
?>?Action=AccountInfo&amp;ID=<?= htmlspecialchars($row['UserID'], ENT_QUOTES) 
?>" title="<?= __('View account information for')?> <?= 
htmlspecialchars($username) ?>"><?= htmlspecialchars($username) ?></a></td>
+                                       <?php else: ?>
+                                       <a href="<?= get_uri('/account/') . 
htmlspecialchars($username, ENT_QUOTES) ?>" title="<?= __('View account 
information for %s', htmlspecialchars($username)) ?>"><?= 
htmlspecialchars($username) ?></a>
+                                       <?php endif; ?>
+                               </td>
+                               <td>
+                                       <a href="<?= get_uri('/tu/'); ?>?id=<?= 
$row['LastVote'] ?>"><?= intval($row["LastVote"]) ?></a>
+                               </td>
+                       </tr>
+                       <?php
+                       endwhile;
+                       endif;
+                       ?>
+               </tbody>
+       </table>
+</div>
-- 
1.8.4.rc3.500.gc3113b0

Reply via email to