Switch nurl and addr lookups

- nurl lookup is more frequent than addr lookup, saves queries
This commit is contained in:
Hypolite Petovan 2017-03-06 16:26:04 -05:00
parent 89f0b85905
commit 97378893cd

View file

@ -534,20 +534,21 @@ function get_contact($url, $uid = 0, $no_update = false) {
$data = array(); $data = array();
$contact_id = 0; $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` $contacts = q("SELECT `id`, `avatar-date` FROM `contact`
WHERE `nurl` = '%s' WHERE `nurl` = '%s'
AND `uid` = %d", AND `uid` = %d",
dbesc(normalise_link($url)), dbesc(normalise_link($url)),
intval($uid)); 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) // Then the alias (which could be anything)