$a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename'];
-// if (!$profiledata)
-// $_SESSION['theme'] = $a->profile['theme'];
+ if (!$profiledata && !get_pconfig(local_user(),'system','always_my_theme'))
+ $_SESSION['theme'] = $a->profile['theme'];
$_SESSION['mobile-theme'] = $a->profile['mobile-theme'];
$r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
intval($visitor['cid'])
);
- if(count($r))
+ if (dbm::is_result($r))
$profile = $r[0]['profile-id'];
break;
}
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",
+ $r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
+ `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
+ FROM `profile`
+ INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` AND `contact`.`self`
+ INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+ WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d 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",
+ if (!dbm::is_result($r)) {
+ $r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
+ `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
+ FROM `profile`
+ INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` AND `contact`.`self`
+ INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+ WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` LIMIT 1",
dbesc($nickname)
);
}
$r = q("SELECT * FROM `contact` WHERE NOT `pending` AND `uid` = %d AND `nurl` = '%s'",
local_user(), $profile_url);
- if (count($r))
+ if (dbm::is_result($r))
$connect = false;
}
if ($connect AND ($profile['network'] != NETWORK_DFRN) AND !isset($profile['remoteconnect']))
$connect = false;
+ $remoteconnect = NULL;
if (isset($profile['remoteconnect']))
$remoteconnect = $profile['remoteconnect'];
else
$subscribe_feed = false;
- if(get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))
+ if (remote_user() OR (get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))) {
$wallmessage = t('Message');
- else
+ $wallmessage_link = "wallmessage/".$profile["nickname"];
+
+ if (remote_user()) {
+ $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `id` = '%s' AND `rel` = %d",
+ intval($profile['uid']),
+ intval(remote_user()),
+ intval(CONTACT_IS_FRIEND));
+ } else {
+ $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `rel` = %d",
+ intval($profile['uid']),
+ dbesc(normalise_link(get_my_url())),
+ intval(CONTACT_IS_FRIEND));
+ }
+ if ($r) {
+ $remote_url = $r[0]["url"];
+ $message_path = preg_replace("=(.*)/profile/(.*)=ism", "$1/message/new/", $remote_url);
+ $wallmessage_link = $message_path.base64_encode($profile["addr"]);
+ }
+ } else {
$wallmessage = false;
+ $wallmessage_link = false;
+ }
// show edit profile to yourself
if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
'entries' => array(),
);
- if(count($r)) {
+ if (dbm::is_result($r)) {
foreach($r as $rr) {
$profile['menu']['entries'][] = array(
);
}
- // check if profile is a forum
- if((intval($profile['page-flags']) == PAGE_COMMUNITY)
- || (intval($profile['page-flags']) == PAGE_PRVGROUP)
- || (intval($profile['forum']))
- || (intval($profile['prv']))
- || (intval($profile['community'])))
- $account_type = t('Forum');
- else
- $account_type = "";
+ // Fetch the account type
+ $account_type = account_type($profile);
if((x($profile,'address') == 1)
|| (x($profile,'location') == 1)
$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;
}
? trim(substr($profile['name'],0,strpos($profile['name'],' '))) : $profile['name']);
$lastname = (($firstname === $profile['name']) ? '' : trim(substr($profile['name'],strlen($firstname))));
- $diaspora = array(
- 'guid' => $profile['guid'],
- 'podloc' => $a->get_baseurl(),
- 'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ),
- 'nickname' => $profile['nickname'],
- 'fullname' => $profile['name'],
- 'firstname' => $firstname,
- 'lastname' => $lastname,
- 'photo300' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'),
- 'photo100' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'),
- 'photo50' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg'),
- );
+ if ($profile['guid'] != "")
+ $diaspora = array(
+ 'guid' => $profile['guid'],
+ 'podloc' => $a->get_baseurl(),
+ 'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ),
+ 'nickname' => $profile['nickname'],
+ 'fullname' => $profile['name'],
+ 'firstname' => $firstname,
+ 'lastname' => $lastname,
+ 'photo300' => $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
+ 'photo100' => $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
+ 'photo50' => $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg',
+ );
+ else
+ $diaspora = false;
if (!$block){
$contact_block = contact_block();
if(is_array($a->profile) AND !$a->profile['hide-friends']) {
$r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1",
intval($a->profile['uid']));
- if(count($r))
+ if (dbm::is_result($r))
$updated = date("c", strtotime($r[0]['updated']));
- $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+ $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
AND `network` IN ('%s', '%s', '%s', '')",
intval($profile['uid']),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_DIASPORA),
dbesc(NETWORK_OSTATUS)
);
- if(count($r))
+ if (dbm::is_result($r))
$contacts = intval($r[0]['total']);
}
}
$tpl = get_markup_template('profile_vcard.tpl');
$o .= replace_macros($tpl, array(
'$profile' => $p,
+ '$xmpp' => $xmpp,
'$connect' => $connect,
'$remoteconnect' => $remoteconnect,
'$subscribe_feed' => $subscribe_feed,
'$wallmessage' => $wallmessage,
+ '$wallmessage_link' => $wallmessage_link,
'$account_type' => $account_type,
'$location' => $location,
'$gender' => $gender,
'$contact_block' => $contact_block,
));
-
$arr = array('profile' => &$profile, 'entry' => &$o);
call_hooks('profile_sidebar', $arr);
dbesc(datetime_convert('UTC','UTC','now'))
);
- if($r && count($r)) {
+ if (dbm::is_result($r)) {
$total = 0;
$now = strtotime('now');
$cids = array();
dbesc(datetime_convert('UTC','UTC','now - 1 days'))
);
- if($r && count($r)) {
+ if (dbm::is_result($r)) {
$now = strtotime('now');
$istoday = false;
foreach($r as $rr) {
return replace_macros($tpl, array(
'$title' => t('Profile'),
+ '$basic' => t('Basic'),
+ '$advanced' => t('Advanced'),
'$profile' => $profile
));
}
),
);
- if ($is_owner){
- if ($a->theme_events_in_profile)
+ // the calendar link for the full featured events calendar
+ if ($is_owner && $a->theme_events_in_profile) {
$tabs[] = array(
'label' => t('Events'),
'url' => $a->get_baseurl() . '/events',
'id' => 'events-tab',
'accesskey' => 'e',
);
+ // if the user is not the owner of the calendar we only show a calendar
+ // with the public events of the calendar owner
+ } elseif (! $is_owner) {
+ $tabs[] = array(
+ 'label' => t('Events'),
+ 'url' => $a->get_baseurl() . '/cal/' . $nickname,
+ 'sel' =>((!isset($tab)&&$a->argv[0]=='cal')?'active':''),
+ 'title' => t('Events and Calendar'),
+ 'id' => 'events-tab',
+ 'accesskey' => 'e',
+ );
+ }
+
+ if ($is_owner){
$tabs[] = array(
'label' => t('Personal Notes'),
'url' => $a->get_baseurl() . '/notes',
$result = Cache::get("gprobe:".$urlparts["host"]);
if (!is_null($result)) {
- $result = unserialize($result);
if (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);
return;
}
}
- proc_run('php','include/gprobe.php',bin2hex($tmp_str));
+ proc_run(PRIORITY_LOW, 'include/gprobe.php',bin2hex($tmp_str));
$arr = array('zrl' => $tmp_str, 'url' => $a->cmd);
call_hooks('zrl_init',$arr);
}