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;