diff --git a/main/exercice/exercise.lib.php b/main/exercice/exercise.lib.php index beff5e89d0..051b07da2b 100755 --- a/main/exercice/exercise.lib.php +++ b/main/exercice/exercise.lib.php @@ -1523,3 +1523,18 @@ function get_best_average_score_by_exercise($exercise_id, $course_code, $session } return $avg_score; } + + + +function get_exercises_to_be_end($course_code, $session_id) { + $course_info = api_get_course_info($course_code); + $exercises = get_all_exercises($course_info, $session_id); + $result = array(); + $now = time() + 15*24*60*60; + foreach($exercises as $exercise_item) { + if (isset($exercise_item['end_time']) && !empty($exercise_item['end_time']) && api_strtotime($exercise_item['end_time']) < $now) { + $result[] = $exercise_item; + } + } + return $result; +} \ No newline at end of file diff --git a/main/inc/lib/userportal.lib.php b/main/inc/lib/userportal.lib.php index 22056e3f05..b52b6a308f 100644 --- a/main/inc/lib/userportal.lib.php +++ b/main/inc/lib/userportal.lib.php @@ -81,6 +81,35 @@ class IndexManager { return $login_form; } + + function return_exercise_block($personal_course_list) { + require_once api_get_path(SYS_CODE_PATH).'exercice/exercise.lib.php'; + $exercise_list = array(); + if (!empty($personal_course_list)) { + foreach($personal_course_list as $course_item) { + $course_code = $course_item['c']; + $session_id = $course_item['id_session']; + + $exercises = get_exercises_to_be_end($course_code, $session_id); + + foreach($exercises as $exercise_item) { + $exercise_item['course_code'] = $course_code; + $exercise_item['session_id'] = $session_id; + $exercise_item['tms'] = api_strtotime($exercise_item['end_time']); + + $exercise_list[] = $exercise_item; + } + } + if (!empty($exercise_list)) { + $exercise_list = msort($exercise_list, 'tms'); + $my_exercise = $exercise_list[0]; + $url = Display::url($my_exercise['title'], api_get_path(WEB_CODE_PATH).'exercice/overview.php?exerciseId='.$my_exercise['id'].'&cidReq='.$my_exercise['course_code'].'&id_session='.$my_exercise['session_id']); + $this->tpl->assign('exercise_url', $url); + $this->tpl->assign('exercise_end_date', api_convert_and_format_date($my_exercise['end_time'], DATE_FORMAT_SHORT)); + } + } + } + function return_announcements($show_slide = true) { // Display System announcements $announcement = isset($_GET['announcement']) ? $_GET['announcement'] : -1;