summaryrefslogtreecommitdiff
path: root/motions.php
diff options
context:
space:
mode:
authorJan Dittberner <jandd@cacert.org>2017-04-19 23:32:12 +0200
committerJan Dittberner <jan@dittberner.info>2017-04-22 00:12:38 +0200
commit2de96dc13dc5e2843ebe204a7e1dfe6197ab7de0 (patch)
treee554bd4986e8803ed13daab5b61b35f11e06e826 /motions.php
parent0ce9ad6dcc01375cb3f2d57f7bbdf701e605bea1 (diff)
downloadcacert-boardvoting-2de96dc13dc5e2843ebe204a7e1dfe6197ab7de0.tar.gz
cacert-boardvoting-2de96dc13dc5e2843ebe204a7e1dfe6197ab7de0.tar.xz
cacert-boardvoting-2de96dc13dc5e2843ebe204a7e1dfe6197ab7de0.zip
Implement vote closing, refactor notifications
Diffstat (limited to 'motions.php')
-rw-r--r--motions.php167
1 files changed, 0 insertions, 167 deletions
diff --git a/motions.php b/motions.php
deleted file mode 100644
index 548731f..0000000
--- a/motions.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
- require_once("database.php");
- $db = new DB();
- $page = is_numeric($_REQUEST['page'])?$_REQUEST['page']:1;
- $user = $db->auth();
-
- if ($_REQUEST['withdrawl'] && $_REQUEST['confirm'] && $_REQUEST['id']) {
- if (!$user) {
- header("HTTP/1.0 302 Redirect");
- header("Location: denied.php");
- exit();
- }
- $stmt = $db->getStatement("get decision");
- $stmt->bindParam(":decision",$_REQUEST['id']);
- if ($stmt->execute() && ($decision=$stmt->fetch())) {
- $name = $user['name'];
- $tag = $decision['tag'];
- $title = $decision['title'];
- $content = $decision['content'];
- $body = <<<BODY
-Dear Board,
-
-$name has withdrawn the motion $tag that was as follows:
-
-$title
-$content
-
-Kind regards,
-the voting system
-BODY;
- $db->notify("Re: $tag - $title - withdrawn",$body,$tag);
- }
- $stmt = $db->getStatement("close decision");
- $status = -2;
- $stmt->bindParam(":status",$status);
- $stmt->bindParam(":decision",$_REQUEST['id']);
- $stmt->execute();
- }
-?>
-<html>
- <head>
- <title>CAcert Board Decisions</title>
- <meta http-equiv="Content-Type" content="text/html; charset='UTF-8'" />
- <link rel="stylesheet" type="text/css" href="styles.css" />
- </head>
- <body>
- <?php
- if ($user) echo '<a href="?unvoted=1">Show my outstanding votes</a><br/>';
- ?>
- <table class="list">
- <tr>
- <th>Status</th>
- <th>Motion</th>
- <th>Actions</th>
- </tr>
- <?php
- if ($_REQUEST['motion']) {
- $stmt = $db->getStatement("list decision");
- $stmt->execute(array($_REQUEST['motion']));
- } else {
- if ($user && $_REQUEST['unvoted']) {
- $stmt = $db->getStatement("list my unvoted decisions");
- $stmt->bindParam(":id",$user['id']);
- } else {
- $stmt = $db->getStatement("list decisions");
- }
- $stmt->bindParam(":page",$page);
- $stmt->execute();
- }
- $items = 0;
- $id = -1;
- while ($row = $stmt->fetch()) {
- $items++;
- $id = $row['id'];
- ?><tr>
- <td class="<?php switch($row['status']) { case 0: echo "pending"; break; case 1: echo "approved"; break; case -1: echo "declined"; break; case -2: echo "withdrawn"; break; }?>">
- <?php
- switch($row['status']) {
- case 0: echo "Pending<br/><i>".$row['due']." UTC</i>"; break;
- case 1: echo "Approved<br/><i>".$row['modified']." UTC</i>"; break;
- case -1: echo "Declined<br/><i>".$row['modified']." UTC</i>"; break;
- case -2: echo "Withdrawn<br/><i>".$row['modified']." UTC</i>"; break;
- }
- ?>
- </td>
- <td>
- <i><a href="motions.php?motion=<?php echo $row['tag'].'">'.$row['tag']; ?></a></i><br/>
- <b><?php echo htmlspecialchars($row['title']); ?></b><br/>
- <pre><?php echo wordwrap(htmlspecialchars($row['content'])); ?></pre>
- <br/>
- <i>Due: <?php echo($row['due']); ?> UTC</i><br/>
- <i>Proposed: <?php echo($row['proposer']); ?> (<?php echo($row['proposed']); ?> UTC)</i><br/>
- <i>Vote type: <?php echo(!$row['votetype']?'motion':'veto'); ?></i><br/>
- <i>Aye|Naye|Abstain: <?php echo($row['ayes']); ?>|<?php echo($row['nayes']); ?>|<?php echo($row['abstains']); ?></i><br/>
- <?php
- if ($row['status'] ==0 || $_REQUEST['showvotes']) {
- $state = array('Naye','Abstain','Aye');
- $vstmt = $db->getStatement("list votes");
- $vstmt->execute(array($row['id']));
- echo "<i>Votes:</i><br/>";
- while ($vrow = $vstmt->fetch()) {
- echo "<i>".$vrow['name'].": ".$state[$vrow['vote']+1]."</i><br/>";
- }
- } else {
- echo '<i><a href="motions.php?motion='.$row['tag'].'&showvotes=1">Show Votes</a></i><br/>';
- }
- ?>
- </td>
- <td class="actions">
- <?php
- if ($row['status'] == 0 && $user ) {
- ?>
- <ul>
- <li><a href="vote.php?motion=<?php echo($row['id']); ?>&amp;vote=1">Aye</a></li>
- <li><a href="vote.php?motion=<?php echo($row['id']); ?>&amp;vote=0">Abstain</a></li>
- <li><a href="vote.php?motion=<?php echo($row['id']); ?>&amp;vote=-1">Naye</a></li>
- <li><a href="proxy.php?motion=<?php echo($row['id']); ?>">Proxy Vote</a></li>
- <li><a href="motion.php?motion=<?php echo($row['id']); ?>">Modify</a></li>
- <li><a href="motions.php?motion=<?php echo($row['tag']); ?>&amp;withdrawl=1">Withdrawl</a></li>
- </ul>
- <?php
- } else {
- ?>
- &nbsp;
- <?php
- }
- ?>
- </td>
- </tr><?php
- }
- ?>
- <tr>
- <td colspan="2" class="navigation">
- <?php if ($page>1) { ?><a href="?page=<?php echo($page-1); ?>">&lt;</a><?php } else { ?>&nbsp;<?php } ?>
- &nbsp;
- <?php if ($items>9) { ?><a href="?page=<?php echo($page+1); ?>">&gt;</a><?php } else { ?>&nbsp;<?php } ?>
- </td>
- <td class="actions">
- <?php if ($user) echo('<ul><li><a href="motion.php">New Motion</a></li></ul>'); ?>
- </td>
- </tr>
- <?php
- if ($_REQUEST['withdrawl']) {
- ?>
- <tr>
- <td colspan="3">
- <?php
- if ($_REQUEST['confirm'] && $_REQUEST['id']) {
- ?>
- <a href="motions.php">Motion Withdrawn</a>
- <?php
- } else {
- ?>
- <form action="?withdrawl=1&amp;confirm=1&amp;id=<?php echo $id;?>" method="post">
- <input type="submit" value="Withdraw">
- </form>
- <?php
- }
- ?>
- </td>
- </tr>
- <?php
- }
- ?>
- </table>
- </body>
-</html>