From b92011bc50d9fece0079e3fb9965003dc0457b0d Mon Sep 17 00:00:00 2001 From: RedHood Date: Thu, 28 Jan 2021 22:59:50 +1000 Subject: [PATCH 1/8] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20composer.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 13 +- composer.lock | 3406 ++++++++----------------------------------------- 2 files changed, 558 insertions(+), 2861 deletions(-) diff --git a/composer.json b/composer.json index a1ac143..2bedacb 100644 --- a/composer.json +++ b/composer.json @@ -28,15 +28,14 @@ }, "require": { "php": "~8.0", - "psr/log": "^1.0", - "monolog/monolog": "^1.6", - "jasny/error-handler": "^0.2.0", - "hood/accounts": "0.*", - "guzzlehttp/guzzle": "^7.2" + "psr/log": "~1.0", + "hood/accounts": "~0.1.x-dev", + "monolog/monolog": "~1.6", + "jasny/error-handler": "~0.2", + "guzzlehttp/guzzle": "~7.2" }, "require-dev": { - "phpdocumentor/phpdocumentor": ">=2.9", - "phpunit/phpunit": "^9" + "phpunit/phpunit": "~9.5" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index c6d4d96..175c310 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6bfb42640d4d673c945e4d28222eb67a", + "content-hash": "fb52a74dd40d0ceeb0c3745e52fe6a94", "packages": [ { "name": "guzzlehttp/guzzle", @@ -84,6 +84,10 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.2.0" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -153,6 +157,10 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.0" + }, "time": "2020-09-30T07:37:28+00:00" }, { @@ -224,25 +232,28 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.7.0" + }, "time": "2020-09-30T07:37:11+00:00" }, { "name": "hood/accounts", - "version": "0.0.2", + "version": "0.1.x-dev", "source": { "type": "git", "url": "https://git.hood.su/hood/accounts", - "reference": "a75c2e1f6dfc8edd8f09999714a4ead4da54a490" + "reference": "3fdf607e094d50902f612588c34ebca7a4e245bf" }, "require": { - "ext-dom": "20031129", - "ext-libxml": "^7.4", + "ext-dom": "*", + "ext-libxml": "*", "guzzlehttp/guzzle": "^7.2", - "php": ">=7.4.0" + "php": "~8.0" }, "require-dev": { - "phpdocumentor/phpdocumentor": ">=2.9", - "phpunit/phpunit": "^9" + "phpunit/phpunit": "~9.5" }, "type": "library", "autoload": { @@ -256,10 +267,10 @@ ], "authors": [ { - "name": "Arsen Mirzaev", + "name": "Arsen Mirzaev Tatyano-Muradovich", "email": "red@hood.su", - "homepage": "https://hood.su/sex", - "role": "Developer" + "homepage": "https://hood.su/mirzaev", + "role": "Programmer" } ], "description": "Менеджер аккаунтов", @@ -269,13 +280,18 @@ "hood", "vk" ], + "support": { + "chat": "https://vk.me/darkweb228", + "docs": "https://git.hood.su/hood/accounts/manual", + "issues": "https://git.hood.su/hood/accounts/issues" + }, "funding": [ { "url": "https://git.hood.su/hood/accounts/thanks", "type": "Hood" } ], - "time": "2020-10-25T06:14:50+00:00" + "time": "2021-01-28T11:59:37+00:00" }, { "name": "jasny/error-handler", @@ -323,21 +339,25 @@ "exception handler", "middleware" ], + "support": { + "issues": "https://github.com/jasny/error-handler/issues", + "source": "https://github.com/jasny/error-handler" + }, "abandoned": true, "time": "2017-01-25T01:27:18+00:00" }, { "name": "monolog/monolog", - "version": "1.25.5", + "version": "1.26.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "1817faadd1846cd08be9a49e905dc68823bc38c0" + "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1817faadd1846cd08be9a49e905dc68823bc38c0", - "reference": "1817faadd1846cd08be9a49e905dc68823bc38c0", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/2209ddd84e7ef1256b7af205d0717fb62cfc9c33", + "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33", "shasum": "" }, "require": { @@ -353,7 +373,7 @@ "graylog2/gelf-php": "~1.0", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", - "php-parallel-lint/php-parallel-lint": "^1.0", + "phpstan/phpstan": "^0.12.59", "phpunit/phpunit": "~4.5", "ruflin/elastica": ">=0.90 <3.0", "sentry/sentry": "^0.13", @@ -373,11 +393,6 @@ "sentry/sentry": "Allow sending log messages to a Sentry server" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Monolog\\": "src/Monolog" @@ -401,6 +416,10 @@ "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/1.26.0" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -411,7 +430,7 @@ "type": "tidelift" } ], - "time": "2020-07-23T08:35:51+00:00" + "time": "2020-12-14T12:56:38+00:00" }, { "name": "psr/http-client", @@ -460,6 +479,9 @@ "psr", "psr-18" ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, "time": "2020-06-29T06:28:15+00:00" }, { @@ -510,6 +532,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -557,6 +582,9 @@ "psr", "psr-3" ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, "time": "2020-03-23T09:12:05+00:00" }, { @@ -597,332 +625,41 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" } ], "packages-dev": [ - { - "name": "cilex/cilex", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/Cilex/Cilex.git", - "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Cilex/Cilex/zipball/7acd965a609a56d0345e8b6071c261fbdb926cb5", - "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5", - "shasum": "" - }, - "require": { - "cilex/console-service-provider": "1.*", - "php": ">=5.3.3", - "pimple/pimple": "~1.0", - "symfony/finder": "~2.1", - "symfony/process": "~2.1" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "symfony/validator": "~2.1" - }, - "suggest": { - "monolog/monolog": ">=1.0.0", - "symfony/validator": ">=1.0.0", - "symfony/yaml": ">=1.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Cilex": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "description": "The PHP micro-framework for Command line tools based on the Symfony2 Components", - "homepage": "http://cilex.github.com", - "keywords": [ - "cli", - "microframework" - ], - "time": "2014-03-29T14:03:13+00:00" - }, - { - "name": "cilex/console-service-provider", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/Cilex/console-service-provider.git", - "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Cilex/console-service-provider/zipball/25ee3d1875243d38e1a3448ff94bdf944f70d24e", - "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "pimple/pimple": "1.*@dev", - "symfony/console": "~2.1" - }, - "require-dev": { - "cilex/cilex": "1.*@dev", - "silex/silex": "1.*@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Cilex\\Provider\\Console": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "description": "Console Service Provider", - "keywords": [ - "cilex", - "console", - "pimple", - "service-provider", - "silex" - ], - "time": "2012-12-19T10:50:58+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.2.8", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "8a7ecad675253e4654ea05505233285377405215" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", - "reference": "8a7ecad675253e4654ea05505233285377405215", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2020-08-23T12:54:47+00:00" - }, - { - "name": "container-interop/container-interop", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/container-interop/container-interop.git", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", - "shasum": "" - }, - "require": { - "psr/container": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Interop\\Container\\": "src/Interop/Container/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "homepage": "https://github.com/container-interop/container-interop", - "abandoned": "psr/container", - "time": "2017-02-14T19:40:03+00:00" - }, - { - "name": "doctrine/annotations", - "version": "1.10.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "bfe91e31984e2ba76df1c1339681770401ec262f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/bfe91e31984e2ba76df1c1339681770401ec262f", - "reference": "bfe91e31984e2ba76df1c1339681770401ec262f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^9.1.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2020-08-10T19:35:50+00:00" - }, { "name": "doctrine/instantiator", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", + "doctrine/coding-standard": "^8.0", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" @@ -936,7 +673,7 @@ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "homepage": "https://ocramius.github.io/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", @@ -945,6 +682,10 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -959,311 +700,20 @@ "type": "tidelift" } ], - "time": "2020-05-29T17:27:14+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2020-05-25T17:44:05+00:00" - }, - { - "name": "erusev/parsedown", - "version": "1.7.4", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2019-12-30T22:54:17+00:00" - }, - { - "name": "jms/metadata", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/metadata.git", - "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", - "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "doctrine/cache": "~1.0", - "symfony/cache": "~3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5.x-dev" - } - }, - "autoload": { - "psr-0": { - "Metadata\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - }, - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Class/method/property metadata management in PHP", - "keywords": [ - "annotations", - "metadata", - "xml", - "yaml" - ], - "time": "2018-10-26T12:40:10+00:00" - }, - { - "name": "jms/parser-lib", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/parser-lib.git", - "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", - "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", - "shasum": "" - }, - "require": { - "phpoption/phpoption": ">=0.9,<2.0-dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "JMS\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache2" - ], - "description": "A library for easily creating recursive-descent parsers.", - "time": "2012-11-18T18:08:43+00:00" - }, - { - "name": "jms/serializer", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/serializer.git", - "reference": "4fad8bbbe76e05de3b79ffa3db027058ed3813ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/4fad8bbbe76e05de3b79ffa3db027058ed3813ff", - "reference": "4fad8bbbe76e05de3b79ffa3db027058ed3813ff", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.0", - "doctrine/instantiator": "^1.0.3", - "jms/metadata": "~1.1", - "jms/parser-lib": "1.*", - "php": ">=5.5.0", - "phpcollection/phpcollection": "~0.1", - "phpoption/phpoption": "^1.1" - }, - "conflict": { - "jms/serializer-bundle": "<1.2.1", - "twig/twig": "<1.12" - }, - "require-dev": { - "doctrine/orm": "~2.1", - "doctrine/phpcr-odm": "^1.3|^2.0", - "ext-pdo_sqlite": "*", - "jackalope/jackalope-doctrine-dbal": "^1.1.5", - "phpunit/phpunit": "^4.8|^5.0", - "propel/propel1": "~1.7", - "symfony/expression-language": "^2.6|^3.0", - "symfony/filesystem": "^2.1", - "symfony/form": "~2.1|^3.0", - "symfony/translation": "^2.1|^3.0", - "symfony/validator": "^2.2|^3.0", - "symfony/yaml": "^2.1|^3.0", - "twig/twig": "~1.12|~2.0" - }, - "suggest": { - "doctrine/cache": "Required if you like to use cache functionality.", - "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", - "symfony/yaml": "Required if you'd like to serialize data to YAML format." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-0": { - "JMS\\Serializer": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", - "homepage": "http://jmsyst.com/libs/serializer", - "keywords": [ - "deserialization", - "jaxb", - "json", - "serialization", - "xml" - ], - "time": "2017-05-15T08:35:42+00:00" + "time": "2020-11-10T18:47:58+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.10.1", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", "shasum": "" }, "require": { @@ -1298,42 +748,53 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", "type": "tidelift" } ], - "time": "2020-06-29T13:22:24+00:00" + "time": "2020-11-13T09:40:50+00:00" }, { "name": "nikic/php-parser", - "version": "v1.4.1", + "version": "v4.10.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51" + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", - "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.3" + "php": ">=7.0" }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "4.9-dev" } }, "autoload": { - "files": [ - "lib/bootstrap.php" - ] + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1349,154 +810,37 @@ "parser", "php" ], - "time": "2015-09-19T14:15:08+00:00" - }, - { - "name": "padraic/humbug_get_contents", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/humbug/file_get_contents.git", - "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/file_get_contents/zipball/dcb086060c9dd6b2f51d8f7a895500307110b7a7", - "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "ext-openssl": "*", - "php": "^5.3 || ^7.0 || ^7.1 || ^7.2" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.1", - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false - }, - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Humbug\\": "src/" - }, - "files": [ - "src/function.php", - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Secure wrapper for accessing HTTPS resources with file_get_contents for PHP 5.3+", - "homepage": "https://github.com/padraic/file_get_contents", - "keywords": [ - "download", - "file_get_contents", - "http", - "https", - "ssl", - "tls" - ], - "time": "2018-02-12T18:47:17+00:00" - }, - { - "name": "padraic/phar-updater", - "version": "v1.0.6", - "source": { - "type": "git", - "url": "https://github.com/humbug/phar-updater.git", - "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/phar-updater/zipball/d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", - "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", - "shasum": "" - }, - "require": { - "padraic/humbug_get_contents": "^1.0", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Humbug\\SelfUpdate\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - } - ], - "description": "A thing to make PHAR self-updating easy and secure.", - "keywords": [ - "humbug", - "phar", - "self-update", - "update" - ], - "abandoned": true, - "time": "2018-03-30T12:52:15+00:00" + "time": "2020-12-20T10:01:03+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1526,24 +870,28 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -1573,126 +921,38 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.0.4" + }, + "time": "2020-12-13T23:18:30+00:00" }, { - "name": "phpcollection/phpcollection", - "version": "0.5.0", + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-collection.git", - "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", - "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "phpoption/phpoption": "1.*" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.4-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { - "psr-0": { - "PhpCollection": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache2" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "General-Purpose Collection Library for PHP", - "keywords": [ - "collection", - "list", - "map", - "sequence", - "set" - ], - "time": "2015-05-17T12:39:23+00:00" - }, - { - "name": "phpdocumentor/fileset", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/Fileset.git", - "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/Fileset/zipball/bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0", - "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/finder": "~2.1" - }, - "require-dev": { - "phpunit/phpunit": "~3.7" - }, - "type": "library", - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/", - "tests/unit/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Fileset component for collecting a set of files given directories and file paths", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "files", - "fileset", - "phpdoc" - ], - "time": "2013-08-06T21:07:42+00:00" - }, - { - "name": "phpdocumentor/graphviz", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/GraphViz.git", - "reference": "a906a90a9f230535f25ea31caf81b2323956283f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/GraphViz/zipball/a906a90a9f230535f25ea31caf81b2323956283f", - "reference": "a906a90a9f230535f25ea31caf81b2323956283f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/", - "tests/unit" - ] + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1701,191 +961,58 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "time": "2016-02-02T13:00:08+00:00" - }, - { - "name": "phpdocumentor/phpdocumentor", - "version": "v2.9.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/phpDocumentor.git", - "reference": "2e4f981a55ebe6f5db592d7da892d13d5b3c7816" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/2e4f981a55ebe6f5db592d7da892d13d5b3c7816", - "reference": "2e4f981a55ebe6f5db592d7da892d13d5b3c7816", - "shasum": "" - }, - "require": { - "cilex/cilex": "~1.0", - "erusev/parsedown": "~1.0", - "jms/serializer": ">=0.12 < 1.8.0", - "monolog/monolog": "~1.6", - "padraic/phar-updater": "^1.0", - "php": ">=5.3.3", - "phpdocumentor/fileset": "~1.0", - "phpdocumentor/graphviz": "~1.0", - "phpdocumentor/reflection": "^3.0", - "phpdocumentor/reflection-docblock": "~2.0", - "symfony/config": "~2.3", - "symfony/console": "~2.3", - "symfony/event-dispatcher": "~2.1", - "symfony/process": "~2.0", - "symfony/stopwatch": "~2.3", - "symfony/validator": "~2.2", - "twig/twig": "~1.3", - "webmozart/assert": "^1.2", - "zendframework/zend-cache": "~2.1", - "zendframework/zend-config": "~2.1", - "zendframework/zend-filter": "~2.1", - "zendframework/zend-i18n": "~2.1", - "zendframework/zend-serializer": "~2.1", - "zendframework/zend-servicemanager": "~2.1", - "zendframework/zend-stdlib": "~2.1", - "zetacomponents/document": ">=1.3.1" - }, - "require-dev": { - "behat/behat": "^3.0", - "mikey179/vfsstream": "~1.2", - "mockery/mockery": "^0.9@dev", - "phpunit/phpunit": "^4.0", - "squizlabs/php_codesniffer": "^1.4", - "symfony/expression-language": "^2.4" - }, - "suggest": { - "ext-twig": "Enabling the twig extension improves the generation of twig based templates.", - "ext-xslcache": "Enabling the XSLCache extension improves the generation of xml based templates." - }, - "bin": [ - "bin/phpdoc.php", - "bin/phpdoc" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "2.9-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/", - "tests/unit/" - ], - "Cilex\\Provider": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Documentation Generator for PHP", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "api", - "application", - "dga", - "documentation", - "phpdoc" - ], - "time": "2020-01-12T19:44:16+00:00" - }, - { - "name": "phpdocumentor/reflection", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/Reflection.git", - "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d", - "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^1.0", - "php": ">=5.3.3", - "phpdocumentor/reflection-docblock": "~2.0", - "psr/log": "~1.0" - }, - "require-dev": { - "behat/behat": "~2.4", - "mockery/mockery": "~0.8", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/", - "tests/unit/", - "tests/mocks/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Reflection library to do Static Analysis for PHP Projects", + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", "homepage": "http://www.phpdoc.org", "keywords": [ + "FQSEN", "phpDocumentor", "phpdoc", "reflection", "static analysis" ], - "time": "2016-05-21T08:42:32+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "php": ">=5.3.3" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] + "psr-4": { + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1895,105 +1022,98 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" } ], - "time": "2016-01-25T08:17:30+00:00" + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.7.5", + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" + "name": "Mike van Riel", + "email": "me@mikevanriel.com" } ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2020-07-20T17:29:33+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.3", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" + "reference": "245710e971a030f42e08f4912863805570f23d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { @@ -2026,36 +1146,43 @@ "spy", "stub" ], - "time": "2020-03-05T15:02:03+00:00" + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + }, + "time": "2020-12-19T10:15:11+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "8.0.2", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc" + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca6647ffddd2add025ab3f21644a441d7c146cdc", - "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.3", - "phpunit/php-file-iterator": "^3.0", - "phpunit/php-text-template": "^2.0", - "phpunit/php-token-stream": "^4.0", - "sebastian/code-unit-reverse-lookup": "^2.0", - "sebastian/environment": "^5.0", - "sebastian/version": "^3.0", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-pcov": "*", @@ -2064,7 +1191,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -2090,13 +1217,17 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-05-23T08:02:54+00:00" + "time": "2020-11-28T06:44:49+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2146,6 +1277,10 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2205,6 +1340,10 @@ "keywords": [ "process" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2215,16 +1354,16 @@ }, { "name": "phpunit/php-text-template", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "18c887016e60e52477e54534956d7b47bc52cd84" + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/18c887016e60e52477e54534956d7b47bc52cd84", - "reference": "18c887016e60e52477e54534956d7b47bc52cd84", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { @@ -2260,26 +1399,30 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:03:05+00:00" + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c9ff14f493699e2f6adee9fd06a0245b276643b7", - "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { @@ -2315,82 +1458,30 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:00:25+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "abandoned": true, - "time": "2020-08-04T08:28:15+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "9.2.6", + "version": "9.5.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1c6a9e4312e209e659f1fce3ce88dd197c2448f6" + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c6a9e4312e209e659f1fce3ce88dd197c2448f6", - "reference": "1c6a9e4312e209e659f1fce3ce88dd197c2448f6", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360", + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360", "shasum": "" }, "require": { @@ -2401,30 +1492,31 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.5", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.3", - "phpspec/prophecy": "^1.10.3", - "phpunit/php-code-coverage": "^8.0.2", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-invoker": "^3.0.2", - "phpunit/php-text-template": "^2.0.2", - "phpunit/php-timer": "^5.0.1", - "sebastian/code-unit": "^1.0.5", - "sebastian/comparator": "^4.0.3", - "sebastian/diff": "^4.0.1", - "sebastian/environment": "^5.1.2", - "sebastian/exporter": "^4.0.2", - "sebastian/global-state": "^4.0", - "sebastian/object-enumerator": "^4.0.2", - "sebastian/resource-operations": "^3.0.2", - "sebastian/type": "^2.1.1", - "sebastian/version": "^3.0.1" + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { "ext-pdo": "*", - "phpspec/prophecy-phpunit": "^2.0" + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", @@ -2436,7 +1528,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-master": "9.5-dev" } }, "autoload": { @@ -2465,6 +1557,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.1" + }, "funding": [ { "url": "https://phpunit.de/donate.html", @@ -2475,209 +1571,76 @@ "type": "github" } ], - "time": "2020-07-13T17:55:55+00:00" + "time": "2021-01-17T07:42:25+00:00" }, { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", + "name": "sebastian/cli-parser", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "url": "https://github.com/sebastianbergmann", + "type": "github" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" + "time": "2020-09-28T06:08:49+00:00" }, { "name": "sebastian/code-unit", - "version": "1.0.7", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab" + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/59236be62b1bb9919e6d7f60b0b832dc05cef9ab", - "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", "shasum": "" }, "require": { @@ -2710,13 +1673,17 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-10-02T14:47:54+00:00" + "time": "2020-10-26T13:08:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -2761,6 +1728,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2771,16 +1742,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "7a8ff306445707539c1a6397372a982a1ec55120" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7a8ff306445707539c1a6397372a982a1ec55120", - "reference": "7a8ff306445707539c1a6397372a982a1ec55120", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { @@ -2831,26 +1802,87 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-30T06:47:25+00:00" + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/diff", - "version": "4.0.3", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ffc949a1a2aae270ea064453d7535b82e4c32092", - "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { @@ -2893,13 +1925,17 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:32:55+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", @@ -2952,6 +1988,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3025,6 +2065,10 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3035,26 +2079,26 @@ }, { "name": "sebastian/global-state", - "version": "4.0.0", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72" + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bdb1e7c79e592b8c82cb1699be3c8743119b8a72", - "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": "^7.3", + "php": ">=7.3", "sebastian/object-reflector": "^2.0", "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -3062,7 +2106,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -3085,20 +2129,87 @@ "keywords": [ "global state" ], - "time": "2020-02-07T06:11:37+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "4.0.3", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f6f5957013d84725427d361507e13513702888a4" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f6f5957013d84725427d361507e13513702888a4", - "reference": "f6f5957013d84725427d361507e13513702888a4", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { @@ -3132,26 +2243,30 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:55:06+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", - "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { @@ -3183,26 +2298,30 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:56:16+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", - "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { @@ -3242,13 +2361,17 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T05:17:32+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", @@ -3293,6 +2416,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3303,16 +2430,16 @@ }, { "name": "sebastian/type", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909" + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fa592377f3923946cb90bf1f6a71ba2e5f229909", - "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", "shasum": "" }, "require": { @@ -3345,13 +2472,17 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-10-06T08:41:03+00:00" + "time": "2020-10-26T13:18:59+00:00" }, { "name": "sebastian/version", @@ -3394,6 +2525,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3402,355 +2537,22 @@ ], "time": "2020-09-28T06:39:44+00:00" }, - { - "name": "symfony/config", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "7dd5f5040dc04c118d057fb5886563963eb70011" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/7dd5f5040dc04c118d057fb5886563963eb70011", - "reference": "7dd5f5040dc04c118d057fb5886563963eb70011", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3|~3.0.0", - "symfony/polyfill-ctype": "~1.8" - }, - "require-dev": { - "symfony/yaml": "~2.7|~3.0.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2018-11-26T09:38:12+00:00" - }, - { - "name": "symfony/console", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log-implementation": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2018-11-20T15:55:20+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0", - "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2018-11-21T14:20:20+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d", - "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2016-07-20T05:43:46+00:00" - }, - { - "name": "symfony/finder", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "1444eac52273e345d9b95129bf914639305a9ba4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1444eac52273e345d9b95129bf914639305a9ba4", - "reference": "1444eac52273e345d9b95129bf914639305a9ba4", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" - }, { "name": "symfony/polyfill-ctype", - "version": "v1.18.1", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", - "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "suggest": { "ext-ctype": "For best performance" @@ -3758,7 +2560,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3795,6 +2597,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3809,320 +2614,7 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.18.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", - "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/process", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c3591a09c78639822b0b290d44edb69bf9f05dc8", - "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "752586c80af8a85aeb74d1ae8202411c68836663" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/752586c80af8a85aeb74d1ae8202411c68836663", - "reference": "752586c80af8a85aeb74d1ae8202411c68836663", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" - }, - { - "name": "symfony/translation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26", - "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/intl": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/validator", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/d5d2090bba3139d8ddb79959fbf516e87238fe3a", - "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation": "~2.4|~3.0.0" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "egulias/email-validator": "^1.2.1", - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/http-foundation": "~2.3|~3.0.0", - "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", - "symfony/property-access": "~2.3|~3.0.0", - "symfony/yaml": "^2.0.5|~3.0.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "egulias/email-validator": "Strict (RFC compliant) email validation", - "symfony/config": "", - "symfony/expression-language": "For using the 2.4 Expression validator", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For using the 2.4 Validator API", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Validator\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Validator Component", - "homepage": "https://symfony.com", - "time": "2018-11-14T14:06:48+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "theseer/tokenizer", @@ -4162,6 +2654,10 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, "funding": [ { "url": "https://github.com/theseer", @@ -4170,91 +2666,17 @@ ], "time": "2020-07-12T23:59:07+00:00" }, - { - "name": "twig/twig", - "version": "v1.43.1", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "2311602f6a208715252febe682fa7c38e56a3373" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/2311602f6a208715252febe682fa7c38e56a3373", - "reference": "2311602f6a208715252febe682fa7c38e56a3373", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.43-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - }, - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2020-08-05T15:05:05+00:00" - }, { "name": "webmozart/assert", "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", + "url": "https://github.com/webmozarts/assert.git", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, @@ -4291,747 +2713,23 @@ "check", "validate" ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, "time": "2020-07-08T17:02:28+00:00" - }, - { - "name": "zendframework/zend-cache", - "version": "2.8.3", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-cache.git", - "reference": "edde41f1ee5c28e01701a032f434d03751b65df4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-cache/zipball/edde41f1ee5c28e01701a032f434d03751b65df4", - "reference": "edde41f1ee5c28e01701a032f434d03751b65df4", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "zendframework/zend-eventmanager": "^2.6.3 || ^3.2", - "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", - "zendframework/zend-stdlib": "^2.7.7 || ^3.1" - }, - "provide": { - "psr/cache-implementation": "1.0", - "psr/simple-cache-implementation": "1.0" - }, - "require-dev": { - "cache/integration-tests": "^0.16", - "phpbench/phpbench": "^0.13", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-serializer": "^2.6", - "zendframework/zend-session": "^2.7.4" - }, - "suggest": { - "ext-apc": "APC or compatible extension, to use the APC storage adapter", - "ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter", - "ext-dba": "DBA, to use the DBA storage adapter", - "ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter", - "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter", - "ext-mongo": "Mongo, to use MongoDb storage adapter", - "ext-mongodb": "MongoDB, to use the ExtMongoDb storage adapter", - "ext-redis": "Redis, to use Redis storage adapter", - "ext-wincache": "WinCache, to use the WinCache storage adapter", - "ext-xcache": "XCache, to use the XCache storage adapter", - "mongodb/mongodb": "Required for use with the ext-mongodb adapter", - "mongofill/mongofill": "Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-session": "Zend\\Session component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8.x-dev", - "dev-develop": "2.9.x-dev" - }, - "zf": { - "component": "Zend\\Cache", - "config-provider": "Zend\\Cache\\ConfigProvider" - } - }, - "autoload": { - "files": [ - "autoload/patternPluginManagerPolyfill.php" - ], - "psr-4": { - "Zend\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output", - "keywords": [ - "ZendFramework", - "cache", - "psr-16", - "psr-6", - "zf" - ], - "abandoned": "laminas/laminas-cache", - "time": "2019-08-28T21:34:32+00:00" - }, - { - "name": "zendframework/zend-config", - "version": "2.6.0", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-config.git", - "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", - "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-filter": "^2.6", - "zendframework/zend-i18n": "^2.5", - "zendframework/zend-json": "^2.6.1", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" - }, - "suggest": { - "zendframework/zend-filter": "Zend\\Filter component", - "zendframework/zend-i18n": "Zend\\I18n component", - "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", - "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev", - "dev-develop": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Config\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides a nested object property based user interface for accessing this configuration data within application code", - "homepage": "https://github.com/zendframework/zend-config", - "keywords": [ - "config", - "zf2" - ], - "abandoned": "laminas/laminas-config", - "time": "2016-02-04T23:01:10+00:00" - }, - { - "name": "zendframework/zend-eventmanager", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-eventmanager.git", - "reference": "a5e2583a211f73604691586b8406ff7296a946dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd", - "reference": "a5e2583a211f73604691586b8406ff7296a946dd", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "athletic/athletic": "^0.1", - "container-interop/container-interop": "^1.1.0", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-stdlib": "^2.7.3 || ^3.0" - }, - "suggest": { - "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", - "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev", - "dev-develop": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\EventManager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Trigger and listen to events within a PHP application", - "homepage": "https://github.com/zendframework/zend-eventmanager", - "keywords": [ - "event", - "eventmanager", - "events", - "zf2" - ], - "abandoned": "laminas/laminas-eventmanager", - "time": "2018-04-25T15:33:34+00:00" - }, - { - "name": "zendframework/zend-filter", - "version": "2.9.2", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-filter.git", - "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/d78f2cdde1c31975e18b2a0753381ed7b61118ef", - "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0", - "zendframework/zend-stdlib": "^2.7.7 || ^3.1" - }, - "conflict": { - "zendframework/zend-validator": "<2.10.1" - }, - "require-dev": { - "pear/archive_tar": "^1.4.3", - "phpunit/phpunit": "^5.7.23 || ^6.4.3", - "psr/http-factory": "^1.0", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-crypt": "^3.2.1", - "zendframework/zend-servicemanager": "^2.7.8 || ^3.3", - "zendframework/zend-uri": "^2.6" - }, - "suggest": { - "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters", - "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", - "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", - "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.9.x-dev", - "dev-develop": "2.10.x-dev" - }, - "zf": { - "component": "Zend\\Filter", - "config-provider": "Zend\\Filter\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Zend\\Filter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Programmatically filter and normalize data and files", - "keywords": [ - "ZendFramework", - "filter", - "zf" - ], - "abandoned": "laminas/laminas-filter", - "time": "2019-08-19T07:08:04+00:00" - }, - { - "name": "zendframework/zend-hydrator", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-hydrator.git", - "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", - "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "^2.0@dev", - "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", - "zendframework/zend-filter": "^2.6", - "zendframework/zend-inputfilter": "^2.6", - "zendframework/zend-serializer": "^2.6.1", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" - }, - "suggest": { - "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", - "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", - "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-release-1.0": "1.0-dev", - "dev-release-1.1": "1.1-dev", - "dev-master": "2.0-dev", - "dev-develop": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Hydrator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-hydrator", - "keywords": [ - "hydrator", - "zf2" - ], - "abandoned": "laminas/laminas-hydrator", - "time": "2016-02-18T22:38:26+00:00" - }, - { - "name": "zendframework/zend-i18n", - "version": "2.10.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-i18n.git", - "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/84038e6a1838b611dcc491b1c40321fa4c3a123c", - "reference": "84038e6a1838b611dcc491b1c40321fa4c3a123c", - "shasum": "" - }, - "require": { - "ext-intl": "*", - "php": "^5.6 || ^7.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", - "zendframework/zend-cache": "^2.6.1", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-config": "^2.6", - "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", - "zendframework/zend-filter": "^2.6.1", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", - "zendframework/zend-validator": "^2.6", - "zendframework/zend-view": "^2.6.3" - }, - "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-config": "Zend\\Config component", - "zendframework/zend-eventmanager": "You should install this package to use the events in the translator", - "zendframework/zend-filter": "You should install this package to use the provided filters", - "zendframework/zend-i18n-resources": "Translation resources", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component", - "zendframework/zend-validator": "You should install this package to use the provided validators", - "zendframework/zend-view": "You should install this package to use the provided view helpers" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.10.x-dev", - "dev-develop": "2.11.x-dev" - }, - "zf": { - "component": "Zend\\I18n", - "config-provider": "Zend\\I18n\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Zend\\I18n\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Provide translations for your application, and filter and validate internationalized values", - "keywords": [ - "ZendFramework", - "i18n", - "zf" - ], - "abandoned": "laminas/laminas-i18n", - "time": "2019-12-12T14:08:22+00:00" - }, - { - "name": "zendframework/zend-json", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-json.git", - "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-json/zipball/e9ddb1192d93fe7fff846ac895249c39db75132b", - "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-stdlib": "^2.7.7 || ^3.1" - }, - "suggest": { - "zendframework/zend-json-server": "For implementing JSON-RPC servers", - "zendframework/zend-xml2json": "For converting XML documents to JSON" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev", - "dev-develop": "3.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Json\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", - "keywords": [ - "ZendFramework", - "json", - "zf" - ], - "abandoned": "laminas/laminas-json", - "time": "2019-10-09T13:56:13+00:00" - }, - { - "name": "zendframework/zend-serializer", - "version": "2.9.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-serializer.git", - "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", - "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0", - "zendframework/zend-json": "^2.5 || ^3.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-math": "^2.6 || ^3.0", - "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" - }, - "suggest": { - "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization", - "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.9.x-dev", - "dev-develop": "2.10.x-dev" - }, - "zf": { - "component": "Zend\\Serializer", - "config-provider": "Zend\\Serializer\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Zend\\Serializer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Serialize and deserialize PHP structures to a variety of representations", - "keywords": [ - "ZendFramework", - "serializer", - "zf" - ], - "abandoned": "laminas/laminas-serializer", - "time": "2019-10-19T08:06:30+00:00" - }, - { - "name": "zendframework/zend-servicemanager", - "version": "2.7.11", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-servicemanager.git", - "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7", - "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7", - "shasum": "" - }, - "require": { - "container-interop/container-interop": "~1.0", - "php": "^5.5 || ^7.0" - }, - "require-dev": { - "athletic/athletic": "dev-master", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-di": "~2.5", - "zendframework/zend-mvc": "~2.5" - }, - "suggest": { - "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", - "zendframework/zend-di": "Zend\\Di component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev", - "dev-develop": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\ServiceManager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-servicemanager", - "keywords": [ - "servicemanager", - "zf2" - ], - "abandoned": "laminas/laminas-servicemanager", - "time": "2018-06-22T14:49:54+00:00" - }, - { - "name": "zendframework/zend-stdlib", - "version": "2.7.7", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", - "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "zendframework/zend-hydrator": "~1.1" - }, - "require-dev": { - "athletic/athletic": "~0.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-config": "~2.5", - "zendframework/zend-eventmanager": "~2.5", - "zendframework/zend-filter": "~2.5", - "zendframework/zend-inputfilter": "~2.5", - "zendframework/zend-serializer": "~2.5", - "zendframework/zend-servicemanager": "~2.5" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-release-2.7": "2.7-dev", - "dev-master": "3.0-dev", - "dev-develop": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-stdlib", - "keywords": [ - "stdlib", - "zf2" - ], - "abandoned": "laminas/laminas-stdlib", - "time": "2016-04-12T21:17:31+00:00" - }, - { - "name": "zetacomponents/base", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/zetacomponents/Base.git", - "reference": "489e20235989ddc97fdd793af31ac803972454f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zetacomponents/Base/zipball/489e20235989ddc97fdd793af31ac803972454f1", - "reference": "489e20235989ddc97fdd793af31ac803972454f1", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "~5.7", - "zetacomponents/unit-test": "*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Sergey Alexeev" - }, - { - "name": "Sebastian Bergmann" - }, - { - "name": "Jan Borsodi" - }, - { - "name": "Raymond Bosman" - }, - { - "name": "Frederik Holljen" - }, - { - "name": "Kore Nordmann" - }, - { - "name": "Derick Rethans" - }, - { - "name": "Vadym Savchuk" - }, - { - "name": "Tobias Schlitt" - }, - { - "name": "Alexandru Stanoi" - } - ], - "description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.", - "homepage": "https://github.com/zetacomponents", - "time": "2017-11-28T11:30:00+00:00" - }, - { - "name": "zetacomponents/document", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/zetacomponents/Document.git", - "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zetacomponents/Document/zipball/688abfde573cf3fe0730f82538fbd7aa9fc95bc8", - "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8", - "shasum": "" - }, - "require": { - "zetacomponents/base": "*" - }, - "require-dev": { - "zetacomponents/unit-test": "dev-master" - }, - "type": "library", - "autoload": { - "classmap": [ - "src" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Sebastian Bergmann" - }, - { - "name": "Kore Nordmann" - }, - { - "name": "Derick Rethans" - }, - { - "name": "Tobias Schlitt" - }, - { - "name": "Alexandru Stanoi" - } - ], - "description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.", - "homepage": "https://github.com/zetacomponents", - "time": "2013-12-19T11:40:00+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "hood/accounts": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.4.0" + "php": "~8.0" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } From e535c7cbcec3fda21b4b6db1bfb6ac6178067eaa Mon Sep 17 00:00:00 2001 From: RedHood Date: Wed, 17 Feb 2021 12:40:14 +1000 Subject: [PATCH 2/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?,=20=D0=BD=D0=B0=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hood/vk/logs/2020.10.07-ERROR.log | 18 -- hood/vk/logs/2020.10.07-INFO.log | 46 ----- hood/vk/logs/2020.10.07.log | 64 ------- hood/vk/logs/2020.10.08-ERROR.log | 35 ---- hood/vk/logs/2020.10.08-INFO.log | 83 --------- hood/vk/logs/2020.10.08.log | 118 ------------- hood/vk/logs/2020.10.09-INFO.log | 1 - hood/vk/logs/2020.10.09.log | 1 - hood/vk/system/api/api.php | 192 +++++++++++++++++++++ hood/vk/system/api/methods/messages.php | 63 ++----- hood/vk/system/api/methods/method.php | 12 +- hood/vk/system/robots/robot.php | 100 +++++------ hood/vk/tests/api/methods/messagesTest.php | 50 +++--- hood/vk/tests/robots/groupTest.php | 40 ++--- hood/vk/tests/robots/userTest.php | 40 ++--- 15 files changed, 317 insertions(+), 546 deletions(-) delete mode 100644 hood/vk/logs/2020.10.07-ERROR.log delete mode 100644 hood/vk/logs/2020.10.07-INFO.log delete mode 100644 hood/vk/logs/2020.10.07.log delete mode 100644 hood/vk/logs/2020.10.08-ERROR.log delete mode 100644 hood/vk/logs/2020.10.08-INFO.log delete mode 100644 hood/vk/logs/2020.10.08.log delete mode 100644 hood/vk/logs/2020.10.09-INFO.log delete mode 100644 hood/vk/logs/2020.10.09.log create mode 100644 hood/vk/system/api/api.php diff --git a/hood/vk/logs/2020.10.07-ERROR.log b/hood/vk/logs/2020.10.07-ERROR.log deleted file mode 100644 index 69a9349..0000000 --- a/hood/vk/logs/2020.10.07-ERROR.log +++ /dev/null @@ -1,18 +0,0 @@ -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:16:23] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 3 passed to Hood\VK\Robots\Group::message() must be of the type string, int given, called in D:\Проектs\Репозитории\s.php on line 63 and defined in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:54 Stack trace: #0 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->message() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(262): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): Hood\VK\API\LongPoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:54 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php(131): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(85): Hood\VK\Robots\User->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(70): Hood\VK\Builder->reg() #3 D:\Проектs\Репозитории\s.php(68): Hood\VK\Builder->user() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php(131): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(85): Hood\VK\Robots\User->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(70): Hood\VK\Builder->reg() #3 D:\Проектs\Репозитории\s.php(68): Hood\VK\Builder->user() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(68): Hood\VK\Robots\User->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:81 Stack trace: #0 D:\Проектs\Репозитории\s.php(68): Hood\VK\Robots\User->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:81 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать ключ для доступа к LongPoll in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:45:45] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать ключ для доступа к LongPoll in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$key must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(125): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(79): Hood\VK\Robots\Group->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #3 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$key must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(125): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(79): Hood\VK\Robots\Group->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #3 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] diff --git a/hood/vk/logs/2020.10.07-INFO.log b/hood/vk/logs/2020.10.07-INFO.log deleted file mode 100644 index 8fc5403..0000000 --- a/hood/vk/logs/2020.10.07-INFO.log +++ /dev/null @@ -1,46 +0,0 @@ -[2020-10-07 15:30:17] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 15:30:17] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 15:31:09] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 15:31:09] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:16:08] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:16:23] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:16:50] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:22:23] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:24:52] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:25:12] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:32:26] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:36:51] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:45:44] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:45:45] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] diff --git a/hood/vk/logs/2020.10.07.log b/hood/vk/logs/2020.10.07.log deleted file mode 100644 index 8751fc2..0000000 --- a/hood/vk/logs/2020.10.07.log +++ /dev/null @@ -1,64 +0,0 @@ -[2020-10-07 15:30:17] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 15:30:17] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 15:31:09] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 15:31:09] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 16:14:21] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:08:57] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined method Hood\VK\Robots\Group::token() in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:58 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:09:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:16:08] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:16:23] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 3 passed to Hood\VK\Robots\Group::message() must be of the type string, int given, called in D:\Проектs\Репозитории\s.php on line 63 and defined in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:54 Stack trace: #0 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->message() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(262): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): Hood\VK\API\LongPoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:54 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:16:23] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:16:50] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:22:23] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:24:52] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:25:12] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:32:26] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:36:51] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php(131): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(85): Hood\VK\Robots\User->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(70): Hood\VK\Builder->reg() #3 D:\Проектs\Репозитории\s.php(68): Hood\VK\Builder->user() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:41:46] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php(131): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(85): Hood\VK\Robots\User->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\Builder.php(70): Hood\VK\Builder->reg() #3 D:\Проектs\Репозитории\s.php(68): Hood\VK\Builder->user() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:132 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:42:08] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$id must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(68): Hood\VK\Robots\User->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:43:15] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:81 Stack trace: #0 D:\Проектs\Репозитории\s.php(68): Hood\VK\Robots\User->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\User.php:81 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:43:24] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать ключ для доступа к LongPoll in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:45:29] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:45:44] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:45:45] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать ключ для доступа к LongPoll in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:45:45] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$key must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(125): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(79): Hood\VK\Robots\Group->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #3 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:24] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:31] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\RobotAbstract::$key must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(125): Hood\VK\Robots\RobotAbstract->__get() #1 D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php(79): Hood\VK\Robots\Group->__get() #2 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #3 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #4 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:136 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:46:40] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:25] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:31] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:33] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:78 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:47:50] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-07 17:48:46] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] diff --git a/hood/vk/logs/2020.10.08-ERROR.log b/hood/vk/logs/2020.10.08-ERROR.log deleted file mode 100644 index a596a4d..0000000 --- a/hood/vk/logs/2020.10.08-ERROR.log +++ /dev/null @@ -1,35 +0,0 @@ -[2020-10-08 09:06:40] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\Group::$longpoll must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:133 Stack trace: #0 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:133 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(62): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: syntax error, unexpected ';', expecting ')' in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:161 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:21:22] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to a member function postShutdownHandler() on null in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 D:\Проектs\Репозитории\s.php(56): hood\vk\core->log() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:21:34] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to a member function postShutdownHandler() on null in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 D:\Проектs\Репозитории\s.php(56): hood\vk\core->log() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:27:33] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function \hood\vk\api\methods\messages() in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:28:35] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\Robots\robot::__call() must be an instance of hood\vk\api\methods\method, instance of hood\vk\api\methods\messages returned in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:29:12] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\Robots\robot::__call() must be an instance of hood\vk\api\methods\method, instance of hood\vk\api\methods\messages returned in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:42:46] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 1 passed to hood\vk\api\methods\messages::__construct() must be of the type string, object given, called in D:\Проектs\Репозитории\vk\robots\robot.php on line 179 and defined in D:\Проектs\Репозитории\vk\api\methods\messages.php:30 Stack trace: #0 D:\Проектs\Репозитории\vk\robots\robot.php(179): hood\vk\api\methods\messages->__construct() #1 D:\Проектs\Репозитории\s.php(67): hood\vk\Robots\robot->__call() #2 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #3 D:\Проектs\Репозитории\s.php(82): hood\vk\api\longpoll->handle() #4 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:30 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:02:53] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 2 passed to hood\vk\api\methods\messages::__construct() must be of the type string, array given, called in D:\Проектs\Репозитории\vk\robots\robot.php on line 179 and defined in D:\Проектs\Репозитории\vk\api\methods\messages.php:44 Stack trace: #0 D:\Проектs\Репозитории\vk\robots\robot.php(179): hood\vk\api\methods\messages->__construct() #1 D:\Проектs\Репозитории\s.php(64): hood\vk\Robots\robot->__call() #2 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #3 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #4 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:44 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:03:25] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Typed property hood\vk\api\methods\messages::$robot must not be accessed before initialization in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:04:49] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Typed property hood\vk\api\methods\messages::$robot must not be accessed before initialization in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:05:23] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Cannot access uninitialized non-nullable property hood\vk\api\methods\messages::$attachments by reference in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:06:40] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Cannot access uninitialized non-nullable property hood\vk\api\methods\messages::$attachments by reference in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Class 'Hood\VK\robots\user' not found in D:\Проектs\Репозитории\vk\builder.php:70 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): Hood\VK\builder->user() #1 {main} thrown in D:\Проектs\Репозитории\vk\builder.php:70 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 2 passed to hood\vk\core::__call() must be of the type int, array given, called in D:\Проектs\Репозитории\s.php on line 69 and defined in D:\Проектs\Репозитории\vk\core.php:87 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:87 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 1 passed to hood\vk\Robots\robot::__construct() must be of the type int, object given, called in D:\Проектs\Репозитории\vk\core.php on line 91 and defined in D:\Проектs\Репозитории\vk\robots\robot.php:87 Stack trace: #0 D:\Проектs\Репозитории\vk\core.php(91): hood\vk\Robots\robot->__construct() #1 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #2 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:87 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\core::__call() must be an instance of hood\vk\Robots\robot, none returned in D:\Проектs\Репозитории\vk\core.php:95 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:95 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Class 'hood\vk\Exception' not found in D:\Проектs\Репозитории\vk\core.php:93 Stack trace: #0 D:\Проектs\Репозитории\s.php(58): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:93 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Не найден робот: build in D:\Проектs\Репозитории\vk\core.php:94 Stack trace: #0 D:\Проектs\Репозитории\s.php(58): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:94 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function SHAMIL\sense\core() in D:\Проектs\Репозитории\s.php:60 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:60 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function hood\vk\core() in D:\Проектs\Репозитории\s.php:61 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:61 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] diff --git a/hood/vk/logs/2020.10.08-INFO.log b/hood/vk/logs/2020.10.08-INFO.log deleted file mode 100644 index abbc23f..0000000 --- a/hood/vk/logs/2020.10.08-INFO.log +++ /dev/null @@ -1,83 +0,0 @@ -[2020-10-08 09:06:39] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:06:40] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:18:59] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:19:15] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:19:20] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 12:20:33] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:20:58] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:21:22] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:21:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:22:09] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:11] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:23] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:33] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:28:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:28:35] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:29:10] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:29:12] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:30:11] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:42:41] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:42:46] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:02:25] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:02:45] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:02:53] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:03:19] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:03:25] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:04:38] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:04:49] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:05:14] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:05:23] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:06:28] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:06:40] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:07:13] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:45] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:04:09] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:20:49] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:42:42] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:42] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] diff --git a/hood/vk/logs/2020.10.08.log b/hood/vk/logs/2020.10.08.log deleted file mode 100644 index b5b8d7e..0000000 --- a/hood/vk/logs/2020.10.08.log +++ /dev/null @@ -1,118 +0,0 @@ -[2020-10-08 09:06:39] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:06:40] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:06:40] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:12] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Error: Typed property Hood\VK\Robots\Group::$longpoll must not be accessed before initialization in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:133 Stack trace: #0 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #1 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php:133 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(61): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:11:41] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:35] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:45] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(62): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:12:51] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:79 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:05] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:34] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:39] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:13:55] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать идентификатор ВКонтакте in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 D:\Проектs\Репозитории\vk\Hood\VK\robots\Group.php(131): Hood\VK\API\LongPoll->__construct() #1 D:\Проектs\Репозитории\s.php(63): Hood\VK\Robots\Group->__get() #2 {main} thrown in D:\Проектs\Репозитории\vk\Hood\VK\api\LongPoll.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:14:01] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.ERROR: ErrorException: syntax error, unexpected ';', expecting ')' in D:\Проектs\Репозитории\vk\Hood\VK\robots\RobotAbstract.php:161 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 09:18:47] Hood\VK\Loggers\Jasmo.INFO: Завершение работы [] [] -[2020-10-08 09:18:59] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:19:15] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 09:19:20] Hood\VK\Loggers\Jasmo.INFO: Начало работы [] [] -[2020-10-08 12:20:33] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:20:58] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:21:22] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:21:22] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to a member function postShutdownHandler() on null in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 D:\Проектs\Репозитории\s.php(56): hood\vk\core->log() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:21:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:21:34] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to a member function postShutdownHandler() on null in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 D:\Проектs\Репозитории\s.php(56): hood\vk\core->log() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:111 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:22:09] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:11] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:23] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:27:33] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function \hood\vk\api\methods\messages() in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:27:33] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:28:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:28:35] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\Robots\robot::__call() must be an instance of hood\vk\api\methods\method, instance of hood\vk\api\methods\messages returned in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:28:35] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:29:10] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:29:12] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\Robots\robot::__call() must be an instance of hood\vk\api\methods\method, instance of hood\vk\api\methods\messages returned in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 D:\Проектs\Репозитории\s.php(62): hood\vk\Robots\robot->__call() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(64): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:179 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:29:12] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 12:30:11] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:42:41] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 12:42:46] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 1 passed to hood\vk\api\methods\messages::__construct() must be of the type string, object given, called in D:\Проектs\Репозитории\vk\robots\robot.php on line 179 and defined in D:\Проектs\Репозитории\vk\api\methods\messages.php:30 Stack trace: #0 D:\Проектs\Репозитории\vk\robots\robot.php(179): hood\vk\api\methods\messages->__construct() #1 D:\Проектs\Репозитории\s.php(67): hood\vk\Robots\robot->__call() #2 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #3 D:\Проектs\Репозитории\s.php(82): hood\vk\api\longpoll->handle() #4 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:30 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 12:42:46] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:02:25] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:02:45] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:02:53] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 2 passed to hood\vk\api\methods\messages::__construct() must be of the type string, array given, called in D:\Проектs\Репозитории\vk\robots\robot.php on line 179 and defined in D:\Проектs\Репозитории\vk\api\methods\messages.php:44 Stack trace: #0 D:\Проектs\Репозитории\vk\robots\robot.php(179): hood\vk\api\methods\messages->__construct() #1 D:\Проектs\Репозитории\s.php(64): hood\vk\Robots\robot->__call() #2 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #3 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #4 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:44 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:02:53] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:03:19] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:03:25] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Typed property hood\vk\api\methods\messages::$robot must not be accessed before initialization in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:03:25] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:04:38] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:04:49] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Typed property hood\vk\api\methods\messages::$robot must not be accessed before initialization in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:83 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:04:49] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:05:14] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:05:23] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Cannot access uninitialized non-nullable property hood\vk\api\methods\messages::$attachments by reference in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:05:23] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:06:28] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 15:06:40] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Cannot access uninitialized non-nullable property hood\vk\api\methods\messages::$attachments by reference in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 D:\Проектs\Репозитории\s.php(64): hood\vk\api\methods\messages->send() #1 D:\Проектs\Репозитории\vk\api\longpoll.php(261): SHAMIL\sense\{closure}() #2 D:\Проектs\Репозитории\s.php(66): hood\vk\api\longpoll->handle() #3 {main} thrown in D:\Проектs\Репозитории\vk\api\methods\messages.php:114 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 15:06:40] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 15:07:13] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Class 'Hood\VK\robots\user' not found in D:\Проектs\Репозитории\vk\builder.php:70 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): Hood\VK\builder->user() #1 {main} thrown in D:\Проектs\Репозитории\vk\builder.php:70 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:14:13] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 2 passed to hood\vk\core::__call() must be of the type int, array given, called in D:\Проектs\Репозитории\s.php on line 69 and defined in D:\Проектs\Репозитории\vk\core.php:87 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:87 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:44:26] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Argument 1 passed to hood\vk\Robots\robot::__construct() must be of the type int, object given, called in D:\Проектs\Репозитории\vk\core.php on line 91 and defined in D:\Проектs\Репозитории\vk\robots\robot.php:87 Stack trace: #0 D:\Проектs\Репозитории\vk\core.php(91): hood\vk\Robots\robot->__construct() #1 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #2 {main} thrown in D:\Проектs\Репозитории\vk\robots\robot.php:87 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:56:29] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught TypeError: Return value of hood\vk\core::__call() must be an instance of hood\vk\Robots\robot, none returned in D:\Проектs\Репозитории\vk\core.php:95 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:95 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:56:39] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:57:57] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Class 'hood\vk\Exception' not found in D:\Проектs\Репозитории\vk\core.php:93 Stack trace: #0 D:\Проектs\Репозитории\s.php(58): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:93 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:58:08] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Не найден робот: build in D:\Проектs\Репозитории\vk\core.php:94 Stack trace: #0 D:\Проектs\Репозитории\s.php(58): hood\vk\core->__call() #1 {main} thrown in D:\Проектs\Репозитории\vk\core.php:94 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 16:58:26] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 16:58:45] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:04:09] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 17:05:01] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Exception: Необходимо указать адрес сервера in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 D:\Проектs\Репозитории\s.php(69): hood\vk\robots\user->key() #1 {main} thrown in D:\Проектs\Репозитории\vk\hood\vk\robots\user.php:80 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:20:35] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:20:49] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function SHAMIL\sense\core() in D:\Проектs\Репозитории\s.php:60 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:60 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:42:21] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.ERROR: ErrorException: Uncaught Error: Call to undefined function hood\vk\core() in D:\Проектs\Репозитории\s.php:61 Stack trace: #0 {main} thrown in D:\Проектs\Репозитории\s.php:61 Stack trace: #0 [internal function]: Jasny\ErrorHandler->shutdownFunction() #1 {main} [] [] -[2020-10-08 19:42:34] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] -[2020-10-08 19:42:42] hood\vk\loggers\jasmo.INFO: Начало работы [] [] -[2020-10-08 19:42:42] hood\vk\loggers\jasmo.INFO: Завершение работы [] [] diff --git a/hood/vk/logs/2020.10.09-INFO.log b/hood/vk/logs/2020.10.09-INFO.log deleted file mode 100644 index aa0486b..0000000 --- a/hood/vk/logs/2020.10.09-INFO.log +++ /dev/null @@ -1 +0,0 @@ -[2020-10-09 08:53:00] hood\vk\loggers\jasmo.INFO: Начало работы [] [] diff --git a/hood/vk/logs/2020.10.09.log b/hood/vk/logs/2020.10.09.log deleted file mode 100644 index aa0486b..0000000 --- a/hood/vk/logs/2020.10.09.log +++ /dev/null @@ -1 +0,0 @@ -[2020-10-09 08:53:00] hood\vk\loggers\jasmo.INFO: Начало работы [] [] diff --git a/hood/vk/system/api/api.php b/hood/vk/system/api/api.php new file mode 100644 index 0000000..cc555e2 --- /dev/null +++ b/hood/vk/system/api/api.php @@ -0,0 +1,192 @@ +_init(); + } + } + + /** + * Инициализация (безопасная) + */ + public function init(): array + { + if (!isset($blocked)) { + // Нет блокировки (запуск в первый раз) + + // Блокировка + static $blocked = true; + + try { + $this->_init(); + } catch (Throwable $t) { + throw new Exception('Не удалось инициализировать API', $t->getCode(), $t->getPrevious()); + } + } + + return $this->settings; + } + + /** + * Реинициализация + */ + public function reinit(): array + { + // Очистка + unset($this->settings); + + try { + $this->_init(); + } catch (Throwable $t) { + throw new Exception('Не удалось инициализировать API', $t->getCode(), $t->getPrevious()); + } + + return $this->settings; + } + + /** + * Инициализация + */ + protected function _init(): void + { + // Ключ + $this->settings['access_token'] = $this->robot->key; + + // Версия API + $this->settings['v'] = $this->robot->version; + } + + /** + * Выбрать получателя + * + * Определяет получателей по входным параметрам + * + * @see hood\vk\api\methods\messages Сообщения + */ + public function chooseDestination(string|array $destination): void + { + if (is_int($destination)) { + // Идентификатор + + $this->settings['peer_id'] = $destination; + } else if (is_array($destination)) { + // Идентификаторы + + $this->settings['user_ids'] = $destination; + } else { + // Домен + + $this->settings['domain'] = $destination; + } + } + + /** + * Записать свойство + * + * @param string $name Название + * @param mixed $value Значение + */ + public function __set(string $name, mixed $value): void + { + match ($name) { + 'robot' => !isset($this->robot) ? $this->robot = $value : throw new Exception('Запрещено перезаписывать робота'), + 'settings' => !isset($this->settings) ? $this->settings = $value : throw new Exception('Запрещено перезаписывать настройки'), + default => $this->settings[$name] = $value + }; + } + + /** + * Прочитать свойство + * + * @param string $name Название + */ + public function __get(string $name): mixed + { + return match ($name) { + 'robot' => $this->robot ?? throw new Exception('Робот не инициализирован'), + 'settings' => $this->settings ?? throw new Exception('Настройки не инициализированы'), + default => $this->settings[$name] ?? throw new Exception('Параметр не найден: settings[\'' . $name . '\']') + }; + } + + /** + * Записать по смещению + */ + public function offsetSet(mixed $offset, mixed $value): void + { + if (isset($settings)) { + $this->settings[$offset] = $value; + } else { + throw new Exception('Настройки не инициализированы'); + } + } + + /** + * Прочитать по смещению + */ + public function offsetGet(mixed $offset): mixed + { + if (isset($settings)) { + if (isset($this->settings[$offset])) { + return $this->settings[$offset]; + } else { + throw new Exception('Не найдено: settings[\'' . $offset . '\']'); + } + } else { + throw new Exception('Настройки не инициализированы'); + } + } + + /** + * Проверка существования смещения + */ + public function offsetExists(mixed $offset): bool + { + if (isset($settings)) { + return isset($this->settings[$offset]); + } else { + throw new Exception('Настройки не инициализированы'); + } + } + + /** + * Удалить по смещению + */ + public function offsetUnset(mixed $offset): void + { + if (isset($settings)) { + unset($this->settings[$offset]); + } else { + throw new Exception('Настройки не инициализированы'); + } + } + } +} diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 5db7728..3a588e3 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -4,9 +4,7 @@ declare(strict_types=1); namespace hood\vk\api\methods; -use hood\vk\robots\robot, - hood\vk\robots\group, - hood\vk\robots\user; +use hood\vk\robots\robot; /** * Сообщение @@ -37,8 +35,6 @@ final class messages extends method * $message Текст * $destination Получатель * $attachments Вложения - * - * @return self */ public function __construct( protected robot $robot, @@ -57,7 +53,7 @@ final class messages extends method * * @see https://vk.com/dev/messages.send * - * Ответ сервера + * @return array Ответ сервера */ public function send(int|string|array $destination): array { @@ -69,32 +65,17 @@ final class messages extends method $random_id *= rand(); } - # Ключ - match (true) { - // Робот-группа - $this->robot instanceof group => $settings['access_token'] = $this->robot->key, - // Робот-пользователь - $this->robot instanceof User => $settings['access_token'] = $this->robot->key - }; - - // Версия API - $settings['v'] = $this->robot->version; + // Реиницилазиция + $this->robot->api->reinit(); // Цель отправки - match (true) { - // Отправить по идентификатору - is_int($destination) => $settings['peer_id'] = $destination, - // Массовая отправка по идентификаторам - is_array($destination) => $settings['user_ids'] = $destination, - // Отправить по домену - default => $settings['domain'] = $destination - }; + $this->robot->api->chooseDestination($this->destination); // Сообщение - $settings['message'] = $this->message; + $this->robot->api['message'] = $this->message; // Идентификатор сообщения - $settings['random_id'] = $random_id; + $this->robot->api['random_id'] = $random_id; // Фильтрация вложений $forward_messages = []; @@ -133,12 +114,7 @@ final class messages extends method // Если пришел ID сообщения // Ключ - match (true) { - // Робот-группа - $this->robot instanceof Group => $settings['access_token'] = $this->robot->key, - // Робот-пользователь - $this->robot instanceof User => $settings['access_token'] = $this->robot->key - }; + $settings['access_token'] = $this->robot->key; // Версия API $settings['v'] = $this->robot->version; @@ -166,26 +142,10 @@ final class messages extends method */ public function info(): array { - # Ключ - match (true) { - // Робот-группа - $this->robot instanceof group => $settings['access_token'] = $this->robot->key, - // Робот-пользователь - $this->robot instanceof User => $settings['access_token'] = $this->robot->key, - }; + $settings = $this->init(); // Цель отправки - match (true) { - // Отправить по идентификатору - is_int($this->destination) => $settings['peer_id'] = $this->destination, - // Массовая отправка по идентификаторам - is_array($this->destination) => $settings['user_ids'] = $this->destination, - // Отправить по домену - default => $settings['domain'] = $this->destination - }; - - // Версия API - $settings['v'] = $this->robot->version; + self::chooseDestination($settings, $this->destination); // Сообщение $settings['message'] = $this->message; @@ -198,6 +158,7 @@ final class messages extends method foreach ($this->attachments as &$attachment) { if (iconv_substr(str: $attachment, offset: 0, length: 7, charset: "UTF-8") === 'message') { // Если среди вложений найдено сообщение для пересылки + $forward_messages[] = $attachment; unset($attachment); } @@ -205,11 +166,13 @@ final class messages extends method if (!empty($forward_messages)) { // Если есть пересылаемые сообщения + $settings['forward_messages'] = implode(',', $forward_messages); } if (!empty($attachments)) { // Если есть вложения + $settings['attachment'] = implode(',', $attachments); } diff --git a/hood/vk/system/api/methods/method.php b/hood/vk/system/api/methods/method.php index cbf0eb8..d2f5358 100644 --- a/hood/vk/system/api/methods/method.php +++ b/hood/vk/system/api/methods/method.php @@ -8,12 +8,12 @@ use hood\vk\robots\robot; /** * Абстракция метода API - * + * * protected static put(string $url, ...$params) Создать * protected static post(string $url, ...$params) Изменить * protected static get(string $url, ...$params) Получить * protected static delete(string $url, ...$params) Удалить - * + * * @package hood\vk\api\methods * @author Arsen Mirzaev Tatyano-Muradovich */ @@ -21,7 +21,7 @@ abstract class method { /** * Создать - * + * * Ответ сервера */ public static function put(): array @@ -31,7 +31,7 @@ abstract class method /** * Изменить - * + * * Ответ сервера */ public static function post(): array @@ -41,7 +41,7 @@ abstract class method /** * Получить - * + * * Ответ сервера */ public static function get(): array @@ -51,7 +51,7 @@ abstract class method /** * Удалить - * + * * Ответ сервера */ public static function delete(): array diff --git a/hood/vk/system/robots/robot.php b/hood/vk/system/robots/robot.php index 84d3fbc..f966da4 100644 --- a/hood/vk/system/robots/robot.php +++ b/hood/vk/system/robots/robot.php @@ -8,36 +8,38 @@ use Exception; use GuzzleHttp\Client as browser; -use hood\vk\core, - hood\vk\api\methods\method, - hood\vk\proxies\proxy, - hood\vk\captcha\captcha; +use hood\vk\core; +use hood\vk\proxies\proxy; +use hood\vk\captcha\captcha; +use hood\vk\api\api; +use hood\vk\api\methods\method; use hood\accounts\vk as account; + /** * Робот * - * $id Идентификатор - * $session Сессия - * $key Ключ - * $version Версия API - * $account Аккаунт - * $browser Браузер - * $proxy Прокси - * $captcha Обработчик капчи + * @var int $id Идентификатор + * @var int $session Сессия + * @var string $key Ключ + * @var api $api API ВКонтакте + * @var account $account Аккаунт + * @var browser $browser Браузер + * @var proxy $proxy Прокси + * @var captcha $captcha Обработчик капчи * - * $messages_mode Режим отправки сообщений + * @var int $messages_mode Режим отправки сообщений * - * public function __construct(int $id = null, float $version = null) Конструктор - * public function key(string $key) Инициализация ключа - * public function account(account $account) Инициализация аккаунта - * public function __set($name, $value) Запись свойства - * public function __get($name) Чтение свойства - * public function __isset($name) Проверка на инициализированность свойства - * public function __call(string $method, array $params) Вызов метода - * public static function __callStatic(string $method, array $params) Вызов статического метода - * public function __toString() Конвертация в строку + * @method public function __construct(int $id = null, float $version = null) Конструктор + * @method public function key(string $key) Инициализация ключа + * @method public function account(account $account) Инициализация аккаунта + * @method public function __set($name, $value) Запись свойства + * @method public function __get($name) Чтение свойства + * @method public function __isset($name) Проверка на инициализированность свойства + * @method public function __call(string $method, array $params) Вызов метода + * @method public static function __callStatic(string $method, array $params) Вызов статического метода + * @method public function __toString() Конвертация в строку * * @package hood\vk\robots * @author Arsen Mirzaev Tatyano-Muradovich @@ -59,11 +61,6 @@ abstract class robot */ protected string $key; - /** - * Версия API - */ - protected float $version = 5.124; - /** * Аккаунт */ @@ -80,19 +77,25 @@ abstract class robot protected captcha $captcha; /** - * $messages_mode Режим отправки сообщений + * Режим отправки сообщений */ protected int $messages_mode = 1; + /** + * API ВКонтакте + */ + protected api $api; + /** * Конструктор * - * $id Идентификатор - * $version Версия API + * @param int $id Идентификатор + * @param float $version Версия API */ - public function __construct(int|null $id = null, float|null $version = null) - { + public function __construct( + int|null $id = null + ) { // Инициализация ядра $core = core::init(); @@ -104,11 +107,6 @@ abstract class robot // Идентификация сессии робота $this->session = count($core->get($this->id)); - - if (isset($version)) { - // Инициализация версии - $this->version = $version; - } } /** @@ -179,13 +177,12 @@ abstract class robot 'id' => !isset($this->id) ? $this->id = (int) $value : throw new Exception('Запрещено перезаписывать идентификатор'), 'session' => !isset($this->session) ? $this->session = (int) $value : throw new Exception('Запрещено перезаписывать сессию'), 'key' => !isset($this->key) ? $this->key = (string) $value : throw new Exception('Запрещено перезаписывать ключ'), - 'version' => !isset($this->version) ? $this->version = (float) $value : throw new Exception('Запрещено перезаписывать версию API'), + 'api' => !isset($this->api) ? $this->api = $value : throw new Exception('Запрещено перезаписывать API'), 'account' => !isset($this->account) && $value instanceof account ? $this->account = $value : throw new Exception('Запрещено перезаписывать аккаунт'), 'browser' => !isset($this->browser) && $value instanceof browser ? $this->browser = $value : throw new Exception('Запрещено перезаписывать браузер'), 'proxy' => $this->proxy = $value, 'captcha' => $this->captcha = $value, 'messages_new' => $this->messages_new = (int) $value, - // Если свойство не найдено: default => throw new Exception('Свойство не найдено: ' . $name) }; } @@ -193,18 +190,16 @@ abstract class robot /** * Прочитать свойство * - * $name Название - * - * @return mixed + * @param string $name Название */ - public function __get(string $name) + public function __get(string $name): mixed { return match ($name) { - 'id' => isset($this->id) ? $this->id : throw new Exception('Идентификатор не инициализирован'), - 'session' => isset($this->session) ? $this->session : throw new Exception('Сессия не инициализирована'), - 'key' => isset($this->key) ? $this->key : throw new Exception('Ключ не инициализирован'), - 'version' => isset($this->version) ? $this->version : throw new Exception('Версия не инициализирована'), - 'account' => isset($this->account) ? $this->account : throw new Exception('Аккаунт не инициализирован'), + 'id' => $this->id ?? throw new Exception('Идентификатор не инициализирован'), + 'session' => $this->session ?? throw new Exception('Сессия не инициализирована'), + 'key' => $this->key ?? throw new Exception('Ключ не инициализирован'), + 'api' => $this->api ?? $this->api = new api($this), + 'account' => $this->account ?? throw new Exception('Аккаунт не инициализирован'), 'browser' => $this->browser ?? $this->browser = new browser([ 'base_uri' => 'https://api.vk.com/method/', 'cookies' => true @@ -212,7 +207,6 @@ abstract class robot 'proxy' => $this->proxy, 'captcha' => $this->captcha, 'messages_new' => $this->messages_new, - // Если свойство не найдено: default => throw new Exception('Свойство не найдено: ' . $name) }; } @@ -220,18 +214,16 @@ abstract class robot /** * Проверить свойство на инициализированность * - * $name Название - * - * @return mixed + * @param string $name Название */ - public function __isset(string $name) + public function __isset(string $name): bool { return match ($name) { 'id' => isset($this->id), 'session' => isset($this->session), 'key' => isset($this->key), 'account' => isset($this->account), - 'version' => isset($this->version), + 'api' => isset($this->api), 'browser' => isset($this->browser), 'proxy' => isset($this->proxy), 'captcha' => isset($this->captcha), diff --git a/hood/vk/tests/api/methods/messagesTest.php b/hood/vk/tests/api/methods/messagesTest.php index e6874ea..285a292 100644 --- a/hood/vk/tests/api/methods/messagesTest.php +++ b/hood/vk/tests/api/methods/messagesTest.php @@ -4,14 +4,14 @@ declare(strict_types=1); use PHPUnit\Framework\TestCase; -use hood\vk\core, - hood\vk\robots\robot, - hood\vk\tests\settings; +use hood\vk\core; +use hood\vk\robots\robot; +use hood\vk\tests\settings; use hood\accounts\vk as account; /** - * @testdox Робот-группа + * @testdox Сообщения */ final class messagesTest extends TestCase { @@ -32,20 +32,6 @@ final class messagesTest extends TestCase */ private static robot $robot; - - /** - * @testdox Деинициализация аккаунта - * @afterClass - */ - public static function testAccountDeinit(): void - { - // Инициализация аккаунта - self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); - - // Деаутентификация - self::$account->deauth(); - } - /** * @testdox Инициализация аккаунта * @beforeClass @@ -58,7 +44,7 @@ final class messagesTest extends TestCase } // Инициализация аккаунта - self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../../accounts'); // Запись режима SSL-протокола self::$account->ssl = self::$ssl ?? true; @@ -84,16 +70,16 @@ final class messagesTest extends TestCase } /** - * @testdox Деинициализация робота - * @after + * @testdox Деинициализация аккаунта + * @afterClass */ - public function testRobotGroupDeinit(): void + public static function testAccountDeinit(): void { - // Очистка реестра - self::$core->delete(); + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../../accounts'); - // Проверка - $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + // Деаутентификация + self::$account->deauth(); } /** @@ -115,12 +101,16 @@ final class messagesTest extends TestCase $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); } - /** - * @testdox Инициализация робота + * @testdox Деинициализация робота + * @after */ - public function testApiMethodMessagesNew(): void + public function testRobotGroupDeinit(): void { - var_dump(self::$robot->message('Тестирование отправки сообщения', self::$target_id ?? 'pizba228')); + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); } } diff --git a/hood/vk/tests/robots/groupTest.php b/hood/vk/tests/robots/groupTest.php index 871b573..5df4943 100644 --- a/hood/vk/tests/robots/groupTest.php +++ b/hood/vk/tests/robots/groupTest.php @@ -32,19 +32,6 @@ final class groupTest extends TestCase */ private static robot $robot; - /** - * @testdox Деинициализация аккаунта - * @afterClass - */ - public static function testAccountDeinit(): void - { - // Инициализация аккаунта - self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); - - // Деаутентификация - self::$account->deauth(); - } - /** * @testdox Инициализация аккаунта * @beforeClass @@ -83,16 +70,16 @@ final class groupTest extends TestCase } /** - * @testdox Деинициализация робота - * @after + * @testdox Деинициализация аккаунта + * @afterClass */ - public function testRobotGroupDeinit(): void + public static function testAccountDeinit(): void { - // Очистка реестра - self::$core->delete(); + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); - // Проверка - $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + // Деаутентификация + self::$account->deauth(); } /** @@ -114,6 +101,19 @@ final class groupTest extends TestCase $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); } + /** + * @testdox Деинициализация робота + * @after + */ + public function testRobotGroupDeinit(): void + { + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + } + /** * @testdox Запись идентификатора */ diff --git a/hood/vk/tests/robots/userTest.php b/hood/vk/tests/robots/userTest.php index b3a0d74..aed7b5f 100644 --- a/hood/vk/tests/robots/userTest.php +++ b/hood/vk/tests/robots/userTest.php @@ -32,19 +32,6 @@ final class userTest extends TestCase */ private static robot $robot; - /** - * @testdox Деинициализация аккаунта - * @afterClass - */ - public static function testAccountDeinit(): void - { - // Инициализация аккаунта - self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); - - // Деаутентификация - self::$account->deauth(); - } - /** * @testdox Инициализация аккаунта * @beforeClass @@ -83,16 +70,16 @@ final class userTest extends TestCase } /** - * @testdox Деинициализация робота - * @after + * @testdox Деинициализация аккаунта + * @afterClass */ - public function testRobotGroupDeinit(): void + public static function testAccountDeinit(): void { - // Очистка реестра - self::$core->delete(); + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../accounts'); - // Проверка - $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + // Деаутентификация + self::$account->deauth(); } /** @@ -114,6 +101,19 @@ final class userTest extends TestCase $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); } + /** + * @testdox Деинициализация робота + * @after + */ + public function testRobotGroupDeinit(): void + { + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + } + /** * @testdox Запись идентификатора */ From 701082644e517e64ae626c52d56c3ac047eca54a Mon Sep 17 00:00:00 2001 From: tarashyanskiy Date: Thu, 25 Feb 2021 11:17:24 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=B4=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20api,=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 187 +----------------------- hood/vk/system/api/api.php | 9 +- hood/vk/system/api/longpoll.php | 156 +++++++++++--------- hood/vk/system/api/methods/messages.php | 52 +++---- hood/vk/system/api/methods/method.php | 28 ++-- hood/vk/system/api/methods/photos.php | 83 ++++++----- hood/vk/system/core.php | 70 ++++++--- hood/vk/system/robots/group.php | 28 ++-- hood/vk/system/robots/robot.php | 62 +++++--- hood/vk/system/traits/singleton.php | 2 + 10 files changed, 283 insertions(+), 394 deletions(-) diff --git a/composer.lock b/composer.lock index 175c310..501beb0 100644 --- a/composer.lock +++ b/composer.lock @@ -84,10 +84,6 @@ "rest", "web service" ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.2.0" - }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -157,10 +153,6 @@ "keywords": [ "promise" ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.0" - }, "time": "2020-09-30T07:37:28+00:00" }, { @@ -232,10 +224,6 @@ "uri", "url" ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.7.0" - }, "time": "2020-09-30T07:37:11+00:00" }, { @@ -280,11 +268,6 @@ "hood", "vk" ], - "support": { - "chat": "https://vk.me/darkweb228", - "docs": "https://git.hood.su/hood/accounts/manual", - "issues": "https://git.hood.su/hood/accounts/issues" - }, "funding": [ { "url": "https://git.hood.su/hood/accounts/thanks", @@ -339,10 +322,6 @@ "exception handler", "middleware" ], - "support": { - "issues": "https://github.com/jasny/error-handler/issues", - "source": "https://github.com/jasny/error-handler" - }, "abandoned": true, "time": "2017-01-25T01:27:18+00:00" }, @@ -416,10 +395,6 @@ "logging", "psr-3" ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/1.26.0" - }, "funding": [ { "url": "https://github.com/Seldaek", @@ -479,9 +454,6 @@ "psr", "psr-18" ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" - }, "time": "2020-06-29T06:28:15+00:00" }, { @@ -532,9 +504,6 @@ "request", "response" ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -582,9 +551,6 @@ "psr", "psr-3" ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" - }, "time": "2020-03-23T09:12:05+00:00" }, { @@ -625,10 +591,6 @@ } ], "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, "time": "2019-03-08T08:55:37+00:00" } ], @@ -682,10 +644,6 @@ "constructor", "instantiate" ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" - }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -748,10 +706,6 @@ "object", "object graph" ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" - }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", @@ -810,10 +764,6 @@ "parser", "php" ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" - }, "time": "2020-12-20T10:01:03+00:00" }, { @@ -870,10 +820,6 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" - }, "time": "2020-06-27T14:33:11+00:00" }, { @@ -921,10 +867,6 @@ } ], "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.0.4" - }, "time": "2020-12-13T23:18:30+00:00" }, { @@ -974,10 +916,6 @@ "reflection", "static analysis" ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, "time": "2020-06-27T09:03:43+00:00" }, { @@ -1030,10 +968,6 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" - }, "time": "2020-09-03T19:13:55+00:00" }, { @@ -1079,10 +1013,6 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" - }, "time": "2020-09-17T18:55:26+00:00" }, { @@ -1146,10 +1076,6 @@ "spy", "stub" ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.12.2" - }, "time": "2020-12-19T10:15:11+00:00" }, { @@ -1217,10 +1143,6 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1277,10 +1199,6 @@ "filesystem", "iterator" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1340,10 +1258,6 @@ "keywords": [ "process" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1399,10 +1313,6 @@ "keywords": [ "template" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1458,10 +1368,6 @@ "keywords": [ "timer" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1472,16 +1378,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.1", + "version": "9.5.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360" + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360", - "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", "shasum": "" }, "require": { @@ -1557,10 +1463,6 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.1" - }, "funding": [ { "url": "https://phpunit.de/donate.html", @@ -1571,7 +1473,7 @@ "type": "github" } ], - "time": "2021-01-17T07:42:25+00:00" + "time": "2021-02-02T14:45:58+00:00" }, { "name": "sebastian/cli-parser", @@ -1617,10 +1519,6 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1673,10 +1571,6 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1728,10 +1622,6 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1802,10 +1692,6 @@ "compare", "equality" ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1859,10 +1745,6 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1925,10 +1807,6 @@ "unidiff", "unified diff" ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -1988,10 +1866,6 @@ "environment", "hhvm" ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2065,10 +1939,6 @@ "export", "exporter" ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2129,10 +1999,6 @@ "keywords": [ "global state" ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2186,10 +2052,6 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2243,10 +2105,6 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2298,10 +2156,6 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2361,10 +2215,6 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2416,10 +2266,6 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2472,10 +2318,6 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2525,10 +2367,6 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2539,7 +2377,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2597,9 +2435,6 @@ "polyfill", "portable" ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" - }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2654,10 +2489,6 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" - }, "funding": [ { "url": "https://github.com/theseer", @@ -2713,10 +2544,6 @@ "check", "validate" ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.9.1" - }, "time": "2020-07-08T17:02:28+00:00" } ], @@ -2731,5 +2558,5 @@ "php": "~8.0" }, "platform-dev": [], - "plugin-api-version": "2.0.0" + "plugin-api-version": "1.1.0" } diff --git a/hood/vk/system/api/api.php b/hood/vk/system/api/api.php index cc555e2..e5a612d 100644 --- a/hood/vk/system/api/api.php +++ b/hood/vk/system/api/api.php @@ -16,6 +16,7 @@ use GuzzleHttp\Promise\Each; * * @var robot $robot Робот * @var array $settings Настройки + * @var float $version Версия API */ class api implements ArrayAccess { @@ -24,7 +25,8 @@ class api implements ArrayAccess */ public function __construct( protected robot $robot, - protected array $settings = [] + protected array $settings = [], + protected float $version = 5.124 ) { if (empty($settings)) { // Настройки не получены @@ -81,7 +83,7 @@ class api implements ArrayAccess $this->settings['access_token'] = $this->robot->key; // Версия API - $this->settings['v'] = $this->robot->version; + $this->settings['v'] = $this->version; } /** @@ -184,9 +186,8 @@ class api implements ArrayAccess { if (isset($settings)) { unset($this->settings[$offset]); - } else { + } else { throw new Exception('Настройки не инициализированы'); } } - } } diff --git a/hood/vk/system/api/longpoll.php b/hood/vk/system/api/longpoll.php index 73b595e..8c38b32 100644 --- a/hood/vk/system/api/longpoll.php +++ b/hood/vk/system/api/longpoll.php @@ -11,13 +11,13 @@ use hood\vk\core, /** * LongPoll * - * $key Ключ к серверу - * $server Сервер - * $ts Идентификатор последнего события + * @property string $key Ключ к серверу + * @property string $server Сервер + * @property string $ts Идентификатор последнего события * - * public function __construct(object $robot) Инициализация - * public function get(int $wait = 25) Получить события - * public function handle(callable $function, int $wait = 25) Обработать события + * @method public function __construct(object $robot) Инициализация + * @method public function get(int $wait = 25) Получить события + * @method public function handle(callable $function, int $wait = 25) Обработать события * * @see https://vk.com/dev/bots_longpoll * @see https://vk.com/dev/groups.getLongPollServer @@ -34,6 +34,8 @@ final class longpoll * Ключ к серверу * * @see $this->get() + * + * @var string */ private string $key; @@ -41,6 +43,8 @@ final class longpoll * Сервер (URL) * * @see $this->get() + * + * @var string */ private string $server; @@ -50,13 +54,15 @@ final class longpoll * От него отсчитываются новые, необработанные события * * @see $this->get() + * + * @var string */ private string $ts; /** * Инициализация * - * $robot Робот + * @param robot $robot Робот */ public function __construct(private robot $robot) { @@ -84,24 +90,27 @@ final class longpoll * * Полная настройка и активация LongPoll * - * $status = true Активация или деактивация - * ...$params Изменяемые параметры + * @param bool $status = true Активация или деактивация + * @param string ...$params Изменяемые параметры + * + * @return array */ public function post(bool $status = true, string ...$params): array { - // Инициализация настроек - $settings = [ - 'group_id' => $this->robot->id, - 'access_token' => $this->robot->key, - 'v' => $this->robot->version, - 'api_version' => $this->robot->version - ]; + // Реиницилазиция + $this->robot->api->reinit(); - if ($status === true && !array_key_exists('enabled', $settings)) { + // Инициализация настроек + $this->robot->api['group_id'] = $this->robot->id; + $this->robot->api['access_token'] = $this->robot->key; + $this->robot->api['v'] = $this->robot->version; + $this->robot->api['api_version'] = $this->robot->version; + + if ($status === true && !array_key_exists('enabled', $this->robot->api['settings'])) { // Если запущена активация и не был передан параметр статуса LongPoll // Установка параметра активации LongPoll - $settings['enabled'] = 1; + $this->robot->api['enabled'] = 1; } // Установка переданных параметров @@ -118,77 +127,80 @@ final class longpoll // Если параметр не указывает на установку всех значений // Установка значения - $settings[$param] = $status; + $this->robot->api[$param] = $status; } else { // Иначе установить все значения // Если передан параметр: установка ВСЕХ значений - $settings['message_new'] = $status; - $settings['message_reply'] = $status; - $settings['message_allow'] = $status; - $settings['message_deny'] = $status; - $settings['message_edit'] = $status; - $settings['message_typing_state'] = $status; - $settings['photo_new'] = $status; - $settings['audio_new'] = $status; - $settings['video_new'] = $status; - $settings['wall_reply_new'] = $status; - $settings['wall_reply_edit'] = $status; - $settings['wall_reply_delete'] = $status; - $settings['wall_reply_restore'] = $status; - $settings['wall_post_new'] = $status; - $settings['wall_repost'] = $status; - $settings['board_post_new'] = $status; - $settings['board_post_edit'] = $status; - $settings['board_post_restore'] = $status; - $settings['board_post_delete'] = $status; - $settings['photo_comment_new'] = $status; - $settings['photo_comment_edit'] = $status; - $settings['photo_comment_delete'] = $status; - $settings['photo_comment_restore'] = $status; - $settings['video_comment_new'] = $status; - $settings['video_comment_edit'] = $status; - $settings['video_comment_delete'] = $status; - $settings['video_comment_restore'] = $status; - $settings['market_comment_new'] = $status; - $settings['market_comment_edit'] = $status; - $settings['market_comment_delete'] = $status; - $settings['market_comment_restore'] = $status; - $settings['poll_vote_new'] = $status; - $settings['group_join'] = $status; - $settings['group_leave'] = $status; - $settings['group_change_settings'] = $status; - $settings['group_change_photo'] = $status; - $settings['group_officers_edit'] = $status; - $settings['user_block'] = $status; - $settings['user_unblock'] = $status; - $settings['like_add'] = $status; - $settings['like_remove'] = $status; - $settings['message_event'] = $status; + $this->robot->api['message_new'] = $status; + $this->robot->api['message_reply'] = $status; + $this->robot->api['message_allow'] = $status; + $this->robot->api['message_deny'] = $status; + $this->robot->api['message_edit'] = $status; + $this->robot->api['message_typing_state'] = $status; + $this->robot->api['photo_new'] = $status; + $this->robot->api['audio_new'] = $status; + $this->robot->api['video_new'] = $status; + $this->robot->api['wall_reply_new'] = $status; + $this->robot->api['wall_reply_edit'] = $status; + $this->robot->api['wall_reply_delete'] = $status; + $this->robot->api['wall_reply_restore'] = $status; + $this->robot->api['wall_post_new'] = $status; + $this->robot->api['wall_repost'] = $status; + $this->robot->api['board_post_new'] = $status; + $this->robot->api['board_post_edit'] = $status; + $this->robot->api['board_post_restore'] = $status; + $this->robot->api['board_post_delete'] = $status; + $this->robot->api['photo_comment_new'] = $status; + $this->robot->api['photo_comment_edit'] = $status; + $this->robot->api['photo_comment_delete'] = $status; + $this->robot->api['photo_comment_restore'] = $status; + $this->robot->api['video_comment_new'] = $status; + $this->robot->api['video_comment_edit'] = $status; + $this->robot->api['video_comment_delete'] = $status; + $this->robot->api['video_comment_restore'] = $status; + $this->robot->api['market_comment_new'] = $status; + $this->robot->api['market_comment_edit'] = $status; + $this->robot->api['market_comment_delete'] = $status; + $this->robot->api['market_comment_restore'] = $status; + $this->robot->api['poll_vote_new'] = $status; + $this->robot->api['group_join'] = $status; + $this->robot->api['group_leave'] = $status; + $this->robot->api['group_change_settings'] = $status; + $this->robot->api['group_change_photo'] = $status; + $this->robot->api['group_officers_edit'] = $status; + $this->robot->api['user_block'] = $status; + $this->robot->api['user_unblock'] = $status; + $this->robot->api['like_add'] = $status; + $this->robot->api['like_remove'] = $status; + $this->robot->api['message_event'] = $status; } } - return $this->robot->browser->request(method: 'POST', uri: 'groups.setLongPollSettings', options: $settings); + return $this->robot->browser->request(method: 'POST', uri: 'groups.setLongPollSettings', options: $this->robot->api['settings']); } /** * Получить события * - * $wait Время ожидания новых событий (в секундах) + * @param int $wait Время ожидания новых событий (в секундах) + * + * @return array */ public function get(int $wait = 25): array { if (empty($this->key) || empty($this->server) || empty($this->ts)) { // Если не инициализирован LongPoll-сервер + // Реиницилазиция + $this->robot->api->reinit(); + + // Инициализация настроек + $this->robot->api['group_id'] = $this->robot->id; + // Запрос на получение доступа и данных LongPoll-сервера $response = json_decode($this->robot->browser->request(method: 'POST', uri: 'groups.getLongPollServer', options: [ - 'form_params' => [ - 'group_id' => $this->robot->id, - 'v' => $this->robot->version, - 'access_token' => $this->robot->key - ], - + 'form_params' => $this->robot->api['settings'] ])->getBody()->getContents())->response; // Ключ доступа @@ -210,8 +222,10 @@ final class longpoll * * Получает и обрабатывает события * - * $function Обработка - * $wait Время ожидания новых событий (в секундах) + * @param callable $function Обработка + * @param int $wait Время ожидания новых событий (в секундах) + * + * @return array */ public function handle(callable $function, int $wait = 25): array { diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 3a588e3..9e9752e 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -9,7 +9,7 @@ use hood\vk\robots\robot; /** * Сообщение * - * public static function put(RobotAbstract $from, int $to, string $message, int $mode = 2) Отправить сообщение + * @method public static function put(RobotAbstract $from, int $to, string $message, int $mode = 2) Отправить сообщение * * @see https://vk.com/dev/messages.send * @see https://vk.com/dev/messages.getById @@ -22,7 +22,7 @@ use hood\vk\robots\robot; final class messages extends method { /** - * $mode Режим отправки + * @param int $mode Режим отправки */ protected int $mode = 1; @@ -31,10 +31,12 @@ final class messages extends method * * Если переданы все параметры, то сразу отправляет * - * $robot Робот - * $message Текст - * $destination Получатель - * $attachments Вложения + * @param robot $robot Робот + * @param string $message Текст + * @param int|string|array|null $destination Получатель + * @param array $attachments Вложения + * + * @return self */ public function __construct( protected robot $robot, @@ -49,7 +51,7 @@ final class messages extends method /** * Отправить сообщение * - * $destination Получатель + * @param int|string|array $destination Получатель * * @see https://vk.com/dev/messages.send * @@ -90,22 +92,21 @@ final class messages extends method if (!empty($forward_messages)) { // Если есть пересылаемые сообщения - $settings['forward_messages'] = implode(',', $forward_messages); + $this->robot->api['forward_messages'] = implode(',', $forward_messages); } //var_dump($attachments); if (!empty($this->attachments)) { // Если есть вложения //echo 'lol'; - $settings['attachment'] = implode(',', $this->attachments); - //var_dump($settings['attachment']); + $this->robot->api['attachment'] = implode(',', $this->attachments); } // Запрос - $request = $this->robot->browser->request(method: 'POST', uri: 'messages.send', options: ['form_params' => $settings]); + $request = $this->robot->browser->request(method: 'POST', uri: 'messages.send', options: ['form_params' => $this->robot->api['settings']]); // Очистка - unset($settings); + //unset($settings); if ($this->mode >= 2) { // Если установлен режим 2 (усиленная проверка отправленного сообщения) @@ -113,17 +114,14 @@ final class messages extends method if (!empty($request["response"])) { // Если пришел ID сообщения - // Ключ - $settings['access_token'] = $this->robot->key; - - // Версия API - $settings['v'] = $this->robot->version; + // Реиницилазиция + $this->robot->api->reinit(); // Запрашиваемые сообщения - $settings['message_ids'] = $request["response"]; + $this->robot->api['message_ids'] = $request["response"]; // Запрос - if ($this->robot->browser->post(uri: 'https://api.vk.com/method/messages.getById', options: $settings)['response']['count'] === 0) { + if ($this->robot->browser->post(uri: 'https://api.vk.com/method/messages.getById', options: $this->robot->api['settings'])['response']['count'] === 0) { // Если сообщения не существует, то повторить отправку $this->send($destination); } @@ -138,20 +136,22 @@ final class messages extends method /** * Получить информацию о сообщении * - * Информация о сообщении + * @return array Информация о сообщении */ public function info(): array { - $settings = $this->init(); + //Инициализация + //$settings = $this->init(); + $this->robot->api->init(); // Цель отправки - self::chooseDestination($settings, $this->destination); + $this->robot->api->chooseDestination($this->destination); // Сообщение - $settings['message'] = $this->message; + $this->robot->api['message'] = $this->message; // Режим отправки - $settings['mode'] = $this->mode; + $settings['mode'] = $this->mode; //!!!!!!!!!!!!!!!!!!!!!! // Фильтрация вложений $forward_messages = []; @@ -167,13 +167,13 @@ final class messages extends method if (!empty($forward_messages)) { // Если есть пересылаемые сообщения - $settings['forward_messages'] = implode(',', $forward_messages); + $this->robot->api['forward_messages'] = implode(',', $forward_messages); } if (!empty($attachments)) { // Если есть вложения - $settings['attachment'] = implode(',', $attachments); + $this->robot->api['attachment'] = implode(',', $this->attachments); } return $settings; diff --git a/hood/vk/system/api/methods/method.php b/hood/vk/system/api/methods/method.php index d2f5358..7caf90c 100644 --- a/hood/vk/system/api/methods/method.php +++ b/hood/vk/system/api/methods/method.php @@ -8,12 +8,12 @@ use hood\vk\robots\robot; /** * Абстракция метода API - * - * protected static put(string $url, ...$params) Создать - * protected static post(string $url, ...$params) Изменить - * protected static get(string $url, ...$params) Получить - * protected static delete(string $url, ...$params) Удалить - * + * + * @method protected static put(string $url, ...$params) Создать + * @method protected static post(string $url, ...$params) Изменить + * @method protected static get(string $url, ...$params) Получить + * @method protected static delete(string $url, ...$params) Удалить + * * @package hood\vk\api\methods * @author Arsen Mirzaev Tatyano-Muradovich */ @@ -21,8 +21,8 @@ abstract class method { /** * Создать - * - * Ответ сервера + * + * @return array Ответ сервера */ public static function put(): array { @@ -31,8 +31,8 @@ abstract class method /** * Изменить - * - * Ответ сервера + * + * @return array Ответ сервера */ public static function post(): array { @@ -41,8 +41,8 @@ abstract class method /** * Получить - * - * Ответ сервера + * + * @return array Ответ сервера */ public static function get(): array { @@ -51,8 +51,8 @@ abstract class method /** * Удалить - * - * Ответ сервера + * + * @return array Ответ сервера */ public static function delete(): array { diff --git a/hood/vk/system/api/methods/photos.php b/hood/vk/system/api/methods/photos.php index b88c258..a602178 100644 --- a/hood/vk/system/api/methods/photos.php +++ b/hood/vk/system/api/methods/photos.php @@ -14,7 +14,7 @@ use Exception; /** * Фотографии (изображения) * - * public static function put(RobotAbstract $from, int $to, string $message, int $mode = 2) Отправить сообщение + * @method public static function put(RobotAbstract $from, int $to, string $message, int $mode = 2) Отправить сообщение * * @see https://vk.com/dev/photos.getUploadServer * @see https://vk.com/dev/messages.getById @@ -34,12 +34,12 @@ final class photos extends method /** * Сохранить * - * $robot Робот - * $album_id Альбом - * $group_id Группа - * $caption Описание - * $latitude Географическая широта (-90, 90) - * $longitude Географическая долгота (-180, 180) + * @param robot $robot Робот + * @param int $album_id Альбом + * @param int|null $group_id Группа + * @param string|null $caption Описание + * @param float|null $latitude Географическая широта (-90, 90) + * @param float|null $longitude Географическая долгота (-180, 180) * * @see https://vk.com/dev/photos.save * @@ -103,6 +103,7 @@ final class photos extends method * Загрузить * * @param Type $var + * @return void */ public static function upload(string ...$images): void { @@ -122,9 +123,9 @@ final class photos extends method /** * Получить сервер для загрузки изображений * - * $robot Робот - * $album_id Альбом - * $group_id Группа + * @param robot $robot Робот + * @param int|null $album_id Альбом + * @param int|group|null $group_id Группа * * @see https://vk.com/dev/photos.getUploadServer * @@ -164,17 +165,17 @@ final class photos extends method /** * Получить альбомы * - * $robot Робот - * $album_ids = null Идентификаторы альбомов - * $offset = null Смещение для выборки подмножества - * $count = null Количество для возврата - * $need_system = null Активация возврата системных альбомов - * $need_covers = null Активация возврата поля с обложкой альбома - * $photo_sizes = null Активация специального формата размеров фотографий + * @param robot $robot Робот + * @param array $album_ids = null Идентификаторы альбомов + * @param int $offset = null Смещение для выборки подмножества + * @param int $count = null Количество для возврата + * @param bool $need_system = null Активация возврата системных альбомов + * @param bool $need_covers = null Активация возврата поля с обложкой альбома + * @param bool $photo_sizes = null Активация специального формата размеров фотографий * * @see https://vk.com/dev/photos.getUploadServer * - * Ответ сервера + * @return array Ответ сервера */ public static function getAlbums(robot $robot, array $album_ids = null, int $offset = null, int $count = null, bool $need_system = null, bool $need_covers = null, bool $photo_sizes = null): array { @@ -208,25 +209,27 @@ final class photos extends method } /** - * загрузить фото и получить его id - * - * $robot робот - * - * $img фото - */ + * загрузить фото и получить его id + * + * $robot робот + * + * $img фото + */ - public function sex(robot $robot, $img) + public function get_photo(robot $robot, $img) { + // Реиницилазиция + $this->robot->api->reinit(); + + // Инициализация настроек + $this->robot->api['group_id'] = $robot->id; + $this->robot->api['peer_id'] = 0; + if (!isset($this->url)) { // Получить адрес сервера для загрузки фотографии в личное сообщение $this->url = json_decode($robot->browser->request('POST', 'photos.getMessagesUploadServer', [ - 'form_params' => [ - 'group_id' => $robot->id, - 'v' => $robot->version, - 'access_token' => $robot->key, - 'peer_id' => 0 - ] + 'form_params' => $this->robot->api['settings'] ])->getBody()->getContents())->response->upload_url; } @@ -241,18 +244,18 @@ final class photos extends method ] ])->getBody()->getContents()); + $this->robot->api->reinit(); + $this->robot->api['group_id'] = $robot->id; + $this->robot->api['server'] = $response->server; + $this->robot->api['photo'] = $response->photo; + $this->robot->api['hash'] = $response->hash; + //сохранить $response = json_decode($robot->browser->request('POST', 'photos.saveMessagesPhoto', [ - 'form_params' => [ - 'group_id' => $robot->id, - 'v' => $robot->version, - 'access_token' => $robot->key, - 'server' => $response->server, - 'photo' => $response->photo, - 'hash' => $response->hash - ] + 'form_params' => $this->robot->api['settings'] ])->getBody()->getContents()); + //Ссылка на фото return 'photo' . $response->response[0]->owner_id . '_' . $response->response[0]->id; } -} \ No newline at end of file +} diff --git a/hood/vk/system/core.php b/hood/vk/system/core.php index 556f776..9a4c4c6 100644 --- a/hood/vk/system/core.php +++ b/hood/vk/system/core.php @@ -12,15 +12,15 @@ use hood\vk\loggers\jasmo, /** * Ядро * - * $robots Количество роботов - * $timezone Временная зона (журналирование) - * $path Пути (архитектура проекта) + * @property-read int $robots Количество роботов + * @property string $timezone Временная зона (журналирование) + * @property array $path Пути (архитектура проекта) * - * protected static function __construct() Инициализация - * public static function init() Запуск инициализации или получение инстанции - * public public function build() Сборщик - * public function set($id, $value) Запись в реестр - * public function get($id = null) Чтение из реестра + * @method protected static function __construct() Инициализация + * @method public static function init() Запуск инициализации или получение инстанции + * @method public public function build() Сборщик + * @method public function set($id, $value) Запись в реестр + * @method public function get($id = null) Чтение из реестра * * @package VK * @author Арсен Мирзаев @@ -29,13 +29,17 @@ final class core { use singleton; - /** + /** * Счётчик роботов + * + * @var int */ private int $robots = 0; /** * Реестр роботов + * + * @var array */ private array $registry = []; @@ -43,28 +47,38 @@ final class core * Временная зона * * Используется в логировании + * + * @var string */ private string $timezone; /** * Путь до корня проекта + * + * @var string */ private string $path_root; /** * Путь до папки журналов + * + * @var string */ private string $path_logs; /** * Путь до временной папки + * + * @var string */ private string $path_temp; /** * Журналист * - * $file Файл для журналирования + * @param string $file Файл для журналирования + * + * @return self * * @todo Добавить установку иного журналиста по спецификации PSR-3 * @todo Более гибкое журналирование @@ -80,10 +94,12 @@ final class core /** * Записать в реестр * - * $id Идентификатор - * $robot робот + * @param int $id + * @param robot $robot * * @see hood\vk\traits\registry Модификация метода + * + * @return void */ public function set(int $id, robot $robot): void { @@ -101,10 +117,12 @@ final class core * * Если не передать идентификатор, то вернёт все значения * - * $id Идентификатор - * $session Сессия + * @param int|null $id Идентификатор + * @param int|null $session Сессия * * @see hood\vk\traits\registry Модификация метода + * + * @return mixed */ public function get(int|null $id = null, int|null $session = null): mixed { @@ -122,10 +140,12 @@ final class core /** * Удалить из реестра * - * $id Идентификатор - * $session Сессия + * @param int|null $id Идентификатор + * @param int|null $session Сессия * * @see hood\vk\traits\registry Модификация метода + * + * @return void */ public function delete(int|null $id = null, int|null $session = null): void { @@ -168,8 +188,10 @@ final class core /** * Записать свойство * - * $name Название - * $value Значение + * @param mixed $name Название + * @param mixed $value Значение + * + * @return void */ public function __set(mixed $name, mixed $value): void { @@ -183,10 +205,10 @@ final class core /** * Прочитать свойство - * - * Значение по умолчанию, есле не задано * - * $name Название + * @param mixed $name Название + * + * @return mixed */ public function __get(mixed $name): mixed { @@ -206,8 +228,10 @@ final class core * Ищет класс описывающий робота, * создаёт и возвращает его объект * - * $method Метод - * $params Параметры + * @param string $method Метод + * @param array $params Параметры + * + * @return robot */ public function __call(string $method, array $params): robot { diff --git a/hood/vk/system/robots/group.php b/hood/vk/system/robots/group.php index db0d42b..b1ff823 100644 --- a/hood/vk/system/robots/group.php +++ b/hood/vk/system/robots/group.php @@ -13,29 +13,31 @@ use Throwable, /** * Робот-группа * - * $longpoll LongPoll-сессия + * @property longpoll $longpoll LongPoll-сессия * - * public function __set($name, $value) Запись свойства - * public function __get($name) Чтение свойства - * public function __isset($name) Проверка на инициализированность свойства + * @method public function __set($name, $value) Запись свойства + * @method public function __get($name) Чтение свойства + * @method public function __isset($name) Проверка на инициализированность свойства * - * hood\vk\robots - * Arsen Mirzaev Tatyano-Muradovich + * @package hood\vk\robots + * @author Arsen Mirzaev Tatyano-Muradovich */ final class group extends robot { /** - * $longpoll LongPoll-сессия + * @var longpoll $longpoll LongPoll-сессия */ protected longpoll $longpoll; /** * Запись свойства * - * $name Название - * $value Значение + * @param string $name Название + * @param mixed $value Значение * * @see hood\vk\robots\robot Наследуемый метод + * + * @return void */ public function __set(string $name, mixed $value): void { @@ -54,9 +56,11 @@ final class group extends robot /** * Чтение свойства * - * $name Название + * @param string $name Название * * @see hood\vk\robots\robot Наследуемый метод + * + * @return mixed */ public function __get(string $name): mixed { @@ -79,11 +83,11 @@ final class group extends robot /** * Проверка на инициализированность свойства * - * $name Название + * @param string $name Название * * @return mixed */ - public function __isset(string $name) + public function __isset(string $name): bool { try { return parent::__isset($name); diff --git a/hood/vk/system/robots/robot.php b/hood/vk/system/robots/robot.php index f966da4..7fff5f9 100644 --- a/hood/vk/system/robots/robot.php +++ b/hood/vk/system/robots/robot.php @@ -47,42 +47,37 @@ use hood\accounts\vk as account; abstract class robot { /** - * Идентификатор - */ - protected int $id; - - /** - * Сессия + * @var int Сессия */ protected int $session; /** - * Ключ + * @var string Ключ */ protected string $key; /** - * Аккаунт + * @var string Аккаунт */ private account $account; /** - * Прокси + * @var proxy Прокси */ protected proxy $proxy; /** - * Обработчик капчи + * @var captcha Обработчик капчи */ protected captcha $captcha; /** - * Режим отправки сообщений + * @var int Режим отправки сообщений */ protected int $messages_mode = 1; /** - * API ВКонтакте + * @var api API ВКонтакте */ protected api $api; @@ -91,10 +86,9 @@ abstract class robot * Конструктор * * @param int $id Идентификатор - * @param float $version Версия API */ public function __construct( - int|null $id = null + protected int|null $id = null, ) { // Инициализация ядра $core = core::init(); @@ -112,7 +106,9 @@ abstract class robot /** * Инициализация ключа * - * $key Ключ + * @param string $key Ключ + * + * @return self */ public function key(string $key): self { @@ -128,7 +124,9 @@ abstract class robot /** * Инициализация аккаунта * - * $account Аккаунт + * @param account $account Аккаунт + * + * @return self */ public function account(account $account): self { @@ -144,7 +142,9 @@ abstract class robot /** * Инициализация прокси * - * $proxy Прокси + * @param proxy $proxy Прокси + * + * @return self */ public function proxy(proxy $proxy): self { @@ -156,7 +156,9 @@ abstract class robot /** * Инициализация обработчика капчи * - * $captcha Обработчик капчи + * @param captcha $captcha Обработчик капчи + * + * @return self */ public function captcha(captcha $captcha): self { @@ -168,8 +170,10 @@ abstract class robot /** * Записать свойство * - * $name Название - * $value Значение + * @param string $name Название + * @param mixed $value Значение + * + * @return void */ public function __set(string $name, mixed $value): void { @@ -191,6 +195,8 @@ abstract class robot * Прочитать свойство * * @param string $name Название + * + * @return mixed */ public function __get(string $name): mixed { @@ -215,6 +221,8 @@ abstract class robot * Проверить свойство на инициализированность * * @param string $name Название + * + * @return mixed */ public function __isset(string $name): bool { @@ -238,8 +246,10 @@ abstract class robot * Ищет класс описывающий метод API ВКонтакте, * создаёт и возвращает его объект * - * $method Метод - * $params Параметры + * @param string $method Метод + * @param array $params Параметры + * + * @return method */ public function __call(string $method, array $params): method { @@ -257,8 +267,10 @@ abstract class robot * Ищет класс описывающий метод API ВКонтакте, * создаёт и возвращает его объект * - * $method Метод - * $params Параметры + * @param string $method Метод + * @param array $params Параметры + * + * @return method */ public static function __callStatic(string $method, array $params): method { @@ -271,6 +283,8 @@ abstract class robot /** * Конвертировать в строку + * + * @return string */ public function __toString(): string { diff --git a/hood/vk/system/traits/singleton.php b/hood/vk/system/traits/singleton.php index 90a3508..bcb92b2 100644 --- a/hood/vk/system/traits/singleton.php +++ b/hood/vk/system/traits/singleton.php @@ -27,6 +27,8 @@ trait singleton /** * Инициализация + * + * @return self */ public static function init(): self { From d4014a7e654395ebf02faf8c264e63248076b283 Mon Sep 17 00:00:00 2001 From: tarashyanskiy Date: Mon, 1 Mar 2021 23:28:18 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D1=81=D0=BE=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=D1=85,=20=D0=BF=D0=BE=D1=87?= =?UTF-8?q?=D0=B8=D0=BD=D0=B8=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= =?UTF-8?q?=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D0=B5/=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D1=8C=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8,=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= =?UTF-8?q?=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=B8=20=D1=84=D0=BE=D1=82=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hood/vk/system/api/api.php | 2 +- hood/vk/system/api/methods/messages.php | 90 +++++++++++++--- hood/vk/system/api/methods/photos.php | 13 +-- hood/vk/tests/api/methods/messagesTest.php | 88 ++++++++++++++++ hood/vk/tests/api/methods/photosTest.php | 116 +++++++++++++++++++++ hood/vk/tests/robots/groupTest.php | 20 +++- hood/vk/tests/robots/userTest.php | 10 +- 7 files changed, 310 insertions(+), 29 deletions(-) create mode 100644 hood/vk/tests/api/methods/photosTest.php diff --git a/hood/vk/system/api/api.php b/hood/vk/system/api/api.php index e5a612d..f67c78a 100644 --- a/hood/vk/system/api/api.php +++ b/hood/vk/system/api/api.php @@ -93,7 +93,7 @@ class api implements ArrayAccess * * @see hood\vk\api\methods\messages Сообщения */ - public function chooseDestination(string|array $destination): void + public function chooseDestination(string|array|int $destination): void { if (is_int($destination)) { // Идентификатор diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 9e9752e..1ef0742 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -4,6 +4,9 @@ declare(strict_types=1); namespace hood\vk\api\methods; +use Exception; + +use hood\accounts\vk; use hood\vk\robots\robot; /** @@ -26,26 +29,77 @@ final class messages extends method */ protected int $mode = 1; + /** + * @param int|string|array $destination Получатель + */ + protected int|string|array $destination; + + /** + * @param string|null $text Текст + */ + protected string|null $text = null; + + /** + * @param array $attachments Вложения + */ + protected array $attachments = []; + /** * Создать сообщение * - * Если переданы все параметры, то сразу отправляет - * * @param robot $robot Робот - * @param string $message Текст - * @param int|string|array|null $destination Получатель - * @param array $attachments Вложения - * - * @return self */ public function __construct( - protected robot $robot, - protected string $message, - protected int|string|array|null $destination = null, - protected array $attachments = [] + protected robot $robot ) { - // Отправка, если все параметры инициализированы - return $this->send($destination); + } + + /** + * Добавить текст + * + * @param string $text Текст + */ + public function text(string $text): self + { + if (!isset($this->text)) { + $this->text = $text; + } else { + $this->text .= $text; + } + + return $this; + } + + /** + * Добавить Фото + * + * @param $img Фото + */ + public function image($img): self + { + //загрузить фото + $id = $this->robot->photo()->get_photo($img); + + //добавить к вложениям + $this->add($id); + + return $this; + } + + /** + * Добавить вложения + * + * @param string|array $attachments Вложения + */ + public function add(string|array $attachments): self + { + if (is_array($attachments)) { + $this->attachments = array_merge($this->attachments, $attachments); + } else { + array_push($this->attachments, $attachments); + } + + return $this; } /** @@ -98,7 +152,6 @@ final class messages extends method //var_dump($attachments); if (!empty($this->attachments)) { // Если есть вложения - //echo 'lol'; $this->robot->api['attachment'] = implode(',', $this->attachments); } @@ -133,6 +186,15 @@ final class messages extends method return (array) $request; } + public function __get($name) + { + return match ($name) { + 'text' => $this->text ?? throw new Exception('Текст не задан'), + 'attachments' => !empty($this->attachments) ? $this->attachments : throw new Exception('Вложения не заданы'), + default => throw new Exception('Свойство не найдено: ' . $name) + }; + } + /** * Получить информацию о сообщении * diff --git a/hood/vk/system/api/methods/photos.php b/hood/vk/system/api/methods/photos.php index a602178..634bbf8 100644 --- a/hood/vk/system/api/methods/photos.php +++ b/hood/vk/system/api/methods/photos.php @@ -216,7 +216,7 @@ final class photos extends method * $img фото */ - public function get_photo(robot $robot, $img) + public function get_photo(robot $robot, $img) //Добавить проверку формата фото { // Реиницилазиция $this->robot->api->reinit(); @@ -225,13 +225,10 @@ final class photos extends method $this->robot->api['group_id'] = $robot->id; $this->robot->api['peer_id'] = 0; - if (!isset($this->url)) { - - // Получить адрес сервера для загрузки фотографии в личное сообщение - $this->url = json_decode($robot->browser->request('POST', 'photos.getMessagesUploadServer', [ - 'form_params' => $this->robot->api['settings'] - ])->getBody()->getContents())->response->upload_url; - } + // Получить адрес сервера для загрузки фотографии в личное сообщение + $this->url = json_decode($robot->browser->request('POST', 'photos.getMessagesUploadServer', [ + 'form_params' => $this->robot->api['settings'] + ])->getBody()->getContents())->response->upload_url; //загрузить $response = json_decode($robot->browser->request('POST', $this->url, [ diff --git a/hood/vk/tests/api/methods/messagesTest.php b/hood/vk/tests/api/methods/messagesTest.php index 285a292..fc8ccd7 100644 --- a/hood/vk/tests/api/methods/messagesTest.php +++ b/hood/vk/tests/api/methods/messagesTest.php @@ -113,4 +113,92 @@ final class messagesTest extends TestCase // Проверка $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); } + + /** + * @testdox Чтение текста + */ + public function testReadText(): void + { + $this->expectExceptionMessage('Текст не задан'); + + self::$robot->message()->text; + } + + /** + * @testdox Чтение вложений + */ + public function testReadAttachments(): void + { + $this->expectExceptionMessage('Вложения не заданы'); + + self::$robot->message()->attachments; + } + + + /** + * @testdox Добавление текста + */ + public function testWriteText() //: hood\vk\api\methods\messages + { + //self::$robot->key(self::$group_key); + return self::$robot->message()->text('text'); + } + + /** + * @testdox Повторное добавление текста + * + * @depends testWriteText + */ + public function testWriteTextWhenHeIsAlreadyWrited($messages) + { + $messages->text('text'); + + $this->assertSame('text' . 'text', $messages->text); + + return $messages; + } + + /** + * @testdox Добавление массива вложений + * + * @depends testWriteTextWhenHeIsAlreadyWrited + */ + public function testAddAttAttachments($messages) + { + return $messages->add(['text']); + } + + /** + * @testdox Повторное добавление текста вложения + * + * @depends testAddAttAttachments + */ + public function testAddAttachmentsWhenTheyIsAlreadyWrited($messages) + { + //временный код + $this->assertSame(['text', 'text'], $messages->add('text')->attachments); + + return $messages; + } + + /** + * @testdox Отправка сообщения + * + * @depends testAddAttachmentsWhenTheyIsAlreadyWrited + */ + //public function testSend($messages) + //{ + //Проверка выбрса исключения + //$this->expectExceptionMessage('Ключ не инициализирован'); + + //Отправка по идентификатору + //$messages->send(self::$peer_id); + + //Отправка по идентификаторам + //$messages->send(self::$peer_ids); + + //Отправка по домену + //$messages->send(self::$domain); + + //} } diff --git a/hood/vk/tests/api/methods/photosTest.php b/hood/vk/tests/api/methods/photosTest.php new file mode 100644 index 0000000..cc02f78 --- /dev/null +++ b/hood/vk/tests/api/methods/photosTest.php @@ -0,0 +1,116 @@ +ssl = self::$ssl ?? true; + + if (empty(self::$key)) { + // Если не указан ключ + + // Проверка входных данных + if (empty(self::$login)) { + self::$markTestSkipped('Не найден входной аккаунта'); + } else if (empty(self::$password)) { + self::$markTestSkipped('Не найден пароль аккаунта'); + } + + // Деаутентификация (на всякий случай) + self::$account->deauth(); + + // Аутентификация и генерация ключа + self::$key = self::$account->auth(self::$login, self::$password)->key(self::$project_id); + } + + $this->assertNotNull(self::$key, 'Ошибка при инициализации ключа аккаунта'); + } + + /** + * @testdox Деинициализация аккаунта + * @afterClass + */ + public static function testAccountDeinit(): void + { + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../../accounts'); + + // Деаутентификация + self::$account->deauth(); + } + + /** + * @testdox Инициализация робота + * @before + */ + public function testRobotGroupInit(): void + { + // Инициализация ядра + self::$core = core::init(); + + // Сохранение количества роботов + $count = self::$core->robots; + + // Инициализация робота + self::$robot = self::$core->group(empty(self::$group_id) ? rand(0, 10) : self::$group_id); + + // Проверка + $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); + } + + /** + * @testdox Деинициализация робота + * @after + */ + public function testRobotGroupDeinit(): void + { + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + } +} \ No newline at end of file diff --git a/hood/vk/tests/robots/groupTest.php b/hood/vk/tests/robots/groupTest.php index 5df4943..1eda3ea 100644 --- a/hood/vk/tests/robots/groupTest.php +++ b/hood/vk/tests/robots/groupTest.php @@ -225,6 +225,16 @@ final class groupTest extends TestCase $key = self::$robot->key; } + /** + * @testdox Чтение api + */ + public function testRobotGroupReadApi(): void + { + $this->expectExceptionMessage('Ключ не инициализирован'); + + $api = self::$robot->api; + } + /** * @testdox Запись версии API */ @@ -232,17 +242,21 @@ final class groupTest extends TestCase { // Проверка выброса исключения $this->expectExceptionMessage('Запрещено перезаписывать версию API'); + $this->expectExceptionMessage('Ключ не инициализирован'); // Запись версии - self::$robot->version = empty(self::$robot->version) ? rand(0, 10) : self::$robot->version; + self::$robot->api->version = empty(self::$robot->api->version) ? rand(0, 10) : self::$robot->api->version; } /** - * @testdox Чтение версии + * @testdox Чтение версии API */ public function testRobotGroupReadVersion(): void { + // Проверка выброса исключения + $this->expectExceptionMessage('Ключ не инициализирован'); + // Проверка - $this->assertNotNull(self::$robot->version, 'Не удалось прочитать версию'); + $this->assertNotNull(self::$robot->api->version, 'Не удалось прочитать версию'); } } diff --git a/hood/vk/tests/robots/userTest.php b/hood/vk/tests/robots/userTest.php index aed7b5f..af9a69e 100644 --- a/hood/vk/tests/robots/userTest.php +++ b/hood/vk/tests/robots/userTest.php @@ -232,17 +232,21 @@ final class userTest extends TestCase { // Проверка выброса исключения $this->expectExceptionMessage('Запрещено перезаписывать версию API'); + $this->expectExceptionMessage('Ключ не инициализирован'); // Запись версии - self::$robot->version = empty(self::$robot->version) ? rand(0, 10) : self::$robot->version; + self::$robot->api->version = empty(self::$robot->api->version) ? rand(0, 10) : self::$robot->api->version; } /** - * @testdox Чтение версии + * @testdox Чтение версии API */ public function testRobotGroupReadVersion(): void { + // Проверка выброса исключения + $this->expectExceptionMessage('Ключ не инициализирован'); + // Проверка - $this->assertNotNull(self::$robot->version, 'Не удалось прочитать версию'); + $this->assertNotNull(self::$robot->api->version, 'Не удалось прочитать версию'); } } From baba984df3073436cbbc6e036e376e5ca5e526f7 Mon Sep 17 00:00:00 2001 From: tarashyanskiy Date: Tue, 9 Mar 2021 20:46:34 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=D0=92=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F,=20=D1=82=D0=B5=D1=81=D1=82=D1=8B,=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hood/vk/system/api/api.php | 21 +- hood/vk/system/api/attachments.php | 75 +++++++ hood/vk/system/api/methods/messages.php | 134 ++++++++---- hood/vk/system/api/methods/photos.php | 51 +++-- hood/vk/system/robots/robot.php | 1 - hood/vk/tests/api/apiTest.php | 227 +++++++++++++++++++++ hood/vk/tests/api/attachmentsTest.php | 187 +++++++++++++++++ hood/vk/tests/api/methods/messagesTest.php | 119 +++++------ hood/vk/tests/api/methods/photosTest.php | 14 +- hood/vk/tests/robots/groupTest.php | 30 +-- hood/vk/tests/robots/userTest.php | 47 +---- 11 files changed, 712 insertions(+), 194 deletions(-) create mode 100644 hood/vk/system/api/attachments.php create mode 100644 hood/vk/tests/api/apiTest.php create mode 100644 hood/vk/tests/api/attachmentsTest.php diff --git a/hood/vk/system/api/api.php b/hood/vk/system/api/api.php index f67c78a..c4f14a6 100644 --- a/hood/vk/system/api/api.php +++ b/hood/vk/system/api/api.php @@ -62,8 +62,9 @@ class api implements ArrayAccess */ public function reinit(): array { - // Очистка - unset($this->settings); + // Реинициализация + //unset($this->settings); + $this->settings = []; try { $this->_init(); @@ -144,7 +145,9 @@ class api implements ArrayAccess */ public function offsetSet(mixed $offset, mixed $value): void { - if (isset($settings)) { + if ($offset == 'settings') { + !isset($this->settings) ? $this->settings = $value : throw new Exception('Запрещено перезаписывать настройки'); + } else if (isset($this->settings)) { $this->settings[$offset] = $value; } else { throw new Exception('Настройки не инициализированы'); @@ -156,7 +159,9 @@ class api implements ArrayAccess */ public function offsetGet(mixed $offset): mixed { - if (isset($settings)) { + if ($offset == 'settings' && isset($this->settings)) { + return $this->settings; + } else if (isset($this->settings)) { if (isset($this->settings[$offset])) { return $this->settings[$offset]; } else { @@ -172,7 +177,9 @@ class api implements ArrayAccess */ public function offsetExists(mixed $offset): bool { - if (isset($settings)) { + if ($offset == 'settings' && isset($this->settings)) { + return isset($this->settings); + } else if (isset($this->settings)) { return isset($this->settings[$offset]); } else { throw new Exception('Настройки не инициализированы'); @@ -184,7 +191,9 @@ class api implements ArrayAccess */ public function offsetUnset(mixed $offset): void { - if (isset($settings)) { + if ($offset == 'settings' && isset($this->settings)) { + unset($this->settings); + } else if (isset($this->settings)) { unset($this->settings[$offset]); } else { throw new Exception('Настройки не инициализированы'); diff --git a/hood/vk/system/api/attachments.php b/hood/vk/system/api/attachments.php new file mode 100644 index 0000000..566f1e7 --- /dev/null +++ b/hood/vk/system/api/attachments.php @@ -0,0 +1,75 @@ +attachments) + count($attachments) > 10) { + throw new Exception('Превышен лимит вложений (10)'); + } + + // Запись вложений + $this->attachments = array_merge($this->attachments, $attachments); + + return $this; + } + + /** + * Очистить вложения + */ + public function Clear(): self + { + // Очистка вложений + $this->attachments = []; + + return $this; + } + + /** + * Прочитать свойство + * + * @param string $name Название + * + * @return mixed + */ + public function __get(string $name): mixed + { + return match ($name) { + 'attachments' => $this->attachments, + default => throw new Exception('Свойство не найдено: ' . $name) + }; + } +} diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 1ef0742..69e37d0 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -8,6 +8,7 @@ use Exception; use hood\accounts\vk; use hood\vk\robots\robot; +use hood\vk\api\attachments; /** * Сообщение @@ -29,20 +30,20 @@ final class messages extends method */ protected int $mode = 1; - /** - * @param int|string|array $destination Получатель - */ - protected int|string|array $destination; - /** * @param string|null $text Текст */ protected string|null $text = null; /** - * @param array $attachments Вложения + * @var array Массив вложений */ - protected array $attachments = []; + protected array $attachments; + + /** + * @var attachments Вложения + */ + protected attachments $attachment; /** * Создать сообщение @@ -55,12 +56,15 @@ final class messages extends method } /** - * Добавить текст + * Записать текст * * @param string $text Текст + * + * @return self */ public function text(string $text): self { + // Записать текст if (!isset($this->text)) { $this->text = $text; } else { @@ -71,32 +75,47 @@ final class messages extends method } /** - * Добавить Фото + * Записать фото * * @param $img Фото + * + * @return self */ - public function image($img): self + public function image(...$imgs): self { - //загрузить фото - $id = $this->robot->photo()->get_photo($img); + // Перебор фото + foreach ($imgs as $img) { - //добавить к вложениям - $this->add($id); + // Загрузить фото + $id = $this->robot->photo->getPhoto($img); + + // Записать к вложениям + $this->attachment($id); + } return $this; } /** - * Добавить вложения + * Записать вложение * - * @param string|array $attachments Вложения + * @param $attachments Вложения */ - public function add(string|array $attachments): self + public function attachment(string ...$attachments): self { - if (is_array($attachments)) { - $this->attachments = array_merge($this->attachments, $attachments); + if (isset($this->attachment)) { + // Если вложения инициализированны + + // Записать вложение + $this->attachment->attachment(...$attachments); } else { - array_push($this->attachments, $attachments); + // Если вложения не инициализированны + + // Инициализация вложений + $this->attachment = new attachments($this->robot); + + // Записать вложение + $this->attachment->attachment(...$attachments); } return $this; @@ -125,35 +144,37 @@ final class messages extends method $this->robot->api->reinit(); // Цель отправки - $this->robot->api->chooseDestination($this->destination); + $this->robot->api->chooseDestination($destination); - // Сообщение - $this->robot->api['message'] = $this->message; + // Текст сообщения + $this->robot->api['message'] = $this->text; // Идентификатор сообщения $this->robot->api['random_id'] = $random_id; - // Фильтрация вложений - $forward_messages = []; - foreach ($this->attachments as &$attachment) { - //var_dump($attachment); - if (iconv_substr($attachment, 0, 7, "UTF-8") === 'message') { - // Если среди вложений найдено сообщение для пересылки - $forward_messages[] = $attachment; - unset($attachment); + // Фильтрация вложений, если они инициализированны + if (isset($this->attachments)) { + $forward_messages = []; + foreach ($this->attachments as &$attachment) { + if (iconv_substr($attachment, 0, 7, "UTF-8") === 'message') { + + // Если среди вложений найдено сообщение для пересылки + $forward_messages[] = $attachment; + unset($attachment); + } + } + + if (!empty($forward_messages)) { + // Если есть пересылаемые сообщения + $this->robot->api['forward_messages'] = implode(',', $forward_messages); + } + + if (!empty($this->attachments)) { + // Если есть вложения + $this->robot->api['attachment'] = implode(',', $this->attachments); } } - if (!empty($forward_messages)) { - // Если есть пересылаемые сообщения - $this->robot->api['forward_messages'] = implode(',', $forward_messages); - } - - //var_dump($attachments); - if (!empty($this->attachments)) { - // Если есть вложения - $this->robot->api['attachment'] = implode(',', $this->attachments); - } // Запрос $request = $this->robot->browser->request(method: 'POST', uri: 'messages.send', options: ['form_params' => $this->robot->api['settings']]); @@ -186,11 +207,36 @@ final class messages extends method return (array) $request; } - public function __get($name) + /** + * Записать свойство + * + * @param string $name Название + * @param mixed $value Значение + * + * @return void + */ + public function __set(string $name, mixed $value): void + { + match ($name) { + 'attachment' => !isset($this->attachments) ? $this->attachments = $value : throw new Exception('Запрещено перезаписывать вложения'), + 'attachments' => !isset($this->attachments) ? $this->attachments = $value : throw new Exception('Запрещено перезаписывать массив вложений'), + default => throw new Exception('Свойство не найдено: ' . $name) + }; + } + + /** + * Прочитать свойство + * + * @param string $name Название + * + * @return mixed + */ + public function __get(string $name): mixed { return match ($name) { 'text' => $this->text ?? throw new Exception('Текст не задан'), - 'attachments' => !empty($this->attachments) ? $this->attachments : throw new Exception('Вложения не заданы'), + 'attachment' => $this->attachment->attachments ?? $this->attachment = new attachments($this->robot), + 'attachments' => isset($this->attachment) ? $this->attachment->attachments : throw new Exception('Вложения не инициализированны'), default => throw new Exception('Свойство не найдено: ' . $name) }; } @@ -213,7 +259,7 @@ final class messages extends method $this->robot->api['message'] = $this->message; // Режим отправки - $settings['mode'] = $this->mode; //!!!!!!!!!!!!!!!!!!!!!! + $this->robot->api['mode'] = $this->mode; // Фильтрация вложений $forward_messages = []; diff --git a/hood/vk/system/api/methods/photos.php b/hood/vk/system/api/methods/photos.php index 634bbf8..c3e5cb1 100644 --- a/hood/vk/system/api/methods/photos.php +++ b/hood/vk/system/api/methods/photos.php @@ -31,6 +31,16 @@ final class photos extends method */ protected $url; + /** + * Создать сообщение + * + * @param robot $robot Робот + */ + public function __construct( + protected robot $robot + ) { + } + /** * Сохранить * @@ -209,29 +219,31 @@ final class photos extends method } /** - * загрузить фото и получить его id + * Загрузить фото и получить его id * * $robot робот * * $img фото */ - public function get_photo(robot $robot, $img) //Добавить проверку формата фото + public function getPhoto($img) { // Реиницилазиция $this->robot->api->reinit(); - // Инициализация настроек - $this->robot->api['group_id'] = $robot->id; + // Идентификатор группы + $this->robot->api['group_id'] = $this->robot->id; + + // Идентификатор назначения (0 Для ботов) $this->robot->api['peer_id'] = 0; // Получить адрес сервера для загрузки фотографии в личное сообщение - $this->url = json_decode($robot->browser->request('POST', 'photos.getMessagesUploadServer', [ + $url = json_decode($this->robot->browser->request('POST', 'photos.getMessagesUploadServer', [ 'form_params' => $this->robot->api['settings'] ])->getBody()->getContents())->response->upload_url; - //загрузить - $response = json_decode($robot->browser->request('POST', $this->url, [ + // Загрузить фото + $response = json_decode($this->robot->browser->request('POST', $url, [ 'multipart' => [ [ 'Content-type' => 'multipart/form-data', @@ -241,18 +253,33 @@ final class photos extends method ] ])->getBody()->getContents()); + + // Реинициализация $this->robot->api->reinit(); - $this->robot->api['group_id'] = $robot->id; + + // Идентификатор группы + $this->robot->api['group_id'] = $this->robot->id; + + + // Сервер $this->robot->api['server'] = $response->server; + + // Фото $this->robot->api['photo'] = $response->photo; + + // Хэш $this->robot->api['hash'] = $response->hash; - //сохранить - $response = json_decode($robot->browser->request('POST', 'photos.saveMessagesPhoto', [ + // Сохранить фото + $response = json_decode($this->robot->browser->request('POST', 'photos.saveMessagesPhoto', [ 'form_params' => $this->robot->api['settings'] ])->getBody()->getContents()); - //Ссылка на фото - return 'photo' . $response->response[0]->owner_id . '_' . $response->response[0]->id; + // Ссылка на фото + if (isset($response->response)) { + return 'photo' . $response->response[0]->owner_id . '_' . $response->response[0]->id; + } else { + throw new Exception('Фото не загружено'); + } } } diff --git a/hood/vk/system/robots/robot.php b/hood/vk/system/robots/robot.php index 7fff5f9..605b981 100644 --- a/hood/vk/system/robots/robot.php +++ b/hood/vk/system/robots/robot.php @@ -81,7 +81,6 @@ abstract class robot */ protected api $api; - /** * Конструктор * diff --git a/hood/vk/tests/api/apiTest.php b/hood/vk/tests/api/apiTest.php new file mode 100644 index 0000000..31d2c07 --- /dev/null +++ b/hood/vk/tests/api/apiTest.php @@ -0,0 +1,227 @@ +ssl = self::$ssl ?? true; + + if (empty(self::$key)) { + // Если не указан ключ + + // Проверка входных данных + if (empty(self::$login)) { + self::$markTestSkipped('Не найден входной аккаунта'); + } else if (empty(self::$password)) { + self::$markTestSkipped('Не найден пароль аккаунта'); + } + + // Деаутентификация (на всякий случай) + self::$account->deauth(); + + // Аутентификация и генерация ключа + self::$key = self::$account->auth(self::$login, self::$password)->key(self::$project_id); + } + + $this->assertNotNull(self::$key, 'Ошибка при инициализации ключа аккаунта'); + } + + /** + * @testdox Деинициализация аккаунта + * @afterClass + */ + public static function testAccountDeinit(): void + { + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../../accounts'); + + // Деаутентификация + self::$account->deauth(); + } + + /** + * @testdox Инициализация робота + * @before + */ + public function testRobotGroupInit(): void + { + // Инициализация ядра + self::$core = core::init(); + + // Сохранение количества роботов + $count = self::$core->robots; + + // Инициализация робота + self::$robot = self::$core->group(empty(self::$group_id) ? rand(0, 10) : self::$group_id); + + // Проверка + $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); + } + + /** + * @testdox Деинициализация робота + * @after + */ + public function testRobotGroupDeinit(): void + { + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + } + + /** + * @testdox Инициализация (безопасная) + */ + public function testInit(): void + { + // Безопасная инициализация + self::$robot->key(self::$group_key)->api->init(); + } + + /** + * @testdox Реинициализация + */ + public function testReinit(): void + { + // Реинициализация + self::$robot->key(self::$group_key)->api->reinit(); + } + + /** + * @testdox Запись робота (повторная) + */ + public function testWriteRobot(): void + { + // Проверка выброса исключения + $this->expectExceptionMessage('Запрещено перезаписывать робота'); + + // Повторная запись робота + self::$robot->key(self::$group_key)->api->robot = 'robot'; + } + + /** + * @tesetdox Чтение робота + */ + public function testReadRobot(): void + { + // Чтение робота + $this->assertNotNull(self::$robot->key(self::$group_key)->api->robot); + } + + /** + * @testdox Запись настроек + */ + public function testWriteSettings(): void + { + // Проверка выброса исключения + $this->expectExceptionMessage('Запрещено перезаписывать настройки'); + + // Запись настроек + self::$robot->key(self::$group_key)->api['settings'] = 'settings'; + } + + /** + * @testdox Чтение элемента настроек + */ + public function testReadSettingsElement(): void + { + // Проверка выброса исключения + $this->expectExceptionMessage('Не найдено: settings[\'element\']'); + + // Чтение элемента настроек + self::$robot->key(self::$group_key)->api['element']; + } + + /** + * @testdox Запись элемента настроек + */ + public function testWriteSettingsElement(): void + { + // Запись элемента настроек + self::$robot->key(self::$group_key)->api['element'] = 'element'; + + // Проверка + $this->assertNotNull(self::$robot->api['element']); + } + + /** + * @testdox Выбор получателя по идентификатору + */ + public function testchooseDestinationById(): void + { + // Выбор получателя по идентификатору + self::$robot->key(self::$group_key)->api->chooseDestination(12345); + + // Проверка + $this->assertNotNull(self::$robot->api['peer_id']); + } + + /** + * @testdox Выбор получателей по идентификаторам + */ + public function testchooseDestinationByIds(): void + { + // Выбор получателей по идентификаторам + self::$robot->key(self::$group_key)->api->chooseDestination([12345, 12345]); + + // Проверка + $this->assertNotNull(self::$robot->api['user_ids']); + } + + /** + * @testdox Выбор получателя по домену + */ + public function testchooseDestinationByDomain(): void + { + // Выбор получателя по домену + self::$robot->key(self::$group_key)->api->chooseDestination('domain'); + + // Проверка + $this->assertNotNull(self::$robot->api['domain']); + } +} diff --git a/hood/vk/tests/api/attachmentsTest.php b/hood/vk/tests/api/attachmentsTest.php new file mode 100644 index 0000000..63fb445 --- /dev/null +++ b/hood/vk/tests/api/attachmentsTest.php @@ -0,0 +1,187 @@ +ssl = self::$ssl ?? true; + + if (empty(self::$key)) { + // Если не указан ключ + + // Проверка входных данных + if (empty(self::$login)) { + self::$markTestSkipped('Не найден входной аккаунта'); + } else if (empty(self::$password)) { + self::$markTestSkipped('Не найден пароль аккаунта'); + } + + // Деаутентификация (на всякий случай) + self::$account->deauth(); + + // Аутентификация и генерация ключа + self::$key = self::$account->auth(self::$login, self::$password)->key(self::$project_id); + } + + $this->assertNotNull(self::$key, 'Ошибка при инициализации ключа аккаунта'); + } + + /** + * @testdox Деинициализация аккаунта + * @afterClass + */ + public static function testAccountDeinit(): void + { + // Инициализация аккаунта + self::$account = new account(empty(self::$id) ? rand(0, 10) : self::$id, __DIR__ . '../../../accounts'); + + // Деаутентификация + self::$account->deauth(); + } + + /** + * @testdox Инициализация робота + * @before + */ + public function testRobotGroupInit(): void + { + // Инициализация ядра + self::$core = core::init(); + + // Сохранение количества роботов + $count = self::$core->robots; + + // Инициализация робота + self::$robot = self::$core->group(empty(self::$group_id) ? rand(0, 10) : self::$group_id); + + // Проверка + $this->assertEquals(self::$core->robots, $count + 1, 'Ошибка при инициализации робота'); + } + + /** + * @testdox Деинициализация робота + * @after + */ + public function testRobotGroupDeinit(): void + { + // Очистка реестра + self::$core->delete(); + + // Проверка + $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); + } + + /** + * @testdox Инициализация вложений + * @before + */ + public function testAttachmentsInit(): void + { + if (isset(self::$robot)) { + self::$attachments = new Attachments(self::$robot); + } + } + + /** + * @testdox Чтение вложений + */ + public function testReadAttachments(): void + { + // Проверка + $this->assertNotNull(self::$attachments->attachments); + } + + /** + * @testdox Запись вложения + */ + public function testWriteAttachment(): void + { + // Запись вложения + self::$attachments->attachment('text'); + } + + /** + * @testdox Запись вложения (повторная) + */ + public function testWriteAttachmentWhenItIsAlreadyWrited(): void + { + //Запись вложения + self::$attachments->attachment('text'); + + // Повторная запись вложения + self::$attachments->attachment('text'); + + // Проверка + $this->assertSame(['text', 'text'], self::$attachments->attachments); + } + + /** + * @testdox Запись более 10 вложений + */ + public function testWriteAttachmentWhenLimitIsExceed() + { + // Проверка выброса исключения + $this->expectExceptionMessage('Превышен лимит вложений (10)'); + + //Запись вложений + self::$attachments->attachment('text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text', 'text'); + } + + /** + * @testdox Очистка вложений + */ + public function testClearAttachments(): void + { + // Очистка вложений + self::$attachments->clear(); + } +} diff --git a/hood/vk/tests/api/methods/messagesTest.php b/hood/vk/tests/api/methods/messagesTest.php index fc8ccd7..5fc7ad8 100644 --- a/hood/vk/tests/api/methods/messagesTest.php +++ b/hood/vk/tests/api/methods/messagesTest.php @@ -119,86 +119,89 @@ final class messagesTest extends TestCase */ public function testReadText(): void { + // Проверка выброса исключения $this->expectExceptionMessage('Текст не задан'); + // Чтение текста self::$robot->message()->text; } /** - * @testdox Чтение вложений + * @testdox Запись текста + */ + public function testWriteText(): void + { + // Запись текста + self::$robot->message()->text('text'); + } + + /** + * @testdox Запись текста (повторная) + */ + public function testWriteTextWhenHeIsAlreadyWrited(): void + { + // Запись текста + $message = self::$robot->message()->text('text'); + + // Повторная запись текста + $message->text('text'); + + // Проверка + $this->assertSame('texttext', $message->text); + } + + /** + * @testdox Запись фото + */ + public function testWriteImage(): void + { + // Запись фото + self::$robot->message()->text('img'); + } + + /** + * @testdox Чтение Вложений */ public function testReadAttachments(): void { - $this->expectExceptionMessage('Вложения не заданы'); + // Проверка выброса исключеия + $this->expectExceptionMessage('Вложения не инициализированны'); + // Проверка self::$robot->message()->attachments; } - /** - * @testdox Добавление текста + * @testdox Запись вложений */ - public function testWriteText() //: hood\vk\api\methods\messages + public function testWriteAttachments(): void { - //self::$robot->key(self::$group_key); - return self::$robot->message()->text('text'); - } - - /** - * @testdox Повторное добавление текста - * - * @depends testWriteText - */ - public function testWriteTextWhenHeIsAlreadyWrited($messages) - { - $messages->text('text'); - - $this->assertSame('text' . 'text', $messages->text); - - return $messages; - } - - /** - * @testdox Добавление массива вложений - * - * @depends testWriteTextWhenHeIsAlreadyWrited - */ - public function testAddAttAttachments($messages) - { - return $messages->add(['text']); - } - - /** - * @testdox Повторное добавление текста вложения - * - * @depends testAddAttAttachments - */ - public function testAddAttachmentsWhenTheyIsAlreadyWrited($messages) - { - //временный код - $this->assertSame(['text', 'text'], $messages->add('text')->attachments); - - return $messages; + // Запись вложений + self::$robot->message()->attachment('text'); } /** * @testdox Отправка сообщения - * - * @depends testAddAttachmentsWhenTheyIsAlreadyWrited */ - //public function testSend($messages) - //{ - //Проверка выбрса исключения - //$this->expectExceptionMessage('Ключ не инициализирован'); - - //Отправка по идентификатору - //$messages->send(self::$peer_id); + public function testSend(): void + { + // Отправка сообщения + self::$robot->key(self::$group_key)->message()->send('123'); + } - //Отправка по идентификаторам - //$messages->send(self::$peer_ids); + /** + * @testdox Отправка сообщеий (с вложениями) + */ + public function testSendWithAttachments(): void + { + // Запись вложений + $message = self::$robot->key(self::$group_key)->message()->attachment('text'); - //Отправка по домену - //$messages->send(self::$domain); + // Отправка сообщения + $message->send('123'); + } - //} + /** + * @t estdox Отправка сообщеий (с пересылаемым сообщением) + */ } diff --git a/hood/vk/tests/api/methods/photosTest.php b/hood/vk/tests/api/methods/photosTest.php index cc02f78..c7647d2 100644 --- a/hood/vk/tests/api/methods/photosTest.php +++ b/hood/vk/tests/api/methods/photosTest.php @@ -113,4 +113,16 @@ final class photosTest extends TestCase // Проверка $this->assertEmpty(self::$core->get(self::$robot->id), 'Ошибка при деинициализации робота'); } -} \ No newline at end of file + + /** + * @testdox Загрузка фото и получение его id + */ + public function testGetPhoto(): void + { + // Ожидаемое исключение (это временно) + $this->expectExceptionMessage('Фото не загружено'); + + // Проверка + self::$robot->key(self::$group_key)->photo()->getPhoto('img'); + } +} diff --git a/hood/vk/tests/robots/groupTest.php b/hood/vk/tests/robots/groupTest.php index 1eda3ea..91cb2ce 100644 --- a/hood/vk/tests/robots/groupTest.php +++ b/hood/vk/tests/robots/groupTest.php @@ -226,37 +226,11 @@ final class groupTest extends TestCase } /** - * @testdox Чтение api + * @testdox Чтение API */ public function testRobotGroupReadApi(): void { - $this->expectExceptionMessage('Ключ не инициализирован'); - - $api = self::$robot->api; - } - - /** - * @testdox Запись версии API - */ - public function testRobotGroupWriteVersion(): void - { - // Проверка выброса исключения - $this->expectExceptionMessage('Запрещено перезаписывать версию API'); - $this->expectExceptionMessage('Ключ не инициализирован'); - - // Запись версии - self::$robot->api->version = empty(self::$robot->api->version) ? rand(0, 10) : self::$robot->api->version; - } - - /** - * @testdox Чтение версии API - */ - public function testRobotGroupReadVersion(): void - { - // Проверка выброса исключения - $this->expectExceptionMessage('Ключ не инициализирован'); - // Проверка - $this->assertNotNull(self::$robot->api->version, 'Не удалось прочитать версию'); + $this->assertNotNull(self::$robot->key(self::$group_key)->api); } } diff --git a/hood/vk/tests/robots/userTest.php b/hood/vk/tests/robots/userTest.php index af9a69e..8201d27 100644 --- a/hood/vk/tests/robots/userTest.php +++ b/hood/vk/tests/robots/userTest.php @@ -201,52 +201,11 @@ final class userTest extends TestCase } /** - * @testdox Чтение ключа + * @testdox Чтение API */ - public function testRobotGroupReadKey(): void + public function testRobotGroupReadApi(): void { - // Запись ключа - self::$robot->key((string) (empty(self::$key) ? rand(0, 10) : self::$key)); - - // Проверки - $this->assertNotNull(self::$robot->key, 'Не удалось записать ключ пользователя'); - $this->assertNotNull(self::$robot->key, 'Не удалось прочитать ключ'); - } - - /** - * @testdox Чтение ключа, если он не инициализирован - */ - public function testRobotGroupReadKeyWhenHeIsNotInit(): void - { - // Проверка выброса исключения - $this->expectExceptionMessage('Ключ не инициализирован'); - - // Чтение ключа - $key = self::$robot->key; - } - - /** - * @testdox Запись версии API - */ - public function testRobotGroupWriteVersion(): void - { - // Проверка выброса исключения - $this->expectExceptionMessage('Запрещено перезаписывать версию API'); - $this->expectExceptionMessage('Ключ не инициализирован'); - - // Запись версии - self::$robot->api->version = empty(self::$robot->api->version) ? rand(0, 10) : self::$robot->api->version; - } - - /** - * @testdox Чтение версии API - */ - public function testRobotGroupReadVersion(): void - { - // Проверка выброса исключения - $this->expectExceptionMessage('Ключ не инициализирован'); - // Проверка - $this->assertNotNull(self::$robot->api->version, 'Не удалось прочитать версию'); + $this->assertNotNull(self::$robot->key(self::$group_key)->api); } } From 86eb541d66ed2e2e3422065734f09554a1500897 Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Wed, 10 Mar 2021 11:07:34 +1000 Subject: [PATCH 6/8] =?UTF-8?q?=D0=A3=D0=BD=D0=B8=D1=87=D1=82=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- hood/vk/system/api/methods/messages.php | 13 ++--- hood/vk/tests/.gitignore | 1 + hood/vk/tests/settings.php.example | 68 +++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 hood/vk/tests/.gitignore create mode 100644 hood/vk/tests/settings.php.example diff --git a/.gitignore b/.gitignore index 76cf2b9..1f75a27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ /logs /temp -/vendor -.env \ No newline at end of file +/vendor \ No newline at end of file diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 69e37d0..6830b10 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -57,9 +57,9 @@ final class messages extends method /** * Записать текст - * + * * @param string $text Текст - * + * * @return self */ public function text(string $text): self @@ -76,9 +76,9 @@ final class messages extends method /** * Записать фото - * + * * @param $img Фото - * + * * @return self */ public function image(...$imgs): self @@ -98,7 +98,7 @@ final class messages extends method /** * Записать вложение - * + * * @param $attachments Вложения */ public function attachment(string ...$attachments): self @@ -284,6 +284,7 @@ final class messages extends method $this->robot->api['attachment'] = implode(',', $this->attachments); } - return $settings; + // Что это? + return $settings ?? []; } } diff --git a/hood/vk/tests/.gitignore b/hood/vk/tests/.gitignore new file mode 100644 index 0000000..015d18c --- /dev/null +++ b/hood/vk/tests/.gitignore @@ -0,0 +1 @@ +./settings.php \ No newline at end of file diff --git a/hood/vk/tests/settings.php.example b/hood/vk/tests/settings.php.example new file mode 100644 index 0000000..c6d8e48 --- /dev/null +++ b/hood/vk/tests/settings.php.example @@ -0,0 +1,68 @@ + Date: Wed, 10 Mar 2021 11:07:47 +1000 Subject: [PATCH 7/8] =?UTF-8?q?=D0=A3=D0=BD=D0=B8=D1=87=D1=82=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hood/vk/system/api/methods/messages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hood/vk/system/api/methods/messages.php b/hood/vk/system/api/methods/messages.php index 6830b10..39be2b1 100644 --- a/hood/vk/system/api/methods/messages.php +++ b/hood/vk/system/api/methods/messages.php @@ -284,7 +284,7 @@ final class messages extends method $this->robot->api['attachment'] = implode(',', $this->attachments); } - // Что это? + /////////////////////////////////////////////////............................ Что это? return $settings ?? []; } } From 445b57f97f8b0dfdc42ae26c43a5bf5421a1898a Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Wed, 10 Mar 2021 11:18:18 +1000 Subject: [PATCH 8/8] =?UTF-8?q?=D0=A3=D0=BD=D0=B8=D1=87=D1=82=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hood/vk/tests/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hood/vk/tests/.gitignore b/hood/vk/tests/.gitignore index 015d18c..7a430cd 100644 --- a/hood/vk/tests/.gitignore +++ b/hood/vk/tests/.gitignore @@ -1 +1 @@ -./settings.php \ No newline at end of file +/settings.php \ No newline at end of file