/** * @param ExerciseInterface $exercise * @param UserState $userState * @param WorkshopType $type * @return bool */ private function isExerciseDisabled(ExerciseInterface $exercise, UserState $userState, WorkshopType $type) { static $previous = null; if (null === $previous || !$type->isTutorialMode()) { $previous = $exercise; return false; } if (in_array($previous->getName(), $userState->getCompletedExercises())) { $previous = $exercise; return false; } $previous = $exercise; return true; }