From: rabuzarus Date: Tue, 1 Dec 2015 17:34:13 +0000 (+0100) Subject: Merge develop into 3011_hcard_vcard X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=39b37281a78b58b50503056e69b2aaa9885257b0;hp=-c;p=friendica.git Merge develop into 3011_hcard_vcard --- 39b37281a78b58b50503056e69b2aaa9885257b0 diff --combined include/identity.php index 7bd2d2cbc8,1cd2e6f73a..e412c68c96 --- a/include/identity.php +++ b/include/identity.php @@@ -45,9 -45,39 +45,9 @@@ if(! function_exists('profile_load')) return; } - if(remote_user() && count($_SESSION['remote'])) { - foreach($_SESSION['remote'] as $visitor) { - if($visitor['uid'] == $user[0]['uid']) { - $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1", - intval($visitor['cid']) - ); - if(count($r)) - $profile = $r[0]['profile-id']; - break; - } - } - } - - $r = null; + $pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile); - if($profile) { - $profile_int = intval($profile); - $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr` AS faddr, `user`.* FROM `profile` - INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` - WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d AND `contact`.`self` = 1 LIMIT 1", - dbesc($nickname), - intval($profile_int) - ); - } - if((!$r) && (!count($r))) { - $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr` AS faddr, `user`.* FROM `profile` - INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` - WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 AND `contact`.`self` = 1 LIMIT 1", - dbesc($nickname) - ); - } - - if(($r === false) || (!count($r)) && !count($profiledata)) { + if(($pdata === false) || (!count($pdata)) && !count($profiledata)) { logger('profile error: ' . $a->query_string, LOGGER_DEBUG); notice( t('Requested profile is not available.') . EOL ); $a->error = 404; @@@ -56,16 -86,16 +56,16 @@@ // fetch user tags if this isn't the default profile - if(!$r[0]['is-default']) { + if(!$pdata['is-default']) { $x = q("SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", - intval($r[0]['profile_uid']) + intval($pdata['profile_uid']) ); if($x && count($x)) - $r[0]['pub_keywords'] = $x[0]['pub_keywords']; + $pdata['pub_keywords'] = $x[0]['pub_keywords']; } - $a->profile = $r[0]; - $a->profile_uid = $r[0]['profile_uid']; + $a->profile = $pdata; + $a->profile_uid = $pdata['profile_uid']; $a->profile['mobile-theme'] = get_pconfig($a->profile['profile_uid'], 'system', 'mobile_theme'); $a->profile['network'] = NETWORK_DFRN; @@@ -117,58 -147,6 +117,58 @@@ } +/** + * @brief Get all profil data of a local user + * If the viewer is an authenticated remote viewer, the profile displayed is the + * one that has been configured for his/her viewing in the Contact manager. + * Passing a non-zero profile ID can also allow a preview of a selected profile + * by the owner + * + * @param string $nickname + * @param int $uid + * @param int $profile + * ID of the profile + * @returns array + * Includes all available profile data + */ +function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) { + if(remote_user() && count($_SESSION['remote'])) { + foreach($_SESSION['remote'] as $visitor) { + if($visitor['uid'] == $uid) { + $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1", + intval($visitor['cid']) + ); + if(count($r)) + $profile = $r[0]['profile-id']; + break; + } + } + } + + $r = null; + + if($profile) { + $profile_int = intval($profile); + $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile` + INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` + WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d AND `contact`.`self` = 1 LIMIT 1", + dbesc($nickname), + intval($profile_int) + ); + } + if((!$r) && (!count($r))) { + $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile` + INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` + WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 AND `contact`.`self` = 1 LIMIT 1", + dbesc($nickname) + ); + } + + return $r[0]; + +} + + /** * * Function: profile_sidebar @@@ -183,6 -161,8 +183,6 @@@ * Exceptions: Returns empty string if passed $profile is wrong type or not populated * */ - - if(! function_exists('profile_sidebar')) { function profile_sidebar($profile, $block = 0) { $a = get_app(); @@@ -198,8 -178,12 +198,8 @@@ $profile['picdate'] = urlencode($profile['picdate']); if (($profile['network'] != "") AND ($profile['network'] != NETWORK_DFRN)) { - require_once('include/contact_selectors.php'); - if ($profile['url'] != "") - $profile['network_name'] = ''.network_to_name($profile['network'], $profile['url']).""; - else - $profile['network_name'] = network_to_name($profile['network']); - } else + $profile['network_name'] = format_network_name($profile['network'],$profile['url']); + } else $profile['network_name'] = ""; call_hooks('profile_sidebar_enter', $profile); @@@ -286,14 -270,6 +286,14 @@@ ); } + if((x($profile['page-flags']) == 1) + || (x($profile['page-flags']) == 2) + || (x($profile['page-flags']) == 5)) + $account_type = page_type_translate($profile['page-flags']); + + if(! $account_type) + $account_type = (x($profile['forum']) || x($profile['prv']) || (x($profile['community'])) ? t('Forum') : ""); + if((x($profile,'address') == 1) || (x($profile,'locality') == 1) || (x($profile,'region') == 1) @@@ -368,7 -344,6 +368,7 @@@ '$remoteconnect' => $remoteconnect, '$subscribe_feed' => $subscribe_feed, '$wallmessage' => $wallmessage, + '$account_type' => $account_type, '$location' => $location, '$gender' => $gender, '$pdesc' => $pdesc, @@@ -725,6 -700,16 +725,16 @@@ if(! function_exists('profile_tabs')) ); } + if ((! $is_owner) && ((count($a->profile)) || (! $a->profile['hide-friends']))) { + $tabs[] = array( + 'label' => t('Contacts'), + 'url' => $a->get_baseurl() . '/viewcontacts/' . $nickname, + 'sel' => ((!isset($tab)&&$a->argv[0]=='viewcontacts')?'active':''), + 'title' => t('Contacts'), + 'id' => 'viewcontacts-tab', + 'accesskey' => 'k', + ); + } $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs); call_hooks('profile_tabs', $arr); diff --combined view/theme/vier/style.css index 6313d2f0d4,7066c4decf..94390d7a41 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@@ -998,11 -998,6 +998,11 @@@ aside .vcard dl height: auto; overflow: auto; } +aside .vcard .account-type { + margin-bottom: 13px; + font-size: 14px; + font-weight: bold; +} aside select { background-color: white; @@@ -2720,6 -2715,13 +2720,13 @@@ a.mail-list-link font-weight: bold; color: #FF0000; } + #event-desc-text-edit-bb, #event-location-text-edit-bb { + float: none; + } + #event-start-text, #event-finish-text, #event-summary-text, #event-desc-text, #event-location-text { + margin-bottom: 10px; + margin-top: 20px; + } .settings-block { /* border: 1px solid #AAA; */