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();
 | 
						|
 |