X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fprofile.php;h=25871c24059d3c77cf3dd0062eeed152014dd668;hb=f4bc5c57f33236e0e46517f5c2b618374667b9fd;hp=b142943c1e9121f2fb80a769d7c2f9cb0d7877f3;hpb=a153621f71acf33768672b3bce312aae3a1b7059;p=friendica.git diff --git a/mod/profile.php b/mod/profile.php index b142943c1e..25871c2405 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -1,18 +1,18 @@ page,'aside')) $a->page['aside'] = ''; - $blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); - if($a->argc > 1) $which = $a->argv[1]; else { - $r = q("select nickname from user where blocked = 0 and account_expired = 0 and verified = 1 order by rand() limit 1"); + $r = q("select nickname from user where blocked = 0 and account_expired = 0 and account_removed = 0 and verified = 1 order by rand() limit 1"); if(count($r)) { goaway($a->get_baseurl() . '/profile/' . $r[0]['nickname']); } @@ -29,9 +29,13 @@ function profile_init(&$a) { $which = $a->user['nickname']; $profile = $a->argv[1]; } + else { + auto_redir($a, $which); + } profile_load($a,$which,$profile); + $blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); $userblock = (($a->profile['hidewall'] && (! local_user()) && (! remote_user())) ? true : false); if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) { @@ -115,8 +119,18 @@ function profile_content(&$a, $update = 0) { $contact = null; $remote_contact = false; - if(remote_user()) { - $contact_id = $_SESSION['visitor_id']; + $contact_id = 0; + + if(is_array($_SESSION['remote'])) { + foreach($_SESSION['remote'] as $v) { + if($v['uid'] == $a->profile['profile_uid']) { + $contact_id = $v['cid']; + break; + } + } + } + + if($contact_id) { $groups = init_groups_visitor($contact_id); $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($contact_id), @@ -206,7 +220,6 @@ function profile_content(&$a, $update = 0) { FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND (`item`.`deleted` = 0 OR item.verb = '" . ACTIVITY_LIKE ."' OR item.verb = '" . ACTIVITY_DISLIKE . "') - WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 and `item`.`unseen` = 1 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `item`.`wall` = 1 @@ -229,20 +242,27 @@ function profile_content(&$a, $update = 0) { $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); } + if( (! get_config('alt_pager', 'global')) && (! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) ) { + $r = q("SELECT COUNT(*) AS `total` + FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` + WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 + and `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1 + $sql_extra $sql_extra2 ", + intval($a->profile['profile_uid']) + ); + + if(count($r)) { + $a->set_pager_total($r[0]['total']); + } + } - $r = q("SELECT COUNT(*) AS `total` - FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` - WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 - and `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 - AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 1 - $sql_extra $sql_extra2 ", - intval($a->profile['profile_uid']) - ); + $itemspage_network = get_pconfig(local_user(),'system','itemspage_network'); + $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40); + if(($a->force_max_items > 0) && ($a->force_max_items < $itemspage_network)) + $itemspage_network = $a->force_max_items; - if(count($r)) { - $a->set_pager_total($r[0]['total']); - $a->set_pager_itemspage(40); - } + $a->set_pager_itemspage($itemspage_network); $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage'])); @@ -287,21 +307,11 @@ function profile_content(&$a, $update = 0) { $items = array(); } - if($is_owner && ! $update) { + if($is_owner && (! $update) && (! get_config('theme','hide_eventlist'))) { $o .= get_birthdays(); $o .= get_events(); } - if((! $update) && ($tab === 'posts')) { - - // This is ugly, but we can't pass the profile_uid through the session to the ajax updater, - // because browser prefetching might change it on us. We have to deliver it with the page. - - $o .= '
' . "\r\n"; - $o .= "\r\n"; - } - if($is_owner) { $r = q("UPDATE `item` SET `unseen` = 0 @@ -313,7 +323,12 @@ function profile_content(&$a, $update = 0) { $o .= conversation($a,$items,'profile',$update); if(! $update) { - $o .= paginate($a); + if( get_config('alt_pager', 'global') || get_pconfig($a->profile['profile_uid'],'system','alt_pager') ) { + $o .= alt_pager($a,count($items)); + } + else { + $o .= paginate($a); + } } return $o;