Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
|
70c04cca47 | ||
|
ed508182b5 | ||
|
3d28c44fde | ||
|
6c61179546 |
32 changed files with 461 additions and 276 deletions
|
@ -12,8 +12,8 @@
|
|||
"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",
|
||||
|
|
397
composer.lock
generated
397
composer.lock
generated
|
@ -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": "256edf12def1dab07052f75395a87692",
|
||||
"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,7 +99,7 @@
|
|||
],
|
||||
"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",
|
||||
|
@ -183,7 +185,7 @@
|
|||
"rapid-development",
|
||||
"validation"
|
||||
],
|
||||
"time": "2018-11-04 20:29:27"
|
||||
"time": "2018-11-04T20:29:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "cakephp/chronos",
|
||||
|
@ -240,7 +242,7 @@
|
|||
"datetime",
|
||||
"time"
|
||||
],
|
||||
"time": "2018-10-18 22:02:21"
|
||||
"time": "2018-10-18T22:02:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "cakephp/migrations",
|
||||
|
@ -293,7 +295,7 @@
|
|||
"cakephp",
|
||||
"migrations"
|
||||
],
|
||||
"time": "2018-04-16 01:35:59"
|
||||
"time": "2018-04-16T01:35:59+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,7 +1840,7 @@
|
|||
"psr",
|
||||
"psr-7"
|
||||
],
|
||||
"time": "2018-09-05 19:29:37"
|
||||
"time": "2018-09-05T19:29:37+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -1759,7 +1902,7 @@
|
|||
"breakpoint",
|
||||
"twig"
|
||||
],
|
||||
"time": "2017-11-20 13:04:11"
|
||||
"time": "2017-11-20T13:04:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "aptoma/twig-markdown",
|
||||
|
@ -1816,7 +1959,7 @@
|
|||
"markdown",
|
||||
"twig"
|
||||
],
|
||||
"time": "2015-10-23 20:27:08"
|
||||
"time": "2015-10-23T20:27:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "asm89/twig-cache-extension",
|
||||
|
@ -1870,7 +2013,7 @@
|
|||
"extension",
|
||||
"twig"
|
||||
],
|
||||
"time": "2017-01-10 22:04:15"
|
||||
"time": "2017-01-10T22:04:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "cakephp/bake",
|
||||
|
@ -1918,7 +2061,7 @@
|
|||
"bake",
|
||||
"cakephp"
|
||||
],
|
||||
"time": "2018-11-17 03:34:24"
|
||||
"time": "2018-11-17T03:34:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "cakephp/debug_kit",
|
||||
|
@ -1978,7 +2121,7 @@
|
|||
"debug",
|
||||
"kit"
|
||||
],
|
||||
"time": "2018-11-22 15:19:18"
|
||||
"time": "2018-11-22T15:19:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
|
@ -2034,7 +2177,7 @@
|
|||
"ssl",
|
||||
"tls"
|
||||
],
|
||||
"time": "2018-10-18 06:09:13"
|
||||
"time": "2018-10-18T06:09:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/composer",
|
||||
|
@ -2114,7 +2257,7 @@
|
|||
"dependency",
|
||||
"package"
|
||||
],
|
||||
"time": "2018-12-03 09:31:16"
|
||||
"time": "2018-12-03T09:31:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
|
@ -2176,7 +2319,7 @@
|
|||
"validation",
|
||||
"versioning"
|
||||
],
|
||||
"time": "2016-08-30 16:08:34"
|
||||
"time": "2016-08-30T16:08:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/spdx-licenses",
|
||||
|
@ -2237,7 +2380,7 @@
|
|||
"spdx",
|
||||
"validator"
|
||||
],
|
||||
"time": "2018-11-01 09:45:54"
|
||||
"time": "2018-11-01T09:45:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
|
@ -2281,7 +2424,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 +2457,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 +2499,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,7 +2545,7 @@
|
|||
}
|
||||
],
|
||||
"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",
|
||||
|
@ -2462,7 +2605,7 @@
|
|||
"text",
|
||||
"time"
|
||||
],
|
||||
"time": "2017-09-13 07:38:01"
|
||||
"time": "2017-09-13T07:38:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jdorn/sql-formatter",
|
||||
|
@ -2512,7 +2655,7 @@
|
|||
"highlight",
|
||||
"sql"
|
||||
],
|
||||
"time": "2014-01-12 16:20:24"
|
||||
"time": "2014-01-12T16:20:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "justinrainbow/json-schema",
|
||||
|
@ -2578,7 +2721,7 @@
|
|||
"json",
|
||||
"schema"
|
||||
],
|
||||
"time": "2018-02-14 22:26:30"
|
||||
"time": "2018-02-14T22:26:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
|
@ -2629,7 +2772,7 @@
|
|||
"parser",
|
||||
"php"
|
||||
],
|
||||
"time": "2018-10-10 09:24:14"
|
||||
"time": "2018-10-10T09:24:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
|
@ -2703,7 +2846,7 @@
|
|||
"interactive",
|
||||
"shell"
|
||||
],
|
||||
"time": "2018-10-13 15:16:03"
|
||||
"time": "2018-10-13T15:16:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "seld/jsonlint",
|
||||
|
@ -2752,7 +2895,7 @@
|
|||
"parser",
|
||||
"validator"
|
||||
],
|
||||
"time": "2018-01-24 12:46:19"
|
||||
"time": "2018-01-24T12:46:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "seld/phar-utils",
|
||||
|
@ -2796,7 +2939,7 @@
|
|||
"keywords": [
|
||||
"phra"
|
||||
],
|
||||
"time": "2015-10-13 18:44:15"
|
||||
"time": "2015-10-13T18:44:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
|
@ -2845,7 +2988,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 +3043,7 @@
|
|||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2018-09-21 13:07:52"
|
||||
"time": "2018-09-21T13:07:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
|
@ -2949,7 +3092,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,7 +3167,7 @@
|
|||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2018-11-25 12:50:42"
|
||||
"time": "2018-11-25T12:50:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
|
@ -3090,7 +3233,7 @@
|
|||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2018-07-13 07:12:17"
|
||||
"time": "2018-07-13T07:12:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "umpirsky/twig-php-function",
|
||||
|
@ -3131,7 +3274,7 @@
|
|||
}
|
||||
],
|
||||
"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",
|
||||
|
@ -3189,7 +3332,7 @@
|
|||
"twig",
|
||||
"view"
|
||||
],
|
||||
"time": "2018-07-03 15:46:29"
|
||||
"time": "2018-07-03T15:46:29+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?php
|
||||
namespace App\config;
|
||||
|
||||
return [
|
||||
/**
|
||||
* Debug Level:
|
||||
|
|
|
@ -15,22 +15,19 @@
|
|||
|
||||
// You can remove this if you are confident that your PHP version is sufficient.
|
||||
if (version_compare(PHP_VERSION, '5.6.0') < 0) {
|
||||
trigger_error('Your PHP version must be equal or higher than 5.6.0 to use CakePHP.', E_USER_ERROR);
|
||||
}
|
||||
trigger_error('Your PHP version must be equal or higher than 5.6.0 to}
|
||||
|
||||
/*
|
||||
* You can remove this if you are confident you have intl installed.
|
||||
*/
|
||||
if (!extension_loaded('intl')) {
|
||||
trigger_error('You must enable the intl extension to use CakePHP.', E_USER_ERROR);
|
||||
}
|
||||
trigger_error('You must enable the intl extension to}
|
||||
|
||||
/*
|
||||
* You can remove this if you are confident you have mbstring installed.
|
||||
*/
|
||||
if (!extension_loaded('mbstring')) {
|
||||
trigger_error('You must enable the mbstring extension to use CakePHP.', E_USER_ERROR);
|
||||
}
|
||||
trigger_error('You must enable the mbstring extension to}
|
||||
|
||||
/*
|
||||
* Configure paths required to find CakePHP + general filepath
|
||||
|
@ -49,20 +46,6 @@ require __DIR__ . '/paths.php';
|
|||
*/
|
||||
require CORE_PATH . 'config' . DS . 'bootstrap.php';
|
||||
|
||||
use Cake\Cache\Cache;
|
||||
use Cake\Console\ConsoleErrorHandler;
|
||||
use Cake\Core\App;
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Core\Configure\Engine\PhpConfig;
|
||||
use Cake\Core\Plugin;
|
||||
use Cake\Database\Type;
|
||||
use Cake\Datasource\ConnectionManager;
|
||||
use Cake\Error\ErrorHandler;
|
||||
use Cake\Log\Log;
|
||||
use Cake\Mailer\Email;
|
||||
use Cake\Network\Request;
|
||||
use Cake\Utility\Inflector;
|
||||
use Cake\Utility\Security;
|
||||
|
||||
/*
|
||||
* Read configuration file and inject configuration into various
|
||||
|
@ -153,7 +136,7 @@ ConnectionManager::setConfig(Configure::consume('Datasources'));
|
|||
Email::setConfigTransport(Configure::consume('EmailTransport'));
|
||||
Email::setConfig(Configure::consume('Email'));
|
||||
Log::setConfig(Configure::consume('Log'));
|
||||
Security::salt(Configure::consume('Security.salt'));
|
||||
Security::setSalt(Configure::consume('Security.salt'));
|
||||
|
||||
/*
|
||||
* The default crypto extension in 3.0 is OpenSSL.
|
||||
|
@ -213,13 +196,5 @@ Type::build('timestamp')
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Only try to load DebugKit in development mode
|
||||
* Debug Kit should not be installed on a production system
|
||||
*/
|
||||
if (Configure::read('debug')) {
|
||||
Plugin::load('DebugKit', ['bootstrap' => true]);
|
||||
}
|
||||
|
||||
Configure::load('lbry');
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
* @since 3.0.0
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace App\config;
|
||||
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Core\Exception\MissingPluginException;
|
||||
use Cake\Core\Plugin;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace App\config;
|
||||
|
||||
return [
|
||||
'Lbry' => [
|
||||
'RpcUrl' => 'http://user:password@127.0.0.1:9245',
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
* @since 3.0.0
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
namespace App\config;
|
||||
|
||||
|
||||
/**
|
||||
* Use the DS to separate the directories in other defines
|
||||
|
|
39
config/requirements.php
Normal file
39
config/requirements.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
/**
|
||||
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
|
||||
* Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* For full copyright and license information, please see the LICENSE.txt
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
|
||||
* @link https://cakephp.org CakePHP(tm) Project
|
||||
* @since 3.5.0
|
||||
* @license https://opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
|
||||
/*
|
||||
* You can empty out this file, if you are certain that you match all requirements.
|
||||
*/
|
||||
|
||||
/*
|
||||
* You can remove this if you are confident that your PHP version is sufficient.
|
||||
*/
|
||||
if (version_compare(PHP_VERSION, '5.6.0') < 0) {
|
||||
trigger_error('Your PHP version must be equal or higher than 5.6.0 to use CakePHP.' . PHP_EOL, E_USER_ERROR);
|
||||
}
|
||||
|
||||
/*
|
||||
* You can remove this if you are confident you have intl installed.
|
||||
*/
|
||||
if (!extension_loaded('intl')) {
|
||||
trigger_error('You must enable the intl extension to use CakePHP.' . PHP_EOL, E_USER_ERROR);
|
||||
}
|
||||
|
||||
/*
|
||||
* You can remove this if you are confident you have mbstring installed.
|
||||
*/
|
||||
if (!extension_loaded('mbstring')) {
|
||||
trigger_error('You must enable the mbstring extension to use CakePHP.' . PHP_EOL, E_USER_ERROR);
|
||||
}
|
|
@ -18,10 +18,6 @@
|
|||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
|
||||
use Cake\Core\Plugin;
|
||||
use Cake\Routing\RouteBuilder;
|
||||
use Cake\Routing\Router;
|
||||
use Cake\Routing\Route\DashedRoute;
|
||||
|
||||
/**
|
||||
* The default class to use for all routes
|
||||
|
@ -72,9 +68,3 @@ Router::scope('/', function (RouteBuilder $routes) {
|
|||
|
||||
//$routes->fallbacks(DashedRoute::class);
|
||||
});
|
||||
|
||||
/**
|
||||
* Load all plugin routes. See the Plugin documentation on
|
||||
* how to customize the loading of plugin routes.
|
||||
*/
|
||||
Plugin::routes();
|
||||
|
|
|
@ -12,9 +12,11 @@
|
|||
* @since 3.3.0
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
|
||||
namespace App;
|
||||
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Core\Plugin;
|
||||
use Cake\Error\Middleware\ErrorHandlerMiddleware;
|
||||
use Cake\Http\BaseApplication;
|
||||
use Cake\Routing\Middleware\AssetMiddleware;
|
||||
|
@ -40,13 +42,23 @@ class Application extends BaseApplication
|
|||
// Catch any exceptions in the lower layers,
|
||||
// and make an error page/response
|
||||
->add(ErrorHandlerMiddleware::class)
|
||||
|
||||
// Handle plugin/theme assets like CakePHP normally does.
|
||||
->add(AssetMiddleware::class)
|
||||
|
||||
// Apply routing
|
||||
->add(RoutingMiddleware::class);
|
||||
|
||||
return $middleware;
|
||||
}
|
||||
|
||||
public function bootstrap()
|
||||
{
|
||||
parent::bootstrap(); // TODO: Change the autogenerated stub
|
||||
/*
|
||||
* Only try to load DebugKit in development mode
|
||||
* Debug Kit should not be installed on a production system
|
||||
*/
|
||||
if (Configure::read('debug')) {
|
||||
$this->addPlugin(\DebugKit\Plugin::class);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ class Installer
|
|||
if (in_array($arg, ['Y', 'y', 'N', 'n'])) {
|
||||
return $arg;
|
||||
}
|
||||
throw new Exception('This is not a valid answer. Please choose Y or n.');
|
||||
throw new \Exception('This is not a valid answer. Please choose Y or n.');
|
||||
};
|
||||
$setFolderPermissions = $io->askAndValidate(
|
||||
'<info>Set Folder Permissions ? (Default to Y)</info> [<comment>Y,n</comment>]? ',
|
||||
|
|
|
@ -36,6 +36,7 @@ class AppController extends Controller
|
|||
* e.g. `$this->loadComponent('Security');`
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function initialize()
|
||||
{
|
||||
|
@ -61,17 +62,17 @@ class AppController extends Controller
|
|||
public function beforeRender(Event $event)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
protected function _jsonResponse($object = [], $statusCode = null)
|
||||
protected function _jsonResponse($object = [], $statusCode = 200)
|
||||
{
|
||||
$this->response->statusCode($statusCode);
|
||||
$this->response->type('json');
|
||||
$this->response->body(json_encode($object));
|
||||
$this->response->withStatus($statusCode);
|
||||
$this->response->withType('json');
|
||||
$this->response->withStringBody(json_encode($object));
|
||||
}
|
||||
|
||||
protected function _jsonError($message, $statusCode = null) {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Controller\AppController;
|
||||
use Cake\Datasource\ConnectionManager;
|
||||
use Cake\Log\Log;
|
||||
|
||||
|
@ -11,10 +12,10 @@ class ClaimsController extends AppController {
|
|||
$this->loadModel('Claims');
|
||||
|
||||
$pageLimit = 48;
|
||||
$beforeId = intval($this->request->query('before'));
|
||||
$afterId = intval($this->request->query('after'));
|
||||
$sort = trim($this->request->query('sort'));
|
||||
$nsfw = trim($this->request->query('nsfw'));
|
||||
$beforeId = intval($this->request->getQuery('before'));
|
||||
$afterId = intval($this->request->getQuery('after'));
|
||||
$sort = trim($this->request->getQuery('sort'));
|
||||
$nsfw = trim($this->request->getQuery('nsfw'));
|
||||
switch ($sort) {
|
||||
case 'popular':
|
||||
// TODO: sort by upvote/downvote score
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
*/
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Controller\AppController;
|
||||
use Cake\Event\Event;
|
||||
|
||||
/**
|
||||
|
@ -27,6 +28,7 @@ class ErrorController extends AppController
|
|||
* Initialization hook method.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function initialize()
|
||||
{
|
||||
|
|
|
@ -2,17 +2,18 @@
|
|||
|
||||
namespace App\Controller;
|
||||
|
||||
use Mdanter\Ecc\EccFactory;
|
||||
use Mdanter\Ecc\Crypto\Signature\Signer;
|
||||
use Mdanter\Ecc\Serializer\PublicKey\PemPublicKeySerializer;
|
||||
use Mdanter\Ecc\Serializer\PublicKey\DerPublicKeySerializer;
|
||||
use Mdanter\Ecc\Serializer\Signature\DerSignatureSerializer;
|
||||
use App\Controller\AppController;
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Datasource\ConnectionManager;
|
||||
use Cake\Log\Log;
|
||||
use Endroid\QrCode\ErrorCorrectionLevel;
|
||||
use Endroid\QrCode\LabelAlignment;
|
||||
use Endroid\QrCode\QrCode;
|
||||
use Mdanter\Ecc\Crypto\Signature\Signer;
|
||||
use Mdanter\Ecc\EccFactory;
|
||||
use Mdanter\Ecc\Serializer\PublicKey\DerPublicKeySerializer;
|
||||
use Mdanter\Ecc\Serializer\PublicKey\PemPublicKeySerializer;
|
||||
use Mdanter\Ecc\Serializer\Signature\DerSignatureSerializer;
|
||||
|
||||
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';
|
||||
|
@ -127,7 +130,7 @@ class MainController extends AppController {
|
|||
// paginate claims
|
||||
$offset = 0;
|
||||
$pageLimit = 96;
|
||||
$page = intval($this->request->query('page'));
|
||||
$page = intval($this->request->getQuery('page'));
|
||||
|
||||
$conn = ConnectionManager::get('default');
|
||||
$stmt = $conn->execute('SELECT COUNT(Id) AS Total FROM Claims');
|
||||
|
@ -328,7 +331,7 @@ class MainController extends AppController {
|
|||
}
|
||||
|
||||
public function find() {
|
||||
$criteria = $this->request->query('q');
|
||||
$criteria = $this->request->getQuery('q');
|
||||
|
||||
$this->loadModel('Blocks');
|
||||
$this->loadModel('Claims');
|
||||
|
@ -383,7 +386,7 @@ class MainController extends AppController {
|
|||
// paginate blocks
|
||||
$offset = 0;
|
||||
$pageLimit = 50;
|
||||
$page = intval($this->request->query('page'));
|
||||
$page = intval($this->request->getQuery('page'));
|
||||
|
||||
$conn = ConnectionManager::get('default');
|
||||
$stmt = $conn->execute('SELECT COUNT(Id) AS Total FROM Blocks');
|
||||
|
@ -451,7 +454,7 @@ class MainController extends AppController {
|
|||
$this->loadModel('Outputs');
|
||||
$this->loadModel('Claims');
|
||||
|
||||
$sourceAddress = $this->request->query('address');
|
||||
$sourceAddress = $this->request->getQuery('address');
|
||||
|
||||
$tx = $this->Transactions->find()->select(
|
||||
['Id', 'BlockHash', 'InputCount', 'OutputCount', 'Hash', 'Value', 'TransactionTime', 'TransactionSize', 'Created', 'Version', 'LockTime', 'Raw'])->where(['Hash' => $hash])->first();
|
||||
|
@ -548,7 +551,7 @@ class MainController extends AppController {
|
|||
$offset = 0;
|
||||
$pageLimit = 50;
|
||||
$numTransactions = 0;
|
||||
$page = intval($this->request->query('page'));
|
||||
$page = intval($this->request->getQuery('page'));
|
||||
|
||||
$canTag = false;
|
||||
$totalRecvAmount = 0;
|
||||
|
@ -581,7 +584,7 @@ class MainController extends AppController {
|
|||
$stmt = $conn->execute('SELECT COUNT(TransactionId) AS Total FROM TransactionsAddresses WHERE AddressId = ?', [$addressId]);
|
||||
$count = $stmt->fetch(\PDO::FETCH_OBJ);
|
||||
$numTransactions = $count->Total;
|
||||
$all = $this->request->query('all');
|
||||
$all = $this->request->getQuery('all');
|
||||
if ($all === 'true') {
|
||||
$offset = 0;
|
||||
$pageLimit = $numTransactions;
|
||||
|
@ -697,17 +700,47 @@ class MainController extends AppController {
|
|||
}
|
||||
}
|
||||
|
||||
private function _gettxoutsetinfo() {
|
||||
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 == 0) { // 15 minutes (or if the price is 0)
|
||||
$shouldRefreshSet = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($shouldRefreshSet) {
|
||||
|
||||
$req = ['method' => 'gettxoutsetinfo', 'params' => []];
|
||||
try {
|
||||
$res = json_decode(self::curl_json_post(self::$rpcurl, json_encode($req)));
|
||||
if (!isset($res->result)) {
|
||||
return 0;
|
||||
$txOutSetInfo->tosi = 'N/A';
|
||||
}
|
||||
return $res->result;
|
||||
$txOutSetInfo->tosi = $res->result;
|
||||
} catch (\Exception $e) {
|
||||
return 'N/A';
|
||||
$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() {
|
||||
|
@ -937,5 +970,3 @@ class MainController extends AppController {
|
|||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -14,9 +14,10 @@
|
|||
*/
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Controller\AppController;
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Network\Exception\ForbiddenException;
|
||||
use Cake\Network\Exception\NotFoundException;
|
||||
use Cake\Http\Exception\ForbiddenException;
|
||||
use Cake\Http\Exception\NotFoundException;
|
||||
use Cake\View\Exception\MissingTemplateException;
|
||||
|
||||
/**
|
||||
|
@ -33,7 +34,7 @@ class PagesController extends AppController
|
|||
* Displays a view
|
||||
*
|
||||
* @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\NotFoundException When the view file could not
|
||||
* be found or \Cake\View\Exception\MissingTemplateException in debug mode.
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
namespace App\Model\Behavior;
|
||||
|
||||
use Cake\Event\Event;
|
||||
use Cake\ORM\Behavior;
|
||||
use Cake\ORM\Entity;
|
||||
use Cake\Event\Event;
|
||||
use Cake\Routing\Router;
|
||||
|
||||
class SimpleAuditBehavior extends Behavior {
|
||||
|
|
|
@ -8,8 +8,8 @@ class AddressesTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Addresses');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Addresses');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
}
|
||||
|
|
|
@ -8,11 +8,9 @@ class BlocksTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Blocks');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Blocks');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,11 +8,9 @@ class ClaimStreamsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('ClaimStreams');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('ClaimStreams');
|
||||
|
||||
//$this->addBehavior('SimpleAudit');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,8 +8,8 @@ class ClaimsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Claims');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Claims');
|
||||
|
||||
//$this->addBehavior('SimpleAudit');
|
||||
$this->addAssociations([
|
||||
|
@ -32,5 +32,3 @@ class ClaimsTable extends Table {
|
|||
]);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,8 +8,8 @@ class InputsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Inputs');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Inputs');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
|
||||
|
@ -26,5 +26,3 @@ class InputsTable extends Table {
|
|||
]);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,8 +8,8 @@ class OutputsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Outputs');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Outputs');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
|
||||
|
@ -33,5 +33,3 @@ class OutputsTable extends Table {
|
|||
]);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,9 +8,7 @@ class PriceHistoryTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('PriceHistory');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('PriceHistory');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,11 +8,9 @@ class TagAddressRequestsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('TagAddressRequests');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('TagAddressRequests');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -8,11 +8,9 @@ class TransactionsTable extends Table {
|
|||
public function initialize(array $config) {
|
||||
parent::initialize($config);
|
||||
|
||||
$this->primaryKey('Id');
|
||||
$this->table('Transactions');
|
||||
$this->setPrimaryKey('Id');
|
||||
$this->setTable('Transactions');
|
||||
|
||||
$this->addBehavior('SimpleAudit');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -220,5 +220,3 @@ class AuxShell extends Shell {
|
|||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -1339,8 +1339,8 @@ print_r($response); print_r($json);
|
|||
$inputs[] = [
|
||||
'PrevoutHash' => $in['txid'],
|
||||
'PrevoutN' => $in['vout'],
|
||||
'ScriptSigAsm' => $in['scriptSig']['asm'],
|
||||
'ScriptSigHex' => $in['scriptSig']['hex'],
|
||||
'ScriptSigAsm' => $in->scriptSig['asm'],
|
||||
'ScriptSigHex' => $in->scriptSig['hex'],
|
||||
'Sequence' => $in['sequence']
|
||||
];
|
||||
}
|
||||
|
@ -1350,16 +1350,16 @@ print_r($response); print_r($json);
|
|||
$outputs[] = [
|
||||
'Vout' => $out['vout'],
|
||||
'Value' => bcdiv($out['value'], 100000000, 8),
|
||||
'Type' => isset($out['scriptPubKey']['type']) ? $out['scriptPubKey']['type'] : '',
|
||||
'ScriptPubKeyAsm' => isset($out['scriptPubKey']['asm']) ? $out['scriptPubKey']['asm'] : '',
|
||||
'ScriptPubKeyHex' => isset($out['scriptPubKey']['hex']) ? $out['scriptPubKey']['hex'] : '',
|
||||
'RequiredSignatures' => isset($out['scriptPubKey']['reqSigs']) ? $out['scriptPubKey']['reqSigs'] : '',
|
||||
'Hash160' => isset($out['scriptPubKey']['hash160']) ? $out['scriptPubKey']['hash160'] : '',
|
||||
'Addresses' => isset($out['scriptPubKey']['addresses']) ? json_encode($out['scriptPubKey']['addresses']) : null
|
||||
'Type' => isset($out->scriptPubKey['type']) ? $out->scriptPubKey['type'] : '',
|
||||
'ScriptPubKeyAsm' => isset($out->scriptPubKey['asm']) ? $out->scriptPubKey['asm'] : '',
|
||||
'ScriptPubKeyHex' => isset($out->scriptPubKey['hex']) ? $out->scriptPubKey['hex'] : '',
|
||||
'RequiredSignatures' => isset($out->scriptPubKey['reqSigs']) ? $out->scriptPubKey['reqSigs'] : '',
|
||||
'Hash160' => isset($out->scriptPubKey['hash160']) ? $out->scriptPubKey['hash160'] : '',
|
||||
'Addresses' => isset($out->scriptPubKey['addresses']) ? json_encode($out->scriptPubKey['addresses']) : null
|
||||
];
|
||||
|
||||
if (isset($out['scriptPubKey']['addresses'])) {
|
||||
foreach ($out['scriptPubKey']['addresses'] as $address) {
|
||||
if (isset($out->scriptPubKey['addresses'])) {
|
||||
foreach ($out->scriptPubKey['addresses'] as $address) {
|
||||
$addresses[$address] = $address;
|
||||
}
|
||||
}
|
||||
|
@ -1983,10 +1983,10 @@ print_r($response); print_r($json);
|
|||
$return = $define[$tx_type];
|
||||
if ($tx_type === 'p2pk') {
|
||||
$return['hash160'] = self::hash160($data[$define[$tx_type]['data_index_for_hash']]);
|
||||
$return['addresses'][0] = self::hash160_to_address($return['hash160'], self::pubKeyAddress[0]);
|
||||
$return->addresses[0] = self::hash160_to_address($return['hash160'], self::pubKeyAddress[0]);
|
||||
} else {
|
||||
$return['hash160'] = $data[$define[$tx_type]['data_index_for_hash']];
|
||||
$return['addresses'][0] = self::hash160_to_address($return['hash160'], ($tx_type === 'p2sh') ? self::scriptAddress[0] : self::pubKeyAddress[0]); // TODO: Pay to claim transaction?
|
||||
$return->addresses[0] = self::hash160_to_address($return['hash160'], ($tx_type === 'p2sh') ? self::scriptAddress[0] : self::pubKeyAddress[0]); // TODO: Pay to claim transaction?
|
||||
}
|
||||
unset($return['data_index_for_hash']);
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ if (strlen(trim($desc)) == 0) {
|
|||
<div class="desc">This is an identity claim.</div>
|
||||
<?php else: ?>
|
||||
<div class="title"><?php echo $claim->Title ?></div>
|
||||
<div class="desc"><?php echo str_replace("\n", '<br />', $desc) ?></div>
|
||||
<div class="desc"><?php echo str_replace("\n", '<br/>', $desc) ?></div>
|
||||
|
||||
<div class="details">
|
||||
<div class="label half-width">Author</div>
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<div class="home-container">
|
||||
<div class="home-container-cell">
|
||||
<div class="main">
|
||||
<div class="title">LBRY Block Explorer</div><br>
|
||||
<div class="title">LBRY Block Explorer</div><br/>
|
||||
<form method="get" action="/find">
|
||||
<input class="search-input" name="q" type="text" placeholder="Enter a block height or hash, claim id or name, transaction hash or address" />
|
||||
<div class="ctls">
|
||||
|
|
|
@ -92,14 +92,14 @@
|
|||
$setAddressIds = [];
|
||||
foreach ($inputs as $in):
|
||||
?>
|
||||
<div id="input-<?php echo $in->Id ?>" class="input <?php if (isset($in['InputAddresses']) && count($in['InputAddresses']) > 0 && $in['InputAddresses'][0]->Address == $sourceAddress): ?>is-source<?php endif; ?>">
|
||||
<div id="input-<?php echo $in->Id ?>" class="input <?php if (isset($in['InputAddresses']) && count($in['InputAddresses']) > 0 && $in->inputAddresses[0]->Address == $sourceAddress): ?>is-source<?php endif; ?>">
|
||||
<?php if ($in['IsCoinbase']): ?>
|
||||
<div>Block Reward (New Coins)</div>
|
||||
<?php else: ?>
|
||||
<?php if (strlen(trim($in->Value)) == 0): ?>
|
||||
<div>Incomplete data</div>
|
||||
<?php else:
|
||||
$addr = $in['InputAddresses'][0];
|
||||
$addr = $in->inputAddresses[0];
|
||||
|
||||
if (!isset($setAddressIds[$addr->Address])):
|
||||
$setAddressIds[$addr->Address] = 1; ?>
|
||||
|
@ -134,7 +134,7 @@
|
|||
|
||||
<?php
|
||||
foreach ($outputs as $out): ?>
|
||||
<div id="output-<?php echo $out->Vout ?>" class="output <?php if (isset($out['OutputAddresses']) && count($out['OutputAddresses']) > 0 && $out['OutputAddresses'][0]->Address == $sourceAddress): ?>is-source<?php endif; ?>">
|
||||
<div id="output-<?php echo $out->Vout ?>" class="output <?php if (isset($out['OutputAddresses']) && count($out['OutputAddresses']) > 0 && $out->outputAddresses[0]->Address == $sourceAddress): ?>is-source<?php endif; ?>">
|
||||
<div class="labels">
|
||||
<?php if($out->Claim && ($out->IsClaim or $out->IsSupportClaim or $out->IsUpdateClaim)): ?><a class="view-claim" href="<?php echo $out->Claim->getExplorerLink() ?>">View</a><?php endif; ?>
|
||||
<?php if($out->IsSupportClaim): ?><div class="support">SUPPORT</div><?php endif; ?>
|
||||
|
@ -145,7 +145,7 @@
|
|||
<?php if (strlen(trim($out['Value'])) == 0): ?>
|
||||
<div>Incomplete data</div>
|
||||
<?php else:
|
||||
$addr = $out['OutputAddresses'][0];
|
||||
$addr = $out->outputAddresses[0];
|
||||
|
||||
if (!isset($setAddressIds[$addr->Address])):
|
||||
$setAddressIds[$addr->Address] = 1; ?>
|
||||
|
|
|
@ -59,8 +59,8 @@ $cakeDescription = 'CakePHP: the rapid development PHP framework';
|
|||
<div id="url-rewriting-warning" class="alert url-rewriting">
|
||||
<ul>
|
||||
<li class="bullet problem">
|
||||
URL rewriting is not properly configured on your server.<br />
|
||||
1) <a target="_blank" href="http://book.cakephp.org/3.0/en/installation.html#url-rewriting">Help me configure it</a><br />
|
||||
URL rewriting is not properly configured on your server.<br/>
|
||||
1) <a target="_blank" href="http://book.cakephp.org/3.0/en/installation.html#url-rewriting">Help me configure it</a><br/>
|
||||
2) <a target="_blank" href="http://book.cakephp.org/3.0/en/development/configuration.html#general-configuration">I don't / can't use URL rewriting</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -139,7 +139,7 @@ $cakeDescription = 'CakePHP: the rapid development PHP framework';
|
|||
if (method_exists($connectionError, 'getAttributes')):
|
||||
$attributes = $connectionError->getAttributes();
|
||||
if (isset($errorMsg['message'])):
|
||||
$errorMsg .= '<br />' . $attributes['message'];
|
||||
$errorMsg .= '<br/>' . $attributes['message'];
|
||||
endif;
|
||||
endif;
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ $cakeDescription = 'CakePHP: the rapid development PHP framework';
|
|||
<?php if ($connected): ?>
|
||||
<li class="bullet success">CakePHP is able to connect to the database.</li>
|
||||
<?php else: ?>
|
||||
<li class="bullet problem">CakePHP is NOT able to connect to the database.<br /><?= $errorMsg ?></li>
|
||||
<li class="bullet problem">CakePHP is NOT able to connect to the database.<br/><?= $errorMsg ?></li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -188,7 +188,7 @@ $cakeDescription = 'CakePHP: the rapid development PHP framework';
|
|||
<div class="columns large-12 text-center">
|
||||
<h3 class="more">More about Cake</h3>
|
||||
<p>
|
||||
CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Front Controller and MVC.<br />
|
||||
CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Front Controller and MVC.<br/>
|
||||
Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.
|
||||
</p>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue