X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fpoller.php;h=dd2efcb76c4c5d2d29bfb30c762e488584bdfc42;hb=85c6457e6e6c9be6200f76bb12c449f010d4117b;hp=4e1e30ad5cb02ffcbd9d1193b567c96d74e2d4c0;hpb=ab099e91028122dfb6b10cf9510b1b061f6f547f;p=friendica.git diff --git a/include/poller.php b/include/poller.php index 4e1e30ad5c..dd2efcb76c 100644 --- a/include/poller.php +++ b/include/poller.php @@ -16,7 +16,6 @@ function poller_run($argv, $argc){ unset($db_host, $db_user, $db_pass, $db_data); }; - $mbox = null; require_once('session.php'); require_once('datetime.php'); @@ -27,6 +26,8 @@ function poller_run($argv, $argc){ $a->set_baseurl(get_config('system','url')); + load_hooks(); + logger('poller: start'); // run queue delivery process in the background @@ -62,10 +63,12 @@ function poller_run($argv, $argc){ $sql_extra = (($manual_id) ? " AND `id` = $manual_id " : ""); + reload_plugins(); + $d = datetime_convert(); + call_hooks('cron', $d); - reload_plugins(); $contacts = q("SELECT `id` FROM `contact` WHERE ( `rel` = %d OR `rel` = %d ) AND `poll` != '' @@ -288,26 +291,30 @@ function poller_run($argv, $argc){ $xml = fetch_url($contact['poll']); } elseif($contact['network'] === NETWORK_MAIL) { - if(! $mbox) { - $x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1", - intval($importer_uid) - ); - $mailconf = q("SELECT * FROM `mailacct` WHERE `server` != '' AND `uid` = %d LIMIT 1", - intval($importer_uid) - ); - if(count($x) && count($mailconf)) { - $mailbox = construct_mailbox_name($mailconf[0]); - $password = ''; - openssl_private_decrypt(hex2bin($mailconf[0]['pass']),$password,$x[0]['prvkey']); - $mbox = email_connect($mailbox,$mailconf[0]['user'],$password); - unset($password); - if($mbox) { - q("UPDATE `mailacct` SET `last_check` = '%d' WHERE `id` = %d AND `uid` = %d LIMIT 1", - dbesc(datetime_convert()), - intval($mailconf[0]['id']), - intval($importer_uid) - ); - } + + $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); + if($mail_disabled) + continue; + + $mbox = null; + $x = q("SELECT `prvkey` FROM `user` WHERE `uid` = %d LIMIT 1", + intval($importer_uid) + ); + $mailconf = q("SELECT * FROM `mailacct` WHERE `server` != '' AND `uid` = %d LIMIT 1", + intval($importer_uid) + ); + if(count($x) && count($mailconf)) { + $mailbox = construct_mailbox_name($mailconf[0]); + $password = ''; + openssl_private_decrypt(hex2bin($mailconf[0]['pass']),$password,$x[0]['prvkey']); + $mbox = email_connect($mailbox,$mailconf[0]['user'],$password); + unset($password); + if($mbox) { + q("UPDATE `mailacct` SET `last_check` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1", + dbesc(datetime_convert()), + intval($mailconf[0]['id']), + intval($importer_uid) + ); } } if($mbox) { @@ -383,6 +390,8 @@ function poller_run($argv, $argc){ ); } } + + imap_close($mbox); } } elseif($contact['network'] === NETWORK_FACEBOOK) { @@ -435,8 +444,6 @@ function poller_run($argv, $argc){ } } - if($mbox && function_exists('imap_close')) - imap_close($mbox); return; }