static function create_gradebook_evaluation($data)
 {
     //error_log('create_gradebook_evaluation() function called');
     $session_id = isset($data['session_id']) ? $data['session_id'] : null;
     if (!empty($session_id)) {
         global $data_list;
         $course_list = array(0 => array('code' => $data_list['session_course'][$session_id]));
         //$course_list = SessionManager::get_course_list_by_session_id($session_id);
         if (!empty($course_list)) {
             $course_data = current($course_list);
             if (isset($course_data['code'])) {
                 //Get gradebook (if does not exist, create it)
                 $gradebook = null;
                 if (!empty($data_list['session_course_gradebook'][$course_data['code']][$session_id])) {
                     $gradebook = array('id' => $data_list['session_course_gradebook'][$course_data['code']][$session_id]);
                 } else {
                     require_once api_get_path(SYS_CODE_PATH) . 'gradebook/lib/gradebook_functions.inc.php';
                     $gradebook = array('id' => create_default_course_gradebook($course_data['code'], false, $session_id));
                     error_log('Gradebook not found. Creating one with ID ' . $gradebook['id']);
                     $data_list['session_course_gradebook'][$course_data['code']][$session_id] = $gradebook['id'];
                 }
                 if (!empty($gradebook)) {
                     //Check if gradebook exists
                     $eval = 0;
                     $evals_found = $data_list['session_course_gradebook_eval'][$course_data['code']][$data['gradebook_description']];
                     if (!empty($evals_found)) {
                         return null;
                     }
                     $eval = new Evaluation();
                     $evals_found = $eval->load(null, null, $course_data['code'], $gradebook['id'], null, null, $data['gradebook_description']);
                     if (empty($evals_found)) {
                         $eval->set_name($data['gradebook_description']);
                         $eval->set_description($data['gradebook_description']);
                         $eval->set_evaluation_type_id($data['gradebook_evaluation_type_id']);
                         $eval->set_user_id(self::default_admin_id);
                         $eval->set_course_code($course_data['code']);
                         $eval->set_category_id($gradebook['id']);
                         //harcoded values
                         $eval->set_weight(100);
                         $eval->set_max(100);
                         $eval->set_visible(1);
                         $eval_id = $eval->add();
                         $data_list['session_course_gradebook_eval'][$course_data['code']][$data['gradebook_description']] = $eval_id;
                         error_log("Gradebook evaluation ID {$eval_id} created!!");
                     } else {
                         error_log("Gradebook evaluation already exists - skipping insert :/ ");
                     }
                 } else {
                     error_log("Gradebook does not exists");
                 }
             } else {
                 error_log("Something is wrong with the course ");
             }
         } else {
             error_log("NO course found for session id: {$session_id}");
         }
     } else {
         error_log("NO session id found: {$session_id}");
     }
 }