Compare commits
13 Commits
17
UPDATE.md
Normal file
17
UPDATE.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
## PicHome beta3.0 更新说明
|
||||||
|
|
||||||
|
### 1.增加普通目录导入支持,普通目录可限定文件导入,默认使用 “站点设置”=>“导入设置”中的“允许导入文件”中的设置值,可根据需要更改。
|
||||||
|
|
||||||
|
### 2.支持选择或输入指定目录地址作为库;库更改为手动添加以便于自由选择eagle库或者普通目录库;目录选择中默认屏蔽了一些由系统生成目录,可在站点设置=>导入设置中的“禁止导入目录”中更改。
|
||||||
|
|
||||||
|
### 3.普通目录支持部分图片缩略图、颜色获取和部分音视频文件信息和缩略图获取(注:格式可参考 站点设置”=>“导入设置”中的“允许导入文件”;此功能pdf格式需有iamgick支持,linux下音视频需ffmpeg支持);该功能可在库的“设置”中选择开启或不开启,需要注意的是开启该功能可能会占用大量服务器资源。
|
||||||
|
|
||||||
|
### 4.增加新的界面展示模板,可在 “站点设置”=>“界面设置”中切换
|
||||||
|
|
||||||
|
### 5.导入逻辑优化,优化导入效率,修复没有文件时,一直在导入状态的bug
|
||||||
|
|
||||||
|
### 6.优化删除库逻辑,删除更改为异步删除
|
||||||
|
|
||||||
|
### 7.优化访问效率
|
||||||
|
|
||||||
|
### 8.其他已知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
|
6ccaad5c6ef97e4ba59c3d8eb8e37d39 *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
|
||||||
|
aab63af8b9c2d8610ba5ab295de6c96a *admin/system/dist/js/index.be6002c4.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
|
||||||
@@ -109,8 +111,8 @@ bcfb2e3e9c3ff2018f356176a1cf43a2 *core/class/class_core.php
|
|||||||
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
3ce9db683150a76cd033167c7e281391 *core/class/class_Des.php
|
||||||
b950274816c263377559b82772efaa04 *core/class/class_FileDownload.php
|
b950274816c263377559b82772efaa04 *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
|
||||||
|
15cc26415b076bb08eeed7f76c40c45b *core/class/table/table_pichome_folderresources.php
|
||||||
|
fb390b2cfce67236a7263549a430868b *core/class/table/table_pichome_folder_relation.php
|
||||||
|
180233f6f8d234986280df5c3821fe24 *core/class/table/table_pichome_imagickrecord.php
|
||||||
26298713afbbb276e365e2b440454321 *core/class/table/table_pichome_palette.php
|
26298713afbbb276e365e2b440454321 *core/class/table/table_pichome_palette.php
|
||||||
f87c22d75232ca68d29ef25f6fe600a9 *core/class/table/table_pichome_resources.php
|
6b369ce49f9a03b0e29a062352b99454 *core/class/table/table_pichome_resources.php
|
||||||
2c3c0805dc3570b1c396c99d6bf21e18 *core/class/table/table_pichome_resourcestag.php
|
8f36fe58bb79975f403ea0fa5e868c85 *core/class/table/table_pichome_resourcestag.php
|
||||||
74c9554b3b2424e3225b6deb0319e445 *core/class/table/table_pichome_resources_attr.php
|
c08ce988dad5ccead193db0a7f79b4f2 *core/class/table/table_pichome_resources_attr.php
|
||||||
3c4654178b6881addc9ff4d22e53f4dc *core/class/table/table_pichome_searchrecent.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
|
306a994431aaffaa2faf08f3d5de7d50 *core/class/table/table_pichome_taggroup_relation.php
|
||||||
ca284293fe8ad50612314166a5a42910 *core/class/table/table_pichome_vapp.php
|
1969387f935173b42f34c33c426e1fb7 *core/class/table/table_pichome_tagrelation.php
|
||||||
|
59d5d07f70e88fbb93f56f5e4b953c6c *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
|
d712c1ad304eafdd40573ea7cc9e1609 *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
|
||||||
|
3f04fd27593769aa47af32734d542a12 *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
|
||||||
|
28d0c2d1aacb4500ef061f8eae72200f *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
|
7a4feb3626ba6a8e2bfad12b6d2b4ff0 *dzz/pichome/ajax.php
|
||||||
da38e97091f039e98f3cff60351dec3c *dzz/pichome/checkexport.php
|
c550e347457729fb118592d6be50d050 *dzz/pichome/checkexport.php
|
||||||
088006485445db81b3e5431e1a60efc6 *dzz/pichome/class/class_eagleexport.php
|
706bd367941708aa5b026376fc56e6a6 *dzz/pichome/class/class_eagleexport.php
|
||||||
|
395888f8a190db23bfa5e5af2dac3e55 *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,10 +1396,23 @@ 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
|
||||||
|
7a9ae0c0a2a7ccfe1b92949ce1efd330 *dzz/pichome/css/pc/common.css
|
||||||
|
e3123a0f6930b3d0a84387d3102c704d *dzz/pichome/css/pc/details.css
|
||||||
|
478715f3a9570d1be58dda7943ec1a4c *dzz/pichome/css/pc/image.css
|
||||||
|
1a7589e0fb94c67ded810b23cceb0ea6 *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
|
3d037ab39fd205fc01dcb0644dc73594 *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
|
9a6e6b73f09a721abe91bcadd9d1dbcd *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
|
||||||
@@ -1070,27 +1423,47 @@ dce825b1ca6c3b1c18adc856618b8602 *dzz/pichome/css/theme/lightgrey/index.css
|
|||||||
2566cbfc860d4bc3c12812d9d35011ef *dzz/pichome/css/theme/purple/root.css
|
2566cbfc860d4bc3c12812d9d35011ef *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
|
b07e0746971bb7c6dfc1d88ed2bdc4b2 *dzz/pichome/css/theme/white/root.css
|
||||||
b8ca416041036fcaa26a718343b671cc *dzz/pichome/details.php
|
24100e5ac1435598339350ec3ccf63bc *dzz/pichome/delete.php
|
||||||
8cbb24ea1bf37279c62c847f69984107 *dzz/pichome/download.php
|
0bc21a1af1a289191cf5a48523f2cf8c *dzz/pichome/details.php
|
||||||
|
2531bc3851ab49b6c3f95d0c09850382 *dzz/pichome/download.php
|
||||||
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
e245c8b1f860c8252eade7f3dec51879 *dzz/pichome/dzz_app_pichome.xml
|
||||||
149c4134105afa138de62c31034c38c6 *dzz/pichome/exportfile.php
|
0d5b36f34930c6f3234ba9482fbcb401 *dzz/pichome/exportfile.php
|
||||||
06880b4a650311dd50933bf9a5aece2a *dzz/pichome/filelist.php
|
2e03b890f6a73541d58e9fa68ab17624 *dzz/pichome/exportfilecheck.php
|
||||||
ae3317853c4561197a9a649000597886 *dzz/pichome/function/function_common.php
|
ab80472bc466830bbf05847da7026017 *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
|
9a21fde6d13f5377bb4c23e1103f65c5 *dzz/pichome/index.php
|
||||||
|
4d793d9993042e9beda12a40272576c7 *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
|
05d2d04e0cd1f4e16bc46c2d5fe7893e *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
|
||||||
|
4f7c5892b56744064e332bd2a9b64852 *dzz/pichome/template/pc/components/index/Jsimage.htm
|
||||||
|
e5f81267932b2e39355c4bff620d11b6 *dzz/pichome/template/pc/components/index/JsLibrary.htm
|
||||||
|
1f1b56d62e79127ce0b5b78d00dedd9b *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
|
||||||
|
14b788e3582ec1a59b1df295d645acf6 *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
|
||||||
|
e99ff61dd48256711bfc0f6b7620d4ab *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
|
||||||
|
e7d36a2b763f353c1df3bf82d9695673 *dzz/pichome/template/pc/page/details.htm
|
||||||
|
8e351bacc90f2855e890cc3cb0ef9fc2 *dzz/pichome/template/pc/page/index.htm
|
||||||
|
3434b3277fb32f8dd37684b5d898c24b *dzz/pichome/template/pc/page/index1.htm
|
||||||
|
dee08b61a3556659df1cb5daa3845b4e *dzz/pichome/template/pc/page/index2.htm
|
||||||
|
13a21e3c1168124857f64369e53bc024 *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
|
37beb2f26d52660fed7d76cc77959e26 *install/data/install.sql
|
||||||
67df3c5463e4b6826d4cfc8cc5d64b82 *install/data/install_data.sql
|
4a35501b2e1fca641c5a8d2d5175e72d *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,13 @@ 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
|
81c8f56afad64263e7f7be6e8f223338 *install/index.php
|
||||||
8eca1f167c0b805d9fda97804379a962 *install/language/zh-cn/lang.php
|
672ea3abb501cb04f0708a5c69ac2161 *install/language/zh-cn/lang.php
|
||||||
|
63947a3a069dd8a3433f1c4a182c96a1 *install/update.php
|
||||||
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
5aefe69b1ba16fe8a6f79c2156f8f281 *misc/ajax.php
|
||||||
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
66ee773a4c2e373da92f48f81930cf3f *misc/classes/init.php
|
||||||
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
f656adb0c1b2699a4d8c613f2b9dacab *misc/pichomeexport.php
|
||||||
@@ -1180,11 +1633,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 +1668,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 +1764,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 +1803,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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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']);
|
||||||
@@ -139,16 +107,30 @@
|
|||||||
|
|
||||||
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 +143,76 @@
|
|||||||
$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));
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
//$thumbpath = 'library/' . $filepath . '/' . $filename . '_thumbnail.png';
|
||||||
|
//$resourcesdata['icondata'] = $thumbpath;
|
||||||
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
} 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 +221,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 +232,120 @@
|
|||||||
$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 ($v['apptype'] == 1) {
|
||||||
|
$filename = 'pichomethumb'.BS . $v['appid'] . BS . md5($v['path']) . '.jpg';
|
||||||
|
$thumbpath = getglobal('setting/attachurl') . $filename;
|
||||||
|
$v['icondata'] = str_replace('+', '%20', urlencode($thumbpath));
|
||||||
|
} else {
|
||||||
|
$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 {
|
||||||
|
if ($v['type'] == 'commonimage') {
|
||||||
|
if ($downshare[$v['appid']]['iswebsitefile']) {
|
||||||
|
$tmppath = str_replace(DZZ_ROOT, '', $downshare[$v['appid']]['path']);
|
||||||
|
$v['icondata'] = str_replace('+', '%20', urlencode($tmppath . '/' . $v['path']));
|
||||||
|
} 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));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$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 {
|
||||||
|
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,8 +53,9 @@
|
|||||||
}
|
}
|
||||||
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 from %t where rid in(%n)", array($this->_table, $rid)) as $v) {
|
||||||
$delids[] = $v['id'];
|
$delids[] = $v['id'];
|
||||||
}
|
}
|
||||||
return parent::delete($delids);
|
return parent::delete($delids);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
29
core/class/table/table_pichome_taggroup_relation.php
Normal file
29
core/class/table/table_pichome_taggroup_relation.php
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?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));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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,43 @@
|
|||||||
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){
|
||||||
$path = $setarr['path'];
|
//如果为oaooa库时
|
||||||
if($appid = DB::result_first("select appid from %t where path = %s",array($this->_table,$path))){
|
if($setarr['type'] == 2){
|
||||||
return $appid;
|
$setarr['path'] =$setarr['did'].'_'.$setarr['kuid'].'_'.$setarr['fid'];
|
||||||
|
$path = md5($setarr['path']);
|
||||||
}else{
|
}else{
|
||||||
$setarr['appid'] = $this->getSid($setarr['path']);
|
$path = $setarr['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;
|
||||||
|
}
|
||||||
|
//生成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));
|
||||||
@@ -74,13 +96,22 @@
|
|||||||
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);
|
||||||
|
}
|
||||||
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.0');
|
||||||
define('CORE_VERSION_LEVEL', 'Pichome');
|
define('CORE_VERSION_LEVEL', 'Pichome');
|
||||||
define('CORE_RELEASE', '20210820');
|
define('CORE_RELEASE', '20211208');
|
||||||
define('CORE_FIXBUG' , '01000000');
|
define('CORE_FIXBUG' , '03000000');
|
||||||
}
|
}
|
||||||
@@ -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'] == 1){
|
||||||
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'] == 2){
|
||||||
|
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
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
|
||||||
|
{
|
||||||
|
}
|
||||||
@@ -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 ExecutionFailureException extends \RuntimeException implements 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 InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
|
||||||
|
{
|
||||||
|
}
|
||||||
58
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/DebugListener.php
vendored
Normal file
58
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/DebugListener.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\Listeners;
|
||||||
|
|
||||||
|
use Evenement\EventEmitter;
|
||||||
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
|
class DebugListener extends EventEmitter implements ListenerInterface
|
||||||
|
{
|
||||||
|
private $prefixOut;
|
||||||
|
private $prefixErr;
|
||||||
|
private $eventOut;
|
||||||
|
private $eventErr;
|
||||||
|
|
||||||
|
public function __construct($prefixOut = '[OUT] ', $prefixErr = '[ERROR] ', $eventOut = 'debug', $eventErr = 'debug')
|
||||||
|
{
|
||||||
|
$this->prefixOut = $prefixOut;
|
||||||
|
$this->prefixErr = $prefixErr;
|
||||||
|
$this->eventOut = $eventOut;
|
||||||
|
$this->eventErr = $eventErr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function handle($type, $data)
|
||||||
|
{
|
||||||
|
if (Process::ERR === $type) {
|
||||||
|
$this->emitLines($this->eventErr, $this->prefixErr, $data);
|
||||||
|
} elseif (Process::OUT === $type) {
|
||||||
|
$this->emitLines($this->eventOut, $this->prefixOut, $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function forwardedEvents()
|
||||||
|
{
|
||||||
|
return array_unique(array($this->eventErr, $this->eventOut));
|
||||||
|
}
|
||||||
|
|
||||||
|
private function emitLines($event, $prefix, $lines)
|
||||||
|
{
|
||||||
|
foreach (explode("\n", $lines) as $line) {
|
||||||
|
$this->emit($event, array($prefix . $line));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
32
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/ListenerInterface.php
vendored
Normal file
32
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/ListenerInterface.php
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?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\Listeners;
|
||||||
|
|
||||||
|
use Evenement\EventEmitterInterface;
|
||||||
|
|
||||||
|
interface ListenerInterface extends EventEmitterInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle the output of a ProcessRunner
|
||||||
|
*
|
||||||
|
* @param string $type The data type, one of Process::ERR, Process::OUT constants
|
||||||
|
* @param string $data The output
|
||||||
|
*/
|
||||||
|
public function handle($type, $data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An array of events that should be forwarded to BinaryInterface
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function forwardedEvents();
|
||||||
|
}
|
||||||
88
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/Listeners.php
vendored
Normal file
88
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Listeners/Listeners.php
vendored
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Alchemy\BinaryDriver\Listeners;
|
||||||
|
|
||||||
|
use SplObjectStorage;
|
||||||
|
use Evenement\EventEmitter;
|
||||||
|
|
||||||
|
class Listeners extends EventEmitter
|
||||||
|
{
|
||||||
|
/** @var SplObjectStorage */
|
||||||
|
public $storage;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->storage = new SplObjectStorage();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$storage = $this->storage;
|
||||||
|
$this->storage = new SplObjectStorage();
|
||||||
|
$this->storage->addAll($storage);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a listener, pass the listener events to the target.
|
||||||
|
*
|
||||||
|
* @param ListenerInterface $listener
|
||||||
|
* @param null|EventEmitter $target
|
||||||
|
*
|
||||||
|
* @return ListenersInterface
|
||||||
|
*/
|
||||||
|
public function register(ListenerInterface $listener, EventEmitter $target = null)
|
||||||
|
{
|
||||||
|
$EElisteners = array();
|
||||||
|
|
||||||
|
if (null !== $target) {
|
||||||
|
$EElisteners = $this->forwardEvents($listener, $target, $listener->forwardedEvents());
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->storage->attach($listener, $EElisteners);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregisters a listener, removes the listener events from the target.
|
||||||
|
*
|
||||||
|
* @param ListenerInterface $listener
|
||||||
|
*
|
||||||
|
* @return ListenersInterface
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException In case the listener is not registered
|
||||||
|
*/
|
||||||
|
public function unregister(ListenerInterface $listener)
|
||||||
|
{
|
||||||
|
if (!isset($this->storage[$listener])) {
|
||||||
|
throw new InvalidArgumentException('Listener is not registered.');
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($this->storage[$listener] as $event => $EElistener) {
|
||||||
|
$listener->removeListener($event, $EElistener);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->storage->detach($listener);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function forwardEvents($source, $target, array $events)
|
||||||
|
{
|
||||||
|
$EElisteners = array();
|
||||||
|
|
||||||
|
foreach ($events as $event) {
|
||||||
|
$listener = $this->createListener($event, $target);
|
||||||
|
$source->on($event, $EElisteners[$event] = $listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $EElisteners;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function createListener($event, $target)
|
||||||
|
{
|
||||||
|
return function () use ($event, $target) {
|
||||||
|
$target->emit($event, func_get_args());
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
178
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessBuilderFactory.php
vendored
Normal file
178
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessBuilderFactory.php
vendored
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
<?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\InvalidArgumentException;
|
||||||
|
use Symfony\Component\Process\ProcessBuilder;
|
||||||
|
|
||||||
|
class ProcessBuilderFactory implements ProcessBuilderFactoryInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The binary path
|
||||||
|
*
|
||||||
|
* @var String
|
||||||
|
*/
|
||||||
|
protected $binary;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The timeout for the generated processes
|
||||||
|
*
|
||||||
|
* @var integer|float
|
||||||
|
*/
|
||||||
|
private $timeout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An internal ProcessBuilder.
|
||||||
|
*
|
||||||
|
* Note that this one is used only if Symfony ProcessBuilder has method
|
||||||
|
* setPrefix (2.3)
|
||||||
|
*
|
||||||
|
* @var ProcessBuilder
|
||||||
|
*/
|
||||||
|
private $builder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells whether Symfony LTS ProcessBuilder should be emulated or not.
|
||||||
|
*
|
||||||
|
* This symfony version provided a brand new ::setPrefix method.
|
||||||
|
*
|
||||||
|
* @var Boolean
|
||||||
|
*/
|
||||||
|
public static $emulateSfLTS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param String $binary The path to the binary
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException In case binary path is invalid
|
||||||
|
*/
|
||||||
|
public function __construct($binary)
|
||||||
|
{
|
||||||
|
$this->detectEmulation();
|
||||||
|
|
||||||
|
if (!self::$emulateSfLTS) {
|
||||||
|
$this->builder = new ProcessBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->useBinary($binary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Covenient method for unit testing
|
||||||
|
*
|
||||||
|
* @return type
|
||||||
|
*/
|
||||||
|
public function getBuilder()
|
||||||
|
{
|
||||||
|
return $this->builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Covenient method for unit testing
|
||||||
|
*
|
||||||
|
* @param ProcessBuilder $builder
|
||||||
|
* @return ProcessBuilderFactory
|
||||||
|
*/
|
||||||
|
public function setBuilder(ProcessBuilder $builder)
|
||||||
|
{
|
||||||
|
$this->builder = $builder;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function getBinary()
|
||||||
|
{
|
||||||
|
return $this->binary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function useBinary($binary)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!is_executable($binary)) {
|
||||||
|
throw new InvalidArgumentException(sprintf('`%s` is not an executable binary', $binary));
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->binary = $binary;
|
||||||
|
|
||||||
|
if (!static::$emulateSfLTS) {
|
||||||
|
$this->builder->setPrefix($binary);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function setTimeout($timeout)
|
||||||
|
{
|
||||||
|
$this->timeout = $timeout;
|
||||||
|
|
||||||
|
if (!static::$emulateSfLTS) {
|
||||||
|
$this->builder->setTimeout($this->timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function getTimeout()
|
||||||
|
{
|
||||||
|
return $this->timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function create($arguments = array())
|
||||||
|
{
|
||||||
|
if (null === $this->binary) {
|
||||||
|
throw new InvalidArgumentException('No binary set');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_array($arguments)) {
|
||||||
|
$arguments = array($arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (static::$emulateSfLTS) {
|
||||||
|
array_unshift($arguments, $this->binary);
|
||||||
|
|
||||||
|
return ProcessBuilder::create($arguments)
|
||||||
|
->setTimeout($this->timeout)
|
||||||
|
->getProcess();
|
||||||
|
} else {
|
||||||
|
return $this->builder
|
||||||
|
->setArguments($arguments)
|
||||||
|
->getProcess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function detectEmulation()
|
||||||
|
{
|
||||||
|
if (null !== static::$emulateSfLTS) {
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static::$emulateSfLTS = !method_exists('Symfony\Component\Process\ProcessBuilder', 'setPrefix');
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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 ProcessBuilderFactoryAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns the current process builder factory
|
||||||
|
*
|
||||||
|
* @return ProcessBuilderFactoryInterface
|
||||||
|
*/
|
||||||
|
public function getProcessBuilderFactory();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a process builder factory
|
||||||
|
*
|
||||||
|
* @param ProcessBuilderFactoryInterface $factory
|
||||||
|
*/
|
||||||
|
public function setProcessBuilderFactory(ProcessBuilderFactoryInterface $factory);
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<?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\InvalidArgumentException;
|
||||||
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
|
interface ProcessBuilderFactoryInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns a new instance of Symfony Process
|
||||||
|
*
|
||||||
|
* @param string|array $arguments An argument or an array of arguments
|
||||||
|
*
|
||||||
|
* @return Process
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException
|
||||||
|
*/
|
||||||
|
public function create($arguments = array());
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the path to the binary that is used
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
*/
|
||||||
|
public function getBinary();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the path to the binary
|
||||||
|
*
|
||||||
|
* @param String $binary A path to a binary
|
||||||
|
*
|
||||||
|
* @return ProcessBuilderFactoryInterface
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException In case binary is not executable
|
||||||
|
*/
|
||||||
|
public function useBinary($binary);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the default timeout to apply on created processes.
|
||||||
|
*
|
||||||
|
* @param integer|float $timeout
|
||||||
|
*
|
||||||
|
* @return ProcessBuilderFactoryInterface
|
||||||
|
*
|
||||||
|
* @throws InvalidArgumentException In case the timeout is not valid
|
||||||
|
*/
|
||||||
|
public function setTimeout($timeout);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current timeout applied to the created processes.
|
||||||
|
*
|
||||||
|
* @return integer|float
|
||||||
|
*/
|
||||||
|
public function getTimeout();
|
||||||
|
}
|
||||||
104
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php
vendored
Normal file
104
dzz/ffmpeg/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php
vendored
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?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\ExecutionFailureException;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
use SplObjectStorage;
|
||||||
|
use Symfony\Component\Process\Exception\RuntimeException;
|
||||||
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
|
class ProcessRunner implements ProcessRunnerInterface
|
||||||
|
{
|
||||||
|
/** @var LoggerInterface */
|
||||||
|
private $logger;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
private $name;
|
||||||
|
|
||||||
|
public function __construct(LoggerInterface $logger, $name)
|
||||||
|
{
|
||||||
|
$this->logger = $logger;
|
||||||
|
$this->name = $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @return ProcessRunner
|
||||||
|
*/
|
||||||
|
public function setLogger(LoggerInterface $logger)
|
||||||
|
{
|
||||||
|
$this->logger = $logger;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return LoggerInterface
|
||||||
|
*/
|
||||||
|
public function getLogger()
|
||||||
|
{
|
||||||
|
return $this->logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function run(Process $process, SplObjectStorage $listeners, $bypassErrors)
|
||||||
|
{
|
||||||
|
$this->logger->info(sprintf(
|
||||||
|
'%s running command %s', $this->name, $process->getCommandLine()
|
||||||
|
));
|
||||||
|
|
||||||
|
try {
|
||||||
|
$process->run($this->buildCallback($listeners));
|
||||||
|
} catch (RuntimeException $e) {
|
||||||
|
if (!$bypassErrors) {
|
||||||
|
$this->doExecutionFailure($process->getCommandLine(), $e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$bypassErrors && !$process->isSuccessful()) {
|
||||||
|
$this->doExecutionFailure($process->getCommandLine());
|
||||||
|
} elseif (!$process->isSuccessful()) {
|
||||||
|
$this->logger->error(sprintf(
|
||||||
|
'%s failed to execute command %s', $this->name, $process->getCommandLine()
|
||||||
|
));
|
||||||
|
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
$this->logger->info(sprintf('%s executed command successfully', $this->name));
|
||||||
|
|
||||||
|
return $process->getOutput();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function buildCallback(SplObjectStorage $listeners)
|
||||||
|
{
|
||||||
|
return function ($type, $data) use ($listeners) {
|
||||||
|
foreach ($listeners as $listener) {
|
||||||
|
$listener->handle($type, $data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private function doExecutionFailure($command, \Exception $e = null)
|
||||||
|
{
|
||||||
|
$this->logger->error(sprintf(
|
||||||
|
'%s failed to execute command %s', $this->name, $command
|
||||||
|
));
|
||||||
|
throw new ExecutionFailureException(sprintf(
|
||||||
|
'%s failed to execute command %s', $this->name, $command
|
||||||
|
), $e ? $e->getCode() : null, $e ?: null);
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user