Files
Chamilo/main/mySpace/my_career.php
T
Xes 73154ae174
Behat tests 1.11.x 🐞 / PHP 7.4 Test on ubuntu-latest (push) Canceled after 0s
PHP-CS-Fixer / composer_install (7.4) (push) Canceled after 0s
Chamilo 1.11.40 (ZIP oficial v1.11.40)
Fuente: https://github.com/chamilo/chamilo-lms/releases/download/v1.11.40/chamilo-1.11.40.zip
sha256: 1cf4bf2cc7bae1ef1a1eff643235db1d552f78ddf4b6dd1e2d2dac9868679439
Snapshot independiente (rama huerfana); diffable vs 1.11.38. vendor incluido.
2026-08-06 17:59:45 +02:00

59 lines
2.1 KiB
PHP

<?php
/* For licensing terms, see /license.txt */
use Fhaculty\Graph\Graph;
require_once __DIR__.'/../inc/global.inc.php';
if (false == api_get_configuration_value('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();