Answer the question
In order to leave comments, you need to log in
Do I understand the essence of OOP correctly?
<?php
namespace app\controllers;
use app\models\InitialTraining;
class InitialTrainingController extends AppController
{
public function indexAction()
{
$this->trainingRedirect(1);
$this->site->description = 'Начальное обучение: этап 1-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_1_2_5_6_7($this->user->id);
$this->alertRedirect('success', 'Вы прошли 1-й этап обучения', '/initial-training/step-two');
}
}
public function stepTwoAction()
{
$this->trainingRedirect(2);
$this->site->description = 'Начальное обучение: этап 2-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_1_2_5_6_7($this->user->id);
$this->alertRedirect('success', 'Вы прошли 2-й этап обучения', '/initial-training/step-three');
}
}
public function stepThreeAction()
{
$this->trainingRedirect(3);
$this->site->description = 'Начальное обучение: этап 3-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_3($this->user->id);
$this->alertRedirect('success', 'Вы прошли 3-й этап обучения', '/initial-training/step-four');
}
}
public function stepFourAction()
{
$this->trainingRedirect(4);
$this->site->description = 'Начальное обучение: этап 4-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$data_unit = $model->getUnit($this->user->id);
$this->set(compact('site', 'user', 'training', 'data_unit'));
if (isset($_POST['do'])) {
$model->step_4($this->user->id);
$this->alertRedirect('success', 'Вы прошли 4-й этап обучения', '/initial-training/step-five');
}
}
public function stepFiveAction()
{
$this->trainingRedirect(5);
$this->site->description = 'Начальное обучение: этап 5-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_1_2_5_6_7($this->user->id);
$this->alertRedirect('success', 'Вы прошли 5-й этап обучения', '/initial-training/step-six');
}
}
public function stepSixAction()
{
$this->trainingRedirect(6);
$this->site->description = 'Начальное обучение: этап 6-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_1_2_5_6_7($this->user->id);
$this->alertRedirect('success', 'Вы прошли 6-й этап обучения', '/initial-training/step-seven');
}
}
public function stepSevenAction()
{
$this->trainingRedirect(7);
$this->site->description = 'Начальное обучение: этап 7-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_1_2_5_6_7($this->user->id);
$this->alertRedirect('success', 'Вы прошли 7-й этап обучения', '/initial-training/step-eight');
}
}
public function stepEightAction()
{
$this->trainingRedirect(8);
$this->site->description = 'Начальное обучение: этап 8-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$data_country = $model->getCountry();
$this->set(compact('site', 'user', 'training', 'data_country'));
if (isset($_POST['do'])) {
if (empty($_POST['country'])) {
$this->alertRedirect('danger', 'Вы не выбрали страну');
} elseif (!in_array($_POST['country'], range(1, 7))) {
$this->alertRedirect('danger', 'Такой страны нет в игре');
}
$model->step_8($this->user->id);
$this->alertRedirect('success', 'Вы прошли 8-й этап обучения', '/initial-training/step-nine');
}
}
public function stepNineAction()
{
$this->trainingRedirect(9);
$this->site->description = 'Начальное обучение: этап 9-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$data_operation = $model->getOperation($this->user->id);
$data_mission = $model->getMission($this->user->id);
$this->set(compact('site', 'user', 'training', 'data_operation', 'data_mission'));
if (isset($_POST['do'])) {
$model->step_9_10($this->user->id);
$this->alertRedirect('success', 'Вы прошли 9-й этап обучения', '/initial-training/step-ten');
}
}
public function stepTenAction()
{
$this->trainingRedirect(10);
$this->site->description = 'Начальное обучение: этап 10-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$data_operation = $model->getOperation($this->user->id);
$data_mission = $model->getMission($this->user->id);
$this->set(compact('site', 'user', 'training', 'data_operation', 'data_mission'));
if (isset($_POST['do'])) {
$model->step_9_10($this->user->id);
$this->alertRedirect('success', 'Вы прошли 10-й этап обучения', '/initial-training/step-eleven');
}
}
public function stepElevenAction()
{
$this->trainingRedirect(11);
$this->site->description = 'Начальное обучение: этап 11-й';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
if (empty($_POST['avatar'])) {
$this->alertRedirect('danger', 'Вы не выбрали аватар');
} elseif (!in_array($_POST['avatar'], range(1, 8))) {
$this->alertRedirect('danger', 'Такого аватара нет в игре');
}
$model->step_11($this->user->id);
$this->alertRedirect('success', 'Вы прошли 11-й этап обучения', '/initial-training/step-twelve');
}
}
public function stepTwelveAction()
{
$this->trainingRedirect(12);
$this->site->description = 'Начальное обучение: этап 12-й - последний';
$site = $this->site;
$user = $this->user;
$model = new InitialTraining();
$training = $model->getTraining($this->user->training);
$this->set(compact('site', 'user', 'training'));
if (isset($_POST['do'])) {
$model->step_12($this->user->id);
$this->alertRedirect('success', 'Вы прошли все этапы обучения', '/menu');
}
}
}
Answer the question
In order to leave comments, you need to log in
public function stepTwoAction()
...
public function stepThreeAction()
...
public function stepFourAction()
...
public function stepFiveAction()
...
...
...
...
public function stepTwelveAction()
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question