Add more prerequisite information if exists when loading an item

See BT#5776
pull/2486/head
jmontoyaa 8 years ago
parent 1790082929
commit 43d53a73f6
  1. 8
      main/inc/ajax/lp.ajax.php
  2. 25
      main/lp/blank.php
  3. 36
      main/lp/lp_content.php

@ -291,10 +291,8 @@ switch ($action) {
$lpItemId = isset($_GET['lp_item']) ? intval($_GET['lp_item']) : 0;
if ($lp) {
$position = $lp->isFirstOrLastItem($lpItemId);
echo json_encode($position);
}
echo json_encode($position);
break;
case 'get_parent_names':
$newItemId = isset($_GET['new_item']) ? intval($_GET['new_item']) : 0;
@ -325,9 +323,9 @@ switch ($action) {
echo '1';
} else {
if (!empty($lp->error)) {
echo $lp->error;
echo addslashes($lp->error);
} else {
echo get_lang('LearnpathPrereqNotCompleted');
echo addslashes(get_lang('LearnpathPrereqNotCompleted'));
}
}
$lp->error = '';

@ -23,28 +23,21 @@ $message = '';
if (isset($_GET['error'])) {
switch ($_GET['error']) {
case 'document_deleted':
$message = Display::return_message(
get_lang('DocumentHasBeenDeleted'),
'error'
);
$message = Display::return_message(get_lang('DocumentHasBeenDeleted'), 'error');
break;
case 'prerequisites':
$message = Display::return_message(
get_lang('LearnpathPrereqNotCompleted'),
'warning'
);
$prerequisiteMessage = isset($_GET['prerequisite_message']) ? $_GET['prerequisite_message'] : '';
$message = Display::return_message(get_lang('LearnpathPrereqNotCompleted'), 'warning');
if (!empty($prerequisiteMessage)) {
$message = Display::return_message(Security::remove_XSS($prerequisiteMessage), 'warning');
}
break;
case 'document_not_found':
$message = Display::return_message(
get_lang('FileNotFound'),
'warning'
);
$message = Display::return_message(get_lang('FileNotFound'), 'warning');
break;
case 'reached_one_attempt':
$message = Display::return_message(
get_lang('ReachedOneAttempt'),
'warning'
);
$message = Display::return_message(get_lang('ReachedOneAttempt'), 'warning');
break;
case 'x_frames_options':
$src = Session::read('x_frame_source');

@ -27,8 +27,8 @@ if (empty($lp_controller_touched)) {
/** @var learnpath $learnPath */
$learnPath = Session::read('oLP');
$learnPath->error = '';
$lp_type = $learnPath->get_type();
$lp_item_id = $learnPath->get_current_item_id();
$lpType = $learnPath->get_type();
$lpItemId = $learnPath->get_current_item_id();
/**
* Get a link to the corresponding document.
@ -36,15 +36,15 @@ $lp_item_id = $learnPath->get_current_item_id();
$src = '';
if ($debug > 0) {
error_log('New lp - In lp_content.php - Looking for file url');
error_log("lp_type $lp_type");
error_log("lp_item_id $lp_item_id");
error_log("lp_type $lpType");
error_log("lp_item_id $lpItemId");
}
$list = $learnPath->get_toc();
$dir = false;
foreach ($list as $toc) {
if ($toc['id'] == $lp_item_id && $toc['type'] == 'dir') {
if ($toc['id'] == $lpItemId && $toc['type'] == 'dir') {
$dir = true;
}
}
@ -52,38 +52,38 @@ foreach ($list as $toc) {
if ($dir) {
$src = 'blank.php';
} else {
switch ($lp_type) {
switch ($lpType) {
case 1:
$learnPath->stop_previous_item();
$prereq_check = $learnPath->prerequisites_match($lp_item_id);
$prerequisiteCheck = $learnPath->prerequisites_match($lpItemId);
if ($prereq_check === true) {
$src = $learnPath->get_link('http', $lp_item_id);
if ($prerequisiteCheck === true) {
$src = $learnPath->get_link('http', $lpItemId);
$learnPath->start_current_item(); // starts time counter manually if asset
$src = $learnPath->fixBlockedLinks($src);
break;
}
$src = 'blank.php?error=prerequisites';
$src = 'blank.php?error=prerequisites&prerequisite_message='.$learnPath->error;
break;
case 2:
$learnPath->stop_previous_item();
$prereq_check = $learnPath->prerequisites_match($lp_item_id);
$prerequisiteCheck = $learnPath->prerequisites_match($lpItemId);
if ($prereq_check === true) {
$src = $learnPath->get_link('http', $lp_item_id);
if ($prerequisiteCheck === true) {
$src = $learnPath->get_link('http', $lpItemId);
$learnPath->start_current_item(); // starts time counter manually if asset
} else {
$src = 'blank.php?error=prerequisites';
$src = 'blank.php?error=prerequisites&prerequisite_message='.$learnPath->error;
}
break;
case 3:
// save old if asset
$learnPath->stop_previous_item(); // save status manually if asset
$prereq_check = $learnPath->prerequisites_match($lp_item_id);
if ($prereq_check === true) {
$src = $learnPath->get_link('http', $lp_item_id);
$prerequisiteCheck = $learnPath->prerequisites_match($lpItemId);
if ($prerequisiteCheck === true) {
$src = $learnPath->get_link('http', $lpItemId);
$learnPath->start_current_item(); // starts time counter manually if asset
} else {
$src = 'blank.php';
@ -97,7 +97,7 @@ if ($dir) {
if ($debug > 0) {
error_log('New lp - In lp_content.php - File url is '.$src);
}
$learnPath->set_previous_item($lp_item_id);
$learnPath->set_previous_item($lpItemId);
if (api_is_in_gradebook()) {
$interbreadcrumb[] = [

Loading…
Cancel
Save