summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2013-01-16 05:03:11 +0100
committerBenny Baumann <BenBE@geshi.org>2013-01-16 05:03:11 +0100
commitaba34728a556c0e83658b91bf425d9e9d3d7af81 (patch)
tree9ad1fb27bd7de557343351c5adb10ae7d147925d
parent82dbce519b4a3abab2c2b2bd714ceb248542b941 (diff)
parent95f5aeb888e4ce1b9e66db3462fd23ad280a7e8d (diff)
downloadcacert-devel-aba34728a556c0e83658b91bf425d9e9d3d7af81.tar.gz
cacert-devel-aba34728a556c0e83658b91bf425d9e9d3d7af81.tar.xz
cacert-devel-aba34728a556c0e83658b91bf425d9e9d3d7af81.zip
Merge branch 'bug-512' into release
-rw-r--r--includes/general.php35
-rw-r--r--includes/lib/general.php31
-rw-r--r--scripts/oa02-mailingtextCats.txt71
-rw-r--r--scripts/oa02-mailingtextPoints.txt79
-rw-r--r--scripts/oa02-mailingtextPointsCats.txt82
-rw-r--r--scripts/oa02-orgainformation.php.txt119
6 files changed, 386 insertions, 31 deletions
diff --git a/includes/general.php b/includes/general.php
index 3478dd4..d762586 100644
--- a/includes/general.php
+++ b/includes/general.php
@@ -15,6 +15,9 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+
+ require_once(dirname(__FILE__)."/lib/general.php");
+
session_name("cacert");
session_start();
@@ -725,37 +728,7 @@
return($text);
}
- // returns 0 if $userID is an Assurer
- // Otherwise :
- // Bit 0 is always set
- // Bit 1 is set if 100 Assurance Points are not reached
- // Bit 2 is set if Assurer Test is missing
- // Bit 3 is set if the user is not allowed to be an Assurer (assurer_blocked > 0)
- function get_assurer_status($userID)
- {
- $Result = 0;
- $query = mysql_query('SELECT * FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` '.
- ' WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND `tp`.`user_id` = \''.(int)intval($userID).'\'');
- if(mysql_num_rows($query) < 1)
- {
- $Result |= 5;
- }
-
- $query = mysql_query('SELECT SUM(`points`) AS `points` FROM `notary` AS `n` WHERE `n`.`to` = \''.(int)intval($userID).'\' AND `n`.`expire` < now()');
- $row = mysql_fetch_assoc($query);
- if ($row['points'] < 100) {
- $Result |= 3;
- }
-
- $query = mysql_query('SELECT `assurer_blocked` FROM `users` WHERE `id` = \''.(int)intval($userID).'\'');
- $row = mysql_fetch_assoc($query);
- if ($row['assurer_blocked'] > 0) {
- $Result |= 9;
- }
-
- return $Result;
- }
-
+
// returns text message to be shown to the user given the result of is_no_assurer
function no_assurer_text($Status)
{
diff --git a/includes/lib/general.php b/includes/lib/general.php
index d91b24e..85b132d 100644
--- a/includes/lib/general.php
+++ b/includes/lib/general.php
@@ -130,3 +130,34 @@ function runCommand($command, $input = "", &$output = null, &$errors = true) {
}
}
+ // returns 0 if $userID is an Assurer
+ // Otherwise :
+ // Bit 0 is always set
+ // Bit 1 is set if 100 Assurance Points are not reached
+ // Bit 2 is set if Assurer Test is missing
+ // Bit 3 is set if the user is not allowed to be an Assurer (assurer_blocked > 0)
+ function get_assurer_status($userID)
+ {
+ $Result = 0;
+ $query = mysql_query('SELECT * FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` '.
+ ' WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND `tp`.`user_id` = \''.(int)intval($userID).'\'');
+ if(mysql_num_rows($query) < 1)
+ {
+ $Result |= 5;
+ }
+
+ $query = mysql_query('SELECT SUM(`points`) AS `points` FROM `notary` AS `n` WHERE `n`.`to` = \''.(int)intval($userID).'\' AND `n`.`expire` < now()');
+ $row = mysql_fetch_assoc($query);
+ if ($row['points'] < 100) {
+ $Result |= 3;
+ }
+
+ $query = mysql_query('SELECT `assurer_blocked` FROM `users` WHERE `id` = \''.(int)intval($userID).'\'');
+ $row = mysql_fetch_assoc($query);
+ if ($row['assurer_blocked'] > 0) {
+ $Result |= 9;
+ }
+
+ return $Result;
+ }
+ \ No newline at end of file
diff --git a/scripts/oa02-mailingtextCats.txt b/scripts/oa02-mailingtextCats.txt
new file mode 100644
index 0000000..044b49b
--- /dev/null
+++ b/scripts/oa02-mailingtextCats.txt
@@ -0,0 +1,71 @@
+(German see below)
+
+Hello <name>,
+
+In preparation for an internal test prior to the audit, we checked if the data
+entries in the Organisation Accounts are valid. As you are listed as an
+Organisation Administrator for at least one organisation account, I found out
+that you currently do not match the requirements to be an Organisation
+Administrator - in that you need to be an CAcert Assurer.
+
+The premise to be a CAcert Assurer are that you have:
+ - got at least 100 Assurance Points
+ - passed the CATS test
+
+It is possible that you may have missed some changes within the CAcert
+assurance system.
+
+In 2009 the CATS challenge [1] was introduced. You have to pass it before you
+get the CAcert Assurer status.
+
+In addition, CAcert will be changing the points calculation in the near future.
+This was announced in 2011 [2].
+
+As you are only missing the CATS challenge, I ask you to do the challenge within
+the next 2 months. If you have not passed the CATS test by then, I will have
+to delete you as Organisation Administrator from the appropriate accounts.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Thank you for your support.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer
+
+---------------------------------------------------
+
+[German Version]
+
+Hallo <name>,
+
+bei der Vorbereitung eines internen Tests vor dem Audit haben wir ueberprueft,
+ob die Datensaetze in den Organisationskonten gueltig sind. Da Sie als
+Organisations Administrator fuer mindestens ein Organisationskonto eingetragen
+sind, habe ich festgestellt, dass Sie zurzeit kein CAcert Assurer sind, was die
+Voraussetzung fuer die Taetigkeit als Organisations Administrator ist.
+
+Als CAcert Assurer muessen Sie die folgenden Vorausetzungen erfuellen:
+ - Mindestens 100 Assurance-Punkte
+ - Bestandene Assurer-Pruefung (CATS-Test)
+
+Moeglicherweise haben Sie einige aenderungen bei CAcert verpasst.
+
+Im Jahre 2009 wurde die Assurer-Pruefung (Assurer Challenge, CATS Test) [1]
+eingefuehrt. Die muessen Sie bestehen, um den Assurer-Status zu erhalten.
+
+CAcert wird die Punkte-Berechnung in naher Zukunft aendern. Dies wurde bereits
+2011 angekuendigt [2].
+
+Da Ihnen lediglich die Assurer-Pruefung fehlt, fordere ich Sie auf, diese
+Pruefung innerhalb der naechsten 2 Monate nachzuholen. Wenn Sie diese Pruefung
+bis dahin nicht abgelegt haben, werde ich Sie als Organisations Administrator
+aus den betreffenden Konten austragen.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Vielen Dank fuer Ihre Unterstuetzung.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer \ No newline at end of file
diff --git a/scripts/oa02-mailingtextPoints.txt b/scripts/oa02-mailingtextPoints.txt
new file mode 100644
index 0000000..5e0eadf
--- /dev/null
+++ b/scripts/oa02-mailingtextPoints.txt
@@ -0,0 +1,79 @@
+(German see below)
+
+Hello <name>,
+
+In preparation for an internal test prior to the audit, we checked if the data
+entries in the Organisation Accounts are valid. As you are listed as an
+Organisation Administrator for at least one organisation account, I found out
+that you currently do not match the requirements to be an Organisation
+Administrator - in that you need to be an CAcert Assurer.
+
+The premise to be a CAcert Assurer are that you have:
+ - got at least 100 Assurance Points
+ - passed the CATS test
+
+It is possible that you may have missed some changes within the CAcert
+assurance system.
+
+In 2009 the CATS challenge [1] was introduced. You have to pass it before you
+get the CAcert Assurer status.
+
+In addition, CAcert will be changing the points calculation in the near future.
+This was announced in 2011 [2].
+
+As you are missing the 100 Assurance Points requirement (which might be due to
+the new points calculation) I ask you to get assured during the next 3 months to
+reach the 100 Assurance Points. If you have problems in getting assured, please
+let me know, so I can see what can be done to help you. If you have not reached
+the 100 points by then (or after an additional grace period in cases of
+hardship), I will have to delete you as Organisation Administrator from the
+appropriate accounts.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Thank you for your support.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer
+
+---------------------------------------------------
+
+[German Version]
+
+Hallo <name>,
+
+bei der Vorbereitung eines internen Tests vor dem Audit haben wir ueberprueft,
+ob die Datensaetze in den Organisationskonten gueltig sind. Da Sie als
+Organisations Administrator fuer mindestens ein Organisationskonto eingetragen
+sind, habe ich festgestellt, dass Sie zurzeit kein CAcert Assurer sind, was die
+Voraussetzung fuer die Taetigkeit als Organisations Administrator ist.
+
+Als CAcert Assurer muessen Sie die folgenden Vorausetzungen erfuellen:
+ - Mindestens 100 Assurance-Punkte
+ - Bestandene Assurer-Pruefung (CATS-Test)
+
+Moeglicherweise haben Sie einige aenderungen bei CAcert verpasst.
+
+Im Jahre 2009 wurde die Assurer-Pruefung (Assurer Challenge, CATS Test) [1]
+eingefuehrt. Die muessen Sie bestehen, um den Assurer-Status zu erhalten.
+
+CAcert wird die Punkte-Berechnung in naher Zukunft aendern. Dies wurde bereits
+2011 angekuendigt [2].
+
+Da Sie die 100 Assurance-Punkte nicht erreicht haben, was auch an der neuen
+Punkteberechnung liegen kann, fordere ich Sie auf, sich innerhalb der naechsten
+3 Monate assuren zu lassen, um die 100 Punkte zu erreichen. Wenn Sie Probleme
+haben, sich assuren zu lassen, teilen Sie mir das bitte mit und wir werden
+sehen, wie wir Ihnen dabei helfen koennen. Wenn Sie bis dahin (oder nach einer
+zusaetzlichen Gnadenfrist in schwierigen Faellen) die 100 Punkte nicht erreicht
+haben, werde ich Sie als Organisations Administrator aus den betreffenden Konten
+austragen.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Vielen Dank fuer Ihre Unterstuetzung.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer \ No newline at end of file
diff --git a/scripts/oa02-mailingtextPointsCats.txt b/scripts/oa02-mailingtextPointsCats.txt
new file mode 100644
index 0000000..67bc5d3
--- /dev/null
+++ b/scripts/oa02-mailingtextPointsCats.txt
@@ -0,0 +1,82 @@
+(German see below)
+
+Hello <name>,
+
+In preparation for an internal test prior to the audit, we checked if the data
+entries in the Organisation Accounts are valid. As you are listed as an
+Organisation Administrator for at least one organisation account, I found out
+that you currently do not match the requirements to be an Organisation
+Administrator - in that you need to be an CAcert Assurer.
+
+The premise to be a CAcert Assurer are that you have:
+ - got at least 100 Assurance Points
+ - passed the CATS test
+
+It is possible that you may have missed some changes within the CAcert
+assurance system.
+
+In 2009 the CATS challenge [1] was introduced. You have to pass it before you
+get the CAcert Assurer status.
+
+In addition, CAcert will be changing the points calculation in the near future.
+This was announced in 2011 [2].
+
+As you are missing the 100 Assurance Points requirement (which might be due to
+the new points calculation) and the CATS challenge, I ask you to get assured
+during the next 3 months to reach the 100 Assurance Points and do the CATS test.
+If you have problems in getting assured, please let me know, so I can see what
+can be done to help you. If you have not passed the CATS test and reached the
+100 points by then (or after an additional grace period in cases of hardship),
+I will have to delete you as Organisation Administrator from the appropriate
+accounts.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Thank you for your support.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer
+
+---------------------------------------------------
+
+[German Version]
+
+Hallo <name>,
+
+bei der Vorbereitung eines internen Tests vor dem Audit haben wir ueberprueft,
+ob die Datensaetze in den Organisationskonten gueltig sind. Da Sie als
+Organisations Administrator fuer mindestens ein Organisationskonto eingetragen
+sind, habe ich festgestellt, dass Sie zurzeit kein CAcert Assurer sind, was die
+Voraussetzung fuer die Taetigkeit als Organisations Administrator ist.
+
+Als CAcert Assurer muessen Sie die folgenden Vorausetzungen erfuellen:
+ - Mindestens 100 Assurance-Punkte
+ - Bestandene Assurer-Pruefung (CATS-Test)
+
+Moeglicherweise haben Sie einige aenderungen bei CAcert verpasst.
+
+Im Jahre 2009 wurde die Assurer-Pruefung (Assurer Challenge, CATS Test) [1]
+eingefuehrt. Die muessen Sie bestehen, um den Assurer-Status zu erhalten.
+
+CAcert wird die Punkte-Berechnung in naher Zukunft aendern. Dies wurde bereits
+2011 angekuendigt [2].
+
+Da Sie die 100 Assurance-Punkte nicht erreicht haben, was auch an der neuen
+Punkteberechnung liegen kann, und auch die Assurer-Pruefung nicht abgelegt
+haben, fordere ich Sie auf, sich innerhalb der naechsten 3 Monate assuren zu
+lassen, um die 100 Punkte zu erreichen, und die Assurer-Pruefung abzulegen.
+Wenn Sie Probleme haben, sich assuren zu lassen, teilen Sie mir das bitte mit
+und wir werden sehen, wie wir Ihnen dabei helfen koennen. Wenn Sie bis dahin
+(oder nach einer zusaetzlichen Gnadenfrist in schwierigen Faellen) die
+100 Punkte nicht erreicht haben oder die Assurer-Pruefung nicht abgelegt haben,
+werde ich Sie als Organisations-Administrator aus den betreffenden Konten
+austragen.
+
+[1] https://wiki.cacert.org/AssurerChallenge
+[2] https://wiki.cacert.org/PR/News/NewPointsCalculation
+
+Vielen Dank fuer Ihre Unterstuetzung.
+
+Marcus Maengel
+CAcert Organisation Assurance Officer \ No newline at end of file
diff --git a/scripts/oa02-orgainformation.php.txt b/scripts/oa02-orgainformation.php.txt
new file mode 100644
index 0000000..e0d8ca2
--- /dev/null
+++ b/scripts/oa02-orgainformation.php.txt
@@ -0,0 +1,119 @@
+#!/usr/bin/php -q
+<? /*
+ LibreSSL - CAcert web application
+ Copyright (C) 2004-2009 CAcert Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+ include_once("../includes/mysql.php");
+ include_once("../includes/lib/general.php");
+
+ //default mail text
+ $lines = "";
+ $fp = fopen("oa02-mailingtextPoints.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $lines .= wordwrap($line, 75, "\n")."\n";
+ }
+ fclose($fp);
+
+ //first variant of mail text
+ $lines1 = "";
+ $fp = fopen("oa02-mailingtextCats.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $lines1 .= wordwrap($line, 75, "\n")."\n";
+ }
+ fclose($fp);
+
+ //second variant of mail text
+ $lines2 = "";
+ $fp = fopen("oa02-mailingtextPointsCats.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $lines2 .= wordwrap($line, 75, "\n")."\n";
+ }
+ fclose($fp);
+
+ // comment next line when starting to send mail not only to me
+ // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+ $query = "
+ SELECT
+ `users`.`email`,
+ `users`.`fname`,
+ `users`.`lname`,
+ `orginfo`.`O`,
+ `orginfo`.`id`,
+ `org`.`memid`
+ FROM
+ `users`,
+ `orginfo`,
+ `org`
+ WHERE `org`.`orgid` = `orginfo`.`id`
+ AND `org`.`memid` = `users`.`id`
+ AND `users`.`assurer` = 0
+ AND `org`.`deleted` = 0
+ ORDER BY
+ `users`.`email`,
+ `orginfo`.`O`
+ ";
+
+ $res = mysql_query($query);
+ $xrows = mysql_num_rows($res);
+
+ $report = "";
+ $report1 = "";
+ $report2 = "";
+ $report3 = "";
+
+ while($row = mysql_fetch_assoc($res))
+ {
+ // uncomment next line to send mails ...
+ $fullname = $row['fname']." ".$row['lname'];
+ $status = get_assurer_status($row['memid']);
+ if (3 == $status) {
+ $mail = str_replace("<name>",$fullname,$lines);
+ sendmail($row['email'], "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators", $mail, "support@cacert.org", "", "", "CAcert Organisation Assurer", "returns@cacert.org", 1);
+ $report = $row['email'].", ".$fullname.", ".$row['O']."\n";
+ } elseif (5 == $status) {
+ $mail = str_replace("<name>",$fullname,$lines1);
+ sendmail($row['email'], "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators", $mail, "support@cacert.org", "", "", "CAcert Organisation Assurer", "returns@cacert.org", 1);
+ $report1 = $row['email'].", ".$fullname.", ".$row['O']."\n";
+ } elseif (7 == $status){
+ $mail = str_replace("<name>",$fullname,$lines2);
+ sendmail($row['email'], "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators", $mail, "support@cacert.org", "", "", "CAcert Organisation Assurer", "returns@cacert.org", 1);
+ $report2 = $row['email'].", ".$fullname.", ".$row['O']."\n";
+ } else {
+ $report3 = $row['email'].", ".$fullname.", ".$row['O']."\n";
+ }
+ }
+
+ // 1x cc to oao.cacert.org
+ sendmail("oao@cacert.org", "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators", $lines."\n\n".$lines1."\n\n".$lines2, "oao@cacert.org", "", "", "CAcert OA Support", "returns@cacert.org", 1);
+
+ // 1x mailing report to oao.cacert.org
+ sendmail("oao@cacert.org", "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators - Report", "oa-mailing sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert OA Support", "returns@cacert.org", 1);
+
+ // 1x detailed mailing report to OAO
+ $reporttotal = "Result of the Mailing \n\n Organisation Administrators with missing points \n".$report."\n\n Organisation Adminstrators with missing points ".$report1."\n\n Organisation Adminstrators with missing points and CATS ".$report2."\n\n Organisation Adminstrators with blocked assurer ".$report3;
+ sendmail("oao@cacert.org", "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators - Report", $reporttotal, "support@cacert.org", "", "", "CAcert Organisation Assurer", "returns@cacert.org", 1);
+
+ // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20110608.1
+ sendmail("bernhard@cacert.org", "[CAcert.org] Assurer Status Requirement Check on Organisation Adminstrators - Report", "oa-mailing sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert OA Support", "returns@cacert.org", 1);
+
+ echo "oa-mailing sent to $xrows recipients.\n";