diff --git a/boot.php b/boot.php index 698587eb59..f0ad74ed58 100644 --- a/boot.php +++ b/boot.php @@ -984,10 +984,10 @@ function public_contact() 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; diff --git a/include/acl_selectors.php b/include/acl_selectors.php index f206685784..ef75d416f6 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -692,7 +692,7 @@ function acl_lookup(App $a, $out_type = 'json') { ); 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( diff --git a/include/api.php b/include/api.php index 7303524232..2cfdcf0241 100644 --- a/include/api.php +++ b/include/api.php @@ -650,7 +650,7 @@ function api_get_user(App $a, $contact_id = null, $type = "json") '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"], ); @@ -738,7 +738,7 @@ function api_get_user(App $a, $contact_id = null, $type = "json") $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), diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index 2188cf8c70..3b1540473a 100644 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -24,7 +24,7 @@ function diaspora_mention2bb($match) { return; } - $data = get_contact_details_by_addr($match[2]); + $data = Contact::getDetailsByAddr($match[2]); $name = $match[1]; @@ -97,7 +97,7 @@ function diaspora2bb($s) { */ 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]); diff --git a/include/bbcode.php b/include/bbcode.php index 609ca922bc..105e9595e7 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -493,9 +493,9 @@ function bb_ShareAttributes($share, $simplehtml) { // 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"].")"; diff --git a/include/conversation.php b/include/conversation.php index aea0855695..62c4d678e0 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -734,7 +734,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { } 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 { @@ -743,7 +743,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { } 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 { diff --git a/include/identity.php b/include/identity.php index 31c17ef21c..96a9781335 100644 --- a/include/identity.php +++ b/include/identity.php @@ -346,7 +346,7 @@ function profile_sidebar($profile, $block = 0) } // Fetch the account type - $account_type = account_type($profile); + $account_type = Contact::getAccountType($profile); if ((x($profile, 'address') == 1) || (x($profile, 'location') == 1) diff --git a/include/items.php b/include/items.php index 63ecc791b4..8862eb1abd 100644 --- a/include/items.php +++ b/include/items.php @@ -719,12 +719,12 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f * 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 @@ -755,19 +755,19 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f } 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; } @@ -1751,7 +1751,7 @@ function lose_follower($importer, $contact, array $datarray = array(), $item = " 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']); } } @@ -1760,7 +1760,7 @@ function lose_sharer($importer, $contact, array $datarray = array(), $item = "") 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']); } } diff --git a/include/like.php b/include/like.php index e8d69689b5..e6f1aab6de 100644 --- a/include/like.php +++ b/include/like.php @@ -116,7 +116,7 @@ function do_like($item_id, $verb) { $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) diff --git a/include/post_update.php b/include/post_update.php index f77cb01846..f67c064daf 100644 --- a/include/post_update.php +++ b/include/post_update.php @@ -210,8 +210,8 @@ function post_update_1198() { // 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; diff --git a/include/threads.php b/include/threads.php index a1a6c78251..e776a37e7e 100644 --- a/include/threads.php +++ b/include/threads.php @@ -59,7 +59,7 @@ function add_shadow_thread($itemid) { } // 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; } @@ -105,7 +105,7 @@ function add_shadow_thread($itemid) { $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'; @@ -165,7 +165,7 @@ function add_shadow_entry($itemid) { $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'; diff --git a/mod/admin.php b/mod/admin.php index 67313e0603..34055ba5d3 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -1446,7 +1446,7 @@ function admin_page_users_post(App $a) { 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))); } @@ -1493,7 +1493,7 @@ function admin_page_users(App $a) { 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; diff --git a/mod/allfriends.php b/mod/allfriends.php index 13a85e6aa4..c88ce96312 100644 --- a/mod/allfriends.php +++ b/mod/allfriends.php @@ -40,7 +40,7 @@ function allfriends_content(App $a) { } $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); @@ -59,7 +59,7 @@ function allfriends_content(App $a) { 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 = ''; @@ -67,7 +67,7 @@ function allfriends_content(App $a) { // 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']; @@ -86,7 +86,7 @@ function allfriends_content(App $a) { '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'), diff --git a/mod/cal.php b/mod/cal.php index f3cb9f6335..96a1c8f293 100644 --- a/mod/cal.php +++ b/mod/cal.php @@ -47,7 +47,7 @@ function cal_init(App $a) { $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"); diff --git a/mod/common.php b/mod/common.php index 94c8847713..c0bab4171c 100644 --- a/mod/common.php +++ b/mod/common.php @@ -40,7 +40,7 @@ function common_content(App $a) { ); /// @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) @@ -115,14 +115,14 @@ function common_content(App $a) { 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'], @@ -133,7 +133,7 @@ function common_content(App $a) { '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, diff --git a/mod/contacts.php b/mod/contacts.php index dba7680bad..c8c73b51fa 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -59,7 +59,7 @@ function contacts_init(App $a) { '$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 = ''; @@ -132,7 +132,7 @@ function contacts_batch_actions(App $a) { if ($r) $count_actions++; } if (x($_POST, 'contacts_batch_drop')) { - _contact_drop($contact_id, $orig_record); + _contact_drop($orig_record); $count_actions++; } } @@ -347,7 +347,9 @@ function _contact_archive($contact_id, $orig_record) { } 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` @@ -358,9 +360,8 @@ function _contact_drop($contact_id, $orig_record) { 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']); } @@ -480,7 +481,7 @@ function contacts_content(App $a) { } } - _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']); @@ -654,7 +655,7 @@ function contacts_content(App $a) { '$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"]), @@ -917,7 +918,7 @@ function contact_posts($a, $contact_id) { 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 = ""; @@ -925,7 +926,7 @@ function contact_posts($a, $contact_id) { $o .= $tab_str; - $o .= posts_from_contact_url($a, $contact["url"]); + $o .= Contact::getPostsFromUrl($contact["url"]); return $o; } @@ -960,14 +961,14 @@ function _contact_detail_for_template($rr){ 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, diff --git a/mod/crepair.php b/mod/crepair.php index f9c25845d0..69efad24b0 100644 --- a/mod/crepair.php +++ b/mod/crepair.php @@ -32,7 +32,7 @@ function crepair_init(App $a) { 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"])); } } diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 74f6d4e9f4..8ad599c9d4 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -128,13 +128,9 @@ function dfrn_notify_post(App $a) { 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'); } diff --git a/mod/directory.php b/mod/directory.php index 269dc03d35..4ce919b08b 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -162,7 +162,7 @@ function directory_content(App $a) { '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'], diff --git a/mod/dirfind.php b/mod/dirfind.php index c8a9709ab2..5a31ef9962 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -76,7 +76,7 @@ function dirfind_content(App $a, $prefix = "") { $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; @@ -150,7 +150,7 @@ function dirfind_content(App $a, $prefix = "") { 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"]); @@ -194,7 +194,7 @@ function dirfind_content(App $a, $prefix = "") { $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); @@ -205,7 +205,7 @@ function dirfind_content(App $a, $prefix = "") { $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 { @@ -235,7 +235,7 @@ function dirfind_content(App $a, $prefix = "") { '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, ); diff --git a/mod/display.php b/mod/display.php index f36266e683..aa885f5bd2 100644 --- a/mod/display.php +++ b/mod/display.php @@ -182,7 +182,7 @@ function display_fetchauthor($a, $item) { $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"]); diff --git a/mod/follow.php b/mod/follow.php index b3a503ec06..567a955cc3 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -177,7 +177,7 @@ function follow_content(App $a) { )); $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'), @@ -185,7 +185,7 @@ function follow_content(App $a) { )); // Show last public posts - $o .= posts_from_contact_url($a, $ret["url"]); + $o .= Contact::getPostsFromUrl($ret["url"]); } return $o; diff --git a/mod/hovercard.php b/mod/hovercard.php index a1d861067e..41de07c616 100644 --- a/mod/hovercard.php +++ b/mod/hovercard.php @@ -52,14 +52,14 @@ function hovercard_content() { $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 @@ -81,7 +81,7 @@ function hovercard_content() { // '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") { diff --git a/mod/item.php b/mod/item.php index 040ea76873..7b0f21a815 100644 --- a/mod/item.php +++ b/mod/item.php @@ -147,7 +147,7 @@ function item_post(App $a) { $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"]); @@ -704,11 +704,11 @@ function item_post(App $a) { $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(); diff --git a/mod/match.php b/mod/match.php index b5e1ea31fa..3a0d10c319 100644 --- a/mod/match.php +++ b/mod/match.php @@ -87,7 +87,7 @@ function match_content(App $a) '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), @@ -96,7 +96,7 @@ function match_content(App $a) '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'), diff --git a/mod/message.php b/mod/message.php index ecd377b7d0..80940c8169 100644 --- a/mod/message.php +++ b/mod/message.php @@ -462,7 +462,7 @@ function message_content(App $a) { $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 @@ -576,7 +576,7 @@ function render_messages(array $msg, $t) { $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 diff --git a/mod/network.php b/mod/network.php index 8008fcc060..ff86e0b9e4 100644 --- a/mod/network.php +++ b/mod/network.php @@ -677,7 +677,7 @@ function networkThreadedView(App $a, $update = 0) { '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, diff --git a/mod/nogroup.php b/mod/nogroup.php index d88722e3f8..c50ec486c2 100644 --- a/mod/nogroup.php +++ b/mod/nogroup.php @@ -33,19 +33,19 @@ function nogroup_content(App $a) } 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, diff --git a/mod/photos.php b/mod/photos.php index 3efa4a12e9..6ef256f27a 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -46,7 +46,7 @@ function photos_init(App $a) { $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"); diff --git a/mod/ping.php b/mod/ping.php index e722295b2a..39882d5e39 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -350,7 +350,7 @@ function ping_init(App $a) $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 { diff --git a/mod/profiles.php b/mod/profiles.php index 835dd59f10..03265ccf4e 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -491,7 +491,7 @@ function profiles_post(App $a) { } 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), diff --git a/mod/randprof.php b/mod/randprof.php index 79057b4955..55b77aec8b 100644 --- a/mod/randprof.php +++ b/mod/randprof.php @@ -7,7 +7,7 @@ use Friendica\Model\GlobalContact; function randprof_init(App $a) { require_once('include/Contact.php'); - $x = random_profile(); + $x = GlobalContact::getRandomUrl(); if ($x) { goaway(zrl($x)); diff --git a/mod/removeme.php b/mod/removeme.php index dcb07a5bee..4b5591c0b5 100644 --- a/mod/removeme.php +++ b/mod/removeme.php @@ -30,7 +30,7 @@ function removeme_post(App $a) { 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 } diff --git a/mod/suggest.php b/mod/suggest.php index cb2b3f9c44..f05c76ceda 100644 --- a/mod/suggest.php +++ b/mod/suggest.php @@ -88,7 +88,7 @@ function suggest_content(App $a) { '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']), @@ -99,7 +99,7 @@ function suggest_content(App $a) { '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'), diff --git a/mod/unfollow.php b/mod/unfollow.php index 28af7f86e6..652394ac59 100644 --- a/mod/unfollow.php +++ b/mod/unfollow.php @@ -39,8 +39,7 @@ function unfollow_post(App $a) { 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'])); @@ -128,14 +127,14 @@ function unfollow_content(App $a) { )); $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; } diff --git a/mod/videos.php b/mod/videos.php index 662da4ca4b..9f02441020 100644 --- a/mod/videos.php +++ b/mod/videos.php @@ -40,7 +40,7 @@ function videos_init(App $a) { $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"); diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index 4747330d6c..0a1021a795 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -101,19 +101,19 @@ function viewcontacts_content(App $a) { 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']), diff --git a/src/Core/NotificationsManager.php b/src/Core/NotificationsManager.php index 5e2f1ad1f2..b3146a1d3d 100644 --- a/src/Core/NotificationsManager.php +++ b/src/Core/NotificationsManager.php @@ -775,7 +775,7 @@ class NotificationsManager $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`, @@ -904,7 +904,7 @@ class NotificationsManager // 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']; diff --git a/src/Model/GlobalContact.php b/src/Model/GlobalContact.php index dc30c8b692..fe45d5bb70 100644 --- a/src/Model/GlobalContact.php +++ b/src/Model/GlobalContact.php @@ -895,7 +895,7 @@ class GlobalContact intval($uid) ); - $location = formatted_location( + $location = Profile::formatLocation( array("locality" => $r[0]["locality"], "region" => $r[0]["region"], "country-name" => $r[0]["country-name"]) ); @@ -1002,4 +1002,16 @@ class GlobalContact 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 ''; + } } diff --git a/src/Network/Probe.php b/src/Network/Probe.php index b758956123..c6bf46f792 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -793,7 +793,7 @@ class Probe { } } - $location = formatted_location($json); + $location = Profile::formatLocation($json); if ($location) { $data["location"] = $location; } diff --git a/src/Object/Contact.php b/src/Object/Contact.php index 2b8a11640e..876083971c 100644 --- a/src/Object/Contact.php +++ b/src/Object/Contact.php @@ -538,7 +538,7 @@ class Contact extends BaseObject * * @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); @@ -603,7 +603,7 @@ class Contact extends BaseObject } 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"]; diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index e0daaf3605..8547d23026 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -708,7 +708,7 @@ class DFRN 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"]); @@ -742,8 +742,7 @@ class DFRN */ 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"]); @@ -1373,8 +1372,7 @@ class DFRN 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); diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index d7f55b6f47..bf1988d2c6 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -950,7 +950,7 @@ class Diaspora * 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` @@ -1342,7 +1342,7 @@ class Diaspora // 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; @@ -1521,7 +1521,7 @@ class Diaspora } // We now remove the contact - contact_remove($contact["id"]); + Contact::remove($contact["id"]); return true; } @@ -2810,7 +2810,7 @@ class Diaspora 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: @@ -3151,11 +3151,11 @@ class Diaspora 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)); @@ -3291,7 +3291,7 @@ class Diaspora * * @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"], @@ -4007,7 +4007,7 @@ class Diaspora $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']); diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index 4c0503ce69..4b8b6d4703 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -153,7 +153,7 @@ class OStatus // 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 @@ -208,7 +208,7 @@ class OStatus } // 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'); @@ -2098,7 +2098,7 @@ class OStatus } $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`) diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index e3d9c96d89..06d47f2f9c 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -401,7 +401,7 @@ class PortableContact } } - $location = formatted_location($noscrape); + $location = Profile::formatLocation($noscrape); if ($location) { $contact["location"] = $location; } diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index 8cd774d455..14fe3027fc 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -354,10 +354,10 @@ class Delivery { 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; diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 2ad12e7910..f092282c31 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -120,19 +120,13 @@ class Notifier { $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') { diff --git a/src/Worker/OnePoll.php b/src/Worker/OnePoll.php index 98d1303115..f8f9fcd1db 100644 --- a/src/Worker/OnePoll.php +++ b/src/Worker/OnePoll.php @@ -127,11 +127,11 @@ Class OnePoll } 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); } } @@ -197,7 +197,7 @@ Class OnePoll // 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()); @@ -209,7 +209,7 @@ Class OnePoll 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'])); @@ -228,10 +228,10 @@ Class OnePoll $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)) {