diff --git a/main/exercise/pending.php b/main/exercise/pending.php
index 498e5c5700..9e87c827ef 100644
--- a/main/exercise/pending.php
+++ b/main/exercise/pending.php
@@ -13,6 +13,7 @@ $filter_user = isset($_REQUEST['filter_by_user']) ? (int) $_REQUEST['filter_by_u
$courseId = isset($_REQUEST['course_id']) ? (int) $_REQUEST['course_id'] : 0;
$exerciseId = isset($_REQUEST['exercise_id']) ? (int) $_REQUEST['exercise_id'] : 0;
$statusId = isset($_REQUEST['status']) ? (int) $_REQUEST['status'] : 0;
+$exportXls = isset($_REQUEST['export_xls']) && !empty($_REQUEST['export_xls']) ? (int) $_REQUEST['export_xls'] : 0;
$action = $_REQUEST['a'] ?? null;
api_block_anonymous_users();
@@ -28,7 +29,8 @@ switch ($action) {
$results = ExerciseLib::get_all_exercises_for_course_id(
null,
0,
- $courseId
+ $courseId,
+ false
);
if (!empty($results)) {
foreach ($results as $exercise) {
@@ -111,7 +113,41 @@ if (!empty($_REQUEST['export_report']) && $_REQUEST['export_report'] == '1') {
}
}
+$htmlHeadXtra[] = '';
+
+if ($exportXls) {
+ ExerciseLib::exportPendingAttemptsToExcel($_REQUEST);
+}
+
Display::display_header(get_lang('PendingAttempts'));
+$actions = '';
+$actions .= Display::url(
+ Display::return_icon('excel.png', get_lang('ExportAsXLS'), [], ICON_SIZE_MEDIUM),
+ '#',
+ ['id' => 'export-xls']
+);
+
+echo Display::div($actions, ['class' => 'actions']);
$token = Security::get_token();
$extra = '