]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/OStatusPlugin.php
OStatus usage of static Validate::* calls fixed
[quix0rs-gnu-social.git] / plugins / OStatus / OStatusPlugin.php
index 5a871f322b1ac27cdb5b9beb722f7397e0b1e627..f14c3057ddb49197755ad7601119e649ac5664b5 100644 (file)
@@ -118,6 +118,9 @@ class OStatusPlugin extends Plugin
 
         // Incoming from a foreign PuSH hub
         $qm->connect('pushin', 'PushInQueueHandler');
+
+        // Re-subscribe feeds that need renewal
+        $qm->connect('pushrenew', 'PushRenewQueueHandler');
         return true;
     }
 
@@ -243,11 +246,13 @@ class OStatusPlugin extends Plugin
             $profile->whereAdd('uri LIKE "%' . $profile->escape($q) . '%"');
             $profile->query();
 
+            $validate = new Validate();
+
             if ($profile->N == 0) {
                 try {
-                    if (Validate::email($q)) {
+                    if ($validate->email($q)) {
                         $oprofile = Ostatus_profile::ensureWebfinger($q);
-                    } else if (Validate::uri($q)) {
+                    } else if ($validate->uri($q)) {
                         $oprofile = Ostatus_profile::ensureProfileURL($q);
                     } else {
                         // TRANS: Exception in OStatus when invalid URI was entered.
@@ -1396,4 +1401,20 @@ class OStatusPlugin extends Plugin
         // Since we completed the salmon slap, we discontinue the event
         return false;
     }
+
+    public function onCronDaily()
+    {
+        try {
+            $sub = FeedSub::renewalCheck();
+        } catch (NoResultException $e) {
+            common_log(LOG_INFO, "There were no expiring feeds.");
+            return;
+        }
+
+        $qm = QueueManager::get();
+        while ($sub->fetch()) {
+            $item = array('feedsub_id' => $sub->id);
+            $qm->enqueue($item, 'pushrenew');
+        }
+    }
 }