diff options
-rw-r--r-- | .htaccess | 2 | ||||
-rw-r--r-- | database.php | 5 | ||||
-rwxr-xr-x | remind.php | 45 |
3 files changed, 51 insertions, 1 deletions
@@ -9,7 +9,7 @@ php_value open_basedir /var/www/board php_value safe_mode_exec_dir /var/empty </IfModule> -<FilesMatch "^database.*$"> +<FilesMatch "^(database.*|remind.php)$"> Order Deny,Allow Deny from all </FilesMatch> diff --git a/database.php b/database.php index f8b5b11..83aec29 100644 --- a/database.php +++ b/database.php @@ -104,6 +104,11 @@ BODY; $header = "References: <".$tag.">\r\nIn-reply-to: <".$tag.">\r\n"; mail($this->notices, mb_encode_mimeheader($subject,"UTF-8", "B", "\n"),$body,$header."From: Voting System <returns@cacert.org>"); } + function remind_notify($email,$subject,$body) + { + $header = "Content-Type: text/plain; charset=UTF-8\r\n"; + mail($email,$subject,$body,$header."From: Voting System <returns@cacert.org>"); + } function auth() { $stmt = $this->getStatement("get voter"); diff --git a/remind.php b/remind.php new file mode 100755 index 0000000..635c2c7 --- /dev/null +++ b/remind.php @@ -0,0 +1,45 @@ +#!/usr/bin/php +<? +require_once("database.php"); +$db = new DB(); + +$db->closeVotes(); + +$id = 0; +$page = 1; + +$voters = $db->getStatement('get reminder voters'); +$voters->execute(); + +$outstanding = $db->getStatement('list my unvoted decisions'); +$outstanding->bindParam(':id',$id); +$outstanding->bindParam(':page',$page); + +while ($v = $voters->fetch()) { + $id = $v['id']; + $outstanding->execute(); + $msg =''; + while ($row=$outstanding->fetch()) { + $msg .= ($row['votetype'] ? 'vote ' : 'motion ') . $row['tag'] . ' ' . $row['title'] . "\nDue: " . $row['due'] . "\nhttps://community.cacert.org/board/motions.php?motion=" . $row['tag'] . "\n\n"; + } + if ($msg) { + // form email + $name = $v['name']; + $body = <<<BODY +Dear $name, + +You have not voted in the following CAcert Board vote(s)/motion(s): + +$msg + + +To view all your outstanding motions: https://community.cacert.org/board/motions.php?unvoted=1 + +Kind regards, +the vote system + +BODY; + $db->remind_notify($v['email'],"Outstanding CAcert board votes",$body); + } +} +?> |