aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-06-14 16:56:46 -0700
committerfriendica <info@friendica.com>2012-06-14 16:56:46 -0700
commitbe090cc8513504edcfaf368915e45308711f7e7c (patch)
tree4ad5c45d864094552fa9318cb8727a717a2e6069 /include
parent79e2ae3791ec092f5be4f5b0b635247df2535089 (diff)
downloadvolse-hubzilla-be090cc8513504edcfaf368915e45308711f7e7c.tar.gz
volse-hubzilla-be090cc8513504edcfaf368915e45308711f7e7c.tar.bz2
volse-hubzilla-be090cc8513504edcfaf368915e45308711f7e7c.zip
better handling of dead contacts
Diffstat (limited to 'include')
-rw-r--r--include/Contact.php4
-rw-r--r--include/onepoll.php5
2 files changed, 8 insertions, 1 deletions
diff --git a/include/Contact.php b/include/Contact.php
index 3b255a072..14e1a52cd 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -139,6 +139,10 @@ function terminate_friendship($user,$self,$contact) {
if(! function_exists('mark_for_death')) {
function mark_for_death($contact) {
+
+ if($contact['archive'])
+ return;
+
if($contact['term-date'] == '0000-00-00 00:00:00') {
q("UPDATE `contact` SET `term-date` = '%s' WHERE `id` = %d LIMIT 1",
dbesc(datetime_convert()),
diff --git a/include/onepoll.php b/include/onepoll.php
index 02763cf4b..447881ab7 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -139,15 +139,18 @@ function onepoll_run($argv, $argc){
. '&perm=' . $perm ;
$handshake_xml = fetch_url($url);
+ $html_code = $a->get_curl_code();
logger('onepoll: handshake with url ' . $url . ' returns xml: ' . $handshake_xml, LOGGER_DATA);
- if(! $handshake_xml) {
+ if((! strlen($handshake_xml)) || ($html_code >= 400) || (! $html_code)) {
logger("poller: $url appears to be dead - marking for death ");
+
// dead connection - might be a transient event, or this might
// mean the software was uninstalled or the domain expired.
// Will keep trying for one month.
+
mark_for_death($contact);
// set the last-update so we don't keep polling