Quellcode durchsuchen

Merge branch 'talksec' of 121.43.114.153:/home/git/repositories/shopnc into talksec

stanley-king vor 6 Jahren
Ursprung
Commit
777d40282e

+ 29 - 0
admin/control/room_manage.php

@@ -0,0 +1,29 @@
+<?php
+/**
+ * 群管理
+ * Created by PhpStorm.
+ * User: huangdong
+ * Date: 2018/8/21
+ * Time: 下午2:44
+ */
+
+defined('InShopNC') or exit('Access Invalid!');
+class room_manageControl extends SystemControl
+{
+    public function __construct()
+    {
+        parent::__construct();
+//        Language::read('circle');
+    }
+
+    public function room_listOp()
+    {
+        $model = Model();
+        $room_list = $model->table('room')->where(["room_id"=>37])->page('10')->select();
+
+
+        Tpl::output('page', $model->showpage('2'));
+        Tpl::output('room_list', $room_list);
+        Tpl::showpage('room.list');
+    }
+}

+ 14 - 0
admin/include/menu.php

@@ -288,5 +288,19 @@ if(C('circle_isuse') !== null){
 	);
 }
 
+
+//群管理
+$arr['top'][] = array(
+	'args'	=> 'room',
+	'text'	=> $lang['nc_room']);
+$arr['left'][] = array(
+	'nav'	=> 'room',
+	'text'	=> $lang['nc_room'],
+	'list'	=> array(
+		0 => array('args'=>'room_list,room_manage,room','text'=>$lang['nc_room_manage']),
+	)
+);
+
+
 return $arr;
 ?>

+ 8 - 0
admin/language/zh_cn/layout.php

@@ -184,6 +184,14 @@ $lang['nc_circle_advmanage']		= '圈子首页广告';
 $lang['nc_circle_cache']			= '更新圈子缓存';
 $lang['nc_circle_informnamage']		= '圈子举报管理';
 
+$lang['nc_room'] = '群聊';
+$lang['nc_room_manage'] = '群管理';
+$lang['nc_room_level_manage'] = '群认证管理';
+$lang['nc_room_name'] = '群自定义名称';
+$lang['nc_room_tmp_name'] = '群临时名称';
+$lang['nc_room_avatar'] = '群头像';
+$lang['nc_room_addtime'] = "创建时间";
+
 /**
  * 页面中的常用文字
  */

+ 133 - 0
admin/templates/default/room.list.php

@@ -0,0 +1,133 @@
+<?php defined('InShopNC') or exit('Access Invalid!');?>
+
+<div class="page">
+    <div class="fixed-bar">
+        <div class="item-title">
+            <h3><?php echo $lang['nc_room_manage'];?></h3>
+            <ul class="tab-base">
+                <li><a href="JavaScript:void(0);" class="current"><span><?php echo $lang['nc_manage'];?></span></a></li>
+                <li><a href="index.php?act=circle_manage&op=circle_verify"><span><?php echo $lang['circle_wait_verify'];?></span></a></li>
+                <li><a href="index.php?act=circle_manage&op=circle_add" ><span><?php echo $lang['nc_new'];?></span></a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="fixed-empty"></div>
+    <form method="get" name="formSearch">
+        <input type="hidden" name="act" value="circle_manage">
+        <input type="hidden" name="op" value="circle_list">
+        <table class="tb-type1 noborder search">
+            <tbody>
+            <tr>
+                <th><label for="searchtitle"><?php echo $lang['circle_name'];?></label></th>
+                <td><input type="text" name="searchname" id="searchname" class="txt" value='<?php echo $_GET['searchname'];?>'></td>
+                <th><label for="searchtitle"><?php echo $lang['circle_master_name'];?></label></th>
+                <td><input type="text" name="searchmaster" id="searchmaster" class="txt" value='<?php echo $_GET['searchmaster'];?>'></td>
+                <th><label><?php echo $lang['circle_status'];?></label></th>
+                <td><select name="searchstatus">
+                        <option value=""><?php echo $lang['nc_common_pselect'];?></option>
+                        <option value="1" <?php if ($_GET['searchstatus'] == '1'){echo 'selected=selected';}?>><?php echo $lang['nc_open'];?></option>
+                        <option value="0" <?php if ($_GET['searchstatus'] == '0'){echo 'selected=selected';}?>><?php echo $lang['nc_close'];?></option>
+                        <option value="2" <?php if ($_GET['searchstatus'] == '2'){echo 'selected=selected';}?>><?php echo $lang['circle_waiting_verify'];?></option>
+                        <option value="3" <?php if ($_GET['searchstatus'] == '3'){echo 'selected=selected';}?>><?php echo $lang['circle_verify_fail'];?></option>
+                    </select>
+                </td>
+                <td><a href="javascript:document.formSearch.submit();" class="btn-search " title="<?php echo $lang['nc_query']; ?>">&nbsp;</a></td>
+            </tr>
+            </tbody>
+        </table>
+    </form>
+    <table class="table tb-type2" id="prompt">
+        <tbody>
+        <tr class="space odd">
+            <th class="nobg" colspan="12"><div class="title"><h5><?php echo $lang['nc_prompts'];?></h5><span class="arrow"></span></div></th>
+        </tr>
+        <tr>
+            <td>
+                <ul>
+                    <li><?php echo $lang['circle_prompts_one'];?></li>
+                    <li><?php echo $lang['circle_prompts_two'];?></li>
+                </ul></td>
+        </tr>
+        </tbody>
+    </table>
+    <form method='post' name="circle_list" id="circle_id">
+        <input type="hidden" name="form_submit" value="ok" />
+        <input type="hidden" name="submit_type" id="submit_type" value="" />
+        <table class="table tb-type2">
+            <thead>
+            <tr class="thead">
+                <th></th>
+                <th><?php echo $lang['nc_room_avatar'];?></th>
+                <th><?php echo $lang['nc_room_name'];?></th>
+                <th><?php echo $lang['nc_room_addtime'];?></th>
+                <th class="align-center">群管理员</th>
+                <th class="align-center">群认证等级</th>
+                <th class="align-center"><?php echo $lang['nc_status'];?></th>
+                <th class="align-center"><?php echo $lang['nc_handle'];?></th>
+            </tr>
+            </thead>
+            <tbody>
+            <?php if(!empty($output['room_list']) && is_array($output['room_list'])){ ?>
+                <?php foreach($output['room_list'] as $k => $v){ ?>
+                    <tr class="hover edit">
+                        <td class="w24">
+                            <input type="checkbox" name="check_circleid[]" value="<?php echo $v['room_id'];?>" class="checkitem">
+                        </td>
+                        <td>
+                            <img src="<?php echo $v['avatar'];?>" style="width: 45px;">
+                        </td>
+                        <td class="w50pre name">
+                            <span title="<?php echo $lang['nc_editable'];?>" required="1" ajax_branch="name" fieldid="<?php echo $v['room_id'];?>" fieldname="circle_name" nc_type="inline_edit" class="editable "><?php echo $v['room_name'];?></span>
+                        </td>
+<!--                        <td>--><?php //echo $v['circle_mastername'];?><!--</td>-->
+                        <td><?php echo date('Y-m-d', $v['circle_addtime']);?></td>
+                        <td class="align-center yes-onoff"><?php if($v['is_recommend'] == 0){ ?>
+                                <a href="JavaScript:void(0);" class=" disabled" fieldvalue="0" fieldid="<?php echo $v['circle_id'];?>" ajax_branch="recommend" fieldname="is_recommend" nc_type="inline_edit" title="<?php echo $lang['nc_editable'];?>"><img src="<?php echo ADMIN_TEMPLATES_URL;?>/images/transparent.gif"></a>
+                            <?php }else{ ?>
+                                <a href="JavaScript:void(0);" class=" enabled" fieldvalue="1" fieldid="<?php echo $v['circle_id'];?>" ajax_branch="recommend" fieldname="is_recommend" nc_type="inline_edit" title="<?php echo $lang['nc_editable'];?>"><img src="<?php echo ADMIN_TEMPLATES_URL;?>/images/transparent.gif"></a>
+                            <?php } ?></td>
+                        <td class="align-center yes-onoff"><?php if($v['is_hot'] == 0){ ?>
+                                <a href="JavaScript:void(0);" class=" disabled" fieldvalue="0" fieldid="<?php echo $v['circle_id'];?>" ajax_branch="recommend" fieldname="is_hot" nc_type="inline_edit" title="<?php echo $lang['nc_editable'];?>"><img src="<?php echo ADMIN_TEMPLATES_URL;?>/images/transparent.gif"></a>
+                            <?php }else{ ?>
+                                <a href="JavaScript:void(0);" class=" enabled" fieldvalue="1" fieldid="<?php echo $v['circle_id'];?>" ajax_branch="recommend" fieldname="is_hot" nc_type="inline_edit" title="<?php echo $lang['nc_editable'];?>"><img src="<?php echo ADMIN_TEMPLATES_URL;?>/images/transparent.gif"></a>
+                            <?php } ?></td>
+                        <td class="align-center power-onoff">
+                            <?php switch (intval($v[circle_status])){
+                                case 0:
+                                    echo L('nc_close');
+                                    break;
+                                case 1:
+                                    echo L('nc_open');
+                                    break;
+                                case 2:
+                                    echo L('circle_verifying');
+                                    break;
+                                case 3:
+                                    echo L('circle_verify_fail');
+                                    break;
+                            }?>
+                        </td>
+                        <td class="w72"><a href="index.php?act=circle_manage&op=circle_edit&c_id=<?php echo $v['circle_id'];?>"><?php echo $lang['nc_edit'];?></a> | <a href="javascript:if(confirm('<?php echo $lang['circle_del_confirm'];?>'))window.location = 'index.php?act=circle_manage&op=circle_del&c_id=<?php echo $v['circle_id'];?>';"><?php echo $lang['nc_del'];?></a></td>
+                    </tr>
+                <?php } ?>
+            <?php }else { ?>
+                <tr class="no_data">
+                    <td colspan="10"><?php echo $lang['nc_no_record'];?></td>
+                </tr>
+            <?php } ?>
+            </tbody>
+            <?php if(!empty($output['circle_list']) && is_array($output['circle_list'])){ ?>
+                <tfoot>
+                <tr class="tfoot">
+                    <td><input type="checkbox" class="checkall" id="checkall_1"></td>
+                    <td id="batchAction" colspan="15"><span class="all_checkbox">
+            <label for="checkall_2"><?php echo $lang['nc_select_all'];?></label>
+            </span>&nbsp;&nbsp;<a href="JavaScript:void(0);" class="btn" onclick="if(confirm('<?php echo $lang['circle_del_confirm'];?>')){$('#submit_type').val('batchdel');$('#circle_id').submit();}"><span><?php echo $lang['nc_del'];?></span></a>
+                        <div class="pagination"> <?php echo $output['page'];?> </div></td>
+                </tr>
+                </tfoot>
+            <?php } ?>
+        </table>
+    </form>
+</div>
+<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquery.edit.js" charset="utf-8"></script>

+ 15 - 0
data/model/room.model.php

@@ -158,4 +158,19 @@ class roomModel extends Model
     {
         return $this->table('room_face')->where($cond)->update($data);
     }
+
+    /////////////////////////////////////////////
+    public function roomApplys($room,$field="*",$limit=10,$order='apply_id desc')
+    {
+        return $this->table('room_apply')->field($field)->where(['room_id' => $room])->order($order)->limit($limit)->select();
+    }
+    public function findApply($apply_id){
+        return $this->table('room_apply')->field('*')->where(['apply_id' => $apply_id])->find();
+    }
+    public function addApply($room,$member,$msg){
+        return $this->table('room_apply')->insert(['room_id' => $room,'member_id' => $member,'msg' => $msg]);
+    }
+    public function editApply($apply,$viewer,$step){
+        return $this->table('room_apply')->where(['apply_id' => $apply])->update(["viewer"=> $viewer,"step" => $step]);
+    }
 }

+ 173 - 52
helper/room/tpl_group_home.php

@@ -21,12 +21,12 @@ class tpl_group_home
     private $mod_room = null;
     private $room_info = null;
     private $cur_user = 0;
-    private $room_id  = 0;
+    private $room_id = 0;
     private $participants = [];
 
     public function __construct($user, $room_id)
     {
-        if($room_id <= 0){
+        if ($room_id <= 0) {
             throw new Exception("聊天参数有误");
         }
         $this->mod_room = Model('room');
@@ -46,10 +46,9 @@ class tpl_group_home
     {
         $html = "";
         $url = RESOURCE_SITE_URL. "/mobile/talk/images/cover.png";
-        $html .= "<div class=\"cover\">
+        $html.="<div class=\"cover\">
                     <img src=\" {$url} \" alt=\"cover\"> 
-                  </div>";
-
+                </div>";
         echo $html;
     }
 
@@ -64,22 +63,29 @@ class tpl_group_home
         $avartar = $this->room_info->avatar();
         $desc = $this->room_info->room_desc();
 
-        $html = '';
-        $html .= "<div class=\"group_avatar\">
+        $html ="<div class=\"group_avatar\">
                     <img src=\"{$avartar}\" class='g_avatar' alt=\"group_avatar\">
-                  </div>
-                  <div class=\"group_name\">
+                </div>
+                <div class=\"group_name\">
                     <h3>{$name}</h3>
+                    <span class=\"certification_logo\"></span>
                     <p>{$desc}</p>
-                  </div>
-                  <div class='qrcode_btn'></div>";
+                </div>";
         echo $html;
     }
 
+
+    public function show_qrcode_btn()
+    {
+        if(isset($this->participants[$this->cur_user])){
+           echo "<div class='qrcode_btn'></div>";
+        }
+    }
+
+
     public function show_group_notice()
     {
         $html = "";
-
         $notice = $this->room_info->notice();
         if(empty($notice))
         {
@@ -93,11 +99,31 @@ class tpl_group_home
                         <p class=\"text_overflow\">【公告】{$notice}</p>
                      </div>";
         }
+        echo $html;
+    }
 
+    public function show_group_activity()
+    {
+        $html = "";
+        if(isset($this->participants[$this->cur_user])){
+            $html.="<div class=\"weui-flex__item group_bonus\">
+                        <a href=\"/mobile/index.php?act=member_talk&op=share_bonus&room_id={$this->room_id}\">
+                            <img src=\"".RESOURCE_SITE_URL."/mobile/talk/images/group_bonus.png\" alt=\"\">
+                        </a>
+                    </div>
+                    <div class=\"weui-flex__item group_goods\">
+                        <img src=\"".RESOURCE_SITE_URL."/mobile/talk/images/group_goods.png\" alt=\"\">
+                    </div>
+                    <div class=\"weui-flex__item group_sport\">
+                        <img src=\"".RESOURCE_SITE_URL."/mobile/talk/images/group_sport.png\" alt=\"\">
+                    </div>";
+        }
         echo $html;
     }
 
-    private function isManager($user) {
+
+    private function isManager($user)
+    {
         return intval($user) === $this->room_info->owner();
     }
 
@@ -105,18 +131,17 @@ class tpl_group_home
     {
         $html = '';
 
-        if (!empty($this->participants))
-        {
+        if (!empty($this->participants) && isset($this->participants[$this->cur_user])) {
             $i = 1;
             $cnt = count($this->participants);
-            foreach ($this->participants as $uids => $member)
-            {
-                if($i < $cnt) {
+            foreach ($this->participants as $uids => $member) {
+                if ($i < $cnt) {
                     $div_head = "<div class=\"weui-flex__item\" data-member-id={$member['userid']}>";
                 } else {
                     $div_head = "<div class=\"weui-flex__item\" data-member-id={$member['userid']} data-last='true'> ";
                 }
 
+
                 if($this->isManager($uids))
                 {
                     $head = "<img src=\"{$member['avatar']}\" alt=\"\">
@@ -139,15 +164,13 @@ class tpl_group_home
             }
         }
 
-        if (isset($this->participants[$this->cur_user]))
-        {
+        if (isset($this->participants[$this->cur_user])) {
             $html .= "<div class=\"weui-flex__item\">
                         <img src=\"" . RESOURCE_SITE_URL . "/mobile/talk/images/add_member.png\" id=\"add_member\" alt=\"\">
                       </div>";
         }
 
-        if ($this->isManager($this->cur_user))
-        {
+        if ($this->isManager($this->cur_user)) {
             $html .= "<div class=\"weui-flex__item\">
                         <img src=\"" . RESOURCE_SITE_URL . "/mobile/talk/images/del_member.png\" id=\"del_member\" alt=\"\">
                       </div>";
@@ -158,18 +181,16 @@ class tpl_group_home
     public function show_group_body()
     {
         $html = "";
+        if (!empty($this->room_info) && isset($this->participants[$this->cur_user])) {
+            $avartar = $this->room_info->avatar();
+            $name = $this->room_info->has_name() ? $this->room_info->name() : "未命名";
+            $notice = empty($this->room_info->notice()) ? "未设置" : "已设置";
+            $desc = empty($this->room_info->room_desc()) ? "未设置" : "已设置";
+            $level = $this->room_info->level() == 0 ? "未认证" : "已认证";
+            $apply = 17 > 0 ? "待处理" . 17 : "";
 
-        if($this->room_info->has_name()){
-            $name = $this->room_info->name();
-        }else{
-            $name = "未命名";
-        }
-        $avartar = $this->room_info->avatar();
-        $notice = empty($this->room_info->notice()) ? "未设置" : "已设置";
-        $desc   = empty($this->room_info->room_desc()) ? "未设置" : "已设置";
-        $level  = $this->room_info->level() == 0    ? "未认证" : "已认证";
 
-        $html .=   "<a class=\"weui-cell weui-cell_access\" id='edit_group_name' href=\"javascript:;\">
+            $html .= "<a class=\"weui-cell weui-cell_access\" id='edit_group_name' href=\"javascript:;\">
                         <div class=\"weui-cell__bd\">
                             <p>群名称</p>
                         </div>
@@ -188,25 +209,33 @@ class tpl_group_home
                     
                     <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\">
                         <div class=\"weui-cell__bd\">
-                            <p>企业认证</p>
+                            <p>认证</p>
                         </div>
                         <div class=\"weui-cell__ft\">{$level}</div>
                     </a>";
+        }
 
-        if($this->isManager($this->cur_user))
-        {
-            $html .= "<a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"edit_room_notice\">
-                          <div class=\"weui-cell__bd\">
-                              <p>群公告</p>
-                          </div>
-                          <div class=\"weui-cell__ft\" id=\"room-notice-btn\">{$notice}</div>
-                      </a>
-                      <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"edit_room_desc\">
-                          <div class=\"weui-cell__bd\">
-                              <p>群介绍</p>
-                          </div>
-                          <div class=\"weui-cell__ft\" id=\"room-desc-btn\">{$desc}</div>
-                      </a>";
+        if ($this->isManager($this->cur_user)) {
+            $html.="<a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"edit_room_notice\">
+                        <div class=\"weui-cell__bd\">
+                            <p>群公告</p>
+                        </div>
+                        <div class=\"weui-cell__ft\" id=\"room-notice-btn\">{$notice}</div>
+                    </a>
+                    
+                    <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"edit_room_desc\">
+                        <div class=\"weui-cell__bd\">
+                            <p>群介绍</p>
+                        </div>
+                        <div class=\"weui-cell__ft\" id=\"room-desc-btn\">{$desc}</div>
+                    </a>
+                    
+                    <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"edit_room_desc\">
+                        <div class=\"weui-cell__bd\">
+                            <p>进群申请</p>
+                        </div>
+                        <div class=\"weui-cell__ft\" id=\"room-apply-btn\">{$apply}</div>
+                    </a>";
         }
 
         echo $html;
@@ -216,8 +245,7 @@ class tpl_group_home
     {
         $html = "";
 
-        if(!empty($this->participants))
-        {
+        if (!empty($this->participants) && isset($this->participants[$this->cur_user])) {
             $html .= "
             <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id='edit_nickname'>
                 <div class=\"weui-cell__bd\">
@@ -227,8 +255,7 @@ class tpl_group_home
             </a>";
         }
 
-        if($this->isManager($this->cur_user))
-        {
+        if ($this->isManager($this->cur_user)) {
             $html .= "
             <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id='change_owner' >
                 <div class=\"weui-cell__bd\">
@@ -240,6 +267,84 @@ class tpl_group_home
         echo $html;
     }
 
+
+    public function show_group_footer()
+    {
+        $html = "";
+        if(isset($this->participants[$this->cur_user]))
+        {
+
+            $html .="<div class=\"weui-cells\">";
+            if ($this->isManager($this->cur_user)) {
+                $pwd = $this->room_info->passwd();
+                if($pwd)
+                {
+                    $html .= "<div class=\"weui-cell weui-cell_switch\" href=\"javascript:;\">
+                                <div class=\"weui-cell__bd\">
+                                    <p>群密码</p>
+                                </div>
+                                <div class=\"weui-cell__ft\">
+                                    <label for=\"talk_top\" class=\"weui-switch-cp\">
+                                        <input id=\"talk_top\" class=\"weui-switch-cp__input\" type=\"checkbox\" checked='{$pwd}'>
+                                        <div class=\"weui-switch-cp__box\"></div>
+                                    </label>
+                                </div>
+                        </div>";
+                }
+                else
+                {
+                    $html .= "<div class=\"weui-cell weui-cell_switch\" href=\"javascript:;\">
+                                <div class=\"weui-cell__bd\">
+                                    <p>群密码</p>
+                                </div>
+                                <div class=\"weui-cell__ft\">
+                                    <label for=\"talk_top\" class=\"weui-switch-cp\">
+                                        <input id=\"talk_top\" class=\"weui-switch-cp__input\" type=\"checkbox\">
+                                        <div class=\"weui-switch-cp__box\"></div>
+                                    </label>
+                                </div>
+                        </div>";
+                }
+            }
+            $html .="<div class=\"weui-cell weui-cell_switch\" href=\"javascript:;\">
+                        <div class=\"weui-cell__bd\">
+                            <p>置顶聊天</p>
+                        </div>
+                        <div class=\"weui-cell__ft\">
+                            <label for=\"talk_top\" class=\"weui-switch-cp\">
+                                <input id=\"talk_top\" class=\"weui-switch-cp__input\" type=\"checkbox\">
+                                <div class=\"weui-switch-cp__box\"></div>
+                            </label>
+                        </div>
+                    </div>
+                    <div class=\"weui-cell weui-cell_switch\" href=\"javascript:;\">
+                        <div class=\"weui-cell__bd\">
+                                <p>消息免打扰</p>
+                        </div>
+                        <div class=\"weui-cell__ft\">
+                            <label for=\"no_disturb\" class=\"weui-switch-cp\">
+                                <input id=\"no_disturb\" class=\"weui-switch-cp__input\" type=\"checkbox\">
+                                <div class=\"weui-switch-cp__box\"></div>
+                            </label>
+                        </div>
+                    </div>
+                </div>";
+        }
+
+        if(isset($this->participants[$this->cur_user]))
+        {
+              $html.="<div class=\"weui-cells\">
+                        <a class=\"weui-cell weui-cell_access\" href=\"javascript:;\" id=\"hide_msg\">
+                            <div class=\"weui-cell__bd\">
+                                <p>清空聊天记录</p>
+                            </div>
+                        </a>
+                     </div>";
+        }
+        echo $html;
+    }
+
+
     public function show_footer_btn()
     {
         $html = "";
@@ -259,7 +364,23 @@ class tpl_group_home
         }
         else
         {
-            //todo 申请加入此群按钮
+            $pwd = $this->room_info->passwd();
+            if($pwd){
+                $html .= "
+                <div class=\"quit\" id=\"add_group_pwd\">
+                    <a href=\"javascript:;\" class=\"weui-btn weui-btn_primary\">密码入群</a>
+                </div>
+                <div class=\"quit\" id=\"add_group_apply\">
+                    <a href=\"javascript:;\" class=\"weui-btn weui-btn_primary\">申请加群</a>
+                </div>";
+            }
+            else
+            {
+                $html .= "
+                <div class=\"quit\" id=\"add_group\">
+                    <a href=\"javascript:;\" class=\"weui-btn weui-btn_primary\">立即入群</a>
+                </div>";
+            }
         }
         echo $html;
     }

+ 82 - 0
mobile/control/member_talk.php

@@ -685,6 +685,43 @@ class member_talkControl extends mbMemberControl
         }
     }
 
+    public function change_passwdOp(){
+        $room_id = intval($_GET['room_id']);
+        if($room_id <= 0) {
+            return self::outerr(errcode::ErrParamter);
+        }
+
+        $passwd = strtolower(trim($_GET['passwd']));
+
+        if (!preg_match("/^[a-z0-9]+$/u", $passwd)) {
+            return self::outerr(errcode::ErrParamter,"密码只能包含英文字母或数字,不区分大小写");
+        }
+
+        $len = strlen($passwd);
+        if($len <=0 || $len >8) {
+            return self::outerr(errcode::ErrParamter,"密码不能为空或超过8个字符");
+        }
+
+        $mod_room = Model('room');
+        $item = $mod_room->getRoom($room_id);
+        if(empty($item)) {
+            return self::outerr(errcode::ErrParamter,"错误的群信息");
+        }
+
+        $user = session_helper::memberid();
+        $info = new room\room_info($item);
+        if($info->owner() != $user) {
+            return self::outerr(errcode::ErrTalk,"只有管理员可以修改群密码");
+        }
+
+        $ret = Model("room")->editRoom(['room_id' => $room_id],['passwd' => $passwd]);
+        if($ret) {
+            return self::outsuccess(null);
+        } else {
+            return self::outerr(errcode::ErrDB);
+        }
+    }
+
     public function hide_msgOp()
     {
         $room_id = intval($_GET['room_id']);
@@ -720,6 +757,51 @@ class member_talkControl extends mbMemberControl
         }
     }
 
+    public function room_applyOp()
+    {
+        $room_id = intval($_GET['room']);
+        $msg = trim($_GET['msg']);
+        $member = session_helper::memberid();
+
+        if($room_id <= 0 || strlen($msg) >=100) {
+            return self::outerr(errcode::ErrParamter,"请求失败");
+        }
+
+        $room_mod = Model('room');
+        $add = $room_mod->addApply($room_id,$member,$msg);
+        if($add){
+            return self::outsuccess(null,"申请成功");
+        } else {
+            return self::outerr(errcode::ErrDB,"提交失败");
+        }
+    }
+
+    public function pass_applyOp()
+    {
+        $apply = intval($_GET['apply_id']);
+        $step  = intval($_GET['step']);
+        $member = session_helper::memberid();
+
+        if($apply <=0 && $step <=0 ) {
+            return self::outerr(errcode::ErrParamter,"请求失败");
+        }
+
+        $room_mod = Model('room');
+        $edit = $room_mod->editApply($apply,$member,$step);
+        if(!$edit){
+            return self::outerr(errcode::ErrDB,"提交失败");
+        }
+
+        if($step == 1)
+        {
+            $item = $room_mod->findApply($apply);
+            room\factory_client::instance()->invite($item["room_id"],$member,[$item['member_id']]);
+        }
+
+        return self::outsuccess(null,"操作成功");
+    }
+
+
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     public function share_bonusOp()
     {

+ 6 - 44
mobile/templates/default/talk/homepage_room.php

@@ -18,24 +18,17 @@
 <div class="group_top">
     <div class="group_info">
         <?php $output['tpl']->show_group_header(); ?>
+        <?php $output['tpl']->show_qrcode_btn(); ?>
     </div>
 
     <?php $output['tpl']->show_group_notice(); ?>
+
     <div class="group_handle weui-flex">
-        <div class="weui-flex__item group_bonus">
-            <a href="/mobile/index.php?act=member_talk&op=share_bonus&room_id=<?php echo $output['param']['talk_id'];   ?>">
-                <img src="<?php echo RESOURCE_SITE_URL; ?>/mobile/talk/images/group_bonus.png" alt="">
-            </a>
-        </div>
-        <div class="weui-flex__item group_goods">
-            <img src="<?php echo RESOURCE_SITE_URL; ?>/mobile/talk/images/group_goods.png" alt="">
-        </div>
-        <div class="weui-flex__item group_sport">
-            <img src="<?php echo RESOURCE_SITE_URL; ?>/mobile/talk/images/group_sport.png" alt="">
-        </div>
+        <?php $output['tpl']->show_group_activity(); ?>
     </div>
+
     <div class="group_members weui-flex">
-        <?php $output['tpl']->show_members(); ?>
+    <?php $output['tpl']->show_members(); ?>
     </div>
     <div id="callback"></div>
 </div>
@@ -47,38 +40,7 @@
     <?php $output['tpl']->show_personal_settings(); ?>
 </div>
 
-<div class="weui-cells">
-    <div class="weui-cell weui-cell_switch" href="javascript:;">
-        <div class="weui-cell__bd">
-            <p>置顶聊天</p>
-        </div>
-        <div class="weui-cell__ft">
-            <label for="talk_top" class="weui-switch-cp">
-                <input id="talk_top" class="weui-switch-cp__input" type="checkbox">
-                <div class="weui-switch-cp__box"></div>
-            </label>
-        </div>
-    </div>
-    <div class="weui-cell weui-cell_switch" href="javascript:;">
-        <div class="weui-cell__bd">
-            <p>消息免打扰</p>
-        </div>
-        <div class="weui-cell__ft">
-            <label for="no_disturb" class="weui-switch-cp">
-                <input id="no_disturb" class="weui-switch-cp__input" type="checkbox">
-                <div class="weui-switch-cp__box"></div>
-            </label>
-        </div>
-    </div>
-</div>
-
-<div class="weui-cells">
-    <a class="weui-cell weui-cell_access" href="javascript:;" id="hide_msg">
-        <div class="weui-cell__bd">
-            <p>清空聊天记录</p>
-        </div>
-    </a>
-</div>
+<?php $output['tpl']->show_group_footer(); ?>
 
 <?php $output['tpl']->show_footer_btn(); ?>