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);
}
}