forked from mirzaev/site-tordv-calculator
Инициализация
This commit is contained in:
122
mirzaev/calculator/system/controllers/calculator_controller.php
Normal file
122
mirzaev/calculator/system/controllers/calculator_controller.php
Normal file
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\calculator\controllers;
|
||||
|
||||
use mirzaev\calculator\controllers\core;
|
||||
|
||||
use Twig\Loader\FilesystemLoader;
|
||||
use Twig\Environment as view;
|
||||
|
||||
/**
|
||||
* Контроллер основной страницы
|
||||
*
|
||||
* @package mirzaev\calculator\controllers
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||
*/
|
||||
final class calculator_controller extends core
|
||||
{
|
||||
/**
|
||||
* Калькулятор
|
||||
*
|
||||
* HTML-код с калькулятором
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function index(array $vars = []): ?string
|
||||
{
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculator' . DIRECTORY_SEPARATOR . 'index.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Модуль: "тип пользователя"
|
||||
*
|
||||
* HTML-код с кнопками: "физическое лицо" и "юридическое лицо"
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function buyer(array $vars = []): ?string
|
||||
{
|
||||
// Инициализация параметров
|
||||
$vars['buyer'] = $vars['value'] ?? 'individual';
|
||||
|
||||
// Удаление параметров
|
||||
unset($vars['value']);
|
||||
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'buyer.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Модуль: "сложность"
|
||||
*
|
||||
* HTML-код с кнопками: "легко", "средне" и "сложно"
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function complexity(array $vars = []): ?string
|
||||
{
|
||||
// Инициализация параметров
|
||||
$vars['complexity'] = $vars['value'] ?? 'medium';
|
||||
|
||||
// Удаление параметров
|
||||
unset($vars['value']);
|
||||
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'complexity.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Модуль: "меню"
|
||||
*
|
||||
* HTML-код с кнопками добавления калькуляторов
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function menu(array $vars = []): ?string
|
||||
{
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'menu.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Модуль: "результат"
|
||||
*
|
||||
* HTML-код с данными результата калькуляции
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function result(array $vars = []): ?string
|
||||
{
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'result.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Модуль: "разделитель"
|
||||
*
|
||||
* HTML-код с разделителем элементов
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function divider(array $vars = []): ?string
|
||||
{
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'divider.html', $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Лазерная резка
|
||||
*
|
||||
* HTML-код с калькулятором лазерной резки
|
||||
*
|
||||
* @param array $vars Параметры
|
||||
*/
|
||||
public function laser(array $vars = []): ?string
|
||||
{
|
||||
// Генерация представления
|
||||
return $this->view->render(DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'calculators' . DIRECTORY_SEPARATOR . 'laser.html', $vars);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user