Browse Source

Update from 1.9.x

Julio Montoya 9 years ago
parent
commit
4db070a926

+ 1 - 1
main/coursecopy/classes/CourseSelectForm.class.php

@@ -141,7 +141,7 @@ class CourseSelectForm
 
             $course_infos = CourseManager::get_course_information($hidden_fields['destination_course']);
 			echo '<h3>';
-			echo get_lang('DestinationCourse').' : '.$course_infos['title'] .  $sessionTitle;
+			echo get_lang('DestinationCourse').' : '.$course_infos['title'] . ' ('.$course_infos['code'].') '.$sessionTitle;
 			echo '</h3>';
 		}
         echo '<script src="'.api_get_path(WEB_CODE_PATH).'inc/lib/javascript/upload.js" type="text/javascript"></script>';

+ 1 - 1
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());

+ 68 - 9
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 .='<a href="exercise_report.php?'.api_get_cidreq().'&exerciseId='.$row['id'].'">'.
                         Display :: return_icon('test_results.png', get_lang('Results'), '', ICON_SIZE_SMALL).'</a>';
                     $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;