add caching to api

update deprecated methods
swap qr library
This commit is contained in:
Niko Storni 2018-12-03 17:27:41 -05:00
parent 3eab838967
commit 6c61179546
17 changed files with 354 additions and 197 deletions

View file

@ -12,8 +12,8 @@
"cakephp/plugin-installer": "~1.0", "cakephp/plugin-installer": "~1.0",
"mdanter/ecc": "^0.5.0", "mdanter/ecc": "^0.5.0",
"nesbot/carbon": "~1.18", "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": { "require-dev": {
"psy/psysh": "@stable", "psy/psysh": "@stable",

397
composer.lock generated
View file

@ -1,11 +1,10 @@
{ {
"_readme": [ "_readme": [
"This file locks the dependencies of your project to a known state", "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" "This file is @generated automatically"
], ],
"hash": "654f4b2fd4cf16d217bd2c8d6431357c", "content-hash": "256edf12def1dab07052f75395a87692",
"content-hash": "d6441e245d73b6c3db3a627313143bff",
"packages": [ "packages": [
{ {
"name": "aura/intl", "name": "aura/intl",
@ -51,36 +50,39 @@
"l10n", "l10n",
"localization" "localization"
], ],
"time": "2017-01-20 05:00:11" "time": "2017-01-20T05:00:11+00:00"
}, },
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
"version": "1.0.3", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Bacon/BaconQrCode.git", "url": "https://github.com/Bacon/BaconQrCode.git",
"reference": "5a91b62b9d37cee635bbf8d553f4546057250bee" "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee", "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0",
"reference": "5a91b62b9d37cee635bbf8d553f4546057250bee", "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"dasprid/enum": "^1.0",
"ext-iconv": "*", "ext-iconv": "*",
"php": "^5.4|^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8" "phly/keep-a-changelog": "^1.4",
"phpunit/phpunit": "^6.4",
"squizlabs/php_codesniffer": "^3.1"
}, },
"suggest": { "suggest": {
"ext-gd": "to generate QR code images" "ext-imagick": "to generate QR code images"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-0": { "psr-4": {
"BaconQrCode": "src/" "BaconQrCode\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -97,7 +99,7 @@
], ],
"description": "BaconQrCode is a QR code generator for PHP.", "description": "BaconQrCode is a QR code generator for PHP.",
"homepage": "https://github.com/Bacon/BaconQrCode", "homepage": "https://github.com/Bacon/BaconQrCode",
"time": "2017-10-17 09:59:25" "time": "2018-04-25T17:53:56+00:00"
}, },
{ {
"name": "cakephp/cakephp", "name": "cakephp/cakephp",
@ -183,7 +185,7 @@
"rapid-development", "rapid-development",
"validation" "validation"
], ],
"time": "2018-11-04 20:29:27" "time": "2018-11-04T20:29:27+00:00"
}, },
{ {
"name": "cakephp/chronos", "name": "cakephp/chronos",
@ -240,7 +242,7 @@
"datetime", "datetime",
"time" "time"
], ],
"time": "2018-10-18 22:02:21" "time": "2018-10-18T22:02:21+00:00"
}, },
{ {
"name": "cakephp/migrations", "name": "cakephp/migrations",
@ -293,7 +295,7 @@
"cakephp", "cakephp",
"migrations" "migrations"
], ],
"time": "2018-04-16 01:35:59" "time": "2018-04-16T01:35:59+00:00"
}, },
{ {
"name": "cakephp/plugin-installer", "name": "cakephp/plugin-installer",
@ -334,46 +336,126 @@
} }
], ],
"description": "A composer installer for CakePHP 3.0+ plugins.", "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", "name": "dasprid/enum",
"version": "2.5.1", "version": "1.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/endroid/qr-code.git", "url": "https://github.com/DASPRiD/Enum.git",
"reference": "6062677d3404e0ded40647b8f62ec55ff9722eb7" "reference": "631ef6e638e9494b0310837fa531bedd908fc22b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/endroid/qr-code/zipball/6062677d3404e0ded40647b8f62ec55ff9722eb7", "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b",
"reference": "6062677d3404e0ded40647b8f62ec55ff9722eb7", "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": "" "shasum": ""
}, },
"require": { "require": {
"bacon/bacon-qr-code": "^1.0.3", "composer-plugin-api": "^1.1",
"ext-gd": "*", "php": ">=7.1"
"khanamiryan/qrcode-detector-decoder": "1",
"myclabs/php-enum": "^1.5",
"php": ">=5.6",
"symfony/options-resolver": "^2.7",
"symfony/property-access": "^2.7"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^5.7", "phpunit/phpunit": "^5.7|^6.0"
"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"
}, },
"type": "symfony-bundle", "type": "composer-plugin",
"extra": { "extra": {
"branch-alias": { "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": { "autoload": {
@ -388,23 +470,20 @@
"authors": [ "authors": [
{ {
"name": "Jeroen van den Enden", "name": "Jeroen van den Enden",
"email": "info@endroid.nl", "email": "info@endroid.nl"
"homepage": "http://endroid.nl/"
} }
], ],
"description": "Endroid QR Code", "description": "Endroid QR Code",
"homepage": "https://github.com/endroid/QrCode", "homepage": "https://github.com/endroid/qr-code",
"keywords": [ "keywords": [
"bundle", "bundle",
"code", "code",
"endroid", "endroid",
"flex", "php",
"qr", "qr",
"qrcode", "qrcode"
"symfony"
], ],
"abandoned": "endroid/qr-code", "time": "2018-12-01T12:34:40+00:00"
"time": "2018-05-09 20:26:30"
}, },
{ {
"name": "fgrosse/phpasn1", "name": "fgrosse/phpasn1",
@ -473,20 +552,20 @@
"x509", "x509",
"x690" "x690"
], ],
"time": "2018-12-02 01:34:34" "time": "2018-12-02T01:34:34+00:00"
}, },
{ {
"name": "khanamiryan/qrcode-detector-decoder", "name": "khanamiryan/qrcode-detector-decoder",
"version": "1", "version": "1.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git", "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git",
"reference": "96d5f80680b04803c4f1b69d6e01735e876b80c7" "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/96d5f80680b04803c4f1b69d6e01735e876b80c7", "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/a75482d3bc804e3f6702332bfda6cccbb0dfaa76",
"reference": "96d5f80680b04803c4f1b69d6e01735e876b80c7", "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -497,11 +576,11 @@
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
"classmap": [ "psr-4": {
"lib/" "Zxing\\": "lib/"
], },
"files": [ "files": [
"lib/common/customFunctions.php" "lib/Common/customFunctions.php"
] ]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -517,26 +596,26 @@
} }
], ],
"description": "QR code decoder / reader", "description": "QR code decoder / reader",
"homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder", "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/",
"keywords": [ "keywords": [
"barcode", "barcode",
"qr", "qr",
"zxing" "zxing"
], ],
"time": "2017-01-13 09:11:46" "time": "2018-04-26T11:41:33+00:00"
}, },
{ {
"name": "mdanter/ecc", "name": "mdanter/ecc",
"version": "v0.5.1", "version": "v0.5.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpecc/phpecc.git", "url": "https://github.com/phpecc/phpecc.git",
"reference": "9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b" "reference": "b95f25cc1bacc83a9f0ccd375900b7cfd343029e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpecc/phpecc/zipball/9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b", "url": "https://api.github.com/repos/phpecc/phpecc/zipball/b95f25cc1bacc83a9f0ccd375900b7cfd343029e",
"reference": "9a3aca17c6dfc04bdaad2e7ddab3b8df656ffc5b", "reference": "b95f25cc1bacc83a9f0ccd375900b7cfd343029e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -595,7 +674,7 @@
"secp256k1", "secp256k1",
"secp256r1" "secp256r1"
], ],
"time": "2018-12-01 23:35:23" "time": "2018-12-03T18:17:01+00:00"
}, },
{ {
"name": "mobiledetect/mobiledetectlib", "name": "mobiledetect/mobiledetectlib",
@ -647,7 +726,7 @@
"mobile detector", "mobile detector",
"php mobile detect" "php mobile detect"
], ],
"time": "2018-09-01 15:05:15" "time": "2018-09-01T15:05:15+00:00"
}, },
{ {
"name": "myclabs/php-enum", "name": "myclabs/php-enum",
@ -691,7 +770,7 @@
"keywords": [ "keywords": [
"enum" "enum"
], ],
"time": "2018-10-30 14:36:18" "time": "2018-10-30T14:36:18+00:00"
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
@ -749,7 +828,7 @@
"datetime", "datetime",
"time" "time"
], ],
"time": "2018-11-22 18:23:02" "time": "2018-11-22T18:23:02+00:00"
}, },
{ {
"name": "predis/predis", "name": "predis/predis",
@ -799,7 +878,7 @@
"predis", "predis",
"redis" "redis"
], ],
"time": "2016-06-16 16:22:20" "time": "2016-06-16T16:22:20+00:00"
}, },
{ {
"name": "psr/http-message", "name": "psr/http-message",
@ -849,7 +928,7 @@
"request", "request",
"response" "response"
], ],
"time": "2016-08-06 14:39:51" "time": "2016-08-06T14:39:51+00:00"
}, },
{ {
"name": "psr/log", "name": "psr/log",
@ -896,7 +975,7 @@
"psr", "psr",
"psr-3" "psr-3"
], ],
"time": "2018-11-20 15:27:04" "time": "2018-11-20T15:27:04+00:00"
}, },
{ {
"name": "robmorgan/phinx", "name": "robmorgan/phinx",
@ -962,7 +1041,7 @@
"migrations", "migrations",
"phinx" "phinx"
], ],
"time": "2017-06-05 13:30:19" "time": "2017-06-05T13:30:19+00:00"
}, },
{ {
"name": "symfony/config", "name": "symfony/config",
@ -1026,7 +1105,7 @@
], ],
"description": "Symfony Config Component", "description": "Symfony Config Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-26 10:17:44" "time": "2018-11-26T10:17:44+00:00"
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
@ -1095,7 +1174,7 @@
], ],
"description": "Symfony Console Component", "description": "Symfony Console Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-26 12:48:07" "time": "2018-11-26T12:48:07+00:00"
}, },
{ {
"name": "symfony/contracts", "name": "symfony/contracts",
@ -1163,7 +1242,7 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2018-11-24 09:35:08" "time": "2018-11-24T09:35:08+00:00"
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
@ -1219,7 +1298,7 @@
], ],
"description": "Symfony Debug Component", "description": "Symfony Debug Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-28 18:24:18" "time": "2018-11-28T18:24:18+00:00"
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
@ -1269,29 +1348,87 @@
], ],
"description": "Symfony Filesystem Component", "description": "Symfony Filesystem Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-11 19:52:12" "time": "2018-11-11T19:52:12+00:00"
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/inflector",
"version": "v2.8.48", "version": "v4.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/options-resolver.git", "url": "https://github.com/symfony/inflector.git",
"reference": "7aaab725bb58f0e18aa12c61bdadd4793ab4c32b" "reference": "f9a637c0359f74404d44cf0da0a3ce53bae0787e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/7aaab725bb58f0e18aa12c61bdadd4793ab4c32b", "url": "https://api.github.com/repos/symfony/inflector/zipball/f9a637c0359f74404d44cf0da0a3ce53bae0787e",
"reference": "7aaab725bb58f0e18aa12c61bdadd4793ab4c32b", "reference": "f9a637c0359f74404d44cf0da0a3ce53bae0787e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.9" "php": "^7.1.3",
"symfony/polyfill-ctype": "~1.8"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "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": { "autoload": {
@ -1323,7 +1460,7 @@
"configuration", "configuration",
"options" "options"
], ],
"time": "2018-11-11 11:18:13" "time": "2018-11-11T19:52:12+00:00"
}, },
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
@ -1381,7 +1518,7 @@
"polyfill", "polyfill",
"portable" "portable"
], ],
"time": "2018-08-06 14:22:27" "time": "2018-08-06T14:22:27+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
@ -1440,30 +1577,36 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2018-09-21 13:07:52" "time": "2018-09-21T13:07:52+00:00"
}, },
{ {
"name": "symfony/property-access", "name": "symfony/property-access",
"version": "v2.8.48", "version": "v4.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-access.git", "url": "https://github.com/symfony/property-access.git",
"reference": "c8f10191183be9bb0d5a1b8364d3891f1bde07b6" "reference": "b6df4e1849f389468edb36e2e59877d4a8170723"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/c8f10191183be9bb0d5a1b8364d3891f1bde07b6", "url": "https://api.github.com/repos/symfony/property-access/zipball/b6df4e1849f389468edb36e2e59877d4a8170723",
"reference": "c8f10191183be9bb0d5a1b8364d3891f1bde07b6", "reference": "b6df4e1849f389468edb36e2e59877d4a8170723",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.9", "php": "^7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/inflector": "~3.4|~4.0"
},
"require-dev": {
"symfony/cache": "~3.4|~4.0"
},
"suggest": {
"psr/cache-implementation": "To cache access methods."
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.8-dev" "dev-master": "4.2-dev"
} }
}, },
"autoload": { "autoload": {
@ -1501,7 +1644,7 @@
"property path", "property path",
"reflection" "reflection"
], ],
"time": "2018-11-11 11:18:13" "time": "2018-11-29T14:48:32+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
@ -1574,7 +1717,7 @@
], ],
"description": "Symfony Translation Component", "description": "Symfony Translation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-27 07:20:32" "time": "2018-11-27T07:20:32+00:00"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
@ -1633,7 +1776,7 @@
], ],
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-11 19:48:54" "time": "2018-11-11T19:48:54+00:00"
}, },
{ {
"name": "zendframework/zend-diactoros", "name": "zendframework/zend-diactoros",
@ -1697,7 +1840,7 @@
"psr", "psr",
"psr-7" "psr-7"
], ],
"time": "2018-09-05 19:29:37" "time": "2018-09-05T19:29:37+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
@ -1759,7 +1902,7 @@
"breakpoint", "breakpoint",
"twig" "twig"
], ],
"time": "2017-11-20 13:04:11" "time": "2017-11-20T13:04:11+00:00"
}, },
{ {
"name": "aptoma/twig-markdown", "name": "aptoma/twig-markdown",
@ -1816,7 +1959,7 @@
"markdown", "markdown",
"twig" "twig"
], ],
"time": "2015-10-23 20:27:08" "time": "2015-10-23T20:27:08+00:00"
}, },
{ {
"name": "asm89/twig-cache-extension", "name": "asm89/twig-cache-extension",
@ -1870,7 +2013,7 @@
"extension", "extension",
"twig" "twig"
], ],
"time": "2017-01-10 22:04:15" "time": "2017-01-10T22:04:15+00:00"
}, },
{ {
"name": "cakephp/bake", "name": "cakephp/bake",
@ -1918,7 +2061,7 @@
"bake", "bake",
"cakephp" "cakephp"
], ],
"time": "2018-11-17 03:34:24" "time": "2018-11-17T03:34:24+00:00"
}, },
{ {
"name": "cakephp/debug_kit", "name": "cakephp/debug_kit",
@ -1978,7 +2121,7 @@
"debug", "debug",
"kit" "kit"
], ],
"time": "2018-11-22 15:19:18" "time": "2018-11-22T15:19:18+00:00"
}, },
{ {
"name": "composer/ca-bundle", "name": "composer/ca-bundle",
@ -2034,7 +2177,7 @@
"ssl", "ssl",
"tls" "tls"
], ],
"time": "2018-10-18 06:09:13" "time": "2018-10-18T06:09:13+00:00"
}, },
{ {
"name": "composer/composer", "name": "composer/composer",
@ -2114,7 +2257,7 @@
"dependency", "dependency",
"package" "package"
], ],
"time": "2018-12-03 09:31:16" "time": "2018-12-03T09:31:16+00:00"
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
@ -2176,7 +2319,7 @@
"validation", "validation",
"versioning" "versioning"
], ],
"time": "2016-08-30 16:08:34" "time": "2016-08-30T16:08:34+00:00"
}, },
{ {
"name": "composer/spdx-licenses", "name": "composer/spdx-licenses",
@ -2237,7 +2380,7 @@
"spdx", "spdx",
"validator" "validator"
], ],
"time": "2018-11-01 09:45:54" "time": "2018-11-01T09:45:54+00:00"
}, },
{ {
"name": "composer/xdebug-handler", "name": "composer/xdebug-handler",
@ -2281,7 +2424,7 @@
"Xdebug", "Xdebug",
"performance" "performance"
], ],
"time": "2018-11-29 10:59:02" "time": "2018-11-29T10:59:02+00:00"
}, },
{ {
"name": "dnoegel/php-xdg-base-dir", "name": "dnoegel/php-xdg-base-dir",
@ -2314,7 +2457,7 @@
"MIT" "MIT"
], ],
"description": "implementation of xdg base directory specification for php", "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", "name": "jakub-onderka/php-console-color",
@ -2356,7 +2499,7 @@
"email": "jakub.onderka@gmail.com" "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", "name": "jakub-onderka/php-console-highlighter",
@ -2402,7 +2545,7 @@
} }
], ],
"description": "Highlight PHP code in terminal", "description": "Highlight PHP code in terminal",
"time": "2018-09-29 18:48:56" "time": "2018-09-29T18:48:56+00:00"
}, },
{ {
"name": "jasny/twig-extensions", "name": "jasny/twig-extensions",
@ -2462,7 +2605,7 @@
"text", "text",
"time" "time"
], ],
"time": "2017-09-13 07:38:01" "time": "2017-09-13T07:38:01+00:00"
}, },
{ {
"name": "jdorn/sql-formatter", "name": "jdorn/sql-formatter",
@ -2512,7 +2655,7 @@
"highlight", "highlight",
"sql" "sql"
], ],
"time": "2014-01-12 16:20:24" "time": "2014-01-12T16:20:24+00:00"
}, },
{ {
"name": "justinrainbow/json-schema", "name": "justinrainbow/json-schema",
@ -2578,7 +2721,7 @@
"json", "json",
"schema" "schema"
], ],
"time": "2018-02-14 22:26:30" "time": "2018-02-14T22:26:30+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
@ -2629,7 +2772,7 @@
"parser", "parser",
"php" "php"
], ],
"time": "2018-10-10 09:24:14" "time": "2018-10-10T09:24:14+00:00"
}, },
{ {
"name": "psy/psysh", "name": "psy/psysh",
@ -2703,7 +2846,7 @@
"interactive", "interactive",
"shell" "shell"
], ],
"time": "2018-10-13 15:16:03" "time": "2018-10-13T15:16:03+00:00"
}, },
{ {
"name": "seld/jsonlint", "name": "seld/jsonlint",
@ -2752,7 +2895,7 @@
"parser", "parser",
"validator" "validator"
], ],
"time": "2018-01-24 12:46:19" "time": "2018-01-24T12:46:19+00:00"
}, },
{ {
"name": "seld/phar-utils", "name": "seld/phar-utils",
@ -2796,7 +2939,7 @@
"keywords": [ "keywords": [
"phra" "phra"
], ],
"time": "2015-10-13 18:44:15" "time": "2015-10-13T18:44:15+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
@ -2845,7 +2988,7 @@
], ],
"description": "Symfony Finder Component", "description": "Symfony Finder Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-11 19:52:12" "time": "2018-11-11T19:52:12+00:00"
}, },
{ {
"name": "symfony/polyfill-php72", "name": "symfony/polyfill-php72",
@ -2900,7 +3043,7 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2018-09-21 13:07:52" "time": "2018-09-21T13:07:52+00:00"
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
@ -2949,7 +3092,7 @@
], ],
"description": "Symfony Process Component", "description": "Symfony Process Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2018-11-20 16:22:05" "time": "2018-11-20T16:22:05+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
@ -3024,7 +3167,7 @@
"debug", "debug",
"dump" "dump"
], ],
"time": "2018-11-25 12:50:42" "time": "2018-11-25T12:50:42+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
@ -3090,7 +3233,7 @@
"keywords": [ "keywords": [
"templating" "templating"
], ],
"time": "2018-07-13 07:12:17" "time": "2018-07-13T07:12:17+00:00"
}, },
{ {
"name": "umpirsky/twig-php-function", "name": "umpirsky/twig-php-function",
@ -3131,7 +3274,7 @@
} }
], ],
"description": "Call (almost) any PHP function from your Twig templates.", "description": "Call (almost) any PHP function from your Twig templates.",
"time": "2016-03-12 16:36:32" "time": "2016-03-12T16:36:32+00:00"
}, },
{ {
"name": "wyrihaximus/twig-view", "name": "wyrihaximus/twig-view",
@ -3189,7 +3332,7 @@
"twig", "twig",
"view" "view"
], ],
"time": "2018-07-03 15:46:29" "time": "2018-07-03T15:46:29+00:00"
} }
], ],
"aliases": [], "aliases": [],

View file

@ -36,6 +36,7 @@ class AppController extends Controller
* e.g. `$this->loadComponent('Security');` * e.g. `$this->loadComponent('Security');`
* *
* @return void * @return void
* @throws \Exception
*/ */
public function initialize() public function initialize()
{ {
@ -61,7 +62,7 @@ class AppController extends Controller
public function beforeRender(Event $event) public function beforeRender(Event $event)
{ {
if (!array_key_exists('_serialize', $this->viewVars) && if (!array_key_exists('_serialize', $this->viewVars) &&
in_array($this->response->type(), ['application/json', 'application/xml']) in_array($this->response->getType(), ['application/json', 'application/xml'])
) { ) {
$this->set('_serialize', true); $this->set('_serialize', true);
} }
@ -69,9 +70,9 @@ class AppController extends Controller
protected function _jsonResponse($object = [], $statusCode = null) protected function _jsonResponse($object = [], $statusCode = null)
{ {
$this->response->statusCode($statusCode); $this->response->withStatus($statusCode);
$this->response->type('json'); $this->response->withType('json');
$this->response->body(json_encode($object)); $this->response->withStringBody(json_encode($object));
} }
protected function _jsonError($message, $statusCode = null) { protected function _jsonError($message, $statusCode = null) {

View file

@ -11,10 +11,10 @@ class ClaimsController extends AppController {
$this->loadModel('Claims'); $this->loadModel('Claims');
$pageLimit = 48; $pageLimit = 48;
$beforeId = intval($this->request->query('before')); $beforeId = intval($this->request->getQuery('before'));
$afterId = intval($this->request->query('after')); $afterId = intval($this->request->getQuery('after'));
$sort = trim($this->request->query('sort')); $sort = trim($this->request->getQuery('sort'));
$nsfw = trim($this->request->query('nsfw')); $nsfw = trim($this->request->getQuery('nsfw'));
switch ($sort) { switch ($sort) {
case 'popular': case 'popular':
// TODO: sort by upvote/downvote score // TODO: sort by upvote/downvote score

View file

@ -27,6 +27,7 @@ class ErrorController extends AppController
* Initialization hook method. * Initialization hook method.
* *
* @return void * @return void
* @throws \Exception
*/ */
public function initialize() public function initialize()
{ {

View file

@ -20,6 +20,8 @@ class MainController extends AppController {
const lbcPriceKey = 'lbc.price'; const lbcPriceKey = 'lbc.price';
const txOutSetInfo = 'lbrcrd.tosi';
const bittrexMarketUrl = 'https://bittrex.com/api/v1.1/public/getticker?market=BTC-LBC'; const bittrexMarketUrl = 'https://bittrex.com/api/v1.1/public/getticker?market=BTC-LBC';
const blockchainTickerUrl = 'https://blockchain.info/ticker'; const blockchainTickerUrl = 'https://blockchain.info/ticker';
@ -697,17 +699,47 @@ class MainController extends AppController {
} }
} }
private function _gettxoutsetinfo() { protected function _gettxoutsetinfo() {
$req = ['method' => 'gettxoutsetinfo', 'params' => []]; $now = new \DateTime('now', new \DateTimeZone('UTC'));
try { $txOutSetInfo = new \stdClass();
$res = json_decode(self::curl_json_post(self::$rpcurl, json_encode($req))); $txOutSetInfo->time = $now->format('c');
if (!isset($res->result)) {
return 0; $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 == 0) { // 15 minutes (or if the price is 0)
$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() { public function apistatus() {
@ -936,6 +968,4 @@ class MainController extends AppController {
// Close any open file handle // Close any open file handle
return $response; return $response;
} }
} }
?>

View file

@ -15,8 +15,8 @@
namespace App\Controller; namespace App\Controller;
use Cake\Core\Configure; use Cake\Core\Configure;
use Cake\Network\Exception\ForbiddenException; use Cake\Http\Exception\ForbiddenException;
use Cake\Network\Exception\NotFoundException; use Cake\Http\Exception\NotFoundException;
use Cake\View\Exception\MissingTemplateException; use Cake\View\Exception\MissingTemplateException;
/** /**
@ -33,7 +33,7 @@ class PagesController extends AppController
* Displays a view * Displays a view
* *
* @param string ...$path Path segments. * @param string ...$path Path segments.
* @return void|\Cake\Network\Response * @return \Cake\Http\Response
* @throws \Cake\Network\Exception\ForbiddenException When a directory traversal attempt. * @throws \Cake\Network\Exception\ForbiddenException When a directory traversal attempt.
* @throws \Cake\Network\Exception\NotFoundException When the view file could not * @throws \Cake\Network\Exception\NotFoundException When the view file could not
* be found or \Cake\View\Exception\MissingTemplateException in debug mode. * be found or \Cake\View\Exception\MissingTemplateException in debug mode.

View file

@ -8,8 +8,8 @@ class AddressesTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Addresses'); $this->setTable('Addresses');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
} }

View file

@ -8,11 +8,9 @@ class BlocksTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Blocks'); $this->setTable('Blocks');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
} }
} }
?>

View file

@ -8,11 +8,9 @@ class ClaimStreamsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('ClaimStreams'); $this->setTable('ClaimStreams');
//$this->addBehavior('SimpleAudit'); //$this->addBehavior('SimpleAudit');
} }
} }
?>

View file

@ -8,8 +8,8 @@ class ClaimsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Claims'); $this->setTable('Claims');
//$this->addBehavior('SimpleAudit'); //$this->addBehavior('SimpleAudit');
$this->addAssociations([ $this->addAssociations([
@ -31,6 +31,4 @@ class ClaimsTable extends Table {
] ]
]); ]);
} }
} }
?>

View file

@ -8,8 +8,8 @@ class InputsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Inputs'); $this->setTable('Inputs');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
@ -25,6 +25,4 @@ class InputsTable extends Table {
] ]
]); ]);
} }
} }
?>

View file

@ -8,8 +8,8 @@ class OutputsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Outputs'); $this->setTable('Outputs');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
@ -32,6 +32,4 @@ class OutputsTable extends Table {
] ]
]); ]);
} }
} }
?>

View file

@ -8,9 +8,7 @@ class PriceHistoryTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('PriceHistory'); $this->setTable('PriceHistory');
} }
} }
?>

View file

@ -8,11 +8,9 @@ class TagAddressRequestsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('TagAddressRequests'); $this->setTable('TagAddressRequests');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
} }
} }
?>

View file

@ -8,11 +8,9 @@ class TransactionsTable extends Table {
public function initialize(array $config) { public function initialize(array $config) {
parent::initialize($config); parent::initialize($config);
$this->primaryKey('Id'); $this->setPrimaryKey('Id');
$this->table('Transactions'); $this->setTable('Transactions');
$this->addBehavior('SimpleAudit'); $this->addBehavior('SimpleAudit');
} }
} }
?>

View file

@ -219,6 +219,4 @@ class AuxShell extends Shell {
return $response; return $response;
} }
} }
?>