Browse Source

Merge pull request #230 from ycastillo/fixes.6654

Addign button in popular courses -refs #6654
Yannick Warnier 11 years ago
parent
commit
2263bcde62
2 changed files with 20 additions and 2 deletions
  1. 19 2
      main/inc/lib/course.lib.php
  2. 1 0
      main/template/default/layout/hot_course_item.tpl

+ 19 - 2
main/inc/lib/course.lib.php

@@ -4130,6 +4130,8 @@ class CourseManager
 
         foreach ($courses as &$my_course) {
             $course_info = api_get_course_info($my_course['course_code']);
+            $courseCode = $my_course['course_code'];
+            $categoryCode = $my_course['categoryCode'];
             $my_course['extra_info'] = $course_info;
             $my_course['extra_info']['go_to_course_button'] = '';
             $my_course['extra_info']['register_button'] = '';
@@ -4143,6 +4145,10 @@ class CourseManager
             if ($access_link && in_array('enter', $access_link)) {
                 $my_course['extra_info']['go_to_course_button'] = Display::url(get_lang('GoToCourse'), api_get_path(WEB_COURSE_PATH).$course_info['path'].'/index.php', array('class' => 'btn btn-primary'));
             }
+            
+            if ($access_link && in_array('unsubscribe', $access_link)) {
+                $my_course['extra_info']['unsubscribe_button'] = Display::url(get_lang('Unsubscribe'), api_get_path(WEB_CODE_PATH).'auth/courses.php?action=unsubscribe&unsubscribe='.$courseCode.'&sec_token='.$stok.'&category_code='.$categoryCode, array('class' => 'btn btn-primary'));
+            }
 
             //Description
             $my_course['extra_info']['description_button'] = '';
@@ -4244,7 +4250,6 @@ class CourseManager
         $options = array();
         // Register button
         if (!api_is_anonymous($uid) &&
-            !$is_admin &&
             (
                 ($course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD || $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM)
                 //$course['visibility'] == COURSE_VISIBILITY_REGISTERED && $course['subscribe'] == SUBSCRIBE_ALLOWED
@@ -4263,7 +4268,19 @@ class CourseManager
         ) {
             $options[]=  'enter';
         }
-
+        
+        if ($is_admin ||
+            $course['visibility'] == COURSE_VISIBILITY_OPEN_WORLD && empty($course['registration_code']) ||
+            (api_user_is_login($uid) && $course['visibility'] == COURSE_VISIBILITY_OPEN_PLATFORM && empty($course['registration_code']) ) ||
+            (in_array($course['real_id'], $user_courses) && $course['visibility'] != COURSE_VISIBILITY_CLOSED)
+        ) {
+            $options[]=  'enter';
+        }
+        
+         if ($course['visibility'] != HIDDEN && empty($course['registration_code']) && $course['unsubscribe'] == UNSUBSCRIBE_ALLOWED && api_user_is_login($uid) && (in_array($course['real_id'], $user_courses))) {
+            $options[]=  'unsubscribe';
+        }
+        
         return $options;
     }
 

+ 1 - 0
main/template/default/layout/hot_course_item.tpl

@@ -18,6 +18,7 @@
                             {{ hot_course.extra_info.description_button }}
                             {{ hot_course.extra_info.go_to_course_button }}
                             {{ hot_course.extra_info.register_button }}
+                            {{ hot_course.extra_info.unsubscribe_button }}
                         </p>
                     </div>
                 </div>