Fixed handling of expired column, see table Notary in https://wiki.cacert.org/Softwar... bug-942
authorBernhard Fröhlich <bernhard@cacert.org>
Thu, 14 Jul 2011 21:05:52 +0000 (23:05 +0200)
committerBernhard Fröhlich <bernhard@cacert.org>
Thu, 14 Jul 2011 21:05:52 +0000 (23:05 +0200)
Cosmetic changes (alias tp changed to more intuitive cp)

includes/lib/account.php

index f9ab3d8..f7a24fa 100644 (file)
@@ -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;