Compare commits

...

4 commits

Author SHA1 Message Date
Niko Storni 70c04cca47 fully upgrade phpcake 2018-12-03 18:09:10 -05:00
Niko Storni ed508182b5 fix more deprecations 2018-12-03 17:55:33 -05:00
Niko Storni 3d28c44fde fix deprecations
change default statusCode to 200
2018-12-03 17:52:22 -05:00
Niko Storni 6c61179546 add caching to api
update deprecated methods
swap qr library
2018-12-03 17:27:41 -05:00
32 changed files with 461 additions and 276 deletions

View file

@ -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
View file

@ -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": [],

View file

@ -1,4 +1,6 @@
<?php
namespace App\config;
return [
/**
* Debug Level:

View file

@ -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');

View file

@ -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;

View file

@ -1,5 +1,7 @@
<?php
namespace App\config;
return [
'Lbry' => [
'RpcUrl' => 'http://user:password@127.0.0.1:9245',

View file

@ -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
View 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);
}

View file

@ -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
@ -71,10 +67,4 @@ Router::scope('/', function (RouteBuilder $routes) {
$routes->connect('/api/v1/claims/browse', ['controller' => 'Claims', 'action' => 'apibrowse']);
//$routes->fallbacks(DashedRoute::class);
});
/**
* Load all plugin routes. See the Plugin documentation on
* how to customize the loading of plugin routes.
*/
Plugin::routes();
});

View file

@ -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);
}
}
}

View file

@ -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>]? ',

View file

@ -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) {

View file

@ -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

View file

@ -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()
{

View file

@ -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() {
$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 == 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() {
@ -936,6 +969,4 @@ class MainController extends AppController {
// Close any open file handle
return $response;
}
}
?>
}

View file

@ -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.

View file

@ -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 {

View file

@ -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');
}

View file

@ -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');
}
}
?>
}

View file

@ -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');
}
}
?>
}

View file

@ -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([
@ -31,6 +31,4 @@ class ClaimsTable extends Table {
]
]);
}
}
?>
}

View file

@ -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');
@ -25,6 +25,4 @@ class InputsTable extends Table {
]
]);
}
}
?>
}

View file

@ -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');
@ -32,6 +32,4 @@ class OutputsTable extends Table {
]
]);
}
}
?>
}

View file

@ -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');
}
}
?>
}

View file

@ -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');
}
}
?>
}

View file

@ -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');
}
}
?>
}

View file

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

View file

@ -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']);
}

View file

@ -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>

View file

@ -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">

View file

@ -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; ?>

View file

@ -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>