| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- <?php
- // +----------------------------------------------------------------------
- // | Fanwe 方维直播系统
- // +----------------------------------------------------------------------
- // | Copyright (c) 2011 http://www.fanwe.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Author: 云淡风轻(1956838968@qq.com)
- // +----------------------------------------------------------------------
- class FamilyAction extends CommonAction
- {
- protected static function str_trim($str)
- {
- $str = preg_replace("@<script(.*?)</script>@is", "", $str);
- $str = preg_replace("@<iframe(.*?)</iframe>@is", "", $str);
- $str = preg_replace("@<style(.*?)</style>@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 "<pre>";
- 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;$i<count($voList);$i++)
- {
- $voList[$i]['time'] = to_date($voList[$i]['time']);
- $voList[$i]['nick_name'] = emoji_decode($voList[$i]['nick_name']);
- }
- $this->assign ( '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;
- }
- }
|