if (empty($userId)) { api_not_allowed(); exit; } if (!$confirmed) { echo Container::getTemplating()->render('@template_style/auth/confirm_session_subscription.html.twig', ['session_id' => $sessionId]); exit; } $registrationAllowed = api_get_setting('session.catalog_allow_session_auto_subscription'); if ($registrationAllowed === 'true') { $entityManager = Database::getManager(); $repository = $entityManager->getRepository('ChamiloCoreBundle:SequenceResource'); $sequences = $repository->getRequirements($sessionId, SequenceResource::SESSION_TYPE); if (count($sequences) > 0) { $requirementsData = SequenceResourceManager::checkRequirementsForUser($sequences, SequenceResource::SESSION_TYPE, $userId); $continueWithSubscription = SequenceResourceManager::checkSequenceAreCompleted($requirementsData); if (!$continueWithSubscription) { header('Location: ' . api_get_path(WEB_CODE_PATH) . 'auth/courses.php'); exit; } } SessionManager::suscribe_users_to_session($_GET['session_id'], array($userId), SESSION_VISIBLE_READ_ONLY, false); $coursesList = SessionManager::get_course_list_by_session_id($_GET['session_id']); $count = count($coursesList); $url = ''; if ($count <= 0) { // no course in session -> return to catalog $url = api_get_path(WEB_CODE_PATH) . 'auth/courses.php'; } elseif ($count == 1) { // only one course, so redirect directly to this course foreach ($coursesList as $course) {
} else { // Update $sequenceResource->getSequence()->setGraphAndSerialize($graph); } $em->persist($sequenceResource); $em->flush(); echo Display::return_message(get_lang('Saved'), 'success'); break; } break; case 'get_requirements': $userId = api_get_user_id(); switch ($type) { case SequenceResource::SESSION_TYPE: $session = api_get_session_info($id); $sequences = $repository->getRequirements($session['id'], $type); if (count($sequences) === 0) { break; } $sequenceList = SequenceResourceManager::checkRequirementsForUser($sequences, $type, $userId); $allowSubscription = SequenceResourceManager::checkSequenceAreCompleted($sequenceList); $courseController = new CoursesController(); $subscribeButton = ''; if ($allowSubscription) { $subscribeButton = $courseController->getRegisteredInSessionButton($session['id'], $session['name'], false); } echo Container::getTemplating()->render('@template_style/sequence_resource/session_requirements.html.twig', ['sequences' => $sequenceList, 'allow_subscription' => $allowSubscription, 'subscribe_button' => $subscribeButton]); break; } break; }