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['loadtime'] = time(); if($historyarr)$arr['loadtime'] = strtotime($historyarr[0]['optdt']); $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; $arr['config'] = $dbs->getreims(); $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(); } }