|
|
|
@ -28,7 +28,7 @@ class LearnpathList |
|
|
|
|
* (only displays) items if he has enough permissions to view them. |
|
|
|
|
* |
|
|
|
|
* @param int $user_id |
|
|
|
|
* @param string $course_code Optional course code (otherwise we use api_get_course_id()) |
|
|
|
|
* @param array $courseInfo Optional course code (otherwise we use api_get_course_id()) |
|
|
|
|
* @param int $session_id Optional session id (otherwise we use api_get_session_id()) |
|
|
|
|
* @param string $order_by |
|
|
|
|
* @param bool $check_publication_dates |
|
|
|
@ -38,7 +38,7 @@ class LearnpathList |
|
|
|
|
*/ |
|
|
|
|
public function __construct( |
|
|
|
|
$user_id, |
|
|
|
|
$course_code = '', |
|
|
|
|
$courseInfo = [], |
|
|
|
|
$session_id = 0, |
|
|
|
|
$order_by = null, |
|
|
|
|
$check_publication_dates = false, |
|
|
|
@ -46,23 +46,16 @@ class LearnpathList |
|
|
|
|
$ignoreCategoryFilter = false, |
|
|
|
|
$ignoreLpVisibility = false |
|
|
|
|
) { |
|
|
|
|
$course_info = api_get_course_info($course_code); |
|
|
|
|
|
|
|
|
|
if (empty($course_info['real_id'])) { |
|
|
|
|
return false; |
|
|
|
|
if (empty($courseInfo)) { |
|
|
|
|
$courseInfo = api_get_course_info(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$this->course_code = $course_info['code']; |
|
|
|
|
$this->course_code = $courseInfo['code']; |
|
|
|
|
$course_id = $courseInfo['real_id']; |
|
|
|
|
$this->user_id = $user_id; |
|
|
|
|
$course_id = $course_info['real_id']; |
|
|
|
|
|
|
|
|
|
// Condition for the session. |
|
|
|
|
if (!empty($session_id)) { |
|
|
|
|
$session_id = (int) $session_id; |
|
|
|
|
} else { |
|
|
|
|
$session_id = api_get_session_id(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$session_id = empty($session_id) ? api_get_session_id() : (int) $session_id; |
|
|
|
|
$condition_session = api_get_session_condition( |
|
|
|
|
$session_id, |
|
|
|
|
true, |
|
|
|
@ -78,8 +71,8 @@ class LearnpathList |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$now = api_get_utc_datetime(); |
|
|
|
|
$time_conditions = ''; |
|
|
|
|
|
|
|
|
|
$time_conditions = ''; |
|
|
|
|
if ($check_publication_dates) { |
|
|
|
|
$time_conditions = " AND ( |
|
|
|
|
(lp.publicatedOn IS NOT NULL AND lp.publicatedOn < '$now' AND lp.expiredOn IS NOT NULL AND lp.expiredOn > '$now') OR |
|
|
|
@ -107,7 +100,6 @@ class LearnpathList |
|
|
|
|
$categoryFilter |
|
|
|
|
$order |
|
|
|
|
"; |
|
|
|
|
|
|
|
|
|
$learningPaths = Database::getManager()->createQuery($dql)->getResult(); |
|
|
|
|
$showBlockedPrerequisite = api_get_configuration_value('show_prerequisite_as_blocked'); |
|
|
|
|
$names = []; |
|
|
|
@ -121,7 +113,7 @@ class LearnpathList |
|
|
|
|
$link = 'lp/lp_controller.php?action=view&lp_id='.$row->getId().'&id_session='.$session_id; |
|
|
|
|
$oldLink = 'newscorm/lp_controller.php?action=view&lp_id='.$row->getId().'&id_session='.$session_id; |
|
|
|
|
|
|
|
|
|
$sql2 = "SELECT * FROM $tbl_tool |
|
|
|
|
$sql2 = "SELECT visibility FROM $tbl_tool |
|
|
|
|
WHERE |
|
|
|
|
c_id = $course_id AND |
|
|
|
|
name = '$name' AND |
|
|
|
@ -140,7 +132,7 @@ class LearnpathList |
|
|
|
|
|
|
|
|
|
// Check if visible. |
|
|
|
|
$visibility = api_get_item_visibility( |
|
|
|
|
$course_info, |
|
|
|
|
$courseInfo, |
|
|
|
|
'learnpath', |
|
|
|
|
$row->getId(), |
|
|
|
|
$session_id |
|
|
|
@ -152,7 +144,7 @@ class LearnpathList |
|
|
|
|
$lpVisibility = learnpath::is_lp_visible_for_student( |
|
|
|
|
$row->getId(), |
|
|
|
|
$user_id, |
|
|
|
|
$course_info |
|
|
|
|
$courseInfo |
|
|
|
|
); |
|
|
|
|
if ($lpVisibility === false) { |
|
|
|
|
continue; |
|
|
|
|