예제 #1
0
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));