summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database.php16
-rw-r--r--motion.php6
-rw-r--r--proxy.php2
-rw-r--r--vote.php2
4 files changed, 17 insertions, 9 deletions
diff --git a/database.php b/database.php
index 07f3318..a522bd8 100644
--- a/database.php
+++ b/database.php
@@ -1,6 +1,7 @@
<?php
- $board = "cacert-board@lists.cacert.org";
class DB {
+ var $board = "cacert-board@lists.cacert.org";
+
function __construct() {
$this->dbh = new PDO("sqlite:".dirname(__FILE__)."/database.sqlite");
$this->statement = array();
@@ -13,7 +14,7 @@
$this->statement['get voters'] = $this->dbh->prepare("SELECT voters.id, voters.name FROM voters WHERE voters.enabled=1 ORDER BY name ASC;");
$this->statement['del vote'] = $this->dbh->prepare("DELETE FROM votes WHERE decision=:decision AND voter=:voter;");
$this->statement['do vote'] = $this->dbh->prepare("INSERT INTO votes (decision, voter, vote, voted, notes) VALUES (:decision, :voter, :vote, datetime('now','utc'), :notes);");
- $this->statement['stats'] = $this->dbh->prepare("SELECT (SELECT COUNT(*) FROM voters WHERE enabled=1) AS voters;");
+ $this->statement['stats'] = $this->dbh->prepare("SELECT COUNT(*) AS voters FROM voters WHERE enabled=1;");
$this->statement['create decision'] = $this->dbh->prepare("INSERT INTO decisions (proposed, proponent, title, content, quorum, majority, status, due, modified) VALUES (datetime('now','utc'), :proponent, :title, :content, :quorum, :majority, 0, datetime('now','utc', :due), datetime('now','utc'));");
$this->statement['post create'] = $this->dbh->prepare(" UPDATE decisions SET tag='m' || strftime('%Y%m%d','now') || '.' || id WHERE id=last_insert_rowid();");
$this->statement['update decision'] = $this->dbh->prepare("UPDATE decisions SET proposed=datetime('now','utc'), proponent=:proponent, title=:title, content=:content, quorum=:quorum, majority=:majority, status=0, due=datetime('now','utc',:due), modified=datetime('now','utc') WHERE id=:id;");
@@ -50,7 +51,9 @@
$ayes = $decision['ayes'];
$nayes = $decision['nayes'];
$abstains = $decision['abstains'];
- $percent = $decision['ayes'] * 100 / $decision['ayes']+$decision['nayes'];
+ $totalvotes = $decision['ayes']+$decision['nayes'];
+ if ($totalvotes <= 0) $percent = 0;
+ else $percent = $decision['ayes'] * 100 / $totalvotes;
$body = <<<BODY
Dear Board,
@@ -74,9 +77,14 @@ Kind regards,
the voting system.
BODY;
- mail($board,"Re: ".$decision['tag']." - ".$decision['title'],$body,"From: Voting System <returns@caert.org>");
+ $this->notify("Re: ".$decision['tag']." - ".$decision['title'],$body);
}
}
}
+ function notify($subject,$body)
+ {
+ mail($this->board,$subject,$body,"From: Voting System <returns@cacert.org>");
+ //mail("testsympa@lists.cacert.org",$subject,$body,"From: Voting System <returns@cacert.org>");
+ }
}
?>
diff --git a/motion.php b/motion.php
index 60cfb0d..4672cf7 100644
--- a/motion.php
+++ b/motion.php
@@ -74,14 +74,14 @@ Aye: $voteurl&vote=1
Naye: $voteurl&vote=-1
Abstain: $voteurl&vote=0
-Please be aware, that if you have voted already your votr is still registered and valid.
+Please be aware, that if you have voted already your vote is still registered and valid.
If this modification has an impact on how you wish to vote, you are responsible for voting
again.
Kind regards,
the voting system
BODY;
- mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
+ $db->notify("Re: $tag - $title",$body);
} else {
?>
<b>The motion has NOT been proposed!</b><br/>
@@ -136,7 +136,7 @@ Abstain: $voteurl&vote=0
Kind regards,
the voting system
BODY;
- mail($board,"$tag - $title",$body,"From: Voting System <returns@caert.org>");
+ $db->notify("$tag - $title",$body);
} else {
?>
<b>The motion has NOT been proposed!</b><br/>
diff --git a/proxy.php b/proxy.php
index 6d4731f..69e086a 100644
--- a/proxy.php
+++ b/proxy.php
@@ -83,7 +83,7 @@ Kind regards,
the vote system
BODY;
- mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
+ $db->notify("Re: $tag - $title",$body);
} else {
?>
<b>The vote has NOT been registered.</b><br/>
diff --git a/vote.php b/vote.php
index f2445c0..819f03a 100644
--- a/vote.php
+++ b/vote.php
@@ -67,7 +67,7 @@ Kind regards,
the vote system
BODY;
- mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
+ $db->notify("Re: $tag - $title",$body);
} else {
?>
<b>Your vote has NOT been registered.</b><br/>