Admin: Add config $_configuration['show_invisible_lp_in_course_home']

Allow students to see a lp shortcut in course home even if the LP
is invisible BT#17744
pull/3814/head
Julio Montoya 5 years ago
parent f493501d85
commit 47842da0d6
  1. 36
      main/inc/lib/course_home.lib.php
  2. 3
      main/install/configuration.dist.php

@ -656,6 +656,7 @@ class CourseHome
});
$isAllowToEdit = api_is_allowed_to_edit(null, true);
$showInvisibleLpsForStudents = api_get_configuration_value('show_invisible_lp_in_course_home');
foreach ($tools as $temp_row) {
$add = false;
if ($check) {
@ -666,7 +667,10 @@ class CourseHome
$add = true;
}
if ($allowEditionInSession && !empty($sessionId)) {
if (false === $showInvisibleLpsForStudents &&
false === $isAllowToEdit &&
$allowEditionInSession && !empty($sessionId)
) {
// Checking if exist row in session
$criteria = [
'cId' => $course_id,
@ -675,10 +679,8 @@ class CourseHome
];
/** @var CTool $toolObj */
$toolObj = Database::getManager()->getRepository('ChamiloCourseBundle:CTool')->findOneBy($criteria);
if ($toolObj) {
if ($isAllowToEdit == false && $toolObj->getVisibility() == false) {
continue;
}
if ($toolObj && $toolObj->getVisibility() == false) {
continue;
}
}
@ -695,16 +697,20 @@ class CourseHome
if ($isAllowToEdit) {
$add = true;
} else {
$add = learnpath::is_lp_visible_for_student(
$lpId,
$userId,
$courseInfo,
$sessionId
);
// Check if LP is visible.
$visibility = api_get_item_visibility($courseInfo, TOOL_LEARNPATH, $lpId, $sessionId);
if (1 !== $visibility) {
$add = false;
if ($showInvisibleLpsForStudents) {
$add = true;
} else {
$add = learnpath::is_lp_visible_for_student(
$lpId,
$userId,
$courseInfo,
$sessionId
);
// Check if LP is visible.
$visibility = api_get_item_visibility($courseInfo, TOOL_LEARNPATH, $lpId, $sessionId);
if (1 !== $visibility) {
$add = false;
}
}
}
if ($path) {

@ -1838,6 +1838,9 @@ ALTER TABLE gradebook_comment ADD CONSTRAINT FK_C3B70763AD3ED51C FOREIGN KEY (gr
// Allow coach users to always edit announcements inside active/past sessions.
// $_configuration['allow_coach_to_edit_announcements'] = false;
// Show invisible LP in the course home for students. BT#17744
//$_configuration['show_invisible_lp_in_course_home'] = true;
// KEEP THIS AT THE END
// -------- Custom DB changes
// Add user activation by confirmation email

Loading…
Cancel
Save