Compare commits
15 Commits
20
UPDATE.md
Normal file
20
UPDATE.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
## PicHome beta3.1 更新说明
|
||||||
|
|
||||||
|
### 1.增加billfish库文件导入支持
|
||||||
|
|
||||||
|
### 2.库设置内容更改,显示当前库连接状态,断开为不可用;增加普通目录文件缩略图生成数量显示,
|
||||||
|
整体优化库设置在未导入之前也可对库进行管理操作
|
||||||
|
|
||||||
|
### 3.修复系统设置界面因二级域名导致的白页问题
|
||||||
|
|
||||||
|
### 4.修复标签分类等数据显示异常问题;不可用状态的库将不在列表页展示其内容
|
||||||
|
|
||||||
|
### 5.修复下载时提示文件不存在的bug
|
||||||
|
|
||||||
|
### 6.优化删除逻辑,将更快清理冗余数据
|
||||||
|
|
||||||
|
### 7.优化导入逻辑
|
||||||
|
|
||||||
|
### 8.优化访问效率
|
||||||
|
|
||||||
|
### 9.其他已知bug修复
|
||||||
@@ -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']):'static/image/common/logo.png').'" />';
|
$avastar ='<img src="'.($_G['setting']['sitelogo']?\IO::getFileUri('attach::'.$_G['setting']['sitelogo']):'data/attachment/sitelogo/sitelogo.png').'" />';
|
||||||
}else{
|
}else{
|
||||||
$avastar = avatar_block($uid);
|
$avastar = avatar_block($uid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ d8a7e6b6f5a2f94640bc7b5397f6585d *admin/language/zh-CN/lang.php
|
|||||||
51bcacee1c7fed967c6f91b256e9c139 *admin/login/images/adminlogin.css
|
51bcacee1c7fed967c6f91b256e9c139 *admin/login/images/adminlogin.css
|
||||||
d3af6beed6f4c5941d8474d8c30de6ab *admin/login/images/bg_login.gif
|
d3af6beed6f4c5941d8474d8c30de6ab *admin/login/images/bg_login.gif
|
||||||
0f31ffb005308e69393850d6704a5743 *admin/login/images/login_title.gif
|
0f31ffb005308e69393850d6704a5743 *admin/login/images/login_title.gif
|
||||||
c3ed53246c61a74dca37236067d3ba56 *admin/login/login.php
|
8b43d60b9f6b725670aae0a0eefc1761 *admin/login/login.php
|
||||||
2ccb26dbc4099faa5579c6c0d5727623 *admin/login/updatesession.php
|
2ccb26dbc4099faa5579c6c0d5727623 *admin/login/updatesession.php
|
||||||
cd5af5197f085d31563c357bf2b3f933 *admin/scripts/admin.js
|
cd5af5197f085d31563c357bf2b3f933 *admin/scripts/admin.js
|
||||||
2eead28813ab73fc1f0c84d01e6ba64a *admin/system/common.php
|
a6964db4b95a3d7fc276d190f92a9542 *admin/system/common.php
|
||||||
a60c2224558c2b82fbc7c5298df8aa5f *admin/system/cron.php
|
a60c2224558c2b82fbc7c5298df8aa5f *admin/system/cron.php
|
||||||
a3342df727581964bd15ba05ef4b74db *admin/system/database.php
|
a3342df727581964bd15ba05ef4b74db *admin/system/database.php
|
||||||
9a7dd5d9cca593615256b921abcc0ab6 *admin/system/dist/css/chunk-2b4f90f7.519dec70.css
|
9a7dd5d9cca593615256b921abcc0ab6 *admin/system/dist/css/chunk-2b4f90f7.519dec70.css
|
||||||
@@ -33,13 +33,14 @@ 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
|
||||||
e2f8d2bdc0ed43b3e740d749bef566a1 *admin/system/dist/index.html
|
ae1ba44ed8a73c33b0aa0ab4a44cf523 *admin/system/dist/index.html
|
||||||
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
|
||||||
14d1eb5255f59b744a0e86b76e999f8c *admin/system/dist/js/chunk-2d0bdbc6.53098007.js
|
14d1eb5255f59b744a0e86b76e999f8c *admin/system/dist/js/chunk-2d0bdbc6.53098007.js
|
||||||
3b0a51a1b72121d6fc0609eb6baa3777 *admin/system/dist/js/chunk-2d0dd46d.0816c17e.js
|
3b0a51a1b72121d6fc0609eb6baa3777 *admin/system/dist/js/chunk-2d0dd46d.0816c17e.js
|
||||||
f1356ba4b41b1c2d0db9158645cfd968 *admin/system/dist/js/chunk-2d0dd46d.bd431129.js
|
f1356ba4b41b1c2d0db9158645cfd968 *admin/system/dist/js/chunk-2d0dd46d.bd431129.js
|
||||||
|
4e26cdd7c793a4c00c5c2e7b028ed164 *admin/system/dist/js/chunk-2d0dd46d.e13ddeba.js
|
||||||
9db135fe644e548e0a4fe5b93f720402 *admin/system/dist/js/chunk-2d0efd3c.44a093d1.js
|
9db135fe644e548e0a4fe5b93f720402 *admin/system/dist/js/chunk-2d0efd3c.44a093d1.js
|
||||||
9db135fe644e548e0a4fe5b93f720402 *admin/system/dist/js/chunk-2d0efd3c.e5ca30a9.js
|
9db135fe644e548e0a4fe5b93f720402 *admin/system/dist/js/chunk-2d0efd3c.e5ca30a9.js
|
||||||
00fe7bb4722b6d823eafdb62c12eb80f *admin/system/dist/js/chunk-2d20fcd9.50f81306.js
|
00fe7bb4722b6d823eafdb62c12eb80f *admin/system/dist/js/chunk-2d20fcd9.50f81306.js
|
||||||
@@ -59,12 +60,13 @@ f1356ba4b41b1c2d0db9158645cfd968 *admin/system/dist/js/chunk-2d0dd46d.bd431129.j
|
|||||||
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
|
||||||
5247e802fd0efbbe8eb80cd9f6a34540 *admin/system/dist/js/index.b5ff203c.js
|
5247e802fd0efbbe8eb80cd9f6a34540 *admin/system/dist/js/index.b5ff203c.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
|
||||||
0d548b27371bb03899d61437a8cdf8fa *admin/system/dist/js/system_temp.c7e32270.js
|
0d548b27371bb03899d61437a8cdf8fa *admin/system/dist/js/system_temp.c7e32270.js
|
||||||
554e1288867238ccbe21a7dc65fe9487 *admin/system/dzz_app_system.xml
|
554e1288867238ccbe21a7dc65fe9487 *admin/system/dzz_app_system.xml
|
||||||
239eb22317126a0067173db3fcf2b72d *admin/system/index.php
|
239eb22317126a0067173db3fcf2b72d *admin/system/index.php
|
||||||
cd0e9a1fce04adee53b60b2fef50a460 *admin/system/interface.php
|
cd0e9a1fce04adee53b60b2fef50a460 *admin/system/interface.php
|
||||||
428aa41021aaa0baa182abf834d66f8b *admin/system/intsystemupgrade.php
|
cf27e39ac4900fcee0aa0f6e2f7a11ac *admin/system/intsystemupgrade.php
|
||||||
56cfc3e9d0b5e12680907b08abaa704b *admin/system/language/en-US/lang.php
|
56cfc3e9d0b5e12680907b08abaa704b *admin/system/language/en-US/lang.php
|
||||||
8c248279a72f8cc2dc116afcd3894b7f *admin/system/language/zh-CN/lang.php
|
8c248279a72f8cc2dc116afcd3894b7f *admin/system/language/zh-CN/lang.php
|
||||||
2e29e753720225abad58e29934b1812b *admin/system/systemupgrade.php
|
2e29e753720225abad58e29934b1812b *admin/system/systemupgrade.php
|
||||||
@@ -75,7 +77,7 @@ ca1b28e030ced95bc1b2d3a8395a0c12 *admin/system/template/database.htm
|
|||||||
e75e7d98ec5df282d171f0e91b189ee8 *admin/system/template/upgrade.htm
|
e75e7d98ec5df282d171f0e91b189ee8 *admin/system/template/upgrade.htm
|
||||||
08fc7d5efcabe2051ed6b5d35653cf08 *admin/system/template/upgrade_iframe.htm
|
08fc7d5efcabe2051ed6b5d35653cf08 *admin/system/template/upgrade_iframe.htm
|
||||||
6a3755f9351b38a13f1dee06a662cb8b *admin/system/updatecache.php
|
6a3755f9351b38a13f1dee06a662cb8b *admin/system/updatecache.php
|
||||||
5c52541348e0e25d1e9930ea4bc1fddd *admin/system/upgradeinterface.php
|
ae1fa5e1948b4748d7426fe887646a7f *admin/system/upgradeinterface.php
|
||||||
518d358371d639f89c13606502bc9a76 *admin/systemlog/admin.php
|
518d358371d639f89c13606502bc9a76 *admin/systemlog/admin.php
|
||||||
a1f9ec6e949f265a869e5e2dd9115aeb *admin/systemlog/classes/systemlog.php
|
a1f9ec6e949f265a869e5e2dd9115aeb *admin/systemlog/classes/systemlog.php
|
||||||
1266e0a961f6092def97c6e62c4c61ee *admin/systemlog/dzz_app_systemlog.xml
|
1266e0a961f6092def97c6e62c4c61ee *admin/systemlog/dzz_app_systemlog.xml
|
||||||
@@ -90,8 +92,8 @@ abe78a94ae6f33d188e25d7047f5b0f2 *admin/systemlog/template/admin.htm
|
|||||||
455bd79582a8bea73faec69555b69eb3 *admin/systemlog/uninstall.php
|
455bd79582a8bea73faec69555b69eb3 *admin/systemlog/uninstall.php
|
||||||
5bb95d9914284024bfbde8e8cb60286f *admin/template/header_left.htm
|
5bb95d9914284024bfbde8e8cb60286f *admin/template/header_left.htm
|
||||||
853b016ecacafd2eccc8f35a5ab8b276 *admin.php
|
853b016ecacafd2eccc8f35a5ab8b276 *admin.php
|
||||||
af8d986a5c78a4d104938291c6e541ca *avatar.php
|
5e5eb249d06b26d6c26cc8fb30b78892 *avatar.php
|
||||||
d0029be05cb9f585dcbcc8dd34817b81 *config/config_default.php
|
7c0fc1919713ed9e6dd9982bc2bc401b *config/config_default.php
|
||||||
a316f263465d0751621451addf43c399 *config/config_frame.php
|
a316f263465d0751621451addf43c399 *config/config_frame.php
|
||||||
77fc6ae224ef71e20a515569babe71db *core/adminstart.php
|
77fc6ae224ef71e20a515569babe71db *core/adminstart.php
|
||||||
9173cf90c5a53af23a011e81dc6e926a *core/class/cache/cache_file.php
|
9173cf90c5a53af23a011e81dc6e926a *core/class/cache/cache_file.php
|
||||||
@@ -107,10 +109,10 @@ bfd0cbd4c4120f0bef89fb2898332f2b *core/class/class_bbcode.php
|
|||||||
bcfb2e3e9c3ff2018f356176a1cf43a2 *core/class/class_core.php
|
bcfb2e3e9c3ff2018f356176a1cf43a2 *core/class/class_core.php
|
||||||
723a351225f0f7562784e35f8607ce29 *core/class/class_DbException.php
|
723a351225f0f7562784e35f8607ce29 *core/class/class_DbException.php
|
||||||
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
||||||
b950274816c263377559b82772efaa04 *core/class/class_FileDownload.php
|
212cc7650e4798754337b1fefb291827 *core/class/class_FileDownload.php
|
||||||
b6b0b9dc4773307d80f9215ed5122361 *core/class/class_GifMerge.php
|
b6b0b9dc4773307d80f9215ed5122361 *core/class/class_GifMerge.php
|
||||||
af51c6833e10f995e5a1ccb1afcec04d *core/class/class_image.php
|
4793dcfc740be53d3fc40ba98562558a *core/class/class_image.php
|
||||||
e99bae42416330fb30a5d601e3849fee *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
|
||||||
8987c817fd10d12a23dc995a40e00869 *core/class/class_PHPExcel.php
|
8987c817fd10d12a23dc995a40e00869 *core/class/class_PHPExcel.php
|
||||||
@@ -133,7 +135,7 @@ aa439e22adcd2c891dc614294517c6f4 *core/class/dzz/apprun.php
|
|||||||
9c2c276408444f71e3e446d8d6b3cf85 *core/class/dzz/config.php
|
9c2c276408444f71e3e446d8d6b3cf85 *core/class/dzz/config.php
|
||||||
df04f6a6a7204e01a17da726e0568990 *core/class/dzz/Datareturn.php
|
df04f6a6a7204e01a17da726e0568990 *core/class/dzz/Datareturn.php
|
||||||
59cf921f33bd5d5389829c76a4375398 *core/class/dzz/dzz_admincp.php
|
59cf921f33bd5d5389829c76a4375398 *core/class/dzz/dzz_admincp.php
|
||||||
821501a8c839ea0889b6709e582f5298 *core/class/dzz/dzz_app.php
|
832d56c7f9f2f4f750ce2905f0fb0d3b *core/class/dzz/dzz_app.php
|
||||||
06e1a108fe8f8945f27acc196d698578 *core/class/dzz/dzz_base.php
|
06e1a108fe8f8945f27acc196d698578 *core/class/dzz/dzz_base.php
|
||||||
90f9c47b4835ebe4512b15d8249c8d0c *core/class/dzz/dzz_censor.php
|
90f9c47b4835ebe4512b15d8249c8d0c *core/class/dzz/dzz_censor.php
|
||||||
067b118a5932dcc4e68b68cde8fc24c9 *core/class/dzz/dzz_container.php
|
067b118a5932dcc4e68b68cde8fc24c9 *core/class/dzz/dzz_container.php
|
||||||
@@ -141,7 +143,7 @@ df04f6a6a7204e01a17da726e0568990 *core/class/dzz/Datareturn.php
|
|||||||
7ef4a92373abeb30aa39a3b2eb207f9f *core/class/dzz/dzz_database.php
|
7ef4a92373abeb30aa39a3b2eb207f9f *core/class/dzz/dzz_database.php
|
||||||
dfd91831160826dad2b6103f17917e21 *core/class/dzz/dzz_error.php
|
dfd91831160826dad2b6103f17917e21 *core/class/dzz/dzz_error.php
|
||||||
d403c1ad69bcff351d1190dce2149e39 *core/class/dzz/dzz_ftp.php
|
d403c1ad69bcff351d1190dce2149e39 *core/class/dzz/dzz_ftp.php
|
||||||
fd7a9da1373125b0d37910be8c2979c2 *core/class/dzz/dzz_io.php
|
8875d1f5668a8d89f1a2e95d8c3a34e4 *core/class/dzz/dzz_io.php
|
||||||
fc1a94ac8a1490bd69b1880395f69999 *core/class/dzz/dzz_memory.php
|
fc1a94ac8a1490bd69b1880395f69999 *core/class/dzz/dzz_memory.php
|
||||||
eb5c167211bc5df07bcb8dad61c3649a *core/class/dzz/dzz_mime.php
|
eb5c167211bc5df07bcb8dad61c3649a *core/class/dzz/dzz_mime.php
|
||||||
05d0c988894ba7e0de9c0a905bdee20b *core/class/dzz/dzz_mode.php
|
05d0c988894ba7e0de9c0a905bdee20b *core/class/dzz/dzz_mode.php
|
||||||
@@ -193,11 +195,19 @@ c78bc70a04ffabf583c0ba733679d38f *core/class/table/table_app_relative.php
|
|||||||
d75145f67e4bc4e6e7466fbcdcce70f6 *core/class/table/table_app_user.php
|
d75145f67e4bc4e6e7466fbcdcce70f6 *core/class/table/table_app_user.php
|
||||||
a3446196ae1775b239f4c6973de5633b *core/class/table/table_attachment.php
|
a3446196ae1775b239f4c6973de5633b *core/class/table/table_attachment.php
|
||||||
968a04f0828be632577394f16153cee3 *core/class/table/table_cache.php
|
968a04f0828be632577394f16153cee3 *core/class/table/table_cache.php
|
||||||
|
1eac3ff80cda050e351addd992101fde *core/class/table/table_connect.php
|
||||||
|
9a1ca8983e818b981f100273b6901ea2 *core/class/table/table_connect_disk.php
|
||||||
|
6fb492decbc1d6a30208a4736a542ff0 *core/class/table/table_connect_ftp.php
|
||||||
|
82080cb532120942f7ff5f2c58ec294b *core/class/table/table_connect_onedrive.php
|
||||||
|
3aea5f157c299f32393d75a7a89861d9 *core/class/table/table_connect_pan.php
|
||||||
|
9f0b065a0b534383933e15da5dfd4acb *core/class/table/table_connect_storage.php
|
||||||
51535981c41dfd78d748944eb07cf214 *core/class/table/table_cron.php
|
51535981c41dfd78d748944eb07cf214 *core/class/table/table_cron.php
|
||||||
f62eb658ab84ebc0d4d29304db39c1ee *core/class/table/table_district.php
|
f62eb658ab84ebc0d4d29304db39c1ee *core/class/table/table_district.php
|
||||||
5b47c663f64792c001ece96a7b93536d *core/class/table/table_failedlogin.php
|
5b47c663f64792c001ece96a7b93536d *core/class/table/table_failedlogin.php
|
||||||
718833cec496c58540ec6f5a6200b6c5 *core/class/table/table_hooks.php
|
718833cec496c58540ec6f5a6200b6c5 *core/class/table/table_hooks.php
|
||||||
379f64b4546595c05c5ee8dca0c5b768 *core/class/table/table_imagetype.php
|
379f64b4546595c05c5ee8dca0c5b768 *core/class/table/table_imagetype.php
|
||||||
|
d406545402b932f027d01d0eea077d09 *core/class/table/table_local_router.php
|
||||||
|
c6e3522aaedb7b8d240c818b424777c0 *core/class/table/table_local_storage.php
|
||||||
b333c9e8748737d29d090f31a502a147 *core/class/table/table_mailcron.php
|
b333c9e8748737d29d090f31a502a147 *core/class/table/table_mailcron.php
|
||||||
01da2848647c78326eb66e42b4d6b695 *core/class/table/table_mailqueue.php
|
01da2848647c78326eb66e42b4d6b695 *core/class/table/table_mailqueue.php
|
||||||
437f394ff257753b19aa059e0d18973f *core/class/table/table_notification.php
|
437f394ff257753b19aa059e0d18973f *core/class/table/table_notification.php
|
||||||
@@ -209,18 +219,23 @@ b333c9e8748737d29d090f31a502a147 *core/class/table/table_mailcron.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
|
||||||
37e3c23f4c36ba1167bc433f18e8ce93 *core/class/table/table_pichome_comments.php
|
37e3c23f4c36ba1167bc433f18e8ce93 *core/class/table/table_pichome_comments.php
|
||||||
5758c6bf142b4bf50c6b05ec908e1604 *core/class/table/table_pichome_folder.php
|
dc169efe36fdf79623277fb5a538c673 *core/class/table/table_pichome_ffmpeg_record.php
|
||||||
3737c426a306d4bea84af3b62abcc98d *core/class/table/table_pichome_folderresources.php
|
64030519d059cc061b9cc990b2ed9b08 *core/class/table/table_pichome_folder.php
|
||||||
26298713afbbb276e365e2b440454321 *core/class/table/table_pichome_palette.php
|
15cc26415b076bb08eeed7f76c40c45b *core/class/table/table_pichome_folderresources.php
|
||||||
f87c22d75232ca68d29ef25f6fe600a9 *core/class/table/table_pichome_resources.php
|
fb390b2cfce67236a7263549a430868b *core/class/table/table_pichome_folder_relation.php
|
||||||
2c3c0805dc3570b1c396c99d6bf21e18 *core/class/table/table_pichome_resourcestag.php
|
180233f6f8d234986280df5c3821fe24 *core/class/table/table_pichome_imagickrecord.php
|
||||||
74c9554b3b2424e3225b6deb0319e445 *core/class/table/table_pichome_resources_attr.php
|
a2a946f8d3a0180db50b1c7435d9516a *core/class/table/table_pichome_palette.php
|
||||||
3c4654178b6881addc9ff4d22e53f4dc *core/class/table/table_pichome_searchrecent.php
|
ec314812cba390bac62835cce5efdfbf *core/class/table/table_pichome_resources.php
|
||||||
|
534452d059df927d062dac5bcd7b0de6 *core/class/table/table_pichome_resourcestag.php
|
||||||
|
c08ce988dad5ccead193db0a7f79b4f2 *core/class/table/table_pichome_resources_attr.php
|
||||||
|
09db8f5c9d2966f503bee5a4c6d6cc32 *core/class/table/table_pichome_resources_relation.php
|
||||||
|
4fb898320b47959764b3f09a5489418b *core/class/table/table_pichome_searchrecent.php
|
||||||
757655270a99be70f9e781fbae5f6634 *core/class/table/table_pichome_share.php
|
757655270a99be70f9e781fbae5f6634 *core/class/table/table_pichome_share.php
|
||||||
fafb2bf10eed9314bc2bf2d6b32d84b9 *core/class/table/table_pichome_tag.php
|
fafb2bf10eed9314bc2bf2d6b32d84b9 *core/class/table/table_pichome_tag.php
|
||||||
aeceea90c6f02af3977b0e8bc4b93430 *core/class/table/table_pichome_taggroup.php
|
02ef950574c3af62f7b13fd61a61c2ce *core/class/table/table_pichome_taggroup.php
|
||||||
d47609a71b53ed6e9f782bd1c8ed9f21 *core/class/table/table_pichome_tagrelation.php
|
d36c3e504e4666b6a9301699ebeeeaa5 *core/class/table/table_pichome_taggroup_relation.php
|
||||||
ca284293fe8ad50612314166a5a42910 *core/class/table/table_pichome_vapp.php
|
1969387f935173b42f34c33c426e1fb7 *core/class/table/table_pichome_tagrelation.php
|
||||||
|
15537ad5c8fac2620c4199d07038a126 *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
|
||||||
@@ -239,13 +254,15 @@ 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
|
||||||
f869d55a8b656f7e51ae88b928b91e6e *core/core_version.php
|
25f7c644790916b7121bd38d1301d1ea *core/core_version.php
|
||||||
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
d90d23b8deb20cef2c43e66725ec2813 *core/cron/cron_cache_cleanup_week.php
|
||||||
d6f619ef3f14590fc5abc6ce76954d25 *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
|
||||||
56383d04d4bbd0537c55ff7ed42536f8 *core/cron/cron_database_backup.php
|
822967cb3ea4c82e3512d23af1a72f77 *core/cron/cron_pichome_delete.php
|
||||||
d0cc3acfbff044dbb11da3ba9019c58d *core/cron/cron_pichome_check_library.php
|
b9d93753f597cf46343c07234d01a37b *core/cron/cron_pichome_getimagecolor.php
|
||||||
8e19dc5a19821962504d18efc6e06bdf *core/cron/cron_pichome_updatelibrary_file.php
|
c04ccafee38c3e06208024a7cbe8a656 *core/cron/cron_pichome_getvideoinfo.php
|
||||||
|
3925c2ef1804631507efcdae43ec1108 *core/cron/cron_pichome_getwideothumb.php
|
||||||
|
dc6a0c77112286b82c5742d0b93c6b6d *core/cron/cron_pichome_updatelibrary_file.php
|
||||||
e437812ec0dbb1050daa691303544d1c *core/dzzstart.php
|
e437812ec0dbb1050daa691303544d1c *core/dzzstart.php
|
||||||
d4c7872572f6965e3173a12153dd758b *core/function/cache/cache_fields_optional.php
|
d4c7872572f6965e3173a12153dd758b *core/function/cache/cache_fields_optional.php
|
||||||
98b3024c7107943c8573cf473d624710 *core/function/cache/cache_fields_register.php
|
98b3024c7107943c8573cf473d624710 *core/function/cache/cache_fields_register.php
|
||||||
@@ -255,9 +272,9 @@ ec9cb962601e7d0d092e7b6e09ba8dc2 *core/function/cache/cache_profilesetting.php
|
|||||||
f0e6d9900f7db48051ee4fdea06c8889 *core/function/cache/cache_setting.php
|
f0e6d9900f7db48051ee4fdea06c8889 *core/function/cache/cache_setting.php
|
||||||
cc7c6903e4401fdb29424890e2084a91 *core/function/cache/cache_usergroups.php
|
cc7c6903e4401fdb29424890e2084a91 *core/function/cache/cache_usergroups.php
|
||||||
2ce5a4d7e34bca8432b5885b14b25574 *core/function/cache/cache_userstats.php
|
2ce5a4d7e34bca8432b5885b14b25574 *core/function/cache/cache_userstats.php
|
||||||
e3e91bb4a446a73d1744ca195e39066a *core/function/function_cache.php
|
a4656352d5a04b447ae9ffa64e2474e7 *core/function/function_cache.php
|
||||||
c006c70d2a5b50212a02a31eff50c71d *core/function/function_code.php
|
c006c70d2a5b50212a02a31eff50c71d *core/function/function_code.php
|
||||||
3727ad4836f9dbdacb0d6ce0f44ee443 *core/function/function_core.php
|
86342eb3ddd47606c7e1ced02f4cc54e *core/function/function_core.php
|
||||||
52776d2eac0619ddad1ca9762781a4b0 *core/function/function_filesock.php
|
52776d2eac0619ddad1ca9762781a4b0 *core/function/function_filesock.php
|
||||||
92ebd7558fd1c9291179a91fb3c2f880 *core/function/function_mail.php
|
92ebd7558fd1c9291179a91fb3c2f880 *core/function/function_mail.php
|
||||||
aff9e34d19a59c6c356696f8f2540618 *core/function/function_message.php
|
aff9e34d19a59c6c356696f8f2540618 *core/function/function_message.php
|
||||||
@@ -286,10 +303,17 @@ d319f5d1c4053a4f85e52230cb2d9610 *core/template/default/common/header_simple_sta
|
|||||||
6e84ec265ebde27f99afe48722ac0324 *core/template/default/common/header_simple_start_none.htm
|
6e84ec265ebde27f99afe48722ac0324 *core/template/default/common/header_simple_start_none.htm
|
||||||
074801b30c5e8b069f72818e630edccc *core/template/default/common/header_simple_start_shou.htm
|
074801b30c5e8b069f72818e630edccc *core/template/default/common/header_simple_start_shou.htm
|
||||||
be29b10ff591a7ba8b75a7ab5c5795fa *core/template/default/common/header_start.htm
|
be29b10ff591a7ba8b75a7ab5c5795fa *core/template/default/common/header_start.htm
|
||||||
|
d24fa8de99184e15ae29538095c86ca5 *core/template/default/common/mobile_about.htm
|
||||||
|
3a2064d77bccd225deefdebb889a60a9 *core/template/default/common/mobile_simple_process.htm
|
||||||
|
9f398a015b731731c1ebf0f679392ff7 *core/template/default/common/mobile_simple_start.htm
|
||||||
c2e9e848f0ebc7bfd0849091242553b0 *core/template/default/common/safechk.htm
|
c2e9e848f0ebc7bfd0849091242553b0 *core/template/default/common/safechk.htm
|
||||||
79fa787397d5da73910266ef70cb3c34 *core/template/default/common/seccheck.htm
|
79fa787397d5da73910266ef70cb3c34 *core/template/default/common/seccheck.htm
|
||||||
1cb4d8cee04c97c0a580f882bc9da940 *core/template/default/common/showmessage.htm
|
1cb4d8cee04c97c0a580f882bc9da940 *core/template/default/common/showmessage.htm
|
||||||
5311bfefd0c1e992725939ec7822db95 *core/template/default/common/showtips.htm
|
5311bfefd0c1e992725939ec7822db95 *core/template/default/common/showtips.htm
|
||||||
|
258c2c32ae45bc1c86894e4f7de3e7cf *core/template/default/common/wx_ajax.htm
|
||||||
|
6bac1116a4ed718d8b22c9d724d5b4b3 *core/template/default/common/wx_appinfo.htm
|
||||||
|
9990d7555fdf8210fa4a2a8672f20fd5 *core/template/default/common/wx_menu.htm
|
||||||
|
768cfd48e43c4a205b1d40ab82acde57 *core/template/default/common/wx_mpinfo.htm
|
||||||
b3264d636cfbc3e4e435c55864714f97 *cron.php
|
b3264d636cfbc3e4e435c55864714f97 *cron.php
|
||||||
10a6d028457a6f41b495f3cfac282839 *data/attachment/appico/201712/21/094100vm3fpb41fo6a3x3f.png
|
10a6d028457a6f41b495f3cfac282839 *data/attachment/appico/201712/21/094100vm3fpb41fo6a3x3f.png
|
||||||
bbcc53d0fdd2a6d7ffcb6d093666d82c *data/attachment/appico/201712/21/095758ft5y66jma56y66vj.png
|
bbcc53d0fdd2a6d7ffcb6d093666d82c *data/attachment/appico/201712/21/095758ft5y66jma56y66vj.png
|
||||||
@@ -333,6 +357,7 @@ bbcc53d0fdd2a6d7ffcb6d093666d82c *data/attachment/appico/201712/21/183821do7f3qj
|
|||||||
2e04f226be54274ad6f1e2a2743c1fe9 *data/attachment/appico/201712/21/184312rthhhg9oujti9tuu.png
|
2e04f226be54274ad6f1e2a2743c1fe9 *data/attachment/appico/201712/21/184312rthhhg9oujti9tuu.png
|
||||||
c2185a7016a3def7be9915a6c645aa85 *data/attachment/appico/201712/21/210318m408uxuuq0464820.png
|
c2185a7016a3def7be9915a6c645aa85 *data/attachment/appico/201712/21/210318m408uxuuq0464820.png
|
||||||
76b1f31f8f51dec811759dc9a341b440 *data/attachment/appico/201712/21/210531aarsufnolsrao88u.png
|
76b1f31f8f51dec811759dc9a341b440 *data/attachment/appico/201712/21/210531aarsufnolsrao88u.png
|
||||||
|
d41d8cd98f00b204e9800998ecf8427e *data/attachment/qrcode/index.html
|
||||||
2894a0aaf1160440c47ecd1685115ed8 *data/attachment/sitelogo/sitelogo.png
|
2894a0aaf1160440c47ecd1685115ed8 *data/attachment/sitelogo/sitelogo.png
|
||||||
e447756e3a0f0ee86acc80120ad2e7af *data/avatar/camera.swf
|
e447756e3a0f0ee86acc80120ad2e7af *data/avatar/camera.swf
|
||||||
d41d8cd98f00b204e9800998ecf8427e *data/avatar/index.html
|
d41d8cd98f00b204e9800998ecf8427e *data/avatar/index.html
|
||||||
@@ -347,6 +372,319 @@ f4741b20d0983035a4db52858a0f6240 *data/cache/tags.php
|
|||||||
d41d8cd98f00b204e9800998ecf8427e *data/sendmail.lock
|
d41d8cd98f00b204e9800998ecf8427e *data/sendmail.lock
|
||||||
d41d8cd98f00b204e9800998ecf8427e *data/sendwx.lock
|
d41d8cd98f00b204e9800998ecf8427e *data/sendwx.lock
|
||||||
ac153bd851d728eed4c993b38260f1c8 *dzz/class/class_encode.php
|
ac153bd851d728eed4c993b38260f1c8 *dzz/class/class_encode.php
|
||||||
|
a3ad077bda18e4057e0b31e3b3b2eed4 *dzz/ffmpeg/class/class_fmpeg.php
|
||||||
|
a8a30984a87248b934ef8747481b2e0e *dzz/ffmpeg/classes/info.php
|
||||||
|
3ba0ebc60cd19158228e5c47f931aa80 *dzz/ffmpeg/classes/thumb.php
|
||||||
|
b0ef25e19c4aa9e96c06f5fb6f091883 *dzz/ffmpeg/composer.json
|
||||||
|
a962e01165e345d26a86a07e9e098239 *dzz/ffmpeg/composer.lock
|
||||||
|
808d6119fa0a890a2554fa07e600ba7d *dzz/ffmpeg/convert.php
|
||||||
|
b49d7db7da975848af00a7597333d12e *dzz/ffmpeg/ffmpeg/avcodec-57.dll
|
||||||
|
21ec4a51425e9afcbba190f49c67b5c5 *dzz/ffmpeg/ffmpeg/avdevice-57.dll
|
||||||
|
3ab822e6d0012eb4770597e781c14e99 *dzz/ffmpeg/ffmpeg/avfilter-6.dll
|
||||||
|
88a743faddeaf1655939b817b71ef341 *dzz/ffmpeg/ffmpeg/avformat-57.dll
|
||||||
|
189344b6d3e26d671e8e0a1f7d6cae53 *dzz/ffmpeg/ffmpeg/avutil-55.dll
|
||||||
|
82a57a3cc2fff0522baca0192a953f99 *dzz/ffmpeg/ffmpeg/ffmpeg.exe
|
||||||
|
8daea3e9e525c00efa6e02156e2844bc *dzz/ffmpeg/ffmpeg/ffplay.exe
|
||||||
|
1619f9b6ef0f64109530fc1562e30452 *dzz/ffmpeg/ffmpeg/ffprobe.exe
|
||||||
|
109731440511e75afa2c4dcbe5b2d069 *dzz/ffmpeg/ffmpeg/postproc-54.dll
|
||||||
|
91ca5f81f37690d1e05772947b38e8a0 *dzz/ffmpeg/ffmpeg/swresample-2.dll
|
||||||
|
4f49c26e951e69007d60edf054d2a37a *dzz/ffmpeg/ffmpeg/swscale-4.dll
|
||||||
|
17d36f2ee186514a290fab9baaeac65e *dzz/ffmpeg/getinfo.php
|
||||||
|
671f1a782b7dc9395519933bffb967fe *dzz/ffmpeg/thumb.php
|
||||||
|
723b27a2bb73cccf492ed827bc528a5c *dzz/ffmpeg/vendor/alchemy/binary-driver/LICENSE
|
||||||
|
9608b8205db23a377edd4f328af949bd *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
|
||||||
|
96d510df2561b5a55bc62b0d04db9861 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
|
||||||
|
8a896d9d707fb67f1962f6a976e5d231 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryInterface.php
|
||||||
|
0fd46f40c4e3202a8164737a714264cf *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Configuration.php
|
||||||
|
0954b1eef6121b68dad4d80c21894215 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationAwareInterface.php
|
||||||
|
af7c5c6f7cfa3f1c126beee3a411c242 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationInterface.php
|
||||||
|
68d2357cdae12d1ec480769225fb1301 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Exception/ExceptionInterface.php
|
||||||
|
f801ad0033116492e4ad41279c809297 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Exception/ExecutableNotFoundException.php
|
||||||
|
6f2f62e174ef158d61faf6e152a6e929 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Exception/ExecutionFailureException.php
|
||||||
|
dd366e3976e72bae0a361f09a2e9b083 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Exception/InvalidArgumentException.php
|
||||||
|
ba6a4cd48e3e6860444ea98172efa81e *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/DebugListener.php
|
||||||
|
e8044cd614f729099aaf06cec098ee39 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/ListenerInterface.php
|
||||||
|
b90a16f125bbaa495fa237f47608cf2b *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/Listeners.php
|
||||||
|
a8cd3209927f31a8dc2ba30f9f2a9596 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessBuilderFactory.php
|
||||||
|
410478165a365ce9137de8f4b2c96394 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessBuilderFactoryAwareInterface.php
|
||||||
|
696828fe1a99af54fd769010a7414186 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessBuilderFactoryInterface.php
|
||||||
|
bae08a03039e18b99ab2c54af139bece *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php
|
||||||
|
9b93428a45daf67408d24308d5fee8a0 *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunnerAwareInterface.php
|
||||||
|
a4f633a45e925b74f9e6183860ea5afe *dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunnerInterface.php
|
||||||
|
00a1dde07d5a01b87b8d88144d28801e *dzz/ffmpeg/vendor/autoload.php
|
||||||
|
8645d3a4e3ad87e7cf4d88a46717aab4 *dzz/ffmpeg/vendor/composer/autoload_classmap.php
|
||||||
|
6c4d89647de36d487eb4df5a15811ca2 *dzz/ffmpeg/vendor/composer/autoload_files.php
|
||||||
|
ebd044dc40fc5b9a604f2cbedae3ed50 *dzz/ffmpeg/vendor/composer/autoload_namespaces.php
|
||||||
|
b2ddf323d41ad0ca5a7b03e222b3370e *dzz/ffmpeg/vendor/composer/autoload_psr4.php
|
||||||
|
dd75da54153df0b1f03c313210fc1959 *dzz/ffmpeg/vendor/composer/autoload_real.php
|
||||||
|
d1d9b5c6305953362eebbff9674e7bc2 *dzz/ffmpeg/vendor/composer/autoload_static.php
|
||||||
|
a0899dd7d97c25fe1d872a542afa6081 *dzz/ffmpeg/vendor/composer/ClassLoader.php
|
||||||
|
9afc807b5b1b559c7ad25d6888bf81f1 *dzz/ffmpeg/vendor/composer/installed.json
|
||||||
|
955d5fe58c231244f6b49000f383b5e2 *dzz/ffmpeg/vendor/composer/LICENSE
|
||||||
|
a50fd5393dcb41620fc41c3f518bcf4c *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php
|
||||||
|
e35ef24b12fbe5f2f84ccc672f98cdb0 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcuCache.php
|
||||||
|
618e9af3b12fe878cea9ce5e423eca20 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php
|
||||||
|
b5d73afc161bfed166625924c8ea762b *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php
|
||||||
|
26d87077569e295c6756c1570f77a09f *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php
|
||||||
|
4a964374647e8e382d3b27a3cc9a9e31 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php
|
||||||
|
98f3f773762ebc38ce061247c4efed42 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php
|
||||||
|
12e4b88c5d898376c87ed9479e0dd2cc *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseBucketCache.php
|
||||||
|
d8e9b8d2642d1a29d0aa7213798b63d4 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php
|
||||||
|
bc8beef2fe80e0d04cb928f510fba851 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ExtMongoDBCache.php
|
||||||
|
312b27938b2fdc1c70c6901e5bc33057 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php
|
||||||
|
ee7c6d7c0e1a14d0aa1f5c903e918815 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php
|
||||||
|
0f64b4439430153933765736a9ece6f8 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php
|
||||||
|
f74ee5c840f2c5d271f39e209079314f *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/LegacyMongoDBCache.php
|
||||||
|
3fdf86427a4f0109ce9341dc50fd8269 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php
|
||||||
|
88bc9e093e2eec68eef288b087bca15b *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php
|
||||||
|
bf868cd271e3d6eb99d9ab3d12b5b539 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php
|
||||||
|
f816fa843b55fb7c778714d306123f40 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiDeleteCache.php
|
||||||
|
5414d3be44a1ecaf0bfc6639482282da *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php
|
||||||
|
9d62291c86b91e00a2e6edfbabf48a10 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiOperationCache.php
|
||||||
|
3c2d9b2edcb0762627106a72a9978ca6 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiPutCache.php
|
||||||
|
7cf3f4c5e5ed5fb510a29e45e67e82eb *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php
|
||||||
|
ed133f1e310c867bc9491be1b1dd218f *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php
|
||||||
|
37071709227fafb6d2367192fb152ca7 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php
|
||||||
|
7df56816c0abbae3416f818b12af2c58 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php
|
||||||
|
0db5e9f19f4759cf6799d64c60a6fea5 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php
|
||||||
|
762a9eeeaeb3beeb0d4d98a8c6bff3ad *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php
|
||||||
|
227a4b0d014902b28174694e70320f96 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php
|
||||||
|
e850799dda7685b2f751233ae87ce0af *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php
|
||||||
|
1ce542c953e7b3331919275f0b6ec787 *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php
|
||||||
|
b99e9832e2dca5d3959db88eae740abf *dzz/ffmpeg/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php
|
||||||
|
6eb5e32a565f247832c2a00cf90ded7c *dzz/ffmpeg/vendor/doctrine/cache/LICENSE
|
||||||
|
d80f695b57baf75c3debfcfd1ac556ee *dzz/ffmpeg/vendor/evenement/evenement/LICENSE
|
||||||
|
93f10e7029e0340b10df1cbcfa398ebc *dzz/ffmpeg/vendor/evenement/evenement/src/Evenement/EventEmitter.php
|
||||||
|
29c942ea1b2d4f5578739c0bcd378a95 *dzz/ffmpeg/vendor/evenement/evenement/src/Evenement/EventEmitterInterface.php
|
||||||
|
dbb142914df6f2cca7573ae649ce2a9c *dzz/ffmpeg/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php
|
||||||
|
b9ec4658695d81c2087bb974eabc8adf *dzz/ffmpeg/vendor/monolog/monolog/LICENSE
|
||||||
|
2873d712055688c2b5b669c19b68b8f4 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/ErrorHandler.php
|
||||||
|
85f1ca2b1e239ba8d8c0e55c1d6e28e9 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php
|
||||||
|
8be3318942ea2a823a0508c2f3df9795 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php
|
||||||
|
ba10a9093d8c9fe1a2b2acbbc52803fd *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php
|
||||||
|
e992598b2f929f75aacd6de842eade90 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php
|
||||||
|
6393c1db9899b0f9e3fc4ad3d6a898dd *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php
|
||||||
|
83aaf607fb20ee8ea58ccba235dc2886 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php
|
||||||
|
228d3c0e1ef63cb6ed003fd65265c3b3 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php
|
||||||
|
27360f4944089a943597a2c0c08518ee *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
|
||||||
|
d0242dde02733795e07ea48132b97611 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php
|
||||||
|
f5a72f125c3028e31dcc502c74ddc8e6 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php
|
||||||
|
73bd07ce780cf8deb8c4216c8b0f7829 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php
|
||||||
|
069d640fae028a0a9aeee615beb178ab *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php
|
||||||
|
a6010a1af0a4f21bcc55867afd40e161 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
|
||||||
|
9934bbe7fbf1a7536cbabf0bb31fac8b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php
|
||||||
|
0834b1ae7cf8f9db2d3ccf40c9e8238b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php
|
||||||
|
63f1d9ccfadec8e2f6ebd22ff041bd69 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php
|
||||||
|
837be8c4a76bc37c36ef1f37d83de8b8 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
|
||||||
|
3e697fe71a14d7052558ef2637a463a8 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php
|
||||||
|
89ef97bd70a1876bbf0a151914a4ce26 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php
|
||||||
|
0645ca35376e49867ebf7ccb634e8ca1 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php
|
||||||
|
3ebccf758cc0a237686c060d1b78de6b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php
|
||||||
|
40763f1c347ac1c67d4ef49f3f5edaa5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php
|
||||||
|
dabb90eb921328aeb4d8a0c8df2b4e2b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php
|
||||||
|
c73840367d25bd3fd774c84e0b791aa2 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php
|
||||||
|
03a2418311682d52f8ac22ff5652cd4a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php
|
||||||
|
112f1ead45ef6f90324676d7d0f1ec6b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php
|
||||||
|
abc48686f395a089e55a2ec1a4fe4b78 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php
|
||||||
|
f2dd1a8fce0c3bb7d81a858af3ce9e8d *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
|
||||||
|
8b14afbfb4ec910b55be774e612d79f0 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php
|
||||||
|
60ed22e1b4289a5210f9d8358b3d8f24 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php
|
||||||
|
2d087808e02f95080212cc392aa5b2c5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php
|
||||||
|
87e09424f9437e095915c57aad7f05e0 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
|
||||||
|
b0d0c657952bc1d8a8337a6516abd097 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php
|
||||||
|
f31a9ad59022efe0de63808d275a0031 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php
|
||||||
|
d858b5b5a26b7f8a60c6f687d8dbd0be *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php
|
||||||
|
b878045f62f8872d866d24fb23b47b44 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php
|
||||||
|
0c3e3f8711aa3641227a7cfd11dfa100 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php
|
||||||
|
94c7a4507949751276a6fef75b92a529 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php
|
||||||
|
f9577a2c76bd8b9da97907dda0da0899 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php
|
||||||
|
7eaa5f44f2c8c9bcefbfa8ddd82beba7 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php
|
||||||
|
a14d882a9afb7d9e3a5e2daa912cb3f5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php
|
||||||
|
a1f1650992d82ebb8fd99fb8a1ad011a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php
|
||||||
|
5594ae8adf68ccffb00232e97a887d72 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php
|
||||||
|
65fd860619a84b5b548d803f1450f18f *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php
|
||||||
|
8149a123e81e3dfee9185d5f14eccfc0 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php
|
||||||
|
c5b8e8b997dad122fb26d420d7eed287 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php
|
||||||
|
beee53f1c85666d49978d0d8c0324a2c *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php
|
||||||
|
e4702d256f19f3a3b6ee8f61c84d3a2b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php
|
||||||
|
780cc72b741c1299f2886e21a80188d5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php
|
||||||
|
99ec7108652f07752a6e4585f781ee92 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php
|
||||||
|
44ade8a7a6002a6210b36c26c89cbacb *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php
|
||||||
|
119019e45d2c65cbe85a3aadc28771fe *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php
|
||||||
|
77c5f0d82d6498b12f3eee4a0a282b2a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php
|
||||||
|
252c1e7aa89297f3b65138c5aa12f222 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php
|
||||||
|
31553b7fa8087df65179bdc673d678ae *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php
|
||||||
|
e8c8672646919427bb614bf2e7fe8710 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php
|
||||||
|
807422b20660ffffc7fb99c106ceb4dc *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php
|
||||||
|
efd4fa559b9b67d87d7ae287fae71345 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php
|
||||||
|
b94192bac0cab9928cbce17b8dfa9d6f *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php
|
||||||
|
99bfe1a418679c198c97a3270eb46cb3 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php
|
||||||
|
c1d51504a874d216a73d7a16d8d74b15 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php
|
||||||
|
85fc2f7a5cf4f34749aa70cbc8c732e6 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php
|
||||||
|
139c7285b82094a3673cccf7a3c86841 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php
|
||||||
|
2229f1f8a0b544bc9d6e4d8810150b0f *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php
|
||||||
|
7a0b448bef960dd749c97effcd77bf33 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php
|
||||||
|
81c05f3ced53a5e674f292b085c766d5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php
|
||||||
|
76a96570463de4d20951fd93fff8f891 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php
|
||||||
|
6f3198651a1f726042b35d10dfbea267 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
|
||||||
|
852668d8e8374f7954025a30620cb6fd *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php
|
||||||
|
ac625636dc450133b90c5821d98e2a7a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php
|
||||||
|
3585d916f9c3280d9d2c61abc6aa8c0a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php
|
||||||
|
647b72900ad2b1c62809ca2e5a34b7b5 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php
|
||||||
|
0bb921323349e1bc2f5d46ce693efd85 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php
|
||||||
|
402e708018cbc501302c2f6640601d77 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php
|
||||||
|
dc2ee6716c9dee2ef3d420c41ac0dc2b *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php
|
||||||
|
62f20f9746a11f097467f627b0b93abe *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Logger.php
|
||||||
|
07c3c7e0d7e876400abfde105de7ac81 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php
|
||||||
|
b753a93665221b4ec3bb9b7e673a94a6 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php
|
||||||
|
da2d9c474d01225142b3278e0e6c88e3 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php
|
||||||
|
6497ea95b20d9ae90826819cbc6d0676 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php
|
||||||
|
aec839697dce14f2b35662ec83f8098d *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php
|
||||||
|
62476ed0523a188b116ecccebac90a2a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php
|
||||||
|
5dd810e614913d06486955e380fee8d2 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php
|
||||||
|
21547825abf621432f105ca2bd7a1514 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
|
||||||
|
9ae9918278d274d04294edcf850fc715 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php
|
||||||
|
3d6404d4111a427bb6c7801be5cc7d58 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php
|
||||||
|
55fb49548b06dbb2e082d1a133b37c09 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php
|
||||||
|
d84f57e474a31a4285ad62a37ed8fa94 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Registry.php
|
||||||
|
9d15d64a9f3654e872927409135b1435 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/ResettableInterface.php
|
||||||
|
759781d77e90492c3b976c436103c834 *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/SignalHandler.php
|
||||||
|
e11e634ee0a8b5ad5fedeec5de216c5a *dzz/ffmpeg/vendor/monolog/monolog/src/Monolog/Utils.php
|
||||||
|
7956ad02ea6a9f0c01dc81190ba7f2f2 *dzz/ffmpeg/vendor/neutron/temporary-filesystem/LICENSE
|
||||||
|
0939f19b04832d77188eb84aa16b6a33 *dzz/ffmpeg/vendor/neutron/temporary-filesystem/src/Neutron/TemporaryFilesystem/IOException.php
|
||||||
|
0a42ed50c5a66fdc90e796aede545df7 *dzz/ffmpeg/vendor/neutron/temporary-filesystem/src/Neutron/TemporaryFilesystem/Manager.php
|
||||||
|
472569cbbccad4b6621260e1f70f52f4 *dzz/ffmpeg/vendor/neutron/temporary-filesystem/src/Neutron/TemporaryFilesystem/TemporaryFilesystem.php
|
||||||
|
03250e9c659f57f70fecb4bd9d995eca *dzz/ffmpeg/vendor/neutron/temporary-filesystem/src/Neutron/TemporaryFilesystem/TemporaryFilesystemInterface.php
|
||||||
|
e47f941daf18beb04ec67ea5a52e56f1 *dzz/ffmpeg/vendor/php-ffmpeg/extras/LICENSE
|
||||||
|
30a05a2e2c6cf5b33941193809adbd3a *dzz/ffmpeg/vendor/php-ffmpeg/extras/src/FFMpeg/Format/Video/ThreeGP.php
|
||||||
|
b3ef8932ab56ebb4d73fa83c06f8f76a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/LICENSE
|
||||||
|
3f2a1eefc632db5dd2a49eb54d16417c *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Coordinate/AspectRatio.php
|
||||||
|
6178ac75e06de4c9ad3e67114562184b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Coordinate/Dimension.php
|
||||||
|
382ea0955ea7110b53fd48a4b989d5f3 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Coordinate/FrameRate.php
|
||||||
|
96644e05e69c59d7b518e372e098705d *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Coordinate/Point.php
|
||||||
|
d5e84f590ae637cfd23754a91c906b87 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Coordinate/TimeCode.php
|
||||||
|
147c06c64f4ce5a3831409375708e00f *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFMpegDriver.php
|
||||||
|
e350c25b7015ec5e969f5d717b666810 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFProbeDriver.php
|
||||||
|
2d4aa994e3325f9b377920196d9fbe9a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Exception/ExceptionInterface.php
|
||||||
|
2555733d86c055a47da88b9ad95a360e *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Exception/ExecutableNotFoundException.php
|
||||||
|
614dd1c1c3222a31aa2258d5d6d10361 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Exception/InvalidArgumentException.php
|
||||||
|
2659810700f9fd3beeb30af95404e75f *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Exception/LogicException.php
|
||||||
|
b52e3759036a2aa049e3368c3dbf1975 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Exception/RuntimeException.php
|
||||||
|
5c44c830e35b78a5ff6edd618af9690b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFMpeg.php
|
||||||
|
ab47b03fdcb63ab4f5b9e40ed2ac672b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFMpegServiceProvider.php
|
||||||
|
27e863827f829793f7a94da133bcef0d *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/DataMapping/AbstractData.php
|
||||||
|
bc530a2abb7d914097a5d9148290942b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/DataMapping/Format.php
|
||||||
|
e4eb8d24f7e958635425deb244d06ef4 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/DataMapping/Stream.php
|
||||||
|
15b696d8f4ef6f8b56e6b83848deac11 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/DataMapping/StreamCollection.php
|
||||||
|
c418c676e5e8467b85fb108a16463c7d *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/Mapper.php
|
||||||
|
773f68f6c606afe3fbc30fa6b9155419 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/MapperInterface.php
|
||||||
|
7246e80fbc397aa9c589b89d7fa2b38c *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php
|
||||||
|
3d4092a943efcbca1edd156ff7dd5391 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTesterInterface.php
|
||||||
|
2f5ff5ae6ea7930acba43f7acab76881 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OutputParser.php
|
||||||
|
35f114cd7032a223568cc84832575577 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OutputParserInterface.php
|
||||||
|
3d324e881fbce87903dfc53d25c182c5 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php
|
||||||
|
7d44e30f33387edc5716d853aa710b17 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/AddMetadataFilter.php
|
||||||
|
6b4d69a11dca487b12e8994d2ef428c6 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/AudioClipFilter.php
|
||||||
|
dcb7f2ea9cd7907204b4b96b2cf28c4a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/AudioFilterInterface.php
|
||||||
|
312ec0e6e04e518cf8954e00442cd5c9 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/AudioFilters.php
|
||||||
|
b08a4f2881233642b8bceeef28d53c9a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/AudioResamplableFilter.php
|
||||||
|
f7167e2e888d4408c19ea81cb0381c8b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Audio/SimpleFilter.php
|
||||||
|
9ce164a0c303ec49d0fd76dae79120a9 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Concat/ConcatFilterInterface.php
|
||||||
|
845459dc4adfc32853c0c696874404ca *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Concat/ConcatFilters.php
|
||||||
|
03b697960d53dec79dac6a82fe0f9607 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/FilterInterface.php
|
||||||
|
3601be2f8b76c4bfe6b2f0fea253e1ab *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/FiltersCollection.php
|
||||||
|
06325fbce354b51d7f0d6b604c5cdbf2 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Frame/DisplayRatioFixerFilter.php
|
||||||
|
e5d0b0a311f14116b11a961d12f279db *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Frame/FrameFilterInterface.php
|
||||||
|
3bd2e53a26a2ffd73daea172484b85ae *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Frame/FrameFilters.php
|
||||||
|
e8689404dc110579b660ab9e7b2d66e4 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Gif/GifFilterInterface.php
|
||||||
|
62b3a00f0657c8630b3f8bad7d763f8b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Gif/GifFilters.php
|
||||||
|
a8d5eff219ab95e28e8e82dd5744488b *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/ClipFilter.php
|
||||||
|
f710db74c58bcf3d6c5f3f8b59a9604a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/CropFilter.php
|
||||||
|
d6b03a4ae4440de4bf8e96d0c70001b2 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/CustomFilter.php
|
||||||
|
7daa1dd49ddf8e7a788bb7ad0aa46761 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/ExtractMultipleFramesFilter.php
|
||||||
|
cb9e484907a06f2b6b914bbf1cdb7bfc *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/FrameRateFilter.php
|
||||||
|
050d2a56c655cc64cb049e0da29c5f01 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/PadFilter.php
|
||||||
|
17b73c06e261c7552ef17aa0f6e5193e *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/ResizeFilter.php
|
||||||
|
4ab87ee2139ab91734d5324a1a000bef *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/RotateFilter.php
|
||||||
|
ad492156eb5c8c54d453be6488c57157 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/SynchronizeFilter.php
|
||||||
|
fbae25bbadb0138dbf63a13d596fa276 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/VideoFilterInterface.php
|
||||||
|
6cbabb4a04368afae6487f20cd5d4f27 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/VideoFilters.php
|
||||||
|
ebd757acb0a7e0e97068a62d820bf645 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Video/WatermarkFilter.php
|
||||||
|
59e99e26cb91df3f94dbeea6ae0c0774 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Waveform/WaveformDownmixFilter.php
|
||||||
|
09b397a7b85684697e5a9fb863822dda *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Waveform/WaveformFilterInterface.php
|
||||||
|
052f1eb21bf150eff7543e73c200054a *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Filters/Waveform/WaveformFilters.php
|
||||||
|
119dabdbf2f0a41e4500704d90e30d64 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/Aac.php
|
||||||
|
0fddd883da53bfc64636337742a4fe6f *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/DefaultAudio.php
|
||||||
|
2f7789a7803431f8371ed99653cec5ce *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/Flac.php
|
||||||
|
30ff3328e6ae80465f5a4012343c79c4 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/Mp3.php
|
||||||
|
eb67afc073c2425a45e6a4f8e70252bb *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/Vorbis.php
|
||||||
|
a7c3e586a578ad6bd57fd9837c92dded *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Audio/Wav.php
|
||||||
|
4d5f4f25e22a4ffef7503982d1d49e16 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/AudioInterface.php
|
||||||
|
705ca1b2113661670a4c4f4abc718239 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/FormatInterface.php
|
||||||
|
119c2a28226b1ae6fb4da3fe6930c202 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/FrameInterface.php
|
||||||
|
e8ee4fab9636a6bd02b261471b50c7c3 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/ProgressableInterface.php
|
||||||
|
eb72702d76cdba4a02a46feaad786354 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/ProgressListener/AbstractProgressListener.php
|
||||||
|
5aa358a639d421e67129080e5b4c3abd *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/ProgressListener/AudioProgressListener.php
|
||||||
|
bf1e3c74b57299ff363e52a37015afeb *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/ProgressListener/VideoProgressListener.php
|
||||||
|
ebc2e8c3a07cbb66b344e8ad33e606b8 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/DefaultVideo.php
|
||||||
|
e2c9560c1b5df92aaddeb0096731f981 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/Ogg.php
|
||||||
|
f134d00a49485bc75bbee2d22b13ad70 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/WebM.php
|
||||||
|
b5144368c4ed52763d180e5016c7d3b3 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/WMV.php
|
||||||
|
b0bcc8152a69d326ce563484ea977de2 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/WMV3.php
|
||||||
|
6b9720266a5866018ab037c6db9974cb *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/Video/X264.php
|
||||||
|
ca6dea2723ca79d6355393dfff66d320 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Format/VideoInterface.php
|
||||||
|
59f5b0b1d8c73ee52056feceeb66ceb6 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/AbstractMediaType.php
|
||||||
|
2676e4bbba4bdccdb6e0ec5ff51447ee *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/AbstractStreamableMedia.php
|
||||||
|
73ed41edf44e106623c66161b4117118 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Audio.php
|
||||||
|
ebbd534ae0ed523948266824d1122130 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Concat.php
|
||||||
|
e79b77c96d11939c32734176456a6a7f *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Frame.php
|
||||||
|
72092853ac6af732f97a7a6897b6fb55 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Gif.php
|
||||||
|
175de54f072fceb90f8ad1cc0b86e153 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/MediaTypeInterface.php
|
||||||
|
c02497b7b7cad4d4a1f1e764b0d5365f *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Video.php
|
||||||
|
2b4112b532509052b3b94ee90803ffd5 *dzz/ffmpeg/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Waveform.php
|
||||||
|
1a74629072fd794937be394ab689327e *dzz/ffmpeg/vendor/psr/log/LICENSE
|
||||||
|
26eb607e5318188016615326bd89a9be *dzz/ffmpeg/vendor/psr/log/Psr/Log/AbstractLogger.php
|
||||||
|
7d2f0bd1583524d739fff12f0507de65 *dzz/ffmpeg/vendor/psr/log/Psr/Log/InvalidArgumentException.php
|
||||||
|
cfac6d4dc3ebf2c7f0e49f74d1bcd44a *dzz/ffmpeg/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
|
||||||
|
221f47ac7d3da4800d2c0e26cdfb351b *dzz/ffmpeg/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
|
||||||
|
1ae09682227159416a299d0ea940d34e *dzz/ffmpeg/vendor/psr/log/Psr/Log/LoggerInterface.php
|
||||||
|
d1152080b1b7a8812f6a3023b63f0fc0 *dzz/ffmpeg/vendor/psr/log/Psr/Log/LoggerTrait.php
|
||||||
|
cc226142fd5d390d030b39c61cf97843 *dzz/ffmpeg/vendor/psr/log/Psr/Log/LogLevel.php
|
||||||
|
d66f51c1fc729b09e54fd8821c7dfe46 *dzz/ffmpeg/vendor/psr/log/Psr/Log/NullLogger.php
|
||||||
|
4cf3d5257fbeda527d3f9d8e1245a5fa *dzz/ffmpeg/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
|
||||||
|
67b883e281582c75c5f95125c7bdeac3 *dzz/ffmpeg/vendor/psr/log/Psr/Log/Test/TestLogger.php
|
||||||
|
b14dc5c2f06a5bc04c45d88afd84884d *dzz/ffmpeg/vendor/symfony/filesystem/Exception/ExceptionInterface.php
|
||||||
|
6164d7968ea4b20f372bf9b15c00dabd *dzz/ffmpeg/vendor/symfony/filesystem/Exception/FileNotFoundException.php
|
||||||
|
fefaaa9c9dc136c8e7fb3ea7c3ccbae9 *dzz/ffmpeg/vendor/symfony/filesystem/Exception/InvalidArgumentException.php
|
||||||
|
19c3d259651ef07ece9b1cadc421a7e6 *dzz/ffmpeg/vendor/symfony/filesystem/Exception/IOException.php
|
||||||
|
b0c33767d71094ea350851390caa359f *dzz/ffmpeg/vendor/symfony/filesystem/Exception/IOExceptionInterface.php
|
||||||
|
ec0811c83a3a3c4fd53be9a6ea0ff890 *dzz/ffmpeg/vendor/symfony/filesystem/Filesystem.php
|
||||||
|
e0fbf93ee3e79762c694682e010f721d *dzz/ffmpeg/vendor/symfony/filesystem/LICENSE
|
||||||
|
638f69786aaefa6c38c98251a50bb9bf *dzz/ffmpeg/vendor/symfony/polyfill-ctype/bootstrap.php
|
||||||
|
20ecd9afc6e70ab709984cc5c8258b12 *dzz/ffmpeg/vendor/symfony/polyfill-ctype/composer.json
|
||||||
|
72cb4d141eac1392c3de359dba4d44e0 *dzz/ffmpeg/vendor/symfony/polyfill-ctype/Ctype.php
|
||||||
|
f082cc77e5ce76aa7e7fad8aa1d0cbeb *dzz/ffmpeg/vendor/symfony/polyfill-ctype/LICENSE
|
||||||
|
5d377fc96f58b9fb6acc171e2b93162a *dzz/ffmpeg/vendor/symfony/polyfill-ctype/README.md
|
||||||
|
723a4615b94a21c979c9cfe85d81e50a *dzz/ffmpeg/vendor/symfony/process/Exception/ExceptionInterface.php
|
||||||
|
b3c8598f88e6ac643dda6cb6f29fb3ba *dzz/ffmpeg/vendor/symfony/process/Exception/InvalidArgumentException.php
|
||||||
|
72ef3efed027815b107a71f4e987754d *dzz/ffmpeg/vendor/symfony/process/Exception/LogicException.php
|
||||||
|
90c118a801c9f293c2f341fffa30a14a *dzz/ffmpeg/vendor/symfony/process/Exception/ProcessFailedException.php
|
||||||
|
00f760a2731cbd7e7a145e02b30316f6 *dzz/ffmpeg/vendor/symfony/process/Exception/ProcessTimedOutException.php
|
||||||
|
5173fb5053527af7b83077085b192d67 *dzz/ffmpeg/vendor/symfony/process/Exception/RuntimeException.php
|
||||||
|
cbc4b041f47b68813926f969d1efb3aa *dzz/ffmpeg/vendor/symfony/process/ExecutableFinder.php
|
||||||
|
15de8d8c8304dac15e5c0d02002d5be2 *dzz/ffmpeg/vendor/symfony/process/InputStream.php
|
||||||
|
e0fbf93ee3e79762c694682e010f721d *dzz/ffmpeg/vendor/symfony/process/LICENSE
|
||||||
|
60202cced0024b3c169042784e6d9970 *dzz/ffmpeg/vendor/symfony/process/PhpExecutableFinder.php
|
||||||
|
952eb026f14ebf3970f7414b7cf2cf53 *dzz/ffmpeg/vendor/symfony/process/PhpProcess.php
|
||||||
|
955fe0e12dc2ee1e63cbca26dd165082 *dzz/ffmpeg/vendor/symfony/process/Pipes/AbstractPipes.php
|
||||||
|
7cd7e2e866c93db5d68f77a51626a43b *dzz/ffmpeg/vendor/symfony/process/Pipes/PipesInterface.php
|
||||||
|
612a165aa73ba1d9a7a42c480e3b8b05 *dzz/ffmpeg/vendor/symfony/process/Pipes/UnixPipes.php
|
||||||
|
5ccc8e5e3bd352e3bbcaddf1059c9a1a *dzz/ffmpeg/vendor/symfony/process/Pipes/WindowsPipes.php
|
||||||
|
882fab9690637ec4cf9746b825b21e15 *dzz/ffmpeg/vendor/symfony/process/Process.php
|
||||||
|
2a3b661974c0cd7432f29595ccdb6a93 *dzz/ffmpeg/vendor/symfony/process/ProcessBuilder.php
|
||||||
|
13625bd3819dabb00e70409aa8b8cc54 *dzz/ffmpeg/vendor/symfony/process/ProcessUtils.php
|
||||||
|
848f904ac7e815cf4abc752639c32f68 *dzz/imageColor/classes/getcolor.php
|
||||||
|
8fcedaed7fefce2be26a36d2ac4bf9af *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
|
||||||
@@ -360,7 +698,7 @@ a35efffbc8ffb84994c399cac01fb592 *dzz/images/addUser.png
|
|||||||
a69a0a404fedd3a334f295db86001589 *dzz/images/default/loading.gif
|
a69a0a404fedd3a334f295db86001589 *dzz/images/default/loading.gif
|
||||||
25b023c9a97dc186e7ef8283c67af083 *dzz/images/default/loading.png
|
25b023c9a97dc186e7ef8283c67af083 *dzz/images/default/loading.png
|
||||||
338655a5d330e7af1ef36a314c689637 *dzz/images/default/new.gif
|
338655a5d330e7af1ef36a314c689637 *dzz/images/default/new.gif
|
||||||
2894a0aaf1160440c47ecd1685115ed8 *dzz/images/default/notice_system.png
|
a949e13639231f3ab4192465ff2538ac *dzz/images/default/notice_system.png
|
||||||
57141c24c019986b50b2d21e2f0dd49d *dzz/images/default/system/ALIOSS.png
|
57141c24c019986b50b2d21e2f0dd49d *dzz/images/default/system/ALIOSS.png
|
||||||
9da1d1376afbe5d5223013f4cbc83d56 *dzz/images/default/system/baiduPCS.png
|
9da1d1376afbe5d5223013f4cbc83d56 *dzz/images/default/system/baiduPCS.png
|
||||||
0ff58bff7e319cdc192ca22c43ed8af9 *dzz/images/default/system/bucket.png
|
0ff58bff7e319cdc192ca22c43ed8af9 *dzz/images/default/system/bucket.png
|
||||||
@@ -628,9 +966,10 @@ bae84af37dba1b272ef439708d1b8e9f *dzz/images/extimg_small/xml.png
|
|||||||
837ef96d27e248682869b7678b73943a *dzz/images/extimg_small/y.png
|
837ef96d27e248682869b7678b73943a *dzz/images/extimg_small/y.png
|
||||||
3d8f7e76431bd2009e5e949156358be5 *dzz/images/extimg_small/zip.png
|
3d8f7e76431bd2009e5e949156358be5 *dzz/images/extimg_small/zip.png
|
||||||
50c5e3e79b276c92df6cc52caeb464f0 *dzz/images/loading.gif
|
50c5e3e79b276c92df6cc52caeb464f0 *dzz/images/loading.gif
|
||||||
2894a0aaf1160440c47ecd1685115ed8 *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
|
||||||
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
|
||||||
e6ff860b694692916c323609ac7697f8 *dzz/pdf/build/pdf.js
|
e6ff860b694692916c323609ac7697f8 *dzz/pdf/build/pdf.js
|
||||||
@@ -638,7 +977,7 @@ e6ff860b694692916c323609ac7697f8 *dzz/pdf/build/pdf.js
|
|||||||
f025b4d2dd3cd3eca72f347e2406101d *dzz/pdf/build/pdf.worker.js
|
f025b4d2dd3cd3eca72f347e2406101d *dzz/pdf/build/pdf.worker.js
|
||||||
7f4ee1937cdefb0a21e54182115ca399 *dzz/pdf/build/pdf.worker.js.map
|
7f4ee1937cdefb0a21e54182115ca399 *dzz/pdf/build/pdf.worker.js.map
|
||||||
1a7e0ce8221581ed65bfac95a3551ac6 *dzz/pdf/dzz_app_pdf.xml
|
1a7e0ce8221581ed65bfac95a3551ac6 *dzz/pdf/dzz_app_pdf.xml
|
||||||
722e520dc55f03433da72d8688b12064 *dzz/pdf/index.php
|
f0abf463edbab20153b02a621c71e493 *dzz/pdf/index.php
|
||||||
e85831f11e1b0a5f779431998958a899 *dzz/pdf/template/viewer.htm
|
e85831f11e1b0a5f779431998958a899 *dzz/pdf/template/viewer.htm
|
||||||
6d23b789047f6fa8f6923e7ae411d642 *dzz/pdf/web/cmaps/78-EUC-H.bcmap
|
6d23b789047f6fa8f6923e7ae411d642 *dzz/pdf/web/cmaps/78-EUC-H.bcmap
|
||||||
5d7d0e488fb52b2a4f8d240b0d572e89 *dzz/pdf/web/cmaps/78-EUC-V.bcmap
|
5d7d0e488fb52b2a4f8d240b0d572e89 *dzz/pdf/web/cmaps/78-EUC-V.bcmap
|
||||||
@@ -1037,12 +1376,13 @@ eba5f5cecbb2a1cf2064e55c8c0de177 *dzz/pdf/web/locale/vi/viewer.properties
|
|||||||
92a90fc7c9d2368a1f327355cf4280fd *dzz/pdf/web/locale/zu/viewer.properties
|
92a90fc7c9d2368a1f327355cf4280fd *dzz/pdf/web/locale/zu/viewer.properties
|
||||||
612418155cdf17524db3bc6514cda751 *dzz/pdf/web/viewer.css
|
612418155cdf17524db3bc6514cda751 *dzz/pdf/web/viewer.css
|
||||||
badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
|
badeea57fda90d27e54a9f9488ac4c43 *dzz/pdf/web/viewer.html
|
||||||
6cf3b8dd7fae022af726634be28de37d *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
|
||||||
8659ad92dfd558463783565f41e2267b *dzz/pichome/admin.php
|
57cbaacb499474a5ca6c14a86d411512 *dzz/pichome/admin.php
|
||||||
7534bf9c73c427bffedb2ea88a853d12 *dzz/pichome/ajax.php
|
ae17e4be72c28160524e6d0f15a08764 *dzz/pichome/ajax.php
|
||||||
da38e97091f039e98f3cff60351dec3c *dzz/pichome/checkexport.php
|
c550e347457729fb118592d6be50d050 *dzz/pichome/checkexport.php
|
||||||
088006485445db81b3e5431e1a60efc6 *dzz/pichome/class/class_eagleexport.php
|
6433341eb6119db85c0d2001c5155150 *dzz/pichome/class/class_eagleexport.php
|
||||||
|
d89bf384de0af51c78c3a40a680e1c89 *dzz/pichome/class/class_localexport.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
|
||||||
@@ -1056,41 +1396,74 @@ 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
|
||||||
|
577f7f31ca1ac0fe27b7c7e8f28f838f *dzz/pichome/css/mobile/details.css
|
||||||
|
871bda5b39c93380460d42db713c2932 *dzz/pichome/css/mobile/index.css
|
||||||
|
f1e227b4a2e8a0345daaf6141e1856dd *dzz/pichome/css/mobile/personal.css
|
||||||
|
cc6d3bf279ed780dd69d0dcc250bd442 *dzz/pichome/css/mobile/share.css
|
||||||
|
509deac393472e307756fc9deee67276 *dzz/pichome/css/pc/admin.css
|
||||||
|
4616cbd4493d6a922221b5225605bf17 *dzz/pichome/css/pc/common.css
|
||||||
|
e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
|
||||||
|
0446460c4b1c238c4a17b4119c5c106e *dzz/pichome/css/pc/image.css
|
||||||
|
4e1559e2dada467206bec5c77b5a23f5 *dzz/pichome/css/pc/index.css
|
||||||
|
16ceb77eb522e138548921aa5b024a36 *dzz/pichome/css/pc/screen.css
|
||||||
|
69c8a20f13ee8eb40d35ddd497d35fd3 *dzz/pichome/css/pc/xuanzhuan/iconfont.ttf
|
||||||
|
b006647cb9c39a657d354fcf0bdf88bf *dzz/pichome/css/pc/xuanzhuan/index.css
|
||||||
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
48994b9f88c49cdb67a88116380cfb95 *dzz/pichome/css/theme/black/index.css
|
||||||
3d037ab39fd205fc01dcb0644dc73594 *dzz/pichome/css/theme/black/root.css
|
fe6f435c4534024a6894473daec0845a *dzz/pichome/css/theme/black/root.css
|
||||||
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
247be4f622b714c5745e69ebb932e197 *dzz/pichome/css/theme/darkgrey/index.css
|
||||||
e19d97f977fa3d2316168bbe8e4101e5 *dzz/pichome/css/theme/darkgrey/root.css
|
9925ea840cd52bf961eb4b1eb7b565b8 *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
|
||||||
6c11a6e69881f44860b2dd8a9b7dde51 *dzz/pichome/css/theme/lightgrey/root.css
|
74e133fde11f139ecfeedafb438a13ce *dzz/pichome/css/theme/lightgrey/root.css
|
||||||
106204b58c77af1048a22bfe9cbd1d49 *dzz/pichome/css/theme/navyblue/index.css
|
106204b58c77af1048a22bfe9cbd1d49 *dzz/pichome/css/theme/navyblue/index.css
|
||||||
2669ef65012ea0cc6ca29e3c5f57bf47 *dzz/pichome/css/theme/navyblue/root.css
|
17018172c965f899a07fd8f53b789ecf *dzz/pichome/css/theme/navyblue/root.css
|
||||||
6a3812a857dae07ed74b59d26c86d7e1 *dzz/pichome/css/theme/purple/index.css
|
6a3812a857dae07ed74b59d26c86d7e1 *dzz/pichome/css/theme/purple/index.css
|
||||||
2566cbfc860d4bc3c12812d9d35011ef *dzz/pichome/css/theme/purple/root.css
|
c514077b8965f7d3bd473f19d85620e3 *dzz/pichome/css/theme/purple/root.css
|
||||||
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
4705cbd2d8a842635d69d2ace637212e *dzz/pichome/css/theme/white/index.css
|
||||||
b07e0746971bb7c6dfc1d88ed2bdc4b2 *dzz/pichome/css/theme/white/root.css
|
b6aae0d83f9163cf8a6acda2c77f573e *dzz/pichome/css/theme/white/root.css
|
||||||
b8ca416041036fcaa26a718343b671cc *dzz/pichome/details.php
|
5c7db30e0823a778d5341db79a4ece27 *dzz/pichome/delete.php
|
||||||
8cbb24ea1bf37279c62c847f69984107 *dzz/pichome/download.php
|
0bc21a1af1a289191cf5a48523f2cf8c *dzz/pichome/details.php
|
||||||
|
220a956534e1384a2c64cfc89ef48617 *dzz/pichome/download.php
|
||||||
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
||||||
149c4134105afa138de62c31034c38c6 *dzz/pichome/exportfile.php
|
1ef6b3e8f2d9664ac3665b62f6c5f39b *dzz/pichome/exportfile.php
|
||||||
06880b4a650311dd50933bf9a5aece2a *dzz/pichome/filelist.php
|
dd58cee1073dfc2907838fe3ec26235b *dzz/pichome/exportfilecheck.php
|
||||||
ae3317853c4561197a9a649000597886 *dzz/pichome/function/function_common.php
|
ba8263d806bb02f8c1cd5b3becdfaac0 *dzz/pichome/filelist.php
|
||||||
|
2d0185de715fe914af40ce715d15afca *dzz/pichome/function/function_common.php
|
||||||
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
d211a97399d52fea48f94a45a06648d1 *dzz/pichome/image/eaglefile.webp
|
||||||
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
|
||||||
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
08a26df5cbee8f21dbac8d646d1da218 *dzz/pichome/image/nodata.svg
|
||||||
|
1f0ee3cd38e82bd18490a34fcec8c690 *dzz/pichome/image/notScreen.png
|
||||||
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
f308fd14dbe2e06349ef366d6f9aa2c7 *dzz/pichome/image/palette.png
|
||||||
efdb2935803c55f32f283c48abed9dbd *dzz/pichome/image/phlogo.png
|
d51db8efca781201f641a41b57420dfe *dzz/pichome/image/phlogo.png
|
||||||
6c9bc6ff1ea0bb36eb156ae681741ee5 *dzz/pichome/index.php
|
438384ffb6dbf09c63f9c0254c57340a *dzz/pichome/index.php
|
||||||
|
bc4b3499031370aaa3fabf218806f65f *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
|
a088950fc4bf4348d87cda978e5ded97 *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
|
||||||
|
d37b5113b01a2ef9fb6cf447a5dcff89 *dzz/pichome/js/mobile/pinchzoom.js
|
||||||
|
57c1fe0c8799e3ad619c0ef6e719bfbc *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.css
|
||||||
|
043afc4dc77f0ef3f9923c38170c52cf *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.min.js
|
||||||
|
d36c75e3d8880ebfece375fd7cd46787 *dzz/pichome/js/mobile/plug/colorPicker/jquery.minicolors.png
|
||||||
|
b5d4479aca9121ce9ed95af5d77c10d9 *dzz/pichome/js/mobile/plug/vant/index.css
|
||||||
|
3d5fcccab75bba76cc259351e875d42a *dzz/pichome/js/mobile/plug/vant/vant.min.js
|
||||||
|
29b8b6254aaaa263cbb0fe8272f05a59 *dzz/pichome/js/pc/audioPlay.js
|
||||||
|
2ffc868ac18c18d948c3ae5576afa98b *dzz/pichome/js/pc/headerMethods.js
|
||||||
|
84f0575bc959e85fc1abab5dc71d3079 *dzz/pichome/js/pc/headerWatch.js
|
||||||
|
d5843dbdc71ff8014a5eafd346a262da *dzz/pichome/js/pc/jquery.mousewheel.min.js
|
||||||
|
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/pc/plug/DomResize.js
|
||||||
|
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/pc/plug/element-ui.js
|
||||||
|
66fe9527aec8d8b68e3bc5036ea8f7f9 *dzz/pichome/js/pc/plug/sortable.min.js
|
||||||
|
7292e14f4f8fad306d40a6d7d586b225 *dzz/pichome/js/pc/plug/wavesurfer.js
|
||||||
|
ef4591bffb23a90c8d9e0d02a7b5c15f *dzz/pichome/js/pc/row-grid.js
|
||||||
|
ec0f395ef389b9e369cf0bf354d2dd01 *dzz/pichome/js/pc/waterfall.js
|
||||||
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/plug/DomResize.js
|
72dbef2b0dd2644f4fb4e72ddbb7013b *dzz/pichome/js/plug/DomResize.js
|
||||||
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/plug/element-ui.js
|
8a788a8d0bfb2d3c1988bddb4aef4b4b *dzz/pichome/js/plug/element-ui.js
|
||||||
dc3ea9ad3b70dda4a5250f14e9f2a36a *dzz/pichome/js/plug/jquery.row-grid.js
|
dc3ea9ad3b70dda4a5250f14e9f2a36a *dzz/pichome/js/plug/jquery.row-grid.js
|
||||||
@@ -1103,32 +1476,111 @@ 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
|
||||||
7c10bb4a15f7522989848c5138174c05 *dzz/pichome/library.php
|
04a1d42c4c596325364400f866a2c143 *dzz/pichome/library.php
|
||||||
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
ccef8b340c90fc0061c6dd645fecc8df *dzz/pichome/setting.php
|
||||||
3a9db7def73d093f8f30ccae5577f18f *dzz/pichome/share.php
|
cda7d5feb6b4ed907d8a1eeb7d0ba46d *dzz/pichome/share.php
|
||||||
37c8861eb4f7f8c94608935cd9c41544 *dzz/pichome/template/components/headerAdmin/index.htm
|
892a7e59f327bc5f273fc0fe2cd2679b *dzz/pichome/template/mobile/components/classify.htm
|
||||||
59434ecdc8ec0b282eec428cc5806ff5 *dzz/pichome/template/components/headerindex/index.htm
|
00be7e9bc0e92e22f9c7aa8fce703854 *dzz/pichome/template/mobile/components/index/JsCommon.htm
|
||||||
5518c2bc4f44f3636e63d6a3ebe6e508 *dzz/pichome/template/components/headerindex/screen.htm
|
3c0bae451668c060ae526d3253e9be73 *dzz/pichome/template/mobile/components/index/JsDetailMessage.htm
|
||||||
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/components/headerindex/searchScreen.htm
|
b61252abe414de77e062e3f96aabccbd *dzz/pichome/template/mobile/components/index/JsImages.htm
|
||||||
47702c24d36ca5b820de1029b4fdf138 *dzz/pichome/template/components/index/images.htm
|
801d90ff93583268416fdc99faa91860 *dzz/pichome/template/mobile/components/index/JsIndex.htm
|
||||||
986115087ed076c2e624bd94c0ec56f0 *dzz/pichome/template/components/index/indexVuex.htm
|
18939ca3c3ccb67156c1d2f3d059a3fa *dzz/pichome/template/mobile/components/index/JsMy.htm
|
||||||
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/components/index/screen.htm
|
a09a548c0637e1dfc7397410ac056711 *dzz/pichome/template/mobile/components/index/JsScreen.htm
|
||||||
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/frame/footer_simple.htm
|
76399fc5b4e7a84ee75ed49e34e483c9 *dzz/pichome/template/mobile/components/index/JsSearch.htm
|
||||||
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/frame/header_simple_end.htm
|
aa8df8e4c660d9136bbff54070a2522a *dzz/pichome/template/mobile/components/index/JsSort.htm
|
||||||
891bc77b1e8e054dcbcbc5bcdd317592 *dzz/pichome/template/frame/header_simple_start.htm
|
a6eb66e190d0ba70ff30d521047a63e2 *dzz/pichome/template/mobile/components/index/screen/btime/temp.htm
|
||||||
8f6971c0247b193ab47c3c5ddb6d0266 *dzz/pichome/template/page/adminBasic.htm
|
0bda41757437fb9c3a7efda0f43c109e *dzz/pichome/template/mobile/components/index/screen/classify/js.htm
|
||||||
11fd257b9af5db87fcf2b70568a4310d *dzz/pichome/template/page/adminFileterset.htm
|
39df4c1ff10e49ae7168cb99518d6253 *dzz/pichome/template/mobile/components/index/screen/classify/temp.htm
|
||||||
be4f1925a5cbd80416e8a545621132c2 *dzz/pichome/template/page/adminLoginpage.htm
|
b51b1ba798335a69ed3697ae96f8663f *dzz/pichome/template/mobile/components/index/screen/color/temp.htm
|
||||||
9c164499d8cf7719b80e969fd6def67d *dzz/pichome/template/page/adminPagesetting.htm
|
075bdae5e3a3a38b440dfe5e85ba958e *dzz/pichome/template/mobile/components/index/screen/dateline/temp.htm
|
||||||
c77af0fd0053dfaa96f4db838ae6adf3 *dzz/pichome/template/page/adminPersonal.htm
|
ce2c75378cef55687fd93d4f0e768a02 *dzz/pichome/template/mobile/components/index/screen/desc/temp.htm
|
||||||
f0e94bac24224daf8e6957b01aea7fd6 *dzz/pichome/template/page/details.htm
|
d28186b8bca0adc5ff95ec392d041fb1 *dzz/pichome/template/mobile/components/index/screen/duration/temp.htm
|
||||||
4e61b93f59ad1885f03a5247022bbefd *dzz/pichome/template/page/index.htm
|
3ab7ef5c8f16a496e219830eb5bd05a5 *dzz/pichome/template/mobile/components/index/screen/ext/temp.htm
|
||||||
cf70aadbb56bd4fe27d1c1b15a75ca90 *dzz/pichome/template/page/library.htm
|
60059bbaace52506f7506d00b89cffa6 *dzz/pichome/template/mobile/components/index/screen/grade/temp.htm
|
||||||
016721dd93f715c67bd1cd66cb3ca679 *dzz/pichome/template/page/share.htm
|
91114c9caab1b9d79c7b278a1f5ff4cc *dzz/pichome/template/mobile/components/index/screen/link/temp.htm
|
||||||
|
23bb6550be82aa1bea16aac57f729600 *dzz/pichome/template/mobile/components/index/screen/mtime/temp.htm
|
||||||
|
652b15268999816d7875d8a46b9f820f *dzz/pichome/template/mobile/components/index/screen/shape/temp.htm
|
||||||
|
16d928da24c57980a043f956a15021c3 *dzz/pichome/template/mobile/components/index/screen/size/temp.htm
|
||||||
|
ae8d0557008c6f19458bed5c49db2167 *dzz/pichome/template/mobile/components/index/screen/tag/temp.htm
|
||||||
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/mobile/frame/footer_simple.htm
|
||||||
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/mobile/frame/header_simple_end.htm
|
||||||
|
fdc74d5e180321fc338ae91a1a90e22e *dzz/pichome/template/mobile/frame/header_simple_start.htm
|
||||||
|
f9c4288c838455ae487c2cc0c4d44890 *dzz/pichome/template/mobile/page/details.htm
|
||||||
|
f9f65e35608efe6563e49abbc66c1249 *dzz/pichome/template/mobile/page/index.htm
|
||||||
|
be7755b8e73e2ffa49557e8c3891027a *dzz/pichome/template/mobile/page/personal.htm
|
||||||
|
63845b99e6f7f14d1385b56a0c4ffebf *dzz/pichome/template/mobile/page/share.htm
|
||||||
|
dd8403f5dbcfb5767f01143f12afff93 *dzz/pichome/template/pc/components/headerAdmin/index.htm
|
||||||
|
e078614bb6d558d96006ec127f7c392c *dzz/pichome/template/pc/components/headerindex/index.htm
|
||||||
|
0436c3ba601aa0804b0e51926f557988 *dzz/pichome/template/pc/components/headerindex/screen.htm
|
||||||
|
105d244408ea6a9780677c28b376ea6c *dzz/pichome/template/pc/components/headerindex/searchScreen.htm
|
||||||
|
e52de01bb534c8ae8906aeea2a26e4bc *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch1.htm
|
||||||
|
710efaf3e9e92603f55599af84e07f2b *dzz/pichome/template/pc/components/index/header/JsHdeaderSearch2.htm
|
||||||
|
0b560bcf32b9928e09a087efbe543405 *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchInput.htm
|
||||||
|
44afb76ddd1106c3081e901b74ccd350 *dzz/pichome/template/pc/components/index/header/JsHdeaderSearchScreen.htm
|
||||||
|
cdfdeb7826e501fc2d0dabbe4545bba6 *dzz/pichome/template/pc/components/index/header/JsHeaderRight.htm
|
||||||
|
82a1a57d683d58fd868fb91fac13ab25 *dzz/pichome/template/pc/components/index/header/JsHeaderRightAvatar.htm
|
||||||
|
a5629a36eef6a8c0d3aec35f3a679d86 *dzz/pichome/template/pc/components/index/header/JsHeaderRightBtn.htm
|
||||||
|
754c1ae954a2bd706a9ca808225927c9 *dzz/pichome/template/pc/components/index/image/ImageAudioPlay.htm
|
||||||
|
8719049c86e5ed162ef840352086ee8f *dzz/pichome/template/pc/components/index/image/ImageList.htm
|
||||||
|
f394ee2d8177fe42a05aeb7c5d1b783a *dzz/pichome/template/pc/components/index/image/ImageRowGrid.htm
|
||||||
|
506a3a316c9b37a48c65ed71c7435f33 *dzz/pichome/template/pc/components/index/image/ImageWaterfall.htm
|
||||||
|
e75f2d5563b6d12d345ee4414e2840f9 *dzz/pichome/template/pc/components/index/images.htm
|
||||||
|
0764f300b91acf6e60925fa91c528941 *dzz/pichome/template/pc/components/index/indexVuex.htm
|
||||||
|
ac1a37ef71ff76f05435a47b8f13a6b8 *dzz/pichome/template/pc/components/index/JsCommon.htm
|
||||||
|
d88649d33a48388af9e95f4b7b3aeea8 *dzz/pichome/template/pc/components/index/JsHeader1.htm
|
||||||
|
eb3a364123d4c0982dfc2497683adc29 *dzz/pichome/template/pc/components/index/JsHeader2.htm
|
||||||
|
5ecc3eabb026b20734c7bec319263ed3 *dzz/pichome/template/pc/components/index/Jsimage.htm
|
||||||
|
e5f81267932b2e39355c4bff620d11b6 *dzz/pichome/template/pc/components/index/JsLibrary.htm
|
||||||
|
7a925a4631acb01fc275bbb237250d92 *dzz/pichome/template/pc/components/index/JsScreen.htm
|
||||||
|
ca1f90529303acc461fb2ce08fb6e7fc *dzz/pichome/template/pc/components/index/screen/btime/js.htm
|
||||||
|
a2d7aa1c09cf3119740247c2c84dc880 *dzz/pichome/template/pc/components/index/screen/btime/temp.htm
|
||||||
|
be0730d952f4744e88b2055c32d1f08b *dzz/pichome/template/pc/components/index/screen/classify/js.htm
|
||||||
|
ae9283ed126a9b5d58ec8da79b82b916 *dzz/pichome/template/pc/components/index/screen/classify/temp.htm
|
||||||
|
7aae5f55c409fdd6a4ec43d0aaf46fb5 *dzz/pichome/template/pc/components/index/screen/color/js.htm
|
||||||
|
f8281ed2c6f2b291bd177b30ece427c2 *dzz/pichome/template/pc/components/index/screen/color/temp.htm
|
||||||
|
afb7f926245e36860f30e6f1bc20164d *dzz/pichome/template/pc/components/index/screen/dateline/js.htm
|
||||||
|
f431bf7fa29b542d4bf18550c0b710a3 *dzz/pichome/template/pc/components/index/screen/dateline/temp.htm
|
||||||
|
da497cf5e22fa3dc4356f727c8a06dc8 *dzz/pichome/template/pc/components/index/screen/desc/js.htm
|
||||||
|
5b4d5d3a7b3566c24b3de893c4668c3e *dzz/pichome/template/pc/components/index/screen/desc/temp.htm
|
||||||
|
86008adc04b4086d3dbadb06bb1802c8 *dzz/pichome/template/pc/components/index/screen/duration/js.htm
|
||||||
|
86ffb0d927567631ad6c45fe2be3d07a *dzz/pichome/template/pc/components/index/screen/duration/temp.htm
|
||||||
|
d77bb8e4d0264dedb2caa82ccbc503ce *dzz/pichome/template/pc/components/index/screen/ext/js.htm
|
||||||
|
7d22e56f2a2eb124e5ecec7eba8c4c81 *dzz/pichome/template/pc/components/index/screen/ext/temp.htm
|
||||||
|
6241347b44cd051db85cd683cb23ec66 *dzz/pichome/template/pc/components/index/screen/grade/js.htm
|
||||||
|
cb007588e09dfeddc7f5c9a66540155b *dzz/pichome/template/pc/components/index/screen/grade/temp.htm
|
||||||
|
b24829a69162eab6ef8e51362c02726c *dzz/pichome/template/pc/components/index/screen/link/js.htm
|
||||||
|
1b5c317c7ad96875866bc15f322ebffe *dzz/pichome/template/pc/components/index/screen/link/temp.htm
|
||||||
|
a91f8cdb2836930e60e76000e14cd109 *dzz/pichome/template/pc/components/index/screen/mtime/js.htm
|
||||||
|
71df18ff5f6a0428941d33e7409b2a9f *dzz/pichome/template/pc/components/index/screen/mtime/temp.htm
|
||||||
|
848e5d358ece04426ef40c055db4815a *dzz/pichome/template/pc/components/index/screen/shape/js.htm
|
||||||
|
026964771fde79d520db8fca996705d5 *dzz/pichome/template/pc/components/index/screen/shape/temp.htm
|
||||||
|
ed778182594282451fdeaf533390504a *dzz/pichome/template/pc/components/index/screen/size/js.htm
|
||||||
|
6607851de5183d1db762d74a184220b1 *dzz/pichome/template/pc/components/index/screen/size/temp.htm
|
||||||
|
ce8f0dddfb2446e04ed00da108a9d5ff *dzz/pichome/template/pc/components/index/screen/tag/js.htm
|
||||||
|
12adf53eb950a45a47d2d80e8b246fa6 *dzz/pichome/template/pc/components/index/screen/tag/temp.htm
|
||||||
|
c2953f2cc75684f3a777148ad8c5fce9 *dzz/pichome/template/pc/components/index/screen.htm
|
||||||
|
78e4336426983a0ec62934217dee535c *dzz/pichome/template/pc/components/index/template2/JsLeft.htm
|
||||||
|
8f54b82e6d2f9cb4d7ba43d09a39f088 *dzz/pichome/template/pc/frame/footer_simple.htm
|
||||||
|
ae502b90b2b31175892efe56867bc2e7 *dzz/pichome/template/pc/frame/header_simple_end.htm
|
||||||
|
08154101159fde8eb21fe522cc937e4c *dzz/pichome/template/pc/frame/header_simple_start.htm
|
||||||
|
42648cd5769edf01f824444c5acc98b2 *dzz/pichome/template/pc/page/adminBasic.htm
|
||||||
|
d46f3035458009aa3d87d579da8848c3 *dzz/pichome/template/pc/page/adminFileterset.htm
|
||||||
|
ef3300e59bc7be272f56ade943326d88 *dzz/pichome/template/pc/page/adminImportsetting.htm
|
||||||
|
ea578588242396cb021031f41dd4bc69 *dzz/pichome/template/pc/page/adminLeft.htm
|
||||||
|
0e57e8ab9dbccead521f9b18fe8a2de2 *dzz/pichome/template/pc/page/adminLoginpage.htm
|
||||||
|
624c95c6ba1998d1f0538493c510fed1 *dzz/pichome/template/pc/page/adminPagesetting.htm
|
||||||
|
0920466b526ad2b5b6e20c8b2acead53 *dzz/pichome/template/pc/page/adminPersonal.htm
|
||||||
|
4adfd28ac9666c2aeb1af34040db7551 *dzz/pichome/template/pc/page/details.htm
|
||||||
|
8e351bacc90f2855e890cc3cb0ef9fc2 *dzz/pichome/template/pc/page/index.htm
|
||||||
|
701ca3999a6f963e5dd8081f4ca73498 *dzz/pichome/template/pc/page/index1.htm
|
||||||
|
dee08b61a3556659df1cb5daa3845b4e *dzz/pichome/template/pc/page/index2.htm
|
||||||
|
ecbf47343950b3ab1498a97c97d88771 *dzz/pichome/template/pc/page/library.htm
|
||||||
|
d05bbcc9ca122a830c924cfabed697c0 *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
|
||||||
efbd03954c4e8df90891d9d6f338619f *dzz/pichome/upload.php
|
efbd03954c4e8df90891d9d6f338619f *dzz/pichome/upload.php
|
||||||
50001a358e0b90b6f1e4b2414c0f2d44 *dzz/pichome/user.php
|
e79dc819cafad7450fda2748ee3989dd *dzz/pichome/user.php
|
||||||
3d037ab39fd205fc01dcb0644dc73594 *dzz/textviewer/css/theme/black/root.css
|
3d037ab39fd205fc01dcb0644dc73594 *dzz/textviewer/css/theme/black/root.css
|
||||||
e19d97f977fa3d2316168bbe8e4101e5 *dzz/textviewer/css/theme/darkgrey/root.css
|
e19d97f977fa3d2316168bbe8e4101e5 *dzz/textviewer/css/theme/darkgrey/root.css
|
||||||
732389ded34cb9c52dd88271f1345af9 *dzz/textviewer/css/theme/fonts/element-icons.ttf
|
732389ded34cb9c52dd88271f1345af9 *dzz/textviewer/css/theme/fonts/element-icons.ttf
|
||||||
@@ -1143,20 +1595,20 @@ dad4a000799b858b5b77d7b171f03482 *dzz/textviewer/dzz_app_textviewer.xml
|
|||||||
75082d3e76c9416b1a1037cb210aa10f *dzz/textviewer/template/textviewer.htm
|
75082d3e76c9416b1a1037cb210aa10f *dzz/textviewer/template/textviewer.htm
|
||||||
0a6164e73ba1c02f0159bf2e9a476a86 *dzz/textviewer/text.js
|
0a6164e73ba1c02f0159bf2e9a476a86 *dzz/textviewer/text.js
|
||||||
e352fc27892fdd084f7267152ffb8622 *dzz/xgplayer/dzz_app_xgplayer.xml
|
e352fc27892fdd084f7267152ffb8622 *dzz/xgplayer/dzz_app_xgplayer.xml
|
||||||
66e2509fe1db35f128216db3d4e8fee3 *dzz/xgplayer/index.php
|
02c0c15cce75b757a58ee66f873a9fcc *dzz/xgplayer/index.php
|
||||||
0b0d2b77a3d90ee01f9966d01aa19e1d *dzz/xgplayer/js/xgplayer-flv.js
|
0b0d2b77a3d90ee01f9966d01aa19e1d *dzz/xgplayer/js/xgplayer-flv.js
|
||||||
2b5cfcb2534b8d53dafc8e8f13825f1e *dzz/xgplayer/js/xgplayer-hls.js
|
2b5cfcb2534b8d53dafc8e8f13825f1e *dzz/xgplayer/js/xgplayer-hls.js
|
||||||
cb39caa80f5f0fac7037c0abcd68b9fc *dzz/xgplayer/js/xgplayer-shaka.js
|
cb39caa80f5f0fac7037c0abcd68b9fc *dzz/xgplayer/js/xgplayer-shaka.js
|
||||||
8f401af25e9ba2e695fe0473b4fecb11 *dzz/xgplayer/js/xgplayer.js
|
8f401af25e9ba2e695fe0473b4fecb11 *dzz/xgplayer/js/xgplayer.js
|
||||||
b0bb6c733a343afcddcd03baaeff31b0 *dzz/xgplayer/js/xgplayer.music.js
|
b0bb6c733a343afcddcd03baaeff31b0 *dzz/xgplayer/js/xgplayer.music.js
|
||||||
04fa4e918e031085cb524446cd4a27f2 *dzz/xgplayer/language/zh-CN/lang.php
|
04fa4e918e031085cb524446cd4a27f2 *dzz/xgplayer/language/zh-CN/lang.php
|
||||||
a875bc67c5d7db47c918a3cfe5318a57 *dzz/xgplayer/template/main.htm
|
8119f6d1c45038a11269aa47ccdff186 *dzz/xgplayer/template/main.htm
|
||||||
3250b96edf6c6c3627871d38a223499b *dzz/xgplayer/template/progress.htm
|
3250b96edf6c6c3627871d38a223499b *dzz/xgplayer/template/progress.htm
|
||||||
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
5cb9422375b907e05eb6b7dc36fcd895 *favicon.ico
|
||||||
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
8e55bdb192a3aefe82e03292527819ca *htaccess_default.txt
|
||||||
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
55d39f5cf3916ab6a9336d95c671ab53 *index.php
|
||||||
ede086aa34596b826b2ccf6d32a89303 *install/data/install.sql
|
d47506e140e630a579c83fe4911972ae *install/data/install.sql
|
||||||
67df3c5463e4b6826d4cfc8cc5d64b82 *install/data/install_data.sql
|
53cf9484adc4e5d9a87f88a662df5dc8 *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
|
||||||
@@ -1164,12 +1616,12 @@ fc25acefcabc066437d4b27550387954 *install/images/logo.png
|
|||||||
94b02097d5c11c5ca1c1f7ee563a3d82 *install/images/sel.png
|
94b02097d5c11c5ca1c1f7ee563a3d82 *install/images/sel.png
|
||||||
7d7bb734d5e82ccbb7900e974b0b623a *install/images/seled.png
|
7d7bb734d5e82ccbb7900e974b0b623a *install/images/seled.png
|
||||||
8e31c9744d7cdd6bf748d3b95c6a89f7 *install/images/style.css
|
8e31c9744d7cdd6bf748d3b95c6a89f7 *install/images/style.css
|
||||||
971abc1c4c5d1b68696a51ea48d6b3d1 *install/include/install_function.php
|
414d49adb5b2e405eef17b23285c9369 *install/include/install_function.php
|
||||||
a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
|
a987af86766c27c565794ffa189cf664 *install/include/install_mysql.php
|
||||||
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
249b244097610688130b93721d1c2bd1 *install/include/install_mysqli.php
|
||||||
d7d7fef7dc366413340be8ad3da41709 *install/include/install_var.php
|
effd4ff5bdac95bbc9e360de443f335c *install/include/install_var.php
|
||||||
5c2f5c9042a9e66bc8f5af0b638cf1de *install/index.php
|
4c34d50daace82774e12ef92efb93d18 *install/index.php
|
||||||
8eca1f167c0b805d9fda97804379a962 *install/language/zh-cn/lang.php
|
672ea3abb501cb04f0708a5c69ac2161 *install/language/zh-cn/lang.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
|
||||||
@@ -1180,11 +1632,10 @@ b4315dcb6c81d9952f4ec624380d40fa *misc/seluser.php
|
|||||||
18cf2d930221489abbcbd036f29bcf59 *misc/sendwx.php
|
18cf2d930221489abbcbd036f29bcf59 *misc/sendwx.php
|
||||||
ff6abf5b6ce1f3256d2aad8fdd24f646 *misc/setunrun.php
|
ff6abf5b6ce1f3256d2aad8fdd24f646 *misc/setunrun.php
|
||||||
45c256cd29506798392534301ac3047f *misc/stat.php
|
45c256cd29506798392534301ac3047f *misc/stat.php
|
||||||
816b79cd9baa7e76f4058a0d38568593 *misc/syscache.php
|
38a88c2ea2cd34b23b1704d561e8995b *misc/syscache.php
|
||||||
d365238875a6457eaea991f1e7913309 *misc/template/misc_seluser.htm
|
d365238875a6457eaea991f1e7913309 *misc/template/misc_seluser.htm
|
||||||
89c90d955c3bfda0f63dce1449021924 *misc/upgrade.php
|
776f099f11c79bc936a33b0fbd486c9f *misc/upgrade.php
|
||||||
170b9709fad7d1a8479d03c5c5913bae *misc.php
|
170b9709fad7d1a8479d03c5c5913bae *misc.php
|
||||||
6b24f900b7ee6c424f47304a9cf098de *pichome_release.zip
|
|
||||||
eb11382b6241b03f598530206c21e0a1 *short.php
|
eb11382b6241b03f598530206c21e0a1 *short.php
|
||||||
a4167122758dd580e234395e98987bcb *static/bootstrap/css/bootstrap-slider.css
|
a4167122758dd580e234395e98987bcb *static/bootstrap/css/bootstrap-slider.css
|
||||||
e5f6fb08f469dc836cb3609e23694b3a *static/bootstrap/css/bootstrap-theme.css
|
e5f6fb08f469dc836cb3609e23694b3a *static/bootstrap/css/bootstrap-theme.css
|
||||||
@@ -1216,13 +1667,61 @@ fa2772327f55d8198301fdb8bcfc8158 *static/bootstrap/fonts/glyphicons-halflings-re
|
|||||||
ccb7f3909e30b1eb8f65a24393c6e12b *static/bootstrap/js/npm.js
|
ccb7f3909e30b1eb8f65a24393c6e12b *static/bootstrap/js/npm.js
|
||||||
9cccbcd9bc6aed2bb14df1013e185ce3 *static/bootstrap/js/respond.min.js
|
9cccbcd9bc6aed2bb14df1013e185ce3 *static/bootstrap/js/respond.min.js
|
||||||
3f34091dd7e93143bf4e94df93ac0cff *static/css/app_manage.css
|
3f34091dd7e93143bf4e94df93ac0cff *static/css/app_manage.css
|
||||||
|
0558805a20efbceaea35039a548fab7f *static/css/calendar.css
|
||||||
3c7b7885051c739119294ba3aaee1246 *static/css/checkbox.css
|
3c7b7885051c739119294ba3aaee1246 *static/css/checkbox.css
|
||||||
0c84eeac1e35a0f370b2679ad826648b *static/css/common.css
|
0c84eeac1e35a0f370b2679ad826648b *static/css/common.css
|
||||||
|
12813c6cae76dcdcf0ca0673a085362b *static/css/jquery-ui-1.10.4.custom.min.css
|
||||||
|
2ad158db1f748f93e608bbb264f4ea93 *static/css/mabile_common.css
|
||||||
|
de5cc99580baf95f1bc098b92245a547 *static/css/pc-commer-header.css
|
||||||
|
1f85070b3a3652886cba741f23b9eef2 *static/css/smilies.css
|
||||||
|
b3d07bda63452a4c717858f586653c28 *static/css/tip.css
|
||||||
20f7dec08bcdab872f92e5fd00658bf7 *static/dzzicon/fonts/dzz.eot
|
20f7dec08bcdab872f92e5fd00658bf7 *static/dzzicon/fonts/dzz.eot
|
||||||
bab5426c2e41cac25a364bca0d0687bf *static/dzzicon/fonts/dzz.svg
|
bab5426c2e41cac25a364bca0d0687bf *static/dzzicon/fonts/dzz.svg
|
||||||
2545315cf884316f38d4ca50e07f5bc3 *static/dzzicon/fonts/dzz.ttf
|
2545315cf884316f38d4ca50e07f5bc3 *static/dzzicon/fonts/dzz.ttf
|
||||||
68e44d78b03d25cb3d817eb619920fc2 *static/dzzicon/fonts/dzz.woff
|
68e44d78b03d25cb3d817eb619920fc2 *static/dzzicon/fonts/dzz.woff
|
||||||
09b33a5885a3ff265ca5ce6684031bb0 *static/dzzicon/icon.css
|
09b33a5885a3ff265ca5ce6684031bb0 *static/dzzicon/icon.css
|
||||||
|
325472601571f31e1bf00674c368d335 *static/image/common/b.gif
|
||||||
|
b247df6c12a919291ee599eb53fe620e *static/image/common/check_error.gif
|
||||||
|
67140a21f80675f4d9a781c2b8673e2f *static/image/common/check_right.gif
|
||||||
|
c62559524d105e0199b3e00c8bd261b9 *static/image/common/close.gif
|
||||||
|
69739b9046f1d000a2992b4e7142a096 *static/image/common/delete.png
|
||||||
|
d777c1d9caca98016c795c64c52b6bdc *static/image/common/error.png
|
||||||
|
3eef7a774c904f6b2d3ab826d00a2e14 *static/image/common/ic-filtrate.png
|
||||||
|
38d1a8e23d1bc2ab3846822af9e57f4b *static/image/common/icon_main.png
|
||||||
|
ab46e1d967fb57c6e634800026dda3bc *static/image/common/info.png
|
||||||
|
071c62d99c36ab0aa44891a6bd5a0ae1 *static/image/common/left_drager.png
|
||||||
|
69de2edd002c585dbde1c11b04fcaf0f *static/image/common/left_drager_op1.gif
|
||||||
|
f00e672de1fcb2414944584fdb9bad2a *static/image/common/left_drager_op2.gif
|
||||||
|
05235af1889d21cd47ed3fbf8cced673 *static/image/common/loading.gif
|
||||||
|
25b023c9a97dc186e7ef8283c67af083 *static/image/common/loading.png
|
||||||
|
2894a0aaf1160440c47ecd1685115ed8 *static/image/common/logo.png
|
||||||
|
169e39863c8c46883c5ec51a9c235934 *static/image/common/noFilePage-fail.png
|
||||||
|
78fcf9ba53821a5e6da060414178895d *static/image/common/noFilePage-successful.png
|
||||||
|
bf7d3e1972b3fe5bfe8c119fee05e89d *static/image/common/none.gif
|
||||||
|
ee9ca73d9ee8b9bd5606e576d375a8f1 *static/image/common/ownwatermark.png
|
||||||
|
091ad73692cb58a15a91a48df233bd4c *static/image/common/passlevel.png
|
||||||
|
40178d7ea9e0e84080418fd3df6e987b *static/image/common/player.swf
|
||||||
|
2c00b1029439ac146931beaa56336655 *static/image/common/popupcredit_bg.gif
|
||||||
|
13cdfe50e5dfb3f1c5797a94c5952aa1 *static/image/common/popuptext_bg.gif
|
||||||
|
44bf00ace335179432cf9baf2fbeb21f *static/image/common/qq.gif
|
||||||
|
36de48f2ece310da91a9d7cdb1c12405 *static/image/common/qq_big.gif
|
||||||
|
955f51d16c5e3f50834b424c43d6982e *static/image/common/qq_bind.gif
|
||||||
|
2772bb5963055ab01078bd491f7e2669 *static/image/common/qq_bind_small.gif
|
||||||
|
5303890a49bf80d5d9227155cc844e29 *static/image/common/qq_login.gif
|
||||||
|
8a2896873d73ab8a17b50c0c60974970 *static/image/common/rank1.png
|
||||||
|
93b8ff2a38e2e4a840985232f422dc80 *static/image/common/rank2.png
|
||||||
|
8a560d48b5c115aafd683a0bb47ff3fa *static/image/common/rank3.png
|
||||||
|
d9ff43f18d468615f2ae13bba9ff634c *static/image/common/right.gif
|
||||||
|
f639a922a4ba5d476ee1f65329139846 *static/image/common/right.png
|
||||||
|
4cb37af1099b93a01f328671f37b8b2a *static/image/common/tip_bottom.png
|
||||||
|
57171a556f08080e3143434016f2f549 *static/image/common/tip_top.png
|
||||||
|
89f8da465fe6b53db230d9f9d28d288e *static/image/common/tip_up.gif
|
||||||
|
6fcf8bd102a9f3a4fe1d04d2e53d6c82 *static/image/common/tip_up_grey.gif
|
||||||
|
3747b712cf2168054bb45fceb4ebf926 *static/image/common/tree_heng.gif
|
||||||
|
f671ff097fcd491e54914ae4860513ae *static/image/common/tree_heng1.gif
|
||||||
|
2710209ef9e7469cb79c6c23d9e968b5 *static/image/common/tree_su.gif
|
||||||
|
a69a0a404fedd3a334f295db86001589 *static/image/common/wloading.gif
|
||||||
|
25b023c9a97dc186e7ef8283c67af083 *static/image/common/wloading.png
|
||||||
7215ee9c7d9dc229d2921a40e899ec5f *static/index.htm
|
7215ee9c7d9dc229d2921a40e899ec5f *static/index.htm
|
||||||
6c57b762589f13ea5b3579ca5e6c369b *static/jquery/jquery-migrate-1.4.1.js
|
6c57b762589f13ea5b3579ca5e6c369b *static/jquery/jquery-migrate-1.4.1.js
|
||||||
04a4db2983450a2970c459ba87b4210a *static/jquery/jquery-ui.js
|
04a4db2983450a2970c459ba87b4210a *static/jquery/jquery-ui.js
|
||||||
@@ -1264,6 +1763,12 @@ d90a69d4131a7b4b0fadb54a5b4501b6 *static/js/touch-0.2.14.min.js
|
|||||||
01ab6b3a4cb87f8549b2ddb55b7d83a7 *static/js/ZeroClipboard/ZeroClipboard.js
|
01ab6b3a4cb87f8549b2ddb55b7d83a7 *static/js/ZeroClipboard/ZeroClipboard.js
|
||||||
9e8d8599a9eee6835a6124b6db3dfb2c *static/js/ZeroClipboard/ZeroClipboard.min.js
|
9e8d8599a9eee6835a6124b6db3dfb2c *static/js/ZeroClipboard/ZeroClipboard.min.js
|
||||||
3ef2e4d603a8b4600daebb249d1d9928 *static/js/ZeroClipboard/ZeroClipboard.swf
|
3ef2e4d603a8b4600daebb249d1d9928 *static/js/ZeroClipboard/ZeroClipboard.swf
|
||||||
|
c183d09005a5c15879398e629da9c96a *static/popbox/jquery.popbox.js
|
||||||
|
50c5e3e79b276c92df6cc52caeb464f0 *static/popbox/loading.gif
|
||||||
|
4283777f23ada6131e77cf87959e1042 *static/popbox/loading.svg
|
||||||
|
50c5e3e79b276c92df6cc52caeb464f0 *static/popbox/loading1.gif
|
||||||
|
f2fe97d43271ba5a1aaca87b054554d3 *static/popbox/oval.svg
|
||||||
|
90b26d67b569e554a902865099864554 *static/popbox/popbox.css
|
||||||
d1ad8ccaadf9ebe30b27c63084cd4ac2 *user/ajax.php
|
d1ad8ccaadf9ebe30b27c63084cd4ac2 *user/ajax.php
|
||||||
470a63ab208a9bb51e652b95898e18e4 *user/classes/checklogin.php
|
470a63ab208a9bb51e652b95898e18e4 *user/classes/checklogin.php
|
||||||
d8a41c8fbd7289ae2ecb61479f062f86 *user/classes/init.php
|
d8a41c8fbd7289ae2ecb61479f062f86 *user/classes/init.php
|
||||||
@@ -1297,14 +1802,14 @@ c086d7adbe5aab566b96a8311fd56a75 *user/login/template/getpasswd.htm
|
|||||||
fd044a68a07006f09f8afefe8212b84a *user/login/template/getpasswd_sms_success.htm
|
fd044a68a07006f09f8afefe8212b84a *user/login/template/getpasswd_sms_success.htm
|
||||||
fbd9c74e9b4c5ebfcb7d520a07d972dd *user/login/template/login_copyright.htm
|
fbd9c74e9b4c5ebfcb7d520a07d972dd *user/login/template/login_copyright.htm
|
||||||
3dd808f2a4d82e7a40536e3941e37d74 *user/login/template/login_single1.htm
|
3dd808f2a4d82e7a40536e3941e37d74 *user/login/template/login_single1.htm
|
||||||
a4705f131c2766b6f1e78dc74e7662c5 *user/login/template/login_single2.htm
|
d2ce2f26ffe01669c05f27f678dede40 *user/login/template/login_single2.htm
|
||||||
c06a447a0c9d131913d08020e784e758 *user/login/template/login_single3.htm
|
c06a447a0c9d131913d08020e784e758 *user/login/template/login_single3.htm
|
||||||
f368efa39460e484371148a4e1163a98 *user/login/template/login_single4.htm
|
f368efa39460e484371148a4e1163a98 *user/login/template/login_single4.htm
|
||||||
4ae58655385cf4d0d9d0f106786d581d *user/login/template/login_single_demo.htm
|
4ae58655385cf4d0d9d0f106786d581d *user/login/template/login_single_demo.htm
|
||||||
f82562f1c60ed08dc1ae50887aa18097 *user/login/template/login_single_mobile.htm
|
f82562f1c60ed08dc1ae50887aa18097 *user/login/template/login_single_mobile.htm
|
||||||
d28233af369fb8dbff23ae32ed050102 *user/login/template/login_skip.htm
|
d28233af369fb8dbff23ae32ed050102 *user/login/template/login_skip.htm
|
||||||
1f31bf4b7a42849835aaca7314412521 *user/login/template/login_sms_auth.htm
|
1f31bf4b7a42849835aaca7314412521 *user/login/template/login_sms_auth.htm
|
||||||
c1a1ad4b853e82912c3b544f6dc6d26b *user/login/template/lostpasswd.htm
|
1ea581b6b099021c2cc066fe73bb7720 *user/login/template/lostpasswd.htm
|
||||||
a154bb56352271963f02ded25548a27e *user/scripts/hammer.js
|
a154bb56352271963f02ded25548a27e *user/scripts/hammer.js
|
||||||
dbfbf51750774d4fd974029ba5440b63 *user/scripts/jquery.cropbox.css
|
dbfbf51750774d4fd974029ba5440b63 *user/scripts/jquery.cropbox.css
|
||||||
6ea230d704b460f9ac1c94cd139ea63d *user/scripts/jquery.cropbox.js
|
6ea230d704b460f9ac1c94cd139ea63d *user/scripts/jquery.cropbox.js
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ if($operation == 'getApp'){//获取当前用户应用
|
|||||||
left join %t s on s.uid = u.uid and s.skey=%swhere u.uid =%d",
|
left join %t s on s.uid = u.uid and s.skey=%swhere u.uid =%d",
|
||||||
array('user','user_setting','headerColor',$uid));
|
array('user','user_setting','headerColor',$uid));
|
||||||
if($udata['avatarstatus'] == 1){
|
if($udata['avatarstatus'] == 1){
|
||||||
$userData['icon'] = 'avatar.php?uid='.$udata['uid'];
|
$userData['icon'] = 'avatar.php?uid='.$udata['uid'].'&random='.VERHASH;
|
||||||
}elseif($udata['svalue']){
|
}elseif($udata['svalue']){
|
||||||
$userData['firstword'] = strtoupper(new_strsubstr($udata['username'],1,''));
|
$userData['firstword'] = strtoupper(new_strsubstr($udata['username'],1,''));
|
||||||
$userData['headerColor'] = $udata['svalue'];
|
$userData['headerColor'] = $udata['svalue'];
|
||||||
|
|||||||
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.0816c17e.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.b5ff203c.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.b5ff203c.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-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>
|
||||||
1
admin/system/dist/js/chunk-2d0dd46d.e13ddeba.js
vendored
Normal file
1
admin/system/dist/js/chunk-2d0dd46d.e13ddeba.js
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd46d"],{8164:function(e,t,s){"use strict";s.r(t);var n=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}]},[s("el-card",{staticClass:"box-card",staticStyle:{background:"rgb(240, 249, 235)","text-align":"center"},attrs:{shadow:"hover"}},[s("p",{staticStyle:{"margin-bottom":"0"}},[s("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful1")))])],1),s("p",{staticStyle:{margin:"0"}},[s("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.version))])],1),s("p",{staticStyle:{"margin-bottom":"0"}},[s("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful3",{dir:e.dir})))])],1),s("p",{staticStyle:{margin:"0"}},[s("el-link",{attrs:{type:"success",underline:!1}},[e._v(e._s(e.$t("upgrade_successful4",{backdir:e.backdir})))])],1)])],1)},a=[],r=(s("96cf"),s("1da1")),i={data:function(){return{loading:!1,version:"",dir:"",backdir:""}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(r["a"])(regeneratorRuntime.mark((function t(){var s,n;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:s=t.sent,n=s.data,e.version=e.$t("upgrade_successful2",{msg:n.version}),e.dir=n.dir,e.backdir=n.backdir,e.loading=!1;case 9:case"end":return t.stop()}}),t)})))()}},components:{},mounted:function(){}},c=i,d=s("2877"),o=Object(d["a"])(c,n,a,!1,null,"321830d5",null);t["default"]=o.exports}}]);
|
||||||
1
admin/system/dist/js/index.d36cff59.js
vendored
Normal file
1
admin/system/dist/js/index.d36cff59.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -240,7 +240,7 @@ if ($operation == 'patch' || $operation == 'cross') {
|
|||||||
$dzz_upgrade -> rmdirs(DZZ_ROOT . $old_update_dir);
|
$dzz_upgrade -> rmdirs(DZZ_ROOT . $old_update_dir);
|
||||||
$dzz_upgrade -> rmdirs(DZZ_ROOT . $old_back_dir);
|
$dzz_upgrade -> rmdirs(DZZ_ROOT . $old_back_dir);
|
||||||
upgradeinformation(0);
|
upgradeinformation(0);
|
||||||
exit(json_encode(array('dir'=>$new_update_dir,'backdir'=>$new_back_dir)));
|
exit(json_encode(array('version' => $version,'dir'=>$new_update_dir,'backdir'=>$new_back_dir)));
|
||||||
// $msg = lang('upgrade_successful', array('version' => $version, 'save_update_dir' => $new_update_dir, 'save_back_dir' => $new_back_dir, 'upgradeurl' => upgradeinformation(0)));
|
// $msg = lang('upgrade_successful', array('version' => $version, 'save_update_dir' => $new_update_dir, 'save_back_dir' => $new_back_dir, 'upgradeurl' => upgradeinformation(0)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -291,6 +291,8 @@ if ($operation == 'patch' || $operation == 'cross') {
|
|||||||
dheader('Location: ' . $url);
|
dheader('Location: ' . $url);
|
||||||
|
|
||||||
} elseif ($step == 5) {
|
} elseif ($step == 5) {
|
||||||
|
print_r(1111);
|
||||||
|
die;
|
||||||
$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');
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ if(file_exists(dirname(__FILE__).'/'.$avatar)) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
|
||||||
$avatar_url = 'static/image/avatar/noavatar_'.$size.'.gif';
|
$avatar_url = 'data/avatar/noavatar_'.$size.'.gif';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($random)) {
|
if(empty($random)) {
|
||||||
|
|||||||
@@ -166,4 +166,21 @@ $_config['userlogin']['checkip'] = 1; //用户登录错误验证ip,对于
|
|||||||
|
|
||||||
//$_config['system_os'] = 'linux'; //windows,linux,mac,系统会自动判断
|
//$_config['system_os'] = 'linux'; //windows,linux,mac,系统会自动判断
|
||||||
//$_config['system_charset']='utf-8'; //操作系统编码,不设置系统将根据操作系统类型来判断linux:utf-8;windows:gbk;
|
//$_config['system_charset']='utf-8'; //操作系统编码,不设置系统将根据操作系统类型来判断linux:utf-8;windows:gbk;
|
||||||
|
|
||||||
|
//pichome宽高
|
||||||
|
$_config['pichomethumbwidth']= 900;
|
||||||
|
$_config['pichomethumbheight']= 900;
|
||||||
|
//pichome缩略图颜色允许后缀
|
||||||
|
$_config['getcolorextlimit'] = ['jpg','png','jpeg','gif','webp','pdf'];
|
||||||
|
//ffmpeg位置
|
||||||
|
$_config['pichomeffmpegposition'] = '';
|
||||||
|
$_config['pichomeffprobposition'] = '';
|
||||||
|
|
||||||
|
//支持获取音视频信息的后缀
|
||||||
|
$_config['pichomeffmpeggetvieoinoext']= [ 'avi', 'rm', 'rmvb', 'mkv', 'mov', 'wmv', 'asf', 'mpg', 'mpe', 'mpeg', 'mp4', 'm4v', 'mpeg', 'f4v', 'vob', 'ogv', 'mts', 'm2ts',
|
||||||
|
'3gp', 'webm', 'flv', 'wav', 'mp3', 'ogg', 'midi', 'wma', 'vqf', 'ra', 'aac', 'flac', 'ape', 'amr', 'aiff', 'au', 'm4a'];
|
||||||
|
//支持获取音视频缩略图后缀
|
||||||
|
$_config['pichomeffmpeggetthumbext']= [ 'avi', 'rm', 'rmvb', 'mkv', 'mov', 'wmv', 'asf', 'mpg', 'mpe', 'mpeg', 'mp4', 'm4v', 'mpeg', 'f4v', 'vob', 'ogv', 'mts', 'm2ts',
|
||||||
|
'3gp', 'webm', 'flv', 'wav', 'mp3', 'ogg', 'midi', 'wma', 'vqf', 'ra', 'aac', 'flac', 'ape', 'amr', 'aiff', 'au', 'm4a'];
|
||||||
|
|
||||||
return $_config;
|
return $_config;
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ class FileDownload{ // class start
|
|||||||
if(!$fp = fopen($file, 'rb')){
|
if(!$fp = fopen($file, 'rb')){
|
||||||
topshowmessage(lang('file_not_exist1'));
|
topshowmessage(lang('file_not_exist1'));
|
||||||
}
|
}
|
||||||
|
$charset = CHARSET;
|
||||||
$db = DB::object();
|
$db = DB::object();
|
||||||
$db->close();
|
$db->close();
|
||||||
@ob_end_clean();
|
@ob_end_clean();
|
||||||
@@ -40,7 +41,16 @@ class FileDownload{ // class start
|
|||||||
header('Date: '.gmdate('D, d M Y H:i:s', $dateline).' GMT');
|
header('Date: '.gmdate('D, d M Y H:i:s', $dateline).' GMT');
|
||||||
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $dateline).' GMT');
|
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $dateline).' GMT');
|
||||||
header('content-type:application/octet-stream');
|
header('content-type:application/octet-stream');
|
||||||
header('content-disposition:attachment; filename='.$name);
|
if (preg_match("/Firefox/", $_SERVER["HTTP_USER_AGENT"])) {
|
||||||
|
$attachment = 'attachment; filename*='.$charset.'\'\'' . $name;
|
||||||
|
} elseif (!preg_match("/Chrome/", $_SERVER["HTTP_USER_AGENT"]) && preg_match("/Safari/", $_SERVER["HTTP_USER_AGENT"])) {
|
||||||
|
$filename = rawurlencode($name); // 注意:rawurlencode与urlencode的区别
|
||||||
|
$attachment = 'attachment; filename*='.$charset.'\'\'' . $filename;
|
||||||
|
} else{
|
||||||
|
$attachment = 'attachment; filename='.$name;
|
||||||
|
}
|
||||||
|
//header('content-disposition:attachment; filename='.$name);
|
||||||
|
header('content-disposition:'.$attachment);
|
||||||
if($reload && $ranges!=null){ // 使用续传
|
if($reload && $ranges!=null){ // 使用续传
|
||||||
header('HTTP/1.1 206 Partial Content');
|
header('HTTP/1.1 206 Partial Content');
|
||||||
header('Accept-Ranges:bytes');
|
header('Accept-Ranges:bytes');
|
||||||
|
|||||||
@@ -238,10 +238,11 @@ class ImagePalette implements IteratorAggregate
|
|||||||
protected function setWorkingImageImagick()
|
protected function setWorkingImageImagick()
|
||||||
{
|
{
|
||||||
$file = file_get_contents($this->file);
|
$file = file_get_contents($this->file);
|
||||||
$temp = tempnam("/tmp", uniqid("ImagePalette_", true));
|
$temp = tempnam(DZZ_ROOT.'./data/attachment/cache', uniqid("ImagePalette_", true));
|
||||||
if(!file_put_contents($temp, $file)) return false;
|
if(!file_put_contents($temp, $file)) return false;
|
||||||
$this->loadedImage = new Imagick($temp);
|
$this->loadedImage = new Imagick($temp);
|
||||||
$this->loadedImage ->thumbnailImage(64,64,true);
|
$this->loadedImage ->thumbnailImage(64,64,true);
|
||||||
|
@unlink($temp);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -375,6 +375,7 @@ class image {
|
|||||||
return array($width,$height);
|
return array($width,$height);
|
||||||
}
|
}
|
||||||
function Thumb_IM() {
|
function Thumb_IM() {
|
||||||
|
|
||||||
switch($this->param['thumbtype']) {
|
switch($this->param['thumbtype']) {
|
||||||
case 'fixnone':
|
case 'fixnone':
|
||||||
case 1:
|
case 1:
|
||||||
|
|||||||
@@ -363,7 +363,9 @@ 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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,10 +158,24 @@
|
|||||||
return $return;
|
return $return;
|
||||||
} else return false;
|
} else return false;
|
||||||
}
|
}
|
||||||
public function getAllFiles($path,$fid){
|
public function getAllFiles($path,$fid,$page=1,$limit=100){
|
||||||
$path = self::clean($path);
|
$path = self::clean($path);
|
||||||
if ($io = self::initIO($path)) {
|
if ($io = self::initIO($path)) {
|
||||||
$return = $io->getAllFiles($path,$fid);
|
$return = $io->getAllFiles($path,$fid,$page,$limit);
|
||||||
|
return $return;
|
||||||
|
} else return false;
|
||||||
|
}
|
||||||
|
public function getAlltag($path){
|
||||||
|
$path = self::clean($path);
|
||||||
|
if ($io = self::initIO($path)) {
|
||||||
|
$return = $io->getAlltag($path);
|
||||||
|
return $return;
|
||||||
|
} else return false;
|
||||||
|
}
|
||||||
|
public function getAlltaggroup($path){
|
||||||
|
$path = self::clean($path);
|
||||||
|
if ($io = self::initIO($path)) {
|
||||||
|
$return = $io->getAlltaggroup($path);
|
||||||
return $return;
|
return $return;
|
||||||
} else return false;
|
} else return false;
|
||||||
}
|
}
|
||||||
|
|||||||
77
core/class/table/table_connect.php
Normal file
77
core/class/table/table_connect.php
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect';
|
||||||
|
$this->_pk = 'bz';
|
||||||
|
$this->_pre_cache_key = 'connect_';
|
||||||
|
$this->_cache_ttl = 60*60;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_all_by_available($onlyuser=false){
|
||||||
|
$data=array();
|
||||||
|
if($onlyuser) $available=1;
|
||||||
|
else $available=0;
|
||||||
|
$query=DB::query("SELECT * FROM ".DB::table($this->_table)." WHERE available > '{$available}' and type!='local' ORDER BY disp");
|
||||||
|
while($value=DB::fetch($query)){
|
||||||
|
//检测可用性
|
||||||
|
if($value['type']=='pan' && (empty($value['key']) || empty($value['secret']))){
|
||||||
|
$value['available']=0;
|
||||||
|
$value['warning']=lang('please_open_after_setting');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(!is_file(DZZ_ROOT.'./core/class/io/io_'.($value['bz']).'.php')){
|
||||||
|
$value['available']=0;
|
||||||
|
$value['warning']='api'.lang('typename_attach').':io_'.($value['bz']).'.php'.lang('inexistence').'!';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data[$value['bz']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_all_folderdata($uid){
|
||||||
|
$data=self::fetch_all_by_available();
|
||||||
|
$folderdata=array();
|
||||||
|
foreach($data as $value){
|
||||||
|
foreach(DB::fetch_all("select id from ".DB::table($value['dname'])." where uid>0 && uid='{$uid}'") as $value1){
|
||||||
|
|
||||||
|
$arr=C::t($value['dname'])->fetch_by_id($value1['id']);
|
||||||
|
$folderdata[$arr['fid']]=$arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $folderdata;
|
||||||
|
}
|
||||||
|
public function fetch_all_bz(){
|
||||||
|
$data=array();
|
||||||
|
foreach(DB::fetch_all("select bz from %t where 1",array($this->_table)) as $value){
|
||||||
|
$data[]=$value['bz'];
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
if($bz=='dzz') return false; //dzz是内置,不能删除
|
||||||
|
$data=self::fetch($bz);
|
||||||
|
if(is_file(DZZ_ROOT.'./core/class/table/table_'.$data['dname'].'.php')){
|
||||||
|
C::t($data['dname'])->delete_by_bz($bz);
|
||||||
|
}
|
||||||
|
return self::delete($bz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
82
core/class/table/table_connect_disk.php
Normal file
82
core/class/table/table_connect_disk.php
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect_disk extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect_disk';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'connect_disk_';
|
||||||
|
$this->_cache_ttl = 300;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_id($id){
|
||||||
|
|
||||||
|
$value=parent::fetch($id);
|
||||||
|
$cloud=DB::fetch_first("select * from ".DB::table('connect')." where bz='{$value['bz']}'");
|
||||||
|
$data=array(
|
||||||
|
'id'=>$value['id'],
|
||||||
|
'fid'=>md5($cloud['bz'].':'.$value['id'].':'.$cloud['root']),
|
||||||
|
'pfid'=>0,
|
||||||
|
'fname'=>$value['cloudname'],
|
||||||
|
'ficon'=>'dzz/images/default/system/'.$cloud['bz'].'.png',
|
||||||
|
'bz'=>$cloud['bz'].':'.$value['id'].':',
|
||||||
|
'path'=>$cloud['bz'].':'.$value['id'].':'.$cloud['root'],
|
||||||
|
'type'=>'disk',
|
||||||
|
'fsperm'=>perm_FolderSPerm::flagPower($cloud['bz']),
|
||||||
|
'perm'=>perm_binPerm::getGroupPower('all'),
|
||||||
|
'flag'=>$cloud['bz'],
|
||||||
|
'iconview'=>1,
|
||||||
|
'disp'=>'0',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_by_id($ids){
|
||||||
|
$data=array();
|
||||||
|
foreach($ids as $id){
|
||||||
|
$value=self::fetch_by_id($id);
|
||||||
|
$data[$value['fid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_id($id){
|
||||||
|
$return=array();
|
||||||
|
$data=parent::fetch($id);
|
||||||
|
if(parent::delete($id)){
|
||||||
|
$return['msg']='success';
|
||||||
|
//C::t('source_shortcut')->delete_by_bz($data['bz'].':'.$id.':',true);//删除快捷方式;
|
||||||
|
//删除图片缓存文件
|
||||||
|
$imgcache=getglobal('setting/attachdir').'./imgcache/'.$data['bz'].'/'.$id.'/';
|
||||||
|
removedirectory($imgcache);
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_uid($uid){
|
||||||
|
if(!$uid) return 0;
|
||||||
|
foreach(DB::fetch_all("select id from %t where uid=%d",array($this->_table,$uid)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
foreach(DB::fetch_all("select id from %t where bz=%s",array($this->_table,$bz)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
82
core/class/table/table_connect_ftp.php
Normal file
82
core/class/table/table_connect_ftp.php
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect_ftp extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect_ftp';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'connect_ftp_';
|
||||||
|
$this->_cache_ttl = 300;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_id($id){
|
||||||
|
|
||||||
|
$value=self::fetch($id);
|
||||||
|
$cloud=DB::fetch_first("select * from ".DB::table('connect')." where bz='{$value['bz']}'");
|
||||||
|
$data=array(
|
||||||
|
'id'=>$value['id'],
|
||||||
|
'fid'=>md5($cloud['bz'].':'.$value['id'].':'.$cloud['root']),
|
||||||
|
'pfid'=>0,
|
||||||
|
'fname'=>$value['cloudname'],
|
||||||
|
'ficon'=>'dzz/images/default/system/'.$cloud['bz'].'.png',
|
||||||
|
'bz'=>$cloud['bz'].':'.$value['id'].':',
|
||||||
|
'path'=>$cloud['bz'].':'.$value['id'].':'.$cloud['root'],
|
||||||
|
'type'=>'ftp',
|
||||||
|
'fsperm'=>perm_FolderSPerm::flagPower($cloud['bz']),
|
||||||
|
'perm'=>perm_binPerm::getGroupPower('all'),
|
||||||
|
'flag'=>$cloud['bz'],
|
||||||
|
'iconview'=>1,
|
||||||
|
'disp'=>'0',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_by_id($ids){
|
||||||
|
$data=array();
|
||||||
|
foreach($ids as $id){
|
||||||
|
$value=self::fetch_by_id($id);
|
||||||
|
$data[$value['fid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_id($id){
|
||||||
|
$return=array();
|
||||||
|
$data=parent::fetch($id);
|
||||||
|
if(parent::delete($id)){
|
||||||
|
$return['msg']='success';
|
||||||
|
//C::t('source_shortcut')->delete_by_bz($data['bz'].':'.$id.':',true);//删除快捷方式;
|
||||||
|
//删除图片缓存文件
|
||||||
|
$imgcache=getglobal('setting/attachdir').'./imgcache/'.$data['bz'].'/'.$id.'/';
|
||||||
|
removedirectory($imgcache);
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_uid($uid){
|
||||||
|
if(!$uid) return 0;
|
||||||
|
foreach(DB::fetch_all("select id from %t where uid=%d",array($this->_table,$uid)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
foreach(DB::fetch_all("select id from %t where bz=%s",array($this->_table,$bz)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
83
core/class/table/table_connect_onedrive.php
Normal file
83
core/class/table/table_connect_onedrive.php
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect_onedrive extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect_onedrive';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'connect_onedrive_';
|
||||||
|
$this->_cache_ttl = 300;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_id($id){
|
||||||
|
|
||||||
|
$value=self::fetch($id);
|
||||||
|
$cloud=DB::fetch_first("select * from ".DB::table('connect')." where bz='{$value['bz']}'");
|
||||||
|
if(!$value['cloudname']) $value['cloudname']=$cloud['name'].':'.($value['cusername']?$value['cusername']:$cloud['cuid']);
|
||||||
|
$data=array(
|
||||||
|
'id'=>$value['id'],
|
||||||
|
'fid'=>md5($cloud['bz'].':'.$value['id'].':'.$cloud['root']),
|
||||||
|
'pfid'=>0,
|
||||||
|
'fname'=>$value['cloudname'],
|
||||||
|
'ficon'=>'dzz/images/default/system/'.$cloud['bz'].'.png',
|
||||||
|
'bz'=>$cloud['bz'].':'.$value['id'].':',
|
||||||
|
'path'=>$cloud['bz'].':'.$value['id'].':'.$cloud['root'],
|
||||||
|
'type'=>'pan',
|
||||||
|
'fsperm'=>perm_FolderSPerm::flagPower($cloud['bz']),
|
||||||
|
'perm'=>perm_binPerm::getGroupPower('all'),
|
||||||
|
'flag'=>$cloud['bz'],
|
||||||
|
'iconview'=>1,
|
||||||
|
'disp'=>'0',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_by_id($ids){
|
||||||
|
$data=array();
|
||||||
|
foreach($ids as $id){
|
||||||
|
$value=self::fetch_by_id($id);
|
||||||
|
$data[$value['fid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_id($id){
|
||||||
|
$return=array();
|
||||||
|
$data=parent::fetch($id);
|
||||||
|
if(parent::delete($id)){
|
||||||
|
$return['msg']='success';
|
||||||
|
//C::t('source_shortcut')->delete_by_bz($data['bz'].':'.$id.':',true);//删除快捷方式;
|
||||||
|
//删除图片缓存文件
|
||||||
|
$imgcache=getglobal('setting/attachdir').'./imgcache/'.$data['bz'].'/'.$id.'/';
|
||||||
|
removedirectory($imgcache);
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_uid($uid){
|
||||||
|
if(!$uid) return 0;
|
||||||
|
foreach(DB::fetch_all("select id from %t where uid=%d",array($this->_table,$uid)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
foreach(DB::fetch_all("select id from %t where bz=%s",array($this->_table,$bz)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
83
core/class/table/table_connect_pan.php
Normal file
83
core/class/table/table_connect_pan.php
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect_pan extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect_pan';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'connect_pan_';
|
||||||
|
$this->_cache_ttl = 300;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_id($id){
|
||||||
|
|
||||||
|
$value=self::fetch($id);
|
||||||
|
$cloud=DB::fetch_first("select * from ".DB::table('connect')." where bz='{$value['bz']}'");
|
||||||
|
if(!$value['cloudname']) $value['cloudname']=$cloud['name'].':'.($value['cusername']?$value['cusername']:$cloud['cuid']);
|
||||||
|
$data=array(
|
||||||
|
'id'=>$value['id'],
|
||||||
|
'fid'=>md5($cloud['bz'].':'.$value['id'].':'.$cloud['root']),
|
||||||
|
'pfid'=>0,
|
||||||
|
'fname'=>$value['cloudname'],
|
||||||
|
'ficon'=>'dzz/images/default/system/'.$cloud['bz'].'.png',
|
||||||
|
'bz'=>$cloud['bz'].':'.$value['id'].':',
|
||||||
|
'path'=>$cloud['bz'].':'.$value['id'].':'.$cloud['root'],
|
||||||
|
'type'=>'pan',
|
||||||
|
'fsperm'=>perm_FolderSPerm::flagPower($cloud['bz']),
|
||||||
|
'perm'=>perm_binPerm::getGroupPower('all'),
|
||||||
|
'flag'=>$cloud['bz'],
|
||||||
|
'iconview'=>1,
|
||||||
|
'disp'=>'0',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_by_id($ids){
|
||||||
|
$data=array();
|
||||||
|
foreach($ids as $id){
|
||||||
|
$value=self::fetch_by_id($id);
|
||||||
|
$data[$value['fid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_id($id){
|
||||||
|
$return=array();
|
||||||
|
$data=parent::fetch($id);
|
||||||
|
if(parent::delete($id)){
|
||||||
|
$return['msg']='success';
|
||||||
|
//C::t('source_shortcut')->delete_by_bz($data['bz'].':'.$id.':',true);//删除快捷方式;
|
||||||
|
//删除图片缓存文件
|
||||||
|
$imgcache=getglobal('setting/attachdir').'./imgcache/'.$data['bz'].'/'.$id.'/';
|
||||||
|
removedirectory($imgcache);
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_uid($uid){
|
||||||
|
if(!$uid) return 0;
|
||||||
|
foreach(DB::fetch_all("select id from %t where uid=%d",array($this->_table,$uid)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
foreach(DB::fetch_all("select id from %t where bz=%s",array($this->_table,$bz)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
84
core/class/table/table_connect_storage.php
Normal file
84
core/class/table/table_connect_storage.php
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_connect_storage extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'connect_storage';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
/*$this->_pre_cache_key = 'connect_storage_';
|
||||||
|
$this->_cache_ttl = 0;*/
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_id($id){
|
||||||
|
|
||||||
|
$value=self::fetch($id);
|
||||||
|
$cloud=DB::fetch_first("select * from ".DB::table('connect')." where bz='{$value['bz']}'");
|
||||||
|
$value['access_id']=authcode($value['access_id'],'DECODE',$value['bz'])?authcode($value['access_id'],'DECODE',$value['bz']):$value['access_id'];
|
||||||
|
if(!$value['cloudname']) $value['cloudname']=$cloud['name'].':'.($value['bucket']?$value['bucket']:cutstr($value['access_id'], 4, ''));
|
||||||
|
if($value['bucket']) $value['bucket'].='/';
|
||||||
|
$data=array(
|
||||||
|
'id'=>$value['id'],
|
||||||
|
'fid'=>md5($cloud['bz'].':'.$value['id'].':'.$value['bucket']),
|
||||||
|
'pfid'=>0,
|
||||||
|
'fname'=>$value['cloudname'],
|
||||||
|
'ficon'=>'dzz/images/default/system/'.$cloud['bz'].'.png',
|
||||||
|
'bz'=>$cloud['bz'].':'.$value['id'].':',
|
||||||
|
'path'=>$cloud['bz'].':'.$value['id'].':'.$value['bucket'],
|
||||||
|
'type'=>'storage',
|
||||||
|
'fsperm'=>$value['bucket']?'0':perm_FolderSPerm::flagPower($cloud['bz'].'_root'),
|
||||||
|
'perm'=>perm_binPerm::getGroupPower('all'),
|
||||||
|
'flag'=>$cloud['bz'],
|
||||||
|
'iconview'=>1,
|
||||||
|
'disp'=>'0',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_by_id($ids){
|
||||||
|
$data=array();
|
||||||
|
foreach($ids as $id){
|
||||||
|
if($value=self::fetch_by_id($id)) $data[$value['fid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function delete_by_id($id){
|
||||||
|
//删除此应用的快捷方式
|
||||||
|
$return=array();
|
||||||
|
$data=parent::fetch($id);
|
||||||
|
if(parent::delete($id)){
|
||||||
|
$return['msg']='success';
|
||||||
|
//C::t('source_shortcut')->delete_by_bz($data['bz'].':'.$id.':',true);//删除快捷方式;
|
||||||
|
//删除图片缓存文件
|
||||||
|
$imgcache=getglobal('setting/attachdir').'./imgcache/'.$data['bz'].'/'.$id.'/';
|
||||||
|
removedirectory($imgcache);
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_uid($uid){
|
||||||
|
if(!$uid) return 0;
|
||||||
|
foreach(DB::fetch_all("select id from %t where uid=%d",array($this->_table,$uid)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function delete_by_bz($bz){
|
||||||
|
foreach(DB::fetch_all("select id from %t where bz=%s",array($this->_table,$bz)) as $value){
|
||||||
|
self::delete_by_id($value['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
102
core/class/table/table_local_router.php
Normal file
102
core/class/table/table_local_router.php
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
//所有用户应用
|
||||||
|
//uid=0 的表示为默认应用
|
||||||
|
|
||||||
|
class table_local_router extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'local_router';
|
||||||
|
$this->_pk = 'routerid';
|
||||||
|
//$this->_pre_cache_key = 'local_router_';
|
||||||
|
//$this->_cache_ttl = 0;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function fetch_by_routerid($routerid){
|
||||||
|
$data=self::fetch($routerid);
|
||||||
|
$data['router']=unserialize($data['router']);
|
||||||
|
$data['drouter']=self::getRouterDetail($data['router']);
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_all_orderby_priority($available=false){
|
||||||
|
$data=array();
|
||||||
|
$where='1';
|
||||||
|
if($available){
|
||||||
|
$where.=' and `available`>0';
|
||||||
|
}
|
||||||
|
foreach(DB::fetch_all("SELECT * FROM %t WHERE $where ORDER BY priority DESC ",array($this->_table)) as $value){
|
||||||
|
$value['router']=unserialize($value['router']);
|
||||||
|
$value['drouter']=self::getRouterDetail($value['router']);
|
||||||
|
$data[$value['routerid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function getRouterDetail($router){
|
||||||
|
$html='';
|
||||||
|
foreach($router as $type =>$value){
|
||||||
|
|
||||||
|
switch($type){
|
||||||
|
case 'exts':
|
||||||
|
if($value) $html.="文件后缀:".implode(',',$value);
|
||||||
|
else $html.="文件后缀:不限制";
|
||||||
|
break;
|
||||||
|
case 'size':
|
||||||
|
$sizearr=array();
|
||||||
|
if(is_numeric($value['lt'])) $sizearr[]="大于".formatsize($value['lt']*1024*1024);
|
||||||
|
if(is_numeric($value['gt'])) $sizearr[]="小于".formatsize($value['gt']*1024*1024);
|
||||||
|
if($sizearr) $html.='<br>文件大小:'.implode(' and ',$sizearr);
|
||||||
|
else $html.='<br>文件大小:不限制';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
public function insert($setarr){
|
||||||
|
$setarr['router']=serialize($setarr['router']);
|
||||||
|
return parent::insert($setarr,1);
|
||||||
|
}
|
||||||
|
public function update($routerid,$setarr){
|
||||||
|
if($setarr['router']) $setarr['router']=serialize($setarr['router']);
|
||||||
|
return parent::update($routerid,$setarr);
|
||||||
|
}
|
||||||
|
public function delete_by_remoteid($remoteid){
|
||||||
|
return DB::delete($this->_table,"remoteid='{$remoteid}'");
|
||||||
|
}
|
||||||
|
//根据路由规则筛选出存储位置
|
||||||
|
public function getRemoteId($data){
|
||||||
|
$remoteid=0;
|
||||||
|
$guize=self::fetch_all_orderby_priority(true);
|
||||||
|
foreach($guize as $value){
|
||||||
|
//没有此存储位置
|
||||||
|
if(!$ldata = C::t('local_storage')->fetch($value['remoteid'])){
|
||||||
|
continue;
|
||||||
|
}else{
|
||||||
|
$available = DB::result_first("select available from %t where bz = %s", array('connect',$ldata['bz']));
|
||||||
|
if($available <1) continue;
|
||||||
|
}
|
||||||
|
//云停用跳转
|
||||||
|
if($available<1) continue;
|
||||||
|
if($value['router']['exts']){
|
||||||
|
if(!in_array(strtolower($data['filetype']),$value['router']['exts'])) continue;
|
||||||
|
}
|
||||||
|
if(is_numeric($value['router']['size']['lt']) && $data['filesize']<$value['router']['size']['lt']*1024*1024) continue;
|
||||||
|
if(is_numeric($value['router']['size']['gt']) && $data['filesize']>$value['router']['size']['gt']*1024*1024) continue;
|
||||||
|
return $value['remoteid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $remoteid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
119
core/class/table/table_local_storage.php
Normal file
119
core/class/table/table_local_storage.php
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
<?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_storage extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
$this->_table = 'local_storage';
|
||||||
|
$this->_pk = 'remoteid';
|
||||||
|
/*$this->_pre_cache_key = 'local_storage_';
|
||||||
|
$this->_cache_ttl = 300;*/
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_by_remoteid($remoteid){
|
||||||
|
$remoteid=intval($remoteid);
|
||||||
|
if(!$data=self::fetch($remoteid)){
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
if($connect=C::t('connect')->fetch($data['bz'])){
|
||||||
|
$data=array_merge($connect,$data);
|
||||||
|
}
|
||||||
|
if($data['dname'] && $data['did']){
|
||||||
|
if($pan=C::t($data['dname'])->fetch($data['did'])) $data=array_merge($pan,$data);
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function getBzByRemoteid($remoteid){ //通过remoteid获取bz,默认返回dzz
|
||||||
|
if(!($data=self::fetch_by_remoteid($remoteid))){
|
||||||
|
return 'dzz';
|
||||||
|
}
|
||||||
|
if($data['type']=='pan') $bz=$data['bz'].':'.$data['id'].':'.$data['root'];
|
||||||
|
elseif($data['type']=='storage') $bz=$data['bz'].':'.$data['id'].':'.$data['bucket'];
|
||||||
|
elseif($data['type']=='ftp') $bz=$data['bz'].':'.$data['id'].':'.$data['root'];
|
||||||
|
elseif($data['type']=='disk') $bz=$data['bz'].':'.$data['id'].':'.$data['root'];
|
||||||
|
else $bz='dzz';
|
||||||
|
return $bz;
|
||||||
|
}
|
||||||
|
public function fetch_all_orderby_disp(){
|
||||||
|
$data=array();
|
||||||
|
foreach(DB::fetch_all("SELECT s.*,c.available FROM %t s LEFT JOIN %t c ON c.bz=s.bz WHERE 1 ORDER BY s.disp ",array($this->_table,'connect')) as $value){
|
||||||
|
$data[$value['remoteid']]=$value;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function update_usesize_by_remoteid($remoteid,$ceof){
|
||||||
|
if(!$remoteid) $remoteid=DB::result_first("select remoteid from %t where bz='dzz' limit 1",array($this->_table));
|
||||||
|
$ceof=intval($ceof);
|
||||||
|
try{
|
||||||
|
if($ceof>0){
|
||||||
|
DB::query("update %t set usesize=usesize+%d where remoteid=%d",array($this->_table,$ceof,$remoteid));
|
||||||
|
}else{
|
||||||
|
DB::query("update %t set usesize=usesize-%d where remoteid=%d",array($this->_table,abs($ceof),$remoteid));
|
||||||
|
}
|
||||||
|
$this->clear_cache($remoteid);
|
||||||
|
}catch(Exception $e){}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public function update_sizecount_by_remoteid($remoteid){
|
||||||
|
if($arr=self::getQuota($remoteid)){
|
||||||
|
self::update($remoteid,$arr);
|
||||||
|
return $arr;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getQuota($remoteid){
|
||||||
|
global $_G;
|
||||||
|
$data=self::fetch_by_remoteid($remoteid);
|
||||||
|
$return=array();
|
||||||
|
if($data['type']=='local'){
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
$return['totalsize']=disk_free_space($_G['setting']['attachdir']);
|
||||||
|
}elseif($data['type']=='pan'){
|
||||||
|
$bz=$data['bz'].':'.$data['id'].':';
|
||||||
|
$arr=IO::getQuota($bz);
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
if(is_numeric($arr['quota']) && is_numeric($arr['used'])) $return['totalsize']=($arr['quota'])-($arr['used']);
|
||||||
|
}elseif($data['type']=='storage'){
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
$return['totalsize']=0;
|
||||||
|
}elseif($data['type']=='ftp'){
|
||||||
|
$bz=$data['bz'].':'.$data['id'].':';
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
$return['totalsize']=0;
|
||||||
|
}elseif($data['type']=='disk'){
|
||||||
|
$bz=$data['bz'].':'.$data['id'].':';
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
$return['totalsize']=disk_free_space($data['attachdir']);
|
||||||
|
}else{
|
||||||
|
$return['usesize']=C::t('attachment')->getSizeByRemote($remoteid);
|
||||||
|
$return['totalsize']=0;
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
public function delete_by_remoteid($remoteid){
|
||||||
|
$data=self::fetch($remoteid);
|
||||||
|
if($data['bz']=='dzz') return array('error'=>'内置,不能删除');
|
||||||
|
if(C::t('attachment')->getSizeByRemote($remoteid)>0) return array('error'=>'有文件未迁移,不能删除');
|
||||||
|
C::t('local_router')->delete_by_remoteid($remoteid);
|
||||||
|
if($data['dname'] && $data['did']) C::t($data['dname'])->delete_by_id($data['did']);//删除链接
|
||||||
|
return self::delete($remoteid);
|
||||||
|
}
|
||||||
|
public function getRemoteId(){
|
||||||
|
return DB::result_first("select s.remoteid from ".DB::table('local_storage')." s LEFT JOIN ".DB::table('connect')." c ON s.bz=c.bz where c.available>0 order by s.isdefault DESC, s.disp ASC");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
30
core/class/table/table_pichome_ffmpeg_record.php
Normal file
30
core/class/table/table_pichome_ffmpeg_record.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
class table_pichome_ffmpeg_record extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_ffmpeg_record';
|
||||||
|
$this->_pk = 'rid';
|
||||||
|
$this->_pre_cache_key = 'pichome_ffmpeg_record';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function insert($setarr,$isforce = 0){
|
||||||
|
$rid = $setarr['rid'];
|
||||||
|
if(DB::result_first("select rid from %t where rid = %s",array($this->_table,$rid))){
|
||||||
|
if(!$isforce) return $rid;
|
||||||
|
else {
|
||||||
|
parent::delete($rid);
|
||||||
|
return parent::insert($setarr);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return parent::insert($setarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
public function insert_folderdata_by_appid($appid,$folderdata,$folderarr = array(),$pfid='',$pathkey=''){
|
public function insert_folderdata_by_appid($appid,$folderdata,$folderarr = array(),$pfid='',$pathkey=''){
|
||||||
foreach ($folderdata as $v) {
|
foreach ($folderdata as $v) {
|
||||||
$fid = $v['id'].$appid;
|
$fid = $v['id'].$appid;
|
||||||
$setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>$pathkey.$fid];
|
$setarr=['fname'=>$v['name'],'dateline'=>TIMESTAMP,'pfid'=>$pfid,'appid'=>$appid,'pathkey'=>($pathkey)?$pathkey:$fid];
|
||||||
if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
|
if($v['coverId']) $setarr['cover'] = $v['coverId'].$appid;
|
||||||
if($v['password']) $setarr['password'] = $v['password'];
|
if($v['password']) $setarr['password'] = $v['password'];
|
||||||
if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
|
if($v['passwordTips']) $setarr['passwordtips'] = trim($v['passwordTips']);
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
}else{
|
}else{
|
||||||
//如果插入数据失败跳过当前层级目录
|
//如果插入数据失败跳过当前层级目录
|
||||||
$setarr['fid'] = $fid;
|
$setarr['fid'] = $fid;
|
||||||
|
if(!$setarr['fname']) continue;
|
||||||
if(!parent::insert($setarr))continue;
|
if(!parent::insert($setarr))continue;
|
||||||
}
|
}
|
||||||
$folderarr[] = $setarr;
|
$folderarr[] = $setarr;
|
||||||
@@ -44,12 +45,9 @@
|
|||||||
$tmpchild = $v['children'];
|
$tmpchild = $v['children'];
|
||||||
foreach($tmpchild as $child){
|
foreach($tmpchild as $child){
|
||||||
$cfid = $child['id'].$appid;
|
$cfid = $child['id'].$appid;
|
||||||
$setarr=['fname'=>$child['name'],'dateline'=>TIMESTAMP,'pfid'=>$fid,'appid'=>$appid,'pathkey'=>$pathkey.$fid.$cfid];
|
$folderarr = $this->insert_folderdata_by_appid($appid,[$child],$folderarr,$fid,($pathkey) ? $pathkey.$cfid:$fid.$cfid);
|
||||||
if($child['coverId']) $setarr['cover'] = $child['coverId'].$appid;
|
|
||||||
if($child['password']) $setarr['password'] = $child['password'];
|
|
||||||
if($v['passwordTips']) $setarr['passwordtips'] = trim($child['passwordTips']);
|
|
||||||
}
|
}
|
||||||
$folderarr = $this->insert_folderdata_by_appid($appid,$tmpchild,$folderarr,$fid,$pathkey.$fid.$cfid);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -80,6 +78,8 @@
|
|||||||
$haspassword = 1;
|
$haspassword = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
unset($haspasswordfids);
|
||||||
|
unset($folderids);
|
||||||
return $haspassword;
|
return $haspassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,4 +104,50 @@
|
|||||||
}
|
}
|
||||||
return $returndata;
|
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)",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
|
||||||
|
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;
|
||||||
|
$folderdata[] = $v;
|
||||||
|
|
||||||
|
}
|
||||||
|
}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){
|
||||||
|
$v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr
|
||||||
|
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'].'%'));
|
||||||
|
$v['leaf'] = DB::result_first("select count(*) from %t where pfid = %s",array($this->_table,$v['fid'])) ? false:true;
|
||||||
|
$folderdata[] = $v;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $folderdata;
|
||||||
|
}
|
||||||
|
public function search_by_fname($keyword,$appid=''){
|
||||||
|
$folderdata = [];
|
||||||
|
$wheresql = ' fname like %s ';
|
||||||
|
$params = array($this->_table,'%'.$keyword.'%');
|
||||||
|
if($appid){
|
||||||
|
$wheresql .= ' and appid = %s ';
|
||||||
|
$params[] = $appid;
|
||||||
|
}
|
||||||
|
foreach(DB::fetch_all("select fname,fid,pathkey,appid,pfid from %t where $wheresql",$params)as $v ){
|
||||||
|
$folderdata[$v['fid']] = $v;
|
||||||
|
}
|
||||||
|
foreach ($folderdata as $k=>$v){
|
||||||
|
$len=strlen($folderdata[$k]['pathkey']);
|
||||||
|
|
||||||
|
$folderdata[$k]['len']=$len;
|
||||||
|
}
|
||||||
|
$cloumarr = array_column($folderdata,'len');
|
||||||
|
array_multisort($cloumarr,SORT_ASC,$folderdata);
|
||||||
|
return $folderdata;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
24
core/class/table/table_pichome_folder_relation.php
Normal file
24
core/class/table/table_pichome_folder_relation.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
class table_pichome_folder_relation extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_folder_relation';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'pichome_folder_relation';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_by_ofid_appid($ofid,$appid){
|
||||||
|
return DB::fetch_first("select * from %t where nfid = %d and appid = %s",array($this->_table,$ofid,$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -14,9 +14,14 @@
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
public function insert($setarr){
|
public function insert($setarr){
|
||||||
if($id = DB::result_first("select id from %t where rid = %s and fid =%s",array($this->_table,$setarr['rid'],$setarr['fid']))){
|
if($id = DB::result_first("select id from %t where rid = %s and fid =%s and appid = %s",array($this->_table,$setarr['rid'],$setarr['fid'],$setarr['appid']))){
|
||||||
return $id;
|
return $id;
|
||||||
}else{
|
}else{
|
||||||
|
if($id = DB::result_first("select id from %t where rid = %s and fid = %s and appid = %s",array($this->_table,$setarr['rid'],$setarr['fid'],$setarr['appid']))){
|
||||||
|
$rid = $setarr['rid'];
|
||||||
|
unset($setarr['rid']);
|
||||||
|
return parent::update($rid,$setarr);
|
||||||
|
}
|
||||||
return parent::insert($setarr);
|
return parent::insert($setarr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
30
core/class/table/table_pichome_imagickrecord.php
Normal file
30
core/class/table/table_pichome_imagickrecord.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
class table_pichome_imagickrecord extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_imagickrecord';
|
||||||
|
$this->_pk = 'rid';
|
||||||
|
$this->_pre_cache_key = 'pichome_imagickrecord';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
public function insert($setarr,$isforce = 0){
|
||||||
|
$rid = $setarr['rid'];
|
||||||
|
if(DB::result_first("select rid from %t where rid = %s",array($this->_table,$rid))){
|
||||||
|
if(!$isforce) return $rid;
|
||||||
|
else {
|
||||||
|
parent::delete($rid);
|
||||||
|
return parent::insert($setarr);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return parent::insert($setarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -82,15 +82,66 @@
|
|||||||
}
|
}
|
||||||
return $rgb;
|
return $rgb;
|
||||||
}
|
}
|
||||||
|
function RGBToHex($rgb){
|
||||||
|
$regexp = "/^rgb\(([0-9]{0,3})\,\s*([0-9]{0,3})\,\s*([0-9]{0,3})\)/";
|
||||||
|
$re = preg_match($regexp, $rgb, $match);
|
||||||
|
|
||||||
|
$re = array_shift($match);
|
||||||
|
|
||||||
|
$hexColor = "";
|
||||||
|
|
||||||
|
$hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
|
||||||
|
|
||||||
|
for ($i = 0; $i < 3; $i++) {
|
||||||
|
$r = null;
|
||||||
|
|
||||||
|
$c = $match[$i];
|
||||||
|
|
||||||
|
$hexAr = array();
|
||||||
|
|
||||||
|
while ($c > 16) {
|
||||||
|
$r = $c % 16;
|
||||||
|
|
||||||
|
$c = ($c / 16) >> 0;
|
||||||
|
|
||||||
|
array_push($hexAr, $hex[$r]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
array_push($hexAr, $hex[$c]);
|
||||||
|
|
||||||
|
$ret = array_reverse($hexAr);
|
||||||
|
|
||||||
|
$item = implode('', $ret);
|
||||||
|
|
||||||
|
$item = str_pad($item, 2, '0', STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$hexColor .= $item;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $hexColor;
|
||||||
|
|
||||||
|
}
|
||||||
public function fetch_colordata_by_rid($rid){
|
public function fetch_colordata_by_rid($rid){
|
||||||
$data = [];
|
$data = [];
|
||||||
foreach(DB::fetch_all("select color,weight from %t where rid = %s",array($this->_table,$rid)) as $v){
|
foreach(DB::fetch_all("select r,g,b,weight from %t where rid = %s",array($this->_table,$rid)) as $v){
|
||||||
|
$rgbdata = 'rgb('.$v['r'].','.$v['g'].','.$v['b'].')';
|
||||||
$weight = $v['weight']*100;
|
$weight = $v['weight']*100;
|
||||||
$data[$weight] = dechex($v['color']);
|
$v['color'] = $this->RGBToHex($rgbdata);
|
||||||
|
$data[] = ['color'=>$v['color'],'weight'=>$weight];
|
||||||
}
|
}
|
||||||
krsort($data);
|
$distance = [];
|
||||||
return $data;
|
$colordata = [];
|
||||||
|
foreach($data as $v){
|
||||||
|
$distance[] = $v['weight'];
|
||||||
|
|
||||||
|
}
|
||||||
|
array_multisort($distance, SORT_DESC, $data);
|
||||||
|
foreach($data as $v){
|
||||||
|
$colordata[] = $v['color'];
|
||||||
|
}
|
||||||
|
return $colordata;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
*$colors 该参数需带权重,以键为权重值,此处查询优先权重最大的查询近似颜色值
|
*$colors 该参数需带权重,以键为权重值,此处查询优先权重最大的查询近似颜色值
|
||||||
|
|||||||
@@ -20,19 +20,22 @@
|
|||||||
if (DB::result_first("select count(*) from %t where rid = %s", array($this->_table, $setarr['rid']))) {
|
if (DB::result_first("select count(*) 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);
|
parent::update($rid, $setarr);
|
||||||
} else {
|
} else {
|
||||||
return parent::insert($setarr);
|
parent::insert($setarr);
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function delete_by_appid($appid)
|
public function delete_by_appid($appid)
|
||||||
{
|
{
|
||||||
|
//$i = 0;
|
||||||
$rids = [];
|
$rids = [];
|
||||||
foreach (DB::fetch_all("select rid from %t where appid = %s", array($this->_table, $appid)) as $v) {
|
foreach (DB::fetch_all("select rid from %t where appid = %s limit 0,1000", array($this->_table, $appid)) as $v) {
|
||||||
$rids[] = $v['rid'];
|
$rids[] = $v['rid'];
|
||||||
}
|
}
|
||||||
return $this->delete_by_rid($rids);
|
if ($rids) $this->delete_by_rid($rids);
|
||||||
|
//return $i;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetch_by_path($path)
|
public function fetch_by_path($path)
|
||||||
@@ -50,30 +53,9 @@
|
|||||||
C::t('pichome_comments')->delete_by_rid($rids);
|
C::t('pichome_comments')->delete_by_rid($rids);
|
||||||
C::t('pichome_resourcestag')->delete_by_rid($rids);
|
C::t('pichome_resourcestag')->delete_by_rid($rids);
|
||||||
C::t('pichome_share')->delete_by_rid($rids);
|
C::t('pichome_share')->delete_by_rid($rids);
|
||||||
return parent::delete($rids);
|
C::t('pichome_ffmpeg_record')->delete($rids);
|
||||||
}
|
C::t('pichome_imagickrecord')->delete($rids);
|
||||||
|
return $this->delete($rids);
|
||||||
//以rid获取文件缩略图
|
|
||||||
public function get_icon_by_rids($rids)
|
|
||||||
{
|
|
||||||
if (!is_array($rids)) $rids = (array)$rids;
|
|
||||||
$icondatas = [];
|
|
||||||
foreach (DB::fetch_all("select r.rid,r.type,r.hasthumb,ra.path from %t r left join %t ra on r.rid=ra.rid where rid in(%n) ", array($this->_table, $rids)) as $v) {
|
|
||||||
if ($v['hasthumb']) {
|
|
||||||
$filename = str_replace(strrchr($v['name'], "."), "", $v['name']);
|
|
||||||
$filepath = dirname($v['path']);
|
|
||||||
$thumbpath = $filepath . $filename . '_thumb.png';
|
|
||||||
// if (!file_exists($thumbpath)) $thumbpath = iconv('UTF-8', 'GB2312', $thumbpath);
|
|
||||||
$icondatas[$v['rid']] = $thumbpath;
|
|
||||||
} else {
|
|
||||||
if ($v['type'] == 'commonimage') {
|
|
||||||
$v['icondata'] = $v['path'];
|
|
||||||
} else {
|
|
||||||
$v['icondata'] = geticonfromext($v['ext'], $v['type']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $icondatas;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetch_by_rids($rids)
|
public function fetch_by_rids($rids)
|
||||||
@@ -88,7 +70,7 @@
|
|||||||
$v['dateline'] = dgmdate(round($v['dateline'] / 1000), 'Y/m/d H:i');
|
$v['dateline'] = dgmdate(round($v['dateline'] / 1000), 'Y/m/d H:i');
|
||||||
$v['name'] = str_replace(strrchr($v['name'], "."), "", $v['name']);
|
$v['name'] = str_replace(strrchr($v['name'], "."), "", $v['name']);
|
||||||
$v['btime'] = dgmdate(round($v['btime'] / 1000), 'Y/m/d H:i');
|
$v['btime'] = dgmdate(round($v['btime'] / 1000), 'Y/m/d H:i');
|
||||||
$v['dpath'] = dzzencode($v['rid'], '', 0);
|
$v['dpath'] = dzzencode($v['rid'], '', 0, 0);
|
||||||
if (in_array($v['ext'], $Opentype['video'])) {
|
if (in_array($v['ext'], $Opentype['video'])) {
|
||||||
$v['opentype'] = 'video';
|
$v['opentype'] = 'video';
|
||||||
} elseif (in_array($v['ext'], $Opentype['text'])) {
|
} elseif (in_array($v['ext'], $Opentype['text'])) {
|
||||||
@@ -106,22 +88,8 @@
|
|||||||
$datas[$rid] = $tmpdatas[$rid];
|
$datas[$rid] = $tmpdatas[$rid];
|
||||||
}
|
}
|
||||||
foreach (C::t('pichome_resources_attr')->fetch_all($rids) as $v) {
|
foreach (C::t('pichome_resources_attr')->fetch_all($rids) as $v) {
|
||||||
if ($datas[$v['rid']]['hasthumb']) {
|
$datas[$v['rid']]['path'] = $v['path'];
|
||||||
|
//$datas[$v['rid']]['hasthumb'] = $v['hasthumb'];
|
||||||
$filepath = dirname($v['path']);
|
|
||||||
$filename = substr($v['path'],strrpos($v['path'],'/')+1);
|
|
||||||
$filename = str_replace(strrchr($filename, "."),"",$filename);
|
|
||||||
$thumbpath = 'library/' . $filepath . '/' . $filename . '_thumbnail.png';
|
|
||||||
$datas[$v['rid']]['icondata'] = str_replace('+',' ',urlencode($thumbpath));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if ($datas[$v['rid']]['type'] == 'commonimage') {
|
|
||||||
$datas[$v['rid']]['icondata'] = str_replace('+',' ',urlencode('library/' . $v['path']));
|
|
||||||
} else {
|
|
||||||
$datas[$v['rid']]['icondata'] = geticonfromext($datas[$v['rid']]['ext'], $datas[$v['rid']]['type']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$datas[$v['rid']]['realpath'] = str_replace('+',' ',urlencode('library/' . $v['path']));
|
|
||||||
$colorsarr = [];
|
$colorsarr = [];
|
||||||
//获取颜色数据
|
//获取颜色数据
|
||||||
$colordata = C::t('pichome_palette')->fetch_colordata_by_rid($v['rid']);
|
$colordata = C::t('pichome_palette')->fetch_colordata_by_rid($v['rid']);
|
||||||
@@ -140,15 +108,31 @@
|
|||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取数据后端使用
|
||||||
|
public function fetch_data_by_rid($rid)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!$resourcesdata = parent::fetch($rid)) return array();
|
||||||
|
if ($resourcesdata['isdelete'] > 0) return array();
|
||||||
|
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
||||||
|
if ($downshare[$resourcesdata['appid']]['isdelete']) return array();
|
||||||
|
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
||||||
|
$resourcesdata = array_merge($resourcesdata, $attrdata);
|
||||||
|
$resourcesdata['realpath'] = $downshare[$resourcesdata['appid']]['path'] . BS . $resourcesdata['path'];
|
||||||
|
return $resourcesdata;
|
||||||
|
}
|
||||||
|
|
||||||
public function fetch_by_rid($rid)
|
public function fetch_by_rid($rid)
|
||||||
{
|
{
|
||||||
global $Opentype;
|
global $Opentype;
|
||||||
if (!$resourcesdata = parent::fetch($rid)) return array();
|
if (!$resourcesdata = parent::fetch($rid)) return array();
|
||||||
if ($resourcesdata['isdelete'] > 0) return array();
|
if ($resourcesdata['isdelete'] > 0) return array();
|
||||||
|
//获取所有库分享和下载权限
|
||||||
|
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
||||||
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
$attrdata = C::t('pichome_resources_attr')->fetch($rid);
|
||||||
$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']);
|
||||||
if (in_array($resourcesdata['ext'], $Opentype['video'])) {
|
if (in_array($resourcesdata['ext'], $Opentype['video'])) {
|
||||||
$resourcesdata['opentype'] = 'video';
|
$resourcesdata['opentype'] = 'video';
|
||||||
} elseif (in_array($resourcesdata['ext'], $Opentype['text'])) {
|
} elseif (in_array($resourcesdata['ext'], $Opentype['text'])) {
|
||||||
@@ -161,31 +145,86 @@
|
|||||||
$resourcesdata['opentype'] = 'other';
|
$resourcesdata['opentype'] = 'other';
|
||||||
}
|
}
|
||||||
if ($resourcesdata['hasthumb']) {
|
if ($resourcesdata['hasthumb']) {
|
||||||
|
//如果是本地文件
|
||||||
|
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']);
|
$filepath = dirname($resourcesdata['path']);
|
||||||
$filename = substr($resourcesdata['path'], strrpos($resourcesdata['path'], '/') + 1);
|
$filename = substr($resourcesdata['path'], strrpos($resourcesdata['path'], '/') + 1);
|
||||||
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
$filename = str_replace(strrchr($filename, "."), "", $filename);
|
||||||
$thumbpath = 'library/' . $filepath . '/' . $filename . '_thumbnail.png';
|
$filepath = str_replace('/', BS, $filepath);
|
||||||
$resourcesdata['icondata'] = $thumbpath;
|
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 {
|
} else {
|
||||||
if ($resourcesdata['type'] == 'commonimage') {
|
if ($resourcesdata['type'] == 'commonimage') {
|
||||||
$resourcesdata['icondata'] = 'library/' . $resourcesdata['path'];
|
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 {
|
} else {
|
||||||
$resourcesdata['icondata'] = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
|
$resourcesdata['icondata'] = geticonfromext($resourcesdata['ext'], $resourcesdata['type']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//echo $resourcesdata['icondata'];die;
|
||||||
$imginfo = @getimagesize($resourcesdata['icondata']);
|
$imginfo = @getimagesize($resourcesdata['icondata']);
|
||||||
$resourcesdata['iconwidth'] = $imginfo[0];
|
$resourcesdata['iconwidth'] = $imginfo[0] ? $imginfo[0] : $resourcesdata['width'];
|
||||||
$resourcesdata['iconheight'] = $imginfo[1];
|
$resourcesdata['iconheight'] = $imginfo[1] ? $imginfo[1] : $resourcesdata['height'];
|
||||||
$resourcesdata['icondata'] = str_replace('+',' ',urlencode($resourcesdata['icondata']));
|
$resourcesdata['icondata'] = str_replace('+', '%20', $resourcesdata['icondata']);
|
||||||
|
|
||||||
|
|
||||||
//获取所有库分享和下载权限
|
|
||||||
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
|
||||||
$resourcesdata['share'] = $downshare[$resourcesdata['appid']]['share'];
|
$resourcesdata['share'] = $downshare[$resourcesdata['appid']]['share'];
|
||||||
$resourcesdata['download'] = $downshare[$resourcesdata['appid']]['download'];
|
$resourcesdata['download'] = $downshare[$resourcesdata['appid']]['download'];
|
||||||
$resourcesdata['originalimg'] = str_replace('+',' ',urlencode('library/' . $resourcesdata['path']));
|
if ($downshare[$resourcesdata['appid']]['iswebsitefile']) {
|
||||||
$resourcesdata['realpath'] = str_replace('+',' ',urlencode('library/' . $resourcesdata['path']));
|
$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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
$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']);
|
||||||
$resourcesdata['mtime'] = dgmdate(round($resourcesdata['mtime'] / 1000), 'Y/m/d H:i');
|
$resourcesdata['mtime'] = dgmdate(round($resourcesdata['mtime'] / 1000), 'Y/m/d H:i');
|
||||||
@@ -194,8 +233,8 @@
|
|||||||
unset($resourcesdata['path']);
|
unset($resourcesdata['path']);
|
||||||
$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);
|
$resourcesdata['dpath'] = dzzencode($rid, '', 0, 0);
|
||||||
|
//print_r($resourcesdata);die;
|
||||||
|
|
||||||
return $resourcesdata;
|
return $resourcesdata;
|
||||||
}
|
}
|
||||||
@@ -205,21 +244,142 @@
|
|||||||
$returndata = [];
|
$returndata = [];
|
||||||
//文件数据
|
//文件数据
|
||||||
$resourcesdata = $this->fetch_by_rids($rids);
|
$resourcesdata = $this->fetch_by_rids($rids);
|
||||||
//获取所有库分享和下载权限
|
//获取所有库分享和下载权限,以及编码数据
|
||||||
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
$downshare = C::t('pichome_vapp')->fetch_all_sharedownlod();
|
||||||
//文件附属表数据
|
//文件附属表数据
|
||||||
// $attrdata = C::t('pichome_resources_attr')->fetch_by_rids($rids);
|
// $attrdata = C::t('pichome_resources_attr')->fetch_by_rids($rids);
|
||||||
//文件标注数
|
//文件标注数
|
||||||
$annonationnumdata = C::t('pichome_comments')->fetch_annonationnum_by_rids($rids);
|
$annonationnumdata = C::t('pichome_comments')->fetch_annonationnum_by_rids($rids);
|
||||||
foreach ($resourcesdata as $v) {
|
foreach ($resourcesdata as $v) {
|
||||||
|
//echo $v['hasthumb'];die;
|
||||||
$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 {
|
||||||
|
$hookdata = ['rid' => $v['rid'], 'apppath' => $downshare[$v['appid']]['path'], 'appid' => $v['appid']];
|
||||||
|
$return = Hook::listen('getpichomethumb', $hookdata);
|
||||||
|
$thumbpath = str_replace(DZZ_ROOT, '', $return[0]['icon']);
|
||||||
|
if ($downshare[$v['appid']]['iswebsitefile']){
|
||||||
|
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
||||||
|
}else{
|
||||||
|
$v['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . dzzencode($thumbpath, '', 0, 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']);
|
||||||
$returndata[] = $v;
|
$returndata[] = $v;
|
||||||
}
|
}
|
||||||
return $returndata;
|
return $returndata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function geticondata_by_rid($rid)
|
||||||
|
{
|
||||||
|
$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
|
||||||
|
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));
|
||||||
|
if ($resourcesdata['hasthumb']) {
|
||||||
|
//如果是本地文件
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
public function fetch_like_words($keyword, $limit = 10)
|
public function fetch_like_words($keyword, $limit = 10)
|
||||||
{
|
{
|
||||||
$likewords = [];
|
$likewords = [];
|
||||||
|
|||||||
@@ -18,24 +18,9 @@
|
|||||||
$rid = trim($setarr['rid']);
|
$rid = trim($setarr['rid']);
|
||||||
if($attrdata = parent::fetch($rid)){
|
if($attrdata = parent::fetch($rid)){
|
||||||
unset($setarr['rid']);
|
unset($setarr['rid']);
|
||||||
if($setarr['tag']){
|
|
||||||
$tagarr = explode(',',$setarr['tag']);
|
|
||||||
$otagarr = explode(',',$attrdata['tag']);
|
|
||||||
$delrtids = [];
|
|
||||||
foreach(DB::fetch_all("select id,tid from %t where rid = %s and tid not in(%n)",array('pichome_resourcestag',$rid,$tagarr)) as $v){
|
|
||||||
$delrtids[] = $v['id'];
|
|
||||||
C::t('pichome_tag')->delete_by_tid($v['tid']);
|
|
||||||
}
|
|
||||||
if(!empty($delrtids)) C::t('pichome_resourcestag')->delete($delrtids);
|
|
||||||
$addrtids = array_diff($tagarr,$otagarr);
|
|
||||||
foreach ($addrtids as $tid){
|
|
||||||
$rtag = ['appid' => $attrdata['appid'], 'rid' => $rid, 'tid' => $tid];
|
|
||||||
C::t('pichome_resourcestag')->insert($rtag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return parent::update($rid,$setarr);
|
return parent::update($rid,$setarr);
|
||||||
}else{
|
}else{
|
||||||
return parent::insert($setarr,1);
|
return parent::insert($setarr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//删除文件属性数据
|
//删除文件属性数据
|
||||||
|
|||||||
34
core/class/table/table_pichome_resources_relation.php
Normal file
34
core/class/table/table_pichome_resources_relation.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
class table_pichome_resources_relation extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_resources_relation';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'pichome_resources_relation';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert($setarr)
|
||||||
|
{
|
||||||
|
if (DB::result_first("select count(*) from %t where rid = %s", array($this->_table, $setarr['rid']))) {
|
||||||
|
$rid = $setarr['rid'];
|
||||||
|
unset($setarr['rid']);
|
||||||
|
return parent::update($rid, $setarr);
|
||||||
|
} else {
|
||||||
|
return parent::insert($setarr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public function fetch_by_orid_appid($orid,$appid){
|
||||||
|
return DB::fetch_first("select * from %t where orid = %s and appid = %s",$this->_table,$orid,$appid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -53,13 +53,16 @@
|
|||||||
}
|
}
|
||||||
public function delete_by_rid($rid)
|
public function delete_by_rid($rid)
|
||||||
{
|
{
|
||||||
|
if(!is_array($rid)) $rid = (array)$rid;
|
||||||
$delids = [];
|
$delids = [];
|
||||||
foreach (DB::fetch_all("select id from %t where rid = %s", array($this->_table, $rid)) as $v) {
|
foreach (DB::fetch_all("select id,tid 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']);
|
||||||
}
|
}
|
||||||
return parent::delete($delids);
|
return parent::delete($delids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function fetch_rids_by_tids($tids,$appid,$limit=6,$rid=''){
|
public function fetch_rids_by_tids($tids,$appid,$limit=6,$rid=''){
|
||||||
if(!is_array($tids)) $tids = (array) $tids;
|
if(!is_array($tids)) $tids = (array) $tids;
|
||||||
$rids = [];
|
$rids = [];
|
||||||
|
|||||||
@@ -68,27 +68,21 @@
|
|||||||
|
|
||||||
public function fetch_hotkeyword_by_appid($appid = '', $limit = 16, $noids = array(), $datas = array())
|
public function fetch_hotkeyword_by_appid($appid = '', $limit = 16, $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;*/
|
||||||
$params = array($this->_table/*, $start, $end*/);
|
$params = array($this->_table/*, $start, $end*/);
|
||||||
/* //$wheresql = " dateline <= %d and dateline > %d";
|
|
||||||
if ($appid) {
|
|
||||||
$wheresql .= ' and appid =%s ';
|
|
||||||
$params[] = $appid;
|
|
||||||
}
|
|
||||||
if($noids){
|
|
||||||
$wheresql .= ' and id not in(%n) ';
|
|
||||||
$params[] = $noids;
|
|
||||||
}*/
|
|
||||||
$count = DB::result_first("select count(id) from %t where 1 order by hots desc limit 0,$limit", $params);
|
$count = DB::result_first("select count(id) from %t where 1 order by hots desc limit 0,$limit", $params);
|
||||||
|
//print_r(DB::fetch_all("select keywords,id from %t where 1 order by hots desc limit 0,$limit", $params));die;
|
||||||
foreach (DB::fetch_all("select keywords,id from %t where 1 order by hots desc limit 0,$limit", $params) as $v) {
|
foreach (DB::fetch_all("select keywords,id from %t where 1 order by hots desc limit 0,$limit", $params) as $v) {
|
||||||
$data = $this->get_data_by_keyword($v['keywords'],$v['id']);
|
$data = $this->get_data_by_keyword($v['keywords']);
|
||||||
if (!$data) {
|
if (!$data) {
|
||||||
parent::delete($v['id']);
|
parent::delete($v['id']);
|
||||||
} else {
|
} else {
|
||||||
$datas[$v['id']] = $data;
|
$datas[$v['id']] = $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// print_r($datas);die;
|
||||||
$resultcount = count($datas);
|
$resultcount = count($datas);
|
||||||
//如果有关键词没有结果,并且结果数量大于查询出来的数量
|
//如果有关键词没有结果,并且结果数量大于查询出来的数量
|
||||||
if ($resultcount < $limit && $count > $limit) {
|
if ($resultcount < $limit && $count > $limit) {
|
||||||
@@ -98,33 +92,23 @@
|
|||||||
}
|
}
|
||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
public function get_data_by_keyword($keyword){
|
|
||||||
$tmpdata = DB::fetch_first("select r.rid,r.name,ra.path,r.hasthumb,r.ext,r.type from %t r
|
public function get_data_by_keyword($keyword)
|
||||||
left join %t ra on ra.rid=r.rid LEFT JOIN %t c on c.rid = r.rid
|
{
|
||||||
left join %t rt on r.rid = rt.rid left join %t t on rt.tid= t.tid where r.name like%s or ra.link like %s or ra.desc LIKE %s or c.annotation LIKE %s or t.tagname LIKE %s
|
$rid = DB::result_first("select r.rid from %t r left join %t ra on ra.rid=r.rid
|
||||||
order by rand() limit 1 ",
|
where ra.searchval LIKE %s order by rand() limit 0,1 ",
|
||||||
array('pichome_resources', 'pichome_resources_attr', 'pichome_comments', 'pichome_resourcestag', 'pichome_tag', '%' . $keyword . '%',
|
array('pichome_resources', 'pichome_resources_attr', '%' . $keyword . '%'));
|
||||||
'%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%', '%' . $keyword . '%'));
|
|
||||||
|
$tmpdata = C::t('pichome_resources')->geticondata_by_rid($rid);
|
||||||
|
|
||||||
if (!$tmpdata) {
|
if (!$tmpdata) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
if ($tmpdata['hasthumb']) {
|
|
||||||
$filename = str_replace(strrchr($tmpdata['name'], "."), "", $tmpdata['name']);
|
|
||||||
$filepath = dirname($tmpdata['path']);
|
|
||||||
$thumbpath = DZZ_ROOT . 'library/' . $filepath . '/' . $filename . '_thumbnail.png';
|
|
||||||
$thumbpath = str_replace(DZZ_ROOT, '', $thumbpath);
|
|
||||||
$tmpdata['icondata'] = $thumbpath;
|
|
||||||
} else {
|
|
||||||
if ($tmpdata['type'] == 'commonimage') {
|
|
||||||
$tmpdata['icondata'] = 'library/' . $tmpdata['path'];
|
|
||||||
} else {
|
|
||||||
$tmpdata['icondata'] = geticonfromext($tmpdata['ext'], $tmpdata['type']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$tmpdata['keyword'] = $keyword;
|
$tmpdata['keyword'] = $keyword;
|
||||||
}
|
}
|
||||||
return $tmpdata;
|
return $tmpdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询最近搜索分类
|
//查询最近搜索分类
|
||||||
public function fetch_renctent_search_foldername($appid, $limit = 10)
|
public function fetch_renctent_search_foldername($appid, $limit = 10)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
public function insert($setarr)
|
public function insert($setarr)
|
||||||
{
|
{
|
||||||
$cid = $setarr['cid'];
|
$cid = $setarr['cid'];
|
||||||
if ($taggroup = DB::fetch_first("select * from %t where cid = %s", array($this->_table, $cid))) {
|
if ($taggroup = DB::fetch_first("select * from %t where cid = %s and appid = %s", array($this->_table, $cid,$setarr['appid']))) {
|
||||||
unset($setarr['cid']);
|
unset($setarr['cid']);
|
||||||
if ($taggroup['catname'] != $setarr['catname']) parent::update($cid, $setarr);
|
if ($taggroup['catname'] != $setarr['catname']) parent::update($cid, $setarr);
|
||||||
return $cid;
|
return $cid;
|
||||||
|
|||||||
38
core/class/table/table_pichome_taggroup_relation.php
Normal file
38
core/class/table/table_pichome_taggroup_relation.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
|
||||||
|
class table_pichome_taggroup_relation extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_table = 'pichome_taggroup_relation';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
$this->_pre_cache_key = 'pichome_taggroup_relation';
|
||||||
|
$this->_cache_ttl = 3600;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取库下所有标签分类对应数据
|
||||||
|
public function fetch_by_appid($appid){
|
||||||
|
$data = [];
|
||||||
|
foreach(DB::fetch_all("select * from %t where appid = %s",array($this->_table,$appid)) as $v){
|
||||||
|
$data[$v['gid']] = $v;
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
public function fetch_cid_by_gid($gid,$appid){
|
||||||
|
return DB::result_first("select cid from %t where gid = %d and appid = %s",array($this->_table,$gid,$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insertdata($setarr){
|
||||||
|
if($id=DB::result_first("select id from %t where tid = %d and appid = %s",array($this->_table,$setarr['tid'],$setarr['appid']))){
|
||||||
|
parent::update($id,$setarr);
|
||||||
|
}else{
|
||||||
|
parent::insert($setarr);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
}else{
|
}else{
|
||||||
//同一库下一个标签只能归属于一个分类
|
//同一库下一个标签只能归属于一个分类
|
||||||
$this->delete_by_tpid($setarr['tid'],$setarr['appid']);
|
$this->delete_by_tpid($setarr['tid'],$setarr['appid']);
|
||||||
return parent::insert($setarr,1);
|
return parent::insert($setarr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public function delete_by_tpid($tid,$appid){
|
public function delete_by_tpid($tid,$appid){
|
||||||
|
|||||||
@@ -28,21 +28,38 @@
|
|||||||
return $show;
|
return $show;
|
||||||
}
|
}
|
||||||
public function getSid($url) {
|
public function getSid($url) {
|
||||||
$url = crc32($url);
|
$microtime = microtime();
|
||||||
|
list($msec, $sec) = explode(' ', $microtime);
|
||||||
|
$msec = $msec * 1000000;
|
||||||
|
$url = crc32($url.$sec.random(6).$msec);
|
||||||
$result = sprintf("%u", $url);
|
$result = sprintf("%u", $url);
|
||||||
return self::code62($result);
|
$sid = self::code62($result);
|
||||||
|
$len = strlen($sid);
|
||||||
|
if($len < 6){
|
||||||
|
$sid .= random(1);
|
||||||
|
}
|
||||||
|
if(strlen($sid) > 6){
|
||||||
|
$sid = substr($sid,0,6);
|
||||||
|
}
|
||||||
|
if(DB::result_first("select appid from %t where appid = %s",array($this->_table,$sid))){
|
||||||
|
$sid = $this->getSid($url);
|
||||||
|
}
|
||||||
|
return $sid;
|
||||||
}
|
}
|
||||||
public function insert($setarr){
|
public function insert($setarr){
|
||||||
|
//如果为oaooa库时
|
||||||
$path = $setarr['path'];
|
$path = $setarr['path'];
|
||||||
if($appid = DB::result_first("select appid from %t where path = %s",array($this->_table,$path))){
|
if($appid = DB::result_first("select appid from %t where path = %s and isdelete = 0",array($this->_table,$setarr['path']))){
|
||||||
|
parent::update($appid,$setarr);
|
||||||
return $appid;
|
return $appid;
|
||||||
}else{
|
}
|
||||||
$setarr['appid'] = $this->getSid($setarr['path']);
|
//生成appid
|
||||||
|
$setarr['appid'] = $this->getSid($path);
|
||||||
|
|
||||||
if(parent::insert($setarr)){
|
if(parent::insert($setarr)){
|
||||||
return $setarr['appid'];
|
return $setarr['appid'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public function fetch_by_path($path){
|
public function fetch_by_path($path){
|
||||||
return DB::fetch_first("select * from %t where path = %s",array($this->_table,$path));
|
return DB::fetch_first("select * from %t where path = %s",array($this->_table,$path));
|
||||||
@@ -62,6 +79,7 @@
|
|||||||
|
|
||||||
//删除虚拟应用
|
//删除虚拟应用
|
||||||
public function delete_vapp_by_appid($appid){
|
public function delete_vapp_by_appid($appid){
|
||||||
|
$appdata = parent::fetch($appid);
|
||||||
//删除文件表数据
|
//删除文件表数据
|
||||||
C::t('pichome_resources')->delete_by_appid($appid);
|
C::t('pichome_resources')->delete_by_appid($appid);
|
||||||
//删除目录表数据
|
//删除目录表数据
|
||||||
@@ -74,13 +92,25 @@
|
|||||||
C::t('pichome_tagrelation')->delete_by_appid($appid);
|
C::t('pichome_tagrelation')->delete_by_appid($appid);
|
||||||
//删除最近搜索表数据
|
//删除最近搜索表数据
|
||||||
C::t('pichome_searchrecent')->delete_by_appid($appid);
|
C::t('pichome_searchrecent')->delete_by_appid($appid);
|
||||||
|
//resources表数据未完成删除前不允许删除vapp表
|
||||||
|
if(DB::result_first("select count(rid) from %t where appid = %s",array('pichome_resources',$appid))){
|
||||||
|
return ;
|
||||||
|
}else{
|
||||||
|
if(is_dir(getglobal('setting/attachdir').'pichomethumb/'.$appid)){
|
||||||
|
removedirectory(getglobal('setting/attachdir').'pichomethumb/'.$appid);
|
||||||
|
}
|
||||||
|
if($appdata['type'] > 1){
|
||||||
|
Hook::listen('pichomevappdelete',$appid);
|
||||||
|
}
|
||||||
return parent::delete($appid);
|
return parent::delete($appid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function fetch_all_sharedownlod(){
|
public function fetch_all_sharedownlod(){
|
||||||
$downshare = array();
|
$downshare = array();
|
||||||
foreach(DB::fetch_all("select appid,download,share from %t where 1",array($this->_table)) as $v){
|
foreach(DB::fetch_all("select * from %t where 1",array($this->_table)) as $v){
|
||||||
$downshare[$v['appid']]=['share'=>$v['share'],'download'=>$v['download']];
|
$downshare[$v['appid']]=$v;
|
||||||
}
|
}
|
||||||
return $downshare;
|
return $downshare;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ if(!defined('IN_OAOOA')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!defined('CORE_VERSION')) {
|
if(!defined('CORE_VERSION')) {
|
||||||
define('CORE_VERSION', 'beta1');
|
define('CORE_VERSION', 'beta3.1');
|
||||||
define('CORE_VERSION_LEVEL', 'Pichome');
|
define('CORE_VERSION_LEVEL', 'Pichome');
|
||||||
define('CORE_RELEASE', '20210820');
|
define('CORE_RELEASE', '20211220');
|
||||||
define('CORE_FIXBUG' , '01000000');
|
define('CORE_FIXBUG' , '03100000');
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
if(!defined('IN_OAOOA')) {
|
if(!defined('IN_OAOOA')) {
|
||||||
exit('Access Denied');
|
exit('Access Denied');
|
||||||
}
|
}
|
||||||
gnore_user_abort(true);
|
ignore_user_abort(true);
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
$percachename = 'pichome_searchhot';
|
$percachename = 'pichome_searchhot';
|
||||||
$alldata = C::t('pichome_searchrecent')->fetch_hotkeyword_by_appid();
|
$alldata = C::t('pichome_searchrecent')->fetch_hotkeyword_by_appid();
|
||||||
|
|||||||
8
core/cron/cron_pichome_delete.php
Normal file
8
core/cron/cron_pichome_delete.php
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
dfsockopen(getglobal('localurl') . 'index.php?mod=pichome&op=delete', 0, '', '', false, '', 1);
|
||||||
7
core/cron/cron_pichome_getimagecolor.php
Normal file
7
core/cron/cron_pichome_getimagecolor.php
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=imageColor&op=index',0, '', '', false, '', 1);
|
||||||
8
core/cron/cron_pichome_getvideoinfo.php
Normal file
8
core/cron/cron_pichome_getvideoinfo.php
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=ffmpeg&op=getinfo',0, '', '', false, '', 1);
|
||||||
|
|
||||||
7
core/cron/cron_pichome_getwideothumb.php
Normal file
7
core/cron/cron_pichome_getwideothumb.php
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=ffmpeg&op=thumb',0, '', '', false, '', 1);
|
||||||
@@ -4,14 +4,12 @@
|
|||||||
}
|
}
|
||||||
ignore_user_abort(true);
|
ignore_user_abort(true);
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
$appdata = DB::fetch_all("select * from %t where 1 ",array('pichome_vapp'));
|
$appdata = DB::fetch_all("select * from %t where isdelete = 0 ",array('pichome_vapp'));
|
||||||
foreach($appdata as $v){
|
foreach($appdata as $v){
|
||||||
$jsonfile = DZZ_ROOT.'library/' . $v['path'] . '/mtime.json';
|
if($v['state'] == 2){
|
||||||
if (!file_exists($jsonfile)) {
|
|
||||||
//删除库
|
|
||||||
C::t('#pichome#pichome_vapp')->delete_vapp_by_appid($v['appid']);
|
|
||||||
}else{
|
|
||||||
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfile&appid='.$v['appid'],0, '', '', false, '', 1);
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfile&appid='.$v['appid'],0, '', '', false, '', 1);
|
||||||
|
}elseif($v['state'] == 3){
|
||||||
|
dfsockopen(getglobal('localurl'). 'index.php?mod=pichome&op=exportfilecheck&appid='.$v['appid'],0, '', '', false, '', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -54,13 +54,13 @@ function updatecache($cachename = '') {
|
|||||||
try{
|
try{
|
||||||
@include_once DZZ_ROOT.'./dzz/'.$entrys[0].'/cache/cache_'.$entrys[1].'.php';
|
@include_once DZZ_ROOT.'./dzz/'.$entrys[0].'/cache/cache_'.$entrys[1].'.php';
|
||||||
if(function_exists('build_cache_'.$entrys[0].'_'.$entrys[1])) call_user_func('build_cache_'.$entrys[0].'_'.$entrys[1]);
|
if(function_exists('build_cache_'.$entrys[0].'_'.$entrys[1])) call_user_func('build_cache_'.$entrys[0].'_'.$entrys[1]);
|
||||||
elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
||||||
}catch(Exception $e){continue;}
|
}catch(Exception $e){continue;}
|
||||||
}elseif(count($entrys)==3){
|
}elseif(count($entrys)==3){
|
||||||
try{
|
try{
|
||||||
@include_once DZZ_ROOT.'./'.$entrys[0].'/'.$entrys[1].'/cache/cache_'.$entrys[2].'.php';
|
@include_once DZZ_ROOT.'./'.$entrys[0].'/'.$entrys[1].'/cache/cache_'.$entrys[2].'.php';
|
||||||
if(function_exists('build_cache_'.$entrys[1].'_'.$entrys[2])) call_user_func('build_cache_'.$entrys[1].'_'.$entrys[2]);
|
if(function_exists('build_cache_'.$entrys[1].'_'.$entrys[2])) call_user_func('build_cache_'.$entrys[1].'_'.$entrys[2]);
|
||||||
elseif(function_exists('build_cache_app_'.$entryr[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
elseif(function_exists('build_cache_app_'.$entrys[1])) call_user_func('build_cache_app_'.$entrys[1]);
|
||||||
}catch(Exception $e){continue;}
|
}catch(Exception $e){continue;}
|
||||||
} else {//插件缓存
|
} else {//插件缓存
|
||||||
|
|
||||||
|
|||||||
@@ -804,7 +804,7 @@ function avatar_block($uid=0,$headercolors=array(),$class="Topcarousel"){
|
|||||||
}
|
}
|
||||||
if(empty($user)) return '';
|
if(empty($user)) return '';
|
||||||
if($user['avatarstatus']){//用户已经上传头像
|
if($user['avatarstatus']){//用户已经上传头像
|
||||||
return '<img src="avatar.php?uid='.$user['uid'].'" class="img-circle special_avatar_class" title="'.$user['username'].'">';
|
return '<img src="avatar.php?uid='.$user['uid'].'&random='.VERHASH.'" class="img-circle special_avatar_class" title="'.$user['username'].'">';
|
||||||
}else{//没有上传头像,使用背景+首字母
|
}else{//没有上传头像,使用背景+首字母
|
||||||
if($uid){
|
if($uid){
|
||||||
if($headercolors[$uid]) $headerColor=$headercolors[$uid];
|
if($headercolors[$uid]) $headerColor=$headercolors[$uid];
|
||||||
|
|||||||
96
core/template/default/common/mobile_about.htm
Normal file
96
core/template/default/common/mobile_about.htm
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
|
<title>{lang about}</title>
|
||||||
|
<link rel="stylesheet" href="static/jquery_weui/css/weui.min.css">
|
||||||
|
<link rel="stylesheet" href="static/jquery_weui/css/jquery-weui.min.css">
|
||||||
|
<link rel="stylesheet" href="static/dzzicon/icon.css">
|
||||||
|
<script type="text/javascript" src="static/jquery/jquery.min.js"></script>
|
||||||
|
<style>
|
||||||
|
html, body {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.about-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: flex;
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
align-items: center;
|
||||||
|
-webkit-align-content: center;
|
||||||
|
align-content: center;
|
||||||
|
-webkit-justify-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
-webkit-flex-wrap: wrap;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.wrapper {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.about-body p {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #3779ff;
|
||||||
|
}
|
||||||
|
.about-body .logo {
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.about-body .name {
|
||||||
|
font-size: 28px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.about-body .name>span {
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
.about-body p .guide {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
.about-copyright {
|
||||||
|
color: #999;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.about-copyright>a {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
.about-copyright>a:hover {
|
||||||
|
color: #999;
|
||||||
|
text-decoration: underline
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="about-container">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="modal-body about-body">
|
||||||
|
<p class="logo"> <img src="$about[logo]" /> </p>
|
||||||
|
<p class="name">
|
||||||
|
<!--{if $about['name_zh']}-->
|
||||||
|
<span class="name-zh">$about[name_zh]</span>
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{if $about['name_en']}-->
|
||||||
|
<span class="name-en"><b>Dzz</b>$about[name_en]</span>
|
||||||
|
<!--{/if}-->
|
||||||
|
</p>
|
||||||
|
<div class="detail">
|
||||||
|
<!--{if $about['version']}-->
|
||||||
|
<p class="version"> <span class="guide">{lang about_current_version}:</span> <span class="text">{eval echo lang('V_'.$license['license_version'])} $about[version]</span> </p>
|
||||||
|
<!--{/if}-->
|
||||||
|
<p class="license"> <span class="guide">{lang license_user_sum}:</span> <span class="text">{$ucount} / {eval echo $license[license_limit]?$license[license_limit]:lang('unlimited')}</span> </p>
|
||||||
|
<p class="license"> <span class="guide">{lang license_to}:</span> <span class="text">{$license[license_company]}</a></span> </p>
|
||||||
|
<p class="support"> <span class="guide">{lang service_and_support}:</span> <span class="text"> <a href="http://help.oaooa.com" target="_blank">www.oaooa.com</a></span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="about-copyright">Copyright ©2012-{eval echo dgmdate(TIMESTAMP,'Y');} <a href="https://www.oaooa.com" target="_blank" >oaooa.com</a> All Rights Reserved</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
5
core/template/default/common/mobile_simple_process.htm
Normal file
5
core/template/default/common/mobile_simple_process.htm
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<script type="text/javascript">var DZZSCRIPT='{DZZSCRIPT}',LANG='{$_G[language]}', STATICURL = 'static/', IMGDIR = '{$_G[setting][imgdir]}', VERHASH = '{VERHASH}', charset = '{CHARSET}', dzz_uid = '$_G[uid]', cookiepre = '{$_G[config][cookie][cookiepre]}', cookiedomain = '{$_G[config][cookie][cookiedomain]}', cookiepath = '{$_G[config][cookie][cookiepath]}',attackevasive = '{$_G[config][security][attackevasive]}', disallowfloat = '{$_G[setting][disallowfloat]}', REPORTURL = '$_G[currenturl_encode]', SITEURL = '$_G[siteurl]', JSPATH = '$_G[setting][jspath]',MOD_PATH='{MOD_PATH}',APP_URL='{MOD_URL}',MOD_URL='{MOD_URL}';VAPP_URL='{VAPP_URL}';</script>
|
||||||
|
</head>
|
||||||
|
<body id="nv_{$_G[basescript]}" class="$bodyClass" >
|
||||||
|
<div id="append_parent" style="z-index:99999;"></div>
|
||||||
|
<div id="ajaxwaitid" style="z-index:99999;"></div>
|
||||||
24
core/template/default/common/mobile_simple_start.htm
Normal file
24
core/template/default/common/mobile_simple_start.htm
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<title><!--{if !empty($navtitle)}-->$navtitle - <!--{/if}-->$_G[setting][sitename] </title>
|
||||||
|
<meta name="keywords" content="{if !empty($_G[setting][metakeywords])}{echo htmlspecialchars($_G[setting][metakeywords])}{/if}" />
|
||||||
|
<meta name="description" content="{if !empty($_G[setting][metadescription])}{echo htmlspecialchars($_G[setting][metadescription])} {/if}" />
|
||||||
|
<meta name="generator" content="oaooa" />
|
||||||
|
<meta name="author" content="oaooa" />
|
||||||
|
<meta name="copyright" content="2012-{eval echo dgmdate(TIMESTAMP,'Y-m-d');} www.oaooa.com" />
|
||||||
|
<meta name="MSSmartTagsPreventParsing" content="True" />
|
||||||
|
<meta http-equiv="MSThemeCompatible" content="Yes" />
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<base href="{$_G['siteurl']}" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="static/jquery_weui/css/weui.min.css?{VERHASH}">
|
||||||
|
<link rel="stylesheet" type="text/css" href="static/jquery_weui/css/jquery-weui.min.css?{VERHASH}" >
|
||||||
|
<link rel="stylesheet" type="text/css" href="static/dzzicon/icon.css?{VERHASH}"/>
|
||||||
|
<script type="text/javascript" src="static/jquery/jquery.min.js?{VERHASH}"></script>
|
||||||
|
<script type="text/javascript" src="static/jquery/jquery.json-2.4.min.js?{VERHASH}"></script>
|
||||||
|
<script src="static/jquery_weui/js/jquery-weui.min.js?{VERHASH}" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="static/jquery_weui/js/swiper.min.js?{VERHASH}" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="static/jquery_weui/js/appevent.js?{VERHASH}" type="text/javascript" charset="utf-8"></script>
|
||||||
139
core/template/default/common/wx_ajax.htm
Normal file
139
core/template/default/common/wx_ajax.htm
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
<!--{template common/header_ajax}-->
|
||||||
|
<!--{if $_GET['action']=='setEventkey'}-->
|
||||||
|
<style>
|
||||||
|
#fwin_setEvent .modal-dialog{max-width:450px;}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||||
|
<h4 class="modal-title">$typetitle[$type]</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" style="padding:30px;">
|
||||||
|
<form class="form-horizontal">
|
||||||
|
<input type="hidden" id="eventkey" />
|
||||||
|
<!--{if $type=='click'}-->
|
||||||
|
<div class="form-group">
|
||||||
|
<!--{if $menu_select[click]}-->
|
||||||
|
<select class="form-control" id="js_select_click" onchange="eventkey_select_change(this)">
|
||||||
|
<option value="" data-url="" >{lang please_choose}</option>
|
||||||
|
<!--{loop $menu_select[click] $key $value}-->
|
||||||
|
<option value="$key" >$value</option>
|
||||||
|
<!--{/loop}-->
|
||||||
|
<option value="keys" >{lang custom}KEY</option>
|
||||||
|
</select>
|
||||||
|
<!--{else}-->
|
||||||
|
<input type="hidden" id="js_select_click" value="keys" />
|
||||||
|
<input type="text" class="form-control js_input_limit" data-limit="64" id="js_select_click_input" value="" >
|
||||||
|
<p class="help-inline">{lang menu_information_not_more_than_64_words}</p>
|
||||||
|
<p class="help-inline">{lang set_value_interface_function_effect}</p>
|
||||||
|
<!--{/if}-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group hidden">
|
||||||
|
<input type="text" class="form-control js_input_limit" data-limit="64" id="js_select_click_input" value="" >
|
||||||
|
<p class="help-inline">{lang menu_information_not_more_than_64_words}</p>
|
||||||
|
<p class="help-inline">{lang set_value_interface_function_effect}</p>
|
||||||
|
</div>
|
||||||
|
<!--{else}-->
|
||||||
|
<div class="form-group">
|
||||||
|
<!--{if $menu_select[link]}-->
|
||||||
|
<select class="form-control" id="js_select_link" onchange="eventkey_select_change(this)">
|
||||||
|
<option value="" data-url="" >{lang please_choose}</option>
|
||||||
|
<!--{loop $menu_select[link] $key $value}-->
|
||||||
|
<option value="$key" >$value</option>
|
||||||
|
<!--{/loop}-->
|
||||||
|
<option value="links">{lang custom_link}</option>
|
||||||
|
</select>
|
||||||
|
<!--{else}-->
|
||||||
|
<input type="hidden" id="js_select_link" value="links" />
|
||||||
|
<input type="text" class="form-control" id="js_select_link_input" value="" >
|
||||||
|
<span class="help-inline">{lang member_click_skip_link}</span>
|
||||||
|
<!--{/if}-->
|
||||||
|
</div>
|
||||||
|
<div class="form-group hidden">
|
||||||
|
|
||||||
|
<input type="text" class="form-control" id="js_select_link_input" value="">
|
||||||
|
<span class="help-inline">{lang member_click_skip_link}</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!--{/if}-->
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="submit" class="btn btn-primary btn-width" data-dismiss="modal" onclick="setEventkeyComplete()"><strong>{lang confirms}</strong></button> <button type="button" data-dismiss="modal" class="btn btn-default"><strong>{lang cancel}</strong></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" reload="1">
|
||||||
|
jQuery('.fwinmask .focus').select();
|
||||||
|
var dataid='$_GET[dataid]';
|
||||||
|
var menuarr=$json_menu_select;
|
||||||
|
var type='$type';
|
||||||
|
if(dataid!=''){
|
||||||
|
var li=jQuery('.js_li[data-id='+dataid+']');
|
||||||
|
if(type=='click'){
|
||||||
|
var val=li.attr('data-key');
|
||||||
|
if(!val ||(val && !menuarr['click'][val])){
|
||||||
|
val='keys';
|
||||||
|
}
|
||||||
|
jQuery('#js_select_click').val(val);
|
||||||
|
jQuery('#eventkey').val(val);
|
||||||
|
jQuery('#js_select_click_input').val(val);
|
||||||
|
if(val=='keys'){
|
||||||
|
jQuery('#js_select_click_input').parent().removeClass('hidden').end().val(li.attr('data-key')).focus();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var val=li.attr('data-url');
|
||||||
|
if(!val ||(val && !menuarr['link'][val])){
|
||||||
|
val='links';
|
||||||
|
}
|
||||||
|
//jQuery('#js_link_select').val(val);
|
||||||
|
jQuery('#js_select_link').val(val);
|
||||||
|
jQuery('#eventkey').val(val);
|
||||||
|
jQuery('#js_select_link_input').val(val);
|
||||||
|
if(val=='links'){
|
||||||
|
jQuery('#js_select_link_input').parent().removeClass('hidden').end().val(li.attr('data-url')).focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function eventkey_select_change(obj){
|
||||||
|
var el=jQuery(obj);
|
||||||
|
if(el.val()=='keys'){
|
||||||
|
jQuery('#js_select_click_input').parent().removeClass('hidden').end().focus();
|
||||||
|
}else{
|
||||||
|
jQuery('#js_select_click_input').parent().addClass('hidden');
|
||||||
|
}
|
||||||
|
if(el.val()=='links'){
|
||||||
|
jQuery('#js_select_link_input').parent().removeClass('hidden').end().focus();
|
||||||
|
}else{
|
||||||
|
jQuery('#js_select_link_input').parent().addClass('hidden');
|
||||||
|
}
|
||||||
|
jQuery('#eventkey').val(el.val());
|
||||||
|
}
|
||||||
|
function setEventkeyComplete(){
|
||||||
|
|
||||||
|
var li=jQuery('.js_li[data-id='+dataid+']');
|
||||||
|
var val=jQuery('#eventkey').val();
|
||||||
|
if(val=='') return;
|
||||||
|
if(type=='click'){
|
||||||
|
if(val=='keys'){
|
||||||
|
val=jQuery('#js_select_click_input').val();
|
||||||
|
}
|
||||||
|
li.attr('data-type','click');
|
||||||
|
li.attr('data-key',val);
|
||||||
|
li.find('.btn-group').replaceWith('<a class=" pull-right js_click " href="javascript:;" title="{lang menu}KEY" onclick="setEventkey(this,\'click\');return false"><span class="icon icon_click_gray"></span></a>');
|
||||||
|
}else{
|
||||||
|
if(val=='links'){
|
||||||
|
val=jQuery('#js_select_link_input').val();
|
||||||
|
}
|
||||||
|
li.attr('data-type','view');
|
||||||
|
li.attr('data-url',val);
|
||||||
|
li.find('.btn-group').replaceWith('<a class=" pull-right js_link" href="javascript:;" title="{lang skip_links}" onclick="setEventkey(this,\'link\');return false"><span class="icon icon_link_gray"></span></a>');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<!--{/if}-->
|
||||||
|
<!--{template common/footer_ajax}-->
|
||||||
232
core/template/default/common/wx_appinfo.htm
Normal file
232
core/template/default/common/wx_appinfo.htm
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
|
||||||
|
<style>
|
||||||
|
.group-tabul{
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.line {
|
||||||
|
height: 2px;
|
||||||
|
margin: 10px 0;
|
||||||
|
font-size: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: transparent;
|
||||||
|
border-width: 0;
|
||||||
|
border-top: 1px solid #e7e7e7;
|
||||||
|
border-bottom: 1px solid #FFF;
|
||||||
|
}
|
||||||
|
/*.pull-in {*/
|
||||||
|
/*margin-left: -15px;*/
|
||||||
|
/*margin-right: -15px;*/
|
||||||
|
/*}*/
|
||||||
|
/*.line-dashed {
|
||||||
|
border-style: dashed;
|
||||||
|
background: transparent;
|
||||||
|
}*/
|
||||||
|
.form-horizontal .form-group {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
.line-lg {
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.relative {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.form-group {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.copy-success {
|
||||||
|
position: absolute;
|
||||||
|
left: -210px;
|
||||||
|
top: -15px;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
.absoluter {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.panel-body {
|
||||||
|
padding: 15px 0;
|
||||||
|
}
|
||||||
|
.ul_hide{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.form-group .input-black .input-animate {
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#4c89fb), to(#4c89fb)), -webkit-gradient(linear, left top, left bottom, from(#e6e8eb), to(#e6e8eb));
|
||||||
|
background-image: -webkit-linear-gradient(#4c89fb, #4c89fb), -webkit-linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
background-image: -o-linear-gradient(#4c89fb, #4c89fb), -o-linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
background-image: linear-gradient(#4c89fb, #4c89fb), linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
}
|
||||||
|
.form-group .input-black .input-animate.animate {
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#4c89fb), to(#4c89fb)), -webkit-gradient(linear, left top, left bottom, from(#e6e8eb), to(#e6e8eb));
|
||||||
|
background-image: -webkit-linear-gradient(#4c89fb, #4c89fb), -webkit-linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
background-image: -o-linear-gradient(#4c89fb, #4c89fb), -o-linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
background-image: linear-gradient(#4c89fb, #4c89fb), linear-gradient(#e6e8eb, #e6e8eb);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="main-header clearfix">
|
||||||
|
|
||||||
|
<ul class="group-tabul" style="margin-bottom:0px">
|
||||||
|
<li class="active"><a href="{$baseurl_info}">{eval echo $base_info_title?$base_info_title:'{lang application_message}';}</a></li>
|
||||||
|
<li><a href="{$baseurl_menu}">{eval echo $base_menu_title?$base_menu_title:'{lang application_menu}';}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="main-content" style="border-top:1px solid #FFF">
|
||||||
|
<div class="panel-body" >
|
||||||
|
<div class="entity-panel-body form-horizontal">
|
||||||
|
<div class="form-group clearfix relative"> <img src="$wxapp[icon]" style="width:80px;position:absolute;left:20px;top:0px">
|
||||||
|
<div class=" ml20" style="padding-left:100px;">
|
||||||
|
<h4 class="relative"><strong>$wxapp[name]</strong></h4>
|
||||||
|
<p class="relative" style="padding-top:5px">$wxapp[desc]</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
|
<div class="form-group clearfix relative">
|
||||||
|
<form name="settingform" class="form-horizontal form-horizontal-left" action="$baseurl_info" method="post" style="margin:0">
|
||||||
|
<input type="hidden" name="settingsubmit" value="true" />
|
||||||
|
<input type="hidden" name="formhash" value="{FORMHASH}" />
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-black input-static input-form">
|
||||||
|
<label class="control-label wxlabel">AgendID:</label><br>
|
||||||
|
<div class="input-animate" style="width: 200px;display: inline-block;margin-top: 15px;">
|
||||||
|
<input type="text" id="agentid" class="form-control" name="agentid" value="$wxapp[agentid]" placeholder="AgendID">
|
||||||
|
</div>
|
||||||
|
<span class="help-inline help-info">{lang access_method_login_application}</span>
|
||||||
|
</div>
|
||||||
|
<!--<label class="control-label" for="agentid">AgendID:</label>-->
|
||||||
|
<!--<input id="agentid" type="text" class="form-control" style="width:80px;" name="agentid" value="$wxapp[agentid]" />-->
|
||||||
|
<!--<span class="help-inline">{lang access_method_login_application}</span>-->
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-black input-static input-form">
|
||||||
|
<label class="control-label wxlabel">Secret:</label><br>
|
||||||
|
<div class="input-animate" style="width: 200px;display: inline-block;margin-top: 15px;">
|
||||||
|
<input type="text" id="agentid" class="form-control" name="secret" value="$wxapp[secret]" placeholder="Secret">
|
||||||
|
</div>
|
||||||
|
<span class="help-inline help-info">{lang access_method_login_application_secret}</span>
|
||||||
|
</div>
|
||||||
|
<!--<label class="control-label" for="agentid">Secret:</label> -->
|
||||||
|
<!--<input id="agentid" type="text" class="form-control" style="width:80px;" name="secret" value="$wxapp[secret]" />-->
|
||||||
|
<!--<span class="help-inline">{lang access_method_login_application_secret}</span>-->
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-black input-static input-form">
|
||||||
|
<label class="control-label wxlabel">{lang application_state}:</label><br>
|
||||||
|
|
||||||
|
<!--<label class="radio-inline"><input type="radio" name="appstatus" value="0" <!–{if !$wxapp[status]}–>checked="checked"<!–{/if}–> >{lang open_start}</label>-->
|
||||||
|
<!--<label class="radio-inline"><input type="radio" name="appstatus" value="1" <!–{if $wxapp[status]>0}–>checked="checked"<!–{/if}–> >{lang close}</label>-->
|
||||||
|
|
||||||
|
<span class="help-inline help-info" style="padding-bottom:0;vertical-align: 0;margin-top: 2px;display: inline-block;padding-left: 0;">{lang application_state_message}</span>
|
||||||
|
<div style="display:inline-block;margin-bottom: 10px;margin-left: 30px;">
|
||||||
|
<span class="switch-info">{lang open_start}</span>
|
||||||
|
<input type="checkbox" class="js-switch-primary" checked="" data-switchery="true">
|
||||||
|
<script type="text/javascript">
|
||||||
|
var elem = document.querySelector('.js-switch-primary');
|
||||||
|
Switchery(elem, {
|
||||||
|
color: '#62a8ea'
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<button type="submit" id="ueditorform_btn" class="btn btn-primary" style="padding:6px 25px;" data-loading-text="{lang In_the_save}" >{lang save}</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<div class="col-sm-12" style="padding: 0">
|
||||||
|
<p class="form-control-static danger relative"><strong style="font-size: 1em;color: rgba(51, 51, 51, 1);">*{lang need_weixin_enterprises_set}</strong> <a href="http://qy.weixin.qq.com/" target="_blank" class="pull-right btn btn-primary-outline">{lang weixin_enterprises_edit}</a> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<div class="line line-dashed line-lg pull-in"></div>-->
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="wxlabel-item">
|
||||||
|
<h5><strong>{lang scope_application_visible}:</strong></h5>
|
||||||
|
</label>
|
||||||
|
<div class="wxlabel-info">
|
||||||
|
<p class="form-control-static relative">{lang top_institutions}<span class="gray">{lang weixin_enterprises_address_book_}</span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<div class="line line-dashed line-lg pull-in"></div>-->
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="wxlabel-item">
|
||||||
|
<h5><strong>{lang trusted_domain_name}:</strong></h5>
|
||||||
|
</label>
|
||||||
|
<div class="wxlabel-info">
|
||||||
|
<p class="">$wxapp[host]<span class="copyBtn-wrap">
|
||||||
|
<span class="copy-btn js_copy" style="border: none;" data-clipboard-text="$wxapp[host]" title="{lang copy}">{lang copy}</span>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--<div class="line line-dashed line-lg pull-in"></div>-->
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="col-sm-12" style="padding: 0;color: rgba(104, 120, 146, 1);">
|
||||||
|
<h5><strong>{lang syntony_URL_configuration_information}:</strong></h5>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="wxlabel-item">URL</label>
|
||||||
|
<div class="wxlabel-info">
|
||||||
|
<p class="form-control-static relative" style="padding-left:0;">$wxapp[callback] <span class="copyBtn-wrap">
|
||||||
|
<span class="copy-btn js_copy" data-clipboard-text="$wxapp[callback]" title="{lang copy}">{lang copy}</span>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="wxlabel-item">Token</label>
|
||||||
|
<div class="wxlabel-info">
|
||||||
|
<p class="form-control-static relative">$wxapp['token'] <span class="copyBtn-wrap">
|
||||||
|
<span class="copy-btn js_copy" data-clipboard-text="$wxapp[token]" title="{lang copy}">{lang copy}</span>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left margin-10">
|
||||||
|
<label class="wxlabel-item">AESKey</label>
|
||||||
|
<div class="wxlabel-info">
|
||||||
|
<p class="form-control-static relative">$wxapp[encodingaeskey] <span class="copyBtn-wrap">
|
||||||
|
<span class="copy-btn js_copy" data-clipboard-text="$wxapp[encodingaeskey]" title="{lang copy}">{lang copy}</span>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
|
<label class="col-sm-12" style="padding: 0">
|
||||||
|
<h5><strong>{lang other_configuration_information}</strong></h5>
|
||||||
|
</label>
|
||||||
|
<div class="col-sm-12" style="margin-bottom:20px;padding: 0;">
|
||||||
|
<p class="form-control-static relative">
|
||||||
|
<img src="$wxapp[otherpic]" style="max-width:100%">
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
jQuery(document).ready(function(e) {
|
||||||
|
jQuery('.input-black').each(function() {
|
||||||
|
InputAnimate.init(jQuery(this));
|
||||||
|
})
|
||||||
|
var client = new ZeroClipboard(jQuery('.js_copy'));
|
||||||
|
client.on( "load", function( client ) {
|
||||||
|
// alert( "ZeroClipboard SWF is ready!" );
|
||||||
|
client.on( "complete", function( client,args ) {
|
||||||
|
var self=this;
|
||||||
|
jQuery(this).parent().find('.copy-success').removeClass('hide');
|
||||||
|
window.setTimeout(function(){
|
||||||
|
jQuery(self).parent().find('.copy-success').addClass('hide');
|
||||||
|
},1000);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script src="static/js/ZeroClipboard/ZeroClipboard.min.js?{VERHASH}"></script>
|
||||||
|
<script src="static/js/input_field.js"></script>
|
||||||
|
<!--{template common/footer_simple}-->
|
||||||
503
core/template/default/common/wx_menu.htm
Normal file
503
core/template/default/common/wx_menu.htm
Normal file
@@ -0,0 +1,503 @@
|
|||||||
|
<style>
|
||||||
|
.group-tabul{
|
||||||
|
margin-left: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.custom_menu_list {
|
||||||
|
padding: 2px 15px;
|
||||||
|
border-top: 1px solid #FFF;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
height: 38px;
|
||||||
|
overflow:visible;
|
||||||
|
}
|
||||||
|
.custom_menu_list:hover{
|
||||||
|
background:#F7F7F7;
|
||||||
|
}
|
||||||
|
.custom_menu_addName, .custom_menu_name, .custom_menu_subName {
|
||||||
|
height: 34px;
|
||||||
|
line-height: 32px;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.js_add_second{
|
||||||
|
padding-left:42px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_menu_list.cm_subname {
|
||||||
|
padding-left: 42px;
|
||||||
|
}
|
||||||
|
.custom_menu_title_text {
|
||||||
|
padding: 12px 15px 12px 35px;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
margin:0;
|
||||||
|
}
|
||||||
|
.hover_visible{
|
||||||
|
|
||||||
|
opacity:0;
|
||||||
|
_filter: Alpha(opacity=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_menu_list:hover .hover_visible{
|
||||||
|
opacity:1;
|
||||||
|
_filter: Alpha(opacity=100);
|
||||||
|
}
|
||||||
|
.custom_menu_list.editing:hover .hover_visible,.custom_menu_list.editing .hover_visible{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
.custom_menu_input{
|
||||||
|
height: 26px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
outline: 0;
|
||||||
|
width: 250px;
|
||||||
|
padding:0 5px;
|
||||||
|
display: none;
|
||||||
|
margin: 2px 0;
|
||||||
|
}
|
||||||
|
.custom_menu_notice {
|
||||||
|
margin-left: 20px;
|
||||||
|
display: none;
|
||||||
|
color: #da4a38;
|
||||||
|
}
|
||||||
|
.error .custom_menu_input{
|
||||||
|
border-color:#da4a38;
|
||||||
|
}
|
||||||
|
.error .js_input_limit{
|
||||||
|
border-color:#da4a38;
|
||||||
|
}
|
||||||
|
.error .custom_menu_notice{
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
.custom_menu_list.editing .custom_menu_subName,.custom_menu_list.editing .custom_menu_name,.custom_menu_list.editing .custom_menu_addName,.custom_menu_list.editing .icon{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
.custom_menu_list.editing .custom_menu_input{
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
.icon {
|
||||||
|
display: inline-block;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
background-image: url(static/image/common/icon_main.png)!important;
|
||||||
|
background-repeat: no-repeat!important;
|
||||||
|
}
|
||||||
|
.icon_click_gray {
|
||||||
|
width: 28px;
|
||||||
|
height: 16px;
|
||||||
|
background-position: -224px -126px;
|
||||||
|
}
|
||||||
|
.icon_link_gray {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background-position: -190px -158px;
|
||||||
|
}
|
||||||
|
.custom_menu_list .icon_link_gray {
|
||||||
|
margin: 8px 0 0;
|
||||||
|
}
|
||||||
|
.custom_menu_list .icon_click_gray {
|
||||||
|
margin: 8px -4px 0 0;
|
||||||
|
}
|
||||||
|
.custom_menu_list .icon_arrow_down, .custom_menu_list .icon_arrow_right {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
.icon_arrow_down {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
background-position: -64px -96px;
|
||||||
|
}
|
||||||
|
.custom_menu_list .icon_add_small {
|
||||||
|
vertical-align: -3px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
.icon_add_small {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
background-position: -32px -160px;
|
||||||
|
}
|
||||||
|
.icon_edit_gray {
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
background-position: -192px -33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_menu_list .icon_edit_gray {
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
.custom_menu_list .icon_remove {
|
||||||
|
margin: 8px 0 0 10px;
|
||||||
|
}
|
||||||
|
.icon_remove, .icon_remove_gray {
|
||||||
|
width: 16px;
|
||||||
|
height: 17px;
|
||||||
|
background-position: -160px -32px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="main-header clearfix">
|
||||||
|
|
||||||
|
<ul class="group-tabul" style="margin-bottom:0px">
|
||||||
|
<li><a href="{$baseurl_info}">{eval echo $base_info_title?$base_info_title:'{lang application_message}';}</a></li>
|
||||||
|
<li class="active"><a href="{$baseurl_menu}">{eval echo $base_menu_title?$base_menu_title:'{lang application_menu}';}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="main-content" style="border-top:1px solid #FFF;">
|
||||||
|
<ul class="help-block text_center custom_menu_title_text ">
|
||||||
|
<li>{lang creat_three_level_menu}</li>
|
||||||
|
<li>{lang edit_menu_in_the_user_can_not_see}</li>
|
||||||
|
<li>{lang menu_release_24_hours_to_update}</li>
|
||||||
|
<li>{lang drag_can_be_sorted}</li>
|
||||||
|
</ul>
|
||||||
|
<div class="custom_menu_mainList_wrap">
|
||||||
|
<!--{loop $menu[button] $key $value}-->
|
||||||
|
<div class="custom_cmname_list_wrap">
|
||||||
|
<div class="custom_menu_list cm_name js_li clearfix" data-id="$key" data-name="$value[name]" data-type="$value[type]" <!--{if $value[type]=='click'}--> data-key="$value[key]"<!--{elseif $value[type]=='view'}-->data-url="$value[url]"<!--{/if}-->>
|
||||||
|
<a class="icon icon_remove pull-right js_menu_remove hover_visible" href="javascript:;"></a>
|
||||||
|
<span class="icon icon_arrow_down"></span><span class="custom_menu_name">$value[name]</span>
|
||||||
|
|
||||||
|
<!--{if $value[type] && $value[type]=='view'}-->
|
||||||
|
<a class=" pull-right js_link" href="javascript:;" title="{lang skip_links}" onclick="setEventkey(this,'link');return false"><span class="icon icon_link_gray"></span></a>
|
||||||
|
<!--{elseif $value[type]}-->
|
||||||
|
<a class=" pull-right js_click " href="javascript:;" title="{lang menu}KEY" onclick="setEventkey(this,'click');return false"><span class="icon icon_click_gray"></span></a>
|
||||||
|
|
||||||
|
<!--{/if}-->
|
||||||
|
<a class="js_change_name ml10 hover_visible icon icon_edit_gray" href="javascript:;" title="{lang modification}"></a>
|
||||||
|
<input type="text" class="custom_menu_input js_add_2_menu js_input_limit " value="$value[name]" autofocus data-limit="8">
|
||||||
|
|
||||||
|
<span class="custom_menu_notice ">{lang level_1_menu_name_limit_beyond_truncation}</span>
|
||||||
|
</div>
|
||||||
|
<div class="custom_menu_list_wrap" data-id="$key">
|
||||||
|
<!--{loop $value[sub_button] $key1 $value1}-->
|
||||||
|
<div class="custom_menu_list cm_subname js_li clearfix" data-id="{$key}_{$key1}" data-name="$value1[name]" data-type="$value1[type]" <!--{if $value1[type]=='click'}--> data-key="$value1[key]"<!--{elseif $value1[type]=='view'}-->data-url="$value1[url]"<!--{/if}-->>
|
||||||
|
<a class="icon icon_remove pull-right js_menu_remove hover_visible" href="javascript:;"></a>
|
||||||
|
<span class="custom_menu_subName">$value1[name]</span>
|
||||||
|
<!--{if $value1[type]=='view'}-->
|
||||||
|
<a class=" pull-right js_link" href="javascript:;" title="{lang skip_links}" onclick="setEventkey(this,'link');return false"><span class="icon icon_link_gray"></span></a>
|
||||||
|
<!--{elseif $value1[type]=='click'}-->
|
||||||
|
<a class=" pull-right js_click " href="javascript:;" title="{lang menu}KEY" onclick="setEventkey(this,'click');return false"><span class="icon icon_click_gray"></span></a>
|
||||||
|
<!--{/if}-->
|
||||||
|
<a class="js_change_name ml10 hover_visible icon icon_edit_gray" href="javascript:;" title="{lang modification}"></a>
|
||||||
|
<input type="text" class="custom_menu_input js_add_2_menu js_input_limit" value="$value1[name]" autofocus data-limit="16" >
|
||||||
|
<span class="custom_menu_notice ">{lang level_2_menu_name_limit_beyond_truncation}</span>
|
||||||
|
</div>
|
||||||
|
<!--{/loop}-->
|
||||||
|
</div>
|
||||||
|
<div class="custom_menu_list js_add_second" data-id="$key">
|
||||||
|
<span class="icon icon_add_small"></span>
|
||||||
|
<span class="custom_menu_addName gray">{lang add_second_level_of_menus}</span>
|
||||||
|
<input type="text" class="custom_menu_input js_add_2_menu js_input_limit" data-limit="16" autofocus placeholder="{lang level_2_menu_name_limit}">
|
||||||
|
<span class="custom_menu_notice ">{lang level_2_menu_name_limit_beyond_truncation}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--{/loop}-->
|
||||||
|
</div>
|
||||||
|
<div class="custom_menu_list js_add">
|
||||||
|
<span class="icon icon_add_small"></span>
|
||||||
|
<span class="custom_menu_addName gray">{lang add_themselves_menu}</span>
|
||||||
|
<input type="text" class="custom_menu_input js_add_menu js_input_limit " data-limit="8" autofocus placeholder="{lang level_2_menu_name_limit}">
|
||||||
|
<span class="custom_menu_notice ">{lang level_1_menu_name_limit_beyond_truncation}</span>
|
||||||
|
</div>
|
||||||
|
<div style="padding:10px;">
|
||||||
|
<button class="btn btn-primary" onclick="menu_save(this)" data-loading-text="{lang In_the_save}" style="width:80px;">{lang save}</button>
|
||||||
|
<button class="btn btn-success" onclick="menu_publish(this)" data-loading-text="{lang release}" style="width:120px;" <!--{if !$setting['agentid']}-->disabled="disabled"<!--{/if}-->>{lang published_weixin}</button>
|
||||||
|
<button class="btn btn-danger" onclick="menu_default(this)" data-loading-text="{lang in_recovery}">{lang restore_defaults}</button>
|
||||||
|
<small class="pull-right gray mt10">{lang release_24_hours_to_update}</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(document).ready(function(e) {
|
||||||
|
check_add_second();
|
||||||
|
jQuery(document).on('click','.js_change_name',function(){
|
||||||
|
jQuery(this).parent().addClass('editing');
|
||||||
|
jQuery(this).parent().find('.custom_menu_input').focus();
|
||||||
|
});
|
||||||
|
jQuery(document).on('click','.js_add_second',function(){
|
||||||
|
if(!jQuery('.custom_menu_list_wrap[data-id='+jQuery(this).attr('data-id')+'] .cm_subname').length){//如果一级目录有事件,弹窗提示;
|
||||||
|
var self=this;
|
||||||
|
showDialog('{lang use_the_secondary_menu}', 'confirm', '{lang secondary_menu_confirm}', function(){
|
||||||
|
jQuery(self).addClass('editing').find('.custom_menu_input').focus();
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
jQuery(this).addClass('editing');
|
||||||
|
jQuery(this).find('.custom_menu_input').focus();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jQuery(document).on('click','.js_add',function(){
|
||||||
|
jQuery(this).addClass('editing');
|
||||||
|
jQuery(this).find('.custom_menu_input').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
jQuery(document).on('click','.js_menu_remove',function(){
|
||||||
|
var li=jQuery(this).parent();
|
||||||
|
if(li.hasClass('cm_name')){//是主菜单时,删除所有子菜单
|
||||||
|
jQuery('.custom_menu_list[data-id='+li.attr('data-id')+']').remove();
|
||||||
|
jQuery('.custom_menu_list_wrap[data-id='+li.attr('data-id')+']').remove();
|
||||||
|
}
|
||||||
|
li.remove();
|
||||||
|
check_add_second();
|
||||||
|
});
|
||||||
|
jQuery(document).on('keyup','.js_input_limit',function(e){
|
||||||
|
var val=jQuery(this).val();
|
||||||
|
if(mb_strlen(val)>jQuery(this).attr('data-limit')){
|
||||||
|
jQuery(this).parent().addClass('error');
|
||||||
|
}else{
|
||||||
|
jQuery(this).parent().removeClass('error');
|
||||||
|
}
|
||||||
|
if(e.keyCode=='13'){
|
||||||
|
jQuery(this).trigger('blur');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jQuery(document).on('blur','.custom_menu_input',function(){
|
||||||
|
var li=jQuery(this).parent();
|
||||||
|
var cut_val=mb_cutstr(this.value,jQuery(this).attr('data-limit'));
|
||||||
|
if(this.value){
|
||||||
|
if(li.hasClass('js_add_second')){
|
||||||
|
var pid=li.attr('data-id');
|
||||||
|
if(jQuery('.custom_menu_list_wrap[data-id='+pid+'] .cm_subname').length<5){//判定是否已经有5个二级菜单了
|
||||||
|
var html='<div class="custom_menu_list cm_subname js_li clearfix" data-name="'+cut_val+'">'
|
||||||
|
+' <a class="icon icon_remove pull-right js_menu_remove hover_visible" href="javascript:;"></a>'
|
||||||
|
+' <span class="custom_menu_subName">'+cut_val+'</span>'
|
||||||
|
+' <div class="btn-group pull-right eventkey">'
|
||||||
|
+' <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">'
|
||||||
|
+' {lang add_the_event_type} <span class="caret"></span>'
|
||||||
|
+' </button>'
|
||||||
|
+' <ul class="dropdown-menu" role="menu">'
|
||||||
|
+' <li><a href="javascript:;" onclick="setEventkey(this,\'click\');return false">{lang menu}key</a></li>'
|
||||||
|
+' <li><a href="javascript:;" onclick="setEventkey(this,\'link\');return false">{lang jump_page}</a></li>'
|
||||||
|
+' </ul>'
|
||||||
|
+' </div>'
|
||||||
|
+' <a class="js_change_name ml10 hover_visible icon icon_edit_gray" href="javascript:;" title="{lang modification}"></a>'
|
||||||
|
+' <input type="text" class="custom_menu_input js_add_2_menu js_input_limit " value="'+cut_val+'" autofocus="true" data-limit="16" >'
|
||||||
|
+' <span class="custom_menu_notice ">{lang level_2_menu_name_limit_beyond_truncation}</span>'
|
||||||
|
+' </div>';
|
||||||
|
jQuery('.custom_menu_list_wrap[data-id='+pid+']').append(html);
|
||||||
|
jQuery('.js_li[data-id='+pid+']').attr('data-type','').find('.js_click,.js_link,.btn-group').remove();
|
||||||
|
check_add_second();
|
||||||
|
init_dragsort(2);
|
||||||
|
}
|
||||||
|
this.value='';
|
||||||
|
}else if(li.hasClass('js_add')){
|
||||||
|
if(jQuery('.cm_name').length<3){
|
||||||
|
var html='<div class="custom_menu_list cm_name js_li clearfix" data-name="'+cut_val+'" data-type="">'
|
||||||
|
+' <a class="icon icon_remove pull-right js_menu_remove hover_visible" href="javascript:;"></a>'
|
||||||
|
+' <span class="icon icon_arrow_down"></span><span class="custom_menu_name">'+cut_val+'</span>'
|
||||||
|
|
||||||
|
+' <a class="js_change_name ml10 hover_visible icon icon_edit_gray" href="javascript:;" title="{lang modification}"></a>'
|
||||||
|
+' <input type="text" class="custom_menu_input js_add_2_menu js_input_limit " value="'+cut_val+'" autofocus="true" data-limit="8">'
|
||||||
|
+' <span class="custom_menu_notice ">{lang level_1_menu_name_limit_beyond_truncation}</span>'
|
||||||
|
+'</div>'
|
||||||
|
+'<div class="custom_menu_list_wrap"></div>'
|
||||||
|
+'<div class="custom_menu_list js_add_second">'
|
||||||
|
+' <span class="icon icon_add_small"></span>'
|
||||||
|
+' <span class="custom_menu_addName gray">{lang add_second_level_of_menus}</span>'
|
||||||
|
+' <input type="text" class="custom_menu_input js_add_2_menu js_input_limit" data-limit="16" autofocus="true" placeholder="{lang level_2_menu_name_limit}">'
|
||||||
|
+' <span class="custom_menu_notice ">{lang level_2_menu_name_limit_beyond_truncation}</span>'
|
||||||
|
+'</div>';
|
||||||
|
jQuery(html).appendTo('.custom_menu_mainList_wrap');
|
||||||
|
check_add_second();
|
||||||
|
init_dragsort(1);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
li.find('.custom_menu_subName,.custom_menu_name').html(cut_val);
|
||||||
|
li.attr('data-name',cut_val);
|
||||||
|
this.value=cut_val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
li.removeClass('editing');
|
||||||
|
});
|
||||||
|
|
||||||
|
init_dragsort();
|
||||||
|
});
|
||||||
|
var ajaxurl='$baseurl_ajax';
|
||||||
|
function init_dragsort(flag){
|
||||||
|
if(flag==1) jQuery('.custom_menu_mainList_wrap').dragsort(null,function(){check_add_second();});
|
||||||
|
else if(flag==2) jQuery('.custom_menu_list_wrap').dragsort(null,function(){check_add_second();});
|
||||||
|
else{
|
||||||
|
jQuery('.custom_menu_list_wrap').dragsort(null,function(){check_add_second();});
|
||||||
|
jQuery('.custom_menu_mainList_wrap').dragsort(null,function(){check_add_second();});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function menu_save(obj){
|
||||||
|
var button=jQuery(obj);
|
||||||
|
button.button('loading');
|
||||||
|
var menu=[];
|
||||||
|
jQuery('.custom_menu_mainList_wrap .js_li').each(function(){
|
||||||
|
var li=jQuery(this);
|
||||||
|
if(li.hasClass('cm_name')){
|
||||||
|
var dataid=li.attr('data-id');
|
||||||
|
var type=li.attr('data-type');
|
||||||
|
var arr={}
|
||||||
|
arr['name']=li.attr('data-name');
|
||||||
|
if(type){
|
||||||
|
arr['type']=li.attr('data-type');
|
||||||
|
if(type=='click'){
|
||||||
|
arr['key']=li.attr('data-key');
|
||||||
|
|
||||||
|
}else{
|
||||||
|
arr['url']=li.attr('data-url');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
arr['sub_button']=[];
|
||||||
|
}
|
||||||
|
menu.push(arr);
|
||||||
|
}else if(li.hasClass('cm_subname')){
|
||||||
|
var id0=li.parent().attr('data-id');
|
||||||
|
var type=li.attr('data-type');
|
||||||
|
var arr={};
|
||||||
|
arr['name']=li.attr('data-name');
|
||||||
|
if(type){
|
||||||
|
arr['type']=li.attr('data-type');
|
||||||
|
if(type=='click'){
|
||||||
|
arr['key']=li.attr('data-key');
|
||||||
|
}else{
|
||||||
|
arr['url']=li.attr('data-url');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
menu[id0]['sub_button'].push(arr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jQuery.post(ajaxurl+'&action=menu_save',{menu:menu},function(json){
|
||||||
|
if(json.msg=='success'){
|
||||||
|
showmessage('{lang save_success}!','success',1000,1);
|
||||||
|
}else{
|
||||||
|
showmessage('{lang save_unsuccess}!','danger',3000,1);
|
||||||
|
}
|
||||||
|
button.button('reset');
|
||||||
|
},'json');
|
||||||
|
}
|
||||||
|
function menu_default(obj){
|
||||||
|
if(confirm('{lang restore_the_default_menu}')){
|
||||||
|
var button=jQuery(obj);
|
||||||
|
button.button('loading');
|
||||||
|
jQuery.post(ajaxurl+'&action=menu_default',function(json){
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function menu_publish(obj){
|
||||||
|
var button=jQuery(obj);
|
||||||
|
button.button('loading');
|
||||||
|
var menu=[];
|
||||||
|
if(jQuery('.custom_menu_mainList_wrap .js_li .btn-group').length){
|
||||||
|
showmessage('{lang none_response_event_please_check}','danger',5000,1);
|
||||||
|
button.button('reset');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
jQuery('.custom_menu_mainList_wrap .js_li').each(function(){
|
||||||
|
var li=jQuery(this);
|
||||||
|
if(li.hasClass('cm_name')){
|
||||||
|
|
||||||
|
var dataid=li.attr('data-id');
|
||||||
|
var type=li.attr('data-type');
|
||||||
|
var arr={}
|
||||||
|
arr['name']=li.attr('data-name');
|
||||||
|
if(type){
|
||||||
|
arr['type']=li.attr('data-type');
|
||||||
|
if(type=='click'){
|
||||||
|
arr['key']=li.attr('data-key');
|
||||||
|
|
||||||
|
}else{
|
||||||
|
arr['url']=li.attr('data-url');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
arr['sub_button']=[];
|
||||||
|
}
|
||||||
|
menu.push(arr);
|
||||||
|
}else if(li.hasClass('cm_subname')){
|
||||||
|
var id0=li.parent().attr('data-id');
|
||||||
|
var type=li.attr('data-type');
|
||||||
|
var arr={};
|
||||||
|
if(type){
|
||||||
|
arr['name']=li.attr('data-name');
|
||||||
|
arr['type']=li.attr('data-type');
|
||||||
|
if(type=='click'){
|
||||||
|
marr['key']=li.attr('data-key');
|
||||||
|
}else{
|
||||||
|
arr['url']=li.attr('data-url');
|
||||||
|
}
|
||||||
|
menu[id0]['sub_button'].push(arr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jQuery.post(ajaxurl+'&action=menu_publish',{menu:menu},function(json){
|
||||||
|
if(json.msg=='success'){
|
||||||
|
showmessage('{lang release_success}!','success',1000,1);
|
||||||
|
}else{
|
||||||
|
showmessage(json.error,'danger',3000,1);
|
||||||
|
}
|
||||||
|
button.button('reset');
|
||||||
|
},'json');
|
||||||
|
}
|
||||||
|
function setEventkey(obj,type){
|
||||||
|
var el=jQuery(obj);
|
||||||
|
var dataid=el.closest('.js_li').attr('data-id');
|
||||||
|
showWindow('setEvent',ajaxurl+'&action=setEventkey&type='+type+'&dataid='+dataid+'&t='+new Date().getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_add_second(){
|
||||||
|
var i=0;
|
||||||
|
jQuery('.custom_menu_mainList_wrap .custom_menu_list,.custom_menu_mainList_wrap .custom_menu_list_wrap').each(function(){
|
||||||
|
var me=jQuery(this);
|
||||||
|
if(me.hasClass('cm_name')){
|
||||||
|
me.attr('data-id',i);
|
||||||
|
i++;
|
||||||
|
|
||||||
|
}else if(me.hasClass('custom_menu_list_wrap')){
|
||||||
|
me.attr('data-id',(i-1));
|
||||||
|
var li=jQuery('.cm_name[data-id='+(i-1)+']');
|
||||||
|
if(jQuery('.custom_menu_list_wrap[data-id='+(i-1)+'] .cm_subname').length){//有子菜单,主菜单去除evnent
|
||||||
|
jQuery('.custom_menu_list_wrap[data-id='+(i-1)+'] .cm_subname').each(function(index){
|
||||||
|
var el=jQuery(this);
|
||||||
|
el.attr('data-id',(i-1)+'_'+index);
|
||||||
|
if(el.attr('data-type')==''){
|
||||||
|
jQuery('<div class="btn-group pull-right eventkey"><button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">{lang add_the_event_type}<span class="caret"></span></button><ul class="dropdown-menu" role="menu"> <li><a href="javascript:;" onclick="setEventkey(this,\'click\');return false">{lang menu}key</a></li><li><a href="javascript:;" onclick="setEventkey(this,\'link\');return false">{lang jump_page}</a></li></ul> </div>').appendTo(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
li.attr('data-type','').find('.js_click,.js_link,.btn-group').remove();
|
||||||
|
}else{
|
||||||
|
if(li.attr('data-type')==''){
|
||||||
|
li.find('.js_click,.js_link,.btn-group').remove();
|
||||||
|
jQuery('<div class="btn-group pull-right eventkey"><button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">{lang add_the_event_type}<span class="caret"></span></button><ul class="dropdown-menu" role="menu"> <li><a href="javascript:;" onclick="setEventkey(this,\'click\');return false">{lang menu}key</a></li><li><a href="javascript:;" onclick="setEventkey(this,\'link\');return false">{lang jump_page}</a></li></ul> </div>').appendTo(li);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else if(me.hasClass('js_add_second')){
|
||||||
|
me.attr('data-id',i-1);
|
||||||
|
if(jQuery('.custom_menu_list_wrap[data-id='+(i-1)+'] .cm_subname').length>4) me.addClass('hidden');
|
||||||
|
else me.removeClass('hidden');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(i>2){
|
||||||
|
jQuery('.js_add').addClass('hidden');
|
||||||
|
}else{
|
||||||
|
jQuery('.js_add').removeClass('hidden');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function mb_strlen(str) {
|
||||||
|
var len = 0;
|
||||||
|
for(var i = 0; i < str.length; i++) {
|
||||||
|
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? 2 : 1;
|
||||||
|
}
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
function mb_cutstr(str, maxlen) {
|
||||||
|
var len = 0;
|
||||||
|
var ret = '';
|
||||||
|
var dot = '';
|
||||||
|
maxlen = maxlen - dot.length;
|
||||||
|
for(var i = 0; i < str.length; i++) {
|
||||||
|
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? 2 : 1;
|
||||||
|
if(len > maxlen) {
|
||||||
|
ret += dot;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ret += str.substr(i, 1);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="static/js/jquery.dragsort.js?{VERHASH}"></script>
|
||||||
|
|
||||||
147
core/template/default/common/wx_mpinfo.htm
Normal file
147
core/template/default/common/wx_mpinfo.htm
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
<style>
|
||||||
|
.line {
|
||||||
|
height: 2px;
|
||||||
|
margin: 10px 0;
|
||||||
|
font-size: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: transparent;
|
||||||
|
border-width: 0;
|
||||||
|
border-top: 1px solid #e7e7e7;
|
||||||
|
border-bottom: 1px solid #FFF;
|
||||||
|
}
|
||||||
|
.pull-in {
|
||||||
|
margin-left: -15px;
|
||||||
|
margin-right: -15px;
|
||||||
|
}
|
||||||
|
/*.line-dashed {
|
||||||
|
border-style: dashed;
|
||||||
|
background: transparent;
|
||||||
|
}*/
|
||||||
|
.line-lg {
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
.padding-left .col-sm-12 {
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
|
.relative {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.copy-success {
|
||||||
|
position: absolute;
|
||||||
|
left: -210px;
|
||||||
|
top: -15px;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
.absoluter {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="main-header">
|
||||||
|
<ul class="nav nav-pills nav-pills-bottomguide">
|
||||||
|
<li class="active"><a href="{$baseurl_info}">{eval echo $base_info_title?$base_info_title:'{lang application_message}';}</a></li>
|
||||||
|
<li><a href="{$baseurl_menu}">{eval echo $base_menu_title?$base_menu_title:'{lang application_menu}';}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="main-content" style="border-top:1px solid #FFF">
|
||||||
|
<div class="panel-body" >
|
||||||
|
<div class="entity-panel-body form-horizontal">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<form id="settingform" name="settingform" class="form-horizontal form-horizontal-left" action="$baseurl_info" method="post" style="margin:0">
|
||||||
|
<input type="hidden" name="settingsubmit" value="true" />
|
||||||
|
<input type="hidden" name="formhash" value="{FORMHASH}" />
|
||||||
|
<dl>
|
||||||
|
<dt>AppID:</dt>
|
||||||
|
<dd class="clearfix">
|
||||||
|
<input type="text" id="AppID" class="form-control" name="AppID" value="$setting[AppID]" required="true" />
|
||||||
|
<span class="help-block">{lang developer_credentials_login_commonality_terrace}</span>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>AppSecret:</dt>
|
||||||
|
<dd class="clearfix">
|
||||||
|
<input type="text" id="AppSecret" class="form-control" name="AppSecret" value="$setting[AppSecret]" required="true" />
|
||||||
|
<span class="help-block">{lang developer_credentials_login_commonality_terrace}</span>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<input type="hidden" id="fbind" name="fbind" value="bind" />
|
||||||
|
<button class="btn btn-success btn-width" onclick="document.getElementById('settingform').onsubmit();" >{lang bundle}</button>
|
||||||
|
<button class="btn btn-danger btn-width" onclick="document.getElementById('fbind').value='unbind';document.getElementById('settingform').onsubmit();">{lang unbundle}</button>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<p class="form-control-static danger relative"><i class="glyphicon glyphicon-hand-down"></i> <strong style="font-size:1.5em">{lang need_developer_center_settings}</strong> <a href="https://mp.weixin.qq.com/advanced/advanced?action=dev" target="_blank" class="pull-right btn btn-default">{lang weixin_public_number}</a> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<label class="col-sm-12">
|
||||||
|
<h5><strong>{lang server_configuration_information}</strong></h5>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<label class="col-xs-2 control-label">URL({lang server_address})</label>
|
||||||
|
<div class="col-xs-10">
|
||||||
|
<p class="form-control-static relative" style="padding-left:0;">$wxmp[callback] <span class="absoluter">
|
||||||
|
<button class="btn btn-default js_copy" data-clipboard-text="$wxmp[callback]" title="{lang copy}">{lang copy}</button>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<label class="col-xs-2 control-label">Token({lang token})</label>
|
||||||
|
<div class="col-xs-10">
|
||||||
|
<p class="form-control-static relative">$wxmp['token'] <span class="absoluter">
|
||||||
|
<button class="btn btn-default js_copy" data-clipboard-text="$wxmp[token]" title="{lang copy_success_paste_need_place}">{lang copy_success_paste_need_place}</button>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<label class="col-xs-2 control-label">EncodingAESKey({lang message_encryption_key})</label>
|
||||||
|
<div class="col-xs-10">
|
||||||
|
<p class="form-control-static relative">$wxmp[encodingaeskey] <span class="absoluter">
|
||||||
|
<button class="btn btn-default js_copy" data-clipboard-text="$wxmp[encodingaeskey]" title="{lang copy}">{lang copy}</button>
|
||||||
|
<span class="alert copy-success alert-success hide ">{lang copy_success_paste_need_place}</span> </span> </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group clearfix padding-left">
|
||||||
|
<label class="col-xs-2 control-label">{lang message_encryption}</label>
|
||||||
|
<div class="col-xs-10">
|
||||||
|
<p class="form-control-static relative">{lang safe_mode}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(document).ready(function(e) {
|
||||||
|
var client = new ZeroClipboard(jQuery('.js_copy'));
|
||||||
|
client.on( "load", function( client ) {
|
||||||
|
// alert( "ZeroClipboard SWF is ready!" );
|
||||||
|
client.on( "complete", function( client,args ) {
|
||||||
|
var self=this;
|
||||||
|
jQuery(this).parent().find('.copy-success').removeClass('hide');
|
||||||
|
window.setTimeout(function(){
|
||||||
|
jQuery(self).parent().find('.copy-success').addClass('hide');
|
||||||
|
},1000);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script src="static/js/ZeroClipboard/ZeroClipboard.min.js?{VERHASH}"></script>
|
||||||
|
|
||||||
|
<!--{template common/footer_simple}-->
|
||||||
0
data/log/index.htm
Normal file
0
data/log/index.htm
Normal file
0
data/template/index.htm
Normal file
0
data/template/index.htm
Normal file
527
dzz/billfish/class/class_billfishexport.php
Normal file
527
dzz/billfish/class/class_billfishexport.php
Normal file
@@ -0,0 +1,527 @@
|
|||||||
|
<?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 billfishxport
|
||||||
|
{
|
||||||
|
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 $checklimit = 1000;
|
||||||
|
private $onceexportnum = 100;
|
||||||
|
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 $db = null;
|
||||||
|
|
||||||
|
public function __construct($data = array())
|
||||||
|
{
|
||||||
|
global $Defaultallowext;
|
||||||
|
//获取导入记录表基本数据
|
||||||
|
$this->path = $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'];
|
||||||
|
if ($data['charset']) $this->charset = $data['charset'];
|
||||||
|
//尝试连接数据库
|
||||||
|
$connect = $this->connect_db();
|
||||||
|
if (!is_object($connect)) {
|
||||||
|
return $connect;
|
||||||
|
} else {
|
||||||
|
$this->db = $connect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function connect_db()
|
||||||
|
{
|
||||||
|
$dsn = 'sqlite:' . $this->path . BS . '.bf' . BS . 'billfish.db';
|
||||||
|
try {
|
||||||
|
return new PDO($dsn);
|
||||||
|
} catch (PDOException $e) {
|
||||||
|
return array('error' => $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch($sql)
|
||||||
|
{
|
||||||
|
$q = $this->db->query($sql);
|
||||||
|
$rows = $q->fetch(PDO::FETCH_ASSOC);
|
||||||
|
return $rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetch_all($sql)
|
||||||
|
{
|
||||||
|
$q = $this->db->query($sql);
|
||||||
|
$rows = $q->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
return $rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function initExport()
|
||||||
|
{
|
||||||
|
//修改导入状态为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);
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询待导入文件数
|
||||||
|
$sql = "select count(s.id) as num from source s left join res_prop rp on s.id = rp.iid where rp.action =0 ";
|
||||||
|
$data = $this->fetch($sql);
|
||||||
|
$this->filenum = $data['num'];
|
||||||
|
//如果没有数据,视为导入成功
|
||||||
|
if (!$this->filenum) {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('state' => 4));
|
||||||
|
} else {
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('state' => 2, 'filenum' => $this->filenum));
|
||||||
|
}
|
||||||
|
return array('success' => true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function execExport($force = false)
|
||||||
|
{
|
||||||
|
//开始页数
|
||||||
|
if ($this->lastid) {
|
||||||
|
$start = $this->lastid;
|
||||||
|
} else $start = 1;
|
||||||
|
$lastid = $start;
|
||||||
|
$start = ($start-1)*$this->onceexportnum;
|
||||||
|
$sql = "select s.*,p.fid,p.score,p.title,p.origin,p.note,p.action from source s
|
||||||
|
left join res_prop p on p.iid = s.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['action'] > 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['born']) ? $v['born'] * 1000 : $v['lastw'] * 1000,
|
||||||
|
'dateline' => $v['lastw'] * 1000,
|
||||||
|
'btime' => TIMESTAMP * 1000,
|
||||||
|
'size' => $v['size'],
|
||||||
|
'width' => $v['width'],
|
||||||
|
'height' => $v['height'],
|
||||||
|
'grade' => $v['score'],
|
||||||
|
'apptype' => 2,
|
||||||
|
'hasthumb' => $v['thumb'] ? 1 : 0,
|
||||||
|
'thumb' => $v['thumb']
|
||||||
|
];
|
||||||
|
|
||||||
|
//数据插入主表
|
||||||
|
if (C::t('#billfish#billfish_record')->inser_data($v['id'], $setarr)) {
|
||||||
|
//定义属性表变量
|
||||||
|
$attrdata = [];
|
||||||
|
$attrdata['desc'] = $v['note'];
|
||||||
|
//将名字记入搜索字段
|
||||||
|
$attrdata['searchval'] = $setarr['name'].$attrdata['desc'];
|
||||||
|
//处理目录数据
|
||||||
|
if ($v['fid']) {
|
||||||
|
$folderdata = $this->getFolderfid($v['fid']);
|
||||||
|
//处理目录数据
|
||||||
|
$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'];
|
||||||
|
}
|
||||||
|
//目录数据处理完成
|
||||||
|
|
||||||
|
//转码路径 记入属性表
|
||||||
|
if (CHARSET != $this->charset) $attrdata['path'] = diconv($attrdata['path'],CHARSET, $this->charset);;
|
||||||
|
|
||||||
|
//标签数据开始
|
||||||
|
|
||||||
|
//查询文件标签id
|
||||||
|
|
||||||
|
$sql = "select lid from res_join_tag where iid = $id";//耗时最多
|
||||||
|
$tiddata = $this->fetch_all($sql);
|
||||||
|
|
||||||
|
$tids = [];
|
||||||
|
foreach ($tiddata as $val) {
|
||||||
|
$tids[] = $val['lid'];
|
||||||
|
}
|
||||||
|
if (!empty($tids)) {
|
||||||
|
$tidstr = dimplode($tids);
|
||||||
|
//查询标签分类数据
|
||||||
|
$sql = "select jg.gid,g.name from tag_join_group jg
|
||||||
|
left join taggrp g on g.id = jg.gid
|
||||||
|
where jg.lid 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 tag t
|
||||||
|
left join tag_join_group j on j.lid = 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 colour where iid = $id";
|
||||||
|
$bcolordata = $this->fetch_all($sql);
|
||||||
|
|
||||||
|
//删除原颜色数据
|
||||||
|
DB::delete('pichome_palette', array('rid' => $rid));
|
||||||
|
foreach ($bcolordata as $val) {
|
||||||
|
$colorarr = ['rid' => $rid,
|
||||||
|
'color' => $val['bf_clr'],
|
||||||
|
'weight' => $val['precent'],
|
||||||
|
'r' => $val['r'],
|
||||||
|
'g' => $val['g'],
|
||||||
|
'b' => $val['b']
|
||||||
|
];
|
||||||
|
C::t('pichome_palette')->insert($colorarr);
|
||||||
|
}
|
||||||
|
|
||||||
|
//颜色数据处理结束
|
||||||
|
|
||||||
|
|
||||||
|
//处理标注数据
|
||||||
|
$sql = "select * from comment where iid = $id";
|
||||||
|
$commentdata = $this->fetch_all($sql);
|
||||||
|
//删除原标注数据
|
||||||
|
C::t('pichome_comments')->delete_by_rid($rid);
|
||||||
|
if ($commentdata) {
|
||||||
|
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 video where iid = $id";
|
||||||
|
$videodata = $this->fetch($sql);
|
||||||
|
if(isset($videodata['duration'])) $attrdata['duration'] = $videodata['duration'];
|
||||||
|
//查询视频时长
|
||||||
|
$sql = "select duration from audio where iid = $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;
|
||||||
|
}
|
||||||
|
//记录导入起始位置,以备中断后从此处,更改导入状态
|
||||||
|
C::t('pichome_vapp')->update($this->appid, array('percent' => $percent, 'donum' => $this->donum, 'state' => $state));
|
||||||
|
}
|
||||||
|
$time4= microtime(true);
|
||||||
|
|
||||||
|
$lastid = $lastid+1;
|
||||||
|
|
||||||
|
C::t('pichome_vapp')->update($this->appid,array('lastid' => $lastid));
|
||||||
|
return array('success' => true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFolderfid($bfid, $dirpath = '')
|
||||||
|
{
|
||||||
|
$parentfolderdata = [];
|
||||||
|
|
||||||
|
$sql = "select * from folder where id = $bfid";
|
||||||
|
$folderdata = $this->fetch($sql);
|
||||||
|
$dirpath = $folderdata['name'] . ($dirpath ? BS . $dirpath : '');
|
||||||
|
if ($folderdata['pid']) {
|
||||||
|
$parentfolderdata = $this->getFolderfid($folderdata['pid'], $dirpath);
|
||||||
|
|
||||||
|
}
|
||||||
|
if($parentfolderdata['dirpath']) $dirpath = $parentfolderdata['dirpath'];
|
||||||
|
$setarr = [
|
||||||
|
'pfid' => isset($parentfolderdata['fid']) ? $parentfolderdata['fid'] : '',
|
||||||
|
'fname' => $folderdata['name'],
|
||||||
|
'appid' => $this->appid
|
||||||
|
];
|
||||||
|
$return = C::t('#billfish#billfish_folderrecord')->insert_data($bfid, $setarr);
|
||||||
|
$return['dirpath'] = $dirpath;
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//校验文件
|
||||||
|
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 from %t where appid = %s order by lastdate asc limit $limitsql ", array('pichome_resources', $this->appid));
|
||||||
|
if (empty($data)) {
|
||||||
|
//校验完成后更新目录文件数
|
||||||
|
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']));
|
||||||
|
}
|
||||||
|
|
||||||
|
//检查不存在的目录删除
|
||||||
|
$foldertotal = DB::result_first("select count(id) from %t where appid = %s",array('billfish_folderrecord',$this->appid));
|
||||||
|
$this->check_notexists_folder($foldertotal);
|
||||||
|
//检查不存在的标签删除
|
||||||
|
$tagtotal = DB::result_first("select count(id) from %t where appid = %s",array('billfish_tagrecord',$this->appid));
|
||||||
|
$this->check_notexists_tag($tagtotal);
|
||||||
|
//删除创建的索引
|
||||||
|
$sql = 'DROP INDEX res_join_tag_iid';
|
||||||
|
$this->db->query($sql);
|
||||||
|
|
||||||
|
$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('percent' => 0, 'state' => 4, 'lastid' => 0, 'donum' => 0,'filenum'=>$total,'nosubfilenum'=>$nosubfilenum));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
foreach ($data as $v) {
|
||||||
|
$rid = $v['rid'];
|
||||||
|
$iid = DB::result_first("select bid from %t where rid = %s and appid = %s",array('billfish_record',$rid,$this->appid));
|
||||||
|
//查询billfish中是否有该数据
|
||||||
|
$sql = "select count(*) as num from source where id = $iid";
|
||||||
|
$numdata = $this->fetch($sql);
|
||||||
|
if(!isset($numdata['num']) || !$numdata['num']){
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//检查目录数据
|
||||||
|
public function check_notexists_folder($total){
|
||||||
|
|
||||||
|
$tmpkey = 'pichomecheckfolder' . $this->appid;
|
||||||
|
$folderstart = C::t('cache')->fetch($tmpkey);
|
||||||
|
if (!$folderstart) {
|
||||||
|
$folderstart = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
if($folderstart < $total){
|
||||||
|
$bfids = [];
|
||||||
|
//检查不存在的目录删除
|
||||||
|
foreach(DB::fetch_all("select bfr.bfid as bfid from %t f left join %t bfr on bfr.fid=f.fid where f.appid = %s limit $folderstart,100",array('pichome_folder','billfish_folderrecord',$this->appid)) as $v){
|
||||||
|
$bfids[] = $v['bfid'];
|
||||||
|
}
|
||||||
|
if(empty($bfids)){
|
||||||
|
C::t('cache')->delete($tmpkey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$bfidstr = dimplode($bfids);
|
||||||
|
//查询不存的目录
|
||||||
|
$sql = "select id from folder where id in($bfidstr)";
|
||||||
|
$bfolder = $this->fetch_all($sql);
|
||||||
|
$blfids = [];
|
||||||
|
foreach ($bfolder as $val){
|
||||||
|
$blfids[] = $val['id'];
|
||||||
|
}
|
||||||
|
$delfids = array_diff($bfids,$blfids);
|
||||||
|
if(!empty($delfids))C::t('#billfish#billfish_folderrecord')->delete_by_bfid($delfids,$this->appid);
|
||||||
|
|
||||||
|
$folderstart += 100;
|
||||||
|
$setarr = ['cachekey' => $tmpkey, 'cachevalue' => $folderstart, 'dateline' => time()];
|
||||||
|
C::t('cache')->insert($setarr);
|
||||||
|
$this->check_notexists_folder($total);
|
||||||
|
}else{
|
||||||
|
C::t('cache')->delete($tmpkey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
//检查标签对照表数据
|
||||||
|
public function check_notexists_tag($total){
|
||||||
|
$tmpkey = 'pichomechecktag'.$this->appid;
|
||||||
|
$tagstart = C::t('cache')->fetch($tmpkey);
|
||||||
|
if (!$tagstart) {
|
||||||
|
$tagstart = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
if($tagstart < $total){
|
||||||
|
$lids=[];
|
||||||
|
foreach(DB::fetch_all("select lid from %t where appid = %s limit $tagstart,100 ",array('billfish_tagrecord',$this->appid)) as $v){
|
||||||
|
$lids[] = $v['lid'];
|
||||||
|
}
|
||||||
|
if(empty($lids)){
|
||||||
|
C::t('cache')->delete($tmpkey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
$lidstr = dimplode(',',$lids);
|
||||||
|
$sql = "select id from tag where id in($lidstr)";
|
||||||
|
$blids =[] ;
|
||||||
|
foreach($this->fetch_all($sql) as $v){
|
||||||
|
$blids[] = $v['id'];
|
||||||
|
}
|
||||||
|
$deblids = array_diff($lids,$blids);
|
||||||
|
if(!empty($deblids)) DB::delete('billfish_tagrecord','lid in('.dimplode($deblids).')');
|
||||||
|
$tagstart += 100;
|
||||||
|
$setarr = ['cachekey' => $tmpkey, 'cachevalue' => $tagstart, 'dateline' => time()];
|
||||||
|
C::t('cache')->insert($setarr);
|
||||||
|
$this->check_notexists_tag($total);
|
||||||
|
}else{
|
||||||
|
C::t('cache')->delete($tmpkey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
71
dzz/billfish/class/table/table_billfish_folderrecord.php
Normal file
71
dzz/billfish/class/table/table_billfish_folderrecord.php
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<?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_billfish_folderrecord extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'billfish_folderrecord';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function insert_data($bfid,$setarr){
|
||||||
|
$returndata =[];
|
||||||
|
|
||||||
|
if($fid = DB::result_first("select fid from %t where bfid = %d and appid = %s",array($this->_table,$bfid,$setarr['appid']))){
|
||||||
|
C::t('pichome_folder')->update($fid,$setarr);
|
||||||
|
$setarr['fid'] = $fid;
|
||||||
|
return $setarr;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$fpathkey = '';
|
||||||
|
if($setarr['pfid']){
|
||||||
|
$fpathkey =DB::result_first("select pathkey from %t where fid = %s and appid = %s",array('pichome_folder',$setarr['pfid'],$setarr['appid']));
|
||||||
|
}
|
||||||
|
$setarr['fid'] = random(13) . $setarr['appid'];
|
||||||
|
$setarr['pathkey'] = ($fpathkey) ? $fpathkey.$setarr['fid']:$setarr['fid'];
|
||||||
|
if(C::t('pichome_folder')->insert($setarr)){
|
||||||
|
$setarr1 = [
|
||||||
|
'bfid'=>$bfid,
|
||||||
|
'fid'=>$setarr['fid'],
|
||||||
|
'appid'=>$setarr['appid']
|
||||||
|
];
|
||||||
|
if(parent::insert($setarr1,1)){
|
||||||
|
return $setarr;
|
||||||
|
}else{
|
||||||
|
C::t('pichome_folder')->delete($setarr['fid']);
|
||||||
|
return $returndata;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_by_bfid($bfids,$appid){
|
||||||
|
if(!is_array($bfids)) $bfids = (array)$bfids;
|
||||||
|
$delfid = $delid = [];
|
||||||
|
foreach(DB::fetch_all("select fid,id from %t where bfid in(%n) and appid = %s",array($this->_table,$bfids,$appid)) as $v){
|
||||||
|
$delfid[] = $v['fid'];
|
||||||
|
$delid[] = $v['id'];
|
||||||
|
}
|
||||||
|
DB::delete('pichome_folderresources',"fid in (".dimplode($delfid).")");
|
||||||
|
DB::delete('pichome_folder',"fid in (".dimplode($delfid).")");
|
||||||
|
parent::delete($delid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete_by_appid($appid){
|
||||||
|
DB::delete($this->_table,array('appid'=>$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
43
dzz/billfish/class/table/table_billfish_record.php
Normal file
43
dzz/billfish/class/table/table_billfish_record.php
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?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_billfish_record extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'billfish_record';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function inser_data($bid,$setarr){
|
||||||
|
$setarr1['thumb'] = $setarr['thumb'];
|
||||||
|
unset($setarr['thumb']);
|
||||||
|
if(C::t('pichome_resources')->insert($setarr)){
|
||||||
|
$setarr1['rid'] = $setarr['rid'];
|
||||||
|
$setarr1['appid'] = $setarr['appid'];
|
||||||
|
$setarr1['bid'] = $bid;
|
||||||
|
$id = DB::result_first("select id from %t where bid = %d and appid = %s",array($this->_table,$bid,$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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
42
dzz/billfish/class/table/table_billfish_taggrouprecord.php
Normal file
42
dzz/billfish/class/table/table_billfish_taggrouprecord.php
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?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_billfish_taggrouprecord extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'billfish_taggrouprecord';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert_data($setarr,$appid){
|
||||||
|
$hasrecord = false;
|
||||||
|
if($cid = DB::result_first("select cid from %t where bcid=%d and appid = %s",array($this->_table,$setarr['gid'],$appid))){
|
||||||
|
$data['cid'] = $cid;
|
||||||
|
$hasrecord = true;
|
||||||
|
}else{
|
||||||
|
$data['cid'] = random(13).$appid;
|
||||||
|
}
|
||||||
|
$data['catname'] = $setarr['name'];
|
||||||
|
$data['appid'] = $appid;
|
||||||
|
$data['dateline'] = TIMESTAMP;
|
||||||
|
if($cid = C::t('pichome_taggroup')->insert($data)){
|
||||||
|
if(!$hasrecord) parent::insert(array('cid'=>$cid,'bcid'=>$setarr['gid'],'appid'=>$appid));
|
||||||
|
return array('bcid'=>$setarr['gid'],'cid'=>$cid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public function delete_by_appid($appid){
|
||||||
|
DB::delete($this->_table,array('appid'=>$appid));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
39
dzz/billfish/class/table/table_billfish_tagrecord.php
Normal file
39
dzz/billfish/class/table/table_billfish_tagrecord.php
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?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_billfish_tagrecord extends dzz_table
|
||||||
|
{
|
||||||
|
public function __construct() {
|
||||||
|
$this->_table = 'billfish_tagrecord';
|
||||||
|
$this->_pk = 'id';
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insert_data($setarr,$appid){
|
||||||
|
if($id = DB::result_first("select id from %t where lid=%d and appid = %s",array($this->_table,$setarr['lid'],$appid))){
|
||||||
|
parent::update($id,array('name'=>$setarr['name']));
|
||||||
|
}else{
|
||||||
|
$setarr['appid'] = $appid;
|
||||||
|
parent::insert($setarr);
|
||||||
|
}
|
||||||
|
if($tid= DB::result_first("select tid from %t where tagname = %s",array('pichome_tag',$setarr['name']))){
|
||||||
|
return array('lid'=>$setarr['lid'],'tid'=>$tid);
|
||||||
|
}else{
|
||||||
|
$tid = C::t('pichome_tag')->insert($setarr['name']);
|
||||||
|
}
|
||||||
|
return array('tid'=>$tid,'lid'=>$setarr['lid']);
|
||||||
|
}
|
||||||
|
public function delete_by_appid($appid){
|
||||||
|
DB::delete($this->_table,array('appid'=>$appid));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
38
dzz/billfish/classes/getpichomethumb.php
Normal file
38
dzz/billfish/classes/getpichomethumb.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\billfish\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
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 (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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
23
dzz/billfish/classes/pichomevappdelete.php
Normal file
23
dzz/billfish/classes/pichomevappdelete.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\billfish\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class pichomevappdelete
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run($appid)
|
||||||
|
{
|
||||||
|
C::t("#billfish#billfish_record")->delete_by_appid($appid);
|
||||||
|
C::t("#billfish#billfish_folderrecord")->delete_by_appid($appid);
|
||||||
|
C::t("#billfish#billfish_tagrecord")->delete_by_appid($appid);
|
||||||
|
C::t("#billfish#billfish_taggrouprecord")->delete_by_appid($appid);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
157
dzz/ffmpeg/class/class_fmpeg.php
Normal file
157
dzz/ffmpeg/class/class_fmpeg.php
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
|
||||||
|
* @license https://www.oaooa.com/licenses/
|
||||||
|
*
|
||||||
|
* @link https://www.oaooa.com
|
||||||
|
* @author zyx(zyx@oaooa.com)
|
||||||
|
*/
|
||||||
|
require_once DZZ_ROOT . './dzz/ffmpeg/vendor/autoload.php';
|
||||||
|
require_once(DZZ_ROOT . './dzz/class/class_encode.php');
|
||||||
|
|
||||||
|
class fmpeg
|
||||||
|
{
|
||||||
|
private $fm;
|
||||||
|
private $logger = NULL;
|
||||||
|
|
||||||
|
public function __construct($options = array())
|
||||||
|
{
|
||||||
|
|
||||||
|
$option = array(
|
||||||
|
'ffmpeg.binaries' =>(getglobal('config/pichomeffmpegposition')) ? getglobal('config/pichomeffmpegposition'):(strstr(PHP_OS, 'WIN') ? DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffmpeg.exe' : '/usr/bin/ffmpeg'),
|
||||||
|
'ffprobe.binaries' => (getglobal('config/pichomeffprobeposition')) ? (getglobal('config/pichomeffprobeposition')):(strstr(PHP_OS, 'WIN') ? DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffprobe.exe' : '/usr/bin/ffprobe'),
|
||||||
|
'timeout' => 3600, // The timeout for the underlying process
|
||||||
|
'ffmpeg.threads' => 1, // The number of threads that FFMpeg should use
|
||||||
|
);
|
||||||
|
$this->fm = FFMpeg\FFMpeg::create($option, $this->logger);
|
||||||
|
return $this->fm;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo($data)
|
||||||
|
{
|
||||||
|
|
||||||
|
$option = array(
|
||||||
|
'ffmpeg.binaries' =>(getglobal('config/pichomeffmpegposition')) ? getglobal('config/pichomeffmpegposition'):(strstr(PHP_OS, 'WIN') ? DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffmpeg.exe' : '/usr/bin/ffmpeg'),
|
||||||
|
'ffprobe.binaries' => (getglobal('config/pichomeffprobeposition')) ? (getglobal('config/pichomeffprobeposition')):(strstr(PHP_OS, 'WIN') ? DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffprobe.exe' : '/usr/bin/ffprobe'),
|
||||||
|
'timeout' => 3600, // The timeout for the underlying process
|
||||||
|
'ffmpeg.threads' => 1, // The number of threads that FFMpeg should use
|
||||||
|
);
|
||||||
|
$file = $path = $data['realpath'];
|
||||||
|
if (!is_file($file)) {
|
||||||
|
$cachepath = getglobal('setting/attachdir') . 'cache/ffmpeg_cahce_' . md5($path) . '.' . $data['ext'];
|
||||||
|
if (!file_put_contents($cachepath, file_get_contents($file))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$file = $cachepath;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ffprobe = FFMpeg\FFProbe::create($option, null);
|
||||||
|
|
||||||
|
if ('audio' == getTypeByExt($data['ext'])) {
|
||||||
|
$meta = $ffprobe
|
||||||
|
->streams($file) // extracts streams informations
|
||||||
|
->audios() // filters video streams
|
||||||
|
->first();
|
||||||
|
$info = array();
|
||||||
|
if ($meta) {
|
||||||
|
$info = array(
|
||||||
|
'duration' => round($meta->get('duration'), 2),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$meta = $ffprobe
|
||||||
|
->streams($file) // extracts streams informations
|
||||||
|
->videos() // filters video streams
|
||||||
|
->first();
|
||||||
|
$info = array();
|
||||||
|
if ($meta) {
|
||||||
|
$info = array(
|
||||||
|
'width' => intval($meta->get('width')),
|
||||||
|
'height' => intval($meta->get('height')),
|
||||||
|
'duration' => round($meta->get('duration'), 2),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cachepath) @unlink($cachepath);
|
||||||
|
return $info;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 获取缩略图
|
||||||
|
$file:文件地址
|
||||||
|
$time:获取缩略图的时间点单位秒
|
||||||
|
*/
|
||||||
|
public function getThumb($data,$time = 1)
|
||||||
|
{
|
||||||
|
global $_G;
|
||||||
|
|
||||||
|
$file = $data['realpath'];
|
||||||
|
//本地路径
|
||||||
|
if (!is_file($file)) {
|
||||||
|
$cachefile = $_G['setting']['attachdir'] . './cache/' . md5($data['path']) . '.' . $data['ext'];
|
||||||
|
$handle = fopen($cachefile, 'w+');
|
||||||
|
$fp = fopen($file, 'rb');
|
||||||
|
while (!feof($fp)) {
|
||||||
|
fwrite($handle, fread($fp, 8192));
|
||||||
|
}
|
||||||
|
fclose($handle);
|
||||||
|
fclose($fp);
|
||||||
|
$file = $cachefile;
|
||||||
|
}
|
||||||
|
if ('audio' == getTypeByExt($data['ext'])) {
|
||||||
|
$target = md5($data['path']) . '.jpg';
|
||||||
|
|
||||||
|
$jpg = $_G['setting']['attachdir'] . './pichomethumb/' . $data['appid'] . '/' . $target;
|
||||||
|
$jpgpath = dirname($jpg);
|
||||||
|
dmkdir($jpgpath);
|
||||||
|
if (!in_array($data['ext'], array('mp3', 'wav'))) {
|
||||||
|
$audio = $this->fm->open($file);
|
||||||
|
$audio_format = new FFMpeg\Format\Audio\Mp3();
|
||||||
|
$tmp = $_G['setting']['attachdir'] . './cache/' . md5($file) . '.mp3';
|
||||||
|
$audio->save($audio_format, $tmp);
|
||||||
|
}
|
||||||
|
$audio = $this->fm->open($tmp ? $tmp : $file);
|
||||||
|
|
||||||
|
$waveform = $audio->waveform(720, 360, array('#888888'));
|
||||||
|
$waveform->save($jpg);
|
||||||
|
if ($tmp) @unlink($tmp);
|
||||||
|
} else {
|
||||||
|
$target = md5($data['path']) . '.jpg';
|
||||||
|
$jpg = $_G['setting']['attachdir'] . './pichomethumb/' . $data['appid'] . '/' . $target;
|
||||||
|
$jpgpath = dirname($jpg);
|
||||||
|
dmkdir($jpgpath);
|
||||||
|
|
||||||
|
try {
|
||||||
|
$video = $this->fm->open($file);
|
||||||
|
$video
|
||||||
|
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($time))
|
||||||
|
->save($jpg);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
runlog('ffmpeg', $e->getMessage() . ' File:' . $file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($cachefile) @unlink($cachefile);
|
||||||
|
if (is_file($jpg)) {
|
||||||
|
return $jpg;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//兼容linux下获取文件名
|
||||||
|
public function get_basename($filename)
|
||||||
|
{
|
||||||
|
if ($filename) {
|
||||||
|
return preg_replace('/^.+[\\\\\\/]/', '', $filename);
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
53
dzz/ffmpeg/classes/info.php
Normal file
53
dzz/ffmpeg/classes/info.php
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\ffmpeg\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class info
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run(&$data)
|
||||||
|
{
|
||||||
|
$exts = (getglobal('config/pichomeffmpeggetvieoinoext')) ? getglobal('config/pichomeffmpeggetvieoinoext'):[
|
||||||
|
'avi', 'rm', 'rmvb', 'mkv', 'mov', 'wmv', 'asf', 'mpg', 'mpe', 'mpeg', 'mp4', 'm4v', 'mpeg', 'f4v', 'vob', 'ogv', 'mts', 'm2ts',
|
||||||
|
'3gp', 'webm', 'flv', 'wav', 'mp3', 'ogg', 'midi', 'wma', 'vqf', 'ra', 'aac', 'flac', 'ape', 'amr', 'aiff', 'au', 'm4a'
|
||||||
|
];
|
||||||
|
$data['ext'] = strtolower($data['ext']);
|
||||||
|
if (empty($data['ext']) || !in_array($data['ext'], $exts)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
$ffprobeposition = getglobal('config/pichomeffprobeposition') ? getglobal('config/pichomeffprobeposition'):(strstr(PHP_OS, 'WIN')?DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffprobe.exe':'/usr/bin/ffprobe');
|
||||||
|
|
||||||
|
if(!is_file($ffprobeposition)) return ;
|
||||||
|
|
||||||
|
$setarr = [
|
||||||
|
'rid'=>$data['rid'],
|
||||||
|
'appid'=>$data['appid'],
|
||||||
|
'ext'=>$data['ext']
|
||||||
|
];
|
||||||
|
$isforce = (isset($setarr['isforce'])) ? 1:0;
|
||||||
|
|
||||||
|
C::t('pichome_ffmpeg_record')->insert($setarr,$isforce);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rundata($data)
|
||||||
|
{
|
||||||
|
require_once DZZ_ROOT . './dzz/ffmpeg/class/class_fmpeg.php';
|
||||||
|
try {
|
||||||
|
if ($info = fmpeg::getInfo($data)) {
|
||||||
|
|
||||||
|
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']));
|
||||||
|
C::t('pichome_ffmpeg_record')->update($data['rid'],array('infostatus'=>1));
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
runlog('ffmpeg', $e->getMessage() . 'rid:' . $data['rid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
64
dzz/ffmpeg/classes/thumb.php
Normal file
64
dzz/ffmpeg/classes/thumb.php
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace dzz\ffmpeg\classes;
|
||||||
|
|
||||||
|
use \core as C;
|
||||||
|
use \DB as DB;
|
||||||
|
use \fmpeg as fmpeg;
|
||||||
|
|
||||||
|
class thumb
|
||||||
|
{
|
||||||
|
|
||||||
|
public function run(&$data)
|
||||||
|
{
|
||||||
|
$exts = (getglobal('config/pichomeffmpeggetthumbext')) ? getglobal('config/pichomeffmpeggetvieoinoext'):[
|
||||||
|
'avi', 'rm', 'rmvb', 'mkv', 'mov', 'wmv', 'asf', 'mpg', 'mpe', 'mpeg', 'mp4', 'm4v', 'mpeg', 'f4v', 'vob', 'ogv', 'mts', 'm2ts',
|
||||||
|
'3gp', 'webm', 'flv', 'wav', 'mp3', 'ogg', 'midi', 'wma', 'vqf', 'ra', 'aac', 'flac', 'ape', 'amr', 'aiff', 'au', 'm4a'
|
||||||
|
];
|
||||||
|
$data['ext'] = strtolower($data['ext']);
|
||||||
|
if (empty($data['ext']) || !in_array($data['ext'], $exts)) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if(strstr(PHP_OS, 'WIN') && !is_file(DZZ_ROOT . 'dzz\ffmpeg\ffmpeg\ffprobe.exe')){
|
||||||
|
return ;
|
||||||
|
}elseif(!is_file('/usr/bin/ffprobe')){
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
$setarr = [
|
||||||
|
'rid'=>$data['rid'],
|
||||||
|
'appid'=>$data['appid'],
|
||||||
|
'ext'=>$data['ext']
|
||||||
|
];
|
||||||
|
$isforce = (isset($setarr['isforce'])) ? 1:0;
|
||||||
|
|
||||||
|
C::t('pichome_ffmpeg_record')->insert($setarr,$isforce);
|
||||||
|
//dfsockopen(getglobal('localurl') . 'index.php?mod=ffmpeg&op=getinfo&path=' . dzzencode($data['rid']), 0, '', '', false, '', 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rundata(&$data)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
require_once DZZ_ROOT . './dzz/ffmpeg/class/class_fmpeg.php';
|
||||||
|
$fm = new fmpeg();
|
||||||
|
if ($data['Duration']) {
|
||||||
|
$start = ceil($data['duration'] / 5);
|
||||||
|
} else {
|
||||||
|
$start = 1;
|
||||||
|
}
|
||||||
|
if ($target = $fm->getThumb($data, $start)) {
|
||||||
|
if ($imginfo = getimagesize($target)) {
|
||||||
|
$resourcesarr = [
|
||||||
|
'width' => $imginfo[0] ? $imginfo[0]:0,
|
||||||
|
'height' =>$imginfo[1] ? $imginfo[1]:0
|
||||||
|
];
|
||||||
|
C::t('pichome_resources')->update($data['rid'],$resourcesarr);
|
||||||
|
C::t('pichome_resources')->update($data['rid'], array('hasthumb' => 1));
|
||||||
|
C::t('pichome_ffmpeg_record')->update($data['rid'], array('thumbstatus' => 1,'thumb'=>$target));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
6
dzz/ffmpeg/composer.json
Normal file
6
dzz/ffmpeg/composer.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"require": {
|
||||||
|
"php-ffmpeg/php-ffmpeg": "^0.9.3",
|
||||||
|
"php-ffmpeg/extras": "^0.3.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
650
dzz/ffmpeg/composer.lock
generated
Normal file
650
dzz/ffmpeg/composer.lock
generated
Normal file
@@ -0,0 +1,650 @@
|
|||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "79c0351ad302ceea820d708f203ad405",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "alchemy/binary-driver",
|
||||||
|
"version": "1.6.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/alchemy-fr/BinaryDriver.git",
|
||||||
|
"reference": "80c6633890afb71d2417ae851d0ad167d8b00b95"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/alchemy-fr/BinaryDriver/zipball/80c6633890afb71d2417ae851d0ad167d8b00b95",
|
||||||
|
"reference": "80c6633890afb71d2417ae851d0ad167d8b00b95",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"evenement/evenement": "^2.0|^1.0",
|
||||||
|
"monolog/monolog": "^1.3",
|
||||||
|
"php": ">=5.5",
|
||||||
|
"psr/log": "^1.0",
|
||||||
|
"symfony/process": "^2.0|^3.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.0|^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Alchemy": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Romain Neutron",
|
||||||
|
"email": "imprec@gmail.com",
|
||||||
|
"homepage": "http://www.lickmychip.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Phraseanet Team",
|
||||||
|
"email": "info@alchemy.fr",
|
||||||
|
"homepage": "http://www.phraseanet.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Nicolas Le Goff",
|
||||||
|
"email": "legoff.n@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A set of tools to build binary drivers",
|
||||||
|
"keywords": [
|
||||||
|
"binary",
|
||||||
|
"driver"
|
||||||
|
],
|
||||||
|
"time": "2016-03-02T13:49:15+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "doctrine/cache",
|
||||||
|
"version": "v1.8.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/doctrine/cache.git",
|
||||||
|
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
|
||||||
|
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "~7.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"doctrine/common": ">2.2,<2.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"alcaeus/mongo-php-adapter": "^1.1",
|
||||||
|
"doctrine/coding-standard": "^4.0",
|
||||||
|
"mongodb/mongodb": "^1.1",
|
||||||
|
"phpunit/phpunit": "^7.0",
|
||||||
|
"predis/predis": "~1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.8.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Roman Borschel",
|
||||||
|
"email": "roman@code-factory.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Benjamin Eberlei",
|
||||||
|
"email": "kontakt@beberlei.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guilherme Blanco",
|
||||||
|
"email": "guilhermeblanco@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jonathan Wage",
|
||||||
|
"email": "jonwage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Johannes Schmitt",
|
||||||
|
"email": "schmittjoh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Caching library offering an object-oriented API for many cache backends",
|
||||||
|
"homepage": "https://www.doctrine-project.org",
|
||||||
|
"keywords": [
|
||||||
|
"cache",
|
||||||
|
"caching"
|
||||||
|
],
|
||||||
|
"time": "2018-08-21T18:01:43+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "evenement/evenement",
|
||||||
|
"version": "v2.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/igorw/evenement.git",
|
||||||
|
"reference": "6ba9a777870ab49f417e703229d53931ed40fd7a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/igorw/evenement/zipball/6ba9a777870ab49f417e703229d53931ed40fd7a",
|
||||||
|
"reference": "6ba9a777870ab49f417e703229d53931ed40fd7a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.4.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^6.0||^5.7||^4.8.35"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Evenement": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Igor Wiedler",
|
||||||
|
"email": "igor@wiedler.ch"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Événement is a very simple event dispatching library for PHP",
|
||||||
|
"keywords": [
|
||||||
|
"event-dispatcher",
|
||||||
|
"event-emitter"
|
||||||
|
],
|
||||||
|
"time": "2017-07-17T17:39:19+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "monolog/monolog",
|
||||||
|
"version": "1.24.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Seldaek/monolog.git",
|
||||||
|
"reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
|
||||||
|
"reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0",
|
||||||
|
"psr/log": "~1.0"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/log-implementation": "1.0.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
||||||
|
"doctrine/couchdb": "~1.0@dev",
|
||||||
|
"graylog2/gelf-php": "~1.0",
|
||||||
|
"jakub-onderka/php-parallel-lint": "0.9",
|
||||||
|
"php-amqplib/php-amqplib": "~2.4",
|
||||||
|
"php-console/php-console": "^3.1.3",
|
||||||
|
"phpunit/phpunit": "~4.5",
|
||||||
|
"phpunit/phpunit-mock-objects": "2.3.0",
|
||||||
|
"ruflin/elastica": ">=0.90 <3.0",
|
||||||
|
"sentry/sentry": "^0.13",
|
||||||
|
"swiftmailer/swiftmailer": "^5.3|^6.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
||||||
|
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
||||||
|
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
||||||
|
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
||||||
|
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
||||||
|
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
||||||
|
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
||||||
|
"php-console/php-console": "Allow sending log messages to Google Chrome",
|
||||||
|
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
||||||
|
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
||||||
|
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Monolog\\": "src/Monolog"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jordi Boggiano",
|
||||||
|
"email": "j.boggiano@seld.be",
|
||||||
|
"homepage": "http://seld.be"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
||||||
|
"homepage": "http://github.com/Seldaek/monolog",
|
||||||
|
"keywords": [
|
||||||
|
"log",
|
||||||
|
"logging",
|
||||||
|
"psr-3"
|
||||||
|
],
|
||||||
|
"time": "2018-11-05T09:00:11+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "neutron/temporary-filesystem",
|
||||||
|
"version": "2.3.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/romainneutron/Temporary-Filesystem.git",
|
||||||
|
"reference": "694aa3885f653dd429584e825ffbab79441d285f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/romainneutron/Temporary-Filesystem/zipball/694aa3885f653dd429584e825ffbab79441d285f",
|
||||||
|
"reference": "694aa3885f653dd429584e825ffbab79441d285f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.6 || ^7.0",
|
||||||
|
"symfony/filesystem": "^2.3 || ^3.0 || ^4.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Neutron": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Romain Neutron",
|
||||||
|
"email": "imprec@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony filesystem extension to handle temporary files",
|
||||||
|
"time": "2018-02-07T21:11:57+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "php-ffmpeg/extras",
|
||||||
|
"version": "0.3.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/alchemy-fr/PHP-FFMpeg-Extras.git",
|
||||||
|
"reference": "4b3f87467e27c828641c3361ad395492775ab98c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/alchemy-fr/PHP-FFMpeg-Extras/zipball/4b3f87467e27c828641c3361ad395492775ab98c",
|
||||||
|
"reference": "4b3f87467e27c828641c3361ad395492775ab98c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2",
|
||||||
|
"php-ffmpeg/php-ffmpeg": "~0.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "~3.7",
|
||||||
|
"sami/sami": "~1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "0.3-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"FFMpeg": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Alchemy",
|
||||||
|
"email": "dev.team@alchemy.fr",
|
||||||
|
"homepage": "http://www.alchemy.fr/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A set of audio/video formats compatible with PHP-FFMpeg",
|
||||||
|
"keywords": [
|
||||||
|
"codecs",
|
||||||
|
"ffmpeg"
|
||||||
|
],
|
||||||
|
"time": "2014-02-24T10:48:44+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "php-ffmpeg/php-ffmpeg",
|
||||||
|
"version": "0.9.5",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/PHP-FFMpeg/PHP-FFMpeg.git",
|
||||||
|
"reference": "96225b2dff65a4c3b0b541f2420742ffe5851127"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/96225b2dff65a4c3b0b541f2420742ffe5851127",
|
||||||
|
"reference": "96225b2dff65a4c3b0b541f2420742ffe5851127",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"alchemy/binary-driver": "^1.5",
|
||||||
|
"doctrine/cache": "^1.0",
|
||||||
|
"evenement/evenement": "^2.0 || ^1.0",
|
||||||
|
"neutron/temporary-filesystem": "^2.1.1",
|
||||||
|
"php": "^5.3.9 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.8",
|
||||||
|
"sami/sami": "~1.0",
|
||||||
|
"silex/silex": "~1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"php-ffmpeg/extras": "A compilation of common audio & video drivers for PHP-FFMpeg"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "0.7-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"FFMpeg": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Romain Neutron",
|
||||||
|
"email": "imprec@gmail.com",
|
||||||
|
"homepage": "http://www.lickmychip.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Phraseanet Team",
|
||||||
|
"email": "info@alchemy.fr",
|
||||||
|
"homepage": "http://www.phraseanet.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Patrik Karisch",
|
||||||
|
"email": "patrik@karisch.guru",
|
||||||
|
"homepage": "http://www.karisch.guru"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Romain Biard",
|
||||||
|
"email": "romain.biard@gmail.com",
|
||||||
|
"homepage": "https://www.strime.io/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg",
|
||||||
|
"keywords": [
|
||||||
|
"audio",
|
||||||
|
"audio processing",
|
||||||
|
"avconv",
|
||||||
|
"avprobe",
|
||||||
|
"ffmpeg",
|
||||||
|
"ffprobe",
|
||||||
|
"video",
|
||||||
|
"video processing"
|
||||||
|
],
|
||||||
|
"time": "2017-06-30T19:27:10+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psr/log",
|
||||||
|
"version": "1.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/php-fig/log.git",
|
||||||
|
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
||||||
|
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Psr\\Log\\": "Psr/Log/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "PHP-FIG",
|
||||||
|
"homepage": "http://www.php-fig.org/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Common interface for logging libraries",
|
||||||
|
"homepage": "https://github.com/php-fig/log",
|
||||||
|
"keywords": [
|
||||||
|
"log",
|
||||||
|
"psr",
|
||||||
|
"psr-3"
|
||||||
|
],
|
||||||
|
"time": "2018-11-20T15:27:04+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/filesystem",
|
||||||
|
"version": "v4.2.8",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
|
"reference": "e16b9e471703b2c60b95f14d31c1239f68f11601"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601",
|
||||||
|
"reference": "e16b9e471703b2c60b95f14d31c1239f68f11601",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"symfony/polyfill-ctype": "~1.8"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.2-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Filesystem\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Filesystem Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2019-02-07T11:40:08+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-ctype",
|
||||||
|
"version": "v1.11.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||||
|
"reference": "82ebae02209c21113908c229e9883c419720738a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a",
|
||||||
|
"reference": "82ebae02209c21113908c229e9883c419720738a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-ctype": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.11-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Ctype\\": ""
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gert de Pagter",
|
||||||
|
"email": "BackEndTea@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for ctype functions",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"ctype",
|
||||||
|
"polyfill",
|
||||||
|
"portable"
|
||||||
|
],
|
||||||
|
"time": "2019-02-06T07:57:58+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/process",
|
||||||
|
"version": "v3.4.27",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/process.git",
|
||||||
|
"reference": "a9c4dfbf653023b668c282e4e02609d131f4057a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/process/zipball/a9c4dfbf653023b668c282e4e02609d131f4057a",
|
||||||
|
"reference": "a9c4dfbf653023b668c282e4e02609d131f4057a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.5.9|>=7.0.8"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Process\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Process Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"time": "2019-04-08T16:15:54+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": [],
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": [],
|
||||||
|
"platform-dev": []
|
||||||
|
}
|
||||||
40
dzz/ffmpeg/convert.php
Normal file
40
dzz/ffmpeg/convert.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
|
||||||
|
* @license https://www.oaooa.com/licenses/
|
||||||
|
*
|
||||||
|
* @link https://www.oaooa.com
|
||||||
|
* @author zyx(zyx@oaooa.com)
|
||||||
|
*/
|
||||||
|
ignore_user_abort(true);
|
||||||
|
@set_time_limit(0);
|
||||||
|
if(!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
$setting = C::t('setting')->fetch('ffmpeg_setting',true);
|
||||||
|
if($setting['upload_convert_immediately']>1){
|
||||||
|
exit('admin set not convert!');
|
||||||
|
}
|
||||||
|
include_once dzz_libfile('ffmpeg');
|
||||||
|
$max=10;
|
||||||
|
$time=TIMESTAMP-60*60*5;
|
||||||
|
if($max<=DB::result_first("select COUNT(*) from %t where percent>0 and percent<100 and dateline>%d",array('video_record',$time))){
|
||||||
|
exit('Over the maximum load, please wait a moment.');
|
||||||
|
}
|
||||||
|
$id=intval($_GET['id']);
|
||||||
|
|
||||||
|
if(!$ff=C::t('video_record')->fetch($id)){
|
||||||
|
exit('convert error');
|
||||||
|
}
|
||||||
|
if(dzz_process::islocked('ffmpeg_convert_'.$id,60*60)){
|
||||||
|
exit('converting!');
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ff['status']==2){
|
||||||
|
dzz_process::unlock('ffmpeg_convert_'.$id);
|
||||||
|
exit('convert completed');
|
||||||
|
}
|
||||||
|
$fm=new fmpeg($setting);
|
||||||
|
$ret=$fm->convert($ff['aid'],$ff['format']);
|
||||||
|
dzz_process::unlock('ffmpeg_convert_'.$id);
|
||||||
|
exit('success');
|
||||||
BIN
dzz/ffmpeg/ffmpeg/avcodec-57.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/avcodec-57.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/avdevice-57.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/avdevice-57.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/avfilter-6.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/avfilter-6.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/avformat-57.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/avformat-57.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/avutil-55.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/avutil-55.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/ffmpeg.exe
Normal file
BIN
dzz/ffmpeg/ffmpeg/ffmpeg.exe
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/ffplay.exe
Normal file
BIN
dzz/ffmpeg/ffmpeg/ffplay.exe
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/ffprobe.exe
Normal file
BIN
dzz/ffmpeg/ffmpeg/ffprobe.exe
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/postproc-54.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/postproc-54.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/swresample-2.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/swresample-2.dll
Normal file
Binary file not shown.
BIN
dzz/ffmpeg/ffmpeg/swscale-4.dll
Normal file
BIN
dzz/ffmpeg/ffmpeg/swscale-4.dll
Normal file
Binary file not shown.
71
dzz/ffmpeg/getinfo.php
Normal file
71
dzz/ffmpeg/getinfo.php
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
ignore_user_abort(true);
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@set_time_limit(0);
|
||||||
|
ini_set('memory_limit', -1);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
$appids = [];
|
||||||
|
foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d",array('pichome_vapp',1,1)) as $v){
|
||||||
|
$appids[] = $v['appid'];
|
||||||
|
}
|
||||||
|
if(empty($appids)){
|
||||||
|
exit('success');
|
||||||
|
}
|
||||||
|
$locked = true;
|
||||||
|
for($i=0;$i<1;$i++){
|
||||||
|
$processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i;
|
||||||
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
|
$locked=false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$processname = 'DZZ_LOCK_PICHOMEGETINFO'.$i;
|
||||||
|
$limit = 10;
|
||||||
|
$start=$i*$limit;
|
||||||
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
|
$locked=false;
|
||||||
|
}
|
||||||
|
if ($locked) {
|
||||||
|
exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
|
||||||
|
}
|
||||||
|
use dzz\ffmpeg\classes\info as info;
|
||||||
|
|
||||||
|
$info =new info;
|
||||||
|
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)){
|
||||||
|
C::t('pichome_ffmpeg_record')->delete($v['rid']);
|
||||||
|
dzz_process::unlock($processname1);
|
||||||
|
continue;
|
||||||
|
}else{
|
||||||
|
//如果信息执行次数大于三次,直接赋值为1,不再尝试获取
|
||||||
|
if($v['infodonum'] > 3 && $v['infostatus'] == 0){
|
||||||
|
$v['infostatus'] = 1;
|
||||||
|
C::t('pichome_ffmpeg_record')->update($v['rid'],array('infostatus'=>1));
|
||||||
|
dzz_process::unlock($processname1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//如果信息和缩略图标记为已生成,标记该文件信息状态为已获取
|
||||||
|
if($v['thumbstatus'] == 1 && $v['infostatus'] == 1){
|
||||||
|
C::t('pichome_resources_attr')->update($v['rid'],array('isget'=>1));
|
||||||
|
dzz_process::unlock($processname1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
DB::query("update %t set infodonum=infodonum+%d where rid = %s ", array('pichome_ffmpeg_record', 1, $data['rid']));
|
||||||
|
$info->rundata($data);
|
||||||
|
dzz_process::unlock($processname1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dzz_process::unlock($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');
|
||||||
77
dzz/ffmpeg/thumb.php
Normal file
77
dzz/ffmpeg/thumb.php
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: 86187
|
||||||
|
* Date: 2020/3/7
|
||||||
|
* Time: 15:53
|
||||||
|
*/
|
||||||
|
ignore_user_abort(true);
|
||||||
|
if (!defined('IN_OAOOA')) {
|
||||||
|
exit('Access Denied');
|
||||||
|
}
|
||||||
|
@set_time_limit(0);
|
||||||
|
ini_set('memory_limit', -1);
|
||||||
|
@ini_set('max_execution_time', 0);
|
||||||
|
$appids = [];
|
||||||
|
foreach(DB::fetch_all("select appid from %t where `type` = %d and getinfo = %d",array('pichome_vapp',1,1)) as $v){
|
||||||
|
$appids[] = $v['appid'];
|
||||||
|
}
|
||||||
|
if(empty($appids)){
|
||||||
|
exit('success');
|
||||||
|
}
|
||||||
|
$locked = true;
|
||||||
|
for($i=0;$i<1;$i++){
|
||||||
|
$processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i;
|
||||||
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
|
$locked=false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$processname = 'DZZ_LOCK_PICHOMEGETVIDOTHUMB'.$i;
|
||||||
|
$limit = 10;
|
||||||
|
$start=$i*$limit;
|
||||||
|
if (!dzz_process::islocked($processname, 60*60)) {
|
||||||
|
$locked=false;
|
||||||
|
}
|
||||||
|
if ($locked) {
|
||||||
|
exit(json_encode( array('error'=>'进程已被锁定请稍后再试')));
|
||||||
|
}
|
||||||
|
use dzz\ffmpeg\classes\thumb as thumb;
|
||||||
|
|
||||||
|
$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']);
|
||||||
|
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){
|
||||||
|
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);
|
||||||
|
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');
|
||||||
21
dzz/ffmpeg/vendor/alchemy/binary-driver/LICENSE
vendored
Normal file
21
dzz/ffmpeg/vendor/alchemy/binary-driver/LICENSE
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
BinaryDriver is released with MIT License :
|
||||||
|
|
||||||
|
Copyright (c) 2013 Alchemy
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
||||||
219
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
vendored
Normal file
219
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
vendored
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
use Alchemy\BinaryDriver\Exception\ExecutableNotFoundException;
|
||||||
|
use Alchemy\BinaryDriver\Exception\ExecutionFailureException;
|
||||||
|
use Alchemy\BinaryDriver\Listeners\Listeners;
|
||||||
|
use Alchemy\BinaryDriver\Listeners\ListenerInterface;
|
||||||
|
use Evenement\EventEmitter;
|
||||||
|
use Monolog\Logger;
|
||||||
|
use Monolog\Handler\NullHandler;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
use Symfony\Component\Process\ExecutableFinder;
|
||||||
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
|
abstract class AbstractBinary extends EventEmitter implements BinaryInterface
|
||||||
|
{
|
||||||
|
/** @var ConfigurationInterface */
|
||||||
|
protected $configuration;
|
||||||
|
|
||||||
|
/** @var ProcessBuilderFactoryInterface */
|
||||||
|
protected $factory;
|
||||||
|
|
||||||
|
/** @var ProcessRunner */
|
||||||
|
private $processRunner;
|
||||||
|
|
||||||
|
/** @var Listeners */
|
||||||
|
private $listenersManager;
|
||||||
|
|
||||||
|
public function __construct(ProcessBuilderFactoryInterface $factory, LoggerInterface $logger, ConfigurationInterface $configuration)
|
||||||
|
{
|
||||||
|
$this->factory = $factory;
|
||||||
|
$this->configuration = $configuration;
|
||||||
|
$this->processRunner = new ProcessRunner($logger, $this->getName());
|
||||||
|
$this->listenersManager = new Listeners();
|
||||||
|
$this->applyProcessConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function listen(ListenerInterface $listener)
|
||||||
|
{
|
||||||
|
$this->listenersManager->register($listener, $this);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function unlisten(ListenerInterface $listener)
|
||||||
|
{
|
||||||
|
$this->listenersManager->unregister($listener, $this);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getConfiguration()
|
||||||
|
{
|
||||||
|
return $this->configuration;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @return BinaryInterface
|
||||||
|
*/
|
||||||
|
public function setConfiguration(ConfigurationInterface $configuration)
|
||||||
|
{
|
||||||
|
$this->configuration = $configuration;
|
||||||
|
$this->applyProcessConfiguration();
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getProcessBuilderFactory()
|
||||||
|
{
|
||||||
|
return $this->factory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @return BinaryInterface
|
||||||
|
*/
|
||||||
|
public function setProcessBuilderFactory(ProcessBuilderFactoryInterface $factory)
|
||||||
|
{
|
||||||
|
$this->factory = $factory;
|
||||||
|
$this->applyProcessConfiguration();
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getProcessRunner()
|
||||||
|
{
|
||||||
|
return $this->processRunner;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function setProcessRunner(ProcessRunnerInterface $runner)
|
||||||
|
{
|
||||||
|
$this->processRunner = $runner;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function command($command, $bypassErrors = false, $listeners = null)
|
||||||
|
{
|
||||||
|
if (!is_array($command)) {
|
||||||
|
$command = array($command);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->run($this->factory->create($command), $bypassErrors, $listeners);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public static function load($binaries, LoggerInterface $logger = null, $configuration = array())
|
||||||
|
{
|
||||||
|
$finder = new ExecutableFinder();
|
||||||
|
$binary = null;
|
||||||
|
$binaries = is_array($binaries) ? $binaries : array($binaries);
|
||||||
|
|
||||||
|
foreach ($binaries as $candidate) {
|
||||||
|
if (file_exists($candidate) && is_executable($candidate)) {
|
||||||
|
$binary = $candidate;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (null !== $binary = $finder->find($candidate)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null === $binary) {
|
||||||
|
throw new ExecutableNotFoundException(sprintf(
|
||||||
|
'Executable not found, proposed : %s', implode(', ', $binaries)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null === $logger) {
|
||||||
|
$logger = new Logger(__NAMESPACE__ . ' logger');
|
||||||
|
$logger->pushHandler(new NullHandler());
|
||||||
|
}
|
||||||
|
$configuration = $configuration instanceof ConfigurationInterface ? $configuration : new Configuration($configuration);
|
||||||
|
|
||||||
|
return new static(new ProcessBuilderFactory($binary), $logger, $configuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of the driver
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
abstract public function getName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes a process, logs events
|
||||||
|
*
|
||||||
|
* @param Process $process
|
||||||
|
* @param Boolean $bypassErrors Set to true to disable throwing ExecutionFailureExceptions
|
||||||
|
* @param ListenerInterface|array $listeners A listener or an array of listener to register for this unique run
|
||||||
|
*
|
||||||
|
* @return string The Process output
|
||||||
|
*
|
||||||
|
* @throws ExecutionFailureException in case of process failure.
|
||||||
|
*/
|
||||||
|
protected function run(Process $process, $bypassErrors = false, $listeners = null)
|
||||||
|
{
|
||||||
|
if (null !== $listeners) {
|
||||||
|
if (!is_array($listeners)) {
|
||||||
|
$listeners = array($listeners);
|
||||||
|
}
|
||||||
|
|
||||||
|
$listenersManager = clone $this->listenersManager;
|
||||||
|
|
||||||
|
foreach ($listeners as $listener) {
|
||||||
|
$listenersManager->register($listener, $this);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$listenersManager = $this->listenersManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->processRunner->run($process, $listenersManager->storage, $bypassErrors);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function applyProcessConfiguration()
|
||||||
|
{
|
||||||
|
if ($this->configuration->has('timeout')) {
|
||||||
|
$this->factory->setTimeout($this->configuration->get('timeout'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
||||||
76
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
vendored
Normal file
76
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
vendored
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenient PHPUnit methods for testing BinaryDriverInterface implementations.
|
||||||
|
*/
|
||||||
|
class BinaryDriverTestCase extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return ProcessBuilderFactoryInterface
|
||||||
|
*/
|
||||||
|
public function createProcessBuilderFactoryMock()
|
||||||
|
{
|
||||||
|
return $this->getMock('Alchemy\BinaryDriver\ProcessBuilderFactoryInterface');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param integer $runs The number of runs expected
|
||||||
|
* @param Boolean $success True if the process expects to be successfull
|
||||||
|
* @param string $commandLine The commandline executed
|
||||||
|
* @param string $output The process output
|
||||||
|
* @param string $error The process error output
|
||||||
|
*
|
||||||
|
* @return Process
|
||||||
|
*/
|
||||||
|
public function createProcessMock($runs = 1, $success = true, $commandLine = null, $output = null, $error = null, $callback = false)
|
||||||
|
{
|
||||||
|
$process = $this->getMockBuilder('Symfony\Component\Process\Process')
|
||||||
|
->disableOriginalConstructor()
|
||||||
|
->getMock();
|
||||||
|
|
||||||
|
$builder = $process->expects($this->exactly($runs))
|
||||||
|
->method('run');
|
||||||
|
|
||||||
|
if (true === $callback) {
|
||||||
|
$builder->with($this->isInstanceOf('Closure'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$process->expects($this->any())
|
||||||
|
->method('isSuccessful')
|
||||||
|
->will($this->returnValue($success));
|
||||||
|
|
||||||
|
foreach (array(
|
||||||
|
'getOutput' => $output,
|
||||||
|
'getErrorOutput' => $error,
|
||||||
|
'getCommandLine' => $commandLine,
|
||||||
|
) as $command => $value) {
|
||||||
|
$process
|
||||||
|
->expects($this->any())
|
||||||
|
->method($command)
|
||||||
|
->will($this->returnValue($value));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $process;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return LoggerInterface
|
||||||
|
*/
|
||||||
|
public function createLoggerMock()
|
||||||
|
{
|
||||||
|
return $this->getMock('Psr\Log\LoggerInterface');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ConfigurationInterface
|
||||||
|
*/
|
||||||
|
public function createConfigurationMock()
|
||||||
|
{
|
||||||
|
return $this->getMock('Alchemy\BinaryDriver\ConfigurationInterface');
|
||||||
|
}
|
||||||
|
}
|
||||||
67
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryInterface.php
vendored
Normal file
67
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryInterface.php
vendored
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
use Alchemy\BinaryDriver\Exception\ExecutableNotFoundException;
|
||||||
|
use Alchemy\BinaryDriver\Exception\ExecutionFailureException;
|
||||||
|
use Alchemy\BinaryDriver\Listeners\ListenerInterface;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
use Evenement\EventEmitterInterface;
|
||||||
|
|
||||||
|
interface BinaryInterface extends ConfigurationAwareInterface, ProcessBuilderFactoryAwareInterface, ProcessRunnerAwareInterface, EventEmitterInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Adds a listener to the binary driver
|
||||||
|
*
|
||||||
|
* @param ListenerInterface $listener
|
||||||
|
*
|
||||||
|
* @return BinaryInterface
|
||||||
|
*/
|
||||||
|
public function listen(ListenerInterface $listener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a listener from the binary driver
|
||||||
|
*
|
||||||
|
* @param ListenerInterface $listener
|
||||||
|
*
|
||||||
|
* @return BinaryInterface
|
||||||
|
*/
|
||||||
|
public function unlisten(ListenerInterface $listener);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs a command against the driver.
|
||||||
|
*
|
||||||
|
* Calling this method on a `ls` driver with the command `-a` would run `ls -a`.
|
||||||
|
*
|
||||||
|
* @param array|string $command A command or an array of command
|
||||||
|
* @param Boolean $bypassErrors If set to true, an erronous process will not throw an exception
|
||||||
|
* @param ListenerInterface|array $listeners A listener or an array of listeners to register for this unique run
|
||||||
|
*
|
||||||
|
* @return string The command output
|
||||||
|
*
|
||||||
|
* @throws ExecutionFailureException in case of process failure.
|
||||||
|
*/
|
||||||
|
public function command($command, $bypassErrors = false, $listeners = null);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads a binary
|
||||||
|
*
|
||||||
|
* @param string|array $binaries A binary name or an array of binary names
|
||||||
|
* @param null|LoggerInterface $logger A Logger
|
||||||
|
* @param array|ConfigurationInterface $configuration The configuration
|
||||||
|
*
|
||||||
|
* @throws ExecutableNotFoundException In case none of the binaries were found
|
||||||
|
*
|
||||||
|
* @return BinaryInterface
|
||||||
|
*/
|
||||||
|
public static function load($binaries, LoggerInterface $logger = null, $configuration = array());
|
||||||
|
}
|
||||||
107
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Configuration.php
vendored
Normal file
107
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Configuration.php
vendored
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
class Configuration implements ConfigurationInterface
|
||||||
|
{
|
||||||
|
private $data;
|
||||||
|
|
||||||
|
public function __construct(array $data = array())
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getIterator()
|
||||||
|
{
|
||||||
|
return new \ArrayIterator($this->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function get($key, $default = null)
|
||||||
|
{
|
||||||
|
return isset($this->data[$key]) ? $this->data[$key] : $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function set($key, $value)
|
||||||
|
{
|
||||||
|
$this->data[$key] = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function has($key)
|
||||||
|
{
|
||||||
|
return array_key_exists($key, $this->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function remove($key)
|
||||||
|
{
|
||||||
|
$value = $this->get($key);
|
||||||
|
unset($this->data[$key]);
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function all()
|
||||||
|
{
|
||||||
|
return $this->data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function offsetExists($offset)
|
||||||
|
{
|
||||||
|
return $this->has($offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function offsetGet($offset)
|
||||||
|
{
|
||||||
|
return $this->get($offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function offsetSet($offset, $value)
|
||||||
|
{
|
||||||
|
$this->set($offset, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function offsetUnset($offset)
|
||||||
|
{
|
||||||
|
$this->remove($offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
29
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationAwareInterface.php
vendored
Normal file
29
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationAwareInterface.php
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
interface ConfigurationAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns the configuration
|
||||||
|
*
|
||||||
|
* @return ConfigurationInterface
|
||||||
|
*/
|
||||||
|
public function getConfiguration();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the configuration
|
||||||
|
*
|
||||||
|
* @param ConfigurationInterface $configuration
|
||||||
|
*/
|
||||||
|
public function setConfiguration(ConfigurationInterface $configuration);
|
||||||
|
}
|
||||||
58
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationInterface.php
vendored
Normal file
58
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationInterface.php
vendored
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver;
|
||||||
|
|
||||||
|
interface ConfigurationInterface extends \ArrayAccess, \IteratorAggregate
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns the value given a key from configuration
|
||||||
|
*
|
||||||
|
* @param string $key
|
||||||
|
* @param mixed $default The default value in case the key does not exist
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function get($key, $default = null);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a value to configuration
|
||||||
|
*
|
||||||
|
* @param string $key The key
|
||||||
|
* @param mixed $value The value corresponding to the key
|
||||||
|
*/
|
||||||
|
public function set($key, $value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if Configuration contains `$key`
|
||||||
|
*
|
||||||
|
* @param string $key
|
||||||
|
*
|
||||||
|
* @return Boolean
|
||||||
|
*/
|
||||||
|
public function has($key);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a value given a key
|
||||||
|
*
|
||||||
|
* @param string $key
|
||||||
|
*
|
||||||
|
* @return mixed The previous value
|
||||||
|
*/
|
||||||
|
public function remove($key);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all values set in the configuration
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function all();
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver\Exception;
|
||||||
|
|
||||||
|
interface ExceptionInterface
|
||||||
|
{
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Alchemy\BinaryDriver.
|
||||||
|
*
|
||||||
|
* (c) Alchemy <info@alchemy.fr>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver\Exception;
|
||||||
|
|
||||||
|
class ExecutableNotFoundException extends \RuntimeException implements ExceptionInterface
|
||||||
|
{
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user