is_locked() && !api_is_platform_admin()) { api_not_allowed(); } $linkcat = isset($_GET['selectcat']) ? Security::remove_XSS($_GET['selectcat']):''; $linkedit = isset($_GET['editlink']) ? Security::remove_XSS($_GET['editlink']):''; $session_id = api_get_session_id(); if ($session_id == 0) { $cats = Category :: load(null, null, $course_code, null, null, $session_id, false); //already init } else { $cats = Category :: load_session_categories(null, $session_id); } $form = new LinkAddEditForm( LinkAddEditForm :: TYPE_EDIT, $cats, null, $link, 'edit_link_form', api_get_self() . '?selectcat=' . $linkcat. '&editlink=' . $linkedit.'&'.api_get_cidreq() ); if ($form->validate()) { $values = $form->exportValues(); $parent_cat = Category :: load($values['select_gradebook']); $final_weight = null; /* if ($parent_cat[0]->get_parent_id() == 0) { $final_weight = $values['weight_mask']; } else { $cat = Category :: load($parent_cat[0]->get_parent_id()); $global_weight = $cat[0]->get_weight(); $final_weight = $values['weight_mask']/$global_weight*$parent_cat[0]->get_weight(); }*/ $final_weight = $values['weight_mask']; $link->set_weight($final_weight); if (!empty($values['select_gradebook'])) { $link->set_category_id($values['select_gradebook']); } $link->set_visible(empty ($values['visible']) ? 0 : 1); $link->save(); //Update weight for attendance $sql = 'SELECT ref_id FROM '.$tbl_grade_links.' WHERE id = '.intval($_GET['editlink']).' AND type='.LINK_ATTENDANCE; $rs_attendance = Database::query($sql); if (Database::num_rows($rs_attendance) > 0) { $row_attendance = Database::fetch_array($rs_attendance); $attendance_id = $row_attendance['ref_id']; $sql = 'UPDATE '.$tbl_attendance.' SET attendance_weight ='.floatval($final_weight).' WHERE c_id = '.$course_id.' AND id = '.intval($attendance_id); Database::query($sql); } //Update weight into forum thread $sql_t = 'UPDATE '.$tbl_forum_thread.' SET thread_weight='.$final_weight.' WHERE c_id = '.$course_id.' AND thread_id=( SELECT ref_id FROM '.$tbl_grade_links.' WHERE id='.intval($_GET['editlink']).' and type=5 ) '; Database::query($sql_t); //Update weight into student publication(work) $sql_t = 'UPDATE '.$tbl_work.' SET weight='.$final_weight.' WHERE c_id = '.$course_id.' AND id = ( SELECT ref_id FROM '.$tbl_grade_links.' WHERE id='.intval($_GET['editlink'] ).' AND type=3 )'; Database::query($sql_t); header('Location: '.$_SESSION['gradebook_dest'].'?linkedited=&selectcat=' . $link->get_category_id().'&'.api_get_cidreq()); exit; } $interbreadcrumb[] = array( 'url' => Security::remove_XSS($_SESSION['gradebook_dest']).'?selectcat='.$linkcat, 'name' => get_lang('Gradebook') ); $htmlHeadXtra[] = ''; Display :: display_header(get_lang('EditLink')); $form->display(); Display :: display_footer();