]> git.mxchange.org Git - friendica.git/blobdiff - include/onepoll.php
Degrade priority step by step
[friendica.git] / include / onepoll.php
index 552fea36fa9bd9c7d9d7dc15734e41a77953a63a..28afca28a5ab3a0e21c40497eb986c0ba5068a2a 100644 (file)
@@ -1,9 +1,8 @@
 <?php
 
-use \Friendica\Core\Config;
+use Friendica\Core\Config;
 
-require_once("boot.php");
-require_once("include/follow.php");
+require_once('include/follow.php');
 
 function RemoveReply($subject) {
        while (in_array(strtolower(substr($subject, 0, 3)), array("re:", "aw:")))
@@ -13,20 +12,8 @@ function RemoveReply($subject) {
 }
 
 function onepoll_run(&$argv, &$argc){
-       global $a, $db;
+       global $a;
 
-       if (is_null($a)) {
-               $a = new App;
-       }
-
-       if (is_null($db)) {
-               @include(".htconfig.php");
-               require_once("include/dba.php");
-               $db = new dba($db_host, $db_user, $db_pass, $db_data);
-               unset($db_host, $db_user, $db_pass, $db_data);
-       };
-
-       require_once('include/session.php');
        require_once('include/datetime.php');
        require_once('include/items.php');
        require_once('include/Contact.php');
@@ -34,12 +21,6 @@ function onepoll_run(&$argv, &$argc){
        require_once('include/socgraph.php');
        require_once('include/queue_fn.php');
 
-       Config::load();
-
-       $a->set_baseurl(get_config('system','url'));
-
-       load_hooks();
-
        logger('onepoll: start');
 
        $manual_id  = 0;
@@ -61,13 +42,6 @@ function onepoll_run(&$argv, &$argc){
                return;
        }
 
-       // Don't check this stuff if the function is called by the poller
-       if (App::callstack() != "poller_run") {
-               if (App::is_already_running('onepoll'.$contact_id, '', 540)) {
-                       return;
-               }
-       }
-
        $d = datetime_convert();
 
        // Only poll from those with suitable relationships,
@@ -94,9 +68,9 @@ function onepoll_run(&$argv, &$argc){
        $contact = $contacts[0];
 
        // load current friends if possible.
-       if (($contact['poco'] != "") AND ($contact['success_update'] > $contact['failure_update'])) {
-               $r = q("SELECT count(*) as total from glink
-                       where `cid` = %d and updated > UTC_TIMESTAMP() - INTERVAL 1 DAY",
+       if (($contact['poco'] != "") && ($contact['success_update'] > $contact['failure_update'])) {
+               $r = q("SELECT count(*) AS total FROM glink
+                       WHERE `cid` = %d AND updated > UTC_TIMESTAMP() - INTERVAL 1 DAY",
                        intval($contact['id'])
                );
                if (dbm::is_result($r)) {
@@ -159,7 +133,7 @@ function onepoll_run(&$argv, &$argc){
 
        logger("onepoll: poll: ({$contact['id']}) IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}");
 
-       $last_update = (($contact['last-update'] === '0000-00-00 00:00:00')
+       $last_update = (($contact['last-update'] <= NULL_DATE)
                ? datetime_convert('UTC','UTC','now - 7 days', ATOM_TIME)
                : datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME)
        );
@@ -196,7 +170,7 @@ function onepoll_run(&$argv, &$argc){
                // But this may be our first communication, so set the writable flag if it isn't set already.
 
                if (! intval($contact['writable'])) {
-                       q("update contact set writable = 1 where id = %d", intval($contact['id']));
+                       q("UPDATE `contact` SET `writable` = 1 WHERE `id` = %d", intval($contact['id']));
                }
 
                $url = $contact['poll'] . '?dfrn_id=' . $idtosend
@@ -265,7 +239,7 @@ function onepoll_run(&$argv, &$argc){
                                intval($contact['id'])
                        );
                        mark_for_death($contact);
-               } elseif ($contact['term-date'] != '0000-00-00 00:00:00') {
+               } elseif ($contact['term-date'] > NULL_DATE) {
                        logger("poller: $url back from the dead - removing mark for death");
                        unmark_for_death($contact);
                }
@@ -421,7 +395,7 @@ function onepoll_run(&$argv, &$argc){
                                                        logger("Mail: Seen before ".$msg_uid." for ".$mailconf[0]['user']." UID: ".$importer_uid." URI: ".$datarray['uri'],LOGGER_DEBUG);
 
                                                        // Only delete when mails aren't automatically moved or deleted
-                                                       if (($mailconf[0]['action'] != 1) AND ($mailconf[0]['action'] != 3))
+                                                       if (($mailconf[0]['action'] != 1) && ($mailconf[0]['action'] != 3))
                                                                if ($meta->deleted && ! $r[0]['deleted']) {
                                                                        q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d",
                                                                                dbesc(datetime_convert()),
@@ -463,16 +437,18 @@ function onepoll_run(&$argv, &$argc){
                                                if ($raw_refs) {
                                                        $refs_arr = explode(' ', $raw_refs);
                                                        if (count($refs_arr)) {
-                                                               for($x = 0; $x < count($refs_arr); $x ++)
+                                                               for ($x = 0; $x < count($refs_arr); $x ++) {
                                                                        $refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'";
+                                                               }
                                                        }
                                                        $qstr = implode(',',$refs_arr);
                                                        $r = q("SELECT `uri` , `parent-uri` FROM `item` USE INDEX (`uid_uri`) WHERE `uri` IN ($qstr) AND `uid` = %d LIMIT 1",
                                                                intval($importer_uid)
                                                        );
-                                                       if (dbm::is_result($r))
+                                                       if (dbm::is_result($r)) {
                                                                $datarray['parent-uri'] = $r[0]['parent-uri'];  // Set the parent as the top-level item
-       //                                                      $datarray['parent-uri'] = $r[0]['uri'];
+                                                               //$datarray['parent-uri'] = $r[0]['uri'];
+                                                       }
                                                }
 
                                                // Decoding the header
@@ -491,15 +467,15 @@ function onepoll_run(&$argv, &$argc){
                                                $datarray['created'] = datetime_convert('UTC','UTC',$meta->date);
 
                                                // Is it a reply?
-                                               $reply = ((substr(strtolower($datarray['title']), 0, 3) == "re:") or
-                                                       (substr(strtolower($datarray['title']), 0, 3) == "re-") or
+                                               $reply = ((substr(strtolower($datarray['title']), 0, 3) == "re:") ||
+                                                       (substr(strtolower($datarray['title']), 0, 3) == "re-") ||
                                                        ($raw_refs != ""));
 
                                                // Remove Reply-signs in the subject
                                                $datarray['title'] = RemoveReply($datarray['title']);
 
                                                // If it seems to be a reply but a header couldn't be found take the last message with matching subject
-                                               if (!x($datarray,'parent-uri') and $reply) {
+                                               if (!x($datarray,'parent-uri') && $reply) {
                                                        $r = q("SELECT `uri` , `parent-uri` FROM `item` WHERE `title` = \"%s\" AND `uid` = %d AND `network` = '%s' ORDER BY `created` DESC LIMIT 1",
                                                                dbesc(protect_sprintf($datarray['title'])),
                                                                intval($importer_uid),
@@ -637,14 +613,17 @@ function onepoll_run(&$argv, &$argc){
                consume_feed($xml,$importer,$contact,$hub,1,2);
 
                $hubmode = 'subscribe';
-               if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly'])
+               if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly']) {
                        $hubmode = 'unsubscribe';
+               }
 
-               if (($contact['network'] === NETWORK_OSTATUS ||  $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify']))
+               if (($contact['network'] === NETWORK_OSTATUS ||  $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify'])) {
                        $hub_update = true;
+               }
 
-               if ($force)
+               if ($force) {
                        $hub_update = true;
+               }
 
                logger("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
 
@@ -697,8 +676,3 @@ function onepoll_run(&$argv, &$argc){
 
        return;
 }
-
-if (array_search(__file__,get_included_files())===0) {
-       onepoll_run($_SERVER["argv"],$_SERVER["argc"]);
-       killme();
-}