diff --git a/main/exercice/exercise.class.php b/main/exercice/exercise.class.php index 48c3b28bfe..0a0e1aa281 100644 --- a/main/exercice/exercise.class.php +++ b/main/exercice/exercise.class.php @@ -1236,7 +1236,7 @@ class Exercise // insert into the item_property table api_item_property_update($this->course, TOOL_QUIZ, $this->id, 'QuizAdded', api_get_user_id()); - api_set_default_visibility($this->id, TOOL_QUIZ); + api_set_default_visibility($this->course, $this->id, TOOL_QUIZ); if (api_get_setting('search_enabled') == 'true' && extension_loaded('xapian')) { $this->search_engine_save(); diff --git a/main/forum/forumfunction.inc.php b/main/forum/forumfunction.inc.php index f8325515af..649740f71b 100644 --- a/main/forum/forumfunction.inc.php +++ b/main/forum/forumfunction.inc.php @@ -481,7 +481,6 @@ function show_edit_forumcategory_form($inputvalues = array()) function store_forumcategory($values) { $_course = api_get_course_info(); - global $_user; $course_id = api_get_course_int_id(); @@ -528,7 +527,7 @@ function store_forumcategory($values) 'ForumCategoryAdded', api_get_user_id() ); - api_set_default_visibility($last_id, TOOL_FORUM_CATEGORY); + api_set_default_visibility($_course, $last_id, TOOL_FORUM_CATEGORY); } $return_message = get_lang('ForumCategoryAdded'); } @@ -710,7 +709,7 @@ function store_forum($values) $last_id = Database::insert_id(); if ($last_id > 0) { api_item_property_update($_course, TOOL_FORUM, $last_id, 'ForumAdded', api_get_user_id(), $group_id); - api_set_default_visibility($last_id, TOOL_FORUM, $group_id); + api_set_default_visibility($_course, $last_id, TOOL_FORUM, $group_id); } $return_message = get_lang('ForumAdded'); } @@ -2180,7 +2179,7 @@ function store_thread($values) // to make the thread visible AND the post. //Default behaviour - api_set_default_visibility($last_thread_id, TOOL_FORUM_THREAD); + api_set_default_visibility($_course, $last_thread_id, TOOL_FORUM_THREAD); if ($visible == 0) { api_item_property_update($_course, TOOL_FORUM_THREAD, $last_thread_id, 'invisible', api_get_user_id()); diff --git a/main/inc/lib/fileManager.lib.php b/main/inc/lib/fileManager.lib.php index d685d243b4..2232667c16 100644 --- a/main/inc/lib/fileManager.lib.php +++ b/main/inc/lib/fileManager.lib.php @@ -991,7 +991,7 @@ class FileManager ); //Redo visibility - api_set_default_visibility(TOOL_DOCUMENT, $document_id); + api_set_default_visibility($_course, TOOL_DOCUMENT, $document_id); } // If the file is in a folder, we need to update all parent folders self::item_property_update_on_folder($_course, $upload_path, $user_id); @@ -1611,7 +1611,7 @@ class FileManager $document_id = Database::insert_id(); if ($document_id) { if ($save_visibility) { - api_set_default_visibility($document_id, TOOL_DOCUMENT, $group_id); + api_set_default_visibility($_course, $document_id, TOOL_DOCUMENT, $group_id); } } @@ -2121,4 +2121,4 @@ class FileManager } } } -} \ No newline at end of file +} diff --git a/main/inc/lib/link.lib.php b/main/inc/lib/link.lib.php index 01d42b862f..cf69d1deae 100644 --- a/main/inc/lib/link.lib.php +++ b/main/inc/lib/link.lib.php @@ -58,6 +58,7 @@ function addlinkcategory($type) { $ok = true; $course_id = api_get_course_int_id(); + $courseInfo = api_get_course_info(); if ($type == 'link') { $tbl_link = Database :: get_course_table(TABLE_LINK); @@ -118,7 +119,7 @@ function addlinkcategory($type) { $link_id = Database :: insert_id(); if ($link_id) { - api_set_default_visibility($link_id, TOOL_LINK); + api_set_default_visibility($courseInfo, $link_id, TOOL_LINK); } if ((api_get_setting('search_enabled') == 'true') && $link_id && extension_loaded('xapian')) { diff --git a/main/inc/lib/main_api.lib.php b/main/inc/lib/main_api.lib.php index d943c0e410..ecbcedda79 100644 --- a/main/inc/lib/main_api.lib.php +++ b/main/inc/lib/main_api.lib.php @@ -6179,7 +6179,7 @@ function api_is_global_chat_enabled(){ /** * @todo Fix tool_visible_by_default_at_creation labels */ -function api_set_default_visibility($item_id, $tool_id, $group_id = null) { +function api_set_default_visibility($courseInfo, $item_id, $tool_id, $group_id = null) { $original_tool_id = $tool_id; switch ($tool_id) { @@ -6215,13 +6215,13 @@ function api_set_default_visibility($item_id, $tool_id, $group_id = null) { if (empty($group_id)) { $group_id = api_get_group_id(); } - api_item_property_update(api_get_course_info(), $original_tool_id, $item_id, $visibility, api_get_user_id(), $group_id, null, null, null, api_get_session_id()); + api_item_property_update($courseInfo, $original_tool_id, $item_id, $visibility, api_get_user_id(), $group_id, null, null, null, api_get_session_id()); //Fixes default visibility for tests switch ($original_tool_id) { case TOOL_QUIZ: - $objExerciseTmp = new Exercise(); + $objExerciseTmp = new Exercise($courseInfo['real_id']); $objExerciseTmp->read($item_id); if ($visibility == 'visible') { $objExerciseTmp->enable(); diff --git a/main/newscorm/learnpath.class.php b/main/newscorm/learnpath.class.php index 13439a2029..fefa71c184 100644 --- a/main/newscorm/learnpath.class.php +++ b/main/newscorm/learnpath.class.php @@ -797,7 +797,7 @@ class learnpath $course_info = api_get_course_info(); // Insert into item_property. api_item_property_update($course_info, TOOL_LEARNPATH, $id, 'LearnpathAdded', api_get_user_id()); - api_set_default_visibility($id, TOOL_LEARNPATH); + api_set_default_visibility($course_info, $id, TOOL_LEARNPATH); return $id; } diff --git a/tests/datafiller/fill_exe.php b/tests/datafiller/fill_exe.php index e09adcbc6d..2808b2360b 100644 --- a/tests/datafiller/fill_exe.php +++ b/tests/datafiller/fill_exe.php @@ -27,16 +27,16 @@ function fill_exe() require_once $lib.'exercice/question.class.php'; require_once $lib.'exercice/answer.class.php'; foreach ($courses as $i => $course) { - $res = 0; //first check that the first item doesn't exist already $output[$i]['line-init'] = $course['title']; - $res = CourseManager::create_course($course); + $res = CourseManager::create_course($course); $output[$i]['line-info'] = ($res ? $res : get_lang('NotInserted')); $i++; if (is_array($res)) { //now insert an exercise foreach ($course['exes'] as $exe) { - $objExercise = new Exercise(); + + $objExercise = new Exercise($res['real_id']); $objExercise->id = 0; $objExercise->course_id = $res['real_id']; $objExercise->exercise = $exe['title'];