validate() && isset($_GET['newtypeselected'])) { // reload page, this time with a parameter indicating the selected type header( 'Location: '.api_get_self().'?selectcat='.$selectCat .'&typeselected='.$typeform->exportValue('select_link') .'&course_code='.Security::remove_XSS($_GET['course_code']).'&'.api_get_cidreq() ); exit; } // link type selected, show 2nd form to retrieve the link data if (isset($typeSelected) && $typeSelected != '0') { $url = api_get_self().'?selectcat='.$selectCat.'&typeselected='.$typeSelected.'&course_code='.$courseCode.'&'.api_get_cidreq(); $addform = new LinkAddEditForm( LinkAddEditForm::TYPE_ADD, $all_categories, $typeSelected, null, 'add_link', $url ); if ($addform->validate()) { $addvalues = $addform->exportValues(); $link = LinkFactory::create($typeSelected); $link->set_user_id(api_get_user_id()); $link->set_course_code(api_get_course_id()); $link->set_category_id($addvalues['select_gradebook']); if ($link->needs_name_and_description()) { $link->set_name($addvalues['name']); } else { $link->set_ref_id($addvalues['select_link']); } $parent_cat = Category::load($addvalues['select_gradebook']); $global_weight = $category[0]->get_weight(); $link->set_weight($addvalues['weight_mask']); if ($link->needs_max()) { $link->set_max($addvalues['max']); } if ($link->needs_name_and_description()) { $link->set_description($addvalues['description']); } $link->set_visible(empty($addvalues['visible']) ? 0 : 1); // Update view_properties if (isset($typeSelected) && 5 == $typeSelected && (isset($addvalues['select_link']) && $addvalues['select_link'] != "") ) { $sql1 = 'SELECT thread_title from '.$tbl_forum_thread.' WHERE c_id = '.$course_info['real_id'].' AND thread_id = '.$addvalues['select_link']; $res1 = Database::query($sql1); $rowtit = Database::fetch_row($res1); $course_id = api_get_course_id(); $sql_l = 'SELECT count(*) FROM '.$tbl_link.' WHERE ref_id='.$addvalues['select_link'].' AND course_code="'.$course_id.'" AND type = 5;'; $res_l = Database::query($sql_l); $row = Database::fetch_row($res_l); if ($row[0] == 0) { $link->add(); $sql = 'UPDATE '.$tbl_forum_thread.' SET thread_qualify_max= "'.api_float_val($addvalues['weight']).'", thread_weight= "'.api_float_val($addvalues['weight']).'", thread_title_qualify = "'.$rowtit[0].'" WHERE thread_id='.$addvalues['select_link'].' AND c_id = '.$course_info['real_id'].' '; Database::query($sql); } } $link->add(); $logInfo = [ 'tool' => TOOL_GRADEBOOK, 'tool_id' => 0, 'tool_id_detail' => 0, 'action' => 'new-link', 'action_details' => 'selectcat='.$selectCat, ]; Event::registerLog($logInfo); $addvalue_result = !empty($addvalues['addresult']) ? $addvalues['addresult'] : []; if ($addvalue_result == 1) { header('Location: gradebook_add_result.php?selecteval='.$link->get_ref_id().'&'.api_get_cidreq()); exit; } else { header('Location: '.Category::getUrl().'linkadded=&selectcat='.$selectCat); exit; } } } $action_details = ''; $current_id = 0; if (isset($_GET['selectcat'])) { $action_details = 'selectcat'; $current_id = (int) $_GET['selectcat']; } $logInfo = [ 'tool' => TOOL_GRADEBOOK, 'tool_id' => 0, 'tool_id_detail' => 0, 'action' => 'add-link', 'action_details' => 'selectcat='.$selectCat, ]; Event::registerLog($logInfo); $interbreadcrumb[] = [ 'url' => Category::getUrl().'selectcat='.$selectCat, 'name' => get_lang('Gradebook'), ]; $this_section = SECTION_COURSES; $htmlHeadXtra[] = ''; Display::display_header(get_lang('MakeLink')); if (isset($typeform)) { echo Display::return_message(get_lang('LearningPathGradebookWarning'), 'warning'); $typeform->display(); } if (isset($addform)) { $addform->display(); } Display::display_footer();