open_session.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Validate requirements for a open session
  5. * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
  6. * @package chamilo.plugin.advanced_subscription
  7. */
  8. require_once __DIR__.'/../config.php';
  9. $plugin = AdvancedSubscriptionPlugin::create();
  10. if (!isset($_GET['session_id'], $_GET['user_id'], $_GET['profile_completed'])) {
  11. die;
  12. }
  13. $sessionInfo = api_get_session_info($_GET['session_id']);
  14. $tpl = new Template(
  15. $plugin->get_lang('plugin_title'),
  16. false,
  17. false,
  18. false,
  19. false,
  20. false
  21. );
  22. $tpl->assign('session', $sessionInfo);
  23. if (SessionManager::isUserSubscribedAsStudent(
  24. $_GET['session_id'],
  25. $_GET['user_id']
  26. )) {
  27. $tpl->assign('is_subscribed', false);
  28. $tpl->assign(
  29. 'errorMessages',
  30. [sprintf(
  31. $plugin->get_lang('YouAreAlreadySubscribedToSessionX'),
  32. $sessionInfo['name']
  33. )]
  34. );
  35. } else {
  36. if (!$plugin->isAllowedSubscribeToOpenSession($_GET)) {
  37. $tpl->assign('is_subscribed', false);
  38. $tpl->assign('errorMessages', $plugin->getErrorMessages());
  39. } else {
  40. SessionManager::subscribe_users_to_session(
  41. $_GET['session_id'],
  42. [$_GET['user_id']],
  43. SESSION_VISIBLE_READ_ONLY,
  44. false
  45. );
  46. $tpl->assign('is_subscribed', true);
  47. }
  48. }
  49. $content = $tpl->fetch('/advanced_subscription/views/open_session.tpl');
  50. $tpl->assign('content', $content);
  51. $tpl->display_one_col_template();