]> git.mxchange.org Git - friendica.git/commitdiff
Check all contacts that we haven't contacted in a month
authorMichael Vogel <icarus@dabo.de>
Mon, 27 Jul 2015 06:14:04 +0000 (08:14 +0200)
committerMichael Vogel <icarus@dabo.de>
Mon, 27 Jul 2015 06:14:04 +0000 (08:14 +0200)
include/discover_poco.php
include/socgraph.php

index 687698b44f29443551bee552b593dfb4e865522a..e93b449b980245c0996efb4fdab19d35514da44c 100644 (file)
@@ -83,9 +83,10 @@ function discover_poco_run(&$argv, &$argc){
 
 function discover_users() {
        logger("Discover users", LOGGER_DEBUG);
-       // To-Do: Maybe we should check old contact as well.
+
        $users = q("SELECT `url`, `created`, `updated`, `last_failure`, `last_contact`, `server_url` FROM `gcontact`
-                       WHERE `last_contact` = '0000-00-00 00:00:00' AND `last_failure` = '0000-00-00 00:00:00' AND
+                       WHERE `last_contact` < UTC_TIMESTAMP - INTERVAL 1 MONTH AND
+                               `last_failure` < UTC_TIMESTAMP - INTERVAL 1 MONTH AND
                                `network` IN ('%s', '%s', '%s') ORDER BY rand()",
                        dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS));
 
@@ -104,7 +105,7 @@ function discover_users() {
 
                        if (poco_check_server($server_url, $gcontacts[0]["network"])) {
                                logger('Check user '.$user["url"]);
-                               poco_last_updated($user["url"]);
+                               poco_last_updated($user["url"], true);
 
                                if (++$checked > 100)
                                        return;
index 04374f3e5480b1c60128435196fd259b926ba424..5671891df5e9f67696b5a3718773c8b7dcc2bd4e 100644 (file)
@@ -425,7 +425,7 @@ function poco_detect_server($profile) {
        return $server_url;
 }
 
-function poco_last_updated($profile) {
+function poco_last_updated($profile, $force = false) {
 
        $gcontacts = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s'",
                        dbesc(normalise_link($profile)));
@@ -451,7 +451,7 @@ function poco_last_updated($profile) {
 
                if ($server) {
                        $noscraperet = z_fetch_url($server[0]["noscrape"]."/".$gcontacts[0]["nick"]);
-                        if ($noscraperet["success"]) {
+                        if ($noscraperet["success"] AND ($noscraperet["body"] = "")) {
                                $noscrape = json_decode($noscraperet["body"], true);
 
                                if (($noscrape["name"] != "") AND ($noscrape["name"] != $gcontacts[0]["name"]))
@@ -514,7 +514,7 @@ function poco_last_updated($profile) {
        }
 
        // If we only can poll the feed, then we only do this once a while
-       if (!poco_do_update($gcontacts[0]["created"], $gcontacts[0]["updated"], $gcontacts[0]["last_failure"],  $gcontacts[0]["last_contact"]))
+       if (!$force AND !poco_do_update($gcontacts[0]["created"], $gcontacts[0]["updated"], $gcontacts[0]["last_failure"],  $gcontacts[0]["last_contact"]))
                return $gcontacts[0]["updated"];
 
        $data = probe_url($profile);