]> git.mxchange.org Git - friendica.git/blobdiff - include/onepoll.php
Small restructuring
[friendica.git] / include / onepoll.php
index 9052937fdca03d05bd713107d70b9742edd35389..7b93a9a2f0d0a63e7ee422f0919b2b08c28597cf 100644 (file)
@@ -15,7 +15,7 @@ function onepoll_run(&$argv, &$argc){
        if(is_null($a)) {
                $a = new App;
        }
-  
+
        if(is_null($db)) {
            @include(".htconfig.php");
        require_once("include/dba.php");
@@ -57,28 +57,30 @@ function onepoll_run(&$argv, &$argc){
                return;
        }
 
-       // Test
        $lockpath = get_lockpath();
        if ($lockpath != '') {
                $pidfile = new pidfile($lockpath, 'onepoll'.$contact_id);
-               if($pidfile->is_already_running()) {
+               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;
                }
        }
 
-
        $d = datetime_convert();
 
        // Only poll from those with suitable relationships,
-       // and which have a polling address and ignore Diaspora since 
+       // and which have a polling address and ignore Diaspora since
        // we are unable to match those posts with a Diaspora GUID and prevent duplicates.
 
-       $contacts = q("SELECT `contact`.* FROM `contact` 
+       $contacts = q("SELECT `contact`.* FROM `contact`
                WHERE ( `rel` = %d OR `rel` = %d ) AND `poll` != ''
                AND NOT `network` IN ( '%s', '%s', '%s' )
                AND `contact`.`id` = %d
-               AND `self` = 0 AND `contact`.`blocked` = 0 AND `contact`.`readonly` = 0 
+               AND `self` = 0 AND `contact`.`blocked` = 0 AND `contact`.`readonly` = 0
                AND `contact`.`archive` = 0 LIMIT 1",
                intval(CONTACT_IS_SHARING),
                intval(CONTACT_IS_FRIEND),
@@ -174,7 +176,7 @@ function onepoll_run(&$argv, &$argc){
                        return;
                }
 
-               if(! strstr($handshake_xml,'<?xml')) {
+               if(! strstr($handshake_xml,'<')) {
                        logger('poller: response from ' . $url . ' did not contain XML.');
 
                        mark_for_death($contact);
@@ -282,13 +284,13 @@ function onepoll_run(&$argv, &$argc){
        }
        elseif($contact['network'] === NETWORK_MAIL || $contact['network'] === NETWORK_MAIL2) {
 
-               logger("onepoll: mail: Fetching", LOGGER_DEBUG);
+               logger("Mail: Fetching", LOGGER_DEBUG);
 
                $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
                if($mail_disabled)
                        return;
 
-               logger("onepoll: Mail: Enabled", LOGGER_DEBUG);
+               logger("Mail: Enabled", LOGGER_DEBUG);
 
                $mbox = null;
                $x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1",
@@ -310,7 +312,9 @@ function onepoll_run(&$argv, &$argc){
                                        intval($mailconf[0]['id']),
                                        intval($importer_uid)
                                );
-                       }
+                               logger("Mail: Connected to " . $mailconf[0]['user']);
+                       } else
+                               logger("Mail: Connection error ".$mailconf[0]['user']." ".print_r(imap_errors()));
                }
                if($mbox) {
 
@@ -521,7 +525,10 @@ function onepoll_run(&$argv, &$argc){
                                                }
                                        }
                                }
-                       }
+                       } else
+                               logger("Mail: no mails for ".$mailconf[0]['user']);
+
+                       logger("Mail: closing connection for ".$mailconf[0]['user']);
                        imap_close($mbox);
                }
        }
@@ -535,7 +542,7 @@ function onepoll_run(&$argv, &$argc){
 
        if($xml) {
                logger('poller: received xml : ' . $xml, LOGGER_DATA);
-               if((! strstr($xml,'<?xml')) && (! strstr($xml,'<rss'))) {
+               if(! strstr($xml,'<')) {
                        logger('poller: post_handshake: response from ' . $url . ' did not contain XML.');
                        $r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d",
                                dbesc(datetime_convert()),
@@ -584,8 +591,8 @@ function onepoll_run(&$argv, &$argc){
 
        // load current friends if possible.
 
-       if($contact['poco']) {  
-               $r = q("SELECT count(*) as total from glink 
+       if($contact['poco']) {
+               $r = q("SELECT count(*) as total from glink
                        where `cid` = %d and updated > UTC_TIMESTAMP() - INTERVAL 1 DAY",
                        intval($contact['id'])
                );
@@ -600,6 +607,6 @@ function onepoll_run(&$argv, &$argc){
 }
 
 if (array_search(__file__,get_included_files())===0){
-  onepoll_run($argv,$argc);
+  onepoll_run($_SERVER["argv"],$_SERVER["argc"]);
   killme();
 }