// Get data from the gcontact table
$gcontacts = dba::select('gcontact', array('name', 'nick', 'url', 'photo', 'addr', 'alias', 'network'),
array('nurl' => normalise_link($url)), array('limit' => 1));
// Get data from the gcontact table
$gcontacts = dba::select('gcontact', array('name', 'nick', 'url', 'photo', 'addr', 'alias', 'network'),
array('nurl' => normalise_link($url)), array('limit' => 1));
dba::insert('contact', array('uid' => $uid, 'created' => datetime_convert(), 'url' => $data["url"],
'nurl' => normalise_link($data["url"]), 'addr' => $data["addr"],
'alias' => $data["alias"], 'notify' => $data["notify"], 'poll' => $data["poll"],
'name' => $data["name"], 'nick' => $data["nick"], 'photo' => $data["photo"],
dba::insert('contact', array('uid' => $uid, 'created' => datetime_convert(), 'url' => $data["url"],
'nurl' => normalise_link($data["url"]), 'addr' => $data["addr"],
'alias' => $data["alias"], 'notify' => $data["notify"], 'poll' => $data["poll"],
'name' => $data["name"], 'nick' => $data["nick"], 'photo' => $data["photo"],
'network' => $data["network"], 'pubkey' => $data["pubkey"],
'rel' => CONTACT_IS_SHARING, 'priority' => $data["priority"],
'batch' => $data["batch"], 'request' => $data["request"],
'network' => $data["network"], 'pubkey' => $data["pubkey"],
'rel' => CONTACT_IS_SHARING, 'priority' => $data["priority"],
'batch' => $data["batch"], 'request' => $data["request"],
$gcontact = dba::select('gcontact', array('location', 'about', 'keywords', 'gender'),
array('nurl' => normalise_link($data["url"])), array('limit' => 1));
if (dbm::is_result($gcontact)) {
$gcontact = dba::select('gcontact', array('location', 'about', 'keywords', 'gender'),
array('nurl' => normalise_link($data["url"])), array('limit' => 1));
if (dbm::is_result($gcontact)) {
+ // Only use the information when the probing hadn't fetched these values
+ if ($data['keywords'] != '') {
+ unset($gcontact['keywords']);
+ }
+ if ($data['location'] != '') {
+ unset($gcontact['location']);
+ }
+ if ($data['about'] != '') {
+ unset($gcontact['about']);
+ }
- $contact = dba::select('contact', array('addr', 'alias', 'name', 'nick', 'avatar-date'),
+ $contact = dba::select('contact', array('addr', 'alias', 'name', 'nick', 'keywords', 'location', 'about', 'avatar-date'),
array('id' => $contact_id), array('limit' => 1));
// This condition should always be true
array('id' => $contact_id), array('limit' => 1));
// This condition should always be true
+ if ($data['keywords'] != '') {
+ $updated['keywords'] = $data['keywords'];
+ }
+ if ($data['location'] != '') {
+ $updated['location'] = $data['location'];
+ }
+ if ($data['about'] != '') {
+ $updated['about'] = $data['about'];
+ }
+
if (($data["addr"] != $contact["addr"]) || ($data["alias"] != $contact["alias"])) {
$updated['uri-date'] = datetime_convert();
}
if (($data["addr"] != $contact["addr"]) || ($data["alias"] != $contact["alias"])) {
$updated['uri-date'] = datetime_convert();
}