You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.1 KiB
58 lines
2.1 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
use Fhaculty\Graph\Graph;
|
|
|
|
require_once __DIR__.'/../inc/global.inc.php';
|
|
|
|
if ('false' === api_get_setting('profile.allow_career_diagram')) {
|
|
api_not_allowed(true);
|
|
}
|
|
|
|
$htmlHeadXtra[] = api_get_js('jsplumb2.js');
|
|
|
|
$sessionCategories = UserManager::get_sessions_by_category(api_get_user_id(), false);
|
|
|
|
$content = '';
|
|
$extraFieldValue = new ExtraFieldValue('session');
|
|
$extraFieldValueCareer = new ExtraFieldValue('career');
|
|
$career = new Career();
|
|
foreach ($sessionCategories as $category) {
|
|
$sessions = $category['sessions'];
|
|
foreach ($sessions as $session) {
|
|
$sessionId = $session['session_id'];
|
|
// Getting session extra field 'external_career_id'
|
|
$item = $extraFieldValue->get_values_by_handler_and_field_variable(
|
|
$sessionId,
|
|
'external_career_id'
|
|
);
|
|
if ($item && isset($item['value']) && !empty($item['value'])) {
|
|
// External career id
|
|
$externalCareerId = $item['value'];
|
|
// Getting career id from external career id
|
|
$itemCareer = $extraFieldValueCareer->get_item_id_from_field_variable_and_field_value(
|
|
'external_career_id',
|
|
$externalCareerId
|
|
);
|
|
if ($itemCareer && !empty($itemCareer['item_id'])) {
|
|
$careerId = $itemCareer['item_id'];
|
|
$careerInfo = $career->find($careerId);
|
|
if (!empty($careerInfo)) {
|
|
$diagram = $extraFieldValueCareer->get_values_by_handler_and_field_variable(
|
|
$careerId,
|
|
'career_diagram'
|
|
);
|
|
if ($diagram && !empty($diagram['value'])) {
|
|
/** @var Graph $graph */
|
|
$graph = UnserializeApi::unserialize('career', $diagram['value']);
|
|
$content .= Career::renderDiagram($careerInfo, $graph);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$view = new Template('');
|
|
$view->assign('content', $content);
|
|
$view->display_one_col_template();
|
|
|