]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/actions/pushcallback.php
OStatus: garbage collect unused PuSH subscriptions when the last local subscriber...
[quix0rs-gnu-social.git] / plugins / OStatus / actions / pushcallback.php
index a5e02e08f1442f9603174fc2fcace621b84b1048..471d079ab91e33ac510193760943765861670e04 100644 (file)
@@ -91,15 +91,20 @@ class PushCallbackAction extends Action
         #}
         
         // OK!
-        common_log(LOG_INFO, __METHOD__ . ': sub confirmed');
-        $feedinfo->sub_start = common_sql_date(time());
-        if ($lease_seconds > 0) {
-            $feedinfo->sub_end = common_sql_date(time() + $lease_seconds);
+        if ($mode == 'subscribe') {
+            common_log(LOG_INFO, __METHOD__ . ': sub confirmed');
+            $feedinfo->sub_start = common_sql_date(time());
+            if ($lease_seconds > 0) {
+                $feedinfo->sub_end = common_sql_date(time() + $lease_seconds);
+            } else {
+                $feedinfo->sub_end = null;
+            }
+            $feedinfo->update();
         } else {
-            $feedinfo->sub_end = null;
+            common_log(LOG_INFO, __METHOD__ . ": unsub confirmed; deleting sub record for $topic");
+            $feedinfo->delete();
         }
-        $feedinfo->update();
-        
+
         print $challenge;
     }
 }