From 564b2c27db4c1e7c2f4e5b16f221c1c79e88c11e Mon Sep 17 00:00:00 2001 From: Anyon Date: Thu, 12 Apr 2018 16:55:32 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]ComposerUpdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- thinkphp/lang/zh-cn.php | 1 + thinkphp/library/think/App.php | 10 +- thinkphp/library/think/Db.php | 1 + thinkphp/library/think/Loader.php | 38 +- thinkphp/library/think/Model.php | 19 +- thinkphp/library/think/Request.php | 13 +- thinkphp/library/think/Validate.php | 2 +- thinkphp/library/think/db/Builder.php | 83 +-- thinkphp/library/think/db/Connection.php | 4 +- thinkphp/library/think/db/Query.php | 27 +- thinkphp/library/think/db/builder/Mysql.php | 7 +- thinkphp/library/think/db/builder/Pgsql.php | 3 +- thinkphp/library/think/db/builder/Sqlite.php | 3 +- thinkphp/library/think/db/builder/Sqlsrv.php | 52 +- .../think/model/concern/SoftDelete.php | 38 +- thinkphp/library/think/route/Rule.php | 2 +- thinkphp/library/think/route/RuleGroup.php | 2 +- thinkphp/library/think/route/RuleItem.php | 2 +- .../library/think/route/dispatch/Module.php | 15 +- thinkphp/library/think/view/driver/Php.php | 10 +- thinkphp/library/think/view/driver/Think.php | 11 +- vendor/aliyuncs/oss-sdk-php/build-phar.sh | 0 vendor/autoload.php | 2 +- vendor/composer/ClassLoader.php | 4 +- vendor/composer/autoload_files.php | 2 +- vendor/composer/autoload_real.php | 14 +- vendor/composer/autoload_static.php | 10 +- vendor/composer/installed.json | 684 +++++++++--------- vendor/endroid/qr-code/.travis.yml | 42 +- vendor/endroid/qr-code/README.md | 264 +++---- .../endroid/qr-code/assets/data/qrv10_0.dat | Bin .../endroid/qr-code/assets/data/qrv10_1.dat | Bin .../endroid/qr-code/assets/data/qrv10_2.dat | Bin .../endroid/qr-code/assets/data/qrv10_3.dat | Bin .../endroid/qr-code/assets/data/qrv11_0.dat | Bin .../endroid/qr-code/assets/data/qrv11_1.dat | Bin .../endroid/qr-code/assets/data/qrv11_2.dat | Bin .../endroid/qr-code/assets/data/qrv11_3.dat | Bin .../endroid/qr-code/assets/data/qrv12_0.dat | Bin .../endroid/qr-code/assets/data/qrv12_1.dat | Bin .../endroid/qr-code/assets/data/qrv12_2.dat | Bin .../endroid/qr-code/assets/data/qrv12_3.dat | Bin .../endroid/qr-code/assets/data/qrv13_0.dat | Bin .../endroid/qr-code/assets/data/qrv13_1.dat | Bin .../endroid/qr-code/assets/data/qrv13_2.dat | Bin .../endroid/qr-code/assets/data/qrv13_3.dat | Bin .../endroid/qr-code/assets/data/qrv14_0.dat | Bin .../endroid/qr-code/assets/data/qrv14_1.dat | Bin .../endroid/qr-code/assets/data/qrv14_2.dat | Bin .../endroid/qr-code/assets/data/qrv14_3.dat | Bin .../endroid/qr-code/assets/data/qrv15_0.dat | Bin .../endroid/qr-code/assets/data/qrv15_1.dat | Bin .../endroid/qr-code/assets/data/qrv15_2.dat | Bin .../endroid/qr-code/assets/data/qrv15_3.dat | Bin .../endroid/qr-code/assets/data/qrv16_0.dat | Bin .../endroid/qr-code/assets/data/qrv16_1.dat | Bin .../endroid/qr-code/assets/data/qrv16_2.dat | Bin .../endroid/qr-code/assets/data/qrv16_3.dat | Bin .../endroid/qr-code/assets/data/qrv17_0.dat | Bin .../endroid/qr-code/assets/data/qrv17_1.dat | Bin .../endroid/qr-code/assets/data/qrv17_2.dat | Bin .../endroid/qr-code/assets/data/qrv17_3.dat | Bin .../endroid/qr-code/assets/data/qrv18_0.dat | Bin .../endroid/qr-code/assets/data/qrv18_1.dat | Bin .../endroid/qr-code/assets/data/qrv18_2.dat | Bin .../endroid/qr-code/assets/data/qrv18_3.dat | Bin .../endroid/qr-code/assets/data/qrv19_0.dat | Bin .../endroid/qr-code/assets/data/qrv19_1.dat | Bin .../endroid/qr-code/assets/data/qrv19_2.dat | Bin .../endroid/qr-code/assets/data/qrv19_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv1_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv1_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv1_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv1_3.dat | Bin .../endroid/qr-code/assets/data/qrv20_0.dat | Bin .../endroid/qr-code/assets/data/qrv20_1.dat | Bin .../endroid/qr-code/assets/data/qrv20_2.dat | Bin .../endroid/qr-code/assets/data/qrv20_3.dat | Bin .../endroid/qr-code/assets/data/qrv21_0.dat | Bin .../endroid/qr-code/assets/data/qrv21_1.dat | Bin .../endroid/qr-code/assets/data/qrv21_2.dat | Bin .../endroid/qr-code/assets/data/qrv21_3.dat | Bin .../endroid/qr-code/assets/data/qrv22_0.dat | Bin .../endroid/qr-code/assets/data/qrv22_1.dat | 0 .../endroid/qr-code/assets/data/qrv22_2.dat | Bin .../endroid/qr-code/assets/data/qrv22_3.dat | Bin .../endroid/qr-code/assets/data/qrv23_0.dat | Bin .../endroid/qr-code/assets/data/qrv23_1.dat | 0 .../endroid/qr-code/assets/data/qrv23_2.dat | Bin .../endroid/qr-code/assets/data/qrv23_3.dat | Bin .../endroid/qr-code/assets/data/qrv24_0.dat | Bin .../endroid/qr-code/assets/data/qrv24_1.dat | 0 .../endroid/qr-code/assets/data/qrv24_2.dat | Bin .../endroid/qr-code/assets/data/qrv24_3.dat | Bin .../endroid/qr-code/assets/data/qrv25_0.dat | 0 .../endroid/qr-code/assets/data/qrv25_1.dat | 0 .../endroid/qr-code/assets/data/qrv25_2.dat | Bin .../endroid/qr-code/assets/data/qrv25_3.dat | Bin .../endroid/qr-code/assets/data/qrv26_0.dat | 0 .../endroid/qr-code/assets/data/qrv26_1.dat | 0 .../endroid/qr-code/assets/data/qrv26_2.dat | Bin .../endroid/qr-code/assets/data/qrv26_3.dat | 0 .../endroid/qr-code/assets/data/qrv27_0.dat | 0 .../endroid/qr-code/assets/data/qrv27_1.dat | 0 .../endroid/qr-code/assets/data/qrv27_2.dat | 0 .../endroid/qr-code/assets/data/qrv27_3.dat | 0 .../endroid/qr-code/assets/data/qrv28_0.dat | 0 .../endroid/qr-code/assets/data/qrv28_1.dat | 0 .../endroid/qr-code/assets/data/qrv28_2.dat | 0 .../endroid/qr-code/assets/data/qrv28_3.dat | 0 .../endroid/qr-code/assets/data/qrv29_0.dat | 0 .../endroid/qr-code/assets/data/qrv29_1.dat | 0 .../endroid/qr-code/assets/data/qrv29_2.dat | 0 .../endroid/qr-code/assets/data/qrv29_3.dat | 0 vendor/endroid/qr-code/assets/data/qrv2_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv2_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv2_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv2_3.dat | Bin .../endroid/qr-code/assets/data/qrv30_0.dat | 0 .../endroid/qr-code/assets/data/qrv30_1.dat | 0 .../endroid/qr-code/assets/data/qrv30_2.dat | 0 .../endroid/qr-code/assets/data/qrv30_3.dat | 0 .../endroid/qr-code/assets/data/qrv31_0.dat | 0 .../endroid/qr-code/assets/data/qrv31_1.dat | 0 .../endroid/qr-code/assets/data/qrv31_2.dat | 0 .../endroid/qr-code/assets/data/qrv31_3.dat | 0 .../endroid/qr-code/assets/data/qrv32_0.dat | 0 .../endroid/qr-code/assets/data/qrv32_1.dat | 0 .../endroid/qr-code/assets/data/qrv32_2.dat | 0 .../endroid/qr-code/assets/data/qrv32_3.dat | 0 .../endroid/qr-code/assets/data/qrv33_0.dat | 0 .../endroid/qr-code/assets/data/qrv33_1.dat | 0 .../endroid/qr-code/assets/data/qrv33_2.dat | 0 .../endroid/qr-code/assets/data/qrv33_3.dat | 0 .../endroid/qr-code/assets/data/qrv34_0.dat | 0 .../endroid/qr-code/assets/data/qrv34_1.dat | 0 .../endroid/qr-code/assets/data/qrv34_2.dat | 0 .../endroid/qr-code/assets/data/qrv34_3.dat | 0 .../endroid/qr-code/assets/data/qrv35_0.dat | 0 .../endroid/qr-code/assets/data/qrv35_1.dat | 0 .../endroid/qr-code/assets/data/qrv35_2.dat | 0 .../endroid/qr-code/assets/data/qrv35_3.dat | 0 .../endroid/qr-code/assets/data/qrv36_0.dat | 0 .../endroid/qr-code/assets/data/qrv36_1.dat | 0 .../endroid/qr-code/assets/data/qrv36_2.dat | 0 .../endroid/qr-code/assets/data/qrv36_3.dat | 0 .../endroid/qr-code/assets/data/qrv37_0.dat | 0 .../endroid/qr-code/assets/data/qrv37_1.dat | 0 .../endroid/qr-code/assets/data/qrv37_2.dat | 0 .../endroid/qr-code/assets/data/qrv37_3.dat | 0 .../endroid/qr-code/assets/data/qrv38_0.dat | 0 .../endroid/qr-code/assets/data/qrv38_1.dat | 0 .../endroid/qr-code/assets/data/qrv38_2.dat | 0 .../endroid/qr-code/assets/data/qrv38_3.dat | 0 .../endroid/qr-code/assets/data/qrv39_0.dat | 0 .../endroid/qr-code/assets/data/qrv39_1.dat | 0 .../endroid/qr-code/assets/data/qrv39_2.dat | 0 .../endroid/qr-code/assets/data/qrv39_3.dat | 0 vendor/endroid/qr-code/assets/data/qrv3_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv3_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv3_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv3_3.dat | Bin .../endroid/qr-code/assets/data/qrv40_0.dat | 0 .../endroid/qr-code/assets/data/qrv40_1.dat | 0 .../endroid/qr-code/assets/data/qrv40_2.dat | 0 .../endroid/qr-code/assets/data/qrv40_3.dat | 0 vendor/endroid/qr-code/assets/data/qrv4_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv4_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv4_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv4_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv5_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv5_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv5_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv5_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv6_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv6_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv6_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv6_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv7_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv7_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv7_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv7_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv8_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv8_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv8_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv8_3.dat | Bin vendor/endroid/qr-code/assets/data/qrv9_0.dat | Bin vendor/endroid/qr-code/assets/data/qrv9_1.dat | Bin vendor/endroid/qr-code/assets/data/qrv9_2.dat | Bin vendor/endroid/qr-code/assets/data/qrv9_3.dat | Bin vendor/endroid/qr-code/assets/data/qrvfr1.dat | 0 .../endroid/qr-code/assets/data/qrvfr10.dat | 0 .../endroid/qr-code/assets/data/qrvfr11.dat | 0 .../endroid/qr-code/assets/data/qrvfr12.dat | 0 .../endroid/qr-code/assets/data/qrvfr13.dat | 0 .../endroid/qr-code/assets/data/qrvfr14.dat | 0 .../endroid/qr-code/assets/data/qrvfr15.dat | 0 .../endroid/qr-code/assets/data/qrvfr16.dat | 0 .../endroid/qr-code/assets/data/qrvfr17.dat | 0 .../endroid/qr-code/assets/data/qrvfr18.dat | 0 .../endroid/qr-code/assets/data/qrvfr19.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr2.dat | 0 .../endroid/qr-code/assets/data/qrvfr20.dat | 0 .../endroid/qr-code/assets/data/qrvfr21.dat | 0 .../endroid/qr-code/assets/data/qrvfr22.dat | 0 .../endroid/qr-code/assets/data/qrvfr23.dat | 0 .../endroid/qr-code/assets/data/qrvfr24.dat | 0 .../endroid/qr-code/assets/data/qrvfr25.dat | 0 .../endroid/qr-code/assets/data/qrvfr26.dat | 0 .../endroid/qr-code/assets/data/qrvfr27.dat | 0 .../endroid/qr-code/assets/data/qrvfr28.dat | 0 .../endroid/qr-code/assets/data/qrvfr29.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr3.dat | 0 .../endroid/qr-code/assets/data/qrvfr30.dat | 0 .../endroid/qr-code/assets/data/qrvfr31.dat | 0 .../endroid/qr-code/assets/data/qrvfr32.dat | 0 .../endroid/qr-code/assets/data/qrvfr33.dat | 0 .../endroid/qr-code/assets/data/qrvfr34.dat | 0 .../endroid/qr-code/assets/data/qrvfr35.dat | 0 .../endroid/qr-code/assets/data/qrvfr36.dat | 0 .../endroid/qr-code/assets/data/qrvfr37.dat | 0 .../endroid/qr-code/assets/data/qrvfr38.dat | 0 .../endroid/qr-code/assets/data/qrvfr39.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr4.dat | 0 .../endroid/qr-code/assets/data/qrvfr40.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr5.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr6.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr7.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr8.dat | 0 vendor/endroid/qr-code/assets/data/qrvfr9.dat | 0 vendor/endroid/qr-code/assets/data/rsc10.dat | 0 vendor/endroid/qr-code/assets/data/rsc13.dat | 0 vendor/endroid/qr-code/assets/data/rsc15.dat | 0 vendor/endroid/qr-code/assets/data/rsc16.dat | 0 vendor/endroid/qr-code/assets/data/rsc17.dat | 0 vendor/endroid/qr-code/assets/data/rsc18.dat | 0 vendor/endroid/qr-code/assets/data/rsc20.dat | 0 vendor/endroid/qr-code/assets/data/rsc22.dat | 0 vendor/endroid/qr-code/assets/data/rsc24.dat | 0 vendor/endroid/qr-code/assets/data/rsc26.dat | 0 vendor/endroid/qr-code/assets/data/rsc28.dat | 0 vendor/endroid/qr-code/assets/data/rsc30.dat | 0 vendor/endroid/qr-code/assets/data/rsc32.dat | 0 vendor/endroid/qr-code/assets/data/rsc34.dat | 0 vendor/endroid/qr-code/assets/data/rsc36.dat | 0 vendor/endroid/qr-code/assets/data/rsc40.dat | 0 vendor/endroid/qr-code/assets/data/rsc42.dat | 0 vendor/endroid/qr-code/assets/data/rsc44.dat | 0 vendor/endroid/qr-code/assets/data/rsc46.dat | 0 vendor/endroid/qr-code/assets/data/rsc48.dat | 0 vendor/endroid/qr-code/assets/data/rsc50.dat | 0 vendor/endroid/qr-code/assets/data/rsc52.dat | 0 vendor/endroid/qr-code/assets/data/rsc54.dat | 0 vendor/endroid/qr-code/assets/data/rsc56.dat | 0 vendor/endroid/qr-code/assets/data/rsc58.dat | 0 vendor/endroid/qr-code/assets/data/rsc60.dat | 0 vendor/endroid/qr-code/assets/data/rsc62.dat | 0 vendor/endroid/qr-code/assets/data/rsc64.dat | 0 vendor/endroid/qr-code/assets/data/rsc66.dat | 0 vendor/endroid/qr-code/assets/data/rsc68.dat | 0 vendor/endroid/qr-code/assets/data/rsc7.dat | 0 .../endroid/qr-code/assets/font/opensans.ttf | Bin vendor/endroid/qr-code/assets/image/b.png | Bin vendor/endroid/qr-code/assets/image/d.png | Bin vendor/endroid/qr-code/assets/image/logo.png | Bin vendor/endroid/qr-code/assets/image/qrv1.png | Bin vendor/endroid/qr-code/assets/image/qrv10.png | Bin vendor/endroid/qr-code/assets/image/qrv11.png | Bin vendor/endroid/qr-code/assets/image/qrv12.png | Bin vendor/endroid/qr-code/assets/image/qrv13.png | Bin vendor/endroid/qr-code/assets/image/qrv14.png | Bin vendor/endroid/qr-code/assets/image/qrv15.png | Bin vendor/endroid/qr-code/assets/image/qrv16.png | Bin vendor/endroid/qr-code/assets/image/qrv17.png | Bin vendor/endroid/qr-code/assets/image/qrv18.png | Bin vendor/endroid/qr-code/assets/image/qrv19.png | Bin vendor/endroid/qr-code/assets/image/qrv2.png | Bin vendor/endroid/qr-code/assets/image/qrv20.png | Bin vendor/endroid/qr-code/assets/image/qrv21.png | Bin vendor/endroid/qr-code/assets/image/qrv22.png | Bin vendor/endroid/qr-code/assets/image/qrv23.png | Bin vendor/endroid/qr-code/assets/image/qrv24.png | Bin vendor/endroid/qr-code/assets/image/qrv25.png | Bin vendor/endroid/qr-code/assets/image/qrv26.png | Bin vendor/endroid/qr-code/assets/image/qrv27.png | Bin vendor/endroid/qr-code/assets/image/qrv28.png | Bin vendor/endroid/qr-code/assets/image/qrv29.png | Bin vendor/endroid/qr-code/assets/image/qrv3.png | Bin vendor/endroid/qr-code/assets/image/qrv30.png | Bin vendor/endroid/qr-code/assets/image/qrv31.png | Bin vendor/endroid/qr-code/assets/image/qrv32.png | Bin vendor/endroid/qr-code/assets/image/qrv33.png | Bin vendor/endroid/qr-code/assets/image/qrv34.png | Bin vendor/endroid/qr-code/assets/image/qrv35.png | Bin vendor/endroid/qr-code/assets/image/qrv36.png | Bin vendor/endroid/qr-code/assets/image/qrv37.png | Bin vendor/endroid/qr-code/assets/image/qrv38.png | Bin vendor/endroid/qr-code/assets/image/qrv39.png | Bin vendor/endroid/qr-code/assets/image/qrv4.png | Bin vendor/endroid/qr-code/assets/image/qrv40.png | Bin vendor/endroid/qr-code/assets/image/qrv5.png | Bin vendor/endroid/qr-code/assets/image/qrv6.png | Bin vendor/endroid/qr-code/assets/image/qrv7.png | Bin vendor/endroid/qr-code/assets/image/qrv8.png | Bin vendor/endroid/qr-code/assets/image/qrv9.png | Bin vendor/endroid/qr-code/composer.json | 0 .../Bundle/Controller/QrCodeController.php | 0 .../DependencyInjection/Configuration.php | 0 .../src/Bundle/Resources/config/services.yml | 0 .../Bundle/Twig/Extension/QrCodeExtension.php | 0 .../Exceptions/DataDoesntExistsException.php | 0 .../FreeTypeLibraryMissingException.php | 0 .../ImageFunctionFailedException.php | 0 .../ImageFunctionUnknownException.php | 0 .../Exceptions/ImageSizeTooLargeException.php | 0 .../Exceptions/ImageTypeInvalidException.php | 0 .../Exceptions/VersionTooLargeException.php | 0 vendor/endroid/qr-code/src/QrCode.php | 0 vendor/endroid/qr-code/tests/QrCodeTest.php | 0 vendor/qiniu/php-sdk/test-env.sh | 0 vendor/zoujingli/ip2region/test.php | 28 +- .../zoujingli/wechat-developer/WeChat/Pay.php | 20 +- 322 files changed, 756 insertions(+), 657 deletions(-) mode change 100644 => 100755 vendor/aliyuncs/oss-sdk-php/build-phar.sh mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv10_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv10_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv10_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv10_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv11_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv11_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv11_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv11_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv12_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv12_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv12_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv12_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv13_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv13_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv13_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv13_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv14_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv14_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv14_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv14_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv15_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv15_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv15_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv15_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv16_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv16_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv16_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv16_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv17_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv17_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv17_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv17_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv18_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv18_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv18_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv18_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv19_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv19_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv19_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv19_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv1_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv1_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv1_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv1_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv20_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv20_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv20_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv20_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv21_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv21_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv21_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv21_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv22_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv22_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv22_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv22_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv23_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv23_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv23_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv23_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv24_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv24_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv24_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv24_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv25_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv25_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv25_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv25_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv26_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv26_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv26_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv26_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv27_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv27_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv27_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv27_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv28_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv28_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv28_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv28_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv29_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv29_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv29_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv29_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv2_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv2_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv2_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv2_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv30_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv30_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv30_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv30_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv31_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv31_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv31_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv31_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv32_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv32_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv32_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv32_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv33_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv33_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv33_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv33_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv34_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv34_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv34_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv34_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv35_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv35_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv35_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv35_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv36_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv36_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv36_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv36_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv37_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv37_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv37_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv37_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv38_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv38_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv38_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv38_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv39_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv39_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv39_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv39_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv3_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv3_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv3_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv3_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv40_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv40_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv40_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv40_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv4_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv4_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv4_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv4_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv5_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv5_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv5_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv5_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv6_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv6_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv6_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv6_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv7_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv7_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv7_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv7_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv8_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv8_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv8_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv8_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv9_0.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv9_1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv9_2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrv9_3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr1.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr10.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr11.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr12.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr13.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr14.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr15.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr16.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr17.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr18.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr19.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr2.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr20.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr21.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr22.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr23.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr24.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr25.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr26.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr27.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr28.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr29.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr3.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr30.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr31.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr32.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr33.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr34.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr35.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr36.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr37.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr38.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr39.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr4.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr40.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr5.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr6.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr7.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr8.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/qrvfr9.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc10.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc13.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc15.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc16.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc17.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc18.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc20.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc22.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc24.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc26.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc28.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc30.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc32.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc34.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc36.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc40.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc42.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc44.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc46.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc48.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc50.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc52.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc54.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc56.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc58.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc60.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc62.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc64.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc66.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc68.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/data/rsc7.dat mode change 100644 => 100755 vendor/endroid/qr-code/assets/font/opensans.ttf mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/b.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/d.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/logo.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv1.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv10.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv11.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv12.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv13.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv14.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv15.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv16.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv17.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv18.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv19.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv2.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv20.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv21.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv22.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv23.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv24.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv25.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv26.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv27.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv28.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv29.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv3.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv30.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv31.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv32.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv33.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv34.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv35.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv36.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv37.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv38.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv39.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv4.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv40.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv5.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv6.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv7.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv8.png mode change 100644 => 100755 vendor/endroid/qr-code/assets/image/qrv9.png mode change 100644 => 100755 vendor/endroid/qr-code/composer.json mode change 100644 => 100755 vendor/endroid/qr-code/src/Bundle/Controller/QrCodeController.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Bundle/Resources/config/services.yml mode change 100644 => 100755 vendor/endroid/qr-code/src/Bundle/Twig/Extension/QrCodeExtension.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/DataDoesntExistsException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/FreeTypeLibraryMissingException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/ImageFunctionFailedException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/ImageFunctionUnknownException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/ImageSizeTooLargeException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/ImageTypeInvalidException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/Exceptions/VersionTooLargeException.php mode change 100644 => 100755 vendor/endroid/qr-code/src/QrCode.php mode change 100644 => 100755 vendor/endroid/qr-code/tests/QrCodeTest.php mode change 100644 => 100755 vendor/qiniu/php-sdk/test-env.sh diff --git a/thinkphp/lang/zh-cn.php b/thinkphp/lang/zh-cn.php index 16b1bb7ce..5a3e0bd6b 100644 --- a/thinkphp/lang/zh-cn.php +++ b/thinkphp/lang/zh-cn.php @@ -69,6 +69,7 @@ return [ 'chunk not support order' => 'Chunk不支持调用order方法', 'route pattern error' => '路由变量规则定义错误', 'route behavior will not support' => '路由行为废弃(使用中间件替代)', + 'closure not support cache(true)' => '使用闭包查询不支持cache(true),请指定缓存Key', // 上传错误信息 'unknown upload error' => '未知上传错误!', diff --git a/thinkphp/library/think/App.php b/thinkphp/library/think/App.php index 6da1888b5..039a876aa 100644 --- a/thinkphp/library/think/App.php +++ b/thinkphp/library/think/App.php @@ -20,7 +20,7 @@ use think\route\Dispatch; */ class App implements \ArrayAccess { - const VERSION = '5.1.8'; + const VERSION = '5.1.9'; /** * 当前模块路径 @@ -126,7 +126,7 @@ class App implements \ArrayAccess public function __construct($appPath = '') { - $this->appPath = $appPath ?: $this->getAppPath(); + $this->appPath = $appPath ? realpath($appPath) : $this->getAppPath(); $this->container = Container::getInstance(); } @@ -164,7 +164,7 @@ class App implements \ArrayAccess $this->beginTime = microtime(true); $this->beginMem = memory_get_usage(); $this->thinkPath = dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR; - $this->rootPath = dirname(realpath($this->appPath)) . DIRECTORY_SEPARATOR; + $this->rootPath = dirname($this->appPath) . DIRECTORY_SEPARATOR; $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR; $this->routePath = $this->rootPath . 'route' . DIRECTORY_SEPARATOR; $this->configPath = $this->rootPath . 'config' . DIRECTORY_SEPARATOR; @@ -756,9 +756,7 @@ class App implements \ArrayAccess public function getAppPath() { if (is_null($this->appPath)) { - $scriptName = 'cli' == PHP_SAPI ? getcwd() . DIRECTORY_SEPARATOR . $_SERVER['argv'][0] : $_SERVER['SCRIPT_FILENAME']; - - $this->appPath = realpath(dirname(dirname($scriptName)) . DIRECTORY_SEPARATOR . 'application') . DIRECTORY_SEPARATOR; + $this->appPath = Loader::getRootPath() . 'application' . DIRECTORY_SEPARATOR; } return $this->appPath; diff --git a/thinkphp/library/think/Db.php b/thinkphp/library/think/Db.php index 6ce22f391..9be2dd2ea 100644 --- a/thinkphp/library/think/Db.php +++ b/thinkphp/library/think/Db.php @@ -15,6 +15,7 @@ namespace think; * Class Db * @package think * @method \think\db\Query connect(array $config =[], mixed $name = false) static 连接/切换数据库连接 + * @method \think\db\Query master() static 从主服务器读取数据 * @method \think\db\Query table(string $table) static 指定数据表(含前缀) * @method \think\db\Query name(string $name) static 指定数据表(不含前缀) * @method \think\db\Query where(mixed $field, string $op = null, mixed $condition = null) static 查询条件 diff --git a/thinkphp/library/think/Loader.php b/thinkphp/library/think/Loader.php index 6354f9e47..e2bed16f4 100644 --- a/thinkphp/library/think/Loader.php +++ b/thinkphp/library/think/Loader.php @@ -52,21 +52,37 @@ class Loader */ private static $composerPath; + // 获取应用根目录 + public static function getRootPath() + { + if ('cli' == PHP_SAPI) { + $cwdPath = getcwd(); + + if (0 === strpos($_SERVER['argv'][0], $cwdPath)) { + $scriptName = $_SERVER['argv'][0]; + } else { + $scriptName = $cwdPath . DIRECTORY_SEPARATOR . $_SERVER['argv'][0]; + } + } else { + $scriptName = $_SERVER['SCRIPT_FILENAME']; + } + + $path = realpath(dirname($scriptName)); + + if (!is_file($path . DIRECTORY_SEPARATOR . 'think')) { + $path = dirname($path); + } + + return $path . DIRECTORY_SEPARATOR; + } + // 注册自动加载机制 public static function register($autoload = '') { // 注册系统自动加载 spl_autoload_register($autoload ?: 'think\\Loader::autoload', true, true); - $scriptName = 'cli' == PHP_SAPI ? getcwd() . DIRECTORY_SEPARATOR . $_SERVER['argv'][0] : $_SERVER['SCRIPT_FILENAME']; - - $path = realpath(dirname($scriptName)); - - if ('cli-server' == PHP_SAPI || !is_file('./think')) { - $rootPath = dirname($path) . DIRECTORY_SEPARATOR; - } else { - $rootPath = $path . DIRECTORY_SEPARATOR; - } + $rootPath = self::getRootPath(); self::$composerPath = $rootPath . 'vendor' . DIRECTORY_SEPARATOR . 'composer' . DIRECTORY_SEPARATOR; @@ -338,6 +354,10 @@ class Loader if (is_file(self::$composerPath . 'autoload_files.php')) { $includeFiles = require self::$composerPath . 'autoload_files.php'; foreach ($includeFiles as $fileIdentifier => $file) { + if (isset($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + continue; + } + if (empty(self::$autoloadFiles[$fileIdentifier])) { __require_file($file); self::$autoloadFiles[$fileIdentifier] = true; diff --git a/thinkphp/library/think/Model.php b/thinkphp/library/think/Model.php index 433e6d096..9a98a4084 100644 --- a/thinkphp/library/think/Model.php +++ b/thinkphp/library/think/Model.php @@ -104,6 +104,12 @@ abstract class Model implements \JsonSerializable, \ArrayAccess */ protected $error; + /** + * 软删除字段默认值 + * @var mixed + */ + protected $defaultSoftDelete; + /** * 架构函数 * @access public @@ -245,11 +251,8 @@ abstract class Model implements \JsonSerializable, \ArrayAccess if ($useBaseQuery) { // 软删除 - if (method_exists($this, 'getDeleteTimeField')) { - $field = $this->getDeleteTimeField(true); - if ($field) { - $query->useSoftDelete($field); - } + if (method_exists($this, 'withNoTrashed')) { + $this->withNoTrashed($query); } // 全局作用域 @@ -469,7 +472,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess foreach ((array) $pk as $key) { if (isset($data[$key])) { - $array[$key] = [$key, '=', $data[$key]]; + $array[] = [$key, '=', $data[$key]]; unset($data[$key]); } } @@ -574,10 +577,10 @@ abstract class Model implements \JsonSerializable, \ArrayAccess } /** - * 字段值(延迟)增长 + * 字段值(延迟)减少 * @access public * @param string $field 字段名 - * @param integer $step 增长值 + * @param integer $step 减少值 * @param integer $lazyTime 延时时间(s) * @return integer|true * @throws Exception diff --git a/thinkphp/library/think/Request.php b/thinkphp/library/think/Request.php index 16db947bb..c627d06d7 100644 --- a/thinkphp/library/think/Request.php +++ b/thinkphp/library/think/Request.php @@ -1588,9 +1588,18 @@ class Request $ip = $_SERVER['REMOTE_ADDR']; } + // IP地址类型 + $ip_mode = (strpos($ip, ':') === false) ? 'ipv4' : 'ipv6'; + // IP地址合法验证 - $long = sprintf("%u", ip2long($ip)); - $ip = $long ? [$ip, $long] : ['0.0.0.0', 0]; + if (filter_var($ip, FILTER_VALIDATE_IP) !== $ip) { + $ip = ($ip_mode === 'ipv4') ? '0.0.0.0' : '::'; + } + + // 如果是ipv4地址,则直接使用ip2long返回int类型ip;如果是ipv6地址,暂时不支持,直接返回0 + $long_ip = ($ip_mode === 'ipv4') ? sprintf("%u", ip2long($ip)) : 0; + + $ip = [$ip, $long_ip]; return $ip[$type]; } diff --git a/thinkphp/library/think/Validate.php b/thinkphp/library/think/Validate.php index 930f7d0fa..bb1700459 100644 --- a/thinkphp/library/think/Validate.php +++ b/thinkphp/library/think/Validate.php @@ -749,7 +749,7 @@ class Validate $result = in_array($value, [true, false, 0, 1, '0', '1'], true); break; case 'number': - $result = ctype_digit($value); + $result = ctype_digit((string) $value); break; case 'array': // 是否为数组 diff --git a/thinkphp/library/think/db/Builder.php b/thinkphp/library/think/db/Builder.php index 78ea0f4a9..31e5fc5e9 100644 --- a/thinkphp/library/think/db/Builder.php +++ b/thinkphp/library/think/db/Builder.php @@ -113,7 +113,7 @@ abstract class Builder $result = []; foreach ($data as $key => $val) { - $item = $this->parseKey($query, $key); + $item = $this->parseKey($query, $key, true); if ($val instanceof Expression) { $result[$item] = $val->getValue(); @@ -183,9 +183,10 @@ abstract class Builder * @access public * @param Query $query 查询对象 * @param string $key 字段名 + * @param bool $strict 严格检测 * @return string */ - public function parseKey(Query $query, $key) + public function parseKey(Query $query, $key, $strict = false) { return $key; } @@ -209,7 +210,7 @@ abstract class Builder if ($field instanceof Expression) { $array[] = $field->getValue(); } elseif (!is_numeric($key)) { - $array[] = $this->parseKey($query, $key) . ' AS ' . $this->parseKey($query, $field); + $array[] = $this->parseKey($query, $key) . ' AS ' . $this->parseKey($query, $field, true); } else { $array[] = $this->parseKey($query, $field); } @@ -363,7 +364,7 @@ abstract class Builder protected function parseWhereItem(Query $query, $field, $val, $rule = '', $binds = [], $bindName = null) { // 字段分析 - $key = $field ? $this->parseKey($query, $field) : ''; + $key = $field ? $this->parseKey($query, $field, true) : ''; // 查询规则和条件 if (!is_array($val)) { @@ -808,45 +809,43 @@ abstract class Builder return ''; } - if (is_array($order)) { - $array = []; + $array = []; - foreach ($order as $key => $val) { - if ($val instanceof Expression) { - $array[] = $val->getValue(); - } elseif (is_array($val)) { - if (isset($val['sort'])) { - $sort = ' ' . $val['sort']; - unset($val['sort']); - } else { - $sort = ''; - } - - $options = $query->getOptions(); - $bind = $this->connection->getFieldsBind($options['table']); - - foreach ($val as $k => $item) { - $val[$k] = $this->parseDataBind($query, $key, $item, $bind, $k); - } - - $array[] = 'field(' . $this->parseKey($query, $key) . ',' . implode(',', $val) . ')' . $sort; - } elseif (is_numeric($key)) { - if ('[rand]' == $val) { - $array[] = $this->parseRand($query); - } elseif (false === strpos($val, '(')) { - $array[] = $this->parseKey($query, $val); - } else { - $array[] = $val; - } + foreach ($order as $key => $val) { + if ($val instanceof Expression) { + $array[] = $val->getValue(); + } elseif (is_array($val)) { + if (isset($val['sort'])) { + $sort = ' ' . $val['sort']; + unset($val['sort']); } else { - $sort = in_array(strtolower(trim($val)), ['asc', 'desc']) ? ' ' . $val : ''; - $array[] = $this->parseKey($query, $key) . ' ' . $sort; + $sort = ''; } - } - $order = implode(',', $array); + $options = $query->getOptions(); + $bind = $this->connection->getFieldsBind($options['table']); + + foreach ($val as $k => $item) { + $val[$k] = $this->parseDataBind($query, $key, $item, $bind, $k); + } + + $array[] = 'field(' . $this->parseKey($query, $key, true) . ',' . implode(',', $val) . ')' . $sort; + } elseif ('[rand]' == $val) { + $array[] = $this->parseRand($query); + } else { + if (is_numeric($key)) { + list($key, $sort) = explode(' ', strpos($val, ' ') ? $val : $val . ' '); + } else { + $sort = $val; + } + + $sort = in_array(strtolower($sort), ['asc', 'desc'], true) ? ' ' . $sort : ''; + $array[] = $this->parseKey($query, $key, true) . $sort; + } } + $order = implode(',', $array); + return ' ORDER BY ' . $order; } @@ -950,11 +949,7 @@ abstract class Builder return ''; } - if (is_array($index)) { - $index = join(",", $index); - } - - return sprintf(" FORCE INDEX ( %s ) ", $index); + return sprintf(" FORCE INDEX ( %s ) ", is_array($index) ? implode(',', $index) : $index); } /** @@ -1070,7 +1065,7 @@ abstract class Builder $fields = []; foreach ($insertFields as $field) { - $fields[] = $this->parseKey($query, $field); + $fields[] = $this->parseKey($query, $field, true); } return str_replace( @@ -1102,7 +1097,7 @@ abstract class Builder } foreach ($fields as &$field) { - $field = $this->parseKey($query, $field); + $field = $this->parseKey($query, $field, true); } return 'INSERT INTO ' . $this->parseTable($query, $table, $options) . ' (' . implode(',', $fields) . ') ' . $this->select($options); diff --git a/thinkphp/library/think/db/Connection.php b/thinkphp/library/think/db/Connection.php index 142e80443..aa1b74028 100644 --- a/thinkphp/library/think/db/Connection.php +++ b/thinkphp/library/think/db/Connection.php @@ -2076,7 +2076,7 @@ abstract class Connection { if (is_scalar($value)) { $data = $value; - } elseif (is_array($value) && isset($value[1], $value[2]) && in_array($value[1], ['=', 'eq'])) { + } elseif (is_array($value) && isset($value[1], $value[2]) && in_array($value[1], ['=', 'eq'], true) && is_scalar($value[2])) { $data = $value[2]; } @@ -2089,7 +2089,7 @@ abstract class Connection try { return md5($prefix . serialize($query->getOptions()) . serialize($query->getBind(false))); } catch (\Exception $e) { - return; + throw new Exception('closure not support cache(true)'); } } diff --git a/thinkphp/library/think/db/Query.php b/thinkphp/library/think/db/Query.php index ddb2bbea7..0329e1c29 100644 --- a/thinkphp/library/think/db/Query.php +++ b/thinkphp/library/think/db/Query.php @@ -1357,7 +1357,7 @@ class Query public function useSoftDelete($field, $condition = null) { if ($field) { - $this->options['soft_delete'] = [$field, $condition ?: ['null', '']]; + $this->options['soft_delete'] = [$field, $condition]; } return $this; @@ -1447,7 +1447,6 @@ class Query return $this->parseArrayWhereItems($field, $logic); } elseif ($field instanceof \Closure) { $where = $field; - $field = ''; } elseif (is_string($field)) { if (preg_match('/[,=\<\'\"\(\s]/', $field)) { return $this->whereRaw($field, $op); @@ -1460,11 +1459,7 @@ class Query } if (!empty($where)) { - if (isset($this->options['where'][$logic][$field])) { - $this->options['where'][$logic][] = $where; - } else { - $this->options['where'][$logic][$field] = $where; - } + $this->options['where'][$logic][] = $where; } return $this; @@ -1490,9 +1485,13 @@ class Query if (in_array(strtoupper($op), ['NULL', 'NOTNULL', 'NOT NULL'], true)) { // null查询 $where = [$field, $op, '']; + } elseif (in_array(strtolower($op), ['=', 'eq', null], true)) { + $where = [$field, 'NULL', '']; + } elseif (in_array(strtolower($op), ['<>', 'neq'], true)) { + $where = [$field, 'NOTNULL', '']; } else { // 字段相等查询 - $where = is_null($op) ? [$field, 'NULL', ''] : [$field, '=', $op]; + $where = [$field, '=', $op]; } } else { $where = $field ? [$field, $op, $condition] : null; @@ -1513,11 +1512,7 @@ class Query if (key($field) !== 0) { $where = []; foreach ($field as $key => $val) { - if (is_null($val)) { - $where[$key] = [$key, 'NULL', '']; - } else { - $where[$key] = !is_scalar($val) ? $val : [$key, '=', $val]; - } + $where[] = is_null($val) ? [$key, 'NULL', ''] : [$key, '=', $val]; } } else { // 数组批量查询 @@ -1777,7 +1772,11 @@ class Query $field = $this->options['via'] . '.' . $field; } - $field = empty($order) ? $field : [$field => $order]; + if (strpos($field, ',')) { + $field = array_map('trim', explode(',', $field)); + } else { + $field = empty($order) ? $field : [$field => $order]; + } } elseif (!empty($this->options['via'])) { foreach ($field as $key => $val) { if (is_numeric($key)) { diff --git a/thinkphp/library/think/db/builder/Mysql.php b/thinkphp/library/think/db/builder/Mysql.php index a73fa293d..a17657d9f 100644 --- a/thinkphp/library/think/db/builder/Mysql.php +++ b/thinkphp/library/think/db/builder/Mysql.php @@ -105,9 +105,10 @@ class Mysql extends Builder * @access public * @param Query $query 查询对象 * @param string $key 字段名 + * @param bool $strict 严格检测 * @return string */ - public function parseKey(Query $query, $key) + public function parseKey(Query $query, $key, $strict = false) { if (is_int($key)) { return $key; @@ -118,7 +119,7 @@ class Mysql extends Builder // JSON字段支持 list($field, $name) = explode('->', $key, 2); - $key = 'json_extract(' . $this->parseKey($query, $field) . ', \'$.' . str_replace('->', '.', $name) . '\')'; + return 'json_extract(' . $this->parseKey($query, $field) . ', \'$.' . str_replace('->', '.', $name) . '\')'; } elseif (strpos($key, '.') && !preg_match('/[,\'\"\(\)`\s]/', $key)) { list($table, $key) = explode('.', $key, 2); @@ -134,7 +135,7 @@ class Mysql extends Builder } } - if (!preg_match('/[,\'\"\*\(\)`.\s]/', $key)) { + if ($strict || !preg_match('/[,\'\"\*\(\)`.\s]/', $key)) { $key = '`' . $key . '`'; } diff --git a/thinkphp/library/think/db/builder/Pgsql.php b/thinkphp/library/think/db/builder/Pgsql.php index 4db6932de..32373b64d 100644 --- a/thinkphp/library/think/db/builder/Pgsql.php +++ b/thinkphp/library/think/db/builder/Pgsql.php @@ -51,9 +51,10 @@ class Pgsql extends Builder * @access public * @param Query $query 查询对象 * @param string $key 字段名 + * @param bool $strict 严格检测 * @return string */ - public function parseKey(Query $query, $key) + public function parseKey(Query $query, $key, $strict = false) { $key = trim($key); diff --git a/thinkphp/library/think/db/builder/Sqlite.php b/thinkphp/library/think/db/builder/Sqlite.php index 141410c1e..9b244617e 100644 --- a/thinkphp/library/think/db/builder/Sqlite.php +++ b/thinkphp/library/think/db/builder/Sqlite.php @@ -59,9 +59,10 @@ class Sqlite extends Builder * @access public * @param Query $query 查询对象 * @param string $key 字段名 + * @param bool $strict 严格检测 * @return string */ - public function parseKey(Query $query, $key) + public function parseKey(Query $query, $key, $strict = false) { $key = trim($key); if (strpos($key, '.')) { diff --git a/thinkphp/library/think/db/builder/Sqlsrv.php b/thinkphp/library/think/db/builder/Sqlsrv.php index b95e234ba..4d3dc15bc 100644 --- a/thinkphp/library/think/db/builder/Sqlsrv.php +++ b/thinkphp/library/think/db/builder/Sqlsrv.php @@ -12,6 +12,7 @@ namespace think\db\builder; use think\db\Builder; +use think\db\Expression; use think\db\Query; /** @@ -35,28 +36,30 @@ class Sqlsrv extends Builder */ protected function parseOrder(Query $query, $order) { - if (is_array($order)) { - $array = []; - - foreach ($order as $key => $val) { - if (is_numeric($key)) { - if (false === strpos($val, '(')) { - $array[] = $this->parseKey($query, $val); - } elseif ('[rand]' == $val) { - $array[] = $this->parseRand($query); - } else { - $array[] = $val; - } - } else { - $sort = in_array(strtolower(trim($val)), ['asc', 'desc']) ? ' ' . $val : ''; - $array[] = $this->parseKey($query, $key) . ' ' . $sort; - } - } - - $order = implode(',', $array); + if (empty($order)) { + return ' ORDER BY rand()'; } - return !empty($order) ? ' ORDER BY ' . $order : ' ORDER BY rand()'; + $array = []; + + foreach ($order as $key => $val) { + if ($val instanceof Expression) { + $array[] = $val->getValue(); + } elseif ('[rand]' == $val) { + $array[] = $this->parseRand($query); + } else { + if (is_numeric($key)) { + list($key, $sort) = explode(' ', strpos($val, ' ') ? $val : $val . ' '); + } else { + $sort = $val; + } + + $sort = in_array(strtolower($sort), ['asc', 'desc'], true) ? ' ' . $sort : ''; + $array[] = $this->parseKey($query, $key, true) . $sort; + } + } + + return ' ORDER BY ' . implode(',', $array); } /** @@ -75,10 +78,15 @@ class Sqlsrv extends Builder * @access public * @param Query $query 查询对象 * @param string $key 字段名 + * @param bool $strict 严格检测 * @return string */ - public function parseKey(Query $query, $key) + public function parseKey(Query $query, $key, $strict = false) { + if (is_int($key)) { + return $key; + } + $key = trim($key); if (strpos($key, '.') && !preg_match('/[,\'\"\(\)\[\s]/', $key)) { @@ -96,7 +104,7 @@ class Sqlsrv extends Builder } } - if (!is_numeric($key) && !preg_match('/[,\'\"\*\(\)\[.\s]/', $key)) { + if ($strict || !preg_match('/[,\'\"\*\(\)\[.\s]/', $key)) { $key = '[' . $key . ']'; } diff --git a/thinkphp/library/think/model/concern/SoftDelete.php b/thinkphp/library/think/model/concern/SoftDelete.php index 473f9e3ea..68b4c1972 100644 --- a/thinkphp/library/think/model/concern/SoftDelete.php +++ b/thinkphp/library/think/model/concern/SoftDelete.php @@ -51,11 +51,23 @@ trait SoftDelete if ($field) { return $model ->db(false) - ->useSoftDelete($field, ['not null', '']); + ->useSoftDelete($field, $model->getWithTrashedExp()); } + return $model->db(false); } + /** + * 获取软删除数据的查询条件 + * @access protected + * @return array + */ + protected function getWithTrashedExp() + { + return is_null($this->defaultSoftDelete) ? + ['notnull', ''] : ['<>', $this->defaultSoftDelete]; + } + /** * 删除当前的记录 * @access public @@ -143,16 +155,17 @@ trait SoftDelete $name = $this->getDeleteTimeField(); if (empty($where)) { - $pk = $this->getPk(); - $where[$pk] = [$pk, '=', $this->getData($pk)]; + $pk = $this->getPk(); + + $where[] = [$pk, '=', $this->getData($pk)]; } if ($name) { // 恢复删除 return $this->db(false) ->where($where) - ->useSoftDelete($name, ['not null', '']) - ->update([$name => null]); + ->useSoftDelete($name, $this->getWithTrashedExp()) + ->update([$name => $this->defaultSoftDelete]); } return 0; @@ -183,4 +196,19 @@ trait SoftDelete return $field; } + + /** + * 查询的时候默认排除软删除数据 + * @access protected + * @param Query $query + * @return void + */ + protected function withNoTrashed($query) + { + $field = $this->getDeleteTimeField(true); + + if ($field) { + $query->useSoftDelete($field, $this->defaultSoftDelete); + } + } } diff --git a/thinkphp/library/think/route/Rule.php b/thinkphp/library/think/route/Rule.php index 8d53c4377..8f9d47e92 100644 --- a/thinkphp/library/think/route/Rule.php +++ b/thinkphp/library/think/route/Rule.php @@ -864,7 +864,7 @@ abstract class Rule $request->route($var); // 路由到模块/控制器/操作 - return (new ModuleDispatch([$module, $controller, $action]))->convert(false); + return new ModuleDispatch([$module, $controller, $action], [], false); } /** diff --git a/thinkphp/library/think/route/RuleGroup.php b/thinkphp/library/think/route/RuleGroup.php index bf8c65897..1fe3b2722 100644 --- a/thinkphp/library/think/route/RuleGroup.php +++ b/thinkphp/library/think/route/RuleGroup.php @@ -316,7 +316,7 @@ class RuleGroup extends Rule } try { - if (!empty($regex) && preg_match('/^(?:' . implode('|', $regex) . ')/', $url, $match)) { + if (!empty($regex) && preg_match('/^(?:' . implode('|', $regex) . ')/u', $url, $match)) { $var = []; foreach ($match as $key => $val) { if (is_string($key) && '' !== $val) { diff --git a/thinkphp/library/think/route/RuleItem.php b/thinkphp/library/think/route/RuleItem.php index 27e5e7548..117c1a9bd 100644 --- a/thinkphp/library/think/route/RuleItem.php +++ b/thinkphp/library/think/route/RuleItem.php @@ -309,7 +309,7 @@ class RuleItem extends Rule $regex = $this->buildRuleRegex($rule, $matches[0], $pattern, $option, $completeMatch); try { - if (!preg_match('/^' . $regex . ($completeMatch ? '$' : '') . '/', $url, $match)) { + if (!preg_match('/^' . $regex . ($completeMatch ? '$' : '') . '/u', $url, $match)) { return false; } } catch (\Exception $e) { diff --git a/thinkphp/library/think/route/dispatch/Module.php b/thinkphp/library/think/route/dispatch/Module.php index 26c92e94d..ec341997f 100644 --- a/thinkphp/library/think/route/dispatch/Module.php +++ b/thinkphp/library/think/route/dispatch/Module.php @@ -23,6 +23,15 @@ class Module extends Dispatch protected $controller; protected $actionName; + public function __construct($dispatch, $param = [], $convert = null) + { + $this->app = Container::get('app'); + $this->dispatch = $dispatch; + $this->param = $param; + $this->convert = $convert; + $this->init(); + } + protected function init() { $result = $this->dispatch; @@ -90,13 +99,13 @@ class Module extends Dispatch // 设置当前请求的控制器、操作 $this->app['request']->controller(Loader::parseName($this->controller, 1))->action($this->actionName); - // 监听module_init - $this->app['hook']->listen('module_init'); - } public function run() { + // 监听module_init + $this->app['hook']->listen('module_init'); + // 实例化控制器 try { $instance = $this->app->controller($this->controller, diff --git a/thinkphp/library/think/view/driver/Php.php b/thinkphp/library/think/view/driver/Php.php index 6e5db3bd7..f69871528 100644 --- a/thinkphp/library/think/view/driver/Php.php +++ b/thinkphp/library/think/view/driver/Php.php @@ -141,7 +141,7 @@ class Php if ($controller) { if ('' == $template) { // 如果模板文件名为空 按照默认规则定位 - $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . (1 == $this->config['auto_rule'] ? Loader::parseName($request->action(true)) : $request->action()); + $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . $this->getActionTemplate($request); } elseif (false === strpos($template, $depr)) { $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . $template; } @@ -153,6 +153,14 @@ class Php return $path . ltrim($template, '/') . '.' . ltrim($this->config['view_suffix'], '.'); } + protected function getActionTemplate($request) + { + $rule = [$request->action(true), Loader::parseName($request->action(true)), $request->action()]; + $type = $this->config['auto_rule']; + + return isset($rule[$type]) ? $rule[$type] : $rule[0]; + } + /** * 配置模板引擎 * @access private diff --git a/thinkphp/library/think/view/driver/Think.php b/thinkphp/library/think/view/driver/Think.php index 137acf859..834a8c032 100644 --- a/thinkphp/library/think/view/driver/Think.php +++ b/thinkphp/library/think/view/driver/Think.php @@ -132,10 +132,11 @@ class Think if (0 !== strpos($template, '/')) { $template = str_replace(['/', ':'], $depr, $template); $controller = Loader::parseName($request->controller()); + if ($controller) { if ('' == $template) { // 如果模板文件名为空 按照默认规则定位 - $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . (1 == $this->config['auto_rule'] ? Loader::parseName($request->action(true)) : $request->action()); + $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . $this->getActionTemplate($request); } elseif (false === strpos($template, $depr)) { $template = str_replace('.', DIRECTORY_SEPARATOR, $controller) . $depr . $template; } @@ -147,6 +148,14 @@ class Think return $path . ltrim($template, '/') . '.' . ltrim($this->config['view_suffix'], '.'); } + protected function getActionTemplate($request) + { + $rule = [$request->action(true), Loader::parseName($request->action(true)), $request->action()]; + $type = $this->config['auto_rule']; + + return isset($rule[$type]) ? $rule[$type] : $rule[0]; + } + /** * 配置或者获取模板引擎参数 * @access private diff --git a/vendor/aliyuncs/oss-sdk-php/build-phar.sh b/vendor/aliyuncs/oss-sdk-php/build-phar.sh old mode 100644 new mode 100755 diff --git a/vendor/autoload.php b/vendor/autoload.php index 0047111a6..626c40b0e 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4::getLoader(); +return ComposerAutoloaderInitc20a6e9f7e4c957b608b8084ee731eb0::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 2c72175e7..dc02dfb11 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -379,9 +379,9 @@ class ClassLoader $subPath = substr($subPath, 0, $lastPos); $search = $subPath.'\\'; if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { - $length = $this->prefixLengthsPsr4[$first][$search]; - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + if (file_exists($file = $dir . $pathEnd)) { return $file; } } diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index d83d945e0..4598fc38b 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -6,6 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php', '841780ea2e1d6545ea3a253239d59c05' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/functions.php', + '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php', ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 0a545102f..2bbd72ff8 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4 +class ComposerAutoloaderInitc20a6e9f7e4c957b608b8084ee731eb0 { private static $loader; @@ -19,15 +19,15 @@ class ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitc20a6e9f7e4c957b608b8084ee731eb0', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitc20a6e9f7e4c957b608b8084ee731eb0', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit33664714c3aeb065c5c84573408fd6a4::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -48,19 +48,19 @@ class ComposerAutoloaderInit33664714c3aeb065c5c84573408fd6a4 $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit33664714c3aeb065c5c84573408fd6a4::$files; + $includeFiles = Composer\Autoload\ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire33664714c3aeb065c5c84573408fd6a4($fileIdentifier, $file); + composerRequirec20a6e9f7e4c957b608b8084ee731eb0($fileIdentifier, $file); } return $loader; } } -function composerRequire33664714c3aeb065c5c84573408fd6a4($fileIdentifier, $file) +function composerRequirec20a6e9f7e4c957b608b8084ee731eb0($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 8bae52afa..e8d727d37 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,11 +4,11 @@ namespace Composer\Autoload; -class ComposerStaticInit33664714c3aeb065c5c84573408fd6a4 +class ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0 { public static $files = array ( - '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php', '841780ea2e1d6545ea3a253239d59c05' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/functions.php', + '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php', ); public static $prefixLengthsPsr4 = array ( @@ -258,9 +258,9 @@ class ComposerStaticInit33664714c3aeb065c5c84573408fd6a4 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit33664714c3aeb065c5c84573408fd6a4::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit33664714c3aeb065c5c84573408fd6a4::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit33664714c3aeb065c5c84573408fd6a4::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInitc20a6e9f7e4c957b608b8084ee731eb0::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index e47427012..44f3cbf94 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,109 +1,32 @@ [ { - "name": "topthink/think-installer", - "version": "v1.0.12", - "version_normalized": "1.0.12.0", + "name": "aliyuncs/oss-sdk-php", + "version": "v2.3.0", + "version_normalized": "2.3.0.0", "source": { "type": "git", - "url": "https://github.com/top-think/think-installer.git", - "reference": "1be326e68f63de4e95977ed50f46ae75f017556d" + "url": "https://github.com/aliyun/aliyun-oss-php-sdk.git", + "reference": "e69f57916678458642ac9d2fd341ae78a56996c8" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/top-think/think-installer/1be326e68f63de4e95977ed50f46ae75f017556d.zip", - "reference": "1be326e68f63de4e95977ed50f46ae75f017556d", + "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/e69f57916678458642ac9d2fd341ae78a56996c8", + "reference": "e69f57916678458642ac9d2fd341ae78a56996c8", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0" + "php": ">=5.3" }, "require-dev": { - "composer/composer": "1.0.*@dev" + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~1.0" }, - "time": "2017-05-27T06:58:09+00:00", - "type": "composer-plugin", - "extra": { - "class": "think\\composer\\Plugin" - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "think\\composer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "yunwuxin", - "email": "448901948@qq.com" - } - ] - }, - { - "name": "zoujingli/ip2region", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/zoujingli/ip2region.git", - "reference": "5d981fbf3b574bad7fe9652e7aecba0920f54325" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/zoujingli/ip2region/5d981fbf3b574bad7fe9652e7aecba0920f54325.zip", - "reference": "5d981fbf3b574bad7fe9652e7aecba0920f54325", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2017-11-09T03:36:17+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "Ip2Region.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache 2.0" - ], - "description": "Ip2Region", - "homepage": "https://github.com/zoujingli/Ip2Region", - "keywords": [ - "Ip2Region" - ] - }, - { - "name": "zoujingli/wechat-developer", - "version": "v1.0.4", - "version_normalized": "1.0.4.0", - "source": { - "type": "git", - "url": "https://github.com/zoujingli/WeChatDeveloper.git", - "reference": "9ba300d0b171fd83e9b958d4f25ed4b0b3d16469" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/zoujingli/WeChatDeveloper/9ba300d0b171fd83e9b958d4f25ed4b0b3d16469.zip", - "reference": "9ba300d0b171fd83e9b958d4f25ed4b0b3d16469", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-openssl": "*", - "php": ">=5.4" - }, - "time": "2018-03-26T06:32:30+00:00", + "time": "2018-01-08T06:59:35+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { - "WeChat\\": "WeChat" + "OSS\\": "src/OSS" } }, "notification-url": "https://packagist.org/downloads/", @@ -112,216 +35,12 @@ ], "authors": [ { - "name": "Anyon", - "email": "zoujingli@qq.com", - "homepage": "http://ctolog.com" + "name": "Aliyuncs", + "homepage": "http://www.aliyun.com" } ], - "description": "WeChat platform and WeChat payment development tools", - "homepage": "https://github.com/zoujingli/WeChatDeveloper", - "keywords": [ - "WeChatDeveloper", - "wechat", - "wechatpay" - ] - }, - { - "name": "zoujingli/weopen-developer", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/zoujingli/WeOpenDeveloper.git", - "reference": "8bb75bc08488a43964c00f027b21b93ed58e8d5a" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/zoujingli/WeOpenDeveloper/8bb75bc08488a43964c00f027b21b93ed58e8d5a.zip", - "reference": "8bb75bc08488a43964c00f027b21b93ed58e8d5a", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-openssl": "*", - "php": ">=5.4", - "zoujingli/wechat-developer": "^1.0.0" - }, - "time": "2018-03-21T05:06:35+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "WeOpen\\": "WeOpen" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anyon", - "email": "zoujingli@qq.com", - "homepage": "http://ctolog.com" - } - ], - "description": "WeChat Open development of SDK", - "homepage": "https://github.com/zoujingli/WeOpenDeveloper", - "keywords": [ - "WeChatOpen", - "WeChatOpenDeveloper", - "wechat" - ] - }, - { - "name": "topthink/framework", - "version": "v5.1.8", - "version_normalized": "5.1.8.0", - "source": { - "type": "git", - "url": "https://github.com/top-think/framework.git", - "reference": "8f6c84abd9e2f9db5a071168c0153724b54b083c" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/top-think/framework/8f6c84abd9e2f9db5a071168c0153724b54b083c.zip", - "reference": "8f6c84abd9e2f9db5a071168c0153724b54b083c", - "shasum": "" - }, - "require": { - "php": ">=5.6.0", - "topthink/think-installer": "~1.0" - }, - "require-dev": { - "johnkary/phpunit-speedtrap": "^1.0", - "mikey179/vfsstream": "~1.6", - "phpdocumentor/reflection-docblock": "^2.0", - "phploc/phploc": "2.*", - "phpunit/phpunit": "^5.0|^6.0", - "sebastian/phpcpd": "2.*", - "squizlabs/php_codesniffer": "2.*" - }, - "time": "2018-04-06T05:28:49+00:00", - "type": "think-framework", - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "liu21st", - "email": "liu21st@gmail.com" - }, - { - "name": "yunwuxin", - "email": "448901948@qq.com" - } - ], - "description": "the new thinkphp framework", - "homepage": "http://thinkphp.cn/", - "keywords": [ - "framework", - "orm", - "thinkphp" - ] - }, - { - "name": "topthink/think-captcha", - "version": "v2.0.2", - "version_normalized": "2.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/top-think/think-captcha.git", - "reference": "54c8a51552f99ff9ea89ea9c272383a8f738ceee" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/top-think/think-captcha/54c8a51552f99ff9ea89ea9c272383a8f738ceee.zip", - "reference": "54c8a51552f99ff9ea89ea9c272383a8f738ceee", - "shasum": "" - }, - "require": { - "topthink/framework": "5.1.*" - }, - "time": "2017-12-31T16:37:49+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "think\\captcha\\": "src/" - }, - "files": [ - "src/helper.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "yunwuxin", - "email": "448901948@qq.com" - } - ], - "description": "captcha package for thinkphp5" - }, - { - "name": "symfony/options-resolver", - "version": "v3.4.8", - "version_normalized": "3.4.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/options-resolver/f3109a6aedd20e35c3a33190e932c2b063b7b50e.zip", - "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8" - }, - "time": "2018-01-11T07:56:07+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "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 OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ] + "description": "Aliyun OSS SDK for PHP", + "homepage": "http://www.aliyun.com/product/oss/" }, { "name": "endroid/qr-code", @@ -334,7 +53,7 @@ }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/endroid/qr-code/c9644bec2a9cc9318e98d1437de3c628dcd1ef93.zip", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/c9644bec2a9cc9318e98d1437de3c628dcd1ef93", "reference": "c9644bec2a9cc9318e98d1437de3c628dcd1ef93", "shasum": "" }, @@ -385,49 +104,6 @@ "symfony" ] }, - { - "name": "aliyuncs/oss-sdk-php", - "version": "v2.3.0", - "version_normalized": "2.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/aliyun/aliyun-oss-php-sdk.git", - "reference": "e69f57916678458642ac9d2fd341ae78a56996c8" - }, - "dist": { - "type": "zip", - "url": "https://files.phpcomposer.com/files/aliyun/aliyun-oss-php-sdk/e69f57916678458642ac9d2fd341ae78a56996c8.zip", - "reference": "e69f57916678458642ac9d2fd341ae78a56996c8", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "~1.0" - }, - "time": "2018-01-08T06:59:35+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "OSS\\": "src/OSS" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aliyuncs", - "homepage": "http://www.aliyun.com" - } - ], - "description": "Aliyun OSS SDK for PHP", - "homepage": "http://www.aliyun.com/product/oss/" - }, { "name": "qiniu/php-sdk", "version": "v7.2.3", @@ -439,7 +115,7 @@ }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/qiniu/php-sdk/67852ba9cdd7f48e0e080961abebafee134fb329.zip", + "url": "https://api.github.com/repos/qiniu/php-sdk/zipball/67852ba9cdd7f48e0e080961abebafee134fb329", "reference": "67852ba9cdd7f48e0e080961abebafee134fb329", "shasum": "" }, @@ -480,5 +156,329 @@ "sdk", "storage" ] + }, + { + "name": "symfony/options-resolver", + "version": "v3.4.8", + "version_normalized": "3.4.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/f3109a6aedd20e35c3a33190e932c2b063b7b50e", + "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "time": "2018-01-11T07:56:07+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "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 OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ] + }, + { + "name": "topthink/framework", + "version": "v5.1.9", + "version_normalized": "5.1.9.0", + "source": { + "type": "git", + "url": "https://github.com/top-think/framework.git", + "reference": "fff4acf5727d7f83f059026098c681042db75bb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/top-think/framework/zipball/fff4acf5727d7f83f059026098c681042db75bb7", + "reference": "fff4acf5727d7f83f059026098c681042db75bb7", + "shasum": "" + }, + "require": { + "php": ">=5.6.0", + "topthink/think-installer": "~1.0" + }, + "require-dev": { + "johnkary/phpunit-speedtrap": "^1.0", + "mikey179/vfsstream": "~1.6", + "phpdocumentor/reflection-docblock": "^2.0", + "phploc/phploc": "2.*", + "phpunit/phpunit": "^5.0|^6.0", + "sebastian/phpcpd": "2.*", + "squizlabs/php_codesniffer": "2.*" + }, + "time": "2018-04-12T08:33:20+00:00", + "type": "think-framework", + "installation-source": "dist", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "liu21st", + "email": "liu21st@gmail.com" + }, + { + "name": "yunwuxin", + "email": "448901948@qq.com" + } + ], + "description": "the new thinkphp framework", + "homepage": "http://thinkphp.cn/", + "keywords": [ + "framework", + "orm", + "thinkphp" + ] + }, + { + "name": "topthink/think-captcha", + "version": "v2.0.2", + "version_normalized": "2.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/top-think/think-captcha.git", + "reference": "54c8a51552f99ff9ea89ea9c272383a8f738ceee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/top-think/think-captcha/zipball/54c8a51552f99ff9ea89ea9c272383a8f738ceee", + "reference": "54c8a51552f99ff9ea89ea9c272383a8f738ceee", + "shasum": "" + }, + "require": { + "topthink/framework": "5.1.*" + }, + "time": "2017-12-31T16:37:49+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "think\\captcha\\": "src/" + }, + "files": [ + "src/helper.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "yunwuxin", + "email": "448901948@qq.com" + } + ], + "description": "captcha package for thinkphp5" + }, + { + "name": "topthink/think-installer", + "version": "v1.0.12", + "version_normalized": "1.0.12.0", + "source": { + "type": "git", + "url": "https://github.com/top-think/think-installer.git", + "reference": "1be326e68f63de4e95977ed50f46ae75f017556d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/top-think/think-installer/zipball/1be326e68f63de4e95977ed50f46ae75f017556d", + "reference": "1be326e68f63de4e95977ed50f46ae75f017556d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "require-dev": { + "composer/composer": "1.0.*@dev" + }, + "time": "2017-05-27T06:58:09+00:00", + "type": "composer-plugin", + "extra": { + "class": "think\\composer\\Plugin" + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "think\\composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "yunwuxin", + "email": "448901948@qq.com" + } + ] + }, + { + "name": "zoujingli/ip2region", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/zoujingli/ip2region.git", + "reference": "5d981fbf3b574bad7fe9652e7aecba0920f54325" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zoujingli/ip2region/zipball/5d981fbf3b574bad7fe9652e7aecba0920f54325", + "reference": "5d981fbf3b574bad7fe9652e7aecba0920f54325", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "time": "2017-11-09T03:36:17+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "Ip2Region.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache 2.0" + ], + "description": "Ip2Region", + "homepage": "https://github.com/zoujingli/Ip2Region", + "keywords": [ + "Ip2Region" + ] + }, + { + "name": "zoujingli/wechat-developer", + "version": "v1.0.5", + "version_normalized": "1.0.5.0", + "source": { + "type": "git", + "url": "https://github.com/zoujingli/WeChatDeveloper.git", + "reference": "e05fe6bb24438d15259a6af4915bd0638dc3914a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zoujingli/WeChatDeveloper/zipball/e05fe6bb24438d15259a6af4915bd0638dc3914a", + "reference": "e05fe6bb24438d15259a6af4915bd0638dc3914a", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-openssl": "*", + "php": ">=5.4" + }, + "time": "2018-04-09T11:07:00+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "WeChat\\": "WeChat" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anyon", + "email": "zoujingli@qq.com", + "homepage": "http://ctolog.com" + } + ], + "description": "WeChat platform and WeChat payment development tools", + "homepage": "https://github.com/zoujingli/WeChatDeveloper", + "keywords": [ + "WeChatDeveloper", + "wechat", + "wechatpay" + ] + }, + { + "name": "zoujingli/weopen-developer", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/zoujingli/WeOpenDeveloper.git", + "reference": "8bb75bc08488a43964c00f027b21b93ed58e8d5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zoujingli/WeOpenDeveloper/zipball/8bb75bc08488a43964c00f027b21b93ed58e8d5a", + "reference": "8bb75bc08488a43964c00f027b21b93ed58e8d5a", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-openssl": "*", + "php": ">=5.4", + "zoujingli/wechat-developer": "^1.0.0" + }, + "time": "2018-03-21T05:06:35+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "WeOpen\\": "WeOpen" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anyon", + "email": "zoujingli@qq.com", + "homepage": "http://ctolog.com" + } + ], + "description": "WeChat Open development of SDK", + "homepage": "https://github.com/zoujingli/WeOpenDeveloper", + "keywords": [ + "WeChatOpen", + "WeChatOpenDeveloper", + "wechat" + ] } ] diff --git a/vendor/endroid/qr-code/.travis.yml b/vendor/endroid/qr-code/.travis.yml index de30ea6f7..9233d9aa1 100644 --- a/vendor/endroid/qr-code/.travis.yml +++ b/vendor/endroid/qr-code/.travis.yml @@ -1,21 +1,21 @@ -language: php - -php: - - 5.4 - - 5.5 - - 5.6 - - 7.0 - - 7.1 - - hhvm - -matrix: - fast_finish: true - -before_install: - - if [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi; - - composer self-update && composer install --no-interaction - -script: bin/phpunit - -notifications: - email: info@endroid.nl +language: php + +php: + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - 7.1 + - hhvm + +matrix: + fast_finish: true + +before_install: + - if [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi; + - composer self-update && composer install --no-interaction + +script: bin/phpunit + +notifications: + email: info@endroid.nl diff --git a/vendor/endroid/qr-code/README.md b/vendor/endroid/qr-code/README.md index 2c51a989f..c4fcf39a7 100644 --- a/vendor/endroid/qr-code/README.md +++ b/vendor/endroid/qr-code/README.md @@ -1,132 +1,132 @@ -QR Code -======= - -*By [endroid](http://endroid.nl/)* - -[![Latest Stable Version](http://img.shields.io/packagist/v/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) -[![Build Status](http://img.shields.io/travis/endroid/QrCode.svg)](http://travis-ci.org/endroid/QrCode) -[![Total Downloads](http://img.shields.io/packagist/dt/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) -[![Monthly Downloads](http://img.shields.io/packagist/dm/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) -[![License](http://img.shields.io/packagist/l/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) - -This library based on QRcode Perl CGI & PHP scripts by Y. Swetake helps you generate images containing a QR code. - -## Installation - -Use [Composer](https://getcomposer.org/) to install the library. - -``` bash -$ composer require endroid/qrcode -``` - -## Usage - -```php -use Endroid\QrCode\QrCode; - -$qrCode = new QrCode(); -$qrCode - ->setText('Life is too short to be generating QR codes') - ->setSize(300) - ->setPadding(10) - ->setErrorCorrection('high') - ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]) - ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]) - ->setLabel('Scan the code') - ->setLabelFontSize(16) - ->setImageType(QrCode::IMAGE_TYPE_PNG) -; - -// now we can directly output the qrcode -header('Content-Type: '.$qrCode->getContentType()); -$qrCode->render(); - -// save it to a file -$qrCode->save('qrcode.png'); - -// or create a response object -$response = new Response($qrCode->get(), 200, ['Content-Type' => $qrCode->getContentType()]); -``` - -![QR Code](http://endroid.nl/qrcode/Life%20is%20too%20short%20to%20be%20generating%20QR%20codes.png?label=Scan%20the%20code) - -## Symfony integration - -Register the Symfony bundle in the kernel. - -```php -// app/AppKernel.php - -public function registerBundles() -{ - $bundles = [ - // ... - new Endroid\QrCode\Bundle\EndroidQrCodeBundle(), - ]; -} -``` - -The default parameters can be overridden via the configuration. -Alpha channel available range is [0, 127] in foreground and background colors. - -```yaml -endroid_qr_code: - size: 100 - padding: 10 - extension: gif - error_correction_level: high - foreground_color: { r: 0, g: 0, b: 0, a: 0 } - background_color: { r: 255, g: 255, b: 255, a: 0 } - label: 'My label' - label_font_size: 16 -``` - -Now you can retrieve the factory as follows. - -```php -$factory = $this->get('endroid.qrcode.factory'); -$factory->createQrCode(); -``` - -Add the following section to your routing to be able to handle QR code URLs. -This step can be skipped when you only use data URIs to display your images. - -``` yml -EndroidQrCodeBundle: - resource: "@EndroidQrCodeBundle/Controller/" - type: annotation - prefix: /qrcode -``` - -After installation and configuration, QR codes can be generated by appending -the QR code text to the url as mounted, followed by .png, .jpg or .gif. - -## Twig extension - -The bundle also provides a Twig extension for quickly generating QR code urls. -Optional parameters are extension, size, padding and errorCorrectionLevel. When -a parameter is omitted, the value in the bundle configuration is used. - -``` twig - - - -``` - -You can also use the data URI helper to embed the QR code within your HTML -instead of requiring a separate HTTP request to load your image. - -``` twig - -``` - -## Versioning - -Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatibility -breaking changes will be kept to a minimum but be aware that these can occur. -Lock your dependencies for production and test your code when upgrading. - -## License - -This bundle is under the MIT license. For the full copyright and license -information please view the LICENSE file that was distributed with this source code. +QR Code +======= + +*By [endroid](http://endroid.nl/)* + +[![Latest Stable Version](http://img.shields.io/packagist/v/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) +[![Build Status](http://img.shields.io/travis/endroid/QrCode.svg)](http://travis-ci.org/endroid/QrCode) +[![Total Downloads](http://img.shields.io/packagist/dt/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) +[![Monthly Downloads](http://img.shields.io/packagist/dm/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) +[![License](http://img.shields.io/packagist/l/endroid/qrcode.svg)](https://packagist.org/packages/endroid/qrcode) + +This library based on QRcode Perl CGI & PHP scripts by Y. Swetake helps you generate images containing a QR code. + +## Installation + +Use [Composer](https://getcomposer.org/) to install the library. + +``` bash +$ composer require endroid/qrcode +``` + +## Usage + +```php +use Endroid\QrCode\QrCode; + +$qrCode = new QrCode(); +$qrCode + ->setText('Life is too short to be generating QR codes') + ->setSize(300) + ->setPadding(10) + ->setErrorCorrection('high') + ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]) + ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]) + ->setLabel('Scan the code') + ->setLabelFontSize(16) + ->setImageType(QrCode::IMAGE_TYPE_PNG) +; + +// now we can directly output the qrcode +header('Content-Type: '.$qrCode->getContentType()); +$qrCode->render(); + +// save it to a file +$qrCode->save('qrcode.png'); + +// or create a response object +$response = new Response($qrCode->get(), 200, ['Content-Type' => $qrCode->getContentType()]); +``` + +![QR Code](http://endroid.nl/qrcode/Life%20is%20too%20short%20to%20be%20generating%20QR%20codes.png?label=Scan%20the%20code) + +## Symfony integration + +Register the Symfony bundle in the kernel. + +```php +// app/AppKernel.php + +public function registerBundles() +{ + $bundles = [ + // ... + new Endroid\QrCode\Bundle\EndroidQrCodeBundle(), + ]; +} +``` + +The default parameters can be overridden via the configuration. +Alpha channel available range is [0, 127] in foreground and background colors. + +```yaml +endroid_qr_code: + size: 100 + padding: 10 + extension: gif + error_correction_level: high + foreground_color: { r: 0, g: 0, b: 0, a: 0 } + background_color: { r: 255, g: 255, b: 255, a: 0 } + label: 'My label' + label_font_size: 16 +``` + +Now you can retrieve the factory as follows. + +```php +$factory = $this->get('endroid.qrcode.factory'); +$factory->createQrCode(); +``` + +Add the following section to your routing to be able to handle QR code URLs. +This step can be skipped when you only use data URIs to display your images. + +``` yml +EndroidQrCodeBundle: + resource: "@EndroidQrCodeBundle/Controller/" + type: annotation + prefix: /qrcode +``` + +After installation and configuration, QR codes can be generated by appending +the QR code text to the url as mounted, followed by .png, .jpg or .gif. + +## Twig extension + +The bundle also provides a Twig extension for quickly generating QR code urls. +Optional parameters are extension, size, padding and errorCorrectionLevel. When +a parameter is omitted, the value in the bundle configuration is used. + +``` twig + + + +``` + +You can also use the data URI helper to embed the QR code within your HTML +instead of requiring a separate HTTP request to load your image. + +``` twig + +``` + +## Versioning + +Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatibility +breaking changes will be kept to a minimum but be aware that these can occur. +Lock your dependencies for production and test your code when upgrading. + +## License + +This bundle is under the MIT license. For the full copyright and license +information please view the LICENSE file that was distributed with this source code. diff --git a/vendor/endroid/qr-code/assets/data/qrv10_0.dat b/vendor/endroid/qr-code/assets/data/qrv10_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv10_1.dat b/vendor/endroid/qr-code/assets/data/qrv10_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv10_2.dat b/vendor/endroid/qr-code/assets/data/qrv10_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv10_3.dat b/vendor/endroid/qr-code/assets/data/qrv10_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv11_0.dat b/vendor/endroid/qr-code/assets/data/qrv11_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv11_1.dat b/vendor/endroid/qr-code/assets/data/qrv11_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv11_2.dat b/vendor/endroid/qr-code/assets/data/qrv11_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv11_3.dat b/vendor/endroid/qr-code/assets/data/qrv11_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv12_0.dat b/vendor/endroid/qr-code/assets/data/qrv12_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv12_1.dat b/vendor/endroid/qr-code/assets/data/qrv12_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv12_2.dat b/vendor/endroid/qr-code/assets/data/qrv12_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv12_3.dat b/vendor/endroid/qr-code/assets/data/qrv12_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv13_0.dat b/vendor/endroid/qr-code/assets/data/qrv13_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv13_1.dat b/vendor/endroid/qr-code/assets/data/qrv13_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv13_2.dat b/vendor/endroid/qr-code/assets/data/qrv13_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv13_3.dat b/vendor/endroid/qr-code/assets/data/qrv13_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv14_0.dat b/vendor/endroid/qr-code/assets/data/qrv14_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv14_1.dat b/vendor/endroid/qr-code/assets/data/qrv14_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv14_2.dat b/vendor/endroid/qr-code/assets/data/qrv14_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv14_3.dat b/vendor/endroid/qr-code/assets/data/qrv14_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv15_0.dat b/vendor/endroid/qr-code/assets/data/qrv15_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv15_1.dat b/vendor/endroid/qr-code/assets/data/qrv15_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv15_2.dat b/vendor/endroid/qr-code/assets/data/qrv15_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv15_3.dat b/vendor/endroid/qr-code/assets/data/qrv15_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv16_0.dat b/vendor/endroid/qr-code/assets/data/qrv16_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv16_1.dat b/vendor/endroid/qr-code/assets/data/qrv16_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv16_2.dat b/vendor/endroid/qr-code/assets/data/qrv16_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv16_3.dat b/vendor/endroid/qr-code/assets/data/qrv16_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv17_0.dat b/vendor/endroid/qr-code/assets/data/qrv17_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv17_1.dat b/vendor/endroid/qr-code/assets/data/qrv17_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv17_2.dat b/vendor/endroid/qr-code/assets/data/qrv17_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv17_3.dat b/vendor/endroid/qr-code/assets/data/qrv17_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv18_0.dat b/vendor/endroid/qr-code/assets/data/qrv18_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv18_1.dat b/vendor/endroid/qr-code/assets/data/qrv18_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv18_2.dat b/vendor/endroid/qr-code/assets/data/qrv18_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv18_3.dat b/vendor/endroid/qr-code/assets/data/qrv18_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv19_0.dat b/vendor/endroid/qr-code/assets/data/qrv19_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv19_1.dat b/vendor/endroid/qr-code/assets/data/qrv19_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv19_2.dat b/vendor/endroid/qr-code/assets/data/qrv19_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv19_3.dat b/vendor/endroid/qr-code/assets/data/qrv19_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv1_0.dat b/vendor/endroid/qr-code/assets/data/qrv1_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv1_1.dat b/vendor/endroid/qr-code/assets/data/qrv1_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv1_2.dat b/vendor/endroid/qr-code/assets/data/qrv1_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv1_3.dat b/vendor/endroid/qr-code/assets/data/qrv1_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv20_0.dat b/vendor/endroid/qr-code/assets/data/qrv20_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv20_1.dat b/vendor/endroid/qr-code/assets/data/qrv20_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv20_2.dat b/vendor/endroid/qr-code/assets/data/qrv20_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv20_3.dat b/vendor/endroid/qr-code/assets/data/qrv20_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv21_0.dat b/vendor/endroid/qr-code/assets/data/qrv21_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv21_1.dat b/vendor/endroid/qr-code/assets/data/qrv21_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv21_2.dat b/vendor/endroid/qr-code/assets/data/qrv21_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv21_3.dat b/vendor/endroid/qr-code/assets/data/qrv21_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv22_0.dat b/vendor/endroid/qr-code/assets/data/qrv22_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv22_1.dat b/vendor/endroid/qr-code/assets/data/qrv22_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv22_2.dat b/vendor/endroid/qr-code/assets/data/qrv22_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv22_3.dat b/vendor/endroid/qr-code/assets/data/qrv22_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv23_0.dat b/vendor/endroid/qr-code/assets/data/qrv23_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv23_1.dat b/vendor/endroid/qr-code/assets/data/qrv23_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv23_2.dat b/vendor/endroid/qr-code/assets/data/qrv23_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv23_3.dat b/vendor/endroid/qr-code/assets/data/qrv23_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv24_0.dat b/vendor/endroid/qr-code/assets/data/qrv24_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv24_1.dat b/vendor/endroid/qr-code/assets/data/qrv24_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv24_2.dat b/vendor/endroid/qr-code/assets/data/qrv24_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv24_3.dat b/vendor/endroid/qr-code/assets/data/qrv24_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv25_0.dat b/vendor/endroid/qr-code/assets/data/qrv25_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv25_1.dat b/vendor/endroid/qr-code/assets/data/qrv25_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv25_2.dat b/vendor/endroid/qr-code/assets/data/qrv25_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv25_3.dat b/vendor/endroid/qr-code/assets/data/qrv25_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv26_0.dat b/vendor/endroid/qr-code/assets/data/qrv26_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv26_1.dat b/vendor/endroid/qr-code/assets/data/qrv26_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv26_2.dat b/vendor/endroid/qr-code/assets/data/qrv26_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv26_3.dat b/vendor/endroid/qr-code/assets/data/qrv26_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv27_0.dat b/vendor/endroid/qr-code/assets/data/qrv27_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv27_1.dat b/vendor/endroid/qr-code/assets/data/qrv27_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv27_2.dat b/vendor/endroid/qr-code/assets/data/qrv27_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv27_3.dat b/vendor/endroid/qr-code/assets/data/qrv27_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv28_0.dat b/vendor/endroid/qr-code/assets/data/qrv28_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv28_1.dat b/vendor/endroid/qr-code/assets/data/qrv28_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv28_2.dat b/vendor/endroid/qr-code/assets/data/qrv28_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv28_3.dat b/vendor/endroid/qr-code/assets/data/qrv28_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv29_0.dat b/vendor/endroid/qr-code/assets/data/qrv29_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv29_1.dat b/vendor/endroid/qr-code/assets/data/qrv29_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv29_2.dat b/vendor/endroid/qr-code/assets/data/qrv29_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv29_3.dat b/vendor/endroid/qr-code/assets/data/qrv29_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv2_0.dat b/vendor/endroid/qr-code/assets/data/qrv2_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv2_1.dat b/vendor/endroid/qr-code/assets/data/qrv2_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv2_2.dat b/vendor/endroid/qr-code/assets/data/qrv2_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv2_3.dat b/vendor/endroid/qr-code/assets/data/qrv2_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv30_0.dat b/vendor/endroid/qr-code/assets/data/qrv30_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv30_1.dat b/vendor/endroid/qr-code/assets/data/qrv30_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv30_2.dat b/vendor/endroid/qr-code/assets/data/qrv30_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv30_3.dat b/vendor/endroid/qr-code/assets/data/qrv30_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv31_0.dat b/vendor/endroid/qr-code/assets/data/qrv31_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv31_1.dat b/vendor/endroid/qr-code/assets/data/qrv31_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv31_2.dat b/vendor/endroid/qr-code/assets/data/qrv31_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv31_3.dat b/vendor/endroid/qr-code/assets/data/qrv31_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv32_0.dat b/vendor/endroid/qr-code/assets/data/qrv32_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv32_1.dat b/vendor/endroid/qr-code/assets/data/qrv32_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv32_2.dat b/vendor/endroid/qr-code/assets/data/qrv32_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv32_3.dat b/vendor/endroid/qr-code/assets/data/qrv32_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv33_0.dat b/vendor/endroid/qr-code/assets/data/qrv33_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv33_1.dat b/vendor/endroid/qr-code/assets/data/qrv33_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv33_2.dat b/vendor/endroid/qr-code/assets/data/qrv33_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv33_3.dat b/vendor/endroid/qr-code/assets/data/qrv33_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv34_0.dat b/vendor/endroid/qr-code/assets/data/qrv34_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv34_1.dat b/vendor/endroid/qr-code/assets/data/qrv34_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv34_2.dat b/vendor/endroid/qr-code/assets/data/qrv34_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv34_3.dat b/vendor/endroid/qr-code/assets/data/qrv34_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv35_0.dat b/vendor/endroid/qr-code/assets/data/qrv35_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv35_1.dat b/vendor/endroid/qr-code/assets/data/qrv35_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv35_2.dat b/vendor/endroid/qr-code/assets/data/qrv35_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv35_3.dat b/vendor/endroid/qr-code/assets/data/qrv35_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv36_0.dat b/vendor/endroid/qr-code/assets/data/qrv36_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv36_1.dat b/vendor/endroid/qr-code/assets/data/qrv36_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv36_2.dat b/vendor/endroid/qr-code/assets/data/qrv36_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv36_3.dat b/vendor/endroid/qr-code/assets/data/qrv36_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv37_0.dat b/vendor/endroid/qr-code/assets/data/qrv37_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv37_1.dat b/vendor/endroid/qr-code/assets/data/qrv37_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv37_2.dat b/vendor/endroid/qr-code/assets/data/qrv37_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv37_3.dat b/vendor/endroid/qr-code/assets/data/qrv37_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv38_0.dat b/vendor/endroid/qr-code/assets/data/qrv38_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv38_1.dat b/vendor/endroid/qr-code/assets/data/qrv38_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv38_2.dat b/vendor/endroid/qr-code/assets/data/qrv38_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv38_3.dat b/vendor/endroid/qr-code/assets/data/qrv38_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv39_0.dat b/vendor/endroid/qr-code/assets/data/qrv39_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv39_1.dat b/vendor/endroid/qr-code/assets/data/qrv39_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv39_2.dat b/vendor/endroid/qr-code/assets/data/qrv39_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv39_3.dat b/vendor/endroid/qr-code/assets/data/qrv39_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv3_0.dat b/vendor/endroid/qr-code/assets/data/qrv3_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv3_1.dat b/vendor/endroid/qr-code/assets/data/qrv3_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv3_2.dat b/vendor/endroid/qr-code/assets/data/qrv3_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv3_3.dat b/vendor/endroid/qr-code/assets/data/qrv3_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv40_0.dat b/vendor/endroid/qr-code/assets/data/qrv40_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv40_1.dat b/vendor/endroid/qr-code/assets/data/qrv40_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv40_2.dat b/vendor/endroid/qr-code/assets/data/qrv40_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv40_3.dat b/vendor/endroid/qr-code/assets/data/qrv40_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv4_0.dat b/vendor/endroid/qr-code/assets/data/qrv4_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv4_1.dat b/vendor/endroid/qr-code/assets/data/qrv4_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv4_2.dat b/vendor/endroid/qr-code/assets/data/qrv4_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv4_3.dat b/vendor/endroid/qr-code/assets/data/qrv4_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv5_0.dat b/vendor/endroid/qr-code/assets/data/qrv5_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv5_1.dat b/vendor/endroid/qr-code/assets/data/qrv5_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv5_2.dat b/vendor/endroid/qr-code/assets/data/qrv5_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv5_3.dat b/vendor/endroid/qr-code/assets/data/qrv5_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv6_0.dat b/vendor/endroid/qr-code/assets/data/qrv6_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv6_1.dat b/vendor/endroid/qr-code/assets/data/qrv6_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv6_2.dat b/vendor/endroid/qr-code/assets/data/qrv6_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv6_3.dat b/vendor/endroid/qr-code/assets/data/qrv6_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv7_0.dat b/vendor/endroid/qr-code/assets/data/qrv7_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv7_1.dat b/vendor/endroid/qr-code/assets/data/qrv7_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv7_2.dat b/vendor/endroid/qr-code/assets/data/qrv7_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv7_3.dat b/vendor/endroid/qr-code/assets/data/qrv7_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv8_0.dat b/vendor/endroid/qr-code/assets/data/qrv8_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv8_1.dat b/vendor/endroid/qr-code/assets/data/qrv8_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv8_2.dat b/vendor/endroid/qr-code/assets/data/qrv8_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv8_3.dat b/vendor/endroid/qr-code/assets/data/qrv8_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv9_0.dat b/vendor/endroid/qr-code/assets/data/qrv9_0.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv9_1.dat b/vendor/endroid/qr-code/assets/data/qrv9_1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv9_2.dat b/vendor/endroid/qr-code/assets/data/qrv9_2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrv9_3.dat b/vendor/endroid/qr-code/assets/data/qrv9_3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr1.dat b/vendor/endroid/qr-code/assets/data/qrvfr1.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr10.dat b/vendor/endroid/qr-code/assets/data/qrvfr10.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr11.dat b/vendor/endroid/qr-code/assets/data/qrvfr11.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr12.dat b/vendor/endroid/qr-code/assets/data/qrvfr12.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr13.dat b/vendor/endroid/qr-code/assets/data/qrvfr13.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr14.dat b/vendor/endroid/qr-code/assets/data/qrvfr14.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr15.dat b/vendor/endroid/qr-code/assets/data/qrvfr15.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr16.dat b/vendor/endroid/qr-code/assets/data/qrvfr16.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr17.dat b/vendor/endroid/qr-code/assets/data/qrvfr17.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr18.dat b/vendor/endroid/qr-code/assets/data/qrvfr18.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr19.dat b/vendor/endroid/qr-code/assets/data/qrvfr19.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr2.dat b/vendor/endroid/qr-code/assets/data/qrvfr2.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr20.dat b/vendor/endroid/qr-code/assets/data/qrvfr20.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr21.dat b/vendor/endroid/qr-code/assets/data/qrvfr21.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr22.dat b/vendor/endroid/qr-code/assets/data/qrvfr22.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr23.dat b/vendor/endroid/qr-code/assets/data/qrvfr23.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr24.dat b/vendor/endroid/qr-code/assets/data/qrvfr24.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr25.dat b/vendor/endroid/qr-code/assets/data/qrvfr25.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr26.dat b/vendor/endroid/qr-code/assets/data/qrvfr26.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr27.dat b/vendor/endroid/qr-code/assets/data/qrvfr27.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr28.dat b/vendor/endroid/qr-code/assets/data/qrvfr28.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr29.dat b/vendor/endroid/qr-code/assets/data/qrvfr29.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr3.dat b/vendor/endroid/qr-code/assets/data/qrvfr3.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr30.dat b/vendor/endroid/qr-code/assets/data/qrvfr30.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr31.dat b/vendor/endroid/qr-code/assets/data/qrvfr31.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr32.dat b/vendor/endroid/qr-code/assets/data/qrvfr32.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr33.dat b/vendor/endroid/qr-code/assets/data/qrvfr33.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr34.dat b/vendor/endroid/qr-code/assets/data/qrvfr34.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr35.dat b/vendor/endroid/qr-code/assets/data/qrvfr35.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr36.dat b/vendor/endroid/qr-code/assets/data/qrvfr36.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr37.dat b/vendor/endroid/qr-code/assets/data/qrvfr37.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr38.dat b/vendor/endroid/qr-code/assets/data/qrvfr38.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr39.dat b/vendor/endroid/qr-code/assets/data/qrvfr39.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr4.dat b/vendor/endroid/qr-code/assets/data/qrvfr4.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr40.dat b/vendor/endroid/qr-code/assets/data/qrvfr40.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr5.dat b/vendor/endroid/qr-code/assets/data/qrvfr5.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr6.dat b/vendor/endroid/qr-code/assets/data/qrvfr6.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr7.dat b/vendor/endroid/qr-code/assets/data/qrvfr7.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr8.dat b/vendor/endroid/qr-code/assets/data/qrvfr8.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/qrvfr9.dat b/vendor/endroid/qr-code/assets/data/qrvfr9.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc10.dat b/vendor/endroid/qr-code/assets/data/rsc10.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc13.dat b/vendor/endroid/qr-code/assets/data/rsc13.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc15.dat b/vendor/endroid/qr-code/assets/data/rsc15.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc16.dat b/vendor/endroid/qr-code/assets/data/rsc16.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc17.dat b/vendor/endroid/qr-code/assets/data/rsc17.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc18.dat b/vendor/endroid/qr-code/assets/data/rsc18.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc20.dat b/vendor/endroid/qr-code/assets/data/rsc20.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc22.dat b/vendor/endroid/qr-code/assets/data/rsc22.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc24.dat b/vendor/endroid/qr-code/assets/data/rsc24.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc26.dat b/vendor/endroid/qr-code/assets/data/rsc26.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc28.dat b/vendor/endroid/qr-code/assets/data/rsc28.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc30.dat b/vendor/endroid/qr-code/assets/data/rsc30.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc32.dat b/vendor/endroid/qr-code/assets/data/rsc32.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc34.dat b/vendor/endroid/qr-code/assets/data/rsc34.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc36.dat b/vendor/endroid/qr-code/assets/data/rsc36.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc40.dat b/vendor/endroid/qr-code/assets/data/rsc40.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc42.dat b/vendor/endroid/qr-code/assets/data/rsc42.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc44.dat b/vendor/endroid/qr-code/assets/data/rsc44.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc46.dat b/vendor/endroid/qr-code/assets/data/rsc46.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc48.dat b/vendor/endroid/qr-code/assets/data/rsc48.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc50.dat b/vendor/endroid/qr-code/assets/data/rsc50.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc52.dat b/vendor/endroid/qr-code/assets/data/rsc52.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc54.dat b/vendor/endroid/qr-code/assets/data/rsc54.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc56.dat b/vendor/endroid/qr-code/assets/data/rsc56.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc58.dat b/vendor/endroid/qr-code/assets/data/rsc58.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc60.dat b/vendor/endroid/qr-code/assets/data/rsc60.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc62.dat b/vendor/endroid/qr-code/assets/data/rsc62.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc64.dat b/vendor/endroid/qr-code/assets/data/rsc64.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc66.dat b/vendor/endroid/qr-code/assets/data/rsc66.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc68.dat b/vendor/endroid/qr-code/assets/data/rsc68.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/data/rsc7.dat b/vendor/endroid/qr-code/assets/data/rsc7.dat old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/font/opensans.ttf b/vendor/endroid/qr-code/assets/font/opensans.ttf old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/b.png b/vendor/endroid/qr-code/assets/image/b.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/d.png b/vendor/endroid/qr-code/assets/image/d.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/logo.png b/vendor/endroid/qr-code/assets/image/logo.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv1.png b/vendor/endroid/qr-code/assets/image/qrv1.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv10.png b/vendor/endroid/qr-code/assets/image/qrv10.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv11.png b/vendor/endroid/qr-code/assets/image/qrv11.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv12.png b/vendor/endroid/qr-code/assets/image/qrv12.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv13.png b/vendor/endroid/qr-code/assets/image/qrv13.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv14.png b/vendor/endroid/qr-code/assets/image/qrv14.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv15.png b/vendor/endroid/qr-code/assets/image/qrv15.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv16.png b/vendor/endroid/qr-code/assets/image/qrv16.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv17.png b/vendor/endroid/qr-code/assets/image/qrv17.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv18.png b/vendor/endroid/qr-code/assets/image/qrv18.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv19.png b/vendor/endroid/qr-code/assets/image/qrv19.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv2.png b/vendor/endroid/qr-code/assets/image/qrv2.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv20.png b/vendor/endroid/qr-code/assets/image/qrv20.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv21.png b/vendor/endroid/qr-code/assets/image/qrv21.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv22.png b/vendor/endroid/qr-code/assets/image/qrv22.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv23.png b/vendor/endroid/qr-code/assets/image/qrv23.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv24.png b/vendor/endroid/qr-code/assets/image/qrv24.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv25.png b/vendor/endroid/qr-code/assets/image/qrv25.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv26.png b/vendor/endroid/qr-code/assets/image/qrv26.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv27.png b/vendor/endroid/qr-code/assets/image/qrv27.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv28.png b/vendor/endroid/qr-code/assets/image/qrv28.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv29.png b/vendor/endroid/qr-code/assets/image/qrv29.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv3.png b/vendor/endroid/qr-code/assets/image/qrv3.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv30.png b/vendor/endroid/qr-code/assets/image/qrv30.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv31.png b/vendor/endroid/qr-code/assets/image/qrv31.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv32.png b/vendor/endroid/qr-code/assets/image/qrv32.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv33.png b/vendor/endroid/qr-code/assets/image/qrv33.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv34.png b/vendor/endroid/qr-code/assets/image/qrv34.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv35.png b/vendor/endroid/qr-code/assets/image/qrv35.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv36.png b/vendor/endroid/qr-code/assets/image/qrv36.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv37.png b/vendor/endroid/qr-code/assets/image/qrv37.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv38.png b/vendor/endroid/qr-code/assets/image/qrv38.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv39.png b/vendor/endroid/qr-code/assets/image/qrv39.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv4.png b/vendor/endroid/qr-code/assets/image/qrv4.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv40.png b/vendor/endroid/qr-code/assets/image/qrv40.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv5.png b/vendor/endroid/qr-code/assets/image/qrv5.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv6.png b/vendor/endroid/qr-code/assets/image/qrv6.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv7.png b/vendor/endroid/qr-code/assets/image/qrv7.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv8.png b/vendor/endroid/qr-code/assets/image/qrv8.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/assets/image/qrv9.png b/vendor/endroid/qr-code/assets/image/qrv9.png old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/composer.json b/vendor/endroid/qr-code/composer.json old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Bundle/Controller/QrCodeController.php b/vendor/endroid/qr-code/src/Bundle/Controller/QrCodeController.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php b/vendor/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Bundle/Resources/config/services.yml b/vendor/endroid/qr-code/src/Bundle/Resources/config/services.yml old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Bundle/Twig/Extension/QrCodeExtension.php b/vendor/endroid/qr-code/src/Bundle/Twig/Extension/QrCodeExtension.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/DataDoesntExistsException.php b/vendor/endroid/qr-code/src/Exceptions/DataDoesntExistsException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/FreeTypeLibraryMissingException.php b/vendor/endroid/qr-code/src/Exceptions/FreeTypeLibraryMissingException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageFunctionFailedException.php b/vendor/endroid/qr-code/src/Exceptions/ImageFunctionFailedException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageFunctionUnknownException.php b/vendor/endroid/qr-code/src/Exceptions/ImageFunctionUnknownException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageSizeTooLargeException.php b/vendor/endroid/qr-code/src/Exceptions/ImageSizeTooLargeException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageTypeInvalidException.php b/vendor/endroid/qr-code/src/Exceptions/ImageTypeInvalidException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/Exceptions/VersionTooLargeException.php b/vendor/endroid/qr-code/src/Exceptions/VersionTooLargeException.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/src/QrCode.php b/vendor/endroid/qr-code/src/QrCode.php old mode 100644 new mode 100755 diff --git a/vendor/endroid/qr-code/tests/QrCodeTest.php b/vendor/endroid/qr-code/tests/QrCodeTest.php old mode 100644 new mode 100755 diff --git a/vendor/qiniu/php-sdk/test-env.sh b/vendor/qiniu/php-sdk/test-env.sh old mode 100644 new mode 100755 diff --git a/vendor/zoujingli/ip2region/test.php b/vendor/zoujingli/ip2region/test.php index 45981c3db..2e97d7d14 100644 --- a/vendor/zoujingli/ip2region/test.php +++ b/vendor/zoujingli/ip2region/test.php @@ -1,15 +1,15 @@ -btreeSearch($ip); - -var_export($info, true); - -// array ( -// 'city_id' => 2163, -// 'region' => '中国|华南|广东省|深圳市|鹏博士', +btreeSearch($ip); + +var_export($info, true); + +// array ( +// 'city_id' => 2163, +// 'region' => '中国|华南|广东省|深圳市|鹏博士', // ) \ No newline at end of file diff --git a/vendor/zoujingli/wechat-developer/WeChat/Pay.php b/vendor/zoujingli/wechat-developer/WeChat/Pay.php index 260e8be4b..f5c4ab974 100644 --- a/vendor/zoujingli/wechat-developer/WeChat/Pay.php +++ b/vendor/zoujingli/wechat-developer/WeChat/Pay.php @@ -196,7 +196,7 @@ class Pay public function createTransfers(array $options) { $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; - return $this->callPostApi($url, $options, true); + return $this->callPostApi($url, $options, true, 'MD5', false); } /** @@ -208,7 +208,7 @@ class Pay public function queryTransfers($partner_trade_no) { $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/gettransferinfo'; - return $this->callPostApi($url, ['partner_trade_no' => $partner_trade_no], true); + return $this->callPostApi($url, ['partner_trade_no' => $partner_trade_no], true, 'MD5', false); } /** @@ -230,9 +230,10 @@ class Pay /** * 生成支付签名 * @param array $data + * @param string $signType * @return string */ - public function getPaySign(array $data) + public function getPaySign(array $data, $signType = 'MD5') { unset($data['sign']); ksort($data); @@ -240,6 +241,9 @@ class Pay foreach ($data as $k => $v) { $str .= "{$k}={$v}&"; } + if ($signType === 'MD5') { + return strtoupper(md5("{$str}key={$key}")); + } return strtoupper(hash_hmac('SHA256', "{$str}key={$key}", $key)); } @@ -248,10 +252,12 @@ class Pay * @param string $url 请求 * @param array $data 接口参数 * @param bool $isCert 是否需要使用双向证书 + * @param string $signType 数据签名类型 MD5|SHA256 + * @param bool $needSignType 是否需要传签名类型参数 * @return array * @throws InvalidResponseException */ - public function callPostApi($url, array $data, $isCert = false) + public function callPostApi($url, array $data, $isCert = false, $signType = 'HMAC-SHA256', $needSignType = true) { $option = []; if ($isCert) { @@ -264,8 +270,10 @@ class Pay $option['ssl_key'] = $this->config->get('ssl_key'); } $params = $this->params->merge($data); - $params['sign_type'] = 'HMAC-SHA256'; - $params['sign'] = $this->getPaySign($params); + if ($needSignType) { + $params['sign_type'] = strtoupper($signType); + } + $params['sign'] = $this->getPaySign($params, $signType); $result = Tools::xml2arr(Tools::post($url, Tools::arr2xml($params), $option)); if ($result['return_code'] !== 'SUCCESS') { throw new InvalidResponseException($result['return_msg'], '0');