From a15a01a6e4ba4784fe8d24593089c82a73e939d7 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 19 May 2021 09:27:41 +0200 Subject: [PATCH] Show career diagram in user_information.php BT#18720 --- main/inc/lib/sessionmanager.lib.php | 38 +++++++++++++++++++++++++++++ main/inc/lib/usermanager.lib.php | 1 + main/mySpace/myStudents.php | 30 +---------------------- 3 files changed, 40 insertions(+), 29 deletions(-) diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 1d67afbac0..ff6ca77a63 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -9765,4 +9765,42 @@ class SessionManager return -1; } } + + public static function getCareerDiagramPerSession($sessionId, $visibility) + { + $extraFieldValueSession = new ExtraFieldValue('session'); + $extraFieldValueCareer = new ExtraFieldValue('career'); + + $content = ''; + if (SESSION_AVAILABLE === $visibility) { + $value = $extraFieldValueSession->get_values_by_handler_and_field_variable($sessionId, 'careerid'); + if (isset($value['value']) && !empty($value['value'])) { + $careerList = str_replace(['[', ']'], '', $value['value']); + $careerList = explode(',', $careerList); + + foreach ($careerList as $career) { + $careerIdValue = $extraFieldValueCareer->get_item_id_from_field_variable_and_field_value( + 'external_career_id', + $career + ); + if (isset($careerIdValue['item_id']) && !empty($careerIdValue['item_id'])) { + $finalCareerId = $careerIdValue['item_id']; + $career = new Career(); + $careerInfo = $career->get($finalCareerId); + if (!empty($careerInfo)) { + $careerUrl = api_get_path(WEB_CODE_PATH). + 'user/career_diagram.php?iframe=1&career_id='.$finalCareerId; + $content .= ''; + } + } + } + } + } + + return $content; + } } diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index aed43c685b..63ac27a18a 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -3716,6 +3716,7 @@ class UserManager 'collapsed' => $collapsed, 'collapsable_link' => $collapsedAction, 'duration' => $row['duration'], + 'visibility' => $visibility, ]; } diff --git a/main/mySpace/myStudents.php b/main/mySpace/myStudents.php index 04959b723e..2a5a24492e 100755 --- a/main/mySpace/myStudents.php +++ b/main/mySpace/myStudents.php @@ -996,35 +996,7 @@ if (empty($details)) { if (api_get_configuration_value('allow_career_users')) { $visibility = api_get_session_visibility($sId); - - if (SESSION_AVAILABLE === $visibility) { - $value = $extraFieldValueSession->get_values_by_handler_and_field_variable($sId, 'careerid'); - if (isset($value['value']) && !empty($value['value'])) { - $careerList = str_replace(['[', ']'], '', $value['value']); - $careerList = explode(',', $careerList); - - foreach ($careerList as $career) { - $careerIdValue = $extraFieldValueCareer->get_item_id_from_field_variable_and_field_value( - 'external_career_id', - $career - ); - if (isset($careerIdValue['item_id']) && !empty($careerIdValue['item_id'])) { - $finalCareerId = $careerIdValue['item_id']; - $career = new Career(); - $careerInfo = $career->get($finalCareerId); - if (!empty($careerInfo)) { - $careerUrl = api_get_path(WEB_PATH). - 'main/user/career_diagram.php?iframe=1&career_id='.$finalCareerId; - echo ''; - } - } - } - } - } + echo SessionManager::getCareerDiagramPerSession($sId, $visibility); } // Courses