/**
  * 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');
 }