diff --git a/composer.json b/composer.json index 9056d14..1aef02a 100755 --- a/composer.json +++ b/composer.json @@ -25,12 +25,14 @@ }, "require": { "php": "^8.5", + "ext-blake3": "^0.1", "mirzaev/minimal": "^3.8", "mirzaev/baza": "^3.4", "mirzaev/languages": "^1", "twig/twig": "^3.2", "twig/extra-bundle": "^3.7", - "twig/intl-extra": "^3.10" + "twig/intl-extra": "^3.10", + "phpmailer/phpmailer": "^7.0" }, "suggest": { "mirzaev/files": "Easy working with files", diff --git a/composer.lock b/composer.lock index fc602a4..d8892b3 100755 --- a/composer.lock +++ b/composer.lock @@ -4,15 +4,15 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5a3789a391b9b93096b767710b16c6d1", + "content-hash": "7f073bad5c03fc54b0098f63afbc0cd9", "packages": [ { "name": "mirzaev/baza", - "version": "3.4.1", + "version": "3.4.3", "source": { "type": "git", "url": "https://git.svoboda.works/mirzaev/baza", - "reference": "22fe7f894fb78d16b3c0394e2f0555b1905252e4" + "reference": "90948b633fb5e2ed5cde3047939d4fe2ad396088" }, "require": { "php": "^8.4" @@ -50,7 +50,7 @@ "issues": "https://git.svoboda.works/mirzaev/baza/issues", "wiki": "https://git.svoboda.works/mirzaev/baza/wiki" }, - "time": "2025-11-03T19:10:57+00:00" + "time": "2026-03-09T04:18:05+00:00" }, { "name": "mirzaev/languages", @@ -93,13 +93,14 @@ }, { "name": "mirzaev/minimal", - "version": "3.8.7", + "version": "3.10.3", "source": { "type": "git", "url": "https://git.svoboda.works/mirzaev/minimal", - "reference": "393f37577d0f5cf9b2931f15b68bf8d42e5b3563" + "reference": "ec370baa4554ee20dfc1468272e363bc6afae066" }, "require": { + "mobiledetect/mobiledetectlib": "^4.8", "php": "~8.4" }, "suggest": { @@ -138,7 +139,153 @@ "docs": "https://git.svoboda.works/mirzaev/minimal/wiki", "issues": "https://git.svoboda.works/mirzaev/minimal/issues" }, - "time": "2025-12-02T15:58:04+00:00" + "time": "2026-04-17T06:08:04+00:00" + }, + { + "name": "mobiledetect/mobiledetectlib", + "version": "4.8.10", + "source": { + "type": "git", + "url": "https://github.com/serbanghita/Mobile-Detect.git", + "reference": "96b1e1fa9a968de7660a031106ab529f659d0192" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/96b1e1fa9a968de7660a031106ab529f659d0192", + "reference": "96b1e1fa9a968de7660a031106ab529f659d0192", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "psr/simple-cache": "^3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v3.75.0", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^2.1.11", + "phpunit/phpunit": "^9.6.22", + "squizlabs/php_codesniffer": "^3.12.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Detection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Serban Ghita", + "email": "serbanghita@gmail.com", + "homepage": "http://mobiledetect.net", + "role": "Developer" + } + ], + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.", + "homepage": "https://github.com/serbanghita/Mobile-Detect", + "keywords": [ + "detect mobile devices", + "mobile", + "mobile detect", + "mobile detector", + "php mobile detect" + ], + "support": { + "issues": "https://github.com/serbanghita/Mobile-Detect/issues", + "source": "https://github.com/serbanghita/Mobile-Detect/tree/4.8.10" + }, + "funding": [ + { + "url": "https://github.com/serbanghita", + "type": "github" + } + ], + "time": "2026-01-09T16:21:59+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v7.0.2", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "ebf1655bd5b99b3f97e1a3ec0a69e5f4cd7ea088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/ebf1655bd5b99b3f97e1a3ec0a69e5f4cd7ea088", + "reference": "ebf1655bd5b99b3f97e1a3ec0a69e5f4cd7ea088", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^10.0.0@dev", + "squizlabs/php_codesniffer": "^3.13.5", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example", + "ext-imap": "Needed to support advanced email address parsing according to RFC822", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v7.0.2" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2026-01-09T18:02:33+00:00" }, { "name": "psr/cache", @@ -343,17 +490,68 @@ "time": "2024-09-11T13:17:53+00:00" }, { - "name": "symfony/cache", - "version": "v8.0.1", + "name": "psr/simple-cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "0e67dc8145810d4e1c0d13c0e1d29ceb930b1c8e" + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/0e67dc8145810d4e1c0d13c0e1d29ceb930b1c8e", - "reference": "0e67dc8145810d4e1c0d13c0e1d29ceb930b1c8e", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "symfony/cache", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78", + "reference": "8abf3ccbeae9d3071b81a3ae7ee11b209f9e1e78", "shasum": "" }, "require": { @@ -420,7 +618,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v8.0.1" + "source": "https://github.com/symfony/cache/tree/v8.0.8" }, "funding": [ { @@ -440,7 +638,7 @@ "type": "tidelift" } ], - "time": "2025-12-04T18:17:06+00:00" + "time": "2026-03-30T15:18:51+00:00" }, { "name": "symfony/cache-contracts", @@ -520,16 +718,16 @@ }, { "name": "symfony/config", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "a5a054e613da565d46183a845ae4c0c996a3fbce" + "reference": "c7369cc1da250fcbfe0c5a9d109e419661549c39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/a5a054e613da565d46183a845ae4c0c996a3fbce", - "reference": "a5a054e613da565d46183a845ae4c0c996a3fbce", + "url": "https://api.github.com/repos/symfony/config/zipball/c7369cc1da250fcbfe0c5a9d109e419661549c39", + "reference": "c7369cc1da250fcbfe0c5a9d109e419661549c39", "shasum": "" }, "require": { @@ -574,7 +772,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v8.0.1" + "source": "https://github.com/symfony/config/tree/v8.0.8" }, "funding": [ { @@ -594,20 +792,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T14:08:45+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/dependency-injection", - "version": "v8.0.2", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "90f6c3364b8f444f85bdb6939664c80af9e0d576" + "reference": "3ce58b0fa844dc647ca1d66ea34748af985728c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/90f6c3364b8f444f85bdb6939664c80af9e0d576", - "reference": "90f6c3364b8f444f85bdb6939664c80af9e0d576", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3ce58b0fa844dc647ca1d66ea34748af985728c5", + "reference": "3ce58b0fa844dc647ca1d66ea34748af985728c5", "shasum": "" }, "require": { @@ -655,7 +853,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v8.0.2" + "source": "https://github.com/symfony/dependency-injection/tree/v8.0.8" }, "funding": [ { @@ -675,7 +873,7 @@ "type": "tidelift" } ], - "time": "2025-12-08T06:57:48+00:00" + "time": "2026-03-31T07:15:36+00:00" }, { "name": "symfony/deprecation-contracts", @@ -746,16 +944,16 @@ }, { "name": "symfony/error-handler", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "d77ec7dda0c274178745d152e82baf7ea827fd73" + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/d77ec7dda0c274178745d152e82baf7ea827fd73", - "reference": "d77ec7dda0c274178745d152e82baf7ea827fd73", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", "shasum": "" }, "require": { @@ -803,7 +1001,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v8.0.0" + "source": "https://github.com/symfony/error-handler/tree/v8.0.8" }, "funding": [ { @@ -823,20 +1021,20 @@ "type": "tidelift" } ], - "time": "2025-11-05T14:36:47+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "573f95783a2ec6e38752979db139f09fec033f03" + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/573f95783a2ec6e38752979db139f09fec033f03", - "reference": "573f95783a2ec6e38752979db139f09fec033f03", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6", + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6", "shasum": "" }, "require": { @@ -888,7 +1086,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8" }, "funding": [ { @@ -908,7 +1106,7 @@ "type": "tidelift" } ], - "time": "2025-10-30T14:17:19+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -988,16 +1186,16 @@ }, { "name": "symfony/filesystem", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "d937d400b980523dc9ee946bb69972b5e619058d" + "reference": "66b769ae743ce2d13e435528fbef4af03d623e5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/d937d400b980523dc9ee946bb69972b5e619058d", - "reference": "d937d400b980523dc9ee946bb69972b5e619058d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/66b769ae743ce2d13e435528fbef4af03d623e5a", + "reference": "66b769ae743ce2d13e435528fbef4af03d623e5a", "shasum": "" }, "require": { @@ -1034,7 +1232,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v8.0.1" + "source": "https://github.com/symfony/filesystem/tree/v8.0.8" }, "funding": [ { @@ -1054,20 +1252,20 @@ "type": "tidelift" } ], - "time": "2025-12-01T09:13:36+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/finder", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291" + "reference": "8da41214757b87d97f181e3d14a4179286151007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7598dd5770580fa3517ec83e8da0c9b9e01f4291", - "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291", + "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", + "reference": "8da41214757b87d97f181e3d14a4179286151007", "shasum": "" }, "require": { @@ -1102,7 +1300,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v8.0.0" + "source": "https://github.com/symfony/finder/tree/v8.0.8" }, "funding": [ { @@ -1122,20 +1320,20 @@ "type": "tidelift" } ], - "time": "2025-11-05T14:36:47+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/framework-bundle", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "194b5edd7a00703aaf836b56bbf079cd6c4d4a87" + "reference": "ce3ee5db0a9c1b6c52f5e3ba16b63a677b18b7df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/194b5edd7a00703aaf836b56bbf079cd6c4d4a87", - "reference": "194b5edd7a00703aaf836b56bbf079cd6c4d4a87", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ce3ee5db0a9c1b6c52f5e3ba16b63a677b18b7df", + "reference": "ce3ee5db0a9c1b6c52f5e3ba16b63a677b18b7df", "shasum": "" }, "require": { @@ -1143,8 +1341,8 @@ "ext-xml": "*", "php": ">=8.4", "symfony/cache": "^7.4|^8.0", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", + "symfony/config": "^7.4.4|^8.0.4", + "symfony/dependency-injection": "^7.4.4|^8.0.4", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^7.4|^8.0", "symfony/event-dispatcher": "^7.4|^8.0", @@ -1158,8 +1356,8 @@ }, "conflict": { "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", "symfony/console": "<7.4", "symfony/form": "<7.4", "symfony/json-streamer": "<7.4", @@ -1173,7 +1371,7 @@ "require-dev": { "doctrine/persistence": "^1.3|^2|^3", "dragonmantank/cron-expression": "^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", "phpstan/phpdoc-parser": "^1.0|^2.0", "seld/jsonlint": "^1.10", "symfony/asset": "^7.4|^8.0", @@ -1242,7 +1440,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v8.0.1" + "source": "https://github.com/symfony/framework-bundle/tree/v8.0.8" }, "funding": [ { @@ -1262,20 +1460,20 @@ "type": "tidelift" } ], - "time": "2025-12-06T16:55:34+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/http-foundation", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "3690740e2e8b19d877f20d4f10b7a489cddf0fe2" + "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3690740e2e8b19d877f20d4f10b7a489cddf0fe2", - "reference": "3690740e2e8b19d877f20d4f10b7a489cddf0fe2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/02656f7ebeae5c155d659e946f6b3a33df24051b", + "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b", "shasum": "" }, "require": { @@ -1322,7 +1520,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v8.0.1" + "source": "https://github.com/symfony/http-foundation/tree/v8.0.8" }, "funding": [ { @@ -1342,20 +1540,20 @@ "type": "tidelift" } ], - "time": "2025-12-07T11:23:24+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/http-kernel", - "version": "v8.0.2", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "bcef77a3c8ae8934ce7067172e2a1a6491a62a7d" + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/bcef77a3c8ae8934ce7067172e2a1a6491a62a7d", - "reference": "bcef77a3c8ae8934ce7067172e2a1a6491a62a7d", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628", + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628", "shasum": "" }, "require": { @@ -1426,7 +1624,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v8.0.2" + "source": "https://github.com/symfony/http-kernel/tree/v8.0.8" }, "funding": [ { @@ -1446,20 +1644,20 @@ "type": "tidelift" } ], - "time": "2025-12-08T07:59:34+00:00" + "time": "2026-03-31T21:14:05+00:00" }, { "name": "symfony/intl", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "f9eca217ae8f2be0b3ad80723d6a3b518b90cd66" + "reference": "604a1dbbd67471e885e93274379cadd80dc33535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/f9eca217ae8f2be0b3ad80723d6a3b518b90cd66", - "reference": "f9eca217ae8f2be0b3ad80723d6a3b518b90cd66", + "url": "https://api.github.com/repos/symfony/intl/zipball/604a1dbbd67471e885e93274379cadd80dc33535", + "reference": "604a1dbbd67471e885e93274379cadd80dc33535", "shasum": "" }, "require": { @@ -1515,7 +1713,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v8.0.1" + "source": "https://github.com/symfony/intl/tree/v8.0.8" }, "funding": [ { @@ -1535,20 +1733,20 @@ "type": "tidelift" } ], - "time": "2025-12-01T09:13:36+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "version": "v1.36.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", "shasum": "" }, "require": { @@ -1598,7 +1796,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.36.0" }, "funding": [ { @@ -1618,20 +1816,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.36.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", "shasum": "" }, "require": { @@ -1683,7 +1881,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.36.0" }, "funding": [ { @@ -1703,20 +1901,20 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2026-04-10T17:25:58+00:00" }, { "name": "symfony/polyfill-php85", - "version": "v1.33.0", + "version": "v1.36.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php85.git", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + "reference": "2c408a6bb0313e6001a83628dc5506100474254e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/2c408a6bb0313e6001a83628dc5506100474254e", + "reference": "2c408a6bb0313e6001a83628dc5506100474254e", "shasum": "" }, "require": { @@ -1763,7 +1961,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php85/tree/v1.36.0" }, "funding": [ { @@ -1783,20 +1981,20 @@ "type": "tidelift" } ], - "time": "2025-06-23T16:12:55+00:00" + "time": "2026-04-10T16:50:15+00:00" }, { "name": "symfony/routing", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "bc8fa314a61fb7c4190e964b18a5bd000d3b45ce" + "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/bc8fa314a61fb7c4190e964b18a5bd000d3b45ce", - "reference": "bc8fa314a61fb7c4190e964b18a5bd000d3b45ce", + "url": "https://api.github.com/repos/symfony/routing/zipball/0de330ec2ea922a7b08ec45615bd51179de7fda4", + "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4", "shasum": "" }, "require": { @@ -1843,7 +2041,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v8.0.1" + "source": "https://github.com/symfony/routing/tree/v8.0.8" }, "funding": [ { @@ -1863,7 +2061,7 @@ "type": "tidelift" } ], - "time": "2025-12-01T09:13:36+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/service-contracts", @@ -2036,16 +2234,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v8.0.1", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "a5d2d4fdd63a0c96fe9dd28e7c3cf21512689f7b" + "reference": "a892d0b7f3d5d51b35895467e48aafbd1f2612a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/a5d2d4fdd63a0c96fe9dd28e7c3cf21512689f7b", - "reference": "a5d2d4fdd63a0c96fe9dd28e7c3cf21512689f7b", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/a892d0b7f3d5d51b35895467e48aafbd1f2612a0", + "reference": "a892d0b7f3d5d51b35895467e48aafbd1f2612a0", "shasum": "" }, "require": { @@ -2054,13 +2252,15 @@ "twig/twig": "^3.21" }, "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0" + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/form": "<7.4.4|>8.0,<8.0.4", + "symfony/mime": "<7.4.8|>8.0,<8.0.8" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3|^4", "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", "symfony/asset": "^7.4|^8.0", "symfony/asset-mapper": "^7.4|^8.0", "symfony/console": "^7.4|^8.0", @@ -2068,12 +2268,12 @@ "symfony/emoji": "^7.4|^8.0", "symfony/expression-language": "^7.4|^8.0", "symfony/finder": "^7.4|^8.0", - "symfony/form": "^7.4.1|^8.0.1", + "symfony/form": "^7.4.4|^8.0.4", "symfony/html-sanitizer": "^7.4|^8.0", "symfony/http-foundation": "^7.4|^8.0", "symfony/http-kernel": "^7.4|^8.0", "symfony/intl": "^7.4|^8.0", - "symfony/mime": "^7.4|^8.0", + "symfony/mime": "^7.4.8|^8.0.8", "symfony/polyfill-intl-icu": "^1.0", "symfony/property-info": "^7.4|^8.0", "symfony/routing": "^7.4|^8.0", @@ -2118,7 +2318,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v8.0.1" + "source": "https://github.com/symfony/twig-bridge/tree/v8.0.8" }, "funding": [ { @@ -2138,20 +2338,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T14:08:45+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/twig-bundle", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "4505b860fb07951521ae55eec43007eef67222a5" + "reference": "f83767b78e2580ca9fe9a2cf6fcff19cd5389bc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/4505b860fb07951521ae55eec43007eef67222a5", - "reference": "4505b860fb07951521ae55eec43007eef67222a5", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/f83767b78e2580ca9fe9a2cf6fcff19cd5389bc1", + "reference": "f83767b78e2580ca9fe9a2cf6fcff19cd5389bc1", "shasum": "" }, "require": { @@ -2202,7 +2402,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v8.0.0" + "source": "https://github.com/symfony/twig-bundle/tree/v8.0.8" }, "funding": [ { @@ -2222,20 +2422,20 @@ "type": "tidelift" } ], - "time": "2025-10-07T12:38:08+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/var-dumper", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "d2a2476c93b58ac5292145e9fac1ff76a21d1ce2" + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d2a2476c93b58ac5292145e9fac1ff76a21d1ce2", - "reference": "d2a2476c93b58ac5292145e9fac1ff76a21d1ce2", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", "shasum": "" }, "require": { @@ -2289,7 +2489,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v8.0.0" + "source": "https://github.com/symfony/var-dumper/tree/v8.0.8" }, "funding": [ { @@ -2309,20 +2509,20 @@ "type": "tidelift" } ], - "time": "2025-10-28T09:34:19+00:00" + "time": "2026-03-31T07:15:36+00:00" }, { "name": "symfony/var-exporter", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04" + "reference": "15776bb07a91b089037da89f8832fa41d5fa6ec6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04", - "reference": "7345f46c251f2eb27c7b3ebdb5bb076b3ffcae04", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/15776bb07a91b089037da89f8832fa41d5fa6ec6", + "reference": "15776bb07a91b089037da89f8832fa41d5fa6ec6", "shasum": "" }, "require": { @@ -2369,7 +2569,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v8.0.0" + "source": "https://github.com/symfony/var-exporter/tree/v8.0.8" }, "funding": [ { @@ -2389,20 +2589,20 @@ "type": "tidelift" } ], - "time": "2025-11-05T18:53:00+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "twig/extra-bundle", - "version": "v3.22.2", + "version": "v3.24.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "09de9be7f6c0d19ede7b5a1dbfcfb2e9d1e0ea9e" + "reference": "6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/09de9be7f6c0d19ede7b5a1dbfcfb2e9d1e0ea9e", - "reference": "09de9be7f6c0d19ede7b5a1dbfcfb2e9d1e0ea9e", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9", + "reference": "6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9", "shasum": "" }, "require": { @@ -2451,7 +2651,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.22.2" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.24.0" }, "funding": [ { @@ -2463,20 +2663,20 @@ "type": "tidelift" } ], - "time": "2025-12-05T08:51:53+00:00" + "time": "2026-02-07T08:07:38+00:00" }, { "name": "twig/intl-extra", - "version": "v3.22.1", + "version": "v3.24.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1" + "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", - "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f", + "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f", "shasum": "" }, "require": { @@ -2515,7 +2715,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.22.1" + "source": "https://github.com/twigphp/intl-extra/tree/v3.24.0" }, "funding": [ { @@ -2527,20 +2727,20 @@ "type": "tidelift" } ], - "time": "2025-11-02T11:00:49+00:00" + "time": "2026-01-17T13:57:47+00:00" }, { "name": "twig/twig", - "version": "v3.22.2", + "version": "v3.24.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2" + "reference": "a6769aefb305efef849dc25c9fd1653358c148f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/946ddeafa3c9f4ce279d1f34051af041db0e16f2", - "reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6769aefb305efef849dc25c9fd1653358c148f0", + "reference": "a6769aefb305efef849dc25c9fd1653358c148f0", "shasum": "" }, "require": { @@ -2550,7 +2750,8 @@ "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { - "phpstan/phpstan": "^2.0", + "php-cs-fixer/shim": "^3.0@stable", + "phpstan/phpstan": "^2.0@stable", "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, @@ -2594,7 +2795,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.22.2" + "source": "https://github.com/twigphp/Twig/tree/v3.24.0" }, "funding": [ { @@ -2606,7 +2807,7 @@ "type": "tidelift" } ], - "time": "2025-12-14T11:28:47+00:00" + "time": "2026-03-17T21:31:11+00:00" } ], "packages-dev": [], @@ -2616,7 +2817,8 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^8.5" + "php": "^8.5", + "ext-blake3": "^0.1" }, "platform-dev": {}, "plugin-api-version": "2.9.0" diff --git a/damper.mjs b/damper.mjs new file mode 160000 index 0000000..81d208b --- /dev/null +++ b/damper.mjs @@ -0,0 +1 @@ +Subproject commit 81d208b96470e6068e735f38ccfc0f941079c3a5 diff --git a/install.sh b/install.sh index 77c2b3f..3440d65 100755 --- a/install.sh +++ b/install.sh @@ -8,16 +8,22 @@ if [ -d author ]; then mv author kodorvan fi -if [ -e kodorvan/perm/system/settings/*.sample ]; then - for i in kodorvan/perm/system/settings/*.sample; do - cp "$i" "${i/.sample/}"; - done -fi +for i in kodorvan/perm/system/settings/*.sample; do + echo $i; + if [ ! -f "${i/.sample/}" ]; then + cp -n "$i" "${i/.sample/}"; + echo ${i/.sample/}; + fi +done if ! [ -d kodorvan/perm/system/public/js/modules ]; then mkdir kodorvan/perm/system/public/js/modules -p fi +if ! [ -L kodorvan/perm/system/public/js/modules/damper.mjs ]; then + ln -s ../../../../../../damper.mjs/damper.mjs kodorvan/perm/system/public/js/modules/damper.mjs; +fi + if ! [ -L kodorvan/perm/system/public/js/modules/hotline.mjs ]; then ln -s ../../../../../../hotline.mjs/hotline.mjs kodorvan/perm/system/public/js/modules/hotline.mjs; fi diff --git a/kodorvan/perm/system/controllers/index.php b/kodorvan/perm/system/controllers/index.php index 34a3822..e91d1ba 100755 --- a/kodorvan/perm/system/controllers/index.php +++ b/kodorvan/perm/system/controllers/index.php @@ -65,7 +65,7 @@ final class index extends core 'buttons' => [ [ 'icon' => 'comment', - 'link' => '' + 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=telegram voronka' ] ], 'theses' => [ @@ -88,7 +88,8 @@ final class index extends core ], 'background_image_src' => '/themes/default/images/telegram_voronka.png', 'background_image_alt' => 'Телеграм воронка КОДОРВАНЬ', - 'cost' => '2000' + 'cost' => '2000', + 'canceled' => 'ЗАБЛОКИРОВАН' ], [ 'class' => 'parser', @@ -115,7 +116,8 @@ final class index extends core 'buttons' => [ [ 'icon' => 'comment', - 'link' => '' + /* 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser' */ + 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser' ] ], 'theses' => [ @@ -156,7 +158,7 @@ final class index extends core 'buttons' => [ [ 'icon' => 'comment', - 'link' => '' + 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=calculator' ] ], 'theses' => [ @@ -187,8 +189,89 @@ final class index extends core // Sending the cookie with the team workload (1800 = 30min) setcookie('workload', $this->view->workload, time() + 1800, '/'); + // Initializing the project constructor data + $this->view->project = [ + 'architectures' => [ + 'site' => 'Сайт', + 'chat_robot' => 'Чат-робот', + 'program' => 'Программа', + 'module' => 'Модуль', + 'parser' => 'Парсер', + 'script' => 'Скрипт', + 'game' => 'Видеоигра', + /* 'site' => 'Сайты и браузерные расширения', + 'chat_robot' => 'Чат-роботы (любой мессенджер)', + 'program' => 'Программа (Android, iOS, Windows)', + 'module' => 'Модуль для любой программы', + 'parser' => 'Парсер данных API, HTTP и эмуляция', + 'script' => 'Скрипт (автоматизация процессов)', + 'game' => 'Видеоигра (Android, iOS, Windows)' */ + ], + 'purposes' => [ + 'funnel' => 'Воронка', + 'contacts' => 'Контакты', + 'neural_network' => 'Нейросети', + 'gallery' => 'Галерея', + 'crm' => 'CRM', + 'landing' => 'Лендинг', + 'marketplace' => 'Маркетплейс', + 'search' => 'Поиск', + 'calculate' => 'Расчёты', + 'logic' => 'Логика', + 'game' => 'Игра', + 'special' => 'Особенный', + ], + 'integrations' => [ + 'one_c' => '1C', + 'bitrix24' => 'Битрикс24', + 'moy_sklad' => 'Мой Склад', + 'telegram' => 'Телеграм', + 'mail' => 'Почта', + 'excel' => 'Excel' + ] + ]; + + // Initializing contacts data + $this->view->contacts = [ + 'sim' => [ + 'requests' => [ + 'full' => PROJECT_CONTACTS_SIM_REQUESTS ?? 'Ошибка', + 'country' => PROJECT_CONTACTS_SIM_REQUESTS_COUNTRY ?? 'Ошибка', + 'operator' => PROJECT_CONTACTS_SIM_REQUESTS_OPERATOR ?? 'Ошибка', + 'number' => [ + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_1 ?? 'Ошибка', + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_2 ?? 'Ошибка', + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_3 ?? 'Ошибка' + ] + ] + ] + ]; + + // Initializing contacts data + $this->view->integrations = [ + 'Мой Склад' => 'moy_sklad', + '1С Предприятие' => '1c', + 'Битрикс 24' => 'bitrix24', + 'ВКонтакте' => 'vk', + 'МАКС' => 'max', + /* 'yandex_direct', */ + 'Яндекс Директ' => 'yandex_market', + 'ОЗОН' => 'ozon', + 'Вайлдберриз' => 'wildberries', + 'Авито' => 'avito', + 'YClients' => 'yclients', + 'ЮКасса' => 'yookassa', + 'OpenAI' => 'openai' + ]; + // Render page - $page = $this->view->render('main/index.html'); + $page = $this->view->render( + 'main/index.html', + [ + 'smartphone' => $this->request->smartphone, + 'tablet' => $this->request->tablet + ] + ); // Sending response $this->response diff --git a/kodorvan/perm/system/controllers/offer.php b/kodorvan/perm/system/controllers/offer.php new file mode 100755 index 0000000..6152107 --- /dev/null +++ b/kodorvan/perm/system/controllers/offer.php @@ -0,0 +1,92 @@ + + */ +final class offer extends core +{ + /** + * Errors + * + * @var array $errors Registry of errors + */ + protected array $errors = [ + 'system' => [] + ]; + + /** + * Page: offer + * + * @return null + */ + public function index(): null + { + if (str_contains($this->request->headers['accept'] ?? '', content::html->value)) { + // Request for HTML response + + // Initializing contacts data + $this->view->contacts = [ + 'sim' => [ + 'requests' => [ + 'full' => PROJECT_CONTACTS_SIM_REQUESTS ?? 'Ошибка', + 'country' => PROJECT_CONTACTS_SIM_REQUESTS_COUNTRY ?? 'Ошибка', + 'operator' => PROJECT_CONTACTS_SIM_REQUESTS_OPERATOR ?? 'Ошибка', + 'number' => [ + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_1 ?? 'Ошибка', + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_2 ?? 'Ошибка', + PROJECT_CONTACTS_SIM_REQUESTS_NUMBER_3 ?? 'Ошибка' + ] + ] + ] + ]; + + // Render page + $page = $this->view->render( + 'main/offer.html', + [ + 'smartphone' => $this->request->smartphone, + 'tablet' => $this->request->tablet + ] + ); + + // Sending response + $this->response + ->start() + ->clean() + ->sse() + ->write($page) + ->validate($this->request) + ?->body() + ->end(); + + // Deinitializing rendered page + unset($page); + + // Exit (success) + return null; + } + + // Exit (fail) + return null; + } +} diff --git a/kodorvan/perm/system/controllers/project.php b/kodorvan/perm/system/controllers/project.php new file mode 100755 index 0000000..518ac84 --- /dev/null +++ b/kodorvan/perm/system/controllers/project.php @@ -0,0 +1,126 @@ + + */ +final class project extends core +{ + /** + * Errors + * + * @var array $errors Registry of errors + */ + protected array $errors = [ + 'system' => [] + ]; + + /** + * + * + * @return null + */ + public function request(string $request): null + { + // Initializing the project identifier (temporary solution) + $identifier = blake3($request, 20); + + // Initializing the project storage path + $path = STORAGE . DIRECTORY_SEPARATOR . 'projects' . DIRECTORY_SEPARATOR . $identifier; + + // Initializing the project storage directory in the storage + if (!file_exists($path)) mkdir($path, 0775, true); + + // Declaring the project storage files registry + $files = []; + + foreach ($this->request->files as $file) { + // Iterating over files + + // Initializing the file destination path + $destination = $path . DIRECTORY_SEPARATOR . $file['name']; + + // Writing the file into the project storage + copy($file['tmp_name'], $destination); + + // Writing the file destination path into the project storage files registry + $files[$file['name']] = $destination; + } + + // Decoding the request JSON argument + $request = json_decode(json: $request, associative: true, depth: 5); + + // Initializing the mail server + $mail = new mail(true); + + try { + // Writing the mail server parameters + /* $mail->SMTPDebug = smtp::DEBUG_SERVER; */ + $mail->setLanguage('ru'); + $mail->CharSet = mail::CHARSET_UTF8; + $mail->isSMTP(); + $mail->Host = 'smtp.mail.ru'; + $mail->SMTPAuth = true; + $mail->Username = 'system@kodorvan.tech'; + $mail->Password = 'c6oQF2nY0javI312eDS0'; + $mail->SMTPSecure = mail::ENCRYPTION_SMTPS; + $mail->Port = 465; + $mail->setFrom('system@kodorvan.tech', 'Система'); + $mail->addAddress('request@kodorvan.tech', 'Заявки'); + + // The message + $mail->isHTML(true); + $mail->Subject = empty($request['project']['name']) ? 'Заказ' : 'Заказ: ' . $request['project']['name']; + $mail->Body = $this->view->render('messages/request.html', $request); + $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; + + // Attachments + foreach ($files as $name => $file) { + // Iterating of project storage files registry + + // Writing the attachment into the message + $mail->addAttachment($file, $name); + } + + // Sending the message + $mail->send(); + } catch (mail_exception $exception) { + } + + // Sending response + $this->response + ->start() + ->clean() + ->sse() + ->validate($this->request) + ?->body() + ->end(); + + // Exit (fail) + return null; + } +} diff --git a/kodorvan/perm/system/public/css/fonts/akony.css b/kodorvan/perm/system/public/css/fonts/akony.css new file mode 100755 index 0000000..28e9540 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/akony.css @@ -0,0 +1,8 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Akony'; + src: url("/fonts/akony/AKONY.ttf"); + font-weight: normal; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/bahnschrift.css b/kodorvan/perm/system/public/css/fonts/bahnschrift.css index 1aac588..06ca850 100755 --- a/kodorvan/perm/system/public/css/fonts/bahnschrift.css +++ b/kodorvan/perm/system/public/css/fonts/bahnschrift.css @@ -28,7 +28,7 @@ font-style: normal; } - @font-face { +@font-face { font-family: 'Bahnschrift'; src: url("/fonts/bahnschrift/BAHNSCHRIFT 5.TTF"); font-weight: 500; diff --git a/kodorvan/perm/system/public/css/fonts/cascadia_code.css b/kodorvan/perm/system/public/css/fonts/cascadia_code.css new file mode 100755 index 0000000..4ce5601 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/cascadia_code.css @@ -0,0 +1,50 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-ExtraLight.woff2"); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-Light.woff2"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-SemiLight.woff2"); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-Regular.woff2"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-Regular.woff2"); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-SemiBold.woff2"); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: 'Cascadia Code'; + src: url("/fonts/cascadia_code/CascadiaCode-Bold.woff2"); + font-weight: 700; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/commissioner.css b/kodorvan/perm/system/public/css/fonts/commissioner.css new file mode 100755 index 0000000..647ec0f --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/commissioner.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Commissioner'; + src: url('/fonts/commissioner.ttf'); +} diff --git a/kodorvan/perm/system/public/css/fonts/compacta.css b/kodorvan/perm/system/public/css/fonts/compacta.css new file mode 100755 index 0000000..cad1c23 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/compacta.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Compacta'; + src: url("/fonts/compacta/compacta_lt_light_compress.otf"); +} diff --git a/kodorvan/perm/system/public/css/fonts/eitai.css b/kodorvan/perm/system/public/css/fonts/eitai.css new file mode 100755 index 0000000..c5ffc62 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/eitai.css @@ -0,0 +1,8 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Eitai'; + src: url("/fonts/eitai/eitai.otf"); + font-weight: normal; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/gost.css b/kodorvan/perm/system/public/css/fonts/gost.css new file mode 100755 index 0000000..188fd13 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/gost.css @@ -0,0 +1,15 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'GOST'; + src: url("/fonts/gost/GOST 2.304-81 type A.ttf"); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: 'GOST'; + src: url("/fonts/gost/GOST 2.304-81 type B.ttf"); + font-weight: 400; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/industry.css b/kodorvan/perm/system/public/css/fonts/industry.css new file mode 100755 index 0000000..2309a85 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/industry.css @@ -0,0 +1,8 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Industry'; + src: url("/fonts/industry/Industry-Bold_RUS.ttf"); + font-weight: normal; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/mt_sans.css b/kodorvan/perm/system/public/css/fonts/mt_sans.css new file mode 100755 index 0000000..3bc17b5 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/mt_sans.css @@ -0,0 +1,63 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-LightCondensed.ttf"); + font-weight: 100; + font-style: normal; +} +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-LightCondensed.ttf"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-LightCondensed.ttf"); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-RegularCondensed.ttf"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-RegularCondensed.ttf"); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-Bold.ttf"); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-BoldCondensed.ttf"); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-BlackCondensed.ttf"); + font-weight: 800; + font-style: normal; +} + +@font-face { + font-family: 'MT Sans'; + src: url("/fonts/mt_sans/MTSans-BlackExtended.ttf"); + font-weight: 900; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/nunito.css b/kodorvan/perm/system/public/css/fonts/nunito.css new file mode 100755 index 0000000..1dd6214 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/nunito.css @@ -0,0 +1,64 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-ExtraLight.ttf"); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Light.ttf"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Regular.ttf"); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Regular.ttf"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Medium.ttf"); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Bold.ttf"); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-ExtraBold.ttf"); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Black.ttf"); + font-weight: 800; + font-style: normal; +} + +@font-face { + font-family: 'Nunito'; + src: url("/fonts/nunito/Nunito-Black.ttf"); + font-weight: 900; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/palui.css b/kodorvan/perm/system/public/css/fonts/palui.css new file mode 100755 index 0000000..9ae691a --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/palui.css @@ -0,0 +1,8 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Palui'; + src: url("/fonts/palui/PaluiSPDemo-Bold.otf"); + font-weight: normal; + font-style: normal; +} diff --git a/kodorvan/perm/system/public/css/fonts/slifted.css b/kodorvan/perm/system/public/css/fonts/slifted.css new file mode 100755 index 0000000..bc100a4 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/slifted.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Slifted'; + src: url("/fonts/slifted/slifted.otf"); +} diff --git a/kodorvan/perm/system/public/css/fonts/urban_slavic.css b/kodorvan/perm/system/public/css/fonts/urban_slavic.css new file mode 100755 index 0000000..895928e --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/urban_slavic.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Urban Slavic'; + src: url("/fonts/urban_slavic/UrbanSlavic.otf"); +} diff --git a/kodorvan/perm/system/public/css/fonts/vredina.css b/kodorvan/perm/system/public/css/fonts/vredina.css new file mode 100755 index 0000000..7963c14 --- /dev/null +++ b/kodorvan/perm/system/public/css/fonts/vredina.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Vredina'; + src: url("/fonts/vredina/SAVredina-ThinUltraCondensed.woff"); +} diff --git a/kodorvan/perm/system/public/fonts/akony/AKONY.ttf b/kodorvan/perm/system/public/fonts/akony/AKONY.ttf new file mode 100644 index 0000000..6be5182 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/akony/AKONY.ttf differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Bold.woff2 new file mode 100644 index 0000000..3c3cf05 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-BoldItalic.woff2 new file mode 100644 index 0000000..29e5fb3 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLight.woff2 new file mode 100644 index 0000000..15c1bf3 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLightItalic.woff2 new file mode 100644 index 0000000..d9e2b3b Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Italic.woff2 new file mode 100644 index 0000000..c2e8181 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Light.woff2 new file mode 100644 index 0000000..261778b Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-LightItalic.woff2 new file mode 100644 index 0000000..6ec8780 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Regular.woff2 new file mode 100644 index 0000000..29605d2 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBold.woff2 new file mode 100644 index 0000000..a61a219 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBoldItalic.woff2 new file mode 100644 index 0000000..bba5ede Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLight.woff2 new file mode 100644 index 0000000..4c3aec0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLightItalic.woff2 new file mode 100644 index 0000000..3937440 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCode-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Bold.woff2 new file mode 100644 index 0000000..59ecb7f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-BoldItalic.woff2 new file mode 100644 index 0000000..674df2f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLight.woff2 new file mode 100644 index 0000000..7005042 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLightItalic.woff2 new file mode 100644 index 0000000..f4a1ec4 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Italic.woff2 new file mode 100644 index 0000000..cccf66e Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Light.woff2 new file mode 100644 index 0000000..4b53c87 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-LightItalic.woff2 new file mode 100644 index 0000000..e96f340 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Regular.woff2 new file mode 100644 index 0000000..e862e36 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBold.woff2 new file mode 100644 index 0000000..5afc1e0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBoldItalic.woff2 new file mode 100644 index 0000000..cb5c5c6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLight.woff2 new file mode 100644 index 0000000..b48f4b6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLightItalic.woff2 new file mode 100644 index 0000000..43d7669 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodeNF-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Bold.woff2 new file mode 100644 index 0000000..4e301d8 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-BoldItalic.woff2 new file mode 100644 index 0000000..783e31b Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLight.woff2 new file mode 100644 index 0000000..820bf20 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLightItalic.woff2 new file mode 100644 index 0000000..cc4a49c Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Italic.woff2 new file mode 100644 index 0000000..f85c379 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Light.woff2 new file mode 100644 index 0000000..abdf830 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-LightItalic.woff2 new file mode 100644 index 0000000..99d98dd Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Regular.woff2 new file mode 100644 index 0000000..11d5ab1 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBold.woff2 new file mode 100644 index 0000000..3225f57 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBoldItalic.woff2 new file mode 100644 index 0000000..2bee7dd Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLight.woff2 new file mode 100644 index 0000000..fb7a6e1 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLightItalic.woff2 new file mode 100644 index 0000000..f2151e3 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaCodePL-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Bold.woff2 new file mode 100644 index 0000000..a8a8c08 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-BoldItalic.woff2 new file mode 100644 index 0000000..9976e4a Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLight.woff2 new file mode 100644 index 0000000..e2908d5 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLightItalic.woff2 new file mode 100644 index 0000000..47e0104 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Italic.woff2 new file mode 100644 index 0000000..7309104 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Light.woff2 new file mode 100644 index 0000000..729a341 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-LightItalic.woff2 new file mode 100644 index 0000000..b153f45 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Regular.woff2 new file mode 100644 index 0000000..45d8bc4 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBold.woff2 new file mode 100644 index 0000000..0d0d692 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBoldItalic.woff2 new file mode 100644 index 0000000..8e10edb Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLight.woff2 new file mode 100644 index 0000000..08485bf Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLightItalic.woff2 new file mode 100644 index 0000000..aeedf84 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMono-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Bold.woff2 new file mode 100644 index 0000000..21e061e Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-BoldItalic.woff2 new file mode 100644 index 0000000..8b9f174 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLight.woff2 new file mode 100644 index 0000000..9619840 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLightItalic.woff2 new file mode 100644 index 0000000..0959672 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Italic.woff2 new file mode 100644 index 0000000..93c8a57 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Light.woff2 new file mode 100644 index 0000000..310cc0c Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-LightItalic.woff2 new file mode 100644 index 0000000..a1d5921 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Regular.woff2 new file mode 100644 index 0000000..6205c89 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBold.woff2 new file mode 100644 index 0000000..865428f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBoldItalic.woff2 new file mode 100644 index 0000000..2e9e3c9 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLight.woff2 new file mode 100644 index 0000000..f5c06d0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLightItalic.woff2 new file mode 100644 index 0000000..9dabf9a Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoNF-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Bold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Bold.woff2 new file mode 100644 index 0000000..5ad10d8 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Bold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-BoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-BoldItalic.woff2 new file mode 100644 index 0000000..5313189 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-BoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLight.woff2 new file mode 100644 index 0000000..a7d28a4 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLightItalic.woff2 new file mode 100644 index 0000000..2c38c38 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-ExtraLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Italic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Italic.woff2 new file mode 100644 index 0000000..85493c0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Italic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Light.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Light.woff2 new file mode 100644 index 0000000..ceb7319 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Light.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-LightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-LightItalic.woff2 new file mode 100644 index 0000000..3ae3b16 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-LightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Regular.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Regular.woff2 new file mode 100644 index 0000000..bcfa40b Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-Regular.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBold.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBold.woff2 new file mode 100644 index 0000000..3371334 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBold.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBoldItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBoldItalic.woff2 new file mode 100644 index 0000000..714d18b Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiBoldItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLight.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLight.woff2 new file mode 100644 index 0000000..c118889 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLight.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLightItalic.woff2 b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLightItalic.woff2 new file mode 100644 index 0000000..7fd3dc6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/cascadia_code/CascadiaMonoPL-SemiLightItalic.woff2 differ diff --git a/kodorvan/perm/system/public/fonts/compacta/compacta_lt_light_compress.otf b/kodorvan/perm/system/public/fonts/compacta/compacta_lt_light_compress.otf new file mode 100644 index 0000000..a91c1eb Binary files /dev/null and b/kodorvan/perm/system/public/fonts/compacta/compacta_lt_light_compress.otf differ diff --git a/kodorvan/perm/system/public/fonts/eitai/eitai.otf b/kodorvan/perm/system/public/fonts/eitai/eitai.otf new file mode 100644 index 0000000..2f0ed70 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/eitai/eitai.otf differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type A.ttf b/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type A.ttf new file mode 100644 index 0000000..0dd8401 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type A.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type B.ttf b/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type B.ttf new file mode 100644 index 0000000..884b2fe Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type B.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST Type AU.TTF b/kodorvan/perm/system/public/fonts/gost/GOST Type AU.TTF new file mode 100644 index 0000000..caa369a Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST Type AU.TTF differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST Type BU.TTF b/kodorvan/perm/system/public/fonts/gost/GOST Type BU.TTF new file mode 100644 index 0000000..f13a9e0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST Type BU.TTF differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST type A.ttf b/kodorvan/perm/system/public/fonts/gost/GOST type A.ttf new file mode 100644 index 0000000..dfab245 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST type A.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/GOST type B.ttf b/kodorvan/perm/system/public/fonts/gost/GOST type B.ttf new file mode 100644 index 0000000..f833b13 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/GOST type B.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А наклонный.ttf b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А наклонный.ttf new file mode 100644 index 0000000..ad2caca Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А наклонный.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А.ttf b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А.ttf new file mode 100644 index 0000000..aaa7819 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип А.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В наклонный.ttf b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В наклонный.ttf new file mode 100644 index 0000000..5c2703f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В наклонный.ttf differ diff --git a/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В.ttf b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В.ttf new file mode 100644 index 0000000..b269323 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/gost/ГОСТ тип В.ttf differ diff --git a/kodorvan/perm/system/public/fonts/industry/Industry-Bold_RUS.ttf b/kodorvan/perm/system/public/fonts/industry/Industry-Bold_RUS.ttf new file mode 100644 index 0000000..2744f3c Binary files /dev/null and b/kodorvan/perm/system/public/fonts/industry/Industry-Bold_RUS.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackCondensed.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackCondensed.ttf new file mode 100644 index 0000000..2f56df6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackCondensed.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackExtended.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackExtended.ttf new file mode 100644 index 0000000..c8bcd81 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BlackExtended.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-Bold.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-Bold.ttf new file mode 100644 index 0000000..e2212e0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-Bold.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BoldCondensed.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BoldCondensed.ttf new file mode 100644 index 0000000..95109c1 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-BoldCondensed.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-LightCondensed.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-LightCondensed.ttf new file mode 100644 index 0000000..a91cab6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-LightCondensed.ttf differ diff --git a/kodorvan/perm/system/public/fonts/mt_sans/MTSans-RegularCondensed.ttf b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-RegularCondensed.ttf new file mode 100644 index 0000000..5086a2f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/mt_sans/MTSans-RegularCondensed.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Black.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Black.ttf new file mode 100644 index 0000000..81d557c Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Black.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-BlackItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-BlackItalic.ttf new file mode 100644 index 0000000..b4ba5a1 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-BlackItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Bold.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Bold.ttf new file mode 100644 index 0000000..886134d Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Bold.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-BoldItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-BoldItalic.ttf new file mode 100644 index 0000000..0cb4efa Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-BoldItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBold.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBold.ttf new file mode 100644 index 0000000..711765e Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBold.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBoldItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBoldItalic.ttf new file mode 100644 index 0000000..bffce10 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraBoldItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLight.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLight.ttf new file mode 100644 index 0000000..d9eabf9 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLight.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLightItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLightItalic.ttf new file mode 100644 index 0000000..2037f4a Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-ExtraLightItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Italic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Italic.ttf new file mode 100644 index 0000000..f4ab114 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Italic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Light.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Light.ttf new file mode 100644 index 0000000..e64c0fe Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Light.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-LightItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-LightItalic.ttf new file mode 100644 index 0000000..b465e5a Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-LightItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Medium.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Medium.ttf new file mode 100644 index 0000000..e24c1d6 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Medium.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-MediumItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-MediumItalic.ttf new file mode 100644 index 0000000..6fec095 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-MediumItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-Regular.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-Regular.ttf new file mode 100644 index 0000000..9411bfb Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-Regular.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBold.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBold.ttf new file mode 100644 index 0000000..1326a7d Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBold.ttf differ diff --git a/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBoldItalic.ttf b/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBoldItalic.ttf new file mode 100644 index 0000000..d20e95f Binary files /dev/null and b/kodorvan/perm/system/public/fonts/nunito/Nunito-SemiBoldItalic.ttf differ diff --git a/kodorvan/perm/system/public/fonts/palui/PaluiSPDemo-Bold.otf b/kodorvan/perm/system/public/fonts/palui/PaluiSPDemo-Bold.otf new file mode 100644 index 0000000..88335d0 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/palui/PaluiSPDemo-Bold.otf differ diff --git a/kodorvan/perm/system/public/fonts/slifted/slifted.otf b/kodorvan/perm/system/public/fonts/slifted/slifted.otf new file mode 100644 index 0000000..6856ff5 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/slifted/slifted.otf differ diff --git a/kodorvan/perm/system/public/fonts/urban_slavic/UrbanSlavic.otf b/kodorvan/perm/system/public/fonts/urban_slavic/UrbanSlavic.otf new file mode 100644 index 0000000..a9c1fdc Binary files /dev/null and b/kodorvan/perm/system/public/fonts/urban_slavic/UrbanSlavic.otf differ diff --git a/kodorvan/perm/system/public/fonts/vredina/SAVredina-ThinUltraCondensed.woff b/kodorvan/perm/system/public/fonts/vredina/SAVredina-ThinUltraCondensed.woff new file mode 100644 index 0000000..46516d7 Binary files /dev/null and b/kodorvan/perm/system/public/fonts/vredina/SAVredina-ThinUltraCondensed.woff differ diff --git a/kodorvan/perm/system/public/images/favicon/browser.xml b/kodorvan/perm/system/public/images/favicon/browser.xml new file mode 100644 index 0000000..373bb22 --- /dev/null +++ b/kodorvan/perm/system/public/images/favicon/browser.xml @@ -0,0 +1,11 @@ + + + + + + + + #ffffff + + + diff --git a/kodorvan/perm/system/public/images/favicon/favicon-114x114.png b/kodorvan/perm/system/public/images/favicon/favicon-114x114.png new file mode 100644 index 0000000..9931b34 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-114x114.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-120x120.png b/kodorvan/perm/system/public/images/favicon/favicon-120x120.png new file mode 100644 index 0000000..24da484 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-120x120.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-128x128.png b/kodorvan/perm/system/public/images/favicon/favicon-128x128.png new file mode 100644 index 0000000..5b36640 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-128x128.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-144x144.png b/kodorvan/perm/system/public/images/favicon/favicon-144x144.png new file mode 100644 index 0000000..7696d78 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-144x144.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-150x150.png b/kodorvan/perm/system/public/images/favicon/favicon-150x150.png new file mode 100644 index 0000000..6b3f404 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-150x150.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-152x152.png b/kodorvan/perm/system/public/images/favicon/favicon-152x152.png new file mode 100644 index 0000000..c17c257 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-152x152.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-16x16.png b/kodorvan/perm/system/public/images/favicon/favicon-16x16.png new file mode 100644 index 0000000..0bf6f83 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-16x16.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-180x180.png b/kodorvan/perm/system/public/images/favicon/favicon-180x180.png new file mode 100644 index 0000000..9cbfc50 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-180x180.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-192x192.png b/kodorvan/perm/system/public/images/favicon/favicon-192x192.png new file mode 100644 index 0000000..8d0ea27 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-192x192.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-310x310.png b/kodorvan/perm/system/public/images/favicon/favicon-310x310.png new file mode 100644 index 0000000..83b0d5b Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-310x310.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-32x32.png b/kodorvan/perm/system/public/images/favicon/favicon-32x32.png new file mode 100644 index 0000000..104f072 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-32x32.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-384x384.png b/kodorvan/perm/system/public/images/favicon/favicon-384x384.png new file mode 100644 index 0000000..2a06a86 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-384x384.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-512x512.png b/kodorvan/perm/system/public/images/favicon/favicon-512x512.png new file mode 100644 index 0000000..2e7c55e Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-512x512.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-57x57.png b/kodorvan/perm/system/public/images/favicon/favicon-57x57.png new file mode 100644 index 0000000..2131b20 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-57x57.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-60x60.png b/kodorvan/perm/system/public/images/favicon/favicon-60x60.png new file mode 100644 index 0000000..8a39d2f Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-60x60.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-70x70.png b/kodorvan/perm/system/public/images/favicon/favicon-70x70.png new file mode 100644 index 0000000..f50b38f Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-70x70.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-72x72.png b/kodorvan/perm/system/public/images/favicon/favicon-72x72.png new file mode 100644 index 0000000..7a47682 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-72x72.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-76x76.png b/kodorvan/perm/system/public/images/favicon/favicon-76x76.png new file mode 100644 index 0000000..ab4d291 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-76x76.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon-96x96.png b/kodorvan/perm/system/public/images/favicon/favicon-96x96.png new file mode 100644 index 0000000..dcdd6fd Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon-96x96.png differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon.ico b/kodorvan/perm/system/public/images/favicon/favicon.ico new file mode 100644 index 0000000..8801344 Binary files /dev/null and b/kodorvan/perm/system/public/images/favicon/favicon.ico differ diff --git a/kodorvan/perm/system/public/images/favicon/favicon.svg b/kodorvan/perm/system/public/images/favicon/favicon.svg new file mode 100644 index 0000000..c6ccdcd --- /dev/null +++ b/kodorvan/perm/system/public/images/favicon/favicon.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/kodorvan/perm/system/public/images/favicon/manifest.json b/kodorvan/perm/system/public/images/favicon/manifest.json new file mode 100644 index 0000000..f4c62bb --- /dev/null +++ b/kodorvan/perm/system/public/images/favicon/manifest.json @@ -0,0 +1,59 @@ +{ + "name": "Кодорвань", + "short_name": "Кодорвань", + "description": "Всех шаблонов", + "icons": [ + { + "src": "/images/favicon/favicon-72x72.png", + "type": "image/png", + "sizes": "72x72", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-96x96.png", + "type": "image/png", + "sizes": "96x96", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-128x128.png", + "type": "image/png", + "sizes": "128x128", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-144x144.png", + "type": "image/png", + "sizes": "144x144", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-152x152.png", + "type": "image/png", + "sizes": "152x152", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-192x192.png", + "type": "image/png", + "sizes": "192x192", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-384x384.png", + "type": "image/png", + "sizes": "384x384", + "purpose": "any maskable" + }, + { + "src": "/images/favicon/favicon-512x512.png", + "type": "image/png", + "sizes": "512x512", + "purpose": "any maskable" + } + ], + "start_url": "/?source=pwa", + "display": "standalone", + "theme_color": "#ffffff", + "background_color": "#ffffff" +} diff --git a/kodorvan/perm/system/public/images/kodorvan.png b/kodorvan/perm/system/public/images/kodorvan.png new file mode 100644 index 0000000..03a9161 Binary files /dev/null and b/kodorvan/perm/system/public/images/kodorvan.png differ diff --git a/kodorvan/perm/system/public/images/kodorvan_1200_630.webp b/kodorvan/perm/system/public/images/kodorvan_1200_630.webp new file mode 100644 index 0000000..0e74c44 Binary files /dev/null and b/kodorvan/perm/system/public/images/kodorvan_1200_630.webp differ diff --git a/kodorvan/perm/system/public/index.php b/kodorvan/perm/system/public/index.php index ba1c14f..986c9c3 100755 --- a/kodorvan/perm/system/public/index.php +++ b/kodorvan/perm/system/public/index.php @@ -46,6 +46,8 @@ $core = new core(namespace: __NAMESPACE__); // Initializing routes $core->router ->write('/', new route('index', 'index'), 'GET') + ->write('/offer', new route('offer', 'index'), 'GET') + ->write('/project/request', new route('project', 'request'), 'PUT') ; // Handling request diff --git a/kodorvan/perm/system/public/js/core.js b/kodorvan/perm/system/public/js/core.js new file mode 100644 index 0000000..e543a7a --- /dev/null +++ b/kodorvan/perm/system/public/js/core.js @@ -0,0 +1,408 @@ +"use strict"; + +/** + * @name Core + * + * @description + * Core of the project + * + * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License + * @author Arsen Mirzaev Tatyano-Muradovich + */ +class core { + // Domain + static domain = window.location.hostname; + + // Language + static language = "ru"; + + // Theme + static theme = window.getComputedStyle(document.getElementById('theme')); + + // Window + static window; + + // The "loading" element + static loading = document.getElementById("loading"); + + // The
element + static header = document.body.getElementsByTagName("header")[0]; + + // The