发布v2.6.8版本
This commit is contained in:
@@ -67,7 +67,7 @@ class beifenClassAction extends Action
|
||||
if(getconfig('systype')=='demo')exit('演示请勿操作');
|
||||
$rows = array();
|
||||
$folder = $this->post('folder');
|
||||
$folder = str_replace('../','', $folder);
|
||||
$folder = str_replace(array('..','/'),'', $folder);
|
||||
$path = ''.UPDIR.'/data/'.$folder.'';
|
||||
$carr = c('file')->getfilerows($path);
|
||||
foreach($carr as $k=>$rs){
|
||||
@@ -242,4 +242,94 @@ class beifenClassAction extends Action
|
||||
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
|
||||
public function fenbiaoAjax()
|
||||
{
|
||||
$allfields = $this->db->getallfields('[Q]flow_set');
|
||||
if(!in_array('logstr', $allfields)){
|
||||
$bool = $this->db->query("alter table `[Q]flow_set` add `logstr` varchar(500) DEFAULT NULL COMMENT '操作记录分表';", false);
|
||||
if(!$bool)return '无法操作:'.$this->db->error().'';
|
||||
}
|
||||
|
||||
$obj = m('mode');
|
||||
$rows = $obj->getall('1=1');
|
||||
$atable = array();
|
||||
$count = m('flow_log')->rows('1=1');
|
||||
if($count < 10000)return '操作记录少于1W条,不需要分表';
|
||||
|
||||
$alltabls = $this->db->getalltable();
|
||||
$barr = $this->createbiao(1, $alltabls);
|
||||
if(!$barr['success'])return $barr['msg'];
|
||||
$biao = $barr['data'];
|
||||
if(1==1)foreach($rows as $k=>$rs){
|
||||
$tab = $rs['table'];
|
||||
if(!isset($atable[$tab])){
|
||||
$max = m($tab)->getmou('max(id) as ids', 'id>0');
|
||||
if(!$max)$max = 0;
|
||||
$max++;
|
||||
$atable[$tab] = $max;
|
||||
}
|
||||
$max = $atable[$tab];
|
||||
|
||||
$logstr = $rs['logstr'];
|
||||
if(isempt($logstr)){
|
||||
$logarr = array();
|
||||
}else{
|
||||
$logarr = json_decode($logstr, true);
|
||||
}
|
||||
if(!isset($logarr[$max]))$logarr[$max] = $biao;
|
||||
$logstr = json_encode($logarr);
|
||||
|
||||
$obj->update(array(
|
||||
'logstr' => $logstr
|
||||
), $rs['id']);
|
||||
}
|
||||
|
||||
//更新
|
||||
$sql = "update `[Q]file` set `mtype`='flow_log".$biao."' where `mtype`='flow_log'";
|
||||
$bool = $this->db->query($sql, false);
|
||||
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
public function createbiao($xu, $alltabls)
|
||||
{
|
||||
$biao = 'a'.$xu.'';
|
||||
$lognab = 'flow_log'.$biao.'';
|
||||
if(in_array(''.PREFIX.''.$lognab.'',$alltabls))return $this->createbiao($xu+1, $alltabls);
|
||||
|
||||
$sql = 'ALTER TABLE `[Q]flow_log` RENAME TO `[Q]'.$lognab.'`;';
|
||||
$bool = $this->db->query($sql, false);
|
||||
if(!$bool)return returnerror('无法操作:'.$this->db->error().'');
|
||||
|
||||
$sql = "CREATE TABLE `[Q]flow_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`table` varchar(50) DEFAULT NULL,
|
||||
`mid` int(11) DEFAULT NULL,
|
||||
`status` tinyint(4) DEFAULT '0' COMMENT '1通过',
|
||||
`statusname` varchar(20) DEFAULT NULL COMMENT '状态名称',
|
||||
`name` varchar(50) DEFAULT NULL COMMENT '进程名称',
|
||||
`courseid` int(11) DEFAULT NULL,
|
||||
`optdt` datetime DEFAULT NULL COMMENT '操作时间',
|
||||
`explain` varchar(500) DEFAULT NULL COMMENT '说明',
|
||||
`ip` varchar(100) DEFAULT NULL,
|
||||
`web` varchar(100) DEFAULT NULL COMMENT '浏览器',
|
||||
`checkname` varchar(50) DEFAULT NULL COMMENT '审核人',
|
||||
`checkid` int(11) DEFAULT '0' COMMENT '审核人id',
|
||||
`modeid` smallint(6) DEFAULT NULL COMMENT '@模块Id',
|
||||
`color` varchar(10) DEFAULT NULL,
|
||||
`valid` tinyint(1) DEFAULT '1',
|
||||
`step` smallint(6) DEFAULT '0' COMMENT '步骤号',
|
||||
`qmimg` text COMMENT '签名的图片base64',
|
||||
`iszb` tinyint(1) DEFAULT '0' COMMENT '是否转办记录',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `table` (`table`,`mid`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='单据操作记录';
|
||||
";
|
||||
$bool = $this->db->query($sql, false);
|
||||
if(!$bool)return returnerror('无法创建表:'.$this->db->error().'');
|
||||
|
||||
return returnsuccess($biao);
|
||||
}
|
||||
}
|
||||
@@ -61,6 +61,24 @@ $(document).ready(function(){
|
||||
o1.disabled=false;
|
||||
}
|
||||
});
|
||||
},
|
||||
fenbiao:function(o){
|
||||
js.confirm('却要现在就分表了吗?',function(jg){
|
||||
if(jg=='yes'){
|
||||
c.fenbiaos(o);
|
||||
}
|
||||
});
|
||||
},
|
||||
fenbiaos:function(o){
|
||||
js.loading('处理中...');
|
||||
js.ajax(js.getajaxurl('fenbiao','{mode}','{dir}'),{}, function(s){
|
||||
js.unloading();
|
||||
if(s=='ok'){
|
||||
js.msgok('处理完成');
|
||||
}else{
|
||||
js.msg('msg', s);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
js.initbtn(c);
|
||||
@@ -86,4 +104,8 @@ $(document).ready(function(){
|
||||
<div><button click="deluser" class="btn btn-danger" type="button">初始化部门和用户</button></div>
|
||||
<div class="tishi">初始化部门和用户,将会删除你创建的用户和部门,为了防止误删只能使用一次,请备份好数据谨慎使用!</div>
|
||||
|
||||
<div class="blank20"></div>
|
||||
<div><button click="fenbiao" class="btn btn-default" type="button">flow_log单据操作记录分表</button></div>
|
||||
<div class="tishi">单据操作记录表单据越多,数据越大优化做好分表,建议超过5W条记录在分表,当前总记录<?=m('flow_log')->rows('1=1')?>条</div>
|
||||
|
||||
</div>
|
||||
@@ -128,7 +128,6 @@ class cogClassAction extends Action
|
||||
$arr['url'] = $this->post('url');
|
||||
$arr['outurl'] = $this->post('outurl');
|
||||
$arr['reimtitle'] = $this->post('reimtitle');
|
||||
$arr['qqmapkey'] = $this->post('qqmapkey');
|
||||
$arr['platurl'] = $this->post('platurl');
|
||||
|
||||
$apptitle = $this->post('apptitle');
|
||||
|
||||
@@ -24,6 +24,11 @@ $(document).ready(function(){
|
||||
text:'在线状态',dataIndex:'online',type:'checkbox',sortable:true
|
||||
},{
|
||||
text:'最后在线',dataIndex:'moddt',sortable:true
|
||||
},{
|
||||
text:'极光',dataIndex:'regid',renderer:function(v){
|
||||
var str=' ';if(v)str='<font color=green>已注册</font>';
|
||||
return str;
|
||||
}
|
||||
},{
|
||||
text:'ID',dataIndex:'id',sortable:true
|
||||
}],
|
||||
|
||||
@@ -5,7 +5,6 @@ $(document).ready(function(){
|
||||
var barr = {};
|
||||
var c={
|
||||
init:function(){
|
||||
this.loadys();
|
||||
js.ajax(js.getajaxurl('getinfo','{mode}','{dir}'),{},function(a){
|
||||
barr = a;
|
||||
for(var i in a)$('#'+i+'_{rand}').val(a[i]);
|
||||
@@ -14,16 +13,6 @@ $(document).ready(function(){
|
||||
if(a.officebj=='1')$('#divofficebj_key').show();
|
||||
},'get,json');
|
||||
},
|
||||
loadys:function(){
|
||||
if(!get('defstype_{rand}'))return;
|
||||
var ysarr = 'cerulean,cosmo,cyborg,darkly,flatly,journal,lumen,paper,readable,sandstone,simplex,slate,spacelab,superhero,united,xinhu,yeti';
|
||||
var sear = ysarr.split(','),i,len=sear.length,das = [];
|
||||
for(i=0;i<len;i++){
|
||||
das.push({name:sear[i],value:i+1});
|
||||
das.push({name:sear[i]+'_def',value:i+1+len});
|
||||
}
|
||||
js.setselectdata(get('defstype_{rand}'),das,'value');
|
||||
},
|
||||
isurl:function(na,dz){
|
||||
if(dz){
|
||||
if(dz.substr(0,4)!='http')return ''+na+'必须http开头';
|
||||
@@ -154,8 +143,14 @@ $(document).ready(function(){
|
||||
<td class="tdinput"><input id="reimtitle_{rand}" class="form-control"></td>
|
||||
|
||||
<td align="right"><a target="_blank" href="<?=URLY?>">信呼官网</a>key:</td>
|
||||
<td class="tdinput"><input id="xinhukey_{rand}" class="form-control">
|
||||
<font color="#888888">用于在线升级使用,看<a target="_blank" href="<?=URLY?>view_xhkey.html">[帮助]</a>获取</font>,<a href="javascript:;" onclick="$.imgview({url:'http://www.rockoa.com/images/keyhelp.png'})">[怎么获取?]</a></td>
|
||||
<td class="tdinput">
|
||||
|
||||
<div class="btn-group">
|
||||
<input id="xinhukey_{rand}" placeholder="用于在线升级使用" readonly class="form-control">
|
||||
<button class="webbtn webbtn-default" onclick="$.imgview({url:'http://www.rockoa.com/images/keyhelp.png'});get('xinhukey_{rand}').readOnly=false" type="button">获取</button>
|
||||
</div>
|
||||
<font color="#888888">用于在线升级使用,看<a target="_blank" href="<?=URLY?>view_xhkey.html">[帮助]</a>获取</font>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -224,13 +219,14 @@ $(document).ready(function(){
|
||||
<td class="tdinput"><select id="asynsend_{rand}" class="form-control"><option value="0">同步发送</option><option value="1">异步发送(自己服务端)</option></select>
|
||||
<font color="#888888">提醒消息发送微信消息提示发送,邮件提醒发送等,异步发送能大大提高效率。</font></td>
|
||||
|
||||
<td align="right">是否记录访问sql日志:</td>
|
||||
<td class="tdinput"><select id="sqllog_{rand}" class="form-control"><option value="0">否</option><option value="1">是</option></select><font color="#888888">开启了日志将记录在目录<?=UPDIR?>/sqllog下</font></td>
|
||||
<td align="right">登录修改密码:</td>
|
||||
<td class="tdinput"><select id="editpass_{rand}" class="form-control"><option value="0">不用修改</option><option value="1">强制用户必须修改</option></select></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right">详情上线条颜色:</td>
|
||||
<td class="tdinput"><input id="bcolorxiang_{rand}" placeholder="用于单据详情默认颜色" maxlength="7" class="form-control"></td>
|
||||
<td align="right">记录用户操作:</td>
|
||||
<td class="tdinput"><select id="useropt_{rand}" class="form-control"><option value="">不记录</option><option value="1">记录到日志里</option></select></td>
|
||||
|
||||
|
||||
<td align="right">PC首页显示:</td>
|
||||
<td class="tdinput">REIM:<select id="reim_show_{rand}" ><option value="0">不显示</option><option value="1">显示</option></select> 手机版:<select id="mobile_show_{rand}" ><option value="0">不显示</option><option value="1">显示</option></select></td>
|
||||
@@ -238,12 +234,15 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
<tr>
|
||||
<td align="right">腾讯地图KEY:</td>
|
||||
<td class="tdinput"><input id="qqmapkey_{rand}" placeholder="可不设置,可到https://lbs.qq.com/下申请" class="form-control"></select></td>
|
||||
|
||||
<td align="right">登录方式:</td>
|
||||
<td class="tdinput"><select id="loginyzm_{rand}" class="form-control"><option value="0">仅使用帐号+密码</option><option value="1">帐号+密码/手机+手机验证码</option><option value="2">帐号+密码+手机验证码</option><option value="3">仅使用手机+手机验证码</option></select></td>
|
||||
|
||||
<?php if(!getconfig('platdwnum')){?>
|
||||
<td align="right">多单位模式:</td>
|
||||
<td class="tdinput"><select id="companymode_{rand}" class="form-control"><option value="0">不开启</option><option value="1">开启(各单位分开数据管理)</option></select></td>
|
||||
<?php }?>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -264,27 +263,6 @@ $(document).ready(function(){
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right">PC后端默认主题:</td>
|
||||
<td class="tdinput">(已弃用)<select id="defstype_{rand}" style="width:80px"></select> 必须去<a href="<?=URLY?>view_themes.html" target="_blank">下载主题包</a>,否则不能使用</td>
|
||||
|
||||
<td align="right">记录用户操作:</td>
|
||||
<td class="tdinput"><select id="useropt_{rand}" class="form-control"><option value="">不记录</option><option value="1">记录到日志里</option></select></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<?php if(!getconfig('platdwnum')){?>
|
||||
<td align="right">多单位模式:</td>
|
||||
<td class="tdinput"><select id="companymode_{rand}" class="form-control"><option value="0">不开启</option><option value="1">开启(各单位分开数据管理)</option></select></td>
|
||||
<?php }?>
|
||||
|
||||
<td align="right">登录修改密码:</td>
|
||||
<td class="tdinput"><select id="editpass_{rand}" class="form-control"><option value="0">不用修改</option><option value="1">强制用户必须修改</option></select></td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
@@ -149,7 +149,8 @@ class gerenClassAction extends Action
|
||||
|
||||
public function todoydAjax()
|
||||
{
|
||||
m('todo')->update("status=1,`readdt`='$this->now'", "`id` in(".$this->post('s').") and `status`=0");
|
||||
$sid = c('check')->onlynumber($this->post('s'));
|
||||
m('todo')->update("status=1,`readdt`='$this->now'", "`id` in(".$sid.") and `status`=0");
|
||||
}
|
||||
|
||||
public function totaldaetods($table, $rows)
|
||||
|
||||
@@ -4,6 +4,7 @@ class menuClassAction extends Action
|
||||
public $rows,$alldata;
|
||||
public function dataAjax()
|
||||
{
|
||||
$this->db->update('[Q]menu', '`status`=1' , '`id` in(1,2) and `status`=0');
|
||||
$this->rows = array();
|
||||
$type = $this->get('type');
|
||||
$loadci = (int)$this->get('loadci');
|
||||
|
||||
246
webmain/system/qywxplat/qywxplatAction.php
Normal file
246
webmain/system/qywxplat/qywxplatAction.php
Normal file
@@ -0,0 +1,246 @@
|
||||
<?php
|
||||
class qywxplatClassAction extends Action
|
||||
{
|
||||
|
||||
public function setsaveAjax()
|
||||
{
|
||||
$cnum = $this->post('cnum');
|
||||
$this->option->setval('wxqyplat_cnum@-10', $cnum);
|
||||
$this->option->setval('wxqyplat_devnum@-10', $this->post('devnum'));
|
||||
$this->option->setval('wxqyplat_huitoken@-10', $this->post('huitoken'));
|
||||
$this->option->setval('wxqyplat_tixi@-10', $this->post('tixi'));
|
||||
$this->option->setval('wxqyplat_daka@-10', $this->post('daka'));
|
||||
$this->option->setval('wxqyplat_kjdl@-10', $this->post('kjdl'));
|
||||
m('zwxqy_user')->delete("`cnum`<>'$cnum'");
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
public function getsetAjax()
|
||||
{
|
||||
$arr= array();
|
||||
$arr['purl'] = $this->option->getval('wxqyplat_purl');
|
||||
$arr['cnum'] = $this->option->getval('wxqyplat_cnum');
|
||||
$arr['devnum'] = $this->option->getval('wxqyplat_devnum');
|
||||
$arr['tixi'] = $this->option->getval('wxqyplat_tixi');
|
||||
$arr['daka'] = $this->option->getval('wxqyplat_daka');
|
||||
$arr['kjdl'] = $this->option->getval('wxqyplat_kjdl');
|
||||
$arr['huitoken'] = $this->option->getval('wxqyplat_huitoken');
|
||||
$arr['huiurl'] = ''.$this->rock->getouturl().'api.php?m=wxqyplat';
|
||||
if(COMPANYNUM)$arr['huiurl'].='&dwnum='.COMPANYNUM.'';
|
||||
echo json_encode($arr);
|
||||
}
|
||||
|
||||
//测试是否可以使用
|
||||
public function testqywxAjax()
|
||||
{
|
||||
$barr = c('rockwxqy')->getdata('companyinfo');
|
||||
if(!$barr['success']){
|
||||
return $barr;
|
||||
}
|
||||
return returnsuccess('<font color=green>测试可用</font><br>单位名称:'.$barr['data']['name'].'<br>单位全称:'.$barr['data']['shortname'].'');
|
||||
}
|
||||
|
||||
public function sethuidiaoAjax()
|
||||
{
|
||||
$data['huiurl'] = $this->jm->base64encode($this->rock->getouturl());
|
||||
$data['huitoken'] = $this->option->getval('wxqyplat_huitoken');
|
||||
return c('rockwxqy')->postdata('sethuiurl', $data);
|
||||
}
|
||||
|
||||
//获取信呼系统上部门
|
||||
public function deptdataAjax()
|
||||
{
|
||||
$this->rows = array();
|
||||
$this->getdept(0, 1);
|
||||
|
||||
$this->returnjson(array(
|
||||
'totalCount'=> 0,
|
||||
'rows' => $this->rows
|
||||
));
|
||||
}
|
||||
private function getdept($pid, $oi)
|
||||
{
|
||||
$db = m('dept');
|
||||
$menu = $db->getall("`pid`='$pid' order by `sort`",'*');
|
||||
foreach($menu as $k=>$rs){
|
||||
$sid = $rs['id'];
|
||||
|
||||
$rs['level'] = $oi;
|
||||
$rs['stotal'] = $db->rows("`pid`='$sid'");
|
||||
|
||||
$rs['zt'] = 1;
|
||||
$this->rows[] = $rs;
|
||||
$this->getdept($rs['id'], $oi+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function deptwxdataAjax()
|
||||
{
|
||||
$barr = c('rockqywx')->getdata('deptlist');
|
||||
if(!$barr['success'])return $barr;
|
||||
$rows = $barr['data'];
|
||||
|
||||
$this->returnjson(array(
|
||||
'totalCount'=> 0,
|
||||
'rows' => $rows
|
||||
));
|
||||
}
|
||||
public function deptreloadAjax()
|
||||
{
|
||||
return c('rockqywx')->getdata('deptreload');
|
||||
}
|
||||
|
||||
public function anaytodeptAjax()
|
||||
{
|
||||
$barr = c('rockqywx')->getdata('deptlist');
|
||||
if(!$barr['success'])return $barr;
|
||||
$rows = $barr['data'];
|
||||
|
||||
|
||||
return returnsuccess();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//微信上用户操作
|
||||
public function beforeusershow($table)
|
||||
{
|
||||
$fields = 'id,`name`,`user`,deptname,`mobile`,deptallname,status,ranking,deptid,sex,sort,face';
|
||||
$fields.=',deptids,deptnames';
|
||||
$s = '';
|
||||
$key = $this->post('key');
|
||||
if($key!=''){
|
||||
$s = " and (`name` like '%$key%' or `user` like '%$key%' or `ranking` like '%$key%' or `deptallname` like '%$key%' ";
|
||||
$s.=" or `deptnames` like '%$key%'";
|
||||
$s.= ')';
|
||||
}
|
||||
|
||||
return array(
|
||||
'fields'=> $fields,
|
||||
'where' => $s
|
||||
);
|
||||
}
|
||||
public function afterusershow($table, $rows)
|
||||
{
|
||||
$tab = 'zwxqy_user';
|
||||
$farr = $this->db->gettablefields('[Q]'.$tab.'');
|
||||
if(!$farr){
|
||||
$sql = "CREATE TABLE `[Q]".$tab."` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`userid` varchar(50) DEFAULT '',
|
||||
`state` tinyint(1) DEFAULT '0' COMMENT '状态',
|
||||
`agentid` int(11) DEFAULT '0' COMMENT '对应应用id',
|
||||
`mobile` varchar(50) DEFAULT NULL COMMENT '关联手机号',
|
||||
`uid` int(11) DEFAULT '0' COMMENT '对应OA用户id',
|
||||
`cnum` varchar(30) DEFAULT NULL COMMENT '关联单位编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `mobile` (`mobile`),
|
||||
KEY `uid` (`uid`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='关联信呼企业微信平台用户';";
|
||||
$this->db->query($sql);
|
||||
}
|
||||
$db = m($tab);
|
||||
foreach($rows as $k=>$rs){
|
||||
$zt = '0';
|
||||
$toid = '0';
|
||||
$ors = $db->getone("`mobile`='{$rs['mobile']}'");
|
||||
if($ors){
|
||||
$zt = $ors['state'];
|
||||
$toid = $ors['id'];
|
||||
}
|
||||
$rows[$k]['zt'] = $zt;
|
||||
$rows[$k]['toid'] = $toid;
|
||||
$rows[$k]['mobile'] = substr($rs['mobile'],0,3).'****'.substr($rs['mobile'],-4);
|
||||
}
|
||||
|
||||
return array('rows'=>$rows);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function reloaduserAjax()
|
||||
{
|
||||
return c('rockwxqy')->getdata('userlist');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function agentdataAjax()
|
||||
{
|
||||
$barr = c('rockwxqy')->getdata('agentlist');
|
||||
$rows = array();
|
||||
if($barr['success'])$rows = $barr['data'];
|
||||
|
||||
$this->returnjson(array(
|
||||
'totalCount'=> 0,
|
||||
'rows' => $rows,
|
||||
'msg' => $barr['msg']
|
||||
));
|
||||
}
|
||||
|
||||
public function agentgetAjax()
|
||||
{
|
||||
return c('rockqywx')->getdata('agentget', array(
|
||||
'agentid' => $this->get('id')
|
||||
));
|
||||
}
|
||||
|
||||
public function sendmsgAjax()
|
||||
{
|
||||
$name = $this->post('name');
|
||||
$msg = $this->post('msg');
|
||||
return m('qywxplat:agent')->sendxiao($this->adminid, $name, $msg);
|
||||
}
|
||||
|
||||
public function senduserAjax()
|
||||
{
|
||||
$id = (int)$this->post('id');
|
||||
$msg = $this->post('msg');
|
||||
$url = $this->rock->getouturl().'?d=we';
|
||||
$urs = m('admin')->getone($id);
|
||||
return c('rockwxqy')->sendmess($id, '测试发给:'.$urs['name'].'', $msg, $url,'', true);
|
||||
}
|
||||
|
||||
public function restateAjax()
|
||||
{
|
||||
$id = (int)$this->get('id');
|
||||
$urs = m('admin')->getone($id);
|
||||
$mobile = $urs['mobile'];
|
||||
if(!$mobile)return returnerror('未设置手机号');
|
||||
$uid = $urs['id'];
|
||||
$dbs = m('zwxqy_user');
|
||||
$barr = c('rockwxqy')->getdata('userstate', array(
|
||||
'mobile' => $mobile,
|
||||
'user' => $urs['user'],
|
||||
));
|
||||
if(!$barr['success']){
|
||||
$dbs->delete('uid='.$uid.'');
|
||||
return $barr;
|
||||
}
|
||||
$data = $barr['data'];
|
||||
$userid = $data['userid'];
|
||||
$agentid = $data['agentid'];
|
||||
$cnum = $data['cnum'];
|
||||
|
||||
$uarr['uid'] = $uid;
|
||||
$uarr['mobile'] = $mobile;
|
||||
$uarr['userid'] = $userid;
|
||||
$uarr['agentid'] = $agentid;
|
||||
$uarr['cnum'] = $cnum;
|
||||
$uarr['state'] = $data['state'];
|
||||
$ors = $dbs->getone("`uid`='$uid'");
|
||||
if($ors){
|
||||
$dbs->update($uarr, $ors['id']);
|
||||
}else{
|
||||
$dbs->insert($uarr);
|
||||
}
|
||||
return returnsuccess($data);
|
||||
}
|
||||
|
||||
public function uqingkongAjax()
|
||||
{
|
||||
m('zwxqy_user')->delete('1=1');
|
||||
return returnsuccess();
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ $(document).ready(function(){
|
||||
|
||||
var a = $('#view_{rand}').bootstable({
|
||||
tablename:'table',fanye:true,modedir:'{mode}:{dir}',storebeforeaction:'tablebefore',celleditor:true,
|
||||
cellurl:js.getajaxurl('tablesm','{mode}','{dir}'),
|
||||
cellurl:js.getajaxurl('tablesm','{mode}','{dir}'),storeafteraction:'tableafter',
|
||||
columns:[{
|
||||
text:'表名',dataIndex:'id',sortable:true
|
||||
},{
|
||||
@@ -19,12 +19,19 @@ $(document).ready(function(){
|
||||
text:'字符集',dataIndex:'TABLE_COLLATION'
|
||||
},{
|
||||
text:'更新时间',dataIndex:'gxsj',sortable:true
|
||||
},{
|
||||
text:'操作',dataIndex:'gengxin',renderer:function(v,d){
|
||||
return '<input type="button" onclick="up{rand}.dbupdatess(\''+d.id+'\',-1)" id="table{rand}_'+d.id+'" class="btn btn-default btn-xs" value="更新" />';
|
||||
}
|
||||
}],
|
||||
itemclick:function(){
|
||||
btn(false);
|
||||
},
|
||||
beforeload:function(){
|
||||
btn(true);
|
||||
},
|
||||
loadbefore:function(d){
|
||||
$('#dbupurl_{rand}').val(d.dbupurl);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -45,9 +52,48 @@ $(document).ready(function(){
|
||||
a.setparams({
|
||||
key:get('key_{rand}').value
|
||||
},true);
|
||||
},
|
||||
dbupdate:function(){
|
||||
//js.msg('success', '暂无功能');return;
|
||||
this.data = a.getData();
|
||||
this.dbupdates(0);
|
||||
},
|
||||
dbupdates:function(i){
|
||||
var d = this.data[i]
|
||||
if(!d){
|
||||
js.msg('success', '更新完成');
|
||||
return;
|
||||
}
|
||||
js.msg('wait', '更新中('+this.data.length+'/'+(i+1)+')'+d.id+'...');
|
||||
this.dbupdatess(d.id, i);
|
||||
},
|
||||
dbupdatess:function(tab, i){
|
||||
var o = get('table{rand}_'+tab+'');
|
||||
if(o){
|
||||
o.disabled = true
|
||||
o.value='更新中..';
|
||||
}
|
||||
js.ajax(js.getajaxurl('dbupdate','{mode}','{dir}'), {tab:tab}, function(ret){
|
||||
if(ret.success){
|
||||
o.value=ret.data;
|
||||
if(i>-1)c.dbupdates(i+1)
|
||||
}else{
|
||||
o.value='失败';
|
||||
js.msg('msg', ret.msg);
|
||||
}
|
||||
},'get,json');
|
||||
},
|
||||
savedbupurl:function(o){
|
||||
var dz = o.value;
|
||||
js.ajax(js.getajaxurl('savedbupurl','{mode}','{dir}'), {dz:jm.base64encode(dz)});
|
||||
}
|
||||
};
|
||||
js.initbtn(c);
|
||||
$('#dbupurl_{rand}').blur(function(){
|
||||
c.savedbupurl(this)
|
||||
})
|
||||
|
||||
up{rand} = c
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -63,14 +109,16 @@ $(document).ready(function(){
|
||||
<button class="btn btn-default" click="search" type="button">搜索</button>
|
||||
</td>
|
||||
|
||||
<td width="80%" style="padding-left:10px">
|
||||
<td width="80%" style="padding-right:10px">
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
<td align="right" nowrap>
|
||||
<button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> 编辑 </button>
|
||||
<input class="form-control" style="width:180px" id="dbupurl_{rand}" placeholder="默认更新地址">
|
||||
<button class="btn btn-info" click="dbupdate" type="button">一键更新</button>
|
||||
<button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> 表结构 </button>
|
||||
<button class="btn btn-default" id="kanbtn_{rand}" click="kanjili" disabled type="button">查看记录</button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -79,4 +127,4 @@ $(document).ready(function(){
|
||||
</div>
|
||||
<div class="blank10"></div>
|
||||
<div id="view_{rand}"></div>
|
||||
<div class="tishi">数据库表格管理请谨慎操作!</div>
|
||||
<div class="tishi">数据库表格管理请谨慎操作,一键更新,只是更新表结果。</div>
|
||||
|
||||
@@ -20,6 +20,13 @@ class tableClassAction extends Action
|
||||
);
|
||||
}
|
||||
|
||||
public function tableafter($table, $rows)
|
||||
{
|
||||
return array(
|
||||
'dbupurl' => m('option')->getval('dbupurl')
|
||||
);
|
||||
}
|
||||
|
||||
//保存表备注
|
||||
public function tablesmAjax()
|
||||
{
|
||||
@@ -123,8 +130,43 @@ class tableClassAction extends Action
|
||||
);
|
||||
}
|
||||
}
|
||||
foreach($rows as $k=>$rs){
|
||||
foreach($rs as $k1=>$v1){
|
||||
if($v1===null){
|
||||
$rows[$k][$k1]='NULL';
|
||||
$rows[$k][''.$k1.'_color']='#aaaaaa';
|
||||
}
|
||||
}
|
||||
}
|
||||
return array(
|
||||
'fieldsarr' => $fieldsar
|
||||
'fieldsarr' => $fieldsar,
|
||||
'rows' => $rows,
|
||||
);
|
||||
}
|
||||
|
||||
public function savedbupurlAjax()
|
||||
{
|
||||
$dz = $this->get('dz');
|
||||
$dz = $this->jm->base64decode($dz);
|
||||
m('option')->setval('dbupurl', $dz);
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
public function dbupdateAjax()
|
||||
{
|
||||
$url = m('option')->getval('dbupurl');
|
||||
if(!$url)return returnerror('未设置更新地址');
|
||||
if(substr($url,0,4)!='http')return returnerror('更新地址有问题');
|
||||
$tab = $this->get('tab');
|
||||
$tab = str_replace(PREFIX,'', $tab);
|
||||
$url .= 'api.php?m=login&a=dbinfo&tab='.$tab.'&xinhukey='.getconfig('xinhukey').'';
|
||||
$result = c('curl')->getcurl($url);
|
||||
if(substr($result, 0, 1)!='{')return returnsuccess($result);
|
||||
$msg = m('beifen')->updatefabric($result);
|
||||
if($msg=='ok'){
|
||||
return returnsuccess('已更新');
|
||||
}else{
|
||||
return returnsuccess($msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -77,7 +77,7 @@ class wordClassAction extends Action
|
||||
|
||||
public function sharefileAjax()
|
||||
{
|
||||
$fileid = $this->post('fid','0');
|
||||
$fileid = c('check')->onlynumber($this->post('fid','0'));
|
||||
$arr['shateid'] = $this->post('sid');
|
||||
$arr['shate'] = $this->post('sna');
|
||||
m('word')->update($arr, "optid='$this->adminid' and fileid in($fileid)");
|
||||
|
||||
Reference in New Issue
Block a user