adminid; $type = $this->post('type'); $gid = (int)$this->post('gid'); $minid = (int)$this->post('minid'); $lastdt = (int)$this->post('lastdt'); $lastdts = ''; if($lastdt>0)$lastdts = date('Y-m-d H:i:s', $lastdt); $arr = m('reim')->getrecord($type, $uid, $gid, $minid, $lastdts); $this->showreturn($arr); } /** * 获取会话的信息 */ public function getreceinforAction() { $uid = $this->adminid; $type = $this->post('type'); $gid = (int)$this->post('gid'); $reimdb = m('reim'); $arr['receinfor'] = $reimdb->getreceinfor($type, $gid); $reimdb->setallyd($type, $uid, $gid); $this->showreturn($arr); } /** * 发消息 */ public function sendinforAction() { $uid = $this->adminid; $type = $this->post('type'); $gid = (int)$this->post('gid'); $lx = 0; if($this->cfrom=='reim')$lx=1; if($type=='group'){ $tos = m('im_groupuser')->rows("`gid`='$gid' and `uid`='$uid'"); if($tos==0)$this->showreturn('','您不在此会话中,不允许发送', 201); } $cont = $this->post('cont'); $cont = $this->jm->base64decode($cont); $cont = str_replace('
','[BR]', $cont); $cont = str_replace(array('<','>'),array('<','>'), $cont); $cont = $this->jm->base64encode(str_replace('[BR]','
',$cont)); $arr = m('reim')->sendinfor($type, $uid, $gid, array( 'optdt' => $this->now, 'cont' => $cont, 'fileid'=> (int)$this->post('fileid') ), $lx); $arr['sendname'] = $this->adminname; $this->showreturn($arr); } /** * 标识已读 */ public function yiduAction() { $id = $this->post('id'); m('reim')->setyd($id, $this->adminid); $this->showreturn($id); } //将会话标识已读 public function yiduallAction() { $type = $this->post('type'); $gid = (int)$this->post('gid'); m('reim')->setallyd($type, $this->adminid, $gid); $this->showreturn(''); } /** * 创建讨论组 */ public function createtaolunAction() { $name = $this->post('title'); $explain= $this->post('content'); $receid = $this->post('receid'); if($name==''||$receid=='')$this->showreturn('','not data',201); $arr = m('reim')->creategroup($name, $receid.','.$this->adminid, 1, $explain); $this->showreturn($arr); } /** * 获取会话上人员 */ public function getgroupuserAction() { $gid = (int)$this->post('gid'); $type = $this->post('type'); $arr = m('reim')->getgroupuser($gid, $type); $this->showreturn($arr); } /** * 下载聊天记录 */ public function downrecordAction() { $minid = floatval($this->post('minid','999999999')); $maxid = floatval($this->post('maxid','0')); $arr = m('reim')->downrecord($this->adminid, $maxid, $minid); $this->showreturn($arr); } /** * 删除历史会话 */ public function delhistoryAction() { $gid = (int)$this->post('gid'); $type = $this->post('type'); $arr = m('reim')->delhistory($type,$gid,$this->adminid); $this->showreturn(''); } //邀请人员 public function yaoqinguidAction() { $gid = (int)$this->post('gid'); $val = $this->post('val'); $ids = m('reim')->adduserchat($gid, $val, true); $msg = 'success'.$ids.''; $this->showreturn($msg); } //修改会话名称 public function editnameAction() { $gid = (int)$this->post('gid'); $val = $this->post('val'); if(isempt($val))return returnerror('不能为空'); m('reim')->editname($gid, $val); $this->showreturn(''); } //邀请人员 public function yaoqingnameAction() { $gid = (int)$this->post('gid'); $val = $this->post('val'); if(isempt($val))return returnerror('不能为空'); $urs = m('admin')->geturs($val); if(!$urs)return returnerror('“'.$val.'”不存在'); $uids = ''.$urs['id'].''; $ids = m('reim')->adduserchat($gid, $uids, true); $msg = 'success'.$ids.''; $this->showreturn('ok'); } //退出讨论组 public function exitgroupAction() { $aid = (int)$this->post('aid'); if($aid==0)$aid = $this->adminid; $gid = (int)$this->post('gid'); m('reim')->exitchat($gid, $aid); $this->showreturn('success'); } public function createlunAction() { $val = $this->getvals('val'); $isadd = m('view')->isadd('huihua', $this->adminid); if(!$isadd)return returnerror('无权限创建会话'); m('reim')->createchat($val, $this->adminid,$this->adminid, $this->adminname,'', true); $this->showreturn('success'); } //清除历史记录 public function clearrecordAction() { $gid = (int)$this->post('gid'); $type = $this->post('type'); $ids = c('check')->onlynumber($this->post('ids')); $day = (int)$this->post('day'); $arr = m('reim')->clearrecord($type,$gid,$this->adminid, $ids, $day); $this->showreturn(''); } //上传头像 public function changefaceAction() { $fid = (int)$this->post('id'); $uid = $this->adminid; $face = m('admin')->changeface($uid, $fid); if(!$face)$this->showreturn('','fail changeface',201); $this->showreturn($face); } //下载文件 public function downfileAction() { $id = (int)$this->post('id'); m('file')->download($id); } //修改会话头像 public function editfaceAction() { $gid = (int)$this->get('gid'); $fileid = (int)$this->get('fileid'); if($gid<=0)return returnerror('error'); m('reim')->editface($gid, $fileid); $this->showreturn(''); } /** * 文件转发发送给对应人员 */ public function forwardAction() { $fid = (int)$this->post('fileid'); $tuid= $this->post('tuid'); $msg = m('reim')->forward($tuid, 'user', $this->post('cont'), $fid); if($msg!='ok')$this->showreturn('', $msg, 201); $this->showreturn(''); } /** * 消息撤回 */ public function chehuimessAction() { $gid = (int)$this->post('gid'); $type = $this->post('type'); $ids = (int)$this->post('ids'); $barr = m('reim')->chehuimess($type, $gid, $ids); if(is_array($barr))$this->showreturn($barr); $this->showreturn('', $barr, 201); } public function saveoutunumAction() { $unum = $this->get('unum'); $num = 'outunum'.$this->adminid.''; $this->option->setval($num, $unum); return returnsuccess(); } /** * 收藏使用 */ public function savestarAction() { $content = $this->post('content'); $kev = $this->post('kev'); $id = (int)$this->post('id','0'); $num = 'reimstar_'.$this->adminid.''; $this->option->setval($num,'收藏消息'); $pid = $this->option->getpids($num); $snum = ''.$num.'_'.$kev.''; $sid = $this->option->getpids($snum); if($sid>0)$id = $sid; $uarr = array( 'value' => $content, 'pid' => $pid, 'num' => $snum, 'optdt' => $this->now, 'optid' => $this->adminid, ); if($id==0){ $id = $this->option->insert($uarr); }else{ $this->option->update($uarr, $id); } return returnsuccess(array( 'id' => $id )); } public function getstarAction() { $num = 'reimstar_'.$this->adminid.''; $pid = $this->option->getpids($num); $data = $this->option->getall('`pid`='.$pid.'','id,value','optdt desc'); return returnsuccess($data); } public function delstarAction() { $id = (int)$this->get('id'); $this->option->delete('`id`='.$id.' and `optid`='.$this->adminid.''); return returnsuccess(); } public function rockkefuAction() { $barr = c('rockkefu')->getdata('openkefu','exists', array( 'user' => $this->userrs['user'] )); $msg = 'err'; if($barr['success'])$msg='ok'; return returnsuccess($msg); } /** * 读取消息情况 */ public function getxqkkdAction() { $barr = array(); $id = (int)$this->get('id'); $mrs = m('im_mess')->getone($id); $type = $mrs['type']; $receuid = $mrs['receuid']; $recearr = explode(',', $receuid); //$barr['mrs'] = $mrs; $yiduids = ''; $widuids = ''; if($type=='user'){ if($mrs['zt']==1){ $yiduids = $mrs['receid']; }else{ $widuids = $mrs['receid']; } }else{ $rows = m('im_messzt')->getall('mid='.$id.''); foreach($rows as $k=>$rs)$widuids.=','.$rs['uid'].''; if($widuids){ $widuids = substr($widuids, 1); $widuar = explode(',', $widuids); foreach($recearr as $sid)if(!in_array($sid, $widuar))$yiduids.=','.$sid.''; if($yiduids)$yiduids = substr($yiduids, 1); }else{ $yiduids = $receuid; } } $ydarr = $wdarr = array(); $dbs = m('admin'); if($yiduids){ $rows = $dbs->getall('`id` in('.$yiduids.')','name,face,id','sort asc'); foreach($rows as $k=>$rs){ $ydarr[] = array( 'name' => $rs['name'], 'id' => $rs['id'], 'face' => $dbs->getface($rs['face']), ); } } if($widuids){ $rows = $dbs->getall('`id` in('.$widuids.')','name,face,id','sort asc'); foreach($rows as $k=>$rs){ $wdarr[] = array( 'name' => $rs['name'], 'id' => $rs['id'], 'face' => $dbs->getface($rs['face']), ); } } $barr['ydarr'] = $ydarr; $barr['wdarr'] = $wdarr; return returnsuccess($barr); } }