]> git.mxchange.org Git - friendica.git/blobdiff - include/onepoll.php
ping.php improvement: datetime.php formatting
[friendica.git] / include / onepoll.php
index 5ebafb353e95323b33a40d34a2a25e10a01078e4..951b87043e06d8a014f81ad365eb62d8b5abfdc3 100644 (file)
@@ -24,15 +24,12 @@ function onepoll_run(&$argv, &$argc){
                unset($db_host, $db_user, $db_pass, $db_data);
        };
 
-
        require_once('include/session.php');
        require_once('include/datetime.php');
-       require_once('library/simplepie/simplepie.inc');
        require_once('include/items.php');
        require_once('include/Contact.php');
        require_once('include/email.php');
        require_once('include/socgraph.php');
-       require_once('include/pidfile.php');
        require_once('include/queue_fn.php');
 
        load_config('config');
@@ -61,18 +58,10 @@ function onepoll_run(&$argv, &$argc){
                return;
        }
 
-       $lockpath = get_lockpath();
-       if ($lockpath != '') {
-               $pidfile = new pidfile($lockpath, 'onepoll'.$contact_id);
-               if ($pidfile->is_already_running()) {
-                       logger("onepoll: Already running for contact ".$contact_id);
-                       if ($pidfile->running_time() > 9*60) {
-                               $pidfile->kill();
-                               logger("killed stale process");
-                       }
-                       exit;
-               }
-       }
+       // 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();
 
@@ -335,7 +324,7 @@ function onepoll_run(&$argv, &$argc){
                if($contact['rel'] == CONTACT_IS_FOLLOWER || $contact['blocked'] || $contact['readonly'])
                        return;
 
-               $cookiejar = tempnam('/tmp', 'cookiejar-onepoll-');
+               $cookiejar = tempnam(get_temppath(), 'cookiejar-onepoll-');
                $xml = fetch_url($contact['poll'], false, $redirects, 0, Null, $cookiejar);
                unlink($cookiejar);
        }
@@ -454,7 +443,7 @@ function onepoll_run(&$argv, &$argc){
                                                                        $refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'";
                                                        }
                                                        $qstr = implode(',',$refs_arr);
-                                                       $r = q("SELECT `uri` , `parent-uri` FROM `item` WHERE `uri` IN ( $qstr ) AND `uid` = %d LIMIT 1",
+                                                       $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(count($r))