信呼OA版本v2.3.8

This commit is contained in:
雨中磐石
2022-08-14 16:47:40 +08:00
parent 4640677d27
commit e3fcd913e3
1405 changed files with 133635 additions and 73 deletions

View File

@@ -0,0 +1,207 @@
<?php defined('HOST') or die('not access');?>
<script >
$(document).ready(function(){
var istongbu=false,wodekey='';
var a = $('#view_{rand}').bootstable({
tablename:'chargems',url:js.getajaxurl('data','{mode}','{dir}'),
columns:[{
text:'名称',dataIndex:'name'
},{
text:'说明',dataIndex:'explain',align:'left',width:'45%'
},{
text:'更新时间',dataIndex:'updatedt'
},{
text:'价格',dataIndex:'price',renderer:function(v){
var s='<font color=#ff6600>免费</font>';
if(v==1)s='<font color=gray>授权版可用</font>';
if(v>1)s=v+'元';
return s;
}
},{
text:'详情',dataIndex:'view'
},{
text:'操作',dataIndex:'opt',align:'left',renderer:function(v,d){
if(d.isaz=='0')return '<font color=#888888>无需安装</font>';
var s='';
if(v==1)s='<font color=green>已安装</font> ';
if(v==2)s='<button onclick="upsho{rand}(2,'+d.id+',\''+d.key+'\')" class="btn btn-danger btn-sm" type="button">升级</button>';
if(v==0)s='<button onclick="upsho{rand}(0,'+d.id+',\''+d.key+'\')" class="btn btn-info btn-sm" type="button">安装</button>';
if(v==0||v==2){
if(d.price=='0')s+='&nbsp;<a href="javascript:;" onclick="downup{rand}('+d.id+',\''+d.name+'\')">文件对比</a>';
$('#shiw_{rand}').html('有系统模块需要升级/安装!');
}
if(d.id=='1'){
istongbu=false;
if(v==1){
istongbu=true;
}
}
return '<span id="msg'+d.id+'_{rand}">'+s+'</span>';
}
}],
beforeload:function(){
istongbu=false;
$('#shiw_{rand}').html('');
get('resede_{rand}').disabled=true;
},
itemclick:function(){
get('resede_{rand}').disabled=false;
},
load:function(d){
wodekey=d.wodekey;
}
});
var c={
reloads:function(){
a.reload();
},
bool:false,
upsho:function(lx,id,key, slx){
if(this.bool){js.msg('msg','其他模块升级中,请稍后');return;}
var msgid='msg'+id+'_{rand}',lxs='安装';
if(lx==2)lxs='升级';
js.setmsg(''+lxs+'中...','', msgid);
this.msgid = msgid;
this.lxsss = lxs;
this.upadd = {id:id,key:key,slx:slx};
this.bool = true;
js.ajax(js.getajaxurl('shengjian','{mode}','{dir}'),this.upadd,function(d){
if(d.success){
c.uparr = d.data;
c.upstart(0);
}else{
c.bool=false;
js.setmsg(d.msg,'red', c.msgid);
}
},'post,json',function(s){
c.bool=false;
js.setmsg(s,'red', c.msgid);
});
},
upstart:function(oi){
var len = this.uparr.length,lxs = this.lxsss;
var ad = this.upadd;
if(oi>=len){
js.setmsg(''+lxs+'完成','green', this.msgid);
if(ad.id=='1'){
js.confirm('系统核心文件升级完成需要重新进入系统哦!',function(jg){
location.reload();
});
}else{
a.reload();
}
c.bool=false;
return;
}
var d = this.uparr[oi];
js.setmsg(''+lxs+'中('+len+'/'+(oi+1)+')...','', this.msgid);
ad.fileid = d.id;
ad.updatedt = d.updatedt;
ad.lens = len;
ad.oii = oi;
ad.ban = jm.encrypt($(jm.base64decode('I2hvbWVmb290ZXI:')).html(),wodekey);
js.ajax(js.getajaxurl('shengjianss','{mode}','{dir}'),ad,function(s){
if(s=='ok'){
c.upstart(oi+1);
}else{
c.bool=false;
js.setmsg(s,'red', c.msgid);
}
},'post',function(s){
c.bool=false;
js.setmsg(s,'red', c.msgid);
});
},
upshos:function(lx,id,kes){
if(kes=='null')kes='';
if(id==22&&!istongbu){
js.alert('请先升级系统到最新才能安装');
return;
}
js.prompt('模块安装','安装key(免费模块可不输入,直接点确定)',function(lxbd,msg){
if(lxbd=='yes'){
c.upsho(lx,id,msg, 0);
}
},kes);
},
tontbudata:function(lx, o,snum){
o.innerHTML=js.getmsg('同步中...');
if(!snum)snum='';
var ad = {'lx':lx,'snum':snum};
ad.ban = jm.encrypt($(jm.base64decode('I2hvbWVmb290ZXI:')).html(),wodekey);
js.ajax(js.getajaxurl('tontbudata','{mode}','{dir}'),ad,function(s){
o.innerHTML=js.getmsg(s,'green');
});
},
delreload:function(){
a.del({
url:js.getajaxurl('delmodel', '{mode}','{dir}'),
msg:'确定要删除选中模块后可重新安装的!'
});
},
lianwcs:function(){
js.open('?m=index&a=testnet');
}
};
upsho{rand}=function(lx,id,kes){
if(ISDEMO){js.msg('msg','演示系统不要操作');return;}
c.upshos(lx,id,kes);
}
downup{rand}=function(id,na){
addtabs({num:'upgradefile'+id+'','url':'system,upgrade,file,id='+id+'','name':'['+na+']文件对比'});
}
js.initbtn(c);
upfetwontbu=function(lx, o){
if(ISDEMO){js.msg('msg','演示系统不要操作');return;}
if(!istongbu && lx!=3){
js.alert('请先升级系统到最新才能同步');
return;
}
if(lx==5){
js.prompt('从官网中拉取模块同步','输入要同步的模块编号如(gong):将会覆盖你模块设置。', function(jg,txt){
if(jg=='yes' && txt)c.tontbudata(lx, o, txt);
});
return;
}
js.confirm('谨慎啊,确定要同步嘛?同步了将覆盖你原先配置好的哦!',function(jg){
if(jg=='yes')c.tontbudata(lx, o);
});
}
});
</script>
<div>
<table width="100%"><tr>
<td nowrap>
<button class="btn btn-default" click="reloads" type="button"><i class="icon-refresh"></i> 刷新</button> &nbsp;
<button class="btn btn-default" click="lianwcs" type="button">测试联网</button> &nbsp;
<font color="red" id="shiw_{rand}"></font>
</td>
<td align="right">
<button class="btn btn-default" click="delreload" disabled id="resede_{rand}" type="button">删除重新安装</button>
</td>
</tr>
</table>
</div>
<div class="blank10"></div>
<div id="view_{rand}"></div>
<div class="blank10"></div>
<div><h4><b>系统同步:</b></h4></div>
<div class="blank10"></div>
<div>1、同步菜单系统上操作菜单会和官网同步也可到【系统→菜单管理】下管理。<a onclick="upfetwontbu(0,this)" href="javascript:;">[同步]</a></div>
<div class="blank10"></div>
<div>2、同步流程模块流程模块会和官网同步也可到【流程模块】下管理。<a onclick="upfetwontbu(1,this)" href="javascript:;">[1.同步]</a><a onclick="upfetwontbu(4,this)" href="javascript:;">[2.同步完全和官网一致]</a><a onclick="upfetwontbu(5,this)" href="javascript:;">[3.根据模块完成同步]</a></div>
<div style="color:#888888"><font color=white>2、</font>[1.同步]:同步了不会覆盖自己的配置信息,[2.同步完全和官网一致]:会完成和官网一致,同时会删除自己配置和新建的模块,谨慎。[3.根据模块完成同步]:自己选择模块编号同步。</div>
<!--<div><font color=white>2、</font>输入要同步的模块编号:<input style="width:250px" placeholder="模块编号多个,分开输入all为全部" class="inputs"></div>-->
<div class="blank10"></div>
<div>3、同步桌面版/手机上应用,应用会和官网同步,也可到【系统→即时通信管理→应用管理】下管理。<a onclick="upfetwontbu(2,this)" href="javascript:;">[同步]</a></div>
<div class="blank10"></div>
<div>4、<font color=red>建议同步计划任务</font>,让系统更好运行,计划任务会和官网同步,也可到【系统→系统工具→计划任务】下管理。<a onclick="upfetwontbu(3,this)" href="javascript:;">[同步]</a></div>
<div class="blank10"></div>
<div><h4><b>更多升级方法:</b></h4></div>
<div style="line-height:35px">
1、使用svn/git地址升级(推荐),地址:<a href="https://gitee.com/rainrock/xinhu" target="_blank">https://gitee.com/rainrock/xinhu</a><a href="https://github.com/rainrocka/xinhu" target="_blank">https://github.com/rainrocka/xinhu</a><br>
2、去官网下载源码全部覆盖升级如果您自己修改请谨慎覆盖。<br>
3、根据列表升级安装。
</div>

View File

@@ -0,0 +1,66 @@
<?php defined('HOST') or die('not access');?>
<script >
$(document).ready(function(){
{params}
var id = params.id;
var a = $('#view_{rand}').bootstable({
tablename:'chargems',url:js.getajaxurl('datadubi','{mode}','{dir}',{id:id}),
checked:true,
columns:[{
text:'类型',dataIndex:'type',renderer:function(v){
var s='文件';
if(v==1)s='数据库';
return s;
}
},{
text:'文件路径',dataIndex:'filepath',align:'left'
},{
text:'文件大小',dataIndex:'filesize'
},{
text:'文件说明',dataIndex:'explain'
},{
text:'',dataIndex:'ishui',renderer:function(v, d){
var s='<font color="green">可更新</font>';
if(v==1)s='已忽略';
if(d.ting=='1')s='不同步更新模块';
return s;
}
},{
text:'状态',dataIndex:'zt'
}]
});
var c={
reloads:function(){
a.reload();
},
huliesss:function(o1,lx){
var sid = a.getchecked();
if(sid==''){js.msg('msg','没有选中行');return;}
js.ajax(js.getajaxurl('hullue','{mode}','{dir}'),{sid:sid,id:id,lx:lx},function(s){
a.reload();
},'post','','处理中...,处理完成');
}
};
js.initbtn(c);
});
</script>
<div>
<table width="100%"><tr>
<td nowrap>
<button class="btn btn-default" click="reloads" type="button"><i class="icon-refresh"></i> 刷新</button>
</td>
<td align="right">
<button class="btn btn-default" click="huliesss,0" type="button">忽略选中文件更新</button>&nbsp;
<button class="btn btn-default" click="huliesss,1" type="button">取消忽略选中文件更新</button>
</td>
</tr>
</table>
</div>
<div class="blank10"></div>
<div id="view_{rand}"></div>
<div class="tishi">没有记录表示没有可更新文件。</div>

View File

@@ -0,0 +1,118 @@
<?php if(!defined('HOST'))die('not access');?>
<script >
$(document).ready(function(){
{params}
var path = params.path;
var c={
menuarr:{},
init:function(){
this.setmsg('加载中...');
this.loadmode(path);
},
save:function(o1){
var csn = {'path':path};
for(var i in this.menuarr){
if(this.menuarr[i]=='-1'){
}
csn['menupid'+i+'']=this.menuarr[i];
}
o1.disabled = true;
this.setmsg('安装中...');
js.ajax(js.getajaxurl('newinstallinfo','{mode}','{dir}'),csn,function(ret){
if(ret!='ok'){
c.setmsg(ret);
o1.disabled = false;
}else{
c.setmsg('');
js.msgok('安装完成可刷新查看效果');
}
});
},
setmsg:function(st){
js.setmsg(st,'', 'msgview_{rand}');
},
loadmode:function(ljs){
js.ajax(js.getajaxurl('loadinstallinfo','{mode}','{dir}'),{path:ljs},function(ret){
if(!ret.success){
js.msgerror(ret.msg);
get('btn_{rand}').disabled=true;
}else{
c.showdata(ret.data);
}
c.setmsg('');
},'get,json');
},
showdata:function(da){
$('#ver_{rand}').html(da.ver);
$('#name_{rand}').html(da.name);
$('#zuozhe_{rand}').html(da.zuozhe);
$('#explain_{rand}').html(da.explain);
$('#filesizecn_{rand}').html(da.filesizecn);
$('#modelist_{rand}').html(da.modestr);
$('#tablelist_{rand}').html(da.tablestr);
$('#menulist_{rand}').html(da.menustr);
$('#agentlist_{rand}').html(da.agentstr);
$('#filelist_{rand}').html(da.filestr);
this.menuarr = da.menuarr;
path = da.pathstr;
js.initbtn(c);
},
xuancaid:function(o1, id){
$.selectdata({
title:'选择上级菜单',
url:js.getajaxurl('getmenu','{mode}','{dir}'),
checked:false,maxshow:500,
onselect:function(d1,sna,sid){
o1.value='已选【'+sna+'】';
c.menuarr[id] = sid;
}
});
}
};
c.init();
});
</script>
<div style="padding:10px" align="center">
<div style="max-width:730px" align="left">
<h3>安装zip包信息</h3>
<div style="border-bottom:1px #cccccc solid"></div>
<div>
<div><font color="gray">名称:</font><span id="name_{rand}"></span>&nbsp; <font color="gray">版本:</font><span id="ver_{rand}"></span>&nbsp; <font color="gray">作者:</font><span id="zuozhe_{rand}"></span>&nbsp; <font color="gray">文件大小:</font><span id="filesizecn_{rand}"></span>
</div>
<div><font color="gray">说明:</font><span id="explain_{rand}"></span></div>
</div>
<h4>包含的模块</h4>
<div style="border-bottom:1px #cccccc solid"></div>
<div class="wrap" id="modelist_{rand}"></div>
<h4>包含数据库</h4>
<div style="border-bottom:1px #cccccc solid"></div>
<div class="wrap" id="tablelist_{rand}"></div>
<h4>包含的文件</h4>
<div style="border-bottom:1px #cccccc solid"></div>
<div class="wrap" id="filelist_{rand}"></div>
<h4>包含的菜单(不选上级菜单就是不添加菜单)</h4>
<div style="border-bottom:1px #cccccc solid"></div>
<div class="wrap" id="menulist_{rand}"></div>
<h4>包含的应用</h4>
<div style="border-bottom:1px #cccccc solid"></div>
<div class="wrap" id="agentlist_{rand}"></div>
<div class="blank10"></div>
<div >
<button class="btn btn-success" id="btn_{rand}" click="save" type="button">确定安装</button>&nbsp;<span id="msgview_{rand}"></span>
</div>
</div>
</div>

View File

@@ -0,0 +1,107 @@
<?php defined('HOST') or die('not access');?>
<script >
$(document).ready(function(){
{params}
var a = $('#view_{rand}').bootstable({
tablename:'chargems',url:js.getajaxurl('otherdata','{mode}','{dir}'),fanye:true,method:'get',
columns:[{
text:'名称',dataIndex:'name'
},{
text:'类型',dataIndex:'typename'
},{
text:'版本',dataIndex:'version'
},{
text:'作者',dataIndex:'zuozhe'
},{
text:'发布者',dataIndex:'fabuzhe'
},{
text:'价格',dataIndex:'money',sortable:true,renderer:function(v){
if(v=='0')v='免费';
return v;
}
},{
text:'说明',dataIndex:'explain',align:'left'
},{
text:'更新时间',dataIndex:'updatedt'
},{
text:'客服',dataIndex:'behst',renderer:function(v,d){
return '<a href="'+d.kefuurl+'" target="_blank"><i class="icon-comment-alt"></i>客服</a>';
}
},{
text:'',dataIndex:'anzt',renderer:function(v,d){
var s = '&nbsp;';
if(v==1)s='<font color=green>已安装</font> ';
if(v==2)s='<button onclick="upsho{rand}.install(2,'+d.id+')" class="btn btn-danger btn-sm" type="button">升级</button>';
if(v==0)s='<button onclick="upsho{rand}.install(0,'+d.id+')" class="btn btn-info btn-sm" type="button">安装</button>';
return '<span id="msg'+d.id+'_{rand}">'+s+'</span>';
}
}],
beforeload:function(){
get('resede_{rand}').disabled=true;
},
itemclick:function(){
get('resede_{rand}').disabled=false;
}
});
var c={
reloads:function(){
a.reload();
},
huliesss:function(){
js.upload('_zpichangback',{maxup:'1','title':'选择要安装的zip包',uptype:'zip','urlparams':'noasyn:yes'});
},
bool:false,
install:function(lx,id){
if(this.bool)return;
var msgid='msg'+id+'_{rand}',lxs='安装';
if(lx==2)lxs='升级';
js.setmsg(''+lxs+'中...','', msgid);
this.bool = true;
js.ajax(js.getajaxurl('otherinstall','{mode}','{dir}'),{id:id},function(ret){
c.bool = false;
if(ret.success){
js.setmsg(ret.data.msg,'green', msgid);
addtabs({name:'模块插件['+ret.data.name+']安装',num:'zipinstall',url:'system,upgrade,install,path='+jm.base64encode(ret.data.path)+''});
}else{
js.setmsg(ret.msg,'', msgid);
}
},'get,json');
},
delreload:function(){
a.del({
url:js.getajaxurl('delother', '{mode}','{dir}'),
msg:'确定要删除选中模块插件后可重新安装的!'
});
}
};
js.initbtn(c);
_zpichangback=function(da){
if(da[0]){
addtabs({name:'zip模块插件安装',num:'zipinstall',url:'system,upgrade,install,path='+jm.base64encode(da[0].filepath)+''});
}
}
upsho{rand} = c;
if(ISDEMO || adminid!=1)get('upbtnd{rand}').disabled=true;
});
</script>
<div>
<table width="100%"><tr>
<td nowrap>
<h4>此列表模块插件来自信呼开发团队,<a href="<?=URLY?>view_anbao.html"target="_blank">进去看看</a><h4>
</td>
<td nowrap>
</td>
<td align="right">
<button class="btn btn-default" id="upbtnd{rand}" click="huliesss,0" style="<?php if(!getconfig('rockinzip'))echo 'display:none;'; ?>" type="button">本地上传安装</button>&nbsp;
<button class="btn btn-default" click="delreload" disabled id="resede_{rand}" type="button">删除重新安装</button>
</td>
</tr>
</table>
</div>
<div class="blank10"></div>
<div id="view_{rand}"></div>

File diff suppressed because one or more lines are too long