323 lines
9.6 KiB
PHP
323 lines
9.6 KiB
PHP
<?php
|
||
class indexreimClassAction extends apiAction
|
||
{
|
||
/**
|
||
* PC客户端首页读取
|
||
*/
|
||
public function indexinitAction()
|
||
{
|
||
$viewobj = m('view');
|
||
$dbs = m('reim');
|
||
$dba = m('admin');
|
||
$gtype = $this->rock->get('gtype');
|
||
$udarr = m('dept')->getdeptuserdata();
|
||
$userarr = $udarr['uarr'];
|
||
$deptarr = $udarr['darr'];
|
||
|
||
$grouparr = $dbs->getgroup($this->adminid);
|
||
$agentarr = $dbs->getagent($this->adminid);
|
||
$historyarr = $dbs->gethistory($this->adminid);
|
||
$modearr = array();
|
||
|
||
if(isempt($gtype)){
|
||
$applyarr = m('mode')->getmoderows($this->adminid,'and islu=1');
|
||
foreach($applyarr as $k=>$rs){
|
||
if(!$viewobj->isadd($rs, $this->adminid))continue;
|
||
$modearr[]=array('type'=>$rs['type'],'num'=>$rs['num'],'name'=>$rs['name']);
|
||
}
|
||
}
|
||
|
||
$arr['deptjson'] = json_encode($deptarr);
|
||
$arr['userjson'] = json_encode($userarr);
|
||
$arr['groupjson'] = json_encode($grouparr);
|
||
$arr['agentjson'] = json_encode($agentarr);
|
||
$arr['historyjson'] = json_encode($historyarr);
|
||
$arr['modearr'] = $modearr;
|
||
$arr['config'] = $dbs->getreims();
|
||
$arr['loaddt'] = $this->now;
|
||
$arr['ip'] = $this->ip;
|
||
$arr['editpass'] = $dba->iseditpass($this->adminid);
|
||
$arr['companyinfo'] = $dba->getcompanyinfo($this->adminid, 1);
|
||
$arr['onlinearr'] = $this->onlinearr();
|
||
$arr['outunum'] = $this->option->getval('outunum'.$this->adminid.'');
|
||
$arr['outgroupopen']= $this->option->getval('outgroupopen'.$this->adminid.'');
|
||
if(getconfig('systype')=='demo'){
|
||
$arr['outgroupopen'] = 'close';
|
||
$arr['outunum'] = 'y4rwlnabc';
|
||
}
|
||
$this->rock->savesession(array('homestyle' => 'rock'));
|
||
|
||
|
||
return returnsuccess($arr);
|
||
}
|
||
|
||
|
||
//在线情况读取
|
||
private function onlinearr()
|
||
{
|
||
$time = date('Y-m-d H:i:s', time()-6*60);
|
||
$rows = m('login')->getall("`online`=1 and ((`ispush`=1) or (`cfrom`='reim' and moddt>='$time'))",'uid,ispush,web,cfrom');
|
||
$onlinearr = array();
|
||
foreach($rows as $k=>$rs){
|
||
$uid = $rs['uid'];
|
||
if(!isset($onlinearr[$uid]))$onlinearr[$uid]=array('uid'=>$uid,'reim'=>0,'mobile'=>0,'web'=>'');
|
||
if($rs['cfrom']=='reim')$onlinearr[$uid]['reim'] = 1;
|
||
if($rs['ispush']=='1'){
|
||
$onlinearr[$uid]['mobile'] = 1;
|
||
$onlinearr[$uid]['web'] = $rs['web'];
|
||
}
|
||
}
|
||
return $onlinearr;
|
||
}
|
||
|
||
/**
|
||
* REIM的初始化
|
||
*/
|
||
public function reiminitAction()
|
||
{
|
||
$dbs = m('reim');
|
||
$dba = m('admin');
|
||
$udarr = m('dept')->getdeptuserdata();
|
||
$userarr = $udarr['uarr'];
|
||
$deptarr = $udarr['darr'];
|
||
|
||
$grouparr = $dbs->getgroup($this->adminid);
|
||
$historyarr = $dbs->gethistory($this->adminid);
|
||
$agentarr = $dbs->getagent($this->adminid);
|
||
|
||
$arr['deptjson'] = json_encode($deptarr);
|
||
$arr['userjson'] = json_encode($userarr);
|
||
$arr['groupjson'] = json_encode($grouparr);
|
||
$arr['historyjson'] = json_encode($historyarr);
|
||
$arr['agentjson'] = json_encode($agentarr);
|
||
$arr['config'] = $dbs->getreims();
|
||
$arr['loaddt'] = $this->now;
|
||
$arr['ip'] = $this->ip;
|
||
$arr['editpass'] = $dba->iseditpass($this->adminid);
|
||
$arr['companyinfo'] = $dba->getcompanyinfo($this->adminid, 1);
|
||
|
||
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
/**
|
||
* 会话列表记录
|
||
*/
|
||
public function gethistoryAction()
|
||
{
|
||
$arr = m('reim')->gethistory($this->adminid);
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
/**
|
||
* 最新app读取通信地址
|
||
*/
|
||
public function reimconfigAction()
|
||
{
|
||
$arr['config'] = m('reim')->getreims();
|
||
$type = $this->option->getval('reimservertype','0');
|
||
$appwx = $this->option->getval('reimappwxsystem','0');
|
||
if($type=='0' || $appwx=='0'){//非nodejs版本就不要
|
||
$arr['config']['wsurl'] = '';
|
||
$arr['config']['recid'] = '';
|
||
}
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
/**
|
||
* 手机网页版读取,最新webapp的
|
||
*/
|
||
public function mwebinitAction()
|
||
{
|
||
$dbs = m('reim');
|
||
$dba = m('admin');
|
||
$agentarr = $dbs->getappagent($this->adminid);
|
||
$historyarr = $dbs->gethistory($this->adminid);
|
||
|
||
$arr['agentjson'] = json_encode($agentarr['rows']);
|
||
$arr['historyjson'] = json_encode($historyarr);
|
||
$arr['loaddt'] = $this->now;
|
||
$arr['loadtime'] = time();
|
||
if($historyarr)$arr['loadtime'] = strtotime($historyarr[0]['optdt']);
|
||
$arr['editpass'] = $dba->iseditpass($this->adminid);
|
||
$arr['companyinfo'] = $dba->getcompanyinfo($this->adminid, 1);
|
||
|
||
|
||
//读取app首页显示图片,从公告和新闻上读取
|
||
$arr['myhomenum'] = '';
|
||
if($this->isshowshouye('appsy_yyshow'))$arr['myhomenum'] = $this->option->getval('yinghomeshow_'.$this->adminid.'');//我常用的
|
||
|
||
$silderarr = array();
|
||
if($this->isshowshouye('appsy_ggshow')){
|
||
$sildergong = m('flow')->initflow('gong')->getflowrows($this->adminid, 'my', 5, " and `appxs`=1");
|
||
foreach($sildergong as $k=>$rs){
|
||
if(isempt($rs['fengmian']))continue;
|
||
$silderarr[] = array(
|
||
'src' => $this->rock->gethttppath($rs['fengmian']),
|
||
'title' => $rs['title'],
|
||
'url' => 'task.php?a=x&num=gong&mid='.$rs['id'].''
|
||
);
|
||
}
|
||
}
|
||
if($this->isshowshouye('appsy_xwshow','否')){
|
||
$sildernews = m('flow')->initflow('news')->getflowrows($this->adminid, 'my', 5, " and `appxs`=1");
|
||
foreach($sildernews as $k=>$rs){
|
||
if(isempt($rs['fengmian']))continue;
|
||
$silderarr[] = array(
|
||
'src' => $this->rock->gethttppath($rs['fengmian']),
|
||
'title' => $rs['title'],
|
||
'url' => 'task.php?a=x&num=news&mid='.$rs['id'].''
|
||
);
|
||
}
|
||
}
|
||
|
||
$arr['silderarr'] = $silderarr;
|
||
$arr['outunum'] = $this->option->getval('outunum'.$this->adminid.'');
|
||
$arr['outgroupopen'] = $this->option->getval('outgroupopen'.$this->adminid.'');
|
||
$arr['tonghuabo'] = getconfig('video_bool') ? '1' : '2';//是否开启音视频
|
||
$arr['lxrshow'] = ($this->option->getval('appsy_lxrshow')!='否') ? 1 : 2;
|
||
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
private function isshowshouye($lx, $mr='是')
|
||
{
|
||
$val = $this->option->getval($lx);
|
||
if(isempt($val))$val=$mr;
|
||
return $val=='是';
|
||
}
|
||
|
||
public function ldataAction()
|
||
{
|
||
$loaddt = $this->rock->jm->base64decode($this->post('loaddt'));
|
||
if($loaddt && !c('check')->isdatetime($loaddt))$loaddt='';
|
||
$type = $this->post('type','history');
|
||
$dbs = m('reim');
|
||
$json = array();
|
||
if($type=='history')$json = $dbs->gethistory($this->adminid, $loaddt);
|
||
if($type=='group')$json = $dbs->getgroup($this->adminid);
|
||
if($type=='dept')$json = m('dept')->getdata();
|
||
if($type=='user')$json = m('admin')->getuser();
|
||
if($type=='agent')$json = $dbs->getagent($this->adminid);
|
||
if($type=='config')$json = m('reim')->getreims();
|
||
|
||
$arr['json'] = json_encode($json);
|
||
$arr['loaddt'] = $this->now;
|
||
$arr['ip'] = $this->ip;
|
||
$arr['type'] = $type;
|
||
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
|
||
public function indexupgetAction()
|
||
{
|
||
$historyarr = m('reim')->gethistory($this->adminid);
|
||
$arr['historyjson'] = json_encode($historyarr);
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
public function changewxtxAction()
|
||
{
|
||
$tx = (int)$this->post('tx','1');
|
||
m('admin')->update('wxtx='.$tx.'', $this->adminid);
|
||
$this->showreturn('');
|
||
}
|
||
|
||
public function showmyinfoAction()
|
||
{
|
||
$dbs = m('admin');
|
||
$arr = $dbs->getone($this->adminid,'`id`,`deptallname`,`ranking`,`email`,`tel`,`apptx`,`face`,`name`,`user`,`mobile`');
|
||
if(!$arr)$this->showreturn('','not user', 201);
|
||
$arr['face'] = $dbs->getface($arr['face']);
|
||
$arr['admintoken'] = $this->admintoken;
|
||
$arr['companyinfo'] = $dbs->getcompanyinfo($this->adminid, 1);
|
||
$arr['companymode'] = ISMORECOM;
|
||
if(m('reim')->installwx(3)){
|
||
$bdwx = m('wouser')->getone('`uid`='.$this->adminid.'','nickname,headimgurl');
|
||
$arr['bdwx'] = $bdwx;
|
||
}
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
public function wxbdjcAction()
|
||
{
|
||
m('wouser')->update('`uid`=0','`uid`='.$this->adminid.'');
|
||
$this->showreturn('');
|
||
}
|
||
|
||
//同步微信上头像
|
||
public function tongbufaceAction()
|
||
{
|
||
$reim = m('reim');
|
||
if($reim->installwx(1)){
|
||
$barr = m('weixinqy:user')->anayface($this->userrs['user'], true);
|
||
if($barr['errcode'] != 0)$this->showreturn('',$barr['msg'],202);
|
||
$this->showreturn($barr);
|
||
}else{
|
||
$this->showreturn('','没部署企业微信',201);
|
||
}
|
||
}
|
||
|
||
public function loadinfoAction()
|
||
{
|
||
$type = $this->get('type');
|
||
$receid = $this->get('receid');
|
||
$arr = array();
|
||
if($type=='user'){
|
||
$arr = m('admin')->getuser(0, $receid);
|
||
}
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
//判断是否有最新历史信息
|
||
public function loadhitAction()
|
||
{
|
||
$time = $this->get('time');
|
||
$arr['loadtime'] = $time;
|
||
$optdt = date('Y-m-d H:i:s', $time);
|
||
$arr['total'] = 0;
|
||
$historyarr = m('reim')->gethistory($this->adminid, $optdt);
|
||
$arr['rows'] = $historyarr;
|
||
if($historyarr)$arr['loadtime'] = strtotime($historyarr[0]['optdt']);
|
||
|
||
$this->showreturn($arr);
|
||
}
|
||
|
||
//设置常应用
|
||
public function shecyyAction()
|
||
{
|
||
$yynum = $this->get('yynum');
|
||
$myyyid= $this->option->getval('yinghomeshow_'.$this->adminid.'');
|
||
$yarrs = array();
|
||
$iscy = 0;
|
||
if(isempt($myyyid)){
|
||
$yarrs[]= $yynum;
|
||
$iscy = 1;
|
||
}else{
|
||
$yarrs = explode(',', $myyyid);
|
||
if(in_array($yynum, $yarrs)){
|
||
$iscy = 0;
|
||
foreach($yarrs as $k1=>$v1)if($v1==$yynum)unset($yarrs[$k1]);
|
||
}else{
|
||
$iscy = 1;
|
||
$yarrs[]= $yynum;
|
||
}
|
||
}
|
||
$myyyid = join(',', $yarrs);
|
||
$this->option->setval('yinghomeshow_'.$this->adminid.'', $myyyid);
|
||
$msg = '已设置首页显示';
|
||
if($iscy==0)$msg = '已取消首页显示';
|
||
$this->showreturn(array(
|
||
'iscy' => $iscy,
|
||
'msg' => $msg,
|
||
));
|
||
}
|
||
|
||
public function openoutqunAction()
|
||
{
|
||
$isop = $this->get('isop');
|
||
$this->option->setval('outgroupopen'.$this->adminid.'', $isop);
|
||
return returnsuccess();
|
||
}
|
||
} |