'系统名称', 'url' => '系统URL地址', 'localurl' => '系统本地地址', 'outurl' => '外网地址', 'rootpath' => '系统根目录', 'db_drive' => '操作数据库驱动', 'db_host' => '数据库地址', 'db_name' => '数据库名称', 'version' => '版本', 'phpos' => '服务器', 'phpver' => 'PHP版本', 'mysqlver' => 'mysql版本', 'SERVER_SOFTWARE' => 'web服务器', 'upload_max_filesize' => '最大上传大小', 'post_max_size' => 'POST最大', 'memory_limit' => '使用最大内存', 'curl' => '是否支持CURL', 'max_execution_time' => 'PHP执行超时时间', ); $data = array( 'title' => getconfig('title'), 'url' => getconfig('url'), 'localurl' => getconfig('localurl'), 'taskurl' => getconfig('taskurl'), 'outurl' => getconfig('outurl'), 'xinhukey' => getconfig('xinhukey'), 'db_host' => DB_HOST, 'db_name' => DB_BASE, 'rootpath' => ROOT_PATH, 'db_drive' => getconfig('db_drive'), 'version' => '信呼V'.VERSION.'', 'phpos' => PHP_OS, 'phpver' => PHP_VERSION, 'mysqlver' => $this->db->getsyscount('version'), 'SERVER_SOFTWARE' => $_SERVER['SERVER_SOFTWARE'], 'upload_max_filesize' => ini_get('upload_max_filesize'), 'post_max_size' => ini_get('post_max_size'), 'memory_limit' => ini_get('memory_limit'), 'max_execution_time' => ini_get('max_execution_time').'秒', ); if(!function_exists('curl_init')){ $data['curl'] = '不支持'; }else{ $data['curl'] = '支持'; } $this->returnjson(array( 'fields' => $fields, 'data' => $data, )); } public function getinfoAjax() { $arr['title'] = getconfig('title'); $arr['outurl'] = getconfig('outurl'); $arr['url'] = arrvalue($GLOBALS['_tempconf'],'url'); $arr['localurl'] = getconfig('localurl'); $arr['apptitle'] = getconfig('apptitle'); $arr['platurl'] = getconfig('platurl'); $arr['reimtitle'] = getconfig('reimtitle'); $arr['asynkey'] = getconfig('asynkey'); $arr['openkey'] = getconfig('openkey'); $arr['db_drive'] = getconfig('db_drive'); $arr['xinhukey'] = getconfig('xinhukey'); $arr['bcolorxiang'] = getconfig('bcolorxiang'); $arr['qqmapkey'] = getconfig('qqmapkey'); $arr['asynsend'] = getconfig('asynsend'); $arr['defstype'] = getconfig('defstype','1'); $arr['officeyl'] = getconfig('officeyl'); //文档预览 $arr['officebj'] = getconfig('officebj'); $arr['apptheme'] = getconfig('apptheme'); $arr['officebj_key'] = getconfig('officebj_key'); $arr['useropt'] = getconfig('useropt'); $arr['sqllog'] = getconfig('sqllog') ? '1' : '0'; $arr['debug'] = getconfig('debug') ? '1' : '0'; $arr['reim_show'] = getconfig('reim_show') ? '1' : '0'; $arr['mobile_show'] = getconfig('mobile_show') ? '1' : '0'; $arr['companymode'] = getconfig('companymode') ? '1' : '0'; $arr['isshou'] = $this->isshouquan() ? '1' : '0'; $arr['editpass'] = getconfig('editpass','0'); $arr['asyntest'] = $this->option->getval('asyntest'); $loginyzm = getconfig('loginyzm'); if(!$loginyzm)$loginyzm = '0'; $arr['loginyzm'] = $loginyzm; if(getconfig('systype')=='demo'){ $arr['xinhukey']=''; $arr['officebj_key']=''; } if(!isempt($arr['xinhukey']))$arr['xinhukey'] = substr($arr['xinhukey'],0,5).'*****'.substr($arr['xinhukey'],-5); $this->returnjson($arr); } private function isshouquan() { $key = getconfig('authorkey'); if(!isempt($key) && $this->rock->isjm($key)){ return true; }else{ return false; } } public function savecongAjax() { if(getconfig('systype')=='demo')exit('演示上禁止设置'); if($this->getsession('isadmin')!='1')exit('非管理员不能操作'); $puurl = $this->option->getval('reimpushurlsystem',1); $_confpath = $this->rock->strformat('?0/?1/?1Config.php', ROOT_PATH, PROJECT); $arr = require($_confpath); $title = $this->post('title'); if(!isempt($title))$arr['title'] = $title; $arr['url'] = $this->post('url'); $arr['outurl'] = $this->post('outurl'); $arr['reimtitle'] = $this->post('reimtitle'); $arr['platurl'] = $this->post('platurl'); $apptitle = $this->post('apptitle'); if(!isempt($apptitle))$arr['apptitle'] = $apptitle; $asynkey = $this->post('asynkey'); if(!isempt($asynkey))$arr['asynkey'] = $asynkey; $db_drive = $this->post('db_drive'); if(!isempt($db_drive)){ if($db_drive=='mysql' && !function_exists('mysql_connect'))exit('未开启mysql扩展模块'); if($db_drive=='mysqli' && !class_exists('mysqli'))exit('未开启mysqli扩展模块'); if($db_drive=='pdo' && !class_exists('PDO'))exit('未开启pdo扩展模块'); $arr['db_drive'] = $db_drive; } $arr['localurl'] = $this->post('localurl'); $arr['openkey'] = $this->post('openkey'); $arr['xinhukey'] = $this->post('xinhukey'); if(contain($arr['xinhukey'],'**'))$arr['xinhukey'] = getconfig('xinhukey'); $arr['bcolorxiang'] = $this->post('bcolorxiang'); $arr['officeyl'] = $this->post('officeyl'); $arr['useropt'] = $this->post('useropt'); $arr['editpass'] = $this->post('editpass'); $arr['defstype'] = $this->post('defstype','1'); $arr['officebj'] = $this->post('officebj'); $arr['officebj_key']= $this->post('officebj_key'); $asynsend = $this->post('asynsend'); $arr['asynsend'] = $asynsend; $arr['sqllog'] = $this->post('sqllog')=='1'; $arr['debug'] = $this->post('debug')=='1'; $arr['reim_show'] = $this->post('reim_show')=='1'; $arr['mobile_show'] = $this->post('mobile_show')=='1'; $arr['companymode'] = $this->post('companymode')=='1'; $arr['loginyzm'] = $this->post('loginyzm'); $arr['apptheme'] = $this->post('apptheme'); if($asynsend == '1' && isempt($puurl))exit('未安装或开启服务端不能使用异步发送消息'); $xpd = explode(',', "\\,', ,<,>,*,%,&"); $xpd[]= "\n"; foreach($arr as $k=>$v)if(!is_bool($v))$arr[$k] = str_replace($xpd,'',$v); $smarr['url'] = '系统URL'; $smarr['localurl'] = '本地系统URL,用于服务器上浏览地址'; $smarr['title'] = '系统默认标题'; $smarr['neturl'] = '系统外网地址,用于公网'; $smarr['apptitle'] = 'APP上和手机网页版上的标题'; $smarr['reimtitle'] = 'REIM即时通信上标题'; $smarr['weblogo'] = 'PC客户端上的logo图片'; $smarr['db_host'] = '数据库地址'; $smarr['db_user'] = '数据库用户名'; $smarr['db_pass'] = '数据库密码'; $smarr['db_base'] = '数据库名称'; $smarr['perfix'] = '数据库表名前缀'; $smarr['qom'] = 'session、cookie前缀'; $smarr['highpass'] = '超级管理员密码,可用于登录任何帐号'; $smarr['db_drive'] = '操作数据库驱动有mysql,mysqli,pdo三种'; $smarr['randkey'] = '系统随机字符串密钥'; $smarr['asynkey'] = '这是异步任务key'; $smarr['openkey'] = '对外接口openkey'; $smarr['sqllog'] = '是否记录sql日志保存'.UPDIR.'/sqllog下'; $smarr['asynsend'] = '是否异步发送提醒消息,0同步,1自己服务端异步,2官网VIP用户异步'; $smarr['install'] = '已安装,不要去掉啊'; $smarr['xinhukey'] = '信呼官网key,用于在线升级使用'; $smarr['bcolorxiang'] = '单据详情页面上默认展示线条的颜色'; $smarr['debug'] = '为true调试开发模式,false上线模式'; $smarr['reim_show'] = '首页是否显示REIM'; $smarr['mobile_show'] = '首页是否显示手机版'; $smarr['loginyzm'] = '登录方式:0仅使用帐号+密码,1帐号+密码/手机+验证码,2帐号+密码+验证码,3仅使用手机+验证码'; $smarr['officeyl'] = '文档Excel.Doc预览类型,0自己部署插件,1使用官网支持任何平台'; $smarr['officedk'] = '文件预览打开方式1新窗口打开'; $smarr['useropt'] = '1记录用户操作保存到日志里,空不记录'; $smarr['defstype'] = 'PC后台主题皮肤,可以设置1到34'; $smarr['editpass'] = '用户登录修改密码:0不用修改,1强制用户必须修改'; $smarr['companymode'] = '多单位模式,true就是开启'; $smarr['outurl'] = '这个地址当你内网地址访问时向手机推送消息的地址'; $smarr['officebj'] = '文档在线编辑,1官网提供或者自己部署'; $smarr['officebj_key'] = '文档在线编辑agentkey'; $smarr['apptheme'] = '系统或app的主题颜色'; $str1 = ''; foreach($arr as $k=>$v){ $bz = ''; if(isset($smarr[$k]))$bz=' //'.$smarr[$k].''; if(is_bool($v)){ $v = $v ? 'true' : 'false'; }else{ $v = "'$v'"; } $str1.= " '$k' => $v,$bz\n"; } $str = 'now.'通过[系统→系统工具→系统设置],保存修改了配置文件 return array( '.$str1.' );'; @$bo = file_put_contents($_confpath, $str); if($bo){ echo 'ok'; }else{ echo '保存失败无法写入:'.$_confpath.''; } } public function logbefore($table) { $key = $this->post('key'); $s = ''; if($key != ''){ $s = "and (`type`='$key' or `optname` like '$key%' or `remark` like '$key%' or `web`='$key' or `ip`='$key')"; } return $s; } public function logintokenbefore($table) { $key = $this->post('key'); $s = ''; if($key != ''){ $s = "and (`name` like '%$key%' or `cfrom` like '%$key%' or `web` like '%$key%')"; } return $s; } public function delloginAjax() { $id = c('check')->onlynumber($this->post('id')); m('logintoken')->delete('id in('.$id.')'); backmsg(); } public function dellogAjax() { $id = c('check')->onlynumber($this->post('id')); m('log')->delete('id in('.$id.')'); backmsg(); } public function clearlogAjax() { $lx = (int)$this->get('lx','0'); $where = "`type`='异步队列'"; if($lx==0)$where = '1=1'; m('log')->delete($where); return returnsuccess(); } public function saveautherAjax() { if(getconfig('systype')=='demo')exit('演示上不要操作'); $autherkey = $this->post('key'); $ym = $this->post('ym'); $barr = c('xinhuapi')->authercheck($autherkey, $ym); if($barr['success']){ echo 'ok'; }else{ echo $barr['msg']; } } public function savelixianAjax() { if(getconfig('systype')=='demo')exit('演示上不要操作'); $aukey = $this->post('key'); $ym = $this->post('ym'); $path = 'config/rockauther.php'; if(!file_exists($path))exit('没有下载签授文件到系统上'); $da = require($path); $barr = c('xinhuapi')->autherfile($da, $aukey, $ym); if($barr['success']){ @unlink($path); echo 'ok'; }else{ echo $barr['msg']; } } public function autherAjax() { $aukey = $this->option->getval('auther_aukey'); $use = '1'; $barr = array(); if(isempt($aukey)){ $use = '0'; }else{ $barr['enddt'] = $this->option->getval('auther_enddt'); $barr['yuming']= $this->option->getval('auther_yuming'); $barr['aukey'] = substr($aukey,0,5).'****'.substr($aukey,-5); } $barr['use'] = $use; return returnsuccess($barr); } public function autherdelAjax() { if(getconfig('systype')=='demo')return returnerror('演示上不要操作'); return c('xinhuapi')->autherdel(); } public function tongbudwAjax() { $rows = m('company')->getall('iscreate=1'); foreach($rows as $k=>$rs){ $base = ''.DB_BASE.'_company_'.$rs['num'].''; $this->sevessee($base, 'auther_aukey'); $this->sevessee($base, 'auther_enddt'); $this->sevessee($base, 'auther_yuming'); $this->sevessee($base, 'auther_authkey'); } return '同步成功'; } private function sevessee($base, $key) { $val = $this->option->getval($key); $sql = "update ".$base.".`[Q]option` set `value`='$val',`optdt`='{$this->now}' where `num`='$key'"; $this->db->query($sql, false); } /** * 更多保存设置 */ public function savemoresetAjax() { if(getconfig('systype')=='demo')return '演示不要改'; $stype = (int)$this->post('stype','0'); $msg = 'ok'; if($stype==0)$msg = $this->saveconfig('title,imgcompress,watertype,video_bool,flowchehuitime,saasmode,hoemtimeout,usercache,xiangrecord,beianhao,locallang,savefiletype',',video_bool,'); return $msg; } private function saveconfig($cont, $bsto) { $path = ''.P.'/'.P.'Config.php'; $neir = file_get_contents($path); $zdar = explode(',', $cont); $neira= explode("\n", $neir); $strs = ''; $szida= array(); foreach($neira as $line){ if($line==');')break; $bo = false; foreach($zdar as $fid){ if(contain($line,"'".$fid."'")){ $val = $this->post($fid); if(contain($val,'*****')){ $strs.="".$line."\n"; }else{ $val = $this->rock->xssrepstr($val); $vals = "'".$val."'"; if(contain($bsto,','.$fid.','))$vals = ($val=='1') ? 'true' : 'false'; $strs.=" '".$fid."' => ".$vals.",\n"; } $bo = true; $szida[]=$fid; } } if(!$bo)$strs.="".$line."\n"; } foreach($zdar as $fid){ if(!in_array($fid, $szida)){ $val = $this->post($fid); $strs.=" '".$fid."' => '".$val."',\n"; } } $strs.=');'; $bo = @file_put_contents($path,$strs); if(!$bo)return '无权限写入:'.$path.''; return 'ok'; } public function getmodeAjax() { $modearr = m('mode')->getmodearr('all'); return array( 'modearr' => $modearr ); } public function savemodeAjax() { if(getconfig('systype')=='demo')return '演示不要改'; $dbs = m('mode'); $allnum = $this->post('allnum'); $allarr = explode(',', $allnum); $allstr = "'".str_replace(',',"','", $allnum)."'"; $dbs->update('status=0', "`type`<>'系统' and `num` not in($allstr)"); $dbs->update('status=1', "`num` in($allstr)"); //菜单更新 $menuarr = $dbs->menulist(); $mdb = m('menu'); $cdid = ''; foreach($menuarr as $bh=>$vs){ if($bh=='wxgzh' || $bh=='ding' || $bh=='weixinqy')continue; $zt = 0; if(contain($allstr,"'".$bh."'")){ $zt = 1; $cdid.=','.$vs.''; } $mdb->update('`status`='.$zt.'', '`id` in('.$vs.')'); } $menuarr = $dbs->yinglist(); $mdb = m('im_group'); foreach($menuarr as $bh=>$vs){ $zt = 1; if(!contain($allstr,"'".$bh."'")){ $zt = 0; } $mdb->update('`valid`='.$zt.'', '`id` in('.$vs.')'); } $tdb= m('task'); $hdb= m('homeitems'); $zt = contain($allstr,"'kqdkjl'") ? 1 : 0; $tdb->update("`status`='$zt'", "`fenlei`='考勤'"); $hdb->update("`status`='$zt'", "`num` in('kqdk','kqtotal')"); $zt = contain($allstr,"'userract'") ? 1 : 0; $tdb->update("`status`='$zt'", "`fenlei`='人事'"); $zt = contain($allstr,"'officic'") ? 1 : 0; $hdb->update("`status`='$zt'", "`num` in('officic')"); $zt = contain($allstr,"'meet'") ? 1 : 0; $hdb->update("`status`='$zt'", "`num` in('meet')"); $zt = contain($allstr,"'bianjian'") ? 1 : 0; $hdb->update("`status`='$zt'", "`num` in('bianjian')"); $zt = contain($allstr,"'gong'") ? 1 : 0; $hdb->update("`status`='$zt'", "`num` in('gong')"); return '保存成功'; } }