]> git.mxchange.org Git - friendica.git/commitdiff
Bugfix: pubsub tend to unsubscribe subscriptions in the past
authorMichael Vogel <icarus@dabo.de>
Mon, 31 Aug 2015 22:12:15 +0000 (00:12 +0200)
committerMichael Vogel <icarus@dabo.de>
Mon, 31 Aug 2015 22:12:15 +0000 (00:12 +0200)
mod/pubsub.php

index 82458f46ac9bab35de55c705608ef7c9fd179740..beb73b4e2c4ce53a9ed5a6fcaf3ea56108e2040c 100644 (file)
@@ -63,14 +63,15 @@ function pubsub_init(&$a) {
                        intval($owner['uid'])
                );
                if(! count($r)) {
-                       logger('pubsub: contact not found.');
+                       logger('pubsub: contact '.$contact_id.' not found.');
                        hub_return(false, '');
                }
 
-               if(! link_compare($hub_topic,$r[0]['poll'])) {
-                       logger('pubsub: hub topic ' . $hub_topic . ' != ' . $r[0]['poll']);
-                       // should abort but let's humour them.
-               }
+               if ($hub_topic)
+                       if(! link_compare($hub_topic,$r[0]['poll'])) {
+                               logger('pubsub: hub topic ' . $hub_topic . ' != ' . $r[0]['poll']);
+                               // should abort but let's humour them.
+                       }
 
                $contact = $r[0];
 
@@ -85,10 +86,11 @@ function pubsub_init(&$a) {
                        logger('pubsub: unsubscribe success');
                }
 
-               $r = q("UPDATE `contact` SET `subhub` = %d WHERE `id` = %d",
-                       intval($subscribe),
-                       intval($contact['id'])
-               );
+               if ($hub_mode)
+                       $r = q("UPDATE `contact` SET `subhub` = %d WHERE `id` = %d",
+                               intval($subscribe),
+                               intval($contact['id'])
+                       );
 
                hub_return(true, $hub_challenge);
        }
@@ -120,7 +122,7 @@ function pubsub_post(&$a) {
 
        $importer = $r[0];
 
-       $r = q("SELECT * FROM `contact` WHERE `subhub` = 1 AND `id` = %d AND `uid` = %d 
+       $r = q("SELECT * FROM `contact` WHERE `subhub` = 1 AND `id` = %d AND `uid` = %d
                AND ( `rel` = %d OR `rel` = %d OR network = '%s' ) AND `blocked` = 0 AND `readonly` = 0 LIMIT 1",
                intval($contact_id),
                intval($importer['uid']),