summaryrefslogtreecommitdiff
path: root/database.php
diff options
context:
space:
mode:
authorcommunity.cacert.org <community.cacert.org@d4452222-2f33-11de-9270-010000000000>2009-05-26 02:32:18 +0000
committercommunity.cacert.org <community.cacert.org@d4452222-2f33-11de-9270-010000000000>2009-05-26 02:32:18 +0000
commit91afc1bbad9621364b92ae83f9d1c0a2bc7a1594 (patch)
treec0a52e68b9ae3549725e975bf519ae7ababed339 /database.php
parent5ea1319eb925bccb15cf6ab54d8c9a61f9f81ae5 (diff)
downloadcacert-boardvoting-91afc1bbad9621364b92ae83f9d1c0a2bc7a1594.tar.gz
cacert-boardvoting-91afc1bbad9621364b92ae83f9d1c0a2bc7a1594.tar.xz
cacert-boardvoting-91afc1bbad9621364b92ae83f9d1c0a2bc7a1594.zip
consolidate mail functions. typo in mail message fix. div by zero fix if no votes. query pretty up.
git-svn-id: http://svn.cacert.cl/Software/Voting/vote@39 d4452222-2f33-11de-9270-010000000000
Diffstat (limited to 'database.php')
-rw-r--r--database.php16
1 files changed, 12 insertions, 4 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>");
+ }
}
?>