Browse Source

Create tpl for sessions without category on User Portal page - refs BT#9885 #TMI

Angel Fernando Quiroz Campos 9 years ago
parent
commit
3c6dee279f

+ 1 - 32
main/inc/lib/course.lib.php

@@ -3175,37 +3175,6 @@ class CourseManager
         return $html;
     }
 
-    public static function session_list_html($params,$items_session, $is_sub_content = false)
-    {
-        $html = '';
-        $params['right_actions'] = isset($params['right_actions']) ? $params['right_actions'] : null;
-        $class = "panel-body";
-        $html .= '<div class="panel-heading">';
-        if (!empty($params['link'])){
-            $html.= '<a href="'.$params['link'].'">';
-            $html.= $params['icon'];
-            $html.= '</a>';
-        }else{
-            $html.= $params['icon'];
-        }
-        $html .= $params['title'];
-        $html .= '<div class="pull-right">' . $params['right_actions'] . '</div>';
-        $html .= '</div>';
-        $html .= '<div class="sessions ' . $class . '">';
-        $html .= '<div class="row">';
-        $html .= '<div class="col-md-12">';
-        if (!empty($params['subtitle'])) {
-            $html .= '<p class="subtitle-session"><i class="fa fa-clock-o"></i> ' . $params['subtitle'] . '</p>';
-        }
-        if (isset($params['show_description'], $params['description']) && $params['show_description'] == 1) {
-            $html .= '<p class="description-session">' . $params['description'] . '</p>';
-        }
-        $html .= $items_session;
-        $html .= '</div>';
-        $html .= '</div>';
-        $html .= '</div>';
-        return $html;
-    }
     /**
      * Builds the course block in user_portal.php
      * @todo use Twig
@@ -3879,7 +3848,7 @@ class CourseManager
         $params['title'] = $session_title;
         $params['extra'] = '';
 
-        $html = self::session_items_html($params, true);
+        $html = $params;
 
         $session_category_id = null;
         if (1) {

+ 19 - 41
main/inc/lib/userportal.lib.php

@@ -1168,7 +1168,7 @@ class IndexManager
                         $count_courses_session = 0;
 
                         // Loop course content
-                        $html_courses_session = '';
+                        $html_courses_session = [];
                         $atLeastOneCourseIsVisible = false;
 
                         foreach ($session['courses'] as $course) {
@@ -1212,7 +1212,9 @@ class IndexManager
                                         true,
                                         $this->load_directories_preview
                                     );
-                                    $html_courses_session .= isset($c[1]) ? $c[1] : null;
+                                    if (isset($c[1])) {
+                                        $html_courses_session[] = $c['1'];
+                                    }
                                 }
                                 $count_courses_session++;
                             }
@@ -1226,42 +1228,19 @@ class IndexManager
                         }
 
                         if ($count_courses_session > 0) {
-                            $params = array();
-                            $session_box = Display::get_session_title_box($session_id);
-                            $params['icon'] = Display::return_icon(
-                                'window_list.png',
-                                $session_box['title'],
-                                array('id' => 'session_img_' . $session_id),
-                                ICON_SIZE_MEDIUM
+                            $params = array(
+                                'id' => $session_id
                             );
+                            $session_box = Display::get_session_title_box($session_id);
+
                             $extra_info = !empty($session_box['coach']) ? $session_box['coach'] : null;
                             $extra_info .= !empty($session_box['coach']) ? ' - '.$session_box['dates'] : $session_box['dates'];
                             $extra_info .= isset($session_box['duration']) ? ' '.$session_box['duration'] : null;
 
-                            if (api_is_drh()) {
-                                $session_link = $session_box['title'];
-                                $params['link'] = null;
-                            } else {
-                                $session_link = Display::tag(
-                                    'a',
-                                    $session_box['title'],
-                                    array(
-                                        'href' => api_get_path(
-                                                WEB_CODE_PATH
-                                            ) . 'session/index.php?session_id=' . $session_id
-                                    )
-                                );
-                                $params['link'] = api_get_path(WEB_CODE_PATH).'session/index.php?session_id='.$session_id;
-                            }
-
-                            $params['title'] = $session_link;
+                            $params['show_link_to_session'] = api_is_drh() ? false : true;
+                            $params['title'] = $session_box['title'];
                             $params['subtitle'] = $extra_info;
-
-                            $params['right_actions'] = '';
-                            if (api_is_platform_admin()) {
-                                $params['right_actions'] .= '<a href="'.api_get_path(WEB_CODE_PATH).'admin/resume_session.php?id_session='.$session_id.'">';
-                                $params['right_actions'] .= Display::return_icon('edit.png', get_lang('Edit'), array('align' => 'absmiddle'), ICON_SIZE_SMALL).'</a>';
-                            }
+                            $params['show_actions'] = api_is_platform_admin() ? true : false;
 
                             if (api_get_setting('hide_courses_in_sessions') == 'false') {
                                 // $params['extra'] .=  $html_courses_session;
@@ -1269,20 +1248,19 @@ class IndexManager
 
                             $params['description'] = $session_box['description'];
                             $params['show_description'] = $session_box['show_description'];
+                            $params['courses'] = $html_courses_session;
+                            $params['show_simple_session_info'] = false;
 
-                            $items_courses_session = '<div class="sessions-items">'.$html_courses_session.'</div>';
-                            /* Icon session no category */
-                            $parentInfo = CourseManager::session_list_html($params,$items_courses_session,true);
-
-                            if (isset($_configuration['show_simple_session_info']) &&
+                            if (
+                                isset($_configuration['show_simple_session_info']) &&
                                 $_configuration['show_simple_session_info']
                             ) {
-                                $params['title'] = $session_box['title'];
-                                $parentInfo = CourseManager::course_item_html_no_icon($params);
+                                $params['show_simple_session_info'] = true;
                             }
 
-                            $sessions_with_no_category .= CourseManager::course_item_parent(
-                                $parentInfo,null
+                            $this->tpl->assign('session', $params);
+                            $sessions_with_no_category .= $this->tpl->fetch(
+                                "{$this->tpl->templateFolder}/user_portal/sessions_without_category.tpl"
                             );
 
                             $sessionCount++;

+ 92 - 0
main/template/default/user_portal/sessions_without_category.tpl

@@ -0,0 +1,92 @@
+<div class="panel panel-default">
+    {% if not session.show_simple_session_info %}
+        <div class="panel-heading">
+            {% if session.show_link_to_session %}
+                <a href="{{ _p.web_main ~ 'session/index.php?session_id=' ~ session.id }}">
+                    <img id="session_img_{{ session.id }}" src="{{ "window_list.png"|icon(32) }}" alt="{{ session.title }}" title="{{ session.title }}">
+                    {{ session.title }}
+                </a>
+            {% else %}
+                <img id="session_img_{{ session.id }}" src="{{ "window_list.png"|icon(32) }}" alt="{{ session.title }}" title="{{ session.title }}">
+                {{ session.title }}
+            {% endif %}
+            {% if session.show_actions %}
+                <div class="pull-right">
+                    <a href="{{ _p.web_main ~ "session/resume_session.php?id_session=" ~ session.id }}">
+                        <img src="{{ "edit.png"|icon(22) }}" alt="{{ "Edit"|get_lang }}" title="{{ "Edit"|get_lang }}">
+                    </a>
+                </div>
+            {% endif %}
+        </div>
+    {% endif %}
+
+    <div class="sessions panel-body">
+        {% if session.show_simple_session_info %}
+            <div class="row">
+                <div class="col-md-7">
+                    <h3>
+                        {{ session.title ~ session.notifications }}
+                    </h3>
+
+                    {% if session.show_description %}
+                        <div>
+                            {{ session.description }}
+                        </div>
+                    {% endif %}
+
+                    {% if session.subtitle %}
+                        <small>{{ session.subtitle }}</small>
+                    {% endif %}
+
+                    {% if session.teachers %}
+                        <h5>{{ "teacher.png"|icon(16) ~ session.teachers }}</h5>
+                    {% endif %}
+
+                    {% if session.coaches %}
+                        <h5>{{ "teacher.png"|icon(16) ~ session.coaches }}</h5>
+                    {% endif %}
+                </div>
+
+                {% if session.show_actions %}
+                    <div class="col-md-5 text-right">
+                        <a href="{{ _p.web_main ~ "session/resume_session.php?id_session=" ~ session.id }}">
+                            <img src="{{ "edit.png"|icon(22) }}" alt="{{ "Edit"|get_lang }}" title="{{ "Edit"|get_lang }}">
+                        </a>
+                    </div>
+                {% endif %}
+            </div>
+        {% else %}
+            <div class="row">
+                <div class="col-md-12">
+                    {% if session.subtitle %}
+                        <p class="subtitle-session">
+                            <i class="fa fa-clock-o"></i> <em>{{ session.subtitle }}</em>
+                        </p>
+                    {% endif %}
+                    {% if session.show_description %}
+                        <div class="description-session">
+                            {{ session.description }}
+                        </div>
+                    {% endif %}
+                    <div class="sessions-items">
+                        {% for item in session.courses %}
+                            <div class="row">
+                                <div class="col-md-2">
+                                    {% if item.link %}
+                                        <a href="{{ item.link }}" class="thumbnail">{{ item.icon }}</a>
+                                    {% else %}
+                                        {{ item.icon }}
+                                    {% endif %}
+                                </div>
+                                <div class="col-md-10">
+                                    {{ item.title }}
+                                    {{ item.coaches }}
+                                </div>
+                            </div>
+                        {% endfor %}
+                    </div>
+                </div>
+            </div>
+        {% endif %}
+    </div>
+</div>