diff --git a/main/exercise/exercise.php b/main/exercise/exercise.php index 80eefd7625..3df48d6169 100644 --- a/main/exercise/exercise.php +++ b/main/exercise/exercise.php @@ -181,6 +181,10 @@ if ($is_allowedToEdit) { if ($choice === 'clean_all_test') { $check = Security::check_token('get'); if ($check) { + if ($limitTeacherAccess && !api_is_platform_admin()) { + api_not_allowed(true); + } + // list of exercises in a course/session // we got variable $courseId $courseInfo session api_get_session_id() $exerciseList = ExerciseLib::get_all_exercises_for_course_id( @@ -530,7 +534,7 @@ if ($is_allowedToEdit && $origin != 'learnpath') { echo ''.Display::return_icon('import_aiken.png', get_lang('ImportAikenQuiz'), '', ICON_SIZE_MEDIUM).''; echo ''.Display::return_icon('import_excel.png', get_lang('ImportExcelQuiz'), '', ICON_SIZE_MEDIUM).''; - echo Display::url( + $cleanAll = Display::url( Display::return_icon( 'clean_all.png', get_lang('CleanAllStudentsResultsForAllTests'), @@ -545,6 +549,14 @@ if ($is_allowedToEdit && $origin != 'learnpath') { 'data-target' => '#confirm-delete', ] ); + + if ($limitTeacherAccess) { + if (api_is_platform_admin()) { + echo $cleanAll; + } + } else { + echo $cleanAll; + } } if ($is_allowedToEdit) { @@ -814,10 +826,20 @@ if (!empty($exerciseList)) { } $actions .= $settings; + // Exercise results - $actions .= ''. + $resultsLink = ''. Display::return_icon('test_results.png', get_lang('Results'), '', ICON_SIZE_SMALL).''; + if ($limitTeacherAccess) { + if (api_is_platform_admin()) { + $actions .= $resultsLink; + } + } else { + // Exercise results + $actions .= $resultsLink; + } + // Auto launch if ($autoLaunchAvailable) { $autoLaunch = $exercise->getAutoLaunch(); diff --git a/main/exercise/exercise_report.php b/main/exercise/exercise_report.php index 7ad069cfae..56ea87c67e 100755 --- a/main/exercise/exercise_report.php +++ b/main/exercise/exercise_report.php @@ -31,6 +31,12 @@ if (api_is_student_boss() && !empty($filter_user)) { api_protect_course_script(true, false, true); } +$limitTeacherAccess = api_get_configuration_value('limit_exercise_teacher_access'); + +if ($limitTeacherAccess && !api_is_platform_admin()) { + api_not_allowed(true); +} + // including additional libraries require_once 'hotpotatoes.lib.php';