function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $uid_from = $xoopsUser->getVar('uid'); $uid_to = $this->getIntRequest('uid', XSNS_REQUEST_GET); $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); if(!is_object($user_to) || !$user_to->isFriend($uid_from)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $criteria = new CriteriaCompo(new Criteria('uid_to', $uid_to)); $criteria->add(new Criteria('uid_from', $uid_from)); $intro_handler =& XsnsIntroductionHandler::getInstance(); $intro_obj_list =& $intro_handler->getObjects($criteria); if(is_array($intro_obj_list) && count($intro_obj_list)>0){ $body = $intro_obj_list[0]->getVar('body', 'e'); } else{ $body = ""; } $this->context->setAttribute('uid_to', $uid_to); $this->context->setAttribute('body', $body); $this->context->setAttribute('user_menu', $user_to->getMypageMenu()); $this->context->setAttribute('user_name', $user_to->getVar('uname')); }
function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $limit = 30; $start = $this->getIntRequest('s', XSNS_REQUEST_GET); if(!isset($start) || $start<0){ $start = 0; } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($own_uid); if(!is_object($user) || $user->getVar('level') < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } $blog_list =& $user->getFriendBlogList($limit, $start, &$blog_count); $pager = $this->getPageSelector(XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=blog_list', $start, $limit, count($blog_list), $blog_count); $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('blog_list', $blog_list); $this->context->setAttribute('pager', $pager); }
function XsnsCommunity() { // $key, $data_type, $default, $required, $size $this->initVar('c_commu_id', XOBJ_DTYPE_INT); $this->initVar('name', XOBJ_DTYPE_TXTBOX); $this->initVar('uid_admin', XOBJ_DTYPE_INT); $this->initVar('uid_sub_admin', XOBJ_DTYPE_INT); $this->initVar('info', XOBJ_DTYPE_TXTAREA); $this->initVar('c_commu_category_id', XOBJ_DTYPE_INT); $this->initVar('r_datetime', XOBJ_DTYPE_DATETIME); $this->initVar('r_date', XOBJ_DTYPE_DATE); $this->initVar('public_flag', XOBJ_DTYPE_INT); $this->initVar('access_count', XOBJ_DTYPE_INT); $this->initVar('update_freq', XOBJ_DTYPE_FLOAT); $this->initVar('popularity', XOBJ_DTYPE_FLOAT); $this->initVar('up_datetime', XOBJ_DTYPE_DATETIME); $this->handler = array( 'community' => XsnsCommunityHandler::getInstance(), 'user' => XsnsUserHandler::getInstance(), 'member' => XsnsMemberHandler::getInstance(), 'image' => XsnsImageHandler::getInstance(), 'topic' => XsnsTopicHandler::getInstance(), 'comment' => XsnsTopicCommentHandler::getInstance(), 'category' => XsnsCategoryHandler::getInstance(), 'access_log' => XsnsAccessLogHandler::getInstance(), ); }
function dispatch() { global $xoopsUser, $xoopsUserIsAdmin; if(!$this->checkPermissionForGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $limit = 10; $start = $this->getIntRequest('s', XSNS_REQUEST_GET); if(!$start){ $start = 0; } $uid_to = $this->getIntRequest('uid', XSNS_REQUEST_GET); $uid_from = is_object($xoopsUser) ? $xoopsUser->getVar('uid') : -1; $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); if(!is_object($user_to) || $user_to->getVar('level') < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } $intro_list =& $user_to->getIntroList($limit, $start); $intro_count = $user_to->getIntroCount(); $pager = $this->getPageSelector(XSNS_URL_MYPAGE_INTRO.'&uid='.$uid_to, $start, $limit, count($intro_list), $intro_count); $this->context->setAttribute('intro_list', $intro_list); $this->context->setAttribute('intro_count', $intro_count); $this->context->setAttribute('pager', $pager); $this->context->setAttribute('user_menu', $user_to->getMypageMenu()); $this->context->setAttribute('uid_to', $uid_to); $this->context->setAttribute('uid_from', $uid_from); $this->context->setAttribute('is_xoops_admin', $xoopsUserIsAdmin); }
function XsnsMember() { // $key, $data_type, $default, $required, $size $this->initVar('c_commu_member_id', XOBJ_DTYPE_INT); $this->initVar('uid', XOBJ_DTYPE_INT); $this->initVar('c_commu_id', XOBJ_DTYPE_INT); $this->initVar('r_datetime', XOBJ_DTYPE_DATETIME); $this->handler = array( 'user' => XsnsUserHandler::getInstance(), ); }
function dispatch() { global $xoopsUser; $confirm_id = $this->getIntRequest('confirm_id'); if($confirm_id < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($this->isGuest() || !$this->validateToken('CONFIRM_REJECT_ID'.$confirm_id)){ redirect_header(XOOPS_URL, 2, _NOPERM); } // 依頼情報の取得 $confirm_handler =& XsnsConfirmHandler::getInstance(); $confirm =& $confirm_handler->get($confirm_id); if(!is_object($confirm)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $cid = $confirm->getVar('c_commu_id'); $uid_from = $confirm->getVar('uid_from'); $uid_to = $confirm->getVar('uid_to'); $mode = $confirm->getVar('mode'); if($uid_to != $xoopsUser->getVar('uid')){ redirect_header(XOOPS_URL, 2, _NOPERM); } // ユーザーの取得(依頼者が存在しなくても処理を続行) $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); if(!is_object($user_to)){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($mode < 3){ // コミュニティの取得 $commu_handler =& XsnsCommunityHandler::getInstance(); $community =& $commu_handler->get($cid); if(!is_object($community) || $community->getAuthority() < XSNS_AUTH_MEMBER){ redirect_header(XOOPS_URL, 2, _NOPERM); } } // 依頼の削除 if($confirm_handler->delete($confirm)){ $url = ($confirm_handler->getCount(new Criteria('uid_to', $uid_to)) > 0) ? XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=confirm' : XSNS_URL_MYPAGE; redirect_header($url, 2, sprintf(_MD_XSNS_CONFIRM_REJECT_OK, $user_to->getVar('uname'))); } redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_CONFIRM_REJECT_NG); }
function XsnsAccessLogHandler() { parent::XsnsRootHandler(); $this->obj_class = "XsnsAccessLog"; $this->table_name = "c_commu_access_log"; $this->primary_key = "c_access_log_id"; $this->handler = array( 'community' => XsnsCommunityHandler::getInstance(), 'user' => XsnsUserHandler::getInstance(), ); }
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 XsnsUser() { $this->XoopsUser(); $this->ts =& XsnsTextSanitizer::getInstance(); $this->handler = array( 'community' => XsnsCommunityHandler::getInstance(), 'member' => XsnsMemberHandler::getInstance(), 'user' => XsnsUserHandler::getInstance(), 'friend' => XsnsFriendHandler::getInstance(), 'confirm' => XsnsConfirmHandler::getInstance(), 'module_config' => XsnsModuleConfigHandler::getInstance(), 'intro' => XsnsIntroductionHandler::getInstance(), ); }
function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($xoopsUser->getVar('uid')); if(!is_object($user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('module_list', $user->getModuleList(false)); }
function dispatch() { global $xoopsUser; if($this->isGuest() || !$this->validateToken('FRIEND_DELETE')){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $uid = $this->getIntRequest('uid'); if(!$uid){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($own_uid); $friend =& $user_handler->get($uid); $friend_name = is_object($friend) ? $friend->getVar('uname') : ""; if(is_object($user) && is_object($friend) && $user->unsetFriend($uid)){ // 削除した旨を送信 $confirm_handler =& XsnsConfirmHandler::getInstance(); $new_confirm =& $confirm_handler->create(); $new_confirm->setVars(array( 'uid_from' => $own_uid, 'uid_to' => $uid, 'mode' => 4, 'r_datetime' => date('Y-m-d H:i:s'), )); $confirm_handler->insert($new_confirm); // 互いの紹介文を削除 $intro_handler =& XsnsIntroductionHandler::getInstance(); $criteria1 = new CriteriaCompo(new Criteria('uid_to', $own_uid)); $criteria1->add(new Criteria('uid_from', $uid)); $criteria2 = new CriteriaCompo(new Criteria('uid_to', $uid)); $criteria2->add(new Criteria('uid_from', $own_uid)); $criteria1->add($criteria2, 'OR'); $intro_handler->deleteObjects($criteria1); redirect_header(XSNS_URL_MYPAGE, 2, sprintf(_MD_XSNS_FRIEND_DELETE_OK, $friend_name)); } redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_FRIEND_DELETE_NG); }
function dispatch() { global $xoopsUser, $xoopsUserIsAdmin; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $uid_to = $this->getIntRequest('uid_to', XSNS_REQUEST_GET); $uid_from = $this->getIntRequest('uid_from', XSNS_REQUEST_GET); if(!$uid_to || !$uid_from){ redirect_header(XOOPS_URL, 2, _NOPERM); } if(!$xoopsUserIsAdmin && $own_uid!=$uid_to && $own_uid!=$uid_from){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); $user_from =& $user_handler->get($uid_from); if(!is_object($user_to) || !is_object($user_from)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $criteria = new CriteriaCompo(new Criteria('uid_to', $uid_to)); $criteria->add(new Criteria('uid_from', $uid_from)); $intro_handler =& XsnsIntroductionHandler::getInstance(); $intro_obj_list =& $intro_handler->getObjects($criteria); if(!is_array($intro_obj_list) || count($intro_obj_list)!=1){ redirect_header(XOOPS_URL, 2, _NOPERM); } $intro = array( 'user_from' => $user_from->getInfo(), 'body' => $intro_obj_list[0]->getVar('body'), ); $this->context->setAttribute('intro', $intro); $this->context->setAttribute('user_menu', $user_to->getMypageMenu()); $this->context->setAttribute('uid_to', $uid_to); $this->context->setAttribute('uid_from', $uid_from); }
function dispatch() { global $xoopsUser; if(!$this->checkPermissionForGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $limit = 10; $start = $this->getIntRequest('s', XSNS_REQUEST_GET); if(!isset($start) || $start<0){ $start = 0; } $uid = $this->getIntRequest('uid', XSNS_REQUEST_GET); if(!isset($uid) || $uid < 0){ redirect_header(XOOPS_URL, 2, _NOPERM); } // 対象ユーザーの取得 $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($uid); if(!is_object($user) || $user->getVar('level') < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } $commu_list_temp = $user->getCommunityList($limit, $start); $commu_count = count($commu_list_temp); $commu_count_mod = 5 - $commu_count % 5; $count = ($commu_count_mod < 5) ? $commu_count + $commu_count_mod : $commu_count; $commu_list = array(); for($i=0; $i<$count; $i++){ $commu_list[] = isset($commu_list_temp[$i]) ? $commu_list_temp[$i] : array('exists' => false); } $pager = $this->getPageSelector(XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=commu_list&uid='.$uid, $start, $limit, $commu_count, $user->getCommunityCount()); $this->context->setAttribute('pager', $pager); $this->context->setAttribute('user_name', $user->getVar('uname')); $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('commu_list', $commu_list); }
function dispatch() { global $xoopsUser; if($this->isGuest() || !$this->validateToken('INTRO_ADD')){ redirect_header(XOOPS_URL, 2, _NOPERM); } $uid_from = $xoopsUser->getVar('uid'); $uid_to = $this->getIntRequest('uid_to'); $body = $this->getTextRequest('body'); if(!$body){ redirect_header(XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=intro_add&uid='.$uid_to, 2, _MD_XSNS_MYPAGE_INTRO_ADD_BODY_NG); } $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); if(!is_object($user_to) || !$user_to->isFriend($uid_from)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $criteria = new CriteriaCompo(new Criteria('uid_to', $uid_to)); $criteria->add(new Criteria('uid_from', $uid_from)); $intro_handler =& XsnsIntroductionHandler::getInstance(); $intro_obj_list =& $intro_handler->getObjects($criteria); if(is_array($intro_obj_list) && count($intro_obj_list)>0){ $intro =& $intro_obj_list[0]; } else{ $intro =& $intro_handler->create(); } $intro->setVars(array( 'uid_to' => $uid_to, 'uid_from' => $uid_from, 'body' => $body, 'r_datetime' => date("Y-m-d H:i:s"), )); if($intro_handler->insert($intro)){ redirect_header(XSNS_URL_MYPAGE.'&uid='.$uid_to, 2, _MD_XSNS_MYPAGE_INTRO_ADD_OK); } redirect_header(XSNS_URL_MYPAGE.'&uid='.$uid_to, 2, _MD_XSNS_MYPAGE_INTRO_ADD_NG); }
function dispatch() { global $xoopsUser; if($this->isGuest() || !$this->validateToken('FRIEND_ADD')){ redirect_header(XOOPS_URL, 2, _NOPERM); } $uid = $this->getIntRequest('uid'); $own_uid = $xoopsUser->getVar('uid'); if(!$uid || $uid == $own_uid){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $own_user =& $user_handler->get($own_uid); $target_user =& $user_handler->get($uid); if(!is_object($own_user) || !is_object($target_user) || $own_user->isFriend($uid)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $message = $this->getTextRequest('message'); $confirm_handler =& XsnsConfirmHandler::getInstance(); $confirm =& $confirm_handler->getOne(0, $own_uid, $uid, 3); if(!is_object($confirm)){ $confirm =& $confirm_handler->create(); } $confirm->setVars(array( 'uid_from' => $own_uid, 'uid_to' => $uid, 'mode' => 3, 'r_datetime' => date('Y-m-d H:i:s'), 'message' => $message, )); if($confirm_handler->insert($confirm)){ redirect_header(XSNS_URL_MYPAGE, 2, sprintf(_MD_XSNS_FRIEND_ADD_OK, $target_user->getVar('uname'))); } redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_FRIEND_ADD_NG); }
function dispatch() { global $xoopsUser, $xoopsUserIsAdmin; if($this->isGuest() || !$this->validateToken('INTRO_DELETE')){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $uid_to = $this->getIntRequest('uid_to'); $uid_from = $this->getIntRequest('uid_from'); if(!$uid_to || !$uid_from){ redirect_header(XOOPS_URL, 2, _NOPERM); } if(!$xoopsUserIsAdmin && $own_uid!=$uid_to && $own_uid!=$uid_from){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user_to =& $user_handler->get($uid_to); $user_from =& $user_handler->get($uid_from); if(!is_object($user_to) || !is_object($user_from)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $criteria = new CriteriaCompo(new Criteria('uid_to', $uid_to)); $criteria->add(new Criteria('uid_from', $uid_from)); $intro_handler =& XsnsIntroductionHandler::getInstance(); $intro_obj_list =& $intro_handler->getObjects($criteria); if(!is_array($intro_obj_list) || count($intro_obj_list)!=1){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($intro_handler->delete($intro_obj_list[0])){ redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_MYPAGE_INTRO_DEL_OK); } redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_MYPAGE_INTRO_DEL_NG); }
function dispatch() { global $xoopsUser; if(!$this->checkPermissionForGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = is_object($xoopsUser) ? $xoopsUser->getVar('uid') : -1; $uid = $this->getIntRequest('uid', XSNS_REQUEST_GET); if(!isset($uid)){ $uid = $own_uid; } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($uid); if(!is_object($user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $is_own_page = ($own_uid==$uid && $own_uid>0) ? true : false; $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('module_list', $user->getModuleList()); $this->context->setAttribute('is_own_page', $is_own_page); }
function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $uid = $this->getIntRequest('uid', XSNS_REQUEST_GET); $own_uid = $xoopsUser->getVar('uid'); if(!$uid || $uid == $own_uid){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $own_user =& $user_handler->get($own_uid); $target_user =& $user_handler->get($uid); if(!is_object($own_user) || !is_object($target_user) || $own_user->isFriend($uid)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $this->context->setAttribute('user', $target_user->getInfo()); $this->context->setAttribute('user_menu', $target_user->getMypageMenu()); }
function dispatch() { require XSNS_FRAMEWORK_DIR.'/global.php'; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($xoopsUser->getVar('uid')); if(!is_object($user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } require_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php'; require_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/user.php'; $config_handler =& xoops_gethandler('config'); if(defined('XOOPS_CUBE_LEGACY')){ $xoopsConfigUser =& $config_handler->getConfigsByDirname('user'); } else{ $xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER); } $token_handler = new XoopsMultiTokenHandler(); if ($xoopsConfigUser['avatar_allow_upload'] == 1 && $xoopsUser->getVar('posts') >= $xoopsConfigUser['avatar_minposts']) { $form = new XoopsThemeForm(_MD_XSNS_PROFILE_AVATAR_EDIT, 'avatarform', XSNS_URL_MYPAGE_PROFILE); $form->setExtra('enctype="multipart/form-data"'); $form->addElement(new XoopsFormLabel(_US_MAXPIXEL, $xoopsConfigUser['avatar_width'].' x '.$xoopsConfigUser['avatar_height'].' (px)')); $form->addElement(new XoopsFormLabel(_US_MAXIMGSZ, number_format($xoopsConfigUser['avatar_maxsize']).' (bytes)')); $form->addElement(new XoopsFormFile(_US_SELFILE, 'avatarfile', $xoopsConfigUser['avatar_maxsize']), true); $form->addElement(new XoopsFormHidden(XSNS_ACTION_ARG, 'profile_avatar_up_exec')); $form->addElement(new XoopsFormToken($token_handler->create('upload'))); $form->addElement(new XoopsFormHidden('uid', $xoopsUser->getVar('uid'))); $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit')); $this->context->setAttribute('form', $form); } require_once XSNS_USERLIB_DIR.'/avatar.class.php'; $avatar_handler =& XsnsAvatarHandler::getInstance(); $avatar_list_temp =& $avatar_handler->getList('S'); foreach($avatar_list_temp as $avatar_temp){ $avatar_list[] = array( 'id' => $avatar_temp['id'], 'name' => $avatar_temp['name'], 'file' => XOOPS_UPLOAD_URL.'/'.$avatar_temp['file'], ); } $mod = count($avatar_list)%4; if($mod){ for($i=0; $i<4-$mod; $i++){ $avatar_list[] = array(); } } if(is_array($avatar_list)){ $form2 = new XoopsThemeForm(_US_CHOOSEAVT, 'uploadavatar', XSNS_URL_MYPAGE); $form2->addElement(new XoopsFormHidden(XSNS_ACTION_ARG, 'profile_avatar_sel_exec')); $form2->addElement(new XoopsFormToken($token_handler->create('choose'))); $this->context->setAttribute('avatar_list', $avatar_list); $this->context->setAttribute('form2', $form2); } $avatar_file = $xoopsUser->getVar('user_avatar'); if($avatar_file != 'blank.gif'){ $this->context->setAttribute('old_avatar', XOOPS_UPLOAD_URL.'/'.$avatar_file); } $this->context->setAttribute('user_menu', $user->getMypageMenu()); }
function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $tcid = $this->getIntRequest('tcid', XSNS_REQUEST_GET); if(!isset($tcid)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $commu_handler =& XsnsCommunityHandler::getInstance(); $topic_handler =& XsnsTopicHandler::getInstance(); $comment_handler =& XsnsTopicCommentHandler::getInstance(); $user_handler =& XsnsUserHandler::getInstance(); // コメントの取得 $comment =& $comment_handler->get($tcid); if(!is_object($comment)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $tid = $comment->getVar('c_commu_topic_id'); $num = $comment->getNumber(); // トピックの取得 $topic =& $topic_handler->get($tid); if(!is_object($topic)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $topic_uid = $topic->getVar('uid'); // コミュニティの取得 $cid = $topic->getVar('c_commu_id'); $community =& $commu_handler->get($cid); if(!is_object($community)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $commu_auth = $community->getAuthority(); if($commu_auth < XSNS_AUTH_MEMBER){ redirect_header(XOOPS_URL, 2, _NOPERM); } $comment_uid = $comment->getVar('uid'); if($comment_uid < 1 || ($commu_auth < XSNS_AUTH_SUB_ADMIN && $own_uid != $comment_uid && $own_uid != $topic_uid)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $author =& $user_handler->get($comment->getVar('uid')); $author_info = is_object($author) ? $author->getInfo() : array('name'=>'', 'page_url'=>''); $target_topic = array( 'tcid' => $tcid, 'tid' => $tid, 'number' => $num, 'title' => $topic->getVar('name'), 'lang_title' => ($num>0) ? _MD_XSNS_TITLE_TOPIC_RES_DEL : _MD_XSNS_TITLE_TOPIC_DEL, 'body' => preg_replace('/\[res\]([1-9]\\d*)\[\/res\]/', '>>\1', $comment->getVar('body', 'p')), 'author_name' => $author_info['name'], 'author_url' => $author_info['page_url'], ); $commu = array('id' => $cid, 'name' => $community->getVar('name')); $message = ($num==0)? _MD_XSNS_TOPIC_DEL_CONFIRM : _MD_XSNS_TOPIC_RES_DEL_CONFIRM; $this->context->setAttribute('topic', $target_topic); $this->context->setAttribute('commu', $commu); $this->context->setAttribute('message', $message); }
function &getResPopupList($limit, $res_ids, $res_list) { $ret = array(); $user_handler =& XsnsUserHandler::getInstance(); foreach($res_ids as $id){ if(!isset($res_list[$id]) || $res_list[$id]['uid'] < 1){ continue; } $author_obj =& $user_handler->get($res_list[$id]['uid']); if(!is_object($author_obj)){ continue; } $author_info =& $author_obj->getInfo(); $body = $res_list[$id]['body']; if(preg_match_all("/\[res\]([1-9]\\d*)\[\/res\]/", $body, $matches)){ foreach($matches[1] as $m){ if(isset($res_list[$m]) && $res_list[$m]['uid'] > 0){ $s = floor(($m-1)/$limit) * $limit; $body = str_replace("[res]{$m}[/res]", "<a href=\"".XSNS_URL_TOPIC."&tid={$res_list[$m]['c_commu_topic_id']}&s={$s}#{$m}\" onmouseover=\"showResPopUp('res{$m}',event)\" onmouseout=\"hideResPopUp('res{$m}')\">>>{$m}</a>", $body); } else{ $body = str_replace("[res]{$m}[/res]", ">>{$m}", $body); } } } $ret[] = array( 'id' => $id, 'uid' => $author_info['uid'], 'uname' => $author_info['name'], 'time' => $res_list[$id]['r_datetime'], 'body' => $body, ); unset($author_obj); } return $ret; }
function dispatch() { global $xoopsUser; $confirm_id = $this->getIntRequest('confirm_id'); if($confirm_id < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($this->isGuest() || !$this->validateToken('CONFIRM_ACCEPT_ID'.$confirm_id)){ redirect_header(XOOPS_URL, 2, _NOPERM); } // 依頼情報の取得 $confirm_handler =& XsnsConfirmHandler::getInstance(); $confirm =& $confirm_handler->get($confirm_id); if(!is_object($confirm)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $cid = $confirm->getVar('c_commu_id'); $uid_from = $confirm->getVar('uid_from'); $uid_to = $confirm->getVar('uid_to'); $mode = $confirm->getVar('mode'); if($uid_to != $xoopsUser->getVar('uid')){ redirect_header(XOOPS_URL, 2, _NOPERM); } // ユーザーの取得 $user_handler =& XsnsUserHandler::getInstance(); $user_from =& $user_handler->get($uid_from); // 依頼者(他人) $user_to =& $user_handler->get($uid_to); // 自分 if(!is_object($user_from) || !is_object($user_to)){ redirect_header(XOOPS_URL, 2, _NOPERM); } if($mode < 3){ // コミュニティの取得 $commu_handler =& XsnsCommunityHandler::getInstance(); $community =& $commu_handler->get($cid); if(!is_object($community) || $community->getAuthority() < XSNS_AUTH_MEMBER){ redirect_header(XOOPS_URL, 2, _NOPERM); } } switch($mode){ case 0: // コミュニティ参加 $ret = $user_from->joinCommunity($cid); $msg = _MD_XSNS_CONFIRM_JOIN; break; case 1: // 管理者交代 $ret = $user_to->setCommunityAdmin($cid); $msg = _MD_XSNS_CONFIRM_ADMIN; break; case 2: // 副管理者就任 $ret = $user_to->setCommunitySubAdmin($cid); $msg = _MD_XSNS_CONFIRM_SUB_ADMIN; break; case 3: // 友達リスト登録 $ret1 = $user_to->setFriend($uid_from); $ret2 = $user_from->setFriend($uid_to); $ret = $ret1 | $ret2; $msg = _MD_XSNS_CONFIRM_FRIEND; break; case 4: // 友達リスト登録解除(確認のみ) if($confirm_handler->delete($confirm)){ header("Location: ".XSNS_URL_MYPAGE); exit; } redirect_header(XOOPS_URL, 2, _NOPERM); break; default: redirect_header(XOOPS_URL, 2, _NOPERM); break; } if($ret && $confirm_handler->delete($confirm)){ $url = ($confirm_handler->getCount(new Criteria('uid_to', $uid_to)) > 0) ? XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=confirm' : XSNS_URL_MYPAGE; redirect_header($url, 2, sprintf(_MD_XSNS_CONFIRM_ACCEPT_OK. $msg, $user_from->getVar('uname'))); } redirect_header(XSNS_URL_MYPAGE, 2, _MD_XSNS_CONFIRM_ACCEPT_NG); }
function dispatch() { global $xoopsUser, $xoopsConfig; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($xoopsUser->getVar('uid')); if(!is_object($user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } require_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php'; require_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/user.php'; require_once XOOPS_ROOT_PATH.'/include/comment_constants.php'; $config_handler =& xoops_gethandler('config'); if(defined('XOOPS_CUBE_LEGACY')){ $xoopsConfigUser =& $config_handler->getConfigsByDirname('user'); $user_config =& $xoopsConfigUser; } else{ $xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER); $user_config =& $xoopsConfig; } require_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/notification.php'; require_once XOOPS_ROOT_PATH . '/include/notification_constants.php'; $elements = array(); $token_handler = new XoopsMultiTokenHandler(); $token = new XoopsFormToken($token_handler->create('edituser')); // Hidden $elements['hiddens'] = array( array('html' => '<input type="hidden" name="'.XSNS_PAGE_ARG.'" value="mypage">'), array('html' => '<input type="hidden" name="'.XSNS_ACTION_ARG.'" value="profile_edit_exec">'), array('html' => '<input type="hidden" name="uid" value="'.$xoopsUser->getVar('uid').'">'), array('html' => '<input type="hidden" name="'.$token->_name.'" value="'.$token->_value.'">'), ); // Avatar $elements['avatar'] = array( 'name' => 'user_avatar', 'value' => $xoopsUser->getVar('user_avatar'), 'html' => '<img src="'.XOOPS_UPLOAD_URL.'/'.$xoopsUser->getVar('user_avatar').'" alt="'.$xoopsUser->getVar('uname').'" /><br>[<a href="'.XSNS_URL_MYPAGE.'&'.XSNS_ACTION_ARG.'=profile_avatar_up'.'">'._MD_XSNS_PROFILE_AVATAR_EDIT.'</a>]', ); // E-mail if(@$xoopsConfigUser['allow_chgmail']){ $email_text = '<input type="text" name="email" size="30" value="'.$xoopsUser->getVar('email', 'e').'">'; } else{ $email_text = $xoopsUser->getVar('email'); } $elements['email'] = array( 'name' => 'email', 'value' => $xoopsUser->getVar('email'), 'html' => $email_text.'<br><input type="checkbox" name="user_viewemail" value="1"'.($xoopsUser->getVar('user_viewemail') ? ' checked' : '') .'>'._US_ALLOWVIEWEMAIL, ); // Real name $elements['realname'] = array( 'name' => 'name', 'value' => $xoopsUser->getVar('name', 'e'), ); // Web site URL $elements['url'] = array( 'name' => 'url', 'value' => $xoopsUser->getVar('url', 'e'), ); // ICQ $elements['icq'] = array( 'name' => 'user_icq', 'value' => $xoopsUser->getVar('user_icq', 'e'), ); // AIM $elements['aim'] = array( 'name' => 'user_aim', 'value' => $xoopsUser->getVar('user_aim', 'e'), ); // YIM $elements['yim'] = array( 'name' => 'user_yim', 'value' => $xoopsUser->getVar('user_yim', 'e'), ); // MSNM $elements['msnm'] = array( 'name' => 'user_msnm', 'value' => $xoopsUser->getVar('user_msnm', 'e'), ); // Location $elements['location'] = array( 'name' => 'user_from', 'value' => $xoopsUser->getVar('user_from', 'e'), ); // Occupation $elements['occupation'] = array( 'name' => 'user_occ', 'value' => $xoopsUser->getVar('user_occ', 'e'), ); // Interest $elements['interest'] = array( 'name' => 'user_intrest', 'value' => $xoopsUser->getVar('user_intrest', 'e'), ); // Extra info $elements['extra'] = array( 'name' => 'bio', 'value' => $xoopsUser->getVar('bio', 'e'), ); // Signature $sig = $xoopsUser->getVar('user_sig', 'e'); $this->setXoopsCodeTarea('sig_xoops_codes', $sig, 'user_sig', 50, 5, null, 'sig_xoops_smilies'); $elements['sig'] = array( 'name' => 'user_sig', 'value' => $sig, ); $elements['attachsig'] = array( 'name' => 'attachsig', 'value' => $xoopsUser->getVar('attachsig') ? 'checked' : '', ); // Time zone $timezone_offset = $xoopsUser->getVar('timezone_offset'); $timezone_select = new XoopsFormSelectTimezone(_US_TIMEZONE, 'timezone_offset', $timezone_offset); $elements['timezone'] = array( 'name' => 'timezone_offset', 'value' => $timezone_offset, 'html' => XsnsUtils::getSelectBoxHtml('timezone_offset', $timezone_select->_options, $timezone_offset), ); // Event notify method $not_method = $xoopsUser->getVar('notify_method'); $not_method_arr = array( XOOPS_NOTIFICATION_METHOD_DISABLE => _NOT_METHOD_DISABLE, XOOPS_NOTIFICATION_METHOD_PM => _NOT_METHOD_PM, XOOPS_NOTIFICATION_METHOD_EMAIL => _NOT_METHOD_EMAIL, ); $elements['notify_method'] = array( 'name' => 'notify_method', 'value' => $not_method, 'html' => XsnsUtils::getSelectBoxHtml('notify_method', $not_method_arr, $not_method), ); // Event notify mode $not_mode = $xoopsUser->getVar('notify_mode'); $not_mode_arr = array( XOOPS_NOTIFICATION_MODE_SENDALWAYS => _NOT_MODE_SENDALWAYS, XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE => _NOT_MODE_SENDONCE, XOOPS_NOTIFICATION_MODE_SENDONCETHENWAIT => _NOT_MODE_SENDONCEPERLOGIN, ); $elements['notify_mode'] = array( 'name' => 'notify_mode', 'value' => $not_mode, 'html' => XsnsUtils::getSelectBoxHtml('notify_mode', $not_mode_arr, $not_mode), ); // Password $elements['password'] = array( 'name' => 'password', 'html' => '<input type="password" name="password" size="15" maxlength="32"> <input type="password" name="vpass" size="15" maxlength="32">', ); // Comment mode $umode = $xoopsUser->getVar('umode'); $umode_arr = array( 'nest' => _NESTED, 'flat' => _FLAT, 'thread' => _THREADED, ); $elements['umode'] = array( 'name' => 'umode', 'value' => $umode, 'html' => XsnsUtils::getSelectBoxHtml('umode', $umode_arr, $umode), ); // Comment order $uorder = $xoopsUser->getVar('uorder'); $uorder_arr = array( XOOPS_COMMENT_OLD1ST => _OLDESTFIRST, XOOPS_COMMENT_NEW1ST => _NEWESTFIRST, ); $elements['uorder'] = array( 'name' => 'uorder', 'value' => $uorder, 'html' => XsnsUtils::getSelectBoxHtml('uorder', $uorder_arr, $uorder), ); // user cookie $usercookie = empty($_COOKIE[@$user_config['usercookie']]) ? 0 : 1; $usercookie_arr = array(1 => _YES, 0 => _NO); $elements['usercookie'] = array( 'name' => 'usercookie', 'value' => $usercookie, 'html' => XsnsUtils::getRadioHtml('usercookie', $usercookie_arr, $usercookie), ); // user mail ok $mailok = $xoopsUser->getVar('user_mailok'); $mailok_arr = array(1 => _YES, 0 => _NO); $elements['mailok'] = array( 'name' => 'user_mailok', 'value' => $mailok, 'html' => XsnsUtils::getRadioHtml('user_mailok', $mailok_arr, $mailok), ); $this->context->setAttribute('user_menu', $user->getMypageMenu()); $this->context->setAttribute('elements', $elements); $this->context->setAttribute('allow_self_delete', @$xoopsConfigUser['self_delete']); }
function getCommunityDetail($cid) { global $xoopsUser; $topic_limit = 10; $commu_handler =& XsnsCommunityHandler::getInstance(); $c_member_handler =& XsnsMemberHandler::getInstance(); $user_handler =& XsnsUserHandler::getInstance(); $image_handler =& XsnsImageHandler::getInstance(); $topic_handler =& XsnsTopicHandler::getInstance(); $comment_handler =& XsnsTopicCommentHandler::getInstance(); // コミュニティの取得 $community =& $commu_handler->get($cid); if(!is_object($community)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $community->setStatistics(); // コミュニティメンバー一覧の取得 $c_member_obj_list =& $community->getMemberObjects(9, 0, true); $c_member_list = array(); foreach($c_member_obj_list as $c_member_obj){ $c_member_list[] =& $c_member_obj->getInfo(); } $c_member_count = count($c_member_obj_list); if($c_member_count < 9){ for($i=0; $i<9-$c_member_count; $i++){ $c_member_list[] = array(); } } $uid_admin = $community->getVar('uid_admin'); $own_uid = ($this->isXoopsUser()) ? $xoopsUser->getVar('uid') : 0; if($c_member_handler->getOne($cid, $own_uid)){ $is_member = true; $is_admin = ($own_uid == $uid_admin)? true : false; } else{ $is_member = $is_admin = false; } $commu_auth = $community->getAuthority(); $public_flag = $community->getVar('public_flag'); $admin_obj =& $user_handler->get($uid_admin); $admin_name = is_object($admin_obj) ? $admin_obj->getVar('uname') : ""; $public_flag_desc = array( 1 => _MD_XSNS_INDEX_DETAIL_PUBLIC_L1, 2 => _MD_XSNS_INDEX_DETAIL_PUBLIC_L2, 3 => _MD_XSNS_INDEX_DETAIL_PUBLIC_L3, ); $ret = array( 'id' => $cid, 'name' => $community->getVar('name'), 'info' => $community->getVar('info'), 'time' => $community->getVar('r_datetime'), 'image' => $community->getImage(XSNS_IMAGE_SIZE_L), 'category' => $community->getCategoryName(), 'public' => $public_flag_desc[$public_flag], 'admin_name' => $admin_name, 'admin_url' => XSNS_URL_MYPAGE.'&uid='.$uid_admin, 'statistics' => $community->getStatistics(), 'member_list' => $c_member_list, 'member_count' => $community->getMemberCount(), 'topic_list' => $community->getTopicList($topic_limit), 'topic_count' => $community->getTopicCount(), 'show_commu_join' => (!$is_member && $commu_auth > XSNS_AUTH_GUEST) ? true : false, 'show_commu_leave' => ($is_member && !$is_admin) ? true : false, 'show_commu_notify' => ($is_member) ? true : false, 'show_commu_config' => ($commu_auth >= XSNS_AUTH_ADMIN) ? true : false, 'show_topic_list' => ($public_flag!=3 || $commu_auth>=XSNS_AUTH_MEMBER) ? true : false, 'show_topic_add' => ($commu_auth >= XSNS_AUTH_MEMBER) ? true : false, 'show_send_message' => ($commu_auth >= XSNS_AUTH_MEMBER) ? true : false, 'show_member_config' => ($commu_auth >= XSNS_AUTH_ADMIN) ? true : false, ); return $ret; }
function &getFriendBlogList($uid, $limit, $start, &$blog_count) { $ts =& XsnsTextSanitizer::getInstance(); $ret = array(); $blog_module =& $this->getModule(); if(is_null($blog_module)){ return $ret; } $user_blog_url = $this->getUserBlogUrl(); $module_url = XOOPS_URL.'/modules/'.$this->getModuleDirName(); $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($uid); if(!is_object($user)){ return $ret; } $friend_list =& $user->getFriendList(); $blog_list_temp = $order = array(); $blog_count = 0; foreach($friend_list as $friend){ $results =& $blog_module->search('', '', 0, 0, $friend['uid']); if (!is_array($results) || count($results) == 0) { continue; } foreach($results as $result){ if(isset($result['image']) && $result['image'] != ''){ $image_url = $module_url.'/'.$result['image']; } else{ $image_url = XOOPS_URL.'/images/icons/posticon2.gif'; } $blog_list_temp[] = array( 'image' => $image_url, 'link' => $module_url.'/'.$result['link'], 'link_author' => sprintf($user_blog_url, $friend['uid']), 'title' => $ts->makeTboxData4Preview($result['title']), 'time' => isset($result['time'])? date("Y-m-d H:i:s", $result['time']) : '', 'author' => $friend['name'], ); $order[$blog_count] = isset($result['time'])? $result['time'] : 0; $blog_count++; } unset($results); } if($start < 0){ $start = 0; } if(count($order) > 0){ arsort($order); $count = 0; foreach($order as $key => $value){ if($count>=$start && $count<$start+$limit){ $ret[] = $blog_list_temp[$key]; } $count++; } } return $ret; }
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); }
function dispatch() { global $xoopsUser; if($this->isGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = $xoopsUser->getVar('uid'); $confirm_handler =& XsnsConfirmHandler::getInstance(); $user_handler =& XsnsUserHandler::getInstance(); $commu_handler =& XsnsCommunityHandler::getInstance(); $own_user =& $user_handler->get($own_uid); if(!is_object($own_user)){ redirect_header(XOOPS_URL, 2, _NOPERM); } $criteria = new CriteriaCompo(new Criteria('uid_to', $own_uid)); $criteria->setSort('r_datetime'); $criteria->setOrder('DESC'); $confirm_obj_list =& $confirm_handler->getObjects($criteria); $confirm_list_all = array(); if(count($confirm_obj_list) > 0){ $confirm_format = array( 0 => array( 'title' => _MD_XSNS_CONFIRM_JOIN_TITLE, 'desc' => _MD_XSNS_CONFIRM_JOIN_DESC, 'show_commu' => true, 'show_message' => true, 'accept_only' => false, ), 1 => array( 'title' => _MD_XSNS_CONFIRM_ADMIN_TITLE, 'desc' => _MD_XSNS_CONFIRM_ADMIN_DESC, 'show_commu' => true, 'show_message' => true, 'accept_only' => false, ), 2 => array( 'title' => _MD_XSNS_CONFIRM_SUB_ADMIN_TITLE, 'desc' => _MD_XSNS_CONFIRM_SUB_ADMIN_DESC, 'show_commu' => true, 'show_message' => true, 'accept_only' => false, ), 3 => array( 'title' => _MD_XSNS_CONFIRM_FRIEND_TITLE, 'desc' => _MD_XSNS_CONFIRM_FRIEND_DESC, 'show_commu' => false, 'show_message' => true, 'accept_only' => false, ), 4 => array( 'title' => _MD_XSNS_CONFIRM_FRIEND_DEL_TITLE, 'desc' => _MD_XSNS_CONFIRM_FRIEND_DEL_DESC, 'show_commu' => false, 'show_message' => false, 'accept_only' => true, ), ); $confirm_format_count = count($confirm_format); $user_info = $commu_info = array(); foreach($confirm_obj_list as $confirm_obj){ $rows = 2; $id = $confirm_obj->getVar('c_commu_confirm_id'); $uid_from = $confirm_obj->getVar('uid_from'); $mode = $confirm_obj->getVar('mode'); if(!isset($user_info[$uid_from])){ $user =& $user_handler->get($uid_from); if(is_object($user)){ $user_info[$uid_from] =& $user->getInfo(); } unset($user); } $cid = $confirm_obj->getVar('c_commu_id'); if($cid > 0 && !isset($commu_info[$cid])){ $community =& $commu_handler->get($cid); if(is_object($community)){ $commu_info[$cid] =& $community->getInfo(); $commu_info[$cid]['url'] = XSNS_URL_COMMU.'?cid='.$cid; } unset($community); } $form_vars = array('confirm_id' => $id); $form_accept = $this->getFormHeader('post', 'mypage', 'confirm_accept_exec', false, $form_vars, 'CONFIRM_ACCEPT_ID'.$id); $form_reject = !$confirm_format[$mode]['accept_only'] ? $this->getFormHeader('post', 'mypage', 'confirm_reject_exec', false, $form_vars, 'CONFIRM_REJECT_ID'.$id) : NULL; if($confirm_format[$mode]['show_commu']){ $rows++; } if($confirm_format[$mode]['show_message']){ $rows++; } $confirm_list[$mode][$id] = array( 'member' => $user_info[$uid_from], 'commu' => ($cid>0)? $commu_info[$cid] : NULL, 'req_mode' => $mode, 'time' => $confirm_obj->getVar('r_datetime'), 'message' => $confirm_obj->getVar('message'), 'show_commu' => $confirm_format[$mode]['show_commu'], 'show_message' => $confirm_format[$mode]['show_message'], 'accept_only' => $confirm_format[$mode]['accept_only'], 'rows' => $rows, 'form_accept' => $form_accept, 'form_reject' => $form_reject, ); } for($i=0; $i<$confirm_format_count; $i++){ $req_count = isset($confirm_list[$i])? count($confirm_list[$i]) : 0; $confirm_list_all[$i] = array( 'lang_title' => $confirm_format[$i]['title'], 'lang_desc' => $confirm_format[$i]['desc'], 'request_count' => $req_count, 'confirm_list' => ($req_count>0)? $confirm_list[$i] : NULL, ); } } $this->context->setAttribute('user_menu', $own_user->getMypageMenu()); $this->context->setAttribute('confirm_list_all', $confirm_list_all); }
function dispatch() { global $xoopsUser; if(!$this->checkPermissionForGuest()){ redirect_header(XOOPS_URL, 2, _NOPERM); } $own_uid = is_object($xoopsUser) ? $xoopsUser->getVar('uid') : 0; $limit = 10; $start = $this->getIntRequest('s', XSNS_REQUEST_GET); if(!isset($start) || $start<0){ $start = 0; } $uid = $this->getIntRequest('uid', XSNS_REQUEST_GET); if(!$uid){ $uid = ($this->isXoopsUser()) ? $xoopsUser->getVar('uid') : -1; } $user_handler =& XsnsUserHandler::getInstance(); $user =& $user_handler->get($uid); if(!is_object($user) || $user->getVar('level') < 1){ redirect_header(XOOPS_URL, 2, _NOPERM); } $is_own_page = ($own_uid == $uid)? true : false; $friend_list_temp =& $user->getFriendList($limit, $start); $friend_count = $user->getFriendCount(); $pager = $this->getPageSelector(XSNS_URL_MYPAGE_FRIEND.'&uid='.$uid, $start, $limit, count($friend_list_temp), $user->getFriendCount()); $i = 0; $friend_list = array(); foreach($friend_list_temp as $friend){ if($own_uid==$uid){ $friend_user =& $user_handler->get($friend['uid']); if(is_object($friend_user) && $friend_user->isFriend($own_uid)){ $edit_menu = "<li><a href='".XSNS_URL_MYPAGE."&".XSNS_ACTION_ARG."=intro_add&uid=".$friend['uid']."'>"._MD_XSNS_TITLE_MYPAGE_INTRO."</a></li>"; } else{ $edit_menu = ""; } $edit_menu = "<ul>".$edit_menu."<li><a href='".XSNS_URL_MYPAGE."&".XSNS_ACTION_ARG."=friend_del&uid=".$friend['uid']."'>"._MD_XSNS_FRIEND_DELETE."</a></li></ul>"; } else{ $edit_menu = ""; } $friend_list[$i] = $friend; $friend_list[$i]['edit_menu'] = $edit_menu; $i++; } $this->context->setAttribute('user_name', $user->getVar('uname')); $this->context->setAttribute('friend_list', $friend_list); $this->context->setAttribute('pager', $pager); $this->context->setAttribute('is_own_page', $is_own_page); $this->context->setAttribute('user_menu', $user->getMypageMenu()); }