X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FGContact.php;h=c413bef4fa9ebde5d1a5cf95aab08c663a6f1dd2;hb=e409001dfbbe0582e922e9702426383bc2b643be;hp=d098e8fa4a4a764f130d2f146f6682949637f925;hpb=27d94023eef0263a3ce9750f79a73ac941a25304;p=friendica.git diff --git a/src/Model/GContact.php b/src/Model/GContact.php index d098e8fa4a..c413bef4fa 100644 --- a/src/Model/GContact.php +++ b/src/Model/GContact.php @@ -239,10 +239,8 @@ class GContact if ($alternate && ($gcontact['network'] == NETWORK_OSTATUS)) { // Delete the old entry - if it exists - $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($orig_profile))); - if (DBM::is_result($r)) { - q("DELETE FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($orig_profile))); - q("DELETE FROM `glink` WHERE `gcid` = %d", intval($r[0]["id"])); + if (dba::exists('gcontact', ['nurl' => normalise_link($orig_profile)])) { + dba::delete('gcontact', ['nurl' => normalise_link($orig_profile)]); } } } @@ -873,7 +871,8 @@ class GContact // Now update the contact entry with the user id "0" as well. // This is used for the shadow copies of public items. - + /// @todo Check if we really should do this. + // The quality of the gcontact table is mostly lower than the public contact $public_contact = dba::selectFirst('contact', ['id'], ['nurl' => normalise_link($contact["url"]), 'uid' => 0]); if (DBM::is_result($public_contact)) { logger("Update public contact ".$public_contact["id"], LOGGER_DEBUG); @@ -894,6 +893,12 @@ class GContact 'contact-type' => $contact['contact-type'], 'url' => $contact['url'], 'location' => $contact['location'], 'about' => $contact['about']]; + // Don't update the birthday field if not set or invalid + if (empty($contact['birthday']) || ($contact['birthday'] < '0001-01-01')) { + unset($fields['bd']); + } + + dba::update('contact', $fields, ['id' => $public_contact["id"]], $old_contact); } }