summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Fröhlich <bernhard@cacert.org>2011-07-14 23:05:52 +0200
committerBernhard Fröhlich <bernhard@cacert.org>2011-07-14 23:05:52 +0200
commitab33bb3986f2b178c9baab61c5f52dfb7243ac6b (patch)
tree66f22908f9b23c2387fb87a646677103e64d0645
parentffbe879decc16bc8cc15ace5698b622d01342513 (diff)
downloadcacert-devel-ab33bb3986f2b178c9baab61c5f52dfb7243ac6b.tar.gz
cacert-devel-ab33bb3986f2b178c9baab61c5f52dfb7243ac6b.tar.xz
cacert-devel-ab33bb3986f2b178c9baab61c5f52dfb7243ac6b.zip
Fixed handling of expired column, see table Notary in https://wiki.cacert.org/Software/Database/StructureDefinedbug-942
Cosmetic changes (alias tp changed to more intuitive cp)
-rw-r--r--includes/lib/account.php16
1 files changed, 8 insertions, 8 deletions
diff --git a/includes/lib/account.php b/includes/lib/account.php
index f9ab3d8..f7a24fa 100644
--- a/includes/lib/account.php
+++ b/includes/lib/account.php
@@ -23,11 +23,11 @@ function fix_assurer_flag($userID)
// Should the number of points be SUM(points) or SUM(awarded)?
$query = mysql_query('UPDATE `users` AS `u` SET `assurer` = 1 WHERE '.
'`u`.`id` = \''.(int)intval($userID).'\' AND '.
- 'EXISTS(SELECT 1 FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` '.
- 'WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND '.
- '`tp`.`user_id` = `u`.`id`) AND '.
+ 'EXISTS(SELECT 1 FROM `cats_passed` AS `cp`, `cats_variant` AS `cv` '.
+ 'WHERE `cp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND '.
+ '`cp`.`user_id` = `u`.`id`) AND '.
'(SELECT SUM(`points`) FROM `notary` AS `n` WHERE `n`.`to` = `u`.`id` '.
- 'AND `expire` < now()) >= 100');
+ 'AND (`n`.`expire` > now() OR `n`.`expire` IS NULL)) >= 100');
// Challenge has been passed and non-expired points >= 100
if (!$query) {
@@ -37,11 +37,11 @@ function fix_assurer_flag($userID)
// Reset flag if requirements are not met
$query = mysql_query('UPDATE `users` AS `u` SET `assurer` = 0 WHERE '.
'`u`.`id` = \''.(int)intval($userID).'\' AND '.
- '(NOT EXISTS(SELECT 1 FROM `cats_passed` AS `tp`, `cats_variant` AS '.
- '`cv` WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 '.
- 'AND `tp`.`user_id` = `u`.`id`) OR '.
+ '(NOT EXISTS(SELECT 1 FROM `cats_passed` AS `cp`, `cats_variant` AS '.
+ '`cv` WHERE `cp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 '.
+ 'AND `cp`.`user_id` = `u`.`id`) OR '.
'(SELECT SUM(`points`) FROM `notary` AS `n` WHERE `n`.`to` = `u`.`id` '.
- 'AND `n`.`expire` < now()) < 100)');
+ 'AND (`n`.`expire` > now() OR `n`.`expire` IS NULL)) < 100)');
if (!$query) {
return false;