huangdong 6 yıl önce
ebeveyn
işleme
fe32a1bb07
2 değiştirilmiş dosya ile 35 ekleme ve 6 silme
  1. 1 0
      admin/control/room_manage.php
  2. 34 6
      helper/room/pusher.php

+ 1 - 0
admin/control/room_manage.php

@@ -114,6 +114,7 @@ class room_manageControl extends SystemControl
             }else{
                 $this->mod_room->editRoom(['room_id' => $certs['room_id']],["room_level" => 0]);
             }
+            \room\pusher::instance()->certification_notice($certs['room_id'],$cstatus);
             showMessage("操作成功",'index.php?act=room_manage&op=certs_list&cstatus='.$cstatus,'html','succ',1,1000);
         } else {
             showMessage("操作失败",'index.php?act=room_manage&op=certs_list','html','succ',1,1000);

+ 34 - 6
helper/room/pusher.php

@@ -79,12 +79,9 @@ class pusher
     }
 
     /**
-     * 发送群公告
-     * @param $user
-     * @param $roomid
-     * @param $note
+     * 群公告设置推送
      */
-    public function notice_room($user,$roomid,$note){
+    public function send_room_notice($user,$roomid,$note){
         try
         {
             $minfo = new member_info($user);
@@ -94,7 +91,7 @@ class pusher
             $room = $this->get_room($roomid);
             if($room == false) return;
 
-            $msg = "@all $note";
+            $msg = "群公告@all $note";
 
             factory_client::instance()->notice_room($roomid,proto_type::msg_type_text,$content,$msg);
         }
@@ -103,6 +100,37 @@ class pusher
         }
     }
 
+    /**
+     * 群认证通过/拒绝推送
+     * @param $roomid
+     * @param $type
+     */
+    public function certification_notice($roomid,$type)
+    {
+        try
+        {
+            $room = $this->get_room($roomid);
+            if($room == false) return;
+            if($type){
+                $msg = "群: {$room->name()} 申请的认证被通过";
+            }else{
+                $msg = "群: {$room->name()} 申请的认证被拒绝";
+            }
+
+            $room_owner = $room->owner();
+
+            $minfo = new member_info($room_owner);
+
+            $to = ['nickname' => $minfo->nickname(),'avatar' => $minfo->avatar(),'userid' => $room_owner];
+            $content = ['type' => 'certification_notice','to' => $to,'note' => $msg,'room_id' => $roomid];
+
+            factory_client::instance()->notice_users([$room->creator()],proto_type::msg_type_nofity,$content,$msg);
+        }
+        catch (Exception $ex) {
+            Log::record($ex->getMessage(),Log::ERR);
+        }
+    }
+
     private function get_room($roomid)
     {
         $roomid = intval($roomid);