summaryrefslogtreecommitdiff
path: root/motions.php
diff options
context:
space:
mode:
Diffstat (limited to 'motions.php')
-rw-r--r--motions.php95
1 files changed, 81 insertions, 14 deletions
diff --git a/motions.php b/motions.php
index fe91f39..6de0beb 100644
--- a/motions.php
+++ b/motions.php
@@ -3,6 +3,40 @@
$db = new DB();
$db->closeVotes();
$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>
@@ -11,6 +45,9 @@
<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>
@@ -18,35 +55,43 @@
<th>Actions</th>
</tr>
<?php
- if ($_REQUEST['id']) {
+ if ($_REQUEST['motion']) {
$stmt = $db->getStatement("list decision");
- $stmt->execute(array($_REQUEST['id']));
+ $stmt->execute(array($_REQUEST['motion']));
} else {
- $stmt = $db->getStatement("list decisions");
- $stmt->execute(array($page));
+ 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; }?>">
+ <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?id=<?php echo $row['tag'].'">'.$row['tag']; ?></a></i><br/>
- <b><?php echo htmlentities($row['title']); ?></b><br/>
+ <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 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>Required Votes: <?php echo($row['quorum']); ?></i><br/>
- <i>Majority: <?php echo($row['majority']); ?>%</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']) {
@@ -58,13 +103,13 @@
echo "<i>".$vrow['name']." ".$state[$vrow['vote']+1]."</i><br/>";
}
} else {
- echo '<i><a href="motions.php?id='.$row['tag'].'&showvotes=1">Show Votes</a></i><br/>';
+ 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) {
+ if ($row['status'] == 0 && $user ) {
?>
<ul>
<li><a href="vote.php?motion=<?php echo($row['id']); ?>&amp;vote=1">Aye</a></li>
@@ -72,6 +117,7 @@
<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 {
@@ -91,11 +137,32 @@
<?php if ($items>9) { ?><a href="?page=<?php echo($page+1); ?>">&gt;</a><?php } else { ?>&nbsp;<?php } ?>
</td>
<td class="actions">
- <ul>
- <li><a href="motion.php">New Motion</a></li>
- </ul>
+ <?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="Withdrawl">
+ </form>
+ <?php
+ }
+ ?>
+ </td>
+ </tr>
+ <?php
+ }
+ ?>
</table>
</body>
</html>