]> git.mxchange.org Git - friendica.git/blobdiff - include/queue.php
PuSH: Publishing moved to a new process. OStatus comments are now published to all...
[friendica.git] / include / queue.php
index 128dfcba57dd25dc18e8d339468680f5aa03551a..0edd64fdb1bec08558c233e670e9a5f08a182c73 100644 (file)
@@ -2,64 +2,6 @@
 require_once("boot.php");
 require_once('include/queue_fn.php');
 
-function handle_pubsubhubbub() {
-       global $a, $db;
-
-       logger('queue [pubsubhubbub]: start');
-
-       // We'll push to each subscriber that has push > 0,
-       // i.e. there has been an update (set in notifier.php).
-
-       $r = q("SELECT * FROM `push_subscriber` WHERE `push` > 0");
-
-       foreach($r as $rr) {
-               $params = get_feed_for($a, '', $rr['nickname'], $rr['last_update']);
-               $hmac_sig = hash_hmac("sha1", $params, $rr['secret']);
-
-               $headers = array("Content-type: application/atom+xml",
-                                                sprintf("Link: <%s>;rel=hub," .
-                                                                "<%s>;rel=self",
-                                                                $a->get_baseurl() . '/pubsubhubbub',
-                                                                $rr['topic']),
-                                                "X-Hub-Signature: sha1=" . $hmac_sig);
-
-               logger('queue [pubsubhubbub]: POST', $headers);
-
-               post_url($rr['callback_url'], $params, $headers);
-               $ret = $a->get_curl_code();
-
-               if ($ret >= 200 && $ret <= 299) {
-                       logger('queue [pubsubhubbub]: successfully pushed to ' .
-                                  $rr['callback_url']);
-
-                       // set last_update to "now", and reset push=0
-                       $date_now = datetime_convert('UTC','UTC','now','Y-m-d H:i:s');
-                       q("UPDATE `push_subscriber` SET `push` = 0, last_update = '%s' " .
-                         "WHERE id = %d",
-                         dbesc($date_now),
-                         intval($rr['id']));
-
-               } else {
-                       logger('queue [pubsubhubbub]: error when pushing to ' .
-                                  $rr['callback_url'] . 'HTTP: ', $ret);
-
-                       // we use the push variable also as a counter, if we failed we
-                       // increment this until some upper limit where we give up
-                       $new_push = intval($rr['push']) + 1;
-
-                       if ($new_push > 30) // OK, let's give up
-                               $new_push = 0;
-
-                       q("UPDATE `push_subscriber` SET `push` = %d, last_update = '%s' " .
-                         "WHERE id = %d",
-                         $new_push,
-                         dbesc($date_now),
-                         intval($rr['id']));
-               }
-       }
-}
-
-
 function queue_run(&$argv, &$argc){
        global $a, $db;
 
@@ -112,7 +54,8 @@ function queue_run(&$argv, &$argc){
 
        logger('queue: start');
 
-       handle_pubsubhubbub();
+       // Handling the pubsubhubbub requests
+       proc_run('php','include/pubsubpublish.php');
 
        $interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval')));
 
@@ -126,8 +69,8 @@ function queue_run(&$argv, &$argc){
                }
        }
 
-       $r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue` 
-               INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id` 
+       $r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue`
+               INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id`
                WHERE `queue`.`created` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
        if($r) {
                foreach($r as $rr) {