diff --git a/main/coursecopy/classes/CourseSelectForm.class.php b/main/coursecopy/classes/CourseSelectForm.class.php index 53aac6b1c6..d3386242c3 100755 --- a/main/coursecopy/classes/CourseSelectForm.class.php +++ b/main/coursecopy/classes/CourseSelectForm.class.php @@ -141,7 +141,7 @@ class CourseSelectForm $course_infos = CourseManager::get_course_information($hidden_fields['destination_course']); echo '

'; - echo get_lang('DestinationCourse').' : '.$course_infos['title'] . $sessionTitle; + echo get_lang('DestinationCourse').' : '.$course_infos['title'] . ' ('.$course_infos['code'].') '.$sessionTitle; echo '

'; } echo ''; diff --git a/main/coursecopy/copy_course.php b/main/coursecopy/copy_course.php index 1e45ddc986..fb41ddc237 100755 --- a/main/coursecopy/copy_course.php +++ b/main/coursecopy/copy_course.php @@ -104,7 +104,7 @@ if (Security::check_token('post') && ( $options = array(); while ($obj = Database::fetch_object($res)) { $courseInfo = api_get_course_info_by_id($obj->c_id); - $options[$courseInfo['code']] = $obj->title; + $options[$courseInfo['code']] = $obj->title.' ('.$obj->code.')'; } $form = new FormValidator('copy_course', 'post', 'copy_course.php?'.api_get_cidreq()); diff --git a/main/exercice/exercise.php b/main/exercice/exercise.php index d32fc5c406..0c769ba026 100644 --- a/main/exercice/exercise.php +++ b/main/exercice/exercise.php @@ -38,6 +38,7 @@ $courseInfo = api_get_course_info(); $courseId = $courseInfo['real_id']; $userInfo = api_get_user_info(); $userId = $userInfo['id']; +$sessionId = api_get_session_id(); $isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh( $userId, $courseInfo @@ -182,7 +183,7 @@ if ($is_allowedToEdit) { // we got variable $courseId $courseInfo session api_get_session_id() $exerciseList = ExerciseLib::get_all_exercises_for_course_id( $courseInfo, - api_get_session_id(), + $sessionId, $courseId, false ); @@ -231,17 +232,33 @@ if ($is_allowedToEdit) { break; case 'enable': // enables an exercise - $objExerciseTmp->enable(); - $objExerciseTmp->save(); - api_item_property_update($courseInfo, TOOL_QUIZ, $objExerciseTmp->id, 'visible', $userId); + if (empty($sessionId)) { + $objExerciseTmp->enable(); + $objExerciseTmp->save(); + } + api_item_property_update( + $courseInfo, + TOOL_QUIZ, + $objExerciseTmp->id, + 'visible', + $userId + ); // "WHAT'S NEW" notification: update table item_property (previously last_tooledit) Display :: display_confirmation_message(get_lang('VisibilityChanged')); break; case 'disable': // disables an exercise - $objExerciseTmp->disable(); - $objExerciseTmp->save(); - api_item_property_update($courseInfo, TOOL_QUIZ, $objExerciseTmp->id, 'invisible', $userId); + if (empty($sessionId)) { + $objExerciseTmp->disable(); + $objExerciseTmp->save(); + } + api_item_property_update( + $courseInfo, + TOOL_QUIZ, + $objExerciseTmp->id, + 'invisible', + $userId + ); Display :: display_confirmation_message(get_lang('VisibilityChanged')); break; case 'disable_results': @@ -586,7 +603,24 @@ if (!empty($exercise_list)) { ); } - $visibility = api_get_item_visibility($courseInfo, TOOL_QUIZ, $my_exercise_id); + $visibility = api_get_item_visibility( + $courseInfo, + TOOL_QUIZ, + $my_exercise_id, + 0 + ); + + if (!empty($sessionId)) { + if ($visibility == 0) { + continue; + } + $visibility = api_get_item_visibility( + $courseInfo, + TOOL_QUIZ, + $my_exercise_id, + $sessionId + ); + } if ($row['active'] == 0 || $visibility == 0) { $title = Display::tag('font', $cut_title, array('style' => 'color:grey')); @@ -685,6 +719,26 @@ if (!empty($exercise_list)) { } else { // not session $actions = Display::return_icon('edit_na.png', get_lang('ExerciseEditionNotAvailableInSession')); + + // Check if this exercise was added in a LP + if ($exercise_obj->exercise_was_added_in_lp == true) { + $actions .= Display::return_icon('invisible.png', get_lang('AddedToLPCannotBeAccessed'), '', ICON_SIZE_SMALL); + } else { + + if ($row['active'] == 0 || $visibility == 0) { + $actions .= Display::url( + Display::return_icon('invisible.png', get_lang('Activate'), '', ICON_SIZE_SMALL), + 'exercise.php?'.api_get_cidreq().'&choice=enable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id'] + ); + } else { + // else if not active + $actions .= Display::url( + Display::return_icon('visible.png', get_lang('Deactivate'), '', ICON_SIZE_SMALL), + 'exercise.php?'.api_get_cidreq().'&choice=disable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id'] + ); + } + } + $actions .=''. Display :: return_icon('test_results.png', get_lang('Results'), '', ICON_SIZE_SMALL).''; $actions .= Display::url(Display::return_icon('cd.gif', get_lang('CopyExercise')), '', array('onclick' => "javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('AreYouSureToCopy'), ENT_QUOTES, $charset))." ".addslashes($row['title'])."?"."')) return false;", 'href' => 'exercise.php?'.api_get_cidreq().'&choice=copy_exercise&sec_token='.$token.'&exerciseId='.$row['id'])); @@ -743,7 +797,12 @@ if (!empty($exercise_list)) { $item .= Display::tag('td', $number_of_questions); } else { // Student only. - $visibility = api_get_item_visibility($courseInfo, TOOL_QUIZ, $my_exercise_id); + $visibility = api_get_item_visibility( + $courseInfo, + TOOL_QUIZ, + $my_exercise_id, + $sessionId + ); if ($visibility == 0) { continue;