/** * Show the Session Catalogue with filtered session by a query term * @param array $limit */ public function sessionListBySearch(array $limit) { $q = isset($_REQUEST['q']) ? Security::remove_XSS($_REQUEST['q']) : null; $hiddenLinks = isset($_GET['hidden_links']) ? intval($_GET['hidden_links']) == 1 : false; $courseUrl = CourseCategoryManager::getCourseCategoryUrl(1, $limit['length'], null, 0, 'subscribe'); $searchDate = isset($_POST['date']) ? $_POST['date'] : date('Y-m-d'); $sessions = $this->model->browseSessionsBySearch($q, $limit); $sessionsBlocks = $this->getFormatedSessionsBlock($sessions); echo Container::getTemplating()->render('@temaplte_style/auth/session_catalog.html.twig', ['show_courses' => CoursesAndSessionsCatalog::showCourses(), 'show_sessions' => CoursesAndSessionsCatalog::showSessions(), 'show_tutor' => api_get_setting('session.show_session_coach') === 'true' ? true : false, 'course_url' => $courseUrl, 'already_subscribed_label' => $this->getAlreadyRegisteredInSessionLabel(), 'hidden_links' => $hiddenLinks, 'search_token' => Security::get_token(), 'search_date' => Security::remove_XSS($searchDate), 'search_tag' => Security::remove_XSS($q), 'sessions' => $sessionsBlocks]); }
$form .= '</div>'; $form .= '</form>'; echo $form; ?> </div> </div> <?php if ($showSessions) { ?> <div class="col-md-4"> <h5><?php echo get_lang('Sessions'); ?> </h5> <a class="btn btn-default btn-block" href="<?php echo CourseCategoryManager::getCourseCategoryUrl(1, $pageLength, null, 0, 'display_sessions'); ?> "> <?php echo get_lang('SessionList'); ?> </a> </div> <?php } ?> </div> <?php } ?> <div class="row">
/** * Return Session Catalogue rendered view * @param string $action * @param string $nameTools * @param array $limit */ public function sessionsList($action, $nameTools, $limit = array()) { $date = isset($_POST['date']) ? $_POST['date'] : date('Y-m-d'); $hiddenLinks = isset($_GET['hidden_links']) ? intval($_GET['hidden_links']) == 1 : false; $limit = isset($limit) ? $limit : CourseCategory::getLimitArray(); $countSessions = $this->model->countSessions($date); $sessions = $this->model->browseSessions($date, $limit); $pageTotal = intval(ceil(intval($countSessions) / $limit['length'])); // Do NOT show pagination if only one page or less $cataloguePagination = $pageTotal > 1 ? CourseCategory::getCatalogPagination($limit['current'], $limit['length'], $pageTotal) : ''; $sessionsBlocks = $this->getFormatedSessionsBlock($sessions); // Get session list catalogue URL //$sessionUrl = CourseCategoryManager::getCourseCategoryUrl(1, $limit['length'], null, 0, 'display_sessions'); // Get session search catalogue URL $courseUrl = CourseCategoryManager::getCourseCategoryUrl(1, $limit['length'], null, 0, 'subscribe'); $tpl = \Chamilo\CoreBundle\Framework\Container::getTwig(); $tpl->addGlobal('show_courses', CoursesAndSessionsCatalog::showCourses()); $tpl->addGlobal('show_sessions', CoursesAndSessionsCatalog::showSessions()); $tpl->addGlobal('show_tutor', api_get_setting('session.show_session_coach') === 'true' ? true : false); $tpl->addGlobal('course_url', $courseUrl); $tpl->addGlobal('catalog_pagination', $cataloguePagination); $tpl->addGlobal('hidden_links', $hiddenLinks); $tpl->addGlobal('search_token', Security::get_token()); $tpl->addGlobal('search_date', $date); $tpl->addGlobal('web_session_courses_ajax_url', api_get_path(WEB_AJAX_PATH) . 'course.ajax.php'); $tpl->addGlobal('sessions', $sessionsBlocks); $tpl->addGlobal('already_subscribed_label', $this->getAlreadyRegisteredInSessionLabel()); echo $tpl->render('@template_style/auth/session_catalog.html.twig'); }