1 Commits
beta3.3 ... 1.0

540 changed files with 95625 additions and 111495 deletions

0
.htaccess Normal file
View File

View File

@@ -1,21 +1,33 @@
## PicHome beta3.3 更新说明 ## PicHome Home1.0 更新说明
### 1.billfish数据支持兼容billfish2.5版本数据导入 ### 1.支持升级到团队版,可在站点设置->授权信息界面查看
### 2.eagle数据支持兼容新旧版本eagle数据导入 ### 2.billfish数据支持修复billfish导入有回收站数据导致导入进度不能完成的问题
### 3.优化普通目录文件缩略图生成逻辑,优化效率,以及缩略图转换数字显示等问题修复 ### 3.eagle数据支持修复eagle导入更新数据时目录数据异常问题
### 4.修复普通目录由于文件名长度问题导致的文件缺失和部分服务器中存在因路径分割符不同导致文件导入累加式重复问题 ### 4.eagle数据支持修复eagle导入非图片文件缩略图变更后显示异常问题
### 5.库设置增加库名称修改选项 ### 5.普通目录数据支持,整体修改导入逻辑,修复导入错误,提升导入效率
### 6.修复页面标签未分类数据显示错误问题,修复单一库时存在的筛选项不能正常显示问题 ### 6.优化导入体验,导入增加部分错误提示,修复导入时删除库不断弹出弹窗的错误,以及导入类型提示不匹配问题
### 7.页面增加按eagle和billfish内目录排序显示支持 ### 7.导入增加校验更新,用于修复以往导入产生的错误修正
### 8.优化库删除逻辑,删除时清理库冗余数据 ### 7.修复删除库错误,由数据兼容错误导致没有真正删除问题
### 9.文件访问地址修改为动态地址,增强文件私密性,为之后版本文件私密保护做准备 ### 8.增加文件访问永久地址获取(仅管理员可用)
### 10.其他已知bug修复 ### 9.文件访问地址使用动态地址增强安全性(非永久地址)
### 10.开放库筛选项设置,可在站点设置->筛选器设置中修改,支持标签分类作为单独筛选项展示;若库未设置筛选项,默认使用“全部库”筛选项,并依其变化而变化
### 11.修复分享的移动端问题
### 12.新增模板3(适用标签类筛选的内容)
### 13.优化访问效率
### 14.优化界面展示效果
### 15.其他已知bug修复

View File

@@ -260,10 +260,10 @@ function upgradeinformation($status = 0) {
} }
if($status==1 && $upgrade_step['step']==2) return ''; if($status==1 && $upgrade_step['step']==2) return '';
$update = array(); $update = array();
$siteuniqueid = C::t('setting')->fetch('siteuniqueid'); $mcode = C::t('setting')->fetch('machinecode');
$update['siteurl']=$_G['siteurl']; $update['siteurl']=$_G['siteurl'];
$update['sitename']=$_G['setting']['sitename']; $update['sitename']=$_G['setting']['sitename'];
$update['uniqueid'] = $siteuniqueid; $update['mcode'] = $mcode;
$update['curversion'] = $upgrade_step['curversion']; $update['curversion'] = $upgrade_step['curversion'];
$update['currelease'] = $upgrade_step['currelease']; $update['currelease'] = $upgrade_step['currelease'];
$update['upgradeversion'] = $upgrade_step['version']; $update['upgradeversion'] = $upgrade_step['version'];
@@ -276,7 +276,7 @@ function upgradeinformation($status = 0) {
foreach($update as $key => $value) { foreach($update as $key => $value) {
$data .= $key.'='.rawurlencode($value).'&'; $data .= $key.'='.rawurlencode($value).'&';
} }
$upgradeurl = APP_CHECK_URL."market/system/upgrade/".rawurlencode(base64_encode($data))."/".TIMESTAMP; $upgradeurl = APP_CHECK_URL."authlicense/count//upgrade/".rawurlencode(base64_encode($data))."/".TIMESTAMP;
dfsockopen($upgradeurl,0, '', '', FALSE, '',0.2); dfsockopen($upgradeurl,0, '', '', FALSE, '',0.2);
return ''; return '';
//return '<img src="'.$upgradeurl.'" width="0" height="0" />'; //return '<img src="'.$upgradeurl.'" width="0" height="0" />';

View File

@@ -1 +0,0 @@
.max-width[data-v-6168216d]{width:360px}

View File

@@ -1 +0,0 @@
.wait-files[data-v-00939ee2]{line-height:25px;border:1px solid #dcdfe6;margin-bottom:10px;padding:5px;font-size:14px}

View File

@@ -1 +1 @@
.el-avatar[data-v-6f47bc15]{float:left;cursor:pointer}.el-divider--horizontal.el-divider[data-v-6f47bc15]{margin:8px 0}.aboutPichome{padding:0;width:478px}.aboutPichome .el-message-box__btns,.aboutPichome .el-message-box__header{display:none}.aboutPichome .aboutlogo{text-align:center;line-height:0;padding-top:40px}.aboutPichome .aboutmessage{padding:65px 40px;font-size:19px;padding-bottom:15px}.aboutPichome .aboutmessage .aboutlist{margin-bottom:20px;overflow:hidden}.aboutPichome a{text-decoration:none}.aboutPichome .aboutmessage .aboutlist .title{float:left;width:95px}.aboutPichome .aboutmessage .aboutlist .mes{float:left;width:calc(100% - 95px)}.aboutPichome .aboutmessage .aboutlist .update{font-size:12px} .el-avatar[data-v-1aac96c1]{float:left;cursor:pointer}.el-divider--horizontal.el-divider[data-v-1aac96c1]{margin:8px 0}.aboutPichome{padding:0;width:478px}.aboutPichome .el-message-box__btns,.aboutPichome .el-message-box__header{display:none}.aboutPichome .aboutlogo{text-align:center;line-height:0;padding-top:40px}.aboutPichome .aboutmessage{padding:65px 40px;font-size:19px;padding-bottom:15px}.aboutPichome .aboutmessage .aboutlist{margin-bottom:20px;overflow:hidden}.aboutPichome a{text-decoration:none}.aboutPichome .aboutmessage .aboutlist .title{float:left;width:95px}.aboutPichome .aboutmessage .aboutlist .mes{float:left;width:calc(100% - 95px)}.aboutPichome .aboutmessage .aboutlist .update{font-size:12px}

View File

@@ -1 +0,0 @@
.el-avatar[data-v-663b95fa]{float:left;cursor:pointer}.el-divider--horizontal.el-divider[data-v-663b95fa]{margin:8px 0}.aboutPichome{padding:0;width:478px}.aboutPichome .el-message-box__btns,.aboutPichome .el-message-box__header{display:none}.aboutPichome .aboutlogo{text-align:center;line-height:0;padding-top:40px}.aboutPichome .aboutmessage{padding:65px 40px;font-size:19px;padding-bottom:15px}.aboutPichome .aboutmessage .aboutlist{margin-bottom:20px;overflow:hidden}.aboutPichome a{text-decoration:none}.aboutPichome .aboutmessage .aboutlist .title{float:left;width:95px}.aboutPichome .aboutmessage .aboutlist .mes{float:left;width:calc(100% - 95px)}.aboutPichome .aboutmessage .aboutlist .update{font-size:12px}

View File

@@ -1 +1 @@
.el-container[data-v-6b6f1ca9],.el-main[data-v-6b6f1ca9]{height:100%}.el-main[data-v-6b6f1ca9]{padding:0}.top-title .el-steps[data-v-31baf320]{background:transparent;padding:0 25px}.top-title .el-steps[data-v-31baf320] .el-step__icon{vertical-align:middle}.el-progress[data-v-31baf320]{width:400px;display:inline-block}.content[data-v-31baf320]{padding:20px 25px}.help-inline li[data-v-31baf320]{margin-bottom:5px}.top-title .main-title[data-v-da54ce54]{font-size:14px;color:#909399;cursor:pointer;margin-right:20px;vertical-align:bottom}.top-title .main-title.is-active[data-v-da54ce54]{color:#369}.content[data-v-da54ce54]{padding:20px 25px}.systemExportNotify{width:auto}.help-inline li[data-v-174d5b16]{margin-bottom:5px;padding:0}.max-width[data-v-174d5b16]{width:260px}.custom-single[data-v-174d5b16]{height:40px;margin-bottom:5px}.custom-single .el-checkbox[data-v-174d5b16]{overflow:hidden}.custom-single .el-checkbox[data-v-174d5b16] .el-checkbox__input{vertical-align:text-top}.custom-single .el-checkbox[data-v-174d5b16] .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-checkbox[data-v-174d5b16],.el-radio[data-v-174d5b16]{margin-bottom:5px;margin-left:0!important}.el-radio[data-v-174d5b16]{min-width:260px}.max-width[data-v-71031654]{width:50%}.content[data-v-24008314]{padding:20px 25px}.help-inline li[data-v-24008314]{margin-bottom:5px;padding:0}.help-inline[data-v-5e61246c]{display:block}.help-inline li[data-v-5e61246c]{margin-bottom:5px;padding:0}.max-width[data-v-5e61246c]{width:360px} .el-container[data-v-51d41a2c],.el-main[data-v-51d41a2c]{height:100%}.el-main[data-v-51d41a2c]{padding:0}.top-title .el-steps[data-v-31baf320]{background:transparent;padding:0 25px}.top-title .el-steps[data-v-31baf320] .el-step__icon{vertical-align:middle}.el-progress[data-v-31baf320]{width:400px;display:inline-block}.content[data-v-31baf320]{padding:20px 25px}.help-inline li[data-v-31baf320]{margin-bottom:5px}.top-title .main-title[data-v-da54ce54]{font-size:14px;color:#909399;cursor:pointer;margin-right:20px;vertical-align:bottom}.top-title .main-title.is-active[data-v-da54ce54]{color:#369}.content[data-v-da54ce54]{padding:20px 25px}.systemExportNotify{width:auto}.help-inline li[data-v-174d5b16]{margin-bottom:5px;padding:0}.max-width[data-v-174d5b16]{width:260px}.custom-single[data-v-174d5b16]{height:40px;margin-bottom:5px}.custom-single .el-checkbox[data-v-174d5b16]{overflow:hidden}.custom-single .el-checkbox[data-v-174d5b16] .el-checkbox__input{vertical-align:text-top}.custom-single .el-checkbox[data-v-174d5b16] .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-checkbox[data-v-174d5b16],.el-radio[data-v-174d5b16]{margin-bottom:5px;margin-left:0!important}.el-radio[data-v-174d5b16]{min-width:260px}.max-width[data-v-71031654]{width:50%}.content[data-v-24008314]{padding:20px 25px}.help-inline li[data-v-24008314]{margin-bottom:5px;padding:0}.help-inline[data-v-5e61246c]{display:block}.help-inline li[data-v-5e61246c]{margin-bottom:5px;padding:0}.max-width[data-v-5e61246c]{width:360px}

View File

@@ -1 +1 @@
<!DOCTYPE html><html lang=zh><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title></title><link href=admin/system/dist/css/chunk-2b4f90f7.519dec70.css rel=prefetch><link href=admin/system/dist/css/chunk-494f643e.7502109f.css rel=prefetch><link href=admin/system/dist/css/chunk-5ae5cc35.d763cbce.css rel=prefetch><link href=admin/system/dist/css/chunk-74c32c70.4b7d665e.css rel=prefetch><link href=admin/system/dist/css/chunk-76f23146.6fc79cd8.css rel=prefetch><link href=admin/system/dist/css/chunk-7828662a.c81657ef.css rel=prefetch><link href=admin/system/dist/css/chunk-801d4da6.a47ba236.css rel=prefetch><link href=admin/system/dist/css/chunk-9f9c2568.5356ad7d.css rel=prefetch><link href=admin/system/dist/css/chunk-af3b1b98.b822363f.css rel=prefetch><link href=admin/system/dist/css/chunk-e730cc06.987283b7.css rel=prefetch><link href=admin/system/dist/css/system_temp.a56510eb.css rel=prefetch><link href=admin/system/dist/js/chunk-2b4f90f7.8dd0185d.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0a3327.ad2684c9.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0bdbc6.4ec7bc5e.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0dd46d.e13ddeba.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0efd3c.44a093d1.js rel=prefetch><link href=admin/system/dist/js/chunk-2d20fcd9.50f81306.js rel=prefetch><link href=admin/system/dist/js/chunk-2d21ddf7.9f7b329e.js rel=prefetch><link href=admin/system/dist/js/chunk-494f643e.77a11d42.js rel=prefetch><link href=admin/system/dist/js/chunk-5ae5cc35.25761a21.js rel=prefetch><link href=admin/system/dist/js/chunk-74c32c70.1f5e9382.js rel=prefetch><link href=admin/system/dist/js/chunk-76f23146.0d2957ed.js rel=prefetch><link href=admin/system/dist/js/chunk-7828662a.e587f025.js rel=prefetch><link href=admin/system/dist/js/chunk-801d4da6.0f74a3ea.js rel=prefetch><link href=admin/system/dist/js/chunk-9f9c2568.538835dd.js rel=prefetch><link href=admin/system/dist/js/chunk-af3b1b98.850ec152.js rel=prefetch><link href=admin/system/dist/js/chunk-e730cc06.3ce9a994.js rel=prefetch><link href=admin/system/dist/js/system_temp.c7e32270.js rel=prefetch><link href=admin/system/dist/css/chunk-vendors.4d5d56a8.css rel=preload as=style><link href=admin/system/dist/css/index.7d0ec6bf.css rel=preload as=style><link href=admin/system/dist/js/chunk-vendors.3b95dfe3.js rel=preload as=script><link href=admin/system/dist/js/index.5892fe49.js rel=preload as=script><link href=admin/system/dist/css/chunk-vendors.4d5d56a8.css rel=stylesheet><link href=admin/system/dist/css/index.7d0ec6bf.css rel=stylesheet></head><body><div id=app></div><script src=admin/system/dist/js/chunk-vendors.3b95dfe3.js></script><script src=admin/system/dist/js/index.5892fe49.js></script></body></html> <!DOCTYPE html><html lang=zh><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title></title><link href=admin/system/dist/css/chunk-2b4f90f7.519dec70.css rel=prefetch><link href=admin/system/dist/css/chunk-494f643e.7502109f.css rel=prefetch><link href=admin/system/dist/css/chunk-5ae5cc35.d763cbce.css rel=prefetch><link href=admin/system/dist/css/chunk-74c32c70.4b7d665e.css rel=prefetch><link href=admin/system/dist/css/chunk-76f23146.6fc79cd8.css rel=prefetch><link href=admin/system/dist/css/chunk-7828662a.c81657ef.css rel=prefetch><link href=admin/system/dist/css/chunk-7aef2525.9e97ae28.css rel=prefetch><link href=admin/system/dist/css/chunk-9f9c2568.5356ad7d.css rel=prefetch><link href=admin/system/dist/css/chunk-af3b1b98.b822363f.css rel=prefetch><link href=admin/system/dist/css/chunk-e730cc06.987283b7.css rel=prefetch><link href=admin/system/dist/css/system_temp.abc9b69c.css rel=prefetch><link href=admin/system/dist/js/chunk-2b4f90f7.45b9151d.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0a3327.ad2684c9.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0bdbc6.4ec7bc5e.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0dd46d.e13ddeba.js rel=prefetch><link href=admin/system/dist/js/chunk-2d0efd3c.44a093d1.js rel=prefetch><link href=admin/system/dist/js/chunk-2d20fcd9.50f81306.js rel=prefetch><link href=admin/system/dist/js/chunk-2d21ddf7.9f7b329e.js rel=prefetch><link href=admin/system/dist/js/chunk-494f643e.77a11d42.js rel=prefetch><link href=admin/system/dist/js/chunk-5ae5cc35.25761a21.js rel=prefetch><link href=admin/system/dist/js/chunk-74c32c70.1f5e9382.js rel=prefetch><link href=admin/system/dist/js/chunk-76f23146.0d2957ed.js rel=prefetch><link href=admin/system/dist/js/chunk-7828662a.e587f025.js rel=prefetch><link href=admin/system/dist/js/chunk-7aef2525.35b8efb8.js rel=prefetch><link href=admin/system/dist/js/chunk-9f9c2568.538835dd.js rel=prefetch><link href=admin/system/dist/js/chunk-af3b1b98.850ec152.js rel=prefetch><link href=admin/system/dist/js/chunk-e730cc06.3ce9a994.js rel=prefetch><link href=admin/system/dist/js/system_temp.b94f1119.js rel=prefetch><link href=admin/system/dist/css/chunk-vendors.4d5d56a8.css rel=preload as=style><link href=admin/system/dist/css/index.7d0ec6bf.css rel=preload as=style><link href=admin/system/dist/js/chunk-vendors.3b95dfe3.js rel=preload as=script><link href=admin/system/dist/js/index.b9edc49b.js rel=preload as=script><link href=admin/system/dist/css/chunk-vendors.4d5d56a8.css rel=stylesheet><link href=admin/system/dist/css/index.7d0ec6bf.css rel=stylesheet></head><body><div id=app></div><script src=admin/system/dist/js/chunk-vendors.3b95dfe3.js></script><script src=admin/system/dist/js/index.b9edc49b.js></script></body></html>

View File

@@ -1 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2b4f90f7"],{3685:function(t,e,a){},ec9e:function(t,e,a){"use strict";var n=a("3685"),i=a.n(n);i.a},fcc8f:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"resNav"},[a("div",{staticClass:"resNav-item resNav-left"},[a("a",{staticClass:"h-left",attrs:{href:"javascript:;"},on:{click:function(e){return t.goBack()}}},[a("el-image",{attrs:{src:"data/attachment/sitelogo/sitelogo.png",fit:"contain"}}),a("span",{staticClass:"text"},[t._v(t._s(t.navTitle))])],1)]),a("div",{staticClass:"resNav-item resNav-center"}),a("div",{staticClass:"resNav-item resNav-right"},[a("Mavatar")],1)])},i=[],c=(a("d3b7"),a("5530")),s=a("2f62"),r={props:["hideContent","apptype","hideBack"],data:function(){return{}},computed:Object(c["a"])(Object(c["a"])({},Object(s["c"])(["headerName","navTitle","IfuserAgent"])),Object(s["b"])(["GetNavMenu"])),methods:{handleClick:function(t){var e=this.GetNavMenu;for(var a in e)if(e[a].index==t){"admin"==e[a].type?window.location.href="admin.php?mod="+t:window.location.href="index.php?mod="+t;break}},goBack:function(){window.location.href="/"}},components:{Mavatar:function(){return a.e("chunk-801d4da6").then(a.bind(null,"6254"))}}},o=r,d=(a("ec9e"),a("2877")),l=Object(d["a"])(o,n,i,!1,null,"b9d2b62e",null);e["default"]=l.exports}}]); (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2b4f90f7"],{3685:function(t,e,a){},ec9e:function(t,e,a){"use strict";var n=a("3685"),i=a.n(n);i.a},fcc8f:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"resNav"},[a("div",{staticClass:"resNav-item resNav-left"},[a("a",{staticClass:"h-left",attrs:{href:"javascript:;"},on:{click:function(e){return t.goBack()}}},[a("el-image",{attrs:{src:"data/attachment/sitelogo/sitelogo.png",fit:"contain"}}),a("span",{staticClass:"text"},[t._v(t._s(t.navTitle))])],1)]),a("div",{staticClass:"resNav-item resNav-center"}),a("div",{staticClass:"resNav-item resNav-right"},[a("Mavatar")],1)])},i=[],c=(a("d3b7"),a("5530")),s=a("2f62"),r={props:["hideContent","apptype","hideBack"],data:function(){return{}},computed:Object(c["a"])(Object(c["a"])({},Object(s["c"])(["headerName","navTitle","IfuserAgent"])),Object(s["b"])(["GetNavMenu"])),methods:{handleClick:function(t){var e=this.GetNavMenu;for(var a in e)if(e[a].index==t){"admin"==e[a].type?window.location.href="admin.php?mod="+t:window.location.href="index.php?mod="+t;break}},goBack:function(){window.location.href="/"}},components:{Mavatar:function(){return a.e("chunk-7aef2525").then(a.bind(null,"6254"))}}},o=r,l=(a("ec9e"),a("2877")),d=Object(l["a"])(o,n,i,!1,null,"b9d2b62e",null);e["default"]=d.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2b4f90f7"],{3685:function(t,e,a){},ec9e:function(t,e,a){"use strict";var n=a("3685"),i=a.n(n);i.a},fcc8f:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"resNav"},[a("div",{staticClass:"resNav-item resNav-left"},[a("a",{staticClass:"h-left",attrs:{href:"javascript:;"},on:{click:function(e){return t.goBack()}}},[a("el-image",{attrs:{src:"data/attachment/sitelogo/sitelogo.png",fit:"contain"}}),a("span",{staticClass:"text"},[t._v(t._s(t.navTitle))])],1)]),a("div",{staticClass:"resNav-item resNav-center"}),a("div",{staticClass:"resNav-item resNav-right"},[a("Mavatar")],1)])},i=[],c=(a("d3b7"),a("5530")),s=a("2f62"),r={props:["hideContent","apptype","hideBack"],data:function(){return{}},computed:Object(c["a"])(Object(c["a"])({},Object(s["c"])(["headerName","navTitle","IfuserAgent"])),Object(s["b"])(["GetNavMenu"])),methods:{handleClick:function(t){var e=this.GetNavMenu;for(var a in e)if(e[a].index==t){"admin"==e[a].type?window.location.href="admin.php?mod="+t:window.location.href="index.php?mod="+t;break}},goBack:function(){window.location.href="/"}},components:{Mavatar:function(){return a.e("chunk-5cdcd199").then(a.bind(null,"6254"))}}},o=r,d=(a("ec9e"),a("2877")),l=Object(d["a"])(o,n,i,!1,null,"b9d2b62e",null);e["default"]=l.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0bdbc6"],{"2ced":function(t,n,e){"use strict";e.r(n);var c=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","text-align":"center"},attrs:{shadow:"hover"}},[e("p",[t._v(t._s(t.$t("upgrade_none")))])])},a=[],o={data:function(){return{}},created:function(){},methods:{},components:{},mounted:function(){}},r=o,s=e("2877"),u=Object(s["a"])(r,c,a,!1,null,null,null);n["default"]=u.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd46d"],{8164:function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}]},[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","text-align":"center"},attrs:{shadow:"hover"}},[a("p",{staticStyle:{"margin-bottom":"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful1")))])],1),a("p",{staticStyle:{margin:"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful2",{msg:e.$route.params.version})))])],1),a("p",{staticStyle:{"margin-bottom":"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful3",{dir:e.dir})))])],1),a("p",{staticStyle:{margin:"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful4",{backdir:e.backdir})))])],1)])],1)},n=[],r=(a("96cf"),a("1da1")),i={data:function(){return{loading:!1,dir:"",backdir:""}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(r["a"])(regeneratorRuntime.mark((function t(){var a,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.next=3,e.axios.post("admin.php?mod=system&op=intsystemupgrade&operation=patch&step=5",{version:e.$route.params.version});case 3:a=t.sent,s=a.data,e.dir=s.dir,e.backdir=s.backdir,e.loading=!1;case 8:case"end":return t.stop()}}),t)})))()}},components:{},mounted:function(){}},c=i,d=a("2877"),u=Object(d["a"])(c,s,n,!1,null,"f4790950",null);t["default"]=u.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd46d"],{8164:function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}]},[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","text-align":"center"},attrs:{shadow:"hover"}},[a("p",{staticStyle:{"margin-bottom":"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful1")))])],1),a("p",{staticStyle:{margin:"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful2",{msg:e.$route.params.version})))])],1),a("p",{staticStyle:{"margin-bottom":"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful3",{dir:e.dir})))])],1),a("p",{staticStyle:{margin:"0"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful4",{backdir:e.backdir})))])],1)])],1)},n=[],r=(a("96cf"),a("1da1")),i={data:function(){return{loading:!1,dir:"",backdir:""}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(r["a"])(regeneratorRuntime.mark((function t(){var a,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.next=3,e.axios.post("admin.php?mod=system&op=intsystemupgrade&operation=patch&step=5",{version:e.$route.params.version});case 3:a=t.sent,s=a.data,e.dir=s.dir,e.backdir=s.backdir,e.loading=!1;case 8:case"end":return t.stop()}}),t)})))()}},components:{},mounted:function(){}},c=i,d=a("2877"),u=Object(d["a"])(c,s,n,!1,null,"306dae10",null);t["default"]=u.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0efd3c"],{"9a86":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}]},[e.floading?a("div",[e.tableData.length?[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","margin-bottom":"25px"},attrs:{shadow:"hover"}},[a("ul",{staticClass:"help-inline",domProps:{innerHTML:e._s(e.$t("founder_upgrade_diff_show",{version:e.returnData.version,oldversion:e.oldversion}))}})]),a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[a("el-table-column",{attrs:{prop:"name",label:"文件名"}}),a("el-table-column",{attrs:{align:"center",prop:"status",label:"状态",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[1==t.row.status?[a("el-link",{attrs:{underline:!1,type:"danger"}},[e._v(e._s(e.$t("founder_upgrade_diff")))])]:2==t.row.status?[a("el-link",{attrs:{underline:!1,type:"info"}},[e._v(e._s(e.$t("founder_upgrade_normal")))])]:3==t.row.status?[a("el-link",{attrs:{underline:!1,type:"primary"}},[e._v(e._s(e.$t("founder_upgrade_new")))])]:e._e()]}}],null,!1,3979069617)})],1),a("div",{staticStyle:{"margin-top":"10px"}},[a("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.handleupdate}},[e._v(e._s(e.button))])],1)]:[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)"},attrs:{shadow:"hover"}},[a("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("filecheck_nofound_md5file")))])],1)]],2):e._e()])},n=[],o=(a("96cf"),a("1da1")),s={props:["returnData"],data:function(){return{loading:!1,floading:!1,tableData:[],button:"",oldversion:""}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(o["a"])(regeneratorRuntime.mark((function t(){var a,r,n,o,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,a={version:e.returnData.version?e.returnData.version:"",locale:e.returnData.locale?e.returnData.locale:"",charset:e.returnData.charset?e.returnData.charset:""},t.next=4,e.axios.post("admin.php?mod=system&op=intsystemupgrade&operation=patch&step=3",a);case 4:if(r=t.sent,n=r.data,!n.upgradeNone){t.next=12;break}return o={upgradeNone:!0},e.$emit("handleStep",o),t.abrupt("return",!1);case 12:if(!n.upgradeError){t.next=18;break}return o={upgradeError:!0},e.$emit("handleStep",o),t.abrupt("return",!1);case 18:if(!n.bbclosed){t.next=22;break}return s={template:"bbclosed"},e.$emit("handleStep",s),t.abrupt("return",!1);case 22:e.tableData=n.tableData,e.button=n.button,e.oldversion=n.oldversion,e.loading=!1,e.floading=!0;case 27:case"end":return t.stop()}}),t)})))()},handleupdate:function(){var e={template:4};return this.$emit("handleStep",e),!1}},components:{},mounted:function(){}},l=s,i=a("2877"),u=Object(i["a"])(l,r,n,!1,null,null,null);t["default"]=u.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21ddf7"],{d2c6:function(t,e,a){"use strict";a.r(e);var r=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[3==t.downloadstatus?[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","text-align":"center"},attrs:{shadow:"hover"}},[a("p",[t._v(t._s(t.$t("upgrade_redownload",{file:t.data.file})))]),a("el-button",{attrs:{type:"primary",size:"medium"},on:{click:t.handleretry}},[t._v(t._s(t.$t("retry")))])],1)]:[a("el-card",{staticClass:"box-card",staticStyle:{width:"600px",margin:"0 auto","margin-top":"50px"}},[a("div",{staticClass:"clearfix",staticStyle:{"text-align":"center"},attrs:{slot:"header"},slot:"header"},[a("span",[t._v(t._s(t.$t("upgrade_downloading_file")))])]),a("p",{staticStyle:{width:"100%",overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis","font-size":"14px"}},[4==t.downloadstatus?[t._v(t._s(t.$t("upgrade_download_complete_to_compare")))]:[t._v(t._s(t.data.file))]],2),a("el-progress",{staticStyle:{"margin-bottom":"20px"},attrs:{"text-inside":!0,"stroke-width":26,percentage:t.data.percent}})],1)]],2)},n=[],s=(a("96cf"),a("1da1")),o={props:["returnData"],data:function(){return{stepstatus:!0,downloadstatus:0,data:{file:"",fileseq:1,percent:0}}},created:function(){this.getData()},methods:{getData:function(){var t=this;return Object(s["a"])(regeneratorRuntime.mark((function e(){var a,r,n,s,o,d;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t.stepstatus){e.next=2;break}return e.abrupt("return",!1);case 2:return a={version:t.returnData.version?t.returnData.version:"",locale:t.returnData.locale?t.returnData.locale:"",charset:t.returnData.charset?t.returnData.charset:"",fileseq:t.data.fileseq},e.next=5,t.axios.post("admin.php?mod=system&op=intsystemupgrade&operation=patch&step=2",a);case 5:if(r=e.sent,n=r.data,!n.upgradeNone){e.next=13;break}return s={upgradeNone:!0},t.$emit("handleStep",s),e.abrupt("return",!1);case 13:if(!n.upgradeError){e.next=19;break}return s={upgradeError:!0},t.$emit("handleStep",s),e.abrupt("return",!1);case 19:if(!n.bbclosed){e.next=23;break}return o={template:"bbclosed"},t.$emit("handleStep",o),e.abrupt("return",!1);case 23:return t.downloadstatus=n.downloadstatus,3==n.downloadstatus?t.data.file=n.data.file:4==n.downloadstatus?(t.data.percent=100,d={template:3},setTimeout((function(){t.$emit("handleStep",d)}),1e3)):(n.data.percent=parseInt(n.data.percent),t.data=n.data,t.getData()),e.abrupt("return",!1);case 26:case"end":return e.stop()}}),e)})))()},handleretry:function(){window.location.reload()}},components:{},mounted:function(){},destroyed:function(){this.stepstatus=!1}},d=o,i=a("2877"),u=Object(i["a"])(d,r,n,!1,null,null,null);e["default"]=u.exports}}]);

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5cdcd199"],{6254:function(t,a,e){"use strict";e.r(a);var o=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticStyle:{"margin-left":"10px",display:"inherit"}},[e("el-dropdown",{staticStyle:{width:"35px",height:"35px"},attrs:{trigger:"click","hide-on-click":!1},on:{command:t.handleAvatar}},[t.GetUserData.icon?[e("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[e("el-avatar",{attrs:{size:35,src:t.GetUserData.icon}})],1)]:[e("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[e("el-avatar",{style:{background:t.GetUserData.headerColor},attrs:{size:35}},[t._v(t._s(t.GetUserData.firstword))])],1)],e("el-dropdown-menu",{staticClass:"avatar-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",{attrs:{command:"personal"}},[t._v("个人设置")]),e("el-dropdown-item",{attrs:{command:"help"}},[t._v("帮助文档")]),e("el-dropdown-item",{attrs:{command:"problem"}},[t._v("问题反馈")]),e("el-divider"),e("el-dropdown-item",{attrs:{command:"setting"}},[t._v("站点设置")]),e("el-dropdown-item",{attrs:{command:"library"}},[t._v("库设置")]),e("el-dropdown-item",{attrs:{command:"system"}},[e("span",{staticStyle:{position:"relative"}},[t._v(" 系统工具 "),t.GetUserData.upgrade?e("div",{staticClass:"tip",staticStyle:{width:"7px",height:"7px","border-radius":"50%",background:"red",position:"absolute",left:"-13px",top:"0",bottom:"0",margin:"auto"}}):t._e()])]),e("el-divider"),e("el-dropdown-item",{attrs:{command:"about"}},[t._v("关于PicHome")]),e("el-dropdown-item",{attrs:{command:"OutLogin"}},[t._v("退出站点")])],1)],2)],1)},s=[],n=(e("96cf"),e("1da1")),i=e("5530"),r=e("2f62"),c={data:function(){return{}},computed:Object(i["a"])({},Object(r["b"])(["GetUserData","GetFormHash","GetLanguage"])),methods:{handleAvatar:function(t){switch(t){case"personal":window.location.href="index.php?mod=pichome&op=user&do=personal";break;case"help":window.open("https://www.yuque.com/pichome");break;case"problem":window.open("https://support.qq.com/products/340252");break;case"setting":window.location.href="index.php?mod=pichome&op=admin&do=basic";break;case"library":window.location.href="index.php?mod=pichome&op=library";break;case"about":this.$alert('<div class="aboutlogo">\n \t\t\t<img src="dzz/pichome/image/phlogo.png" alt="">\n \t\t</div>\n \t\t<div class="aboutmessage">\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">软件名称:</span><span class="mes">欧奥PicHome</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版本信息:</span><span class="mes">'+this.GetUserData.version+'</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版权信息:</span><span class="mes">Powered By oaooa PicHome © 2020-2021 欧奥图文</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">网站地址:</span><span class="mes"><a class="address" href="https://oaooa.com/" target="_blank">oaooa.com</a></span>\n \t\t\t</div>\n \t\t</div>',"",{customClass:"aboutPichome",showClose:!1,showConfirmButton:!1,dangerouslyUseHTMLString:!0,closeOnClickModal:!0});break;case"OutLogin":this.outLogin();break;case"system":window.open("admin.php?mod=system");break}return!1},outLogin:function(){var t=this;return Object(n["a"])(regeneratorRuntime.mark((function a(){var e;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.next=2,t.axios.post(t.AxiosApi+"user.php?mod=login&op=logging&action=logout&formhash="+t.GetFormHash+"&t="+(new Date).getTime());case 2:e=a.sent,e.data,window.location.reload();case 5:case"end":return a.stop()}}),a)})))()}}},d=c,l=(e("d2ba"),e("9c24"),e("2877")),p=Object(l["a"])(d,o,s,!1,null,"6f47bc15",null);a["default"]=p.exports},"864f":function(t,a,e){},"9c24":function(t,a,e){"use strict";var o=e("864f"),s=e.n(o);s.a},ae63:function(t,a,e){},d2ba:function(t,a,e){"use strict";var o=e("ae63"),s=e.n(o);s.a}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-77c8d08e"],{"1f5d":function(e,t,a){"use strict";a.r(t);var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}]},[a("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","margin-bottom":"25px"},attrs:{shadow:"hover"}},[a("ul",{staticClass:"help-inline",domProps:{innerHTML:e._s(e.$t("founder_upgrade_store_directory",{msg:e.returnData.version}))}})]),e._l(e.files,(function(t){return a("div",{staticClass:"wait-files"},[a("i",{staticClass:"el-icon-document"}),e._v(" "+e._s(t)+" ")])})),a("el-button",{attrs:{type:"primary",size:"medium"},on:{click:e.handleupdate}},[e._v(e._s(e.$t("founder_upgrade_download")))])],2)},r=[],o=(a("96cf"),a("1da1")),i={props:["returnData"],data:function(){return{files:[],loading:!1}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(o["a"])(regeneratorRuntime.mark((function t(){var a,n,r,o,i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,a={version:e.returnData.version?e.returnData.version:"",locale:e.returnData.locale?e.returnData.locale:"",charset:e.returnData.charset?e.returnData.charset:""},t.next=4,e.axios.post("admin.php?mod=system&op=intsystemupgrade&operation=patch&step=1",a);case 4:return n=t.sent,r=n.data,r.upgradeNone?(o={upgradeNone:!0},e.$emit("handleStep",o)):r.upgradeError?(o={upgradeError:!0},e.$emit("handleStep",o)):r.bbclosed?(i={bbclosed:!0},e.$emit("handleStep",i)):(e.files=r.data,e.loading=!1),t.abrupt("return",!1);case 8:case"end":return t.stop()}}),t)})))()},handleupdate:function(){var e={template:2};this.$emit("handleStep",e)}},components:{},mounted:function(){}},s=i,u=(a("7949"),a("2877")),d=Object(u["a"])(s,n,r,!1,null,"00939ee2",null);t["default"]=d.exports},7949:function(e,t,a){"use strict";var n=a("93b8"),r=a.n(n);r.a},"93b8":function(e,t,a){}}]);

View File

@@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7aef2525"],{"3e42":function(t,e,a){},6254:function(t,e,a){"use strict";a.r(e);var o=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticStyle:{"margin-left":"10px",display:"inherit"}},[a("el-dropdown",{staticStyle:{width:"35px",height:"35px"},attrs:{trigger:"click","hide-on-click":!1},on:{command:t.handleAvatar}},[t.GetUserData.icon?[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[a("el-avatar",{attrs:{size:35,src:t.GetUserData.icon}})],1)]:[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[a("el-avatar",{style:{background:t.GetUserData.headerColor},attrs:{size:35}},[t._v(t._s(t.GetUserData.firstword))])],1)],a("el-dropdown-menu",{staticClass:"avatar-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"personal"}},[t._v("个人设置")]),a("el-dropdown-item",{attrs:{command:"help"}},[t._v("帮助文档")]),a("el-dropdown-item",{attrs:{command:"problem"}},[t._v("问题反馈")]),a("el-divider"),a("el-dropdown-item",{attrs:{command:"setting"}},[t._v("站点设置")]),a("el-dropdown-item",{attrs:{command:"library"}},[t._v("库设置")]),a("el-dropdown-item",{attrs:{command:"system"}},[a("span",{staticStyle:{position:"relative"}},[t._v(" 系统工具 "),t.GetUserData.upgrade?a("div",{staticClass:"tip",staticStyle:{width:"7px",height:"7px","border-radius":"50%",background:"red",position:"absolute",left:"-13px",top:"0",bottom:"0",margin:"auto"}}):t._e()])]),a("el-divider"),a("el-dropdown-item",{attrs:{command:"about"}},[t._v("关于PicHome")]),a("el-dropdown-item",{attrs:{command:"OutLogin"}},[t._v("退出站点")])],1)],2)],1)},s=[],n=(a("96cf"),a("1da1")),i=a("5530"),r=a("2f62"),c={data:function(){return{}},computed:Object(i["a"])({},Object(r["b"])(["GetUserData","GetFormHash","GetLanguage"])),methods:{handleAvatar:function(t){switch(t){case"collection":window.location.href="index.php?mod=collection";break;case"personal":window.location.href="index.php?mod=pichome&op=user&do=personal";break;case"help":window.open("https://www.yuque.com/pichome");break;case"problem":window.open("https://support.qq.com/products/340252");break;case"setting":window.location.href="index.php?mod=pichome&op=admin&do=authorize";break;case"library":window.location.href="index.php?mod=pichome&op=library";break;case"about":this.$alert('<div class="aboutlogo">\n \t\t\t<img src="dzz/pichome/image/phlogo.png" alt="">\n \t\t</div>\n \t\t<div class="aboutmessage">\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">软件名称:</span><span class="mes">欧奥PicHome</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版本信息:</span><span class="mes">'+this.GetUserData.version+'</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版权信息:</span><span class="mes">Powered By oaooa PicHome © 2020-2022 欧奥图文</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">网站地址:</span><span class="mes"><a class="address" href="https://oaooa.com/" target="_blank">oaooa.com</a></span>\n \t\t\t</div>\n \t\t</div>',"",{customClass:"aboutPichome",showClose:!1,showConfirmButton:!1,dangerouslyUseHTMLString:!0,closeOnClickModal:!0});break;case"OutLogin":this.outLogin();break;case"system":window.open("admin.php?mod=system");break;case"orguser":window.open("admin.php?mod=orguser");break}return!1},outLogin:function(){var t=this;return Object(n["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.axios.post(t.AxiosApi+"user.php?mod=login&op=logging&action=logout&formhash="+t.GetFormHash+"&t="+(new Date).getTime());case 2:a=e.sent,a.data,window.location.reload();case 5:case"end":return e.stop()}}),e)})))()}}},d=c,l=(a("74bc"),a("9c24"),a("2877")),p=Object(l["a"])(d,o,s,!1,null,"1aac96c1",null);e["default"]=p.exports},"74bc":function(t,e,a){"use strict";var o=a("3e42"),s=a.n(o);s.a},"864f":function(t,e,a){},"9c24":function(t,e,a){"use strict";var o=a("864f"),s=a.n(o);s.a}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-801d4da6"],{"04d2":function(t,e,a){},6254:function(t,e,a){"use strict";a.r(e);var o=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticStyle:{"margin-left":"10px",display:"inherit"}},[a("el-dropdown",{staticStyle:{width:"35px",height:"35px"},attrs:{trigger:"click","hide-on-click":!1},on:{command:t.handleAvatar}},[t.GetUserData.icon?[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[a("el-avatar",{attrs:{size:35,src:t.GetUserData.icon}})],1)]:[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.GetUserData.username,placement:"left"}},[a("el-avatar",{style:{background:t.GetUserData.headerColor},attrs:{size:35}},[t._v(t._s(t.GetUserData.firstword))])],1)],a("el-dropdown-menu",{staticClass:"avatar-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"personal"}},[t._v("个人设置")]),a("el-dropdown-item",{attrs:{command:"help"}},[t._v("帮助文档")]),a("el-dropdown-item",{attrs:{command:"problem"}},[t._v("问题反馈")]),a("el-divider"),a("el-dropdown-item",{attrs:{command:"setting"}},[t._v("站点设置")]),a("el-dropdown-item",{attrs:{command:"library"}},[t._v("库设置")]),a("el-dropdown-item",{attrs:{command:"orguser"}},[t._v("用户管理")]),a("el-dropdown-item",{attrs:{command:"system"}},[a("span",{staticStyle:{position:"relative"}},[t._v(" 系统工具 "),t.GetUserData.upgrade?a("div",{staticClass:"tip",staticStyle:{width:"7px",height:"7px","border-radius":"50%",background:"red",position:"absolute",left:"-13px",top:"0",bottom:"0",margin:"auto"}}):t._e()])]),a("el-divider"),a("el-dropdown-item",{attrs:{command:"about"}},[t._v("关于PicHome")]),a("el-dropdown-item",{attrs:{command:"OutLogin"}},[t._v("退出站点")])],1)],2)],1)},s=[],n=(a("96cf"),a("1da1")),i=a("5530"),r=a("2f62"),c={data:function(){return{}},computed:Object(i["a"])({},Object(r["b"])(["GetUserData","GetFormHash","GetLanguage"])),methods:{handleAvatar:function(t){switch(t){case"collection":window.location.href="index.php?mod=collection";break;case"personal":window.location.href="index.php?mod=pichome&op=user&do=personal";break;case"help":window.open("https://www.yuque.com/pichome");break;case"problem":window.open("https://support.qq.com/products/340252");break;case"setting":window.location.href="index.php?mod=pichome&op=admin&do=basic";break;case"library":window.location.href="index.php?mod=pichome&op=library";break;case"about":this.$alert('<div class="aboutlogo">\n \t\t\t<img src="dzz/pichome/image/phlogo.png" alt="">\n \t\t</div>\n \t\t<div class="aboutmessage">\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">软件名称:</span><span class="mes">欧奥PicHome</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版本信息:</span><span class="mes">'+this.GetUserData.version+'</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">版权信息:</span><span class="mes">Powered By oaooa PicHome © 2020-2022 欧奥图文</span>\n \t\t\t</div>\n \t\t\t<div class="aboutlist">\n \t\t\t\t<span class="title">网站地址:</span><span class="mes"><a class="address" href="https://oaooa.com/" target="_blank">oaooa.com</a></span>\n \t\t\t</div>\n \t\t</div>',"",{customClass:"aboutPichome",showClose:!1,showConfirmButton:!1,dangerouslyUseHTMLString:!0,closeOnClickModal:!0});break;case"OutLogin":this.outLogin();break;case"system":window.open("admin.php?mod=system");break;case"orguser":window.open("admin.php?mod=orguser");break}return!1},outLogin:function(){var t=this;return Object(n["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.axios.post(t.AxiosApi+"user.php?mod=login&op=logging&action=logout&formhash="+t.GetFormHash+"&t="+(new Date).getTime());case 2:a=e.sent,a.data,window.location.reload();case 5:case"end":return e.stop()}}),e)})))()}}},d=c,l=(a("a16b"),a("9c24"),a("2877")),p=Object(l["a"])(d,o,s,!1,null,"663b95fa",null);e["default"]=p.exports},"864f":function(t,e,a){},"9c24":function(t,e,a){"use strict";var o=a("864f"),s=a.n(o);s.a},a16b:function(t,e,a){"use strict";var o=a("04d2"),s=a.n(o);s.a}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-9f9c2568"],{"01e3":function(e,t,n){"use strict";n.r(t);var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page-content"},[n("div",{staticClass:"top-title color-border",staticStyle:{display:"flex"}},[n("span",[e._v(e._s(e.$t("upgrade"))),e.elstep>0?n("span",{staticClass:"line"}):e._e()]),e.elstep>0?n("el-steps",{staticStyle:{flex:"1"},attrs:{active:e.elstep,"finish-status":"success",simple:""}},[n("el-step",{attrs:{title:e.$t("founder_upgrade_updatelist")}}),n("el-step",{attrs:{title:e.$t("founder_upgrade_download")}}),n("el-step",{attrs:{title:e.$t("founder_upgrade_compare")}}),n("el-step",{attrs:{title:e.$t("founder_upgrade_upgrading")}}),n("el-step",{attrs:{title:e.$t("founder_upgrade_complete")}})],1):e._e()],1),n("el-scrollbar",{staticClass:"page-component__scroll"},[n("div",{staticClass:"content",staticStyle:{padding:"25px"}},[n(e.template,{tag:"component",attrs:{returnData:e.returnData},on:{handleStep:e.handleStep}})],1)])],1)},a=[],r=(n("d3b7"),{props:["returnData"],data:function(){return{elstep:"",template:""}},watch:{elstep:{handler:function(e){this.handleTemplate()}},$route:{handler:function(e){e.params&&e.params.version&&(this.elstep=5)},deep:!0}},created:function(){this.returnData.iframes?this.elstep=4:(this.elstep=this.returnData.step?this.returnData.step:1,this.handleTemplate())},methods:{handleStep:function(e){e.upgradeNone?(this.template="upgradeNone",this.elstep=0):e.upgradeError?(this.template="upgradeError",this.elstep=0):e.bbclosed?(this.template="bbclosed",this.elstep=0):this.elstep=e.template},handleTemplate:function(){switch(this.elstep){case 1:this.template="step1";break;case 2:this.template="step2";break;case 3:this.template="step3";break;case 4:this.template="step4";break;case 5:this.template="step5";break}}},components:{upgradeError:function(){return n.e("chunk-2d20fcd9").then(n.bind(null,"b4d5"))},upgradeNone:function(){return n.e("chunk-2d0bdbc6").then(n.bind(null,"2ced"))},bbclosed:function(){return n.e("chunk-2d0a3327").then(n.bind(null,"00c4"))},step1:function(){return n.e("chunk-77c8d08e").then(n.bind(null,"1f5d"))},step2:function(){return n.e("chunk-2d21ddf7").then(n.bind(null,"d2c6"))},step3:function(){return n.e("chunk-2d0efd3c").then(n.bind(null,"9a86"))},step4:function(){return n.e("chunk-36bedb7f").then(n.bind(null,"4e68"))},step5:function(){return n.e("chunk-2d0dd46d").then(n.bind(null,"8164"))}},destroyed:function(){}}),l=r,p=(n("8dc4"),n("2877")),i=Object(p["a"])(l,s,a,!1,null,"0dbad62e",null);t["default"]=i.exports},"1a21":function(e,t,n){},"8dc4":function(e,t,n){"use strict";var s=n("1a21"),a=n.n(s);a.a}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -24,7 +24,8 @@ $steplang = array('', lang('founder_upgrade_updatelist'), lang('founder_upgrade_
if ($operation == 'patch' || $operation == 'cross') { if ($operation == 'patch' || $operation == 'cross') {
if (!$_G['setting']['bbclosed']) { if (!$_G['setting']['bbclosed']) {
exit(json_encode(array('bbclosed'=>true))); C::t('setting')->update('bbclosed', 1);
updatecache('setting');
} }
$msg = ''; $msg = '';

View File

@@ -188,7 +188,7 @@ class dzz_app extends dzz_base{
} }
$url = parse_url($_G['siteurl']); $url = parse_url($_G['siteurl']);
$_G['siteroot'] = isset($url['path']) ? $url['path'] : ''; $_G['siteroot'] = isset($url['path']) ? $url['path'] : '';
$_G['siteport'] = empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' || $_SERVER['SERVER_PORT'] == '443' ? '' : ':'.$_SERVER['SERVER_PORT']; $_G['siteport'] = (empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' || $_SERVER['SERVER_PORT'] == '443' || $_SERVER['HTTP_X_FORWARDED_PORT'] == '443')? '' : ':'.$_SERVER['SERVER_PORT'];
if(defined('SUB_DIR')) { if(defined('SUB_DIR')) {
$_G['siteurl'] = str_replace(SUB_DIR, '/', $_G['siteurl']); $_G['siteurl'] = str_replace(SUB_DIR, '/', $_G['siteurl']);
@@ -208,6 +208,8 @@ class dzz_app extends dzz_base{
}elseif($_SERVER['SERVER_PORT'] == 443){ //其他 }elseif($_SERVER['SERVER_PORT'] == 443){ //其他
return TRUE; return TRUE;
}elseif($_SERVER['REQUEST_SCHEME'] == 'https'){ //其他 }elseif($_SERVER['REQUEST_SCHEME'] == 'https'){ //其他
return TRUE;
}elseif(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){ //其他
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
@@ -363,9 +365,7 @@ class dzz_app extends dzz_base{
$allowgzip = $this->config['output']['gzip'] && empty($this->var['inajax']) && EXT_OBGZIP; $allowgzip = $this->config['output']['gzip'] && empty($this->var['inajax']) && EXT_OBGZIP;
setglobal('gzipcompress', $allowgzip); setglobal('gzipcompress', $allowgzip);
if($this->config['localurl']){
setglobal('localurl', $this->config['localurl']);
}
if(!ob_start($allowgzip ? 'ob_gzhandler' : null)) { if(!ob_start($allowgzip ? 'ob_gzhandler' : null)) {
ob_start(); ob_start();
} }
@@ -375,6 +375,9 @@ class dzz_app extends dzz_base{
if($this->config['output']['forceheader']) { if($this->config['output']['forceheader']) {
@header('Content-Type: text/html; charset='.CHARSET); @header('Content-Type: text/html; charset='.CHARSET);
} }
if($this->config['localurl']){
setglobal('localurl', $this->config['localurl']);
}
} }
@@ -508,6 +511,15 @@ class dzz_app extends dzz_base{
} }
setglobal('uid', getglobal('uid', 'member')); setglobal('uid', getglobal('uid', 'member'));
if($this->var['member']['adminid']){
setglobal('pichomelevel',5);
}else{
$pichomelevel = C::t('user_setting')->fetch_by_skey('pichomelevel',getglobal('uid', 'member'));
$pichomelevel = $pichomelevel ? intval($pichomelevel):0;
setglobal('pichomelevel',$pichomelevel);
}
//设置语言; //设置语言;
$langlist=$this->var['config']['output']['language_list']; $langlist=$this->var['config']['output']['language_list'];
if($language=getcookie('language')){ if($language=getcookie('language')){

View File

@@ -6,329 +6,452 @@
* @link https://www.oaooa.com * @link https://www.oaooa.com
* @author zyx(zyx@oaooa.com) * @author zyx(zyx@oaooa.com)
*/ */
if ( !defined( 'IN_OAOOA' ) ) { if (!defined('IN_OAOOA')) {
exit( 'Access Denied' ); exit('Access Denied');
} }
include_once DZZ_ROOT . './core/core_version.php'; include_once DZZ_ROOT . './core/core_version.php';
class dzz_upgrade {
var $upgradeurl = 'http://help.oaooa.com/upgrade/'; class dzz_upgrade
var $locale = 'SC'; {
var $charset = 'UTF-8';
public function __construct() { var $upgradeurl = APP_CHECK_URL . 'authlicense/upgrade/';
$this->upgradeurl = 'http://help.oaooa.com/upgrade/' . getglobal( 'setting/siteuniqueid' ) . '/'; var $checkurl = APP_CHECK_URL . 'authlicense/authlic/';
} var $locale = 'SC';
public function fetch_updatefile_list( $upgradeinfo ) { var $charset = 'UTF-8';
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo[ 'latestversion' ] . '/updatelist.tmp'; public function __construct()
$upgradedataflag = true; {
$upgradedata = @file_get_contents( $file ); global $_G;
if ( !$upgradedata ) { $machinecode = $_G['setting']['machinecode'];
$upgradedata = dfsockopen( $this->upgradeurl . substr( $upgradeinfo[ 'upgradelist' ], 0, -4 ) . strtolower( '_' . $this->locale . '_' . $this->charset ) . '.txt' ); if (!$machinecode) {
$upgradedataflag = false; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$onlineip = $_SERVER['REMOTE_ADDR'];
$machinecode = 'PH' . $chars[date('y') % 60] . $chars[date('n')] .
$chars[date('j')] . $chars[date('G')] . $chars[date('i')] .
$chars[date('s')] . substr(md5($onlineip . TIMESTAMP), 0, 4) . random(4);
C::t('setting')->update('machinecode', $machinecode);
C::t('setting')->update('adminfirstlogin', 0);
}
$serveruid = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID : 0;
$this->upgradeurl = $this->upgradeurl . 'Pichome/';
} }
$return = array(); public function fetch_updatefile_list($upgradeinfo)
{
global $_G;
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo['latestversion'] . '/updatelist.tmp';
$upgradedataflag = true;
$upgradedata = @file_get_contents($file);
if (!$upgradedata) {
$update = array();
$update['mcode'] = $_G['setting']['machinecode'];
$update['siteurl'] = $_G['siteurl'];
$update['sitename'] = $_G['setting']['sitename'];
$update['version'] = CORE_VERSION;
$update['release'] = CORE_RELEASE;
$update['version_level'] = CORE_VERSION_LEVEL;
$update['fixbug'] = CORE_FIXBUG;
$update['license_time'] = defined('LICENSE_CTIME') ? LICENSE_CTIME : 0;
$update['license_serveruid'] = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID : 0;
$update['license_version'] = defined('LICENSE_VERSION') ? LICENSE_VERSION : '';
$update['path'] = substr($upgradeinfo['upgradelist'], 0, -4) . strtolower('_' . $this->locale . '_' . $this->charset) . '.txt';
$upgradedataarr = explode( "\n", str_replace( "\r\n", "\n", $upgradedata ) ); $data = '';
foreach ( $upgradedataarr as $k => $v ) { foreach ($update as $key => $value) {
if ( !$v ) { $data .= $key . '=' . rawurlencode($value) . '&';
continue; }
}
$return[ 'file' ][ $k ] = trim( substr( $v, 34 ) );
$return[ 'md5' ][ $k ] = substr( $v, 0, 32 );
if ( trim( substr( $v, 32, 2 ) ) != '*' ) {
@unlink( $file );
return array();
}
} $upgradefile = $this->upgradeurl . rawurlencode(base64_encode($data)) . '/' . TIMESTAMP;
if ( !$upgradedataflag ) { $upgradedata = dfsockopen($upgradefile);
$this->mkdirs( dirname( $file ) ); $upgradedataflag = false;
$fp = fopen( $file, 'w' ); }
if ( !$fp ) {
return array(); $return = array();
}
fwrite( $fp, $upgradedata ); $upgradedataarr = explode("\n", str_replace("\r\n", "\n", $upgradedata));
foreach ($upgradedataarr as $k => $v) {
if (!$v) {
continue;
}
$return['file'][$k] = trim(substr($v, 34));
$return['md5'][$k] = substr($v, 0, 32);
if (trim(substr($v, 32, 2)) != '*') {
@unlink($file);
return array();
}
}
if (!$upgradedataflag) {
$this->mkdirs(dirname($file));
$fp = fopen($file, 'w');
if (!$fp) {
return array();
}
fwrite($fp, $upgradedata);
}
return $return;
} }
return $return; public function compare_basefile($upgradeinfo, $upgradefilelist, $upgrademd5list)
} {
if (!$dzzfiles = @file(DZZ_ROOT . './admin/oaooafiles.md5')) {
$modifylist = $showlist = $searchlist = $md5datanew = $md5data = array();
foreach ($upgradefilelist as $key => $file) {
$md5datanew[$file] = $upgrademd5list[$key];
$md5data[$file] = md5_file(DZZ_ROOT . './' . $file);
if (!file_exists(DZZ_ROOT . './' . $file)) {
$newlist[$file] = $file;
} elseif ($md5datanew[$file] != $md5data[$file]) {
if (!$upgradeinfo['isupdatetemplate'] && preg_match('/\.htm$/i', $file)) {
$ignorelist[$file] = $file;
$searchlist[] = "\r\n" . $file;
$searchlist[] = "\n" . $file;
continue;
}
$modifylist[$file] = $file;
} else {
$showlist[$file] = $file;
}
}
if ($searchlist) {
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo['latestversion'] . '/updatelist.tmp';
$upgradedata = file_get_contents($file);
$upgradedata = str_replace($searchlist, '', $upgradedata);
$fp = fopen($file, 'w');
if ($fp) {
fwrite($fp, $upgradedata);
}
}
return array($modifylist, $showlist, $ignorelist, $newlist);
}
public function compare_basefile( $upgradeinfo, $upgradefilelist, $upgrademd5list ) { $newupgradefilelist = $newlist = array();
if ( !$dzzfiles = @file( DZZ_ROOT . './admin/oaooafiles.md5' ) ) { foreach ($upgradefilelist as $v) {
$modifylist = $showlist = $searchlist = $md5datanew = $md5data = array(); if (!file_exists(DZZ_ROOT . './' . $v)) {
foreach ( $upgradefilelist as $key => $file ) { $newlist[$v] = $v;
$md5datanew[ $file ] = $upgrademd5list[ $key ]; } else {
$md5data[ $file ] = md5_file( DZZ_ROOT . './' . $file ); $newupgradefilelist[$v] = md5_file(DZZ_ROOT . './' . $v);
if ( !file_exists( DZZ_ROOT . './' . $file ) ) { }
$newlist[ $file ] = $file; }
} elseif ( $md5datanew[ $file ] != $md5data[ $file ] ) {
if ( !$upgradeinfo[ 'isupdatetemplate' ] && preg_match( '/\.htm$/i', $file ) ) { $modifylist = $showlist = $searchlist = array();
$ignorelist[ $file ] = $file; foreach ($dzzfiles as $line) {
$searchlist[] = "\r\n" . $file; $file = trim(substr($line, 34));
$searchlist[] = "\n" . $file; $md5datanew[$file] = substr($line, 0, 32);
continue; if (isset($newupgradefilelist[$file])) {
} if ($md5datanew[$file] != $newupgradefilelist[$file]) {
$modifylist[ $file ] = $file; if (!$upgradeinfo['isupdatetemplate'] && preg_match('/\.htm$/i', $file)) {
$ignorelist[$file] = $file;
$searchlist[] = "\r\n" . $file;
$searchlist[] = "\n" . $file;
continue;
}
$modifylist[$file] = $file;
} else {
$showlist[$file] = $file;
}
}
}
if ($searchlist) {
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo['latestversion'] . '/updatelist.tmp';
$upgradedata = file_get_contents($file);
$upgradedata = str_replace($searchlist, '', $upgradedata);
$fp = fopen($file, 'w');
if ($fp) {
fwrite($fp, $upgradedata);
}
}
return array($modifylist, $showlist, $ignorelist, $newlist);
}
public function compare_file_content($file, $remotefile)
{
if (!preg_match('/\.php$|\.htm$/i', $file)) {
return false;
}
$content = preg_replace('/\s/', '', file_get_contents($file));
$ctx = stream_context_create(array('http' => array('timeout' => 60)));
$remotecontent = preg_replace('/\s/', '', file_get_contents($remotefile, false, $ctx));
if (strcmp($content, $remotecontent)) {
return false;
} else { } else {
$showlist[ $file ] = $file; return true;
} }
}
if ( $searchlist ) {
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo[ 'latestversion' ] . '/updatelist.tmp';
$upgradedata = file_get_contents( $file );
$upgradedata = str_replace( $searchlist, '', $upgradedata );
$fp = fopen( $file, 'w' );
if ( $fp ) {
fwrite( $fp, $upgradedata );
}
}
return array( $modifylist, $showlist, $ignorelist, $newlist );
} }
$newupgradefilelist = $newlist = array(); public function check_upgrade()
foreach ( $upgradefilelist as $v ) { {
if ( !file_exists( DZZ_ROOT . './' . $v ) ) {
$newlist[ $v ] = $v;
} else {
$newupgradefilelist[ $v ] = md5_file( DZZ_ROOT . './' . $v );
}
}
$modifylist = $showlist = $searchlist = array(); include_once libfile('class/xml');
foreach ( $dzzfiles as $line ) { include_once libfile('function/cache');
$file = trim( substr( $line, 34 ) ); global $_G;
$md5datanew[ $file ] = substr( $line, 0, 32 ); $return = false;
if ( isset( $newupgradefilelist[ $file ] ) ) { $update = array();
if ( $md5datanew[ $file ] != $newupgradefilelist[ $file ] ) { $update['mcode'] = $_G['setting']['machinecode'];
if ( !$upgradeinfo[ 'isupdatetemplate' ] && preg_match( '/\.htm$/i', $file ) ) { $update['siteurl'] = $_G['siteurl'];
$ignorelist[ $file ] = $file; $update['sitename'] = $_G['setting']['sitename'];
$searchlist[] = "\r\n" . $file; $update['version'] = CORE_VERSION;
$searchlist[] = "\n" . $file; $update['release'] = CORE_RELEASE;
continue; $update['version_level'] = CORE_VERSION_LEVEL;
} $update['fixbug'] = CORE_FIXBUG;
$modifylist[ $file ] = $file; $update['license_time'] = defined('LICENSE_CTIME') ? LICENSE_CTIME : 0;
$update['license_serveruid'] = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID : 0;
$update['license_version'] = defined('LICENSE_VERSION') ? LICENSE_VERSION : '';
$update['path'] = 'upgrade.xml';
$data = '';
foreach ($update as $key => $value) {
$data .= $key . '=' . rawurlencode($value) . '&';
}
$upgradefile = $this->upgradeurl . rawurlencode(base64_encode($data)) . '/' . TIMESTAMP;
$response = xml2array(dfsockopen($upgradefile, 0, '', '', FALSE, '', 10));
if (isset($response['cross']) || isset($response['patch'])) {
C::t('setting')->update('upgrade', $response);
$return = true;
} else { } else {
$showlist[ $file ] = $file; C::t('setting')->update('upgrade', '');
$return = false;
} }
} updatecache('setting');
} $this->upgradeinformation();
if ( $searchlist ) { return $return;
$file = DZZ_ROOT . './data/update/pichome' . $upgradeinfo[ 'latestversion' ] . '/updatelist.tmp';
$upgradedata = file_get_contents( $file );
$upgradedata = str_replace( $searchlist, '', $upgradedata );
$fp = fopen( $file, 'w' );
if ( $fp ) {
fwrite( $fp, $upgradedata );
}
} }
return array( $modifylist, $showlist, $ignorelist, $newlist ); public function check_authlic()
} {
include_once libfile('function/cache');
global $_G;
$return = false;
$checkdata['mcode'] = defined('LICENSE_MCODE') ? LICENSE_MCODE:$_G['setting']['machinecode'];
$checkdata['version'] = defined('LICENSE_VERSION') ? LICENSE_VERSION:CORE_VERSION;
$checkdata['uid'] = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID:0;
$checkdata['company'] = defined('LICENSE_COMPANY') ? LICENSE_COMPANY:'';
$checkdata['lunum'] = defined('LICENSE_LIMIT') ? LICENSE_LIMIT:1;
$checkdata['dateline'] = defined('LICENSE_CTIME') ? LICENSE_CTIME:0;
$checkdata['expiretime'] = LICENSE_EXPIRE;
$checkdata['siteurl'] = $_G['siteurl'];
$checkdata['sitename'] = $_G['setting']['sitename'];
$checkdata['unum'] = CURRTENT_UNUM;
$data = '';
public function compare_file_content( $file, $remotefile ) { foreach ($checkdata as $key => $value) {
if ( !preg_match( '/\.php$|\.htm$/i', $file ) ) { $data .= $key . '=' . rawurlencode($value) . '&';
return false;
}
$content = preg_replace( '/\s/', '', file_get_contents( $file ) );
$ctx = stream_context_create( array( 'http' => array( 'timeout' => 60 ) ) );
$remotecontent = preg_replace( '/\s/', '', file_get_contents( $remotefile, false, $ctx ) );
if ( strcmp( $content, $remotecontent ) ) {
return false;
} else {
return true;
}
}
public function check_upgrade() {
include_once libfile( 'class/xml' );
include_once libfile( 'function/cache' );
$return = false;
$upgradefile = $this->upgradeurl . $this->versionpath() . '/upgrade.xml';
$response = xml2array( dfsockopen( $upgradefile, 0, '', '', FALSE, '', 10 ) );
if ( isset( $response[ 'cross' ] ) || isset( $response[ 'patch' ] ) ) {
C::t( 'setting' )->update( 'upgrade', $response );
$return = true;
} else {
C::t( 'setting' )->update( 'upgrade', '' );
$return = false;
}
updatecache( 'setting' );
$this->upgradeinformation();
return $return;
}
public function check_folder_perm( $updatefilelist ) {
foreach ( $updatefilelist as $file ) {
if ( !file_exists( DZZ_ROOT . $file ) ) {
if ( !$this->test_writable( dirname( DZZ_ROOT . $file ) ) ) {
return false;
} }
} else { $checkurl = $this->checkurl . rawurlencode(base64_encode($data)) . "/" . TIMESTAMP;
if ( !is_writable( DZZ_ROOT . $file ) ) {
return false;
}
}
}
return true;
}
public function test_writable( $dir ) { $response = json_decode(dfsockopen($checkurl, 0, '', '', FALSE, '', 5), true);
$writeable = 0;
$this->mkdirs( $dir ); if ($response['authcode']) {
if ( is_dir( $dir ) ) { C::t('setting')->update('sitelicensedata', $response['authcode']);
if ( $fp = @fopen( "$dir/test.txt", 'w' ) ) { }
@fclose( $fp );
@unlink( "$dir/test.txt" ); updatecache('setting');
$writeable = 1; return $return;
} else { }
public function check_folder_perm($updatefilelist)
{
foreach ($updatefilelist as $file) {
if (!file_exists(DZZ_ROOT . $file)) {
if (!$this->test_writable(dirname(DZZ_ROOT . $file))) {
return false;
}
} else {
if (!is_writable(DZZ_ROOT . $file)) {
return false;
}
}
}
return true;
}
public function test_writable($dir)
{
$writeable = 0; $writeable = 0;
} $this->mkdirs($dir);
} if (is_dir($dir)) {
return $writeable; if ($fp = @fopen("$dir/test.txt", 'w')) {
} @fclose($fp);
@unlink("$dir/test.txt");
public function download_file( $upgradeinfo, $file, $folder = '', $md5 = '', $position = 0, $offset = 0 ) { $writeable = 1;
$dir = DZZ_ROOT . './data/update/pichome' . $upgradeinfo[ 'latestversion' ] . '/'; } else {
$this->mkdirs( dirname( $dir . $file ) ); $writeable = 0;
$downloadfileflag = true; }
if ( !$position ) {
$mode = 'wb';
} else {
$mode = 'ab';
}
$fp = fopen( $dir . $file, $mode );
if ( !$fp ) {
return 0;
}
$response = dfsockopen( $this->upgradeurl . $upgradeinfo[ 'latestversion' ] . '/' . $folder . '/' . $file, $offset, '', '', FALSE, '', 120, TRUE, 'URLENCODE', FALSE, $position );
if ( $response ) {
if ( $offset && strlen( $response ) == $offset ) {
$downloadfileflag = false;
}
fwrite( $fp, $response );
}
fclose( $fp );
if ( $downloadfileflag ) {
if ( $md5 && md5_file( $dir . $file ) == $md5 ) {
return 2;
} else {
if ( $md5 )@unlink( $dir . $file );
return 0;
}
} else {
return 1;
}
}
public function mkdirs( $dir ) {
if ( !is_dir( $dir ) ) {
if ( !self::mkdirs( dirname( $dir ) ) ) {
return false;
}
if ( !@mkdir( $dir, 0777 ) ) {
return false;
}
@touch( $dir . '/index.htm' );
@chmod( $dir . '/index.htm', 0777 );
}
return true;
}
public function copy_file( $srcfile, $desfile, $type ) {
global $_G;
if ( !is_file( $srcfile ) ) {
return false;
}
if ( $type == 'file' ) {
$this->mkdirs( dirname( $desfile ) );
copy( $srcfile, $desfile );
} elseif ( $type == 'ftp' ) {
$siteftp = $_GET[ 'siteftp' ];
$siteftp[ 'on' ] = 1;
$siteftp[ 'password' ] = authcode( $siteftp[ 'password' ], 'ENCODE', md5( $_G[ 'config' ][ 'security' ][ 'authkey' ] ) );
$ftp = & dzz_ftp::instance( $siteftp );
$ftp->connect();
$ftp->upload( $srcfile, $desfile );
if ( $ftp->error() ) {
return false;
}
}
return true;
}
public function versionpath() {
$versionpath = '';
foreach ( explode( ' ', CORE_VERSION ) as $unit ) {
$versionpath = $unit;
break;
}
return $versionpath;
}
function copy_dir( $srcdir, $destdir ) {
$dir = @opendir( $srcdir );
while ( $entry = @readdir( $dir ) ) {
$file = $srcdir . $entry;
if ( $entry != '.' && $entry != '..' ) {
if ( is_dir( $file ) ) {
self::copy_dir( $file . '/', $destdir . $entry . '/' );
} else {
self::mkdirs( dirname( $destdir . $entry ) );
copy( $file, $destdir . $entry );
} }
} return $writeable;
} }
closedir( $dir );
}
function rmdirs( $srcdir ) { public function download_file($upgradeinfo, $file, $folder = '', $md5 = '', $position = 0, $offset = 0)
$dir = @opendir( $srcdir ); {
while ( $entry = @readdir( $dir ) ) { global $_G;
$file = $srcdir . $entry; $dir = DZZ_ROOT . './data/update/pichome' . $upgradeinfo['latestversion'] . '/';
if ( $entry != '.' && $entry != '..' ) { $this->mkdirs(dirname($dir . $file));
if ( is_dir( $file ) ) { $downloadfileflag = true;
self::rmdirs( $file . '/' );
if (!$position) {
$mode = 'wb';
} else { } else {
@unlink( $file ); $mode = 'ab';
} }
} $fp = fopen($dir . $file, $mode);
} if (!$fp) {
closedir( $dir ); return 0;
rmdir( $srcdir ); }
} $update = array();
$update['mcode'] = $_G['setting']['machinecode'];
$update['siteurl'] = $_G['siteurl'];
$update['sitename'] = $_G['setting']['sitename'];
$update['version'] = CORE_VERSION;
$update['release'] = CORE_RELEASE;
$update['version_level'] = CORE_VERSION_LEVEL;
$update['fixbug'] = CORE_FIXBUG;
$update['license_time'] = defined('LICENSE_CTIME') ? LICENSE_CTIME : 0;
$update['license_serveruid'] = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID : 0;
$update['license_version'] = defined('LICENSE_VERSION') ? LICENSE_VERSION : '';
$update['path'] = $upgradeinfo['latestversion'] . '/' . $folder . '/' . $file;
function upgradeinformation() { $data = '';
global $_G; foreach ($update as $key => $value) {
include_once DZZ_ROOT . './core/core_version.php'; $data .= $key . '=' . rawurlencode($value) . '&';
$update = array(); }
$update[ 'uniqueid' ] = C::t( 'setting' )->fetch( 'siteuniqueid' );
$update[ 'clientuin' ] = C::t( 'setting' )->fetch( 'clientuin' );
$update[ 'usum' ] = DB::result_first( "select COUNT(*) from %t where 1", array( 'user' ) );
$update[ 'siteurl' ] = $_G[ 'siteurl' ];
$update[ 'sitename' ] = $_G[ 'setting' ][ 'sitename' ];
$update[ 'version' ] = CORE_VERSION;
$update[ 'release' ] = CORE_RELEASE;
$update[ 'version_level' ] = CORE_VERSION_LEVEL;
$update[ 'fixbug' ] = CORE_FIXBUG;
$update[ 'license_limit' ] = LICENSE_LIMIT;
$update[ 'license_version' ] = LICENSE_VERSION;
$update[ 'license_company' ] = LICENSE_COMPANY;
$data = '';
foreach ( $update as $key => $value ) {
$data .= $key . '=' . rawurlencode( $value ) . '&';
}
$upgradeurl = APP_CHECK_URL . "market/system/info/" . rawurlencode( base64_encode( $data ) ) . "/" . TIMESTAMP;
dfsockopen( $upgradeurl, 0, '', '', FALSE, '', 1 ); $upgradefile = $this->upgradeurl . rawurlencode(base64_encode($data)) . '/' . TIMESTAMP;
} $response = dfsockopen($upgradefile, $offset, '', '', FALSE, '', 120, TRUE, 'URLENCODE', TRUE, $position);
if ($response) {
if ($offset && strlen($response) == $offset) {
$downloadfileflag = false;
}
fwrite($fp, $response);
}
fclose($fp);
if ($downloadfileflag) {
if ($md5 && md5_file($dir . $file) == $md5) {
return 2;
} else {
if ($md5) @unlink($dir . $file);
return 0;
}
} else {
return 1;
}
}
public function mkdirs($dir)
{
if (!is_dir($dir)) {
if (!self::mkdirs(dirname($dir))) {
return false;
}
if (!@mkdir($dir, 0777)) {
return false;
}
@touch($dir . '/index.htm');
@chmod($dir . '/index.htm', 0777);
}
return true;
}
public function copy_file($srcfile, $desfile, $type)
{
global $_G;
if (!is_file($srcfile)) {
return false;
}
if ($type == 'file') {
$this->mkdirs(dirname($desfile));
copy($srcfile, $desfile);
} elseif ($type == 'ftp') {
$siteftp = $_GET['siteftp'];
$siteftp['on'] = 1;
$siteftp['password'] = authcode($siteftp['password'], 'ENCODE', md5($_G['config']['security']['authkey']));
$ftp = &dzz_ftp::instance($siteftp);
$ftp->connect();
$ftp->upload($srcfile, $desfile);
if ($ftp->error()) {
return false;
}
}
return true;
}
public function versionpath()
{
$versionpath = '';
foreach (explode(' ', CORE_VERSION) as $unit) {
$versionpath = $unit;
break;
}
return $versionpath;
}
function copy_dir($srcdir, $destdir)
{
$dir = @opendir($srcdir);
while ($entry = @readdir($dir)) {
$file = $srcdir . $entry;
if ($entry != '.' && $entry != '..') {
if (is_dir($file)) {
self::copy_dir($file . '/', $destdir . $entry . '/');
} else {
self::mkdirs(dirname($destdir . $entry));
copy($file, $destdir . $entry);
}
}
}
closedir($dir);
}
function rmdirs($srcdir)
{
$dir = @opendir($srcdir);
while ($entry = @readdir($dir)) {
$file = $srcdir . $entry;
if ($entry != '.' && $entry != '..') {
if (is_dir($file)) {
self::rmdirs($file . '/');
} else {
@unlink($file);
}
}
}
closedir($dir);
rmdir($srcdir);
}
function upgradeinformation()
{
global $_G;
include_once DZZ_ROOT . './core/core_version.php';
$update = array();
$update['mcode'] = $_G['setting']['machinecode'];
$update['unum'] = CURRTENT_UNUM;
$update['siteurl'] = $_G['siteurl'];
$update['sitename'] = $_G['setting']['sitename'];
$update['version'] = CORE_VERSION;
$update['release'] = CORE_RELEASE;
$update['version_level'] = CORE_VERSION_LEVEL;
$update['fixbug'] = CORE_FIXBUG;
$update['license_limit'] = defined('LICENSE_LIMIT') ? LICENSE_LIMIT : 0;
$update['license_version'] = defined('LICENSE_VERSION') ? LICENSE_VERSION : '';
$update['license_company'] = defined('LICENSE_COMPANY') ? LICENSE_COMPANY : '';
$update['license_time'] = defined('LICENSE_CTIME') ? LICENSE_CTIME : 0;
$update['license_serveruid'] = defined('LICENSE_SERVERUID') ? LICENSE_SERVERUID : 0;
$data = '';
foreach ($update as $key => $value) {
$data .= $key . '=' . rawurlencode($value) . '&';
}
$upgradeurl = APP_CHECK_URL . "authlicense/count/info/" . rawurlencode(base64_encode($data)) . "/" . TIMESTAMP;
dfsockopen($upgradeurl, 0, '', '', FALSE, '', 1);
}
} }
?> ?>

26
core/class/dzz/sysreg.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
namespace core\dzz;
use \core as C;
use \core\dzz\Hook as Hook;
use \DB as DB;
use \IO as IO;
class Sysreg{
public $official = 'http://oaooa.com/';
public function run(){
$mcode = C::t('setting')->fetch('machinecode');
if(!$mcode){
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$onlineip = $_SERVER['REMOTE_ADDR'];
$mcode = 'PH'.$chars[date('y')%60].$chars[date('n')].
$chars[date('j')].$chars[date('G')].$chars[date('i')].
$chars[date('s')].substr(md5($onlineip.TIMESTAMP), 0, 4).random(4);
C::t('setting')->update('machinecode',$mcode);
C::t('setting')->update('adminfirstlogin',0);
}else{
C::t('setting')->update('adminfirstlogin',0);
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,184 +1,182 @@
<?php <?php
if(!defined('IN_OAOOA')) { if(!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
class table_pichome_folder extends dzz_table class table_pichome_folder extends dzz_table
{
public function __construct()
{ {
public function __construct()
{
$this->_table = 'pichome_folder'; $this->_table = 'pichome_folder';
$this->_pk = 'fid'; $this->_pk = 'fid';
$this->_pre_cache_key = 'pichome_folder'; $this->_pre_cache_key = 'pichome_folder';
$this->_cache_ttl = 3600; $this->_cache_ttl = 3600;
parent::__construct(); parent::__construct();
}
//根据appid删除目录
public function delete_by_appid($appid){
$fids = [];
foreach(DB::fetch_all("select fid from %t where appid = %s",array($this->_table,$appid)) as $v){
$fids[] = $v['fid'];
} }
//根据appid删除目录 $hookdata = ['appid'=>$appid];
public function delete_by_appid($appid){ Hook::listen("delpichomefolderafter",$hookdata);
$fids = []; return parent::delete($fids);
foreach(DB::fetch_all("select fid from %t where appid = %s",array($this->_table,$appid)) as $v){ }
$fids[] = $v['fid']; //插入和更新目录数据
} public function insert_folderdata_by_appid($appid,$folderdata,$folderarr = array(),$pfid='',$pathkey=''){
$hookdata = ['appid'=>$appid]; foreach ($folderdata as $v) {
Hook::listen("delpichomefolderafter",$hookdata); $fid = $v['id'].$appid;
return parent::delete($fids); $setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>($pathkey)?$pathkey:$fid];
} if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
//插入和更新目录数据 if($v['password']) $setarr['password'] = $v['password'];
public function insert_folderdata_by_appid($appid,$folderdata,$folderarr = array(),$pfid='',$pathkey=''){ if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
foreach ($folderdata as $v) { //如果已经有该id时更新
$fid = $v['id'].$appid; if($fname = DB::result_first("select fname from %t where fid = %s",array($this->_table,$fid))){
$setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>($pathkey)?$pathkey:$fid];
if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
if($v['password']) $setarr['password'] = $v['password'];
if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
//如果已经有该id时更新
if($fname = DB::result_first("select fname from %t where fid = %s",array($this->_table,$fid))){
parent::update($fid,$setarr);
$setarr['fid'] = $fid;
}else{
//如果插入数据失败跳过当前层级目录
$setarr['fid'] = $fid;
if(!$setarr['fname']) continue;
if(!parent::insert($setarr))continue;
}
$folderarr[] = $setarr;
if ($v['children']) {
$tmpchild = $v['children'];
foreach($tmpchild as $child){
$cfid = $child['id'].$appid;
$folderarr = $this->insert_folderdata_by_appid($appid,[$child],$folderarr,$fid,($pathkey) ? $pathkey.$cfid:$fid.$cfid);
}
}
}
return $folderarr;
}
public function insert_data($setarr){
$fid = $setarr['fid'];
if($fname = DB::result_first("select count(*) from %t where fid = %s",array($this->_table,$setarr['fid']))){
unset($setarr['fid']);
parent::update($fid,$setarr); parent::update($fid,$setarr);
}else{ $setarr['fid'] = $fid;
parent::insert($setarr);
}
return $fid;
}
//检查目录是否包含密码,多个目录时,只有都包含密码才视为包含密码
public function check_haspasswrod($folderids,$appid){
$haspassword = 0;
//组合目录id
$fids = [];
foreach($folderids as $v){
$fids[] = $v.$appid;
}
$haspasswordfids = [];
foreach($fids as $val){
//查找当前目录及其上级中任意一层包含密码,则视为该目录包含密码
if(DB::result_first("select fid from %t where pathkey regexp %s and password != '' ",array($this->_table,'.*'.$val.'$'))){
$haspasswordfids[$val] = 1;
}else{
$haspasswordfids[$val] = 0;
}
}
foreach($haspasswordfids as $v){
if(!$v) {
$haspassword = 0;
break;
}else{
$haspassword = 1;
}
}
unset($haspasswordfids);
unset($folderids);
return $haspassword;
}
//根据fid判断当前目录及其上机是否有密码如果当前目录不存在则返回2存在密码返回1
public function check_password_byfid($fid){
if($data = parent::fetch($fid)){
return DB::result_first("select fid from %t where pathkey regexp %s and password != '' ",array($this->_table,'.*'.$fid.'$')) ? 1:0;
}else{ }else{
return 2; //如果插入数据失败跳过当前层级目录
$setarr['fid'] = $fid;
if(!$setarr['fname']) continue;
if(!parent::insert($setarr))continue;
}
$folderarr[] = $setarr;
if ($v['children']) {
$tmpchild = $v['children'];
foreach($tmpchild as $child){
$cfid = $child['id'].$appid;
$folderarr = $this->insert_folderdata_by_appid($appid,[$child],$folderarr,$fid,($pathkey) ? $pathkey.$cfid:$fid.$cfid);
}
} }
}
//转义查询语句当中的path
public function path_transferred_meaning($path){
return str_replace(array('\'','(',')','+','^','$','{','}','[',']','#'),array("\'",'\(','\)','\+','\^','\$','\{','\}','\[','\]','\#'),$path);
} }
return $folderarr;
}
public function fetch_all_folder_by_appid($appid,$pfid=''){ public function insert_data($setarr){
foreach(DB::fetch_all("select fid,fname from %t where appid = %s and password = '' and pfid = %s",array($this->_table,$appid,$pfid)) as $v){ $fid = $setarr['fid'];
$v['num'] = C::t('pichome_folderresources')->get_sum_by_fid($v['fid']); if($fname = DB::result_first("select count(fid) from %t where fid = %s and appid = %s",array($this->_table,$setarr['fid'],$setarr['appid']))){
$v['children'] = $this->fetch_all_folder_by_appid($appid,$v['fid']); unset($setarr['fid']);
$returndata[] = $v; parent::update($fid,$setarr);
} }else{
return $returndata; parent::insert($setarr);
} }
return $fid;
}
//检查目录是否包含密码,多个目录时,只有都包含密码才视为包含密码
public function check_haspasswrod($fids,$appid){
$haspassword = 0;
//组合目录id
$haspasswordfids = [];
foreach($fids as $val){
//查找当前目录及其上级中任意一层包含密码,则视为该目录包含密码
if(DB::result_first("select fid from %t where pathkey regexp %s and password != '' ",array($this->_table,'.*'.$val.'$'))){
$haspasswordfids[$val] = 1;
}else{
$haspasswordfids[$val] = 0;
}
}
foreach($haspasswordfids as $v){
if(!$v) {
$haspassword = 0;
break;
}else{
$haspassword = 1;
}
}
unset($haspasswordfids);
unset($folderids);
return $haspassword;
}
public function fetch_folder_by_appid_pfid($appid,$pfid=[]){ //根据fid判断当前目录及其上机是否有密码如果当前目录不存在则返回2存在密码返回1
public function check_password_byfid($fid){
if($data = parent::fetch($fid)){
return DB::result_first("select fid from %t where pathkey regexp %s and password != '' ",array($this->_table,'.*'.$fid.'$')) ? 1:0;
}else{
return 2;
}
}
//转义查询语句当中的path
public function path_transferred_meaning($path){
return str_replace(array('\'','(',')','+','^','$','{','}','[',']','#'),array("\'",'\(','\)','\+','\^','\$','\{','\}','\[','\]','\#'),$path);
}
$folderdata = []; public function fetch_all_folder_by_appid($appid,$pfid='',$i=1){
if(!empty($pfid)){ if($i>5) return [];
foreach(DB::fetch_all("select fid,fname,pathkey,appid,pfid,filenum as nosubfilenum from %t where appid = %s and pfid in(%n) order by disp asc",array($this->_table,$appid,$pfid)) as $v){ foreach(DB::fetch_all("select fid,fname,pathkey,pfid from %t where appid = %s and password = '' and pfid = %s",array($this->_table,$appid,$pfid)) as $v){
$v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr $v['level'] = $i;
$j = $i+1;
$v['children'] = $this->fetch_all_folder_by_appid($appid,$v['fid'],$j);
$returndata[] = $v;
}
return $returndata;
}
public function fetch_folder_by_appid_pfid($appid,$pfid=[]){
$folderdata = [];
if(!empty($pfid)){
foreach(DB::fetch_all("select fid,fname,pathkey,appid,pfid,filenum as nosubfilenum from %t where appid = %s and pfid in(%n) order by disp asc",array($this->_table,$appid,$pfid)) as $v){
$v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr
left join %t f on fr.fid = f.fid left join %t f on fr.fid = f.fid
where fr.appid = %s and f.pathkey like %s",array('pichome_folderresources','pichome_folder',$appid,$v['pathkey'].'%')); where fr.appid = %s and f.pathkey like %s",array('pichome_folderresources','pichome_folder',$appid,$v['pathkey'].'%'));
$v['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array($this->_table,$v['fid'])) ? false:true; $v['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array($this->_table,$v['fid'])) ? false:true;
$folderdata[] = $v; $folderdata[] = $v;
} }
}else{ }else{
foreach(DB::fetch_all("select fid,fname,pathkey,appid,pfid,filenum as nosubfilenum from %t where appid = %s and pfid = '' order by disp asc",array($this->_table,$appid)) as $v){ foreach(DB::fetch_all("select fid,fname,pathkey,appid,pfid,filenum as nosubfilenum from %t where appid = %s and pfid = '' order by disp asc",array($this->_table,$appid)) as $v){
$v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr $v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr
left join %t f on fr.fid = f.fid left join %t f on fr.fid = f.fid
where fr.appid = %s and f.pathkey like %s",array('pichome_folderresources','pichome_folder',$appid,$v['pathkey'].'%')); where fr.appid = %s and f.pathkey like %s",array('pichome_folderresources','pichome_folder',$appid,$v['pathkey'].'%'));
$v['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array($this->_table,$v['fid'])) ? false:true; $v['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array($this->_table,$v['fid'])) ? false:true;
$folderdata[] = $v; $folderdata[] = $v;
} }
}
return $folderdata;
} }
public function search_by_fname($keyword,$appid=''){ return $folderdata;
$folderdata = []; }
$wheresql = ' fname like %s '; public function search_by_fname($keyword,$appid=''){
$params = array($this->_table,'%'.$keyword.'%'); $folderdata = [];
if($appid){ $wheresql = ' fname like %s ';
$wheresql .= ' and appid = %s '; $params = array($this->_table,'%'.$keyword.'%');
$params[] = $appid; if($appid){
} $wheresql .= ' and appid = %s ';
foreach(DB::fetch_all("select fname,fid,pathkey,appid,pfid from %t where $wheresql",$params)as $v ){ $params[] = $appid;
$folderdata[$v['fid']] = $v;
}
foreach ($folderdata as $k=>$v){
$len=strlen($folderdata[$k]['pathkey']);
$folderdata[$k]['len']=$len;
}
$cloumarr = array_column($folderdata,'len');
array_multisort($cloumarr,SORT_ASC,$folderdata);
return $folderdata;
} }
foreach(DB::fetch_all("select fname,fid,pathkey,appid,pfid from %t where $wheresql",$params)as $v ){
public function createfidbyappid($appid){ $folderdata[$v['fid']] = $v;
$fid = random(13).$appid;
if(DB::result_first("select count(fid) from %t where fid = %s and appid = %s",array($this->_table,$fid,$appid))){
$fid = $this->createfidbyappid($appid);
}
return $fid;
} }
foreach ($folderdata as $k=>$v){
$len=strlen($folderdata[$k]['pathkey']);
public function delete_by_fids($fids){ $folderdata[$k]['len']=$len;
if(!is_array($fids)) $fids = (array)$fids; }
if(!empty($fids)){ $cloumarr = array_column($folderdata,'len');
DB::delete('pichome_folderresources',"fid in (".dimplode($fids).")"); array_multisort($cloumarr,SORT_ASC,$folderdata);
parent::delete($fids); return $folderdata;
return true; }
}
public function createfidbyappid($appid){
$fid = random(13).$appid;
if(DB::result_first("select count(fid) from %t where fid = %s and appid = %s",array($this->_table,$fid,$appid))){
$fid = $this->createfidbyappid($appid);
}
return $fid;
}
public function delete_by_fids($fids){
if(!is_array($fids)) $fids = (array)$fids;
if(!empty($fids)){
DB::delete('pichome_folderresources',"fid in (".dimplode($fids).")");
parent::delete($fids);
return true;
} }
} }
}

View File

@@ -17,7 +17,7 @@ class table_pichome_resources extends dzz_table
public function insert($setarr) public function insert($setarr)
{ {
if (DB::result_first("select count(*) from %t where rid = %s", array($this->_table, $setarr['rid']))) { if (DB::result_first("select count(rid) from %t where rid = %s", array($this->_table, $setarr['rid']))) {
$rid = $setarr['rid']; $rid = $setarr['rid'];
unset($setarr['rid']); unset($setarr['rid']);
parent::update($rid, $setarr); parent::update($rid, $setarr);
@@ -150,35 +150,27 @@ class table_pichome_resources extends dzz_table
} else { } else {
$resourcesdata['opentype'] = 'other'; $resourcesdata['opentype'] = 'other';
} }
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($rid, '', 0, 0); $resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($rid, '', 7200, 0);
$thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900; $thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900;
$thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900; $thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900;
$thumsizearr = $this->getImageThumbsize($resourcesdata['width'], $resourcesdata['height'], $thumbwidth, $thumbheight); $thumsizearr = $this->getImageThumbsize($resourcesdata['width'], $resourcesdata['height'], $thumbwidth, $thumbheight);
$resourcesdata['iconwidth'] = $thumsizearr[0]; $resourcesdata['iconwidth'] = $thumsizearr[0];
$resourcesdata['iconheight'] = $thumsizearr[1]; $resourcesdata['iconheight'] = $thumsizearr[1];
//echo $resourcesdata['icondata'];die; //$resourcesdata['icondata'] = str_replace('+', '%20', $resourcesdata['icondata']);
//$imginfo = @getimagesize($resourcesdata['icondata']); if(getglobal('adminid') == 1) $resourcesdata['realfianllypath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg'.'&path=' . dzzencode($rid.'_3', '', 0, 0);
// $resourcesdata['iconwidth'] = $imginfo[0] ? $imginfo[0] : $resourcesdata['width'];
//$resourcesdata['iconheight'] = $imginfo[1] ? $imginfo[1] : $resourcesdata['height'];
$resourcesdata['icondata'] = str_replace('+', '%20', $resourcesdata['icondata']);
$resourcesdata['share'] = $downshare[$resourcesdata['appid']]['share']; $resourcesdata['share'] = $downshare[$resourcesdata['appid']]['share'];
$resourcesdata['download'] = $downshare[$resourcesdata['appid']]['download']; $resourcesdata['download'] = $downshare[$resourcesdata['appid']]['download'];
/* if ($downshare[$resourcesdata['appid']]['iswebsitefile']) {
$originalimg = str_replace(DZZ_ROOT, '', $downshare[$resourcesdata['appid']]['path'] . BS . $resourcesdata['path']);
$originalimg = str_replace(BS, '/', $originalimg);
$resourcesdata['originalimg'] = str_replace('+', '%20', urlencode($originalimg));
$resourcesdata['realpath'] = str_replace('+', '%20', urlencode($originalimg));
} else {*/
$originalimg = $downshare[$resourcesdata['appid']]['path'] . BS . $resourcesdata['path']; $originalimg = $downshare[$resourcesdata['appid']]['path'] . BS . $resourcesdata['path'];
$resourcesdata['originalimg'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&fpath=' . dzzencode($originalimg, '', 0, 0); $resourcesdata['originalimg'] = ($resourcesdata['download']) ? getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_1','', 0, 0):'';
if (in_array($resourcesdata['opentype'], array('text', 'video', 'pdf'))) { /*if ($resourcesdata['opentype'] == 'video') {
$resourcesdata['realpath'] = str_replace('+', '', urlencode(getglobal('siteurl') . 'index.php?mod=io&op=getImg&fpath=' . dzzencode($originalimg, '', 0, 0))); $resourcesdata['realpath'] = str_replace('+', '', urlencode(getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_3','', 7200, 0)));
} else { }*//* else {
$resourcesdata['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&fpath=' . dzzencode($originalimg, '', 0, 0); $resourcesdata['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_realpath', '', 0, 0);
} }*/
//} //}
@@ -213,15 +205,16 @@ class table_pichome_resources extends dzz_table
$v['share'] = $downshare[$v['appid']]['share']; $v['share'] = $downshare[$v['appid']]['share'];
$v['download'] = $downshare[$v['appid']]['download']; $v['download'] = $downshare[$v['appid']]['download'];
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($v['rid'], '', 0, 0); $v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($v['rid'],'', 7200, 0);
$thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900; $thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900;
$thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900; $thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900;
$thumsizearr = $this->getImageThumbsize($v['width'], $v['height'], $thumbwidth, $thumbheight); $thumsizearr = $this->getImageThumbsize($v['width'], $v['height'], $thumbwidth, $thumbheight);
$v['thumbwidth'] = $thumsizearr[0]; $v['thumbwidth'] = $thumsizearr[0];
$v['thumbheight'] = $thumsizearr[1]; $v['thumbheight'] = $thumsizearr[1];
if ($v['opentype'] == 'video') {
$v['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($v['rid'].'_3','', 7200, 0);
}
$originalimg = $downshare[$v['appid']]['path'] . BS . $v['path'];
$v['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&fpath=' . dzzencode($originalimg, '', 0, 0);
unset($v['path']); unset($v['path']);
@@ -271,13 +264,13 @@ class table_pichome_resources extends dzz_table
} }
public function geticondata_by_rid($rid) public function geticondata_by_rid($rid,$time=7200)
{ {
$resourcesdata = DB::fetch_first("select r.rid,r.appid,r.hasthumb,r.ext,r.type,ra.path as fpath, $resourcesdata = DB::fetch_first("select r.rid,r.appid,r.hasthumb,r.ext,r.type,ra.path as fpath,
v.path,r.apptype,v.iswebsitefile,v.version from %t r v.path,r.apptype,v.iswebsitefile,v.version from %t r
left join %t ra on r.rid=ra.rid left join %t v on r.appid = v.appid where r.rid = %s and r.isdelete = 0", left join %t ra on r.rid=ra.rid left join %t v on r.appid = v.appid where r.rid = %s and r.isdelete = 0",
array($this->_table, 'pichome_resources_attr', 'pichome_vapp', $rid)); array($this->_table, 'pichome_resources_attr', 'pichome_vapp', $rid));
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($rid, '', 0, 0); $resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($rid, '', $time, 0);
return $resourcesdata; return $resourcesdata;
} }

View File

@@ -17,7 +17,7 @@
public function insert($setarr) public function insert($setarr)
{ {
if (DB::result_first("select count(*) from %t where rid = %s", array($this->_table, $setarr['rid']))) { if (DB::result_first("select count(rid) from %t where rid = %s", array($this->_table, $setarr['rid']))) {
$rid = $setarr['rid']; $rid = $setarr['rid'];
unset($setarr['rid']); unset($setarr['rid']);
return parent::update($rid, $setarr); return parent::update($rid, $setarr);

View File

@@ -22,6 +22,7 @@
} else { } else {
$id=parent::insert($setarr); $id=parent::insert($setarr);
C::t('pichome_tag')->add_hots_by_tid($setarr['tid']); C::t('pichome_tag')->add_hots_by_tid($setarr['tid']);
C::t('pichome_vapp_tag')->add_hots_by_tid_appid($setarr['tid'],$setarr['appid']);
} }
return $id; return $id;
} }
@@ -55,9 +56,10 @@
{ {
if(!is_array($rid)) $rid = (array)$rid; if(!is_array($rid)) $rid = (array)$rid;
$delids = []; $delids = [];
foreach (DB::fetch_all("select id,tid from %t where rid in(%n)", array($this->_table, $rid)) as $v) { foreach (DB::fetch_all("select id,tid,appid from %t where rid in(%n)", array($this->_table, $rid)) as $v) {
$delids[] = $v['id']; $delids[] = $v['id'];
C::t('pichome_tag')->delete_by_tid($v['tid']); C::t('pichome_tag')->delete_by_tid($v['tid']);
C::t('pichome_vapp_tag')->delete_by_tid_appid($v['tid'],$v['appid']);
} }
return parent::delete($delids); return parent::delete($delids);
} }

View File

@@ -66,7 +66,7 @@ class table_pichome_searchrecent extends dzz_table
return $datas; return $datas;
} }
public function fetch_hotkeyword_by_appid($appid = '', $limit = 16, $noids = array(), $datas = array()) public function fetch_hotkeyword_by_appid($appid = '', $limit = 8, $noids = array(), $datas = array())
{ {
/* $start = strtotime(date("Y-m-d", strtotime("-7 day"))); /* $start = strtotime(date("Y-m-d", strtotime("-7 day")));
$end = strtotime(dgmdate(time(), 'Y-m-d')) + 86400;*/ $end = strtotime(dgmdate(time(), 'Y-m-d')) + 86400;*/

View File

@@ -15,13 +15,15 @@
} }
public function insert($tagname,$nohots = 0){ public function insert($tagname,$nohots = 0){
$setarr =[]; $setarr =[];
if($data = DB::fetch_first("select tid,hots from %t where tagname = %s",array($this->_table,$tagname))){ if($data = DB::fetch_first("select tid,hots,initial from %t where tagname = %s",array($this->_table,$tagname))){
// if(!$nohots)$setarr['hots'] = intval($data['hots']) +1; if(!$data['initial']){
//parent::update($data['tid'],$setarr); $setarr['initial'] = $this->getInitial($tagname);
parent::update($data['tid'],$setarr);
}
return $data['tid']; return $data['tid'];
}else{ }else{
$setarr['tagname'] = $tagname; $setarr['tagname'] = $tagname;
// if(!$nohots)$setarr['hots'] =1; $setarr['initial'] = $this->getInitial($tagname);
return parent::insert($setarr,1); return parent::insert($setarr,1);
} }
} }
@@ -40,6 +42,14 @@
return parent::delete($tid); return parent::delete($tid);
} }
} }
public function getInitial($str){
$py=pinyin::encode($str);
$initial=substr($py,0,1);
if(empty($initial) || !preg_match("/[A-Z]/i",$initial)){
$initial='#';
}
return strtoupper($initial);
}
//依据标签热度获取标签及对应图 //依据标签热度获取标签及对应图
public function fetch_data_by_hot($limit=16){ public function fetch_data_by_hot($limit=16){
$hotsdata = []; $hotsdata = [];

View File

@@ -68,7 +68,7 @@
public function getNoRepeatName($name) public function getNoRepeatName($name)
{ {
static $i = 0; static $i = 0;
if (DB::result_first("select COUNT(*) from %t where appname=%s ", array($this->_table, $name))) { if (DB::result_first("select COUNT(appid) from %t where appname=%s ", array($this->_table, $name))) {
$name = preg_replace("/\(\d+\)/i", '', $name) . '(' . ($i + 1) . ')'; $name = preg_replace("/\(\d+\)/i", '', $name) . '(' . ($i + 1) . ')';
$i += 1; $i += 1;
return $this->getNoRepeatName($name); return $this->getNoRepeatName($name);

View File

@@ -0,0 +1,45 @@
<?php
if (!defined('IN_OAOOA')) {
exit('Access Denied');
}
class table_pichome_vapp_tag extends dzz_table
{
public function __construct()
{
$this->_table = 'pichome_vapp_tag';
$this->_pk = 'id';
// $this->_pre_cache_key = 'pichome_vapp_tag';
//$this->_cache_ttl = 3600;
parent::__construct();
}
public function add_hots_by_tid_appid($tid,$appid){
$tagappdata =DB::fetch_first("select * from %t where tid = %d and appid = %s",array($this->_table,$tid,$appid));
if(!$tagappdata){
$setarr = ['appid'=>$appid,'tid'=>$tid,'hots'=>1];
return parent::insert($setarr);
}else{
$setarr['hots'] = intval($tagappdata['hots']) +1;
return parent::update($tagappdata['id'],$setarr);
}
}
public function insert($setarr){
if($id = DB::result_first("select id from %t where appid = %s and tid = %d",array($this->_table,$setarr['appid'],$setarr['tid']))){
parent::update($id,$setarr);
}else{
parent::insert($setarr);
}
}
public function delete_by_tid_appid($tid,$appid){
$tagappdata =DB::fetch_first("select * from %t where tid = %d and appid = %s",array($this->_table,$tid,$appid));
if(!$tagappdata) return false;
if($tagappdata['hots'] > 1){
return parent::update($tagappdata['id'],array('hots'=>$tagappdata['hots']-1));
}else{
return parent::delete($tagappdata['id']);
}
}
}

View File

@@ -17,7 +17,7 @@ define('CACHE_NAME','cache');//缓存文件目录名
define('CACHE_DIR',DZZ_ROOT.DATA_NAME.BS.CACHE_NAME);//缓存目录 define('CACHE_DIR',DZZ_ROOT.DATA_NAME.BS.CACHE_NAME);//缓存目录
define('CORE_PATH',DZZ_ROOT.CORE_NAME.BS.'class');//核心类目录 define('CORE_PATH',DZZ_ROOT.CORE_NAME.BS.'class');//核心类目录
define('APP_DIRNAME','dzz');//应用目录名 define('APP_DIRNAME','dzz');//应用目录名
define('APP_CHECK_URL', "http://help.oaooa.com/");//检测应用更新地址 define('APP_CHECK_URL', "https://oaooa.com/");//检测应用更新地址
//define('APP_DIR',DZZ_ROOT.APP_DIRNAME.BS);//应用目录 //define('APP_DIR',DZZ_ROOT.APP_DIRNAME.BS);//应用目录
define('MOULD','mod');//路由模块键名 define('MOULD','mod');//路由模块键名
define('DIVIDE','op');//路由操作键名 define('DIVIDE','op');//路由操作键名

View File

@@ -9,10 +9,9 @@
if(!defined('IN_OAOOA')) { if(!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
if(!defined('CORE_VERSION')) { if(!defined('CORE_VERSION')) {
define('CORE_VERSION', 'beta3.3'); define('CORE_VERSION', '10.1.0');
define('CORE_VERSION_LEVEL', 'Pichome'); define('CORE_VERSION_LEVEL', 'Home');
define('CORE_RELEASE', '20220224'); define('CORE_RELEASE', '20220429');
define('CORE_FIXBUG' , '03300000'); define('CORE_FIXBUG' , '10100000');
} }

View File

@@ -1,226 +0,0 @@
<?php
/*
* 计划任务脚本 定期清理 缓存数据
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
* @license https://www.oaooa.com/licenses/
*
* @link https://www.oaooa.com
* @author zyx(zyx@oaooa.com)
*/
if(!defined('IN_OAOOA')) {
exit('Access Denied');
}
if(!function_exists('mysql_escape_string')){
function mysql_escape_string($str){
if(function_exists('mysqli_escape_string')) return mysqli_escape_string($str);
else return addslashes($str);
}
}
global $db;
$db = & DB::object();
$tabletype = $db->version() > '4.1' ? 'Engine' : 'Type';
$tablepre = $_G['config']['db'][1]['tablepre'];
$dbcharset = $_G['config']['db'][1]['dbcharset'];
$backupdir = C::t('setting')->fetch('backupdir');
if(!$backupdir) {
$backupdir = random(6);
@mkdir('./data/backup_'.$backupdir, 0777);
C::t('setting')->update('backupdir',$backupdir);
}
$backupdir = 'backup_'.$backupdir;
if(!is_dir('./data/'.$backupdir)) {
mkdir('./data/'.$backupdir, 0777);
}
global $excepttables;
$excepttables=array();
$filename=date('ymd').'_'.random(8);
DB::query('SET SQL_QUOTE_SHOW_CREATE=0', 'SILENT');
$tables = arraykeys2(fetchtablelist($tablepre), 'Name');
$memberexist = array_search(DB::table('user'), $tables);
if($memberexist !== FALSE) {
unset($tables[$memberexist]);
array_unshift($tables, DB::table('user'));
}
$time = dgmdate(TIMESTAMP);
$success=false;
global $complete,$startrow;
$startrow=0;
$volume=0;$tableid = 0;$startfrom = 0;
while(!$success){
$volume += 1;
$idstring = '# Identify: '.base64_encode("$_G[timestamp],".$_G['setting']['version'].",dzz,multivol,{$volume},{$tablepre},{$dbcharset}")."\n";
$dumpcharset = str_replace('-', '', $_G['charset']);
$backupfilename = './data/'.$backupdir.'/'.str_replace(array('/', '\\', '.', "'"), '', $filename);
$sqldump = '';
$startfrom=$startrow;
if(!$tableid && $volume == 1) {
foreach($tables as $table) {
$sqldump .= sqldumptablestruct($table);
}
}
$complete = TRUE;
for(; $complete && $tableid < count($tables) && strlen($sqldump) + 500 < 2048 * 1000; $tableid++) {
$sqldump .= sqldumptable($tables[$tableid], $startfrom, strlen($sqldump));
if($complete) {
$startfrom = 0;
}
}
$dumpfile = $backupfilename."-%s".'.sql';
!$complete && $tableid--;
if(trim($sqldump)) {
$sqldump = "$idstring".
"# <?php exit();?>\n".
"# oaooa Multi-Volume Data Dump Vol.$volume\n".
"# Version: oaooa! ".$_G['setting']['version']."\n".
"# Time: $time\n".
"# Type: dzz\n".
"# Table Prefix: $tablepre\n".
"#\n".
"# Dzz! Home: http://help.oaooa.com\n".
"# Please visit our website for newest infomation about oaooa\n".
"# --------------------------------------------------------\n\n\n".
$sqldump;
$dumpfilename = sprintf($dumpfile, $volume);
@$fp = fopen($dumpfilename, 'wb');
@flock($fp, 2);
if(@!fwrite($fp, $sqldump)) {
@fclose($fp);
runlog('database_export','database_export_file_invalid',1);
} else {
fclose($fp);
unset($sqldump, $zip, $content);
continue;
}
} else {
$success=true;
C::t('cache')->insert(array(
'cachekey' => 'db_export',
'cachevalue' => serialize(array('dateline' => $_G['timestamp'])),
'dateline' => $_G['timestamp'],
), false, true);
}
}
function fetchtablelist($tablepre = '') {
global $db;
$arr = explode('.', $tablepre);
$dbname = $arr[1] ? $arr[0] : '';
$tablepre = str_replace('_', '\_', $tablepre);
$sqladd = $dbname ? " FROM $dbname LIKE '$arr[1]%'" : "LIKE '$tablepre%'";
$tables = $table = array();
$query = DB::query("SHOW TABLE STATUS $sqladd");
while($table = DB::fetch($query)) {
$table['Name'] = ($dbname ? "$dbname." : '').$table['Name'];
$tables[] = $table;
}
return $tables;
}
function arraykeys2($array, $key2) {
$return = array();
foreach($array as $val) {
$return[] = $val[$key2];
}
return $return;
}
function sqldumptablestruct($table) {
global $_G, $db, $excepttables;
if(in_array($table, $excepttables)) {
return;
}
$createtable = DB::query("SHOW CREATE TABLE $table", 'SILENT');
if(!DB::error()) {
$tabledump = "DROP TABLE IF EXISTS $table;\n";
} else {
return '';
}
$create = $db -> fetch_row($createtable);
if (strpos($table, '.') !== FALSE) {
$tablename = substr($table, strpos($table, '.') + 1);
$create[1] = str_replace("CREATE TABLE $tablename", 'CREATE TABLE ' . $table, $create[1]);
}
$tabledump .= $create[1];
$tablestatus = DB::fetch_first("SHOW TABLE STATUS LIKE '$table'");
$tabledump .= (($tablestatus['Auto_increment'] && (strpos($tabledump,'AUTO_INCREMENT')===false))? " AUTO_INCREMENT=$tablestatus[Auto_increment]" : ''). ";\n\n";
if ($_GET['sqlcompat'] == 'MYSQL40' && $db -> version() >= '4.1' && $db -> version() < '5.1') {
if ($tablestatus['Auto_increment'] <> '') {
$temppos = strpos($tabledump, ',');
$tabledump = substr($tabledump, 0, $temppos) . ' auto_increment' . substr($tabledump, $temppos);
}
if ($tablestatus['Engine'] == 'MEMORY') {
$tabledump = str_replace('TYPE=MEMORY', 'TYPE=HEAP', $tabledump);
}
}
return $tabledump;
}
function sqldumptable($table, $startfrom = 0, $currsize = 0) {
global $_G, $startrow, $dumpcharset, $complete, $excepttables;
$db = & DB::object();
$offset = 300;
$tabledump = '';
$tablefields = array();
$_GET['usehex']=TRUE;
$query = DB::query("SHOW FULL COLUMNS FROM $table", 'SILENT');
if(strexists($table, 'adminsessions')) {
return ;
} elseif(!$query && DB::errno() == 1146) {
return;
} elseif(!$query) {
$_GET['usehex'] = FALSE;
} else {
while($fieldrow = DB::fetch($query)) {
$tablefields[] = $fieldrow;
}
}
if(!in_array($table, $excepttables)) {
$tabledumped = 0;
$numrows = $offset;
$firstfield = $tablefields[0];
while($currsize + strlen($tabledump) + 500 < 2048 * 1000 && $numrows == $offset) {
if($firstfield['Extra'] == 'auto_increment') {
$selectsql = "SELECT * FROM $table WHERE $firstfield[Field] > $startfrom ORDER BY $firstfield[Field] LIMIT $offset";
} else {
$selectsql = "SELECT * FROM $table LIMIT $startfrom, $offset";
}
$tabledumped = 1;
$rows = DB::query($selectsql);
$numfields = $db->num_fields($rows);
$numrows = DB::num_rows($rows);
while($row = $db->fetch_row($rows)) {
$comma = $t = '';
for($i = 0; $i < $numfields; $i++) {
$t .= $comma.($_GET['usehex'] && !empty($row[$i]) && (strexists($tablefields[$i]['Type'], 'char') || strexists($tablefields[$i]['Type'], 'text')) ? '0x'.bin2hex($row[$i]) : '\''.($db->escape_string($row[$i])).'\'');
$comma = ',';
}
if(strlen($t) + $currsize + strlen($tabledump) + 500 < 2048 * 1000) {
if($firstfield['Extra'] == 'auto_increment') {
$startfrom = $row[0];
} else {
$startfrom++;
}
$tabledump .= "INSERT INTO $table VALUES ($t);\n";
} else {
$complete = FALSE;
break 2;
}
}
}
$startrow = $startfrom;
$tabledump .= "\n";
}
return $tabledump;
}
?>

View File

@@ -1,7 +0,0 @@
<?php
if(!defined('IN_OAOOA')) {
exit('Access Denied');
}
ignore_user_abort(true);
@set_time_limit(0);
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=checkexport',0, '', '', false, '', 1);

View File

@@ -420,11 +420,12 @@ function checkUserLimit(){
if(!defined('LICENSE_LIMIT')){ if(!defined('LICENSE_LIMIT')){
return false; return false;
} }
if(LICENSE_LIMIT>0){ if(defined('NOLIMITUSER')){
$ucount=DB::result_first("select COUNT(*) from %t where 1",array('user')); return true;
return ($ucount<LICENSE_LIMIT); } else{
return (CURRTENT_UNUM < LICENSE_LIMIT);
} }
return true; return false;
} }
//key的格式以|隔开,参数支持全局函数,如地址为 index.php?mod=io&op=getStream&path=***&key=uid|setting/authkey|username //key的格式以|隔开,参数支持全局函数,如地址为 index.php?mod=io&op=getStream&path=***&key=uid|setting/authkey|username
//这种格式,加密时,需要把|分割的每个参数都带上dzzencode($string,'1|'.getglobal('setting/authkey').'|管理员',$expiry); //这种格式,加密时,需要把|分割的每个参数都带上dzzencode($string,'1|'.getglobal('setting/authkey').'|管理员',$expiry);

View File

@@ -6,6 +6,7 @@ $lang = array (
'license_user_sum'=>'授权用户数', 'license_user_sum'=>'授权用户数',
'license_version'=>'授权版本', 'license_version'=>'授权版本',
'license_to'=>'授权对象', 'license_to'=>'授权对象',
'auth_unmatch'=>'授权不匹配',
'V_Enterprise'=>'企业版', 'V_Enterprise'=>'企业版',
'V_Tcloud'=>'腾讯云版', 'V_Tcloud'=>'腾讯云版',
'V_Custom'=>'定制版', 'V_Custom'=>'定制版',

View File

View File

@@ -128,7 +128,7 @@ class billfishxport
if (!$this->filenum) { if (!$this->filenum) {
C::t('pichome_vapp')->update($this->appid, array('state' => 4)); C::t('pichome_vapp')->update($this->appid, array('state' => 4));
} else { } else {
C::t('pichome_vapp')->update($this->appid, array('state' => 2, 'filenum' => $this->filenum)); C::t('pichome_vapp')->update($this->appid, array('state' => 2, 'filenum' => $this->filenum,'donum'=>0,'percent'=>0,'lastid'=>0));
} }
return array('success' => true); return array('success' => true);
} }
@@ -397,9 +397,11 @@ class billfishxport
$state = ($percent >= 100) ? 3 : 2; $state = ($percent >= 100) ? 3 : 2;
if ($state == 3) { if ($state == 3) {
$lastid = 0; $lastid = 0;
$percent = 0;
$this->donum = 0;
} }
//记录导入起始位置,以备中断后从此处,更改导入状态 //记录导入起始位置,以备中断后从此处,更改导入状态
C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state)); C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state,'filenum'=>$this->filenum));
} }
if($state == 2){ if($state == 2){
@@ -643,10 +645,12 @@ class billfishxport
$state = ($percent >= 100) ? 3 : 2; $state = ($percent >= 100) ? 3 : 2;
if ($state == 3) { if ($state == 3) {
$lastid = 0; $lastid = 0;
$percent = 0;
$this->donum = 0;
} }
//记录导入起始位置,以备中断后从此处,更改导入状态 //记录导入起始位置,以备中断后从此处,更改导入状态
C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state)); C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state,'filenum'=>$this->filenum));
} }
$lastid = $lastid+1; $lastid = $lastid+1;
@@ -730,18 +734,21 @@ class billfishxport
foreach ($data as $v) { foreach ($data as $v) {
$rid = $v['rid']; $rid = $v['rid'];
$iid = DB::result_first("select bid from %t where rid = %s and appid = %s",array('billfish_record',$rid,$this->appid)); $iid = DB::result_first("select bid from %t where rid = %s and appid = %s",array('billfish_record',$rid,$this->appid));
if(!$iid){
if($this->version < 30){
$sql = "select count(s.id) as num from source s left join res_prop rp on s.id = rp.iid where rp.action =0 and s.id = $iid";
}else{
//查询billfish中是否有该数据
$sql = "select count(f.id) as num from bf_file f left join bf_material m on f.id = m.file_id where m.is_recycle =0 and f.id = $iid";
}
$numdata = $this->fetch($sql);
if(!isset($numdata['num']) || !$numdata['num']){
$delrids[] = $rid; $delrids[] = $rid;
}else{
if($this->version < 30){
$sql = "select count(s.id) as num from source s left join res_prop rp on s.id = rp.iid where rp.action =0 and s.id = $iid";
}else{
//查询billfish中是否有该数据
$sql = "select count(f.id) as num from bf_file f left join bf_material m on f.id = m.file_id where m.is_recycle =0 and f.id = $iid";
}
$numdata = $this->fetch($sql);
if(!isset($numdata['num']) || !$numdata['num']){
$delrids[] = $rid;
}
} }
} }
if (!empty($delrids)) { if (!empty($delrids)) {
$this->filenum = $this->filenum - count($delrids); $this->filenum = $this->filenum - count($delrids);

View File

@@ -39,5 +39,11 @@ class table_billfish_record extends dzz_table
DB::delete($this->_table,array('appid'=>$appid)); DB::delete($this->_table,array('appid'=>$appid));
} }
public function delete_by_rids($rids){
if (!is_array($rids)) $rids = (array)$rids;
DB::delete($this->_table,'rid in ('.dimplode($rids).')');
}
} }

View File

@@ -0,0 +1,20 @@
<?php
namespace dzz\billfish\classes;
use \core as C;
use \DB as DB;
class deleteafter
{
public function run($data)
{
C::t('#billfish#billfish_record')->delete_by_rids($data['rids']);
}
}

View File

@@ -9,9 +9,9 @@ use \fmpeg as fmpeg;
class delpichomefolderafter class delpichomefolderafter
{ {
public function run($appid) public function run($data)
{ {
C::t("#billfish#billfish_folderrecord")->delete_by_appid($appid); C::t("#billfish#billfish_folderrecord")->delete_by_appid($data['appid']);
} }

View File

@@ -63,9 +63,15 @@ class eagleexport
//目录数据 //目录数据
$folderdata = $appdatas['folders']; $folderdata = $appdatas['folders'];
$efids = C::t('#eagle#eagle_folderrecord')->insert_folderdata_by_appid($this->appid, $folderdata); $efids = C::t('#eagle#eagle_folderrecord')->insert_folderdata_by_appid($this->appid, $folderdata);
$delids = DB::fetch_all("select id from %t where efid not in(%n) and appid = %s",array('eagle_folderrecord',$efids,$this->appid)); $delids = [];
foreach(DB::fetch_all("select id from %t where efid not in(%n) and appid = %s",array('eagle_folderrecord',$efids,$this->appid)) as $delid){
//对比目录数据 $delids[] = $delid['id'];
}
//删除多余目录
foreach(DB::fetch_all("select f.fid from %t f left join %t ef on f.fid=ef.fid where f.appid = %s and ISNULL(ef.id)",array('pichome_folder','eagle_folderrecord',$this->appid)) as $dv){
C::t('pichome_folder')->delete_by_fids($dv);
}
//对比目录数据
if($delids)C::t('#eagle#eagle_folderrecord')->delete_by_ids($delids); if($delids)C::t('#eagle#eagle_folderrecord')->delete_by_ids($delids);
//标签数据 //标签数据
$tagdata = $appdatas['tagsGroups']; $tagdata = $appdatas['tagsGroups'];
@@ -132,14 +138,17 @@ class eagleexport
closedir($dch); closedir($dch);
if ($filenum) $this->filenum = $filenum; if ($filenum) $this->filenum = $filenum;
} else { } else {
C::t('pichome_vapp')->update($this->appid, array('state' => 0)); C::t('pichome_vapp')->update($this->appid, array('state' => -1));
return array('error' => 'Read Dir Failer'); return array('error' => 'Read Dir Failer');
} }
$this->initFoldertag();
C::t('pichome_vapp')->update($this->appid, array('filenum' => $this->filenum, 'state' => 2)); C::t('pichome_vapp')->update($this->appid, array('filenum' => $this->filenum, 'state' => 2));
}else{
$this->initFoldertag();
C::t('pichome_vapp')->update($this->appid, array('state' => 2));
} }
C::t('pichome_vapp')->update($this->appid, array('state' => 2));
$this->initFoldertag();
return array('success' => true); return array('success' => true);
} }
@@ -229,9 +238,10 @@ class eagleexport
$metadata = file_get_contents($metadatajsonfile); $metadata = file_get_contents($metadatajsonfile);
$filemetadata = json_decode($metadata, true); $filemetadata = json_decode($metadata, true);
//如果是删除状态,并且已有数据则执行删除 //如果是删除状态,并且已有数据则执行删除
if ($filemetadata['isDeleted'] && $rid) { if ($filemetadata['isDeleted']) {
C::t('pichome_resources')->delete_by_rid($rid); if($rid)C::t('pichome_resources')->delete_by_rid($rid);
} else { }
else {
//如果不是新生成rid //如果不是新生成rid
if ($rid) { if ($rid) {
$data = C::t('pichome_resources')->fetch($rid); $data = C::t('pichome_resources')->fetch($rid);
@@ -246,136 +256,150 @@ class eagleexport
$file = $tmppath . BS . $filename; $file = $tmppath . BS . $filename;
//缩略图路径 //缩略图路径
$thumbfile = $tmppath . BS . $thumbname; $thumbfile = $tmppath . BS . $thumbname;
$realfids = [];
//如果mtime发生变化则删除原数据重新导入 if(!empty($filemetadata['folders'])){
if ($data['mtime'] < $filemetadata['mtime']) { $realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid);
C::t('pichome_resources')->delete_by_rid($rid);
$filemetadata['rid'] = $this->createrid();
$filemetadata['filename'] = $filemetadata['name'];
$filemetadata['file'] = $file;
$filemetadata['thumbfile'] = $thumbfile;
$filemetadata['rid'] = $rid;
$filemetadata['mtime'] = $filemetadata['mtime'] ? $filemetadata['mtime'] : $filemetadata['modificationTime'];
$filemetadata['btime'] = $filemetadata['btime'] ? $filemetadata['btime'] : $filemetadata['modificationTime'];
$filemetadata['dateline'] = $filemetadata['lastModified'];
$filemetadata['lastdate'] = $flastdate;
$this->exportfile($id,$filemetadata);
unset($filemetadata);
} }
else { $haspassword = false;
//信息表数据记录 if(!empty($realfids)){
$setarr = []; //如果目录含有密码则不导入数据直接跳过
$setarr['searchval'] = $filemetadata['name']; $haspassword = C::t('pichome_folder')->check_haspasswrod($realfids, $this->appid);
//查询原数据中的属性信息 }
$attrdata = C::t('pichome_resources_attr')->fetch($rid); if($haspassword){
$filename = $filemetadata['name'] . '.' . $filemetadata['ext']; C::t('pichome_resources')->delete_by_rid($rid);
//检查reources数据变化 }
$resourcesarr = [ else{
'name' => $filename, //如果mtime发生变化则删除原数据重新导入
'dateline' => $filemetadata['lastModified'], if ($data['mtime'] < $filemetadata['mtime']) {
'isdelete' => $filemetadata['isDeleted'], C::t('pichome_resources')->delete_by_rid($rid);
'grade' => $filemetadata['star'] ? intval($filemetadata['star']) : 0, $filemetadata['rid'] = $this->createrid();
'lastdate' => $flastdate $filemetadata['filename'] = $filemetadata['name'];
]; $filemetadata['file'] = $file;
$file = str_replace('/', BS, $file); $filemetadata['thumbfile'] = $thumbfile;
$attachment = str_replace($this->path . BS, '', $file); $filemetadata['rid'] = $rid;
$path = str_replace('/', BS, $attachment); $filemetadata['mtime'] = $filemetadata['mtime'] ? $filemetadata['mtime'] : $filemetadata['modificationTime'];
$thumb = (is_file($thumbfile)) ? 1 : 0; $filemetadata['btime'] = $filemetadata['btime'] ? $filemetadata['btime'] : $filemetadata['modificationTime'];
$setarr['path'] = $path; $filemetadata['dateline'] = $filemetadata['lastModified'];
$resourcesarr['hasthumb'] = $thumb; $filemetadata['lastdate'] = $flastdate;
$resourcesarr['rid'] = $rid; $this->exportfile($id,$filemetadata);
if (C::t('#eagle#eagle_record')->insert_data($id, $resourcesarr)) { unset($filemetadata);
//检查标签变化 }
//标签数据 else {
$tags = $filemetadata['tags']; //信息表数据记录
$setarr['searchval'] .= implode('', $tags); $setarr = [];
//现有标签 $setarr['searchval'] = $filemetadata['name'];
$tagids = []; //查询原数据中的属性信息
//原有标签 $attrdata = C::t('pichome_resources_attr')->fetch($rid);
$oldtids = []; $filename = $filemetadata['name'] . '.' . $filemetadata['ext'];
if ($attrdata['tag']) $oldtids = explode(',', $attrdata['tag']); //检查reources数据变化
$resourcesarr = [
'name' => $filename,
'dateline' => $filemetadata['lastModified'],
'isdelete' => $filemetadata['isDeleted'],
'grade' => $filemetadata['star'] ? intval($filemetadata['star']) : 0,
'lastdate' => $flastdate,
'width' => $filemetadata['width'] ? $filemetadata['width'] : 0,
'height' => $filemetadata['height'] ? $filemetadata['height'] : 0,
'appid'=>$this->appid
];
$file = str_replace('/', BS, $file);
$attachment = str_replace($this->path . BS, '', $file);
$path = str_replace('/', BS, $attachment);
$thumb = (is_file($thumbfile)) ? 1 : 0;
$setarr['path'] = $path;
$resourcesarr['hasthumb'] = $thumb;
$resourcesarr['rid'] = $rid;
if (C::t('#eagle#eagle_record')->insert_data($id, $resourcesarr)) {
//检查标签变化
//标签数据
$tags = $filemetadata['tags'];
$setarr['searchval'] .= implode('', $tags);
//现有标签
$tagids = [];
//原有标签
$oldtids = [];
if ($attrdata['tag']) $oldtids = explode(',', $attrdata['tag']);
if (!empty($tags)) { if (!empty($tags)) {
$tagids = $this->addtag($tags); $tagids = $this->addtag($tags);
$setarr['tag'] = implode(',', $tagids); $setarr['tag'] = implode(',', $tagids);
} }
$addtags = array_diff($tagids, $oldtids); $addtags = array_diff($tagids, $oldtids);
$deltags = array_diff($oldtids, $tagids); $deltags = array_diff($oldtids, $tagids);
if (!empty($deltags)) C::t('pichome_resourcestag')->delete_by_ridtid($rid, $deltags); if (!empty($deltags)) C::t('pichome_resourcestag')->delete_by_ridtid($rid, $deltags);
foreach ($addtags as $tid) { foreach ($addtags as $tid) {
$rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid]; $rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid];
C::t('pichome_resourcestag')->insert($rtag); C::t('pichome_resourcestag')->insert($rtag);
} }
//检查标注变化 //检查标注变化
if (isset($filemetadata['comments'])) { if (isset($filemetadata['comments'])) {
$cids = []; $cids = [];
foreach ($filemetadata['comments'] as $commentval) { foreach ($filemetadata['comments'] as $commentval) {
$tcommentval['id'] = $commentval['id'] . $this->appid; $tcommentval['id'] = $commentval['id'] . $this->appid;
$tcommentval['appid'] = $this->appid; $tcommentval['appid'] = $this->appid;
$tcommentval['rid'] = $rid; $tcommentval['rid'] = $rid;
$tcommentval['x'] = number_format($commentval['x'], 2); $tcommentval['x'] = number_format($commentval['x'], 2);
$tcommentval['y'] = number_format($commentval['y'], 2); $tcommentval['y'] = number_format($commentval['y'], 2);
$tcommentval['width'] = $commentval['width']; $tcommentval['width'] = $commentval['width'];
$tcommentval['height'] = $commentval['height']; $tcommentval['height'] = $commentval['height'];
$tcommentval['annotation'] = $commentval['annotation']; $tcommentval['annotation'] = $commentval['annotation'];
$tcommentval['lastModified'] = $commentval['lastModified']; $tcommentval['lastModified'] = $commentval['lastModified'];
try { try {
C::t('pichome_comments')->insert($tcommentval); C::t('pichome_comments')->insert($tcommentval);
$setarr['searchval'] .= $tcommentval['annotation']; $setarr['searchval'] .= $tcommentval['annotation'];
} catch (Exception $e) { } catch (Exception $e) {
}
$cids[] = $tcommentval['id'];
unset($tcommentval);
} }
$cids[] = $tcommentval['id']; $ocids = C::t('pichome_comments')->fetch_id_by_rid($rid);
unset($tcommentval); $delcids = array_diff($ocids, $cids);
if (!empty($delcids)) C::t('pichome_comments')->delete($delcids);
} else {
C::t('pichome_comments')->delete_by_rid($rid);
} }
$ocids = C::t('pichome_comments')->fetch_id_by_rid($rid);
$delcids = array_diff($ocids, $cids);
if (!empty($delcids)) C::t('pichome_comments')->delete($delcids);
} else {
C::t('pichome_comments')->delete_by_rid($rid);
}
$rfids = []; $rfids = [];
$orfids = C::t('pichome_folderresources')->fetch_id_by_rid($rid); $orfids = C::t('pichome_folderresources')->fetch_id_by_rid($rid);
C::t('pichome_folderresources')->delete($orfids); C::t('pichome_folderresources')->delete($orfids);
$setarr['searchval'] .= $resourcesarr['name']; $setarr['searchval'] .= $resourcesarr['name'];
//$fids = [];
if(!empty($filemetadata['folders'])){
$realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid);
}
//检查目录变化
foreach ($realfids as $fv) { //检查目录变化
$fid = trim($fv) . $this->appid; foreach ($realfids as $fv) {
if (!C::t('pichome_folder')->check_password_byfid($fid)) { $fid =$fv;
$frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid]; if (!C::t('pichome_folder')->check_password_byfid($fid)) {
C::t('pichome_folderresources')->insert($frsetarr); $frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid];
// $fids[] = $fid; C::t('pichome_folderresources')->insert($frsetarr);
// $fids[] = $fid;
}
} }
//尝试更新属性表数据
$setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
//描述数据
$setarr['desc'] = $filemetadata['annotation'] ? $filemetadata['annotation'] : '';
$setarr['searchval'] .= $setarr['desc'] . $setarr['link'];
if ($filemetadata['duration']) $setarr['duration'] = number_format($filemetadata['duration'], 2);
$setarr['rid'] = $rid;
C::t('pichome_resources_attr')->insert($setarr);
unset($filemetadata);
unset($setarr);
} }
//尝试更新属性表数据
$setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
//描述数据
$setarr['desc'] = $filemetadata['annotation'] ? $filemetadata['annotation'] : '';
$setarr['searchval'] .= $setarr['desc'] . $setarr['link'];
if ($filemetadata['duration']) $setarr['duration'] = number_format($filemetadata['duration'], 2);
$setarr['rid'] = $rid;
C::t('pichome_resources_attr')->insert($setarr);
unset($filemetadata);
unset($setarr);
} }
} }
} }
else{ else{
if(!$rdata){ if(!$rdata){
$setarr = [ $setarr = [
'appid'=>$this->appid, 'appid'=>$this->appid,
'rid'=>$rid, 'rid'=>$rid,
'eid'=>$id, 'eid'=>$id,
'dateline'=>$flastdate 'dateline'=>$flastdate
]; ];
C::t('#eagle#eagle_record')->insert($setarr); C::t('#eagle#eagle_record')->insert($setarr);
@@ -383,6 +407,7 @@ class eagleexport
} }
} else { } else {
$realfids = [];
if(!empty($filemetadata['folders'])){ if(!empty($filemetadata['folders'])){
$realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid); $realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid);
} }
@@ -436,6 +461,8 @@ class eagleexport
$spl_object = false; $spl_object = false;
@unlink($this->readtxt . 'eagleexport' . md5($this->path) . '.txt'); @unlink($this->readtxt . 'eagleexport' . md5($this->path) . '.txt');
$lastid = 0; $lastid = 0;
$percent = 0;
$this->donum = 0;
} else { } else {
$lastid = $this->donum; $lastid = $this->donum;
} }
@@ -476,6 +503,8 @@ class eagleexport
C::t('pichome_folder')->update($v['fid'], array('filenum' => $v['num'])); C::t('pichome_folder')->update($v['fid'], array('filenum' => $v['num']));
} }
//修正eagle对照表数据
//DB::delete('eagle_record',array('appid'=>''));
//修正库中文件数 //修正库中文件数
$total = DB::result_first("select count(rid) from %t where appid = %s ", array('pichome_resources', $this->appid)); $total = DB::result_first("select count(rid) from %t where appid = %s ", array('pichome_resources', $this->appid));
$hascatnum = DB::result_first("SELECT count(DISTINCT rid) FROM %t where appid = %s", array('pichome_folderresources', $this->appid)); $hascatnum = DB::result_first("SELECT count(DISTINCT rid) FROM %t where appid = %s", array('pichome_folderresources', $this->appid));
@@ -489,12 +518,15 @@ class eagleexport
} else { } else {
$id = C::t('#eagle#eagle_record')->fetch_eid_by_rid($v['rid'],$this->appid); $id = C::t('#eagle#eagle_record')->fetch_eid_by_rid($v['rid'],$this->appid);
if(!$id){ if(!$id){
$id = str_replace($this->appid, '', $v['rid']); //$id = str_replace($this->appid, '', $v['rid']);
}
$filejson = $this->path . BS . 'images' . BS . $id . '.info' . BS . 'metadata.json';
if (!is_file($filejson)) {
$delrids[] = $v['rid']; $delrids[] = $v['rid'];
}else{
$filejson = $this->path . BS . 'images' . BS . $id . '.info' . BS . 'metadata.json';
if (!is_file($filejson)) {
$delrids[] = $v['rid'];
}
} }
} }

View File

@@ -20,10 +20,10 @@ class table_eagle_folderrecord extends dzz_table
public function createfidby_efidappid($efid,$appid){ public function createfidby_efidappid($efid,$appid){
//如果没有记录值 //如果没有记录值
if (!$fid = DB::result_first("select fid from %t where efid = %s", array($this->_table, $efid))){ if (!$fid = DB::result_first("select fid from %t where efid = %s and appid = %s", array($this->_table, $efid,$appid))){
//检查是否有旧版数据记录值 //检查是否有旧版数据记录值
$fid = $efid.$appid; $fid = $efid.$appid;
if(!DB::result_first("select fid from %t where fid = %s",array('pichome_folder',$fid))){ if(!DB::result_first("select fid from %t where fid = %s and appid = %s",array('pichome_folder',$fid,$appid))){
$fid = C::t('pichome_folder')->createfidbyappid($appid); $fid = C::t('pichome_folder')->createfidbyappid($appid);
} }
$setarr = [ $setarr = [
@@ -41,7 +41,16 @@ class table_eagle_folderrecord extends dzz_table
$id = $v['id']; $id = $v['id'];
//获取或生成记录fid值 //获取或生成记录fid值
$fid = $this->createfidby_efidappid($id,$appid); $fid = $this->createfidby_efidappid($id,$appid);
$setarr=['fid'=>$fid,'fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=> ($pathkey)?$pathkey.$fid:$fid,'disp'=>$k]; $setarr=[
'fid'=>$fid,
'fname'=>$v['name'],
'dateline'=>TIMESTAMP,
'pfid'=>$pfid,
'appid'=>$appid,
'password'=>$v['password'],
'passwordtips'=>$v['passwordTips'],
'pathkey'=> ($pathkey)?$pathkey.$fid:$fid,
'disp'=>$k];
$fid = C::t('pichome_folder')->insert_data($setarr); $fid = C::t('pichome_folder')->insert_data($setarr);
$fids[] = $id; $fids[] = $id;
if($v['children']){ if($v['children']){

View File

@@ -9,9 +9,9 @@ use \fmpeg as fmpeg;
class delpichomefolderafter class delpichomefolderafter
{ {
public function run($appid) public function run($data)
{ {
C::t("#eagle#eagle_folderrecord")->delete_by_appid($appid); C::t("#eagle#eagle_folderrecord")->delete_by_appid($data['appid']);
} }

View File

@@ -6,8 +6,8 @@ if (!defined('IN_OAOOA')) {
@set_time_limit(0); @set_time_limit(0);
ini_set('memory_limit', -1); ini_set('memory_limit', -1);
@ini_set('max_execution_time', 0); @ini_set('max_execution_time', 0);
$appids = []; $appids = [''];
foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d",array('pichome_vapp',1,1)) as $v){ foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d and isdelete < 1",array('pichome_vapp',1,1)) as $v){
$appids[] = $v['appid']; $appids[] = $v['appid'];
} }
if(empty($appids)){ if(empty($appids)){
@@ -25,51 +25,58 @@ $i = 0;
$processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i; $processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i;
$limit = 10; $limit = 10;
$start=$i*$limit; $start=$i*$limit;
if (!dzz_process::islocked($processname, 60*60)) { if (!dzz_process::islocked($processname, 60*30)) {
$locked=false; $locked=false;
} }
if ($locked) { if ($locked) {
exit(json_encode( array('error'=>'进程已被锁定请稍后再试'))); exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
} }
$datas = DB::fetch_all("select * from %t where infostatus = 0 and appid in(%n)
order by infodonum asc limit $start,$limit",array('pichome_ffmpeg_record',$appids));
use dzz\ffmpeg\classes\info as info; use dzz\ffmpeg\classes\info as info;
$info =new info; if($datas){
foreach(DB::fetch_all("select * from %t where infostatus = 0 and appid in(%n)
order by infodonum asc limit $start,$limit",array('pichome_ffmpeg_record',$appids)) as $v){
$processname1 = 'PICHOMEGETINFO_'.$v['rid'];
if (dzz_process::islocked($processname1, 60*5)) {
continue;
}
$data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
if(empty($data)){ $info =new info;
C::t('pichome_ffmpeg_record')->delete($v['rid']); foreach($datas as $v){
dzz_process::unlock($processname1); $processname1 = 'PICHOMEGETINFO_'.$v['rid'];
continue; if (dzz_process::islocked($processname1, 60*5)) {
}else{
//如果信息执行次数大于三次直接赋值为1不再尝试获取
if($v['infodonum'] > 3 && $v['infostatus'] == 0){
$v['infostatus'] = 1;
C::t('pichome_ffmpeg_record')->update($v['rid'],array('infostatus'=>1));
dzz_process::unlock($processname1);
continue; continue;
} }
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取 $data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))) { if(empty($data)){
C::t('pichome_resources_attr')->update($v['rid'], array('isget' => 1)); C::t('pichome_ffmpeg_record')->delete($v['rid']);
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1); dzz_process::unlock($processname1);
continue;
}else{
//如果信息执行次数大于三次直接赋值为1不再尝试获取
if($v['infodonum'] > 3 && $v['infostatus'] == 0){
$v['infostatus'] = 1;
C::t('pichome_ffmpeg_record')->update($v['rid'],array('infostatus'=>1));
dzz_process::unlock($processname1);
continue;
} }
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))) {
C::t('pichome_resources_attr')->update($v['rid'], array('isget' => 1));
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1);
}
dzz_process::unlock($processname1);
continue;
}
DB::query("update %t set infodonum=infodonum+%d where rid = %s ", array('pichome_ffmpeg_record', 1, $data['rid']));
$info->rundata($data);
dzz_process::unlock($processname1); dzz_process::unlock($processname1);
continue;
} }
DB::query("update %t set infodonum=infodonum+%d where rid = %s ", array('pichome_ffmpeg_record', 1, $data['rid'])); }
$info->rundata($data); dzz_process::unlock($processname);
dzz_process::unlock($processname1); if(DB::result_first("select * from %t where infostatus = 0 and appid in(%n)",array('pichome_ffmpeg_record',$appids))){
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=getinfo', 0, '', '', false, '', 5*60);
} }
} }
dzz_process::unlock($processname); dzz_process::unlock($processname);
if(DB::result_first("select * from %t where infostatus = 0 ",array('pichome_ffmpeg_record'))){
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=getinfo', 0, '', '', false, '', 5*60);
}
exit('success'); exit('success');

View File

@@ -12,8 +12,8 @@ if (!defined('IN_OAOOA')) {
@set_time_limit(0); @set_time_limit(0);
ini_set('memory_limit', -1); ini_set('memory_limit', -1);
@ini_set('max_execution_time', 0); @ini_set('max_execution_time', 0);
$appids = []; $appids = [''];
foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d",array('pichome_vapp',1,1)) as $v){ foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d and isdelete < 1",array('pichome_vapp',1,1)) as $v){
$appids[] = $v['appid']; $appids[] = $v['appid'];
} }
if(empty($appids)){ if(empty($appids)){
@@ -31,51 +31,55 @@ $i = 0;
$processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i; $processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i;
$limit = 10; $limit = 10;
$start=$i*$limit; $start=$i*$limit;
if (!dzz_process::islocked($processname, 60*60)) { if (!dzz_process::islocked($processname, 60*30)) {
$locked=false; $locked=false;
} }
if ($locked) { if ($locked) {
exit(json_encode( array('error'=>'进程已被锁定请稍后再试'))); exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
} }
$datas = DB::fetch_all("select * from %t where thumbstatus = 0 and appid in(%n)
order by infodonum asc limit $start,$limit",array('pichome_ffmpeg_record',$appids));
use dzz\ffmpeg\classes\thumb as thumb; use dzz\ffmpeg\classes\thumb as thumb;
if($datas){
$thumb =new thumb; $thumb =new thumb;
foreach(DB::fetch_all("select * from %t where thumbstatus = 0 and appid in(%n) foreach($datas as $v){
order by thumbdonum asc limit $start,$limit",array('pichome_ffmpeg_record',$appids)) as $v){ $processname1 = 'PICHOMEGETVIDOTHUMB_'.$v['rid'];
$processname1 = 'PICHOMEGETVIDOTHUMB_'.$v['rid']; if (dzz_process::islocked($processname1, 60*5)) {
if (dzz_process::islocked($processname1, 60*5)) {
continue;
}
$data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
if(empty($data)){
C::t('pichome_ffmpeg_record')->delete($v['rid']);
dzz_process::unlock($processname1);
continue;
}else{
//如果缩略图获取次数大于三次直接赋值为1不再尝试获取
if($v['thumbdonum'] > 3 && $v['thumbstatus'] == 0){
$v['infostatus'] = 1;
C::t('pichome_ffmpeg_record')->update($v['rid'],array('infostatus'=>1));
dzz_process::unlock($processname1);
continue; continue;
} }
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取 $data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){ if(empty($data)){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))) { C::t('pichome_ffmpeg_record')->delete($v['rid']);
C::t('pichome_resources_attr')->update($v['rid'], array('isget' => 1)); dzz_process::unlock($processname1);
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1); continue;
}else{
//如果缩略图获取次数大于三次直接赋值为1不再尝试获取
if($v['thumbdonum'] > 3 && $v['thumbstatus'] == 0){
$v['infostatus'] = 1;
C::t('pichome_ffmpeg_record')->update($v['rid'],array('infostatus'=>1));
dzz_process::unlock($processname1);
continue;
} }
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))) {
C::t('pichome_resources_attr')->update($v['rid'], array('isget' => 1));
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1);
}
dzz_process::unlock($processname1);
continue;
}
DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_ffmpeg_record', 1, $data['rid']));
$thumb->rundata($data);
dzz_process::unlock($processname1); dzz_process::unlock($processname1);
continue;
}
DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_ffmpeg_record', 1, $data['rid']));
$thumb->rundata($data);
dzz_process::unlock($processname1);
}
}
dzz_process::unlock($processname);
if(DB::result_first("select * from %t where thumbstatus = 0 and appid in(%n)",array('pichome_ffmpeg_record',$appids))){
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=thumb', 0, '', '', false, '', 5*60);
} }
} }
dzz_process::unlock($processname); dzz_process::unlock($processname);
if(DB::result_first("select * from %t where thumbstatus = 0 ",array('pichome_ffmpeg_record'))){
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=thumb', 0, '', '', false, '', 5*60);
}
exit('success'); exit('success');

View File

@@ -76,7 +76,7 @@ class getColor
$palettes = $palette->palette; $palettes = $palette->palette;
} catch (\Exception $e) { } catch (\Exception $e) {
$processname1 = 'PICHOMEGETCOLOR_'.$data['rid']; $processname1 = 'PICHOMEGETCOLOR_'.$data['rid'];
dzz_process::unlock($processname1); \dzz_process::unlock($processname1);
runlog('imageColor', $e->getMessage() . ' img=' . $img); runlog('imageColor', $e->getMessage() . ' img=' . $img);
} }

View File

@@ -6,8 +6,8 @@ if (!defined('IN_OAOOA')) {
@set_time_limit(0); @set_time_limit(0);
ini_set('memory_limit', -1); ini_set('memory_limit', -1);
@ini_set('max_execution_time', 0); @ini_set('max_execution_time', 0);
$appids = []; $appids = [''];
foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d",array('pichome_vapp',1,1)) as $v){ foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d and isdelete < 1",array('pichome_vapp',1,1)) as $v){
$appids[] = $v['appid']; $appids[] = $v['appid'];
} }
if(empty($appids)){ if(empty($appids)){
@@ -25,68 +25,74 @@ $i = 0;
$processname = 'DZZ_LOCK_PICHOMEGETCOLOR'.$i; $processname = 'DZZ_LOCK_PICHOMEGETCOLOR'.$i;
$limit = 10; $limit = 10;
$start=$i*$limit; $start=$i*$limit;
if (!dzz_process::islocked($processname, 60*60)) { if (!dzz_process::islocked($processname, 60*30)) {
$locked=false; $locked=false;
} }
//dzz::unlock($processname); //dzz::unlock($processname);
if ($locked) { if ($locked) {
exit(json_encode( array('error'=>'进程已被锁定请稍后再试'))); exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
} }
$datas = DB::fetch_all("select * from %t where thumbstatus = 0 or colorstatus = 0 and appid in(%n)
order by thumbdonum asc,colordonum asc limit $start,$limit",array('pichome_imagickrecord',$appids));
use dzz\imageColor\classes\getcolor as getcolor; use dzz\imageColor\classes\getcolor as getcolor;
$getcolor =new getcolor; if($datas){
$getcolor =new getcolor;
foreach(DB::fetch_all("select * from %t where thumbstatus = 0 or colorstatus = 0 and appid in(%n) foreach($datas as $v){
order by thumbdonum asc,colordonum asc limit $start,$limit",array('pichome_imagickrecord',$appids)) as $v){ $processname1 = 'PICHOMEGETCOLOR_'.$v['rid'];
$processname1 = 'PICHOMEGETCOLOR_'.$v['rid']; if (dzz_process::islocked($processname1, 60*5)) {
if (dzz_process::islocked($processname1, 60*5)) {
continue;
}
$data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
if(empty($data)){
C::t('pichome_imagickrecord')->delete($v['rid']);
dzz_process::unlock($processname1);
continue;
}else{
//如果缩略图执行次数大于三次直接赋值为1不再尝试生成
if($v['thumbdonum'] > 3 && $v['thumbstatus'] == 0){
$v['thumbstatus'] = 1;
//如果当前文件为pdf,直接赋值颜色生成为1
if(strtolower($v['ext']) == 'pdf'){
$v['colorstatus'] = 1;
C::t('pichome_imagickrecord')->update($v['rid'],array('thumbstatus'=>1,'colorstatus'=>1));
}
}
if($v['colordonum'] > 3 && $v['colorstatus'] == 0){
$v['colorstatus'] = 1;
C::t('pichome_imagickrecord')->update($v['rid'],array('colorstatus'=>1));
}
//如果颜色和缩略图标记为已生成,标记该文件信息状态为已获取
if($v['thumbstatus'] == 1 && $v['colorstatus'] == 1){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))){
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>1));
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1);
}
dzz_process::unlock($processname1);
continue; continue;
} }
// $data['colorstatus'] = $v['colorstatus']; $data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
//$data['thumbstatus'] = $v['thumbstatus'];
if(strtolower($data['ext']) == 'pdf'){ if(empty($data)){
DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid'])); C::t('pichome_imagickrecord')->delete($v['rid']);
$getcolor->getpdfthumb($data); dzz_process::unlock($processname1);
continue;
}else{ }else{
if(!$v['colorstatus']) DB::query("update %t set colordonum=colordonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid'])); //如果缩略图执行次数大于三次直接赋值为1不再尝试生成
if(!$v['thumbstatus']) DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid'])); if($v['thumbdonum'] > 3 && $v['thumbstatus'] == 0){
$getcolor->rundata($data); $v['thumbstatus'] = 1;
//如果当前文件为pdf,直接赋值颜色生成为1
if(strtolower($v['ext']) == 'pdf'){
$v['colorstatus'] = 1;
C::t('pichome_imagickrecord')->update($v['rid'],array('thumbstatus'=>1,'colorstatus'=>1));
}else{
C::t('pichome_imagickrecord')->update($v['rid'],array('thumbstatus'=>1));
}
}
if($v['colordonum'] > 3 && $v['colorstatus'] == 0){
$v['colorstatus'] = 1;
C::t('pichome_imagickrecord')->update($v['rid'],array('colorstatus'=>1));
}
//如果颜色和缩略图标记为已生成,标记该文件信息状态为已获取
if($v['thumbstatus'] == 1 && $v['colorstatus'] == 1){
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$v['rid']))){
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>1));
C::t('pichome_vapp')->add_getinfonum_by_appid($v['appid'], 1);
}
dzz_process::unlock($processname1);
continue;
}
// $data['colorstatus'] = $v['colorstatus'];
//$data['thumbstatus'] = $v['thumbstatus'];
if(strtolower($data['ext']) == 'pdf'){
DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid']));
$getcolor->getpdfthumb($data);
}else{
if(!$v['colorstatus']) DB::query("update %t set colordonum=colordonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid']));
if(!$v['thumbstatus']) DB::query("update %t set thumbdonum=thumbdonum+%d where rid = %s ", array('pichome_imagickrecord', 1, $data['rid']));
$getcolor->rundata($data);
}
} }
dzz_process::unlock($processname1);
}
dzz_process::unlock($processname);
if(DB::result_first("select count(*) from %t where thumbstatus = 0 or colorstatus = 0 and appid in(%n) ",array('pichome_imagickrecord',$appids))){
dfsockopen(getglobal('localurl') . 'index.php?mod=imageColor&op=index', 0, '', '', false, '', 5*60);
} }
dzz_process::unlock($processname1);
} }
dzz_process::unlock($processname); dzz_process::unlock($processname);
if(DB::result_first("select count(*) from %t where thumbstatus = 0 or colorstatus = 0 ",array('pichome_imagickrecord'))){
dfsockopen(getglobal('localurl') . 'index.php?mod=imageColor&op=index', 0, '', '', false, '', 5*60);
}
exit('success'.$i); exit('success'.$i);

View File

@@ -9,13 +9,40 @@
if (!defined('IN_OAOOA')) { if (!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
$fpath = isset($_GET['fpath']) ? trim($_GET['fpath']):''; global $_G;
if(!$fpath = dzzdecode(rawurldecode($fpath), '', 0)){ $path = isset($_GET['path']) ? trim($_GET['path']):'';
if (!$path = dzzdecode(rawurldecode($_GET['path']), '', 0)) { if(!$path = dzzdecode($path,'',0)){
@header('HTTP/1.1 404 Not Found'); @header('HTTP/1.1 404 Not Found');
@header('Status: 404 Not Found'); @header('Status: 404 Not Found');
}
$patharr = explode('_',$path);
$perm = isset($patharr[1]) ? intval($patharr[1]):0;
if($perm&1){//是否获取真实文件地址
$rid = $patharr[0];
$hasperm = true;
$resourcesdata = C::t('pichome_resources')->fetch($rid);
if(!$resourcesdata){
exit('file is not exists');
}
$resourattrdata = C::t('pichome_resources_attr')->fetch($rid);
$resourcesdata = array_merge($resourcesdata, $resourattrdata);
$appdata = C::t('pichome_vapp')->fetch($resourcesdata['appid']);
if($perm&2){//判断是否忽略权限
$hasperm = true;
}else{
if($_G['adminid']== 1){
$hasperm = true;
}else{
$hasperm = ($appdata['download']) ? true:false;
}
} }
if(!$hasperm){
@header('HTTP/1.1 403 No Perm');
@header('Status: 404 No Perm');
}
$thumbpath = $appdata['path'] . BS . $resourcesdata['path'];
}else{//获取缩略图
$rid = $path; $rid = $path;
$resourcesdata = C::t('pichome_resources')->fetch($rid); $resourcesdata = C::t('pichome_resources')->fetch($rid);
if(!$resourcesdata){ if(!$resourcesdata){
@@ -50,8 +77,6 @@ if(!$fpath = dzzdecode(rawurldecode($fpath), '', 0)){
$thumbpath = geticonfromext($resourcesdata['ext'], $resourcesdata['type']); $thumbpath = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
} }
} }
}else{
$thumbpath = $fpath;
} }
$url = $thumbpath; $url = $thumbpath;

View File

@@ -96,13 +96,21 @@ class localexport
$fileinfo = $this->readdir($filedir, $thandle, $filenum); $fileinfo = $this->readdir($filedir, $thandle, $filenum);
fclose($thandle); fclose($thandle);
if ($fileinfo['error']) { if ($fileinfo['error']) {
C::t('pichome_vapp')->update($this->appid, array('state' => 0)); C::t('pichome_vapp')->update($this->appid, array('state' => -1));
return $fileinfo; return $fileinfo;
} else { } else {
C::t('pichome_vapp')->update($this->appid, array('filenum' => $fileinfo['filenum'], 'state' => 2)); C::t('pichome_vapp')->update($this->appid, array('filenum' => $fileinfo['filenum'], 'state' => 2,'percent'=>0,'lastid'=>0,'donum'=>0));
} }
}else{
if($this->filenum)C::t('pichome_vapp')->update($this->appid, array('state' => 2,'percent'=>0,'lastid'=>0,'donum'=>0));
else{
C::t('pichome_vapp')->update($this->appid, array('state' => -1));
@unlink($readtxt);
return array('error'=>'导入失败,请重试');
}
} }
C::t('pichome_vapp')->update($this->appid, array('state' => 2));
return array('success' => true); return array('success' => true);
} }
@@ -115,13 +123,14 @@ class localexport
$handle = dir($path); $handle = dir($path);
if ($handle) { if ($handle) {
while (($filename = $handle->read()) !== false) { while (($filename = $handle->read()) !== false) {
if ($this->charset != CHARSET) $convertfilename = diconv($filename, $this->charset, CHARSET);; if ($this->charset != CHARSET) $convertfilename = diconv($filename, $this->charset, CHARSET);
else $convertfilename = $filename;
$newPath = $path . BS . $filename; $newPath = $path . BS . $filename;
if (is_dir($newPath) && $filename != '.' && $filename != '..') { if (is_dir($newPath) && $filename != '.' && $filename != '..' && $filename != '@eaDir') {
if ((preg_match('/^(' . $this->notallowdir . ')$/i', $convertfilename))) { if ((preg_match('/^(' . $this->notallowdir . ')$/i', $convertfilename))) {
continue; continue;
} }
fwrite($thandle, $newPath . "\t" . 'folder' . "\n"); //fwrite($thandle, $newPath . "\t" . 'folder' . "\n");
$this->readdir($newPath, $thandle, $filenum); $this->readdir($newPath, $thandle, $filenum);
} elseif (is_file($newPath)) { } elseif (is_file($newPath)) {
if (($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $convertfilename)) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $convertfilename))) { if (($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $convertfilename)) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $convertfilename))) {
@@ -154,8 +163,6 @@ class localexport
return array('success' => true); return array('success' => true);
} }
//检测是否安装了ffmpeg
if ($this->lastid) { if ($this->lastid) {
$start = $this->lastid; $start = $this->lastid;
} else $start = 0; } else $start = 0;
@@ -191,8 +198,9 @@ class localexport
//保存路径,用于之后获取文件使用 //保存路径,用于之后获取文件使用
$savepath = str_replace(array('/', './', '\\'), '/', $filearr[0]); $savepath = str_replace(array('/', './', '\\'), '/', $filearr[0]);
$savepath = str_replace($this->path . '/', '', $savepath); $savepath = str_replace($this->path . '/', '', $savepath);
if($rid = DB::result_first("select rid from %t where path = %s and appid = %s", $pathmd5 = md5($savepath.$this->appid);
array('pichome_resources_attr',$savepath,$this->appid))){ if($recorddata = DB::fetch_first("select * from %t where id = %s",array('local_record',$pathmd5))){
$rid = $recorddata['rid'];
$hasrid = 1; $hasrid = 1;
}else{ }else{
//生成rid //生成rid
@@ -228,11 +236,11 @@ class localexport
$filename = $this->getbasename($filepath); $filename = $this->getbasename($filepath);
//不符合导入规则文件不允许导入,并减少总数 //不符合导入规则文件不允许导入,并减少总数
if (($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $filename)) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $filename))) { if (($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $filename)) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $filename))) {
if($hasrid) C::t('pichome_resources')->delete_by_rid($rid);
$this->filenum -= 1; $this->filenum -= 1;
} else { } else {
//查询是否已有数据
$data = C::t('pichome_resources')->fetch($rid); if (!$hasrid) {
if (!$data) {
$setarr = [ $setarr = [
'rid' => $rid, 'rid' => $rid,
'name' => $filename, 'name' => $filename,
@@ -246,15 +254,17 @@ class localexport
'height' => ($imginfo[1]) ? $imginfo[1] : 0, 'height' => ($imginfo[1]) ? $imginfo[1] : 0,
'mtime' => $ctime * 1000, 'mtime' => $ctime * 1000,
'dateline' => $mtime * 1000, 'dateline' => $mtime * 1000,
'btime' => TIMESTAMP * 1000 'btime' => TIMESTAMP * 1000,
'editdate'=>$mtime,
'path'=>$savepath
]; ];
if (C::t('pichome_resources')->insert($setarr)) { if (C::t('#local#local_record')->insert_data($setarr)) {
$attrdata = [ $attrdata = [
'rid' => $rid, 'rid' => $rid,
'appid' => $this->appid, 'appid' => $this->appid,
'isget' => 0, 'isget' => 0,
'path' => $savepath, 'path' => $savepath,
'searchval'=>$filename 'searchval'=>$filename,
]; ];
@@ -272,7 +282,9 @@ class localexport
} }
} }
else { else {
if ($mtime > $data['lastdate']) { //查询是否已有数据
// $data = C::t('pichome_resources')->fetch($rid);
if ($mtime > $recorddata['dateline'] || $force) {
$setarr = [ $setarr = [
'lastdate' => $mtime, 'lastdate' => $mtime,
'appid' => $this->appid, 'appid' => $this->appid,
@@ -285,26 +297,28 @@ class localexport
'btime' => TIMESTAMP * 1000, 'btime' => TIMESTAMP * 1000,
'width' => ($imginfo[0]) ? $imginfo[0] : 0, 'width' => ($imginfo[0]) ? $imginfo[0] : 0,
'height' => ($imginfo[1]) ? $imginfo[1] : 0, 'height' => ($imginfo[1]) ? $imginfo[1] : 0,
'editdate'=>$mtime
]; ];
if (C::t('pichome_resources')->update($rid, $setarr)) { if (C::t('#local#local_record')->insert_data($setarr)) {
$attrdata = [ $attrdata = [
'rid' => $rid, 'rid' => $rid,
'appid' => $this->appid, 'appid' => $this->appid,
'isget' => 0, 'isget' => 0,
'path' => $savepath, 'path' => $savepath,
'searchval'=>$filename 'searchval'=>$filename,
]; ];
C::t('pichome_resources_attr')->insert($attrdata); C::t('pichome_resources_attr')->insert($attrdata);
//如果文件被替换强制插入获取信息数据 //如果文件被替换强制插入获取信息数据
$setarr['isforce'] = 1; $hookdata = ['appid'=>$this->appid,'rid'=>$rid,'ext'=>$ext,'isforce'=>1];
Hook::listen('pichomegetinfo',$data); Hook::listen('pichomegetinfo',$hookdata);
} }
}else{ }else{
$hookdata = ['appid'=>$this->appid,'rid'=>$rid,'ext'=>$ext];
//如果文件已存在,尝试插入获取信息数据 //如果文件已存在,尝试插入获取信息数据
Hook::listen('pichomegetinfo',$data); Hook::listen('pichomegetinfo',$hookdata);
} }
} }
$this->donum += 1; $this->donum += 1;
@@ -404,6 +418,34 @@ class localexport
$data = DB::fetch_all("select rid,name,ext from %t where appid = %s order by lastdate asc limit $limitsql ", array('pichome_resources', $this->appid)); $data = DB::fetch_all("select rid,name,ext from %t where appid = %s order by lastdate asc limit $limitsql ", array('pichome_resources', $this->appid));
if (empty($data)) { if (empty($data)) {
C::t('pichome_vapp')->update($this->appid, array('percent' => 0, 'state' => 4, 'lastid' => 0, 'donum' => 0)); C::t('pichome_vapp')->update($this->appid, array('percent' => 0, 'state' => 4, 'lastid' => 0, 'donum' => 0));
$folderdata = DB::fetch_all("select fid,pathkey from %t where appid = %s",array('pichome_folder',$this->appid));
foreach($folderdata as $v){
$pathkeyarr = explode($this->appid,$v['pathkey']);
$pathkeyarr = array_filter($pathkeyarr);
$idelete = false;
$pfolder =[];
foreach($pathkeyarr as $fv){
$tfid = $fv.$this->appid;
if($tfid){
if($tfname = DB::result_first("select fname from %t where fid = %s and appid = %s",array('pichome_folder',$tfid,$this->appid))){
$pfolder[] = $tfname;
}else{
C::t('pichome_folder')->delete($v['fid']);
$idelete = true;
break;
}
}
}
if($idelete) continue;
$ppath = implode('/',$pfolder);
$folderpath = $this->path.'/'.$ppath;
if(!is_dir($folderpath)){
C::t('pichome_folder')->delete($v['fid']);
}
}
//校验完成后更新目录文件数 //校验完成后更新目录文件数
foreach (DB::fetch_all("select count(rf.id) as num,f.fid from %t f left join %t rf on rf.fid=f.fid where f.appid = %s group by f.fid", array('pichome_folder', 'pichome_folderresources', $this->appid)) as $v) { foreach (DB::fetch_all("select count(rf.id) as num,f.fid from %t f left join %t rf on rf.fid=f.fid where f.appid = %s group by f.fid", array('pichome_folder', 'pichome_folderresources', $this->appid)) as $v) {
C::t('pichome_folder')->update($v['fid'], array('filenum' => $v['num'])); C::t('pichome_folder')->update($v['fid'], array('filenum' => $v['num']));
@@ -425,16 +467,14 @@ where ra.appid = %s and ((ra.isget = 0 and ISNULL(fc.rid) and ISNULL(ic.rid)) or
C::t('pichome_vapp')->update($this->appid,array('filenum'=>$total,'nosubfilenum'=>$nosubfilenum,'getinfonum'=>$getinfonum)); C::t('pichome_vapp')->update($this->appid,array('filenum'=>$total,'nosubfilenum'=>$nosubfilenum,'getinfonum'=>$getinfonum));
return true; return true;
} }
foreach ($data as $v) { foreach ($data as $v) {
$rid = $v['rid']; $rid = $v['rid'];
$filepath = DB::result_first("select `path` from %t where rid = %s and appid = %s", array('pichome_resources_attr', $rid, $this->appid)); $filepath = DB::result_first("select `path` from %t where rid = %s and appid = %s", array('pichome_resources_attr', $rid, $this->appid));
$filepath = str_replace(array('/', './', '\\'), BS, $this->path . BS . $filepath); $filepath = str_replace(array('/', './', '\\'), BS, $this->path . BS . $filepath);
//echo $v['name'].'<br>'; //echo $v['name'].'<br>';
if (!is_file($filepath) || ($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $v['name'])) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $v['name']))) { if (!is_file($filepath) || ($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $v['name'])) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $v['name']))) {
//echo $rid;
// echo $v['name']."\n";
// var_dump((!preg_match('/^(' . $this->allowext . ')$/i', $v['name'])));
//die;
$delrids[] = $rid; $delrids[] = $rid;
} }

View File

@@ -0,0 +1,62 @@
<?php
/*
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
* @license https://www.oaooa.com/licenses/
*
* @link https://www.oaooa.com
* @author zyx(zyx@oaooa.com)
*/
if(!defined('IN_OAOOA')) {
exit('Access Denied');
}
class table_local_record extends dzz_table
{
public function __construct() {
$this->_table = 'local_record';
$this->_pk = 'id';
parent::__construct();
}
public function insert_data($setarr){
$editdateline = $setarr['editdate'];
$path = $setarr['path'];
unset($setarr['editdate']);
unset($setarr['path']);
if(C::t('pichome_resources')->insert($setarr)){
$setarr1['rid'] = $setarr['rid'];
$setarr1['appid'] = $setarr['appid'];
$setarr1['path'] = $path;
$setarr1['dateline'] = $editdateline;
$id = md5($path.$setarr['appid']);
if(DB::result_first("select id from %t where id = %s",array($this->_table,$id))){
parent::update($id,$setarr1);
}else{
$setarr1['id'] = $id;
parent::insert($setarr1);
}
}
return true;
}
public function insert($setarr){
$id = md5($setarr['path'].$setarr['appid']);
if(DB::result_first("select id from %t where id = %s",array($this->_table,$id))){
parent::update($id,$setarr);
}else{
$setarr['id'] = $id;
parent::insert($setarr);
}
return true;
}
public function delete_by_rids($rids){
if (!is_array($rids)) $rids = (array)$rids;
DB::delete($this->_table,'rid in ('.dimplode($rids).')');
}
public function delete_by_appid($appid){
DB::delete($this->_table,array('appid'=>$appid));
}
}

View File

@@ -18,6 +18,7 @@ class deleteafter
$delnum = count($data['rids']); $delnum = count($data['rids']);
C::t('pichome_vapp')->add_getinfonum_by_appid($appid,-$delnum); C::t('pichome_vapp')->add_getinfonum_by_appid($appid,-$delnum);
} }
C::t('#local#local_record')->delete_by_rids($data['rids']);
} }

View File

@@ -0,0 +1,22 @@
<?php
namespace dzz\local\classes;
use \core as C;
use \DB as DB;
class pichomevappdelete
{
public function run($data)
{
if($data['apptype'] == 1){
C::t("#local#local_record")->delete_by_appid($data['appid']);
}
return true;
}
}

View File

@@ -2,24 +2,34 @@
if(!defined('IN_OAOOA')) { if(!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
if(!isset($_GET['src']) && !$path=Decode($_GET['path'],'read')){ if(!isset($_GET['src']) && !$rid = dzzdecode($_GET['path'],'',0)){
exit('Access Denied'); exit('Access Denied');
} }
if($_GET['src']){ if($_GET['src']){
//$file = str_replace('+', ' ', urlencode($_GET['src'])); //$file = str_replace('+', ' ', urlencode($_GET['src']));
$file = urldecode($_GET['src']); $file = urldecode($_GET['src']);
}else{ }else{
if(!Decode(rawurldecode($_GET['path']),'download')){ /* if(!Decode(rawurldecode($_GET['path']),'download')){
$perm_download=0; $perm_download=0;
$perm_print=0; $perm_print=0;
}else{ }else{
$perm_download=1; $perm_download=1;
$perm_print=1; $perm_print=1;
}*/
$resourcesdata = C::t('pichome_resources')->fetch($rid);
$appdata = C::t('pichome_vapp')->fetch($resourcesdata['appid']);
if($appdata['download']){
$perm_download=1;
$perm_print=1;
}else{
$perm_download=0;
$perm_print=0;
} }
$file=IO::getFileUri($path); $file = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($rid.'_3', '', 0, 0);
// $file=IO::getFileUri($path);
} }
/*header("Location: /dzz/pdf/web/viewer.html?file=".urlencode($file));
exit();*/
include template('viewer'); include template('viewer');
exit(); exit();

View File

@@ -4,6 +4,7 @@
exit('Access Denied'); exit('Access Denied');
} }
Hook::listen('adminlogin'); Hook::listen('adminlogin');
//管理权限进入 //管理权限进入
$do = isset($_GET['do']) ? trim($_GET['do']) : ''; $do = isset($_GET['do']) ? trim($_GET['do']) : '';
include libfile('function/cache'); include libfile('function/cache');
@@ -24,13 +25,55 @@
}else{ }else{
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png'; $waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
if (!file_exists($waterfilepath)) { if (!file_exists($waterfilepath)) {
$waterfilepath = htmlspecialchars; $waterfilepath = '';
} }
include template('pc/page/adminBasic'); include template('pc/page/adminBasic');
} }
} }
} elseif ($do == 'uploadlogo') {//上传logo }
elseif ($do == 'authorize') {//授权信息
include_once libfile( 'function/cache' );
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
if ($operation) {
if(isset($_FILES['file'])){
$files = $_FILES['file'];
$licdata = file_get_contents($files['tmp_name']);
if(!$licdata) exit(json_encode(array('error'=>true)));
C::t('setting')->update('sitelicensedata',$licdata);
updatecache( 'setting' );
exit(json_encode(array('success' => true)));
}else{
exit(json_encode(array('error'=>true)));
}
} else {
$version = defined('LICENSE_VERSION') ? lang(LICENSE_VERSION):lang('Home');
$limitusernum = defined('LICENSE_LIMIT') ? LICENSE_LIMIT:1;
if(defined('NOLIMITUSER')) $limitusernum = '无限';
$authdate = defined('LICENSE_CTIME') ? dgmdate(LICENSE_CTIME,'Y-m-d H:i:s'):'';
include template('pc/page/adminAuthorize');
}
}
elseif($do == 'updateauth'){
include_once libfile( 'function/cache' );
$username = isset($_GET['username']) ? trim($_GET['username']):'';
$password = isset($_GET['password']) ? trim($_GET['password']):'';
$mcode = getglobal('setting/machinecode');
$datastr = $username."\t".$password."\t".$mcode;
$data = dzzencode($datastr,$mcode);
$authurl = APP_CHECK_URL.'authlicense/getauth/'.$mcode.'/'.$data.'/'. TIMESTAMP;
$response = json_decode(dfsockopen($authurl,0, '', '', FALSE, '',3),true);
if(isset($response['authcode'])){
C::t('setting')->update('sitelicensedata',$response['authcode']);
updatecache( 'setting' );
}
if(isset($response['error']))exit(json_encode(array('error'=>$response['error'])));
else exit(json_encode(array('success'=>true)));
}
elseif ($do == 'uploadlogo') {//上传logo
global $_G; global $_G;
$files = $_FILES['file']; $files = $_FILES['file'];
if ($files["type"] != 'image/png' || $files['size'] >= 1024 * 1024 * 2) { if ($files["type"] != 'image/png' || $files['size'] >= 1024 * 1024 * 2) {
@@ -39,7 +82,8 @@
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png'; $waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
$return = move_uploaded_file($files["tmp_name"], $waterfilepath); $return = move_uploaded_file($files["tmp_name"], $waterfilepath);
exit(json_encode(array('success' => true))); exit(json_encode(array('success' => true)));
} elseif ($do == 'pagesetting') {//界面设置 }
elseif ($do == 'pagesetting') {//界面设置
if (submitcheck('settingsubmit')) { if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew']; $settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew); updatesetting($setting, $settingnew);
@@ -48,7 +92,8 @@
$waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png'; $waterfilepath = $_G['setting']['attachurl'] . 'sitelogo/sitelogo.png';
include template('pc/page/adminPagesetting'); include template('pc/page/adminPagesetting');
} }
} elseif($do == 'importsetting'){ }
elseif($do == 'importsetting'){
if (submitcheck('settingsubmit')) { if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew']; $settingnew = $_GET['settingnew'];
updatesetting($setting, $settingnew); updatesetting($setting, $settingnew);
@@ -57,7 +102,8 @@
$Defaultnotallowdir = json_encode($Defaultnotallowdir); $Defaultnotallowdir = json_encode($Defaultnotallowdir);
include template('pc/page/adminImportsetting'); include template('pc/page/adminImportsetting');
} }
}elseif ($do == 'loginpage') {//登录页设置 }
elseif ($do == 'loginpage') {//登录页设置
if (submitcheck('settingsubmit')) { if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew']; $settingnew = $_GET['settingnew'];
if ($back = trim($settingnew['loginset']['background'])) { if ($back = trim($settingnew['loginset']['background'])) {
@@ -83,24 +129,37 @@
include template('pc/page/adminLoginpage'); include template('pc/page/adminLoginpage');
} }
} elseif ($do == 'fileterset') {//筛选项设置 }
elseif ($do == 'fileterset') {//筛选项设置
$applist = DB::fetch_all("select appid,appname from %t where isdelete < 1",array('pichome_vapp'));
$appid = isset($_GET['appid']) ? trim($_GET['appid']):'';
if (submitcheck('settingsubmit')) { if (submitcheck('settingsubmit')) {
$settingnew = $_GET['settingnew'] ? $_GET['settingnew'] : array(); $settingnew = $_GET['settingnew'] ? $_GET['settingnew'] : array();
if ($settingnew['pichomefilterfileds']) { if($appid!='all'){
$settingnew['pichomefilterfileds'] = serialize($settingnew['pichomefilterfileds']); $setarr = ['filter' => isset($settingnew['pichomefilterfileds']) ? serialize($settingnew['pichomefilterfileds']):''];
} else { C::t('pichome_vapp')->update($appid, $setarr);
$settingnew['pichomefilterfileds'] = serialize(array()); }else{
$settingnew['pichomefilterfileds'] = isset($settingnew['pichomefilterfileds']) ? serialize($settingnew['pichomefilterfileds']):'';
updatesetting($setting, $settingnew);
} }
updatesetting($setting, $settingnew);
exit(json_encode(array('success' => true))); exit(json_encode(array('success' => true)));
} else { } else {
if($setting['pichomefilterfileds']){ if($appid){
$data = json_encode($setting['pichomefilterfileds']); if($appid == 'all'){
}else{ $catdata = array();
$data = json_encode(array()); $data = isset($setting['pichomefilterfileds']) ? $setting['pichomefilterfileds']:[];
} }else{
include template('pc/page/adminFileterset'); $appdata = C::t('pichome_vapp')->fetch($appid);
$catdata = C::t('pichome_taggroup')->fetch_by_appid($appid);
array_push($catdata,['cid'=>-1,'catname'=>'未分组']);
$data = $appdata['filter'] ? unserialize($appdata['filter']):[];
}
exit(json_encode(array('data'=>$data,'catdata'=>$catdata)));
}else{
include template('pc/page/adminFileterset');
}
} }
} }
function updatesetting($setting, $settingnew){ function updatesetting($setting, $settingnew){

View File

@@ -29,21 +29,27 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
} elseif ($operation == 'getsearchfolder') {//最近搜索目录和目录信息 } elseif ($operation == 'getsearchfolder') {//最近搜索目录和目录信息
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
$pfids = isset($_GET['pfids']) ? trim($_GET['pfids']):''; $pfids = isset($_GET['pfids']) ? trim($_GET['pfids']):'';
$isall = isset($_GET['isall']) ? intval($_GET['isall']):0;
if($pfids)$pfids = explode(',',$pfids); if($pfids)$pfids = explode(',',$pfids);
else $pfids = []; else $pfids = [];
$folderdatanum = C::t('pichome_folder')->fetch_folder_by_appid_pfid($appid,$pfids); if($isall){
$folderdatanum = C::t('pichome_folder')->fetch_all_folder_by_appid($appid);
}else{
$folderdatanum = C::t('pichome_folder')->fetch_folder_by_appid_pfid($appid,$pfids);
}
exit(json_encode(array( 'folderdatanum' => $folderdatanum))); exit(json_encode(array( 'folderdatanum' => $folderdatanum)));
}elseif($operation == 'searchfolderbyname'){ }elseif($operation == 'searchfolderbyname'){
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
$keyword = isset($_GET['keyword']) ? trim($_GET['keyword']):''; $keyword = isset($_GET['keyword']) ? trim($_GET['keyword']):'';
$folderdatanum = C::t('pichome_folder')->search_by_fname($keyword,$appid); $folderdatanum = C::t('pichome_folder')->search_by_fname($keyword,$appid);
exit(json_encode(array( 'folderdata' => $folderdatanum))); exit(json_encode(array( 'folderdata' => $folderdatanum)));
} elseif ($operation == 'searchmenu_num') { }
elseif ($operation == 'searchmenu_num') {
$hassub = isset($_GET['hassub']) ? intval($_GET['hassub']) : 0; $hassub = isset($_GET['hassub']) ? intval($_GET['hassub']) : 0;
$page = isset($_GET['page']) ? intval($_GET['page']) : 1; $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
//是否获取标签数量 //是否获取标签数量
$hasnum = isset($_GET['hasnum']) ? intval($_GET['hasnum']):0; $hasnum = isset($_GET['hasnum']) ? intval($_GET['hasnum']):0;
$prepage = 15; $prepage = isset($_GET['prepage']) ? intval($_GET['prepage']):15;
$pagelimit = 'limit '.($page - 1) * $prepage . ',' . $prepage; $pagelimit = 'limit '.($page - 1) * $prepage . ',' . $prepage;
$cid = isset($_GET['cid']) ? trim($_GET['cid']) : ''; $cid = isset($_GET['cid']) ? trim($_GET['cid']) : '';
$tagkeyword = isset($_GET['tagkeyword']) ? htmlspecialchars($_GET['tagkeyword']) : ''; $tagkeyword = isset($_GET['tagkeyword']) ? htmlspecialchars($_GET['tagkeyword']) : '';
@@ -59,6 +65,7 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
$params = ['pichome_resources']; $params = ['pichome_resources'];
} }
$wheresql = " r.isdelete < 1 "; $wheresql = " r.isdelete < 1 ";
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
$fids = isset($_GET['fids']) ? trim($_GET['fids']) : ''; $fids = isset($_GET['fids']) ? trim($_GET['fids']) : '';
$vappids = []; $vappids = [];
@@ -438,40 +445,66 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
//标签条件 //标签条件
if (isset($_GET['tag'])) { if (isset($_GET['tag'])) {
$tagwherearr = []; $tagwherearr = [];
$tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 1; $tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 0;
if (!in_array('pichome_resources_attr', $params)) { /* if (!in_array('pichome_resources_attr', $params)) {
$sql .= " left join %t ra on r.rid = ra.rid"; $sql .= "left join %t ra on r.rid = ra.rid";
$params[] = 'pichome_resources_attr'; $params[] = 'pichome_resources_attr';
} }
$tag = trim($_GET['tag']);
if ($tag == -1) {
$wheresql .= " and ra.tag = '' ";
}
else {
$tagval = explode(',', trim($_GET['tag']));
if (!empty($tagval)) {
foreach ($tagval as $v) {
$tagwherearr[] = " find_in_set(%d,ra.tag)";
$para[] = $v;
}
if ($tagrelative) {
$wheresql .= " and (" . implode(" or ", $tagwherearr) . ")";
} else {
$wheresql .= " and (" . implode(" and ", $tagwherearr) . ")";
}
}
}*/
$tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 0;
$tag = trim($_GET['tag']); $tag = trim($_GET['tag']);
if ($tag == -1) { if ($tag == -1) {
$wheresql .= " and ra.tag = '' "; if (!in_array('pichome_resourcestag', $params)) {
$sql .= "left join %t rt on r.rid = rt.rid";
$params[] = 'pichome_resourcestag';
}
$wheresql .= " and isnull(rt.tid) ";
} else { } else {
$tagval = explode(',', trim($_GET['tag']));
if(!empty($tagval)){
$seltagdata=[];
if($appid){
foreach(DB::fetch_all("select t.tagname,t.tid,tr.cid from %t t left join %t tr on t.tid = tr.tid where t.tid in(%n) and tr.appid=%s",array('pichome_tag','pichome_tagrelation',$tagval,$appid)) as $tv){
$seltagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']),'cid'=>$tv['cid']);
}
}else{
foreach(DB::fetch_all("select tagname,tid from %t where tid in(%n) ",array('pichome_tag',$tagval)) as $tv){
$seltagdata[] = array('tagname'=>$tv['tagname'],'tid'=>intval($tv['tid']));
}
}
}
foreach ($tagval as $v) {
$tagwherearr[] = " find_in_set(%d,ra.tag)";
$para[] = $v;
}
if ($tagrelative) { if ($tagrelative) {
$wheresql .= " and (" . implode(" or ", $tagwherearr) . ")"; $tagval = explode(',', trim($_GET['tag']));
foreach ($tagval as $k => $v) {
$sql .= ' left join %t rt' . ($k + 1) . ' on rt' . ($k + 1) . '.rid = r.rid and rt' . ($k + 1) . '.tid = %d';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and !isnull(rt' . ($k + 1) . '.tid)';
$params[] = $v;
}
} else { } else {
$wheresql .= " and (" . implode(" and ", $tagwherearr) . ")"; $tagval = explode(',', trim($_GET['tag']));
foreach($tagval as $k=>$v){
$sql .= ' left join %t rt'.($k+1).' on rt'.($k+1).'.rid = r.rid ';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and rt'.($k+1).'.tid = %d';
$para[] = $v;
}
/*if (!in_array('pichome_resourcestag', $params)) {
$sql .= "left join %t rt on r.rid = rt.rid";
$params[] = 'pichome_resourcestag';
}
$wheresql .= ' and rt.tid in(%n) ';
$tagval = explode(',', trim($_GET['tag']));
$para[] = $tagval;*/
} }
} }
} }
$timedataarr = array( $timedataarr = array(
1 => array( 1 => array(
@@ -761,7 +794,6 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
} }
} }
//将今天昨天归类到最近七天将最近七天归到最近30天将近30天归到最近90天将最近90天归到最近365天 //将今天昨天归类到最近七天将最近七天归到最近30天将近30天归到最近90天将最近90天归到最近365天
//将今天昨天归类到最近七天将最近七天归到最近30天将近30天归到最近90天将最近90天归到最近365天
$data[-7]['num'] = (isset($data[-7]['num']) ? intval($data[-7]['num']) : 0) + (isset($data[1]['num']) ? intval($data[1]['num']) : 0) + (isset($data[-1]['num']) ? intval($data[-1]['num']) : 0); $data[-7]['num'] = (isset($data[-7]['num']) ? intval($data[-7]['num']) : 0) + (isset($data[1]['num']) ? intval($data[1]['num']) : 0) + (isset($data[-1]['num']) ? intval($data[-1]['num']) : 0);
if ($data[-7]['num']) $data[-7] = array('num' => $data[-7]['num'], 'val' => $timedataarr[-7]['val'], 'label' => $timedataarr[-7]['label']); if ($data[-7]['num']) $data[-7] = array('num' => $data[-7]['num'], 'val' => $timedataarr[-7]['val'], 'label' => $timedataarr[-7]['label']);
$data[-30]['num'] = (isset($data[-30]['num']) ? intval($data[-30]['num']) : 0) + (isset($data[-7]['num']) ? intval($data[-7]['num']) : 0); $data[-30]['num'] = (isset($data[-30]['num']) ? intval($data[-30]['num']) : 0) + (isset($data[-7]['num']) ? intval($data[-7]['num']) : 0);
@@ -806,7 +838,8 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
} }
} }
exit(json_encode($data)); exit(json_encode($data));
} elseif ($operation == 'search_menu') { }
elseif ($operation == 'search_menu') {
$skey = isset($_GET['skey']) ? trim($_GET['skey']) : ''; $skey = isset($_GET['skey']) ? trim($_GET['skey']) : '';
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
@@ -825,6 +858,30 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
} }
$wheresql = " r.isdelete < 1 "; $wheresql = " r.isdelete < 1 ";
//用户权限等级
$ulevel = $_G['pichomelevel'];
$leveltids =[];
foreach(DB::fetch_all("select tid,tagname from %t where tagname in(%n)",array('pichome_tag',['LV1','LV2','LV3','LV4','LV5'])) as $v){
$tidperm = str_replace('LV','',$v['tagname']);
$leveltids[$tidperm] = $v['tid'];
}
//用户无权限标签id
$nopermtids = [];
foreach($leveltids as $k =>$val){
if($k > $ulevel){
$nopermtids[] = $val;
}
}
if(!empty($nopermtids)){
$sql .= "left join %t ra on r.rid = ra.rid";
$params[] = 'pichome_resources_attr';
foreach ($nopermtids as $v) {
$tagwherearr[] = " !find_in_set(%d,ra.tag)";
$para[] = $v;
}
$wheresql .= " and (" . implode(" and ", $tagwherearr) . ")";
}
$fids = isset($_GET['fids']) ? trim($_GET['fids']) : ''; $fids = isset($_GET['fids']) ? trim($_GET['fids']) : '';
$vappids = []; $vappids = [];
$vappids = []; $vappids = [];
@@ -941,27 +998,38 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
//标签条件 //标签条件
if (isset($_GET['tag'])) { if (isset($_GET['tag'])) {
$tagwherearr = []; $tagwherearr = [];
$tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 1; $tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 0;
if (!in_array('pichome_resources_attr', $params)) {
$sql .= " left join %t ra on r.rid = ra.rid"; $tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 0;
$params[] = 'pichome_resources_attr';
}
$tag = trim($_GET['tag']); $tag = trim($_GET['tag']);
if ($tag == -1) { if ($tag == -1) {
$wheresql .= " and ra.tag = '' "; if (!in_array('pichome_resourcestag', $params)) {
} else { $sql .= "left join %t rt on r.rid = rt.rid";
$tagval = explode(',', trim($_GET['tag'])); $params[] = 'pichome_resourcestag';
foreach ($tagval as $v) {
$tagwherearr[] = " find_in_set(%d,ra.tag)";
$para[] = $v;
} }
$wheresql .= " and isnull(rt.tid) ";
} else {
if ($tagrelative) { if ($tagrelative) {
$wheresql .= " and (" . implode(" or ", $tagwherearr) . ")"; $tagval = explode(',', trim($_GET['tag']));
foreach ($tagval as $k => $v) {
$sql .= ' left join %t rt' . ($k + 1) . ' on rt' . ($k + 1) . '.rid = r.rid and rt' . ($k + 1) . '.tid = %d';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and !isnull(rt' . ($k + 1) . '.tid) ';
$params[] = $v;
}
} else { } else {
$wheresql .= " and (" . implode(" and ", $tagwherearr) . ")"; $tagval = explode(',', trim($_GET['tag']));
foreach($tagval as $k=>$v){
$sql .= ' left join %t rt'.($k+1).' on rt'.($k+1).'.rid = r.rid ';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and rt'.($k+1).'.tid = %d ';
$para[] = $v;
}
} }
} }
} }
//时长条件 //时长条件
@@ -1303,7 +1371,8 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
$data['catdata'] = $catdata; $data['catdata'] = $catdata;
} }
exit(json_encode($data)); exit(json_encode($data));
} elseif ($operation == 'getsearchmenudata') {//获取筛选项 }
elseif ($operation == 'getsearchmenudata') {//获取筛选项
} elseif ($operation == 'setshow') {//设置显示字段 } elseif ($operation == 'setshow') {//设置显示字段
$showfileds = isset($_GET['showfileds']) ? trim($_GET['showfileds']) : ''; $showfileds = isset($_GET['showfileds']) ? trim($_GET['showfileds']) : '';
@@ -1377,7 +1446,8 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
C::t('user_setting')->update_by_skey('pichomeuserscreen', $screen, $uid); C::t('user_setting')->update_by_skey('pichomeuserscreen', $screen, $uid);
exit(json_encode(array('success' => true))); exit(json_encode(array('success' => true)));
} }
} elseif ($operation == 'getscreen') {//获取筛选项 }
elseif ($operation == 'getscreen') {//获取筛选项
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
$tagval = $_GET['tag'] ? explode(',',trim($_GET['tag'])):[]; $tagval = $_GET['tag'] ? explode(',',trim($_GET['tag'])):[];
$shape = $_GET['shape'] ? trim($_GET['shape']):''; $shape = $_GET['shape'] ? trim($_GET['shape']):'';
@@ -1392,7 +1462,6 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
$shapelable[] = $lableshape[$s]['val']; $shapelable[] = $lableshape[$s]['val'];
} }
} }
$tagdata=[]; $tagdata=[];
if(!empty($tagval)){ if(!empty($tagval)){
if($appid){ if($appid){
@@ -1412,7 +1481,7 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
$folderdata = []; $folderdata = [];
foreach(DB::fetch_all("select fname,fid,pathkey,appid from %t where fid in(%n)",array('pichome_folder',$fidarr)) as $v){ foreach(DB::fetch_all("select fname,fid,pathkey,appid from %t where fid in(%n)",array('pichome_folder',$fidarr)) as $v){
$folderdata[$v['fid']] = ['fname'=>$v['fname'],'pathkey'=>$v['pathkey'],'appid'=>$v['appid']]; $folderdata[$v['fid']] = ['fname'=>$v['fname'],'pathkey'=>$v['pathkey'],'appid'=>$v['appid']];
$folderdata[$v['fid']]['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array('pichome_folder',$v['fid'])) ? false:true; $folderdata[$v['fid']]['leaf'] = DB::result_first("select count(fid) from %t where pfid = %s",array('pichome_folder',$v['fid'])) ? false:true;
} }
if(!isset($_G['setting']['pichomefilterfileds'])){ if(!isset($_G['setting']['pichomefilterfileds'])){
$pichomefilterfileds = C::t('setting')->fetch_all('pichomefilterfileds'); $pichomefilterfileds = C::t('setting')->fetch_all('pichomefilterfileds');
@@ -1421,7 +1490,7 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
} }
if ($appid) { if ($appid) {
if ($data = DB::fetch_first("select * from %t where appid=%s ", array('pichome_vapp', $appid))) { if ($data = DB::fetch_first("select * from %t where appid=%s ", array('pichome_vapp', $appid))) {
array_unshift($pichomefilterfileds,array('key'=>'classify','text'=>'分类','checked'=>1));
$data['filter'] = ($data['filter']) ? unserialize($data['filter']):$pichomefilterfileds; $data['filter'] = ($data['filter']) ? unserialize($data['filter']):$pichomefilterfileds;
// if($data['filter']){ // if($data['filter']){
foreach ($data['filter'] as $k => $v) { foreach ($data['filter'] as $k => $v) {
@@ -1501,35 +1570,168 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
C::t('user_setting')->update_by_skey('pichomeimageexpanded',$pichomeimageexpanded); C::t('user_setting')->update_by_skey('pichomeimageexpanded',$pichomeimageexpanded);
exit(json_encode(array('success' => true))); exit(json_encode(array('success' => true)));
} }
}elseif($operation == 'gethostip'){ } elseif($operation == 'tagrelativesetting'){
$iphost = []; $pichometagrelative = $_GET['pichometagrelative'];
$os = PHP_OS; C::t('user_setting')->update_by_skey('pichometagrelative',$pichometagrelative);
if(preg_match('/^WIN(.+?)/i',$os)){ exit(json_encode(array('success' => true)));
$host= gethostname(); } elseif($operation == 'multipleselection'){
}else{ $multipleselection = $_GET['multipleselection'];
$host = $_SERVER['SERVER_NAME']; C::t('user_setting')->update_by_skey('pichomemultipleselection',$multipleselection);
} exit(json_encode(array('success' => true)));
$host = $_SERVER['SERVER_NAME']; }elseif($operation == 'getsearchmenu_data'){
$appid = isset($_GET['appid']) ? trim($_GET['appid']):'';
$skey = isset($_GET['skey']) ? trim($_GET['skey']):'';
$cid = isset($_GET['cid']) ? trim($_GET['cid']):'';
$cids = ($cid) ? explode(',',$cid):[];
$perpage = isset($_GET['perpage']) ? intval($_GET['perpage']):50;
$limitsql = "limit 0," . $perpage;
$skearr = explode(',',$skey);
$datas = [];
foreach($skearr as $v){
if($v == 'tag'){
$datas['tag'] = [];
if($appid){
if(count($cids)){
if(in_array(-1,$cids)){
$nocatindex = array_search(-1,$cids);
unset($cids[$nocatindex]);
foreach(DB::fetch_all("select distinct t.tid,t.tagname,vt.hots from %t vt
left join %t tr on tr.tid=vt.tid
left join %t t on t.tid=vt.tid where isnull(tr.cid) and vt.appid = %s ORDER BY vt.hots DESC $limitsql ",
array('pichome_vapp_tag','pichome_tagrelation','pichome_tag',$appid)) as $tdata){
$datas['tag'][-1]['tags'][] = ['tid'=>$tdata['tid'],'tagname'=>$tdata['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['tag'][-1]['next'] = true;
else $datas['tag'][-1]['next'] = false;
}
if(count($cids)){
$taggroupdata = DB::fetch_all("select * from %t where cid in(%n) and appid = %s",array('pichome_taggroup',$cids,$appid));
foreach($taggroupdata as $tg){
$datas['tag'][$tg['cid']] = ['catname'=>$tg['catname'],'cid'=>$tg['cid']];
$datas['tag'][$tg['cid']]['tags'] = [];
$tmpnum = 0;
foreach(DB::fetch_all("select distinct t.tid,t.tagname,vt.hots from %t vt
left join %t tr on tr.tid=vt.tid
left join %t t on t.tid=vt.tid where tr.cid=%s and vt.appid = %s ORDER BY vt.hots DESC $limitsql ",
array('pichome_vapp_tag','pichome_tagrelation','pichome_tag',$tg['cid'],$appid)) as $tdata){
$datas['tag'][$tg['cid']]['tags'][] = ['tid'=>$tdata['tid'],'tagname'=>$tdata['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['tag'][$tg['cid']]['next'] = true;
else $datas['tag'][$tg['cid']]['next'] = false;
}
}
$ip = gethostbyname($host); }
$ip = filter_var($ip,FILTER_VALIDATE_IP); else{
if(!$ip || strpos($ip,'127') === 0){ $params = [ 'pichome_vapp_tag','pichome_tag',$appid];
if(preg_match('/^WIN(.+?)/i',$os)){ $tmpnum = 0;
$host= gethostname(); foreach(DB::fetch_all("select distinct t.tid,t.tagname from %t vt left join %t
}else{ t on vt.tid=t.tid where vt.appid = %s order by vt.hots desc $limitsql",$params) as $tv){
$host = $_SERVER['SERVER_NAME']; $datas['tag']['data'][] = ['tid'=>$tv['tid'],'tagname'=>$tv['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['tag']['next'] = true;
else $datas['tag']['next'] = false;
// print_r($datas);die;
}
}else{
$params = [ 'pichome_tag'];
$tmpnum = 0;
foreach(DB::fetch_all("select * from %t where 1 order by hots desc $limitsql",$params) as $tv){
$datas['tag']['data'][] = ['tid'=>$tv['tid'],'tagname'=>$tv['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['tag']['next'] = true;
else $datas['tag']['next'] = false;
}
}elseif($v == 'ext'){
$params = ['pichome_resources'];
$wheresql = ' isdelete < 1 ';
if($appid){
$params[] = $appid;
$wheresql .= " and appid = %s ";
}
$datas['ext'] =[];
foreach(DB::fetch_all("select ext from %t where $wheresql group by ext", $params) as $ev){
$datas['ext'][] = $ev['ext'];
}
} }
$ip = gethostbyname($host);
} }
if($_SERVER['SERVER_PORT'] == 443){ exit(json_encode($datas));
$siteurl = 'https://'.$_SERVER['SERVER_NAME'];
} elseif($_SERVER["SERVER_PORT"] == 80) {
$siteurl = 'http://'.$_SERVER['SERVER_NAME'];
}else{
$ip = $ip . ':' . $_SERVER["SERVER_PORT"];
$siteurl = 'http://'.$_SERVER['SERVER_NAME'] . ':' . $_SERVER["SERVER_PORT"];
}
$iphost = ['ip'=>$ip,'siteurl'=>$siteurl];
exit(json_encode($iphost));
} }
elseif($operation == 'getMoretag'){
$appid = isset($_GET['appid']) ? trim($_GET['appid']):'';
$cid = isset($_GET['cid']) ? trim($_GET['cid']):'';
$perpage = isset($_GET['perpage']) ? intval($_GET['perpage']):50;
$page = isset($_GET['page']) ? intval($_GET['page']):1;
$start = ($page - 1) * $perpage;
$limitsql = "limit $start," . $perpage;
$datas = [];
if($appid){
if($cid){
if($cid == -1){
$tmpnum = 0;
foreach(DB::fetch_all("select distinct t.tid,t.tagname,vt.hots from %t vt
left join %t tr on tr.tid=vt.tid
left join %t t on t.tid=vt.tid where isnull(tr.cid) and vt.appid = %s ORDER BY vt.hots DESC $limitsql ",
array('pichome_vapp_tag','pichome_tagrelation','pichome_tag',$appid)) as $tdata){
$datas['tag'][] = ['tid'=>$tdata['tid'],'tagname'=>$tdata['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['next'] = true;
else $datas['next'] = false;
}else{
$tmpnum = 0;
foreach(DB::fetch_all("select distinct t.tid,t.tagname,vt.hots from %t vt
left join %t tr on tr.tid=vt.tid
left join %t t on t.tid=vt.tid where tr.cid=%s and vt.appid = %s ORDER BY vt.hots DESC $limitsql ",
array('pichome_vapp_tag','pichome_tagrelation','pichome_tag',$cid,$appid)) as $tdata){
$datas['tag'][] = ['tid'=>$tdata['tid'],'tagname'=>$tdata['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['next'] = true;
else $datas['next'] = false;
}
}
else{
$params = [ 'pichome_vapp_tag','pichome_tag',$appid];
$tmpnum = 0;
foreach(DB::fetch_all("select distinct t.tid,t.tagname from %t vt left join %t
t on vt.tid=t.tid where vt.appid = %s order by vt.hots desc $limitsql",$params) as $tv){
$datas['tag'][] = ['tid'=>$tv['tid'],'tagname'=>$tv['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['next'] = true;
else $datas['next'] = false;
}
}else{
$params = [ 'pichome_vapp_tag','pichome_tag'];
$tmpnum = 0;
foreach(DB::fetch_all("select distinct t.tid,t.tagname from %t vt left join %t
t on vt.tid=t.tid where 1 order by vt.hots desc $limitsql",$params) as $tv){
$datas['tag'][] = ['tid'=>$tv['tid'],'tagname'=>$tv['tagname']];
$tmpnum += 1;
}
if($tmpnum >= $perpage) $datas['next'] = true;
else $datas['next'] = false;
}
exit(json_encode($datas));
}
elseif($operation == 'realfianllypath') {
$rid = isset($_GET['rid']) ? trim($_GET['rid']) : '';
$data = [];
if ($_G['adminid'] == 1) {
$data['realfianllypath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg' . '&path=' . dzzencode($rid.'_3', '', 0, 0);
}
exit(json_encode($data));
}

View File

@@ -1,4 +0,0 @@
<?php
$a = C::t('pichome_vapp')->fetch('J62mX1');
print_r($a);die;

View File

@@ -1,74 +0,0 @@
<?php
/*
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
* @license https://www.oaooa.com/licenses/
*
* @link https://www.oaooa.com
* @author zyx(zyx@oaooa.com)
*/
//此页的调用地址 index.php?mod=test;
//同目录的其他php文件调用 index.php?mod=test&op=test1;
if (!defined('IN_OAOOA')) {//所有的php文件必须加上此句防止被外部调用
exit('Access Denied');
}
$ismobile = helper_browser::ismobile();
$overt = getglobal('setting/overt');
if(!$overt && !$overt = C::t('setting')->fetch('overt')){
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
}
//主题
$theme = GetThemeColor();
//库
$apps = [];
foreach(DB::fetch_all("select * from %t where isdelete = 0 order by disp ",array('pichome_vapp')) as $v){
$v['path'] = urlencode($v['path']);
$v['leaf'] = DB::result_first("select count(*) from %t where appid = %s",array('pichome_folder',$v['appid'])) ? false:true;
if(!$v['nosubfilenum']){
$hascatnum = DB::result_first("SELECT count(DISTINCT rid) FROM %t where appid = %s",array('pichome_folderresources',$v['appid']));
$v['nosubfilenum'] = $v['filenum'] - $hascatnum;
C::t('pichome_vapp')->update($v['appid'],array('nosubfilenum'=>$v['nosubfilenum']));
}
$apps[] = $v;
}
$apps = json_encode($apps);
//显示子分类内容
$ImageExpanded = C::t('user_setting')->fetch_by_skey('pichomeimageexpanded',$uid);
//筛选
$screen = C::t('user_setting')->fetch_by_skey('pichomeuserscreen',$uid);
$screen = $screen?intval($screen):0;
$setting = $_G['setting'];
$pagesetting = $setting['pichomepagesetting'] ? $setting['pichomepagesetting'] : [];
//排序方式
$pichomesortfileds = C::t('user_setting')->fetch_by_skey('pichomesortfileds',$_G['uid']);
//显示信息
$pichomeshowfileds = C::t('user_setting')->fetch_by_skey('pichomeshowfileds',$_G['uid']);
//布局类型
$pichomelayout = C::t('user_setting')->fetch_by_skey('pichomelayout',$_G['uid']);
if($pichomesortfileds){
$sortdatarr = unserialize($pichomesortfileds);
$sortfilearr = ['btime'=>1,'mtime'=>2,'dateline'=>3,'name'=>4,'size'=>5,'grade'=>6,'duration'=>7,'whsize'=>8];
$pagesetting['sort'] = $sortfilearr[$sortdatarr['filed']];
$pagesetting['desc'] = $sortdatarr['sort'];
}
if($pichomelayout){
$layout = unserialize($pichomelayout);
$pagesetting['layout'] = $layout['layout'];
}
if($pichomeshowfileds){
$pichomeshowfileds = unserialize($pichomeshowfileds);
$pagesetting['show'] = $pichomeshowfileds['filed'];
$pagesetting['other'] = $pichomeshowfileds['other'];
}
$template = 1;
if($pagesetting['template']){
$template = $pagesetting['template'];
}
$pagesetting = json_encode($pagesetting);
include template('pc/page/collection');

View File

@@ -1,133 +0,0 @@
.el-aside {
background-color: var(--bg-header);
border-right: 1px solid var(--border-color-base);
}
.maxWidth {
width: 370px;
}
#center_title {
line-height: 55px;
border-bottom: 1px solid var(--border-color-base);
padding: 0 25px;
color: var(--content-textHover);
font-size: 16px;
}
.el-form-item__label,
.el-checkbox,
.el-radio {
color: var(--content-text);
}
.el-checkbox,
.el-radio {
margin-right: 16px;
margin-left: 0 !important;
}
.tipTxt{
color: var(--tip-color);
font-size: 12px;
line-height: 20px;
margin-top: 6px;
}
.tipTxt:hover {
color: var(--content-text);
}
.avatar-uploader .el-upload {
border: 1px dashed var(--border-color-base);
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
width: 150px;
height: 150px;
display: flex;
justify-content: center;
align-items: center;
}
.avatar-uploader .el-upload:hover {
border-color:var(--color-primary);
}
.avatar-uploader .avatar-uploader-icon {
font-size: 16px;
color: var(--content-text);
}
.avatar-uploader .el-image{
height: 150px;
width: 100%;
line-height: 150px;
}
.avatar-uploader .el-image img{
max-width: 100%;
max-height: 150px;
width: auto;
height: auto;
vertical-align: middle;
}
.avatar-uploader .el-progress{
position: absolute;
left: 0px;
top: 0px;
background: var(--bg-content);
z-index: 100;
}
.avatar {
max-width: 100%;
max-height: 100%;
display: inline-block;
}
.register-bg-bt{
background-color: transparent;
color: var(--content-text);
margin-left: 6px;
}
.el-checkbox,.el-radio{
min-width: 120px;
margin-bottom: 8px;
}
.theme-block{
margin-right: 12px;
float: left;
}
.theme-block .bg{
height: 40px;
width: 40px;
border: 1px solid var(--border-color-base);
border-radius: 4px;
position: relative;
overflow: hidden;
cursor: pointer;
}
.theme-block .bg.active{
border: 1px solid var(--color-primary);
}
.theme-block .bg .triangle{
position: absolute;
right: 0px;
bottom: 0px;
width: 0;
height: 0;
border-bottom: 30px solid var(--color-primary);
border-left: 30px solid transparent;
display: none;
}
.theme-block .bg .icon{
color: #FFFFFF;
font-size: 14px;
position: absolute;
bottom: 2px;
right: 2px;
display: none;
}
.theme-block .bg.active .triangle,
.theme-block .bg.active .icon{
display: block;
}

View File

@@ -1,445 +0,0 @@
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
html,
body,
#dzzoffice,
.el-container,
.el-main,
.page-content{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
.el-header{
color: var(--header-text);
border-bottom: 1px solid var(--border-color-base);
}
.el-color-dropdown{
color: var(--header-text);
background-color: var(--bg-header);
border-bottom: 1px solid var(--border-color-base);
}
body{
background-color: var(--bg-content);
}
[v-cloak]{
display: none;
}
.el-dropdown-menu__item--divided{
border-color: var(--border-color-base);
}
.el-dropdown-menu__item--divided:before{
background-color: transparent;
}
.el-divider.el-divider--horizontal{
margin: 8px 0;
}
.el-input__inner,
.el-textarea__inner{
font-size: 14px;
color: var(--header-text);
background-color: var(--bg-input);
}
.el-input__inner:focus,.el-input__inner:hover,
.el-textarea__inner:focus,.el-textarea__inner:hover{
background-color: var(--bg-inputfocus);
border-color: var(--color-primary);
}
.el-table td, .el-table th.is-leaf{
border-color:var(--border-color-base);
}
.el-table--border::after, .el-table--group::after, .el-table::before{
background-color: var(--border-color-base);
}
.el-table th,.el-table tr{
background-color: var(--bg-content);
}
.el-table--striped .el-table__body tr.el-table__row--striped td{
background-color: var(--td-striped);
}
.el-table--enable-row-hover .el-table__body tr:hover>td{
background-color: var(--bg-content);
}
.el-table--striped .el-table__body tr.el-table__row--striped:hover>td{
background-color: var(--td-striped);
}
.el-dialog,
.el-popper{
background-color: var(--bg-poper);
color: var(--header-text);
border-color:var(--border-color-base);
}
.el-popper[x-placement^=bottom] .popper__arrow{
border-bottom-color:var(--border-color-base) !important;
}
.el-popper[x-placement^=bottom] .popper__arrow::after{
border-bottom-color:var(--bg-poper) !important;
}
.el-popper[x-placement^=left] .popper__arrow{
border-left-color:var(--border-color-base) !important;
}
.el-popper[x-placement^=left] .popper__arrow::after{
border-left-color:var(--bg-poper) !important;
}
.el-dialog .el-dialog__header{
text-align: center;
}
.el-dialog .el-dialog__header .el-dialog__title{
color: var(--header-text);
}
.el-form-item__label{
color: var(--content-textHover);
}
.el-tooltip__popper.is-dark{
color: #FFFFFF;
border: 1px solid var(--border-color-base);
background-color: var(--bg-tooltip);
}
.el-tooltip__popper .popper__arrow{
border-bottom-color:var(--border-color-base) !important;
}
.el-tooltip__popper .popper__arrow::after{
border-bottom-color:var(--bg-tooltip) !important;
}
.el-menu{
background-color: transparent;
border: 0;
}
.el-menu .el-menu-item,
.el-dropdown-menu__item{
color: var(--header-text);
}
.el-menu .el-menu-item:focus,.el-menu .el-menu-item:hover,.el-menu .el-menu-item.is-active,
.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover {
color: var(--header-active);
background-color: var(--bg-poperHover);
}
.el-dropdown,
.el-menu .el-menu-item{
color: var(--header-text);
}
.el-select-dropdown__item{
color: var(--header-text);
}
.el-select-dropdown__item.selected{
color: var(--header-active);
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
background-color: var(--bg-poperHover);
color: var(--header-active);
}
.el-checkbox,
.el-radio{
color: var(--header-text);
}
.el-checkbox .el-checkbox__inner,
.el-radio .el-radio__inner{
background-color: transparent;
border-color: var(--radio-line);
}
.el-checkbox .el-checkbox__input.is-focus .el-checkbox__inner,
.el-radio .el-radio__input.is-focus .el-radio__inner{
border-color: var(--radio-line);
}
.el-radio__input.is-checked+.el-radio__label,
.el-checkbox__input.is-checked+.el-checkbox__label{
color: var(--header-active);
}
.el-input .el-input__icon{
color: var(--header-text);
}
.el-date-table td.available:hover,
.el-picker-panel__icon-btn:hover,
.el-date-table td.today span{
color: var(--header-active);
}
.el-picker-panel__icon-btn,
.el-date-table td,
.el-date-table th{
color: var(--header-text);
}
.el-date-table td.in-range div,
.el-date-table td.in-range div:hover{
background-color: var(--color-primary);
}
.el-date-range-picker__content.is-left,
.el-date-table th{
border-color:var(--border-color-base) !important;
}
.el-tree,
.el-tree .el-tree-node .el-tree-node__expand-icon{
background: transparent;
color: var(--header-text);
}
.el-tree .el-tree-node .el-tree-node__expand-icon.is-leaf{
color: transparent !important;
}
.el-tree .el-tree-node:focus .el-tree-node__expand-icon{
color: var(--header-active);
}
.el-tree .el-tree-node__content:hover{
color: var(--header-active);
background-color: var(--bg-poperHover);
}
.el-tree .el-tree-node:focus>.el-tree-node__content{
background-color: var(--bg-poperHover);
}
.page-content{
display: flex;
flex-direction: column;
}
.page-component__scroll{
height: 100%;
flex: 1;
}
.page-component__scroll>.el-scrollbar__wrap {
overflow-x: hidden;
}
.Topcarousel{
border-radius: 50%;
text-align: center;
display: inline-block;
font-size: 18px;
width: 100%;
height: 100%;
color: #FFF;
}
#copyInput{
opacity: 0;
position: fixed;
bottom: 0;
left: 0;
}
.img-circle{
border-radius: 50%;
width: 100%;
height: 100%;
}
.hide{
display: none !important;
}
.PopoverNotPadding{
padding: 0;
}
.clearfix:after{
content: '.';
clear: both;
display: block;
height: 0;
visibility: hidden;
font-size: 0;
line-height: 0;
}
ul{
list-style: none;
}
.squareIcon{
height: 48px;
width: 48px;
background: var(--bg-color);
color: var(--text-color1);
padding: 0 8px;
border-radius: 6px;
text-align: center;
line-height: 48px;
display: inline-block;
margin-right: 8px;
flex: 0 0 auto;
}
.squareIcon i{
font-size: 28px;
}
.squareImg{
height: 48px;
width: 48px;
border-radius: 6px;
display: inline-block;
margin-right: 8px;
flex: 0 0 auto;
background: var(--g-colroimg);
display: flex;
align-items: center;
justify-content: center;
}
.squareImg img{
max-width: 100%;
max-height: 100%;
}
.dzz-dropdown-menu .dzz-dropdown-menu__item{
color: var(--header-text);
line-height: 35px;
padding: 0 5px;
border-radius: 4px;
position: relative;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.dzz-dropdown-menu .dzz-dropdown-menu__item:hover{
color: var(--header-active);
background-color: var(--bg-poperHover);
}
.dzz-dropdown-menu .dzz-dropdown-menu__item.nothover:hover{
background-color: transparent;
}
#top_header {
height: 70px;
width: 100%;
padding: 4px 16px;
align-items: center;
display: flex;
}
#top_header .header-content .h-left .el-image {
width: 35px;
height: 35px;
}
#top_header .header-content .h-left .text {
font-size: 16px;
font-weight: 700;
margin-left: 10px;
color: var(--header-active);
}
#top_header .header-content {
display: flex;
height: 56px;
align-items: center;
width: 100%;
}
#top_header .header-content .h-left {
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
}
#top_header .header-content .h-center {
flex: 1 1 auto;
height: 100%;
padding: 0 30px;
display: flex;
align-items: center;
}
#top_header .header-content .h-right #dzz_avatar_img {
cursor: pointer;
width: 35px;
height: 35px;
line-height: 35px;
margin-left: 5px;
}
.el-empty{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
box-sizing: border-box;
padding: 40px 0;
}
.el-empty__image {
width: 160px;
}
.el-empty__image img{
user-select: none;
width: 100%;
height: 100%;
vertical-align: top;
object-fit: contain;
}
.el-empty__description {
margin-top: 20px;
color: var(--content-textHover);
}
.aboutPichome{
padding: 0;
width: 478px;
}
.aboutPichome .el-message-box__header,
.aboutPichome .el-message-box__btns{
display: none;
}
.aboutPichome .aboutlogo{
text-align: center;
line-height: 0;
padding-top: 40px;
}
.aboutPichome .aboutmessage{
padding: 65px 40px;
font-size: 19px;
padding-bottom: 15px;
}
.aboutPichome .aboutmessage .aboutlist{
margin-bottom: 20px;
overflow: hidden;
}
.aboutPichome a{
text-decoration: none;
}
.aboutPichome .aboutmessage .aboutlist .title{
float: left;
width: 95px;
}
.aboutPichome .aboutmessage .aboutlist .mes{
float: left;
width: calc(100% - 95px);
}
.aboutPichome .aboutmessage .aboutlist .update{
font-size: 12px;
}
#systemNotice .panel-heading {
border-radius: 0;
background: var(--bg-header);
color: var(--header-text);
padding: 10px 15px;
}
#systemNotice .panel-heading .close{
float: right;
border: 0;
font-size: 21px;
color: var(--header-text);
}
#systemNotice .panel-body {
background: var(--bg-input);
color: var(--header-text);
padding: 10px 15px !important;
}
#systemNotice .panel-body img{
max-height: 30px;
vertical-align: bottom;
margin-right: 10px;
}
#systemNotice .panel-body a{
color: var(--header-text);
text-decoration: none;
}

View File

@@ -1,354 +0,0 @@
.el-header,.el-main{
background-color: var(--bg-content);
}
#top_header .header-content .h-right .r-option {
display: flex;
align-items: center;
height: 40px;
}
#top_header .header-content .h-right .right-block {
float: left;
font-size: 24px;
padding: 8px;
cursor: pointer;
border-radius: 50%;
width: 40px;
height: 40px;
margin-right: 5px;
color: var(--header-icon);
}
#top_header .header-content .h-right .right-block:hover {
background: var(--header-textHover);
color: var(--header-iconHover);
}
#top_header .header-content .h-right .right-block i {
vertical-align: top;
}
#top_header .header-content .h-center .imgoperation {
text-align: center;
display: flex;
align-items: center;
justify-content: center;
flex: 1;
}
#top_header .header-content .h-center .imgoperation .proportion{
width: 140px;
}
#top_header .header-content .h-center .imgoperation .text{
display: inline-block;
cursor: default;
margin-left: 10px;
}
#top_header .header-content .h-center .imgoperation .text:hover{
color: var(--header-active);
}
#top_header .header-content .h-center .imgoperation .text .icon{
font-size: 18px;
vertical-align: middle;
font-weight: 700;
}
.carousel__arrow-box{
display: inline-block;
width: 52px;
margin-left: 10px;
}
.carousel__arrow-box .carousel__arrow{
cursor: pointer;
float: left;
margin-left: 5px;
}
.carousel__arrow-box .carousel__arrow:hover{
color: var(--header-active);
}
.carousel__arrow-box .carousel__arrow .icon{
font-size: 18px;
font-weight: 700;
vertical-align: middle;
}
.proportionnum-box .el-dropdown-menu__item{
line-height: 30px;
font-size: 12px;
}
.el-tooltip__popper.color-top {
color: var(--content-text);
background: var(--bg-content);
border: 1px solid var(--border-color-base);
}
.el-tooltip__popper.color-top .popper__arrow {
border-top-color: var(--border-color-base) !important;
}
.el-tooltip__popper.color-top .popper__arrow::after {
border-top-color: var(--bg-tooltip) !important;
}
.el-header {
border-bottom: 0;
}
.el-scrollbar__view{
height: 100%;
}
.el-slider__button-wrapper.grabbing:hover,
.el-slider__button-wrapper.grabbing,
.el-slider__button-wrapper.grabbing .el-slider__button{
cursor: grabbing !important;
}
.details-top {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
padding: 0 20px;
}
.details-maincontainer{
height: 100%;
}
.floating-layer {
width: 100%;
height: 100%;
position: relative;
padding-right: 360px;
padding-bottom: 8px;
}
.details-top .page-component__scroll .is-horizontal {
display: none;
}
#ImgScroll.move{
cursor: grab;
}
#ImgScroll.move.activemove{
cursor: grabbing;
}
#ImgScroll .is-horizontal {
display: block;
}
#ImgScroll .el-scrollbar__view {
position: relative;
text-align: center;
/* box-sizing: content-box; */
font-size: 0;
width: 100%;
height: 100%;
}
.information-box {
color: var(--content-text);
}
.floating-layer .picture-box {
height: 100%;
position: relative;
width: 100%;
}
.floating-layer.HideInformation{
padding-right: 0px;
}
.floating-layer .picture-box .image-viewer__img {
display: inline-block;
vertical-align: middle;
}
.floating-layer .picture-box .image-viewer__img.max {
max-width: 100%;
max-height: 100%;
}
.floating-layer .picture-box .image-viewer__img.opacity{
display: none;
}
.floating-layer .picture-box .image-viewer__img.thumbnail{
}
.floating-layer .information-box {
position: absolute;
height: 100%;
width: 360px;
padding-left: 20px;
right: 0;
top: 0;
padding-bottom: 8px;
}
.floating-layer.HideInformation .information-box {
display: none;
}
.floating-layer .information-box .el-divider {
margin: 0;
}
.floating-layer .information-box .title {
font-size: 18px;
color: var(--content-textHover);
font-weight: 700;
display: -webkit-box;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
max-height: 48px;
margin-bottom: 16px;
}
.floating-layer .information-box .operation {
padding-bottom: 16px;
margin-left: -4px;
display: flex;
}
.floating-layer .information-box .operation .circular {
color: var(--content-text);
font-size: 17px;
font-weight: 700;
text-decoration: none;
float: left;
width: 45px;
margin: 0 4px;
text-align: center;
line-height: 43px;
cursor: pointer;
background: var(--bg-header);
border: 1px solid var(--border-color-base);
border-radius: 50%;
}
.floating-layer .information-box .operation .circular.bg {
flex: auto;
border-radius: 18px;
}
.floating-layer .information-box .operation .circular:hover {
color: var(--content-textHover);
}
.floating-layer .information-box .message .color {
margin: 0 -3px;
display: flex;
}
.floating-layer .information-box .message .color>li {
height: 28px;
float: left;
padding: 0 3px 6px;
flex: 1;
max-width: 90px;
cursor: pointer;
}
.floating-layer .information-box .message .color>li.opacity {
opacity: 0.3;
}
.floating-layer .information-box .message .color>li .el-dropdown {
width: 100%;
height: 100%;
}
.floating-layer .information-box .message .color>li .bg {
height: 100%;
width: 100%;
border-radius: 4px;
border: 1px solid var(--border-color-base);
}
.floating-layer .information-box .message .label {
/* padding-bottom: 16px; */
}
.floating-layer .information-box .message .label .el-tag {
min-width: 45px;
text-align: center;
margin-bottom: 5px;
float: left;
margin-right: 5px;
background: var(--bg-header);
border: 1px solid var(--border-color-base);
color: var(--content-text);
cursor: pointer;
}
.floating-layer .information-box .message .notes {
font-size: 14px;
/* padding-bottom: 16px; */
line-height: 22px;
word-wrap: break-word;
}
.floating-layer .information-box .message .thesis-wrap {
padding-bottom: 16px;
}
.floating-layer .information-box .message .thesis-wrap .tip-title {
font-size: 16px;
font-weight: 700;
margin-bottom: 6px;
color: var(--content-textHover);
}
.floating-layer .information-box .message .link {
position: relative;
font-size: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-right: 35px;
cursor: pointer;
}
.floating-layer .information-box .message .link:hover {
color: var(--content-textHover);
}
.floating-layer .information-box .message .link i {
position: absolute;
right: 0;
top: 0;
font-size: 25px;
width: 25px;
height: 25px;
bottom: 0;
margin-top: auto;
margin-bottom: auto;
cursor: pointer;
}
.floating-layer .information-box .information {
padding: 18px 0;
}
.floating-layer .information-box .information .tip {
font-size: 18px;
font-weight: 700;
padding-bottom: 16px;
color: var(--content-textHover);
}
.floating-layer .information-box .information .field {
margin-bottom: 6px;
}
.floating-layer .information-box .information .field .name {
font-size: 14px;
}
.floating-layer .information-box .information .field .record {
font-size: 14px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: var(--content-textMessage);
text-align: right;
}
.floating-layer .information-box .information .field .record .star {
color: var(--stars);
}
.floating-layer .information-box .information .field .record .star.active {
color: var(--starsActive);
}

File diff suppressed because it is too large Load Diff

View File

@@ -26,6 +26,35 @@ html,body,#dzzoffice{
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
} }
.header-top{
position: fixed;
top: 0;
left: 0;
width: 100%;
transition: all .3s;
transition: all .3s;
-moz-transition: all .3s;
-webkit-transition: all .3s;
-o-transition: all .3s;
background: var(--bg-content) !important;
}
.header-top.headerhide{
top: -46px;
opacity: 0;
}
.header-top .van-dropdown-menu__bar{
height: 46px;
}
.pic-notice{
position: fixed;
top: 46px;
left: 0;
width: 100%;
z-index: 100;
}
.pic-notice.noticehide{
top: 0px;
}
.bs-main-container{ .bs-main-container{
height: 100%; height: 100%;
width: 100%; width: 100%;
@@ -43,6 +72,7 @@ html,body,#dzzoffice{
overflow: auto; overflow: auto;
position: relative; position: relative;
padding-top: 46px; padding-top: 46px;
padding-bottom: 20%;
} }
.pic-container .img-container{ .pic-container .img-container{
min-height: 100% ; min-height: 100% ;
@@ -471,6 +501,9 @@ ul{
flex: 1; flex: 1;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
justify-content: center;
align-items: center;
display: flex;
} }
.pic-toolbar .tab-item .icon{ .pic-toolbar .tab-item .icon{
font-size: var(--font-32); font-size: var(--font-32);
@@ -485,6 +518,9 @@ ul{
.van-popup{ .van-popup{
overflow: unset; overflow: unset;
} }
.van-dropdown-menu-scorll .van-popup{
overflow: scroll;
}
.van-popup .vam-popup-title{ .van-popup .vam-popup-title{
height: 40px; height: 40px;
font-weight: 700; font-weight: 700;
@@ -538,3 +574,31 @@ ul{
.van-notify--warning { .van-notify--warning {
background-color: #ff976a; background-color: #ff976a;
} }
#systemNotice .panel-heading {
border-radius: 0;
background: var(--bg-header);
color: var(--header-text);
padding: 10px 15px;
}
#systemNotice .panel-heading .close{
float: right;
border: 0;
font-size: 21px;
color: var(--header-text);
background-color: transparent;
}
#systemNotice .panel-body {
background: var(--bg-input);
color: var(--header-text);
padding: 10px 15px !important;
}
#systemNotice .panel-body img{
max-height: 30px;
vertical-align: bottom;
margin-right: 10px;
}
#systemNotice .panel-body a{
color: var(--header-text);
text-decoration: none;
}

View File

@@ -71,7 +71,7 @@
right: 0; right: 0;
bottom: 0; bottom: 0;
margin: auto; margin: auto;
max-height: 100%;
} }
.detail-popup .detail-popup-content .img-box { .detail-popup .detail-popup-content .img-box {
height: 100%; height: 100%;
@@ -121,7 +121,7 @@
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
display: flex; display: flex;
z-index: 10000; z-index: 100;
background: var(--bg-content); background: var(--bg-content);
} }
.detail-popup.full .footer-tabbar{ .detail-popup.full .footer-tabbar{
@@ -282,3 +282,23 @@
.detail-popup-message .block .block-item .basic .record .star.active{ .detail-popup-message .block .block-item .basic .record .star.active{
color: var(--starsActive); color: var(--starsActive);
} }
.van-cell::after{
display: none;
}
.van-collapse-item--border::after{
display: none;
}
.screen-popup .screen-classify-collapse .van-cell {
background-color: transparent;
margin-bottom: 6px;
}
.screen-popup .screen-classify-collapse .van-collapse-item__content{
background-color: transparent;
padding: 0;
padding-left: 1rem;
}
.screen-popup .screen-classify-collapse .van-collapse-item.active>.van-cell {
background-color: var(--bg-poperHover);
border-radius: 999px;
}

View File

@@ -40,6 +40,7 @@
height: 35px; height: 35px;
margin-top: 10px; margin-top: 10px;
word-wrap: break-word; word-wrap: break-word;
text-align: left;
} }
#imgContainer .imgitem .imgbox .bottom-img-message .name .circulars{ #imgContainer .imgitem .imgbox .bottom-img-message .name .circulars{
color: var(--content-text); color: var(--content-text);

View File

@@ -22,25 +22,7 @@
.van-nav-bar .library-box .van-icon{ .van-nav-bar .library-box .van-icon{
color: var(--header-text); color: var(--header-text);
} }
.header-top{
position: fixed;
top: 0;
left: 0;
width: 100%;
transition: all .3s;
transition: all .3s;
-moz-transition: all .3s;
-webkit-transition: all .3s;
-o-transition: all .3s;
background: var(--bg-content);
}
.header-top.headerhide{
top: -46px;
opacity: 0;
}
.header-top .van-dropdown-menu__bar{
height: 46px;
}
.seasrch-popup{ .seasrch-popup{
padding-top: 56px; padding-top: 56px;

View File

@@ -243,29 +243,36 @@
.screen-popup .van-tree-select__content .van-cell .num{ .screen-popup .van-tree-select__content .van-cell .num{
margin-right: 6px; margin-right: 6px;
} }
.screen-popup .van-search{
padding: 0px 6px;
}
.screen-popup .van-search .van-field{
border:0;
}
.sort-popup .van-tree-select__content .van-cell::after, .sort-popup .van-tree-select__content .van-cell::after,
.screen-popup .van-tree-select__content .van-cell::after{ .screen-popup .van-tree-select__content .van-cell::after{
display: none; display: none;
} }
.screen-popup .screen-classify-collapse .van-cell{ .screen-classify-collapse .van-cell{
background-color: transparent; background-color: transparent;
margin-bottom: 6px; margin-bottom: 6px;
} }
.screen-popup .screen-classify-collapse .van-collapse-item.active>.van-cell{ .screen-classify-collapse .van-collapse-item.active>.van-cell{
background-color: var(--bg-poperHover); background-color: var(--bg-poperHover);
border-radius: 999px; border-radius: 999px;
} }
.screen-popup .screen-classify-collapse .van-hairline--top-bottom::after, .screen-classify-collapse .van-cell::after,
.screen-popup .screen-classify-collapse .van-collapse-item--border::after{ .screen-classify-collapse .van-hairline--top-bottom::after,
.screen-classify-collapse .van-collapse-item--border::after{
display: none; display: none;
} }
.screen-popup .screen-classify-collapse .van-collapse-item__content{ .screen-classify-collapse .van-collapse-item__content{
background-color: transparent; background-color: transparent;
padding: 0; padding: 0;
padding-left: 1rem; padding-left: 1rem;
} }
.screen-popup .screen-classify-collapse .van-cell__value{ .screen-classify-collapse .van-cell__value{
flex: none; flex: none;
} }
.van-calendar__day--middle{ .van-calendar__day--middle{

View File

@@ -1,108 +0,0 @@
.collection-dialog{
padding: 0;
}
.collection-dialog-content{
width: 360px;
height: 460px;
}
.collection-dialog-content .header{
padding: 12px;
padding-bottom: 0;
}
.collection-dialog-content .content{
padding: 12px 0;
height: 358px;
}
.collection-dialog-content .content .el-tree-node__content{
height: 64px;
padding-right: 8px;
border-radius: 3px;
}
.collection-dialog-content .content .el-tree-node__content .el-tree-node__expand-icon{
font-size: 16px;
}
.collection-dialog-content .content .custom-tree-node{
width: 100%;
position: relative;
padding-left: 55px;
height: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.collection-dialog-content .content .custom-tree-node .img{
width: 40px;
height: 40px;
border-radius: 3px;
overflow: hidden;
margin-top: auto;
margin-bottom: auto;
position: absolute;
left: 0;
top: 0;
bottom: 0;
}
.collection-dialog-content .content .custom-tree-node .img img{
object-fit: cover;
width: 100%;
height: 100%;
}
.collection-dialog-content .content .custom-tree-node .name{
width: 100%;
padding-right: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: 700;
font-size: 14px;
}
.collection-dialog-content .content .custom-tree-node .btn{
display: none;
}
.collection-dialog-content .content .custom-tree-node:hover .btn{
display: block;
}
.collection-dialog-content .content .custom-tree-node .avatar{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.collection-dialog-content .content .custom-tree-node .avatar>li{
margin-left: -8px;
}
.collection-dialog-content .content .custom-tree-node .avatar>li:first-child{
margin-left: 0;
}
.collection-dialog-content .content .custom-tree-node .avatar .img-circle{
width: 24px;
height: 24px;
vertical-align: text-top;
border: 1px solid var(--border-color-base);
}
.collection-dialog-content .content .custom-tree-node:hover .avatar{
display: none;
}
.collection-dialog-content .footer{
height: 50px;
line-height: 50px;
font-size: 18px;
border-top: 1px solid var(--border-color-base);
text-align: center;
cursor: pointer;
}
.collection-dialog-content .footer:hover{
background-color: var(--bg-poperHover);
}
.collection-dialog-content .footer i{
font-size: 23px;
margin-right: 8px;
color: var(--starsActive);
vertical-align: text-bottom;
}

View File

@@ -1,92 +0,0 @@
#imagelayout .collection-box{
padding: 0 16px;
}
#imagelayout .collection-box .jurisdiction-box{
text-align: center;
padding-bottom: 16px;
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul{
display: inline-block;
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul .jurisdiction-item{
display: inline-block;
margin-left: -16px;
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul .jurisdiction-item:first-child{
margin: 0;
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul .jurisdiction-item .Topcarousel{
width: 48px;
height: 48px;
border: 1px solid var(--border-color-base);
line-height: 48px;
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul .jurisdiction-item .add{
width: 48px;
height: 48px;
border: 1px solid var(--border-color-base);
line-height: 48px;
text-align: center;
border-radius: 50%;
background: var(--bg-poper);
cursor: pointer;
font-size: 20px;
font-weight: 700;
color: var(--header-text);
}
#imagelayout .collection-box .jurisdiction-box .jurisdiction-ul .jurisdiction-item .add:hover{
background: var(--bg-poperHover);
}
#imagelayout .collection-box .file-box .file-message{
overflow: hidden;
padding-bottom: 16px;
color: var(--content-text);
font-size: 16px;
}
#imagelayout .collection-box .file-box .file-message .left{
float: left;
padding: 8px 0;
}
#imagelayout .collection-box .file-box .file-message .right{
float: right;
cursor: pointer;
border-radius: 3px;
padding: 8px;
}
#imagelayout .collection-box .file-box .file-message .right:hover{
color: var(--header-active);
background: var(--bg-poperHover);
}
#imagelayout .collection-box .file-box .file-list{
margin-left: -16px;
padding-bottom: 16px;
}
#imagelayout .collection-box .file-box .file-list .item{
margin-left: 16px;
width: 320px;
display: inline-block;
border-radius: 3px;
margin-bottom: 16px;
overflow: hidden;
}
#imagelayout .collection-box .file-box .file-list .item .img{
overflow: hidden;
}
#imagelayout .collection-box .file-box .file-list .item .block{
width: 107px;
height: 141px;
border-left: 1px solid var(--border-color-base);
float: left;
background: var(--bg-poper);
}
#imagelayout .collection-box .file-box .file-list .item .block:first-child{
width: 106px;
border: 0;
}
#imagelayout .collection-box .file-box .file-list .item .text{
font-size: 18px;
color: var(--content-text);
line-height: 27px;
padding: 8px;
}

View File

@@ -31,6 +31,30 @@ body,
body{ body{
background-color: var(--bg-content); background-color: var(--bg-content);
} }
.el-notification__group{
width: 100%;
}
.el-notification__content p{
word-wrap: break-word;
}
.el-popper[x-placement^=bottom] {
margin-top: 5px
}
.el-popper[x-placement^=right] {
margin-left: 5px
}
.el-popper[x-placement^=top] {
margin-bottom: 5px
}
.el-popper[x-placement^=left] {
margin-right: 5px
}
.el-popper[x-placement^=bottom] .popper__arrow,
.el-popper[x-placement^=top] .popper__arrow,
.el-popper[x-placement^=left] .popper__arrow,
.el-popper[x-placement^=right] .popper__arrow{
display: none;
}
.el-page-header__left{ .el-page-header__left{
z-index: 100; z-index: 100;
color: var(--header-text); color: var(--header-text);
@@ -331,6 +355,9 @@ body{
.el-scrollbar__wrap { .el-scrollbar__wrap {
overflow-x: hidden; overflow-x: hidden;
} }
.el-select-dropdown__wrap.el-scrollbar__wrap {
overflow-x: scroll;
}
#copyInput{ #copyInput{
opacity: 0; opacity: 0;
position: fixed; position: fixed;
@@ -452,7 +479,7 @@ ul{
text-decoration: none; text-decoration: none;
} }
.container2 #top_header .header-content .h-left{ .container2 #top_header .header-content .h-left{
width: 264px; width: 267px;
justify-content: left; justify-content: left;
background: var(--bg-header); background: var(--bg-header);
margin-left: -20px; margin-left: -20px;
@@ -617,3 +644,18 @@ ul{
color: var(--header-text); color: var(--header-text);
text-decoration: none; text-decoration: none;
} }
.InputKeyword .el-popover-search .search-goback{
position: absolute;
bottom: 0;
width: 100%;
left: 0;
text-align: center;
background-color: var(--bg-input);
z-index: 10;
font-size: 26px;
cursor: pointer;
color: var(--header-active);
}
.InputKeyword .el-popover-search .search-goback:hover{
background:var(--bg-poperHover);
}

View File

@@ -1,33 +0,0 @@
.addcollection-dialog .el-checkbox{
width: 100%;
overflow: hidden;
height: 50px;
margin: 0;
display: block;
}
.addcollection-dialog .el-checkbox .el-checkbox__input{
float: right;
line-height: 50px;
}
.addcollection-dialog .el-checkbox .el-checkbox__label{
float: left;
line-height: 50px;
padding-left: 0;
}
.addcollection-dialog .el-checkbox .el-checkbox__label .img-circle{
width: 32px;
height: 32px;
margin-top: 9px;
vertical-align: top;
margin-right: 6px;
}
.addcollection-dialog .el-checkbox .el-checkbox__label .Topcarousel{
width: 32px;
height: 32px;
margin-top: 9px;
margin-right: 6px;
color: #FFFFFF;
text-align: center;
line-height: 32px;
font-size: 14px;
}

View File

@@ -1,132 +0,0 @@
.collection-dialog{
padding: 0;
}
.collection-dialog .el-dialog__body{
padding: 0;
}
.collection-dialog.el-dialog .collection-dialog-content{
width: 100%;
}
.collection-dialog-content{
width: 360px;
height: 460px;
}
.collection-dialog-content .header{
padding: 12px;
padding-bottom: 0;
}
.collection-dialog-content .content{
padding: 12px 0;
height: 358px;
position: relative;
}
.collection-dialog-content .content.notadd{
height: 408px;
}
.collection-dialog-content .content .el-tree-node__content{
height: 64px;
padding-right: 8px;
border-radius: 3px;
}
.collection-dialog-content .content .el-tree-node__content .el-tree-node__expand-icon{
font-size: 16px;
}
.collection-dialog-content .content .custom-tree-node{
width: 100%;
position: relative;
padding-left: 55px;
height: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.collection-dialog-content .content .custom-tree-node.notpadding{
padding-left: 0px;
}
.collection-dialog-content .content .custom-tree-node .img{
width: 40px;
height: 40px;
border-radius: 3px;
overflow: hidden;
margin-top: auto;
margin-bottom: auto;
position: absolute;
left: 0;
top: 0;
bottom: 0;
background: var(--content-imgbg);
}
.collection-dialog-content .content .custom-tree-node .img img{
object-fit: cover;
width: 100%;
height: 100%;
}
.collection-dialog-content .content .custom-tree-node .name{
width: 100%;
padding-right: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: 700;
font-size: 14px;
}
.collection-dialog-content .content .custom-tree-node .btn{
display: none;
}
.collection-dialog-content .content .custom-tree-node:hover .btn{
display: block;
}
.collection-dialog-content .content .custom-tree-node .avatar{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.collection-dialog-content .content .custom-tree-node .avatar>li{
margin-left: -8px;
}
.collection-dialog-content .content .custom-tree-node .avatar>li:first-child{
margin-left: 0;
}
.collection-dialog-content .content .custom-tree-node .avatar .img-circle{
width: 24px;
height: 24px;
vertical-align: text-top;
border: 1px solid var(--border-color-base);
}
.collection-dialog-content .content .custom-tree-node .avatar .Topcarousel{
width: 24px;
height: 24px;
border: 1px solid var(--border-color-base);
text-align: center;
line-height: 24px;
color: #FFFFFF;
font-size: 14px;
}
.collection-dialog-content .content .custom-tree-node:hover .avatar{
display: none;
}
.collection-dialog-content .footer{
height: 50px;
line-height: 50px;
font-size: 18px;
border-top: 1px solid var(--border-color-base);
text-align: center;
cursor: pointer;
color: var(--header-text);
}
.collection-dialog-content .footer:hover{
background-color: var(--bg-poperHover);
color: var(--header-active);
}
.collection-dialog-content .footer i{
font-size: 23px;
margin-right: 8px;
color: var(--starsActive);
vertical-align: text-bottom;
}

View File

@@ -297,6 +297,7 @@
white-space: nowrap; white-space: nowrap;
padding-right: 35px; padding-right: 35px;
cursor: pointer; cursor: pointer;
line-height: 22px;
} }
.floating-layer .information-box .message .link:hover { .floating-layer .information-box .message .link:hover {
@@ -306,7 +307,7 @@
.floating-layer .information-box .message .link i { .floating-layer .information-box .message .link i {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 5px;
font-size: 25px; font-size: 25px;
width: 25px; width: 25px;
height: 25px; height: 25px;

View File

@@ -99,6 +99,9 @@
.container2 .image-container .image-wrapper .image-item .image-inside .image-storage .img{ .container2 .image-container .image-wrapper .image-item .image-inside .image-storage .img{
border-radius: 3px; border-radius: 3px;
} }
.container3 .image-container .image-wrapper .image-item .image-inside .image-storage .img{
border-radius: 8px;
}
.image-container .image-wrapper .image-item .image-inside .image-single.imageList .image-storage .img{ .image-container .image-wrapper .image-item .image-inside .image-single.imageList .image-storage .img{
object-fit: contain; object-fit: contain;
} }
@@ -149,15 +152,25 @@
border-left: 0; border-left: 0;
border-top-left-radius: 18px; border-top-left-radius: 18px;
border-bottom-left-radius: 18px; border-bottom-left-radius: 18px;
height:36px;
} }
.container2 .image-container .image-wrapper .image-item .image-inside .el-button-group .reference{ .container2 .image-container .image-wrapper .image-item .image-inside .el-button-group .reference{
border-top-left-radius: 3px; border-top-left-radius: 3px;
border-bottom-left-radius: 3px; border-bottom-left-radius: 3px;
} }
.container3 .image-container .image-wrapper .image-item .image-inside .el-button-group .reference{
border-top-left-radius: 8px;
border-bottom-left-radius: 8px;
}
.image-container .image-wrapper .image-item .image-inside .el-button-group.border .reference,
.container2 .image-container .image-wrapper .image-item .image-inside .el-button-group.border .reference{ .container2 .image-container .image-wrapper .image-item .image-inside .el-button-group.border .reference{
border-radius: 3px; border-radius: 3px;
border-color: #f56c6c; border-color: #0072ef;
}
.container3 .image-container .image-wrapper .image-item .image-inside .el-button-group.border .reference{
border-radius: 8px;
border-color: #0072ef;
} }
.image-container .image-wrapper .image-item .image-inside .el-button-group .el-dropdown__caret-button{ .image-container .image-wrapper .image-item .image-inside .el-button-group .el-dropdown__caret-button{
height: 36px; height: 36px;
@@ -170,6 +183,10 @@
border-top-right-radius: 3px; border-top-right-radius: 3px;
border-bottom-right-radius: 3px; border-bottom-right-radius: 3px;
} }
.container3 .image-container .image-wrapper .image-item .image-inside .el-button-group .el-dropdown__caret-button{
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
}
.image-container .image-wrapper .image-item .image-inside .topFlex{ .image-container .image-wrapper .image-item .image-inside .topFlex{
position: absolute; position: absolute;
right: 8px; right: 8px;

View File

@@ -5,7 +5,7 @@
width: 100%; width: 100%;
} }
.el-header .header-wrapper{ .el-header .header-wrapper{
padding: 0 16px; padding: 0 13px;
background: var(--bg-content); background: var(--bg-content);
} }
.el-header .header-wrapper.shadow{ .el-header .header-wrapper.shadow{
@@ -94,7 +94,7 @@
height: 100%; height: 100%;
} }
#container_scroll .el-scrollbar__bar.is-vertical{ #container_scroll .el-scrollbar__bar.is-vertical{
z-index: 10; z-index: 10000;
} }
.container2 .el-header{ .container2 .el-header{
padding: 0; padding: 0;
@@ -158,12 +158,18 @@
.container2 #top_header .header-content .h-center .result-section .InputKeyword:hover{ .container2 #top_header .header-content .h-center .result-section .InputKeyword:hover{
border: 0; border: 0;
} }
.container3 #top_header .header-content .h-center .result-section .InputKeyword{
border-radius: 0px 8px 8px 0px;
}
#top_header .header-content .h-center .result-section .InputKeyword.notradius{ #top_header .header-content .h-center .result-section .InputKeyword.notradius{
border-radius: 0px; border-radius: 0px;
} }
#top_header .header-content .h-center .result-section .radius .InputKeyword{ #top_header .header-content .h-center .result-section .radius .InputKeyword{
border-radius: 20px; border-radius: 20px;
} }
.container3 #top_header .header-content .h-center .result-section .radius .InputKeyword{
border-radius: 8px;
}
#top_header .header-content .h-center .result-section .InputKeyword.focus{ #top_header .header-content .h-center .result-section .InputKeyword.focus{
border: 0; border: 0;
} }
@@ -342,7 +348,9 @@
#top_header .header-content .h-center .result-section .library-classification .block:hover { #top_header .header-content .h-center .result-section .library-classification .block:hover {
color: var(--header-active); color: var(--header-active);
} }
.container3 #top_header .header-content .h-center .result-section .library-classification {
border-radius: 8px 0px 0px 8px;
}
#top_header .header-content .h-right .r-option { #top_header .header-content .h-right .r-option {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -461,12 +469,18 @@
display: none; display: none;
overflow:hidden; overflow:hidden;
} }
.container3 .el-popover-search{
border-radius: 0 8px 8px 8px;
}
.notradius .el-popover-search{ .notradius .el-popover-search{
border-radius: 0; border-radius: 0;
} }
.radius .el-popover-search{ .radius .el-popover-search{
border-radius: 20px; border-radius: 20px;
} }
.container3 .radius .el-popover-search{
border-radius: 8px;
}
.InputKeyword.focus .el-popover-search{ .InputKeyword.focus .el-popover-search{
display: block; display: block;
} }
@@ -497,6 +511,7 @@
max-width: 832px; max-width: 832px;
padding: 8px; padding: 8px;
padding-left: 15px; padding-left: 15px;
padding-bottom:30px;
} }
.popover-search .recent-search .title { .popover-search .recent-search .title {

View File

@@ -1,11 +1,50 @@
.ScreenClassifyPopover{ .ScreenClassifyPopover{
height: 50%;
min-width: 260px; min-width: 260px;
} }
/* .ScreenClassifyPopover .el-scrollbar__wrap{
max-height: 300px;
overflow-x: scroll;
} */
.screen-box { .screen-box {
text-align: center; text-align: center;
padding-bottom: 20px; /* padding-bottom: 20px; */
margin-top: -6px; /* margin-top: -6px; */
position:relative;
height: 45px;
overflow: hidden;
display:flex;
}
.screen-box .screen-scroll-box{
width:100%;
position:relative;
overflow: hidden;
}
.screen-box .screen-scroll{
position:absolute;
top:0px;
left:0;
text-align: center;
white-space: nowrap;
padding-top:8px;
min-width: 100%;
}
.screen-box .arrow{
border: 1px solid var(--border-color-base);
height: 31px;
width: 20px;
text-align: center;
line-height: 31px;
background: var(--bg-content);
cursor: pointer;
border-radius: 4px;
margin-top:8px;
}
.screen-box .left-arrow{
margin-right: 6px;
}
.screen-box .right-arrow{
margin-left: 6px;
} }
.screen-box.notpadding{ .screen-box.notpadding{
padding-bottom: 0px; padding-bottom: 0px;
@@ -14,7 +53,9 @@
display: inline-block; display: inline-block;
margin: 0 6px; margin: 0 6px;
} }
.screen-box .block:first-child {
margin-left:0;
}
.screen-box .field-single { .screen-box .field-single {
border-radius: 4px; border-radius: 4px;
border: 1px solid var(--border-color-base); border: 1px solid var(--border-color-base);
@@ -22,7 +63,7 @@
padding: 5px 10px; padding: 5px 10px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
margin-top: 6px; /* margin-top: 6px; */
} }
.screen-box .field-single.active { .screen-box .field-single.active {
@@ -250,12 +291,12 @@
padding: 0 12px 12px 12px; padding: 0 12px 12px 12px;
} }
.field-select-box .tags-box .left .logic { .field-select-box .tags-box .logic {
padding: 10px 17px; padding: 10px 17px;
border-top: 1px solid var(--border-color-base); border-top: 1px solid var(--border-color-base);
} }
.field-select-box .tags-box .left .logic .el-dropdown { .field-select-box .tags-box .logic .el-dropdown {
margin-left: 8px; margin-left: 8px;
} }
@@ -348,12 +389,12 @@
.classification-box { .classification-box {
min-width: 280px; min-width: 280px;
height: 100%; height: 100%;
position: relative; position: relative;
} }
.classification-box .el-input{ .classification-box .el-input{
position: absolute;
width: 100%; width: 100%;
padding: 12px;
} }
.classification-box .classification-history-box { .classification-box .classification-history-box {
margin-top: 8px; margin-top: 8px;
@@ -383,8 +424,10 @@
} }
.classification-box .classification-all-box { .classification-box .classification-all-box {
height: 100%; padding-bottom: 12px;
padding-top: 35px; }
.classification-box .classification-all-box .el-scrollbar__wrap{
max-height: 294px;
} }
.classification-box .classification-all-box .el-scrollbar__view{ .classification-box .classification-all-box .el-scrollbar__view{
min-height: 100%; min-height: 100%;
@@ -404,7 +447,9 @@
font-size: 12px; font-size: 12px;
color: var(--tip-color); color: var(--tip-color);
} }
.classification-box .classification-all-box .el-tree{
padding: 0 12px 12px;
}
.classification-box .classification-all-box .el-tree .el-tree-node .file-icon { .classification-box .classification-all-box .el-tree .el-tree-node .file-icon {
font-size: 16px; font-size: 16px;
vertical-align: middle; vertical-align: middle;
@@ -418,3 +463,210 @@
.classification-box .classification-all-box .el-tree .el-tree-node.is-expanded>.el-tree-node__content .file-icon-open { .classification-box .classification-all-box .el-tree .el-tree-node.is-expanded>.el-tree-node__content .file-icon-open {
display: inline-block; display: inline-block;
} }
.classification-box .logic{
padding: 10px 17px;
border-top: 1px solid var(--border-color-base);
}
.screen-box3{
background: var(--bg-poper);
border-radius: 8px;
padding: 8px 16px;
}
.screen-box3 .block{
overflow: hidden;
/* white-space: nowrap; */
border-top: 1px dashed var(--border-color-base);
padding-top: 8px;
padding-bottom: 8px;
}
.screen-box3 .block:first-child{
border:0;
}
.screen-box3 .block .title{
width: 65px;
font-size: 14px;
color: var(--header-active);
float: left;
line-height: 30px;
font-weight: 700;
}
.screen-box3 .block .internet-options{
/* display: inline-block; */
float:left;
width: calc(100% - 160px);
/* padding-bottom: 8px; */
margin-bottom: -5px;
}
.screen-box3 .block .internet-options.auto{
width: calc(100% - 65px);
}
.screen-box3 .block .internet-options .el-scrollbar__wrap{
overflow-x: scroll;
}
.screen-box3 .block .internet-options.more .el-scrollbar__wrap{
max-height: 139px;
}
.screen-box3 .block .internet-options.auto.more .el-scrollbar__wrap{
max-height: unset;
}
.screen-box3 .block .internet-options .internet-options-ul{
font-size: 12px;
color: var(--header-text);
overflow: hidden;
max-height: 70px;
/* margin-bottom: -5px; */
/* overflow: hidden; */
}
.screen-box3 .block .internet-options.more .internet-options-ul{
height:auto !important;
max-height: 100% !important;
}
.screen-box3 .block .internet-options .single{
float: left;
margin-right: 5px;
margin-bottom: 5px;
padding: 0px 8px;
border-radius: 8px;
color: var(--header-text);
cursor: pointer;
height: 30px;
position: relative;
line-height: 32px;
}
.screen-box3 .block .internet-options .single:hover,
.screen-box3 .block .internet-options .single.active{
background:var(--bg-poperHover);
color: var(--leftTreeColor);
}
.screen-box3 .block .internet-options .single.notborder{
border:1px solid transparent !important;
border-radius: 0 !important;
}
.screen-box3 .block .internet-options .single.notborder:hover{
background: transparent;
}
.screen-box3 .block .internet-options .single.notpadding{
padding:0;
}
.screen-box3 .block .internet-options .single .min-width{
width:100px;
}
.screen-box3 .block .internet-options .single .max-width{
width:240px;
}
.screen-box3 .block .internet-options .single .el-date-editor.dateline .el-range-separator{
color: var(--header-active);
width: 20px;
}
.screen-box3 .block .internet-options .single .el-date-editor.dateline .el-range-input{
flex: auto;
color: var(--header-active);
background: transparent;
}
.screen-box3 .block .internet-options .single .el-date-editor.dateline .el-input__icon{
display: none;
}
.screen-box3 .block .ext-box{
/* display: inline-block; */
float:left;
width: 75px;
padding: 7px 15px;
font-size: 12px;
border-radius: 3px;
cursor:pointer;
height:32px;
border:1px solid var(--border-color-base);
}
/* .screen-box3 .block .internet-options-ul.screening-color .single.line{
width: 56px;
border: 1px solid transparent;
background: #f0f0f0;
}
.screen-box3 .block .internet-options-ul.screening-color .single.line .item{
position: absolute;
margin-top: auto;
margin-bottom: auto;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: #cecece;
transform: rotate(19deg);
-o-transform: rotate(19deg);
-moz-transform: rotate(19deg);
-webkit-transform: rotate(19deg);
} */
.screen-box3 .block .internet-options-ul.screening-color .single{
min-width: 56px;
border: 1px solid transparent;
}
/* .screen-box3 .block .internet-options-ul.screening-color .single:hover{
border:1px solid var(--border-color-base);
} */
.screen-box3 .block .internet-options-ul.screening-color .single .icon{
font-size: 16px;
color: #FFFFFF;
font-weight: 700;
display: none;
width: 16px;
height: 16px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
.screen-box3 .block .internet-options-ul.screening-color .single.active .icon{
display: block;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .show{
width: 17px;
height: 17px;
position: absolute;
left: 4px;
top: 0;
bottom: 0;
margin-top: auto;
margin-bottom: auto;
border-radius: 4px;
z-index: 5;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .el-input-group__append{
padding: 0;
background: transparent;
border: 0;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .icon{
height: 32px;
width: 35px;
display: inline-block;
padding: 6px;
border: 1px solid var(--border-color-base);
border-left: 0;
border-radius: 0px 4px 4px 0;
text-align: center;
cursor: pointer;
position: relative;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .icon img{
max-width: 100%;
max-height: 100%;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .icon .el-color-picker{
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
opacity: 0;
}
.screen-box3 .block .internet-options-ul.screening-color .single .color-disk .icon .el-color-picker .el-color-picker__trigger{
width: 100%;
height: 100%;
}
.el-tree.classify3-tree .el-tree-node__content{
padding-right: 18px;
}

View File

@@ -15,6 +15,7 @@ $overt = getglobal('setting/overt');
if (!$overt) { if (!$overt) {
Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面 Hook::listen('check_login');//检查是否登录,未登录跳转到登录界面
} }
global $_G;
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : ''; $operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
$opentype = isset($_GET['opentype']) ? trim($_GET['opentype']) : ''; $opentype = isset($_GET['opentype']) ? trim($_GET['opentype']) : '';
if($operation == 'fetch'){ if($operation == 'fetch'){
@@ -23,7 +24,7 @@ if($operation == 'fetch'){
exit(json_encode(array('error' => false))); exit(json_encode(array('error' => false)));
} }
$resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid); $resourcesdata = C::t('pichome_resources')->fetch_by_rid($rid);
exit(json_encode(array('resourcesdata' => $resourcesdata))); exit(json_encode(array('resourcesdata' => $resourcesdata,'sitename'=>$_G['setting']['sitename'])));
}else{ }else{
$theme = GetThemeColor(); $theme = GetThemeColor();

View File

@@ -12,7 +12,7 @@
$processname = 'DZZ_EXPORTFILE_LOCK_'.$appid; $processname = 'DZZ_EXPORTFILE_LOCK_'.$appid;
//dzz_process::unlock($processname); //dzz_process::unlock($processname);
$locked = true; $locked = true;
if (!dzz_process::islocked($processname, 60*60*24)) { if (!dzz_process::islocked($processname, 60*15)) {
$locked=false; $locked=false;
} }
if ($locked) { if ($locked) {
@@ -55,7 +55,7 @@
dzz_process::unlock($processname); dzz_process::unlock($processname);
$data = C::t('pichome_vapp')->fetch($appid); $data = C::t('pichome_vapp')->fetch($appid);
if($data['state'] == 2){ if($data['state'] == 2){
dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfile&appid=' . $appid, 0, '', '', false, '', 1); dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfile&appid=' . $appid.'&force='.$force, 0, '', '', false, '', 1);
}elseif($data['state'] == 3){ }elseif($data['state'] == 3){
dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfilecheck&appid=' . $appid, 0, '', '', false, '', 1); dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfilecheck&appid=' . $appid, 0, '', '', false, '', 1);
} }

View File

@@ -11,7 +11,7 @@ $appid = isset($_GET['appid']) ? trim($_GET['appid']) : 0;
$processname = 'DZZ_EXPORTCHECKFILE_LOCK_' . $appid; $processname = 'DZZ_EXPORTCHECKFILE_LOCK_' . $appid;
//dzz_process::unlock($processname); //dzz_process::unlock($processname);
$locked = true; $locked = true;
if (!dzz_process::islocked($processname, 60*60*24)) { if (!dzz_process::islocked($processname, 60*15)) {
$locked = false; $locked = false;
} }
if ($locked) { if ($locked) {

View File

@@ -4,11 +4,13 @@ if (!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
$operation = isset($_GET['operation']) ? trim($_GET['operation']) : ''; $operation = isset($_GET['operation']) ? trim($_GET['operation']) : '';
global $_G;
if ($operation == 'filelist') { if ($operation == 'filelist') {
$sql = " from %t r "; $sql = " from %t r ";
$wheresql = " r.isdelete < 1 "; $wheresql = " r.isdelete < 1 ";
$params = ['pichome_resources']; $params = ['pichome_resources'];
$appid = isset($_GET['appid']) ? trim($_GET['appid']) : ''; $appid = isset($_GET['appid']) ? trim($_GET['appid']) : '';
$page = isset($_GET['page']) ? intval($_GET['page']) : 1; $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$perpage = isset($_GET['perpage']) ? intval($_GET['perpage']) : 30; $perpage = isset($_GET['perpage']) ? intval($_GET['perpage']) : 30;
@@ -407,29 +409,37 @@ if ($operation == 'filelist') {
if (isset($_GET['tag'])) { if (isset($_GET['tag'])) {
$tagwherearr = []; $tagwherearr = [];
$tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 1; $tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 1;
if (!in_array('pichome_resources_attr', $params)) {
$sql .= "left join %t ra on r.rid = ra.rid"; $tagrelative = isset($_GET['tagrelative']) ? intval($_GET['tagrelative']) : 0;
$params[] = 'pichome_resources_attr';
}
$tag = trim($_GET['tag']); $tag = trim($_GET['tag']);
if ($tag == -1) { if ($tag == -1) {
$wheresql .= " and ra.tag = '' "; if (!in_array('pichome_resourcestag', $params)) {
} else { $sql .= "left join %t rt on r.rid = rt.rid ";
$tagval = explode(',', trim($_GET['tag'])); $params[] = 'pichome_resourcestag';
if (!empty($tagval)) { }
foreach ($tagval as $v) { $wheresql .= " and isnull(rt.tid) ";
$tagwherearr[] = " find_in_set(%d,ra.tag)"; }else{
if(!$tagrelative){
$tagval = explode(',', trim($_GET['tag']));
foreach($tagval as $k=>$v){
$sql .= ' left join %t rt'.($k+1).' on rt'.($k+1).'.rid = r.rid and rt'.($k+1).'.tid = %d';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and !isnull(rt'.($k+1).'.tid)';
$params[] = $v;
}
}else{
$tagval = explode(',', trim($_GET['tag']));
foreach($tagval as $k=>$v){
$sql .= ' left join %t rt'.($k+1).' on rt'.($k+1).'.rid = r.rid ';
$params[] = 'pichome_resourcestag';
$wheresql .= ' and rt'.($k+1).'.tid = %d ';
$para[] = $v; $para[] = $v;
} }
if ($tagrelative) {
$wheresql .= " and (" . implode(" or ", $tagwherearr) . ")";
} else {
$wheresql .= " and (" . implode(" and ", $tagwherearr) . ")";
}
}
}
} }
} }
//颜色条件 //颜色条件
if (isset($_GET['color'])) { if (isset($_GET['color'])) {
@@ -463,7 +473,8 @@ if ($operation == 'filelist') {
$orderarr[] = ' r.dateline ' . $asc; $orderarr[] = ' r.dateline ' . $asc;
break; break;
case 4://标题 case 4://标题
$orderarr[] = ' r.name ' . $asc; // $orderarr[] = ' r.name ' . $asc;
$orderarr[] = ' cast((r.name) as unsigned) '.$asc.', CONVERT((r.name) USING gbk) ' . $asc;
break; break;
case 5://大小 case 5://大小
$orderarr[] = ' r.size ' . $asc; $orderarr[] = ' r.size ' . $asc;
@@ -500,6 +511,7 @@ if ($operation == 'filelist') {
foreach (DB::fetch_all(" select r.rid $sql where $wheresql $groupby order by $ordersql $limitsql", $params) as $value) { foreach (DB::fetch_all(" select r.rid $sql where $wheresql $groupby order by $ordersql $limitsql", $params) as $value) {
$rids[] = $value['rid']; $rids[] = $value['rid'];
} }
// print_r($rids);die;
//$time1 = microtime(true); //$time1 = microtime(true);
//echo $time1 - $time; //echo $time1 - $time;
//die; //die;
@@ -514,7 +526,6 @@ if ($operation == 'filelist') {
'appid' => $appid, 'appid' => $appid,
'total' => $total, 'total' => $total,
'data' => $data ? $data : array(), 'data' => $data ? $data : array(),
'counttotal'=>$counttotal,
'param' => array( 'param' => array(
'order' => $order, 'order' => $order,
'page' => $page, 'page' => $page,

View File

@@ -76,7 +76,7 @@ $shapedataarr = array(
//格式分类 //格式分类
$Types = array( $Types = array(
'commonimage' => ['jpg', 'png', 'gif', 'jpeg', 'webp'], 'commonimage' => ['jpg', 'png', 'gif', 'jpeg', 'webp','svg'],
'image' => ['bmp', 'aai', 'art', 'arw', 'avs', 'bpg', 'bmp', 'image' => ['bmp', 'aai', 'art', 'arw', 'avs', 'bpg', 'bmp',
'bmp2', 'bmp3', 'brf', 'cals', 'cals', 'cgm', 'cin', 'cip', 'cmyk', 'cmyka', 'cr2', 'crw', 'cube', 'cur', 'cut', 'dcm', 'dcr', 'dcx', 'dds', 'bmp2', 'bmp3', 'brf', 'cals', 'cals', 'cgm', 'cin', 'cip', 'cmyk', 'cmyka', 'cr2', 'crw', 'cube', 'cur', 'cut', 'dcm', 'dcr', 'dcx', 'dds',
'dib', 'djvu', 'dng', 'dot', 'dpx', 'emf', 'epdf', 'epi', 'eps', 'eps2', 'eps3', 'epsf', 'epsi', 'ept', 'exr', 'fax', 'fig', 'fits', 'fpx', 'gplt', 'dib', 'djvu', 'dng', 'dot', 'dpx', 'emf', 'epdf', 'epi', 'eps', 'eps2', 'eps3', 'epsf', 'epsi', 'ept', 'exr', 'fax', 'fig', 'fits', 'fpx', 'gplt',

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

View File

@@ -39,9 +39,19 @@
$apps = json_encode($apps); $apps = json_encode($apps);
//显示子分类内容 //显示子分类内容
$ImageExpanded = C::t('user_setting')->fetch_by_skey('pichomeimageexpanded',$uid); $ImageExpanded = C::t('user_setting')->fetch_by_skey('pichomeimageexpanded',$uid);
//显示标签逻辑
$tagrelative = C::t('user_setting')->fetch_by_skey('pichometagrelative',$uid);
$tagrelative = $tagrelative?intval($tagrelative):0;
//筛选是否多选还是单选
$multipleselection = C::t('user_setting')->fetch_by_skey('pichomemultipleselection',$uid);
$multipleselection = $multipleselection?intval($multipleselection):0;
//筛选 //筛选
$screen = C::t('user_setting')->fetch_by_skey('pichomeuserscreen',$uid); $screen = C::t('user_setting')->fetch_by_skey('pichomeuserscreen',$uid);
$screen = $screen?intval($screen):0; if($template==3){
$screen = $screen?intval($screen):1;
}else{
$screen = $screen?intval($screen):0;
}
$setting = $_G['setting']; $setting = $_G['setting'];

View File

@@ -1,35 +1,41 @@
<?php <?php
if (!defined('IN_OAOOA')) { if (!defined('IN_OAOOA')) {
exit('Access Denied'); exit('Access Denied');
} }
@ignore_user_abort(true); @ignore_user_abort(true);
@set_time_limit(0); @set_time_limit(0);
@ini_set('memory_limit', -1); @ini_set('memory_limit', -1);
@ini_set('max_execution_time', 0); @ini_set('max_execution_time', 0);
if(getglobal('setting/bbclosed')) exit(json_encode(array('error'=>'站点关闭中,请开启站点后重试')));
$appid = isset($_GET['appid']) ? trim($_GET['appid']):0; $appid = isset($_GET['appid']) ? trim($_GET['appid']):0;
$force = isset($_GET['force']) ? intval($_GET['force']):0; $force = isset($_GET['force']) ? intval($_GET['force']):0;
$data = C::t('pichome_vapp')->fetch($appid); $data = C::t('pichome_vapp')->fetch($appid);
if(!$data) exit(json_encode(array('error'=>'no data'))); if(!$data) exit(json_encode(array('error'=>'no data')));
if(($data['state'] > 1 && $data['state'] < 4) || $data['isdelete'] != 0) exit(json_encode(array('error'=>'export is runing or is deleted'))); if(($data['state'] > 1 && $data['state'] < 4) || $data['isdelete'] != 0) exit(json_encode(array('error'=>'export is runing or is deleted')));
if($data['type'] == 0){ if($data['type'] == 0){
include_once DZZ_ROOT.'dzz'.BS.'eagle'.BS.'class'.BS.'class_eagleexport.php'; include_once DZZ_ROOT.'dzz'.BS.'eagle'.BS.'class'.BS.'class_eagleexport.php';
//include_once dzz_libfile('eagleexport'); //include_once dzz_libfile('eagleexport');
$eagleexport = new eagleexport($data); $eagleexport = new eagleexport($data);
$return = $eagleexport->initExport(); $return = $eagleexport->initExport();
}elseif($data['type'] == 1 ){ }elseif($data['type'] == 1 ){
include_once DZZ_ROOT.'dzz'.BS.'local'.BS.'class'.BS.'class_localexport.php'; include_once DZZ_ROOT.'dzz'.BS.'local'.BS.'class'.BS.'class_localexport.php';
//include_once dzz_libfile('localexport'); //include_once dzz_libfile('localexport');
$localexport = new localexport($data); $localexport = new localexport($data);
$return = $localexport->initExport(); $return = $localexport->initExport();
}elseif ($data['type'] == 2){ }elseif ($data['type'] == 2){
include_once DZZ_ROOT.'dzz'.BS.'billfish'.BS.'class'.BS.'class_billfishexport.php'; if(!extension_loaded('pdo_sqlite')){
$billfishxport = new billfishxport($data); exit(json_encode(array('error'=>'缺少 pdo_sqlite拓展')));
$return = $billfishxport->initExport();
} }
$data = C::t('pichome_vapp')->fetch($appid); include_once DZZ_ROOT.'dzz'.BS.'billfish'.BS.'class'.BS.'class_billfishexport.php';
if($data['state'] == 2){ $billfishxport = new billfishxport($data);
dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfile&appid=' . $appid, 0, '', '', false, '', 1); $return = $billfishxport->initExport();
} }
exit(json_encode(array('success'=>true))); if(isset($return['error'])){
exit(json_encode($return));
}
$data = C::t('pichome_vapp')->fetch($appid);
if($data['state'] == 2){
dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=exportfile&appid=' . $appid.'&force='.$force, 0, '', '', false, '', 1);
}
exit(json_encode(array('success'=>true)));

Some files were not shown because too many files have changed in this diff Show More