diff --git a/.gitignore b/.gitignore index 4daae382023496e2a12c957fca3f95d695ff6bf6..930e1e21e27cc2916f9dd36aa9e577d0fb0b2ee0 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /public/assets/ /assets/vendor/ ###< symfony/asset-mapper ### +/.idea \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81b018ad684f3a35fee301741b2734c8f4..0000000000000000000000000000000000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/iqdevTranningProgram.iml b/.idea/iqdevTranningProgram.iml deleted file mode 100644 index 3f9338e239adc4167f513b6214b8a1dd04d9927f..0000000000000000000000000000000000000000 --- a/.idea/iqdevTranningProgram.iml +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="WEB_MODULE" version="4"> - <component name="NewModuleRootManager"> - <content url="file://$MODULE_DIR$"> - <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="App\" /> - <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="App\Tests\" /> - <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="App\" /> - <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="App\Tests\" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/composer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/deprecations" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/doctrine-migrations-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/migrations" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/orm" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/persistence" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/sql-formatter" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/egulias/email-validator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/masterminds/html5" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpstan/phpdoc-parser" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-invoker" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/cache" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/clock" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/event-dispatcher" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/link" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/cli-parser" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/complexity" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/lines-of-code" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/asset" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/asset-mapper" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/browser-kit" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/cache-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/clock" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/config" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dependency-injection" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/doctrine-bridge" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/doctrine-messenger" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dom-crawler" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dotenv" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/expression-language" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/flex" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/form" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/framework-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-client" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-client-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/intl" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mailer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/maker-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/messenger" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/monolog-bridge" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/monolog-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/notifier" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/options-resolver" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/password-hasher" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/phpunit-bridge" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-grapheme" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-icu" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php83" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-access" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/property-info" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/runtime" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-core" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-csrf" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/security-http" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/serializer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stimulus-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/stopwatch" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/string" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bridge" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/twig-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/ux-turbo" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/validator" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-exporter" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/web-link" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/web-profiler-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/twig/extra-bundle" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/twig/twig" /> - <excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" /> - </content> - <orderEntry type="inheritedJdk" /> - <orderEntry type="sourceFolder" forTests="false" /> - </component> -</module> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index aedf51d4705090b3af7b4d50da524da260b488fd..0000000000000000000000000000000000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="ProjectModuleManager"> - <modules> - <module fileurl="file://$PROJECT_DIR$/.idea/iqdevTranningProgram.iml" filepath="$PROJECT_DIR$/.idea/iqdevTranningProgram.iml" /> - </modules> - </component> -</project> \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml deleted file mode 100644 index af015eb983aef8e81d0a49d2e8a0f3d5d6d2013f..0000000000000000000000000000000000000000 --- a/.idea/php.xml +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="MessDetectorOptionsConfiguration"> - <option name="transferred" value="true" /> - </component> - <component name="PHPCSFixerOptionsConfiguration"> - <option name="transferred" value="true" /> - </component> - <component name="PHPCodeSnifferOptionsConfiguration"> - <option name="highlightLevel" value="WARNING" /> - <option name="transferred" value="true" /> - </component> - <component name="PhpIncludePathManager"> - <include_path> - <path value="$PROJECT_DIR$/vendor/symfony/serializer" /> - <path value="$PROJECT_DIR$/vendor/symfony/twig-bridge" /> - <path value="$PROJECT_DIR$/vendor/symfony/yaml" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" /> - <path value="$PROJECT_DIR$/vendor/symfony/process" /> - <path value="$PROJECT_DIR$/vendor/sebastian/type" /> - <path value="$PROJECT_DIR$/vendor/symfony/asset" /> - <path value="$PROJECT_DIR$/vendor/sebastian/diff" /> - <path value="$PROJECT_DIR$/vendor/symfony/dotenv" /> - <path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" /> - <path value="$PROJECT_DIR$/vendor/symfony/expression-language" /> - <path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" /> - <path value="$PROJECT_DIR$/vendor/sebastian/comparator" /> - <path value="$PROJECT_DIR$/vendor/sebastian/code-unit" /> - <path value="$PROJECT_DIR$/vendor/sebastian/exporter" /> - <path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" /> - <path value="$PROJECT_DIR$/vendor/sebastian/version" /> - <path value="$PROJECT_DIR$/vendor/sebastian/complexity" /> - <path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" /> - <path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" /> - <path value="$PROJECT_DIR$/vendor/sebastian/environment" /> - <path value="$PROJECT_DIR$/vendor/sebastian/global-state" /> - <path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" /> - <path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" /> - <path value="$PROJECT_DIR$/vendor/composer" /> - <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" /> - <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" /> - <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" /> - <path value="$PROJECT_DIR$/vendor/psr/clock" /> - <path value="$PROJECT_DIR$/vendor/psr/link" /> - <path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" /> - <path value="$PROJECT_DIR$/vendor/psr/cache" /> - <path value="$PROJECT_DIR$/vendor/psr/log" /> - <path value="$PROJECT_DIR$/vendor/theseer/tokenizer" /> - <path value="$PROJECT_DIR$/vendor/psr/container" /> - <path value="$PROJECT_DIR$/vendor/nikic/php-parser" /> - <path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" /> - <path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" /> - <path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" /> - <path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" /> - <path value="$PROJECT_DIR$/vendor/phpunit/phpunit" /> - <path value="$PROJECT_DIR$/vendor/phpunit/php-timer" /> - <path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" /> - <path value="$PROJECT_DIR$/vendor/doctrine/lexer" /> - <path value="$PROJECT_DIR$/vendor/doctrine/deprecations" /> - <path value="$PROJECT_DIR$/vendor/doctrine/event-manager" /> - <path value="$PROJECT_DIR$/vendor/doctrine/instantiator" /> - <path value="$PROJECT_DIR$/vendor/doctrine/dbal" /> - <path value="$PROJECT_DIR$/vendor/doctrine/cache" /> - <path value="$PROJECT_DIR$/vendor/doctrine/orm" /> - <path value="$PROJECT_DIR$/vendor/doctrine/doctrine-bundle" /> - <path value="$PROJECT_DIR$/vendor/doctrine/collections" /> - <path value="$PROJECT_DIR$/vendor/twig/twig" /> - <path value="$PROJECT_DIR$/vendor/doctrine/persistence" /> - <path value="$PROJECT_DIR$/vendor/twig/extra-bundle" /> - <path value="$PROJECT_DIR$/vendor/doctrine/sql-formatter" /> - <path value="$PROJECT_DIR$/vendor/doctrine/inflector" /> - <path value="$PROJECT_DIR$/vendor/doctrine/migrations" /> - <path value="$PROJECT_DIR$/vendor/doctrine/doctrine-migrations-bundle" /> - <path value="$PROJECT_DIR$/vendor/egulias/email-validator" /> - <path value="$PROJECT_DIR$/vendor/phar-io/version" /> - <path value="$PROJECT_DIR$/vendor/phar-io/manifest" /> - <path value="$PROJECT_DIR$/vendor/symfony/cache-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/clock" /> - <path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/runtime" /> - <path value="$PROJECT_DIR$/vendor/symfony/asset-mapper" /> - <path value="$PROJECT_DIR$/vendor/symfony/form" /> - <path value="$PROJECT_DIR$/vendor/symfony/cache" /> - <path value="$PROJECT_DIR$/vendor/symfony/monolog-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" /> - <path value="$PROJECT_DIR$/vendor/symfony/css-selector" /> - <path value="$PROJECT_DIR$/vendor/symfony/var-exporter" /> - <path value="$PROJECT_DIR$/vendor/symfony/security-core" /> - <path value="$PROJECT_DIR$/vendor/symfony/property-info" /> - <path value="$PROJECT_DIR$/vendor/symfony/property-access" /> - <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/password-hasher" /> - <path value="$PROJECT_DIR$/vendor/symfony/security-csrf" /> - <path value="$PROJECT_DIR$/vendor/symfony/stopwatch" /> - <path value="$PROJECT_DIR$/vendor/symfony/flex" /> - <path value="$PROJECT_DIR$/vendor/symfony/options-resolver" /> - <path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" /> - <path value="$PROJECT_DIR$/vendor/symfony/var-dumper" /> - <path value="$PROJECT_DIR$/vendor/symfony/http-foundation" /> - <path value="$PROJECT_DIR$/vendor/symfony/framework-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" /> - <path value="$PROJECT_DIR$/vendor/symfony/validator" /> - <path value="$PROJECT_DIR$/vendor/symfony/service-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/security-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/translation" /> - <path value="$PROJECT_DIR$/vendor/symfony/web-link" /> - <path value="$PROJECT_DIR$/vendor/symfony/stimulus-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/finder" /> - <path value="$PROJECT_DIR$/vendor/monolog/monolog" /> - <path value="$PROJECT_DIR$/vendor/symfony/intl" /> - <path value="$PROJECT_DIR$/vendor/symfony/routing" /> - <path value="$PROJECT_DIR$/vendor/symfony/http-client-contracts" /> - <path value="$PROJECT_DIR$/vendor/symfony/http-client" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php83" /> - <path value="$PROJECT_DIR$/vendor/symfony/monolog-bridge" /> - <path value="$PROJECT_DIR$/vendor/symfony/doctrine-bridge" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" /> - <path value="$PROJECT_DIR$/vendor/symfony/dependency-injection" /> - <path value="$PROJECT_DIR$/vendor/symfony/phpunit-bridge" /> - <path value="$PROJECT_DIR$/vendor/symfony/config" /> - <path value="$PROJECT_DIR$/vendor/symfony/mime" /> - <path value="$PROJECT_DIR$/vendor/symfony/mailer" /> - <path value="$PROJECT_DIR$/vendor/symfony/security-http" /> - <path value="$PROJECT_DIR$/vendor/symfony/debug-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/error-handler" /> - <path value="$PROJECT_DIR$/vendor/symfony/filesystem" /> - <path value="$PROJECT_DIR$/vendor/symfony/twig-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" /> - <path value="$PROJECT_DIR$/vendor/symfony/web-profiler-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/doctrine-messenger" /> - <path value="$PROJECT_DIR$/vendor/webmozart/assert" /> - <path value="$PROJECT_DIR$/vendor/symfony/maker-bundle" /> - <path value="$PROJECT_DIR$/vendor/symfony/console" /> - <path value="$PROJECT_DIR$/vendor/symfony/http-kernel" /> - <path value="$PROJECT_DIR$/vendor/symfony/browser-kit" /> - <path value="$PROJECT_DIR$/vendor/symfony/messenger" /> - <path value="$PROJECT_DIR$/vendor/symfony/notifier" /> - <path value="$PROJECT_DIR$/vendor/phpstan/phpdoc-parser" /> - <path value="$PROJECT_DIR$/vendor/symfony/ux-turbo" /> - <path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-icu" /> - <path value="$PROJECT_DIR$/vendor/symfony/string" /> - <path value="$PROJECT_DIR$/vendor/masterminds/html5" /> - </include_path> - </component> - <component name="PhpProjectSharedConfiguration" php_language_level="8.2" /> - <component name="PhpStanOptionsConfiguration"> - <option name="transferred" value="true" /> - </component> - <component name="PhpUnit"> - <phpunit_settings> - <PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml.dist" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" /> - </phpunit_settings> - </component> - <component name="PsalmOptionsConfiguration"> - <option name="transferred" value="true" /> - </component> -</project> \ No newline at end of file diff --git a/.idea/phpunit.xml b/.idea/phpunit.xml deleted file mode 100644 index 4f8104cfb166aed9afb9fa8317271ebd4f44e5cb..0000000000000000000000000000000000000000 --- a/.idea/phpunit.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="PHPUnit"> - <option name="directories"> - <list> - <option value="$PROJECT_DIR$/tests" /> - </list> - </option> - </component> -</project> \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/0/3/03141036569b5869397180192f8b98c1360e1556 b/.idea/sonarlint/issuestore/0/3/03141036569b5869397180192f8b98c1360e1556 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/3/8/38ac5fc300d52f94b369e87fbb1937abe29f831f b/.idea/sonarlint/issuestore/3/8/38ac5fc300d52f94b369e87fbb1937abe29f831f deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/5/8/58d82e459ad700473925afc6a4d3ceb1cbdfdf19 b/.idea/sonarlint/issuestore/5/8/58d82e459ad700473925afc6a4d3ceb1cbdfdf19 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/9/9/994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 b/.idea/sonarlint/issuestore/9/9/994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/a/d/ad8b439416d1e02614f47c5b471c7c4e587dca82 b/.idea/sonarlint/issuestore/a/d/ad8b439416d1e02614f47c5b471c7c4e587dca82 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/b/5/b5aea0f996f6645c77ef6ac38e15316374d0fba2 b/.idea/sonarlint/issuestore/b/5/b5aea0f996f6645c77ef6ac38e15316374d0fba2 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb deleted file mode 100644 index ab15ef320c285504b12afc42f95b15bb2a2a2155..0000000000000000000000000000000000000000 --- a/.idea/sonarlint/issuestore/index.pb +++ /dev/null @@ -1,15 +0,0 @@ - -Q -!src/Controller/HomeController.php,a\d\ad8b439416d1e02614f47c5b471c7c4e587dca82 -H -templates/home.html.twig,3\8\38ac5fc300d52f94b369e87fbb1937abe29f831f -V -&assets/controllers/hello_controller.js,b\5\b5aea0f996f6645c77ef6ac38e15316374d0fba2 -C -assets/bootstrap.js,0\3\03141036569b5869397180192f8b98c1360e1556 -E -assets/styles/app.css,5\8\58d82e459ad700473925afc6a4d3ceb1cbdfdf19 -E -public/files/text.txt,9\9\994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 -H -src/Action/Functions.php,4\3\43dcb35f966f0fa054ba7993783bf64ca2be218c \ No newline at end of file diff --git a/.idea/sonarlint/securityhotspotstore/0/3/03141036569b5869397180192f8b98c1360e1556 b/.idea/sonarlint/securityhotspotstore/0/3/03141036569b5869397180192f8b98c1360e1556 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/3/8/38ac5fc300d52f94b369e87fbb1937abe29f831f b/.idea/sonarlint/securityhotspotstore/3/8/38ac5fc300d52f94b369e87fbb1937abe29f831f deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/5/8/58d82e459ad700473925afc6a4d3ceb1cbdfdf19 b/.idea/sonarlint/securityhotspotstore/5/8/58d82e459ad700473925afc6a4d3ceb1cbdfdf19 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/9/9/994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 b/.idea/sonarlint/securityhotspotstore/9/9/994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/a/d/ad8b439416d1e02614f47c5b471c7c4e587dca82 b/.idea/sonarlint/securityhotspotstore/a/d/ad8b439416d1e02614f47c5b471c7c4e587dca82 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/b/5/b5aea0f996f6645c77ef6ac38e15316374d0fba2 b/.idea/sonarlint/securityhotspotstore/b/5/b5aea0f996f6645c77ef6ac38e15316374d0fba2 deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/.idea/sonarlint/securityhotspotstore/index.pb b/.idea/sonarlint/securityhotspotstore/index.pb deleted file mode 100644 index ab15ef320c285504b12afc42f95b15bb2a2a2155..0000000000000000000000000000000000000000 --- a/.idea/sonarlint/securityhotspotstore/index.pb +++ /dev/null @@ -1,15 +0,0 @@ - -Q -!src/Controller/HomeController.php,a\d\ad8b439416d1e02614f47c5b471c7c4e587dca82 -H -templates/home.html.twig,3\8\38ac5fc300d52f94b369e87fbb1937abe29f831f -V -&assets/controllers/hello_controller.js,b\5\b5aea0f996f6645c77ef6ac38e15316374d0fba2 -C -assets/bootstrap.js,0\3\03141036569b5869397180192f8b98c1360e1556 -E -assets/styles/app.css,5\8\58d82e459ad700473925afc6a4d3ceb1cbdfdf19 -E -public/files/text.txt,9\9\994b95f5d0e2f9641bf4e2c30422e6a0a6a105b5 -H -src/Action/Functions.php,4\3\43dcb35f966f0fa054ba7993783bf64ca2be218c \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 830674470f8052bb64c64a5b513f5df2815a70c1..0000000000000000000000000000000000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="VcsDirectoryMappings"> - <mapping directory="" vcs="Git" /> - <mapping directory="$PROJECT_DIR$" vcs="Git" /> - </component> -</project> \ No newline at end of file diff --git a/src/Action/Functions.php b/src/Action/Functions.php index 8e9fadc315fb744577ecec4cb077690a9ca37246..94445848f9987d90fe4f50ad956a9346a3b38408 100644 --- a/src/Action/Functions.php +++ b/src/Action/Functions.php @@ -4,11 +4,11 @@ declare(strict_types=1); namespace App\Action; -use DateTime; use DateTimeImmutable; +use DateTime; use DateInterval; -use Exception; use DatePeriod; +use Exception; class Functions { @@ -52,8 +52,8 @@ class Functions public function search(array $array, int $id): ?array { - $rowId = array_search($id, array_column($array, 'id'), true); - if ($rowId) { + $rowId = array_search($id, array_column($array, 'id'), false); + if ($rowId !== false) { return $array[$rowId]; } return null; @@ -71,13 +71,13 @@ class Functions } /** - * Выходной маÑÑив: - * Array ( - * [0] => Array([0] => laravel, [1] => php) - * [1] => Array([0] => codeigniter, [1] => php) - * [3] => Array([0] => c++, [1] => java)) - * ) - */ + * Выходной маÑÑив: + * Array ( + * [0] => Array([0] => laravel, [1] => php) + * [1] => Array([0] => codeigniter, [1] => php) + * [3] => Array([0] => c++, [1] => java)) + * ) + */ /** * Сгруппировать подразедлы в верхние разделы меню @@ -94,7 +94,7 @@ class Functions { $result = []; foreach ($aMenu as $arr) { - if ($arr['depth'] === 0) { + if ($arr['depth'] == 0) { $result[] = array( 'name' => $arr['name'], 'depth' => $arr['depth'], @@ -193,11 +193,11 @@ class Functions * проверÑет, что файл ÑущеÑтвует и выводит пользователю веÑÑŒ контент файла * (файл можешь Ñоздать любой) * @param string $filePath путь до файла - * @return void - * @throws Exception + * @return string + * @throws RuntimeException */ - public function readLogFile(string $filePath): void + public function readLogFile(string $filePath): string { if (file_exists($filePath)) { $text = ""; @@ -207,7 +207,7 @@ class Functions $text .= $line; } fclose($file); - print $text; + return $text; } else { throw new RuntimeException("File not found: $filePath"); @@ -235,5 +235,4 @@ class Functions throw new RuntimeException("File not found: $filePath"); } } -} - +} \ No newline at end of file diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 94b37f61f23f6a255256bfd200dff11ee8ff5b4c..f7a28c0669cafaf283089526ed8ecbc5ad460dd0 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -3,9 +3,12 @@ namespace App\Controller; use App\Action\Functions; +use App\Validation\{ArrayValidation, DateValidation}; +use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; -use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Attribute\Route; class HomeController extends AbstractController @@ -17,6 +20,101 @@ class HomeController extends AbstractController $this->functions = $functions; } + #[Route('/func1', name: 'home', methods: ['POST'])] + public function func1(Request $request): Response + { + $array = $request->get('arr'); + if (!ArrayValidation::validateFunc1($array)) { + return new Response("Invalid array"); + } + $array = $this->functions->sortPrice($array); + return $this->json($array); + } + + #[Route('/func2', name: 'func2', methods: ['POST'])] + public function func2(Request $request): Response + { + $id = $request->query->getInt('id'); + $array = $request->get('arr'); + if (!ArrayValidation::validateFunc2($array)) { + return new Response("Invalid array"); + } + $result = $this->functions->search($array, $id); + return $this->json($result); + } + + #[Route('/func3', name: 'func3', methods: ['POST'])] + public function home(Request $request): Response + { + $array = $request->get('arr'); + $result = $this->functions->uniqElements($array); + return $this->json($result); + } + + #[Route('/func4', name: 'func4', methods: ['POST'])] + public function func4(Request $request): Response + { + $array = $request->get('arr'); + if (!ArrayValidation::validateFunc4($array)) { + return new Response("Invalid array"); + } + $result = $this->functions->prepareMenu($array); + return $this->json($result); + } + + #[Route('/func5/{day}/{month}/{year}', name: 'func5')] + public function func5(int $day, int $month, int $year): Response + { + $dateAsString = $year . "-" . $month . "-" . $day; + try { + $result = $this->functions->howDaysToNy(new DateTimeImmutable($dateAsString)); + } catch (\Exception $e) { + return new Response($e->getMessage()); + } + return $this->json(["Days before NY:" => $result]); + } + + #[Route('/func6/{year}', name: 'func6', methods: ['GET'])] + public function func6(int $year): Response + { + $fridays = array(); + try { + foreach ($this->functions->countFriday13($year) as $date) { + $fridays[] = $date->format("Y-m-d l"); + } + } catch (\Exception $e) { + return new Response($e->getMessage()); + } + return $this->json($fridays); + } + + #[Route('/func7/{startDate}/{endDate}', name: 'func7')] // 01-01-2024 + public function func7(string $startDate, string $endDate): Response + { + if (DateValidation::validate($startDate) && DateValidation::validate($endDate)) { + try { + $result = $this->functions->diffDays( + new DateTimeImmutable($startDate), + new DateTimeImmutable($endDate) + ); + return $this->json(["The difference of days:" => $result]); + } catch (\Exception $e) { + return new Response($e->getMessage()); + } + } + return new Response("Invalid date format"); + } + + #[Route('/func8/{fileName}', name: 'func8')] + public function func8(string $fileName): Response // text.txt + { + $filePath = $this->getParameter('kernel.project_dir') . "/public/files/"; + $text = $this->functions->readLogFile($filePath . $fileName); + $response = new JsonResponse($text); + $response->setEncodingOptions(JSON_UNESCAPED_UNICODE); + return $response; + } + #[Route('/{fileName}', name: 'home')] public function home(string $fileName): Response // text.txt { diff --git a/src/Validation/ArrayValidation.php b/src/Validation/ArrayValidation.php new file mode 100644 index 0000000000000000000000000000000000000000..5807a447814593f64ecf069980c81099b8be861d --- /dev/null +++ b/src/Validation/ArrayValidation.php @@ -0,0 +1,26 @@ +<?php + +namespace App\Validation; + +class ArrayValidation +{ + public static function validateFunc1(array $array): bool + { + $prices = array_column($array, 'price'); + $counts = array_column($array, 'count'); + return ctype_digit(implode('',$prices)) && ctype_digit(implode('', $counts)); + } + + public static function validateFunc2(array $array): bool + { + $ids = array_column($array, 'id'); + $ages = array_column($array, 'age'); + return ctype_digit(implode('', $ids)) && ctype_digit(implode('', $ages)); + } + + public static function validateFunc4(array $array): bool + { + $depths = array_column($array, 'depth'); + return ctype_digit(implode('', $depths)); + } +} \ No newline at end of file diff --git a/src/Validation/DateValidation.php b/src/Validation/DateValidation.php new file mode 100644 index 0000000000000000000000000000000000000000..18046f84a0fef64f875f2f4c4a25c452d43df8c2 --- /dev/null +++ b/src/Validation/DateValidation.php @@ -0,0 +1,14 @@ +<?php + +namespace App\Validation; + +class DateValidation +{ + public static function validate(string $date): bool + { + if (strtotime($date)) { + return true; + } + return false; + } +} \ No newline at end of file