Пример #1
0
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'));
}
Пример #2
0
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);
}
Пример #3
0
	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(),
		);
	}
Пример #4
0
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);
}
Пример #5
0
	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);
}
Пример #7
0
	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(),
		);
	}
Пример #8
0
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);
}
Пример #9
0
	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(),
		);
	}
Пример #10
0
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));
}
Пример #11
0
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);
}
Пример #12
0
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);
}
Пример #13
0
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);
}
Пример #14
0
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);
}
Пример #15
0
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);
}
Пример #16
0
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);
}
Пример #17
0
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);
}
Пример #18
0
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());
}
Пример #19
0
	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());
	}
Пример #20
0
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);
}
Пример #21
0
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."&amp;tid={$res_list[$m]['c_commu_topic_id']}&amp;s={$s}#{$m}\" onmouseover=\"showResPopUp('res{$m}',event)\" onmouseout=\"hideResPopUp('res{$m}')\">&gt;&gt;{$m}</a>", $body);
				}
				else{
					$body = str_replace("[res]{$m}[/res]", "&gt;&gt;{$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;
}
Пример #22
0
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);
}
Пример #23
0
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">&nbsp;&nbsp;<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']);
}
Пример #24
0
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;
}
Пример #25
0
	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;
	}
Пример #26
0
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);

}
Пример #27
0
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);
}
Пример #28
0
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());
}