Fix formatting and PHP notices in identity

- Change flow of profile_load() function to return early if $profiledata
and !$user
- Replace remaining double quotes by single
- Add back uninitialized variables in profile_sidebar
This commit is contained in:
Hypolite Petovan 2018-01-01 15:47:20 -05:00
parent a964129085
commit 861c4c7474
1 changed files with 182 additions and 194 deletions

View File

@ -1,8 +1,8 @@
<?php <?php
/** /**
* @file include/identity.php * @file include/identity.php
*/ */
use Friendica\App; use Friendica\App;
use Friendica\Content\Feature; use Friendica\Content\Feature;
use Friendica\Content\ForumManager; use Friendica\Content\ForumManager;
@ -50,13 +50,25 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
dbesc($nickname) dbesc($nickname)
); );
if (!$user && count($user) && !count($profiledata)) { if (!$user && !count($user) && !count($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG); logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice(t('Requested account is not available.') . EOL); notice(t('Requested account is not available.') . EOL);
$a->error = 404; $a->error = 404;
return; return;
} }
if (!x($a->page, 'aside')) {
$a->page['aside'] = '';
}
if ($profiledata) {
$a->page['aside'] .= profile_sidebar($profiledata, true, $show_connect);
if (!DBM::is_result($user)) {
return;
}
}
$pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile); $pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile);
if (empty($pdata) && empty($profiledata)) { if (empty($pdata) && empty($profiledata)) {
@ -73,8 +85,9 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
"SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1", "SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
intval($pdata['profile_uid']) intval($pdata['profile_uid'])
); );
if ($x && count($x)) if ($x && count($x)) {
$pdata['pub_keywords'] = $x[0]['pub_keywords']; $pdata['pub_keywords'] = $x[0]['pub_keywords'];
}
} }
$a->profile = $pdata; $a->profile = $pdata;
@ -83,9 +96,9 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
$a->profile['mobile-theme'] = PConfig::get($a->profile['profile_uid'], 'system', 'mobile_theme'); $a->profile['mobile-theme'] = PConfig::get($a->profile['profile_uid'], 'system', 'mobile_theme');
$a->profile['network'] = NETWORK_DFRN; $a->profile['network'] = NETWORK_DFRN;
$a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename']; $a->page['title'] = $a->profile['name'] . ' @ ' . $a->config['sitename'];
if (!$profiledata && !PConfig::get(local_user(), 'system', 'always_my_theme')) { if (!$profiledata && !PConfig::get(local_user(), 'system', 'always_my_theme')) {
$_SESSION['theme'] = $a->profile['theme']; $_SESSION['theme'] = $a->profile['theme'];
} }
@ -97,19 +110,18 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one $a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one
$theme_info_file = "view/theme/" . current_theme() . "/theme.php"; $theme_info_file = 'view/theme/' . current_theme() . '/theme.php';
if (file_exists($theme_info_file)) { if (file_exists($theme_info_file)) {
require_once $theme_info_file; require_once $theme_info_file;
} }
if (! (x($a->page, 'aside'))) { if (!x($a->page, 'aside')) {
$a->page['aside'] = ''; $a->page['aside'] = '';
} }
if (local_user() && local_user() == $a->profile['uid'] && $profiledata) { if (local_user() && local_user() == $a->profile['uid'] && $profiledata) {
$a->page['aside'] .= replace_macros( $a->page['aside'] .= replace_macros(
get_markup_template('profile_edlink.tpl'), get_markup_template('profile_edlink.tpl'), array(
array(
'$editprofile' => t('Edit profile'), '$editprofile' => t('Edit profile'),
'$profid' => $a->profile['id'] '$profid' => $a->profile['id']
) )
@ -123,19 +135,13 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
* By now, the contact block isn't shown, when a different profile is given * By now, the contact block isn't shown, when a different profile is given
* But: When this profile was on the same server, then we could display the contacts * But: When this profile was on the same server, then we could display the contacts
*/ */
if ($profiledata) { if (!$profiledata) {
$a->page['aside'] .= profile_sidebar($profiledata, true, $show_connect);
} else {
$a->page['aside'] .= profile_sidebar($a->profile, $block, $show_connect); $a->page['aside'] .= profile_sidebar($a->profile, $block, $show_connect);
} }
/*if (! $block)
$a->page['aside'] .= contact_block();*/
return; return;
} }
/** /**
* @brief Get all profil data of a local user * @brief Get all profil data of a local user
* *
@ -144,11 +150,12 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array(), $
* Passing a non-zero profile ID can also allow a preview of a selected profile * Passing a non-zero profile ID can also allow a preview of a selected profile
* by the owner * by the owner
* *
* Includes all available profile data
*
* @param string $nickname nick * @param string $nickname nick
* @param int $uid uid * @param int $uid uid
* @param int $profile ID of the profile * @param int $profile ID of the profile
* @returns array * @returns array
* Includes all available profile data
*/ */
function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0)
{ {
@ -198,7 +205,6 @@ function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0)
return $r; return $r;
} }
/** /**
* @brief Formats a profile for display in the sidebar. * @brief Formats a profile for display in the sidebar.
* *
@ -225,28 +231,27 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
$o = ''; $o = '';
$location = false; $location = false;
$address = false; $address = false;
// $pdesc = true;
// This function can also use contact information in $profile // This function can also use contact information in $profile
$is_contact = x($profile, 'cid'); $is_contact = x($profile, 'cid');
if ((! is_array($profile)) && (! count($profile))) { if (!is_array($profile) && !count($profile)) {
return $o; return $o;
} }
$profile['picdate'] = urlencode($profile['picdate']); $profile['picdate'] = urlencode(defaults($profile, 'picdate', ''));
if (($profile['network'] != "") && ($profile['network'] != NETWORK_DFRN)) { if (($profile['network'] != '') && ($profile['network'] != NETWORK_DFRN)) {
$profile['network_name'] = format_network_name($profile['network'], $profile['url']); $profile['network_name'] = format_network_name($profile['network'], $profile['url']);
} else { } else {
$profile['network_name'] = ""; $profile['network_name'] = '';
} }
call_hooks('profile_sidebar_enter', $profile); call_hooks('profile_sidebar_enter', $profile);
// don't show connect link to yourself // don't show connect link to yourself
$connect = (($profile['uid'] != local_user()) ? t('Connect') : false); $connect = $profile['uid'] != local_user() ? t('Connect') : false;
// don't show connect link to authenticated visitors either // don't show connect link to authenticated visitors either
if (remote_user() && count($_SESSION['remote'])) { if (remote_user() && count($_SESSION['remote'])) {
@ -264,10 +269,10 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
// Is the local user already connected to that user? // Is the local user already connected to that user?
if ($connect && local_user()) { if ($connect && local_user()) {
if (isset($profile["url"])) { if (isset($profile['url'])) {
$profile_url = normalise_link($profile["url"]); $profile_url = normalise_link($profile['url']);
} else { } else {
$profile_url = normalise_link(System::baseUrl()."/profile/".$profile["nickname"]); $profile_url = normalise_link(System::baseUrl() . '/profile/' . $profile['nickname']);
} }
if (dba::exists('contact', array('pending' => false, 'uid' => local_user(), 'nurl' => $profile_url))) { if (dba::exists('contact', array('pending' => false, 'uid' => local_user(), 'nurl' => $profile_url))) {
@ -275,21 +280,24 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
} }
} }
if ($connect && ($profile['network'] != NETWORK_DFRN) && !isset($profile['remoteconnect'])) if ($connect && ($profile['network'] != NETWORK_DFRN) && !isset($profile['remoteconnect'])) {
$connect = false; $connect = false;
}
$remoteconnect = null; $remoteconnect = null;
if (isset($profile['remoteconnect'])) if (isset($profile['remoteconnect'])) {
$remoteconnect = $profile['remoteconnect']; $remoteconnect = $profile['remoteconnect'];
}
if ($connect && ($profile['network'] == NETWORK_DFRN) && !isset($remoteconnect)) if ($connect && ($profile['network'] == NETWORK_DFRN) && !isset($remoteconnect)) {
$subscribe_feed = t("Atom feed"); $subscribe_feed = t('Atom feed');
else } else {
$subscribe_feed = false; $subscribe_feed = false;
}
if (remote_user() || (get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))) { if (remote_user() || (get_my_url() && x($profile, 'unkmail') && ($profile['uid'] != local_user()))) {
$wallmessage = t('Message'); $wallmessage = t('Message');
$wallmessage_link = "wallmessage/".$profile["nickname"]; $wallmessage_link = 'wallmessage/' . $profile['nickname'];
if (remote_user()) { if (remote_user()) {
$r = q( $r = q(
@ -307,9 +315,9 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
); );
} }
if ($r) { if ($r) {
$remote_url = $r[0]["url"]; $remote_url = $r[0]['url'];
$message_path = preg_replace("=(.*)/profile/(.*)=ism", "$1/message/new/", $remote_url); $message_path = preg_replace('=(.*)/profile/(.*)=ism', '$1/message/new/', $remote_url);
$wallmessage_link = $message_path.base64_encode($profile["addr"]); $wallmessage_link = $message_path . base64_encode($profile['addr']);
} }
} else { } else {
$wallmessage = false; $wallmessage = false;
@ -318,7 +326,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
// show edit profile to yourself // show edit profile to yourself
if (!$is_contact && $profile['uid'] == local_user() && Feature::isEnabled(local_user(), 'multi_profiles')) { if (!$is_contact && $profile['uid'] == local_user() && Feature::isEnabled(local_user(), 'multi_profiles')) {
$profile['edit'] = array(System::baseUrl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles')); $profile['edit'] = array(System::baseUrl() . '/profiles', t('Profiles'), '', t('Manage/edit profiles'));
$r = q( $r = q(
"SELECT * FROM `profile` WHERE `uid` = %d", "SELECT * FROM `profile` WHERE `uid` = %d",
local_user() local_user()
@ -338,14 +346,14 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
'alt' => t('Profile Image'), 'alt' => t('Profile Image'),
'profile_name' => $rr['profile-name'], 'profile_name' => $rr['profile-name'],
'isdefault' => $rr['is-default'], 'isdefault' => $rr['is-default'],
'visibile_to_everybody' => t('visible to everybody'), 'visibile_to_everybody' => t('visible to everybody'),
'edit_visibility' => t('Edit visibility'), 'edit_visibility' => t('Edit visibility'),
); );
} }
} }
} }
if (!$is_contact && $profile['uid'] == local_user() && !Feature::isEnabled(local_user(), 'multi_profiles')) { if (!$is_contact && $profile['uid'] == local_user() && !Feature::isEnabled(local_user(), 'multi_profiles')) {
$profile['edit'] = array(System::baseUrl(). '/profiles/'.$profile['id'], t('Edit profile'),"", t('Edit profile')); $profile['edit'] = array(System::baseUrl() . '/profiles/' . $profile['id'], t('Edit profile'), '', t('Edit profile'));
$profile['menu'] = array( $profile['menu'] = array(
'chg_photo' => t('Change profile photo'), 'chg_photo' => t('Change profile photo'),
'cr_new' => null, 'cr_new' => null,
@ -356,28 +364,23 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
// Fetch the account type // Fetch the account type
$account_type = Contact::getAccountType($profile); $account_type = Contact::getAccountType($profile);
if ((x($profile, 'address') == 1) if (x($profile, 'address')
|| (x($profile, 'location') == 1) || x($profile, 'location')
|| (x($profile, 'locality') == 1) || x($profile, 'locality')
|| (x($profile, 'region') == 1) || x($profile, 'region')
|| (x($profile, 'postal-code') == 1) || x($profile, 'postal-code')
|| (x($profile, 'country-name') == 1) || x($profile, 'country-name')
) { ) {
$location = t('Location:'); $location = t('Location:');
} }
$gender = ((x($profile, 'gender') == 1) ? t('Gender:') : false); $gender = x($profile, 'gender') ? t('Gender:') : false;
$marital = x($profile, 'marital') ? t('Status:') : false;
$homepage = x($profile, 'homepage') ? t('Homepage:') : false;
$about = x($profile, 'about') ? t('About:') : false;
$xmpp = x($profile, 'xmpp') ? t('XMPP:') : false;
if ((x($profile, 'hidewall') || $block) && !local_user() && !remote_user()) {
$marital = ((x($profile, 'marital') == 1) ? t('Status:') : false);
$homepage = ((x($profile, 'homepage') == 1) ? t('Homepage:') : false);
$about = ((x($profile, 'about') == 1) ? t('About:') : false);
$xmpp = ((x($profile, 'xmpp') == 1) ? t('XMPP:') : false);
if (($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
$location = $pdesc = $gender = $marital = $homepage = $about = false; $location = $pdesc = $gender = $marital = $homepage = $about = false;
} }
@ -385,7 +388,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
$firstname = $split_name['first']; $firstname = $split_name['first'];
$lastname = $split_name['last']; $lastname = $split_name['last'];
if ($profile['guid'] != "") { if (x($profile, 'guid')) {
$diaspora = array( $diaspora = array(
'guid' => $profile['guid'], 'guid' => $profile['guid'],
'podloc' => System::baseUrl(), 'podloc' => System::baseUrl(),
@ -402,6 +405,9 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
$diaspora = false; $diaspora = false;
} }
$contact_block = '';
$updated = '';
$contacts = 0;
if (!$block) { if (!$block) {
$contact_block = contact_block(); $contact_block = contact_block();
@ -411,7 +417,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
intval($a->profile['uid']) intval($a->profile['uid'])
); );
if (DBM::is_result($r)) { if (DBM::is_result($r)) {
$updated = date("c", strtotime($r[0]['updated'])); $updated = date('c', strtotime($r[0]['updated']));
} }
$r = q( $r = q(
@ -437,45 +443,41 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
$p[$k] = $v; $p[$k] = $v;
} }
if (isset($p["about"])) { if (isset($p['about'])) {
$p["about"] = bbcode($p["about"]); $p['about'] = bbcode($p['about']);
} }
if (isset($p["address"])) { if (isset($p['address'])) {
$p["address"] = bbcode($p["address"]); $p['address'] = bbcode($p['address']);
} else { } else {
$p["address"] = bbcode($p["location"]); $p['address'] = bbcode($p['location']);
} }
if (isset($p["photo"])) { if (isset($p['photo'])) {
$p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL); $p['photo'] = proxy_url($p['photo'], false, PROXY_SIZE_SMALL);
} }
$tpl = get_markup_template('profile_vcard.tpl'); $tpl = get_markup_template('profile_vcard.tpl');
$o .= replace_macros( $o .= replace_macros($tpl, array(
$tpl,
array(
'$profile' => $p, '$profile' => $p,
'$xmpp' => $xmpp, '$xmpp' => $xmpp,
'$connect' => $connect, '$connect' => $connect,
'$remoteconnect' => $remoteconnect, '$remoteconnect' => $remoteconnect,
'$subscribe_feed' => $subscribe_feed, '$subscribe_feed' => $subscribe_feed,
'$wallmessage' => $wallmessage, '$wallmessage' => $wallmessage,
'$wallmessage_link' => $wallmessage_link, '$wallmessage_link' => $wallmessage_link,
'$account_type' => $account_type, '$account_type' => $account_type,
'$location' => $location, '$location' => $location,
'$gender' => $gender, '$gender' => $gender,
// '$pdesc' => $pdesc, '$marital' => $marital,
'$marital' => $marital,
'$homepage' => $homepage, '$homepage' => $homepage,
'$about' => $about, '$about' => $about,
'$network' => t('Network:'), '$network' => t('Network:'),
'$contacts' => $contacts, '$contacts' => $contacts,
'$updated' => $updated, '$updated' => $updated,
'$diaspora' => $diaspora, '$diaspora' => $diaspora,
'$contact_block' => $contact_block, '$contact_block' => $contact_block,
) ));
);
$arr = array('profile' => &$profile, 'entry' => &$o); $arr = array('profile' => &$profile, 'entry' => &$o);
@ -484,27 +486,26 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
return $o; return $o;
} }
function get_birthdays() function get_birthdays()
{ {
$a = get_app(); $a = get_app();
$o = ''; $o = '';
if (! local_user() || $a->is_mobile || $a->is_tablet) { if (!local_user() || $a->is_mobile || $a->is_tablet) {
return $o; return $o;
} }
/* /*
* $mobile_detect = new Mobile_Detect(); * $mobile_detect = new Mobile_Detect();
* $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet(); * $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
* if ($is_mobile) * if ($is_mobile)
* return $o; * return $o;
*/ */
$bd_format = t('g A l F d'); // 8 AM Friday January 18 $bd_format = t('g A l F d'); // 8 AM Friday January 18
$bd_short = t('F d'); $bd_short = t('F d');
$cachekey = "get_birthdays:".local_user(); $cachekey = 'get_birthdays:' . local_user();
$r = Cache::get($cachekey); $r = Cache::get($cachekey);
if (is_null($r)) { if (is_null($r)) {
$s = dba::p( $s = dba::p(
@ -538,7 +539,7 @@ function get_birthdays()
$classtoday = $istoday ? ' birthday-today ' : ''; $classtoday = $istoday ? ' birthday-today ' : '';
if ($total) { if ($total) {
foreach ($r as &$rr) { foreach ($r as &$rr) {
if (! strlen($rr['name'])) { if (!strlen($rr['name'])) {
continue; continue;
} }
@ -553,54 +554,50 @@ function get_birthdays()
$sparkle = ''; $sparkle = '';
$url = $rr['url']; $url = $rr['url'];
if ($rr['network'] === NETWORK_DFRN) { if ($rr['network'] === NETWORK_DFRN) {
$sparkle = " sparkle"; $sparkle = ' sparkle';
$url = System::baseUrl() . '/redir/' . $rr['cid']; $url = System::baseUrl() . '/redir/' . $rr['cid'];
} }
$rr['link'] = $url; $rr['link'] = $url;
$rr['title'] = $rr['name']; $rr['title'] = $rr['name'];
$rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : ''); $rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
$rr['startime'] = null; $rr['startime'] = null;
$rr['today'] = $today; $rr['today'] = $today;
} }
} }
} }
$tpl = get_markup_template("birthdays_reminder.tpl"); $tpl = get_markup_template('birthdays_reminder.tpl');
return replace_macros( return replace_macros($tpl, array(
$tpl,
array(
'$baseurl' => System::baseUrl(), '$baseurl' => System::baseUrl(),
'$classtoday' => $classtoday, '$classtoday' => $classtoday,
'$count' => $total, '$count' => $total,
'$event_reminders' => t('Birthday Reminders'), '$event_reminders' => t('Birthday Reminders'),
'$event_title' => t('Birthdays this week:'), '$event_title' => t('Birthdays this week:'),
'$events' => $r, '$events' => $r,
'$lbr' => '{', // raw brackets mess up if/endif macro processing '$lbr' => '{', // raw brackets mess up if/endif macro processing
'$rbr' => '}' '$rbr' => '}'
) ));
);
} }
function get_events() function get_events()
{ {
require_once 'include/bbcode.php'; require_once 'include/bbcode.php';
$a = get_app(); $a = get_app();
if (! local_user() || $a->is_mobile || $a->is_tablet) { if (!local_user() || $a->is_mobile || $a->is_tablet) {
return $o; return $o;
} }
/* /*
* $mobile_detect = new Mobile_Detect(); * $mobile_detect = new Mobile_Detect();
* $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet(); * $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
* if ($is_mobile) * if ($is_mobile)
* return $o; * return $o;
*/ */
$bd_format = t('g A l F d'); // 8 AM Friday January 18 $bd_format = t('g A l F d'); // 8 AM Friday January 18
$bd_short = t('F d'); $classtoday = '';
$s = dba::p( $s = dba::p(
"SELECT `event`.* FROM `event` "SELECT `event`.* FROM `event`
@ -614,7 +611,6 @@ function get_events()
$r = array(); $r = array();
if (DBM::is_result($s)) { if (DBM::is_result($s)) {
$now = strtotime('now');
$istoday = false; $istoday = false;
while ($rr = dba::fetch($s)) { while ($rr = dba::fetch($s)) {
@ -634,7 +630,7 @@ function get_events()
} }
$description = substr(strip_tags(bbcode($rr['desc'])), 0, 32) . '... '; $description = substr(strip_tags(bbcode($rr['desc'])), 0, 32) . '... ';
if (! $description) { if (!$description) {
$description = t('[No description]'); $description = t('[No description]');
} }
@ -647,8 +643,8 @@ function get_events()
$today = ((substr($strt, 0, 10) === datetime_convert('UTC', $a->timezone, 'now', 'Y-m-d')) ? true : false); $today = ((substr($strt, 0, 10) === datetime_convert('UTC', $a->timezone, 'now', 'Y-m-d')) ? true : false);
$rr['title'] = $title; $rr['title'] = $title;
$rr['description'] = $desciption; $rr['description'] = $description;
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : ''); $rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
$rr['startime'] = $strt; $rr['startime'] = $strt;
$rr['today'] = $today; $rr['today'] = $today;
@ -657,18 +653,15 @@ function get_events()
dba::close($s); dba::close($s);
$classtoday = (($istoday) ? 'event-today' : ''); $classtoday = (($istoday) ? 'event-today' : '');
} }
$tpl = get_markup_template("events_reminder.tpl"); $tpl = get_markup_template('events_reminder.tpl');
return replace_macros( return replace_macros($tpl, array(
$tpl,
array(
'$baseurl' => System::baseUrl(), '$baseurl' => System::baseUrl(),
'$classtoday' => $classtoday, '$classtoday' => $classtoday,
'$count' => count($r), '$count' => count($r),
'$event_reminders' => t('Event Reminders'), '$event_reminders' => t('Event Reminders'),
'$event_title' => t('Events this week:'), '$event_title' => t('Events this week:'),
'$events' => $r, '$events' => $r,
) ));
);
} }
function advanced_profile(App $a) function advanced_profile(App $a)
@ -677,9 +670,8 @@ function advanced_profile(App $a)
$uid = $a->profile['uid']; $uid = $a->profile['uid'];
$o .= replace_macros( $o .= replace_macros(
get_markup_template('section_title.tpl'), get_markup_template('section_title.tpl'), array(
array( '$title' => t('Profile')
'$title' => t('Profile')
) )
); );
@ -688,32 +680,32 @@ function advanced_profile(App $a)
$profile = array(); $profile = array();
$profile['fullname'] = array( t('Full Name:'), $a->profile['name'] ) ; $profile['fullname'] = array(t('Full Name:'), $a->profile['name']);
if ($a->profile['gender']) { if ($a->profile['gender']) {
$profile['gender'] = array( t('Gender:'), $a->profile['gender'] ); $profile['gender'] = array(t('Gender:'), $a->profile['gender']);
} }
if (($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) { if (($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
$year_bd_format = t('j F, Y'); $year_bd_format = t('j F, Y');
$short_bd_format = t('j F'); $short_bd_format = t('j F');
$val = intval($a->profile['dob']) ?
day_translate(datetime_convert('UTC', 'UTC', $a->profile['dob'] . ' 00:00 +00:00', $year_bd_format))
: day_translate(datetime_convert('UTC', 'UTC', '2001-' . substr($a->profile['dob'], 5) . ' 00:00 +00:00', $short_bd_format));
$val = ((intval($a->profile['dob'])) $profile['birthday'] = array(t('Birthday:'), $val);
? day_translate(datetime_convert('UTC', 'UTC', $a->profile['dob'] . ' 00:00 +00:00', $year_bd_format))
: day_translate(datetime_convert('UTC', 'UTC', '2001-' . substr($a->profile['dob'], 5) . ' 00:00 +00:00', $short_bd_format)));
$profile['birthday'] = array( t('Birthday:'), $val);
} }
if (!empty($a->profile['dob']) if (!empty($a->profile['dob'])
&& $a->profile['dob'] > '0001-01-01' && $a->profile['dob'] > '0001-01-01'
&& $age = age($a->profile['dob'], $a->profile['timezone'], '') && $age = age($a->profile['dob'], $a->profile['timezone'], '')
) { ) {
$profile['age'] = array( t('Age:'), $age ); $profile['age'] = array(t('Age:'), $age);
} }
if ($a->profile['marital']) { if ($a->profile['marital']) {
$profile['marital'] = array( t('Status:'), $a->profile['marital']); $profile['marital'] = array(t('Status:'), $a->profile['marital']);
} }
/// @TODO Maybe use x() here, plus below? /// @TODO Maybe use x() here, plus below?
@ -726,95 +718,92 @@ function advanced_profile(App $a)
} }
if ($a->profile['sexual']) { if ($a->profile['sexual']) {
$profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] ); $profile['sexual'] = array(t('Sexual Preference:'), $a->profile['sexual']);
} }
if ($a->profile['homepage']) { if ($a->profile['homepage']) {
$profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) ); $profile['homepage'] = array(t('Homepage:'), linkify($a->profile['homepage']));
} }
if ($a->profile['hometown']) { if ($a->profile['hometown']) {
$profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) ); $profile['hometown'] = array(t('Hometown:'), linkify($a->profile['hometown']));
} }
if ($a->profile['pub_keywords']) { if ($a->profile['pub_keywords']) {
$profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']); $profile['pub_keywords'] = array(t('Tags:'), $a->profile['pub_keywords']);
} }
if ($a->profile['politic']) { if ($a->profile['politic']) {
$profile['politic'] = array( t('Political Views:'), $a->profile['politic']); $profile['politic'] = array(t('Political Views:'), $a->profile['politic']);
} }
if ($a->profile['religion']) { if ($a->profile['religion']) {
$profile['religion'] = array( t('Religion:'), $a->profile['religion']); $profile['religion'] = array(t('Religion:'), $a->profile['religion']);
} }
if ($txt = prepare_text($a->profile['about'])) { if ($txt = prepare_text($a->profile['about'])) {
$profile['about'] = array( t('About:'), $txt ); $profile['about'] = array(t('About:'), $txt);
} }
if ($txt = prepare_text($a->profile['interest'])) { if ($txt = prepare_text($a->profile['interest'])) {
$profile['interest'] = array( t('Hobbies/Interests:'), $txt); $profile['interest'] = array(t('Hobbies/Interests:'), $txt);
} }
if ($txt = prepare_text($a->profile['likes'])) { if ($txt = prepare_text($a->profile['likes'])) {
$profile['likes'] = array( t('Likes:'), $txt); $profile['likes'] = array(t('Likes:'), $txt);
} }
if ($txt = prepare_text($a->profile['dislikes'])) { if ($txt = prepare_text($a->profile['dislikes'])) {
$profile['dislikes'] = array( t('Dislikes:'), $txt); $profile['dislikes'] = array(t('Dislikes:'), $txt);
} }
if ($txt = prepare_text($a->profile['contact'])) { if ($txt = prepare_text($a->profile['contact'])) {
$profile['contact'] = array( t('Contact information and Social Networks:'), $txt); $profile['contact'] = array(t('Contact information and Social Networks:'), $txt);
} }
if ($txt = prepare_text($a->profile['music'])) { if ($txt = prepare_text($a->profile['music'])) {
$profile['music'] = array( t('Musical interests:'), $txt); $profile['music'] = array(t('Musical interests:'), $txt);
} }
if ($txt = prepare_text($a->profile['book'])) { if ($txt = prepare_text($a->profile['book'])) {
$profile['book'] = array( t('Books, literature:'), $txt); $profile['book'] = array(t('Books, literature:'), $txt);
} }
if ($txt = prepare_text($a->profile['tv'])) { if ($txt = prepare_text($a->profile['tv'])) {
$profile['tv'] = array( t('Television:'), $txt); $profile['tv'] = array(t('Television:'), $txt);
} }
if ($txt = prepare_text($a->profile['film'])) { if ($txt = prepare_text($a->profile['film'])) {
$profile['film'] = array( t('Film/dance/culture/entertainment:'), $txt); $profile['film'] = array(t('Film/dance/culture/entertainment:'), $txt);
} }
if ($txt = prepare_text($a->profile['romance'])) { if ($txt = prepare_text($a->profile['romance'])) {
$profile['romance'] = array( t('Love/Romance:'), $txt); $profile['romance'] = array(t('Love/Romance:'), $txt);
} }
if ($txt = prepare_text($a->profile['work'])) { if ($txt = prepare_text($a->profile['work'])) {
$profile['work'] = array( t('Work/employment:'), $txt); $profile['work'] = array(t('Work/employment:'), $txt);
} }
if ($txt = prepare_text($a->profile['education'])) { if ($txt = prepare_text($a->profile['education'])) {
$profile['education'] = array( t('School/education:'), $txt ); $profile['education'] = array(t('School/education:'), $txt);
} }
//show subcribed forum if it is enabled in the usersettings //show subcribed forum if it is enabled in the usersettings
if (Feature::isEnabled($uid, 'forumlist_profile')) { if (Feature::isEnabled($uid, 'forumlist_profile')) {
$profile['forumlist'] = array( t('Forums:'), ForumManager::profileAdvanced($uid)); $profile['forumlist'] = array(t('Forums:'), ForumManager::profileAdvanced($uid));
} }
if ($a->profile['uid'] == local_user()) { if ($a->profile['uid'] == local_user()) {
$profile['edit'] = array(System::baseUrl(). '/profiles/'.$a->profile['id'], t('Edit profile'),"", t('Edit profile')); $profile['edit'] = array(System::baseUrl() . '/profiles/' . $a->profile['id'], t('Edit profile'), '', t('Edit profile'));
} }
return replace_macros( return replace_macros($tpl, array(
$tpl,
array(
'$title' => t('Profile'), '$title' => t('Profile'),
'$basic' => t('Basic'), '$basic' => t('Basic'),
'$advanced' => t('Advanced'), '$advanced' => t('Advanced'),
'$profile' => $profile '$profile' => $profile
) ));
);
} }
return ''; return '';
@ -822,12 +811,11 @@ function advanced_profile(App $a)
function profile_tabs($a, $is_owner = false, $nickname = null) function profile_tabs($a, $is_owner = false, $nickname = null)
{ {
//echo "<pre>"; var_dump($a->user); killme();
if (is_null($nickname)) { if (is_null($nickname)) {
$nickname = $a->user['nickname']; $nickname = $a->user['nickname'];
} }
$tab = false;
if (x($_GET, 'tab')) { if (x($_GET, 'tab')) {
$tab = notags(trim($_GET['tab'])); $tab = notags(trim($_GET['tab']));
} }
@ -836,85 +824,85 @@ function profile_tabs($a, $is_owner = false, $nickname = null)
$tabs = array( $tabs = array(
array( array(
'label'=>t('Status'), 'label' => t('Status'),
'url' => $url, 'url' => $url,
'sel' => ((!isset($tab) && $a->argv[0]=='profile') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'profile' ? 'active' : '',
'title' => t('Status Messages and Posts'), 'title' => t('Status Messages and Posts'),
'id' => 'status-tab', 'id' => 'status-tab',
'accesskey' => 'm', 'accesskey' => 'm',
), ),
array( array(
'label' => t('Profile'), 'label' => t('Profile'),
'url' => $url.'/?tab=profile', 'url' => $url . '/?tab=profile',
'sel' => ((isset($tab) && $tab=='profile') ? 'active' : ''), 'sel' => $tab == 'profile' ? 'active' : '',
'title' => t('Profile Details'), 'title' => t('Profile Details'),
'id' => 'profile-tab', 'id' => 'profile-tab',
'accesskey' => 'r', 'accesskey' => 'r',
), ),
array( array(
'label' => t('Photos'), 'label' => t('Photos'),
'url' => System::baseUrl() . '/photos/' . $nickname, 'url' => System::baseUrl() . '/photos/' . $nickname,
'sel' => ((!isset($tab) && $a->argv[0]=='photos') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'photos' ? 'active' : '',
'title' => t('Photo Albums'), 'title' => t('Photo Albums'),
'id' => 'photo-tab', 'id' => 'photo-tab',
'accesskey' => 'h', 'accesskey' => 'h',
), ),
array( array(
'label' => t('Videos'), 'label' => t('Videos'),
'url' => System::baseUrl() . '/videos/' . $nickname, 'url' => System::baseUrl() . '/videos/' . $nickname,
'sel' => ((!isset($tab) && $a->argv[0]=='videos') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'videos' ? 'active' : '',
'title' => t('Videos'), 'title' => t('Videos'),
'id' => 'video-tab', 'id' => 'video-tab',
'accesskey' => 'v', 'accesskey' => 'v',
), ),
); );
// the calendar link for the full featured events calendar // the calendar link for the full featured events calendar
if ($is_owner && $a->theme_events_in_profile) { if ($is_owner && $a->theme_events_in_profile) {
$tabs[] = array( $tabs[] = array(
'label' => t('Events'), 'label' => t('Events'),
'url' => System::baseUrl() . '/events', 'url' => System::baseUrl() . '/events',
'sel' =>((!isset($tab) && $a->argv[0]=='events') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'events' ? 'active' : '',
'title' => t('Events and Calendar'), 'title' => t('Events and Calendar'),
'id' => 'events-tab', 'id' => 'events-tab',
'accesskey' => 'e', 'accesskey' => 'e',
); );
// if the user is not the owner of the calendar we only show a calendar // if the user is not the owner of the calendar we only show a calendar
// with the public events of the calendar owner // with the public events of the calendar owner
} elseif (! $is_owner) { } elseif (!$is_owner) {
$tabs[] = array( $tabs[] = array(
'label' => t('Events'), 'label' => t('Events'),
'url' => System::baseUrl() . '/cal/' . $nickname, 'url' => System::baseUrl() . '/cal/' . $nickname,
'sel' =>((!isset($tab) && $a->argv[0]=='cal') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'cal' ? 'active' : '',
'title' => t('Events and Calendar'), 'title' => t('Events and Calendar'),
'id' => 'events-tab', 'id' => 'events-tab',
'accesskey' => 'e', 'accesskey' => 'e',
); );
} }
if ($is_owner) { if ($is_owner) {
$tabs[] = array( $tabs[] = array(
'label' => t('Personal Notes'), 'label' => t('Personal Notes'),
'url' => System::baseUrl() . '/notes', 'url' => System::baseUrl() . '/notes',
'sel' =>((!isset($tab) && $a->argv[0]=='notes') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'notes' ? 'active' : '',
'title' => t('Only You Can See This'), 'title' => t('Only You Can See This'),
'id' => 'notes-tab', 'id' => 'notes-tab',
'accesskey' => 't', 'accesskey' => 't',
); );
} }
if ((! $is_owner) && ((count($a->profile)) || (! $a->profile['hide-friends']))) { if ((!$is_owner) && ((count($a->profile)) || (!$a->profile['hide-friends']))) {
$tabs[] = array( $tabs[] = array(
'label' => t('Contacts'), 'label' => t('Contacts'),
'url' => System::baseUrl() . '/viewcontacts/' . $nickname, 'url' => System::baseUrl() . '/viewcontacts/' . $nickname,
'sel' => ((!isset($tab) && $a->argv[0]=='viewcontacts') ? 'active' : ''), 'sel' => !$tab && $a->argv[0] == 'viewcontacts' ? 'active' : '',
'title' => t('Contacts'), 'title' => t('Contacts'),
'id' => 'viewcontacts-tab', 'id' => 'viewcontacts-tab',
'accesskey' => 'k', 'accesskey' => 'k',
); );
} }
$arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs); $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => $tab, 'tabs' => $tabs);
call_hooks('profile_tabs', $arr); call_hooks('profile_tabs', $arr);
$tpl = get_markup_template('common_tabs.tpl'); $tpl = get_markup_template('common_tabs.tpl');
@ -938,9 +926,9 @@ function zrl_init(App $a)
// The check fetches the cached value from gprobe to reduce the load for this system // The check fetches the cached value from gprobe to reduce the load for this system
$urlparts = parse_url($tmp_str); $urlparts = parse_url($tmp_str);
$result = Cache::get("gprobe:" . $urlparts["host"]); $result = Cache::get('gprobe:' . $urlparts['host']);
if ((!is_null($result)) && (in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))) { if ((!is_null($result)) && (in_array($result['network'], array(NETWORK_FEED, NETWORK_PHANTOM)))) {
logger("DDoS attempt detected for " . $urlparts["host"] . " by " . $_SERVER["REMOTE_ADDR"] . ". server data: " . print_r($_SERVER, true), LOGGER_DEBUG); logger('DDoS attempt detected for ' . $urlparts['host'] . ' by ' . $_SERVER['REMOTE_ADDR'] . '. server data: ' . print_r($_SERVER, true), LOGGER_DEBUG);
return; return;
} }
@ -952,10 +940,10 @@ function zrl_init(App $a)
function zrl($s, $force = false) function zrl($s, $force = false)
{ {
if (! strlen($s)) { if (!strlen($s)) {
return $s; return $s;
} }
if ((! strpos($s, '/profile/')) && (! $force)) { if ((!strpos($s, '/profile/')) && (!$force)) {
return $s; return $s;
} }
if ($force && substr($s, -1, 1) !== '/') { if ($force && substr($s, -1, 1) !== '/') {
@ -963,7 +951,7 @@ function zrl($s, $force = false)
} }
$achar = strpos($s, '?') ? '&' : '?'; $achar = strpos($s, '?') ? '&' : '?';
$mine = get_my_url(); $mine = get_my_url();
if ($mine && ! link_compare($mine, $s)) { if ($mine && !link_compare($mine, $s)) {
return $s . $achar . 'zrl=' . urlencode($mine); return $s . $achar . 'zrl=' . urlencode($mine);
} }
return $s; return $s;
@ -986,7 +974,7 @@ function zrl($s, $force = false)
function get_theme_uid() function get_theme_uid()
{ {
$uid = ((!empty($_REQUEST['puid'])) ? intval($_REQUEST['puid']) : 0); $uid = ((!empty($_REQUEST['puid'])) ? intval($_REQUEST['puid']) : 0);
if ((local_user()) && ((PConfig::get(local_user(), 'system', 'always_my_theme')) || (! $uid))) { if ((local_user()) && ((PConfig::get(local_user(), 'system', 'always_my_theme')) || (!$uid))) {
return local_user(); return local_user();
} }