Compare commits
6 Commits
35
UPDATE.md
35
UPDATE.md
@@ -1,20 +1,33 @@
|
|||||||
## PicHome beta3.1 更新说明
|
## PicHome Home1.0 更新说明
|
||||||
|
|
||||||
### 1.增加billfish库文件导入支持
|
### 1.支持升级到团队版,可在站点设置->授权信息界面查看
|
||||||
|
|
||||||
### 2.库设置内容更改,显示当前库连接状态,断开为不可用;增加普通目录文件缩略图生成数量显示,
|
### 2.billfish数据支持,修复billfish导入有回收站数据导致导入进度不能完成的问题
|
||||||
整体优化库设置在未导入之前也可对库进行管理操作
|
|
||||||
|
|
||||||
### 3.修复系统设置界面因二级域名导致的白页问题
|
### 3.eagle数据支持,修复eagle导入更新数据时目录数据异常问题
|
||||||
|
|
||||||
### 4.修复标签分类等数据显示异常问题;不可用状态的库将不在列表页展示其内容
|
### 4.eagle数据支持,修复eagle导入非图片文件缩略图变更后显示异常问题
|
||||||
|
|
||||||
### 5.修复下载时提示文件不存在的bug
|
### 5.普通目录数据支持,整体修改导入逻辑,修复导入错误,提升导入效率
|
||||||
|
|
||||||
### 6.优化删除逻辑,将更快清理冗余数据
|
### 6.优化导入体验,导入增加部分错误提示,修复导入时删除库不断弹出弹窗的错误,以及导入类型提示不匹配问题
|
||||||
|
|
||||||
### 7.优化导入逻辑
|
### 7.导入增加校验更新,用于修复以往导入产生的错误修正
|
||||||
|
|
||||||
### 8.优化访问效率
|
### 7.修复删除库错误,由数据兼容错误导致没有真正删除问题
|
||||||
|
|
||||||
### 9.其他已知bug修复
|
### 8.增加文件访问永久地址获取(仅管理员可用)
|
||||||
|
|
||||||
|
### 9.文件访问地址使用动态地址增强安全性(非永久地址)
|
||||||
|
|
||||||
|
### 10.开放库筛选项设置,可在站点设置->筛选器设置中修改,支持标签分类作为单独筛选项展示;若库未设置筛选项,默认使用“全部库”筛选项,并依其变化而变化
|
||||||
|
|
||||||
|
### 11.修复分享的移动端问题
|
||||||
|
|
||||||
|
### 12.新增模板3(适用标签类筛选的内容)
|
||||||
|
|
||||||
|
### 13.优化访问效率
|
||||||
|
|
||||||
|
### 14.优化界面展示效果
|
||||||
|
|
||||||
|
### 15.其他已知bug修复
|
||||||
@@ -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" />';
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ function html_login_form() {
|
|||||||
$sid = getglobal('sid');
|
$sid = getglobal('sid');
|
||||||
$avatarstatus=getglobal('avatarstatus','member');
|
$avatarstatus=getglobal('avatarstatus','member');
|
||||||
if(!$uid ){
|
if(!$uid ){
|
||||||
$avastar ='<img src="'.($_G['setting']['sitelogo']?\IO::getFileUri('attach::'.$_G['setting']['sitelogo']):'data/attachment/sitelogo/sitelogo.png').'" />';
|
$avastar ='<img src="data/attachment/sitelogo/sitelogo.png" />';
|
||||||
}else{
|
}else{
|
||||||
$avastar = avatar_block($uid);
|
$avastar = avatar_block($uid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ b725e80a7ff1e8a3a434e77ba290a6df *admin/system/dist/css/chunk-74c32c70.4b7d665e.
|
|||||||
2e6b6788446f5529d3deed1697515b3b *admin/system/dist/css/chunk-76f23146.6fc79cd8.css
|
2e6b6788446f5529d3deed1697515b3b *admin/system/dist/css/chunk-76f23146.6fc79cd8.css
|
||||||
c513c1a246b65307640fca09b0034313 *admin/system/dist/css/chunk-77c8d08e.61624e22.css
|
c513c1a246b65307640fca09b0034313 *admin/system/dist/css/chunk-77c8d08e.61624e22.css
|
||||||
d12dc4f1e439eb23e83c18205290cf55 *admin/system/dist/css/chunk-7828662a.c81657ef.css
|
d12dc4f1e439eb23e83c18205290cf55 *admin/system/dist/css/chunk-7828662a.c81657ef.css
|
||||||
|
053d89992d7adc9fae1b7830d031f2b0 *admin/system/dist/css/chunk-801d4da6.a47ba236.css
|
||||||
4fc8845677fec5f6ab3e4e56dcf36650 *admin/system/dist/css/chunk-9f9c2568.5356ad7d.css
|
4fc8845677fec5f6ab3e4e56dcf36650 *admin/system/dist/css/chunk-9f9c2568.5356ad7d.css
|
||||||
84614a4a0974a1157dc75739ce2b8966 *admin/system/dist/css/chunk-af3b1b98.b822363f.css
|
84614a4a0974a1157dc75739ce2b8966 *admin/system/dist/css/chunk-af3b1b98.b822363f.css
|
||||||
f018e18ed2f2fe16f2d76ed02b284545 *admin/system/dist/css/chunk-e730cc06.987283b7.css
|
f018e18ed2f2fe16f2d76ed02b284545 *admin/system/dist/css/chunk-e730cc06.987283b7.css
|
||||||
@@ -33,7 +34,8 @@ ea41001e9a9735db73fd1c33f753a258 *admin/system/dist/css/chunk-vendors.4d5d56a8.c
|
|||||||
888e61f04316f10bddfff7bee10c6dd0 *admin/system/dist/fonts/remixicon.888e61f0.ttf
|
888e61f04316f10bddfff7bee10c6dd0 *admin/system/dist/fonts/remixicon.888e61f0.ttf
|
||||||
9915fef980fa539085da55b84dfde760 *admin/system/dist/fonts/remixicon.9915fef9.woff2
|
9915fef980fa539085da55b84dfde760 *admin/system/dist/fonts/remixicon.9915fef9.woff2
|
||||||
95138f36e015ad912c37db92164f5844 *admin/system/dist/img/remixicon.95138f36.svg
|
95138f36e015ad912c37db92164f5844 *admin/system/dist/img/remixicon.95138f36.svg
|
||||||
ae1ba44ed8a73c33b0aa0ab4a44cf523 *admin/system/dist/index.html
|
911c0d4f607a5e0f1ba2a9eb9280ab66 *admin/system/dist/index.html
|
||||||
|
e116b4f06b14ec0f557bbf891fd591af *admin/system/dist/js/chunk-2b4f90f7.8dd0185d.js
|
||||||
057184d69924bbec3848613e9d484a61 *admin/system/dist/js/chunk-2b4f90f7.ec4ac270.js
|
057184d69924bbec3848613e9d484a61 *admin/system/dist/js/chunk-2b4f90f7.ec4ac270.js
|
||||||
9915050af25ebd2a757ddda815fa2025 *admin/system/dist/js/chunk-2d0a3327.ad2684c9.js
|
9915050af25ebd2a757ddda815fa2025 *admin/system/dist/js/chunk-2d0a3327.ad2684c9.js
|
||||||
14d1eb5255f59b744a0e86b76e999f8c *admin/system/dist/js/chunk-2d0bdbc6.4ec7bc5e.js
|
14d1eb5255f59b744a0e86b76e999f8c *admin/system/dist/js/chunk-2d0bdbc6.4ec7bc5e.js
|
||||||
@@ -54,11 +56,13 @@ f1356ba4b41b1c2d0db9158645cfd968 *admin/system/dist/js/chunk-2d0dd46d.bd431129.j
|
|||||||
240a2f188b2b072ac8200cd0a3cc153a *admin/system/dist/js/chunk-76f23146.0d2957ed.js
|
240a2f188b2b072ac8200cd0a3cc153a *admin/system/dist/js/chunk-76f23146.0d2957ed.js
|
||||||
60e968e5f5a74243077cee14c95528ee *admin/system/dist/js/chunk-77c8d08e.3e576953.js
|
60e968e5f5a74243077cee14c95528ee *admin/system/dist/js/chunk-77c8d08e.3e576953.js
|
||||||
80880cf301a3788dc9bee90756f7e93d *admin/system/dist/js/chunk-7828662a.e587f025.js
|
80880cf301a3788dc9bee90756f7e93d *admin/system/dist/js/chunk-7828662a.e587f025.js
|
||||||
|
55515e2cd3f2bb776a090112418eae77 *admin/system/dist/js/chunk-801d4da6.0f74a3ea.js
|
||||||
55253ec60403c36280aecd7a278c8737 *admin/system/dist/js/chunk-9f9c2568.538835dd.js
|
55253ec60403c36280aecd7a278c8737 *admin/system/dist/js/chunk-9f9c2568.538835dd.js
|
||||||
0b209b8b1a24238e609f30444e59741f *admin/system/dist/js/chunk-9f9c2568.877eae72.js
|
0b209b8b1a24238e609f30444e59741f *admin/system/dist/js/chunk-9f9c2568.877eae72.js
|
||||||
037a3c1f50e8e47edde48a7ff4d45130 *admin/system/dist/js/chunk-af3b1b98.850ec152.js
|
037a3c1f50e8e47edde48a7ff4d45130 *admin/system/dist/js/chunk-af3b1b98.850ec152.js
|
||||||
25f102fba0aba57fcad60998d1e1c334 *admin/system/dist/js/chunk-e730cc06.3ce9a994.js
|
25f102fba0aba57fcad60998d1e1c334 *admin/system/dist/js/chunk-e730cc06.3ce9a994.js
|
||||||
328be3371bb7c2536befbfddcc64e417 *admin/system/dist/js/chunk-vendors.3b95dfe3.js
|
328be3371bb7c2536befbfddcc64e417 *admin/system/dist/js/chunk-vendors.3b95dfe3.js
|
||||||
|
b4c690180b4c0268240bb8544d252b67 *admin/system/dist/js/index.5892fe49.js
|
||||||
5247e802fd0efbbe8eb80cd9f6a34540 *admin/system/dist/js/index.b5ff203c.js
|
5247e802fd0efbbe8eb80cd9f6a34540 *admin/system/dist/js/index.b5ff203c.js
|
||||||
e6b823145386281984301ad83fcf96fe *admin/system/dist/js/index.d36cff59.js
|
e6b823145386281984301ad83fcf96fe *admin/system/dist/js/index.d36cff59.js
|
||||||
904b573ab459ffaba51c33b5851d0f5d *admin/system/dist/js/index.d77cc092.js
|
904b573ab459ffaba51c33b5851d0f5d *admin/system/dist/js/index.d77cc092.js
|
||||||
@@ -111,7 +115,7 @@ bcfb2e3e9c3ff2018f356176a1cf43a2 *core/class/class_core.php
|
|||||||
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
||||||
212cc7650e4798754337b1fefb291827 *core/class/class_FileDownload.php
|
212cc7650e4798754337b1fefb291827 *core/class/class_FileDownload.php
|
||||||
b6b0b9dc4773307d80f9215ed5122361 *core/class/class_GifMerge.php
|
b6b0b9dc4773307d80f9215ed5122361 *core/class/class_GifMerge.php
|
||||||
4793dcfc740be53d3fc40ba98562558a *core/class/class_image.php
|
fda45a96b7be48e159007eb8434a9685 *core/class/class_image.php
|
||||||
d301e008d382be1af825d77bc993d423 *core/class/class_ImagePalette.php
|
d301e008d382be1af825d77bc993d423 *core/class/class_ImagePalette.php
|
||||||
1b836428237ca8d2bb58695cbe37df67 *core/class/class_JSSDK.php
|
1b836428237ca8d2bb58695cbe37df67 *core/class/class_JSSDK.php
|
||||||
986ad79bf8a9bff90c64c82918c0fa74 *core/class/class_Minifier.php
|
986ad79bf8a9bff90c64c82918c0fa74 *core/class/class_Minifier.php
|
||||||
@@ -218,14 +222,15 @@ b333c9e8748737d29d090f31a502a147 *core/class/table/table_mailcron.php
|
|||||||
7efba4a878332f9739c40a4f63d96f64 *core/class/table/table_organization_job.php
|
7efba4a878332f9739c40a4f63d96f64 *core/class/table/table_organization_job.php
|
||||||
f9fea2c25dbea100b27386dde7057be4 *core/class/table/table_organization_upjob.php
|
f9fea2c25dbea100b27386dde7057be4 *core/class/table/table_organization_upjob.php
|
||||||
7e02ce47e363f56c798a7c261cccc6a4 *core/class/table/table_organization_user.php
|
7e02ce47e363f56c798a7c261cccc6a4 *core/class/table/table_organization_user.php
|
||||||
|
def27091cbc525a4cd45b2955472ce29 *core/class/table/table_pichome_collectlist.php
|
||||||
37e3c23f4c36ba1167bc433f18e8ce93 *core/class/table/table_pichome_comments.php
|
37e3c23f4c36ba1167bc433f18e8ce93 *core/class/table/table_pichome_comments.php
|
||||||
dc169efe36fdf79623277fb5a538c673 *core/class/table/table_pichome_ffmpeg_record.php
|
dc169efe36fdf79623277fb5a538c673 *core/class/table/table_pichome_ffmpeg_record.php
|
||||||
64030519d059cc061b9cc990b2ed9b08 *core/class/table/table_pichome_folder.php
|
1cbfd07fc6cc2ec4ce28cae9d5334a95 *core/class/table/table_pichome_folder.php
|
||||||
15cc26415b076bb08eeed7f76c40c45b *core/class/table/table_pichome_folderresources.php
|
15cc26415b076bb08eeed7f76c40c45b *core/class/table/table_pichome_folderresources.php
|
||||||
fb390b2cfce67236a7263549a430868b *core/class/table/table_pichome_folder_relation.php
|
fb390b2cfce67236a7263549a430868b *core/class/table/table_pichome_folder_relation.php
|
||||||
180233f6f8d234986280df5c3821fe24 *core/class/table/table_pichome_imagickrecord.php
|
180233f6f8d234986280df5c3821fe24 *core/class/table/table_pichome_imagickrecord.php
|
||||||
a2a946f8d3a0180db50b1c7435d9516a *core/class/table/table_pichome_palette.php
|
a2a946f8d3a0180db50b1c7435d9516a *core/class/table/table_pichome_palette.php
|
||||||
ec314812cba390bac62835cce5efdfbf *core/class/table/table_pichome_resources.php
|
9070977794d2ca52379721d552c3e1e7 *core/class/table/table_pichome_resources.php
|
||||||
534452d059df927d062dac5bcd7b0de6 *core/class/table/table_pichome_resourcestag.php
|
534452d059df927d062dac5bcd7b0de6 *core/class/table/table_pichome_resourcestag.php
|
||||||
c08ce988dad5ccead193db0a7f79b4f2 *core/class/table/table_pichome_resources_attr.php
|
c08ce988dad5ccead193db0a7f79b4f2 *core/class/table/table_pichome_resources_attr.php
|
||||||
09db8f5c9d2966f503bee5a4c6d6cc32 *core/class/table/table_pichome_resources_relation.php
|
09db8f5c9d2966f503bee5a4c6d6cc32 *core/class/table/table_pichome_resources_relation.php
|
||||||
@@ -235,7 +240,7 @@ fafb2bf10eed9314bc2bf2d6b32d84b9 *core/class/table/table_pichome_tag.php
|
|||||||
02ef950574c3af62f7b13fd61a61c2ce *core/class/table/table_pichome_taggroup.php
|
02ef950574c3af62f7b13fd61a61c2ce *core/class/table/table_pichome_taggroup.php
|
||||||
d36c3e504e4666b6a9301699ebeeeaa5 *core/class/table/table_pichome_taggroup_relation.php
|
d36c3e504e4666b6a9301699ebeeeaa5 *core/class/table/table_pichome_taggroup_relation.php
|
||||||
1969387f935173b42f34c33c426e1fb7 *core/class/table/table_pichome_tagrelation.php
|
1969387f935173b42f34c33c426e1fb7 *core/class/table/table_pichome_tagrelation.php
|
||||||
15537ad5c8fac2620c4199d07038a126 *core/class/table/table_pichome_vapp.php
|
c860e27706f0d5d97efceba9a5a1c619 *core/class/table/table_pichome_vapp.php
|
||||||
eea6b39fd13b5fdf18052c7733adb369 *core/class/table/table_process.php
|
eea6b39fd13b5fdf18052c7733adb369 *core/class/table/table_process.php
|
||||||
ffc8c199da703d941c493fa317785611 *core/class/table/table_session.php
|
ffc8c199da703d941c493fa317785611 *core/class/table/table_session.php
|
||||||
774bda01812449ffa4819b0be241dc4e *core/class/table/table_setting.php
|
774bda01812449ffa4819b0be241dc4e *core/class/table/table_setting.php
|
||||||
@@ -254,7 +259,7 @@ d5b0e7dc291a731a5c184d97baecf2df *core/class/table/table_user_profile_setting.ph
|
|||||||
bc2e189cfaacbdb84ddceb3a0abdcf92 *core/class/table/table_user_verify_info.php
|
bc2e189cfaacbdb84ddceb3a0abdcf92 *core/class/table/table_user_verify_info.php
|
||||||
692cda4c6ad17e87e1edefb7251d0116 *core/class/table/table_user_wechat.php
|
692cda4c6ad17e87e1edefb7251d0116 *core/class/table/table_user_wechat.php
|
||||||
ca64f852f9c9442d65fa30ed279c6d6c *core/coreBase.php
|
ca64f852f9c9442d65fa30ed279c6d6c *core/coreBase.php
|
||||||
25f7c644790916b7121bd38d1301d1ea *core/core_version.php
|
32785586bb05fca676beed40893a76ba *core/core_version.php
|
||||||
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
||||||
540843e90244b66d31a1deb8c882d238 *core/cron/cron_cache_pichome_searchhot.php
|
540843e90244b66d31a1deb8c882d238 *core/cron/cron_cache_pichome_searchhot.php
|
||||||
09bf107dfc58f0424b0245834d221a42 *core/cron/cron_clean_notification_month.php
|
09bf107dfc58f0424b0245834d221a42 *core/cron/cron_clean_notification_month.php
|
||||||
@@ -371,10 +376,25 @@ f4741b20d0983035a4db52858a0f6240 *data/cache/tags.php
|
|||||||
47bbeaba8bfa9a1b1d088e2977ddc314 *data/extdata/exts.php
|
47bbeaba8bfa9a1b1d088e2977ddc314 *data/extdata/exts.php
|
||||||
d41d8cd98f00b204e9800998ecf8427e *data/sendmail.lock
|
d41d8cd98f00b204e9800998ecf8427e *data/sendmail.lock
|
||||||
d41d8cd98f00b204e9800998ecf8427e *data/sendwx.lock
|
d41d8cd98f00b204e9800998ecf8427e *data/sendwx.lock
|
||||||
ac153bd851d728eed4c993b38260f1c8 *dzz/class/class_encode.php
|
3adf9db6567079f39787326907e65a81 *dzz/billfish/class/class_billfishexport.php
|
||||||
|
043e8771d5984838964069c11815a104 *dzz/billfish/class/table/table_billfish_folderrecord.php
|
||||||
|
e8a6a327799675bebb4a6c66aa895f32 *dzz/billfish/class/table/table_billfish_record.php
|
||||||
|
946e09642ffe242f3eb7e3876e66127b *dzz/billfish/class/table/table_billfish_taggrouprecord.php
|
||||||
|
af76b998930a2ea1b565afe98e83c6e3 *dzz/billfish/class/table/table_billfish_tagrecord.php
|
||||||
|
66eb18511cf2fd7817c97629562f45b2 *dzz/billfish/classes/delpichomefolderafter.php
|
||||||
|
aebc0d22523952b3a81993ab5d52321d *dzz/billfish/classes/getpichomethumb.php
|
||||||
|
930c3c4350639839e724b8de7d16b013 *dzz/billfish/classes/pichomevappdelete.php
|
||||||
|
e284fd1a7b8d5d5ce30d04583588c5e1 *dzz/class/class_encode.php
|
||||||
|
762fd46dbe12c6fa06ba3df224fe20f8 *dzz/eagle/class/class_eagleexport.php
|
||||||
|
e165ceec42c6de2c56b5d4339f4843e1 *dzz/eagle/class/table/table_eagle_folderrecord.php
|
||||||
|
2c1f9123c8775cd340416afee533d29a *dzz/eagle/class/table/table_eagle_record.php
|
||||||
|
e9a0575b63f2ee8011d81724eb829b30 *dzz/eagle/classes/deleteafter.php
|
||||||
|
d2a28bf51a52b9530d54e364e6e5766c *dzz/eagle/classes/delpichomefolderafter.php
|
||||||
|
db2a8594d52f5cc6f65f5271849b094f *dzz/eagle/classes/getpichomethumb.php
|
||||||
|
0b99362e5be7a741986567d8e9738c69 *dzz/eagle/classes/pichomevappdelete.php
|
||||||
a3ad077bda18e4057e0b31e3b3b2eed4 *dzz/ffmpeg/class/class_fmpeg.php
|
a3ad077bda18e4057e0b31e3b3b2eed4 *dzz/ffmpeg/class/class_fmpeg.php
|
||||||
a8a30984a87248b934ef8747481b2e0e *dzz/ffmpeg/classes/info.php
|
bc4ab81b4c26d1a67a97a9f105201e7e *dzz/ffmpeg/classes/info.php
|
||||||
3ba0ebc60cd19158228e5c47f931aa80 *dzz/ffmpeg/classes/thumb.php
|
d8ed7668f7e78a7618f80db40f88f2b8 *dzz/ffmpeg/classes/thumb.php
|
||||||
b0ef25e19c4aa9e96c06f5fb6f091883 *dzz/ffmpeg/composer.json
|
b0ef25e19c4aa9e96c06f5fb6f091883 *dzz/ffmpeg/composer.json
|
||||||
a962e01165e345d26a86a07e9e098239 *dzz/ffmpeg/composer.lock
|
a962e01165e345d26a86a07e9e098239 *dzz/ffmpeg/composer.lock
|
||||||
808d6119fa0a890a2554fa07e600ba7d *dzz/ffmpeg/convert.php
|
808d6119fa0a890a2554fa07e600ba7d *dzz/ffmpeg/convert.php
|
||||||
@@ -389,8 +409,8 @@ b49d7db7da975848af00a7597333d12e *dzz/ffmpeg/ffmpeg/avcodec-57.dll
|
|||||||
109731440511e75afa2c4dcbe5b2d069 *dzz/ffmpeg/ffmpeg/postproc-54.dll
|
109731440511e75afa2c4dcbe5b2d069 *dzz/ffmpeg/ffmpeg/postproc-54.dll
|
||||||
91ca5f81f37690d1e05772947b38e8a0 *dzz/ffmpeg/ffmpeg/swresample-2.dll
|
91ca5f81f37690d1e05772947b38e8a0 *dzz/ffmpeg/ffmpeg/swresample-2.dll
|
||||||
4f49c26e951e69007d60edf054d2a37a *dzz/ffmpeg/ffmpeg/swscale-4.dll
|
4f49c26e951e69007d60edf054d2a37a *dzz/ffmpeg/ffmpeg/swscale-4.dll
|
||||||
17d36f2ee186514a290fab9baaeac65e *dzz/ffmpeg/getinfo.php
|
54eb4c59cb02380010cabc5d69aae021 *dzz/ffmpeg/getinfo.php
|
||||||
671f1a782b7dc9395519933bffb967fe *dzz/ffmpeg/thumb.php
|
c81877414511a5f8c1e919c61526da2a *dzz/ffmpeg/thumb.php
|
||||||
723b27a2bb73cccf492ed827bc528a5c *dzz/ffmpeg/vendor/alchemy/binary-driver/LICENSE
|
723b27a2bb73cccf492ed827bc528a5c *dzz/ffmpeg/vendor/alchemy/binary-driver/LICENSE
|
||||||
9608b8205db23a377edd4f328af949bd *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
|
9608b8205db23a377edd4f328af949bd *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
|
||||||
96d510df2561b5a55bc62b0d04db9861 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
|
96d510df2561b5a55bc62b0d04db9861 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
|
||||||
@@ -683,8 +703,8 @@ e0fbf93ee3e79762c694682e010f721d *dzz/ffmpeg/vendor/symfony/process/LICENSE
|
|||||||
882fab9690637ec4cf9746b825b21e15 *dzz/ffmpeg/vendor/symfony/process/Process.php
|
882fab9690637ec4cf9746b825b21e15 *dzz/ffmpeg/vendor/symfony/process/Process.php
|
||||||
2a3b661974c0cd7432f29595ccdb6a93 *dzz/ffmpeg/vendor/symfony/process/ProcessBuilder.php
|
2a3b661974c0cd7432f29595ccdb6a93 *dzz/ffmpeg/vendor/symfony/process/ProcessBuilder.php
|
||||||
13625bd3819dabb00e70409aa8b8cc54 *dzz/ffmpeg/vendor/symfony/process/ProcessUtils.php
|
13625bd3819dabb00e70409aa8b8cc54 *dzz/ffmpeg/vendor/symfony/process/ProcessUtils.php
|
||||||
848f904ac7e815cf4abc752639c32f68 *dzz/imageColor/classes/getcolor.php
|
634039b168dae271922c99af9b144e4b *dzz/imageColor/classes/getcolor.php
|
||||||
8fcedaed7fefce2be26a36d2ac4bf9af *dzz/imageColor/index.php
|
be1fd6f396b2fda2f45217565298f52e *dzz/imageColor/index.php
|
||||||
a35efffbc8ffb84994c399cac01fb592 *dzz/images/addUser.png
|
a35efffbc8ffb84994c399cac01fb592 *dzz/images/addUser.png
|
||||||
325472601571f31e1bf00674c368d335 *dzz/images/b.gif
|
325472601571f31e1bf00674c368d335 *dzz/images/b.gif
|
||||||
87fadeff473ddcb5208b7af66ae5966a *dzz/images/close.png
|
87fadeff473ddcb5208b7af66ae5966a *dzz/images/close.png
|
||||||
@@ -969,9 +989,11 @@ bae84af37dba1b272ef439708d1b8e9f *dzz/images/extimg_small/xml.png
|
|||||||
a949e13639231f3ab4192465ff2538ac *dzz/images/logo-blue.png
|
a949e13639231f3ab4192465ff2538ac *dzz/images/logo-blue.png
|
||||||
b92838cc79a788fc78a7685b5aae1f28 *dzz/index/index.php
|
b92838cc79a788fc78a7685b5aae1f28 *dzz/index/index.php
|
||||||
d615e6446bb74240281aa217d6f5ad01 *dzz/index/login.php
|
d615e6446bb74240281aa217d6f5ad01 *dzz/index/login.php
|
||||||
9464641e570a5ef040351554605b519d *dzz/io/getImg.php
|
f1f3a52260de623f37da59db88d5132f *dzz/io/getImg.php
|
||||||
c922015b4938aea09a73ed7d1d759ee4 *dzz/language/en-US/lang.php
|
c922015b4938aea09a73ed7d1d759ee4 *dzz/language/en-US/lang.php
|
||||||
d91b3ccebc18bcd41bc44e9da28d598f *dzz/language/zh-CN/lang.php
|
d91b3ccebc18bcd41bc44e9da28d598f *dzz/language/zh-CN/lang.php
|
||||||
|
d0cec69ef9e94897d184cee623497d3f *dzz/local/class/class_localexport.php
|
||||||
|
6620d302f12ba470c79c46e17d94b87f *dzz/local/classes/deleteafter.php
|
||||||
e6ff860b694692916c323609ac7697f8 *dzz/pdf/build/pdf.js
|
e6ff860b694692916c323609ac7697f8 *dzz/pdf/build/pdf.js
|
||||||
81b75950e639b1439c398d62a6037686 *dzz/pdf/build/pdf.js.map
|
81b75950e639b1439c398d62a6037686 *dzz/pdf/build/pdf.js.map
|
||||||
f025b4d2dd3cd3eca72f347e2406101d *dzz/pdf/build/pdf.worker.js
|
f025b4d2dd3cd3eca72f347e2406101d *dzz/pdf/build/pdf.worker.js
|
||||||
@@ -1379,10 +1401,11 @@ badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
|
|||||||
f2dddeac144b9bbac3ef849464bdf74b *dzz/pdf/web/viewer.js
|
f2dddeac144b9bbac3ef849464bdf74b *dzz/pdf/web/viewer.js
|
||||||
9d8f7b8df2cf3dffa23febb3582928d4 *dzz/pdf/web/viewer.js.map
|
9d8f7b8df2cf3dffa23febb3582928d4 *dzz/pdf/web/viewer.js.map
|
||||||
57cbaacb499474a5ca6c14a86d411512 *dzz/pichome/admin.php
|
57cbaacb499474a5ca6c14a86d411512 *dzz/pichome/admin.php
|
||||||
ae17e4be72c28160524e6d0f15a08764 *dzz/pichome/ajax.php
|
3d3aa981f09612419f1cffe5cfa4f4ab *dzz/pichome/ajax.php
|
||||||
c550e347457729fb118592d6be50d050 *dzz/pichome/checkexport.php
|
c550e347457729fb118592d6be50d050 *dzz/pichome/checkexport.php
|
||||||
6433341eb6119db85c0d2001c5155150 *dzz/pichome/class/class_eagleexport.php
|
b6201d143beca6278320d101db08695f *dzz/pichome/class/class_eagleexport.php
|
||||||
d89bf384de0af51c78c3a40a680e1c89 *dzz/pichome/class/class_localexport.php
|
ae068aea655bde669f255db1dd988024 *dzz/pichome/class/class_localexport.php
|
||||||
|
8bd360df9ad3377d6ede3c4b56c73c6c *dzz/pichome/collection.php
|
||||||
6293eb9bd5b473c7f178be5d6534341c *dzz/pichome/config/config.php
|
6293eb9bd5b473c7f178be5d6534341c *dzz/pichome/config/config.php
|
||||||
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/admin.css
|
29640dfed0df1100d9c8e4d819b4c593 *dzz/pichome/css/admin.css
|
||||||
07f01151181178c663d669622ea927f3 *dzz/pichome/css/common.css
|
07f01151181178c663d669622ea927f3 *dzz/pichome/css/common.css
|
||||||
@@ -1396,55 +1419,66 @@ f09b1c7476e28ad67f1c2f2f314230a0 *dzz/pichome/css/fonts/remixicon.symbol.svg
|
|||||||
881fbc46361e0c0e5f003c159b2f3005 *dzz/pichome/css/fonts/remixicon.woff
|
881fbc46361e0c0e5f003c159b2f3005 *dzz/pichome/css/fonts/remixicon.woff
|
||||||
9915fef980fa539085da55b84dfde760 *dzz/pichome/css/fonts/remixicon.woff2
|
9915fef980fa539085da55b84dfde760 *dzz/pichome/css/fonts/remixicon.woff2
|
||||||
beba9d9c0e6f710c90145d9e3cbbab2d *dzz/pichome/css/index.css
|
beba9d9c0e6f710c90145d9e3cbbab2d *dzz/pichome/css/index.css
|
||||||
393c3333716eea4c974db36b5a8630d5 *dzz/pichome/css/mobile/common.css
|
87163334cb48cff22fdabe3e8e615cc7 *dzz/pichome/css/mobile/common.css
|
||||||
577f7f31ca1ac0fe27b7c7e8f28f838f *dzz/pichome/css/mobile/details.css
|
0f7c873eb385eefd56b37a025b978eb4 *dzz/pichome/css/mobile/details.css
|
||||||
871bda5b39c93380460d42db713c2932 *dzz/pichome/css/mobile/index.css
|
ed97c351d8b9390710c7421c4197bcf1 *dzz/pichome/css/mobile/image.css
|
||||||
|
86078d14becfe840e42b75da9b7193ec *dzz/pichome/css/mobile/index.css
|
||||||
f1e227b4a2e8a0345daaf6141e1856dd *dzz/pichome/css/mobile/personal.css
|
f1e227b4a2e8a0345daaf6141e1856dd *dzz/pichome/css/mobile/personal.css
|
||||||
|
3af6f1b9febc5c78806ac865f8d18ebb *dzz/pichome/css/mobile/screen.css
|
||||||
cc6d3bf279ed780dd69d0dcc250bd442 *dzz/pichome/css/mobile/share.css
|
cc6d3bf279ed780dd69d0dcc250bd442 *dzz/pichome/css/mobile/share.css
|
||||||
|
d56b57b7000fef922f9031726810a467 *dzz/pichome/css/pc/AddcollectionDialog.css
|
||||||
509deac393472e307756fc9deee67276 *dzz/pichome/css/pc/admin.css
|
509deac393472e307756fc9deee67276 *dzz/pichome/css/pc/admin.css
|
||||||
4616cbd4493d6a922221b5225605bf17 *dzz/pichome/css/pc/common.css
|
670b7f2f61bdfd492b53e03e750ee531 *dzz/pichome/css/pc/collection.css
|
||||||
|
6b6a57a59a5d6ee5bd3c3c501baf1b02 *dzz/pichome/css/pc/common.css
|
||||||
|
7b846f80e058d874a9cb7106a18e5b78 *dzz/pichome/css/pc/components/addcollect.css
|
||||||
|
e600f6b1841e3542bb948a5289e9363e *dzz/pichome/css/pc/components/collect.css
|
||||||
e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
|
e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
|
||||||
0446460c4b1c238c4a17b4119c5c106e *dzz/pichome/css/pc/image.css
|
1b81547e0d91292d2a77153774bbf013 *dzz/pichome/css/pc/image.css
|
||||||
4e1559e2dada467206bec5c77b5a23f5 *dzz/pichome/css/pc/index.css
|
c0a5a61c77eb071519b9e148edafdacd *dzz/pichome/css/pc/index.css
|
||||||
16ceb77eb522e138548921aa5b024a36 *dzz/pichome/css/pc/screen.css
|
16ceb77eb522e138548921aa5b024a36 *dzz/pichome/css/pc/screen.css
|
||||||
69c8a20f13ee8eb40d35ddd497d35fd3 *dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
|
69c8a20f13ee8eb40d35ddd497d35fd3 *dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
|
||||||
b006647cb9c39a657d354fcf0bdf88bf *dzz/pichome/css/pc/xuanzhuan/index.css
|
b006647cb9c39a657d354fcf0bdf88bf *dzz/pichome/css/pc/xuanzhuan/index.css
|
||||||
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
||||||
fe6f435c4534024a6894473daec0845a *dzz/pichome/css/theme/black/root.css
|
ec549d08e4bd82c18ac8a906e7c3ff0e *dzz/pichome/css/theme/black/root.css
|
||||||
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
||||||
9925ea840cd52bf961eb4b1eb7b565b8 *dzz/pichome/css/theme/darkgrey/root.css
|
3e59794617124cb119a6b0fc763a7c14 *dzz/pichome/css/theme/darkgrey/root.css
|
||||||
732389ded34cb9c52dd88271f1345af9 *dzz/pichome/css/theme/fonts/element-icons.ttf
|
732389ded34cb9c52dd88271f1345af9 *dzz/pichome/css/theme/fonts/element-icons.ttf
|
||||||
535877f50039c0cb49a6196a5b7517cd *dzz/pichome/css/theme/fonts/element-icons.woff
|
535877f50039c0cb49a6196a5b7517cd *dzz/pichome/css/theme/fonts/element-icons.woff
|
||||||
dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
||||||
74e133fde11f139ecfeedafb438a13ce *dzz/pichome/css/theme/lightgrey/root.css
|
8e19f8f0afd86036d9e6b74e8fa25b4f *dzz/pichome/css/theme/lightgrey/root.css
|
||||||
106204b58c77af1048a22bfe9cbd1d49 *dzz/pichome/css/theme/navyblue/index.css
|
106204b58c77af1048a22bfe9cbd1d49 *dzz/pichome/css/theme/navyblue/index.css
|
||||||
17018172c965f899a07fd8f53b789ecf *dzz/pichome/css/theme/navyblue/root.css
|
9e60cad02523fcf3aac6c9d960294af0 *dzz/pichome/css/theme/navyblue/root.css
|
||||||
6a3812a857dae07ed74b59d26c86d7e1 *dzz/pichome/css/theme/purple/index.css
|
6a3812a857dae07ed74b59d26c86d7e1 *dzz/pichome/css/theme/purple/index.css
|
||||||
c514077b8965f7d3bd473f19d85620e3 *dzz/pichome/css/theme/purple/root.css
|
48fcbcbd9d925541404038119bacdc9a *dzz/pichome/css/theme/purple/root.css
|
||||||
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
||||||
b6aae0d83f9163cf8a6acda2c77f573e *dzz/pichome/css/theme/white/root.css
|
42223aa2673c8b81e62a8ebc481d9da2 *dzz/pichome/css/theme/white/root.css
|
||||||
5c7db30e0823a778d5341db79a4ece27 *dzz/pichome/delete.php
|
7dded9715f7c5c2408f7905b6cddf810 *dzz/pichome/delete.php
|
||||||
0bc21a1af1a289191cf5a48523f2cf8c *dzz/pichome/details.php
|
0bc21a1af1a289191cf5a48523f2cf8c *dzz/pichome/details.php
|
||||||
220a956534e1384a2c64cfc89ef48617 *dzz/pichome/download.php
|
214cabed470fd756b227851860513e6b *dzz/pichome/download.php
|
||||||
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
||||||
1ef6b3e8f2d9664ac3665b62f6c5f39b *dzz/pichome/exportfile.php
|
43f2f7de28bea4de51cde2b4f1f8e82b *dzz/pichome/exportfile.php
|
||||||
dd58cee1073dfc2907838fe3ec26235b *dzz/pichome/exportfilecheck.php
|
af14eda8139abc2d09e421cc4b27a1b4 *dzz/pichome/exportfilecheck.php
|
||||||
ba8263d806bb02f8c1cd5b3becdfaac0 *dzz/pichome/filelist.php
|
f0b8396b0798d20e257802e0284c1c99 *dzz/pichome/filelist.php
|
||||||
2d0185de715fe914af40ce715d15afca *dzz/pichome/function/function_common.php
|
2d0185de715fe914af40ce715d15afca *dzz/pichome/function/function_common.php
|
||||||
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
||||||
|
8a53ae7b1997c5ddc37e06b74f47b6b2 *dzz/pichome/image/flashlight.png
|
||||||
152ec265e38eb67acb6cb31026448e3d *dzz/pichome/image/img/t1.jpeg
|
152ec265e38eb67acb6cb31026448e3d *dzz/pichome/image/img/t1.jpeg
|
||||||
651d0b49012d763c7dda236756274a9d *dzz/pichome/image/img/t2.jpg
|
651d0b49012d763c7dda236756274a9d *dzz/pichome/image/img/t2.jpg
|
||||||
309c31fa9200e0c9b4ee8fd3f1399dfc *dzz/pichome/image/img/t3.jpeg
|
309c31fa9200e0c9b4ee8fd3f1399dfc *dzz/pichome/image/img/t3.jpeg
|
||||||
5f5562a16dad1fa33294b5c0a920f1d6 *dzz/pichome/image/img/t4.jpeg
|
5f5562a16dad1fa33294b5c0a920f1d6 *dzz/pichome/image/img/t4.jpeg
|
||||||
|
006790064e59717d811f6f1eec849e63 *dzz/pichome/image/library/billfish.png
|
||||||
|
e6bda96407083273f2a6ef5ac3b1e819 *dzz/pichome/image/library/eagle.png
|
||||||
|
cf4ad845fa202adf1c2c99dba55a6490 *dzz/pichome/image/library/file.png
|
||||||
|
5d34d2b476b50156b594b9371dd38d1f *dzz/pichome/image/library/library.png
|
||||||
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
||||||
1f0ee3cd38e82bd18490a34fcec8c690 *dzz/pichome/image/notScreen.png
|
1f0ee3cd38e82bd18490a34fcec8c690 *dzz/pichome/image/notScreen.png
|
||||||
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
||||||
d51db8efca781201f641a41b57420dfe *dzz/pichome/image/phlogo.png
|
d51db8efca781201f641a41b57420dfe *dzz/pichome/image/phlogo.png
|
||||||
438384ffb6dbf09c63f9c0254c57340a *dzz/pichome/index.php
|
438384ffb6dbf09c63f9c0254c57340a *dzz/pichome/index.php
|
||||||
bc4b3499031370aaa3fabf218806f65f *dzz/pichome/initexport.php
|
9976279181804deb1113d4b3e6af7fab *dzz/pichome/initexport.php
|
||||||
c9b191574ccc8ab6c8ff631302f10561 *dzz/pichome/install.php
|
c9b191574ccc8ab6c8ff631302f10561 *dzz/pichome/install.php
|
||||||
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/audioPlay.js
|
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/audioPlay.js
|
||||||
a088950fc4bf4348d87cda978e5ded97 *dzz/pichome/js/common.js
|
ed875394497b550972b24c9b09d00955 *dzz/pichome/js/common.js
|
||||||
b7a95d9f617863cf515a43e7b83978c5 *dzz/pichome/js/headerMethods.js
|
b7a95d9f617863cf515a43e7b83978c5 *dzz/pichome/js/headerMethods.js
|
||||||
d752d1878252e486cc0244887cfadbae *dzz/pichome/js/headerWatch.js
|
d752d1878252e486cc0244887cfadbae *dzz/pichome/js/headerWatch.js
|
||||||
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/jquery.mousewheel.min.js
|
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/jquery.mousewheel.min.js
|
||||||
@@ -1455,11 +1489,14 @@ d36c75e3d8880ebfece375fd7cd46787 *dzz/pichome/js/mobile/plug/colorPicker/jquery.
|
|||||||
b5d4479aca9121ce9ed95af5d77c10d9 *dzz/pichome/js/mobile/plug/vant/index.css
|
b5d4479aca9121ce9ed95af5d77c10d9 *dzz/pichome/js/mobile/plug/vant/index.css
|
||||||
3d5fcccab75bba76cc259351e875d42a *dzz/pichome/js/mobile/plug/vant/vant.min.js
|
3d5fcccab75bba76cc259351e875d42a *dzz/pichome/js/mobile/plug/vant/vant.min.js
|
||||||
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/pc/audioPlay.js
|
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/pc/audioPlay.js
|
||||||
|
27f51d96c2a6cca4ec0abbce6e0a24db *dzz/pichome/js/pc/components/addcollect.js
|
||||||
|
1bfeb0538751df45e883d9751aae14a3 *dzz/pichome/js/pc/components/collect.js
|
||||||
|
56972b38bc78798895d3bb917f4aeb5e *dzz/pichome/js/pc/components/collectdialog.js
|
||||||
2ffc868ac18c18d948c3ae5576afa98b *dzz/pichome/js/pc/headerMethods.js
|
2ffc868ac18c18d948c3ae5576afa98b *dzz/pichome/js/pc/headerMethods.js
|
||||||
84f0575bc959e85fc1abab5dc71d3079 *dzz/pichome/js/pc/headerWatch.js
|
84f0575bc959e85fc1abab5dc71d3079 *dzz/pichome/js/pc/headerWatch.js
|
||||||
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/pc/jquery.mousewheel.min.js
|
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/pc/jquery.mousewheel.min.js
|
||||||
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/pc/plug/DomResize.js
|
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/pc/plug/DomResize.js
|
||||||
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/pc/plug/element-ui.js
|
693f98461ce3fa58cbe5ac24d9a21b1e *dzz/pichome/js/pc/plug/element-ui.js
|
||||||
66fe9527aec8d8b68e3bc5036ea8f7f9 *dzz/pichome/js/pc/plug/sortable.min.js
|
66fe9527aec8d8b68e3bc5036ea8f7f9 *dzz/pichome/js/pc/plug/sortable.min.js
|
||||||
7292e14f4f8fad306d40a6d7d586b225 *dzz/pichome/js/pc/plug/wavesurfer.js
|
7292e14f4f8fad306d40a6d7d586b225 *dzz/pichome/js/pc/plug/wavesurfer.js
|
||||||
ef4591bffb23a90c8d9e0d02a7b5c15f *dzz/pichome/js/pc/row-grid.js
|
ef4591bffb23a90c8d9e0d02a7b5c15f *dzz/pichome/js/pc/row-grid.js
|
||||||
@@ -1476,15 +1513,18 @@ b21b8531847604ab5f2f5caaef51ba31 *dzz/pichome/js/vue/vue.js
|
|||||||
69764bf35375a54256412f3c748b312d *dzz/pichome/js/waterfall.js
|
69764bf35375a54256412f3c748b312d *dzz/pichome/js/waterfall.js
|
||||||
c24f19d7061cdf5bae41e5e9b9f5600c *dzz/pichome/language/en-US/lang.php
|
c24f19d7061cdf5bae41e5e9b9f5600c *dzz/pichome/language/en-US/lang.php
|
||||||
8a3e6ab24d873202b96c3acd9c1b0d2b *dzz/pichome/language/zh-CN/lang.php
|
8a3e6ab24d873202b96c3acd9c1b0d2b *dzz/pichome/language/zh-CN/lang.php
|
||||||
04a1d42c4c596325364400f866a2c143 *dzz/pichome/library.php
|
9b1430e306b95dff41087a2fca148484 *dzz/pichome/library.php
|
||||||
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
||||||
cda7d5feb6b4ed907d8a1eeb7d0ba46d *dzz/pichome/share.php
|
30a3b6a3143136ebf197c3e58e6bcfe8 *dzz/pichome/share.php
|
||||||
892a7e59f327bc5f273fc0fe2cd2679b *dzz/pichome/template/mobile/components/classify.htm
|
892a7e59f327bc5f273fc0fe2cd2679b *dzz/pichome/template/mobile/components/classify.htm
|
||||||
00be7e9bc0e92e22f9c7aa8fce703854 *dzz/pichome/template/mobile/components/index/JsCommon.htm
|
23b99d3824aa02a61621667b100dbacb *dzz/pichome/template/mobile/components/index/image/classify.htm
|
||||||
|
5752e1116e385c87552c6328125e14c3 *dzz/pichome/template/mobile/components/index/image/JsCollect.htm
|
||||||
|
b5ff94d14983520fb465ffa78959b81f *dzz/pichome/template/mobile/components/index/image/more.htm
|
||||||
|
643af4f4eabf3fd0f01d05f1e0fb6189 *dzz/pichome/template/mobile/components/index/JsCommon.htm
|
||||||
3c0bae451668c060ae526d3253e9be73 *dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
|
3c0bae451668c060ae526d3253e9be73 *dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
|
||||||
b61252abe414de77e062e3f96aabccbd *dzz/pichome/template/mobile/components/index/JsImages.htm
|
493f25784b802d691a49b22d55345e19 *dzz/pichome/template/mobile/components/index/JsImages.htm
|
||||||
801d90ff93583268416fdc99faa91860 *dzz/pichome/template/mobile/components/index/JsIndex.htm
|
507954354bef6b8905158c9037d38e8a *dzz/pichome/template/mobile/components/index/JsIndex.htm
|
||||||
18939ca3c3ccb67156c1d2f3d059a3fa *dzz/pichome/template/mobile/components/index/JsMy.htm
|
d1051b51dd34c88927309c4e82744553 *dzz/pichome/template/mobile/components/index/JsMy.htm
|
||||||
a09a548c0637e1dfc7397410ac056711 *dzz/pichome/template/mobile/components/index/JsScreen.htm
|
a09a548c0637e1dfc7397410ac056711 *dzz/pichome/template/mobile/components/index/JsScreen.htm
|
||||||
76399fc5b4e7a84ee75ed49e34e483c9 *dzz/pichome/template/mobile/components/index/JsSearch.htm
|
76399fc5b4e7a84ee75ed49e34e483c9 *dzz/pichome/template/mobile/components/index/JsSearch.htm
|
||||||
aa8df8e4c660d9136bbff54070a2522a *dzz/pichome/template/mobile/components/index/JsSort.htm
|
aa8df8e4c660d9136bbff54070a2522a *dzz/pichome/template/mobile/components/index/JsSort.htm
|
||||||
@@ -1505,20 +1545,26 @@ ae8d0557008c6f19458bed5c49db2167 *dzz/pichome/template/mobile/components/index/s
|
|||||||
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/mobile/frame/footer_simple.htm
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/mobile/frame/footer_simple.htm
|
||||||
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/mobile/frame/header_simple_end.htm
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/mobile/frame/header_simple_end.htm
|
||||||
fdc74d5e180321fc338ae91a1a90e22e *dzz/pichome/template/mobile/frame/header_simple_start.htm
|
fdc74d5e180321fc338ae91a1a90e22e *dzz/pichome/template/mobile/frame/header_simple_start.htm
|
||||||
f9c4288c838455ae487c2cc0c4d44890 *dzz/pichome/template/mobile/page/details.htm
|
385067e1775bcc445b1dbc978d543ac0 *dzz/pichome/template/mobile/page/details.htm
|
||||||
f9f65e35608efe6563e49abbc66c1249 *dzz/pichome/template/mobile/page/index.htm
|
e34a4b13baa25f03bddc82608964ffd7 *dzz/pichome/template/mobile/page/index.htm
|
||||||
be7755b8e73e2ffa49557e8c3891027a *dzz/pichome/template/mobile/page/personal.htm
|
be7755b8e73e2ffa49557e8c3891027a *dzz/pichome/template/mobile/page/personal.htm
|
||||||
63845b99e6f7f14d1385b56a0c4ffebf *dzz/pichome/template/mobile/page/share.htm
|
59d6f74af0683d8c3dee09e7e09f9787 *dzz/pichome/template/mobile/page/share.htm
|
||||||
dd8403f5dbcfb5767f01143f12afff93 *dzz/pichome/template/pc/components/headerAdmin/index.htm
|
de346d0b0da4cc4eceb143baf17f6812 *dzz/pichome/template/pc/components/collection/Jsimage.htm
|
||||||
|
7705ce7827e5d3de8b4b41659ff0d9e9 *dzz/pichome/template/pc/components/collection/JsLeft.htm
|
||||||
|
74a6088ee7aa0b3cf1201de5b6d30132 *dzz/pichome/template/pc/components/headerAdmin/index.htm
|
||||||
e078614bb6d558d96006ec127f7c392c *dzz/pichome/template/pc/components/headerindex/index.htm
|
e078614bb6d558d96006ec127f7c392c *dzz/pichome/template/pc/components/headerindex/index.htm
|
||||||
0436c3ba601aa0804b0e51926f557988 *dzz/pichome/template/pc/components/headerindex/screen.htm
|
0436c3ba601aa0804b0e51926f557988 *dzz/pichome/template/pc/components/headerindex/screen.htm
|
||||||
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/pc/components/headerindex/searchScreen.htm
|
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/pc/components/headerindex/searchScreen.htm
|
||||||
|
e3cbbf2cf1281dfe69ee59584debe8dc *dzz/pichome/template/pc/components/image/ImageAudioPlay.htm
|
||||||
|
8719049c86e5ed162ef840352086ee8f *dzz/pichome/template/pc/components/image/ImageList.htm
|
||||||
|
7bd38f47edd65c05832edd108ef1479e *dzz/pichome/template/pc/components/image/ImageRowGrid.htm
|
||||||
|
b146499d5bc505f37ec0d323394d1e27 *dzz/pichome/template/pc/components/image/ImageWaterfall.htm
|
||||||
e52de01bb534c8ae8906aeea2a26e4bc *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch1.htm
|
e52de01bb534c8ae8906aeea2a26e4bc *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch1.htm
|
||||||
710efaf3e9e92603f55599af84e07f2b *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch2.htm
|
710efaf3e9e92603f55599af84e07f2b *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch2.htm
|
||||||
0b560bcf32b9928e09a087efbe543405 *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchInput.htm
|
aa36103d6b45e77c11a97dc34f5fa38c *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchInput.htm
|
||||||
44afb76ddd1106c3081e901b74ccd350 *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchScreen.htm
|
44afb76ddd1106c3081e901b74ccd350 *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchScreen.htm
|
||||||
cdfdeb7826e501fc2d0dabbe4545bba6 *dzz/pichome/template/pc/components/index/header/JsHeaderRight.htm
|
cdfdeb7826e501fc2d0dabbe4545bba6 *dzz/pichome/template/pc/components/index/header/JsHeaderRight.htm
|
||||||
82a1a57d683d58fd868fb91fac13ab25 *dzz/pichome/template/pc/components/index/header/JsHeaderRightAvatar.htm
|
2dcef9d94e0d12773e17f32cf9c84720 *dzz/pichome/template/pc/components/index/header/JsHeaderRightAvatar.htm
|
||||||
a5629a36eef6a8c0d3aec35f3a679d86 *dzz/pichome/template/pc/components/index/header/JsHeaderRightBtn.htm
|
a5629a36eef6a8c0d3aec35f3a679d86 *dzz/pichome/template/pc/components/index/header/JsHeaderRightBtn.htm
|
||||||
754c1ae954a2bd706a9ca808225927c9 *dzz/pichome/template/pc/components/index/image/ImageAudioPlay.htm
|
754c1ae954a2bd706a9ca808225927c9 *dzz/pichome/template/pc/components/index/image/ImageAudioPlay.htm
|
||||||
8719049c86e5ed162ef840352086ee8f *dzz/pichome/template/pc/components/index/image/ImageList.htm
|
8719049c86e5ed162ef840352086ee8f *dzz/pichome/template/pc/components/index/image/ImageList.htm
|
||||||
@@ -1526,10 +1572,10 @@ f394ee2d8177fe42a05aeb7c5d1b783a *dzz/pichome/template/pc/components/index/image
|
|||||||
506a3a316c9b37a48c65ed71c7435f33 *dzz/pichome/template/pc/components/index/image/ImageWaterfall.htm
|
506a3a316c9b37a48c65ed71c7435f33 *dzz/pichome/template/pc/components/index/image/ImageWaterfall.htm
|
||||||
e75f2d5563b6d12d345ee4414e2840f9 *dzz/pichome/template/pc/components/index/images.htm
|
e75f2d5563b6d12d345ee4414e2840f9 *dzz/pichome/template/pc/components/index/images.htm
|
||||||
0764f300b91acf6e60925fa91c528941 *dzz/pichome/template/pc/components/index/indexVuex.htm
|
0764f300b91acf6e60925fa91c528941 *dzz/pichome/template/pc/components/index/indexVuex.htm
|
||||||
ac1a37ef71ff76f05435a47b8f13a6b8 *dzz/pichome/template/pc/components/index/JsCommon.htm
|
f18d9fc925dd80b5682ea9b65afb96c0 *dzz/pichome/template/pc/components/index/JsCommon.htm
|
||||||
d88649d33a48388af9e95f4b7b3aeea8 *dzz/pichome/template/pc/components/index/JsHeader1.htm
|
d88649d33a48388af9e95f4b7b3aeea8 *dzz/pichome/template/pc/components/index/JsHeader1.htm
|
||||||
eb3a364123d4c0982dfc2497683adc29 *dzz/pichome/template/pc/components/index/JsHeader2.htm
|
eb3a364123d4c0982dfc2497683adc29 *dzz/pichome/template/pc/components/index/JsHeader2.htm
|
||||||
5ecc3eabb026b20734c7bec319263ed3 *dzz/pichome/template/pc/components/index/Jsimage.htm
|
203fade598d5f1f14bd0cbe612f400c9 *dzz/pichome/template/pc/components/index/Jsimage.htm
|
||||||
e5f81267932b2e39355c4bff620d11b6 *dzz/pichome/template/pc/components/index/JsLibrary.htm
|
e5f81267932b2e39355c4bff620d11b6 *dzz/pichome/template/pc/components/index/JsLibrary.htm
|
||||||
7a925a4631acb01fc275bbb237250d92 *dzz/pichome/template/pc/components/index/JsScreen.htm
|
7a925a4631acb01fc275bbb237250d92 *dzz/pichome/template/pc/components/index/JsScreen.htm
|
||||||
ca1f90529303acc461fb2ce08fb6e7fc *dzz/pichome/template/pc/components/index/screen/btime/js.htm
|
ca1f90529303acc461fb2ce08fb6e7fc *dzz/pichome/template/pc/components/index/screen/btime/js.htm
|
||||||
@@ -1559,23 +1605,23 @@ ed778182594282451fdeaf533390504a *dzz/pichome/template/pc/components/index/scree
|
|||||||
ce8f0dddfb2446e04ed00da108a9d5ff *dzz/pichome/template/pc/components/index/screen/tag/js.htm
|
ce8f0dddfb2446e04ed00da108a9d5ff *dzz/pichome/template/pc/components/index/screen/tag/js.htm
|
||||||
12adf53eb950a45a47d2d80e8b246fa6 *dzz/pichome/template/pc/components/index/screen/tag/temp.htm
|
12adf53eb950a45a47d2d80e8b246fa6 *dzz/pichome/template/pc/components/index/screen/tag/temp.htm
|
||||||
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/pc/components/index/screen.htm
|
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/pc/components/index/screen.htm
|
||||||
78e4336426983a0ec62934217dee535c *dzz/pichome/template/pc/components/index/template2/JsLeft.htm
|
56e224bc38e1eb8da17523729f62dfd8 *dzz/pichome/template/pc/components/index/template2/JsLeft.htm
|
||||||
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/pc/frame/footer_simple.htm
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/pc/frame/footer_simple.htm
|
||||||
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/pc/frame/header_simple_end.htm
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/pc/frame/header_simple_end.htm
|
||||||
08154101159fde8eb21fe522cc937e4c *dzz/pichome/template/pc/frame/header_simple_start.htm
|
08154101159fde8eb21fe522cc937e4c *dzz/pichome/template/pc/frame/header_simple_start.htm
|
||||||
42648cd5769edf01f824444c5acc98b2 *dzz/pichome/template/pc/page/adminBasic.htm
|
f45c9ec8917e94bf4b61a7b5bbacf3e5 *dzz/pichome/template/pc/page/adminBasic.htm
|
||||||
d46f3035458009aa3d87d579da8848c3 *dzz/pichome/template/pc/page/adminFileterset.htm
|
d46f3035458009aa3d87d579da8848c3 *dzz/pichome/template/pc/page/adminFileterset.htm
|
||||||
ef3300e59bc7be272f56ade943326d88 *dzz/pichome/template/pc/page/adminImportsetting.htm
|
ef3300e59bc7be272f56ade943326d88 *dzz/pichome/template/pc/page/adminImportsetting.htm
|
||||||
ea578588242396cb021031f41dd4bc69 *dzz/pichome/template/pc/page/adminLeft.htm
|
ea578588242396cb021031f41dd4bc69 *dzz/pichome/template/pc/page/adminLeft.htm
|
||||||
0e57e8ab9dbccead521f9b18fe8a2de2 *dzz/pichome/template/pc/page/adminLoginpage.htm
|
0e57e8ab9dbccead521f9b18fe8a2de2 *dzz/pichome/template/pc/page/adminLoginpage.htm
|
||||||
624c95c6ba1998d1f0538493c510fed1 *dzz/pichome/template/pc/page/adminPagesetting.htm
|
624c95c6ba1998d1f0538493c510fed1 *dzz/pichome/template/pc/page/adminPagesetting.htm
|
||||||
0920466b526ad2b5b6e20c8b2acead53 *dzz/pichome/template/pc/page/adminPersonal.htm
|
3ad11c89ea7b41c55b63d2f5d29004fb *dzz/pichome/template/pc/page/adminPersonal.htm
|
||||||
4adfd28ac9666c2aeb1af34040db7551 *dzz/pichome/template/pc/page/details.htm
|
364cd2b3bba93563c86ebf33102a6ba9 *dzz/pichome/template/pc/page/details.htm
|
||||||
8e351bacc90f2855e890cc3cb0ef9fc2 *dzz/pichome/template/pc/page/index.htm
|
8e351bacc90f2855e890cc3cb0ef9fc2 *dzz/pichome/template/pc/page/index.htm
|
||||||
701ca3999a6f963e5dd8081f4ca73498 *dzz/pichome/template/pc/page/index1.htm
|
22d1d385387e15a52c90b35eb6ed3a55 *dzz/pichome/template/pc/page/index1.htm
|
||||||
dee08b61a3556659df1cb5daa3845b4e *dzz/pichome/template/pc/page/index2.htm
|
b672309ad39f5e67246c0aabe7811306 *dzz/pichome/template/pc/page/index2.htm
|
||||||
ecbf47343950b3ab1498a97c97d88771 *dzz/pichome/template/pc/page/library.htm
|
c339f4670ef6db9e27f37f497e36f566 *dzz/pichome/template/pc/page/library.htm
|
||||||
d05bbcc9ca122a830c924cfabed697c0 *dzz/pichome/template/pc/page/share.htm
|
b3675471f7a9d279efd0162ac18f1505 *dzz/pichome/template/pc/page/share.htm
|
||||||
3cd79761b99168c3f9faf607183df134 *dzz/pichome/uninstall.php
|
3cd79761b99168c3f9faf607183df134 *dzz/pichome/uninstall.php
|
||||||
b5221437a0c978e0caf63f2278759934 *dzz/pichome/uninstall_real.php
|
b5221437a0c978e0caf63f2278759934 *dzz/pichome/uninstall_real.php
|
||||||
a5c5705a5b9e3a2175d3633656ae614e *dzz/pichome/updatesearchvaldata.php
|
a5c5705a5b9e3a2175d3633656ae614e *dzz/pichome/updatesearchvaldata.php
|
||||||
@@ -1607,8 +1653,8 @@ b0bb6c733a343afcddcd03baaeff31b0 *dzz/xgplayer/js/xgplayer.music.js
|
|||||||
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
||||||
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
||||||
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
||||||
d47506e140e630a579c83fe4911972ae *install/data/install.sql
|
b92e6bc4f11bbece12288d800321aa3c *install/data/install.sql
|
||||||
53cf9484adc4e5d9a87f88a662df5dc8 *install/data/install_data.sql
|
2630350d3ef08d868fcd36e678094709 *install/data/install_data.sql
|
||||||
feabf4e4c8e20dc73548dfd6ba8400f9 *install/images/error.png
|
feabf4e4c8e20dc73548dfd6ba8400f9 *install/images/error.png
|
||||||
fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
||||||
2ba93e93e0fbdfeb91e22f6d3bf8b6ca *install/images/logo.svg
|
2ba93e93e0fbdfeb91e22f6d3bf8b6ca *install/images/logo.svg
|
||||||
@@ -1621,7 +1667,8 @@ a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
|
|||||||
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
||||||
effd4ff5bdac95bbc9e360de443f335c *install/include/install_var.php
|
effd4ff5bdac95bbc9e360de443f335c *install/include/install_var.php
|
||||||
4c34d50daace82774e12ef92efb93d18 *install/index.php
|
4c34d50daace82774e12ef92efb93d18 *install/index.php
|
||||||
672ea3abb501cb04f0708a5c69ac2161 *install/language/zh-cn/lang.php
|
677cacb463b31ea65d0ce771f9c02422 *install/language/zh-cn/lang.php
|
||||||
|
2938ca630f07497e9a4adedf25fbdae2 *install/update.php
|
||||||
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
||||||
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
||||||
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
.max-width[data-v-6168216d]{width:360px}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.wait-files[data-v-00939ee2]{line-height:25px;border:1px solid #dcdfe6;margin-bottom:10px;padding:5px;font-size:14px}
|
|
||||||
@@ -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}
|
||||||
@@ -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}
|
||||||
2
admin/system/dist/index.html
vendored
2
admin/system/dist/index.html
vendored
@@ -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-5cdcd199.6f46c04d.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-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.ec4ac270.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-5cdcd199.070f9c94.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-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.d36cff59.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.d36cff59.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>
|
||||||
@@ -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-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}}]);
|
(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}}]);
|
||||||
@@ -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}}]);
|
|
||||||
@@ -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}}]);
|
|
||||||
@@ -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}}]);
|
|
||||||
@@ -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}}]);
|
|
||||||
@@ -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
@@ -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}}]);
|
|
||||||
@@ -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){}}]);
|
|
||||||
1
admin/system/dist/js/chunk-7aef2525.35b8efb8.js
vendored
Normal file
1
admin/system/dist/js/chunk-7aef2525.35b8efb8.js
vendored
Normal 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}}]);
|
||||||
@@ -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}}]);
|
|
||||||
1
admin/system/dist/js/index.b5ff203c.js
vendored
1
admin/system/dist/js/index.b5ff203c.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
admin/system/dist/js/index.d77cc092.js
vendored
1
admin/system/dist/js/index.d77cc092.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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 = '';
|
||||||
@@ -227,6 +228,8 @@ if ($operation == 'patch' || $operation == 'cross') {
|
|||||||
$file = DZZ_ROOT . './data/update/pichome' . $version . '/updatelist.tmp';
|
$file = DZZ_ROOT . './data/update/pichome' . $version . '/updatelist.tmp';
|
||||||
@unlink($file);
|
@unlink($file);
|
||||||
@unlink(DZZ_ROOT . './install/update.php');
|
@unlink(DZZ_ROOT . './install/update.php');
|
||||||
|
//打开站点
|
||||||
|
C::t('setting')->update('bbclosed', 0);
|
||||||
C::t('cache') -> delete('upgrade_step');
|
C::t('cache') -> delete('upgrade_step');
|
||||||
C::t('cache') -> delete('upgrade_run');
|
C::t('cache') -> delete('upgrade_run');
|
||||||
C::t('setting') -> update('upgrade', '');
|
C::t('setting') -> update('upgrade', '');
|
||||||
|
|||||||
@@ -245,6 +245,11 @@ class image {
|
|||||||
$w = ceil($y_ratio * $this->imginfo['width']);
|
$w = ceil($y_ratio * $this->imginfo['width']);
|
||||||
$h = $this->param['thumbheight'];
|
$h = $this->param['thumbheight'];
|
||||||
}
|
}
|
||||||
|
if($w < 242){
|
||||||
|
$w = $this->param['thumbwidth'] = 242;
|
||||||
|
$x_ratio = $this->param['thumbwidth'] / $this->imginfo['width'];
|
||||||
|
$h = ceil($x_ratio*$this->imginfo['height']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return array($x, $y, $w, $h);
|
return array($x, $y, $w, $h);
|
||||||
}
|
}
|
||||||
@@ -356,6 +361,10 @@ class image {
|
|||||||
}else{
|
}else{
|
||||||
|
|
||||||
$width=ceil($height*$or);
|
$width=ceil($height*$or);
|
||||||
|
if($width < 242){
|
||||||
|
$width = 242;
|
||||||
|
$height = ceil($width/$or);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
@@ -364,6 +373,11 @@ class image {
|
|||||||
$width=$owidth;
|
$width=$owidth;
|
||||||
}else{
|
}else{
|
||||||
$height=ceil($width/$or);
|
$height=ceil($width/$or);
|
||||||
|
$width = ceil($height*$or);
|
||||||
|
if($width < 242){
|
||||||
|
$width = 242;
|
||||||
|
$height = ceil($width/$or);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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')){
|
||||||
|
|||||||
@@ -687,6 +687,7 @@ class dzz_mime{
|
|||||||
'xbm' => 'image/x-xbitmap',
|
'xbm' => 'image/x-xbitmap',
|
||||||
'xpm' => 'image/x-xpixmap',
|
'xpm' => 'image/x-xpixmap',
|
||||||
'xwd' => 'image/x-xwindowdump',
|
'xwd' => 'image/x-xwindowdump',
|
||||||
|
'webp' => 'image/webp',
|
||||||
'mime' => 'message/rfc822',
|
'mime' => 'message/rfc822',
|
||||||
'eml' => 'message/rfc822',
|
'eml' => 'message/rfc822',
|
||||||
'iges' => 'model/iges',
|
'iges' => 'model/iges',
|
||||||
|
|||||||
@@ -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
26
core/class/dzz/sysreg.php
Normal 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);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
2
core/class/dzz/ulimit.php
Normal file
2
core/class/dzz/ulimit.php
Normal file
File diff suppressed because one or more lines are too long
432
core/class/table/table_pichome_collectlist.php
Normal file
432
core/class/table/table_pichome_collectlist.php
Normal file
@@ -0,0 +1,432 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
class table_pichome_collectlist extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_collectlist';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'pichome_collectlist';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
//添加收藏
|
||||||
|
public function add_collect($data){
|
||||||
|
$perm = C::t('pichome_collectuser')->get_perm_by_clid($data['clid']);
|
||||||
|
if($perm < 2){
|
||||||
|
return array('error'=>'no_perm');
|
||||||
|
}
|
||||||
|
if(empty($data['rid'])) return true;
|
||||||
|
$existsdata = DB::fetch_all("select rid from %t where rid in(%n) and clid = %d and cid = %d",array($this->_table,$data['rid'],$data['clid'],$data['cid']));
|
||||||
|
$existsrids = [];
|
||||||
|
foreach($existsdata as $v){
|
||||||
|
$existsrids[] = $v['rid'];
|
||||||
|
}
|
||||||
|
$totalcount = count($data['rid']);
|
||||||
|
$data['rid'] = array_diff($data['rid'],$existsrids);
|
||||||
|
if(empty($data['rid'])) return true;
|
||||||
|
//记录加入收藏个数
|
||||||
|
$counti = 0;
|
||||||
|
$namesarr = [];
|
||||||
|
foreach(DB::fetch_all("select appid,rid,name from %t where rid in(%n)",array('pichome_resources',$data['rid'])) as $v){
|
||||||
|
$setarr = [
|
||||||
|
'rid'=>$v['rid'],
|
||||||
|
'cid'=>$data['cid'],
|
||||||
|
'clid'=>$data['clid'],
|
||||||
|
'uid'=>$data['uid'],
|
||||||
|
'username'=>$data['username'],
|
||||||
|
'dateline'=>$data['dateline'],
|
||||||
|
'appid'=>$v['appid'],
|
||||||
|
];
|
||||||
|
$namesarr[] = $v['name'];
|
||||||
|
if(parent::insert($setarr,1)) $counti += 1;
|
||||||
|
}
|
||||||
|
if($counti){
|
||||||
|
$filenamearr = array_slice($namesarr,0,5);
|
||||||
|
$filename = implode(',',$filenamearr).'等'.$totalcount.'个文件';
|
||||||
|
//如果收藏有分类增加该分类下文件数
|
||||||
|
$position = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$data['clid']));
|
||||||
|
if($data['cid']){
|
||||||
|
C::t('pichome_collectcat')->add_filenum_by_cid($data['cid'],$counti);
|
||||||
|
$pathkey = DB::result_first("select pathkey from %t where cid = %d",array('pichome_collectcat',$data['cid']));
|
||||||
|
$pathkey = str_replace('_','',$pathkey);
|
||||||
|
$patharr = explode('-',$pathkey);
|
||||||
|
foreach(DB::fetch_all("select catname from %t where cid in(%n)",array('pichome_collectcat',$patharr)) as $v){
|
||||||
|
$position .= '/'.$v['catname'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
C::t('pichome_collect')->add_filenum_by_clid($data['clid'],$counti);
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'rids'=> $data['rid']];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'collectfile' ,
|
||||||
|
'uid' => getglobal('uid'),
|
||||||
|
'username' => getglobal('username'),
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$data['clid'],
|
||||||
|
'cid' =>($data['cid']) ? $data['cid']:0,
|
||||||
|
'do' => 'collect_file',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
}
|
||||||
|
$this->update_collect_thumb($data['clid']);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete($id){
|
||||||
|
if(!is_array($id)) $id = (array)$id;
|
||||||
|
if(parent::delete($id)){
|
||||||
|
//删除对应分享
|
||||||
|
if(!empty($id))DB::delete('pichome_share','filepath in('.dimplode($id).') and stype = 1');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//取消收藏
|
||||||
|
public function cancle_filecollect($lids,$clid,$cid = 0){
|
||||||
|
$perm = C::t('pichome_collectuser')->get_perm_by_clid($clid);
|
||||||
|
if($perm < 2){
|
||||||
|
return array('error'=>'no_perm');
|
||||||
|
}
|
||||||
|
if(!is_array($lids)) $lids = (array)$lids;
|
||||||
|
if(empty($lids)) return true;
|
||||||
|
$counti = 0;
|
||||||
|
$rids = [];
|
||||||
|
foreach(DB::fetch_all("select rid,id,cid,clid from %t where id in(%n)",array($this->_table,$lids)) as $v){
|
||||||
|
$rids[] = $v['rid'];
|
||||||
|
if($this->delete($v['id'])){
|
||||||
|
$counti += 1;
|
||||||
|
C::t('pichome_collectcat')->add_filenum_by_cid($v['cid'],-1);
|
||||||
|
C::t('pichome_collect')->add_filenum_by_clid($v['clid'],-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$position = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$clid));
|
||||||
|
if($cid){
|
||||||
|
$pathkey = DB::result_first("select pathkey from %t where cid = %d",array('pichome_collectcat',$cid));
|
||||||
|
$pathkey = str_replace('_','',$pathkey);
|
||||||
|
$patharr = explode('-',$pathkey);
|
||||||
|
foreach(DB::fetch_all("select catname from %t where cid in(%n)",array('pichome_collectcat',$patharr)) as $v){
|
||||||
|
$position .= '/'.$v['catname'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$namesarr = [];
|
||||||
|
foreach(DB::fetch_all("select name from %t where rid in(%n) limit 0,5",array('pichome_resources',$rids)) as $v){
|
||||||
|
$namesarr[] = $v['name'];
|
||||||
|
}
|
||||||
|
$filename = implode(',',$namesarr).'等'.$counti.'个文件';
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'rid'=>$rids];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'canclecollectfile' ,
|
||||||
|
'uid' => getglobal('uid'),
|
||||||
|
'username' => getglobal('username'),
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$clid,
|
||||||
|
'cid' =>($cid) ? $cid:0,
|
||||||
|
'do' => 'cancle_collectfile',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
$this->update_collect_thumb($clid);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//更新收藏夹缩略图
|
||||||
|
public function update_collect_thumb($clid){
|
||||||
|
$first = false;
|
||||||
|
$collectdata = C::t('pichome_collect')->fetch($clid);
|
||||||
|
if(!C::t('pichome_collectlist')->fetch($collectdata['lid'])){
|
||||||
|
$first = true;
|
||||||
|
}else{
|
||||||
|
$first = false;
|
||||||
|
}
|
||||||
|
$setarr = [];
|
||||||
|
if($first){
|
||||||
|
//取得第一张图
|
||||||
|
$firstdata = DB::fetch_first("select * from %t where clid = %d order by id asc",array($this->_table,$clid));
|
||||||
|
if($firstdata){
|
||||||
|
$icondatas = C::t('pichome_resources')->geticondata_by_rid($firstdata['rid']);
|
||||||
|
$setarr['covert'] = $icondatas['icondata'];
|
||||||
|
$setarr['lid'] = $firstdata['id'];
|
||||||
|
}else{
|
||||||
|
$setarr['covert'] = '';
|
||||||
|
$setarr['lid'] = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//取得最新两张图
|
||||||
|
$i = 2;
|
||||||
|
$coverdata = DB::fetch_all("select rid,id from %t where clid = %d order by id desc limit 0,2",array($this->_table,$clid));
|
||||||
|
$count = count($coverdata);
|
||||||
|
if($count == 0){
|
||||||
|
$setarr['covert1'] = '';
|
||||||
|
$setarr['covert2'] = '';
|
||||||
|
$setarr['lid1'] = 0;
|
||||||
|
$setarr['lid2'] = 0;
|
||||||
|
}elseif($count ==1) {
|
||||||
|
foreach ($coverdata as $v) {
|
||||||
|
$icondatas = C::t('pichome_resources')->geticondata_by_rid($v['rid']);
|
||||||
|
$setarr['covert' . $i] = $icondatas['icondata'];
|
||||||
|
$setarr['lid' . $i] = $v['id'];
|
||||||
|
$i--;
|
||||||
|
}
|
||||||
|
$setarr['covert2'] = '';
|
||||||
|
$setarr['lid2'] = 0;
|
||||||
|
}else{
|
||||||
|
foreach($coverdata as $v){
|
||||||
|
$icondatas = C::t('pichome_resources')->geticondata_by_rid($v['rid']);
|
||||||
|
$setarr['covert'.$i] = $icondatas['icondata'];
|
||||||
|
$setarr['lid'.$i] = $v['id'];
|
||||||
|
$i--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
C::t('pichome_collect')->update($clid,$setarr);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//删除收藏夹所有文件
|
||||||
|
public function delete_by_clid($clid){
|
||||||
|
return DB::delete($this->_table,array('clid'=>$clid));
|
||||||
|
}
|
||||||
|
|
||||||
|
//移动文件到某收藏
|
||||||
|
public function move_collectfile($lids,$oclid,$ocid=0){
|
||||||
|
|
||||||
|
if(!is_array($lids)) $lids = (array)$lids;
|
||||||
|
if(empty($lids)) return true;
|
||||||
|
|
||||||
|
$total = count($lids);
|
||||||
|
$cids = [];
|
||||||
|
$clid = 0;
|
||||||
|
$counti = 0;
|
||||||
|
$rids=[];
|
||||||
|
foreach(DB::fetch_all("select * from %t where id in(%n)",array('pichome_collectlist',$lids)) as $v){
|
||||||
|
$cids[] = $v['cid'];
|
||||||
|
$clid = $v['clid'];
|
||||||
|
//如果收藏位置相同则不做任何处理
|
||||||
|
if($v['clid'] == $oclid && $v['cid'] == $ocid){
|
||||||
|
/* if(parent::delete($v['id'])){
|
||||||
|
//收藏夹文件数和分类数减1
|
||||||
|
if($v['cid']) C::t('pichome_collectcat')->add_filenum_by_cid($v['cid'],-1);
|
||||||
|
if($v['clid'])C::t('pichome_collect')->add_filenum_by_clid($v['clid'],-1);
|
||||||
|
}*/
|
||||||
|
continue;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
//如果该收藏文件在目标位置已经存在则删除原收藏位置文件
|
||||||
|
if($id = DB::result_first("select id from %t where rid = %s and clid = %d and cid = %d",
|
||||||
|
array($this->_table,$v['rird'],$oclid,$ocid))){
|
||||||
|
$this->delete($id);
|
||||||
|
C::t('pichome_collect')->add_filenum_by_clid($clid,-1);
|
||||||
|
if($v['cid'])C::t('pichome_collectcat')->add_filenum_by_cid($v['cid'],-1);
|
||||||
|
}else{
|
||||||
|
$setarr = [
|
||||||
|
'uid'=>getglobal('uid'),
|
||||||
|
'username'=>getglobal('username'),
|
||||||
|
'clid'=>$oclid,
|
||||||
|
'cid'=>$ocid
|
||||||
|
];
|
||||||
|
/* echo $ocid;
|
||||||
|
print_r($v);die;*/
|
||||||
|
//更新数据
|
||||||
|
if(parent::update($v['id'],$setarr)){
|
||||||
|
|
||||||
|
//如果移动位置不在一个收藏夹
|
||||||
|
if($v['clid'] != $oclid){
|
||||||
|
//增加移入收藏夹文件数
|
||||||
|
C::t('pichome_collect')->add_filenum_by_clid($oclid,1);
|
||||||
|
if($v['clid']) C::t('pichome_collect')->add_filenum_by_clid($clid,-1);
|
||||||
|
}
|
||||||
|
if($v['cid'])C::t('pichome_collectcat')->add_filenum_by_cid($v['cid'],-1);
|
||||||
|
$counti++;
|
||||||
|
//增加移入分类文件数
|
||||||
|
if($ocid)C::t('pichome_collectcat')->add_filenum_by_cid($ocid,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
$rids[] = $v['rid'];
|
||||||
|
}
|
||||||
|
//如果移动文件位置cid为多个则不记入动态
|
||||||
|
$cids = array_unique($cids);
|
||||||
|
if(count($cids) == 1) $cid = $cids[0];
|
||||||
|
else $cid = 0;
|
||||||
|
|
||||||
|
$namesarr = [];
|
||||||
|
foreach(DB::fetch_all("select name from %t where rid in(%n) limit 0,5",array('pichome_resources',$rids)) as $v){
|
||||||
|
$namesarr[] = $v['name'];
|
||||||
|
}
|
||||||
|
$filename = implode(',',$namesarr).'等'.$total.'个文件';
|
||||||
|
|
||||||
|
$oposition = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$oclid));
|
||||||
|
if($ocid){
|
||||||
|
$pathkey = DB::result_first("select pathkey from %t where cid = %d",array('pichome_collectcat',$ocid));
|
||||||
|
$pathkey = str_replace('_','',$pathkey);
|
||||||
|
$patharr = explode('-',$pathkey);
|
||||||
|
foreach(DB::fetch_all("select catname from %t where cid in(%n)",array('pichome_collectcat',$patharr)) as $v){
|
||||||
|
$oposition .= '/'.$v['catname'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新移出收藏文件数
|
||||||
|
$position = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$clid));
|
||||||
|
if($cid){
|
||||||
|
|
||||||
|
$pathkey = DB::result_first("select pathkey from %t where cid = %d",array('pichome_collectcat',$cid));
|
||||||
|
$pathkey = str_replace('_','',$pathkey);
|
||||||
|
$patharr = explode('-',$pathkey);
|
||||||
|
foreach(DB::fetch_all("select catname from %t where cid in(%n)",array('pichome_collectcat',$patharr)) as $v){
|
||||||
|
$position .= '/'.$v['catname'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//移入动态
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'newcolletname'=>$oposition,'rid'=>$rids];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'movecollectfileto' ,
|
||||||
|
'uid' => getglobal('uid'),
|
||||||
|
'username' => getglobal('username'),
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$oclid,
|
||||||
|
'cid' =>($ocid) ? $ocid:0,
|
||||||
|
'do' => 'move_collectfileto',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
//更新移入文件收藏缩略图
|
||||||
|
if($oclid != $clid) $this->update_collect_thumb($oclid);
|
||||||
|
|
||||||
|
//移出动态
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'newcolletname'=>$oposition,'rid'=>$rids];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'delcollectfilefrom' ,
|
||||||
|
'uid' => getglobal('uid'),
|
||||||
|
'username' => getglobal('username'),
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$clid,
|
||||||
|
'cid' =>($cid) ? $cid:0,
|
||||||
|
'do' => 'del_collectfilefrom',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
//更新移出文件收藏缩略图
|
||||||
|
if($clid && $oclid != $clid) $this->update_collect_thumb($oclid);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
//收藏已收藏文件到指定收藏
|
||||||
|
public function collect_by_lid($lids,$clid,$cid=0){
|
||||||
|
$perm = C::t('pichome_collectuser')->get_perm_by_clid($clid);
|
||||||
|
if($perm < 2){
|
||||||
|
return array('error'=>'no_perm');
|
||||||
|
}
|
||||||
|
if(!is_array($lids)) $lids = (array)$lids;
|
||||||
|
if(empty($lids)) return true;
|
||||||
|
$rids = [];
|
||||||
|
foreach(DB::fetch_all("select rid,id from %t where id in(%n)",array($this->_table,$lids)) as $v){
|
||||||
|
$rids[] = $v['rid'];
|
||||||
|
}
|
||||||
|
$existsrids = [];
|
||||||
|
foreach(DB::fetch_all("select rid from %t where rid in(%n) and clid = %d and cid = %d",array($this->_table,$rids,$clid,$cid)) as $v){
|
||||||
|
$existsrids[] = $v['rid'];
|
||||||
|
}
|
||||||
|
$totalcount = count($rids);
|
||||||
|
$insertrids = array_diff($rids,$existsrids);
|
||||||
|
//记录加入收藏个数
|
||||||
|
$counti = 0;
|
||||||
|
$namesarr = [];
|
||||||
|
foreach(DB::fetch_all("select appid,rid,name from %t where rid in(%n)",array('pichome_resources',$insertrids)) as $v){
|
||||||
|
$setarr = [
|
||||||
|
'rid'=>$v['rid'],
|
||||||
|
'cid'=>$cid,
|
||||||
|
'clid'=>$clid,
|
||||||
|
'uid'=>getglobal('uid'),
|
||||||
|
'username'=>getglobal('username'),
|
||||||
|
'dateline'=>TIMESTAMP,
|
||||||
|
'appid'=>$v['appid'],
|
||||||
|
];
|
||||||
|
$namesarr[] = $v['name'];
|
||||||
|
if(parent::insert($setarr,1)) $counti += 1;
|
||||||
|
}
|
||||||
|
if($counti){
|
||||||
|
$filenamearr = array_slice($namesarr,0,5);
|
||||||
|
$filename = implode(',',$filenamearr).'等'.$totalcount.'个文件';
|
||||||
|
//如果收藏有分类增加该分类下文件数
|
||||||
|
$position = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$clid));
|
||||||
|
if($cid){
|
||||||
|
C::t('pichome_collectcat')->add_filenum_by_cid($cid,$counti);
|
||||||
|
$pathkey = DB::result_first("select pathkey from %t where cid = %d",array('pichome_collectcat',$cid));
|
||||||
|
$pathkey = str_replace('_','',$pathkey);
|
||||||
|
$patharr = explode('-',$pathkey);
|
||||||
|
foreach(DB::fetch_all("select catname from %t where cid in(%n)",array('pichome_collectcat',$patharr)) as $v){
|
||||||
|
$position .= '/'.$v['catname'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
C::t('pichome_collect')->add_filenum_by_clid($clid,$counti);
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'rids'=>$rids];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'collectfile' ,
|
||||||
|
'uid' => getglobal('uid'),
|
||||||
|
'username' => getglobal('username'),
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$clid,
|
||||||
|
'cid' =>$cid ? $cid:0,
|
||||||
|
'do' => 'collect_file',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
}
|
||||||
|
$this->update_collect_thumb($clid);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_by_rids($rids,$uid,$username){
|
||||||
|
if(!$rids) $rids = (array)$rids;
|
||||||
|
if(empty($rids)) return true;
|
||||||
|
$clids = [];
|
||||||
|
foreach(DB::fetch_all("select * from %t where rid in(%n)",array($this->_table,$rids)) as $v){
|
||||||
|
$clids[$v['clid']][] = $v['id'];
|
||||||
|
}
|
||||||
|
foreach ($clids as $k=>$val){
|
||||||
|
$clid = $k;
|
||||||
|
$counti = 0;
|
||||||
|
$rids = [];
|
||||||
|
foreach(DB::fetch_all("select rid,id,cid,clid from %t where id in(%n)",array($this->_table,$val)) as $v){
|
||||||
|
$rids[] = $v['rid'];
|
||||||
|
if($this->delete($v['id'])){
|
||||||
|
$counti += 1;
|
||||||
|
if($v['cid'])C::t('pichome_collectcat')->add_filenum_by_cid($v['cid'],-1);
|
||||||
|
if($v['clid'])C::t('pichome_collect')->add_filenum_by_clid($v['clid'],-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$position = DB::result_first("select name from %t where clid = %d",array('pichome_collect',$clid));
|
||||||
|
$namesarr = [];
|
||||||
|
foreach(DB::fetch_all("select name from %t where rid in(%n) limit 0,5",array('pichome_resources',$rids)) as $v){
|
||||||
|
$namesarr[] = $v['name'];
|
||||||
|
}
|
||||||
|
$filename = implode(',',$namesarr).'等'.$counti.'个文件';
|
||||||
|
$enventbodydata = ['username'=>getglobal('username'),'filename'=>$filename,'collectname'=>$position,'rid'=>$rids];
|
||||||
|
$enventdata = [
|
||||||
|
'eventbody' =>'canclecollectfile' ,
|
||||||
|
'uid' => $uid,
|
||||||
|
'username' => $username,
|
||||||
|
'bodydata' => json_encode($enventbodydata),
|
||||||
|
'clid' =>$clid,
|
||||||
|
'cid' =>0,
|
||||||
|
'do' => 'cancle_collectfile',
|
||||||
|
'do_obj' =>$filename,
|
||||||
|
'dateline'=>TIMESTAMP
|
||||||
|
];
|
||||||
|
C::t('pichome_collectevent')->insert($enventdata);
|
||||||
|
$this->update_collect_thumb($clid);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,153 +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=''){
|
||||||
return parent::delete($fids);
|
foreach ($folderdata as $v) {
|
||||||
}
|
$fid = $v['id'].$appid;
|
||||||
//插入和更新目录数据
|
$setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>($pathkey)?$pathkey:$fid];
|
||||||
public function insert_folderdata_by_appid($appid,$folderdata,$folderarr = array(),$pfid='',$pathkey=''){
|
if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
|
||||||
foreach ($folderdata as $v) {
|
if($v['password']) $setarr['password'] = $v['password'];
|
||||||
$fid = $v['id'].$appid;
|
if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
|
||||||
$setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>($pathkey)?$pathkey:$fid];
|
//如果已经有该id时更新
|
||||||
if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
|
if($fname = DB::result_first("select fname from %t where fid = %s",array($this->_table,$fid))){
|
||||||
if($v['password']) $setarr['password'] = $v['password'];
|
parent::update($fid,$setarr);
|
||||||
if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
|
$setarr['fid'] = $fid;
|
||||||
//如果已经有该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 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)",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 = ''",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(DB::fetch_all("select fname,fid,pathkey,appid,pfid from %t where $wheresql",$params)as $v ){
|
||||||
foreach ($folderdata as $k=>$v){
|
$folderdata[$v['fid']] = $v;
|
||||||
$len=strlen($folderdata[$k]['pathkey']);
|
}
|
||||||
|
foreach ($folderdata as $k=>$v){
|
||||||
|
$len=strlen($folderdata[$k]['pathkey']);
|
||||||
|
|
||||||
$folderdata[$k]['len']=$len;
|
$folderdata[$k]['len']=$len;
|
||||||
}
|
}
|
||||||
$cloumarr = array_column($folderdata,'len');
|
$cloumarr = array_column($folderdata,'len');
|
||||||
array_multisort($cloumarr,SORT_ASC,$folderdata);
|
array_multisort($cloumarr,SORT_ASC,$folderdata);
|
||||||
return $folderdata;
|
return $folderdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
@@ -29,12 +29,13 @@ class table_pichome_resources extends dzz_table
|
|||||||
|
|
||||||
public function delete_by_appid($appid)
|
public function delete_by_appid($appid)
|
||||||
{
|
{
|
||||||
|
$data = C::t('pichome_vapp')->fetch($appid);
|
||||||
//$i = 0;
|
//$i = 0;
|
||||||
$rids = [];
|
$rids = [];
|
||||||
foreach (DB::fetch_all("select rid from %t where appid = %s limit 0,1000", array($this->_table, $appid)) as $v) {
|
foreach (DB::fetch_all("select rid from %t where appid = %s limit 0,100", array($this->_table, $appid)) as $v) {
|
||||||
$rids[] = $v['rid'];
|
$rids[] = $v['rid'];
|
||||||
}
|
}
|
||||||
if ($rids) $this->delete_by_rid($rids);
|
if ($rids) $this->delete_by_rid($rids, $data['deluid'], $data['delusername']);
|
||||||
//return $i;
|
//return $i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +45,7 @@ class table_pichome_resources extends dzz_table
|
|||||||
return DB::result_first("select * from %t where path = %s", array($this->_table, $path));
|
return DB::result_first("select * from %t where path = %s", array($this->_table, $path));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete_by_rid($rids)
|
public function delete_by_rid($rids, $uid = 0, $username = '')
|
||||||
{
|
{
|
||||||
if (!is_array($rids)) $rids = (array)$rids;
|
if (!is_array($rids)) $rids = (array)$rids;
|
||||||
C::t('pichome_resources_attr')->delete_by_rid($rids);
|
C::t('pichome_resources_attr')->delete_by_rid($rids);
|
||||||
@@ -55,9 +56,13 @@ class table_pichome_resources extends dzz_table
|
|||||||
C::t('pichome_share')->delete_by_rid($rids);
|
C::t('pichome_share')->delete_by_rid($rids);
|
||||||
C::t('pichome_ffmpeg_record')->delete($rids);
|
C::t('pichome_ffmpeg_record')->delete($rids);
|
||||||
C::t('pichome_imagickrecord')->delete($rids);
|
C::t('pichome_imagickrecord')->delete($rids);
|
||||||
|
$deldata = ['rids' => $rids, 'deluid' => $uid, 'delusername' => $username];
|
||||||
|
Hook::listen('pichomedatadeleteafter', $deldata);
|
||||||
|
|
||||||
return $this->delete($rids);
|
return $this->delete($rids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function fetch_by_rids($rids)
|
public function fetch_by_rids($rids)
|
||||||
{
|
{
|
||||||
global $Opentype;
|
global $Opentype;
|
||||||
@@ -130,6 +135,7 @@ class table_pichome_resources extends dzz_table
|
|||||||
//获取所有库分享和下载权限
|
//获取所有库分享和下载权限
|
||||||
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
||||||
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
||||||
|
if ($attrdata['desc']) $attrdata['desc'] = strip_tags($attrdata['desc']);
|
||||||
$resourcesdata = array_merge($resourcesdata, $attrdata);
|
$resourcesdata = array_merge($resourcesdata, $attrdata);
|
||||||
$resourcesdata['colors'] = C::t('pichome_palette')->fetch_colordata_by_rid($rid);
|
$resourcesdata['colors'] = C::t('pichome_palette')->fetch_colordata_by_rid($rid);
|
||||||
$resourcesdata['ext'] = strtolower($resourcesdata['ext']);
|
$resourcesdata['ext'] = strtolower($resourcesdata['ext']);
|
||||||
@@ -144,86 +150,29 @@ class table_pichome_resources extends dzz_table
|
|||||||
} else {
|
} else {
|
||||||
$resourcesdata['opentype'] = 'other';
|
$resourcesdata['opentype'] = 'other';
|
||||||
}
|
}
|
||||||
if ($resourcesdata['hasthumb']) {
|
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($rid, '', 7200, 0);
|
||||||
//如果是本地文件
|
|
||||||
if ($resourcesdata['apptype'] == 1) {
|
|
||||||
$filename = 'pichomethumb' . BS . $resourcesdata['appid'] . BS . md5($resourcesdata['path']) . '.jpg';
|
|
||||||
|
|
||||||
$thumbpath = getglobal('setting/attachurl') . $filename;
|
|
||||||
//echo $thumbpath;die;
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
|
|
||||||
} elseif ($resourcesdata['apptype'] == 0) {
|
|
||||||
$resourcesdata['path'] = str_replace('\\', '/', $resourcesdata['path']);
|
|
||||||
$filepath = dirname($resourcesdata['path']);
|
|
||||||
$filename = substr($resourcesdata['path'], strrpos($resourcesdata['path'], '/') + 1);
|
|
||||||
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
|
||||||
$filepath = str_replace('/', BS, $filepath);
|
|
||||||
if ($downshare[$resourcesdata['appid']]['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $downshare[$resourcesdata['appid']]['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $downshare[$resourcesdata['appid']]['path'];
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$hookdata = ['rid' => $resourcesdata['rid'], 'apppath' => $downshare[$resourcesdata['appid']]['path'], 'appid' => $resourcesdata['appid']];
|
|
||||||
$return = Hook::listen('getpichomethumb', $hookdata);
|
|
||||||
$thumbpath = str_replace(DZZ_ROOT, '', $return[0]['icon']);
|
|
||||||
if ($downshare[$resourcesdata['appid']]['iswebsitefile']){
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
}else{
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//}
|
|
||||||
} else {
|
|
||||||
if ($resourcesdata['type'] == 'commonimage') {
|
|
||||||
if ($downshare[$resourcesdata['appid']]['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $downshare[$resourcesdata['appid']]['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $resourcesdata['path'];
|
|
||||||
$thumbpath = str_replace(BS, '/', $thumbpath);
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $downshare[$resourcesdata['appid']]['path'];
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($tmppath, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$resourcesdata['icondata'] = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//echo $resourcesdata['icondata'];die;
|
|
||||||
$imginfo = @getimagesize($resourcesdata['icondata']);
|
|
||||||
$resourcesdata['iconwidth'] = $imginfo[0] ? $imginfo[0] : $resourcesdata['width'];
|
|
||||||
$resourcesdata['iconheight'] = $imginfo[1] ? $imginfo[1] : $resourcesdata['height'];
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', $resourcesdata['icondata']);
|
|
||||||
|
|
||||||
|
$thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900;
|
||||||
|
$thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900;
|
||||||
|
$thumsizearr = $this->getImageThumbsize($resourcesdata['width'], $resourcesdata['height'], $thumbwidth, $thumbheight);
|
||||||
|
$resourcesdata['iconwidth'] = $thumsizearr[0];
|
||||||
|
$resourcesdata['iconheight'] = $thumsizearr[1];
|
||||||
|
//$resourcesdata['icondata'] = str_replace('+', '%20', $resourcesdata['icondata']);
|
||||||
|
if(getglobal('adminid') == 1) $resourcesdata['realfianllypath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg'.'&path=' . dzzencode($rid.'_3', '', 0, 0);
|
||||||
|
|
||||||
$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'];
|
|
||||||
$resourcesdata['originalimg'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($originalimg, '', 0, 0);
|
|
||||||
if (in_array($resourcesdata['opentype'], array('text', 'video', 'pdf'))) {
|
|
||||||
$resourcesdata['realpath'] = str_replace('+', '', urlencode(getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($originalimg, '', 0, 0)));
|
|
||||||
} else {
|
|
||||||
$resourcesdata['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($originalimg, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
$originalimg = $downshare[$resourcesdata['appid']]['path'] . BS . $resourcesdata['path'];
|
||||||
|
$resourcesdata['originalimg'] = ($resourcesdata['download']) ? getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_1','', 0, 0):'';
|
||||||
|
/*if ($resourcesdata['opentype'] == 'video') {
|
||||||
|
$resourcesdata['realpath'] = str_replace('+', '', urlencode(getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_3','', 7200, 0)));
|
||||||
|
}*//* else {
|
||||||
|
$resourcesdata['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($resourcesdata['rid'].'_realpath', '', 0, 0);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
$resourcesdata['name'] = str_replace(strrchr($resourcesdata['name'], "."), "", $resourcesdata['name']);
|
$resourcesdata['name'] = str_replace(strrchr($resourcesdata['name'], "."), "", $resourcesdata['name']);
|
||||||
$resourcesdata['fsize'] = formatsize($resourcesdata['size']);
|
$resourcesdata['fsize'] = formatsize($resourcesdata['size']);
|
||||||
@@ -234,7 +183,7 @@ class table_pichome_resources extends dzz_table
|
|||||||
$resourcesdata['foldernames'] = C::t('pichome_folderresources')->get_foldername_by_rid($rid);
|
$resourcesdata['foldernames'] = C::t('pichome_folderresources')->get_foldername_by_rid($rid);
|
||||||
$resourcesdata['tag'] = C::t('pichome_resourcestag')->fetch_tag_by_rid($rid);
|
$resourcesdata['tag'] = C::t('pichome_resourcestag')->fetch_tag_by_rid($rid);
|
||||||
$resourcesdata['dpath'] = dzzencode($rid, '', 0, 0);
|
$resourcesdata['dpath'] = dzzencode($rid, '', 0, 0);
|
||||||
//print_r($resourcesdata);die;
|
|
||||||
|
|
||||||
return $resourcesdata;
|
return $resourcesdata;
|
||||||
}
|
}
|
||||||
@@ -255,66 +204,17 @@ class table_pichome_resources extends dzz_table
|
|||||||
$v['annonationnum'] = $annonationnumdata[$v['rid']]['num'];
|
$v['annonationnum'] = $annonationnumdata[$v['rid']]['num'];
|
||||||
$v['share'] = $downshare[$v['appid']]['share'];
|
$v['share'] = $downshare[$v['appid']]['share'];
|
||||||
$v['download'] = $downshare[$v['appid']]['download'];
|
$v['download'] = $downshare[$v['appid']]['download'];
|
||||||
if ($v['hasthumb']) {
|
|
||||||
//如果是本地文件
|
|
||||||
if ($downshare[$v['appid']]['type'] == 1) {
|
|
||||||
$filename = 'pichomethumb' . BS . $v['appid'] . BS . md5($v['path']) . '.jpg';
|
|
||||||
$thumbpath = getglobal('setting/attachurl') . $filename;
|
|
||||||
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} elseif ($downshare[$v['appid']]['type'] == 0) {
|
|
||||||
$v['path'] = str_replace('\\', '/', $v['path']);
|
|
||||||
$filepath = dirname($v['path']);
|
|
||||||
$filename = substr($v['path'], strrpos($v['path'], '/') + 1);
|
|
||||||
$filepath = str_replace('/', BS, $filepath);
|
|
||||||
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
|
||||||
$filepath = str_replace('/', BS, $filepath);
|
|
||||||
if ($downshare[$v['appid']]['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $downshare[$v['appid']]['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $downshare[$v['appid']]['path'];
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($v['rid'],'', 7200, 0);
|
||||||
$hookdata = ['rid' => $v['rid'], 'apppath' => $downshare[$v['appid']]['path'], 'appid' => $v['appid']];
|
$thumbwidth = getglobal('config/pichomethumbwidth') ? getglobal('config/pichomethumbwidth') : 900;
|
||||||
$return = Hook::listen('getpichomethumb', $hookdata);
|
$thumbheight = getglobal('config/pichomethumbheight') ? getglobal('config/pichomethumbheight') : 900;
|
||||||
$thumbpath = str_replace(DZZ_ROOT, '', $return[0]['icon']);
|
$thumsizearr = $this->getImageThumbsize($v['width'], $v['height'], $thumbwidth, $thumbheight);
|
||||||
if ($downshare[$v['appid']]['iswebsitefile']){
|
$v['thumbwidth'] = $thumsizearr[0];
|
||||||
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
$v['thumbheight'] = $thumsizearr[1];
|
||||||
}else{
|
if ($v['opentype'] == 'video') {
|
||||||
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 0);
|
$v['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($v['rid'].'_3','', 7200, 0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if ($v['type'] == 'commonimage') {
|
|
||||||
if ($downshare[$v['appid']]['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $downshare[$v['appid']]['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $v['path'];
|
|
||||||
$thumbpath = str_replace(BS,'/',$thumbpath);
|
|
||||||
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $downshare[$v['appid']]['path'] . BS . $v['path'];
|
|
||||||
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($tmppath, '', 0, 0);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$v['icondata'] = geticonfromext($v['ext'], $v['type']);
|
|
||||||
$v['width'] = 128;
|
|
||||||
$v['height'] = 128;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//文件真实地址
|
|
||||||
if ($downshare[$v['appid']]['iswebsitefile']) {
|
|
||||||
$originalimg = str_replace(DZZ_ROOT, '', $downshare[$v['appid']]['path'] . BS . $v['path']);
|
|
||||||
$originalimg = str_replace(BS, '/', $originalimg);
|
|
||||||
$v['realpath'] = str_replace('+', '%20', urlencode($originalimg));
|
|
||||||
} else {
|
|
||||||
$originalimg = $downshare[$v['appid']]['path'] . BS . $v['path'];
|
|
||||||
$v['realpath'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($originalimg, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unset($v['path']);
|
unset($v['path']);
|
||||||
@@ -323,60 +223,54 @@ class table_pichome_resources extends dzz_table
|
|||||||
return $returndata;
|
return $returndata;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function geticondata_by_rid($rid)
|
public function getImageThumbsize($owidth, $oheight, $width, $height)
|
||||||
|
{
|
||||||
|
if ($owidth > $width || $oheight > $height) {
|
||||||
|
$or = $owidth / $oheight;
|
||||||
|
$r = $width / $height;
|
||||||
|
if ($r > $or) {
|
||||||
|
if ($oheight < $height) {
|
||||||
|
$height = $oheight;
|
||||||
|
$width = $owidth;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$width = ceil($height * $or);
|
||||||
|
if ($width < 242) {
|
||||||
|
$width = 242;
|
||||||
|
$height = ceil($width / $or);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if ($owidth < $width) {
|
||||||
|
$height = $oheight;
|
||||||
|
$width = $owidth;
|
||||||
|
} else {
|
||||||
|
$height = ceil($width / $or);
|
||||||
|
$width = ceil($height * $or);
|
||||||
|
if ($width < 242) {
|
||||||
|
$width = 242;
|
||||||
|
$height = ceil($width / $or);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$width = $owidth;
|
||||||
|
$height = $oheight;
|
||||||
|
}
|
||||||
|
//Return the results
|
||||||
|
return array($width, $height);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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 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));
|
||||||
if ($resourcesdata['hasthumb']) {
|
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&hash='.VERHASH.'&path=' . dzzencode($rid, '', $time, 0);
|
||||||
//如果是本地文件
|
|
||||||
if ($resourcesdata['apptype'] == 1) {
|
|
||||||
$filename = 'pichomethumb' . BS . $resourcesdata['appid'] . BS . md5($resourcesdata['fpath']) . '.jpg';
|
|
||||||
$thumbpath = getglobal('setting/attachurl') . $filename;
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} elseif($resourcesdata['apptype'] == 0){
|
|
||||||
$resourcesdata['fpath'] = str_replace('\\', '/', $resourcesdata['fpath']);
|
|
||||||
$filepath = dirname($resourcesdata['fpath']);
|
|
||||||
$filename = substr($resourcesdata['fpath'], strrpos($resourcesdata['fpath'], '/') + 1);
|
|
||||||
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
|
||||||
$filepath = str_replace('/', BS, $filepath);
|
|
||||||
if ($resourcesdata['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $resourcesdata['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $resourcesdata['path'];
|
|
||||||
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 0);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$hookdata = ['rid' => $resourcesdata['rid'], 'apppath' => $resourcesdata['path'], 'appid' => $resourcesdata['appid']];
|
|
||||||
$return = Hook::listen('getpichomethumb', $hookdata);
|
|
||||||
$thumbpath = str_replace(DZZ_ROOT, '', $return[0]['icon']);
|
|
||||||
if ($resourcesdata['iswebsitefile']){
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
}else{
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ($resourcesdata['type'] == 'commonimage') {
|
|
||||||
if ($resourcesdata['iswebsitefile']) {
|
|
||||||
$tmppath = str_replace(DZZ_ROOT, '', $resourcesdata['path']);
|
|
||||||
$thumbpath = $tmppath . BS . $resourcesdata['fpath'];
|
|
||||||
$thumbpath = str_replace(BS, '/', $thumbpath);
|
|
||||||
$resourcesdata['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
|
||||||
} else {
|
|
||||||
$tmppath = $resourcesdata['path'];
|
|
||||||
$resourcesdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($tmppath, '', 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$resourcesdata['icondata'] = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return $resourcesdata;
|
return $resourcesdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;*/
|
||||||
|
|||||||
@@ -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 = [];
|
||||||
|
|||||||
@@ -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);
|
||||||
@@ -99,8 +99,9 @@
|
|||||||
if(is_dir(getglobal('setting/attachdir').'pichomethumb/'.$appid)){
|
if(is_dir(getglobal('setting/attachdir').'pichomethumb/'.$appid)){
|
||||||
removedirectory(getglobal('setting/attachdir').'pichomethumb/'.$appid);
|
removedirectory(getglobal('setting/attachdir').'pichomethumb/'.$appid);
|
||||||
}
|
}
|
||||||
if($appdata['type'] > 1){
|
if($appdata['type'] !== 1){
|
||||||
Hook::listen('pichomevappdelete',$appid);
|
$hookdata = ['appid'=>$appid,'apptype'=>$appdata['type']];
|
||||||
|
Hook::listen('pichomevappdelete',$hookdata);
|
||||||
}
|
}
|
||||||
return parent::delete($appid);
|
return parent::delete($appid);
|
||||||
}
|
}
|
||||||
@@ -114,4 +115,20 @@
|
|||||||
}
|
}
|
||||||
return $downshare;
|
return $downshare;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function add_getinfonum_by_appid($appid,$ceof = 1){
|
||||||
|
$appdata = C::t('pichome_vapp')->fetch($appid);
|
||||||
|
if($ceof < 0){
|
||||||
|
if($appdata['getinfonum'] == 0) return true;
|
||||||
|
elseif($appdata['getinfonum'] < abs($ceof))$ceof = -$appdata['getinfonum'];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($ceof > 0) {
|
||||||
|
DB::query("update %t set getinfonum=getinfonum+%d where appid = %s", array($this->_table, $ceof, $appid));
|
||||||
|
} else {
|
||||||
|
DB::query("update %t set getinfonum=getinfonum-%d where appid = %s", array($this->_table, abs($ceof), $appid));
|
||||||
|
}
|
||||||
|
$this->clear_cache($appid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
45
core/class/table/table_pichome_vapp_tag.php
Normal file
45
core/class/table/table_pichome_vapp_tag.php
Normal 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']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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');//路由操作键名
|
||||||
|
|||||||
@@ -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.1');
|
define('CORE_VERSION', '10.1.0');
|
||||||
define('CORE_VERSION_LEVEL', 'Pichome');
|
define('CORE_VERSION_LEVEL', 'Home');
|
||||||
define('CORE_RELEASE', '20211220');
|
define('CORE_RELEASE', '20220429');
|
||||||
define('CORE_FIXBUG' , '03100000');
|
define('CORE_FIXBUG' , '10100000');
|
||||||
}
|
}
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -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);
|
|
||||||
@@ -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);
|
||||||
|
|||||||
@@ -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'=>'定制版',
|
||||||
|
|||||||
0
data/attachment/qrcode/index.html
Normal file
0
data/attachment/qrcode/index.html
Normal file
@@ -31,7 +31,7 @@ class billfishxport
|
|||||||
private $donum = 0;
|
private $donum = 0;
|
||||||
private $lastid = '';
|
private $lastid = '';
|
||||||
private $charset = 'UTF-8';
|
private $charset = 'UTF-8';
|
||||||
private $allowext = '';
|
private $version = '';
|
||||||
private $notallowext = '';
|
private $notallowext = '';
|
||||||
private $db = null;
|
private $db = null;
|
||||||
|
|
||||||
@@ -47,6 +47,7 @@ class billfishxport
|
|||||||
$this->donum = $data['donum'];
|
$this->donum = $data['donum'];
|
||||||
$this->filenum = $data['filenum'];
|
$this->filenum = $data['filenum'];
|
||||||
$this->lastid = $data['lastid'];
|
$this->lastid = $data['lastid'];
|
||||||
|
$this->version = $data['version'];
|
||||||
if ($data['charset']) $this->charset = $data['charset'];
|
if ($data['charset']) $this->charset = $data['charset'];
|
||||||
//尝试连接数据库
|
//尝试连接数据库
|
||||||
$connect = $this->connect_db();
|
$connect = $this->connect_db();
|
||||||
@@ -85,32 +86,332 @@ class billfishxport
|
|||||||
public function initExport()
|
public function initExport()
|
||||||
{
|
{
|
||||||
//修改导入状态为1
|
//修改导入状态为1
|
||||||
C::t('pichome_vapp')->update($this->appid, array('state' => 1));
|
|
||||||
//查询res_join_tag是否有文件id索引
|
|
||||||
$fecthsql = "SELECT * FROM sqlite_master WHERE type = 'index';";
|
|
||||||
$indexdata = $this->fetch_all($fecthsql);
|
|
||||||
$indexarr = array_column($indexdata,'name');
|
|
||||||
//如果标签表iid没有索引创建res_join_tag_iid_idx索引
|
|
||||||
if(!in_array('res_join_tag_iid',$indexarr)){
|
|
||||||
$createsql = "CREATE INDEX res_join_tag_iid ON res_join_tag ( iid ASC )";
|
|
||||||
$this->db->query($createsql);
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询待导入文件数
|
$versionsql = " SELECT version from library where 1";
|
||||||
$sql = "select count(s.id) as num from source s left join res_prop rp on s.id = rp.iid where rp.action =0 ";
|
$versions = $this->fetch($versionsql);
|
||||||
$data = $this->fetch($sql);
|
$this->version = $versions['version'];
|
||||||
$this->filenum = $data['num'];
|
C::t('pichome_vapp')->update($this->appid, array('state' => 1,'version'=>intval($this->version)));
|
||||||
|
if($this->version >= 30){
|
||||||
|
//查询res_join_tag是否有文件id索引
|
||||||
|
$fecthsql = "SELECT * FROM sqlite_master WHERE type = 'index'";
|
||||||
|
$indexdata = $this->fetch_all($fecthsql);
|
||||||
|
$indexarr = array_column($indexdata,'name');
|
||||||
|
//如果标签表iid没有索引创建res_join_tag_iid_idx索引
|
||||||
|
if(!in_array('res_join_tag_id',$indexarr)){
|
||||||
|
$createsql = "CREATE INDEX res_join_tag_id ON bf_tag_join_file (tag_id ASC )";
|
||||||
|
$this->db->query($createsql);
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询待导入文件数
|
||||||
|
// $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 ";
|
||||||
|
$sql = "select count(id) as num from bf_file where 1";
|
||||||
|
$data = $this->fetch($sql);
|
||||||
|
$this->filenum = $data['num'];
|
||||||
|
}else{
|
||||||
|
//查询res_join_tag是否有文件id索引
|
||||||
|
$fecthsql = "SELECT * FROM sqlite_master WHERE type = 'index'";
|
||||||
|
$indexdata = $this->fetch_all($fecthsql);
|
||||||
|
$indexarr = array_column($indexdata,'name');
|
||||||
|
//如果标签表iid没有索引创建res_join_tag_iid_idx索引
|
||||||
|
if(!in_array('res_join_tag_iid',$indexarr)){
|
||||||
|
$createsql = "CREATE INDEX res_join_tag_iid ON res_join_tag ( iid ASC )";
|
||||||
|
$this->db->query($createsql);
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询待导入文件数
|
||||||
|
//$sql = "select count(s.id) as num from source s left join res_prop rp on s.id = rp.iid where rp.action =0 ";
|
||||||
|
$sql = "select count(id) as num from source where 1 ";
|
||||||
|
$data = $this->fetch($sql);
|
||||||
|
$this->filenum = $data['num'];
|
||||||
|
}
|
||||||
//如果没有数据,视为导入成功
|
//如果没有数据,视为导入成功
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取文件可访问的真实地址
|
||||||
|
public function getFileRealFileName($filepath,$filename){
|
||||||
|
$charsetarr = ['GBK','GB18030'];
|
||||||
|
$returnname = $filename;
|
||||||
|
if(!is_file($filepath.BS.$filename)){
|
||||||
|
foreach ($charsetarr as $v){
|
||||||
|
$filemetadataname = diconv($filename, CHARSET, $v);
|
||||||
|
if(is_file($filepath.BS.$filemetadataname)){
|
||||||
|
$returnname = $filemetadataname;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $returnname;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function execExport($force = false)
|
public function execExport($force = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if($this->version < 30){
|
||||||
|
$this->oldexport($force);
|
||||||
|
}else{
|
||||||
|
$this->export($force);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public function export($force = false){
|
||||||
|
//开始页数
|
||||||
|
if ($this->lastid) {
|
||||||
|
$start = $this->lastid;
|
||||||
|
} else $start = 1;
|
||||||
|
$lastid = $start;
|
||||||
|
$start = ($start-1)*$this->onceexportnum;
|
||||||
|
$sql = "select f.*,m.w,m.h,m.is_recycle,m.thumb_tid,mu.comments_detail,mu.note,mu.score,mu.origin from bf_file f
|
||||||
|
left join bf_material m on m.file_id = f.id
|
||||||
|
left join bf_material_userdata mu on mu.file_id=f.id
|
||||||
|
where 1 limit $start,$this->onceexportnum";
|
||||||
|
$datas = $this->fetch_all($sql);
|
||||||
|
|
||||||
|
foreach ($datas as $v) {
|
||||||
|
//查询文件是否在回收站
|
||||||
|
$id = $v['id'];//文件id
|
||||||
|
$rid = md5($this->appid . $id);
|
||||||
|
|
||||||
|
//如果文件在回收站
|
||||||
|
if ($v['is_recycle'] > 0) {
|
||||||
|
//如果已经有数据,标记为已删除
|
||||||
|
if (DB::fetch_first("select count(rid) from %t where rid = %s", array('pichome_resources', $rid))) {
|
||||||
|
C::t('pichome_resources')->update($rid, array('isdelete' => 1));
|
||||||
|
}
|
||||||
|
//文件总数减1
|
||||||
|
$this->filenum -= 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//获取文件后缀
|
||||||
|
$ext = strtolower(substr(strrchr($v['name'], '.'), 1));
|
||||||
|
//获取文件类型
|
||||||
|
$type = getTypeByExt($ext);
|
||||||
|
|
||||||
|
//出入主表数据
|
||||||
|
$setarr = [
|
||||||
|
'rid' => $rid,
|
||||||
|
'uid'=>$this->uid,
|
||||||
|
'username'=>$this->username,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'ext' => $ext,
|
||||||
|
'type' => $type,
|
||||||
|
'name' => $v['name'],
|
||||||
|
'mtime' => ($v['mtime']) ? $v['mtime'] * 1000 : $v['born'] * 1000,
|
||||||
|
'dateline' => $v['ctime'] ? $v['ctime'] * 1000:$v['born']*1000,
|
||||||
|
'btime' => $v['born'] ? $v['born']*1000:$v['mtime'] * 1000,
|
||||||
|
'size' => $v['file_size'],
|
||||||
|
'width' => $v['w'],
|
||||||
|
'height' => $v['h'],
|
||||||
|
'grade' => $v['score'],
|
||||||
|
'apptype' => 2,
|
||||||
|
'hasthumb' => $v['thumb_tid'] ? 1 : 0,
|
||||||
|
'thumb' => $v['thumb']
|
||||||
|
];
|
||||||
|
|
||||||
|
//数据插入主表
|
||||||
|
if (C::t('#billfish#billfish_record')->inser_data($v['id'], $setarr)) {
|
||||||
|
//定义属性表变量
|
||||||
|
$attrdata = [];
|
||||||
|
$attrdata['desc'] = $v['note'];
|
||||||
|
$attrdata['link'] = $v['origin'];
|
||||||
|
//将名字记入搜索字段
|
||||||
|
$attrdata['searchval'] = $setarr['name'].$attrdata['desc'].$attrdata['link'];
|
||||||
|
//处理目录数据
|
||||||
|
if ($v['pid']) {
|
||||||
|
$folderdata = $this->getFolderfid($v['pid']);
|
||||||
|
//处理目录数据
|
||||||
|
$fid = $folderdata['fid'];
|
||||||
|
$folderarr = [
|
||||||
|
'fid' => $fid,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'rid' => $rid
|
||||||
|
];
|
||||||
|
C::t('pichome_folderresources')->insert($folderarr);
|
||||||
|
$attrdata['path'] = $folderdata['dirpath'] . BS . $setarr['name'];
|
||||||
|
} else {
|
||||||
|
$attrdata['path'] = $setarr['name'];
|
||||||
|
}
|
||||||
|
//目录数据处理完成
|
||||||
|
$attrdata['path'] = $this->getFileRealFileName($this->path,$attrdata['path']);
|
||||||
|
//转码路径 记入属性表
|
||||||
|
//$p = new Encode_Core();
|
||||||
|
//$this->charset = $p->get_encoding($attrdata['path']);
|
||||||
|
//if (CHARSET != $this->charset) $attrdata['path'] = diconv($attrdata['path'],CHARSET, $this->charset);;
|
||||||
|
|
||||||
|
//标签数据开始
|
||||||
|
|
||||||
|
//查询文件标签id
|
||||||
|
|
||||||
|
$sql = "select tag_id from bf_tag_join_file where file_id = $id";//耗时最多
|
||||||
|
$tiddata = $this->fetch_all($sql);
|
||||||
|
|
||||||
|
$tids = [];
|
||||||
|
foreach ($tiddata as $val) {
|
||||||
|
$tids[] = $val['tag_id'];
|
||||||
|
}
|
||||||
|
if (!empty($tids)) {
|
||||||
|
$tidstr = dimplode($tids);
|
||||||
|
//查询标签分类数据
|
||||||
|
$sql = "select jg.gid,g.name from bf_tag_join_group jg
|
||||||
|
left join bf_tag_group g on g.id = jg.gid
|
||||||
|
where jg.tag_id in($tidstr) group by jg.gid";
|
||||||
|
$taggroupdata = $this->fetch_all($sql);
|
||||||
|
$relationgroupdata = [];
|
||||||
|
//插入标签分类关系表及pichome分类返回原分类id对应pichome标签分类id
|
||||||
|
foreach ($taggroupdata as $val) {
|
||||||
|
$tmpreturn = C::t('#billfish#billfish_taggrouprecord')->insert_data($val, $this->appid);
|
||||||
|
$relationgroupdata[$tmpreturn['bcid']] = $tmpreturn['cid'];
|
||||||
|
}
|
||||||
|
//处理标签表数据
|
||||||
|
//查询标签名称,id 插入标签对照表 返回原标签id对应pichome标签id 将标签加入searchval
|
||||||
|
$sql = " select t.id,t.name,j.gid from bf_tag t
|
||||||
|
left join bf_tag_join_group j on j.tag_id = t.id where t.id in($tidstr)";
|
||||||
|
$tagdata = $this->fetch_all($sql);
|
||||||
|
$tagrelativedata = [];
|
||||||
|
$taggroups =[];
|
||||||
|
foreach ($tagdata as $val) {
|
||||||
|
$tagsetarr = ['name' => $val['name'], 'lid' => $val['id']];
|
||||||
|
$tmptagrelativedata = C::t('#billfish#billfish_tagrecord')->insert_data($tagsetarr, $this->appid);
|
||||||
|
$tagrelativedata[$tmptagrelativedata['lid']] = $tmptagrelativedata['tid'];
|
||||||
|
$attrdata['searchval'] .= $val['name'];
|
||||||
|
if($val['gid']) $taggroups[] = ['gid'=>$val['gid'],'lid'=>$val['id']];
|
||||||
|
}
|
||||||
|
|
||||||
|
//处理标签与分类关系数据 查询原标签分类和标签id 插入pichome标签分类对应标签id
|
||||||
|
//$sql = "select gid,lid from tag_join_group where lid in($tidstr)";
|
||||||
|
//$taggroups = $this->fetch_all($sql);
|
||||||
|
foreach ($taggroups as $val) {
|
||||||
|
$tagrelarr = [
|
||||||
|
'tid' => $tagrelativedata[$val['lid']],
|
||||||
|
'cid' => $relationgroupdata[$val['gid']],
|
||||||
|
'appid' => $this->appid,
|
||||||
|
];
|
||||||
|
C::t('pichome_tagrelation')->insert($tagrelarr);
|
||||||
|
}
|
||||||
|
//处理标签文件关系数据
|
||||||
|
$inserttids = $ftids = array_values($tagrelativedata);
|
||||||
|
//查询pichome是否有标签数据
|
||||||
|
$oattrtag = DB::result_first("select tag from %t where rid = %s", array('pichome_resources_attr', $rid));
|
||||||
|
if ($oattrtag) {
|
||||||
|
$ottids = explode(',', $oattrtag);
|
||||||
|
//取得删除的标签
|
||||||
|
$deltids = array_diff($ftids, $ottids);
|
||||||
|
if (!empty($deltids)) C::t('pichome_resourcestag')->delete_by_ridtid($rid, $deltids);
|
||||||
|
//取得插入的标签
|
||||||
|
$inserttids = $deltids = array_diff($ottids, $ftids);
|
||||||
|
}
|
||||||
|
//插入标签关系表
|
||||||
|
foreach ($inserttids as $val) {
|
||||||
|
$tagresourcesattr = ['tid' => $val, 'rid' => $rid, 'appid' => $this->appid];
|
||||||
|
C::t('pichome_resourcestag')->insert($tagresourcesattr);
|
||||||
|
}
|
||||||
|
//更新属性表标签数据
|
||||||
|
$attrdata['tag'] = implode(',', $ftids);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//标签数据结束
|
||||||
|
|
||||||
|
//开始处理颜色数据
|
||||||
|
//查询颜色数据
|
||||||
|
$sql = "select * from bf_material_color where file_id = $id";
|
||||||
|
$bcolordata = $this->fetch_all($sql);
|
||||||
|
//删除原颜色数据
|
||||||
|
DB::delete('pichome_palette', array('rid' => $rid));
|
||||||
|
foreach ($bcolordata as $val) {
|
||||||
|
$colorarr = ['rid' => $rid,
|
||||||
|
'color' => $val['color'],
|
||||||
|
'weight' => $val['precent'],
|
||||||
|
'r' => $val['r'],
|
||||||
|
'g' => $val['g'],
|
||||||
|
'b' => $val['b']
|
||||||
|
];
|
||||||
|
C::t('pichome_palette')->insert($colorarr);
|
||||||
|
}
|
||||||
|
|
||||||
|
//颜色数据处理结束
|
||||||
|
|
||||||
|
|
||||||
|
//处理标注数据
|
||||||
|
|
||||||
|
//删除原标注数据
|
||||||
|
C::t('pichome_comments')->delete_by_rid($rid);
|
||||||
|
if ($v['comments_detail']) {
|
||||||
|
$commentdata = json_decode($v['comments_detail'],true);
|
||||||
|
foreach ($commentdata as $commentval) {
|
||||||
|
$tcommentval['id'] = random(13) . $this->appid;
|
||||||
|
$tentval['appid'] = $this->appid;
|
||||||
|
$tcommentval['rid'] = $rid;
|
||||||
|
$tcommentval['x'] = number_format($commentval['x'], 2);
|
||||||
|
$tcommentval['y'] = number_format($commentval['y'], 2);
|
||||||
|
$tcommentval['width'] = number_format($commentval['cx'], 2);
|
||||||
|
$tcommentval['height'] = number_format($commentval['cy'], 2);
|
||||||
|
$tcommentval['annotation'] = $commentval['comment'];
|
||||||
|
try {
|
||||||
|
C::t('pichome_comments')->insert($tcommentval);
|
||||||
|
$setarr['searchval'] .= $tcommentval['annotation'];
|
||||||
|
} catch (Exception $e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//标注数据处理结束
|
||||||
|
|
||||||
|
//处理音视频时长数据
|
||||||
|
//查询音频时长
|
||||||
|
$sql = "select duration from bf_material_video where file_id = $id";
|
||||||
|
$videodata = $this->fetch($sql);
|
||||||
|
if(isset($videodata['duration'])) $attrdata['duration'] = $videodata['duration'];
|
||||||
|
//查询视频时长
|
||||||
|
$sql = "select duration from bf_material_audio where file_id = $id";
|
||||||
|
$audiodata = $this->fetch($sql);
|
||||||
|
if(isset($audiodata['duration'])) $attrdata['duration'] = $audiodata['duration'];
|
||||||
|
//时长处理结束
|
||||||
|
|
||||||
|
//插入属性表数据
|
||||||
|
$attrdata['rid'] = $rid;
|
||||||
|
$attrdata['appid'] = $this->appid;
|
||||||
|
C::t('pichome_resources_attr')->insert($attrdata);
|
||||||
|
$this->donum += 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//文件总数减1
|
||||||
|
$this->filenum -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//导入百分比
|
||||||
|
$percent = floor(($this->donum / $this->filenum) * 100);
|
||||||
|
$percent = ($percent > 100) ? 100 : $percent;
|
||||||
|
$state = ($percent >= 100) ? 3 : 2;
|
||||||
|
if ($state == 3) {
|
||||||
|
$lastid = 0;
|
||||||
|
$percent = 0;
|
||||||
|
$this->donum = 0;
|
||||||
|
}
|
||||||
|
//记录导入起始位置,以备中断后从此处,更改导入状态
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state,'filenum'=>$this->filenum));
|
||||||
|
|
||||||
|
}
|
||||||
|
if($state == 2){
|
||||||
|
$lastid = $lastid+1;
|
||||||
|
C::t('pichome_vapp')->update($this->appid,array('lastid' => $lastid));
|
||||||
|
}
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
}
|
||||||
|
public function oldexport($force = false){
|
||||||
//开始页数
|
//开始页数
|
||||||
if ($this->lastid) {
|
if ($this->lastid) {
|
||||||
$start = $this->lastid;
|
$start = $this->lastid;
|
||||||
@@ -168,8 +469,9 @@ class billfishxport
|
|||||||
//定义属性表变量
|
//定义属性表变量
|
||||||
$attrdata = [];
|
$attrdata = [];
|
||||||
$attrdata['desc'] = $v['note'];
|
$attrdata['desc'] = $v['note'];
|
||||||
|
$attrdata['link'] = $v['origin'];
|
||||||
//将名字记入搜索字段
|
//将名字记入搜索字段
|
||||||
$attrdata['searchval'] = $setarr['name'].$attrdata['desc'];
|
$attrdata['searchval'] = $setarr['name'].$attrdata['desc'].$attrdata['link'];
|
||||||
//处理目录数据
|
//处理目录数据
|
||||||
if ($v['fid']) {
|
if ($v['fid']) {
|
||||||
$folderdata = $this->getFolderfid($v['fid']);
|
$folderdata = $this->getFolderfid($v['fid']);
|
||||||
@@ -186,9 +488,11 @@ class billfishxport
|
|||||||
$attrdata['path'] = $setarr['name'];
|
$attrdata['path'] = $setarr['name'];
|
||||||
}
|
}
|
||||||
//目录数据处理完成
|
//目录数据处理完成
|
||||||
|
$attrdata['path'] = $this->getFileRealFileName($this->path,$attrdata['path']);
|
||||||
//转码路径 记入属性表
|
//转码路径 记入属性表
|
||||||
if (CHARSET != $this->charset) $attrdata['path'] = diconv($attrdata['path'],CHARSET, $this->charset);;
|
//$p = new Encode_Core();
|
||||||
|
//$this->charset = $p->get_encoding($attrdata['path']);
|
||||||
|
//if (CHARSET != $this->charset) $attrdata['path'] = diconv($attrdata['path'],CHARSET, $this->charset);;
|
||||||
|
|
||||||
//标签数据开始
|
//标签数据开始
|
||||||
|
|
||||||
@@ -341,14 +645,15 @@ 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));
|
||||||
}
|
}
|
||||||
$time4= microtime(true);
|
|
||||||
|
|
||||||
$lastid = $lastid+1;
|
$lastid = $lastid+1;
|
||||||
|
|
||||||
C::t('pichome_vapp')->update($this->appid,array('lastid' => $lastid));
|
C::t('pichome_vapp')->update($this->appid,array('lastid' => $lastid));
|
||||||
return array('success' => true);
|
return array('success' => true);
|
||||||
|
|
||||||
@@ -357,8 +662,12 @@ class billfishxport
|
|||||||
public function getFolderfid($bfid, $dirpath = '')
|
public function getFolderfid($bfid, $dirpath = '')
|
||||||
{
|
{
|
||||||
$parentfolderdata = [];
|
$parentfolderdata = [];
|
||||||
|
if($this->version < 30){
|
||||||
|
$sql = "select * from folder where id = $bfid";
|
||||||
|
}else{
|
||||||
|
$sql = "select * from bf_folder where id = $bfid";
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "select * from folder where id = $bfid";
|
|
||||||
$folderdata = $this->fetch($sql);
|
$folderdata = $this->fetch($sql);
|
||||||
$dirpath = $folderdata['name'] . ($dirpath ? BS . $dirpath : '');
|
$dirpath = $folderdata['name'] . ($dirpath ? BS . $dirpath : '');
|
||||||
if ($folderdata['pid']) {
|
if ($folderdata['pid']) {
|
||||||
@@ -369,7 +678,8 @@ class billfishxport
|
|||||||
$setarr = [
|
$setarr = [
|
||||||
'pfid' => isset($parentfolderdata['fid']) ? $parentfolderdata['fid'] : '',
|
'pfid' => isset($parentfolderdata['fid']) ? $parentfolderdata['fid'] : '',
|
||||||
'fname' => $folderdata['name'],
|
'fname' => $folderdata['name'],
|
||||||
'appid' => $this->appid
|
'appid' => $this->appid,
|
||||||
|
'disp'=>($this->version < 30) ? $folderdata['seq']:round($folderdata['seq']*1000000000)
|
||||||
];
|
];
|
||||||
$return = C::t('#billfish#billfish_folderrecord')->insert_data($bfid, $setarr);
|
$return = C::t('#billfish#billfish_folderrecord')->insert_data($bfid, $setarr);
|
||||||
$return['dirpath'] = $dirpath;
|
$return['dirpath'] = $dirpath;
|
||||||
@@ -406,9 +716,15 @@ class billfishxport
|
|||||||
//检查不存在的标签删除
|
//检查不存在的标签删除
|
||||||
$tagtotal = DB::result_first("select count(id) from %t where appid = %s",array('billfish_tagrecord',$this->appid));
|
$tagtotal = DB::result_first("select count(id) from %t where appid = %s",array('billfish_tagrecord',$this->appid));
|
||||||
$this->check_notexists_tag($tagtotal);
|
$this->check_notexists_tag($tagtotal);
|
||||||
//删除创建的索引
|
if($this->version < 30){
|
||||||
$sql = 'DROP INDEX res_join_tag_iid';
|
//删除创建的索引
|
||||||
$this->db->query($sql);
|
$sql = 'DROP INDEX res_join_tag_iid';
|
||||||
|
$this->db->query($sql);
|
||||||
|
}else{
|
||||||
|
$sql = 'DROP INDEX res_join_tag_id';
|
||||||
|
$this->db->query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$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));
|
||||||
$nosubfilenum = $total - $hascatnum;
|
$nosubfilenum = $total - $hascatnum;
|
||||||
@@ -418,12 +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));
|
||||||
//查询billfish中是否有该数据
|
if(!$iid){
|
||||||
$sql = "select count(*) as num from source where 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);
|
||||||
@@ -448,7 +773,6 @@ class billfishxport
|
|||||||
}
|
}
|
||||||
//检查目录数据
|
//检查目录数据
|
||||||
public function check_notexists_folder($total){
|
public function check_notexists_folder($total){
|
||||||
|
|
||||||
$tmpkey = 'pichomecheckfolder' . $this->appid;
|
$tmpkey = 'pichomecheckfolder' . $this->appid;
|
||||||
$folderstart = C::t('cache')->fetch($tmpkey);
|
$folderstart = C::t('cache')->fetch($tmpkey);
|
||||||
if (!$folderstart) {
|
if (!$folderstart) {
|
||||||
@@ -467,8 +791,13 @@ class billfishxport
|
|||||||
}
|
}
|
||||||
|
|
||||||
$bfidstr = dimplode($bfids);
|
$bfidstr = dimplode($bfids);
|
||||||
|
if($this->version < 30){
|
||||||
|
$sql = "select id from folder where id in($bfidstr)";
|
||||||
|
}else{
|
||||||
|
$sql = "select id from bf_folder where id in($bfidstr)";
|
||||||
|
}
|
||||||
//查询不存的目录
|
//查询不存的目录
|
||||||
$sql = "select id from folder where id in($bfidstr)";
|
|
||||||
$bfolder = $this->fetch_all($sql);
|
$bfolder = $this->fetch_all($sql);
|
||||||
$blfids = [];
|
$blfids = [];
|
||||||
foreach ($bfolder as $val){
|
foreach ($bfolder as $val){
|
||||||
@@ -506,7 +835,10 @@ class billfishxport
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
$lidstr = dimplode(',',$lids);
|
$lidstr = dimplode(',',$lids);
|
||||||
$sql = "select id from tag where id in($lidstr)";
|
if($this->version < 30){
|
||||||
|
$sql = "select id from tag where id in($lidstr)";
|
||||||
|
}
|
||||||
|
else $sql = "select id from bf_tag where id in($lidstr)";
|
||||||
$blids =[] ;
|
$blids =[] ;
|
||||||
foreach($this->fetch_all($sql) as $v){
|
foreach($this->fetch_all($sql) as $v){
|
||||||
$blids[] = $v['id'];
|
$blids[] = $v['id'];
|
||||||
|
|||||||
@@ -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).')');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
20
dzz/billfish/classes/deleteafter.php
Normal file
20
dzz/billfish/classes/deleteafter.php
Normal 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']);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
18
dzz/billfish/classes/delpichomefolderafter.php
Normal file
18
dzz/billfish/classes/delpichomefolderafter.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\billfish\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class delpichomefolderafter
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($data)
|
||||||
|
{
|
||||||
|
C::t("#billfish#billfish_folderrecord")->delete_by_appid($data['appid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -11,16 +11,29 @@ class getpichomethumb
|
|||||||
|
|
||||||
public function run(&$data)
|
public function run(&$data)
|
||||||
{
|
{
|
||||||
|
|
||||||
$thumbid = DB::result_first("select thumb from %t where appid = %s and rid = %s", array('billfish_record', $data['appid'], $data['rid']));
|
$thumbid = DB::result_first("select thumb from %t where appid = %s and rid = %s", array('billfish_record', $data['appid'], $data['rid']));
|
||||||
if (strlen($thumbid) < 9) {
|
if(isset($data['version']) && $data['version'] >=30){
|
||||||
$thumbid = str_pad($thumbid,9,0,STR_PAD_LEFT);
|
$bid = DB::result_first("select bid from %t where rid = %s",array('billfish_record',$data['rid']));
|
||||||
|
$thumbdir = dechex($bid);
|
||||||
|
$thumbdir = (string) $thumbdir;
|
||||||
|
if(strlen($thumbdir) < 2){
|
||||||
|
$thumbdir =str_pad($thumbdir,2,0,STR_PAD_LEFT);
|
||||||
|
}elseif(strlen($thumbdir) > 2){
|
||||||
|
$thumbdir = substr($thumbdir,-2);
|
||||||
|
}
|
||||||
|
$pathdir = $data['apppath'].BS.'.bf'.BS.'.preview'.BS.$thumbdir.BS.$bid.'.small.webp';
|
||||||
|
return array('icon'=>$pathdir);
|
||||||
|
}else{
|
||||||
|
if (strlen($thumbid) < 9) {
|
||||||
|
$thumbid = str_pad($thumbid,9,0,STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
$pathdir = $data['apppath'].BS.'.bf'.BS.'.preview';
|
||||||
|
$thumbpatharr = $this->mbStrSplit($thumbid,3);
|
||||||
|
array_pop($thumbpatharr);
|
||||||
|
$thumbpath = implode(BS,$thumbpatharr);
|
||||||
|
return array('icon'=>$pathdir.BS.$thumbpath.BS.$thumbid.'.webp');
|
||||||
}
|
}
|
||||||
$pathdir = $data['apppath'].BS.'.bf'.BS.'.preview';
|
|
||||||
$thumbpatharr = $this->mbStrSplit($thumbid,3);
|
|
||||||
array_pop($thumbpatharr);
|
|
||||||
$thumbpath = implode(BS,$thumbpatharr);
|
|
||||||
return array('icon'=>$pathdir.BS.$thumbpath.BS.$thumbid.'.webp');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function mbStrSplit ($string, $len=1) {
|
function mbStrSplit ($string, $len=1) {
|
||||||
|
|||||||
@@ -9,12 +9,15 @@ use \fmpeg as fmpeg;
|
|||||||
class pichomevappdelete
|
class pichomevappdelete
|
||||||
{
|
{
|
||||||
|
|
||||||
public function run($appid)
|
public function run($data)
|
||||||
{
|
{
|
||||||
C::t("#billfish#billfish_record")->delete_by_appid($appid);
|
if($data['type'] == 2){
|
||||||
C::t("#billfish#billfish_folderrecord")->delete_by_appid($appid);
|
C::t("#billfish#billfish_record")->delete_by_appid($data['appid']);
|
||||||
C::t("#billfish#billfish_tagrecord")->delete_by_appid($appid);
|
C::t("#billfish#billfish_folderrecord")->delete_by_appid($data['appid']);
|
||||||
C::t("#billfish#billfish_taggrouprecord")->delete_by_appid($appid);
|
C::t("#billfish#billfish_tagrecord")->delete_by_appid($data['appid']);
|
||||||
|
C::t("#billfish#billfish_taggrouprecord")->delete_by_appid($data['appid']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class Encode_Core {
|
|||||||
$ary[] = "JIS";//日文编码
|
$ary[] = "JIS";//日文编码
|
||||||
$ary[] = "EUC-JP";//日文编码
|
$ary[] = "EUC-JP";//日文编码
|
||||||
$encoding= self::detect_utf_encoding($str);
|
$encoding= self::detect_utf_encoding($str);
|
||||||
if(empty($encoding) && self::is_gb2312($str)) return 'GBK';
|
//if(empty($encoding) && self::is_GBK($str)) return 'GBK';
|
||||||
if(empty($encoding)){
|
if(empty($encoding)){
|
||||||
$encoding=mb_detect_encoding($str,$ary);
|
$encoding=mb_detect_encoding($str,$ary);
|
||||||
}
|
}
|
||||||
|
|||||||
732
dzz/eagle/class/class_eagleexport.php
Normal file
732
dzz/eagle/class/class_eagleexport.php
Normal file
@@ -0,0 +1,732 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@set_time_limit(0);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
require_once(DZZ_ROOT . './dzz/class/class_encode.php');
|
||||||
|
require_once './core/class/class_Color.php';
|
||||||
|
require_once libfile('function/user', '', 'user');
|
||||||
|
|
||||||
|
class eagleexport
|
||||||
|
{
|
||||||
|
private $path = '';//待执行数据path
|
||||||
|
private $appid = 0;//库id
|
||||||
|
private $uid = 0;//用户id
|
||||||
|
private $username = null;//用户名
|
||||||
|
private $filenum = 0;//总文件数
|
||||||
|
private $checkpage = 1;
|
||||||
|
private $checklimit = 1000;
|
||||||
|
private $onceexportnum = 1000;
|
||||||
|
private $checknum = 0;
|
||||||
|
private $eagledir = DZZ_ROOT . 'library';
|
||||||
|
private $readtxt = DZZ_ROOT . './data/attachment/cache/';
|
||||||
|
private $exportstatus = 0;
|
||||||
|
private $donum = 0;
|
||||||
|
private $lastid = '';
|
||||||
|
|
||||||
|
public function __construct($data = array())
|
||||||
|
{
|
||||||
|
//获取导入记录表基本数据
|
||||||
|
$this->path = str_replace('/', BS, $data['path']);;
|
||||||
|
$this->appid = $data['appid'];
|
||||||
|
$this->uid = $data['uid'];
|
||||||
|
$this->username = $data['username'];
|
||||||
|
$this->exportstatus = $data['state'];
|
||||||
|
$this->donum = $data['donum'];
|
||||||
|
$this->filenum = $data['filenum'];
|
||||||
|
$this->lastid = $data['lastid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getpathdata($folderdata, $appid, $pathdata = array())
|
||||||
|
{
|
||||||
|
foreach ($folderdata as $v) {
|
||||||
|
$pathdata[$v['id'] . $appid] = $v['name'];
|
||||||
|
if ($v['children']) {
|
||||||
|
$tmpchild = $v['children'];
|
||||||
|
$pathdata = $this->getpathdata($tmpchild, $appid, $pathdata);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $pathdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function initFoldertag()
|
||||||
|
{
|
||||||
|
$jsonfile = $this->path . BS . 'metadata.json';
|
||||||
|
$mtime = filemtime($jsonfile);
|
||||||
|
$appdatas = file_get_contents($jsonfile);
|
||||||
|
//解析出json数据
|
||||||
|
$appdatas = json_decode($appdatas, true);
|
||||||
|
|
||||||
|
//目录数据
|
||||||
|
$folderdata = $appdatas['folders'];
|
||||||
|
$efids = C::t('#eagle#eagle_folderrecord')->insert_folderdata_by_appid($this->appid, $folderdata);
|
||||||
|
$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);
|
||||||
|
//标签数据
|
||||||
|
$tagdata = $appdatas['tagsGroups'];
|
||||||
|
$currentcids = [];
|
||||||
|
$tids = [];
|
||||||
|
|
||||||
|
foreach ($tagdata as $v) {
|
||||||
|
$taggroupdata = [
|
||||||
|
'cid' => $v['id'] . $this->appid,
|
||||||
|
'catname' => $v['name'],
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'dateline' => TIMESTAMP
|
||||||
|
];
|
||||||
|
//插入或更新标签分类数据
|
||||||
|
$cid = C::t('pichome_taggroup')->insert($taggroupdata);
|
||||||
|
$currentcids[] = $cid;
|
||||||
|
foreach ($v['tags'] as $val) {
|
||||||
|
$tid = C::t('pichome_tag')->insert($val, 1);
|
||||||
|
$tids[] = $tid;
|
||||||
|
if ($cid) {
|
||||||
|
$relasetarr = ['cid' => $cid, 'tid' => $tid, 'appid' => $this->appid];
|
||||||
|
C::t('pichome_tagrelation')->insert($relasetarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($tids) {
|
||||||
|
//查询关系表中包含的不存在的标签关系
|
||||||
|
$drids = [];
|
||||||
|
foreach (DB::fetch_all("select id from %t where tid not in(%n) and appid = %s", array('pichome_tagrelation', $tids, $this->appid)) as $rv) {
|
||||||
|
$drids[] = $rv['id'];
|
||||||
|
}
|
||||||
|
//删除不存在的标签关系数据
|
||||||
|
C::t('pichome_tagrelation')->delete($drids);
|
||||||
|
}
|
||||||
|
$ocids = C::t('pichome_taggroup')->fetch_cid_by_appid($this->appid);
|
||||||
|
$delcids = array_diff($ocids, $currentcids);
|
||||||
|
C::t('pichome_taggroup')->delete_by_cids($delcids);
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('dateline' => $mtime));
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function initExport()
|
||||||
|
{
|
||||||
|
$filedir = $this->path . BS . 'images';
|
||||||
|
$readtxt = $this->readtxt . 'eagleexport' . md5($this->path) . '.txt';
|
||||||
|
$filenum = 0;
|
||||||
|
if (!is_file($readtxt) || filemtime($readtxt) < filemtime($this->path . BS . 'metadata.json')) {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('state' => 1));
|
||||||
|
if ($dch = opendir($filedir)) {
|
||||||
|
$thandle = fopen($readtxt, 'w+');
|
||||||
|
while (($file = readdir($dch)) != false) {
|
||||||
|
if ($file != '.' && $file != '..') {
|
||||||
|
$filePath = $filedir . '/' . $file;
|
||||||
|
if (is_dir($filePath) && is_file($filePath . '/metadata.json')) {
|
||||||
|
$filenum++;
|
||||||
|
fwrite($thandle, $file . "\n");
|
||||||
|
}
|
||||||
|
unset($filePath);
|
||||||
|
unset($file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($thandle);
|
||||||
|
closedir($dch);
|
||||||
|
if ($filenum) $this->filenum = $filenum;
|
||||||
|
} else {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('state' => -1));
|
||||||
|
return array('error' => 'Read Dir Failer');
|
||||||
|
}
|
||||||
|
$this->initFoldertag();
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取文件可访问的真实地址
|
||||||
|
public function getFileRealFileName($filepath, $filename, $ext)
|
||||||
|
{
|
||||||
|
$charsetarr = ['GBK', 'GB18030'];
|
||||||
|
$returnname = $filename;
|
||||||
|
if (!is_file($filepath . BS . $filename . '.' . $ext)) {
|
||||||
|
foreach ($charsetarr as $v) {
|
||||||
|
$filemetadataname = diconv($filename, CHARSET, $v);
|
||||||
|
if (is_file($filepath . BS . $filemetadataname . '.' . $ext)) {
|
||||||
|
$returnname = $filemetadataname;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $returnname;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//生成主键rid
|
||||||
|
public function createrid()
|
||||||
|
{
|
||||||
|
$microtime = microtime();
|
||||||
|
list($msec, $sec) = explode(' ', $microtime);
|
||||||
|
$msec = $msec * 1000000;
|
||||||
|
$idstr = md5($sec . $msec . random(6) . $this->appid);
|
||||||
|
if (DB::result_first("select count(rid) from %t where rid = %s", array('pichome_resources', $idstr))) {
|
||||||
|
$this->create_id();
|
||||||
|
}
|
||||||
|
return $idstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function execExport($force = false)
|
||||||
|
{
|
||||||
|
$filedir = $this->path . BS . 'images';
|
||||||
|
$readtxt = $this->readtxt . 'eagleexport' . md5($this->path) . '.txt';
|
||||||
|
if (filesize($readtxt) == 0) {
|
||||||
|
@unlink($readtxt);
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => 0, 'percent' => 100, 'donum' => 0, 'state' => 3, 'filenum' => $this->filenum));
|
||||||
|
return array('success' => true);
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($this->lastid) {
|
||||||
|
$start = $this->lastid;
|
||||||
|
} else $start = 0;
|
||||||
|
$spl_object = new SplFileObject($readtxt, 'rb');
|
||||||
|
$spl_object->seek($start);
|
||||||
|
if ($this->lastid < $this->filenum && $this->exportstatus == 2) {
|
||||||
|
$i = 0;
|
||||||
|
while (is_file($readtxt) && !$spl_object->eof()) {
|
||||||
|
$i++;
|
||||||
|
if ($i > $this->onceexportnum) {
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
$file = $spl_object->current();
|
||||||
|
$file = trim($file);
|
||||||
|
$filePath = $filedir . '/' . $file;
|
||||||
|
|
||||||
|
$id = trim(str_replace('.info', '', $file));
|
||||||
|
|
||||||
|
//文件路径
|
||||||
|
$tmppath = $filePath;
|
||||||
|
unset($filePath);
|
||||||
|
//文件信息文件路径
|
||||||
|
$metadatajsonfile = $tmppath . BS . 'metadata.json';
|
||||||
|
//尝试获取记录表记录
|
||||||
|
$rdata = C::t('#eagle#eagle_record')->fetch_by_eid($id,$this->appid);
|
||||||
|
$rid = '';
|
||||||
|
if (!isset($rdata['rid'])) {
|
||||||
|
$orid = $id . $this->appid;//原来rid格式
|
||||||
|
|
||||||
|
if ($lastdate = DB::result_first("select lastdate from %t where rid = %s", array('pichome_resources', $orid))) {
|
||||||
|
$rid = $orid;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$rid = $rdata['rid'];
|
||||||
|
$lastdate = $rdata['dateline'];
|
||||||
|
}
|
||||||
|
//判断是否含有数据信息文件
|
||||||
|
if (is_file($metadatajsonfile)) {
|
||||||
|
$flastdate = filemtime($metadatajsonfile);
|
||||||
|
|
||||||
|
$metadata = file_get_contents($metadatajsonfile);
|
||||||
|
$filemetadata = json_decode($metadata, true);
|
||||||
|
//如果是删除状态,并且已有数据则执行删除
|
||||||
|
if ($filemetadata['isDeleted']) {
|
||||||
|
if($rid)C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//如果不是新生成rid
|
||||||
|
if ($rid) {
|
||||||
|
$data = C::t('pichome_resources')->fetch($rid);
|
||||||
|
//判断最后更新时间
|
||||||
|
if ($force || $lastdate < $flastdate) {
|
||||||
|
$filemetadataname = $this->getFileRealFileName($tmppath, $filemetadata['name'], $filemetadata['ext']);
|
||||||
|
//文件名称
|
||||||
|
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
||||||
|
//缩略图名称
|
||||||
|
$thumbname = $filemetadataname . '_thumbnail.png';
|
||||||
|
//文件路径
|
||||||
|
$file = $tmppath . BS . $filename;
|
||||||
|
//缩略图路径
|
||||||
|
$thumbfile = $tmppath . BS . $thumbname;
|
||||||
|
$realfids = [];
|
||||||
|
if(!empty($filemetadata['folders'])){
|
||||||
|
$realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid);
|
||||||
|
}
|
||||||
|
$haspassword = false;
|
||||||
|
if(!empty($realfids)){
|
||||||
|
//如果目录含有密码则不导入数据直接跳过
|
||||||
|
$haspassword = C::t('pichome_folder')->check_haspasswrod($realfids, $this->appid);
|
||||||
|
}
|
||||||
|
if($haspassword){
|
||||||
|
C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//如果mtime发生变化则删除原数据,重新导入
|
||||||
|
if ($data['mtime'] < $filemetadata['mtime']) {
|
||||||
|
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 {
|
||||||
|
//信息表数据记录
|
||||||
|
$setarr = [];
|
||||||
|
$setarr['searchval'] = $filemetadata['name'];
|
||||||
|
//查询原数据中的属性信息
|
||||||
|
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
||||||
|
$filename = $filemetadata['name'] . '.' . $filemetadata['ext'];
|
||||||
|
//检查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)) {
|
||||||
|
$tagids = $this->addtag($tags);
|
||||||
|
$setarr['tag'] = implode(',', $tagids);
|
||||||
|
}
|
||||||
|
$addtags = array_diff($tagids, $oldtids);
|
||||||
|
$deltags = array_diff($oldtids, $tagids);
|
||||||
|
|
||||||
|
if (!empty($deltags)) C::t('pichome_resourcestag')->delete_by_ridtid($rid, $deltags);
|
||||||
|
foreach ($addtags as $tid) {
|
||||||
|
$rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid];
|
||||||
|
C::t('pichome_resourcestag')->insert($rtag);
|
||||||
|
}
|
||||||
|
|
||||||
|
//检查标注变化
|
||||||
|
if (isset($filemetadata['comments'])) {
|
||||||
|
$cids = [];
|
||||||
|
foreach ($filemetadata['comments'] as $commentval) {
|
||||||
|
$tcommentval['id'] = $commentval['id'] . $this->appid;
|
||||||
|
$tcommentval['appid'] = $this->appid;
|
||||||
|
$tcommentval['rid'] = $rid;
|
||||||
|
$tcommentval['x'] = number_format($commentval['x'], 2);
|
||||||
|
$tcommentval['y'] = number_format($commentval['y'], 2);
|
||||||
|
$tcommentval['width'] = $commentval['width'];
|
||||||
|
$tcommentval['height'] = $commentval['height'];
|
||||||
|
$tcommentval['annotation'] = $commentval['annotation'];
|
||||||
|
$tcommentval['lastModified'] = $commentval['lastModified'];
|
||||||
|
try {
|
||||||
|
C::t('pichome_comments')->insert($tcommentval);
|
||||||
|
$setarr['searchval'] .= $tcommentval['annotation'];
|
||||||
|
} catch (Exception $e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
$cids[] = $tcommentval['id'];
|
||||||
|
unset($tcommentval);
|
||||||
|
|
||||||
|
}
|
||||||
|
$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 = [];
|
||||||
|
$orfids = C::t('pichome_folderresources')->fetch_id_by_rid($rid);
|
||||||
|
C::t('pichome_folderresources')->delete($orfids);
|
||||||
|
$setarr['searchval'] .= $resourcesarr['name'];
|
||||||
|
|
||||||
|
|
||||||
|
//检查目录变化
|
||||||
|
foreach ($realfids as $fv) {
|
||||||
|
$fid =$fv;
|
||||||
|
if (!C::t('pichome_folder')->check_password_byfid($fid)) {
|
||||||
|
$frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(!$rdata){
|
||||||
|
$setarr = [
|
||||||
|
'appid'=>$this->appid,
|
||||||
|
'rid'=>$rid,
|
||||||
|
'eid'=>$id,
|
||||||
|
'dateline'=>$flastdate
|
||||||
|
];
|
||||||
|
C::t('#eagle#eagle_record')->insert($setarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$realfids = [];
|
||||||
|
if(!empty($filemetadata['folders'])){
|
||||||
|
$realfids = C::t('#eagle#eagle_folderrecord')->fetch_fid_by_efid($filemetadata['folders'],$this->appid);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($realfids)){
|
||||||
|
//如果目录含有密码则不导入数据直接跳过
|
||||||
|
$haspassword = C::t('pichome_folder')->check_haspasswrod($realfids, $this->appid);
|
||||||
|
}else{
|
||||||
|
$haspassword = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$haspassword) {
|
||||||
|
$filemetadataname = $this->getFileRealFileName($tmppath, $filemetadata['name'], $filemetadata['ext']);
|
||||||
|
|
||||||
|
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
||||||
|
$thumbname = $filemetadataname . '_thumbnail.png';
|
||||||
|
//echo $i.'middle:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
$file = $tmppath . BS . $filename;
|
||||||
|
$thumbfile = $tmppath . BS . $thumbname;
|
||||||
|
//$filemd5 = md5_file($file);
|
||||||
|
$filemetadata['filename'] = $filemetadata['name'];
|
||||||
|
$filemetadata['file'] = $file;
|
||||||
|
unset($file);
|
||||||
|
$filemetadata['thumbfile'] = $thumbfile;
|
||||||
|
$filemetadata['folders'] = $realfids;
|
||||||
|
unset($thumbfile);
|
||||||
|
$filemetadata['rid'] = $this->createrid();
|
||||||
|
$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 {
|
||||||
|
//如果已有数据删除,否则不做处理
|
||||||
|
if (!$rid) C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$this->donum += 1;
|
||||||
|
$percent = floor(($this->donum / $this->filenum) * 100);
|
||||||
|
//防止因获取文件总个数不准确百分比溢出
|
||||||
|
$percent = ($percent > 100) ? 100 : $percent;
|
||||||
|
$state = ($percent >= 100) ? 3 : 2;
|
||||||
|
if ($state == 3) {
|
||||||
|
$spl_object = false;
|
||||||
|
@unlink($this->readtxt . 'eagleexport' . md5($this->path) . '.txt');
|
||||||
|
$lastid = 0;
|
||||||
|
$percent = 0;
|
||||||
|
$this->donum = 0;
|
||||||
|
} else {
|
||||||
|
$lastid = $this->donum;
|
||||||
|
}
|
||||||
|
//记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $lastid, 'percent' => $percent, 'donum' => $this->donum, 'state' => $state, 'filenum' => $this->filenum));
|
||||||
|
if($spl_object) $spl_object->next();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//校验文件
|
||||||
|
public function execCheckFile()
|
||||||
|
{
|
||||||
|
if ($this->exportstatus == 3) {
|
||||||
|
$total = DB::result_first("select count(rid) from %t where appid = %s ", array('pichome_resources', $this->appid));
|
||||||
|
//校验文件
|
||||||
|
$this->check_file($total);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function check_file($total)
|
||||||
|
{
|
||||||
|
if ($this->lastid < 1) $this->lastid = 1;
|
||||||
|
$limitsql = ($this->lastid - 1) * $this->checklimit . ',' . $this->checklimit;
|
||||||
|
$delrids = [];
|
||||||
|
$data = DB::fetch_all("select rid,isdelete from %t where appid = %s order by lastdate asc limit $limitsql ", array('pichome_resources', $this->appid));
|
||||||
|
if (empty($data)) {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('percent' => 0, 'state' => 4, 'lastid' => 0, 'donum' => 0));
|
||||||
|
//校验完成后更新目录文件数
|
||||||
|
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']));
|
||||||
|
|
||||||
|
}
|
||||||
|
//修正eagle对照表数据
|
||||||
|
//DB::delete('eagle_record',array('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));
|
||||||
|
$nosubfilenum = $total - $hascatnum;
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('filenum' => $total, 'nosubfilenum' => $nosubfilenum));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
foreach ($data as $v) {
|
||||||
|
if ($v['isdelete']) {
|
||||||
|
$delrids[] = $v['rid'];
|
||||||
|
} else {
|
||||||
|
$id = C::t('#eagle#eagle_record')->fetch_eid_by_rid($v['rid'],$this->appid);
|
||||||
|
if(!$id){
|
||||||
|
//$id = str_replace($this->appid, '', $v['rid']);
|
||||||
|
$delrids[] = $v['rid'];
|
||||||
|
}else{
|
||||||
|
$filejson = $this->path . BS . 'images' . BS . $id . '.info' . BS . 'metadata.json';
|
||||||
|
if (!is_file($filejson)) {
|
||||||
|
$delrids[] = $v['rid'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!empty($delrids)) {
|
||||||
|
//如果有需要删除的,删除后,则重新查询上一页数据
|
||||||
|
C::t('pichome_resources')->delete_by_rid($delrids);
|
||||||
|
if ($this->lastid == 1) {
|
||||||
|
$percent = round(($this->checklimit / $total) * 100);
|
||||||
|
} else {
|
||||||
|
$percent = round((($this->lastid - 1) * $this->checklimit / $total) * 100);
|
||||||
|
}
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $this->lastid, 'percent' => $percent, 'state' => 3));
|
||||||
|
} else {
|
||||||
|
if ($this->lastid == 1) {
|
||||||
|
$percent = round(($this->checklimit / $total) * 100);
|
||||||
|
} else {
|
||||||
|
$percent = round((($this->lastid - 1) * $this->checklimit / $total) * 100);
|
||||||
|
}
|
||||||
|
$percent = ($percent > 100) ? 100 : $percent;
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $this->lastid + 1, 'percent' => $percent, 'state' => 3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function exportfile($id,$filemetadata)
|
||||||
|
{
|
||||||
|
$rid = $filemetadata['rid'];
|
||||||
|
if (!is_file($filemetadata['file'])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$filemetadata['file'] = str_replace('/', BS, $filemetadata['file']);
|
||||||
|
$attachment = str_replace('/', BS, $filemetadata['file']);
|
||||||
|
$path = str_replace($this->path . BS, '', $attachment);
|
||||||
|
unset($attachment);
|
||||||
|
$thumb = (is_file($filemetadata['thumbfile'])) ? 1 : 0;
|
||||||
|
//echo 'middle1:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
$type = getTypeByExt($filemetadata['ext']);
|
||||||
|
$resourcesarr = [
|
||||||
|
'rid' => $rid,
|
||||||
|
'uid' => $this->uid,
|
||||||
|
'username' => $this->username,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'width' => $filemetadata['width'] ? $filemetadata['width'] : 0,
|
||||||
|
'height' => $filemetadata['height'] ? $filemetadata['height'] : 0,
|
||||||
|
'name' => $filemetadata['filename'] . '.' . $filemetadata['ext'],
|
||||||
|
'ext' => $filemetadata['ext'],
|
||||||
|
'size' => $filemetadata['size'],
|
||||||
|
'dateline' => $filemetadata['dateline'],
|
||||||
|
'btime' => $filemetadata['btime'],
|
||||||
|
'mtime' => $filemetadata['mtime'],
|
||||||
|
'isdelete' => $filemetadata['isDeleted'],
|
||||||
|
'hasthumb' => $thumb,
|
||||||
|
'grade' => $filemetadata['star'] ? intval($filemetadata['star']) : 0,
|
||||||
|
'type' => $type,
|
||||||
|
'lastdate' => $filemetadata['lastdate']
|
||||||
|
];
|
||||||
|
unset($type);
|
||||||
|
//插入文件表数据
|
||||||
|
if (C::t('#eagle#eagle_record')->insert_data($id,$resourcesarr)) {
|
||||||
|
DB::delete('pichome_folderresources', array('rid' => $rid));
|
||||||
|
//获取属性表数据
|
||||||
|
$setarr = [];
|
||||||
|
$setarr['searchval'] = $resourcesarr['name'];
|
||||||
|
//$fids = [];
|
||||||
|
//插入目录关联表数据
|
||||||
|
foreach ($filemetadata['folders'] as $fv) {
|
||||||
|
$fid = $fv;
|
||||||
|
if (!C::t('pichome_folder')->check_password_byfid($fid)) {
|
||||||
|
$frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid];
|
||||||
|
C::t('pichome_folderresources')->insert($frsetarr);
|
||||||
|
//$fids[] = $fid;
|
||||||
|
unset($frsetarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* if(!empty($fids)){
|
||||||
|
foreach(DB::fetch_all("select fname from %t where fid in(%n)",array('pichome_folder',$fids)) as $foldername){
|
||||||
|
$setarr['searchval'] .= $foldername['fname'];
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//标签数据
|
||||||
|
$tags = $filemetadata['tags'];
|
||||||
|
$setarr['searchval'] .= implode('', $tags);
|
||||||
|
if (!empty($tags)) {
|
||||||
|
$tagids = $this->addtag($tags);
|
||||||
|
unset($tags);
|
||||||
|
foreach ($tagids as $tid) {
|
||||||
|
$rtag = ['appid' => $this->appid, 'rid' => $rid, 'tid' => $tid];
|
||||||
|
C::t('pichome_resourcestag')->insert($rtag);
|
||||||
|
}
|
||||||
|
$setarr['tag'] = implode(',', $tagids);
|
||||||
|
unset($tagids);
|
||||||
|
}
|
||||||
|
//颜色数据
|
||||||
|
if (isset($filemetadata['palettes'])) {
|
||||||
|
$returndata = $this->getColor($filemetadata['palettes'], $resourcesarr['width'], $resourcesarr['height'], $rid);
|
||||||
|
$setarr['colors'] = $returndata['colors'];
|
||||||
|
$setarr['gray'] = $returndata['gray'];
|
||||||
|
$setarr['shape'] = $returndata['shape'];
|
||||||
|
unset($returndata);
|
||||||
|
}
|
||||||
|
//标注数据
|
||||||
|
if (isset($filemetadata['comments'])) {
|
||||||
|
foreach ($filemetadata['comments'] as $commentval) {
|
||||||
|
$tcommentval['id'] = $commentval['id'] . $this->appid;
|
||||||
|
$tcommentval['appid'] = $this->appid;
|
||||||
|
$tcommentval['rid'] = $rid;
|
||||||
|
$tcommentval['x'] = number_format($commentval['x'], 2);
|
||||||
|
$tcommentval['y'] = number_format($commentval['y'], 2);
|
||||||
|
$tcommentval['width'] = $commentval['width'];
|
||||||
|
$tcommentval['height'] = $commentval['height'];
|
||||||
|
$tcommentval['annotation'] = $commentval['annotation'];
|
||||||
|
$tcommentval['lastModified'] = $commentval['lastModified'];
|
||||||
|
C::t('pichome_comments')->insert($tcommentval);
|
||||||
|
$setarr['searchval'] .= $commentval['annotation'];
|
||||||
|
unset($tcommentval);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//时长
|
||||||
|
if ($filemetadata['duration']) $setarr['duration'] = number_format($filemetadata['duration'], 2);
|
||||||
|
//链接数据
|
||||||
|
$setarr['link'] = $filemetadata['url'] ? trim($filemetadata['url']) : '';
|
||||||
|
//描述数据
|
||||||
|
$setarr['desc'] = $filemetadata['annotation'] ? $filemetadata['annotation'] : '';
|
||||||
|
$setarr['searchval'] .= $setarr['desc'] . $setarr['link'];
|
||||||
|
$setarr['rid'] = $rid;
|
||||||
|
$setarr['appid'] = $this->appid;
|
||||||
|
$setarr['path'] = $path;
|
||||||
|
//echo '属性插入前缓存:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
//插入数据
|
||||||
|
C::t('pichome_resources_attr')->insert($setarr);
|
||||||
|
//echo '属性插入后缓存:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
} else {
|
||||||
|
runlog('eagleexport', $rid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断图片纯色
|
||||||
|
public function isgray($colors)
|
||||||
|
{
|
||||||
|
$i = 0;
|
||||||
|
if (count($colors) < 1) return 0;
|
||||||
|
foreach ($colors as $color) {
|
||||||
|
$color = new Color($color);
|
||||||
|
$rgb = $color->toRGB();
|
||||||
|
unset($color);
|
||||||
|
if (abs($rgb[0] - $rgb[1]) < 10 && abs($rgb[2] - $rgb[1]) < 10) {
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
unset($rgb);
|
||||||
|
}
|
||||||
|
if ($i == count($colors)) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取颜色数据
|
||||||
|
public function getColor($colors, $width, $height, $rid)
|
||||||
|
{
|
||||||
|
//echo '颜色处理前:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
$intcolorsarr = $returndata = [];
|
||||||
|
$i = 1;
|
||||||
|
foreach ($colors as $c) {
|
||||||
|
$color = new \Color($c['color']);
|
||||||
|
//获取颜色整型值
|
||||||
|
$intcolor = $color->toInt();
|
||||||
|
$palattedataarr = ['rid' => $rid, 'color' => $intcolor, 'weight' => $c['ratio'], 'r' => $c['color'][0], 'g' => $c['color'][1], 'b' => $c['color'][2]];
|
||||||
|
$intcolorsarr[] = $intcolor;
|
||||||
|
//echo "颜色处理中前 $i :".memory_get_usage()/1024 . '<br>';
|
||||||
|
C::t('pichome_palette')->insert($palattedataarr);
|
||||||
|
//echo "颜色处理中后 $i :".memory_get_usage()/1024 . '<br>';
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
unset($colors);
|
||||||
|
//颜色整型值数据
|
||||||
|
// $intcolorsarr= array_keys($palattedataarr);
|
||||||
|
$returndata['colors'] = implode(',', $intcolorsarr);
|
||||||
|
$returndata['gray'] = $this->isgray($intcolorsarr);
|
||||||
|
$returndata['shape'] = round(($width / $height) * 100);
|
||||||
|
unset($intcolorsarr);
|
||||||
|
//echo '颜色处理后缓存:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
return $returndata;
|
||||||
|
}
|
||||||
|
|
||||||
|
//添加标签
|
||||||
|
public function addtag($tags)
|
||||||
|
{
|
||||||
|
$tagids = [];
|
||||||
|
foreach ($tags as $v) {
|
||||||
|
if (!preg_match('/^\s*$/', $v)) {
|
||||||
|
if ($tid = C::t('pichome_tag')->insert($v)) {
|
||||||
|
$tagids[] = $tid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
unset($tags);
|
||||||
|
return $tagids;
|
||||||
|
}
|
||||||
|
}
|
||||||
101
dzz/eagle/class/table/table_eagle_folderrecord.php
Normal file
101
dzz/eagle/class/table/table_eagle_folderrecord.php
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
<?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_eagle_folderrecord extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'eagle_folderrecord';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createfidby_efidappid($efid,$appid){
|
||||||
|
//如果没有记录值
|
||||||
|
if (!$fid = DB::result_first("select fid from %t where efid = %s and appid = %s", array($this->_table, $efid,$appid))){
|
||||||
|
//检查是否有旧版数据记录值
|
||||||
|
$fid = $efid.$appid;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
$setarr = [
|
||||||
|
'appid'=>$appid,
|
||||||
|
'efid'=>$efid,
|
||||||
|
'fid'=>$fid
|
||||||
|
];
|
||||||
|
parent::insert($setarr);
|
||||||
|
}
|
||||||
|
return $fid;
|
||||||
|
}
|
||||||
|
public function insert_folderdata_by_appid($appid,$folderdata,$pfid='',$pathkey='',$fids=[])
|
||||||
|
{
|
||||||
|
foreach ($folderdata as $k => $v) {
|
||||||
|
$id = $v['id'];
|
||||||
|
//获取或生成记录fid值
|
||||||
|
$fid = $this->createfidby_efidappid($id,$appid);
|
||||||
|
$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);
|
||||||
|
$fids[] = $id;
|
||||||
|
if($v['children']){
|
||||||
|
$fids = $this->insert_folderdata_by_appid($appid,$v['children'],$fid,($pathkey)?$pathkey.$fid:$fid,$fids);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return $fids;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function delete_by_fid($fids,$appid){
|
||||||
|
if(!is_array($fids)) $fids = (array)$fids;
|
||||||
|
$delfid = $delid = [];
|
||||||
|
foreach(DB::fetch_all("select fid,id from %t where fid in(%n) and appid = %s",array($this->_table,$fids,$appid)) as $v){
|
||||||
|
$delfid[] = $v['fid'];
|
||||||
|
$delid[] = $v['id'];
|
||||||
|
}
|
||||||
|
if(!empty($delfid))C::t('pichome_folder')->delete_by_fids($delfid);
|
||||||
|
parent::delete($delid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_by_ids($ids){
|
||||||
|
if(!array($ids)) $ids = (array)$ids;
|
||||||
|
$fids = [];
|
||||||
|
foreach(DB::fetch_all("select fid from %t where id in(%n)",array($this->_table,$ids)) as $v){
|
||||||
|
$fids[] = $v['fid'];
|
||||||
|
}
|
||||||
|
if(!empty($fids))C::t('pichome_folder')->delete_by_fids($fids);
|
||||||
|
parent::delete($ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_by_appid($appid){
|
||||||
|
DB::delete($this->_table,array('appid'=>$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_fid_by_efid($efids,$appid){
|
||||||
|
$fids = [];
|
||||||
|
foreach(DB::fetch_all("select fid from %t where efid in(%n) and appid = %s",array($this->_table,$efids,$appid)) as $v){
|
||||||
|
$fids[] = $v['fid'];
|
||||||
|
}
|
||||||
|
return $fids;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
54
dzz/eagle/class/table/table_eagle_record.php
Normal file
54
dzz/eagle/class/table/table_eagle_record.php
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?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_eagle_record extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'eagle_record';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert_data($eid,$setarr){
|
||||||
|
if(C::t('pichome_resources')->insert($setarr)){
|
||||||
|
$setarr1['rid'] = $setarr['rid'];
|
||||||
|
$setarr1['appid'] = $setarr['appid'];
|
||||||
|
$setarr1['eid'] = $eid;
|
||||||
|
$setarr1['dateline']=$setarr['lastdate'];
|
||||||
|
$id = DB::result_first("select id from %t where eid = %s and appid = %s",array($this->_table,$eid,$setarr['appid']));
|
||||||
|
if($id){
|
||||||
|
parent::update($id,$setarr1);
|
||||||
|
}else{
|
||||||
|
parent::insert($setarr1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
public function delete_by_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).')');
|
||||||
|
}
|
||||||
|
public function fetch_by_eid($eid,$appid){
|
||||||
|
return DB::fetch_first("select * from %t where eid = %s and appid = %s",array($this->_table,$eid,$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_eid_by_rid($rid,$appid){
|
||||||
|
return DB::result_first("select eid from %t where rid = %s",array($this->_table,$rid,$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
20
dzz/eagle/classes/deleteafter.php
Normal file
20
dzz/eagle/classes/deleteafter.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\eagle\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
|
||||||
|
|
||||||
|
class deleteafter
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($data)
|
||||||
|
{
|
||||||
|
C::t('#eagle#eagle_record')->delete_by_rids($data['rids']);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
18
dzz/eagle/classes/delpichomefolderafter.php
Normal file
18
dzz/eagle/classes/delpichomefolderafter.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\eagle\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class delpichomefolderafter
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($data)
|
||||||
|
{
|
||||||
|
C::t("#eagle#eagle_folderrecord")->delete_by_appid($data['appid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
48
dzz/eagle/classes/getpichomethumb.php
Normal file
48
dzz/eagle/classes/getpichomethumb.php
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\eagle\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
|
||||||
|
class getpichomethumb
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run(&$data)
|
||||||
|
{
|
||||||
|
/*$thumbid = DB::result_first("select thumb from %t where appid = %s and rid = %s", array('billfish_record', $data['appid'], $data['rid']));
|
||||||
|
if(isset($data['version']) && $data['version'] > 16){
|
||||||
|
$bid = DB::result_first("select bid from %t where rid = %s",array('billfish_record',$data['rid']));
|
||||||
|
$thumbdir = dechex($bid);
|
||||||
|
$thumbdir = (string) $thumbdir;
|
||||||
|
if(strlen($thumbdir) < 2){
|
||||||
|
$thumbdir =str_pad($thumbdir,2,0,STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
$pathdir = $data['apppath'].BS.'.bf'.BS.'.preview'.BS.$thumbdir.BS.$bid.'.small.webp';
|
||||||
|
return array('icon'=>$pathdir);
|
||||||
|
}else{
|
||||||
|
if (strlen($thumbid) < 9) {
|
||||||
|
$thumbid = str_pad($thumbid,9,0,STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
$pathdir = $data['apppath'].BS.'.bf'.BS.'.preview';
|
||||||
|
$thumbpatharr = $this->mbStrSplit($thumbid,3);
|
||||||
|
array_pop($thumbpatharr);
|
||||||
|
$thumbpath = implode(BS,$thumbpatharr);
|
||||||
|
return array('icon'=>$pathdir.BS.$thumbpath.BS.$thumbid.'.webp');
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* function mbStrSplit ($string, $len=1) {
|
||||||
|
$start = 0;
|
||||||
|
$strlen = mb_strlen($string);
|
||||||
|
while ($strlen) {
|
||||||
|
$array[] = mb_substr($string,$start,$len,"utf8");
|
||||||
|
$string = mb_substr($string, $len, $strlen,"utf8");
|
||||||
|
$strlen = mb_strlen($string);
|
||||||
|
}
|
||||||
|
return $array;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
24
dzz/eagle/classes/pichomevappdelete.php
Normal file
24
dzz/eagle/classes/pichomevappdelete.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\eagle\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class pichomevappdelete
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($data)
|
||||||
|
{
|
||||||
|
if($data['apptype'] == 0){
|
||||||
|
C::t("#eagle#eagle_record")->delete_by_appid($data['appid']);
|
||||||
|
C::t("#eagle#eagle_folderrecord")->delete_by_appid($data['appid']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -43,6 +43,14 @@ class info
|
|||||||
if (isset($info['duration'])) C::t('pichome_resources_attr')->update($data['rid'], array('duration' => $info['duration']));
|
if (isset($info['duration'])) C::t('pichome_resources_attr')->update($data['rid'], array('duration' => $info['duration']));
|
||||||
if (isset($info['width'])) C::t('pichome_resources')->update($data['rid'], array('width' => $info['width'], 'height' => $info['height']));
|
if (isset($info['width'])) C::t('pichome_resources')->update($data['rid'], array('width' => $info['width'], 'height' => $info['height']));
|
||||||
C::t('pichome_ffmpeg_record')->update($data['rid'],array('infostatus'=>1));
|
C::t('pichome_ffmpeg_record')->update($data['rid'],array('infostatus'=>1));
|
||||||
|
$fdata = C::t('pichome_ffmpeg_record')->fetch($data['rid']);
|
||||||
|
if($fdata['thumbstatus'] == 1 && $fdata['infostatus'] == 1){
|
||||||
|
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$data['rid']))) {
|
||||||
|
C::t('pichome_resources_attr')->update($data['rid'],array('isget'=>1));
|
||||||
|
C::t('pichome_vapp')->add_getinfonum_by_appid($data['appid'], 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
|||||||
@@ -56,6 +56,13 @@ class thumb
|
|||||||
C::t('pichome_resources')->update($data['rid'],$resourcesarr);
|
C::t('pichome_resources')->update($data['rid'],$resourcesarr);
|
||||||
C::t('pichome_resources')->update($data['rid'], array('hasthumb' => 1));
|
C::t('pichome_resources')->update($data['rid'], array('hasthumb' => 1));
|
||||||
C::t('pichome_ffmpeg_record')->update($data['rid'], array('thumbstatus' => 1,'thumb'=>$target));
|
C::t('pichome_ffmpeg_record')->update($data['rid'], array('thumbstatus' => 1,'thumb'=>$target));
|
||||||
|
$fdata = C::t('pichome_ffmpeg_record')->fetch($data['rid']);
|
||||||
|
if($fdata['thumbstatus'] == 1 && $fdata['infostatus'] == 1){
|
||||||
|
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$data['rid']))) {
|
||||||
|
C::t('pichome_resources_attr')->update($data['rid'],array('isget'=>1));
|
||||||
|
C::t('pichome_vapp')->add_getinfonum_by_appid($data['appid'], 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,66 +6,77 @@ 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)){
|
||||||
exit('success');
|
exit('success');
|
||||||
}
|
}
|
||||||
$locked = true;
|
$locked = true;
|
||||||
for($i=0;$i<1;$i++){
|
/*for($i=0;$i<1;$i++){
|
||||||
$processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i;
|
$processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i;
|
||||||
if (!dzz_process::islocked($processname, 60*60)) {
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
$locked=false;
|
$locked=false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
$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){
|
|
||||||
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>1));
|
if(empty($data)){
|
||||||
|
C::t('pichome_ffmpeg_record')->delete($v['rid']);
|
||||||
dzz_process::unlock($processname1);
|
dzz_process::unlock($processname1);
|
||||||
continue;
|
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);
|
||||||
}
|
}
|
||||||
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, '', 0.1);
|
|
||||||
}
|
|
||||||
exit('success');
|
exit('success');
|
||||||
@@ -12,66 +12,74 @@ 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)){
|
||||||
exit('success');
|
exit('success');
|
||||||
}
|
}
|
||||||
$locked = true;
|
$locked = true;
|
||||||
for($i=0;$i<1;$i++){
|
/*for($i=0;$i<1;$i++){
|
||||||
$processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i;
|
$processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i;
|
||||||
if (!dzz_process::islocked($processname, 60*60)) {
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
$locked=false;
|
$locked=false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
$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;
|
||||||
|
foreach($datas as $v){
|
||||||
|
$processname1 = 'PICHOMEGETVIDOTHUMB_'.$v['rid'];
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取
|
||||||
|
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);
|
||||||
|
|
||||||
$thumb =new thumb;
|
}
|
||||||
foreach(DB::fetch_all("select * from %t where thumbstatus = 0 and appid in(%n)
|
|
||||||
order by thumbdonum asc limit $start,$limit",array('pichome_ffmpeg_record',$appids)) as $v){
|
|
||||||
$processname1 = 'PICHOMEGETVIDOTHUMB_'.$v['rid'];
|
|
||||||
if (dzz_process::islocked($processname1, 60*5)) {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
$data = C::t('pichome_resources')->fetch_data_by_rid($v['rid']);
|
dzz_process::unlock($processname);
|
||||||
if(empty($data)){
|
if(DB::result_first("select * from %t where thumbstatus = 0 and appid in(%n)",array('pichome_ffmpeg_record',$appids))){
|
||||||
C::t('pichome_ffmpeg_record')->delete($v['rid']);
|
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=thumb', 0, '', '', false, '', 5*60);
|
||||||
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;
|
|
||||||
}
|
|
||||||
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取
|
|
||||||
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){
|
|
||||||
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>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($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, '', 0.1);
|
|
||||||
}
|
|
||||||
exit('success');
|
exit('success');
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ class getColor
|
|||||||
$palette = new ImagePalette($img, 1, 10, $lib, $this->palette);
|
$palette = new ImagePalette($img, 1, 10, $lib, $this->palette);
|
||||||
$palettes = $palette->palette;
|
$palettes = $palette->palette;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
$processname1 = 'PICHOMEGETCOLOR_'.$data['rid'];
|
||||||
|
\dzz_process::unlock($processname1);
|
||||||
runlog('imageColor', $e->getMessage() . ' img=' . $img);
|
runlog('imageColor', $e->getMessage() . ' img=' . $img);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +89,7 @@ class getColor
|
|||||||
foreach ($palettes as $k => $v) {
|
foreach ($palettes as $k => $v) {
|
||||||
$color = new \Color($k);
|
$color = new \Color($k);
|
||||||
$rgbcolor = $color->toRgb();
|
$rgbcolor = $color->toRgb();
|
||||||
$data = [
|
$tdata = [
|
||||||
'rid' => $data['rid'],
|
'rid' => $data['rid'],
|
||||||
'color' => $k,
|
'color' => $k,
|
||||||
'r' => $rgbcolor[0],
|
'r' => $rgbcolor[0],
|
||||||
@@ -95,9 +97,12 @@ class getColor
|
|||||||
'b' => $rgbcolor[2],
|
'b' => $rgbcolor[2],
|
||||||
'weight' => $v
|
'weight' => $v
|
||||||
];
|
];
|
||||||
C::t('pichome_palette')->insert($data);
|
C::t('pichome_palette')->insert($tdata);
|
||||||
C::t('pichome_imagickrecord')->update($data['rid'], array('colorstatus' => 1));
|
C::t('pichome_imagickrecord')->update($data['rid'], array('colorstatus' => 1));
|
||||||
C::t('pichome_resources_attr')->update($data['rid'], array('isget' => 1));
|
if(!DB::result_first("select isget from %t where rid = %s",array('pichome_resources_attr',$data['rid']))) {
|
||||||
|
C::t('pichome_resources_attr')->update($data['rid'],array('isget'=>1));
|
||||||
|
C::t('pichome_vapp')->add_getinfonum_by_appid($data['appid'], 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -144,24 +149,34 @@ class getColor
|
|||||||
$im->setResolution($width, $height); //设置图像分辨率
|
$im->setResolution($width, $height); //设置图像分辨率
|
||||||
$im->setCompressionQuality(80); //压缩比
|
$im->setCompressionQuality(80); //压缩比
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$im->readImage($data['realpath'] . '[0]'); //设置读取pdf的第一页
|
$im->readImage($data['realpath'] . '[0]'); //设置读取pdf的第一页
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
runlog('pdfthumb', iconv("gbk", 'utf-8', $e->getMessage()));
|
runlog('pdfthumb', iconv("gbk", 'utf-8', $e->getMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
//$im->thumbnailImage(200, 100, true); // 改变图像的大小
|
//$im->thumbnailImage(200, 100, true); // 改变图像的大小
|
||||||
$im->scaleImage($width, $height, true); //缩放大小图像
|
//缩放大小图像
|
||||||
|
try {
|
||||||
|
$im->scaleImage($width, $height, true);
|
||||||
|
}catch (\Exception $e){
|
||||||
|
runlog('pdfthumb', iconv("gbk", 'utf-8', $e->getMessage()));
|
||||||
|
}
|
||||||
$filename = getglobal('setting/attachdir') . './' . $target;
|
$filename = getglobal('setting/attachdir') . './' . $target;
|
||||||
|
try {
|
||||||
|
if ($im->writeImage($filename) == true) {
|
||||||
|
$imginfo = @getimagesize($filename);
|
||||||
|
$resourcesarr = [
|
||||||
|
'width' => $imginfo[0] ? $imginfo[0]:0,
|
||||||
|
'height' =>$imginfo[1] ? $imginfo[1]:0
|
||||||
|
];
|
||||||
|
C::t('pichome_resources')->update($data['rid'],$resourcesarr);
|
||||||
|
C::t('pichome_imagickrecord')->update($data['rid'], array('thumbstatus' => 1,'colorstatus'=>1,'path'=>$filename));
|
||||||
|
C::t('pichome_resources')->update($data['rid'], array('hasthumb' => 1));
|
||||||
|
}
|
||||||
|
|
||||||
if ($im->writeImage($filename) == true) {
|
}catch (\Exception $e){
|
||||||
$imginfo = @getimagesize($filename);
|
runlog('pdfthumb', iconv("gbk", 'utf-8', $e->getMessage()));
|
||||||
$resourcesarr = [
|
|
||||||
'width' => $imginfo[0] ? $imginfo[0]:0,
|
|
||||||
'height' =>$imginfo[1] ? $imginfo[1]:0
|
|
||||||
];
|
|
||||||
C::t('pichome_resources')->update($data['rid'],$resourcesarr);
|
|
||||||
C::t('pichome_imagickrecord')->update($data['rid'], array('thumbstatus' => 1,'colorstatus'=>1,'path'=>$filename));
|
|
||||||
C::t('pichome_resources')->update($data['rid'], array('hasthumb' => 1));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,81 +6,93 @@ 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)){
|
||||||
exit('success');
|
exit('success');
|
||||||
}
|
}
|
||||||
$locked = true;
|
$locked = true;
|
||||||
for($i=0;$i<1;$i++){
|
/*for($i=0;$i<1;$i++){
|
||||||
$processname = 'DZZ_LOCK_PICHOMEGETCOLOR'.$i;
|
$processname = 'DZZ_LOCK_PICHOMEGETCOLOR'.$i;
|
||||||
if (!dzz_process::islocked($processname, 60*60)) {
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
$locked=false;
|
$locked=false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
$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);
|
||||||
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){
|
|
||||||
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>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, '', 0.1);
|
|
||||||
}
|
|
||||||
exit('success'.$i);
|
exit('success'.$i);
|
||||||
@@ -6,81 +6,144 @@
|
|||||||
* @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');
|
||||||
|
}
|
||||||
|
global $_G;
|
||||||
|
$path = isset($_GET['path']) ? trim($_GET['path']):'';
|
||||||
|
if(!$path = dzzdecode($path,'',0)){
|
||||||
|
@header('HTTP/1.1 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;
|
||||||
|
$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 ($resourcesdata['hasthumb']) {
|
||||||
|
//如果是本地文件
|
||||||
|
if ($appdata['type'] == 1) {
|
||||||
|
$filename = 'pichomethumb' . BS . $resourcesdata['appid'] . BS . md5($resourcesdata['path']) . '.jpg';
|
||||||
|
$thumbpath = getglobal('setting/attachurl') . $filename;
|
||||||
|
} elseif ($resourcesdata['apptype'] == 0) {
|
||||||
|
$resourcesdata['path'] = str_replace('\\', '/', $resourcesdata['path']);
|
||||||
|
$filepath = dirname($resourcesdata['path']);
|
||||||
|
$filename = substr($resourcesdata['path'], strrpos($resourcesdata['path'], '/') + 1);
|
||||||
|
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
||||||
|
$filepath = str_replace('/', BS, $filepath);
|
||||||
|
$tmppath = $appdata['path'];
|
||||||
|
$thumbpath = $tmppath . BS . $filepath . BS . $filename . '_thumbnail.png';
|
||||||
|
} else {
|
||||||
|
$hookdata = ['rid' => $resourcesdata['rid'], 'apppath' => $appdata['path'], 'appid' => $resourcesdata['appid'], 'version' => $appdata['version']];
|
||||||
|
$return = Hook::listen('getpichomethumb', $hookdata);
|
||||||
|
$thumbpath = str_replace(DZZ_ROOT, '', $return[0]['icon']);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if ($resourcesdata['type'] == 'commonimage') {
|
||||||
|
$thumbpath = $appdata['path'] . BS . $resourcesdata['path'];
|
||||||
|
} else {
|
||||||
|
$thumbpath = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !$path = dzzdecode(rawurldecode( $_GET[ 'path' ] ),'',0 ) ) {
|
$url = $thumbpath;
|
||||||
@header( 'HTTP/1.1 404 Not Found' );
|
$filename = rtrim($_GET['n'], '.dzz');
|
||||||
@header( 'Status: 404 Not Found' );
|
$ext = strtolower(substr(strrchr($filename, '.'), 1, 10));
|
||||||
exit( 'Access Denied' );
|
if (!$ext) $ext = strtolower(substr(strrchr(preg_replace("/\.dzz$/i", '', preg_replace("/\?.*/i", '', $url)), '.'), 1, 10));
|
||||||
}
|
$mime = dzz_mime::get_type($ext);
|
||||||
|
if (is_file($url)) {
|
||||||
$url = $path;
|
|
||||||
$filename = rtrim( $_GET[ 'n' ], '.dzz' );
|
|
||||||
$ext = strtolower( substr( strrchr( $filename, '.' ), 1, 10 ) );
|
|
||||||
if ( !$ext )$ext = strtolower( substr( strrchr( preg_replace( "/\.dzz$/i", '', preg_replace( "/\?.*/i", '', $url ) ), '.' ), 1, 10 ) );
|
|
||||||
$mime = dzz_mime::get_type( $ext );
|
|
||||||
if ( is_file( $url ) ) {
|
|
||||||
$filename = $url;
|
$filename = $url;
|
||||||
$start = 0;
|
$start = 0;
|
||||||
$total = filesize( $filename );
|
$total = filesize($filename);
|
||||||
header("Cache-Control: private, max-age=2592000, pre-check=2592000");
|
header("Cache-Control: private, max-age=2592000, pre-check=2592000");
|
||||||
header("Pragma: private");
|
header("Pragma: private");
|
||||||
header("Expires: ".date(DATE_RFC822,strtotime(" 30 day")));
|
header("Expires: " . date(DATE_RFC822, strtotime(" 30 day")));
|
||||||
header('Last-Modified: '.gmdate('D, d M Y H:i:s',filemtime($filename)).' GMT');
|
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT');
|
||||||
if ( isset( $_SERVER[ 'HTTP_RANGE' ] ) ) {
|
if (isset($_SERVER['HTTP_RANGE'])) {
|
||||||
$range = str_replace( '=', '-', $_SERVER[ 'HTTP_RANGE' ] );
|
$range = str_replace('=', '-', $_SERVER['HTTP_RANGE']);
|
||||||
$range = explode( '-', $range );
|
$range = explode('-', $range);
|
||||||
if ( isset( $range[ 2 ] ) && intval( $range[ 2 ] ) > 0 ) {
|
if (isset($range[2]) && intval($range[2]) > 0) {
|
||||||
$end = trim( $range[ 2 ] );
|
$end = trim($range[2]);
|
||||||
} else {
|
} else {
|
||||||
$end = $total - 1;
|
$end = $total - 1;
|
||||||
}
|
}
|
||||||
$start = trim( $range[ 1 ] );
|
$start = trim($range[1]);
|
||||||
$size = $end - $start + 1;
|
$size = $end - $start + 1;
|
||||||
|
|
||||||
header( 'HTTP/1.1 206 Partial Content' );
|
header('HTTP/1.1 206 Partial Content');
|
||||||
header( 'Content-Length:' . $size );
|
header('Content-Length:' . $size);
|
||||||
header( 'Content-Range: bytes ' . $start . '-' . $end . '/' . $total );
|
header('Content-Range: bytes ' . $start . '-' . $end . '/' . $total);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$size = $end = $total;
|
$size = $end = $total;
|
||||||
|
|
||||||
header( 'HTTP/1.1 200 OK' );
|
header('HTTP/1.1 200 OK');
|
||||||
header( 'Content-Length:' . $size );
|
header('Content-Length:' . $size);
|
||||||
header( 'Content-Range: bytes 0-' . ( $total - 1 ) . '/' . $total );
|
header('Content-Range: bytes 0-' . ($total - 1) . '/' . $total);
|
||||||
}
|
}
|
||||||
header( 'Accenpt-Ranges: bytes' );
|
header('Accenpt-Ranges: bytes');
|
||||||
header( 'Content-Type:' . $mime );
|
header('Content-Type:' . $mime);
|
||||||
$fp = fopen( $filename, 'rb' );
|
$fp = fopen($filename, 'rb');
|
||||||
fseek( $fp, $start, 0 );
|
fseek($fp, $start, 0);
|
||||||
|
|
||||||
$cur = $start;
|
$cur = $start;
|
||||||
@ob_end_clean();
|
@ob_end_clean();
|
||||||
if ( getglobal( 'gzipcompress' ) )@ob_start( 'ob_gzhandler' );
|
if (getglobal('gzipcompress')) @ob_start('ob_gzhandler');
|
||||||
while ( !feof( $fp ) && $cur <= $end && ( connection_status() == 0 ) ) {
|
while (!feof($fp) && $cur <= $end && (connection_status() == 0)) {
|
||||||
print fread( $fp, min( 1024 * 16, ( $end - $cur ) + 1 ) );
|
print fread($fp, min(1024 * 16, ($end - $cur) + 1));
|
||||||
$cur += 1024 * 16;
|
$cur += 1024 * 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose( $fp );
|
fclose($fp);
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
//$cachefile=$_G['siteurl']['attachdir'].'cache/'.play_cache_md5(file).'.'.$ext;
|
//$cachefile=$_G['siteurl']['attachdir'].'cache/'.play_cache_md5(file).'.'.$ext;
|
||||||
//$meta=IO::getMeta($path);
|
//$meta=IO::getMeta($path);
|
||||||
//$size=$meta['size'];
|
//$size=$meta['size'];
|
||||||
|
|
||||||
header("Cache-Control: private, max-age=2592000, pre-check=2592000");
|
header("Cache-Control: private, max-age=2592000, pre-check=2592000");
|
||||||
header("Pragma: private");
|
header("Pragma: private");
|
||||||
header("Expires: ".date(DATE_RFC822,strtotime(" 30 day")));
|
header("Expires: " . date(DATE_RFC822, strtotime(" 30 day")));
|
||||||
header('Last-Modified: '.gmdate('D, d M Y H:i:s',filemtime($url)).' GMT');
|
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($url)) . ' GMT');
|
||||||
header( 'Content-Type: ' . $mime );
|
header('Content-Type: ' . $mime);
|
||||||
//header('Content-Length:'.$size);
|
//header('Content-Length:'.$size);
|
||||||
//header('Content-Range: bytes 0-'.($size-1).'/'.$size);
|
//header('Content-Range: bytes 0-'.($size-1).'/'.$size);
|
||||||
@ob_end_clean();
|
@ob_end_clean();
|
||||||
if ( getglobal( 'gzipcompress' ) )@ob_start( 'ob_gzhandler' );
|
if (getglobal('gzipcompress')) @ob_start('ob_gzhandler');
|
||||||
@readfile( $url );
|
@readfile($url);
|
||||||
@flush();
|
@flush();
|
||||||
@ob_flush();
|
@ob_flush();
|
||||||
exit();
|
exit();
|
||||||
|
|||||||
504
dzz/local/class/class_localexport.php
Normal file
504
dzz/local/class/class_localexport.php
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@set_time_limit(0);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
require_once(DZZ_ROOT . './dzz/class/class_encode.php');
|
||||||
|
require_once libfile('function/user', '', 'user');
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \IO as IO;
|
||||||
|
use \ImagePalette as ImagePalette;
|
||||||
|
use \Color as Color;
|
||||||
|
|
||||||
|
class localexport
|
||||||
|
{
|
||||||
|
public $palette = array(
|
||||||
|
0x111111, 0xFFFFFF, 0x9E9E9E, 0xA48057, 0xFC85B3, 0xFF2727, 0xFFA34B, 0xFFD534, 0x47C595, 0x51C4C4, 0x2B76E7, 0x6D50ED
|
||||||
|
);
|
||||||
|
private $path = '';//待执行数据path
|
||||||
|
private $appid = 0;//库id
|
||||||
|
private $uid = 0;//用户id
|
||||||
|
private $username = null;//用户名
|
||||||
|
private $filenum = 0;//总文件数
|
||||||
|
private $getinfosizelimit = 100;//限制获取信心文件大小,单位M
|
||||||
|
private $checklimit = 1000;
|
||||||
|
private $onceexportnum = 1000;
|
||||||
|
private $oncegetinfonum = 10000;
|
||||||
|
private $getinfonum = 0;
|
||||||
|
private $readtxt = DZZ_ROOT . './data/attachment/cache/';
|
||||||
|
private $exportstatus = 0;
|
||||||
|
private $donum = 0;
|
||||||
|
private $lastid = '';
|
||||||
|
private $charset = 'UTF-8';
|
||||||
|
private $allowext = '';
|
||||||
|
private $notallowext = '';
|
||||||
|
private $notallowdir = '';
|
||||||
|
private $getinfo = 0;
|
||||||
|
|
||||||
|
public function __construct($data = array())
|
||||||
|
{
|
||||||
|
global $Defaultallowext;
|
||||||
|
//获取导入记录表基本数据
|
||||||
|
$this->path = str_replace(BS, '/', $data['path']);
|
||||||
|
$this->appid = $data['appid'];
|
||||||
|
$this->uid = $data['uid'];
|
||||||
|
$this->username = $data['username'];
|
||||||
|
$this->exportstatus = $data['state'];
|
||||||
|
$this->donum = $data['donum'];
|
||||||
|
$this->filenum = $data['filenum'];
|
||||||
|
$this->lastid = $data['lastid'];
|
||||||
|
$this->getinfonum = $data['getinfonum'];
|
||||||
|
$this->getinfo = $data['getinfo'];
|
||||||
|
$data['allowext'] = ($data['allowext']) ? $data['allowext']:getglobal('setting/pichomeimportallowext');
|
||||||
|
//允许导入后缀
|
||||||
|
if ($data['allowext']) {
|
||||||
|
$allowext = str_replace(array('.', ',','+','$',"'",'^','(',')','[',']','{','}'), array('\.', '|','\+','\$',"'",'\^','\(',')','\[','\]','\{','\}'),$data['allowext']);
|
||||||
|
$this->allowext = str_replace('*', '.*', $allowext);
|
||||||
|
|
||||||
|
}
|
||||||
|
$data['notallowext'] = ($data['notallowext']) ? $data['notallowext']:getglobal('setting/pichomeimportnotallowext');
|
||||||
|
//禁止导入后缀
|
||||||
|
if ($data['notallowext']) {
|
||||||
|
$notallowext = str_replace(array('.', ',','+','$',"'",'^','(',')','[',']','{','}'), array('\.', '|','\+','\$',"'",'\^','\(',')','\[','\]','\{','\}'),$data['notallowext']);
|
||||||
|
$this->notallowext = str_replace('*', '.*', $notallowext);
|
||||||
|
|
||||||
|
}
|
||||||
|
//获取pichome设置的默认禁止导入目录
|
||||||
|
$notallowdir = getglobal('setting/pichomeimportnotdir') ? getglobal('setting/pichomeimportnotdir'):implode(',',$Defaultallowext);
|
||||||
|
//禁止导入目录
|
||||||
|
if ($notallowdir) {
|
||||||
|
$notallowdir = str_replace(array('.', ',','+','$',"'",'^','(',')','[',']','{','}'), array('\.', '|','\+','\$',"'",'\^','\(',')','\[','\]','\{','\}'), $notallowdir);
|
||||||
|
$this->notallowdir = str_replace('*', '.*', $notallowdir);
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($data['charset']) $this->charset = $data['charset'];
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取文件名
|
||||||
|
public function getbasename($filename)
|
||||||
|
{
|
||||||
|
return preg_replace('/^.+[\\\\\\/]/', '', $filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function initExport()
|
||||||
|
{
|
||||||
|
$filedir = $this->path;
|
||||||
|
$readtxt = $this->readtxt . 'loaclexport' . md5($this->path) . '.txt';
|
||||||
|
|
||||||
|
$filenum = 0;
|
||||||
|
if (!is_file($readtxt)) {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array( 'state' => 1));
|
||||||
|
$thandle = fopen($readtxt, 'w+');
|
||||||
|
$fileinfo = $this->readdir($filedir, $thandle, $filenum);
|
||||||
|
fclose($thandle);
|
||||||
|
if ($fileinfo['error']) {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('state' => -1));
|
||||||
|
return $fileinfo;
|
||||||
|
} else {
|
||||||
|
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'=>'导入失败,请重试');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readdir($path, $thandle, &$filenum)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!is_dir($path)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
$handle = dir($path);
|
||||||
|
if ($handle) {
|
||||||
|
while (($filename = $handle->read()) !== false) {
|
||||||
|
if ($this->charset != CHARSET) $convertfilename = diconv($filename, $this->charset, CHARSET);
|
||||||
|
else $convertfilename = $filename;
|
||||||
|
$newPath = $path . BS . $filename;
|
||||||
|
if (is_dir($newPath) && $filename != '.' && $filename != '..' && $filename != '@eaDir') {
|
||||||
|
if ((preg_match('/^(' . $this->notallowdir . ')$/i', $convertfilename))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//fwrite($thandle, $newPath . "\t" . 'folder' . "\n");
|
||||||
|
$this->readdir($newPath, $thandle, $filenum);
|
||||||
|
} elseif (is_file($newPath)) {
|
||||||
|
if (($this->allowext && !preg_match('/^(' . $this->allowext . ')$/i', $convertfilename)) || ($this->notallowext && preg_match('/^(' . $this->notallowext . ')$/i', $convertfilename))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$filenum++;
|
||||||
|
fwrite($thandle, $newPath . "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return array('error' => 'Read Dir Failer');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$handle->close();
|
||||||
|
return array('filenum' => $filenum);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function execExport($force = false)
|
||||||
|
{
|
||||||
|
$filedir = $this->path;
|
||||||
|
$filedir = str_replace(array('/', './', '\\'), BS, $filedir);
|
||||||
|
$readtxt = $this->readtxt . 'loaclexport' . md5($this->path) . '.txt';
|
||||||
|
//如果txt为空直接进入下一步
|
||||||
|
if(filesize($readtxt) == 0){
|
||||||
|
@unlink($readtxt);
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => 0, 'percent' => 100, 'donum' => 0, 'state' => 3, 'filenum' => $this->filenum));
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->lastid) {
|
||||||
|
$start = $this->lastid;
|
||||||
|
} else $start = 0;
|
||||||
|
|
||||||
|
$spl_object = new SplFileObject($readtxt, 'rb');
|
||||||
|
$spl_object->seek($start);
|
||||||
|
if ($this->lastid < $this->filenum && $this->exportstatus == 2) {
|
||||||
|
$i = 0;
|
||||||
|
while (is_file($readtxt) && !$spl_object->eof()) {
|
||||||
|
$i++;
|
||||||
|
if ($i > $this->onceexportnum) {
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
$file = $spl_object->current();
|
||||||
|
|
||||||
|
$file = trim($file);
|
||||||
|
$file = str_replace(array('/', './', '\\'), BS, $file);
|
||||||
|
$filearr = explode("\t", $file);
|
||||||
|
$filerelativepath = $filearr[0];
|
||||||
|
$filepath = str_replace($filedir . BS, '', $filerelativepath);
|
||||||
|
$p = new Encode_Core();
|
||||||
|
$this->charset = $p->get_encoding($filepath);
|
||||||
|
//如果是目录直接执行目录导入
|
||||||
|
if (isset($filearr[1]) && $filearr[1] == 'folder') {
|
||||||
|
if ($this->charset != CHARSET) $filepath = diconv($filepath, $this->charset, CHARSET);
|
||||||
|
$fid = $this->createfolerbypath($filepath);
|
||||||
|
|
||||||
|
$spl_object->next();
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
$hasrid = 0;
|
||||||
|
//保存路径,用于之后获取文件使用
|
||||||
|
$savepath = str_replace(array('/', './', '\\'), '/', $filearr[0]);
|
||||||
|
$savepath = str_replace($this->path . '/', '', $savepath);
|
||||||
|
$pathmd5 = md5($savepath.$this->appid);
|
||||||
|
if($recorddata = DB::fetch_first("select * from %t where id = %s",array('local_record',$pathmd5))){
|
||||||
|
$rid = $recorddata['rid'];
|
||||||
|
$hasrid = 1;
|
||||||
|
}else{
|
||||||
|
//生成rid
|
||||||
|
$rid = $this->createRid();
|
||||||
|
}
|
||||||
|
$realfilepath = $filedir.BS.$filepath;
|
||||||
|
//如果文件不存在则删除记录
|
||||||
|
if (!is_file($realfilepath)) {
|
||||||
|
if($hasrid)C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
|
$this->filenum -= 1;
|
||||||
|
} else {
|
||||||
|
//修改时间
|
||||||
|
$mtime = filemtime($realfilepath);
|
||||||
|
//创建时间
|
||||||
|
$ctime = filectime($realfilepath);
|
||||||
|
//获取文件后缀
|
||||||
|
$ext = substr(strrchr($realfilepath, '.'), 1);
|
||||||
|
$ext = strtolower($ext);
|
||||||
|
//获取文件类型
|
||||||
|
$type = getTypeByExt($ext);
|
||||||
|
//获取文件大小
|
||||||
|
$size = filesize($realfilepath);
|
||||||
|
//获取图片信息,以取得宽高
|
||||||
|
$imginfo = @getimagesize($realfilepath);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//去掉库路径,以便获取文件相对目录
|
||||||
|
$filepath = str_replace($filedir . BS, '', $filepath);
|
||||||
|
|
||||||
|
if ($this->charset != CHARSET) $filepath = diconv($filepath, $this->charset, CHARSET);
|
||||||
|
//获取文件名
|
||||||
|
$filename = $this->getbasename($filepath);
|
||||||
|
//不符合导入规则文件不允许导入,并减少总数
|
||||||
|
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;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (!$hasrid) {
|
||||||
|
$setarr = [
|
||||||
|
'rid' => $rid,
|
||||||
|
'name' => $filename,
|
||||||
|
'lastdate' => $mtime,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'apptype' => 1,
|
||||||
|
'size' => $size,
|
||||||
|
'type' => $type,
|
||||||
|
'ext' => $ext,
|
||||||
|
'width' => ($imginfo[0]) ? $imginfo[0] : 0,
|
||||||
|
'height' => ($imginfo[1]) ? $imginfo[1] : 0,
|
||||||
|
'mtime' => $ctime * 1000,
|
||||||
|
'dateline' => $mtime * 1000,
|
||||||
|
'btime' => TIMESTAMP * 1000,
|
||||||
|
'editdate'=>$mtime,
|
||||||
|
'path'=>$savepath
|
||||||
|
];
|
||||||
|
if (C::t('#local#local_record')->insert_data($setarr)) {
|
||||||
|
$attrdata = [
|
||||||
|
'rid' => $rid,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'isget' => 0,
|
||||||
|
'path' => $savepath,
|
||||||
|
'searchval'=>$filename,
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
C::t('pichome_resources_attr')->insert($attrdata);
|
||||||
|
$dirstr = dirname($filepath);
|
||||||
|
if ($dirstr != '.' && $dirstr != '..') {
|
||||||
|
$fid = $this->createfolerbypath($dirstr);
|
||||||
|
if ($fid) {
|
||||||
|
$frsetarr = ['appid' => $this->appid, 'rid' => $rid, 'fid' => $fid];
|
||||||
|
C::t('pichome_folderresources')->insert($frsetarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//插入获取信息数据
|
||||||
|
Hook::listen('pichomegetinfo',$setarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//查询是否已有数据
|
||||||
|
// $data = C::t('pichome_resources')->fetch($rid);
|
||||||
|
if ($mtime > $recorddata['dateline'] || $force) {
|
||||||
|
$setarr = [
|
||||||
|
'lastdate' => $mtime,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'apptype' => 1,
|
||||||
|
'size' => $size,
|
||||||
|
'type' => $type,
|
||||||
|
'ext' => $ext,
|
||||||
|
'mtime' => $ctime * 1000,
|
||||||
|
'dateline' => $mtime * 1000,
|
||||||
|
'btime' => TIMESTAMP * 1000,
|
||||||
|
'width' => ($imginfo[0]) ? $imginfo[0] : 0,
|
||||||
|
'height' => ($imginfo[1]) ? $imginfo[1] : 0,
|
||||||
|
'editdate'=>$mtime
|
||||||
|
];
|
||||||
|
if (C::t('#local#local_record')->insert_data($setarr)) {
|
||||||
|
$attrdata = [
|
||||||
|
'rid' => $rid,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'isget' => 0,
|
||||||
|
'path' => $savepath,
|
||||||
|
'searchval'=>$filename,
|
||||||
|
|
||||||
|
];
|
||||||
|
C::t('pichome_resources_attr')->insert($attrdata);
|
||||||
|
//如果文件被替换强制插入获取信息数据
|
||||||
|
$hookdata = ['appid'=>$this->appid,'rid'=>$rid,'ext'=>$ext,'isforce'=>1];
|
||||||
|
Hook::listen('pichomegetinfo',$hookdata);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$hookdata = ['appid'=>$this->appid,'rid'=>$rid,'ext'=>$ext];
|
||||||
|
//如果文件已存在,尝试插入获取信息数据
|
||||||
|
Hook::listen('pichomegetinfo',$hookdata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->donum += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
$percent = floor(($this->donum / $this->filenum) * 100);
|
||||||
|
$percent = ($percent > 100) ? 100 : $percent;
|
||||||
|
$state = ($percent >= 100) ? 3 : 2;
|
||||||
|
if ($state == 3) {
|
||||||
|
@unlink($readtxt);
|
||||||
|
$lastid = 0;
|
||||||
|
} else {
|
||||||
|
$lastid = $this->donum;
|
||||||
|
}
|
||||||
|
//记录导入起始位置,以备中断后从此处,更改导入状态为正在导入
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $lastid, 'percent' => $percent, 'donum' => $this->donum, 'state' => $state, 'filenum' => $this->filenum));
|
||||||
|
}
|
||||||
|
$spl_object->next();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return array('success' => true);
|
||||||
|
|
||||||
|
}
|
||||||
|
//生成rid
|
||||||
|
public function createRid(){
|
||||||
|
|
||||||
|
//订单年月
|
||||||
|
$ridmd = strtoupper(dechex(date('m'))) . date('d');
|
||||||
|
//订单时间戳
|
||||||
|
$ridms = substr(time(), -5) . substr(microtime(), 2, 5);
|
||||||
|
//订单号
|
||||||
|
$rid = md5($ridmd.$ridms. sprintf('%02d', rand(0, 99)).$this->appid);
|
||||||
|
return $rid;
|
||||||
|
}
|
||||||
|
//根据路径创建目录
|
||||||
|
public function createfolerbypath($path, $pfid = '')
|
||||||
|
{
|
||||||
|
if (!$path) {
|
||||||
|
return $pfid;
|
||||||
|
} else {
|
||||||
|
$patharr = explode(BS, $path);
|
||||||
|
|
||||||
|
//生成目录
|
||||||
|
foreach ($patharr as $fname) {
|
||||||
|
if (!$fname) continue;
|
||||||
|
//判断是否含有此目录
|
||||||
|
if ($fid = DB::result_first("select fid from %t where pfid=%s and appid=%s and fname=%s", array('pichome_folder', $pfid, $this->appid, $fname))) {
|
||||||
|
$pfid = $fid;
|
||||||
|
} else {
|
||||||
|
$parentfolder = C::t('pichome_folder')->fetch($pfid);
|
||||||
|
|
||||||
|
$fid = random(13) . $this->appid;
|
||||||
|
|
||||||
|
if (DB::result_first("select fid from %t where fid = %s", array('pichome_folder', $fid))) {
|
||||||
|
$fid = random(13) . $this->appid;
|
||||||
|
}
|
||||||
|
if ($parentfolder) {
|
||||||
|
$pathkey = $parentfolder['pathkey'] . $fid;
|
||||||
|
} else {
|
||||||
|
$pathkey = $fid;
|
||||||
|
}
|
||||||
|
$setarr = [
|
||||||
|
'fid' => $fid,
|
||||||
|
'fname' => $fname,
|
||||||
|
'appid' => $this->appid,
|
||||||
|
'dateline' => TIMESTAMP,
|
||||||
|
'pfid' => $pfid,
|
||||||
|
'pathkey' => $pathkey
|
||||||
|
];
|
||||||
|
if (C::t('pichome_folder')->insert($setarr)) $pfid = $fid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $pfid;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//校验文件
|
||||||
|
public function execCheckFile()
|
||||||
|
{
|
||||||
|
if ($this->exportstatus == 3) {
|
||||||
|
$total = DB::result_first("select count(rid) from %t where appid = %s ", array('pichome_resources', $this->appid));
|
||||||
|
//校验文件
|
||||||
|
$this->check_file($total);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function check_file($total)
|
||||||
|
{
|
||||||
|
if ($this->lastid < 1) $this->lastid = 1;
|
||||||
|
$limitsql = ($this->lastid - 1) * $this->checklimit . ',' . $this->checklimit;
|
||||||
|
$delrids = [];
|
||||||
|
$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)) {
|
||||||
|
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) {
|
||||||
|
C::t('pichome_folder')->update($v['fid'], array('filenum' => $v['num']));
|
||||||
|
|
||||||
|
}
|
||||||
|
if($this->getinfo){
|
||||||
|
|
||||||
|
//开启器获取信息后执行获取文件信息
|
||||||
|
dfsockopen(getglobal('localurl') . 'index.php?mod=imageColor&op=index', 0, '', '', false, '', 1);
|
||||||
|
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=getinfo', 0, '', '', false, '', 1);
|
||||||
|
dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=thumb', 0, '', '', false, '', 1);
|
||||||
|
}
|
||||||
|
$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));
|
||||||
|
$nosubfilenum = $total - $hascatnum;
|
||||||
|
$getinfonum = DB::result_first("SELECT count(ra.rid) FROM %t ra left join %t fc on ra.rid = fc.rid left join %t ic on ra.rid= ic.rid
|
||||||
|
where ra.appid = %s and ((ra.isget = 0 and ISNULL(fc.rid) and ISNULL(ic.rid)) or (ra.isget=1))",
|
||||||
|
array('pichome_resources_attr','pichome_ffmpeg_record','pichome_imagickrecord',$this->appid));
|
||||||
|
C::t('pichome_vapp')->update($this->appid,array('filenum'=>$total,'nosubfilenum'=>$nosubfilenum,'getinfonum'=>$getinfonum));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($data as $v) {
|
||||||
|
$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 = str_replace(array('/', './', '\\'), BS, $this->path . BS . $filepath);
|
||||||
|
//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']))) {
|
||||||
|
|
||||||
|
$delrids[] = $rid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!empty($delrids)) {
|
||||||
|
$this->filenum = $this->filenum - count($delrids);
|
||||||
|
//如果有需要删除的,删除后,则重新查询上一页数据
|
||||||
|
C::t('pichome_resources')->delete_by_rid($delrids);
|
||||||
|
if($this->lastid == 1){
|
||||||
|
$percent = round(($this->checklimit / $total) * 100);
|
||||||
|
}else{
|
||||||
|
$percent = round((($this->lastid - 1) * $this->checklimit / $total) * 100);
|
||||||
|
}
|
||||||
|
$percent = ($percent > 100) ? 100:$percent;
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $this->lastid, 'percent' => $percent, 'state' => 3, 'filenum' => $this->filenum));
|
||||||
|
} else {
|
||||||
|
if($this->lastid == 1){
|
||||||
|
$percent = round(($this->checklimit / $total) * 100);
|
||||||
|
}else{
|
||||||
|
$percent = round((($this->lastid - 1) * $this->checklimit / $total) * 100);
|
||||||
|
}
|
||||||
|
$percent = ($percent > 100) ? 100:$percent;
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('lastid' => $this->lastid + 1, 'percent' => $percent, 'state' => 3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
62
dzz/local/class/table/table_local_record.php
Normal file
62
dzz/local/class/table/table_local_record.php
Normal 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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
29
dzz/local/classes/deleteafter.php
Normal file
29
dzz/local/classes/deleteafter.php
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\local\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
|
||||||
|
|
||||||
|
class deleteafter
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($data)
|
||||||
|
{
|
||||||
|
if(!empty($data['rids'])){
|
||||||
|
$appid = DB::result_first("select appid from %t where rid = %s",array('pichome_resources',$data['rids'][0]));
|
||||||
|
$appdata = C::t('pichome_vapp')->fetch($appid);
|
||||||
|
if($appdata['type'] == 1){
|
||||||
|
$delnum = count($data['rids']);
|
||||||
|
C::t('pichome_vapp')->add_getinfonum_by_appid($appid,-$delnum);
|
||||||
|
}
|
||||||
|
C::t('#local#local_record')->delete_by_rids($data['rids']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
22
dzz/local/classes/pichomevappdelete.php
Normal file
22
dzz/local/classes/pichomevappdelete.php
Normal 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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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();
|
||||||
@@ -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){
|
||||||
|
|||||||
@@ -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(
|
||||||
@@ -516,7 +549,8 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
|
|||||||
$cid = isset($_GET['cid']) ? $_GET['cid']:'';
|
$cid = isset($_GET['cid']) ? $_GET['cid']:'';
|
||||||
if ($cid) {
|
if ($cid) {
|
||||||
if ($cid == -1) {
|
if ($cid == -1) {
|
||||||
$sql .= " left join %t tr on isnull(tr.cid)";
|
$sql .= " left join %t tr on rt.tid=tr.tid ";
|
||||||
|
$wheresql .= " and isnull(tr.cid) ";
|
||||||
$params[] = 'pichome_tagrelation';
|
$params[] = 'pichome_tagrelation';
|
||||||
} else {
|
} else {
|
||||||
$sql .= " left join %t tr on tr.tid = rt.tid ";
|
$sql .= " left join %t tr on tr.tid = rt.tid ";
|
||||||
@@ -760,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);
|
||||||
@@ -805,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']) : '';
|
||||||
@@ -824,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 = [];
|
||||||
@@ -940,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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//时长条件
|
//时长条件
|
||||||
@@ -1302,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']) : '';
|
||||||
@@ -1376,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']):'';
|
||||||
@@ -1391,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){
|
||||||
@@ -1411,11 +1481,17 @@ 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'])){
|
||||||
|
$pichomefilterfileds = C::t('setting')->fetch_all('pichomefilterfileds');
|
||||||
|
}else{
|
||||||
|
$pichomefilterfileds = $_G['setting']['pichomefilterfileds'];
|
||||||
}
|
}
|
||||||
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))) {
|
||||||
$data['filter'] = unserialize($data['filter']);
|
array_unshift($pichomefilterfileds,array('key'=>'classify','text'=>'分类','checked'=>1));
|
||||||
|
$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) {
|
||||||
if ($v['key'] == 'tag' && $v['chacked'] == 1) {
|
if ($v['key'] == 'tag' && $v['chacked'] == 1) {
|
||||||
@@ -1438,13 +1514,10 @@ if ($operation == 'addsearch') {//增加关键词搜索次数
|
|||||||
} else {
|
} else {
|
||||||
exit(json_encode(array('error' => true)));
|
exit(json_encode(array('error' => true)));
|
||||||
}
|
}
|
||||||
} else {
|
} else{
|
||||||
if (isset($_G['setting']['pichomefilterfileds'])) {
|
|
||||||
exit(json_encode(array('success' => true, 'data' => $_G['setting']['pichomefilterfileds'],'folderdata'=>$folderdata,'tagdata'=>$tagdata,'shape'=>$shapelable)));
|
exit(json_encode(array('success' => true, 'data' => $pichomefilterfileds,'folderdata'=>$folderdata,'tagdata'=>$tagdata,'shape'=>$shapelable)));
|
||||||
} else {
|
|
||||||
$setting = C::t('setting')->fetch_all('pichomefilterfileds');
|
|
||||||
exit(json_encode(array('success' => true, 'data' => $setting['pichomefilterfileds'],'folderdata'=>$folderdata,'tagdata'=>$tagdata,'shape'=>$shapelable)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} elseif ($operation == 'createshare') {//分享
|
} elseif ($operation == 'createshare') {//分享
|
||||||
@@ -1497,4 +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 == 'tagrelativesetting'){
|
||||||
|
$pichometagrelative = $_GET['pichometagrelative'];
|
||||||
|
C::t('user_setting')->update_by_skey('pichometagrelative',$pichometagrelative);
|
||||||
|
exit(json_encode(array('success' => true)));
|
||||||
|
} elseif($operation == 'multipleselection'){
|
||||||
|
$multipleselection = $_GET['multipleselection'];
|
||||||
|
C::t('user_setting')->update_by_skey('pichomemultipleselection',$multipleselection);
|
||||||
|
exit(json_encode(array('success' => true)));
|
||||||
|
}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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
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']['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'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit(json_encode($datas));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
$a = C::t('pichome_vapp')->fetch('J62mX1');
|
|
||||||
print_r($a);die;
|
|
||||||
@@ -144,7 +144,22 @@ class eagleexport
|
|||||||
return array('success' => true);
|
return array('success' => true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取文件可访问的真实地址
|
||||||
|
public function getFileRealFileName($filepath,$filename,$ext){
|
||||||
|
$charsetarr = ['GBK','GB18030'];
|
||||||
|
$returnname = $filename;
|
||||||
|
if(!is_file($filepath.BS.$filename.'.'.$ext)){
|
||||||
|
foreach ($charsetarr as $v){
|
||||||
|
$filemetadataname = diconv($filename, CHARSET, $v);
|
||||||
|
if(is_file($filepath.BS.$filemetadataname.'.'.$ext)){
|
||||||
|
$returnname = $filemetadataname;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $returnname;
|
||||||
|
|
||||||
|
}
|
||||||
public function execExport($force = false)
|
public function execExport($force = false)
|
||||||
{
|
{
|
||||||
$filedir = $this->path . BS.'images';
|
$filedir = $this->path . BS.'images';
|
||||||
@@ -199,9 +214,7 @@ class eagleexport
|
|||||||
C::t('pichome_resources')->delete_by_rid($rid);
|
C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$p = new Encode_Core();
|
$filemetadataname = $this->getFileRealFileName($tmppath,$filemetadata['name'],$filemetadata['ext']);
|
||||||
$charset = $p->get_encoding($tmppath);
|
|
||||||
if (CHARSET != $charset) $filemetadataname = diconv($filemetadata['name'], CHARSET, $charset);
|
|
||||||
//文件名称
|
//文件名称
|
||||||
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
||||||
//缩略图名称
|
//缩略图名称
|
||||||
@@ -339,10 +352,8 @@ class eagleexport
|
|||||||
$haspassword = C::t('pichome_folder')->check_haspasswrod($filemetadata['folders'], $this->appid);
|
$haspassword = C::t('pichome_folder')->check_haspasswrod($filemetadata['folders'], $this->appid);
|
||||||
|
|
||||||
if (!$haspassword){
|
if (!$haspassword){
|
||||||
$p = new Encode_Core();
|
$filemetadataname = $this->getFileRealFileName($tmppath,$filemetadata['name'],$filemetadata['ext']);
|
||||||
$charset = $p->get_encoding($tmppath);
|
//echo $filemetadataname;die;
|
||||||
if (CHARSET != $charset) $filemetadataname = diconv($filemetadata['name'], CHARSET, $charset);
|
|
||||||
|
|
||||||
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
$filename = $filemetadataname . '.' . $filemetadata['ext'];
|
||||||
$thumbname = $filemetadataname . '_thumbnail.png';
|
$thumbname = $filemetadataname . '_thumbnail.png';
|
||||||
//echo $i.'middle:'.memory_get_usage()/1024 . '<br>';
|
//echo $i.'middle:'.memory_get_usage()/1024 . '<br>';
|
||||||
|
|||||||
@@ -175,36 +175,45 @@ class localexport
|
|||||||
$file = trim($file);
|
$file = trim($file);
|
||||||
$file = str_replace(array('/', './', '\\'), BS, $file);
|
$file = str_replace(array('/', './', '\\'), BS, $file);
|
||||||
$filearr = explode("\t", $file);
|
$filearr = explode("\t", $file);
|
||||||
$filepath = $filearr[0];
|
$filerelativepath = $filearr[0];
|
||||||
|
$filepath = str_replace($filedir . BS, '', $filerelativepath);
|
||||||
|
$p = new Encode_Core();
|
||||||
|
$this->charset = $p->get_encoding($filepath);
|
||||||
//如果是目录直接执行目录导入
|
//如果是目录直接执行目录导入
|
||||||
if (isset($filearr[1]) && $filearr[1] == 'folder') {
|
if (isset($filearr[1]) && $filearr[1] == 'folder') {
|
||||||
$filepath = str_replace($filedir . BS, '', $filepath);
|
|
||||||
if ($this->charset != CHARSET) $filepath = diconv($filepath, $this->charset, CHARSET);
|
if ($this->charset != CHARSET) $filepath = diconv($filepath, $this->charset, CHARSET);
|
||||||
|
|
||||||
$fid = $this->createfolerbypath($filepath);
|
$fid = $this->createfolerbypath($filepath);
|
||||||
|
|
||||||
$spl_object->next();
|
$spl_object->next();
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
//生成rid
|
$hasrid = 0;
|
||||||
$rid = md5($filepath.$this->appid);
|
if($rid = DB::result_first("select rid from %t where path = %s and appid = %s",
|
||||||
|
array('pichome_resources_attr',$filepath,$this->appid))){
|
||||||
|
$hasrid = 1;
|
||||||
|
}else{
|
||||||
|
//生成rid
|
||||||
|
$rid = $this->createRid();
|
||||||
|
}
|
||||||
|
$realfilepath = $filedir.BS.$filepath;
|
||||||
//如果文件不存在则删除记录
|
//如果文件不存在则删除记录
|
||||||
if (!is_file($filepath)) {
|
if (!is_file($realfilepath)) {
|
||||||
C::t('pichome_resources')->delete_by_rid($rid);
|
if($hasrid)C::t('pichome_resources')->delete_by_rid($rid);
|
||||||
$this->filenum -= 1;
|
$this->filenum -= 1;
|
||||||
} else {
|
} else {
|
||||||
|
//修改时间
|
||||||
$mtime = filemtime($filepath);
|
$mtime = filemtime($realfilepath);
|
||||||
$ctime = filectime($filepath);
|
//创建时间
|
||||||
|
$ctime = filectime($realfilepath);
|
||||||
//获取文件后缀
|
//获取文件后缀
|
||||||
$ext = substr(strrchr($filepath, '.'), 1);
|
$ext = substr(strrchr($realfilepath, '.'), 1);
|
||||||
$ext = strtolower($ext);
|
$ext = strtolower($ext);
|
||||||
//获取文件类型
|
//获取文件类型
|
||||||
$type = getTypeByExt($ext);
|
$type = getTypeByExt($ext);
|
||||||
//获取文件大小
|
//获取文件大小
|
||||||
$size = filesize($filepath);
|
$size = filesize($realfilepath);
|
||||||
//获取图片信息,以取得宽高
|
//获取图片信息,以取得宽高
|
||||||
$imginfo = @getimagesize($filepath);
|
$imginfo = @getimagesize($realfilepath);
|
||||||
//保存路径,用于之后获取文件使用
|
//保存路径,用于之后获取文件使用
|
||||||
$savepath = str_replace(array('/', './', '\\'), '/', $filearr[0]);
|
$savepath = str_replace(array('/', './', '\\'), '/', $filearr[0]);
|
||||||
$savepath = str_replace($this->path . '/', '', $savepath);
|
$savepath = str_replace($this->path . '/', '', $savepath);
|
||||||
@@ -321,7 +330,17 @@ class localexport
|
|||||||
return array('success' => true);
|
return array('success' => true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//生成rid
|
||||||
|
public function createRid(){
|
||||||
|
|
||||||
|
//订单年月
|
||||||
|
$ridmd = strtoupper(dechex(date('m'))) . date('d');
|
||||||
|
//订单时间戳
|
||||||
|
$ridms = substr(time(), -5) . substr(microtime(), 2, 5);
|
||||||
|
//订单号
|
||||||
|
$rid = md5($ridmd.$ridms. sprintf('%02d', rand(0, 99)).$this->appid);
|
||||||
|
return $rid;
|
||||||
|
}
|
||||||
//根据路径创建目录
|
//根据路径创建目录
|
||||||
public function createfolerbypath($path, $pfid = '')
|
public function createfolerbypath($path, $pfid = '')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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');
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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
@@ -26,6 +26,59 @@ 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{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.pic-container{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
.pic-container .pic-container-scroll{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
position: relative;
|
||||||
|
padding-top: 46px;
|
||||||
|
padding-bottom: 20%;
|
||||||
|
}
|
||||||
|
.pic-container .img-container{
|
||||||
|
min-height: 100% ;
|
||||||
|
position: relative;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
|
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
|
||||||
color : var(--tip-color);
|
color : var(--tip-color);
|
||||||
}
|
}
|
||||||
@@ -45,10 +98,83 @@ input:-ms-input-placeholder { /* Internet Explorer 10-11 */
|
|||||||
input::-ms-input-placeholder { /* Microsoft Edge */
|
input::-ms-input-placeholder { /* Microsoft Edge */
|
||||||
color : var(--tip-color);
|
color : var(--tip-color);
|
||||||
}
|
}
|
||||||
|
[v-cloak] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-popup{
|
||||||
|
background: var(--bg-content) !important;
|
||||||
|
}
|
||||||
|
.van-action-sheet__cancel, .van-action-sheet__item{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.van-action-sheet__gap,
|
||||||
|
.van-action-sheet__cancel:active,
|
||||||
|
.van-action-sheet__item:active{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.van-action-sheet__cancel{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.custom-image.van-empty{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.img-circle{
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.Topcarousel{
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 1rem;
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
line-height: 2.1875rem;
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
#dzzoffice{
|
||||||
|
position: relative;
|
||||||
|
background: var(--bg-content);
|
||||||
|
}
|
||||||
|
.pic-logo{
|
||||||
|
height: 40px;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left{
|
||||||
|
height: 30px;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: var(--header-text);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.pic-logo .h-left img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.van-nav-bar__title{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
.van-nav-bar__content{
|
.van-nav-bar__content{
|
||||||
/* 46px */
|
/* 46px */
|
||||||
height: 46px;
|
height: 46px;
|
||||||
}
|
}
|
||||||
|
.van-nav-bar .van-icon{
|
||||||
|
color: var(--content-textHover);
|
||||||
|
}
|
||||||
|
.van-nav-bar__content .van-nav-bar__text{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
.van-popup.van-notify.van-notify--warning{
|
.van-popup.van-notify.van-notify--warning{
|
||||||
background-color: #ff976a;
|
background-color: #ff976a;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -169,7 +295,9 @@ ul{
|
|||||||
.van-cell::after{
|
.van-cell::after{
|
||||||
border-color: var(--border-color-base);
|
border-color: var(--border-color-base);
|
||||||
}
|
}
|
||||||
|
.van-cell--clickable:active{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
.van-search{
|
.van-search{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
@@ -189,6 +317,9 @@ ul{
|
|||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: var(--header-text);
|
color: var(--header-text);
|
||||||
}
|
}
|
||||||
|
.van-sidebar-item.van-sidebar-item--disabled{
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
.van-sidebar-item--select{
|
.van-sidebar-item--select{
|
||||||
color: var(--header-active);
|
color: var(--header-active);
|
||||||
}
|
}
|
||||||
@@ -268,3 +399,206 @@ ul{
|
|||||||
transform: rotate(359deg)
|
transform: rotate(359deg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.van-cell-group{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.about-popup,
|
||||||
|
.my-popup{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--bg-content);
|
||||||
|
color: var(--content-textHover);
|
||||||
|
overflow: hidden;
|
||||||
|
padding-top: 46px;
|
||||||
|
}
|
||||||
|
.about-popup .van-nav-bar,
|
||||||
|
.my-popup .van-nav-bar{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.about-popup .scroll-box,
|
||||||
|
.my-popup .scroll-box{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 0.9375rem;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell-group{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.my-popup .scroll-box .van-cell .van-cell__right-icon{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-popup .aboutlogo{
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 3.125rem;
|
||||||
|
padding-bottom: 1.875rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage{
|
||||||
|
padding: 0 2.1875rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist{
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist .title{
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.about-popup .aboutmessage .aboutlist .address{
|
||||||
|
color: var(--color-primary);
|
||||||
|
font-size: 1rem;
|
||||||
|
vertical-align: sub;
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.about-popup .aboutmessage{
|
||||||
|
padding: 0 6.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pic-toolbar{
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
padding: 0 8%;
|
||||||
|
transition: all .3s;
|
||||||
|
transition:all .3s;
|
||||||
|
-moz-transition:all .3s; /* Firefox 4 */
|
||||||
|
-webkit-transition:all .3s; /* Safari and Chrome */
|
||||||
|
-o-transition:all .3s; /* Opera */
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
.pic-toolbar.footershow{
|
||||||
|
bottom: 3%;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.pic-toolbar.footerhide{
|
||||||
|
bottom: -2.9375rem;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.pic-toolbar .tabbar{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
border-radius: 39px;
|
||||||
|
background: var(--bg-poper);
|
||||||
|
padding: 0.375rem 0;
|
||||||
|
color: var(--header-text);
|
||||||
|
/* box-shadow: 0px 0px 5px 1px var(--bg-poperHover); */
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item{
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 14px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item .icon{
|
||||||
|
font-size: var(--font-32);
|
||||||
|
}
|
||||||
|
.pic-toolbar .tab-item img{
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 2.1875rem;
|
||||||
|
height: 2.1875rem;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-popup{
|
||||||
|
overflow: unset;
|
||||||
|
}
|
||||||
|
.van-dropdown-menu-scorll .van-popup{
|
||||||
|
overflow: scroll;
|
||||||
|
}
|
||||||
|
.van-popup .vam-popup-title{
|
||||||
|
height: 40px;
|
||||||
|
font-weight: 700;
|
||||||
|
position: absolute;
|
||||||
|
top: -40px;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 12px;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.footer-popup{
|
||||||
|
padding-bottom: 70px;
|
||||||
|
}
|
||||||
|
.footer-popup .btn-bottom{
|
||||||
|
padding: 10px;
|
||||||
|
height: 70px;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.footer-popup .btn-bottom .van-button{
|
||||||
|
width: auto;
|
||||||
|
padding: 15px 20px;
|
||||||
|
}
|
||||||
|
.footer-popup .popup-search-input .van-field__right-icon{
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
.footer-popup .popup-search-input .van-field__right-icon .van-icon{
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-popup .van-search-box{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.footer-popup .van-search-box .van-field{
|
||||||
|
border: 0;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
.van-notify--success {
|
||||||
|
background-color: #07c160;
|
||||||
|
}
|
||||||
|
.van-notify--danger {
|
||||||
|
background-color: #ee0a24;
|
||||||
|
}
|
||||||
|
.van-notify--warning {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -37,10 +37,6 @@
|
|||||||
.detail-popup.full .header-top{
|
.detail-popup.full .header-top{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.van-nav-bar .van-nav-bar__title,
|
|
||||||
.van-nav-bar .van-icon {
|
|
||||||
color: var(--content-textHover);
|
|
||||||
}
|
|
||||||
|
|
||||||
.detail-popup .detail-popup-translate{
|
.detail-popup .detail-popup-translate{
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -75,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%;
|
||||||
@@ -125,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{
|
||||||
@@ -286,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;
|
||||||
|
}
|
||||||
343
dzz/pichome/css/mobile/image.css
Normal file
343
dzz/pichome/css/mobile/image.css
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
#imgContainer .imgitem .imgchecked{
|
||||||
|
z-index: 5;
|
||||||
|
position: absolute;
|
||||||
|
left: 5%;
|
||||||
|
top: 3%;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgchecked .van-checkbox__icon{
|
||||||
|
height: 25px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgchecked .van-checkbox__icon .van-icon{
|
||||||
|
font-size: 20px;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgchecked .van-checkbox__icon.van-checkbox__icon--checked .van-icon{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message{
|
||||||
|
text-align: center;
|
||||||
|
color: var(--content-text);
|
||||||
|
overflow: hidden;
|
||||||
|
max-height: 65px;
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .name {
|
||||||
|
max-height: 45px;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .name .text{
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
width: 100%;
|
||||||
|
height: 35px;
|
||||||
|
margin-top: 10px;
|
||||||
|
word-wrap: break-word;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .name .circulars{
|
||||||
|
color: var(--content-text);
|
||||||
|
font-size: 16px;
|
||||||
|
min-width: 45px;
|
||||||
|
height: 35px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 35px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
height: 21px;
|
||||||
|
padding-top: 5px;
|
||||||
|
color: var(--content-textMessage);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other .score{
|
||||||
|
color: var(--stars);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .bottom-img-message .other .score.active{
|
||||||
|
color: var(--starsActive);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .annotation{
|
||||||
|
position: absolute;
|
||||||
|
right: 5px;
|
||||||
|
top: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
border: 2px solid #FFFFFF;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 20px;
|
||||||
|
background: var(--color-primary);
|
||||||
|
}
|
||||||
|
#imgContainer{
|
||||||
|
position: relative;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem{
|
||||||
|
position: absolute;
|
||||||
|
/* transition:all .2s; */
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox {
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: zoom-in;
|
||||||
|
/* min-height: 120px; */
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border.radius{
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .bck{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: none;
|
||||||
|
background: var(--bg-poper);
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .img {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .img.opacity{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box{
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box .circular-item{
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: #333;
|
||||||
|
z-index: 100;
|
||||||
|
font-size: 21px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 45px;
|
||||||
|
background: #ffffff;
|
||||||
|
position: absolute;
|
||||||
|
transition: top .3s ease-in-out,left .3s ease-in-out;
|
||||||
|
/* transition: all .3s ease-in-out; */
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
transform-origin: 0px;
|
||||||
|
/* transition-delay: 0.02s; */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .bck{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .img{
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
max-width: inherit;
|
||||||
|
max-height: inherit;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .round{
|
||||||
|
position: absolute;
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: transparent;
|
||||||
|
left: 0px;
|
||||||
|
top: 0px;
|
||||||
|
border: 3px solid var(--bg-poper);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box{
|
||||||
|
position: absolute;
|
||||||
|
left: -67.5px;
|
||||||
|
top: -67.5px;
|
||||||
|
border: 90px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.first{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.two{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.three{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -138.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box .icon{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.first{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three{
|
||||||
|
transform: rotate(90deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three .icon{
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.first{
|
||||||
|
top: -80.5px;
|
||||||
|
left: 1px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.two{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -22.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.three{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first .icon{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two .icon{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.first{
|
||||||
|
top: 0px;
|
||||||
|
left: -80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.two{
|
||||||
|
top: -22.5px;
|
||||||
|
left: -136.5px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.three{
|
||||||
|
left: -160px;
|
||||||
|
top: -80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first{
|
||||||
|
transform: rotate(45deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first .icon{
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two{
|
||||||
|
transform: rotate(90deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two .icon{
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three{
|
||||||
|
transform: rotate(135deg);
|
||||||
|
top: -80px;
|
||||||
|
left: -80px;
|
||||||
|
transform-origin: 80px 80px;
|
||||||
|
}
|
||||||
|
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three .icon{
|
||||||
|
transform: rotate(-135deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 33.3333%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 992px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 1024px) {
|
||||||
|
.#imgContainer .imgitem {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,59 +1,12 @@
|
|||||||
[v-cloak] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#dzzoffice{
|
|
||||||
position: relative;
|
|
||||||
background: var(--bg-content);
|
|
||||||
}
|
|
||||||
.van-tree-select__content{
|
.van-tree-select__content{
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
.custom-image.van-empty{
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
top: 0;
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
.van-popup{
|
|
||||||
overflow: unset;
|
|
||||||
}
|
|
||||||
.van-popup .vam-popup-title{
|
|
||||||
height: 40px;
|
|
||||||
font-weight: 700;
|
|
||||||
position: absolute;
|
|
||||||
top: -40px;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 12px;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.conter-toast{
|
.conter-toast{
|
||||||
z-index: 5001 !important;
|
z-index: 5001 !important;
|
||||||
}
|
}
|
||||||
.notScreen{
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.notScreen>div{
|
|
||||||
height: 80px;
|
|
||||||
text-align: center;
|
|
||||||
margin: auto;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
left: 0;
|
|
||||||
font-size: var(--font-14);
|
|
||||||
color: var(--header-text);
|
|
||||||
}
|
|
||||||
.notScreen>div img{
|
|
||||||
width: 3.125rem;
|
|
||||||
height: 3.125rem;
|
|
||||||
}
|
|
||||||
.screen-textarea{
|
.screen-textarea{
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
@@ -62,75 +15,18 @@
|
|||||||
height: 2.1875rem;
|
height: 2.1875rem;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
#dzz_avatar_img .Topcarousel{
|
|
||||||
width: 2.1875rem;
|
|
||||||
height: 2.1875rem;
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 2.1875rem;
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.library-box{
|
.library-box{
|
||||||
color: var(--header-text);
|
color: var(--header-text);
|
||||||
}
|
}
|
||||||
.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;
|
|
||||||
}
|
|
||||||
.footer-popup{
|
|
||||||
padding-bottom: 70px;
|
|
||||||
}
|
|
||||||
.footer-popup .btn-bottom{
|
|
||||||
padding: 10px;
|
|
||||||
height: 70px;
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.footer-popup .btn-bottom .van-button{
|
|
||||||
width: auto;
|
|
||||||
padding: 15px 20px;
|
|
||||||
}
|
|
||||||
.footer-popup .popup-search-input .van-field__right-icon{
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
.footer-popup .popup-search-input .van-field__right-icon .van-icon{
|
|
||||||
font-size: 1.25rem;
|
|
||||||
color: var(--header-active);
|
|
||||||
}
|
|
||||||
.seasrch-popup{
|
.seasrch-popup{
|
||||||
padding-top: 56px;
|
padding-top: 56px;
|
||||||
}
|
}
|
||||||
.footer-popup .van-search-box{
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.footer-popup .van-search-box .van-field{
|
|
||||||
border: 0;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.seasrch-popup .search-val-box{
|
.seasrch-popup .search-val-box{
|
||||||
padding: 0 12px;
|
padding: 0 12px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -193,278 +89,12 @@
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
.seasrch-popup .search-val-box .highlight{
|
.seasrch-popup .search-val-box .highlight{
|
||||||
color: var(--header-active);
|
color: var(--leftTreeColor);
|
||||||
}
|
font-weight: 700;
|
||||||
.sort-popup .van-popup__close-icon--top-right,
|
|
||||||
.screen-popup .van-popup__close-icon--top-right {
|
|
||||||
top: 10px;
|
|
||||||
right: 10px;
|
|
||||||
}
|
|
||||||
/* .sort-popup .van-tree-select{
|
|
||||||
height: calc(100% - 41px) !important;
|
|
||||||
height: -moz-calc(100% - 41px) !important;
|
|
||||||
height: -webkit-calc(100% - 41px) !important;
|
|
||||||
} */
|
|
||||||
.screen-popup .van-tree-select{
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select .van-sidebar{
|
|
||||||
width: 6rem;
|
|
||||||
-webkit-box-flex: initial;
|
|
||||||
-webkit-flex: initial;
|
|
||||||
flex: initial;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content{
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item-box{
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
padding-top: 56px;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item .screen-item-option-box{
|
|
||||||
padding: 0px 8px;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option{
|
|
||||||
padding: 10px 16px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option.active{
|
|
||||||
background: var(--bg-poperHover);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item{
|
|
||||||
height: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .swip-row{
|
|
||||||
border: 1px solid var(--border-color-base);
|
|
||||||
border-radius: 18px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .swip-row .swip{
|
|
||||||
height: 30px;
|
|
||||||
line-height: 30px;
|
|
||||||
text-align: center;
|
|
||||||
background-color: var(--bg-input);
|
|
||||||
color: var(--header-text);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .swip-row .swip.active{
|
|
||||||
background: var(--color-primary);
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag{
|
|
||||||
margin-bottom: 6px;
|
|
||||||
border-radius: 999px;
|
|
||||||
}
|
|
||||||
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag.active{
|
|
||||||
background-color: var(--bg-poperHover);
|
|
||||||
}
|
|
||||||
.sort-popup .van-tree-select__content .screen-item .van-cell-group,
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .van-cell-group{
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
.sort-popup .van-tree-select__content .screen-item .van-cell-group .van-cell,
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .van-cell-group .van-cell{
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.van-calendar__day--end, .van-calendar__day--multiple-middle, .van-calendar__day--multiple-selected, .van-calendar__day--start, .van-calendar__day--start-end{
|
|
||||||
background-color: var(--color-primary);
|
|
||||||
}
|
|
||||||
.screen-popup .van-hairline--top-bottom::after, .screen-popup .van-hairline-unset--top-bottom::after {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
.sort-popup .van-hairline--top-bottom::after, .sort-popup .van-hairline-unset--top-bottom::after {
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick{
|
|
||||||
overflow: hidden;
|
|
||||||
/* margin-left: -10px; */
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list-box{
|
|
||||||
width: 20%;
|
|
||||||
margin-bottom: 0.1875rem;
|
|
||||||
padding: 0 0.1875rem;
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list{
|
|
||||||
/* float: left;
|
|
||||||
height: calc(20% / 2);
|
|
||||||
width: 20%;
|
|
||||||
height: 2.5rem;
|
|
||||||
width: 2.5rem;
|
|
||||||
z-index: 1;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-bottom: 0.625rem;
|
|
||||||
margin-left: 0.625rem;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
position: relative; */
|
|
||||||
height: 0;
|
|
||||||
padding: 25% 0;
|
|
||||||
position: relative;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
|
||||||
position: absolute;
|
|
||||||
color: #FFFFFF;
|
|
||||||
margin: auto;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 768px) {
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
|
||||||
font-size: 18px;
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
|
||||||
font-size: 30px;
|
|
||||||
width: 30px;
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input{
|
|
||||||
position: relative;
|
|
||||||
margin-bottom: 0.9375rem;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field{
|
|
||||||
/* padding: 0; */
|
|
||||||
/* height: 35px; */
|
|
||||||
padding-left: 35px;
|
|
||||||
/* height: 35px; */
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show{
|
|
||||||
position: absolute;
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
z-index: 1;
|
|
||||||
border-radius: 6px;
|
|
||||||
margin-top: auto;
|
|
||||||
margin-bottom: auto;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 8px;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show.border{
|
|
||||||
border: 1px solid var(--border-color-base);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button{
|
|
||||||
padding-left: 8px;
|
|
||||||
line-height: 35px;
|
|
||||||
padding-right: 8px;
|
|
||||||
border-left: 1px solid var(--border-color-base);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button img{
|
|
||||||
vertical-align: sub;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .screen-item .color-box .color-slider{
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
padding: 15px 0;
|
|
||||||
}
|
|
||||||
.screen-popup .van-calendar__popup .van-button--danger{
|
|
||||||
background-color: var(--color-primary);
|
|
||||||
border-color: var(--color-primary);
|
|
||||||
}
|
|
||||||
.screen-popup .van-calendar__popup .van-calendar__month-mark{
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs{
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs--line .van-tabs__wrap{
|
|
||||||
/* border-bottom: 1px solid var(--slider-line); */
|
|
||||||
padding-right: 8px;
|
|
||||||
padding-left: 8px;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content{
|
|
||||||
height: calc(100% - 44px);
|
|
||||||
height: -moz-calc(100% - 44px);
|
|
||||||
height: -webkit-calc(100% - 44px);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content .van-tab__pane{
|
|
||||||
height: 100%;
|
|
||||||
padding-top: 10px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs__nav{
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab{
|
|
||||||
color: var(--header-text);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab.van-tab--active{
|
|
||||||
color: var(--header-active);
|
|
||||||
}
|
|
||||||
.screen-popup .van-tree-select__content .van-cell .num{
|
|
||||||
margin-right: 6px;
|
|
||||||
}
|
|
||||||
.sort-popup .van-tree-select__content .van-cell::after,
|
|
||||||
.screen-popup .van-tree-select__content .van-cell::after{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen-popup .screen-classify-collapse .van-cell{
|
|
||||||
background-color: transparent;
|
|
||||||
margin-bottom: 6px;
|
|
||||||
}
|
|
||||||
.screen-popup .screen-classify-collapse .van-collapse-item.active>.van-cell{
|
|
||||||
background-color: var(--bg-poperHover);
|
|
||||||
border-radius: 999px;
|
|
||||||
}
|
|
||||||
.screen-popup .screen-classify-collapse .van-hairline--top-bottom::after,
|
|
||||||
.screen-popup .screen-classify-collapse .van-collapse-item--border::after{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.screen-popup .screen-classify-collapse .van-collapse-item__content{
|
|
||||||
background-color: transparent;
|
|
||||||
padding: 0;
|
|
||||||
padding-left: 1rem;
|
|
||||||
}
|
|
||||||
.screen-popup .screen-classify-collapse .van-cell__value{
|
|
||||||
flex: none;
|
|
||||||
}
|
|
||||||
.van-calendar__day--middle{
|
|
||||||
color: var(--header-active);
|
|
||||||
}
|
|
||||||
.van-calendar__day--start{
|
|
||||||
border-radius: 16px 0 0 16px;
|
|
||||||
}
|
|
||||||
.van-calendar__day--end{
|
|
||||||
border-radius: 0 16px 16px 0;
|
|
||||||
}
|
|
||||||
.screen-cell-input{
|
|
||||||
margin-bottom: 16px;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.screen-cell-input::after{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.screen-cell-input .van-field{
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.screen-cell-input .van-field{
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
.library-actionsheet .mint-actionsheet-list{
|
.library-actionsheet .mint-actionsheet-list{
|
||||||
max-height: 400px;
|
max-height: 400px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
@@ -487,379 +117,10 @@
|
|||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
.pic-container{
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
}
|
|
||||||
.pic-container .pic-container-scroll{
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
position: relative;
|
|
||||||
padding-top: 46px;
|
|
||||||
}
|
|
||||||
.pic-container .img-container{
|
|
||||||
min-height: 100% ;
|
|
||||||
position: relative;
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
.pic-toolbar{
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
left: 0;
|
|
||||||
padding: 0 8%;
|
|
||||||
transition: all .3s;
|
|
||||||
transition:all .3s;
|
|
||||||
-moz-transition:all .3s; /* Firefox 4 */
|
|
||||||
-webkit-transition:all .3s; /* Safari and Chrome */
|
|
||||||
-o-transition:all .3s; /* Opera */
|
|
||||||
}
|
|
||||||
.pic-toolbar.footershow{
|
|
||||||
bottom: 3%;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
.pic-toolbar.footerhide{
|
|
||||||
bottom: -2.9375rem;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
.pic-toolbar .tabbar{
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: flex;
|
|
||||||
border-radius: 39px;
|
|
||||||
background: var(--bg-poper);
|
|
||||||
padding: 0.375rem 0;
|
|
||||||
color: var(--header-text);
|
|
||||||
/* box-shadow: 0px 0px 5px 1px var(--bg-poperHover); */
|
|
||||||
}
|
|
||||||
.pic-toolbar .tab-item{
|
|
||||||
-webkit-box-flex: 1;
|
|
||||||
-webkit-flex: 1;
|
|
||||||
flex: 1;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.pic-toolbar .tab-item .icon{
|
|
||||||
font-size: var(--font-32);
|
|
||||||
}
|
|
||||||
.pic-toolbar .tab-item img{
|
|
||||||
border-radius: 50%;
|
|
||||||
width: 2.1875rem;
|
|
||||||
height: 2.1875rem;
|
|
||||||
vertical-align: bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .bottom-img-message{
|
|
||||||
text-align: center;
|
|
||||||
color: var(--content-text);
|
|
||||||
overflow: hidden;
|
|
||||||
max-height: 65px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .bottom-img-message .name {
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
margin-top: 10px;
|
|
||||||
width: 100%;
|
|
||||||
max-height: 35px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .bottom-img-message .other {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
height: 21px;
|
|
||||||
padding-top: 5px;
|
|
||||||
color: var(--content-textMessage);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .bottom-img-message .other .score{
|
|
||||||
color: var(--stars);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .bottom-img-message .other .score.active{
|
|
||||||
color: var(--starsActive);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .annotation{
|
|
||||||
position: absolute;
|
|
||||||
right: 5px;
|
|
||||||
top: 5px;
|
|
||||||
font-size: 14px;
|
|
||||||
width: 22px;
|
|
||||||
height: 22px;
|
|
||||||
border: 2px solid #FFFFFF;
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #FFFFFF;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 20px;
|
|
||||||
background: var(--color-primary);
|
|
||||||
}
|
|
||||||
#imgContainer{
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem{
|
|
||||||
position: absolute;
|
|
||||||
/* transition:all .2s; */
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox {
|
|
||||||
padding-left: 4px;
|
|
||||||
padding-right: 4px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
cursor: zoom-in;
|
|
||||||
min-height: 120px;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border.radius{
|
|
||||||
border-radius: 18px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: relative;
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .bck{
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: none;
|
|
||||||
background: var(--bg-poper);
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0.7;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .img {
|
|
||||||
max-width: 100%;
|
|
||||||
max-height: 100%;
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
border-radius: 18px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .img.opacity{
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box{
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 2;
|
|
||||||
width: 45px;
|
|
||||||
height: 45px;
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box .circular-item{
|
|
||||||
width: 45px;
|
|
||||||
height: 45px;
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #333;
|
|
||||||
z-index: 100;
|
|
||||||
font-size: 21px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 45px;
|
|
||||||
background: #ffffff;
|
|
||||||
position: absolute;
|
|
||||||
transition: top .3s ease-in-out,left .3s ease-in-out;
|
|
||||||
/* transition: all .3s ease-in-out; */
|
|
||||||
top: -22.5px;
|
|
||||||
left: -22.5px;
|
|
||||||
transform-origin: 0px;
|
|
||||||
/* transition-delay: 0.02s; */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed{
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .bck{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .img{
|
|
||||||
position: absolute;
|
|
||||||
z-index: 2;
|
|
||||||
max-width: inherit;
|
|
||||||
max-height: inherit;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .round{
|
|
||||||
position: absolute;
|
|
||||||
width: 45px;
|
|
||||||
height: 45px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: transparent;
|
|
||||||
left: 0px;
|
|
||||||
top: 0px;
|
|
||||||
border: 3px solid var(--bg-poper);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box{
|
|
||||||
position: absolute;
|
|
||||||
left: -67.5px;
|
|
||||||
top: -67.5px;
|
|
||||||
border: 90px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.first{
|
|
||||||
top: -22.5px;
|
|
||||||
left: -22.5px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.two{
|
|
||||||
top: 0px;
|
|
||||||
left: -80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top .circular-item.three{
|
|
||||||
top: -22.5px;
|
|
||||||
left: -138.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box .circular-item-box .icon{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.first{
|
|
||||||
transform: rotate(0deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two{
|
|
||||||
transform: rotate(45deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.two .icon{
|
|
||||||
transform: rotate(-45deg);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three{
|
|
||||||
transform: rotate(90deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top .circular-item.three .icon{
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.first{
|
|
||||||
top: -80.5px;
|
|
||||||
left: 1px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.two{
|
|
||||||
top: -22.5px;
|
|
||||||
left: -22.5px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.right .circular-item.three{
|
|
||||||
top: 0px;
|
|
||||||
left: -80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first{
|
|
||||||
transform: rotate(-45deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.first .icon{
|
|
||||||
transform: rotate(45deg);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two{
|
|
||||||
transform: rotate(0deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.two .icon{
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three{
|
|
||||||
transform: rotate(45deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.right .circular-item.three .icon{
|
|
||||||
transform: rotate(-45deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.first{
|
|
||||||
top: 0px;
|
|
||||||
left: -80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.two{
|
|
||||||
top: -22.5px;
|
|
||||||
left: -136.5px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black .circular-box.top.left .circular-item.three{
|
|
||||||
left: -160px;
|
|
||||||
top: -80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first{
|
|
||||||
transform: rotate(45deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.first .icon{
|
|
||||||
transform: rotate(-45deg);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two{
|
|
||||||
transform: rotate(90deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.two .icon{
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three{
|
|
||||||
transform: rotate(135deg);
|
|
||||||
top: -80px;
|
|
||||||
left: -80px;
|
|
||||||
transform-origin: 80px 80px;
|
|
||||||
}
|
|
||||||
#imgContainer .imgitem .imgbox .imgbox-border .div-black.fixed .circular-box.top.left .circular-item.three .icon{
|
|
||||||
transform: rotate(-135deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
.#imgContainer .imgitem {
|
|
||||||
width: 33.3333%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 992px) {
|
|
||||||
.#imgContainer .imgitem {
|
|
||||||
width: 25%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 1024px) {
|
|
||||||
.#imgContainer .imgitem {
|
|
||||||
width: 20%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.van-nav-bar .van-icon{
|
.van-nav-bar .van-icon{
|
||||||
color: var(--content-textHover);
|
color: var(--content-textHover);
|
||||||
}
|
}
|
||||||
@@ -867,72 +128,12 @@
|
|||||||
color: var(--content-textHover);
|
color: var(--content-textHover);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.screen-popup .van-cell::after{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.about-popup,
|
|
||||||
.my-popup{
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
background: var(--bg-content);
|
|
||||||
color: var(--content-textHover);
|
|
||||||
overflow: hidden;
|
|
||||||
padding-top: 46px;
|
|
||||||
}
|
|
||||||
.about-popup .van-nav-bar,
|
|
||||||
.my-popup .van-nav-bar{
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.about-popup .scroll-box,
|
|
||||||
.my-popup .scroll-box{
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
padding-top: 0.9375rem;
|
|
||||||
}
|
|
||||||
.my-popup .scroll-box .van-cell-group{
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
.my-popup .scroll-box .van-cell {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
.my-popup .scroll-box .van-cell::after{
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.my-popup .scroll-box .van-cell .van-cell__right-icon{
|
|
||||||
color: var(--header-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
.about-popup .aboutlogo{
|
|
||||||
text-align: center;
|
|
||||||
padding-top: 3.125rem;
|
|
||||||
padding-bottom: 1.875rem;
|
|
||||||
}
|
|
||||||
.about-popup .aboutmessage{
|
|
||||||
padding: 0 2.1875rem;
|
|
||||||
}
|
|
||||||
.about-popup .aboutmessage .aboutlist{
|
|
||||||
margin-bottom: 1.25rem;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
.about-popup .aboutmessage .aboutlist .title{
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.about-popup .aboutmessage .aboutlist .address{
|
|
||||||
color: var(--color-primary);
|
|
||||||
font-size: 1rem;
|
|
||||||
vertical-align: sub;
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
.about-popup .aboutmessage{
|
|
||||||
padding: 0 6.25rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
296
dzz/pichome/css/mobile/screen.css
Normal file
296
dzz/pichome/css/mobile/screen.css
Normal file
@@ -0,0 +1,296 @@
|
|||||||
|
.notScreen{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.notScreen>div{
|
||||||
|
height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
font-size: var(--font-14);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.notScreen>div img{
|
||||||
|
width: 3.125rem;
|
||||||
|
height: 3.125rem;
|
||||||
|
}
|
||||||
|
.sort-popup .van-popup__close-icon--top-right,
|
||||||
|
.screen-popup .van-popup__close-icon--top-right {
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
/* .sort-popup .van-tree-select{
|
||||||
|
height: calc(100% - 41px) !important;
|
||||||
|
height: -moz-calc(100% - 41px) !important;
|
||||||
|
height: -webkit-calc(100% - 41px) !important;
|
||||||
|
} */
|
||||||
|
.screen-popup .van-tree-select{
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select .van-sidebar{
|
||||||
|
width: 6rem;
|
||||||
|
-webkit-box-flex: initial;
|
||||||
|
-webkit-flex: initial;
|
||||||
|
flex: initial;
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content,
|
||||||
|
.screen-popup .van-tree-select__content{
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item-box{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-top: 56px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box{
|
||||||
|
padding: 0px 8px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option{
|
||||||
|
padding: 10px 16px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .screen-item-option-box .screen-item-option.active{
|
||||||
|
background: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item{
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row{
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 18px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row .swip{
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: var(--bg-input);
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .swip-row .swip.active{
|
||||||
|
background: var(--color-primary);
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag{
|
||||||
|
margin-bottom: 6px;
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
.van-popup .van-tree-select__content .screen-item .van-cell-group .van-cell.van-cell-tag.active{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content .screen-item .van-cell-group,
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .van-cell-group{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.sort-popup .van-tree-select__content .screen-item .van-cell-group .van-cell,
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .van-cell-group .van-cell{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.van-calendar__day--end, .van-calendar__day--multiple-middle, .van-calendar__day--multiple-selected, .van-calendar__day--start, .van-calendar__day--start-end{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.screen-popup .van-hairline--top-bottom::after, .screen-popup .van-hairline-unset--top-bottom::after {
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
.sort-popup .van-hairline--top-bottom::after, .sort-popup .van-hairline-unset--top-bottom::after {
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick{
|
||||||
|
overflow: hidden;
|
||||||
|
/* margin-left: -10px; */
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list-box{
|
||||||
|
width: 20%;
|
||||||
|
margin-bottom: 0.1875rem;
|
||||||
|
padding: 0 0.1875rem;
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list{
|
||||||
|
/* float: left;
|
||||||
|
height: calc(20% / 2);
|
||||||
|
width: 20%;
|
||||||
|
height: 2.5rem;
|
||||||
|
width: 2.5rem;
|
||||||
|
z-index: 1;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-bottom: 0.625rem;
|
||||||
|
margin-left: 0.625rem;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
position: relative; */
|
||||||
|
height: 0;
|
||||||
|
padding: 25% 0;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
position: absolute;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: auto;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
font-size: 18px;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .quick .quick-list .van-icon{
|
||||||
|
font-size: 30px;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input{
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 0.9375rem;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field{
|
||||||
|
/* padding: 0; */
|
||||||
|
/* height: 35px; */
|
||||||
|
padding-left: 35px;
|
||||||
|
/* height: 35px; */
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show{
|
||||||
|
position: absolute;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
z-index: 1;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-top: auto;
|
||||||
|
margin-bottom: auto;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 8px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .color-show.border{
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button{
|
||||||
|
padding-left: 8px;
|
||||||
|
line-height: 35px;
|
||||||
|
padding-right: 8px;
|
||||||
|
border-left: 1px solid var(--border-color-base);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-input .van-field .van-field__button img{
|
||||||
|
vertical-align: sub;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .screen-item .color-box .color-slider{
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 15px 0;
|
||||||
|
}
|
||||||
|
.screen-popup .van-calendar__popup .van-button--danger{
|
||||||
|
background-color: var(--color-primary);
|
||||||
|
border-color: var(--color-primary);
|
||||||
|
}
|
||||||
|
.screen-popup .van-calendar__popup .van-calendar__month-mark{
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs{
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs--line .van-tabs__wrap{
|
||||||
|
/* border-bottom: 1px solid var(--slider-line); */
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content{
|
||||||
|
height: calc(100% - 44px);
|
||||||
|
height: -moz-calc(100% - 44px);
|
||||||
|
height: -webkit-calc(100% - 44px);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs .van-tabs__content .van-tab__pane{
|
||||||
|
height: 100%;
|
||||||
|
padding-top: 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab{
|
||||||
|
color: var(--header-text);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-tabs__nav .van-tab.van-tab--active{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.screen-popup .van-tree-select__content .van-cell .num{
|
||||||
|
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,
|
||||||
|
.screen-popup .van-tree-select__content .van-cell::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-classify-collapse .van-cell{
|
||||||
|
background-color: transparent;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
.screen-classify-collapse .van-collapse-item.active>.van-cell{
|
||||||
|
background-color: var(--bg-poperHover);
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
.screen-classify-collapse .van-cell::after,
|
||||||
|
.screen-classify-collapse .van-hairline--top-bottom::after,
|
||||||
|
.screen-classify-collapse .van-collapse-item--border::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.screen-classify-collapse .van-collapse-item__content{
|
||||||
|
background-color: transparent;
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 1rem;
|
||||||
|
}
|
||||||
|
.screen-classify-collapse .van-cell__value{
|
||||||
|
flex: none;
|
||||||
|
}
|
||||||
|
.van-calendar__day--middle{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.van-calendar__day--start{
|
||||||
|
border-radius: 16px 0 0 16px;
|
||||||
|
}
|
||||||
|
.van-calendar__day--end{
|
||||||
|
border-radius: 0 16px 16px 0;
|
||||||
|
}
|
||||||
|
.screen-cell-input{
|
||||||
|
margin-bottom: 16px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
.screen-cell-input::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.screen-cell-input .van-field{
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -31,13 +31,60 @@ 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{
|
||||||
|
z-index: 100;
|
||||||
|
color: var(--header-text);
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
.el-page-header__left:hover{
|
||||||
|
color: var(--header-active);
|
||||||
|
}
|
||||||
|
.el-page-header__left .el-icon-back{
|
||||||
|
font-size: 21px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.el-page-header__left .el-page-header__title{
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.el-page-header__left::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
.tipTxt{
|
.tipTxt{
|
||||||
color: var(--tip-color);
|
color: var(--tip-color);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
}
|
}
|
||||||
|
.highlight {
|
||||||
|
color: var(--leftTreeColor);
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
.tipTxt:hover {
|
.tipTxt:hover {
|
||||||
color: var(--content-text);
|
color: var(--content-text);
|
||||||
}
|
}
|
||||||
@@ -120,6 +167,9 @@ body{
|
|||||||
.el-progress-bar__outer{
|
.el-progress-bar__outer{
|
||||||
background-color: var(--bg-input);
|
background-color: var(--bg-input);
|
||||||
}
|
}
|
||||||
|
.el-dropdown-menu{
|
||||||
|
min-width: 165px;
|
||||||
|
}
|
||||||
.el-dropdown-menu__item--divided{
|
.el-dropdown-menu__item--divided{
|
||||||
border-color: var(--border-color-base);
|
border-color: var(--border-color-base);
|
||||||
}
|
}
|
||||||
@@ -302,9 +352,18 @@ body{
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
.page-component__scroll>.el-scrollbar__wrap {
|
.el-scrollbar__wrap {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
.el-select-dropdown__wrap.el-scrollbar__wrap {
|
||||||
|
overflow-x: scroll;
|
||||||
|
}
|
||||||
|
#copyInput{
|
||||||
|
opacity: 0;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
.Topcarousel{
|
.Topcarousel{
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -314,17 +373,27 @@ body{
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
#copyInput{
|
|
||||||
opacity: 0;
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.img-circle{
|
.img-circle{
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
.img-circle,.Topcarousel{
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
.small .img-circle,.small .Topcarousel{
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
line-height: 35px;
|
||||||
|
}
|
||||||
|
.mini .img-circle,.mini .Topcarousel{
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
.hide{
|
.hide{
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
@@ -410,11 +479,11 @@ 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;
|
||||||
|
min-width: 150px;
|
||||||
}
|
}
|
||||||
#top_header .header-content .h-left>a{
|
#top_header .header-content .h-left>a{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -422,6 +491,7 @@ ul{
|
|||||||
padding-left: 41px;
|
padding-left: 41px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container2 #top_header .header-content .h-left>a{
|
.container2 #top_header .header-content .h-left>a{
|
||||||
width: calc(100% - 45px);
|
width: calc(100% - 45px);
|
||||||
}
|
}
|
||||||
@@ -574,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);
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
|
#Details_Iframe{
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
#container_scroll .el-loading-mask{
|
#container_scroll .el-loading-mask{
|
||||||
background: var(--bg-content);
|
background: var(--bg-content);
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
@@ -21,6 +29,11 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
#container_scroll .container-not.center{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
.image-container{
|
.image-container{
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -35,11 +48,20 @@
|
|||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside{
|
.image-container .image-wrapper .image-item .image-inside{
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single{
|
.image-container .image-wrapper .image-item .image-inside .image-single{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: var(--bg-content);
|
background: var(--bg-content);
|
||||||
|
border: 1px solid transparent;
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item.checked .image-inside .image-single{
|
||||||
|
border: 1px solid var(--border-color-base);
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
.container2 .image-container .image-wrapper .image-item.checked .image-inside .image-single{
|
||||||
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single.radius{
|
.image-container .image-wrapper .image-item .image-inside .image-single.radius{
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
@@ -77,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;
|
||||||
}
|
}
|
||||||
@@ -108,14 +133,68 @@
|
|||||||
.image-container .image-wrapper .image-item .image-inside .message{
|
.image-container .image-wrapper .image-item .image-inside .message{
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .topFlex{
|
|
||||||
|
.image-container .image-wrapper .image-item .image-inside .el-button-group{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 8px;
|
z-index: 10;
|
||||||
|
left: 12px;
|
||||||
|
top: 8px;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item .image-inside:hover .el-button-group{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item .image-inside .el-button-group .reference{
|
||||||
|
margin-right: -1px;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
float: left;
|
||||||
|
border-left: 0;
|
||||||
|
border-top-left-radius: 18px;
|
||||||
|
border-bottom-left-radius: 18px;
|
||||||
|
height:36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container2 .image-container .image-wrapper .image-item .image-inside .el-button-group .reference{
|
||||||
|
border-top-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{
|
||||||
|
border-radius: 3px;
|
||||||
|
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{
|
||||||
|
height: 36px;
|
||||||
|
padding: 0px 3px;
|
||||||
|
border-top-right-radius: 18px;
|
||||||
|
border-bottom-right-radius: 18px;
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
.container2 .image-container .image-wrapper .image-item .image-inside .el-button-group .el-dropdown__caret-button{
|
||||||
|
border-top-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{
|
||||||
|
position: absolute;
|
||||||
|
right: 8px;
|
||||||
top: 8px;
|
top: 8px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .circulars{
|
.image-container .image-wrapper .image-item .image-inside .circulars{
|
||||||
background-color: var(--content-imgbg-btn);
|
background-color: var(--content-imgbg-btn);
|
||||||
color: var(--content-imgbg-txt);
|
color: var(--content-imgbg-txt);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
@@ -130,17 +209,17 @@
|
|||||||
display: none;
|
display: none;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single.showoperation .circulars{
|
.image-container .image-wrapper .image-item .image-inside:hover .circulars{
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .circulars:first-child{
|
.image-container .image-wrapper .image-item .image-inside .circulars:first-child{
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .circulars:hover{
|
.image-container .image-wrapper .image-item .image-inside .circulars:hover{
|
||||||
color: var(--content-imgbg-txtHover);
|
color: var(--content-imgbg-txtHover);
|
||||||
background-color: var(--content-imgbg-btnHover);
|
background-color: var(--content-imgbg-btnHover);
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .circulars.link{
|
.image-container .image-wrapper .image-item .image-inside .circulars.link{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 8px;
|
bottom: 8px;
|
||||||
left: 8px;
|
left: 8px;
|
||||||
@@ -151,13 +230,13 @@
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .circulars.link .el-link--inner{
|
.image-container .image-wrapper .image-item .image-inside .circulars.link .el-link--inner{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box{
|
.image-container .image-wrapper .image-item .image-inside .image-playurl .movies-box{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
@@ -181,10 +260,13 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice{
|
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
right: 46px;
|
||||||
|
top: 7px;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl.exhibit .movies-box .voice{
|
||||||
right: 8px;
|
right: 8px;
|
||||||
top: 8px;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
}
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice.yes .no,
|
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice.yes .no,
|
||||||
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice.no .yes{
|
.image-container .image-wrapper .image-item .image-inside .image-single .image-playurl .movies-box .voice.no .yes{
|
||||||
@@ -278,3 +360,54 @@
|
|||||||
.image-container .image-wrapper .image-item .image-inside .message .other .score.active{
|
.image-container .image-wrapper .image-item .image-inside .message .other .score.active{
|
||||||
color: var(--starsActive);
|
color: var(--starsActive);
|
||||||
}
|
}
|
||||||
|
.image-container .image-wrapper .image-item .collect-checkeds{
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 20;
|
||||||
|
display: none;
|
||||||
|
cursor: pointer;
|
||||||
|
/* border: 2px solid var(--border-color-base); */
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item.checked .collect-checkeds{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.image-container .image-wrapper .image-item .collect-checkeds .check{
|
||||||
|
position: absolute;
|
||||||
|
left: 12px;
|
||||||
|
top: 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #000;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
#imagelayout .collects-move-btn-box{
|
||||||
|
position: fixed;
|
||||||
|
bottom: 30px;
|
||||||
|
left: 0;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#imagelayout .collects-move-btn-box .item{
|
||||||
|
width: 58px;
|
||||||
|
height: 58px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 58px;
|
||||||
|
font-size: 22px;
|
||||||
|
background: var(--header-textHover);
|
||||||
|
border-radius: 50%;
|
||||||
|
color: var(--header-text);
|
||||||
|
display: inline-block;
|
||||||
|
box-shadow: rgb(0,0,0,0.1) 0px 0px 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#imagelayout .collects-move-btn-box .item:hover{
|
||||||
|
background: var(--header-textHover);
|
||||||
|
color: var(--header-iconHover);
|
||||||
|
}
|
||||||
@@ -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{
|
||||||
@@ -86,9 +86,6 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
#container_scroll .el-scrollbar__wrap{
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
|
||||||
#container_scroll .el-scrollbar__wrap .el-scrollbar__view{
|
#container_scroll .el-scrollbar__wrap .el-scrollbar__view{
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -97,15 +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;
|
||||||
}
|
|
||||||
#Details_Iframe{
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
}
|
||||||
.container2 .el-header{
|
.container2 .el-header{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@@ -169,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;
|
||||||
}
|
}
|
||||||
@@ -353,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;
|
||||||
@@ -472,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;
|
||||||
}
|
}
|
||||||
@@ -508,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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
--header-screenDel:#C9405A;/* 头部清除筛选的 × 背景色 */
|
--header-screenDel:#C9405A;/* 头部清除筛选的 × 背景色 */
|
||||||
|
|
||||||
--bg-content:#1E1E1E;/* 内容背景色 */
|
--bg-content:#1E1E1E;/* 内容背景色 */
|
||||||
|
--bg-contentopacity:rgb(30,30,30,0.6);/* 内容背景色透明 */
|
||||||
--content-text:#BCBCBC;/* 内容文字颜色 */
|
--content-text:#BCBCBC;/* 内容文字颜色 */
|
||||||
--content-textHover:#F4F4F4;/* 内容文字hover颜色 */
|
--content-textHover:#F4F4F4;/* 内容文字hover颜色 */
|
||||||
--content-imgbg:#161616;/* 图片背景色 */
|
--content-imgbg:#161616;/* 图片背景色 */
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
--header-screenDel:#C33A54;/* 头部清除筛选的 × 背景色 */
|
--header-screenDel:#C33A54;/* 头部清除筛选的 × 背景色 */
|
||||||
|
|
||||||
--bg-content:#383838;/* 内容背景色 */
|
--bg-content:#383838;/* 内容背景色 */
|
||||||
|
--bg-contentopacity:rgb(56,56,56,0.6);/* 内容背景色透明 */
|
||||||
--content-text:#C4C4C4;/* 内容文字颜色 */
|
--content-text:#C4C4C4;/* 内容文字颜色 */
|
||||||
--content-textHover:#F6F6F6;/* 内容文字hover颜色 */
|
--content-textHover:#F6F6F6;/* 内容文字hover颜色 */
|
||||||
--content-imgbg:#303030;/* 图片背景色 */
|
--content-imgbg:#303030;/* 图片背景色 */
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
--header-screenDel:#F66E88;/* 头部清除筛选的 × 背景色 */
|
--header-screenDel:#F66E88;/* 头部清除筛选的 × 背景色 */
|
||||||
|
|
||||||
--bg-content:#E2E4E5;/* 内容背景色 */
|
--bg-content:#E2E4E5;/* 内容背景色 */
|
||||||
|
--bg-contentopacity:rgb(226,228,229,0.6);/* 内容背景色透明 */
|
||||||
--content-text:#26292A;/* 内容文字颜色 */
|
--content-text:#26292A;/* 内容文字颜色 */
|
||||||
--content-textHover:#121516;/* 内容文字hover颜色 */
|
--content-textHover:#121516;/* 内容文字hover颜色 */
|
||||||
--content-imgbg:#FFFFFF;/* 图片背景色 */
|
--content-imgbg:#FFFFFF;/* 图片背景色 */
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
--header-screenDel:#CD4562;/* 头部清除筛选的 × 背景色 */
|
--header-screenDel:#CD4562;/* 头部清除筛选的 × 背景色 */
|
||||||
|
|
||||||
--bg-content:#303342;/* 内容背景色 */
|
--bg-content:#303342;/* 内容背景色 */
|
||||||
|
--bg-contentopacity:rgb(48,51,66,0.6);/* 内容背景色透明 */
|
||||||
--content-text:#C1C2C7;/* 内容文字颜色 */
|
--content-text:#C1C2C7;/* 内容文字颜色 */
|
||||||
--content-textHover:#F2F2F3;/* 内容文字hover颜色 */
|
--content-textHover:#F2F2F3;/* 内容文字hover颜色 */
|
||||||
--content-imgbg:#2A2C39;/* 图片背景色 */
|
--content-imgbg:#2A2C39;/* 图片背景色 */
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user