Esempio n. 1
0
$is_allowedToEdit = $is_courseAdmin;
$evaladd = new Evaluation();
$evaladd->set_user_id($_user['user_id']);
if (isset($_GET['selectcat']) && !empty($_GET['selectcat'])) {
    $evaladd->set_category_id($_GET['selectcat']);
    $cat = Category::load($_GET['selectcat']);
    $evaladd->set_course_code($cat[0]->get_course_code());
} else {
    $evaladd->set_category_id(0);
}
$form = new EvalForm(EvalForm::TYPE_ADD, $evaladd, null, 'add_eval_form', null, api_get_self() . '?selectcat=' . $select_cat . '&' . api_get_cidreq());
if ($form->validate()) {
    $values = $form->exportValues();
    $eval = new Evaluation();
    $eval->set_name($values['name']);
    $eval->set_description($values['description']);
    $eval->set_user_id($values['hid_user_id']);
    if (!empty($values['hid_course_code'])) {
        $eval->set_course_code($values['hid_course_code']);
    }
    //Always add the gradebook to the course
    $eval->set_course_code(api_get_course_id());
    $eval->set_category_id($values['hid_category_id']);
    $parent_cat = Category::load($values['hid_category_id']);
    $global_weight = $cat[0]->get_weight();
    //$values['weight'] = $values['weight_mask']/$global_weight*$parent_cat[0]->get_weight();
    $values['weight'] = $values['weight_mask'];
    $eval->set_weight($values['weight']);
    $eval->set_max($values['max']);
    if (empty($values['visible'])) {
        $visible = 0;
 /**
  * @param array $result
  * @return array
  */
 private static function create_evaluation_objects_from_sql_result($result)
 {
     $alleval = array();
     if (Database::num_rows($result)) {
         while ($data = Database::fetch_array($result)) {
             $eval = new Evaluation();
             $eval->set_id($data['id']);
             $eval->set_name($data['name']);
             $eval->set_description($data['description']);
             $eval->set_user_id($data['user_id']);
             $eval->set_course_code($data['course_code']);
             $eval->set_category_id($data['category_id']);
             $eval->set_date(api_get_local_time($data['created_at']));
             $eval->set_weight($data['weight']);
             $eval->set_max($data['max']);
             $eval->set_visible($data['visible']);
             $eval->set_type($data['type']);
             $eval->set_locked($data['locked']);
             $eval->setSessionId(api_get_session_id());
             $alleval[] = $eval;
         }
     }
     return $alleval;
 }
 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}");
     }
 }