summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Fröhlich <bernhard@cacert.org>2012-01-19 19:46:01 +0100
committerBernhard Fröhlich <bernhard@cacert.org>2012-01-19 19:46:01 +0100
commitb87800efc6d6309f0487bee2f3c3491f58846132 (patch)
tree0c0f6a0d749c664ad29ed9138169ba6cc3234a3d
parent59b48d4d3d3f313402791109df0aac10e5dab0fa (diff)
parentc8d80ceed1c8f884ad885a21f98abce560a2d835 (diff)
downloadcacert-devel-bug-855.tar.gz
cacert-devel-bug-855.tar.xz
cacert-devel-bug-855.zip
Merge branch 'release' into bug-855bug-855
-rw-r--r--[-rwxr-xr-x]cacertupload.pl0
-rw-r--r--includes/account.php8
-rw-r--r--includes/account_stuff.php2
-rw-r--r--includes/general.php11
-rw-r--r--includes/general_stuff.php2
-rw-r--r--includes/notary.inc.php20
-rw-r--r--includes/tverify_stuff.php2
-rw-r--r--includes/wot.inc.php24
-rw-r--r--pages/account/12.php10
-rw-r--r--pages/account/16.php2
-rw-r--r--pages/account/18.php29
-rw-r--r--pages/account/22.php12
-rw-r--r--pages/account/24.php22
-rw-r--r--[-rwxr-xr-x]pages/account/25.php0
-rw-r--r--pages/account/27.php12
-rw-r--r--pages/account/30.php2
-rw-r--r--pages/account/31.php2
-rw-r--r--pages/account/32.php6
-rw-r--r--pages/account/33.php17
-rw-r--r--pages/account/34.php2
-rw-r--r--[-rwxr-xr-x]pages/account/37.php21
-rw-r--r--[-rwxr-xr-x]pages/account/38.php6
-rw-r--r--[-rwxr-xr-x]pages/account/40.php0
-rw-r--r--pages/account/43.php484
-rw-r--r--pages/account/5.php7
-rw-r--r--pages/index/1.php42
-rw-r--r--pages/index/12.php21
-rw-r--r--pages/index/13.php6
-rw-r--r--pages/wot/5.php14
-rw-r--r--scripts/37de-blit2011-email.txt18
-rw-r--r--scripts/37de-blit2011-mail.php.txt106
-rw-r--r--scripts/38us-fudcon2012-email.txt17
-rw-r--r--scripts/38us-fudcon2012-mail.php.txt107
-rwxr-xr-xscripts/db_migrations/version1.sh164
-rw-r--r--scripts/send_thawte.php.txt167
-rw-r--r--scripts/thawte_DE.txt35
-rw-r--r--scripts/thawte_EN.txt35
-rw-r--r--scripts/thawte_ES.txt31
-rw-r--r--scripts/thawte_FR.txt31
-rw-r--r--scripts/thawte_NL.txt35
-rw-r--r--scripts/thawte_RU.txt31
-rw-r--r--www/account.php4
-rw-r--r--www/index.php7
-rw-r--r--www/wot.php370
44 files changed, 1626 insertions, 318 deletions
diff --git a/cacertupload.pl b/cacertupload.pl
index 991570b..991570b 100755..100644
--- a/cacertupload.pl
+++ b/cacertupload.pl
diff --git a/includes/account.php b/includes/account.php
index 24c61d8..55c9f7a 100644
--- a/includes/account.php
+++ b/includes/account.php
@@ -35,6 +35,12 @@
exit;
}
+ if ($process == _("Cancel"))
+ {
+ // General reset CANCEL process requests
+ $process = "";
+ }
+
if($id == 45 || $id == 46 || $oldid == 45 || $oldid == 46)
{
@@ -2198,7 +2204,7 @@
$orgid = 0;
}
- if($oldid == 31 && $process != _("Cancel"))
+ if($oldid == 31 && $process != "")
{
$query = "select * from `orgdomains` where `orgid`='".intval($_SESSION['_config']['orgid'])."'";
$dres = mysql_query($query);
diff --git a/includes/account_stuff.php b/includes/account_stuff.php
index b6fdd7a..108bd57 100644
--- a/includes/account_stuff.php
+++ b/includes/account_stuff.php
@@ -277,7 +277,7 @@ function hideall() {
?>
</div>
</div>
- <div id="siteInfo"><a href="account.php?id=37"><?=_("About Us")?></a> | <a href="account.php?id=38"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
+ <div id="siteInfo"><a href="//wiki.cacert.org/FAQ/AboutUs"><?=_("About Us")?></a> | <a href="account.php?id=38"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
<a href="/policy/PrivacyPolicy.html"><?=_("Privacy Policy")?></a> | <a href="account.php?id=40"><?=_("Contact Us")?></a>
| &copy;2002-<?=date("Y")?> <?=_("by CAcert")?></div>
</div>
diff --git a/includes/general.php b/includes/general.php
index ebdf20e..8481018 100644
--- a/includes/general.php
+++ b/includes/general.php
@@ -919,10 +919,13 @@
if($newlayout)
{
$name="../$type/$kind/".intval($id/1000)."/$kind-".intval($id).".$type";
- mkdir("../csr/$kind",0777);
- mkdir("../crt/$kind",0777);
- mkdir("../csr/$kind/".intval($id/1000));
- mkdir("../crt/$kind/".intval($id/1000));
+ if (!is_dir("../csr")) { mkdir("../csr",0777); }
+ if (!is_dir("../crt")) { mkdir("../crt",0777); }
+
+ if (!is_dir("../csr/$kind")) { mkdir("../csr/$kind",0777); }
+ if (!is_dir("../crt/$kind")) { mkdir("../crt/$kind",0777); }
+ if (!is_dir("../csr/$kind/".intval($id/1000))) { mkdir("../csr/$kind/".intval($id/1000)); }
+ if (!is_dir("../crt/$kind/".intval($id/1000))) { mkdir("../crt/$kind/".intval($id/1000)); }
}
return $name;
}
diff --git a/includes/general_stuff.php b/includes/general_stuff.php
index 088c39e..80cd8a7 100644
--- a/includes/general_stuff.php
+++ b/includes/general_stuff.php
@@ -131,7 +131,7 @@ if(!function_exists("showfooter"))
</div>
<? include("sponsorinfo.php") ?>
<div id="siteInfo">
- <a href="/index.php?id=12"><?=_("About Us")?></a> | <a href="/index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
+ <a href="//wiki.cacert.org/FAQ/AboutUs"><?=_("About Us")?></a> | <a href="/index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
<a href="/policy/PrivacyPolicy.html"><?=_("Privacy Policy")?></a> |
<a href="/index.php?id=51"><?=_("Mission Statement")?></a> | <a href="/index.php?id=11"><?=_("Contact Us")?></a> |
&copy;2002-<?=date("Y")?> <?=_("by CAcert")?></div>
diff --git a/includes/notary.inc.php b/includes/notary.inc.php
index 95cd889..cc0e0eb 100644
--- a/includes/notary.inc.php
+++ b/includes/notary.inc.php
@@ -62,7 +62,7 @@
{
$res = query_init ("SELECT count(*) AS `list` FROM `notary`
WHERE `method` = 'Face to Face Meeting'
- GROUP BY .`to` HAVING count(*) > '".intval($no_of_assurees)."'");
+ GROUP BY `to` HAVING count(*) > '".intval($no_of_assurees)."'");
return intval(query_get_number_of_rows($res)+1);
}
@@ -106,7 +106,8 @@
function calc_experience ($row,&$points,&$experience,&$sum_experience,&$revoked)
{
- $points += $row['awarded'];
+ $apoints = max($row['points'],$row['awarded']);
+ $points += $apoints;
$experience = "&nbsp;";
$revoked = false; # to be coded later (after DB-upgrade)
if ($row['method'] == "Face to Face Meeting")
@@ -114,7 +115,7 @@
$sum_experience = $sum_experience +2;
$experience = "2";
}
- return $row['awarded'];
+ return $apoints;
}
function calc_assurances ($row,&$points,&$experience,&$sumexperience,&$awarded,&$revoked)
@@ -284,9 +285,12 @@
{
if ($awarded == "0")
{
- $tdstyle="style='background-color: #ffff80'";
- $emopen="<em>";
- $emclose="</em>";
+ if ($when < "2006-09-01")
+ {
+ $tdstyle="style='background-color: #ffff80'";
+ $emopen="<em>";
+ $emclose="</em>";
+ }
}
}
?>
@@ -371,10 +375,10 @@
while($row = mysql_fetch_assoc($res))
{
$fromuser = get_user (intval($row['to']));
- calc_experience ($row,$points,$experience,$sum_experience,$revoked);
+ $apoints = calc_experience ($row,$points,$experience,$sum_experience,$revoked);
$name = show_user_link ($fromuser['fname']." ".$fromuser['lname'],intval($row['to']));
$email = show_email_link ($fromuser['email'],intval($row['to']));
- output_assurances_row (intval($row['id']),$row['date'],$row['when'],$email,$name,intval($row['awarded']),intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience,$userid,$support,$revoked);
+ output_assurances_row (intval($row['id']),$row['date'],$row['when'],$email,$name,$apoints,intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience,$userid,$support,$revoked);
}
}
diff --git a/includes/tverify_stuff.php b/includes/tverify_stuff.php
index 46f49f6..93f7c32 100644
--- a/includes/tverify_stuff.php
+++ b/includes/tverify_stuff.php
@@ -66,7 +66,7 @@ if(!function_exists("showfooter"))
</div>
</div>
<div id="siteInfo">
- <a href="/index.php?id=12"><?=_("About Us")?></a> | <a href="/index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
+ <a href="//wiki.cacert.org/FAQ/AboutUs"><?=_("About Us")?></a> | <a href="/index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> |
<a href="/index.php?id=10"><?=_("Privacy Policy")?></a> |
<a href="/index.php?id=51"><?=_("Mission Statement")?></a> | <a href="/index.php?id=11"><?=_("Contact Us")?></a> |
<a href="/index.php?id=19"><?=_("Further Information")?></a> | &copy;2002-<?=date("Y")?> <?=_("by CAcert")?></div>
diff --git a/includes/wot.inc.php b/includes/wot.inc.php
index 9cc100d..884b97f 100644
--- a/includes/wot.inc.php
+++ b/includes/wot.inc.php
@@ -106,14 +106,17 @@
function calc_experience ($row,&$points,&$experience,&$sum_experience)
{
- $points += $row['awarded'];
+ $apoints = max($row['points'], $row['awarded']);
+
+ $points += $apoints;
+
$experience = "&nbsp;";
if ($row['method'] == "Face to Face Meeting")
{
$sum_experience = $sum_experience +2;
$experience = "2";
}
- return $row['awarded'];
+ return $apoints;
}
function calc_assurances ($row,&$points,&$experience,&$sumexperience,&$awarded)
@@ -228,7 +231,7 @@
<?
}
- function output_assurances_row($assuranceid,$date,$name,$awarded,$points,$location,$method,$experience)
+ function output_assurances_row($assuranceid,$date,$when,$name,$awarded,$points,$location,$method,$experience)
{
$tdstyle="";
@@ -239,9 +242,12 @@
{
if ($awarded == "0")
{
- $tdstyle="style='background-color: #ffff80'";
- $emopen="<em>";
- $emclose="</em>";
+ if ($when < "2006-09-01")
+ {
+ $tdstyle="style='background-color: #ffff80'";
+ $emopen="<em>";
+ $emclose="</em>";
+ }
}
}
@@ -305,9 +311,9 @@
while($row = mysql_fetch_assoc($res))
{
$fromuser = get_user (intval($row['to']));
- calc_experience ($row,$points,$experience,$sum_experience);
+ $apoints = calc_experience ($row,$points,$experience,$sum_experience);
$name = show_user_link ($fromuser['fname']." ".$fromuser['lname'],intval($row['to']));
- output_assurances_row (intval($row['id']),$row['date'],$name,intval($row['awarded']),intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience);
+ output_assurances_row (intval($row['id']),$row['date'],$row['when'],$name,$apoints,intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience);
}
}
@@ -323,7 +329,7 @@
$fromuser = get_user (intval($row['from']));
calc_assurances ($row,$points,$experience,$sum_experience,$awarded);
$name = show_user_link ($fromuser['fname']." ".$fromuser['lname'],intval($row['from']));
- output_assurances_row (intval($row['id']),$row['date'],$name,$awarded,intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience);
+ output_assurances_row (intval($row['id']),$row['date'],$row['when'],$name,$awarded,intval($row['points']),$row['location'],$row['method']==""?"":_(sprintf("%s", $row['method'])),$experience);
}
}
diff --git a/pages/account/12.php b/pages/account/12.php
index 40135be..44926ca 100644
--- a/pages/account/12.php
+++ b/pages/account/12.php
@@ -19,12 +19,13 @@
<form method="post" action="account.php">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
<tr>
- <td colspan="5" class="title"><?=_("Domain Certificates")?> - <a href="account.php?id=12&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
+ <td colspan="6" class="title"><?=_("Domain Certificates")?> - <a href="account.php?id=12&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
</tr>
<tr>
<td class="DataTD"><?=_("Renew/Revoke/Delete")?></td>
<td class="DataTD"><?=_("Status")?></td>
<td class="DataTD"><?=_("CommonName")?></td>
+ <td class="DataTD"><?=_("SerialNumber")?></td>
<td class="DataTD"><?=_("Revoked")?></td>
<td class="DataTD"><?=_("Expires")?></td>
</tr>
@@ -33,7 +34,7 @@
UNIX_TIMESTAMP(`domaincerts`.`expire`) - UNIX_TIMESTAMP() as `timeleft`,
UNIX_TIMESTAMP(`domaincerts`.`expire`) as `expired`,
`domaincerts`.`expire` as `expires`, `revoked` as `revoke`,
- UNIX_TIMESTAMP(`revoked`) as `revoked`, `CN`, `domaincerts`.`id` as `id`
+ UNIX_TIMESTAMP(`revoked`) as `revoked`, `CN`, `domaincerts`.`serial`, `domaincerts`.`id` as `id`
from `domaincerts`,`domains`
where `memid`='".intval($_SESSION['profile']['id'])."' and `deleted`=0 and `domaincerts`.`domid`=`domains`.`id` ";
if($viewall != 1)
@@ -48,7 +49,7 @@
{
?>
<tr>
- <td colspan="5" class="DataTD"><?=_("No domains are currently listed.")?></td>
+ <td colspan="6" class="DataTD"><?=_("No domains are currently listed.")?></td>
</tr>
<? } else {
while($row = mysql_fetch_assoc($res))
@@ -74,12 +75,13 @@
<? } ?>
<td class="DataTD"><?=$verified?></td>
<td class="DataTD"><a href="account.php?id=15&amp;cert=<?=$row['id']?>"><?=$row['CN']?></a></td>
+ <td class="DataTD"><?=$row['serial']?></td>
<td class="DataTD"><?=$row['revoke']?></td>
<td class="DataTD"><?=$row['expires']?></td>
</tr>
<? } ?>
<tr>
- <td class="DataTD" colspan="5"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
+ <td class="DataTD" colspan="6"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
<input type="submit" name="revoke" value="<?=_("Revoke/Delete")?>"></td>
</tr>
<? } ?>
diff --git a/pages/account/16.php b/pages/account/16.php
index 3e582e3..514ecfd 100644
--- a/pages/account/16.php
+++ b/pages/account/16.php
@@ -57,7 +57,7 @@
</tr>
<? } ?>
<tr>
- <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Another Email")?>">
+ <td class="DataTD" colspan="2"><input type="submit" name="add_email" value="<?=_("Another Email")?>">
<input type="submit" name="process" value="<?=_("Next")?>"></td>
</tr>
</table>
diff --git a/pages/account/18.php b/pages/account/18.php
index 5ee1a3b..13dcc30 100644
--- a/pages/account/18.php
+++ b/pages/account/18.php
@@ -19,36 +19,38 @@
<form method="post" action="account.php">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
<tr>
- <td colspan="5" class="title"><?=_("Client Certificates")?> - <a href="account.php?id=18&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
+ <td colspan="6" class="title"><?=_("Client Certificates")?> - <a href="account.php?id=18&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
</tr>
<tr>
<td class="DataTD"><?=_("Renew/Revoke/Delete")?></td>
<td class="DataTD"><?=_("Status")?></td>
<td class="DataTD"><?=_("CommonName")?></td>
+ <td class="DataTD"><?=_("SerialNumber")?></td>
<td class="DataTD"><?=_("Revoked")?></td>
<td class="DataTD"><?=_("Expires")?></td>
<?
- $query = "select UNIX_TIMESTAMP(`created`) as `created`,
- UNIX_TIMESTAMP(`expire`) - UNIX_TIMESTAMP() as `timeleft`,
- UNIX_TIMESTAMP(`expire`) as `expired`,
- `expire` as `expires`, `revoked` as `revoke`,
- UNIX_TIMESTAMP(`revoked`) as `revoked`, `CN`, `id`
- from `orgemailcerts`, `org`
- where `memid`='".intval($_SESSION['profile']['id'])."' and
- `org`.`orgid`=`orgemailcerts`.`orgid` ";
+ $query = "select UNIX_TIMESTAMP(`oemail`.`created`) as `created`,
+ UNIX_TIMESTAMP(`oemail`.`expire`) - UNIX_TIMESTAMP() as `timeleft`,
+ UNIX_TIMESTAMP(`oemail`.`expire`) as `expired`,
+ `oemail`.`expire` as `expires`, `oemail`.`revoked` as `revoke`,
+ UNIX_TIMESTAMP(`oemail`.`revoked`) as `revoked`,
+ `oemail`.`CN`, `oemail`.`serial`, `oemail`.`id`
+ from `orgemailcerts` as `oemail`, `org`
+ where `org`.`memid`='".intval($_SESSION['profile']['id'])."' and
+ `org`.`orgid`=`oemail`.`orgid` ";
if($viewall != 1)
{
- $query .= "AND `revoked`=0 AND `renewed`=0 ";
+ $query .= "AND `oemail`.`revoked`=0 AND `oemail`.`renewed`=0 ";
$query .= "HAVING `timeleft` > 0 AND `revoked`=0 ";
}
- $query .= "ORDER BY `modified` desc";
+ $query .= "ORDER BY `oemail`.`modified` desc";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
?>
<tr>
- <td colspan="5" class="DataTD"><?=_("No client certificates are currently listed.")?></td>
+ <td colspan="6" class="DataTD"><?=_("No client certificates are currently listed.")?></td>
</tr>
<? } else {
while($row = mysql_fetch_assoc($res))
@@ -78,12 +80,13 @@
<td class="DataTD"><?=$verified?></td>
<td class="DataTD"><a href="account.php?id=19&cert=<?=$row['id']?>"><?=$row['CN']?></a></td>
<? } ?>
+ <td class="DataTD"><?=$row['serial']?></td>
<td class="DataTD"><?=$row['revoke']?></td>
<td class="DataTD"><?=$row['expires']?></td>
</tr>
<? } ?>
<tr>
- <td class="DataTD" colspan="5"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
+ <td class="DataTD" colspan="6"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
<input type="submit" name="revoke" value="<?=_("Revoke/Delete")?>"></td>
</tr>
<? } ?>
diff --git a/pages/account/22.php b/pages/account/22.php
index 565cb5f..9df8200 100644
--- a/pages/account/22.php
+++ b/pages/account/22.php
@@ -19,12 +19,13 @@
<form method="post" action="account.php">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
<tr>
- <td colspan="5" class="title"><?=_("Domain Certificates")?> - <a href="account.php?id=22&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
+ <td colspan="6" class="title"><?=_("Domain Certificates")?> - <a href="account.php?id=22&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
</tr>
<tr>
<td class="DataTD"><?=_("Renew/Revoke/Delete")?></td>
<td class="DataTD"><?=_("Status")?></td>
<td class="DataTD"><?=_("CommonName")?></td>
+ <td class="DataTD"><?=_("SerialNumber")?></td>
<td class="DataTD"><?=_("Revoked")?></td>
<td class="DataTD"><?=_("Expires")?></td>
@@ -33,7 +34,9 @@
UNIX_TIMESTAMP(`orgdomaincerts`.`expire`) - UNIX_TIMESTAMP() as `timeleft`,
UNIX_TIMESTAMP(`orgdomaincerts`.`expire`) as `expired`,
`orgdomaincerts`.`expire` as `expires`, `revoked` as `revoke`,
- UNIX_TIMESTAMP(`revoked`) as `revoked`, `CN`, `orgdomaincerts`.`id` as `id`
+ UNIX_TIMESTAMP(`revoked`) as `revoked`, `CN`,
+ `orgdomaincerts`.`serial`,
+ `orgdomaincerts`.`id` as `id`
from `orgdomaincerts`,`org`
where `org`.`memid`='".intval($_SESSION['profile']['id'])."' and `orgdomaincerts`.`orgid`=`org`.`orgid` ";
if($viewall != 1)
@@ -48,7 +51,7 @@
{
?>
<tr>
- <td colspan="5" class="DataTD"><?=_("No domains are currently listed.")?></td>
+ <td colspan="6" class="DataTD"><?=_("No domains are currently listed.")?></td>
</tr>
<? } else {
while($row = mysql_fetch_assoc($res))
@@ -74,12 +77,13 @@
<? } ?>
<td class="DataTD"><?=$verified?></td>
<td class="DataTD"><a href="account.php?id=23&cert=<?=$row['id']?>"><?=$row['CN']?></a></td>
+ <td class="DataTD"><?=$row['serial']?></td>
<td class="DataTD"><?=$row['revoke']?></td>
<td class="DataTD"><?=$row['expires']?></td>
</tr>
<? } ?>
<tr>
- <td class="DataTD" colspan="5"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
+ <td class="DataTD" colspan="6"><input type="submit" name="renew" value="<?=_("Renew")?>">&#160;&#160;&#160;&#160;
<input type="submit" name="revoke" value="<?=_("Revoke/Delete")?>"></td>
</tr>
<? } ?>
diff --git a/pages/account/24.php b/pages/account/24.php
index 19faa9f..7f56023 100644
--- a/pages/account/24.php
+++ b/pages/account/24.php
@@ -15,6 +15,16 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ ?>
+<?
+ // Reset session variables regarding Org's, present empty form
+ if (array_key_exists('O',$_SESSION['_config'])) $_SESSION['_config']['O'] = "";
+ if (array_key_exists('contact',$_SESSION['_config'])) $_SESSION['_config']['contact'] = "";
+ if (array_key_exists('L',$_SESSION['_config'])) $_SESSION['_config']['L'] = "";
+ if (array_key_exists('ST',$_SESSION['_config'])) $_SESSION['_config']['ST'] = "";
+ if (array_key_exists('C',$_SESSION['_config'])) $_SESSION['_config']['C'] = "";
+ if (array_key_exists('comments',$_SESSION['_config'])) $_SESSION['_config']['comments'] = "";
+
+?>
<form method="post" action="account.php">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
<tr>
@@ -22,27 +32,27 @@
</tr>
<tr>
<td class="DataTD"><?=_("Organisation Name")?>:</td>
- <td class="DataTD"><input type="text" name="O" value="<?=array_key_exists('O',$_SESSION['_config'])?$_SESSION['_config']['O']:""?>" maxlength="50"></td>
+ <td class="DataTD"><input type="text" name="O" value="" maxlength="50" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Contact Email")?>:</td>
- <td class="DataTD"><input type="text" name="contact" value="<?=array_key_exists('contact',$_SESSION['_config'])?$_SESSION['_config']['contact']:""?>"></td>
+ <td class="DataTD"><input type="text" name="contact" value="" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Town/Suburb")?>:</td>
- <td class="DataTD"><input type="text" name="L" value="<?=array_key_exists('L',$_SESSION['_config'])?$_SESSION['_config']['L']:""?>"></td>
+ <td class="DataTD"><input type="text" name="L" value="" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("State/Province")?>:</td>
- <td class="DataTD"><input type="text" name="ST" value="<?=array_key_exists('ST',$_SESSION['_config'])?$_SESSION['_config']['ST']:""?>"></td>
+ <td class="DataTD"><input type="text" name="ST" value="" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Country")?>:</td>
- <td class="DataTD"><input type="text" name="C" value="<?=array_key_exists('C',$_SESSION['_config'])?sanitizeHTML($_SESSION['_config']['C']):""?>" size="5">(2 letter <a href="http://www.iso.org/iso/english_country_names_and_code_elements">ISO code</a>)</td>
+ <td class="DataTD"><input type="text" name="C" value="" size="5">(2 letter <a href="http://www.iso.org/iso/english_country_names_and_code_elements">ISO code</a>)</td>
</tr>
<tr>
<td class="DataTD"><?=_("Comments")?>:</td>
- <td class="DataTD"><textarea name="comments" cols="35" rows="5"><?=array_key_exists('comments',$_SESSION['_config'])?$_SESSION['_config']['comments']:""?></textarea></td>
+ <td class="DataTD"><textarea name="comments" cols="60" rows="10"></textarea></td>
</tr>
<tr>
<td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Next")?>"></td>
diff --git a/pages/account/25.php b/pages/account/25.php
index a70f608..a70f608 100755..100644
--- a/pages/account/25.php
+++ b/pages/account/25.php
diff --git a/pages/account/27.php b/pages/account/27.php
index 2cd52a8..9524620 100644
--- a/pages/account/27.php
+++ b/pages/account/27.php
@@ -25,27 +25,27 @@
</tr>
<tr>
<td class="DataTD"><?=_("Organisation Name")?>:</td>
- <td class="DataTD"><input type="text" name="O" value="<?=$row['O']?>"></td>
+ <td class="DataTD"><input type="text" name="O" value="<?=$row['O']?>" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Contact Email")?>:</td>
- <td class="DataTD"><input type="text" name="contact" value="<?=($row['contact'])?>"></td>
+ <td class="DataTD"><input type="text" name="contact" value="<?=($row['contact'])?>" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Town/Suburb")?>:</td>
- <td class="DataTD"><input type="text" name="L" value="<?=($row['L'])?>"></td>
+ <td class="DataTD"><input type="text" name="L" value="<?=($row['L'])?>" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("State/Province")?>:</td>
- <td class="DataTD"><input type="text" name="ST" value="<?=($row['ST'])?>"></td>
+ <td class="DataTD"><input type="text" name="ST" value="<?=($row['ST'])?>" size="90"></td>
</tr>
<tr>
<td class="DataTD"><?=_("Country")?>:</td>
- <td class="DataTD"><input type="text" name="C" value="<?=($row['C'])?>"></td>
+ <td class="DataTD"><input type="text" name="C" value="<?=($row['C'])?>" size="5"> (2 letter <a href="http://www.iso.org/iso/english_country_names_and_code_elements">ISO code</a>)</td>
</tr>
<tr>
<td class="DataTD"><?=_("Comments")?>:</td>
- <td class="DataTD"><textarea name="comments" cols=15 rows=5><?=($row['comments'])?></textarea></td>
+ <td class="DataTD"><textarea name="comments" cols=60 rows=10><?=($row['comments'])?></textarea></td>
</tr>
<tr>
<td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Update")?>"></td>
diff --git a/pages/account/30.php b/pages/account/30.php
index 30c86f3..33eeca8 100644
--- a/pages/account/30.php
+++ b/pages/account/30.php
@@ -34,7 +34,7 @@
<td class="DataTD" colspan="2"><? printf(_("Are you really sure you want to remove %s and all certificates issued under this domain?"), sanitizeHTML($row['domain'])); ?></td>
</tr>
<tr>
- <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Cancel")?>">
+ <td class="DataTD" colspan="2"><input type="submit" name="cancel" value="<?=_("Cancel")?>">
<input type="submit" name="process" value="<?=_("Delete")?>"></td>
</tr>
</table>
diff --git a/pages/account/31.php b/pages/account/31.php
index d91a77a..9f3d27e 100644
--- a/pages/account/31.php
+++ b/pages/account/31.php
@@ -29,7 +29,7 @@
<td class="DataTD" colspan="2"><? printf(_("Are you really sure you want to remove %s and all certificates issued under this organisation?"), sanitizeHTML($org['O'])); ?></td>
</tr>
<tr>
- <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Cancel")?>">
+ <td class="DataTD" colspan="2"><input type="submit" name="cancel" value="<?=_("Cancel")?>">
<input type="submit" name="process" value="<?=_("Delete")?>"></td>
</tr>
</table>
diff --git a/pages/account/32.php b/pages/account/32.php
index 00dc1ea..a05c927 100644
--- a/pages/account/32.php
+++ b/pages/account/32.php
@@ -38,10 +38,10 @@
$user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".intval($row['memid'])."'"));
?>
<tr>
- <td class="DataTD"><a href='mailto:<?=$user['email']?>'><?=($user['fname'])?> <?=($user['lname'])?></a></td>
+ <td class="DataTD"><a href='mailto:<?=sanitizeHTML($user['email'])?>'><?=sanitizeHTML($user['fname'])?> <?=sanitizeHTML($user['lname'])?></a></td>
<td class="DataTD"><?=($row['masteracc'])?></a></td>
- <td class="DataTD"><?=($row['OU'])?></a></td>
- <td class="DataTD"><?=($row['comments'])?></a></td>
+ <td class="DataTD"><?=sanitizeHTML($row['OU'])?></a></td>
+ <td class="DataTD"><?=sanitizeHTML($row['comments'])?></a></td>
<? if($row['masteracc'] == 0 || $_SESSION['profile']['orgadmin'] == 1) { ?>
<td class="DataTD"><a href="account.php?id=34&amp;orgid=<?=$row['orgid']?>&amp;memid=<?=$row['memid']?>"><?=_("Delete")?></a></td>
<? } else { ?>
diff --git a/pages/account/33.php b/pages/account/33.php
index 4da8bed..376a8b9 100644
--- a/pages/account/33.php
+++ b/pages/account/33.php
@@ -18,6 +18,13 @@
<?
$query = "select * from `orginfo` where `id`='".intval($_REQUEST['orgid'])."'";
$row = mysql_fetch_assoc(mysql_query($query));
+
+ // Reset session variables regarding OrgAdmin's, present empty form
+ if (array_key_exists('email',$_SESSION['_config'])) $_SESSION['_config']['email']="";
+ if (array_key_exists('OU',$_SESSION['_config'])) $_SESSION['_config']['OU'] = "";
+ if (array_key_exists('masteracc',$_SESSION['_config'])) $_SESSION['_config']['masteracc'] = 0;
+ if (array_key_exists('comments',$_SESSION['_config'])) $_SESSION['_config']['comments'] = "";
+
?>
<form method="post" action="account.php">
<input type="hidden" name="orgid" value="<?=intval($_REQUEST['orgid'])?>">
@@ -27,24 +34,24 @@
</tr>
<tr>
<td class="DataTD"><?=_("Email")?>:</td>
- <td class="DataTD"><input type="text" name="email" value="<?=array_key_exists('email',$_SESSION['_config'])?sanitizeHTML($_SESSION['_config']['email']):""?>"></td>
+ <td class="DataTD"><input type="text" name="email" value=""></td>
</tr>
<tr>
<td class="DataTD"><?=_("Department")?>:</td>
- <td class="DataTD"><input type="text" name="OU" value="<?=array_key_exists('OU',$_SESSION['_config'])?$_SESSION['_config']['OU']:""?>"></td>
+ <td class="DataTD"><input type="text" name="OU" value=""></td>
</tr>
<? if($_SESSION['profile']['orgadmin'] == 1) { ?>
<tr>
<td class="DataTD"><?=_("Master Account")?>:</td>
<td class="DataTD"><select name="masteracc">
- <option value="0">No</option>
- <option value="1"<? if(array_key_exists('masteracc',$_SESSION['_config']) && $_SESSION['_config']['masteracc'] == 1) echo " selected='selected'"; ?>>Yes</option>
+ <option value="0">No</option> // make default option as of SA telco 2011-08-02 on bug 966
+ <option value="1">Yes</option>
</select></td>
</tr>
<? } ?>
<tr>
<td class="DataTD"><?=_("Comments")?>:</td>
- <td class="DataTD"><input type="text" name="comments" value="<?=array_key_exists('comments',$_SESSION['_config'])?$_SESSION['_config']['comments']:""?>"></td>
+ <td class="DataTD"><input type="text" name="comments" size=27 maxlength=20 value=""></td>
</tr>
<tr>
<td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Add")?>"></td>
diff --git a/pages/account/34.php b/pages/account/34.php
index 25ad1db..b11bc7d 100644
--- a/pages/account/34.php
+++ b/pages/account/34.php
@@ -35,7 +35,7 @@
<td class="DataTD" colspan="2"><? printf(_("Are you really sure you want to remove %s from administering this organisation?"), sanitizeHTML($user['fname'])." ".sanitizeHTML($user['lname'])); ?></td>
</tr>
<tr>
- <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Cancel")?>">
+ <td class="DataTD" colspan="2"><input type="submit" name="cancel" value="<?=_("Cancel")?>">
<input type="submit" name="process" value="<?=_("Delete")?>"></td>
</tr>
</table>
diff --git a/pages/account/37.php b/pages/account/37.php
index 4b021e0..48c737a 100755..100644
--- a/pages/account/37.php
+++ b/pages/account/37.php
@@ -15,17 +15,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ ?>
-<H3><?=_("About CAcert.org")?></H3>
-
-<p><?=_("CAcert.org is a community driven, Certificate Authority that issues certificates to the public at large for free.")?></p>
-
-<p><? printf(_("CAcert's goal is to promote awareness and education on computer security through the use of encryption, specifically with the X.509 family of standards. We have compiled a %sdocument base%s that has helpful hints and tips on setting up encryption with common software, and general information about Public Key Infrastructures (PKI)."), "<a href='http://wiki.cacert.org/'>", "</a>"); ?></p>
-
-<p><?=_("For the enthusiast looking to dip their toe in the water, we have an easy way of obtaining certificates you can use with your email program. You can use these not only to encrypt, but to prove to your friends and family that your email really does come from you.")?></p>
-
-<p><?=_("For administrators looking to protect the services they offer, we provide host and wild card certificates which you can issue almost immediately. Not only can you use these to protect websites, but also POP3, SMTP and IMAP connections, to list but a few. Unlike other certificate authorities, we don't limit the strength of the certificates, or the use of wild card certificates. Everyone should have the right to security and to protect their privacy, not just those looking to run ecommerce sites.")?></p>
-
-<p><?=_("If you're extremely serious about encryption, you can join CAcert's Assurance Programme and Web of Trust. This allows you to have your identity verified to obtain added benefits, including longer length certificates and the ability to include your name on email certificates."); ?></p>
-
-<p><?=_("CAcert Inc. is a non-profit association, incorporated in New South Wales Australia.")?></p>
-<p><?=_("More information about CAcert Incorporated:")?><a href="http://wiki.cacert.org/wiki/CAcertIncorporated">http://wiki.cacert.org/wiki/CAcertIncorporated</a></p>
+<p style="background-color: #FF8080; font-size: 150%">
+<?
+printf(_("This page has been moved to the %swiki%s. Please update your ".
+ "bookmarks and report any broken links."),
+ '<a href="//wiki.cacert.org/FAQ/AboutUs">', '</a>');
+?>
+</p>
diff --git a/pages/account/38.php b/pages/account/38.php
index 34cbea4..f311bf5 100755..100644
--- a/pages/account/38.php
+++ b/pages/account/38.php
@@ -19,7 +19,11 @@
<h4><?=_("If I'd like to donate to CAcert Inc., how can I do it?")?></h4>
-<p><?=_("CAcert Inc. is a non-profit association which is legally able to accept donations. CAcert adheres to strict guidelines about how this money can to be used. If you'd like to make a donation, you can do so via")?>
+<p>
+<?
+printf(_("CAcert Inc. is a non-profit association which is legally able to accept donations. CAcert adheres to %sstrict guidelines%s about how this money can to be used. If you'd like to make a donation, you can do so via"),
+ '<a href="//wiki.cacert.org/FAQ/DonationsGuideline">', '</a>');
+?>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
diff --git a/pages/account/40.php b/pages/account/40.php
index 8391903..8391903 100755..100644
--- a/pages/account/40.php
+++ b/pages/account/40.php
diff --git a/pages/account/43.php b/pages/account/43.php
index 3212667..7bf6d04 100644
--- a/pages/account/43.php
+++ b/pages/account/43.php
@@ -24,10 +24,10 @@ include_once($_SESSION['_config']['filepath']."/includes/notary.inc.php");
$assurance = mysql_escape_string(intval($_REQUEST['assurance']));
$row = 0;
$res = mysql_query("select `to` from `notary` where `id`='$assurance'");
- if ($res) {
+ if ($res) {
$row = mysql_fetch_assoc($res);
}
- mysql_query("delete from `notary` where `id`='$assurance'");
+ mysql_query("delete from `notary` where `id`='$assurance'");
if ($row) {
fix_assurer_flag($row['to']);
}
@@ -41,14 +41,26 @@ include_once($_SESSION['_config']['filepath']."/includes/notary.inc.php");
//if(!strstr($email, "%"))
// $emailsearch = "%$email%";
- if(intval($email) > 0)
- $emailsearch = "";
-
- $query = "select `users`.`id` as `id`, `email`.`email` as `email` from `users`,`email`
- where `users`.`id`=`email`.`memid` and
- (`email`.`email` like '$emailsearch' or `email`.`id`='$email' or `users`.`id`='$email') and
- `email`.`hash`='' and `email`.`deleted`=0 and `users`.`deleted`=0
- group by `users`.`id` limit 100";
+ // bug-975 ted+uli changes --- begin
+ if(preg_match("/^[0-9]+$/", $email)) {
+ // $email consists of digits only ==> search for IDs
+ // Be defensive here (outer join) if primary mail is not listed in email table
+ $query = "select `users`.`id` as `id`, `email`.`email` as `email`
+ from `users` left outer join `email` on (`users`.`id`=`email`.`memid`)
+ where (`email`.`id`='$email' or `users`.`id`='$email')
+ and `users`.`deleted`=0
+ group by `users`.`id` limit 100";
+ } else {
+ // $email contains non-digits ==> search for mail addresses
+ // Be defensive here (outer join) if primary mail is not listed in email table
+ $query = "select `users`.`id` as `id`, `email`.`email` as `email`
+ from `users` left outer join `email` on (`users`.`id`=`email`.`memid`)
+ where (`email`.`email` like '$emailsearch'
+ or `users`.`email` like '$emailsearch')
+ and `users`.`deleted`=0
+ group by `users`.`id` limit 100";
+ }
+ // bug-975 ted+uli changes --- end
$res = mysql_query($query);
if(mysql_num_rows($res) > 1) { ?>
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
@@ -141,7 +153,7 @@ include_once($_SESSION['_config']['filepath']."/includes/notary.inc.php");
{
echo "<option";
if($day == $i)
- echo " selected='selected'";
+ echo " selected='selected'";
echo ">$i</option>";
}
?>
@@ -320,6 +332,456 @@ include_once($_SESSION['_config']['filepath']."/includes/notary.inc.php");
</table>
<br>
<? } ?>
+<? // Begin - Debug infos ?>
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
+ <tr>
+ <td colspan="2" class="title"><?=_("Account State")?></td>
+ </tr>
+
+<?
+ // --- bug-975 begin ---
+ // potential db inconsistency like in a20110804.1
+ // Admin console -> don't list user account
+ // User login -> impossible
+ // Assurer, assure someone -> user displayed
+ /* regular user account search with regular settings
+
+ --- Admin Console find user query
+ $query = "select `users`.`id` as `id`, `email`.`email` as `email` from `users`,`email`
+ where `users`.`id`=`email`.`memid` and
+ (`email`.`email` like '$emailsearch' or `email`.`id`='$email' or `users`.`id`='$email') and
+ `email`.`hash`='' and `email`.`deleted`=0 and `users`.`deleted`=0
+ group by `users`.`id` limit 100";
+ => requirements
+ 1. email.hash = ''
+ 2. email.deleted = 0
+ 3. users.deleted = 0
+ 4. email.email = primary-email (???) or'd
+ not covered by admin console find user routine, but may block users login
+ 5. users.verified = 0|1
+ further "special settings"
+ 6. users.locked (setting displayed in display form)
+ 7. users.assurer_blocked (setting displayed in display form)
+
+ --- User login user query
+ select * from `users` where `email`='$email' and (`password`=old_password('$pword') or `password`=sha1('$pword') or
+ `password`=password('$pword')) and `verified`=1 and `deleted`=0 and `locked`=0
+ => requirements
+ 1. users.verified = 1
+ 2. users.deleted = 0
+ 3. users.locked = 0
+ 4. users.email = primary-email
+
+ --- Assurer, assure someone find user query
+ select * from `users` where `email`='".mysql_escape_string(stripslashes($_POST['email']))."'
+ and `deleted`=0
+ => requirements
+ 1. users.deleted = 0
+ 2. users.email = primary-email
+ Admin User Assurer
+ bit Console Login assure someone
+
+ 1. email.hash = '' Yes No No
+ 2. email.deleted = 0 Yes No No
+ 3. users.deleted = 0 Yes Yes Yes
+ 4. users.verified = 1 No Yes No
+ 5. users.locked = 0 No Yes No
+ 6. users.email = prim-email No Yes Yes
+ 7. email.email = prim-email Yes No No
+
+ full usable account needs all 7 requirements fulfilled
+ so if one setting isn't set/cleared there is an inconsistency either way
+ if eg email.email is not avail, admin console cannot open user info
+ but user can login and assurer can display user info
+ if user verified is not set to 1, admin console displays user record
+ but user cannot login, but assurer can search for the user and the data displays
+
+ consistency check:
+ 1. search primary-email in users.email
+ 2. search primary-email in email.email
+ 3. userid = email.memid
+ 4. check settings from table 1. - 5.
+
+ */
+
+ $inconsistency = 0;
+ $inconsistencydisp = "";
+ $inccause = "";
+ // current userid intval($row['id'])
+ $query = "select `email` as `uemail`, `deleted` as `udeleted`, `verified`, `locked`
+ from `users` where `id`='".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $uemail = $drow['uemail'];
+ $udeleted = $drow['udeleted'];
+ $uverified = $drow['verified'];
+ $ulocked = $drow['locked'];
+
+ $query = "select `hash`, `email` as `eemail` from `email`
+ where `memid`='".intval($row['id'])."' and
+ `email` ='".$uemail."' and
+ `deleted` = 0";
+ $dres = mysql_query($query);
+ if ($drow = mysql_fetch_assoc($dres)) {
+ $drow['edeleted'] = 0;
+ } else {
+ // try if there are deleted entries
+ $query = "select `hash`, `deleted` as `edeleted`, `email` as `eemail` from `email`
+ where `memid`='".intval($row['id'])."' and
+ `email` ='".$uemail."'";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ }
+
+ if ($drow) {
+ $eemail = $drow['eemail'];
+ $edeleted = $drow['edeleted'];
+ $ehash = $drow['hash'];
+ if ($udeleted!=0) {
+ $inconsistency += 1;
+ $inccause .= (empty($inccause)?"":"<br>")._("Users record set to deleted");
+ }
+ if ($uverified!=1) {
+ $inconsistency += 2;
+ $inccause .= (empty($inccause)?"":"<br>")._("Users record verified not set");
+ }
+ if ($ulocked!=0) {
+ $inconsistency += 4;
+ $inccause .= (empty($inccause)?"":"<br>")._("Users record locked set");
+ }
+ if ($edeleted!=0) {
+ $inconsistency += 8;
+ $inccause .= (empty($inccause)?"":"<br>")._("Email record set deleted");
+ }
+ if ($ehash!='') {
+ $inconsistency += 16;
+ $inccause .= (empty($inccause)?"":"<br>")._("Email record hash not unset");
+ }
+ } else {
+ $inconsistency = 32;
+ $inccause = _("Prim. email, Email record doesn't exist");
+ }
+ if ($inconsistency>0) {
+ // $inconsistencydisp = _("Yes");
+?>
+ <tr>
+ <td class="DataTD"><?=_("Account inconsistency")?>:</td>
+ <td class="DataTD"><?=$inccause?><br>code: <?=$inconsistency?></td>
+ </tr>
+ <tr>
+ <td colspan="2" class="DataTD" style="max-width: 75ex">
+ <?=_("Account inconsistency can cause problems in daily account ".
+ "operations and needs to be fixed manually through arbitration/critical ".
+ "team.")?>
+ </td>
+ </tr>
+<? }
+
+ // --- bug-975 end ---
+?>
+</table>
+<br>
+<?
+ // End - Debug infos
+?>
+
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
+ <tr>
+ <td colspan="6" class="title"><?=_("Certificates")?></td>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("Cert Type")?>:</td>
+ <td class="DataTD"><?=_("Total")?></td>
+ <td class="DataTD"><?=_("Valid")?></td>
+ <td class="DataTD"><?=_("Expired")?></td>
+ <td class="DataTD"><?=_("Revoked")?></td>
+ <td class="DataTD"><?=_("Latest Expire")?></td>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("Server")?>:</td>
+ <?
+ $query = "select COUNT(*) as `total`,
+ MAX(`domaincerts`.`expire`) as `maxexpire`
+ from `domains` inner join `domaincerts`
+ on `domains`.`id` = `domaincerts`.`domid`
+ where `domains`.`memid` = '".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $total = $drow['total'];
+
+ $maxexpire = "0000-00-00 00:00:00";
+ if ($drow['maxexpire']) {
+ $maxexpire = $drow['maxexpire'];
+ }
+
+ if($total > 0) {
+ $query = "select COUNT(*) as `valid`
+ from `domains` inner join `domaincerts`
+ on `domains`.`id` = `domaincerts`.`domid`
+ where `domains`.`memid` = '".intval($row['id'])."'
+ and `revoked` = '0000-00-00 00:00:00'
+ and `expire` > NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $valid = $drow['valid'];
+
+ $query = "select COUNT(*) as `expired`
+ from `domains` inner join `domaincerts`
+ on `domains`.`id` = `domaincerts`.`domid`
+ where `domains`.`memid` = '".intval($row['id'])."'
+ and `expire` <= NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $expired = $drow['expired'];
+
+ $query = "select COUNT(*) as `revoked`
+ from `domains` inner join `domaincerts`
+ on `domains`.`id` = `domaincerts`.`domid`
+ where `domains`.`memid` = '".intval($row['id'])."'
+ and `revoked` != '0000-00-00 00:00:00'";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $revoked = $drow['revoked'];
+ ?>
+ <td class="DataTD"><?=intval($total)?></td>
+ <td class="DataTD"><?=intval($valid)?></td>
+ <td class="DataTD"><?=intval($expired)?></td>
+ <td class="DataTD"><?=intval($revoked)?></td>
+ <td class="DataTD"><?=($maxexpire != "0000-00-00 00:00:00")?
+ substr($maxexpire, 0, 10) : _("Pending")?></td>
+ <?
+ } else { // $total > 0
+ ?>
+ <td colspan="5" class="DataTD"><?=_("None")?></td>
+ <?
+ } ?>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("Client")?>:</td>
+ <?
+ $query = "select COUNT(*) as `total`, MAX(`expire`) as `maxexpire`
+ from `emailcerts`
+ where `memid` = '".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $total = $drow['total'];
+
+ $maxexpire = "0000-00-00 00:00:00";
+ if ($drow['maxexpire']) {
+ $maxexpire = $drow['maxexpire'];
+ }
+
+ if($total > 0) {
+ $query = "select COUNT(*) as `valid`
+ from `emailcerts`
+ where `memid` = '".intval($row['id'])."'
+ and `revoked` = '0000-00-00 00:00:00'
+ and `expire` > NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $valid = $drow['valid'];
+
+ $query = "select COUNT(*) as `expired`
+ from `emailcerts`
+ where `memid` = '".intval($row['id'])."'
+ and `expire` <= NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $expired = $drow['expired'];
+
+ $query = "select COUNT(*) as `revoked`
+ from `emailcerts`
+ where `memid` = '".intval($row['id'])."'
+ and `revoked` != '0000-00-00 00:00:00'";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $revoked = $drow['revoked'];
+ ?>
+ <td class="DataTD"><?=intval($total)?></td>
+ <td class="DataTD"><?=intval($valid)?></td>
+ <td class="DataTD"><?=intval($expired)?></td>
+ <td class="DataTD"><?=intval($revoked)?></td>
+ <td class="DataTD"><?=($maxexpire != "0000-00-00 00:00:00")?
+ substr($maxexpire, 0, 10) : _("Pending")?></td>
+ <?
+ } else { // $total > 0
+ ?>
+ <td colspan="5" class="DataTD"><?=_("None")?></td>
+ <?
+ } ?>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("GPG")?>:</td>
+ <?
+ $query = "select COUNT(*) as `total`, MAX(`expire`) as `maxexpire`
+ from `gpg`
+ where `memid` = '".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $total = $drow['total'];
+
+ $maxexpire = "0000-00-00 00:00:00";
+ if ($drow['maxexpire']) {
+ $maxexpire = $drow['maxexpire'];
+ }
+
+ if($total > 0) {
+ $query = "select COUNT(*) as `valid`
+ from `gpg`
+ where `memid` = '".intval($row['id'])."'
+ and `expire` > NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $valid = $drow['valid'];
+
+ $query = "select COUNT(*) as `expired`
+ from `emailcerts`
+ where `memid` = '".intval($row['id'])."'
+ and `expire` <= NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $expired = $drow['expired'];
+
+ ?>
+ <td class="DataTD"><?=intval($total)?></td>
+ <td class="DataTD"><?=intval($valid)?></td>
+ <td class="DataTD"><?=intval($expired)?></td>
+ <td class="DataTD"></td>
+ <td class="DataTD"><?=($maxexpire != "0000-00-00 00:00:00")?
+ substr($maxexpire, 0, 10) : _("Pending")?></td>
+ <?
+ } else { // $total > 0
+ ?>
+ <td colspan="5" class="DataTD"><?=_("None")?></td>
+ <?
+ } ?>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("Org Server")?>:</td>
+ <?
+ $query = "select COUNT(*) as `total`,
+ MAX(`orgcerts`.`expire`) as `maxexpire`
+ from `orgdomaincerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $total = $drow['total'];
+
+ $maxexpire = "0000-00-00 00:00:00";
+ if ($drow['maxexpire']) {
+ $maxexpire = $drow['maxexpire'];
+ }
+
+ if($total > 0) {
+ $query = "select COUNT(*) as `valid`
+ from `orgdomaincerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`revoked` = '0000-00-00 00:00:00'
+ and `orgcerts`.`expire` > NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $valid = $drow['valid'];
+
+ $query = "select COUNT(*) as `expired`
+ from `orgdomaincerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`expire` <= NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $expired = $drow['expired'];
+
+ $query = "select COUNT(*) as `revoked`
+ from `orgdomaincerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`revoked` != '0000-00-00 00:00:00'";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $revoked = $drow['revoked'];
+ ?>
+ <td class="DataTD"><?=intval($total)?></td>
+ <td class="DataTD"><?=intval($valid)?></td>
+ <td class="DataTD"><?=intval($expired)?></td>
+ <td class="DataTD"><?=intval($revoked)?></td>
+ <td class="DataTD"><?=($maxexpire != "0000-00-00 00:00:00")?
+ substr($maxexpire, 0, 10) : _("Pending")?></td>
+ <?
+ } else { // $total > 0
+ ?>
+ <td colspan="5" class="DataTD"><?=_("None")?></td>
+ <?
+ } ?>
+ </tr>
+
+ <tr>
+ <td class="DataTD"><?=_("Org Client")?>:</td>
+ <?
+ $query = "select COUNT(*) as `total`,
+ MAX(`orgcerts`.`expire`) as `maxexpire`
+ from `orgemailcerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."' ";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $total = $drow['total'];
+
+ $maxexpire = "0000-00-00 00:00:00";
+ if ($drow['maxexpire']) {
+ $maxexpire = $drow['maxexpire'];
+ }
+
+ if($total > 0) {
+ $query = "select COUNT(*) as `valid`
+ from `orgemailcerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`revoked` = '0000-00-00 00:00:00'
+ and `orgcerts`.`expire` > NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $valid = $drow['valid'];
+
+ $query = "select COUNT(*) as `expired`
+ from `orgemailcerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`expire` <= NOW()";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $expired = $drow['expired'];
+
+ $query = "select COUNT(*) as `revoked`
+ from `orgemailcerts` as `orgcerts` inner join `org`
+ on `orgcerts`.`orgid` = `org`.`orgid`
+ where `org`.`memid` = '".intval($row['id'])."'
+ and `orgcerts`.`revoked` != '0000-00-00 00:00:00'";
+ $dres = mysql_query($query);
+ $drow = mysql_fetch_assoc($dres);
+ $revoked = $drow['revoked'];
+ ?>
+ <td class="DataTD"><?=intval($total)?></td>
+ <td class="DataTD"><?=intval($valid)?></td>
+ <td class="DataTD"><?=intval($expired)?></td>
+ <td class="DataTD"><?=intval($revoked)?></td>
+ <td class="DataTD"><?=($maxexpire != "0000-00-00 00:00:00")?
+ substr($maxexpire, 0, 10) : _("Pending")?></td>
+ <?
+ } else { // $total > 0
+ ?>
+ <td colspan="5" class="DataTD"><?=_("None")?></td>
+ <?
+ } ?>
+ </tr>
+</table>
+<br>
<a href="account.php?id=43&amp;userid=<?=$row['id']?>&amp;shownotary=assuredto"><?=_("Show Assurances the user got")?></a>
(<a href="account.php?id=43&amp;userid=<?=$row['id']?>&amp;shownotary=assuredto15"><?=_("New calculation")?></a>)
diff --git a/pages/account/5.php b/pages/account/5.php
index ee500c0..5c131ba 100644
--- a/pages/account/5.php
+++ b/pages/account/5.php
@@ -19,12 +19,13 @@
<form method="post" action="account.php">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper">
<tr>
- <td colspan="6" class="title"><?=_("Client Certificates")?> - <a href="account.php?id=5&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
+ <td colspan="7" class="title"><?=_("Client Certificates")?> - <a href="account.php?id=5&amp;viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td>
</tr>
<tr>
<td class="DataTD"><?=_("Renew/Revoke/Delete")?></td>
<td class="DataTD"><?=_("Status")?></td>
<td class="DataTD"><?=_("Email Address")?></td>
+ <td class="DataTD"><?=_("SerialNumber")?></td>
<td class="DataTD"><?=_("Revoked")?></td>
<td class="DataTD"><?=_("Expires")?></td>
<td class="DataTD"><?=_("Login")?></td>
@@ -38,6 +39,7 @@
UNIX_TIMESTAMP(`emailcerts`.`revoked`) as `revoked`,
`emailcerts`.`id`,
`emailcerts`.`CN`,
+ `emailcerts`.`serial`,
emailcerts.disablelogin as `disablelogin`
from `emailcerts`
where `emailcerts`.`memid`='".$_SESSION['profile']['id']."'
@@ -54,7 +56,7 @@
{
?>
<tr>
- <td colspan="5" class="DataTD"><?=_("No client certificates are currently listed.")?></td>
+ <td colspan="7" class="DataTD"><?=_("No client certificates are currently listed.")?></td>
</tr>
<? } else {
while($row = mysql_fetch_assoc($res))
@@ -84,6 +86,7 @@
<td class="DataTD"><?=$verified?></td>
<td class="DataTD"><?=(trim($row['CN'])=="" ? _("empty") : $row['CN'])?></td>
<? } ?>
+ <td class="DataTD"><?=$row['serial']?></td>
<td class="DataTD"><?=$row['revoke']?></td>
<td class="DataTD"><?=$row['expires']?></td>
<td class="DataTD">
diff --git a/pages/index/1.php b/pages/index/1.php
index f4343e7..a60a242 100644
--- a/pages/index/1.php
+++ b/pages/index/1.php
@@ -25,27 +25,33 @@
<form method="post" action="index.php" autocomplete="off">
<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper" width="400">
<tr>
- <td colspan="2" class="title"><?=_("My Details")?></td>
+ <td colspan="3" class="title"><?=_("My Details")?></td>
</tr>
+
<tr>
<td class="DataTD" width="125"><?=_("First Name")?>: </td>
<td class="DataTD" width="125"><input type="text" name="fname" value="<?=array_key_exists('fname',$_REQUEST)?sanitizeHTML($_REQUEST['fname']):""?>" autocomplete="off"></td>
+ <td rowspan="4" class="DataTD" width="125"><? printf(_("Help on Names %sin the wiki%s"),'<a href="//wiki.cacert.org/FAQ/HowToEnterNamesInJoinForm" target="_blank">','</a>')?></td>
</tr>
+
<tr>
<td class="DataTD" valign="top"><?=_("Middle Name(s)")?><br>
(<?=_("optional")?>)
</td>
<td class="DataTD"><input type="text" name="mname" value="<?=array_key_exists('mname',$_REQUEST)?sanitizeHTML($_REQUEST['mname']):""?>" autocomplete="off"></td>
</tr>
+
<tr>
<td class="DataTD"><?=_("Last Name")?>: </td>
<td class="DataTD"><input type="text" name="lname" value="<?=array_key_exists('lname',$_REQUEST)?sanitizeHTML($_REQUEST['lname']):""?>" autocomplete="off"></td>
</tr>
+
<tr>
<td class="DataTD"><?=_("Suffix")?><br>
(<?=_("optional")?>)</td>
- <td class="DataTD"><input type="text" name="suffix" value="<?=array_key_exists('suffix',$_REQUEST)?sanitizeHTML($_REQUEST['suffix']):""?>" autocomplete="off"><br><?=sprintf(_("Please only write %sName Suffixes%s into this field."),'<a href="http://en.wikipedia.org/wiki/Suffix_%28name%29" target="_blank">','</a>')?></td>
+ <td class="DataTD"><input type="text" name="suffix" value="<?=array_key_exists('suffix',$_REQUEST)?sanitizeHTML($_REQUEST['suffix']):""?>" autocomplete="off"><br><?=sprintf(_("Please only write Name Suffixes into this field."))?></td>
</tr>
+
<tr>
<td class="DataTD"><?=_("Date of Birth")?><br>
(<?=_("dd/mm/yyyy")?>)</td>
@@ -73,49 +79,63 @@
</select>
<input type="text" name="year" value="<?=array_key_exists('year',$_SESSION['signup']) ? sanitizeHTML($_SESSION['signup']['year']):""?>" size="4" autocomplete="off"></nobr>
</td>
+ <td class="DataTD">&nbsp;</td>
</tr>
+
<tr>
<td class="DataTD"><?=_("Email Address")?>: </td>
- <td class="DataTD"><input type="text" name="email" value="<?=array_key_exists('email',$_REQUEST)?sanitizeHTML($_REQUEST['email']):""?>" autocomplete="off"><br/><?=_("I own or am authorised to control this email address")?>
-</td>
+ <td class="DataTD"><input type="text" name="email" value="<?=array_key_exists('email',$_REQUEST)?sanitizeHTML($_REQUEST['email']):""?>" autocomplete="off"></td>
+ <td class="DataTD"><?=_("I own or am authorised to control this email address")?></td>
</tr>
+
<tr>
<td class="DataTD"><?=_("Pass Phrase")?><font color="red">*</font>: </td>
<td class="DataTD"><input type="password" name="pword1" autocomplete="off"></td>
+ <td class="DataTD" rowspan="2">&nbsp;</td>
</tr>
<tr>
<td class="DataTD"><?=_("Pass Phrase Again")?><font color="red">*</font>: </td>
<td class="DataTD"><input type="password" name="pword2" autocomplete="off"></td>
</tr>
+
<tr>
- <td class="DataTD" colspan="2"><font color="red">*</font><?=_("Please note, in the interests of good security, the pass phrase must be made up of an upper case letter, lower case letter, number and symbol.")?></td>
+ <td class="DataTD" colspan="3"><font color="red">*</font><?=_("Please note, in the interests of good security, the pass phrase must be made up of an upper case letter, lower case letter, number and symbol.")?></td>
</tr>
+
<tr>
- <td class="DataTD" colspan="2"><?=_("Lost Pass Phrase Questions - Please enter five questions and your responses to be used for security verification.")?></td>
+ <td class="DataTD" colspan="3"><?=_("Lost Pass Phrase Questions - Please enter five questions and your responses to be used for security verification.")?></td>
</tr>
+
<tr>
<td class="DataTD">1)&nbsp;<input type="text" name="Q1" size="15" value="<?=array_key_exists('Q1',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['Q1']):""?>"></td>
<td class="DataTD"><input type="text" name="A1" value="<?=array_key_exists('A1',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['A1']):""?>" autocomplete="off"></td>
+ <td class="DataTD" rowspan="5">&nbsp;</td>
</tr>
+
<tr>
<td class="DataTD">2)&nbsp;<input type="text" name="Q2" size="15" value="<?=array_key_exists('Q2',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['Q2']):""?>"></td>
<td class="DataTD"><input type="text" name="A2" value="<?=array_key_exists('A2',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['A2']):""?>" autocomplete="off"></td>
</tr>
+
<tr>
<td class="DataTD">3)&nbsp;<input type="text" name="Q3" size="15" value="<?=array_key_exists('Q3',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['Q3']):""?>"></td>
<td class="DataTD"><input type="text" name="A3" value="<?=array_key_exists('A3',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['A3']):""?>" autocomplete="off"></td>
</tr>
+
<tr>
<td class="DataTD">4)&nbsp;<input type="text" name="Q4" size="15" value="<?=array_key_exists('Q4',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['Q4']):""?>"></td>
<td class="DataTD"><input type="text" name="A4" value="<?=array_key_exists('A4',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['A4']):""?>" autcomplete="off"></td>
</tr>
+
<tr>
<td class="DataTD">5)&nbsp;<input type="text" name="Q5" size="15" value="<?=array_key_exists('Q5',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['Q5']):""?>"></td>
<td class="DataTD"><input type="text" name="A5" value="<?=array_key_exists('A5',$_SESSION['signup'])?sanitizeHTML($_SESSION['signup']['A5']):""?>" autocomplete="off"></td>
</tr>
+
<tr>
- <td class="DataTD" colspan="2"><?=_("It's possible to get notifications of up and coming events and even just general announcements, untick any notifications you don't wish to receive. For country, regional and radius notifications to work you must choose your location once you've verified your account and logged in.")?></td>
+ <td class="DataTD" colspan="3"><?=_("It's possible to get notifications of up and coming events and even just general announcements, untick any notifications you don't wish to receive. For country, regional and radius notifications to work you must choose your location once you've verified your account and logged in.")?></td>
</tr>
+
<tr>
<td class="DataTD" valign="top"><?=_("Alert me if")?>: </td>
<td class="DataTD" align="left">
@@ -123,16 +143,18 @@
<input type="checkbox" name="country" value="1" <?=array_key_exists('country',$_SESSION['signup'])? ($_SESSION['signup']['country'] == "0" ?"":"checked=\"checked\""):"checked=\"checked\"" ?>><?=_("Country Announcements")?><br>
<input type="checkbox" name="regional" value="1" <?=array_key_exists('regional',$_SESSION['signup'])? ($_SESSION['signup']['regional'] == "0" ?"":"checked=\"checked\""):"checked=\"checked\"" ?>><?=_("Regional Announcements")?><br>
<input type="checkbox" name="radius" value="1" <?=array_key_exists('radius',$_SESSION['signup'])? ($_SESSION['signup']['radius'] == "0" ?"":"checked=\"checked\""):"checked=\"checked\"" ?>><?=_("Within 200km Announcements")?></td>
+ <td class="DataTD">&nbsp;</td>
</tr>
+
<tr>
- <td class="DataTD" colspan="2"><?=_("When you click on next, we will send a confirmation email to the email address you have entered above.")?></td>
+ <td class="DataTD" colspan="3"><?=_("When you click on next, we will send a confirmation email to the email address you have entered above.")?></td>
</tr>
<tr>
- <td class="DataTD" colspan="2"><input type="checkbox" name="cca_agree" value="1" <?=array_key_exists('cca_agree',$_SESSION['signup'])? ($_SESSION['signup']['cca_agree'] == "1" ?"checked=\"checked\"":""):"" ?> ><?=_("I agree to the terms and conditions of the CAcert Community Agreement")?>: <a href="/policy/CAcertCommunityAgreement.php">http://www.cacert.org/policy/CAcertCommunityAgreement.php</a></td>
+ <td class="DataTD" colspan="3"><input type="checkbox" name="cca_agree" value="1" <?=array_key_exists('cca_agree',$_SESSION['signup'])? ($_SESSION['signup']['cca_agree'] == "1" ?"checked=\"checked\"":""):"" ?> ><?=_("I agree to the terms and conditions of the CAcert Community Agreement")?>: <a href="/policy/CAcertCommunityAgreement.php">http://www.cacert.org/policy/CAcertCommunityAgreement.php</a></td>
</tr>
<tr>
- <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_("Next")?>"></td>
+ <td class="DataTD" colspan="3"><input type="submit" name="process" value="<?=_("Next")?>"></td>
</tr>
</table>
diff --git a/pages/index/12.php b/pages/index/12.php
index 4b021e0..48c737a 100644
--- a/pages/index/12.php
+++ b/pages/index/12.php
@@ -15,17 +15,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ ?>
-<H3><?=_("About CAcert.org")?></H3>
-
-<p><?=_("CAcert.org is a community driven, Certificate Authority that issues certificates to the public at large for free.")?></p>
-
-<p><? printf(_("CAcert's goal is to promote awareness and education on computer security through the use of encryption, specifically with the X.509 family of standards. We have compiled a %sdocument base%s that has helpful hints and tips on setting up encryption with common software, and general information about Public Key Infrastructures (PKI)."), "<a href='http://wiki.cacert.org/'>", "</a>"); ?></p>
-
-<p><?=_("For the enthusiast looking to dip their toe in the water, we have an easy way of obtaining certificates you can use with your email program. You can use these not only to encrypt, but to prove to your friends and family that your email really does come from you.")?></p>
-
-<p><?=_("For administrators looking to protect the services they offer, we provide host and wild card certificates which you can issue almost immediately. Not only can you use these to protect websites, but also POP3, SMTP and IMAP connections, to list but a few. Unlike other certificate authorities, we don't limit the strength of the certificates, or the use of wild card certificates. Everyone should have the right to security and to protect their privacy, not just those looking to run ecommerce sites.")?></p>
-
-<p><?=_("If you're extremely serious about encryption, you can join CAcert's Assurance Programme and Web of Trust. This allows you to have your identity verified to obtain added benefits, including longer length certificates and the ability to include your name on email certificates."); ?></p>
-
-<p><?=_("CAcert Inc. is a non-profit association, incorporated in New South Wales Australia.")?></p>
-<p><?=_("More information about CAcert Incorporated:")?><a href="http://wiki.cacert.org/wiki/CAcertIncorporated">http://wiki.cacert.org/wiki/CAcertIncorporated</a></p>
+<p style="background-color: #FF8080; font-size: 150%">
+<?
+printf(_("This page has been moved to the %swiki%s. Please update your ".
+ "bookmarks and report any broken links."),
+ '<a href="//wiki.cacert.org/FAQ/AboutUs">', '</a>');
+?>
+</p>
diff --git a/pages/index/13.php b/pages/index/13.php
index 34cbea4..68ee5ed 100644
--- a/pages/index/13.php
+++ b/pages/index/13.php
@@ -19,7 +19,11 @@
<h4><?=_("If I'd like to donate to CAcert Inc., how can I do it?")?></h4>
-<p><?=_("CAcert Inc. is a non-profit association which is legally able to accept donations. CAcert adheres to strict guidelines about how this money can to be used. If you'd like to make a donation, you can do so via")?>
+<p>
+<?
+printf(_("CAcert Inc. is a non-profit association which is legally able to accept donations. CAcert adheres to %sstrict guidelines%s about how this money can to be used. If you'd like to make a donation, you can do so via"),
+ '<a href="//wiki.cacert.org/FAQ/DonationsGuideline">', '</a>');
+?>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
diff --git a/pages/wot/5.php b/pages/wot/5.php
index 6c53d00..f717870 100644
--- a/pages/wot/5.php
+++ b/pages/wot/5.php
@@ -20,16 +20,10 @@
<?
if(array_key_exists('error',$_SESSION['_config']) && $_SESSION['_config']['error'] != "")
{
- if(array_key_exists('reminderset',$_SESSION['_config']) && $_SESSION['_config']['remindersent'] == 1)
- {
- ?><font color="orange" size="+1"><?
- }
- else
- {
- ?><font color="orange" size="+1"><?=_("ERROR")?>: <?
- }
- echo $_SESSION['_config']['error']."</font>";
- unset($_SESSION['_config']['error']);
+ ?><font color="orange" size="+1">
+ <? echo _("ERROR").": ".$_SESSION['_config']['error'] ?>
+ </font>
+ <?unset($_SESSION['_config']['error']);
}
?>
<? if(array_key_exists('noemailfound',$_SESSION['_config']) && $_SESSION['_config']['noemailfound'] == 1) { ?>
diff --git a/scripts/37de-blit2011-email.txt b/scripts/37de-blit2011-email.txt
new file mode 100644
index 0000000..365bd5b
--- /dev/null
+++ b/scripts/37de-blit2011-email.txt
@@ -0,0 +1,18 @@
+8. Brandenburger Linux-Infotag 2011 -- Helfer Gesucht
+:::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+Hallo CAcerties,
+
+am Samstag, dem 5. November 2011 moechte sich CAcert mit einem Stand auf dem 8. Brandenburger Linux-Infotag 2011 (Motto: "Freie Gedanken - Freie Systeme") praesentieren. Hierzu wurde nun im Wiki eine Organisationsseite eingerichtet, auf der Ihr Euch als Helfer eintragen koennt
+ http://wiki.cacert.org/events/BLIT2011
+Sofern Ihr aus Berlin, Potsdam sowie Umgebung oder von woanders kommt und Zeit wie auch Lust habt, dann tragt Euch bitte, gerne auch nur fuer einen
+bestimmten Zeitraum, ein. Wer in den vergangenen Jahren dabei war, weiss vieviel Spass es allen gemacht hat!
+
+Auf der Veranstaltung sind Professoren, wissenschaftliche Mitarbeiter und in jedem Fall viele Studenten zu erwarten. Es waere daher super, wenn wir dort moeglichst viele von CAcert ueberzeugen koennen, um dort eine neue Keimzelle entstehen lassen zu koennen. Daher benoetigen wir mindestens drei Assurer, um 100 Punkte vergeben zu koennen.
+
+Wir freuen uns auf Eure Mithilfe.
+
+
+Wiki Organisationsseite: [http://wiki.cacert.org/events/BLIT2011]
+
+Kontakt: events@cacert.org
diff --git a/scripts/37de-blit2011-mail.php.txt b/scripts/37de-blit2011-mail.php.txt
new file mode 100644
index 0000000..e0ecead
--- /dev/null
+++ b/scripts/37de-blit2011-mail.php.txt
@@ -0,0 +1,106 @@
+#!/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");
+
+ $lines = "";
+ $fp = fopen("37de-blit2011-email.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $lines .= wordwrap($line, 75, "\n")."\n";
+ }
+ fclose($fp);
+
+
+// $locid = intval($_REQUEST['location']);
+// $maxdist = intval($_REQUEST['maxdist']);
+// maxdist in [Km]
+ $maxdist = 200;
+
+
+// location location.ID
+// verified: 29.4.09 u.schroeter
+// $locid = 7902857; // Paris
+// $locid = 238568; // Bielefeld
+// $locid = 715191; // Hamburg
+// $locid = 1102495; // London
+// $locid = 520340; // Duesseldorf
+// $locid = 1260319; // Muenchen
+// $locid = 606058; // Frankfurt
+// $locid = 1775784; // Stuttgart
+// $locid = 228950; // Berlin
+// $locid = 606058; // Frankfurt
+// $locid = 599389; // Flensburg
+// $locid = 61065; // Amsterdam, Eemnes
+// $locid = 228950; // Berlin
+// $locid = 2138880; // Baltimore (Baltimore (city)), Maryland, US
+// $locid = 1486658; // Potsdam
+// $locid = 664715; // Goteborg, Vastra Gotaland, Sweden
+// $locid = 2094781; // Mission Hills (Los Angeles), California, US
+// $locid = 423655; // Copenhagen, Kobenhavn*, Denmark
+// $locid = 2257312; // Sydney, New South Wales, Australia
+// $locid = 572764; // Essen, Nordrhein-Westfalen, Germany
+// $locid = 78; // Aachen, Nordrhein-Westfalen, Germany
+// $locid = 266635; // Bonn, Nordrhein-Westfalen, Germany
+// $locid = 2102723; // Washington (District of Columbia, ..., US
+// $locid = 2177566; // New York (Bronx), New York, United States
+
+// BLIT2011
+ $locid = 1486658; // Potsdam
+ $eventname = "8. Brandenburger Linux-Infotag 2011 - Potsdam";
+ $city = "5. Nov 2011";
+
+
+ $query = "select * from `locations` where `id`='$locid'";
+ $loc = mysql_fetch_assoc(mysql_query($query));
+
+ $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) +
+ (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) *
+ COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.*
+ FROM `locations`
+ inner join `users` on `users`.`locid` = `locations`.`id`
+ inner join `alerts` on `users`.`id`=`alerts`.`memid`
+ inner join `notary` on `users`.`id`=`notary`.`to`
+ WHERE (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+ GROUP BY `users`.`id`
+ HAVING `distance` <= '$maxdist'
+ ORDER BY `distance` ";
+ echo $query;
+
+ // comment next line when starting to send mail not only to me
+ // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+ $res = mysql_query($query);
+ $xrows = mysql_num_rows($res);
+
+ while($row = mysql_fetch_assoc($res))
+ {
+ // uncomment next line to send mails ...
+ sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ }
+ // 1x cc to events.cacert.org
+ sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ // 1x mailing report to events.cacert.org
+ sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+
+ // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+ sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ echo "invitation sent to $xrows recipients.\n";
+
+?>
diff --git a/scripts/38us-fudcon2012-email.txt b/scripts/38us-fudcon2012-email.txt
new file mode 100644
index 0000000..afb3387
--- /dev/null
+++ b/scripts/38us-fudcon2012-email.txt
@@ -0,0 +1,17 @@
+Hi,
+
+I'm a Fedora developer and sysadmin (and a CAcert Assurer), and am going to be attending the Fedora Users and Developers Conference which will be held at Virginia Tech from January 13 - 15, 2012.
+
+We have a GPG/PGP keysigning party planned, and I'm interested in getting some people together to offer CAcert assurances. This is especially important since CAcert will be removing all points formerly obtained by Thawte Point Transfer very soon.
+
+Would you be interested in helping with a CAcert assurance event at FUDCon? I'm not sure of the date yet, but it would be somewhere between the 13th and 15th.
+
+Please contact me at either nb@fedoraproject.org or nb@cacert.org if you might be interested in helping with this.
+
+Nick
+
+Further infos:
+ * [https://wiki.cacert.org/Events/FUDConBlacksburg] CAcert organizing wiki page
+ * [http://fedoraproject.org/wiki/FUDCon:Blacksburg_2012] has more information about FUDCon.
+
+Contact: events@cacert.org
diff --git a/scripts/38us-fudcon2012-mail.php.txt b/scripts/38us-fudcon2012-mail.php.txt
new file mode 100644
index 0000000..d90f5a2
--- /dev/null
+++ b/scripts/38us-fudcon2012-mail.php.txt
@@ -0,0 +1,107 @@
+#!/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");
+
+ $lines = "";
+ $fp = fopen("38us-fudcon2012-email.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $lines .= wordwrap($line, 75, "\n")."\n";
+ }
+ fclose($fp);
+
+
+// $locid = intval($_REQUEST['location']);
+// $maxdist = intval($_REQUEST['maxdist']);
+// maxdist in [Km]
+ $maxdist = 250;
+
+
+// location location.ID
+// verified: 29.4.09 u.schroeter
+// $locid = 7902857; // Paris
+// $locid = 238568; // Bielefeld
+// $locid = 715191; // Hamburg
+// $locid = 1102495; // London
+// $locid = 520340; // Duesseldorf
+// $locid = 1260319; // Muenchen
+// $locid = 606058; // Frankfurt
+// $locid = 1775784; // Stuttgart
+// $locid = 228950; // Berlin
+// $locid = 606058; // Frankfurt
+// $locid = 599389; // Flensburg
+// $locid = 61065; // Amsterdam, Eemnes
+// $locid = 228950; // Berlin
+// $locid = 2138880; // Baltimore (Baltimore (city)), Maryland, US
+// $locid = 1486658; // Potsdam
+// $locid = 664715; // Goteborg, Vastra Gotaland, Sweden
+// $locid = 2094781; // Mission Hills (Los Angeles), California, US
+// $locid = 423655; // Copenhagen, Kobenhavn*, Denmark
+// $locid = 2257312; // Sydney, New South Wales, Australia
+// $locid = 572764; // Essen, Nordrhein-Westfalen, Germany
+// $locid = 78; // Aachen, Nordrhein-Westfalen, Germany
+// $locid = 266635; // Bonn, Nordrhein-Westfalen, Germany
+// $locid = 2102723; // Washington (District of Columbia, ..., US
+// $locid = 2177566; // New York (Bronx), New York, United States
+// $locid = 1486658; // Potsdam BLIT2011
+
+// FUDcon 2012
+ $locid = 2237836; // Blacksburg (Montgomery), Virginia, United States
+ $eventname = "FUDCon 2012";
+ $city = "Blacksburg, VA";
+
+
+ $query = "select * from `locations` where `id`='$locid'";
+ $loc = mysql_fetch_assoc(mysql_query($query));
+
+ $query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) +
+ (COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) *
+ COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.*
+ FROM `locations`
+ inner join `users` on `users`.`locid` = `locations`.`id`
+ inner join `alerts` on `users`.`id`=`alerts`.`memid`
+ inner join `notary` on `users`.`id`=`notary`.`to`
+ WHERE (`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
+ GROUP BY `users`.`id`
+ HAVING `distance` <= '$maxdist'
+ ORDER BY `distance` ";
+ echo $query;
+
+ // comment next line when starting to send mail not only to me
+ // $query = "select * from `users` where `email` like 'cacerttest%'";
+
+ $res = mysql_query($query);
+ $xrows = mysql_num_rows($res);
+
+ while($row = mysql_fetch_assoc($res))
+ {
+ // uncomment next line to send mails ...
+ sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ }
+ // 1x cc to events.cacert.org
+ sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ // 1x mailing report to events.cacert.org
+ sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+
+ // 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
+ sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
+ echo "invitation sent to $xrows recipients.\n";
+
+?>
diff --git a/scripts/db_migrations/version1.sh b/scripts/db_migrations/version1.sh
new file mode 100755
index 0000000..48e24f9
--- /dev/null
+++ b/scripts/db_migrations/version1.sh
@@ -0,0 +1,164 @@
+#!/bin/sh
+# LibreSSL - CAcert web application
+# Copyright (C) 2004-2011 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
+
+
+
+# script to do database migrations
+
+# This particular version migrates from the preversioned state to version 1
+# If you want to reuse it for further migrations you probably should pay special
+# attention because you have to adjust it a bit
+
+set -e # script fails if any command fails
+
+STDIN=0
+STDOUT=1
+STDERR=2
+
+if [ "$1" = "--help" ]; then
+ cat >&$STDERR <<- USAGE
+ Usage: $0 [MYSQL_OPTIONS]
+ You have to specify all options needed by "mysql" as if you had started
+ the MySQL command line client directly (including the name of the
+ database to operate on). The MySQL user used has to have enough
+ privileges to do all necessary operations (among others CREATE, ALTER,
+ DROP, UPDATE, INSERT, DELETE).
+ You might need to enter the mysql password multiple times if you
+ specify the -p option.
+ USAGE
+ exit 1
+fi
+
+mysql_opt=" --batch --skip-column-names $@"
+
+schema_version=$( mysql $mysql_opt <<- 'SQL'
+ CREATE TABLE IF NOT EXISTS `schema_version` (
+ `id` int(11) PRIMARY KEY auto_increment,
+ `version` int(11) NOT NULL UNIQUE,
+ `when` datetime NOT NULL
+ ) DEFAULT CHARSET=latin1;
+
+ SELECT MAX(`version`) FROM `schema_version`;
+SQL
+)
+
+if [ $schema_version != "NULL" ]; then
+ cat >&$STDERR <<- ERROR
+ Error: database schema is not in the right version to do the migration!
+ Expected version: 0 (i.e. the version before there was versioning)
+ ERROR
+ exit 2
+fi
+
+
+mysql $mysql_opt <<- 'SQL'
+ -- CCA agreements and such
+ CREATE TABLE `user_agreements` (
+ `id` int(11) PRIMARY KEY auto_increment,
+
+ -- the user that agrees
+ `memid` int(11) NOT NULL,
+
+ -- user that is involved in the agreement (e.g. Assurer)
+ `secmemid` int(11) DEFAULT NULL,
+
+ -- what is being agreed to? e.g. CCA
+ `document` varchar(50) DEFAULT NULL,
+
+ -- when did the agreement take place?
+ `date` datetime DEFAULT NULL,
+
+ -- whether the user actively agreed or if the agreement took place via
+ -- an indirect process (e.g. Assurance)
+ `active` int(1) NOT NULL,
+
+ -- in which process did the agreement take place (e.g. certificate
+ -- issuance, account creation, assurance)
+ `method` varchar(100) NOT NULL,
+
+ -- user comment
+ `comment` varchar(100) DEFAULT NULL
+ ) DEFAULT CHARSET=latin1;
+
+
+ -- description for all certs to make identifying a cert easier
+ ALTER TABLE `domaincerts` ADD `description` varchar(100) NOT NULL
+ DEFAULT '';
+ ALTER TABLE `emailcerts` ADD `description` varchar(100) NOT NULL
+ DEFAULT '';
+ ALTER TABLE `gpg` ADD `description` varchar(100) NOT NULL
+ DEFAULT '';
+ ALTER TABLE `orgdomaincerts` ADD `description` varchar(100) NOT NULL
+ DEFAULT '';
+ ALTER TABLE `orgemailcerts` ADD `description` varchar(100) NOT NULL
+ DEFAULT '';
+
+
+ -- Bugs #855, #863, #864, #888
+ ALTER TABLE `notary`
+ -- allow for marking as deleted instead of really deleting
+ ADD `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+
+ -- add "TOPUP" as method for point transfers (for TTP)
+ MODIFY `method`
+ enum(
+ 'Face to Face Meeting',
+ 'Trusted Third Parties',
+ 'Thawte Points Transfer',
+ 'Administrative Increase',
+ 'CT Magazine - Germany',
+ 'Temporary Increase',
+ 'Unknown',
+ 'TOPUP'
+ ) NOT NULL DEFAULT 'Face to Face Meeting';
+
+
+
+ -- Organisation Assurance
+ ALTER TABLE `orginfo`
+ -- which Organisation Assurer entered the organisation?
+ ADD `creator_id` int(11) NOT NULL DEFAULT '0',
+
+ -- when was the organisation entered?
+ ADD `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+
+ -- allow for marking as deleted instead of really deleting
+ ADD `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00';
+
+ ALTER TABLE `org`
+ -- which Organisation Assurer assigned the Organisation Admin?
+ ADD `creator_id` int(11) NOT NULL DEFAULT '0',
+
+ -- when was the Organisation Admin assigned?
+ ADD `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+
+ -- allow for marking as deleted instead of really deleting
+ ADD `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00';
+
+
+
+
+ -- Update schema version number
+ INSERT INTO `schema_version`
+ (`version`, `when`) VALUES
+ ('1' , NOW() );
+SQL
+
+
+echo "Database successfully migrated to version 1"
+exit 0
+
diff --git a/scripts/send_thawte.php.txt b/scripts/send_thawte.php.txt
new file mode 100644
index 0000000..d3a9e77
--- /dev/null
+++ b/scripts/send_thawte.php.txt
@@ -0,0 +1,167 @@
+#!/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");
+
+// english (use the same for foreign language, too)
+
+ $lines_EN = "";
+ if (file_exists("thawte_EN.txt"))
+ {
+ $fp = fopen("thawte_EN.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_EN .= $line;
+ }
+ fclose($fp);
+ }
+
+ $lines_DE = "";
+ if (file_exists("thawte_DE.txt"))
+ {
+ $fp = fopen("thawte_DE.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_DE .= $line;
+ }
+ fclose($fp);
+ }
+
+ $lines_NL = "";
+ if (file_exists("thawte_NL.txt"))
+ {
+ $fp = fopen("thawte_NL.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_NL .= $line;
+ }
+ fclose($fp);
+ }
+
+ $lines_FR = "";
+ if (file_exists("thawte_FR.txt"))
+ {
+ $fp = fopen("thawte_FR.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_FR .= $line;
+ }
+ fclose($fp);
+ }
+
+ $lines_ES = "";
+ if (file_exists("thawte_ES.txt"))
+ {
+ $fp = fopen("thawte_ES.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_ES .= $line;
+ }
+ fclose($fp);
+ }
+
+ $lines_RU = "";
+ if (file_exists("thawte_RU.txt"))
+ {
+ $fp = fopen("thawte_RU.txt", "r");
+ while(!feof($fp))
+ {
+ $line = trim(fgets($fp, 4096));
+ $line = wordwrap($line, 75, "\n")."\n";
+ $line = mb_convert_encoding($line, "HTML-ENTITIES", "UTF-8");
+ $lines_RU .= $line;
+ }
+ fclose($fp);
+ }
+
+// read last used id
+ $lastid = 0;
+ if (file_exists("send_thawte_lastid.txt"))
+ {
+ $fp = fopen("send_thawte_lastid.txt", "r");
+ $lastid = trim(fgets($fp, 4096));
+ fclose($fp);
+ }
+
+ echo "ID now: $lastid\n";
+
+
+ $count = 0;
+
+ $query = "select `id`,`fname`,`lname`,`email`,`language` from `users` where `deleted` = 0 and `id` > '$lastid' order by `id`";
+
+ $res = mysql_query($query);
+
+ while($row = mysql_fetch_assoc($res))
+ {
+ $mailtxt = "Hello ${row["fname"]} ${row["lname"]},\n".$lines_EN."\n\n";
+ switch ($row["language"])
+ {
+ case "de_DE":
+ case "de":
+ $mailtxt .= $lines_DE;
+ break;
+
+ case "nl_NL":
+ case "nl":
+ $mailtxt .= $lines_NL;
+ break;
+
+ case "fr_FR":
+ case "fr":
+ $mailtxt .= $lines_FR;
+ break;
+
+ case "es_ES":
+ case "es":
+ $mailtxt .= $lines_ES;
+ break;
+
+ case "ru_RU":
+ case "ru":
+ $mailtxt .= $lines_RU;
+ break;
+ }
+
+ sendmail($row['email'], "[CAcert.org] Changes at CAcert", $mailtxt, "mailing@cacert.org", "", "", "CAcert", "returns@cacert.org", "");
+
+ $fp = fopen("send_thawte_lastid.txt", "w");
+ fputs($fp, $row["id"]."\n");
+ fclose($fp);
+
+ $count++;
+ echo "Sent ${count}th mail. User ID: ${row["id"]}\n";
+
+ sleep (1);
+ }
+?>
diff --git a/scripts/thawte_DE.txt b/scripts/thawte_DE.txt
new file mode 100644
index 0000000..9f51516
--- /dev/null
+++ b/scripts/thawte_DE.txt
@@ -0,0 +1,35 @@
+Wir freuen uns, euch aktuelle Veränderungen bei CAcert zeigen zu können.
+
+Obwohl auch bisher schon viel getan wurde, geschah dies jedoch zumeist "unter der Haube". Heute jedoch möchten wir eine sichtbare Änderung ankündigen:
+
+
+ 1. Änderung der "Meine Punkte Seite"
+
+Die Punkte Liste im Menü unter "Meine Details" -> "Meine Punkte" wird erweitert. Wesentlicher Punkt ist: Die erhaltenen und vergebenen Assurance-Punkte werden neu ermittelt.
+
+War für die Darstellung bisher ausschlaggebend, wie viele Punkte der Empfänger bereits hatte und wurde ggf. entsprechend bis auf 0 Punkte abgerundet, so werden zukünftig genau die Punkte angezeigt, die auch vergeben wurden. Dabei kann ein Assuree auch in Zukunft nur maximal 100 Punkte durch Assurances angerechnet bekommen, indem er seine Identität überprüfen lässt (Assurance Points). Als Assurer kann er bis zu 50 Erfahrungspunkte sammeln, indem er die Identität anderer Mitglieder überprüft (Experience Points).
+
+Natürlich gehen durch diesen Schritt keine Punkte "verloren", sondern die Punkte werden nur verständlicher dargestellt.
+
+Durch die neue Darstellung wird der Berechnungsvorgang deutlich transparenter und nachvollziehbarer. Bitte schaut euch doch demnächst einmal die neue Punkteliste an. Diese findet ihr unter https://www.cacert.org/wot.php?id=15
+
+
+ 2. Tverify Punkte Streichung
+
+Damit einher geht auch der künftige Wegfall der bei einigen Mitgliedern eventuell noch von früher vorhandene Tverify-Punkten. Diese von der CA Thawte vergebenen Punkte können schon seit geraumer Zeit nicht mehr an CAcert-Mitglieder übertragen werden. Die bereits vergebenen Punkte können allerdings nicht nach vergebender Person unterschieden werden und sind deshalb durch CAcert nicht überprüfbar. Deshalb werden diese Punkte in naher Zukunft nicht mehr berücksichtigt. Es lohnt sich also im Zweifelsfall durch weitere CAcert Assurances zusätzliche Assurance Punkte zu erhalten.
+
+Mit diesen Maßnahmen wird ein weiterer Schritt umgesetzt, der für ein erfolgreiches Audit notwendig ist. Ein bestandenes Audit stellt einen wichtigen Baustein dar, um später als CA in die Browser aufgenommen zu werden.
+
+
+ 3. Überprüfung der Newsletter Einstellungen
+
+Einen weiteren, wichtigen Punkt möchten wir hier darüber hinaus an alle Empfänger dieses Newsletters richten: In Zukunft möchten wir gerne alle paar Monate einen Newsletter mit unseren wichtigsten Neuerungen versenden. Dieser Newsletter wurde an alle CAcert-Teilnehmer versendet. Bitte prüft eure Einstellungen im Menü von www.cacert.org unter "Meine Details" -> "Meine Benachrichtigungen" oder unter https://www.cacert.org/account.php?id=36 und klickt an, welche Newsletter ihr zukünftig wirklich bekommen möchtet. In Zukunft werden wir uns auf diese Angaben verlassen und nur an diejenigen die Newsletter verschicken, die zum entsprechenden Punkt eine Information wünschen.
+
+
+Viele Grüße,
+Alexander Bahlo
+Officer for public relations
+CAcert.org
+
+Weitere Infos zur neuen Zählweise im CAcert Wiki:
+https://wiki.cacert.org/FAQ/NewPointsCount
diff --git a/scripts/thawte_EN.txt b/scripts/thawte_EN.txt
new file mode 100644
index 0000000..37a5528
--- /dev/null
+++ b/scripts/thawte_EN.txt
@@ -0,0 +1,35 @@
+
+we are proud to announce recent changes in the CAcert website.
+
+Although there have been quite a few changes in the past, mostly they have happened "behind the scenes". Today we can announce more visible changes:
+
+
+ 1. Change to My Points page
+
+The Point list in the menu under "My Details" -> "My Points" will be enhanced. Main Point is: The Assurance Points received and given will be allocated in a new way. The crucial point was the working total of Assurance Points allocated to the Assuree. Previously, only the beneficial points were displayed, and points allocated in Assurances were rounded down if in excess of 100.
+
+From now on, all allocated points are displayed. The Assuree can still only benefit up to a maximum of 100 Assurance Points. As an Assurer, the member may benefit up to a maximum of 50 Experience Points by assuring other members. The new list will display the calculation much more transparently. Please have a look at the new points listing at https://www.cacert.org/wot.php?id=15
+
+
+ 2. Tverify points revoked
+
+Along with this change, all points allocated under the old Tverify program will be revoked in the near future. The Tverify program to transfer points allocated by Thawte Notaries across to CAcert members was stopped sometime ago. Tverify points cannot be verified by CAcert (for example, they cannot be distinguished between the different Notaries), and therefore, these points will be revoked soon. If you are unsure about your level of assurance, we recommend that you seek further assurance from CAcert Assurers.
+
+By performing these measures, we take another step towards a successful audit. Passing the audit is an important building block to be accepted as a CA in the internet browsers.
+
+
+ 3. Check your Alert Settings
+
+We would like to advise you of another important fact: In the future, we intend to send you further newsletters with our most important news, every few months. This present newsletter is being sent to all CAcert Community Member in a one-off mailing. For the future, please check your settings online at www.cacert.org under "My Details" -> "My Alert Settings" or at https://www.cacert.org/account.php?id=36 and choose which newsletters you want to receive. In the future, we intend to rely on your settings so as to send our newsletter only to those who wish to receive the specified information.
+
+
+Best regards,
+Alexander Bahlo
+Officer for Public Relations
+CAcert.org
+
+Further information on the New Points counting:
+https://wiki.cacert.org/FAQ/NewPointsCount
+
+
+
diff --git a/scripts/thawte_ES.txt b/scripts/thawte_ES.txt
new file mode 100644
index 0000000..4199a16
--- /dev/null
+++ b/scripts/thawte_ES.txt
@@ -0,0 +1,31 @@
+Anunciamos con orgullo los recientes cambios en el sitio web de Cacert
+
+Aunque ha habido algunos cambios en el pasado, muchos de ellos han tenido lugar “tras bambalinas”. Hoy, podemos anunciar cambios más visibles:
+
+
+1. Cambios en la página “Mis Puntos”
+
+La lista de puntos en la opción del menú “Mis Datos” → “Mis puntos” ha sido mejorada. El cambio principal es que los Puntos de Seguridad recibidos y emitidos serán mostrados bajo un nuevo esquema. Lo más destacado se encuentra en los Puntos de Seguridad asignados al Asegurado. Anteriormente, sólo los puntos obtenidos eran mostrados, y los puntos asignados en Certificaciones eran redondeadas a la baja si superaban los 100 puntos.
+
+A partir de ahora, se mostrarán todos los puntos asignados. El Asegurado aún puede beneficiarse solamente de un máximo de 100 Puntos de Seguridad. Como Asegurador, el miembro puede beneficiarse hasta un máximo de 50 puntos de experiencia al asegurar a otros miembros. El nuevo formato mostrará la disposición de una forma mucho más transparente. Por favor, dele un vistazo a la nueva lista de puntos en https://www.cacert.org/wot.php?id=15
+
+
+2. Revocación de los puntos Tverify
+
+En el conjunto de cambios, todos los puntos asignados mediante el viejo programa Tverify serán revocados en un futuro cercano. El programa Tverify para transferir los puntos asignados por Notarios de Thawte a miembros de Cacert fue detenido hace algún tiempo. Los puntos Tverify no pueden ser verificados por Cacert (por ejemplo, no se pueden distinguir los puntos emitidos por diferente notarios), y por lo tanto, dichos puntos serán revocados en breve. Si no está seguro acerca de su nivel de seguridad, recomendamos que aumente su nivel de seguridad a través de los Aseguradores de Cacert.
+
+Aplicando éstas medidas, damos otro paso hacia una auditoría exitosa. Superar la auditoría es un elemento importante para ser aceptado como un CA (Autoridad de Certificación) en los navegadores de internet.
+
+
+3. Actualice su configuración en la página “Mi Configuración de Alertas”
+
+Nos gustaría avisarle de otro hecho importante: En el futuro, tenemos la intención de enviar más boletines informativos con nuestras novedades y/o noticias más importantes cada pocos meses. Este boletín está siendo enviado en un único correo a todos los miembros de la comunidad CAcert. Para futuros envíos, le rogamos que revise su configuración en www.cacert.org en la opción de menú "Mis Datos" → "Mi Configuración de Alertas" o en https://www.cacert.org/account.php?id=36 y seleccione la listas que desea recibir. Tenemos la intención de utilizar su configuración para enviar solo la información que desee recibir.
+
+
+Saludos,
+Alexander Bahlo
+Officer for Public Relations
+CAcert.org
+
+Para más información sobre la nueva cuenta de puntos
+https://wiki.cacert.org/FAQ/NewPointsCount
diff --git a/scripts/thawte_FR.txt b/scripts/thawte_FR.txt
new file mode 100644
index 0000000..b16fa14
--- /dev/null
+++ b/scripts/thawte_FR.txt
@@ -0,0 +1,31 @@
+Nous sommes heureux d'annoncer les changements récents dans le site Web de CAcert.
+
+Il y a eu quelques changements par le passé, principalement des modifications non visibles pour l'utilisateur. Aujourd'hui, nous pouvons annoncer des changements plus importants :
+
+
+ 1. Changement sur la page "mes Points"
+
+La liste de points dans le menu « Mes Détails » -> « Mes Points » sera améliorée. Principalement, les accréditations "Points reçus" et "donnés" seront allouées d'une nouvelle manière. Le point crucial a été le travail sur le total des points d'accréditation alloués. Auparavant, seuls les points d'accréditation étaient affichés, maintenant ces points d'accréditations ont été arrondis si le total est supérieur à 100.
+
+Le membre qui a reçu des points d'accréditation ne peut bénéficier que d'un maximum de 100 Points. En tant qu'accréditeur, le membre peut bénéficier jusqu'à un maximum de 50 Points d'expérience en accréditant d'autres membres. La nouvelle liste affichera ce calcul en détail. Veuillez, s'il vous plait, regarder votre nouveau décompte de points à la page https://www.cacert.org/wot.php?id=15
+
+
+ 2. Les points "Tverify" révoquées
+
+Avec ce changement, tous les points attribués à la faveur de l'ancien programme "Tverify" seront révoqués prochainement. Le programme "Tverify" pour transférer des points attribués par des accréditeurs Thawte aux membres de CAcert a été arrêté il y a quelques mois. les points "Tverify" ne peuvent être vérifiées valablement par CAcert (par exemple, on ne peut distinguer les différents accréditeurs les ayant attribués), par conséquent, ces points seront abrogées bientôt. Si vous n'êtes pas certain de votre niveau d'accréditation, nous vous recommandons de vous renseigner auprès de la Communauté CAcert et de son support.
+
+En mettant en place ces mesures, nous franchisons une nouvelle étape vers la réalisation d'un audit de processus de l'Association. Cet audit est une étape importante pour être accepté comme une Autorité de Certification dans les navigateurs Internet.
+
+
+ 3. Vérifiez vos paramètres d'alerte
+
+Nous tenons à vous informer d'autres faits importants : à l'avenir, nous comptons vous envoyer d'autres bulletins d'informations importantes, périodiquement, au fil des mois. Ce présent bulletin est envoyé ponctuellement à tous les membres de la communauté CAcert. Veuillez vérifier en ligne vos paramètres de réception d'information sur www.cacert.org dans "Mes Details" -> "Mes paramètres d'alerte" ou à https://www.cacert.org/account.php?id=36 et choisissez les bulletins vous voulez recevoir. À l'avenir, nous avons l'intention de nous appuyer sur vos paramètres afin d'envoyer nos bulletins d'information à ceux qui désirent les recevoir.
+
+
+Cordialement,
+Alexander Bahlo
+Responsable des Relations Publiques
+CAcert.org
+
+Plus d'informations sur le nouveau décompte des Points :
+https://wiki.cacert.org/FAQ/NewPointsCount
diff --git a/scripts/thawte_NL.txt b/scripts/thawte_NL.txt
new file mode 100644
index 0000000..55e0531
--- /dev/null
+++ b/scripts/thawte_NL.txt
@@ -0,0 +1,35 @@
+We zijn blij u te laten weten dat recent onze CAcert website een aantal veranderingen heeft ondergaan.
+
+Ook al zijn er al vele wijzigingen geweest in het verleden, de meeste hiervan waren alleen achter de schermen zichtbaar. Vandaag kunnen we een aantal meer zichtbare veranderingen aankondigen:
+
+
+ 1. Veranderingen aan de 'Mijn Punten' pagina.
+
+De punten lijst, te vinden onder "Mijn Details" -> "Mijn Punten" in het menu, zal verbeteren.
+Belangrijkste wijziging: De Waarmerk punten die u ontvangt en geeft zullen op een nieuwe manier toegekend worden. De cruciale verandering is de aanpassing hoe het totaal aantal toegewezen Waarmerk Punten aan de gewaarmerkte wordt getoond. In het verleden werden alleen de punten getoond welke strict noodzakelijk waren, waarbij afgerond werd naar beneden als het totaal boven de 100 punten kwam.
+
+Vanaf nu zullen alle toegewezen punten worden getoond. De Gewaarmerkte kan nog steeds maar profiteren van maximaal 100 Waarmerk Punten. Als waarmerker kan een deelnemer maximaal profiteren van 50 Ervarings-Punten door andere deelnemers te waarmerken. De nieuwe lijst zal de berekening transparanter maken. Neem a.u.b. een kijkje op https://www.cacert.org/wot.php?id=15 om te zien hoe de nieuwe punten weergave er uit ziet.
+
+
+ 2. Tverify punten ingetrokken.
+
+Samen met deze verandering zullen ook alle punten die in het verleden zijn toegewezen onder het oude 'Tverify programma' over afzienbare tijd worden ingetrokken. Het Tverify programma (om punten toegekend door Thawte Waarmerkers over te zetten naar CAcert Deelnemers) is al enige tijd geleden stil gezet. Tverify punten vallen buiten de controle van CAcert (er kan bijvoorbeeld geen onderscheid worden gemaakt tussen verschillende waarmerkers), daarom worden deze punten binnen afzienbare tijd ingetrokken.
+Als u niet zeker bent over uw waarmerk niveau, raden wij u aan meer waarmerkingen te zoeken bij CAcert Waarmerkers.
+
+Door deze stappen te nemen komt een succesvolle audit een stap dichterbij. De audit rond krijgen is belangrijk om geaccepteerd te worden als CA in de internetbrowsers.
+
+
+ 3. Controleer uw Waarschuwing instellingen.
+
+Wij willen u graag wijzen op een ander belangrijk feit: In de toekomst willen wij u graag, eens in de zoveel maanden, een nieuwsbrief sturen met belangrijk nieuws.
+Deze eenmalige nieuwsbrief hebben we naar alle CAcert deelnemers toe gestuurd. Controleer s.v.p. uw instellingen, te vinden op www.cacert.org onder "Mijn Gegevens" -> "Mijn Waarschuwingen" of op https://www.cacert.org/account.php?id=36, en geef aan welke nieuwsbrieven u wilt ontvangen. In de toekomst zullen wij u alleen de door u aangegeven nieuwsbrieven toesturen.
+
+
+Met vriendelijke groet,
+
+Alexander Bahlo
+Officer for Public Relations
+CAcert.org
+
+Meer informatie over het Nieuwe Punten tel systeem is te vinden op:
+https://wiki.cacert.org/FAQ/NewPointsCount
diff --git a/scripts/thawte_RU.txt b/scripts/thawte_RU.txt
new file mode 100644
index 0000000..84548af
--- /dev/null
+++ b/scripts/thawte_RU.txt
@@ -0,0 +1,31 @@
+Mы рады сообщить об изменениях на веб-сайте CAcert.
+
+Изменения были и раньше, но проходили они большей частью "за сценой". Сегодня мы хотим сообщить о наиболее важных из них:
+
+
+ 1. Изменения в странице My Points (Мои пункты)
+
+Список пунктов доступный в меню "My Details" -> "My Points" будет усовершенствован. Главное изменение: выданные и полученные Пункты Подтверждения (Assurance Points) будут начисляться по-новому, а именно в том, что касается суммарного количество пунктов, начисленных подтверждаемому участнику (Assuree). Раньше показывались только действующие пункты, а те, что превышали границу в 100 пунктов, просто округлялись до значения 100.
+
+Теперь показываются все начисленные пункты. Подтверждаемый (Assuree) по-прежнему может заработать максимум 100 пунктов. Подтверждающий (Assurer) может заработать ещё до 50 пунктов подтверждая других. В новом списке эти вычисления будут показаны более прозрачно. Пожалуйста, посмотрите на новый список здесь: https://www.cacert.org/wot.php?id=15
+
+
+ 2. Отозваны пункты Tverify
+
+В связи с этим, все пункты, которые были начислены по старой программе Tverify, будут удалены в ближайшем будущем. Программа Tverify по передаче пунктов, выданных нотариусами Thawte участникам CAcert, была некоторое время назад приостановлена. Пункты Thawte не могут быть проверены CAcert (например, нельзя различить пункты, выданные разными нотариусами), в связи с чем такие пункты в ближайшем времени будут удалены. Если вы сомневаетесь в своём уровне подтверждения (level of assurance), советуем вам пройти дополнительное подтверждение у участников CAcert, имеющих право подтверждения (CAcert Assurers).
+
+Предпринимая эти меры, мы делаем ещё один шаг к успешному аудиту. Пройти аудит — это важный элемент, для того чтобы стать принятым CA в Интернет-браузерах.
+
+
+ 3. Проверьте ваши настройки оповещений (Alert Settings)
+
+Мы хотели бы сообщить вам об ещё одном важном факте: в будущем мы намерены каждые несколько месяцев отправлять вам почтовые сообщения с наиболее важными новостями. Сейчас мы отправляем одно сообщение со всеми новостями внутри. В будущем мы хотим отправлять вам сообщения исходя из того, какие темы вы укажете в своих настройках. Проверьте, пожалуйста, свои настройки в "My Details" -> "My Alert Settings" или на https://www.cacert.org/account.php?id=36, и выберите, какие сообщения вы хотите получать.
+
+
+С наилучшими пожеланиями,
+Александр Бахло (Alexander Bahlo)
+Ответственный по связям с общественностью CAcert.org
+(Officer for Public Relations CAcert.org)
+
+Дополнительная информация о подсчёте пунктов:
+https://wiki.cacert.org/FAQ/NewPointsCount
diff --git a/www/account.php b/www/account.php
index 434053f..d1dd695 100644
--- a/www/account.php
+++ b/www/account.php
@@ -64,6 +64,10 @@
die("No such file.");
}
exit;
+ } else if ($id == 37) {
+ $protocol = $_SERVER['HTTPS'] ? 'https' : 'http';
+ $newUrl = $protocol . '://wiki.cacert.org/FAQ/AboutUs';
+ header('Location: '.$newUrl, true, 301); // 301 = Permanently Moved
} else {
showheader(_("My CAcert.org Account!"));
includeit($id, "account");
diff --git a/www/index.php b/www/index.php
index a139c4a..5f7fc14 100644
--- a/www/index.php
+++ b/www/index.php
@@ -632,6 +632,13 @@
if(!array_key_exists('signup',$_SESSION) || $_SESSION['signup']['year'] < 1900)
$_SESSION['signup']['year'] = "19XX";
+
+ if ($id == 12)
+ {
+ $protocol = $_SERVER['HTTPS'] ? 'https' : 'http';
+ $newUrl = $protocol . '://wiki.cacert.org/FAQ/AboutUs';
+ header('Location: '.$newUrl, true, 301); // 301 = Permanently Moved
+ }
if ($id == 19)
{
diff --git a/www/wot.php b/www/wot.php
index 2653f25..d70f1d5 100644
--- a/www/wot.php
+++ b/www/wot.php
@@ -16,10 +16,111 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ ?>
<?
+
+function show_page($target,$message,$error)
+{
+ showheader(_("My CAcert.org Account!"));
+ if ($error != "")
+ $message=_("ERROR").": ".$error;
+ if ($message != "")
+ echo "<p><font color='orange' size='+1'>".$message."</font></p>";
+
+ switch ($target)
+ {
+ case '0':
+ case 'InfoPage': includeit(0, "wot");
+ break;
+ case '1':
+ case 'ListByCity': includeit(1, "wot");
+ break;
+ case '2':
+ case 'BecomeAssurer': includeit(2, "wot");
+ break;
+ case '3':
+ case 'TrustRules': includeit(3, "wot");
+ break;
+ case '4':
+ case 'ShowTTPInfo': includeit(4, "wot");
+ break;
+ case '5';
+ case 'EnterEmail': includeit(5, "wot");
+ break;
+ case '6':
+ case 'VerifyData': includeit(6, "wot");
+ break;
+// case '7':
+// case '???': includeit(7, "wot");
+// break;
+ case '8':
+ case 'EnterMyInfo': includeit(8, "wot");
+ break;
+ case '9':
+ case 'ContactAssurer': includeit(9, "wot");
+ break;
+ case '10':
+ case 'MyPointsOld': includeit(10, "wot");
+ break;
+// case '11':
+// case 'OAInfo': includeit(11, "wot");
+// break;
+ case '12':
+ case 'SearchAssurer': includeit(12, "wot");
+ break;
+ case '13':
+ case 'EnterMyCity': includeit(13, "wot");
+ break;
+// case '14':
+// case 'EnterEmail': includeit(14, "wot");
+// break;
+ case '15':
+ case 'MyPointsNew': includeit(15, "wot");
+ break;
+ }
+
+ showfooter();
+}
+
+function send_reminder()
+{
+ $body = "";
+ if($_POST['reminder-lang'] != "" && $_POST['reminder-lang'] != "en_AU")
+ {
+ $userlang = $_POST['reminder-lang'];
+ $_SESSION['_config']['reminder-lang'] = $_POST['reminder-lang'];
+ putenv("LANG=".$userlang);
+ setlocale(LC_ALL, $userlang);
+
+ $body .= $_SESSION['_config']['translations'][$userlang].":\n\n";
+ $body .= sprintf(_("This is a short reminder that you filled out forms to become trusted with CAcert.org, and %s has attempted to issue you points. Please create your account at %s as soon as possible and then notify %s so that the points can be issued."), $_SESSION['profile']['fname']." (".$_SESSION['profile']['email'].")", "http://www.cacert.org", $_SESSION['profile']['fname'])."\n\n";
+ $body .= _("Best regards")."\n";
+ $body .= _("CAcert Support Team");
+
+ $body .= "\n\nEnglish:\n\n";
+ }
+
+ $body .= sprintf("This is a short reminder that you filled out forms to become trusted with CAcert.org, and %s has attempted to issue you points. Please create your account at %s as soon as possible and then notify %s so that the points can be issued.", $_SESSION['profile']['fname']." (".$_SESSION['profile']['email'].")", "http://www.cacert.org", $_SESSION['profile']['fname'])."\n\n";
+ $body .= "Best regards"."\n";
+ $body .= "CAcert Support Team";
+
+ sendmail($_POST['email'], "[CAcert.org] "._("Reminder Notice"), $body, $_SESSION['profile']['email'], "", "", $_SESSION['profile']['fname']);
+
+ if($_POST['reminder-lang'] != "" && $_POST['reminder-lang'] != "en_AU")
+ {
+ $userlang = $_SESSION['profile']['language'];
+ putenv("LANG=".$userlang);
+ setlocale(LC_ALL, $userlang);
+ }
+
+ $_SESSION['_config']['remindersent'] = 1;
+}
+
+
+
+
+
require_once("../includes/loggedin.php");
loadem("account");
-
if(array_key_exists('date',$_POST) && $_POST['date'] != "")
$_SESSION['_config']['date'] = $_POST['date'];
@@ -29,244 +130,142 @@
$oldid=array_key_exists('oldid',$_REQUEST)?intval($_REQUEST['oldid']):0;
if($oldid == 12)
- {
$id = $oldid;
- }
if(($id == 5 || $oldid == 5 || $id == 6 || $oldid == 6))
- {
- if (!is_assurer($_SESSION['profile']['id'])) {
- showheader(_("My CAcert.org Account!"));
- echo "<p>".get_assurer_reason($_SESSION['profile']['id'])."</p>";
- showfooter();
- exit;
- }
- }
+ if (!is_assurer($_SESSION['profile']['id']))
+ {
+ show_page ("Exit","",get_assurer_reason($_SESSION['profile']['id']));
+ exit;
+ }
if($oldid == 6 && intval($_SESSION['_config']['notarise']['id']) <= 0)
{
- $oldid=0;
- $id = 5;
+ show_page ("EnterEmail","",_("Something went wrong. Please enter the email address again"));
+ exit;
}
-
if($oldid == 5 && array_key_exists('reminder',$_POST) && $_POST['reminder'] != "")
{
- $body = "";
- if($_POST['reminder-lang'] != "" && $_POST['reminder-lang'] != "en_AU")
- {
- $userlang = $_POST['reminder-lang'];
- $_SESSION['_config']['reminder-lang'] = $_POST['reminder-lang'];
- putenv("LANG=".$userlang);
- setlocale(LC_ALL, $userlang);
-
- $body .= $_SESSION['_config']['translations'][$userlang].":\n\n";
- $body .= sprintf(_("This is a short reminder that you filled out forms to become trusted with CAcert.org, and %s has attempted to issue you points. Please create your account at %s as soon as possible and then notify %s so that the points can be issued."), $_SESSION['profile']['fname']." (".$_SESSION['profile']['email'].")", "http://www.cacert.org", $_SESSION['profile']['fname'])."\n\n";
- $body .= _("Best regards")."\n";
- $body .= _("CAcert Support Team");
-
- $body .= "\n\nEnglish:\n\n";
- }
-
- $body .= sprintf("This is a short reminder that you filled out forms to become trusted with CAcert.org, and %s has attempted to issue you points. Please create your account at %s as soon as possible and then notify %s so that the points can be issued.", $_SESSION['profile']['fname']." (".$_SESSION['profile']['email'].")", "http://www.cacert.org", $_SESSION['profile']['fname'])."\n\n";
- $body .= "Best regards"."\n";
- $body .= "CAcert Support Team";
-
- sendmail($_POST['email'], "[CAcert.org] "._("Reminder Notice"), $body, $_SESSION['profile']['email'], "", "", $_SESSION['profile']['fname']);
-
- if($_POST['reminder-lang'] != "" && $_POST['reminder-lang'] != "en_AU")
- {
- $userlang = $_SESSION['profile']['language'];
- putenv("LANG=".$userlang);
- setlocale(LC_ALL, $userlang);
- }
-
- $_SESSION['_config']['remindersent'] = 1;
- $_SESSION['_config']['error'] = _("A reminder notice has been sent.");
-
- $id = $oldid;
- $oldid=0;
+ send_reminder();
+ show_page ("EnterEmail",_("A reminder notice has been sent."),"");
+ exit;
}
if($oldid == 5)
{
- $_SESSION['_config']['noemailfound'] = 0;
$query = "select * from `users` where `email`='".mysql_escape_string(stripslashes($_POST['email']))."' and `deleted`=0";
$res = mysql_query($query);
if(mysql_num_rows($res) != 1)
{
- $id = $oldid;
- $oldid=0;
- $_SESSION['_config']['error'] = _("I'm sorry, there was no email matching what you entered in the system. Please double check your information.");
$_SESSION['_config']['noemailfound'] = 1;
- } else {
+ show_page("EnterEmail","",_("I'm sorry, there was no email matching what you entered in the system. Please double check your information."));
+ exit;
+ } else
+ {
+ $_SESSION['_config']['noemailfound'] = 0;
$_SESSION['_config']['notarise'] = mysql_fetch_assoc($res);
+ if ($_SESSION['_config']['notarise']['verified'] == 0)
+ {
+ show_page("EnterEmail","",_("User is not yet verified. Please try again in 24 hours!"));
+ exit;
+ }
}
}
if($oldid == 5 || $oldid == 6)
{
+ $id=6;
+// $oldid=0;
if(array_key_exists('cancel',$_REQUEST) && $_REQUEST['cancel'] != "")
{
- header("location: wot.php");
+ show_page("EnterEmail","","");
exit;
}
-
if($_SESSION['_config']['notarise']['id'] == $_SESSION['profile']['id'])
{
- $id = 5;
- $oldid=0;
- $_SESSION['_config']['error'] = _("You are never allowed to Assure yourself!");
+ show_page("EnterEmail","",_("You are never allowed to Assure yourself!"));
+ exit;
}
- }
- if($oldid == 5 || $oldid == 6)
- {
$query = "select * from `notary` where `from`='".$_SESSION['profile']['id']."' and
`to`='".$_SESSION['_config']['notarise']['id']."'";
- $_SESSION['_config']['alreadydone'] = 0;
$res = mysql_query($query);
- if(mysql_num_rows($res) > 0 && $_SESSION['profile']['points'] < 200)
- {
- $id = 5;
- $oldid=0;
- $_SESSION['_config']['error'] = _("You are only allowed to Assure someone once!");
- } elseif($oldid == 5) {
- $id = 6;
- }
- if($id == 6 && mysql_num_rows($res) > 0)
- {
- $_SESSION['_config']['alreadydone'] = 1;
- }
- unset($_SESSION['_config']['pointsalready']);
- if($id == 6 && $_SESSION['profile']['points'] >= 100)
- {
- $query = "select sum(`points`) as `total` from `notary` where `to`='".$_SESSION['_config']['notarise']['id']."' group by `to`";
- $res = mysql_query($query);
- $drow = mysql_fetch_assoc($res);
- $_SESSION['_config']['pointsalready'] = $drow['total'];
- }
- unset($_SESSION['_config']['verified']);
- if($id == 6 && $_SESSION['profile']['points'] >= 100)
+ if(mysql_num_rows($res) > 0)
{
- $query = "select `verified` from `users` where `id`='".$_SESSION['_config']['notarise']['id']."'";
- $res = mysql_query($query);
- $drow = mysql_fetch_assoc($res);
- $_SESSION['_config']['verified'] = $drow['verified'];
+ show_page("EnterEmail","",_("You are only allowed to Assure someone once!"));
+ exit;
}
}
if($oldid == 6)
{
- if(!array_key_exists('assertion',$_POST) || $_POST['assertion'] != 1 || !array_key_exists('rules',$_POST) || $_POST['rules'] != 1)
+$iecho= "c";
+ if(!array_key_exists('assertion',$_POST) || $_POST['assertion'] != 1)
{
- $id = $oldid;
- $oldid=6;
- $_SESSION['_config']['error'] = _("You failed to check all boxes to validate your adherence to the rules and policies of CAcert");
+ show_page("VerifyData","",_("You failed to check all boxes to validate your adherence to the rules and policies of CAcert"));
+ exit;
}
+/* if(!array_key_exists('rules',$_POST) || $_POST['rules'] != 1)
+ {
+ show_page("VerifyData","",_("You failed to check all boxes to validate your adherence to the rules and policies of CAcert"));
+ exit;
+ }
+*/
+
if((!array_key_exists('certify',$_POST) || $_POST['certify'] != 1 ) && $_SESSION['profile']['ttpadmin'] != 1)
{
- $id = $oldid;
- $oldid=6;
- $_SESSION['_config']['error'] = _("You failed to check all boxes to validate your adherence to the rules and policies of CAcert");
+ show_page("VerifyData","",_("You failed to check all boxes to validate your adherence to the rules and policies of CAcert"));
+ exit;
}
- }
- if($oldid == 6 && $_SESSION['profile']['ttpadmin'] != 1)
- {
- if($_POST['location'] == "")
+ if($_SESSION['profile']['ttpadmin'] != 1 && $_POST['location'] == "")
{
- $id = $oldid;
- $oldid=0;
- $_SESSION['_config']['error'] = _("You failed to enter a location of your meeting.");
+ show_page("VerifyData","",_("You failed to enter a location of your meeting."));
+ exit;
+ }
+
+ if($_REQUEST['points'] == "")
+ {
+ show_page("VerifyData","",_("You must enter the number of points you wish to allocate to this person."));
+ exit;
}
- }
- if($oldid == 6)
- {
$query = "select * from `users` where `id`='".$_SESSION['_config']['notarise']['id']."'";
$res = mysql_query($query);
$row = mysql_fetch_assoc($res);
$name = $row['fname']." ".$row['mname']." ".$row['lname']." ".$row['suffix'];
if($_SESSION['_config']['wothash'] != md5($name."-".$row['dob']) || $_SESSION['_config']['wothash'] != $_REQUEST['pagehash'])
{
- $id = $oldid;
- $oldid=0;
- $_SESSION['_config']['error'] = _("Race condition discovered, user altered details during assurance procedure. PLEASE MAKE SURE THE NEW DETAILS BELOW MATCH THE ID DOCUMENTS.");
+ show_page("VerifyData","",_("Race condition discovered, user altered details during assurance procedure. PLEASE MAKE SURE THE NEW DETAILS BELOW MATCH THE ID DOCUMENTS."));
+ exit;
}
}
- if($oldid == 6 && $_REQUEST['points'] == "")
- {
- $id = $oldid;
- $oldid=0;
- $_SESSION['_config']['error'] = _("You must enter the number of points you wish to allocate to this person.");
- }
if($oldid == 6)
{
$max = maxpoints();
-
- if (intval($_POST['points']) > $max) {
- $awarded = $newpoints = $max;
- } elseif (intval($_POST['points']) < 0) {
- $awarded = $newpoints = 0;
- } else {
- $awarded = $newpoints = intval($_POST['points']);
- }
+
+ $awarded = $newpoints = intval($_POST['points']);
+ if($newpoints > $max)
+ $newpoints = $awarded = $max;
+ if($newpoints < 0)
+ $newpoints = $awarded = 0;
$query = "select sum(`points`) as `total` from `notary` where `to`='".$_SESSION['_config']['notarise']['id']."' group by `to`";
$res = mysql_query($query);
$drow = mysql_fetch_assoc($res);
- if($_SESSION['profile']['board'] == 1 && intval($_POST['expire']) > 0 && $drow['total'] > 150)
- {
- showheader(_("My CAcert.org Account!"));
- echo "<p>"._("You tried to give a temporary points increase to someone that already has more then 150 points. Can't continue.")."</p>";
- showfooter();
- exit;
- }
-
- if($_SESSION['profile']['board'] == 1 && intval($_POST['expire']) > 0 && intval($_POST['sponsor']) <= 0)
- {
- showheader(_("My CAcert.org Account!"));
- echo "<p>"._("You didn't list a valid sponsor for this action.")."</p>";
- showfooter();
- exit;
- }
-
- if($_SESSION['profile']['board'] == 1 && intval($_POST['expire']) > 0 && intval($_POST['sponsor']) > 0)
- {
- $resc = mysql_query("select * from `users` where `id`='".intval($_POST['sponsor'])."' and `board`='1'");
- $rc = mysql_num_rows($resc);
- $sponsor = mysql_fetch_assoc($resc);
- if($rc <= 0)
- {
- showheader(_("My CAcert.org Account!"));
- echo "<p>"._("You listed an invalid sponsor for this action.")."</p>";
- showfooter();
- exit;
- }
- }
-
- if($_SESSION['profile']['board'] == 1 && intval($_POST['expire']) > 0)
- {
- $_POST['method'] = "Administrative Increase";
- $newpoints = 200 - $drow['total'];
- if(intval($_POST['expire']) > 45)
- $_POST['expire'] = 45;
- if(intval($_POST['expire']) <= 7)
- $_POST['expire'] = 7;
- } else {
- $_POST['expire'] = 0;
- if(($drow['total'] + $newpoints) > 100 && $max < 100)
- $newpoints = 100 - $drow['total'];
- if(($drow['total'] + $newpoints) > $max && $max >= 100)
- $newpoints = $max - $drow['total'];
- if($newpoints < 0)
- $newpoints = 0;
- }
+ $_POST['expire'] = 0;
+ if(($drow['total'] + $newpoints) > 100 && $max < 100)
+ $newpoints = 100 - $drow['total'];
+ if(($drow['total'] + $newpoints) > $max && $max >= 100)
+ $newpoints = $max - $drow['total'];
+ if($newpoints < 0)
+ $newpoints = 0;
+
if(mysql_escape_string(stripslashes($_POST['date'])) == "")
$_POST['date'] = date("Y-m-d H:i:s");
@@ -278,9 +277,8 @@
$res = mysql_query($query);
if(mysql_num_rows($res) > 0)
{
- $id = $oldid;
- $oldid=0;
- $_SESSION['_config']['error'] = _("Identical Assurance attempted, will not continue.");
+ show_page("VerifyEmail","",_("Identical Assurance attempted, will not continue."));
+ exit;
}
}
@@ -443,7 +441,8 @@
{
$oldid=0;
$id = 9;
- $error = _("It looks like you were trying to contact multiple people, this isn't allowed due to data security reasons.");
+ show_page("ContactAssurer","",_("It looks like you were trying to contact multiple people, this isn't allowed due to data security reasons."));
+ exit;
} else {
$body = $_REQUEST['message'];
$subject = $_REQUEST['subject'];
@@ -455,25 +454,26 @@
{
sendmail($user['email'], "[CAcert.org] ".$_REQUEST['subject'], $_REQUEST['message'],
$_SESSION['profile']['email'], "", "", $_SESSION['profile']['fname']." ".$_SESSION['profile']['lname']);
- showheader(_("My CAcert.org Account!"));
- echo "<p>"._("Your email has been sent to")." ".$user['fname'].".</p>";
- echo "<p>[ <a href='javascript:history.go(-2)'>Go Back</a> ]</p>\n";
- showfooter();
+ show_page("ContactAssurer",_("Your email has been sent to")." ".$user['fname'].".<br />[ <a href='javascript:history.go(-2)'>"._("Go Back")."</a> ]","");
exit;
} else {
- showheader(_("My CAcert.org Account!"));
- echo _("Sorry, I was unable to locate that user.");
- showfooter();
+ show_page(0,"",_("Sorry, I was unable to locate that user."));
exit;
}
+
}
- } elseif($oldid == 9) {
+ }
+ if($oldid == 9)
+ {
$oldid=0;
- $error = _("There was an error and I couldn't proceed");
$id = 9;
+ show_page("ContactAssurer","",_("There was an error and I couldn't proceed"));
+ exit;
}
- showheader(_("My CAcert.org Account!"));
- includeit($id, "wot");
- showfooter();
+// showheader(_("My CAcert.org Account!"));
+// echo "ID now = ".$id."/".$oldid.">>".$iecho;
+// includeit($id, "wot");
+// showfooter();
+show_page ($id,"","");
?>