Browse Source

Fix update_category_delete function to use course id instead of course code

jmontoyaa 8 years ago
parent
commit
0781ff54a8

+ 3 - 2
main/admin/course_add.php

@@ -102,9 +102,10 @@ $form->applyFilter('department_url', 'html_filter');
 
 // Course language.
 $languages = api_get_languages();
-if (count($languages['name']) === 1) {
+// Changed in master
+if (count($languages) === 1) {
     // If there's only one language available, there's no point in asking
-    $form->addElement('hidden', 'course_language', $languages['folder'][0]);
+    $form->addElement('hidden', 'course_language', $languages[0]);
 } else {
     $form->addElement(
         'select_language',

+ 12 - 6
main/admin/course_list.php

@@ -282,9 +282,12 @@ if (isset($_POST['action'])) {
             $course_codes = $_POST['course'];
             if (count($course_codes) > 0) {
                 foreach ($course_codes as $course_code) {
-                    CourseManager::delete_course($course_code);
-                    $obj_cat = new Category();
-                    $obj_cat->update_category_delete($course_code);
+                    $courseToDelete = api_get_course_info($course_code);
+                    if ($courseToDelete) {
+                        CourseManager::delete_course($course_code);
+                        $obj_cat = new Category();
+                        $obj_cat->update_category_delete($courseToDelete['real_id']);
+                    }
                 }
             }
             break;
@@ -344,9 +347,12 @@ if (isset ($_GET['search']) && $_GET['search'] === 'advanced') {
     $interbreadcrumb[] = array ('url' => 'index.php', "name" => get_lang('PlatformAdmin'));
     $tool_name = get_lang('CourseList');
     if (isset($_GET['delete_course'])) {
-        CourseManager::delete_course($_GET['delete_course']);
-        $obj_cat = new Category();
-        $obj_cat->update_category_delete($_GET['delete_course']);
+        $courseToDelete = api_get_course_info($_GET['delete_course']);
+        if ($courseToDelete) {
+            CourseManager::delete_course($_GET['delete_course']);
+            $obj_cat = new Category();
+            $obj_cat->update_category_delete($courseToDelete['real_id']);
+        }
 
     }
     // Create a search-box

+ 4 - 0
main/admin/index.php

@@ -1,5 +1,6 @@
 <?php
 /* For licensing terms, see /license.txt */
+
 /**
  * Index page of the admin tools
  * @package chamilo.admin
@@ -10,6 +11,9 @@ $cidReset = true;
 // Including some necessary chamilo files.
 require_once __DIR__.'/../inc/global.inc.php';
 
+header('Location: '.api_get_path(WEB_PATH).'admin');
+exit;
+
 // Setting the section (for the tabs).
 $this_section = SECTION_PLATFORM_ADMIN;
 

+ 1 - 1
main/course_info/delete_course.php

@@ -29,7 +29,7 @@ $tool_name = get_lang('DelCourse');
 if (isset($_GET['delete']) && $_GET['delete'] === 'yes') {
     CourseManager::delete_course($_course['sysCode']);
     $obj_cat = new Category();
-    $obj_cat->update_category_delete($_course['sysCode']);
+    $obj_cat->update_category_delete($_course['real_id']);
 
     // DELETE CONFIRMATION MESSAGE
     Session::erase('_cid');

+ 3 - 2
main/gradebook/lib/be/category.class.php

@@ -728,12 +728,13 @@ class Category implements GradebookItem
 
     /**
      * Not delete this category from the database,when visible=3 is category eliminated
+     * @param int $courseId
      */
-    public function update_category_delete($course_id)
+    public function update_category_delete($courseId)
     {
         $tbl_grade_categories = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
         $sql = 'UPDATE '.$tbl_grade_categories.' SET visible=3
-                WHERE course_code ="'.Database::escape_string($course_id).'"';
+                WHERE c_id ="'.intval($courseId).'"';
         Database::query($sql);
     }