true, 'login' => 1)); } $dos = array('feed', 'follower', 'following', 'view'); $do = (!empty($_GET['do']) && in_array($_GET['do'], $dos)) ? $_GET['do'] : (!$_GET['uid'] ? 'feed' : 'view'); $page = empty($_GET['page']) ? 1 : intval($_GET['page']); if($page<1) $page=1; $perpage = 20; $start = ($page-1)*$perpage; $multi = ''; $theurl = 'home.php?mod='.($do == 'view' ? 'space' : 'follow').(!in_array($do, array('feed', 'view')) ? '&do='.$do : ''); $uid = $_GET['uid'] ? $_GET['uid'] : $_G['uid']; $viewself = $uid == $_G['uid'] ? true : false; $space = $viewself ? $_G['member'] : getuserbyuid($uid, 1); if(empty($space)) { showmessage('follow_visituser_not_exist'); } elseif(in_array($space['groupid'], array(4, 5, 6)) && ($_G['adminid'] != 1 && $space['uid'] != $_G['uid'])) { dheader("Location:home.php?mod=space&uid=$uid&do=profile"); } space_merge($space, 'count'); space_merge($space, 'profile'); space_merge($space, 'field_home'); if($viewself) { $showguide = false; } else { $theurl .= $uid ? '&uid='.$uid : ''; $do = $do == 'feed' ? 'view' : $do; $flag = C::t('home_follow')->fetch_status_by_uid_followuid($_G['uid'], $uid); } $showrecommend = true; $archiver = $primary = 1; $followerlist = array(); $space['bio'] = cutstr($space['bio'], 200); $lastviewtime = 0; if($do == 'feed') { $view = 'follow'; if(in_array($_GET['view'], array('special', 'follow', 'other'))) { $view = $_GET['view']; $theurl .= '&view='.$_GET['view']; } $vuid = $view == 'other' ? 0 : $_G['uid']; $list = getfollowfeed($vuid, $view, false, $start, $perpage); if((empty($list['feed']) || count($list['feed']) < 20) && (!empty($list['user']) || $view == 'other')) { $primary = 0; $alist = getfollowfeed($vuid, $view, true, $start, $perpage); if(empty($list['feed']) && empty($alist['feed'])) { $showguide = true; $archiver = 0; } else { $showguide = false; foreach($alist as $key => $values) { if($key != 'user') { foreach($values as $id => $value) { if(!isset($list[$key][$id])) { $list[$key][$id] = $value; } } } } } } elseif(empty($list['user']) && $view != 'other') { $archiver = $primary = 0; $showguide = false; } if($showguide) { if(!empty($_G['cookie']['lastshowtime'])) { $time = explode('|', $_G['cookie']['lastshowtime']); $today = strtotime(dgmdate($_G['timestamp'], 'Y-m-d')); if($time[0] == $uid && (TIMESTAMP - $time[1] < 86400 && $time[1] > $today)) { $showguide = false; } } dsetcookie('lastshowtime', $uid.'|'.TIMESTAMP, 86400); } if(!empty($_G['cookie']['lastviewtime'])) { $time = explode('|', $_G['cookie']['lastviewtime']); if($time[0] == $_G['uid']) { $lastviewtime = $time[1]; } } else { $lastviewtime = getuserprofile('lastactivity'); } dsetcookie('lastviewtime', $_G['uid'].'|'.TIMESTAMP, 31536000); if($_G['member']['newprompt_num']['follow']) { C::t('home_notification')->delete_by_type('follow', $_G['uid']); helper_notification::update_newprompt($_G['uid'], 'follow'); } $recommend = $users = array(); if(helper_access::check_module('follow')) { loadcache('recommend_follow'); if(empty($_G['cache']['recommend_follow']) || !empty($_G['cache']['recommend_follow']) && (empty($_G['cache']['recommend_follow']['users']) || TIMESTAMP - $_G['cache']['recommend_follow']['dateline'] > 86400)) { foreach(C::t('home_specialuser')->fetch_all_by_status(0, 10) as $value) { $recommend[$value['uid']] = $value['username']; } unset($recommend[$_G['uid']]); if(count($recommend) < 10) { $followuser = C::t('common_member_count')->range_by_field(0, 100, 'follower', 'DESC'); $userstatus = C::t('common_member_status')->fetch_all_orderby_lastpost(array_keys($followuser), 0, 20); $users = C::t('common_member')->fetch_all_username_by_uid(array_keys($userstatus)); } savecache('recommend_follow', array('dateline'=>TIMESTAMP, 'users'=>$users, 'defaultusers' => $recommend)); } else { $users = &$_G['cache']['recommend_follow']['users']; $recommend = &$_G['cache']['recommend_follow']['defaultusers']; } if(!empty($users)) { if(count($recommend) < 10) { $randkeys = array_rand($users, 11 - count($recommend)); foreach($randkeys as $ruid) { if($ruid != $_G['uid']) { $recommend[$ruid] = $users[$ruid]; } } } } if($do == 'following') { foreach($list as $ruid => $user) { if(isset($recommend[$ruid])) { unset($recommend[$ruid]); } } } if($recommend) { $users = C::t('home_follow')->fetch_all_by_uid_followuid($_G['uid'], array_keys($recommend)); foreach($users as $ruid => $user) { if(isset($recommend[$ruid])) { unset($recommend[$ruid]); } } } } $navactives = array('feed' => ' class="a"'); $actives = array($view => ' class="a"'); list($seccodecheck, $secqaacheck) = seccheck('publish'); } elseif($do == 'view') { $list = getfollowfeed($uid, 'self', false, $start, $perpage); if(empty($list['feed'])) { $primary = 0; $list = getfollowfeed($uid, 'self', true, $start, $perpage); if(empty($list['user'])) { $archiver = 0; } } if(!isset($_G['cache']['forums'])) { loadcache('forums'); } if(helper_access::check_module('follow')) { $followerlist = C::t('home_follow')->fetch_all_following_by_uid($uid, 0, 9); } $seccodecheck = ($_G['setting']['seccodestatus'] & 4) && (!$_G['setting']['seccodedata']['minposts'] || getuserprofile('posts') < $_G['setting']['seccodedata']['minposts']); $secqaacheck = $_G['setting']['secqaa']['status'] & 2 && (!$_G['setting']['secqaa']['minposts'] || getuserprofile('posts') < $_G['setting']['secqaa']['minposts']); } elseif($do == 'follower') { $count = C::t('home_follow')->count_follow_user($uid, 1); if($viewself && !empty($_G['member']['newprompt_num']['follower'])) { $newfollower = C::t('home_notification')->fetch_all_by_uid($uid, -1, 'follower', 0, $_G['member']['newprompt_num']['follower']); $newfollower_list = array(); foreach($newfollower as $val) { $newfollower_list[] = $val['from_id']; } C::t('home_notification')->delete_by_type('follower', $_G['uid']); helper_notification::update_newprompt($_G['uid'], 'follower'); } if($count) { $list = C::t('home_follow')->fetch_all_follower_by_uid($uid, $start, $perpage); $multi = multi($count, $perpage, $page, $theurl); } if(helper_access::check_module('follow')) { $followerlist = C::t('home_follow')->fetch_all_following_by_uid($uid, 0, 9); } $navactives = array($do => ' class="a"'); } elseif($do == 'following') { $count = C::t('home_follow')->count_follow_user($uid); if($count) { $status = $_GET['status'] ? 1 : 0; $list = C::t('home_follow')->fetch_all_following_by_uid($uid, $status, $start, $perpage); $multi = multi($count, $perpage, $page, $theurl); } if(helper_access::check_module('follow')) { $followerlist = C::t('home_follow')->fetch_all_follower_by_uid($uid, 9); } $navactives = array($do => ' class="a"'); } if(($do == 'follower' || $do == 'following') && $list) { $uids = array_keys($list); $fieldhome = C::t('common_member_field_home')->fetch_all($uids); foreach($fieldhome as $fuid => $val) { $list[$fuid]['recentnote'] = $val['recentnote']; } $memberinfo = C::t('common_member_count')->fetch_all($uids); $memberprofile = C::t('common_member_profile')->fetch_all($uids); if(!$viewself) { $myfollow = C::t('home_follow')->fetch_all_by_uid_followuid($_G['uid'], $uids); foreach($uids as $muid) { $list[$muid]['mutual'] = 0; if(!empty($myfollow[$muid])) { $list[$muid]['mutual'] = $myfollow[$muid]['mutual'] ? 1 : -1; } } } $specialfollow = C::t('home_follow')->fetch_all_following_by_uid($uid, 1, 10); } if($viewself) { if(!isset($_G['cache']['forums'])) { loadcache('forums'); } $fields = C::t('forum_forumfield')->fetch_all_by_fid(array_keys($_G['cache']['forums'])); foreach($fields as $fid => $field) { if(!empty($field['threadsorts'])) { unset($_G['cache']['forums'][$fid]); } } require_once libfile('function/forumlist'); $forumlist = forumselect(); $defaultforum = $_G['setting']['followforumid'] ? $_G['cache']['forums'][$_G['setting']['followforumid']] : array(); require_once libfile('function/upload'); $swfconfig = getuploadconfig($_G['uid']); } if($do == 'feed') { $navigation = ' '.lang('space', 'follow_view_'.$view).''; $navtitle = lang('space', 'follow_view_'.$view); } elseif($do == 'view') { $navigation = ' '.$space['username'].''; if($type != 'feed') { $navigation .= ' '.lang('space', 'follow_view_type_feed').''; } $navtitle = lang('space', 'follow_view_feed', array('who' => $space['username'])); } else { $navigation = ' '.$space['username'].' '.lang('space', 'follow_view_'.($viewself?'my':'do').'_'.$do); $navtitle = lang('space', 'follow_view_'.($viewself?'my':'do').'_'.$do); } $metakeywords = $navtitle; $metadescription = $navtitle; $navtitle = helper_seo::get_title_page($navtitle, $_G['page']); include template('diy:home/follow_feed'); ?>