X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fcontacts.php;h=a2a77e2a5cddaa725e106e3ca1a86ad8fd77b86b;hb=1c6535c0b45c32ccbb0e2bd49e5bb7a6d5435d27;hp=4897663a051d92b2c3e208507de588ced76adfdd;hpb=d30d13959b21eafc7ea35d26ccc6bf10a84f8541;p=friendica.git diff --git a/mod/contacts.php b/mod/contacts.php index 4897663a05..a2a77e2a5c 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -7,9 +7,10 @@ require_once('include/Scrape.php'); require_once('mod/proxy.php'); require_once('include/Photo.php'); -function contacts_init(&$a) { - if(! local_user()) +function contacts_init(App $a) { + if (! local_user()) { return; + } $contact_id = 0; @@ -19,7 +20,7 @@ function contacts_init(&$a) { intval(local_user()), intval($contact_id) ); - if(! count($r)) { + if (! dbm::is_result($r)) { $contact_id = 0; } } @@ -27,40 +28,45 @@ function contacts_init(&$a) { require_once('include/group.php'); require_once('include/contact_widgets.php'); - if ($_GET['nets'] == "all") - $_GET['nets'] = ""; + if ($_GET['nets'] == "all") { + $_GET['nets'] = ""; + } - if(! x($a->page,'aside')) + if (! x($a->page,'aside')) { $a->page['aside'] = ''; - - if($contact_id) { - $a->data['contact'] = $r[0]; - - if (($a->data['contact']['network'] != "") AND ($a->data['contact']['network'] != NETWORK_DFRN)) { - $networkname = format_network_name($a->data['contact']['network'],$a->data['contact']['url']); - } else - $networkname = ''; - - $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( - '$name' => htmlentities($a->data['contact']['name']), - '$photo' => $a->data['contact']['photo'], - '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? "redir/".$a->data['contact']['id'] : $a->data['contact']['url'], - '$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""), - '$network_name' => $networkname, - '$network' => t('Network:'), - 'account_type' => (($a->data['contact']['forum'] || $a->data['contact']['prv']) ? t('Forum') : '') - )); - $finpeople_widget = ''; - $follow_widget = ''; - $networks_widget = ''; } - else { + + if ($contact_id) { + $a->data['contact'] = $r[0]; + + if (($a->data['contact']['network'] != "") AND ($a->data['contact']['network'] != NETWORK_DFRN)) { + $networkname = format_network_name($a->data['contact']['network'],$a->data['contact']['url']); + } else { + $networkname = ''; + } + + /// @TODO Add nice spaces + $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( + '$name' => htmlentities($a->data['contact']['name']), + '$photo' => $a->data['contact']['photo'], + '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? "redir/".$a->data['contact']['id'] : $a->data['contact']['url'], + '$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""), + '$network_name' => $networkname, + '$network' => t('Network:'), + '$account_type' => account_type($a->data['contact']) + )); + + $finpeople_widget = ''; + $follow_widget = ''; + $networks_widget = ''; + } else { $vcard_widget = ''; $networks_widget .= networks_widget('contacts',$_GET['nets']); - if (isset($_GET['add'])) + if (isset($_GET['add'])) { $follow_widget = follow_widget($_GET['add']); - else + } else { $follow_widget = follow_widget(); + } $findpeople_widget .= findpeople_widget(); } @@ -78,20 +84,20 @@ function contacts_init(&$a) { $base = z_root(); $tpl = get_markup_template("contacts-head.tpl"); $a->page['htmlhead'] .= replace_macros($tpl,array( - '$baseurl' => $a->get_baseurl(true), + '$baseurl' => App::get_baseurl(true), '$base' => $base )); $tpl = get_markup_template("contacts-end.tpl"); $a->page['end'] .= replace_macros($tpl,array( - '$baseurl' => $a->get_baseurl(true), + '$baseurl' => App::get_baseurl(true), '$base' => $base )); } -function contacts_batch_actions(&$a){ +function contacts_batch_actions(App $a) { $contacts_id = $_POST['contact_batch']; if (!is_array($contacts_id)) return; @@ -128,18 +134,21 @@ function contacts_batch_actions(&$a){ info ( sprintf( tt("%d contact edited.", "%d contacts edited.", $count_actions), $count_actions) ); } - if(x($_SESSION,'return_url')) + if (x($_SESSION,'return_url')) { goaway('' . $_SESSION['return_url']); - else + } + else { goaway('contacts'); + } } -function contacts_post(&$a) { +function contacts_post(App $a) { - if(! local_user()) + if (! local_user()) { return; + } if ($a->argv[1]==="batch") { contacts_batch_actions($a); @@ -147,15 +156,16 @@ function contacts_post(&$a) { } $contact_id = intval($a->argv[1]); - if(! $contact_id) + if (! $contact_id) { return; + } $orig_record = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($contact_id), intval(local_user()) ); - if(! count($orig_record)) { + if (! count($orig_record)) { notice( t('Could not access contact record.') . EOL); goaway('contacts'); return; // NOTREACHED @@ -164,12 +174,12 @@ function contacts_post(&$a) { call_hooks('contact_edit_post', $_POST); $profile_id = intval($_POST['profile-assign']); - if($profile_id) { + if ($profile_id) { $r = q("SELECT `id` FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($profile_id), intval(local_user()) ); - if(! count($r)) { + if (! dbm::is_result($r)) { notice( t('Could not locate selected profile.') . EOL); return; } @@ -181,13 +191,13 @@ function contacts_post(&$a) { $fetch_further_information = intval($_POST['fetch_further_information']); - $ffi_keyword_blacklist = fix_mce_lf(escape_tags(trim($_POST['ffi_keyword_blacklist']))); + $ffi_keyword_blacklist = escape_tags(trim($_POST['ffi_keyword_blacklist'])); $priority = intval($_POST['poll']); if($priority > 5 || $priority < 0) $priority = 0; - $info = fix_mce_lf(escape_tags(trim($_POST['info']))); + $info = escape_tags(trim($_POST['info'])); $r = q("UPDATE `contact` SET `profile-id` = %d, `priority` = %d , `info` = '%s', `hidden` = %d, `notify_new_posts` = %d, `fetch_further_information` = %d, @@ -211,7 +221,7 @@ function contacts_post(&$a) { intval($contact_id), intval(local_user()) ); - if($r && count($r)) + if($r && dbm::is_result($r)) $a->data['contact'] = $r[0]; return; @@ -237,7 +247,7 @@ function _contact_update($contact_id) { intval($contact_id)); } else // pull feed and consume it, which should subscribe to the hub. - proc_run('php',"include/onepoll.php","$contact_id", "force"); + proc_run(PRIORITY_HIGH, "include/onepoll.php", $contact_id, "force"); } function _contact_update_profile($contact_id) { @@ -339,14 +349,14 @@ function _contact_drop($contact_id, $orig_record) { } -function contacts_content(&$a) { +function contacts_content(App $a) { $sort_type = 0; $o = ''; nav_set_selected('contacts'); - if(! local_user()) { + if (! local_user()) { notice( t('Permission denied.') . EOL); return; } @@ -384,7 +394,7 @@ function contacts_content(&$a) { if($cmd === 'block') { $r = _contact_block($contact_id, $orig_record[0]); - if($r) { + if ($r) { $blocked = (($orig_record[0]['blocked']) ? 0 : 1); info((($blocked) ? t('Contact has been blocked') : t('Contact has been unblocked')).EOL); } @@ -395,7 +405,7 @@ function contacts_content(&$a) { if($cmd === 'ignore') { $r = _contact_ignore($contact_id, $orig_record[0]); - if($r) { + if ($r) { $readonly = (($orig_record[0]['readonly']) ? 0 : 1); info((($readonly) ? t('Contact has been ignored') : t('Contact has been unignored')).EOL); } @@ -407,7 +417,7 @@ function contacts_content(&$a) { if($cmd === 'archive') { $r = _contact_archive($contact_id, $orig_record[0]); - if($r) { + if ($r) { $archived = (($orig_record[0]['archive']) ? 0 : 1); info((($archived) ? t('Contact has been archived') : t('Contact has been unarchived')).EOL); } @@ -434,7 +444,8 @@ function contacts_content(&$a) { $a->page['aside'] = ''; return replace_macros(get_markup_template('contact_drop_confirm.tpl'), array( - '$contact' => _contact_detail_for_template($orig_record[0]), + '$header' => t('Drop contact'), + '$contact' => _contact_detail_for_template($orig_record[0]), '$method' => 'get', '$message' => t('Do you really want to delete this contact?'), '$extra_inputs' => $inputs, @@ -445,22 +456,26 @@ function contacts_content(&$a) { )); } // Now check how the user responded to the confirmation query - if($_REQUEST['canceled']) { - if(x($_SESSION,'return_url')) + if ($_REQUEST['canceled']) { + if (x($_SESSION,'return_url')) { goaway('' . $_SESSION['return_url']); - else + } + else { goaway('contacts'); + } } _contact_drop($contact_id, $orig_record[0]); info( t('Contact has been removed.') . EOL ); - if(x($_SESSION,'return_url')) + if (x($_SESSION,'return_url')) { goaway('' . $_SESSION['return_url']); - else + } + else { goaway('contacts'); + } return; // NOTREACHED } - if($cmd === 'posts') { + if ($cmd === 'posts') { return contact_posts($a, $contact_id); } } @@ -474,17 +489,11 @@ function contacts_content(&$a) { $contact_id = $a->data['contact']['id']; $contact = $a->data['contact']; - $editselect = 'none'; - if( feature_enabled(local_user(),'richtext') ) - $editselect = 'exact'; - $a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array( - '$baseurl' => $a->get_baseurl(true), - '$editselect' => $editselect, + '$baseurl' => App::get_baseurl(true), )); $a->page['end'] .= replace_macros(get_markup_template('contact_end.tpl'), array( - '$baseurl' => $a->get_baseurl(true), - '$editselect' => $editselect, + '$baseurl' => App::get_baseurl(true), )); require_once('include/contact_selectors.php'); @@ -563,7 +572,7 @@ function contacts_content(&$a) { if (in_array($contact['network'], array(NETWORK_DIASPORA, NETWORK_OSTATUS)) AND ($contact['rel'] == CONTACT_IS_FOLLOWER)) - $follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]); + $follow = App::get_baseurl(true)."/follow?url=".urlencode($contact["url"]); // Load contactact related actions like hide, suggest, delete and others $contact_actions = contact_actions($contact); @@ -571,6 +580,7 @@ function contacts_content(&$a) { $o .= replace_macros($tpl, array( //'$header' => t('Contact Editor'), + '$header' => t("Contact"), '$tab_str' => $tab_str, '$submit' => t('Submit'), '$lbl_vis1' => t('Profile Visibility'), @@ -604,6 +614,7 @@ function contacts_content(&$a) { '$ignore_text' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ), '$insecure' => (($contact['network'] !== NETWORK_DFRN && $contact['network'] !== NETWORK_MAIL && $contact['network'] !== NETWORK_FACEBOOK && $contact['network'] !== NETWORK_DIASPORA) ? $insecure : ''), '$info' => $contact['info'], + '$cinfo' => array('info', '', $contact['info'], ''), '$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''), '$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''), '$archived' => (($contact['archive']) ? t('Currently archived') : ''), @@ -620,8 +631,11 @@ function contacts_content(&$a) { '$url' => $url, '$profileurllabel' => t('Profile URL'), '$profileurl' => $contact['url'], + '$account_type' => account_type($contact), '$location' => bbcode($contact["location"]), '$location_label' => t("Location:"), + '$xmpp' => bbcode($contact["xmpp"]), + '$xmpp_label' => t("XMPP:"), '$about' => bbcode($contact["about"], false, false), '$about_label' => t("About:"), '$keywords' => $contact["keywords"], @@ -630,6 +644,7 @@ function contacts_content(&$a) { '$contact_actions' => $contact_actions, '$contact_status' => t("Status"), '$contact_settings_label' => t('Contact Settings'), + '$contact_profile_label' => t("Profile"), )); @@ -758,7 +773,7 @@ function contacts_content(&$a) { $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ", intval($_SESSION['uid'])); - if(count($r)) { + if (dbm::is_result($r)) { $a->set_pager_total($r[0]['total']); $total = $r[0]['total']; } @@ -773,8 +788,8 @@ function contacts_content(&$a) { $contacts = array(); - if(count($r)) { - foreach($r as $rr) { + if (dbm::is_result($r)) { + foreach ($r as $rr) { $contacts[] = _contact_detail_for_template($rr); } } @@ -787,7 +802,7 @@ function contacts_content(&$a) { '$total' => $total, '$search' => $search_hdr, '$desc' => t('Search your contacts'), - '$finding' => (($searching) ? t('Finding: ') . "'" . $search . "'" : ""), + '$finding' => (($searching) ? sprintf(t('Results for: %s'),$search) : ""), '$submit' => t('Find'), '$cmd' => $a->cmd, '$contacts' => $contacts, @@ -800,6 +815,7 @@ function contacts_content(&$a) { "contacts_batch_archive" => t('Archive')."/".t("Unarchive"), "contacts_batch_drop" => t('Delete'), ), + '$h_batch_actions' => t('Batch Actions'), '$paginate' => paginate($a), )); @@ -809,13 +825,13 @@ function contacts_content(&$a) { /** * @brief List of pages for the Contact TabBar - * + * * Available Pages are 'Status', 'Profile', 'Contacts' and 'Common Friends' - * + * * @param app $a * @param int $contact_id The ID of the contact * @param int $active_tab 1 if tab should be marked as active - * + * * @return array with with contact TabBar data */ function contacts_tab($a, $contact_id, $active_tab) { @@ -886,24 +902,13 @@ function contact_posts($a, $contact_id) { $o .= $tab_str; - $r = q("SELECT `id` FROM `item` WHERE `contact-id` = %d LIMIT 1", intval($contact_id)); - if ($r) - $o .= posts_from_contact($a, $contact_id); - elseif ($contact["url"]) { - $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1", - dbesc(normalise_link($contact["url"]))); - - if ($r[0]["id"] <> 0) - $o .= posts_from_gcontact($a, $r[0]["id"]); - } + $o .= posts_from_contact_url($a, $contact["url"]); return $o; } function _contact_detail_for_template($rr){ - $community = ''; - switch($rr['rel']) { case CONTACT_IS_FRIEND: $dir_icon = 'images/lrarrow.gif'; @@ -929,11 +934,6 @@ function _contact_detail_for_template($rr){ $sparkle = ''; } - //test if contact is a forum page - if (isset($rr['forum']) OR isset($rr['prv'])) - $community = ($rr['forum'] OR $rr['prv']); - - return array( 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']), 'edit_hover' => t('Edit contact'), @@ -944,7 +944,7 @@ function _contact_detail_for_template($rr){ 'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB), 'name' => htmlentities($rr['name']), 'username' => htmlentities($rr['name']), - 'account_type' => ($community ? t('Forum') : ''), + 'account_type' => account_type($rr), 'sparkle' => $sparkle, 'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']), 'url' => $url, @@ -955,9 +955,9 @@ function _contact_detail_for_template($rr){ /** * @brief Gives a array with actions which can performed to a given contact - * + * * This includes actions like e.g. 'block', 'hide', 'archive', 'delete' and others - * + * * @param array $contact Data about the Contact * @return array with contact related actions */ @@ -1013,7 +1013,7 @@ function contact_actions($contact) { $contact_actions['delete'] = array( 'label' => t('Delete'), - 'url' => 'contacts/' . $contact['id'] . '/drop', + 'url' => 'contacts/' . $contact['id'] . '/drop', 'title' => t('Delete contact'), 'sel' => '', 'id' => 'delete',