|
@@ -198,6 +198,9 @@ class member_talkControl extends mbMemberControl
|
|
|
$result = [];
|
|
|
foreach ($msgs as $msg)
|
|
|
{
|
|
|
+ $msgtype = proto_type::from_msgtype(intval($msg['type']));
|
|
|
+ if($msgtype == false) continue;
|
|
|
+
|
|
|
$val = [];
|
|
|
$val["act"] = $type;
|
|
|
$val["op"] = "message";
|
|
@@ -214,10 +217,8 @@ class member_talkControl extends mbMemberControl
|
|
|
$from = [];
|
|
|
}
|
|
|
|
|
|
+ $val['content'] = ['msgid' => intval($msg['msg_id']), 'from' => $from,'type' => $msgtype,'content' => $msg['msg'],'send_time' => intval($msg['add_time'])];
|
|
|
|
|
|
- $content = ['msgid' => intval($msg['msg_id']), 'from' => $from,'type' => proto_type::$msg['type'],'content' => $msg['msg'],'send_time' => intval($msg['add_time'])];
|
|
|
-
|
|
|
- $val['content'] = $content;
|
|
|
$result[] = $val;
|
|
|
}
|
|
|
|
|
@@ -291,111 +292,59 @@ class member_talkControl extends mbMemberControl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
- public function friend_detailOp()
|
|
|
+ public function talksOp()
|
|
|
{
|
|
|
- $userid = intval($_GET['userid']);
|
|
|
- if(!isset($userid) || empty($userid)){
|
|
|
- return self::outerr("参数有误");
|
|
|
- }
|
|
|
-
|
|
|
- $member = new member_info($userid);
|
|
|
- $info = $member->filter();
|
|
|
+ $user = session_helper::memberid();
|
|
|
+ $post = $this->init_talk($_POST['post_data']);
|
|
|
+ $chats = $this->talk_chatwos($user,$post['local_chats']);
|
|
|
+ $rooms = $this->talk_rooms($user,$post['local_rooms']);
|
|
|
|
|
|
- return self::outsuccess($info);
|
|
|
+ return self::outsuccess(["rooms"=>$rooms,"chats"=>$chats]);
|
|
|
}
|
|
|
|
|
|
- public function add_friendsOp()
|
|
|
+ private function init_talk($json)
|
|
|
{
|
|
|
- $userid = intval($_GET['userid']);
|
|
|
- try
|
|
|
- {
|
|
|
- if(relation_helper::is_follow(session_helper::memberid(),$userid))
|
|
|
- {
|
|
|
- return self::outsuccess(NULL);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if(relation_helper::onSubscribe(session_helper::memberid(),$userid) == true) {
|
|
|
- return self::outsuccess(NULL);
|
|
|
- } else{
|
|
|
- return self::outerr(errcode::ErrRelation,"添加好友失败");
|
|
|
- }
|
|
|
- }
|
|
|
+ if(empty(trim($json))) {
|
|
|
+ return ["rooms" => [],"chatwos" => []];
|
|
|
}
|
|
|
- catch (Exception $ex) {
|
|
|
- return self::outerr(errcode::ErrRelation,"添加好友失败");
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- public function del_fiendsOp()
|
|
|
- {
|
|
|
- $userid = intval($_GET['userid']);
|
|
|
- try
|
|
|
+ $input = json_decode($json);
|
|
|
+ if($input == false) return ["rooms" => [],"chatwos" => []];
|
|
|
+
|
|
|
+ $rooms = [];
|
|
|
+ $chats = [];
|
|
|
+ foreach ($input as $item)
|
|
|
{
|
|
|
- if(relation_helper::is_follow(session_helper::memberid(),$userid))
|
|
|
+ $msgid = intval($item['msg_id']);
|
|
|
+ if($msgid < 0) $msgid = self::max_msgid;
|
|
|
+
|
|
|
+ if($item['type'] == 'room')
|
|
|
{
|
|
|
+ $room = intval($item['room']);
|
|
|
+ if($room <= 0) continue;
|
|
|
|
|
|
- if(relation_helper::onUnSubscribe(session_helper::memberid(),$userid) == true) {
|
|
|
- return self::outsuccess(NULL);
|
|
|
- } else{
|
|
|
- return self::outerr(errcode::ErrRelation,"取消好友关注失败");
|
|
|
- }
|
|
|
+ $rooms[$room] = $msgid;
|
|
|
}
|
|
|
- else
|
|
|
+ elseif($item['type'] == 'chatwo')
|
|
|
{
|
|
|
+ $user = intval($item['user']);
|
|
|
+ if($user <= 0) continue;
|
|
|
|
|
|
+ $rooms[$user] = $msgid;
|
|
|
}
|
|
|
- } catch (Exception $ex) {
|
|
|
- return self::outerr(errcode::ErrRelation,"取消好友关注失败");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public function talksOp()
|
|
|
- {
|
|
|
- $user = session_helper::memberid();
|
|
|
- $post = $this->init_talk($_POST['post_data']);
|
|
|
-
|
|
|
- $chats = $this->talk_chatwos($user,$post['local_chats']);
|
|
|
- $rooms = $this->talk_rooms($user,$post['local_rooms']);
|
|
|
-
|
|
|
- return self::outsuccess(["rooms"=>$rooms,"chats"=>$chats]);
|
|
|
- }
|
|
|
-
|
|
|
- private function init_talk($post){
|
|
|
- $local_rooms = [];
|
|
|
- $local_chats = [];
|
|
|
-
|
|
|
- if(empty(trim($post))){
|
|
|
- return ["local_rooms"=>$local_rooms,"local_chats"=>$local_chats];
|
|
|
- }
|
|
|
+ else {
|
|
|
|
|
|
- $json = json_decode($post);
|
|
|
- if(!empty($json))
|
|
|
- {
|
|
|
- foreach ($json as $v)
|
|
|
- {
|
|
|
- if($v['type'] == 'room'){
|
|
|
- $local_rooms[$v['room']] = $v['msg_id'];
|
|
|
- }elseif($v['type'] == 'chat'){
|
|
|
- $local_chats[$v['user']] = $v['msg_id'];
|
|
|
- }else{
|
|
|
- continue;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return ["local_rooms"=>$local_rooms,"local_chats"=>$local_chats];
|
|
|
+ return ["rooms"=>$rooms,"chatwos"=>$chats];
|
|
|
}
|
|
|
|
|
|
private function talk_rooms($user,$local_last)
|
|
|
{
|
|
|
$mod_room = Model('room');
|
|
|
-
|
|
|
$items = $mod_room->getLastRoomMsg($user);
|
|
|
-
|
|
|
$ret = $this->talk_format($items,'room',$user,$local_last);
|
|
|
|
|
|
return $ret;
|
|
@@ -465,6 +414,68 @@ class member_talkControl extends mbMemberControl
|
|
|
return $items;
|
|
|
}
|
|
|
|
|
|
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+ public function friend_detailOp()
|
|
|
+ {
|
|
|
+ $userid = intval($_GET['userid']);
|
|
|
+ if(!isset($userid) || empty($userid)){
|
|
|
+ return self::outerr("参数有误");
|
|
|
+ }
|
|
|
+
|
|
|
+ $member = new member_info($userid);
|
|
|
+ $info = $member->filter();
|
|
|
+
|
|
|
+ return self::outsuccess($info);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function add_friendsOp()
|
|
|
+ {
|
|
|
+ $userid = intval($_GET['userid']);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if(relation_helper::is_follow(session_helper::memberid(),$userid))
|
|
|
+ {
|
|
|
+ return self::outsuccess(NULL);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(relation_helper::onSubscribe(session_helper::memberid(),$userid) == true) {
|
|
|
+ return self::outsuccess(NULL);
|
|
|
+ } else{
|
|
|
+ return self::outerr(errcode::ErrRelation,"添加好友失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception $ex) {
|
|
|
+ return self::outerr(errcode::ErrRelation,"添加好友失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function del_fiendsOp()
|
|
|
+ {
|
|
|
+ $userid = intval($_GET['userid']);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ if(relation_helper::is_follow(session_helper::memberid(),$userid))
|
|
|
+ {
|
|
|
+
|
|
|
+ if(relation_helper::onUnSubscribe(session_helper::memberid(),$userid) == true) {
|
|
|
+ return self::outsuccess(NULL);
|
|
|
+ } else{
|
|
|
+ return self::outerr(errcode::ErrRelation,"取消好友关注失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ } catch (Exception $ex) {
|
|
|
+ return self::outerr(errcode::ErrRelation,"取消好友关注失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private function talk_avatar($talks,$type,$user){
|
|
|
$pics = [];
|
|
|
if($type == 'room'){
|