if (!$public_contact_id && x($_SESSION, 'authenticated')) {
if (x($_SESSION, 'my_address')) {
// Local user
- $public_contact_id = intval(get_contact($_SESSION['my_address'], 0));
+ $public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0));
} elseif (x($_SESSION, 'visitor_home')) {
// Remote user
- $public_contact_id = intval(get_contact($_SESSION['visitor_home'], 0));
+ $public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0));
}
} elseif (!x($_SESSION, 'authenticated')) {
$public_contact_id = false;
);
if (DBM::is_result($r)) {
foreach ($r as $row) {
- $contact = get_contact_details_by_url($row['author-link']);
+ $contact = Contact::getDetailsByURL($row['author-link']);
if (count($contact) > 0) {
$unknown_contacts[] = array(
'notifications' => false,
'statusnet_profile_url' => $r[0]["url"],
'uid' => 0,
- 'cid' => get_contact($r[0]["url"], api_user(), true),
+ 'cid' => Contact::getIdForURL($r[0]["url"], api_user(), true),
'self' => 0,
'network' => $r[0]["network"],
);
$network_name = network_to_name($uinfo[0]['network'], $uinfo[0]['url']);
- $pcontact_id = get_contact($uinfo[0]['url'], 0, true);
+ $pcontact_id = Contact::getIdForURL($uinfo[0]['url'], 0, true);
$ret = array(
'id' => intval($pcontact_id),
return;
}
- $data = get_contact_details_by_addr($match[2]);
+ $data = Contact::getDetailsByAddr($match[2]);
$name = $match[1];
*/
function diaspora_mentions($match) {
- $contact = get_contact_details_by_url($match[3]);
+ $contact = Contact::getDetailsByURL($match[3]);
if (!x($contact, 'addr')) {
$contact = Probe::uri($match[3]);
// We only call this so that a previously unknown contact can be added.
// This is important for the function "get_contact_details_by_url".
// This function then can fetch an entry from the contact table.
- get_contact($profile, 0);
+ Contact::getIdForURL($profile, 0);
- $data = get_contact_details_by_url($profile);
+ $data = Contact::getDetailsByURL($profile);
if (isset($data["name"]) && ($data["name"] != "") && isset($data["addr"]) && ($data["addr"] != ""))
$userid_compact = $data["name"]." (".$data["addr"].")";
}
if (!x($item, 'author-thumb') || ($item['author-thumb'] == "")) {
- $author_contact = get_contact_details_by_url($item['author-link'], $profile_owner);
+ $author_contact = Contact::getDetailsByURL($item['author-link'], $profile_owner);
if ($author_contact["thumb"]) {
$item['author-thumb'] = $author_contact["thumb"];
} else {
}
if (!isset($item['owner-thumb']) || ($item['owner-thumb'] == "")) {
- $owner_contact = get_contact_details_by_url($item['owner-link'], $profile_owner);
+ $owner_contact = Contact::getDetailsByURL($item['owner-link'], $profile_owner);
if ($owner_contact["thumb"]) {
$item['owner-thumb'] = $owner_contact["thumb"];
} else {
}
// Fetch the account type
- $account_type = account_type($profile);
+ $account_type = Contact::getAccountType($profile);
if ((x($profile, 'address') == 1)
|| (x($profile, 'location') == 1)
* This is done only for comments (See below explanation at "gcontact-id")
*/
if ($arr['parent-uri'] != $arr['uri']) {
- $arr["contact-id"] = get_contact($arr['author-link'], $uid);
+ $arr["contact-id"] = Contact::getIdForURL($arr['author-link'], $uid);
}
// If not present then maybe the owner was found
if ($arr["contact-id"] == 0) {
- $arr["contact-id"] = get_contact($arr['owner-link'], $uid);
+ $arr["contact-id"] = Contact::getIdForURL($arr['owner-link'], $uid);
}
// Still missing? Then use the "self" contact of the current user
}
if ($arr["author-id"] == 0) {
- $arr["author-id"] = get_contact($arr["author-link"], 0);
+ $arr["author-id"] = Contact::getIdForURL($arr["author-link"], 0);
}
- if (blockedContact($arr["author-id"])) {
+ if (Contact::isBlocked($arr["author-id"])) {
logger('Contact '.$arr["author-id"].' is blocked, item '.$arr["uri"].' will not be stored');
return 0;
}
if ($arr["owner-id"] == 0) {
- $arr["owner-id"] = get_contact($arr["owner-link"], 0);
+ $arr["owner-id"] = Contact::getIdForURL($arr["owner-link"], 0);
}
- if (blockedContact($arr["owner-id"])) {
+ if (Contact::isBlocked($arr["owner-id"])) {
logger('Contact '.$arr["owner-id"].' is blocked, item '.$arr["uri"].' will not be stored');
return 0;
}
if (($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_SHARING)) {
dba::update('contact', array('rel' => CONTACT_IS_SHARING), array('id' => $contact['id']));
} else {
- contact_remove($contact['id']);
+ Contact::remove($contact['id']);
}
}
if (($contact['rel'] == CONTACT_IS_FRIEND) || ($contact['rel'] == CONTACT_IS_FOLLOWER)) {
dba::update('contact', array('rel' => CONTACT_IS_FOLLOWER), array('id' => $contact['id']));
} else {
- contact_remove($contact['id']);
+ Contact::remove($contact['id']);
}
}
$item_contact_id = $owner_self_contact['id'];
$item_contact = $owner_self_contact;
} else {
- $item_contact_id = get_contact($author_contact['url'], $item['uid']);
+ $item_contact_id = Contact::getIdForURL($author_contact['url'], $item['uid']);
$contacts = q("SELECT * FROM `contact` WHERE `id` = %d",
intval($item_contact_id)
// Set the "gcontact-id" in the item table and add a new gcontact entry if needed
foreach ($item_arr AS $item) {
- $author_id = get_contact($item["author-link"], 0);
- $owner_id = get_contact($item["owner-link"], 0);
+ $author_id = Contact::getIdForURL($item["author-link"], 0);
+ $owner_id = Contact::getIdForURL($item["owner-link"], 0);
if ($author_id == 0)
$author_id = -1;
}
// Is the public contact configured as hidden?
- if (hiddenContact($item["owner-id"]) || hiddenContact($item["author-id"])) {
+ if (Contact::isHidden($item["owner-id"]) || Contact::isHidden($item["author-id"])) {
return;
}
$item[0]['uid'] = 0;
$item[0]['origin'] = 0;
$item[0]['wall'] = 0;
- $item[0]['contact-id'] = get_contact($item[0]['author-link'], 0);
+ $item[0]['contact-id'] = Contact::getIdForURL($item[0]['author-link'], 0);
if (in_array($item[0]['type'], array("net-comment", "wall-comment"))) {
$item[0]['type'] = 'remote-comment';
$item['uid'] = 0;
$item['origin'] = 0;
$item['wall'] = 0;
- $item['contact-id'] = get_contact($item['author-link'], 0);
+ $item['contact-id'] = Contact::getIdForURL($item['author-link'], 0);
if (in_array($item['type'], array("net-comment", "wall-comment"))) {
$item['type'] = 'remote-comment';
if (x($_POST,'page_users_delete')) {
require_once("include/Contact.php");
foreach ($users as $uid) {
- user_remove($uid);
+ User::remove($uid);
}
notice(sprintf(tt("%s user deleted", "%s users deleted", count($users)), count($users)));
}
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
// delete user
require_once("include/Contact.php");
- user_remove($uid);
+ User::remove($uid);
notice(sprintf(t("User '%s' deleted"), $user[0]['username']).EOL);
break;
}
$a->page['aside'] = "";
- profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($c[0]["url"]));
$total = GlobalContact::countAllFriends(local_user(), $cid);
foreach ($r as $rr) {
//get further details of the contact
- $contact_details = get_contact_details_by_url($rr['url'], $uid, $rr);
+ $contact_details = Contact::getDetailsByURL($rr['url'], $uid, $rr);
$photo_menu = '';
// If the contact is not common to the user, Connect/Follow' will be added to the photo menu
if ($rr[cid]) {
$rr[id] = $rr[cid];
- $photo_menu = contact_photo_menu ($rr);
+ $photo_menu = Contact::photoMenu ($rr);
}
else {
$connlnk = System::baseUrl() . '/follow/?url=' . $rr['url'];
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'network' => network_to_name($contact_details['network'], $contact_details['url']),
'photo_menu' => $photo_menu,
'conntxt' => t('Connect'),
$profile = get_profiledata_by_nick($nick, $a->profile_uid);
- $account_type = account_type($profile);
+ $account_type = Contact::getAccountType($profile);
$tpl = get_markup_template("vcard-widget.tpl");
);
/// @TODO Handle $c with DBM::is_result()
$a->page['aside'] = "";
- profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($c[0]["url"]));
} else {
$c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
intval($uid)
foreach ($r as $rr) {
//get further details of the contact
- $contact_details = get_contact_details_by_url($rr['url'], $uid);
+ $contact_details = Contact::getDetailsByURL($rr['url'], $uid);
// $rr['id'] is needed to use contact_photo_menu()
/// @TODO Adding '/" here avoids E_NOTICE on missing constants
$rr['id'] = $rr['cid'];
$photo_menu = '';
- $photo_menu = contact_photo_menu($rr);
+ $photo_menu = Contact::photoMenu($rr);
$entry = array(
'url' => $rr['url'],
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'network' => network_to_name($contact_details['network'], $contact_details['url']),
'photo_menu' => $photo_menu,
'id' => ++$id,
'$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""),
'$network_name' => $networkname,
'$network' => t('Network:'),
- '$account_type' => account_type($a->data['contact'])
+ '$account_type' => Contact::getAccountType($a->data['contact'])
));
$finpeople_widget = '';
if ($r) $count_actions++;
}
if (x($_POST, 'contacts_batch_drop')) {
- _contact_drop($contact_id, $orig_record);
+ _contact_drop($orig_record);
$count_actions++;
}
}
}
return $r;
}
-function _contact_drop($contact_id, $orig_record) {
+
+function _contact_drop($orig_record)
+{
$a = get_app();
$r = q("SELECT `contact`.*, `user`.* FROM `contact` INNER JOIN `user` ON `contact`.`uid` = `user`.`uid`
return;
}
- $self = ""; // Unused parameter
- terminate_friendship($r[0], $self, $orig_record);
- contact_remove($orig_record['id']);
+ Contact::terminateFriendship($r[0], $orig_record);
+ Contact::remove($orig_record['id']);
}
}
}
- _contact_drop($contact_id, $orig_record[0]);
+ _contact_drop($orig_record[0]);
info( t('Contact has been removed.') . EOL );
if (x($_SESSION,'return_url')) {
goaway('' . $_SESSION['return_url']);
'$url' => $url,
'$profileurllabel' => t('Profile URL'),
'$profileurl' => $contact['url'],
- '$account_type' => account_type($contact),
+ '$account_type' => Contact::getAccountType($contact),
'$location' => bbcode($contact["location"]),
'$location_label' => t("Location:"),
'$xmpp' => bbcode($contact["xmpp"]),
if ($r) {
$contact = $r[0];
$a->page['aside'] = "";
- profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($contact["url"]));
} else
$profile = "";
$o .= $tab_str;
- $o .= posts_from_contact_url($a, $contact["url"]);
+ $o .= Contact::getPostsFromUrl($contact["url"]);
return $o;
}
return array(
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
'edit_hover' => t('Edit contact'),
- 'photo_menu' => contact_photo_menu($rr),
+ 'photo_menu' => Contact::photoMenu($rr),
'id' => $rr['id'],
'alt_text' => $alt_text,
'dir_icon' => $dir_icon,
'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
'name' => htmlentities($rr['name']),
'username' => htmlentities($rr['name']),
- 'account_type' => account_type($rr),
+ 'account_type' => Contact::getAccountType($rr),
'sparkle' => $sparkle,
'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']),
'url' => $url,
if($contact_id) {
$a->data['contact'] = $r[0];
$contact = $r[0];
- profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($contact["url"]));
}
}
logger('dfrn_notify: data: ' . $data, LOGGER_DATA);
if ($dissolve == 1) {
-
- /*
- * Relationship is dissolved permanently
- */
-
require_once('include/Contact.php');
- contact_remove($importer['id']);
+ // Relationship is dissolved permanently
+ Contact::remove($importer['id']);
logger('relationship dissolved : ' . $importer['name'] . ' dissolved ' . $importer['username']);
xml_status(0, 'relationship dissolved');
}
'img_hover' => $rr['name'],
'name' => $rr['name'],
'details' => $details,
- 'account_type' => account_type($rr),
+ 'account_type' => Contact::getAccountType($rr),
'profile' => $profile,
'location' => $location_e,
'tags' => $rr['pub_keywords'],
$objresult->tags = "";
$objresult->network = $user_data["network"];
- $contact = get_contact_details_by_url($user_data["url"], local_user());
+ $contact = Contact::getDetailsByURL($user_data["url"], local_user());
$objresult->cid = $contact["cid"];
$j->results[] = $objresult;
continue;
}
- $result = get_contact_details_by_url($result["url"], local_user(), $result);
+ $result = Contact::getDetailsByURL($result["url"], local_user(), $result);
if ($result["name"] == "") {
$urlparts = parse_url($result["url"]);
$alt_text = "";
- $contact_details = get_contact_details_by_url($jj->url, local_user());
+ $contact_details = Contact::getDetailsByURL($jj->url, local_user());
$itemurl = (($contact_details["addr"] != "") ? $contact_details["addr"] : $jj->url);
$contact = q("SELECT * FROM `contact` WHERE `id` = %d",
intval($jj->cid));
if ($contact) {
- $photo_menu = contact_photo_menu($contact[0]);
+ $photo_menu = Contact::photoMenu($contact[0]);
$details = _contact_detail_for_template($contact[0]);
$alt_text = $details['alt_text'];
} else {
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'network' => network_to_name($jj->network, $jj->url),
'id' => ++$id,
);
$profiledata["about"] = "";
}
- $profiledata = get_contact_details_by_url($profiledata["url"], local_user(), $profiledata);
+ $profiledata = Contact::getDetailsByURL($profiledata["url"], local_user(), $profiledata);
$profiledata["photo"] = System::removedBaseUrl($profiledata["photo"]);
));
$a->page['aside'] = "";
- profile_load($a, "", 0, get_contact_details_by_url($ret["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($ret["url"]));
if ($gcontact_id <> 0) {
$o .= replace_macros(get_markup_template('section_title.tpl'),
));
// Show last public posts
- $o .= posts_from_contact_url($a, $ret["url"]);
+ $o .= Contact::getPostsFromUrl($ret["url"]);
}
return $o;
$nurl = normalise_link(GlobalContact::cleanContactUrl($profileurl));
if($nurl) {
// Search for contact data
- $contact = get_contact_details_by_url($nurl);
+ $contact = Contact::getDetailsByURL($nurl);
}
if(!is_array($contact))
return;
// Get the photo_menu - the menu if possible contact actions
if(local_user())
- $actions = contact_photo_menu($contact);
+ $actions = Contact::photoMenu($contact);
// Move the contact data to the profile array so we can deliver it to
// 'server_url' => $contact["server_url"],
'bd' => (($contact["birthday"] <= '0001-01-01') ? "" : $contact["birthday"]),
// 'generation' => $contact["generation"],
- 'account_type' => account_type($contact),
+ 'account_type' => Contact::getAccountType($contact),
'actions' => $actions,
);
if($datatype == "html") {
$thrparent = q("SELECT `author-link`, `network` FROM `item` WHERE `uri` = '%s' LIMIT 1", dbesc($thr_parent));
if (DBM::is_result($thrparent) && ($thrparent[0]["network"] === NETWORK_OSTATUS)
&& (normalise_link($parent_contact["url"]) != normalise_link($thrparent[0]["author-link"]))) {
- $parent_contact = get_contact_details_by_url($thrparent[0]["author-link"]);
+ $parent_contact = Contact::getDetailsByURL($thrparent[0]["author-link"]);
if (!isset($parent_contact["nick"])) {
$probed_contact = Probe::uri($thrparent[0]["author-link"]);
$datarray['owner-name'] = $contact_record['name'];
$datarray['owner-link'] = $contact_record['url'];
$datarray['owner-avatar'] = $contact_record['thumb'];
- $datarray['owner-id'] = get_contact($datarray['owner-link'], 0);
+ $datarray['owner-id'] = Contact::getIdForURL($datarray['owner-link'], 0);
$datarray['author-name'] = $author['name'];
$datarray['author-link'] = $author['url'];
$datarray['author-avatar'] = $author['thumb'];
- $datarray['author-id'] = get_contact($datarray['author-link'], 0);
+ $datarray['author-id'] = Contact::getIdForURL($datarray['author-link'], 0);
$datarray['created'] = datetime_convert();
$datarray['edited'] = datetime_convert();
$datarray['commented'] = datetime_convert();
'follow' => array(t("Connect/Follow"), $connlnk)
);
- $contact_details = get_contact_details_by_url($jj->url, local_user());
+ $contact_details = Contact::getDetailsByURL($jj->url, local_user());
$entry = array(
'url' => zrl($jj->url),
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
'inttxt' => ' ' . t('is interested in:'),
'conntxt' => t('Connect'),
$to_name_e = $message['name'];
}
- $contact = get_contact_details_by_url($message['from-url']);
+ $contact = Contact::getDetailsByURL($message['from-url']);
if (isset($contact["thumb"]))
$from_photo = $contact["thumb"];
else
$to_name_e = $rr['name'];
}
- $contact = get_contact_details_by_url($rr['url']);
+ $contact = Contact::getDetailsByURL($rr['url']);
if (isset($contact["thumb"]))
$from_photo = $contact["thumb"];
else
'details' => $r['location'],
);
- $entries[0]["account_type"] = account_type($r);
+ $entries[0]["account_type"] = Contact::getAccountType($r);
$o = replace_macros(get_markup_template("viewcontact_template.tpl"),array(
'contacts' => $entries,
}
require_once 'include/Contact.php';
- $r = contacts_not_grouped(local_user());
+ $r = Contact::getUngroupedList(local_user());
if (DBM::is_result($r)) {
$a->set_pager_total($r[0]['total']);
}
- $r = contacts_not_grouped(local_user(), $a->pager['start'], $a->pager['itemspage']);
+ $r = Contact::getUngroupedList(local_user(), $a->pager['start'], $a->pager['itemspage']);
if (DBM::is_result($r)) {
foreach ($r as $rr) {
- $contact_details = get_contact_details_by_url($rr['url'], local_user(), $rr);
+ $contact_details = Contact::getDetailsByURL($rr['url'], local_user(), $rr);
$contacts[] = array(
'img_hover' => sprintf(t('Visit %s\'s profile [%s]'), $contact_details['name'], $rr['url']),
'edit_hover' => t('Edit contact'),
- 'photo_menu' => contact_photo_menu($rr),
+ 'photo_menu' => Contact::photoMenu($rr),
'id' => $rr['id'],
'alt_text' => $alt_text,
'dir_icon' => $dir_icon,
$profile = get_profiledata_by_nick($nick, $a->profile_uid);
- $account_type = account_type($profile);
+ $account_type = Contact::getAccountType($profile);
$tpl = get_markup_template("vcard-widget.tpl");
$notif['message'] = str_replace("{0}", $notif['name'], $notif['message']);
}
- $contact = get_contact_details_by_url($notif['url']);
+ $contact = Contact::getDetailsByURL($notif['url']);
if (isset($contact['micro'])) {
$notif['photo'] = proxy_url($contact['micro'], false, PROXY_SIZE_MICRO);
} else {
}
if ($is_default) {
- $location = formatted_location(array("locality" => $locality, "region" => $region, "country-name" => $country_name));
+ $location = Profile::formatLocation(array("locality" => $locality, "region" => $region, "country-name" => $country_name));
q("UPDATE `contact` SET `about` = '%s', `location` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `self` AND `uid` = %d",
dbesc($about),
function randprof_init(App $a) {
require_once('include/Contact.php');
- $x = random_profile();
+ $x = GlobalContact::getRandomUrl();
if ($x) {
goaway(zrl($x));
if ((strlen($a->user['password'])) && ($encrypted === $a->user['password'])) {
require_once('include/Contact.php');
- user_remove($a->user['uid']);
+ User::remove($a->user['uid']);
// NOTREACHED
}
'hide' => array(t('Ignore/Hide'), $ignlnk)
);
- $contact_details = get_contact_details_by_url($rr["url"], local_user(), $rr);
+ $contact_details = Contact::getDetailsByURL($rr["url"], local_user(), $rr);
$entry = array(
'url' => zrl($rr['url']),
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'ignlnk' => $ignlnk,
'ignid' => $rr['id'],
'conntxt' => t('Connect'),
intval($uid)
);
if (DBM::is_result($r)) {
- $self = ""; // Unused parameter
- terminate_friendship($r[0], $self, $contact);
+ Contact::terminateFriendship($r[0], $contact);
}
}
dba::update('contact', array('rel' => CONTACT_IS_FOLLOWER), array('id' => $contact['id']));
));
$a->page['aside'] = "";
- profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
+ profile_load($a, "", 0, Contact::getDetailsByURL($contact["url"]));
$o .= replace_macros(get_markup_template('section_title.tpl'),
array('$title' => t('Status Messages and Posts')
));
// Show last public posts
- $o .= posts_from_contact_url($a, $contact["url"]);
+ $o .= Contact::getPostsFromUrl($contact["url"]);
return $o;
}
$profile = get_profiledata_by_nick($nick, $a->profile_uid);
- $account_type = account_type($profile);
+ $account_type = Contact::getAccountType($profile);
$tpl = get_markup_template("vcard-widget.tpl");
else
$url = zrl($url);
- $contact_details = get_contact_details_by_url($rr['url'], $a->profile['uid'], $rr);
+ $contact_details = Contact::getDetailsByURL($rr['url'], $a->profile['uid'], $rr);
$contacts[] = array(
'id' => $rr['id'],
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $contact_details['name'], $rr['url']),
- 'photo_menu' => contact_photo_menu($rr),
+ 'photo_menu' => Contact::photoMenu($rr),
'thumb' => proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB),
'name' => htmlentities(substr($contact_details['name'],0,20)),
'username' => htmlentities($contact_details['name']),
'details' => $contact_details['location'],
'tags' => $contact_details['keywords'],
'about' => $contact_details['about'],
- 'account_type' => account_type($contact_details),
+ 'account_type' => Contact::getAccountType($contact_details),
'url' => $url,
'sparkle' => '',
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
$sql_extra = " AND `ignore` = 0 ";
}
- /// @todo Fetch contact details by "get_contact_details_by_url" instead of queries to contact, fcontact and gcontact
+ /// @todo Fetch contact details by "Contact::getDetailsByUrl" instead of queries to contact, fcontact and gcontact
$r = q(
"SELECT `intro`.`id` AS `intro_id`, `intro`.*, `contact`.*,
`fcontact`.`name` AS `fname`, `fcontact`.`url` AS `furl`,
// If the network and addr is still not available
// get the missing data data from other sources
if ($arr['gnetwork'] == "" || $arr['gaddr'] == "") {
- $ret = get_contact_details_by_url($arr['url']);
+ $ret = Contact::getDetailsByURL($arr['url']);
if ($arr['gnetwork'] == "" && $ret['network'] != "") {
$arr['gnetwork'] = $ret['network'];
intval($uid)
);
- $location = formatted_location(
+ $location = Profile::formatLocation(
array("locality" => $r[0]["locality"], "region" => $r[0]["region"], "country-name" => $r[0]["country-name"])
);
q("UPDATE `gserver` SET `last_poco_query` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc($server["nurl"]));
}
}
+
+ public static function getRandomUrl() {
+ $r = q("SELECT `url` FROM `gcontact` WHERE `network` = '%s'
+ AND `last_contact` >= `last_failure`
+ AND `updated` > UTC_TIMESTAMP - INTERVAL 1 MONTH
+ ORDER BY rand() LIMIT 1",
+ dbesc(NETWORK_DFRN));
+
+ if (DBM::is_result($r))
+ return dirname($r[0]['url']);
+ return '';
+ }
}
}
}
- $location = formatted_location($json);
+ $location = Profile::formatLocation($json);
if ($location) {
$data["location"] = $location;
}
*
* @return integer Contact ID
*/
- public static function getIdForUrl($url, $uid = 0, $no_update = false)
+ public static function getIdForURL($url, $uid = 0, $no_update = false)
{
logger("Get contact data for url " . $url . " and user " . $uid . " - " . System::callstack(), LOGGER_DEBUG);
}
if (!$contact_id && ($data["alias"] != '') && ($data["alias"] != $url)) {
- $contact_id = self::getIdForUrl($data["alias"], $uid, true);
+ $contact_id = self::getIdForURL($data["alias"], $uid, true);
}
$url = $data["url"];
if (trim($profile["locality"].$profile["region"].$profile["country-name"]) != "") {
$element = $doc->createElement("poco:address");
- XML::add_element($doc, $element, "poco:formatted", formatted_location($profile));
+ XML::add_element($doc, $element, "poco:formatted", Profile::formatLocation($profile));
if (trim($profile["locality"]) != "") {
XML::add_element($doc, $element, "poco:locality", $profile["locality"]);
*/
private static function add_entry_author($doc, $element, $contact_url, $item)
{
-
- $contact = get_contact_details_by_url($contact_url, $item["uid"]);
+ $contact = Contact::getDetailsByURL($contact_url, $item["uid"]);
$author = $doc->createElement($element);
XML::add_element($doc, $author, "name", $contact["name"]);
if ($contact['term-date'] > NULL_DATE) {
logger("dfrn_deliver: $url back from the dead - removing mark for death");
- include_once 'include/Contact.php';
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
}
$res = parse_xml_string($xml);
* We haven't found it?
* We use another function for it that will possibly create a contact entry.
*/
- $cid = get_contact($handle, $uid);
+ $cid = Contact::getIdForURL($handle, $uid);
if ($cid > 0) {
/// @TODO Contact retrieval should be encapsulated into an "entity" class like `Contact`
// We are receiving content from a user that possibly is about to be terminated
// This means the user is vital, so we remove a possible termination date.
- unmark_for_death($r[0]);
+ Contact::unmarkForArchival($r[0]);
} else {
$cid = $contact["id"];
$network = NETWORK_DIASPORA;
}
// We now remove the contact
- contact_remove($contact["id"]);
+ Contact::remove($contact["id"]);
return true;
}
case "Person":
/// @todo What should we do with an "unshare"?
// Removing the contact isn't correct since we still can read the public items
- contact_remove($contact["id"]);
+ Contact::remove($contact["id"]);
return true;
default:
add_to_queue($contact["id"], NETWORK_DIASPORA, $envelope, $public_batch);
// The message could not be delivered. We mark the contact as "dead"
- mark_for_death($contact);
+ Contact::markForArchival($contact);
}
} elseif (($return_code >= 200) && ($return_code <= 299)) {
// We successfully delivered a message, the contact is alive
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
}
return(($return_code) ? $return_code : (-1));
*
* @return int The result of the transmission
*/
- public static function send_unshare($owner, $contact)
+ public static function sendUnshare($owner, $contact)
{
$message = array("author" => self::my_handle($owner),
"recipient" => $contact["addr"],
$about = $profile['about'];
$about = strip_tags(bbcode($about));
- $location = formatted_location($profile);
+ $location = Profile::formatLocation($profile);
$tags = '';
if ($profile['pub_keywords']) {
$kw = str_replace(',', ' ', $profile['pub_keywords']);
// Only update the contacts if it is an OStatus contact
if ($r && ($r['id'] > 0) && !$onlyfetch && ($contact["network"] == NETWORK_OSTATUS)) {
// This contact is vital, so we awake it from the dead
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
// Update contact data
}
// Ensure that we are having this contact (with uid=0)
- $cid = get_contact($aliaslink, 0);
+ $cid = Contact::getIdForURL($aliaslink, 0);
if ($cid) {
$fields = array('url', 'nurl', 'name', 'nick', 'alias', 'about', 'location');
}
$check_date = datetime_convert('UTC', 'UTC', $last_update, 'Y-m-d H:i:s');
- $authorid = get_contact($owner["url"], 0);
+ $authorid = Contact::getIdForURL($owner["url"], 0);
$items = q(
"SELECT `item`.*, `item`.`id` AS `item_id` FROM `item` USE INDEX (`uid_contactid_created`)
}
}
- $location = formatted_location($noscrape);
+ $location = Profile::formatLocation($noscrape);
if ($location) {
$contact["location"] = $location;
}
add_to_queue($contact['id'],NETWORK_DFRN,$atom);
// The message could not be delivered. We mark the contact as "dead"
- mark_for_death($contact);
+ Contact::markForArchival($contact);
} else {
// We successfully delivered a message, the contact is alive
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
}
break;
$user = $r[0];
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($item_id));
- if (!$r)
- return;
-
- $self = $r[0];
-
$r = q("SELECT * FROM `contact` WHERE NOT `self` AND `uid` = %d", intval($item_id));
if (!$r) {
return;
}
require_once 'include/Contact.php';
foreach ($r as $contact) {
- terminate_friendship($user, $self, $contact);
+ Contact::terminateFriendship($user, $contact);
}
return;
} elseif ($cmd === 'relocate') {
}
if (!update_contact($contact["id"])) {
- mark_for_death($contact);
+ Contact::markForArchival($contact);
logger('Contact is marked dead');
return;
} else {
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
}
}
// mean the software was uninstalled or the domain expired.
// Will keep trying for one month.
- mark_for_death($contact);
+ Contact::markForArchival($contact);
// set the last-update so we don't keep polling
$fields = array('last-update' => datetime_convert(), 'failure_update' => datetime_convert());
if (!strstr($handshake_xml, '<')) {
logger('poller: response from ' . $url . ' did not contain XML.');
- mark_for_death($contact);
+ Contact::markForArchival($contact);
$fields = array('last-update' => datetime_convert(), 'failure_update' => datetime_convert());
dba::update('contact', $fields, array('id' => $contact['id']));
$fields = array('last-update' => datetime_convert(), 'failure_update' => datetime_convert());
dba::update('contact', $fields, array('id' => $contact['id']));
- mark_for_death($contact);
+ Contact::markForArchival($contact);
} elseif ($contact['term-date'] > NULL_DATE) {
logger("poller: $url back from the dead - removing mark for death");
- unmark_for_death($contact);
+ Contact::unmarkForArchival($contact);
}
if ((intval($res->status) != 0) || !strlen($res->challenge) || !strlen($res->dfrn_id)) {