diff options
Diffstat (limited to 'mod/profile.php')
-rw-r--r-- | mod/profile.php | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/mod/profile.php b/mod/profile.php index 2f869a533..d59602ba0 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -10,25 +10,35 @@ function profile_init(&$a) { return; } - $profile = 0; + $profile = ''; $channel = $a->get_channel(); if((local_user()) && (argc() > 2) && (argv(2) === 'view')) { $which = $channel['channel_address']; $profile = argv(1); + $r = q("select profile_guid from profile where id = %d and uid = %d limit 1", + intval($profile), + intval(local_user()) + ); + if(! $r) + $profile = ''; + $profile = $r[0]['profile_guid']; } $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ; - $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", - dbesc(argv(1)) - ); - if($x) { - $a->profile = $x[0]; + if(! $profile) { + $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", + dbesc(argv(1)) + ); + if($x) { + $a->profile = $x[0]; + } + } // $channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format'); // if(! $channel_display) - profile_load($a,$which,$profile); - } + profile_load($a,$which,$profile); + } |