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
This commit is contained in:
parent
5ea1319eb9
commit
91afc1bbad
4 changed files with 17 additions and 9 deletions
16
database.php
16
database.php
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
$board = "cacert-board@lists.cacert.org";
|
|
||||||
class DB {
|
class DB {
|
||||||
|
var $board = "cacert-board@lists.cacert.org";
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
$this->dbh = new PDO("sqlite:".dirname(__FILE__)."/database.sqlite");
|
$this->dbh = new PDO("sqlite:".dirname(__FILE__)."/database.sqlite");
|
||||||
$this->statement = array();
|
$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['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['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['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['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['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;");
|
$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'];
|
$ayes = $decision['ayes'];
|
||||||
$nayes = $decision['nayes'];
|
$nayes = $decision['nayes'];
|
||||||
$abstains = $decision['abstains'];
|
$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
|
$body = <<<BODY
|
||||||
Dear Board,
|
Dear Board,
|
||||||
|
|
||||||
|
@ -74,9 +77,14 @@ Kind regards,
|
||||||
the voting system.
|
the voting system.
|
||||||
|
|
||||||
BODY;
|
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>");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -74,14 +74,14 @@ Aye: $voteurl&vote=1
|
||||||
Naye: $voteurl&vote=-1
|
Naye: $voteurl&vote=-1
|
||||||
Abstain: $voteurl&vote=0
|
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
|
If this modification has an impact on how you wish to vote, you are responsible for voting
|
||||||
again.
|
again.
|
||||||
|
|
||||||
Kind regards,
|
Kind regards,
|
||||||
the voting system
|
the voting system
|
||||||
BODY;
|
BODY;
|
||||||
mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
|
$db->notify("Re: $tag - $title",$body);
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<b>The motion has NOT been proposed!</b><br/>
|
<b>The motion has NOT been proposed!</b><br/>
|
||||||
|
@ -136,7 +136,7 @@ Abstain: $voteurl&vote=0
|
||||||
Kind regards,
|
Kind regards,
|
||||||
the voting system
|
the voting system
|
||||||
BODY;
|
BODY;
|
||||||
mail($board,"$tag - $title",$body,"From: Voting System <returns@caert.org>");
|
$db->notify("$tag - $title",$body);
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<b>The motion has NOT been proposed!</b><br/>
|
<b>The motion has NOT been proposed!</b><br/>
|
||||||
|
|
|
@ -83,7 +83,7 @@ Kind regards,
|
||||||
the vote system
|
the vote system
|
||||||
|
|
||||||
BODY;
|
BODY;
|
||||||
mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
|
$db->notify("Re: $tag - $title",$body);
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<b>The vote has NOT been registered.</b><br/>
|
<b>The vote has NOT been registered.</b><br/>
|
||||||
|
|
2
vote.php
2
vote.php
|
@ -67,7 +67,7 @@ Kind regards,
|
||||||
the vote system
|
the vote system
|
||||||
|
|
||||||
BODY;
|
BODY;
|
||||||
mail($board,"Re: $tag - $title",$body,"From: Voting System <returns@caert.org>");
|
$db->notify("Re: $tag - $title",$body);
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<b>Your vote has NOT been registered.</b><br/>
|
<b>Your vote has NOT been registered.</b><br/>
|
||||||
|
|
Loading…
Reference in a new issue