generated from mirzaev/pot-php
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 16b0361268 | |||
| 5a7edafee2 | |||
| c631428699 |
10
.gitmodules
vendored
10
.gitmodules
vendored
@@ -2,11 +2,15 @@
|
|||||||
path = hotline.mjs
|
path = hotline.mjs
|
||||||
url = https://git.svoboda.works/mirzaev/hotline.mjs
|
url = https://git.svoboda.works/mirzaev/hotline.mjs
|
||||||
branch = stable
|
branch = stable
|
||||||
[submodule "womb3-simplex.mjs"]
|
[submodule "damper.mjs"]
|
||||||
path = womb3-simplex.mjs
|
path = damper.mjs
|
||||||
url = https://git.svoboda.works/mirzaev/womb3-simplex.mjs
|
url = https://git.svoboda.works/mirzaev/damper.mjs.git
|
||||||
branch = stable
|
branch = stable
|
||||||
[submodule "icons"]
|
[submodule "icons"]
|
||||||
path = icons
|
path = icons
|
||||||
url = https://git.svoboda.works/mirzaev/icons
|
url = https://git.svoboda.works/mirzaev/icons
|
||||||
branch = stable
|
branch = stable
|
||||||
|
[submodule "womb3-simplex.mjs"]
|
||||||
|
path = womb3-simplex.mjs
|
||||||
|
url = https://git.svoboda.works/mirzaev/womb3-simplex.mjs
|
||||||
|
branch = stable
|
||||||
|
|||||||
@@ -25,12 +25,14 @@
|
|||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.5",
|
"php": "^8.5",
|
||||||
|
"ext-blake3": "^0.1",
|
||||||
"mirzaev/minimal": "^3.8",
|
"mirzaev/minimal": "^3.8",
|
||||||
"mirzaev/baza": "^3.4",
|
"mirzaev/baza": "^3.4",
|
||||||
"mirzaev/languages": "^1",
|
"mirzaev/languages": "^1",
|
||||||
"twig/twig": "^3.2",
|
"twig/twig": "^3.2",
|
||||||
"twig/extra-bundle": "^3.7",
|
"twig/extra-bundle": "^3.7",
|
||||||
"twig/intl-extra": "^3.10"
|
"twig/intl-extra": "^3.10",
|
||||||
|
"phpmailer/phpmailer": "^7.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"mirzaev/files": "Easy working with files",
|
"mirzaev/files": "Easy working with files",
|
||||||
|
|||||||
508
composer.lock
generated
508
composer.lock
generated
File diff suppressed because it is too large
Load Diff
1
damper.mjs
Submodule
1
damper.mjs
Submodule
Submodule damper.mjs added at 81d208b964
16
install.sh
16
install.sh
@@ -8,16 +8,22 @@ if [ -d author ]; then
|
|||||||
mv author kodorvan
|
mv author kodorvan
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e kodorvan/perm/system/settings/*.sample ]; then
|
for i in kodorvan/perm/system/settings/*.sample; do
|
||||||
for i in kodorvan/perm/system/settings/*.sample; do
|
echo $i;
|
||||||
cp "$i" "${i/.sample/}";
|
if [ ! -f "${i/.sample/}" ]; then
|
||||||
done
|
cp -n "$i" "${i/.sample/}";
|
||||||
fi
|
echo ${i/.sample/};
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if ! [ -d kodorvan/perm/system/public/js/modules ]; then
|
if ! [ -d kodorvan/perm/system/public/js/modules ]; then
|
||||||
mkdir kodorvan/perm/system/public/js/modules -p
|
mkdir kodorvan/perm/system/public/js/modules -p
|
||||||
fi
|
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
|
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;
|
ln -s ../../../../../../hotline.mjs/hotline.mjs kodorvan/perm/system/public/js/modules/hotline.mjs;
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ final class index extends core
|
|||||||
'buttons' => [
|
'buttons' => [
|
||||||
[
|
[
|
||||||
'icon' => 'comment',
|
'icon' => 'comment',
|
||||||
'link' => ''
|
'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=telegram voronka'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'theses' => [
|
'theses' => [
|
||||||
@@ -88,7 +88,8 @@ final class index extends core
|
|||||||
],
|
],
|
||||||
'background_image_src' => '/themes/default/images/telegram_voronka.png',
|
'background_image_src' => '/themes/default/images/telegram_voronka.png',
|
||||||
'background_image_alt' => 'Телеграм воронка КОДОРВАНЬ',
|
'background_image_alt' => 'Телеграм воронка КОДОРВАНЬ',
|
||||||
'cost' => '2000'
|
'cost' => '2000',
|
||||||
|
'canceled' => 'ЗАБЛОКИРОВАН'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'class' => 'parser',
|
'class' => 'parser',
|
||||||
@@ -115,7 +116,8 @@ final class index extends core
|
|||||||
'buttons' => [
|
'buttons' => [
|
||||||
[
|
[
|
||||||
'icon' => 'comment',
|
'icon' => 'comment',
|
||||||
'link' => ''
|
/* 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser' */
|
||||||
|
'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'theses' => [
|
'theses' => [
|
||||||
@@ -156,7 +158,7 @@ final class index extends core
|
|||||||
'buttons' => [
|
'buttons' => [
|
||||||
[
|
[
|
||||||
'icon' => 'comment',
|
'icon' => 'comment',
|
||||||
'link' => ''
|
'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=calculator'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'theses' => [
|
'theses' => [
|
||||||
@@ -187,8 +189,89 @@ final class index extends core
|
|||||||
// Sending the cookie with the team workload (1800 = 30min)
|
// Sending the cookie with the team workload (1800 = 30min)
|
||||||
setcookie('workload', $this->view->workload, time() + 1800, '/');
|
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
|
// 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
|
// Sending response
|
||||||
$this->response
|
$this->response
|
||||||
|
|||||||
92
kodorvan/perm/system/controllers/offer.php
Executable file
92
kodorvan/perm/system/controllers/offer.php
Executable file
@@ -0,0 +1,92 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace kodorvan\perm\controllers;
|
||||||
|
|
||||||
|
// Files of the project
|
||||||
|
use kodorvan\perm\controllers\core;
|
||||||
|
|
||||||
|
// Framework for PHP
|
||||||
|
use mirzaev\minimal\http\enumerations\content,
|
||||||
|
mirzaev\minimal\http\enumerations\status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Offer
|
||||||
|
*
|
||||||
|
* @package kodorvan\perm\controllers
|
||||||
|
*
|
||||||
|
* @param array $errors Registry of errors
|
||||||
|
*
|
||||||
|
* @method null index() Main page
|
||||||
|
*
|
||||||
|
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
|
||||||
|
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||||
|
*/
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
126
kodorvan/perm/system/controllers/project.php
Executable file
126
kodorvan/perm/system/controllers/project.php
Executable file
@@ -0,0 +1,126 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace kodorvan\perm\controllers;
|
||||||
|
|
||||||
|
// Files of the project
|
||||||
|
use kodorvan\perm\controllers\core;
|
||||||
|
|
||||||
|
// PHP framework
|
||||||
|
use mirzaev\minimal\http\enumerations\content,
|
||||||
|
mirzaev\minimal\http\enumerations\status;
|
||||||
|
|
||||||
|
// Mail server
|
||||||
|
use PHPMailer\PHPMailer\PHPMailer as mail,
|
||||||
|
PHPMailer\PHPMailer\SMTP as smtp,
|
||||||
|
PHPMailer\PHPMailer\Exception as mail_exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Index
|
||||||
|
*
|
||||||
|
* @package kodorvan\perm\controllers
|
||||||
|
*
|
||||||
|
* @param array $errors Registry of errors
|
||||||
|
*
|
||||||
|
* @method null index() Main page
|
||||||
|
*
|
||||||
|
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
|
||||||
|
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||||
|
*/
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
8
kodorvan/perm/system/public/css/fonts/akony.css
Executable file
8
kodorvan/perm/system/public/css/fonts/akony.css
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Akony';
|
||||||
|
src: url("/fonts/akony/AKONY.ttf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Bahnschrift';
|
font-family: 'Bahnschrift';
|
||||||
src: url("/fonts/bahnschrift/BAHNSCHRIFT 5.TTF");
|
src: url("/fonts/bahnschrift/BAHNSCHRIFT 5.TTF");
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|||||||
50
kodorvan/perm/system/public/css/fonts/cascadia_code.css
Executable file
50
kodorvan/perm/system/public/css/fonts/cascadia_code.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
6
kodorvan/perm/system/public/css/fonts/commissioner.css
Executable file
6
kodorvan/perm/system/public/css/fonts/commissioner.css
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Commissioner';
|
||||||
|
src: url('/fonts/commissioner.ttf');
|
||||||
|
}
|
||||||
6
kodorvan/perm/system/public/css/fonts/compacta.css
Executable file
6
kodorvan/perm/system/public/css/fonts/compacta.css
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Compacta';
|
||||||
|
src: url("/fonts/compacta/compacta_lt_light_compress.otf");
|
||||||
|
}
|
||||||
8
kodorvan/perm/system/public/css/fonts/eitai.css
Executable file
8
kodorvan/perm/system/public/css/fonts/eitai.css
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Eitai';
|
||||||
|
src: url("/fonts/eitai/eitai.otf");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
15
kodorvan/perm/system/public/css/fonts/gost.css
Executable file
15
kodorvan/perm/system/public/css/fonts/gost.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
8
kodorvan/perm/system/public/css/fonts/industry.css
Executable file
8
kodorvan/perm/system/public/css/fonts/industry.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
63
kodorvan/perm/system/public/css/fonts/mt_sans.css
Executable file
63
kodorvan/perm/system/public/css/fonts/mt_sans.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
64
kodorvan/perm/system/public/css/fonts/nunito.css
Executable file
64
kodorvan/perm/system/public/css/fonts/nunito.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
8
kodorvan/perm/system/public/css/fonts/palui.css
Executable file
8
kodorvan/perm/system/public/css/fonts/palui.css
Executable file
@@ -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;
|
||||||
|
}
|
||||||
6
kodorvan/perm/system/public/css/fonts/slifted.css
Executable file
6
kodorvan/perm/system/public/css/fonts/slifted.css
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Slifted';
|
||||||
|
src: url("/fonts/slifted/slifted.otf");
|
||||||
|
}
|
||||||
6
kodorvan/perm/system/public/css/fonts/urban_slavic.css
Executable file
6
kodorvan/perm/system/public/css/fonts/urban_slavic.css
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Urban Slavic';
|
||||||
|
src: url("/fonts/urban_slavic/UrbanSlavic.otf");
|
||||||
|
}
|
||||||
6
kodorvan/perm/system/public/css/fonts/vredina.css
Executable file
6
kodorvan/perm/system/public/css/fonts/vredina.css
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vredina';
|
||||||
|
src: url("/fonts/vredina/SAVredina-ThinUltraCondensed.woff");
|
||||||
|
}
|
||||||
BIN
kodorvan/perm/system/public/fonts/akony/AKONY.ttf
Normal file
BIN
kodorvan/perm/system/public/fonts/akony/AKONY.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
kodorvan/perm/system/public/fonts/eitai/eitai.otf
Normal file
BIN
kodorvan/perm/system/public/fonts/eitai/eitai.otf
Normal file
Binary file not shown.
BIN
kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type A.ttf
Normal file
BIN
kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type A.ttf
Normal file
Binary file not shown.
BIN
kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type B.ttf
Normal file
BIN
kodorvan/perm/system/public/fonts/gost/GOST 2.304-81 type B.ttf
Normal file
Binary file not shown.
BIN
kodorvan/perm/system/public/fonts/gost/GOST Type AU.TTF
Normal file
BIN
kodorvan/perm/system/public/fonts/gost/GOST Type AU.TTF
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user