switch ($action) { // обрабатываем случай когда будущий фрилансер сразу открыл несколько проектов в отдельных вкладках и отвечает на них case 'create_offer': if ($role == 2 && $wizard->getPosition() !== 1) { $wizard->setNextStep(1); } break; // Выход из мастера // Выход из мастера case 'clear': $wizard->steps[$wizard->getPosition()]->clearSessionStep(); header('Location: /wizard/registration/'); exit; break; case 'exit': $wizard->exitWizard(); exit; break; case 'next': $complited = __paramInit('int', 'complited', 'complited', 0); $wizard->setCompliteStep($complited > 0 ? true : false); $pos = $wizard->getPosition() + 1; do { $wizard->setNextStep($pos); // Если больше, то какой то непорядок явно, на всякий случай перекидываем к последнему активному шагу if ($pos > count($wizard->steps) || $wizard->isStep($pos)) { $pos = $wizard->getPosition(); break; } ++$pos; } while ($wizard->isStep($pos));