From 97378893cd5875b37647f41e57349ba8af51b8c7 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 6 Mar 2017 16:26:04 -0500 Subject: [PATCH] Switch nurl and addr lookups - nurl lookup is more frequent than addr lookup, saves queries --- include/Contact.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/include/Contact.php b/include/Contact.php index 845ee168c..1fcdc6951 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -534,20 +534,21 @@ function get_contact($url, $uid = 0, $no_update = false) { $data = array(); $contact_id = 0; - // We first try the addr (nick@server.tld) + // We first try the nurl (http://server.tld/nick), most common case $contacts = q("SELECT `id`, `avatar-date` FROM `contact` - WHERE `addr` = '%s' - AND `uid` = %d", - dbesc($url), - intval($uid)); - - // Then the nurl (http://server.tld/nick) - if (! dbm::is_result($contacts)) { - $contacts = q("SELECT `id`, `avatar-date` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d", dbesc(normalise_link($url)), intval($uid)); + + + // Then the addr (nick@server.tld) + if (! dbm::is_result($contacts)) { + $contacts = q("SELECT `id`, `avatar-date` FROM `contact` + WHERE `addr` = '%s' + AND `uid` = %d", + dbesc($url), + intval($uid)); } // Then the alias (which could be anything)