|
@@ -248,7 +248,7 @@ class PageController
|
|
|
* @param array Array of attributes to add to the HTML block
|
|
|
* @return string HTML <div> block
|
|
|
* @assert ('a','') != ''
|
|
|
- * @todo use the template system
|
|
|
+ * @todo use the menu builder
|
|
|
*/
|
|
|
public function show_right_block($title, $content, $id, $params = null) {
|
|
|
$app = $this->app;
|
|
@@ -817,28 +817,30 @@ class PageController
|
|
|
$nbResults = CourseManager::displaySpecialCourses($user_id, $filter, $loadDirs, true);
|
|
|
|
|
|
$html = CourseManager::displaySpecialCourses($user_id, $filter, $loadDirs, false, $start, $this->maxPerPage);
|
|
|
+ if (!empty($html)) {
|
|
|
|
|
|
- $adapter = new FixedAdapter($nbResults, array());
|
|
|
- $pagerfanta = new Pagerfanta($adapter);
|
|
|
- $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
- $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
-
|
|
|
- $view = new TwitterBootstrapView();
|
|
|
+ $adapter = new FixedAdapter($nbResults, array());
|
|
|
+ $pagerfanta = new Pagerfanta($adapter);
|
|
|
+ $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
+ $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
|
|
|
- $app = $this->app;
|
|
|
- $routeGenerator = function($page) use ($app, $filter) {
|
|
|
- return $app['url_generator']->generate('userportal', array(
|
|
|
- 'filter' => $filter,
|
|
|
- 'type' => 'courses',
|
|
|
- 'page' => $page)
|
|
|
- );
|
|
|
- };
|
|
|
+ $view = new TwitterBootstrapView();
|
|
|
|
|
|
- $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
- 'proximity' => 3,
|
|
|
- ));
|
|
|
+ $app = $this->app;
|
|
|
+ $routeGenerator = function($page) use ($app, $filter) {
|
|
|
+ return $app['url_generator']->generate('userportal', array(
|
|
|
+ 'filter' => $filter,
|
|
|
+ 'type' => 'courses',
|
|
|
+ 'page' => $page)
|
|
|
+ );
|
|
|
+ };
|
|
|
|
|
|
- return $html.$pagination;
|
|
|
+ $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
+ 'proximity' => 3,
|
|
|
+ ));
|
|
|
+ $html .= $pagination;
|
|
|
+ }
|
|
|
+ return $html;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -864,29 +866,31 @@ class PageController
|
|
|
$nbResults = CourseManager::displayCourses($user_id, $filter, $loadDirs, true);
|
|
|
|
|
|
$html = CourseManager::displayCourses($user_id, $filter, $loadDirs, false, $start, $this->maxPerPage);
|
|
|
+ if (!empty($html)) {
|
|
|
|
|
|
- $adapter = new FixedAdapter($nbResults, array());
|
|
|
- $pagerfanta = new Pagerfanta($adapter);
|
|
|
- $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
- $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
-
|
|
|
- $view = new TwitterBootstrapView();
|
|
|
+ $adapter = new FixedAdapter($nbResults, array());
|
|
|
+ $pagerfanta = new Pagerfanta($adapter);
|
|
|
+ $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
+ $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
|
|
|
- $app = $this->app;
|
|
|
+ $view = new TwitterBootstrapView();
|
|
|
|
|
|
- $routeGenerator = function($page) use ($app, $filter) {
|
|
|
- return $app['url_generator']->generate('userportal', array(
|
|
|
- 'filter' => $filter,
|
|
|
- 'type' => 'courses',
|
|
|
- 'page' => $page)
|
|
|
- );
|
|
|
- };
|
|
|
+ $app = $this->app;
|
|
|
|
|
|
- $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
- 'proximity' => 3,
|
|
|
- ));
|
|
|
+ $routeGenerator = function($page) use ($app, $filter) {
|
|
|
+ return $app['url_generator']->generate('userportal', array(
|
|
|
+ 'filter' => $filter,
|
|
|
+ 'type' => 'courses',
|
|
|
+ 'page' => $page)
|
|
|
+ );
|
|
|
+ };
|
|
|
|
|
|
- return $html.$pagination;
|
|
|
+ $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
+ 'proximity' => 3,
|
|
|
+ ));
|
|
|
+ $html .= $pagination;
|
|
|
+ }
|
|
|
+ return $html;
|
|
|
}
|
|
|
|
|
|
public function returnSessionsCategories($user_id, $filter, $page)
|
|
@@ -912,10 +916,9 @@ class PageController
|
|
|
}
|
|
|
|
|
|
$load_directories_preview = api_get_setting('show_documents_preview') == 'true' ? true : false;
|
|
|
-
|
|
|
$sessions_with_category = $html;
|
|
|
|
|
|
- if (is_array($session_categories)) {
|
|
|
+ if (isset($session_categories) && !empty($session_categories)) {
|
|
|
foreach ($session_categories as $session_category) {
|
|
|
$session_category_id = $session_category['session_category']['id'];
|
|
|
|
|
@@ -999,42 +1002,82 @@ class PageController
|
|
|
$sessions_with_category .= CourseManager::course_item_parent(CourseManager::course_item_html($params, true), $html_sessions);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- $adapter = new FixedAdapter($nbResults, array());
|
|
|
+ $adapter = new FixedAdapter($nbResults, array());
|
|
|
|
|
|
- $pagerfanta = new Pagerfanta($adapter);
|
|
|
+ $pagerfanta = new Pagerfanta($adapter);
|
|
|
|
|
|
- $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
- $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
+ $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
+ $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
|
|
|
- $view = new TwitterBootstrapView();
|
|
|
+ $view = new TwitterBootstrapView();
|
|
|
|
|
|
- $app = $this->app;
|
|
|
- $routeGenerator = function($page) use ($app, $filter) {
|
|
|
- return $app['url_generator']->generate('userportal', array(
|
|
|
- 'filter' => $filter,
|
|
|
- 'type' => 'sessioncategories',
|
|
|
- 'page' => $page)
|
|
|
- );
|
|
|
- };
|
|
|
+ $app = $this->app;
|
|
|
+ $routeGenerator = function($page) use ($app, $filter) {
|
|
|
+ return $app['url_generator']->generate('userportal', array(
|
|
|
+ 'filter' => $filter,
|
|
|
+ 'type' => 'sessioncategories',
|
|
|
+ 'page' => $page
|
|
|
+ ));
|
|
|
+ };
|
|
|
|
|
|
- $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
- 'proximity' => 3,
|
|
|
- ));
|
|
|
- return $sessions_with_category.$pagination;
|
|
|
+ $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
+ 'proximity' => 3,
|
|
|
+ ));
|
|
|
+ $sessions_with_category .= $pagination;
|
|
|
+ }
|
|
|
+ return $sessions_with_category;
|
|
|
}
|
|
|
|
|
|
public function returnSessions($user_id, $filter, $page) {
|
|
|
if (empty($user_id)) {
|
|
|
return false;
|
|
|
}
|
|
|
+ $app = $this->app;
|
|
|
|
|
|
- $load_history = (isset($filter) && $filter == 'history') ? true : false;
|
|
|
+ $loadHistory = (isset($filter) && $filter == 'history') ? true : false;
|
|
|
+
|
|
|
+ $app['session_menu'] = function($app) use ($loadHistory) {
|
|
|
+ $menu = $app['knp_menu.factory']->createItem('root');
|
|
|
+
|
|
|
+ $menu->setUri($app['request']->getRequestUri());
|
|
|
+
|
|
|
+ $menu->setChildrenAttributes(array(
|
|
|
+ 'class' => 'nav nav-tabs',
|
|
|
+ 'currentClass' => 'active'
|
|
|
+ ));
|
|
|
+
|
|
|
+ $current = $menu->addChild(get_lang('Current'), array(
|
|
|
+ 'route' => 'userportal',
|
|
|
+ 'routeParameters' => array(
|
|
|
+ 'filter' => 'current',
|
|
|
+ 'type' => 'sessions'
|
|
|
+ )
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $history = $menu->addChild(get_lang('HistoryTrainingSession'), array(
|
|
|
+ 'route' => 'userportal',
|
|
|
+ 'routeParameters' => array(
|
|
|
+ 'filter' => 'history',
|
|
|
+ 'type' => 'sessions'
|
|
|
+ )
|
|
|
+ )
|
|
|
+ );
|
|
|
+ //@todo use URIVoter
|
|
|
+ if ($loadHistory) {
|
|
|
+ $history->setCurrent(true);
|
|
|
+ } else {
|
|
|
+ $current->setCurrent(true);
|
|
|
+ }
|
|
|
+ return $menu;
|
|
|
+ };
|
|
|
+
|
|
|
+ //@todo move this in template
|
|
|
+ $app['knp_menu.menus'] = array('actions_menu' => 'session_menu');
|
|
|
|
|
|
$start = ($page -1) * $this->maxPerPage;
|
|
|
|
|
|
- if ($load_history) {
|
|
|
+ if ($loadHistory) {
|
|
|
//Load sessions in category in *history*
|
|
|
$nbResults = (int) UserManager::get_sessions_by_category($user_id, true, true, true, null, null, 'no_category');
|
|
|
$session_categories = UserManager::get_sessions_by_category($user_id, true, false, true, $start, $this->maxPerPage, 'no_category');
|
|
@@ -1046,8 +1089,9 @@ class PageController
|
|
|
|
|
|
$html = null;
|
|
|
//Showing history title
|
|
|
- if ($load_history) {
|
|
|
- $html .= Display::page_subheader(get_lang('HistoryTrainingSession'));
|
|
|
+
|
|
|
+ if ($loadHistory) {
|
|
|
+ // $html .= Display::page_subheader(get_lang('HistoryTrainingSession'));
|
|
|
if (empty($session_categories)) {
|
|
|
$html .= get_lang('YouDoNotHaveAnySessionInItsHistory');
|
|
|
}
|
|
@@ -1057,7 +1101,8 @@ class PageController
|
|
|
|
|
|
$sessions_with_no_category = $html;
|
|
|
|
|
|
- if (is_array($session_categories)) {
|
|
|
+ if (isset($session_categories) && !empty($session_categories)) {
|
|
|
+
|
|
|
foreach ($session_categories as $session_category) {
|
|
|
$session_category_id = $session_category['session_category']['id'];
|
|
|
|
|
@@ -1123,27 +1168,28 @@ class PageController
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- $adapter = new FixedAdapter($nbResults, array());
|
|
|
- $pagerfanta = new Pagerfanta($adapter);
|
|
|
- $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
- $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
|
|
|
- $view = new TwitterBootstrapView();
|
|
|
- $app = $this->app;
|
|
|
- $routeGenerator = function($page) use ($app, $filter) {
|
|
|
- return $app['url_generator']->generate('userportal', array(
|
|
|
- 'filter' => $filter,
|
|
|
- 'type' => 'sessions',
|
|
|
- 'page' => $page)
|
|
|
- );
|
|
|
- };
|
|
|
+ $adapter = new FixedAdapter($nbResults, array());
|
|
|
+ $pagerfanta = new Pagerfanta($adapter);
|
|
|
+ $pagerfanta->setMaxPerPage($this->maxPerPage); // 10 by default
|
|
|
+ $pagerfanta->setCurrentPage($page); // 1 by default
|
|
|
+
|
|
|
+ $view = new TwitterBootstrapView();
|
|
|
+ $app = $this->app;
|
|
|
+ $routeGenerator = function($page) use ($app, $filter) {
|
|
|
+ return $app['url_generator']->generate('userportal', array(
|
|
|
+ 'filter' => $filter,
|
|
|
+ 'type' => 'sessions',
|
|
|
+ 'page' => $page)
|
|
|
+ );
|
|
|
+ };
|
|
|
|
|
|
- $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
- 'proximity' => 3,
|
|
|
- ));
|
|
|
- return $sessions_with_no_category.$pagination;
|
|
|
+ $pagination = $view->render($pagerfanta, $routeGenerator, array(
|
|
|
+ 'proximity' => 3,
|
|
|
+ ));
|
|
|
+ $sessions_with_no_category .= $pagination;
|
|
|
+ }
|
|
|
+ return $sessions_with_no_category;
|
|
|
}
|
|
|
|
|
|
/**
|