Quiz: Dont allow start/continuesession is session read-only - refs BT#16791

pull/3446/head
Angel Fernando Quiroz Campos 5 years ago
parent ade11facc1
commit 2900dfa79b
  1. 13
      main/exercise/exercise_submit.php
  2. 6
      main/exercise/overview.php
  3. 12
      main/inc/lib/sessionmanager.lib.php

@ -880,11 +880,7 @@ $interbreadcrumb[] = [
$interbreadcrumb[] = ['url' => '#', 'name' => $objExercise->selectTitle(true)];
if (!in_array($origin, ['learnpath', 'embeddable', 'mobileapp'])) { //so we are not in learnpath tool
if (!api_is_allowed_to_session_edit()) {
Display::addFlash(
Display::return_message(get_lang('SessionIsReadOnly'), 'warning')
);
}
SessionManager::addFlashSessionReadOnly();
Display::display_header(null, 'Exercises');
} else {
@ -928,6 +924,13 @@ if ($is_visible_return['value'] == false) {
exit;
}
if (!api_is_allowed_to_session_edit()) {
if (!in_array($origin, ['learnpath', 'embeddable'])) {
Display::display_footer();
}
exit;
}
$exercise_timeover = false;
$limit_time_exists = (!empty($objExercise->start_time) || !empty($objExercise->end_time)) ? true : false;

@ -72,6 +72,8 @@ if ($time_control) {
}
if (!in_array($origin, ['learnpath', 'embeddable', 'mobileapp'])) {
SessionManager::addFlashSessionReadOnly();
Display::display_header();
} else {
$htmlHeadXtra[] = "
@ -192,6 +194,10 @@ if ($visible_return['value'] == false) {
}
}
if (!api_is_allowed_to_session_edit()) {
$exercise_url_button = null;
}
$attempts = Event::getExerciseResultsByUser(
api_get_user_id(),
$objExercise->id,

@ -9674,4 +9674,16 @@ class SessionManager
return -1;
}
}
/**
* Add a warning message when session is read-only mode.
*/
public static function addFlashSessionReadOnly()
{
if (api_get_session_id() && !api_is_allowed_to_session_edit()) {
Display::addFlash(
Display::return_message(get_lang('SessionIsReadOnly'), 'warning')
);
}
}
}

Loading…
Cancel
Save