瀏覽代碼

add template layout list course BT#10654

Alex Aragon 8 年之前
父節點
當前提交
c2d5712270

+ 39 - 24
main/template/rainbow/auth/courses_categories.php

@@ -171,6 +171,7 @@ $code = isset($code) ? $code : null;
     <?php } ?>
 </div>
  <?php  } ?>
+<div class="grid-courses">
 <div class="row">
 <?php
 if ($showCourses && $action != 'display_sessions') {
@@ -189,10 +190,11 @@ if ($showCourses && $action != 'display_sessions') {
     if (!empty($search_term)) {
         echo "<p><strong>".get_lang('SearchResultsFor')." ".Security::remove_XSS($_POST['search_term'])."</strong><br />";
     }
-
+    $listCategory = CourseManager::getCategoriesList();
+    
     $ajax_url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=add_course_vote';
     $user_id = api_get_user_id();
-
+    
     if (!empty($browse_courses_in_category)) {
         foreach ($browse_courses_in_category as $course) {
             $course_hidden = ($course['visibility'] == COURSE_VISIBILITY_HIDDEN);
@@ -213,17 +215,17 @@ if ($showCourses && $action != 'display_sessions') {
             $course_unsubscribe_allowed = ($course['unsubscribe'] == 1);
             $count_connections = $course['count_connections'];
             $creation_date = substr($course['creation_date'],0,10);
-
+            
             $icon_title = null;
             $html = null;
             // display the course bloc
-            $html .= '<div class="col-xs-6 col-sm-6 col-md-3"><div class="items-course">';
+            $html .= '<div class="col-xs-6 col-sm-6 col-md-3"><div class="items">';
 
             // display thumbnail
-            $html .= return_thumbnail($course, $icon_title);
+            $html .= returnThumbnail($course, $listCategory[$course['category']]);
 
             // display course title and button bloc
-            $html .= '<div class="items-course-info">';
+            $html .= '<div class="description">';
             $html .= return_title($course);
             // display button line
             $html .= '<div class="toolbar">';
@@ -242,7 +244,7 @@ if ($showCourses && $action != 'display_sessions') {
                 }
             } elseif ($user_registerd_in_course_as_teacher) {
                 // if user registered as teacher
-                $html .= return_goto_button($course);
+                
 
                 if ($course_unsubscribe_allowed) {
                     $html .= return_unregister_button($course, $stok, $search_term, $code);
@@ -253,7 +255,7 @@ if ($showCourses && $action != 'display_sessions') {
                 // if user not registered in the course
                 if (!$course_closed) {
                     if (!$course_private) {
-                        $html .= return_goto_button($course);
+                        
                         if ($course_subscribe_allowed) {
                             $html .= return_register_button($course, $stok, $code, $search_term);
                         }
@@ -279,16 +281,18 @@ if ($showCourses && $action != 'display_sessions') {
 }
 ?>
 </div>
+</div>
 <?php
 
 echo $cataloguePagination;
 
 /**
  * Display the course catalog image of a course
- * @param $course
- * @param $icon_title
+ * @param array $course
+ * @param string $categoryTitle
+ * @return string HTML string
  */
-function return_thumbnail($course, $icon_title)
+function returnThumbnail($course, $categoryTitle=null)
 {
     $html = '';
     $title = cut($course['title'], 70);
@@ -301,22 +305,35 @@ function return_thumbnail($course, $icon_title)
         // without picture
         $course_medium_image = Display::returnIconPath('session_default.png');
     }
-
-    // course image
-
-    $html .= '<div class="items-course-image">';
-    if (api_get_setting('show_courses_descriptions_in_catalog') == 'true') {
-        $html .= '<a class="ajax" href="'.api_get_path(WEB_CODE_PATH).'inc/ajax/course_home.ajax.php?a=show_course_information&code='.$course['code'].'" title="'.$icon_title.'" rel="gb_page_center[778]">';
-        $html .= '<img class="img-responsive" src="'.$course_medium_image.'" alt="'.api_htmlentities($title).'" />';
-        $html .= '</a>';
-    } else {
-        $html .= '<img class="img-responsive" src="'.$course_medium_image.'" alt="'.api_htmlentities($title).'"/>';
+    
+    $html .= '<div class="image">';
+    $html .= '<img class="img-responsive" src="'.$course_medium_image.'" alt="'.api_htmlentities($title).'"/>';
+    if (!empty($categoryTitle)) {
+        $html .= '<span class="category">'. $categoryTitle.'</span>';
+        $html .= '<div class="cribbon"></div>';
     }
-    $html .= '</div>';
+    $teachers = CourseManager::getTeachersFromCourseByCode($course['code']);
+    $html .= '<div class="black-shadow">';
+    $html .= '<div class="author-card">';
+    $count = 0;
+    foreach ($teachers as $value) {
+        if ($count>2) {
+            break;
+        }
+        $name = $value['firstname'].' ' . $value['lastname'];
+        $html .= '<a href="'.$value['url'].'" class="ajax" data-title="'.$name.'">
+                <img src="'.$value['avatar'].'"/></a>';
+        $html .= '<div class="teachers-details"><h5>
+                <a href="'.$value['url'].'" class="ajax" data-title="'.$name.'">'
+                . $name . '</a></h5></div>';
+        $count ++;
+    }
+    $html .= '</div></div></div>';
 
     return $html;
 }
 
+
 /**
  * Display the title of a course in course catalog
  * @param $course
@@ -327,10 +344,8 @@ function return_title($course)
     $linkCourse = api_get_course_url($course['code']);
     $title = cut($course['title'], 70);
     $ajax_url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=add_course_vote';
-    $teachers = CourseManager::get_teacher_list_from_course_code_to_string($course['code']);
     $rating = Display::return_rating_system('star_'.$course['real_id'], $ajax_url.'&course_id='.$course['real_id'], $course['point_info']);
     $html .=  '<h4 class="title"><a href="' . $linkCourse . '">' . cut($title, 60) . '</a></h4>';
-    $html .= '<div class="teachers">'.$teachers.'</div>';
     $html .= '<div class="ranking">'. $rating . '</div>';
 
     return $html;

+ 7 - 7
main/template/rainbow/auth/courses_list.php

@@ -85,17 +85,17 @@ if (!empty($user_course_categories)) {
                     <a name="course<?php echo $course['code']; ?>"></a>
                     <strong><?php echo $course['title']; ?></strong><br />
                     <?php
-                    if (api_get_setting('display_coursecode_in_courselist') == 'true') {
+                    if (api_get_setting('display_coursecode_in_courselist') === 'true') {
                         echo $course['visual_code'];
                     }
 
-                    if (api_get_setting('display_coursecode_in_courselist') == 'true' &&
-                        api_get_setting('display_teacher_in_courselist') == 'true'
+                    if (api_get_setting('display_coursecode_in_courselist') === 'true' &&
+                        api_get_setting('display_teacher_in_courselist') === 'true'
                     ) {
                         echo " - ";
                     }
 
-                    if (api_get_setting('display_teacher_in_courselist') == 'true') {
+                    if (api_get_setting('display_teacher_in_courselist') === 'true') {
                         echo $course['tutor'];
                     }
                     ?>
@@ -192,9 +192,9 @@ if (!empty($courses_without_category)) {
             <a name="course<?php echo $course['code']; ?>"></a>
             <strong><?php echo $course['title']; ?></strong><br />
             <?php
-            if (api_get_setting('display_coursecode_in_courselist') == 'true') { echo $course['visual_code']; }
-            if (api_get_setting('display_coursecode_in_courselist') == 'true' && api_get_setting('display_teacher_in_courselist') == 'true') { echo " - "; }
-            if (api_get_setting('display_teacher_in_courselist') == 'true') { echo $course['tutor']; }
+            if (api_get_setting('display_coursecode_in_courselist') === 'true') { echo $course['visual_code']; }
+            if (api_get_setting('display_coursecode_in_courselist') === 'true' && api_get_setting('display_teacher_in_courselist') === 'true') { echo " - "; }
+            if (api_get_setting('display_teacher_in_courselist') === 'true') { echo $course['tutor']; }
             ?>
         </td>
         <td valign="top">

+ 5 - 0
main/template/rainbow/layout/header.js.tpl

@@ -211,6 +211,11 @@ $(document).ready(function(){
             });
         });
     };
+    $(".black-shadow").mouseenter(function() {
+        $(this).addClass('hovered-course');
+    }).mouseleave(function() {
+         $(this).removeClass('hovered-course');
+    });
 });
 
 $(window).resize(function() {

+ 45 - 23
main/template/rainbow/layout/hot_course_item.tpl

@@ -1,27 +1,49 @@
-{% for hot_course in hot_courses %}
-    {% if hot_course.extra_info.title %}
-                    <div class="col-md-3">
-                        <div class="items-course">
-                            <div class="items-course-image">
-                                <a href="{{ hot_course.extra_info.course_public_url }}"><img class="img-responsive" src="{{ hot_course.extra_info.course_image_large }}" alt="{{ hot_course.extra_info.title|e }}"/></a>
-                            </div>
-                            <div class="items-course-info">
-                                <h4 class="title">
-                                    <a title="{{ hot_course.extra_info.title}}" href="{{ hot_course.extra_info.course_public_url }}">{{ hot_course.extra_info.title}}</a>
-                                </h4>
-                                <div class="teachers">{{ hot_course.extra_info.teachers }}</div>
-                                <div class="ranking">
-                                    {{ hot_course.extra_info.rating_html }}
-                                </div>
-                                <div class="toolbar">
-                                    <div class="btn-group" role="group">
-                                    {{ hot_course.extra_info.description_button }}
-                                    {{ hot_course.extra_info.register_button }}
-                                    {{ hot_course.extra_info.unsubscribe_button }}
-                                    </div>
-                                </div>
-                            </div>
+{% for item in hot_courses %}
+    {% if item.title %}
+        <div class="col-md-3 col-sm-3 col-xs-6">
+            <div class="items">
+                <div class="image">
+                    <img src="{{ item.course_image_large }}" class="img-responsive">
+                    {% if item.categoryName != '' %}
+                        <span class="category">{{ item.categoryName }}</span>
+                        <div class="cribbon"></div>
+                    {% endif %}
+                    <div class="black-shadow">
+                        <div class="author-card">  
+                        {% for teacher in item.teachers %}
+                            {% set counter = counter + 1 %}
+                            {% if counter <= 3 %}
+                                <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                    <img src="{{ teacher.avatar }}"/>
+                                </a>
+                                <div class="teachers-details">
+                                     <h5>
+                                        <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                            {{ teacher.firstname }} {{ teacher.lastname }}
+                                        </a>
+                                     </h5>
+                                </div>       
+                            {% endif %}
+                        {% endfor %}
                         </div>
                     </div>
+                    <div class="user-actions">{{ item.description_button }}</div>
+                </div>
+                <div class="description">
+                    <h4 class="title">
+                            <a title="{{ item.title}}" href="{{ item.course_public_url }}">{{ item.title}}</a>
+                    </h4>
+                    <div class="ranking">
+                        {{ item.rating_html }}
+                    </div>
+                    <div class="toolbar">
+                        <div class="btn-group" role="group">
+                            {{ item.register_button }}
+                            {{ item.unsubscribe_button }}
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
     {% endif %}
 {% endfor %}

+ 4 - 4
main/template/rainbow/layout/hot_courses.tpl

@@ -20,9 +20,9 @@ $(document).ready( function() {
     });
 });
 </script>
-<section id="hot_courses" class="container">
+<section class="hot-courses container">
     <div class="hot-course-head">
-        <h4 class="hot-course-title">
+        <h2 class="section-title">
             {{ "HottestCourses"|get_lang}}
             {% if _u.is_admin %}
             <span class="pull-right">
@@ -31,9 +31,9 @@ $(document).ready( function() {
                 </a>
             </span>
             {% endif %}
-        </h4>
+        </h2>
     </div>
-    <div id="hot-course">
+    <div class="grid-courses">
         <div class="row">
             {% include template ~ '/layout/hot_course_item.tpl' %}
         </div>

+ 5 - 6
main/template/rainbow/layout/layout_2_col.tpl

@@ -26,6 +26,11 @@
 <div class="container">
     <div class="row">
         <div class="col-md-12">
+            {% if home_page_block %}
+            <section id="homepage-home">
+                {{ home_page_block }}
+            </section>
+            {% endif %}
             <div class="stadistics">
                 <div class="row">
                     <div class="col-md-4">
@@ -57,12 +62,6 @@
                     </div>
                 </div>
             </div>
-        {% if home_page_block %}
-            <section id="homepage-home">
-                {{ home_page_block }}
-            </section>
-        {% endif %}
-
         </div>
     </div>    
 </div>	

+ 130 - 0
main/template/rainbow/user_portal/classic_courses.tpl

@@ -0,0 +1,130 @@
+<!-- view classic list special course -->
+
+<div class="classic-courses">
+    {% for item in special_courses %}
+        <div class="panel panel-default">
+            <div class="panel-body">
+                <div class="row">
+                    <div class="col-md-2">
+                        <a class="thumbnail">
+                            {% if item.thumbnails != '' %}
+                                <img src="{{ item.thumbnails }}" title="{{ item.title }}" alt="{{ item.title }}"/>
+                            {% else %}
+                                {{ 'blackboard.png' | img(48, item.title ) }}
+                            {% endif %}
+                        </a>
+                    </div>
+                    <div class="col-md-10">
+                        {% if item.edit_actions != '' %}
+                            <div class="pull-right">
+                                {% if item.document == '' %}
+                                    <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                        <i class="fa fa-pencil" aria-hidden="true"></i>
+                                    </a>
+                                {% else %}
+                                    <div class="btn-group" role="group">
+                                        <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                            <i class="fa fa-pencil" aria-hidden="true"></i>
+                                        </a>
+                                        {{ item.document }}
+                                    </div> 
+                                {% endif %}
+                            </div>
+                        {% endif %}
+                        <h4 class="course-items-title">
+                            {% if item.visibility == constant('COURSE_VISIBILITY_CLOSED') %}
+                                {{ item.title }} {{ item.code_course }}
+                            {% else %}
+                                <a href="{{ item.link }}">
+                                    {{ item.title }} {{ item.code_course }}
+                                </a>
+                                {{ item.notifications }}
+                                {{ 'klipper.png' | img(22, 'CourseAutoRegister'|get_lang ) }}
+                            {% endif %}
+                        </h4>
+                        <div class="course-items-session">
+                            {{ 'teacher.png' | img(16, 'Professor'|get_lang ) }}
+                            <ul class="teachers">
+                                {% for teacher in item.teachers %}
+                                <li>
+                                    {% set counter = counter + 1 %}
+                                    {% if counter > 1 %} | {% endif %}
+                                    <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                        {{ teacher.firstname }} {{ teacher.lastname }}
+                                    </a>
+                                </li>
+                                {% endfor %}
+                            </ul>  
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endfor %}
+</div>
+
+
+<!-- view classic list course -->
+{% for course in courses %}
+<div class="classic-courses">
+    {% for item in course %}
+        <div class="panel panel-default">
+            <div class="panel-body">
+                <div class="row">
+                    <div class="col-md-2">
+                        <a class="thumbnail">
+                            {% if item.thumbnails != '' %}
+                                <img src="{{ item.thumbnails }}" title="{{ item.title }}" alt="{{ item.title }}"/>
+                            {% else %}
+                                {{ 'blackboard.png' | img(48, item.title ) }}
+                            {% endif %}
+                        </a>
+                    </div>
+                    <div class="col-md-10">
+                        {% if item.edit_actions != '' %}
+                            <div class="pull-right">
+                                {% if item.document == '' %}
+                                    <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                        <i class="fa fa-pencil" aria-hidden="true"></i>
+                                    </a>
+                                {% else %}
+                                    <div class="btn-group" role="group">
+                                        <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                            <i class="fa fa-pencil" aria-hidden="true"></i>
+                                        </a>
+                                        {{ item.document }}
+                                    </div> 
+                                {% endif %}
+                            </div>
+                        {% endif %}
+                        <h4 class="course-items-title">
+                            {% if item.visibility == constant('COURSE_VISIBILITY_CLOSED') %}
+                                {{ item.title }} {{ item.code_course }}
+                            {% else %}
+                                <a href="{{ item.link }}">
+                                    {{ item.title }} {{ item.code_course }}
+                                </a>
+                                {{ item.notifications }}
+                            {% endif %}
+                        </h4>
+                        <div class="course-items-session">
+                            {{ 'teacher.png' | img(16, 'Professor'|get_lang ) }}
+                            <ul class="teachers">
+                                {% for teacher in item.teachers %}
+                                <li>
+                                    {% set counter = counter + 1 %}
+                                    {% if counter > 1 %} | {% endif %}
+                                    <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                        {{ teacher.firstname }} {{ teacher.lastname }}
+                                    </a>
+                                </li>
+                                {% endfor %}
+                            </ul>  
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endfor %}
+</div>
+{% endfor %}

+ 131 - 0
main/template/rainbow/user_portal/grid_courses.tpl

@@ -0,0 +1,131 @@
+<!-- new view course special -->
+<div class="grid-courses">
+<div class="row">
+    {% for item in special_courses %}
+    <div class="col-md-4 col-sm-4 col-xs-6">
+        <div class="items">
+            <div class="image">
+                <div class="pin">{{ item.icon }}</div>
+                <img src="{{ item.image }}" class="img-responsive">
+                {% if item.category != '' %}
+                <span class="category">{{ item.category }}</span>
+                <div class="cribbon"></div>
+                {% endif %}
+                <div class="black-shadow">
+                    <div class="author-card">  
+                    {% for teacher in item.teachers %}
+                        {% set counter = counter + 1 %}
+                        {% if counter <= 3 %}
+                        <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                            <img src="{{ teacher.avatar }}"/>
+                        </a>
+                        <div class="teachers-details">
+                             <h5>
+                                <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                    {{ teacher.firstname }} {{ teacher.lastname }}
+                                </a>
+                             </h5>
+                        </div>       
+                        {% endif %}
+                    {% endfor %}
+                    </div>
+                </div>
+                {% if item.edit_actions != '' %}
+                    <div class="admin-actions">
+                        {% if item.document == '' %}
+                            <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                <i class="fa fa-pencil" aria-hidden="true"></i>
+                            </a>
+                        {% else %}
+                            <div class="btn-group" role="group">
+                                <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                    <i class="fa fa-pencil" aria-hidden="true"></i>
+                                </a>
+                                {{ item.document }}
+                            </div> 
+                        {% endif %}
+                    </div>
+                {% endif %}
+            </div>
+            <div class="description">
+                <h4 class="title">
+                    {% if item.visibility == constant('COURSE_VISIBILITY_CLOSED') %}
+                        {{ item.title }} {{ item.code_course }}
+                    {% else %}
+                        <a href="{{ item.link }}">{{ item.title }} {{ item.code_course }}</a>
+                    {% endif %}
+                </h4>
+                <div class="notifications">{{ item.notifications }}</div>
+                
+            </div>
+        </div>
+    </div>
+    {% endfor %}
+    </div>
+</div>
+<!-- new view course list -->
+{% for course in courses %}
+<div class="grid-courses">
+<div class="row">
+    {% for item in course %}
+    <div class="col-md-4 col-sm-4 col-xs-6">
+        <div class="items">
+            <div class="image">
+                <img src="{{ item.image }}" class="img-responsive">
+                {% if item.category != '' %}
+                <span class="category">{{ item.category }}</span>
+                <div class="cribbon"></div>
+                {% endif %}
+                <div class="black-shadow">
+                    <div class="author-card">  
+                    {% for teacher in item.teachers %}
+                        {% set counter = counter + 1 %}
+                        {% if counter <= 3 %}
+                        <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                            <img src="{{ teacher.avatar }}"/>
+                        </a>
+                        <div class="teachers-details">
+                             <h5>
+                                <a href="{{ teacher.url }}" class="ajax" data-title="{{ teacher.firstname }} {{ teacher.lastname }}">
+                                    {{ teacher.firstname }} {{ teacher.lastname }}
+                                </a>
+                             </h5>
+                        </div>       
+                        {% endif %}
+                    {% endfor %}
+                    </div>
+                </div>
+                {% if item.edit_actions != '' %}
+                    <div class="admin-actions">
+                        {% if item.document == '' %}
+                            <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                <i class="fa fa-pencil" aria-hidden="true"></i>
+                            </a>
+                        {% else %}
+                            <div class="btn-group" role="group">
+                                <a class="btn btn-default btn-sm" href="{{ item.edit_actions }}">
+                                    <i class="fa fa-pencil" aria-hidden="true"></i>
+                                </a>
+                                {{ item.document }}
+                            </div> 
+                        {% endif %}
+                    </div>
+                {% endif %}
+            </div>
+            <div class="description">
+                <h4 class="title">
+                    {% if item.visibility == constant('COURSE_VISIBILITY_CLOSED') %}
+                        {{ item.title }} {{ item.code_course }}
+                    {% else %}
+                        <a href="{{ item.link }}">{{ item.title }} {{ item.code_course }}</a>
+                    {% endif %}
+                </h4>
+                <div class="notifications">{{ item.notifications }}</div>
+                
+            </div>
+        </div>
+    </div>
+    {% endfor %}
+    </div>
+</div>
+{% endfor %}

+ 12 - 0
main/template/rainbow/user_portal/search_extra_field.tpl

@@ -0,0 +1,12 @@
+{{ form_search }}
+
+{{ form }}
+
+<script>
+    $(function() {
+        {{ grid_js }}
+    });
+</script>
+
+{{ grid }}
+