示例#1
0
 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) {
示例#2
0
                } 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;
}