getCareerFromId($careerId); if (empty($careerInfo)) { api_not_allowed(true); } $careerId = $careerInfo['id']; // Redirect to user/career_diagram.php if not admin/drh BT#18720 if (!(api_is_platform_admin() || api_is_drh())) { if (api_get_configuration_value('use_career_external_id_as_identifier')) { $careerId = Security::remove_XSS($careerIdFromRequest); } $url = api_get_path(WEB_CODE_PATH).'user/career_diagram.php?career_id='.$careerId; api_location($url); } $this_section = SECTION_PLATFORM_ADMIN; $allowCareer = api_get_configuration_value('allow_session_admin_read_careers'); api_protect_admin_script($allowCareer); $htmlHeadXtra[] = api_get_js('jsplumb2.js'); $career = new Career(); $careerInfo = $career->get($careerId); if (empty($careerInfo)) { api_not_allowed(true); } // setting breadcrumbs $interbreadcrumb[] = [ 'url' => 'index.php', 'name' => get_lang('PlatformAdmin'), ]; $interbreadcrumb[] = [ 'url' => 'career_dashboard.php', 'name' => get_lang('CareersAndPromotions'), ]; $interbreadcrumb[] = [ 'url' => 'careers.php', 'name' => get_lang('Careers'), ]; $action = isset($_GET['action']) ? $_GET['action'] : ''; if ($action === 'add') { $interbreadcrumb[] = ['url' => 'careers.php', 'name' => get_lang('Careers')]; $toolName = get_lang('Add'); } elseif ($action === 'edit') { $interbreadcrumb[] = ['url' => 'careers.php', 'name' => get_lang('Careers')]; $interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Edit')]; $toolName = get_lang('Edit'); } else { $toolName = get_lang('Careers'); } $extraFieldValue = new ExtraFieldValue('career'); // Check urls $itemUrls = $extraFieldValue->get_values_by_handler_and_field_variable( $careerId, 'career_urls', false, false, false ); $urlToString = ''; if (!empty($itemUrls) && !empty($itemUrls['value'])) { $urls = explode(',', $itemUrls['value']); $urlToString = '  '; if (!empty($urls)) { foreach ($urls as $urlData) { $urlData = explode('@', $urlData); if (isset($urlData[1])) { $urlToString .= Display::url($urlData[0], $urlData[1]).' '; } else { $urlToString .= $urlData[0].' '; } } } } $tpl = new Template(get_lang('Diagram')); $html = Display::page_subheader2($careerInfo['name'].$urlToString); $diagram = Career::renderDiagramByColumn($careerInfo, $tpl); if (!empty($diagram)) { $html .= $diagram; } else { Display::addFlash( Display::return_message( sprintf(get_lang('CareerXDoesntHaveADiagram'), $careerInfo['name']), 'warning' ) ); } $tpl->assign('content', $html); $layout = $tpl->get_template('career/diagram_full.tpl'); $tpl->display($layout);