diff --git a/composer.json b/composer.json index 8360ee9..5fd7b2d 100644 --- a/composer.json +++ b/composer.json @@ -6,14 +6,14 @@ "license": "MIT", "require": { "php": ">=5.6", - "cakephp/cakephp": "^3.6", + "cakephp/cakephp": "3.4.*", "mobiledetect/mobiledetectlib": "2.*", "cakephp/migrations": "~1.0", "cakephp/plugin-installer": "~1.0", "mdanter/ecc": "^0.5.0", "nesbot/carbon": "~1.18", - "endroid/qrcode": "^2.2.2", - "predis/predis": "^1.1.1" + "predis/predis": "^1.1.1", + "endroid/qr-code": "^3.5" }, "require-dev": { "psy/psysh": "@stable", diff --git a/composer.lock b/composer.lock index 639cfca..994e7b8 100644 --- a/composer.lock +++ b/composer.lock @@ -1,11 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "hash": "654f4b2fd4cf16d217bd2c8d6431357c", - "content-hash": "d6441e245d73b6c3db3a627313143bff", + "content-hash": "e64d13561bc0e6896ed8629290b55669", "packages": [ { "name": "aura/intl", @@ -51,36 +50,39 @@ "l10n", "localization" ], - "time": "2017-01-20 05:00:11" + "time": "2017-01-20T05:00:11+00:00" }, { "name": "bacon/bacon-qr-code", - "version": "1.0.3", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/Bacon/BaconQrCode.git", - "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee" + "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee", - "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0", + "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0", "shasum": "" }, "require": { + "dasprid/enum": "^1.0", "ext-iconv": "*", - "php": "^5.4|^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^4.8" + "phly/keep-a-changelog": "^1.4", + "phpunit/phpunit": "^6.4", + "squizlabs/php_codesniffer": "^3.1" }, "suggest": { - "ext-gd": "to generate QR code images" + "ext-imagick": "to generate QR code images" }, "type": "library", "autoload": { - "psr-0": { - "BaconQrCode": "src/" + "psr-4": { + "BaconQrCode\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -97,25 +99,25 @@ ], "description": "BaconQrCode is a QR code generator for PHP.", "homepage": "https://github.com/Bacon/BaconQrCode", - "time": "2017-10-17 09:59:25" + "time": "2018-04-25T17:53:56+00:00" }, { "name": "cakephp/cakephp", - "version": "3.6.13", + "version": "3.4.14", "source": { "type": "git", "url": "https://github.com/cakephp/cakephp.git", - "reference": "6a0b9c74710a56c5974d1c8229c7a91dac780402" + "reference": "57fcdfcf9376670ca4f6f5bd39100ede762afb88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp/zipball/6a0b9c74710a56c5974d1c8229c7a91dac780402", - "reference": "6a0b9c74710a56c5974d1c8229c7a91dac780402", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/57fcdfcf9376670ca4f6f5bd39100ede762afb88", + "reference": "57fcdfcf9376670ca4f6f5bd39100ede762afb88", "shasum": "" }, "require": { "aura/intl": "^3.0.0", - "cakephp/chronos": "^1.0.1", + "cakephp/chronos": "^1.0.0", "ext-intl": "*", "ext-mbstring": "*", "php": ">=5.6.0", @@ -142,7 +144,7 @@ }, "require-dev": { "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14|^6.0" + "phpunit/phpunit": "^5.7|^6.0" }, "suggest": { "ext-openssl": "To use Security::encrypt() or have secure CSRF token generation.", @@ -151,7 +153,7 @@ "type": "library", "autoload": { "psr-4": { - "Cake\\": "src/" + "Cake\\": "src" }, "files": [ "src/Core/functions.php", @@ -183,7 +185,7 @@ "rapid-development", "validation" ], - "time": "2018-11-04 20:29:27" + "time": "2018-05-21T01:19:34+00:00" }, { "name": "cakephp/chronos", @@ -240,33 +242,33 @@ "datetime", "time" ], - "time": "2018-10-18 22:02:21" + "time": "2018-10-18T22:02:21+00:00" }, { "name": "cakephp/migrations", - "version": "1.8.1", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/cakephp/migrations.git", - "reference": "cd65daa9fae933bc0ccc69d5b5d92460375da9e2" + "reference": "a5612adfd2efa8c90d29cb3b0c969de872a99eda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/migrations/zipball/cd65daa9fae933bc0ccc69d5b5d92460375da9e2", - "reference": "cd65daa9fae933bc0ccc69d5b5d92460375da9e2", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/a5612adfd2efa8c90d29cb3b0c969de872a99eda", + "reference": "a5612adfd2efa8c90d29cb3b0c969de872a99eda", "shasum": "" }, "require": { - "cakephp/cache": "^3.6.0", - "cakephp/orm": "^3.6.0", - "php": ">=5.6.0", + "cakephp/cache": "~3.2", + "cakephp/orm": "~3.2", + "php": ">=5.5.9", "robmorgan/phinx": "0.8.1" }, "require-dev": { - "cakephp/bake": "^1.7.0", - "cakephp/cakephp": "^3.6.0", + "cakephp/bake": "@stable", + "cakephp/cakephp": "~3.2", "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14" + "phpunit/phpunit": "~4.1" }, "suggest": { "cakephp/bake": "Required if you want to generate migrations." @@ -293,7 +295,7 @@ "cakephp", "migrations" ], - "time": "2018-04-16 01:35:59" + "time": "2017-12-12T21:01:38+00:00" }, { "name": "cakephp/plugin-installer", @@ -334,46 +336,126 @@ } ], "description": "A composer installer for CakePHP 3.0+ plugins.", - "time": "2017-12-24 21:09:29" + "time": "2017-12-24T21:09:29+00:00" }, { - "name": "endroid/qrcode", - "version": "2.5.1", + "name": "dasprid/enum", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/endroid/qr-code.git", - "reference": "6062677d3404e0ded40647b8f62ec55ff9722eb7" + "url": "https://github.com/DASPRiD/Enum.git", + "reference": "631ef6e638e9494b0310837fa531bedd908fc22b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/qr-code/zipball/6062677d3404e0ded40647b8f62ec55ff9722eb7", - "reference": "6062677d3404e0ded40647b8f62ec55ff9722eb7", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b", + "reference": "631ef6e638e9494b0310837fa531bedd908fc22b", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^6.4", + "squizlabs/php_codesniffer": "^3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DASPRiD\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "https://dasprids.de/" + } + ], + "description": "PHP 7.1 enum implementation", + "keywords": [ + "enum", + "map" + ], + "time": "2017-10-25T22:45:27+00:00" + }, + { + "name": "endroid/installer", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/endroid/installer.git", + "reference": "b41b44ae2e410609be3b7f080b626dfc9ff4822a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/endroid/installer/zipball/b41b44ae2e410609be3b7f080b626dfc9ff4822a", + "reference": "b41b44ae2e410609be3b7f080b626dfc9ff4822a", "shasum": "" }, "require": { - "bacon/bacon-qr-code": "^1.0.3", - "ext-gd": "*", - "khanamiryan/qrcode-detector-decoder": "1", - "myclabs/php-enum": "^1.5", - "php": ">=5.6", - "symfony/options-resolver": "^2.7", - "symfony/property-access": "^2.7" + "composer-plugin-api": "^1.1", + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^5.7", - "symfony/asset": "^2.7", - "symfony/browser-kit": "^2.7", - "symfony/finder": "^2.7", - "symfony/framework-bundle": "^2.7", - "symfony/http-kernel": "^2.7", - "symfony/templating": "^2.7", - "symfony/twig-bundle": "^2.7", - "symfony/yaml": "^2.7" + "phpunit/phpunit": "^5.7|^6.0" }, - "type": "symfony-bundle", + "type": "composer-plugin", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.x-dev" + }, + "class": "Endroid\\Installer\\Installer" + }, + "autoload": { + "psr-4": { + "Endroid\\Installer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeroen van den Enden", + "email": "info@endroid.nl" + } + ], + "time": "2018-11-30T13:00:41+00:00" + }, + { + "name": "endroid/qr-code", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/endroid/qr-code.git", + "reference": "0095706c3bf2389f15f6c097bab4a00a48fc5ff7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/0095706c3bf2389f15f6c097bab4a00a48fc5ff7", + "reference": "0095706c3bf2389f15f6c097bab4a00a48fc5ff7", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^2.0", + "endroid/installer": "^1.0.3", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0.2", + "myclabs/php-enum": "^1.5", + "php": ">=7.1", + "symfony/options-resolver": "^2.7|^3.0|^4.0", + "symfony/property-access": "^2.7|^3.0|^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" } }, "autoload": { @@ -388,23 +470,20 @@ "authors": [ { "name": "Jeroen van den Enden", - "email": "info@endroid.nl", - "homepage": "http://endroid.nl/" + "email": "info@endroid.nl" } ], "description": "Endroid QR Code", - "homepage": "https://github.com/endroid/QrCode", + "homepage": "https://github.com/endroid/qr-code", "keywords": [ "bundle", "code", "endroid", - "flex", + "php", "qr", - "qrcode", - "symfony" + "qrcode" ], - "abandoned": "endroid/qr-code", - "time": "2018-05-09 20:26:30" + "time": "2018-12-01T12:34:40+00:00" }, { "name": "fgrosse/phpasn1", @@ -473,20 +552,20 @@ "x509", "x690" ], - "time": "2018-12-02 01:34:34" + "time": "2018-12-02T01:34:34+00:00" }, { "name": "khanamiryan/qrcode-detector-decoder", - "version": "1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git", - "reference": "96d5f80680b04803c4f1b69d6e01735e876b80c7" + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/96d5f80680b04803c4f1b69d6e01735e876b80c7", - "reference": "96d5f80680b04803c4f1b69d6e01735e876b80c7", + "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/a75482d3bc804e3f6702332bfda6cccbb0dfaa76", + "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76", "shasum": "" }, "require": { @@ -497,11 +576,11 @@ }, "type": "library", "autoload": { - "classmap": [ - "lib/" - ], + "psr-4": { + "Zxing\\": "lib/" + }, "files": [ - "lib/common/customFunctions.php" + "lib/Common/customFunctions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -517,26 +596,26 @@ } ], "description": "QR code decoder / reader", - "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder", + "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/", "keywords": [ "barcode", "qr", "zxing" ], - "time": "2017-01-13 09:11:46" + "time": "2018-04-26T11:41:33+00:00" }, { "name": "mdanter/ecc", - "version": "v0.5.1", + "version": "v0.5.2", "source": { "type": "git", "url": "https://github.com/phpecc/phpecc.git", - "reference": "9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b" + "reference": "b95f25cc1bacc83a9f0ccd375900b7cfd343029e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpecc/phpecc/zipball/9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b", - "reference": "9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b", + "url": "https://api.github.com/repos/phpecc/phpecc/zipball/b95f25cc1bacc83a9f0ccd375900b7cfd343029e", + "reference": "b95f25cc1bacc83a9f0ccd375900b7cfd343029e", "shasum": "" }, "require": { @@ -595,7 +674,7 @@ "secp256k1", "secp256r1" ], - "time": "2018-12-01 23:35:23" + "time": "2018-12-03T18:17:01+00:00" }, { "name": "mobiledetect/mobiledetectlib", @@ -647,7 +726,7 @@ "mobile detector", "php mobile detect" ], - "time": "2018-09-01 15:05:15" + "time": "2018-09-01T15:05:15+00:00" }, { "name": "myclabs/php-enum", @@ -691,7 +770,7 @@ "keywords": [ "enum" ], - "time": "2018-10-30 14:36:18" + "time": "2018-10-30T14:36:18+00:00" }, { "name": "nesbot/carbon", @@ -749,7 +828,7 @@ "datetime", "time" ], - "time": "2018-11-22 18:23:02" + "time": "2018-11-22T18:23:02+00:00" }, { "name": "predis/predis", @@ -799,7 +878,7 @@ "predis", "redis" ], - "time": "2016-06-16 16:22:20" + "time": "2016-06-16T16:22:20+00:00" }, { "name": "psr/http-message", @@ -849,7 +928,7 @@ "request", "response" ], - "time": "2016-08-06 14:39:51" + "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", @@ -896,7 +975,7 @@ "psr", "psr-3" ], - "time": "2018-11-20 15:27:04" + "time": "2018-11-20T15:27:04+00:00" }, { "name": "robmorgan/phinx", @@ -962,7 +1041,7 @@ "migrations", "phinx" ], - "time": "2017-06-05 13:30:19" + "time": "2017-06-05T13:30:19+00:00" }, { "name": "symfony/config", @@ -1026,7 +1105,7 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-11-26 10:17:44" + "time": "2018-11-26T10:17:44+00:00" }, { "name": "symfony/console", @@ -1095,7 +1174,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-11-26 12:48:07" + "time": "2018-11-26T12:48:07+00:00" }, { "name": "symfony/contracts", @@ -1163,7 +1242,7 @@ "interoperability", "standards" ], - "time": "2018-11-24 09:35:08" + "time": "2018-11-24T09:35:08+00:00" }, { "name": "symfony/debug", @@ -1219,7 +1298,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-11-28 18:24:18" + "time": "2018-11-28T18:24:18+00:00" }, { "name": "symfony/filesystem", @@ -1269,29 +1348,87 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-11-11 19:52:12" + "time": "2018-11-11T19:52:12+00:00" }, { - "name": "symfony/options-resolver", - "version": "v2.8.48", + "name": "symfony/inflector", + "version": "v4.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "7aaab725bb58f0e18aa12c61bdadd4793ab4c32b" + "url": "https://github.com/symfony/inflector.git", + "reference": "f9a637c0359f74404d44cf0da0a3ce53bae0787e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7aaab725bb58f0e18aa12c61bdadd4793ab4c32b", - "reference": "7aaab725bb58f0e18aa12c61bdadd4793ab4c32b", + "url": "https://api.github.com/repos/symfony/inflector/zipball/f9a637c0359f74404d44cf0da0a3ce53bae0787e", + "reference": "f9a637c0359f74404d44cf0da0a3ce53bae0787e", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2018-11-11T19:52:12+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v4.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" } }, "autoload": { @@ -1323,7 +1460,7 @@ "configuration", "options" ], - "time": "2018-11-11 11:18:13" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1381,7 +1518,7 @@ "polyfill", "portable" ], - "time": "2018-08-06 14:22:27" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -1440,30 +1577,36 @@ "portable", "shim" ], - "time": "2018-09-21 13:07:52" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/property-access", - "version": "v2.8.48", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "c8f10191183be9bb0d5a1b8364d3891f1bde07b6" + "reference": "b6df4e1849f389468edb36e2e59877d4a8170723" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/c8f10191183be9bb0d5a1b8364d3891f1bde07b6", - "reference": "c8f10191183be9bb0d5a1b8364d3891f1bde07b6", + "url": "https://api.github.com/repos/symfony/property-access/zipball/b6df4e1849f389468edb36e2e59877d4a8170723", + "reference": "b6df4e1849f389468edb36e2e59877d4a8170723", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-ctype": "~1.8" + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -1501,7 +1644,7 @@ "property path", "reflection" ], - "time": "2018-11-11 11:18:13" + "time": "2018-11-29T14:48:32+00:00" }, { "name": "symfony/translation", @@ -1574,7 +1717,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-11-27 07:20:32" + "time": "2018-11-27T07:20:32+00:00" }, { "name": "symfony/yaml", @@ -1633,7 +1776,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-11-11 19:48:54" + "time": "2018-11-11T19:48:54+00:00" }, { "name": "zendframework/zend-diactoros", @@ -1697,204 +1840,32 @@ "psr", "psr-7" ], - "time": "2018-09-05 19:29:37" + "time": "2018-09-05T19:29:37+00:00" } ], "packages-dev": [ - { - "name": "ajgl/breakpoint-twig-extension", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/ajgarlag/AjglBreakpointTwigExtension.git", - "reference": "360ec6351ad7e1968ee78abb31430046c2e04fc5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ajgarlag/AjglBreakpointTwigExtension/zipball/360ec6351ad7e1968ee78abb31430046c2e04fc5", - "reference": "360ec6351ad7e1968ee78abb31430046c2e04fc5", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "twig/twig": "^1.14|^2.0" - }, - "require-dev": { - "phpunit/phpunit": "^5", - "symfony/framework-bundle": "^2.7|^3.2", - "symfony/twig-bundle": "^2.7|^3.2" - }, - "suggest": { - "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", - "symfony/framework-bundle": "The framework bundle to integrate the extension into Symfony", - "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ajgl\\Twig\\Extension\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Antonio J. García Lagar", - "email": "aj@garcialagar.es", - "homepage": "http://aj.garcialagar.es", - "role": "developer" - } - ], - "description": "Twig extension to set breakpoints", - "homepage": "https://github.com/ajgarlag/AjglBreakpointTwigExtension", - "keywords": [ - "Xdebug", - "breakpoint", - "twig" - ], - "time": "2017-11-20 13:04:11" - }, - { - "name": "aptoma/twig-markdown", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/aptoma/twig-markdown.git", - "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aptoma/twig-markdown/zipball/64a9c5c7418c08faf91c4410b34bdb65fb25c23d", - "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d", - "shasum": "" - }, - "require": { - "twig/twig": "~1.12" - }, - "require-dev": { - "codeclimate/php-test-reporter": "dev-master", - "erusev/parsedown": "^1.6", - "knplabs/github-api": "~1.2", - "league/commonmark": "~0.5", - "michelf/php-markdown": "~1", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "~0.6" - }, - "suggest": { - "knplabs/github-api": "Needed for using GitHub's Markdown engine provided through their API.", - "michelf/php-markdown": "Original Markdown engine with MarkdownExtra." - }, - "type": "library", - "autoload": { - "psr-0": { - "Aptoma": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joris Berthelot", - "email": "joris@berthelot.tel" - }, - { - "name": "Gunnar Lium", - "email": "gunnar@aptoma.com" - } - ], - "description": "Twig extension to work with Markdown content", - "keywords": [ - "markdown", - "twig" - ], - "time": "2015-10-23 20:27:08" - }, - { - "name": "asm89/twig-cache-extension", - "version": "1.3.2", - "source": { - "type": "git", - "url": "https://github.com/asm89/twig-cache-extension.git", - "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/asm89/twig-cache-extension/zipball/630ea7abdc3fc62ba6786c02590a1560e449cf55", - "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55", - "shasum": "" - }, - "require": { - "php": ">=5.3.2", - "twig/twig": "^1.0|^2.0" - }, - "require-dev": { - "doctrine/cache": "~1.0" - }, - "suggest": { - "psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexander", - "email": "iam.asm89@gmail.com" - } - ], - "description": "Cache fragments of templates directly within Twig.", - "homepage": "https://github.com/asm89/twig-cache-extension", - "keywords": [ - "cache", - "extension", - "twig" - ], - "time": "2017-01-10 22:04:15" - }, { "name": "cakephp/bake", - "version": "1.8.6", + "version": "1.3.7", "source": { "type": "git", "url": "https://github.com/cakephp/bake.git", - "reference": "bfa552a92a01cb1c878b3a3a67899fcd21569818" + "reference": "4bbb541ee27d12fe63f15cf5acf70b94553de209" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/bake/zipball/bfa552a92a01cb1c878b3a3a67899fcd21569818", - "reference": "bfa552a92a01cb1c878b3a3a67899fcd21569818", + "url": "https://api.github.com/repos/cakephp/bake/zipball/4bbb541ee27d12fe63f15cf5acf70b94553de209", + "reference": "4bbb541ee27d12fe63f15cf5acf70b94553de209", "shasum": "" }, "require": { - "cakephp/cakephp": "^3.6.12", - "cakephp/plugin-installer": "^1.0", - "php": ">=5.6.0", - "wyrihaximus/twig-view": "^4.3.4" + "cakephp/cakephp": ">=3.4.0 <4.0.0", + "cakephp/plugin-installer": "*", + "php": ">=5.6.0" }, "require-dev": { "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14|^6.0" + "phpunit/phpunit": "~5.7 | ~6.0" }, "type": "cakephp-plugin", "autoload": { @@ -1912,30 +1883,30 @@ "homepage": "https://github.com/cakephp/bake/graphs/contributors" } ], - "description": "Bake plugin for CakePHP 3", + "description": "Bake plugin for CakePHP 3.0", "homepage": "https://github.com/cakephp/bake", "keywords": [ "bake", "cakephp" ], - "time": "2018-11-17 03:34:24" + "time": "2017-07-01T15:59:12+00:00" }, { "name": "cakephp/debug_kit", - "version": "3.16.6", + "version": "3.14.2", "source": { "type": "git", "url": "https://github.com/cakephp/debug_kit.git", - "reference": "b6a75d47b2b1be6f6db31fbdf60ed5e062f310db" + "reference": "b5e11f386b9ff28694950f68ef3e0456c242051b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/b6a75d47b2b1be6f6db31fbdf60ed5e062f310db", - "reference": "b6a75d47b2b1be6f6db31fbdf60ed5e062f310db", + "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/b5e11f386b9ff28694950f68ef3e0456c242051b", + "reference": "b5e11f386b9ff28694950f68ef3e0456c242051b", "shasum": "" }, "require": { - "cakephp/cakephp": "^3.6.0", + "cakephp/cakephp": "^3.4.0", "cakephp/chronos": "^1.0.0", "cakephp/plugin-installer": "^1.0.0", "composer/composer": "^1.3.0", @@ -1944,10 +1915,10 @@ }, "require-dev": { "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14|^6.0" + "phpunit/phpunit": "^5.7|^6.0" }, "suggest": { - "ext-pdo_sqlite": "DebugKit needs to store panel data in a database. SQLite is simple and easy to use." + "ext-sqlite": "DebugKit needs to store panel data in a database. SQLite is simple and easy to use." }, "type": "cakephp-plugin", "autoload": { @@ -1978,7 +1949,7 @@ "debug", "kit" ], - "time": "2018-11-22 15:19:18" + "time": "2018-03-08T18:21:10+00:00" }, { "name": "composer/ca-bundle", @@ -2034,7 +2005,7 @@ "ssl", "tls" ], - "time": "2018-10-18 06:09:13" + "time": "2018-10-18T06:09:13+00:00" }, { "name": "composer/composer", @@ -2114,7 +2085,7 @@ "dependency", "package" ], - "time": "2018-12-03 09:31:16" + "time": "2018-12-03T09:31:16+00:00" }, { "name": "composer/semver", @@ -2176,7 +2147,7 @@ "validation", "versioning" ], - "time": "2016-08-30 16:08:34" + "time": "2016-08-30T16:08:34+00:00" }, { "name": "composer/spdx-licenses", @@ -2237,7 +2208,7 @@ "spdx", "validator" ], - "time": "2018-11-01 09:45:54" + "time": "2018-11-01T09:45:54+00:00" }, { "name": "composer/xdebug-handler", @@ -2281,7 +2252,7 @@ "Xdebug", "performance" ], - "time": "2018-11-29 10:59:02" + "time": "2018-11-29T10:59:02+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -2314,7 +2285,7 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24 07:27:01" + "time": "2014-10-24T07:27:01+00:00" }, { "name": "jakub-onderka/php-console-color", @@ -2356,7 +2327,7 @@ "email": "jakub.onderka@gmail.com" } ], - "time": "2018-09-29 17:23:10" + "time": "2018-09-29T17:23:10+00:00" }, { "name": "jakub-onderka/php-console-highlighter", @@ -2402,67 +2373,7 @@ } ], "description": "Highlight PHP code in terminal", - "time": "2018-09-29 18:48:56" - }, - { - "name": "jasny/twig-extensions", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/jasny/twig-extensions.git", - "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/30bdf3a3903c021544f36332c9d5d4d563527da4", - "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4", - "shasum": "" - }, - "require": { - "php": ">=7.0.0 | >=5.6.0", - "twig/twig": "^2.0 | ^1.12" - }, - "require-dev": { - "ext-intl": "*", - "ext-pcre": "*", - "jasny/php-code-quality": "^2.1", - "phpunit/phpunit": "^5.0" - }, - "suggest": { - "ext-intl": "Required for the use of the LocalDate Twig extension", - "ext-pcre": "Required for the use of the PCRE Twig extension" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jasny\\Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Arnold Daniels", - "email": "arnold@jasny.net", - "homepage": "http://www.jasny.net" - } - ], - "description": "A set of useful Twig filters", - "homepage": "http://github.com/jasny/twig-extensions#README", - "keywords": [ - "PCRE", - "array", - "date", - "datetime", - "preg", - "regex", - "templating", - "text", - "time" - ], - "time": "2017-09-13 07:38:01" + "time": "2018-09-29T18:48:56+00:00" }, { "name": "jdorn/sql-formatter", @@ -2512,7 +2423,7 @@ "highlight", "sql" ], - "time": "2014-01-12 16:20:24" + "time": "2014-01-12T16:20:24+00:00" }, { "name": "justinrainbow/json-schema", @@ -2578,7 +2489,7 @@ "json", "schema" ], - "time": "2018-02-14 22:26:30" + "time": "2018-02-14T22:26:30+00:00" }, { "name": "nikic/php-parser", @@ -2629,7 +2540,7 @@ "parser", "php" ], - "time": "2018-10-10 09:24:14" + "time": "2018-10-10T09:24:14+00:00" }, { "name": "psy/psysh", @@ -2703,7 +2614,7 @@ "interactive", "shell" ], - "time": "2018-10-13 15:16:03" + "time": "2018-10-13T15:16:03+00:00" }, { "name": "seld/jsonlint", @@ -2752,7 +2663,7 @@ "parser", "validator" ], - "time": "2018-01-24 12:46:19" + "time": "2018-01-24T12:46:19+00:00" }, { "name": "seld/phar-utils", @@ -2796,7 +2707,7 @@ "keywords": [ "phra" ], - "time": "2015-10-13 18:44:15" + "time": "2015-10-13T18:44:15+00:00" }, { "name": "symfony/finder", @@ -2845,7 +2756,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-11-11 19:52:12" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "symfony/polyfill-php72", @@ -2900,7 +2811,7 @@ "portable", "shim" ], - "time": "2018-09-21 13:07:52" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/process", @@ -2949,7 +2860,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-11-20 16:22:05" + "time": "2018-11-20T16:22:05+00:00" }, { "name": "symfony/var-dumper", @@ -3024,172 +2935,7 @@ "debug", "dump" ], - "time": "2018-11-25 12:50:42" - }, - { - "name": "twig/twig", - "version": "v1.35.4", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", - "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "^2.7", - "symfony/phpunit-bridge": "^3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.35-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - }, - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "https://twig.symfony.com/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "time": "2018-07-13 07:12:17" - }, - { - "name": "umpirsky/twig-php-function", - "version": "v0.1", - "source": { - "type": "git", - "url": "https://github.com/umpirsky/twig-php-function.git", - "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/umpirsky/twig-php-function/zipball/53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", - "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "twig/twig": "~1.12" - }, - "require-dev": { - "phpspec/phpspec": "~2.0", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "autoload": { - "psr-0": { - "Umpirsky\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Saša Stamenković", - "email": "umpirsky@gmail.com" - } - ], - "description": "Call (almost) any PHP function from your Twig templates.", - "time": "2016-03-12 16:36:32" - }, - { - "name": "wyrihaximus/twig-view", - "version": "4.3.5", - "source": { - "type": "git", - "url": "https://github.com/WyriHaximus/TwigView.git", - "reference": "ec2771e6a1fe799f9b16eff19da424cd04d593b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/WyriHaximus/TwigView/zipball/ec2771e6a1fe799f9b16eff19da424cd04d593b7", - "reference": "ec2771e6a1fe799f9b16eff19da424cd04d593b7", - "shasum": "" - }, - "require": { - "ajgl/breakpoint-twig-extension": "^0.3.0", - "aptoma/twig-markdown": "^2.0", - "asm89/twig-cache-extension": "^1.0", - "cakephp/cakephp": "^3.5", - "jasny/twig-extensions": "^1.0", - "php": "^5.6 || ^7.0", - "twig/twig": "^1.27", - "umpirsky/twig-php-function": "0.1" - }, - "require-dev": { - "cakephp/bake": "^1.5", - "cakephp/debug_kit": "^3.0", - "phake/phake": "^1.0.4", - "phpunit/phpunit": "^5.7.14", - "squizlabs/php_codesniffer": "^1.5.6", - "wyrihaximus/phpunit-class-reflection-helpers": "dev-master" - }, - "type": "cakephp-plugin", - "autoload": { - "psr-4": { - "WyriHaximus\\TwigView\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Cees-Jan Kiewiet", - "email": "ceesjank@gmail.com", - "homepage": "http://wyrihaximus.net/" - } - ], - "description": "Twig powered View for CakePHP3", - "keywords": [ - "cakephp", - "cakephp3", - "twig", - "view" - ], - "time": "2018-07-03 15:46:29" + "time": "2018-11-25T12:50:42+00:00" } ], "aliases": [], diff --git a/sql/lbryexplorer.ddl.sql b/sql/lbryexplorer.ddl.sql index 9285f44..24e9498 100644 --- a/sql/lbryexplorer.ddl.sql +++ b/sql/lbryexplorer.ddl.sql @@ -74,7 +74,7 @@ CREATE TABLE `Addresses` `TotalReceived` DECIMAL(18,8) DEFAULT 0 NOT NULL, `TotalSent` DECIMAL(18,8) DEFAULT 0 NOT NULL, `Balance` DECIMAL(18,8) AS (`TotalReceived` - `TotalSent`) PERSISTENT, - `Tag` VARCHAR(30) NOT NULL, + `Tag` VARCHAR(30), `TagUrl` VARCHAR(200), `Created` DATETIME NOT NULL, `Modified` DATETIME NOT NULL, diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php index cc5d715..0bbaacc 100644 --- a/src/Controller/MainController.php +++ b/src/Controller/MainController.php @@ -13,6 +13,7 @@ use Cake\Log\Log; use Endroid\QrCode\ErrorCorrectionLevel; use Endroid\QrCode\LabelAlignment; use Endroid\QrCode\QrCode; +use Endroid\QrCode\Response\QrCodeResponse; class MainController extends AppController { @@ -20,6 +21,8 @@ class MainController extends AppController { const lbcPriceKey = 'lbc.price'; + const txOutSetInfo = 'lbrcrd.tosi'; + const bittrexMarketUrl = 'https://bittrex.com/api/v1.1/public/getticker?market=BTC-LBC'; const blockchainTickerUrl = 'https://blockchain.info/ticker'; @@ -375,7 +378,7 @@ class MainController extends AppController { } } } - + public function blocks($height = null) { $this->loadModel('Blocks'); @@ -450,7 +453,7 @@ class MainController extends AppController { $this->loadModel('Inputs'); $this->loadModel('Outputs'); $this->loadModel('Claims'); - + $sourceAddress = $this->request->query('address'); $tx = $this->Transactions->find()->select( @@ -510,7 +513,7 @@ class MainController extends AppController { if (isset($priceInfo->price)) { $priceRate = $priceInfo->price; } - + $lbryAddresses = ['rFLUohPG4tP3gZHYoyhvADCtrDMiaYb7Qd', 'r9PGXsejVJb9ZfMf3QVdDEJCzxkd9JLxzL', 'r9srwX7DEN7Mex3a8oR1mKSqQmLBizoJvi', 'bRo4FEeqqxY7nWFANsZsuKEWByEgkvz8Qt', 'bU2XUzckfpdEuQNemKvhPT1gexQ3GG3SC2', 'bay3VA6YTQBL4WLobbG7CthmoGeUKXuXkD', 'bLPbiXBp6Vr3NSnsHzDsLNzoy5o36re9Cz', 'bMvUBo1h5WS46ThHtmfmXftz3z33VHL7wc', 'bVUrbCK8hcZ5XWti7b9eNxKEBxzc1rr393', 'bZja2VyhAC84a9hMwT8dwTU6rDRXowrjxH', 'bMvUBo1h5WS46ThHtmfmXftz3z33VHL7wc', 'bMgqQqYfwzWWYBk5o5dBMXtCndVAoeqy6h', 'bMvUBo1h5WS46ThHtmfmXftz3z33VHL7wc']; $totalBalance = 0; $maxBalance = 0; @@ -557,12 +560,6 @@ class MainController extends AppController { $recentTxs = []; $tagRequestAmount = 0; - // Check for pending tag request - $this->loadModel('TagAddressRequests'); - $pending = $this->TagAddressRequests->find()->where(['Address' => $addr, 'IsVerified <>' => 1])->first(); - if (!$pending) { - $tagRequestAmount = '25.' . rand(11111111, 99999999); - } $address = $this->Addresses->find()->where(['Address' => $addr])->first(); if (!$address) { @@ -623,8 +620,6 @@ class MainController extends AppController { $this->set('offset', $offset); $this->set('canTag', $canTag); - $this->set('pending', $pending); - $this->set('tagRequestAmount', $tagRequestAmount); $this->set('address', $address); $this->set('totalReceived', $totalRecvAmount); $this->set('totalSent', $totalSentAmount); @@ -647,15 +642,15 @@ class MainController extends AppController { $qrCode->setSize(300); // Set advanced options - $qrCode - ->setWriterByName('png') - ->setMargin(10) - ->setEncoding('UTF-8') - ->setErrorCorrectionLevel(ErrorCorrectionLevel::LOW) - ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0]) - ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255]) - ->setLogoWidth(150) - ->setValidateResult(false); + $qrCode->setWriterByName('png'); + $qrCode->setMargin(10); + $qrCode->setEncoding('UTF-8'); + $qrCode->setErrorCorrectionLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::LOW)); + $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]); + $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]); + $qrCode->setLogoWidth(150); + $qrCode->setValidateResult(false); + header('Content-Type: '.$qrCode->getContentType()); echo $qrCode->writeString(); @@ -697,17 +692,47 @@ class MainController extends AppController { } } - private function _gettxoutsetinfo() { - $req = ['method' => 'gettxoutsetinfo', 'params' => []]; - try { - $res = json_decode(self::curl_json_post(self::$rpcurl, json_encode($req))); - if (!isset($res->result)) { - return 0; + protected function _gettxoutsetinfo() { + $now = new \DateTime('now', new \DateTimeZone('UTC')); + $txOutSetInfo = new \stdClass(); + $txOutSetInfo->time = $now->format('c'); + + $shouldRefreshSet = false; + if (!$this->redis) { + $shouldRefreshSet = true; + } else { + if (!$this->redis->exists(self::txOutSetInfo)) { + $shouldRefreshSet = true; + } else { + $txOutSetInfo = json_decode($this->redis->get(self::txOutSetInfo)); + $lastTOSIDt = new \DateTime($txOutSetInfo->time); + $diff = $now->diff($lastTOSIDt); + $diffMinutes = $diff->i; + if ($diffMinutes >= 15 || $txOutSetInfo->set == 'N/A') { + $shouldRefreshSet = true; + } } - return $res->result; - } catch (\Exception $e) { - return 'N/A'; } + + if ($shouldRefreshSet) { + + $req = ['method' => 'gettxoutsetinfo', 'params' => []]; + try { + $res = json_decode(self::curl_json_post(self::$rpcurl, json_encode($req))); + if (!isset($res->result)) { + $txOutSetInfo->tosi = 'N/A'; + } + $txOutSetInfo->tosi = $res->result; + } catch (\Exception $e) { + $txOutSetInfo->tosi = 'N/A'; + } + $txOutSetInfo->time = $now->format('c'); + if ($this->redis) { + $this->redis->set(self::txOutSetInfo, json_encode($txOutSetInfo)); + } + } + + return (isset($txOutSetInfo->tosi)) ? $txOutSetInfo->tosi : 'N/A'; } public function apistatus() { @@ -936,6 +961,4 @@ class MainController extends AppController { // Close any open file handle return $response; } -} - -?> +} \ No newline at end of file