Merge pull request #5671 from annando/needless-updates
Avoid useless contact updates
This commit is contained in:
commit
13f50581fe
1 changed files with 10 additions and 2 deletions
|
@ -1618,6 +1618,10 @@ class DFRN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($author['avatar'])) {
|
||||||
|
logger('Empty author: ' . $xml);
|
||||||
|
}
|
||||||
|
|
||||||
if (DBA::isResult($contact_old) && !$onlyfetch) {
|
if (DBA::isResult($contact_old) && !$onlyfetch) {
|
||||||
logger("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated.", LOGGER_DEBUG);
|
logger("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated.", LOGGER_DEBUG);
|
||||||
|
|
||||||
|
@ -1747,6 +1751,10 @@ class DFRN
|
||||||
// Update check for this field has to be done differently
|
// Update check for this field has to be done differently
|
||||||
$datefields = ["name-date", "uri-date"];
|
$datefields = ["name-date", "uri-date"];
|
||||||
foreach ($datefields as $field) {
|
foreach ($datefields as $field) {
|
||||||
|
// The date fields arrives as '2018-07-17T10:44:45Z' - the database return '2018-07-17 10:44:45'
|
||||||
|
// The fields have to be in the same format to be comparable, since strtotime does add timezones.
|
||||||
|
$contact[$field] = DateTimeFormat::utc($contact[$field]);
|
||||||
|
|
||||||
if (strtotime($contact[$field]) > strtotime($contact_old[$field])) {
|
if (strtotime($contact[$field]) > strtotime($contact_old[$field])) {
|
||||||
logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
|
logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
|
||||||
$update = true;
|
$update = true;
|
||||||
|
@ -2441,7 +2449,7 @@ class DFRN
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch the owner
|
// Fetch the owner
|
||||||
$owner = self::fetchauthor($xpath, $entry, $importer, "dfrn:owner", true);
|
$owner = self::fetchauthor($xpath, $entry, $importer, "dfrn:owner", true, $xml);
|
||||||
|
|
||||||
$owner_unknown = (isset($owner["contact-unknown"]) && $owner["contact-unknown"]);
|
$owner_unknown = (isset($owner["contact-unknown"]) && $owner["contact-unknown"]);
|
||||||
|
|
||||||
|
@ -2451,7 +2459,7 @@ class DFRN
|
||||||
$item["owner-id"] = Contact::getIdForURL($owner["link"], 0);
|
$item["owner-id"] = Contact::getIdForURL($owner["link"], 0);
|
||||||
|
|
||||||
// fetch the author
|
// fetch the author
|
||||||
$author = self::fetchauthor($xpath, $entry, $importer, "atom:author", true);
|
$author = self::fetchauthor($xpath, $entry, $importer, "atom:author", true, $xml);
|
||||||
|
|
||||||
$item["author-name"] = $author["name"];
|
$item["author-name"] = $author["name"];
|
||||||
$item["author-link"] = $author["link"];
|
$item["author-link"] = $author["link"];
|
||||||
|
|
Loading…
Reference in a new issue