function dispatch() { global $xoopsUser, $xoopsModuleConfig; if($this->isGuest() || !$xoopsModuleConfig['use_footprint']){ redirect_header(XOOPS_URL, 2, _NOPERM); } $limit = 30; $own_uid = $xoopsUser->getVar('uid'); $user_handler =& XsnsUserHandler::getInstance(); $own_user =& $user_handler->get($own_uid); if(!is_object($own_user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $footprint_handler =& XsnsFootprintHandler::getInstance(); $footprint_list_temp =& $footprint_handler->getListForUser($own_uid, $limit); $footprint_count = $footprint_handler->getCountForUser($own_uid); $user_ids = array(); foreach($footprint_list_temp as $footprint){ $user_ids[] = $footprint['uid_from']; } if(count($user_ids) > 0){ $user_ids = array_unique($user_ids); $criteria = new Criteria('uid', '('.implode(',',$user_ids).')', 'IN'); $user_obj_list =& $user_handler->getObjects($criteria, true); } else{ $user_obj_list = array(); } $footprint_list = array(); foreach($footprint_list_temp as $footprint){ $uid = $footprint['uid_from']; $footprint_list[] = array( 'uname' => isset($user_obj_list[$uid]) ? $user_obj_list[$uid]->getVar('uname') : "-", 'url' => XSNS_URL_MYPAGE.'&uid='.$uid, 'time' => $footprint['time'], ); } $this->context->setAttribute('user_menu', $own_user->getMypageMenu()); $this->context->setAttribute('user_name', $own_user->getVar('uname')); $this->context->setAttribute('footprint_list', $footprint_list); $this->context->setAttribute('footprint_count', $footprint_count); }
function dispatch() { $blog_limit = 10; $topic_limit = 5; $intro_limit = 5; global $xoopsUser, $xoopsModuleConfig; if(!$this->checkPermissionForGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $this->isGuest() ? 0 : $xoopsUser->getVar('uid'); $uid = $this->getIntRequest('uid', XSNS_REQUEST_GET); if(!$uid){ $uid = $own_uid; } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($uid); if(!is_object($user) || $user->getVar('level') < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($uid == $own_uid){ $is_own_page = true; $is_friend_page = false; // Information List $info_list =& $user->getInformationList(); } else{ $is_own_page = false; $own =& $user_handler->get($own_uid); if(is_object($own)){ $is_friend_page = $own->isFriend($uid); // Add Footprint if($xoopsModuleConfig['use_footprint']){ $footprint_handler =& XsnsFootprintHandler::getInstance(); $footprint_handler->add($uid, $own_uid); } } else{ $is_friend_page = false; } $info_list = NULL; } if($is_own_page || $is_friend_page){ if($is_own_page){ // Topic List $topic_list =& $user->getTopicList($topic_limit, 0); $topic_count_all = $user->getTopicCount(); // Friend's Blog List $blog_list =& $user->getFriendBlogList($blog_limit, 0, &$blog_count_all); } else{ $topic_list = array(); $topic_count_all = 0; // My Blog List $blog_list =& $user->getMyBlogList($blog_limit, 0, &$blog_count_all); } } else{ $friend_list = $topic_list = $blog_list = array(); $topic_count_all = $blog_count_all = 0; } // Friend List $friend_list =& $user->getFriendList(9, 0, true); $friend_count = count($friend_list); if($friend_count%3 > 0){ for($i=0; $i<(3-$friend_count%3); $i++){ $friend_list[] = array(); } } $friend_count_all = $user->getFriendCount(); // Community List $commu_list =& $user->getCommunityList(9, 0, true); $commu_count = count($commu_list); if($commu_count%3 > 0){ for($i=0; $i<(3-$commu_count%3); $i++){ $commu_list[] = array(); } } $commu_count_all = $user->getCommunityCount(); // Introduction List $intro_list =& $user->getIntroList($intro_limit, 0, true); $intro_count_all = $user->getIntroCount(); // Output $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('user_info', $this->getUserInfo($uid)); $this->context->setAttribute('info_list', $info_list); $this->context->setAttribute('friend_list', $friend_list); $this->context->setAttribute('commu_list', $commu_list); $this->context->setAttribute('topic_list', $topic_list); $this->context->setAttribute('blog_list', $blog_list); $this->context->setAttribute('intro_list', $intro_list); $this->context->setAttribute('friend_count', $friend_count_all); $this->context->setAttribute('commu_count', $commu_count_all); $this->context->setAttribute('topic_count', $topic_count_all); $this->context->setAttribute('blog_count', $blog_count_all); $this->context->setAttribute('intro_count', $intro_count_all); $this->context->setAttribute('is_own_page', $is_own_page); $this->context->setAttribute('is_friend_page', $is_friend_page); }