<?php

// 获取指定圈子的成员列表
require_once ("../user_include.inc");

ErrorLogger::doOutput("Compass...ajax_get_circle_member_list.php....Start.", 0);

//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$circleId = ParamUtil::getRequestNumber("circleId", 0);//圈子id
$name = ParamUtil::getRequestString("name");//圈子id

$result = array();

//参数检查
if(empty($unionId) || empty($circleId)) {
	$result["message"] = "参数错误!";
	responseNG($result);
}

//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
	$result["message"] = "用户不存在!";
	responseNG($result);
}
$userMst = $userList[0];

$ownerId = 0;
$isOwner = false;//是否为圈主

//判断圈子是否存在
$circleDat = CircleDat::getById($circleId);
if(empty($circleDat)) {
	$result["message"] = "圈子不存在!";
	responseNG($result);
}

if($circleDat->owner_id == $userMst->id) {
	$isOwner = true;//是否为圈主
	$ownerId = $userMst->id;
}

//获取圈子成员数量
$param = array();
$param['circle_id'] = $circleDat->id;
$param['delete_flg'] = false;
$memberCount = CircleMemberDat::getListCount($param);

//获取圈子成员列表
$memberList = array();
$param = array();
$param['circle_id'] = $circleDat->id;
if(!empty($name)) {
	$param['name_ALT'] = "%" . $name . "%";
}
$param['delete_flg'] = false;
$tmpMemberList = CircleMemberDat::getList($param, "is_owner desc, name", "asc");
if(empty($tmpMemberList)) {
	$result["isOwner"] = false;
	$result["ownerId"] = 0;
	$result["memberCount"] = 0;
	$result["memberList"] = array();
	responseOK($result);
}

//圈主
if($tmpMemberList[0]->is_owner==true) {
	$ownerList = array();
	$ownerList[] = $tmpMemberList[0];
	$memberList["圈主(1)"] = $ownerList;
	array_shift($tmpMemberList);
	}

//根据拼音首字母分组
$pinyin = new Pinyin();
$tmpOrderList = array();
foreach($tmpMemberList as $tmpMember) {
	//获取拼音首字母
	$firstChar = $pinyin->getFirstChar($tmpMember->name);
	//是否已经存在key
	if (array_key_exists($firstChar,$tmpOrderList)){
		array_push($tmpOrderList[$firstChar], $tmpMember);
	} else {
		$tmp = array();
		$tmp[] = $tmpMember;
		$tmpOrderList[$firstChar] = $tmp;
	}
}
ksort($tmpOrderList);

//组装返回数据
$otherList = array();
if(!empty($tmpOrderList)) {
	foreach($tmpOrderList as $key => $keyMembers){
	  if($key == "#") {
		  $otherList = $keyMembers;
	  } else {
		  $memberList[$key . "(" . count($keyMembers) . ")"] = $keyMembers;
	  }
	}
	if(empty(!$otherList)) {
		$memberList["#" . "(" . count($otherList) . ")"] = $otherList;
	}
}

//组装返回数据
$result["isOwner"] = $isOwner;
$result["ownerId"] = $ownerId;
$result["circleDat"] = $circleDat;
$result["userName"] = $userMst->name;
$result["memberCount"] = $memberCount;
$result["memberList"] = $memberList;

ErrorLogger::doOutput("Compass...ajax_get_circle_member_list.php....End.", 0);

//返回结果
responseOK($result);

function responseNG($result) {
	$result = array("status"=>"NG", "result"=>$result);
	print json_encode($result);
	exit;
}
function responseOK($result) {
	$result = array("status"=>"OK", "result"=>$result);
	print json_encode($result);
	exit;
}
?>