@is", "", $str); $str = preg_replace("@@is", "", $str); $str = preg_replace("@@is", "", $str); return preg_replace("@<(.*?)>@is", "", $str); } public function index() { $where = 'f.user_id = u.id'; if (isset($_REQUEST['name'])) { $where .= ' and f.name like \'%' . addslashes($_REQUEST['name']) . '%\''; } if (isset($_REQUEST['nick_name'])) { $where .= ' and u.nick_name like \'%' . addslashes($_REQUEST['nick_name']) . '%\''; } if ($_REQUEST['begin_time']) { $where .= ' and f.create_time>=' . strtotime($_REQUEST['begin_time']); } if ($_REQUEST['end_time']) { $where .= ' and f.create_time<=' . strtotime($_REQUEST['end_time']); } if (!isset($_REQUEST['status'])) { $_REQUEST['status'] = -1; } if ($_REQUEST['status'] != -1) { $where .= ' and f.status=' . intval($_REQUEST['status']); } $model = M('family'); $table = DB_PREFIX .'family f,'.DB_PREFIX .'user u'; $count = $model->table($table)->where($where)->count(); $p = new Page($count, $listRows = 20); if ($count) { $field = 'f.*,u.nick_name'; $list = $model->table($table)->where($where)->field($field)->order('f.id desc')->limit($p->firstRow . ',' . $p->listRows)->select(); foreach ($list as $key => $value) { $list[$key]['create_time'] = to_date($value['create_time']); $list[$key]['nick_name'] = emoji_decode($value['nick_name']); if($list[$key]['logo'] !=''){ $list[$key]['logo'] = get_spec_image($value['logo']); } //ljz //if(defined('OPEN_FAMILY_JOIN')&&OPEN_FAMILY_JOIN==1){ //统计家族总人数 $f_id = $value['id']; $f_table = DB_PREFIX .'user'; $f_where = ' family_id = '.$f_id; $list[$key]['nums'] = $model->table($f_table)->where($f_where)->count(); //} } } $this->assign("page", $p->show()); $this->assign("list", $list); $this->display(); } public function edit() { $id = intval($_REQUEST['id']); $model = M('family'); $table = DB_PREFIX .'family f,'.DB_PREFIX .'user u'; $field = 'f.*,u.nick_name'; $where = 'f.user_id = u.id and f.id=' . $id; $family = $model->table($table)->where($where)->field($field)->find(); if ($family) { $family['create_time'] = to_date($family['create_time']); $family['logo'] = get_spec_image($family['logo']); } $this->assign('vo', $family); $this->display(); } public function view() { $id = intval($_REQUEST['id']); $model = M('family'); $field = 'name'; $where = 'id=' . $id; $family = $model->where($where)->field($field)->find(); //修改了判定,不需要从家族申请表中查询 ljz if((defined('OPEN_FAMILY_JOIN')&&OPEN_FAMILY_JOIN==1)){ $table = DB_PREFIX .'family f,'.DB_PREFIX .'user u'; $where = 'u.family_id =f.id and f.id ='.$id ; $count = $model->table($table)->where($where)->count(); $p = new Page($count, $listRows = 20); if ($count) { $field = 'f.*,u.nick_name,u.id,u.head_image,f.name'; $list = $model->table($table)->where($where)->field($field)->order('f.id desc')->limit($p->firstRow . ',' . $p->listRows)->select(); foreach ($list as $key => $value) { $list[$key]['create_time'] = to_date($value['create_time']); $list[$key]['head_image'] = get_spec_image($value['head_image']); $list[$key]['nick_name'] = emoji_decode($value['nick_name']); } } $this->assign('family_seek', 0);//搜索功能 0关闭 }else{ $table = DB_PREFIX .'family f,'.DB_PREFIX .'user u,'.DB_PREFIX .'family_join j'; $where = 'u.id =j.user_id and f.id ='.$id.' and j.family_id='.$id ; if (!isset($_REQUEST['status'])) { $_REQUEST['status'] = -1; } if ($_REQUEST['status'] != -1) { $where .= ' and j.status=' . intval($_REQUEST['status']); } else { $where .= ' and j.status<3'; } $count = $model->table($table)->where($where)->count(); $p = new Page($count, $listRows = 20); if ($count) { $field = 'f.*,u.nick_name,u.id,u.head_image,j.family_id,j.`status`,f.name'; $list = $model->table($table)->where($where)->field($field)->order('f.id desc')->limit($p->firstRow . ',' . $p->listRows)->select(); foreach ($list as $key => $value) { $list[$key]['create_time'] = to_date($value['create_time']); $list[$key]['head_image'] = get_spec_image($value['head_image']); $list[$key]['nick_name'] = emoji_decode($value['nick_name']); } } $this->assign('family_seek', 1);//搜索功能 1开启 } $this->assign('id', $id); $this->assign('family', $family); $this->assign('list', $list); $this->assign("page", $p->show()); $this->display(); } public function update() { $id = intval($_REQUEST['id']); $status = intval($_REQUEST['status']); $memo = self::str_trim($_REQUEST['memo']); $manifesto = strim($_REQUEST['manifesto']); $name = strim($_REQUEST['name']); $this->assign("jumpUrl", u(MODULE_NAME . "/edit", array("id" => $id))); if (!$id) { $this->error("参数错误"); } $mod = M('family'); $family = $mod->field('name,user_id,status')->where("id=" . $id)->find(); $log_info = $family['name']; $user_id = $family['user_id']; $status = $family['status'] == '1' ? 1 : $status; $res = $mod->save(array('memo' => $memo,'name'=>$name,'manifesto'=>$manifesto,'status' => $status, 'id' => $id)); if (false === $res) { //错误提示 save_log($log_info . L("UPDATE_FAILED"), 0); $this->error(L("UPDATE_FAILED"), 0, $log_info . L("UPDATE_FAILED")); } else { //成功提示 clear_auto_cache("banner_list"); load_auto_cache("banner_list"); save_log($log_info . L("UPDATE_SUCCESS"), 1); $this->success(L("UPDATE_SUCCESS")); } } public function join() { $id = intval($_REQUEST['id']); $model = M('family_join'); $count = $model->where(array('id' => $id))->count(); $p = new Page($count, $listRows = 20); if ($count) { $table = DB_PREFIX .'family_join j,'.DB_PREFIX.'user u'; $where = 'j.user_id = u.id'; $field = 'j.*,u.nick_name'; $list = $model->table($table)->where($where)->field($field)->order('j.id desc')->limit($p->firstRow . ',' . $p->listRows)->select(); } $this->assign("page", $p->show()); $this->assign("list", $list); $this->display(); } public function updateJoin() { $id = intval($_REQUEST['id']); $status = intval($_REQUEST['status']); $memo = self::str_trim($_REQUEST['memo']); $this->assign("jumpUrl", u(MODULE_NAME . "/editJoin", array("id" => $data['id']))); if (!$id) { $this->error("参数错误"); } $log_info = M('family_join')->where("id=" . $id)->getField("id"); $res = M('family_join')->save($data); if (false === $res) { //错误提示 save_log($log_info . L("UPDATE_FAILED"), 0); $this->error(L("UPDATE_FAILED"), 0, $log_info . L("UPDATE_FAILED")); } else { //成功提示 clear_auto_cache("banner_list"); load_auto_cache("banner_list"); save_log($log_info . L("UPDATE_SUCCESS"), 1); $this->success(L("UPDATE_SUCCESS")); } } //解散家族1 public function dissolve(){ $id = intval($_REQUEST['id']); if (!$id) { $this->error("参数错误"); } $model = M('family'); //$family_member =$GLOBALS['db']->getOne( "select count(*) from ".DB_PREFIX."family_join where status=1 and family_id=".$id); //ljz 判断家族是否还有其他人员 $family_member1 =$GLOBALS['db']->getAll( "select count(*) as zh from ".DB_PREFIX."user where family_id=".$id); $family_member = $family_member1[0]['zh']; if (intval($family_member) > 1){ $this->error("家族还有未退出的成员"); }else{ $data = array(); $data['family_id'] = 0; $data['family_chieftain'] = 0; $user_id = $model->where('id='.$id)->getField('user_id'); M('user')->where('id='.$user_id)->save($data); fanwe_require(APP_ROOT_PATH . 'mapi/lib/redis/BaseRedisService.php'); fanwe_require(APP_ROOT_PATH . 'mapi/lib/redis/UserRedisService.php'); $user_redis = new UserRedisService(); $user_redis->update_db($user_id, array('family_id' => 0, 'family_chieftain' => 0)); //将请求加入家族的申请设为拒绝 M('family_join')->where('status=0 and family_id='.$id)->setField("status",2); $res = $model->where("id=".$id)->delete(); $log_info = $id; if ($res === false) { //错误提示 save_log($log_info . "家族解散失败", 0); $this->error(L("家族解散失败"), 0, $log_info . L("家族解散失败")); } else { //成功提示 save_log($log_info . L("家族解散成功"), 1); $this->success(L("家族解散成功")); } } } public function test() { fanwe_require(APP_ROOT_PATH . 'mapi/lib/redis/BaseRedisService.php'); fanwe_require(APP_ROOT_PATH . 'mapi/lib/redis/UserRedisService.php'); $user_redis = new UserRedisService(); $res = $user_redis->getRow_db(100990); echo "
";
        var_dump($res);
    }

    //公会长收益统计
    public function statistics()
    {
        $map = $this->com_search(); //获取时间搜索状态

        $id = strim($_REQUEST['id']);   //公会ID
        $sql = "SELECT user_id from ".DB_PREFIX."family where id = ".$id;    
        $chief_id = $GLOBALS['db']->getOne($sql);//获取公会长ID
        $user_name = emoji_decode($GLOBALS['db']->getOne("select nick_name from ".DB_PREFIX."user where id = ".$chief_id));//会长昵称
        $this->assign("chiefid",$user_name);
        /*admin_ajax_return($chief_id);*/

        $parameter = '';
        $sql_w = '';
        //查看是否有进行时间搜索
        if($map['start_time'] != '' && $map['end_time'] != ''){
            $parameter.=" log_time between '". $map['start_time'] . "' and '". $map['end_time'] ."'&";
            $sql_w .=" log_time between '". $map['start_time']. "' and '". $map['end_time'] ."' and ";     
        }  
        //查看是否有进行贡献会员的ID或昵称搜索
        if(strim($_REQUEST['mid'])!=''){
            $sql_w .= " u2.id like '%".strim($_REQUEST['mid'])."%' and ";   
        } 
        if(strim($_REQUEST['nick_name'])!=''){
            $sql_w .= " nick_name like '%".strim($_REQUEST['nick_name'])."%' and ";   
        } 

        $m_config =  load_auto_cache("m_config");//初始化手机端配置
        if($m_config['society_pattern'] == 1){
            $utype = 8;
        }elseif ($m_config['society_pattern'] == 2){
            $utype = 10;
        }else{
            $utype = 4;
        }

        $model = D ();

        $sql_str = "SELECT u2.id as mid,nick_name,u1.ticket,u1.log_time as time "."FROM ".DB_PREFIX."user_log u1,".DB_PREFIX."user u2 where u1.contribution_id = u2.id and u1.type = ".$utype." and u1.user_id = ".$chief_id;
        
        $sql_str .= " and ".$sql_w." 1=1 ";

        /*if(strim($_REQUEST['name'])!=''){
            admin_ajax_return($sql_str);
        } */

        $voList = $this->_Sql_list($model, $sql_str, "&".$parameter,'u1.log_time');

        for($i=0;$iassign ( 'list', $voList );

        //获取总量与总金额
        $sql_count = "SELECT sum(u1.ticket) as count "."FROM ".DB_PREFIX."user_log u1,".DB_PREFIX."user u2 where u1.contribution_id = u2.id and u1.type = ".$utype." and u1.user_id = ".$chief_id;
        $sql_count .= " and ".$sql_w." 1=1 ";
        /*admin_ajax_return($sql_count);*/

        $count = $GLOBALS['db']->getOne($sql_count);
        
        $this->assign("count",$count);
        $this->display ();
        return;
    }

}