X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fonepoll.php;h=91f517bdebe9c223d7e3a907a011cac423fa8532;hb=dbb5df7f7d65e4f94add3f0684d9bff40e5f8167;hp=3483d24930cec6b3fe61c43797c6768deab467b9;hpb=86cae070f2a048e553c545caec54be72c1c14da5;p=friendica.git diff --git a/include/onepoll.php b/include/onepoll.php index 3483d24930..91f517bdeb 100644 --- a/include/onepoll.php +++ b/include/onepoll.php @@ -68,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)) { @@ -170,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 @@ -328,7 +328,7 @@ function onepoll_run(&$argv, &$argc){ unlink($cookiejar); } elseif ($contact['network'] === NETWORK_MAIL || $contact['network'] === NETWORK_MAIL2) { - logger("Mail: Fetching", LOGGER_DEBUG); + logger("Mail: Fetching for ".$contact['addr'], LOGGER_DEBUG); $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); if ($mail_disabled) @@ -363,10 +363,10 @@ function onepoll_run(&$argv, &$argc){ } if ($mbox) { - $msgs = email_poll($mbox,$contact['addr']); + $msgs = email_poll($mbox, $contact['addr']); if (count($msgs)) { - logger("Mail: Parsing ".count($msgs)." mails for ".$mailconf[0]['user'], LOGGER_DEBUG); + logger("Mail: Parsing ".count($msgs)." mails from ".$contact['addr']." for ".$mailconf[0]['user'], LOGGER_DEBUG); $metas = email_msg_meta($mbox,implode(',',$msgs)); if (count($metas) != count($msgs)) { @@ -395,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()), @@ -437,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 @@ -465,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), @@ -496,46 +498,36 @@ function onepoll_run(&$argv, &$argc){ logger("Mail: Importing ".$msg_uid." for ".$mailconf[0]['user']); - // some mailing lists have the original author as 'from' - add this sender info to msg body. /// @TODO Adding a gravatar for the original author would be cool - if (! stristr($meta->from,$contact['addr'])) { - $from = imap_mime_header_decode($meta->from); - $fromdecoded = ""; - foreach ($from as $frompart) { - if ($frompart->charset != "default") { - $fromdecoded .= iconv($frompart->charset, 'UTF-8//IGNORE', $frompart->text); - } else { - $fromdecoded .= $frompart->text; - } - } - - $fromarr = imap_rfc822_parse_adrlist($fromdecoded, $a->get_hostname()); - - $frommail = $fromarr[0]->mailbox."@".$fromarr[0]->host; - - if (isset($fromarr[0]->personal)) { - $fromname = $fromarr[0]->personal; + $from = imap_mime_header_decode($meta->from); + $fromdecoded = ""; + foreach ($from as $frompart) { + if ($frompart->charset != "default") { + $fromdecoded .= iconv($frompart->charset, 'UTF-8//IGNORE', $frompart->text); } else { - $fromname = $frommail; + $fromdecoded .= $frompart->text; } + } - //$datarray['body'] = "[b]".t('From: ') . escape_tags($fromdecoded) . "[/b]\n\n" . $datarray['body']; - - $datarray['author-name'] = $fromname; - $datarray['author-link'] = "mailto:".$frommail; - $datarray['author-avatar'] = $contact['photo']; + $fromarr = imap_rfc822_parse_adrlist($fromdecoded, $a->get_hostname()); - $datarray['owner-name'] = $contact['name']; - $datarray['owner-link'] = "mailto:".$contact['addr']; - $datarray['owner-avatar'] = $contact['photo']; + $frommail = $fromarr[0]->mailbox."@".$fromarr[0]->host; + if (isset($fromarr[0]->personal)) { + $fromname = $fromarr[0]->personal; } else { - $datarray['author-name'] = $contact['name']; - $datarray['author-link'] = 'mailbox'; - $datarray['author-avatar'] = $contact['photo']; + $fromname = $frommail; } + $datarray['author-name'] = $fromname; + $datarray['author-link'] = "mailto:".$frommail; + $datarray['author-avatar'] = $contact['photo']; + + $datarray['owner-name'] = $contact['name']; + $datarray['owner-link'] = "mailto:".$contact['addr']; + $datarray['owner-avatar'] = $contact['photo']; + $datarray['uid'] = $importer_uid; $datarray['contact-id'] = $contact['id']; if ($datarray['parent-uri'] === $datarray['uri']) @@ -611,14 +603,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);