|
@@ -562,6 +562,56 @@ class member_talkControl extends mbMemberControl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public function change_ownerOp()
|
|
|
+ {
|
|
|
+ $room_id = intval($_GET['room_id']);
|
|
|
+ $to_user = explode(',', trim($_GET['room_owner']));
|
|
|
+ $to_user = $to_user[0];
|
|
|
+ $from_user = session_helper::memberid();
|
|
|
+
|
|
|
+
|
|
|
+ $mod_room = Model("room");
|
|
|
+ $item = $mod_room->getPartRooms(["room_id"=>$room_id,"member_id"=>$from_user,"state"=>0]);
|
|
|
+ if(empty($item)) {
|
|
|
+ return self::outerr(errcode::ErrMemberNotExist,"不是群主不可移交管理员");
|
|
|
+ }
|
|
|
+
|
|
|
+ $item = $mod_room->getPartRooms(["room_id"=>$room_id,"member_id"=>$to_user,"state"=>0]);
|
|
|
+ if(empty($item)) {
|
|
|
+ return self::outerr(errcode::ErrMemberNotExist,"用户已不在群中");
|
|
|
+ }
|
|
|
+
|
|
|
+ $member = new member_info($to_user);
|
|
|
+ $info = $member->filter();
|
|
|
+ $name = $info['nickname'];
|
|
|
+
|
|
|
+ ////
|
|
|
+ $trans = new trans_wapper(null,__METHOD__);
|
|
|
+
|
|
|
+ $exchange = $this->exchage_room_owner($room_id,$from_user,$to_user);
|
|
|
+ $room = $mod_room->edit_room(['room_id' => $room_id],['room_owner' => $to_user,"owner_name"=>$name]);
|
|
|
+
|
|
|
+ if($exchange && $room){
|
|
|
+ $trans->commit();
|
|
|
+ return self::outsuccess("移交成功");
|
|
|
+ }else{
|
|
|
+ $trans->rollback();
|
|
|
+ return self::outerr(errcode::ErrTalk,"移交失败");
|
|
|
+ }
|
|
|
+ ///
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private function exchage_room_owner($room_id,$from_user,$to_user)
|
|
|
+ {
|
|
|
+ $mod_room = Model("room");
|
|
|
+ $update1 = $mod_room->editRoomOwner($room_id,$from_user,0);
|
|
|
+ $update2 = $mod_room->editRoomOwner($room_id,$to_user,1);
|
|
|
+
|
|
|
+ return $update1 && $update2;
|
|
|
+ }
|
|
|
+
|
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
|
public function friend_detailOp()
|
|
|
{
|