]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
fixes on bourdin for confirm claims
authorEvan Prodromou <evan@boursin.controlezvous.ca>
Sun, 6 Jul 2008 09:03:09 +0000 (05:03 -0400)
committerEvan Prodromou <evan@boursin.controlezvous.ca>
Sun, 6 Jul 2008 09:03:09 +0000 (05:03 -0400)
darcs-hash:20080706090309-5a68a-188f45e295e43933595dadfa0c2cfa71b6573386.gz

classes/Confirm_address.php
classes/Remember_me.php
xmppdaemon.php

index 80dc9462139fa64e638834004943efc39fa04772..d6d0d77960e64e7c6245c289f8c07a01eaae7c75 100644 (file)
@@ -24,4 +24,6 @@ class Confirm_address extends DB_DataObject
 
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
+       
+    function sequenceKey() { return array(false, false); }
 }
index fd21c2fcecc1b7cd4857a3228762671eb6daf919..92a1e461771a803a695b8c31d83cfe8946a31f7c 100644 (file)
@@ -19,4 +19,6 @@ class Remember_me extends DB_DataObject
 
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
+       
+    function sequenceKey() { return array(false, false); }
 }
index e5c5c20afb5af87a1e2021cf7cd4d26e7df08783..85810fdbf09a8cce1faa5f01d3df7280e24bc6fd 100755 (executable)
@@ -315,6 +315,7 @@ class XMPPDaemon {
 
        function clear_old_claims() {
                $qi = new Queue_item();
+               $qi->claimed = NULL;
                $qi->whereAdd('now() - claimed > '.CLAIM_TIMEOUT);
                $qi->update(DB_DATAOBJECT_WHEREADD_ONLY);
        }
@@ -347,7 +348,7 @@ class XMPPDaemon {
                                        $this->log(LOG_INFO, 'Confirmation sent for ' . $confirm->address);
                                        # Mark confirmation sent
                                        $original = clone($confirm);
-                                       $confirm->sent = DB_DataObject_Cast::dateTime();
+                                       $confirm->sent = $confirm->claimed;
                                        $result = $confirm->update($original);
                                        if (!$result) {
                                                $this->log(LOG_ERROR, 'Cannot mark sent for ' . $confirm->address);
@@ -362,17 +363,20 @@ class XMPPDaemon {
        function next_confirm() {
                $confirm = new Confirm_address();
                $confirm->whereAdd('claimed IS NULL');
+               $confirm->whereAdd('sent IS NULL');
                # XXX: eventually we could do other confirmations in the queue, too
                $confirm->address_type = 'jabber';
                $confirm->orderBy('modified DESC');
                $confirm->limit(1);
                if ($confirm->find(TRUE)) {
                        $this->log(LOG_INFO, 'Claiming confirmation for ' . $confirm->address);
-                       $original = clone($confirm);
+                       # working around some weird DB_DataObject behaviour
+                       $confirm->whereAdd(''); # clears where stuff
+                       $original = clone($confirm);
                        $confirm->claimed = DB_DataObject_Cast::dateTime();
                        $result = $confirm->update($original);
                        if ($result) {
-                               $this->log(LOG_INFO, 'Succeeded in claim!');
+                               $this->log(LOG_INFO, 'Succeeded in claim! '. $result);
                                return $confirm;
                        } else {
                                $this->log(LOG_INFO, 'Failed in claim!');
@@ -384,6 +388,7 @@ class XMPPDaemon {
        
        function clear_old_confirm_claims() {
                $confirm = new Confirm();
+               $confirm->claimed = NULL;
                $confirm->whereAdd('now() - claimed > '.CLAIM_TIMEOUT);
                $confirm->update(DB_DATAOBJECT_WHEREADD_ONLY);
        }