/** * Edit course description * * @param string API secret key * @param string Course id field name * @param string Course id value * @param int Category id from course description * @param string Description title * @param string Course description content */ public function EditCourseDescription($secret_key, $course_id_field_name, $course_id_value, $course_desc_id, $course_desc_title, $course_desc_content) { $verifKey = $this->verifyKey($secret_key); if($verifKey instanceof WSError) { $this->handleError($verifKey); } else { $course_id = $this->getCourseId($course_id_field_name, $course_id_value); if($course_id instanceof WSError) { return $course_id; } else { // Create the new course description $cd = new CourseDescription(); $cd->set_description_type($course_desc_id); $cd->set_title($course_desc_title); $cd->set_content($course_desc_content); $cd->set_session_id(0); // Get course info $course_info = CourseManager::get_course_information(CourseManager::get_course_code_from_course_id($course_id)); // Check if this course description exists $descriptions = CourseDescription::get_descriptions($course_id); $exists = false; foreach($descriptions as $description) { if($description->get_description_type() == $course_desc_id) { $exists = true; } } if (!$exists) { $cd->set_progress(0); $cd->insert($course_info['db_name']); } else { $cd->update($course_info['db_name']); } } } }
/** * It's used for editing a course description, * render to listing or edit view * @param int $id description item id * @param int $description_type description type id */ public function edit($id, $description_type) { $course_description = new CourseDescription(); $session_id = api_get_session_id(); $course_description->set_session_id($session_id); $data = array(); $data['id'] = $id; $affected_rows = null; $message = array(); if (strtoupper($_SERVER['REQUEST_METHOD']) == "POST") { if (!empty($_POST['title']) && !empty($_POST['contentDescription'])) { $check = Security::check_token(); if ($check) { $title = $_POST['title']; $content = $_POST['contentDescription']; $description_type = $_POST['description_type']; $id = $_POST['id']; if (empty($id)) { // If the ID was not provided, find the first matching description item given the item type $description = $course_description->get_data_by_description_type($description_type); if (count($description) > 0) { $id = $description['id']; } // If no corresponding description is found, edit a new one } $progress = isset($_POST['progress']) ? $_POST['progress'] : ''; $course_description->set_description_type($description_type); $course_description->set_title($title); $course_description->set_content($content); $course_description->set_progress($progress); $thematic_advance = $course_description->get_data_by_id($id); if (!empty($thematic_advance)) { $course_description->set_id($id); $course_description->update(); } else { $course_description->insert(); } Security::clear_token(); Display::addFlash(Display::return_message(get_lang('CourseDescriptionUpdated'))); } $this->listing(false); } else { $data['error'] = 1; $data['default_description_titles'] = $course_description->get_default_description_title(); $data['default_description_title_editable'] = $course_description->get_default_description_title_editable(); $data['default_description_icon'] = $course_description->get_default_description_icon(); $data['question'] = $course_description->get_default_question(); $data['information'] = $course_description->get_default_information(); $data['description_title'] = $_POST['title']; $data['description_content'] = $_POST['contentDescription']; $data['description_type'] = $_POST['description_type']; $data['progress'] = $_POST['progress']; $data['descriptions'] = $course_description->get_data_by_id($_POST['id']); // render to the view $this->view->set_data($data); $this->view->set_layout('layout'); $this->view->set_template('edit'); $this->view->render(); } } else { $data['default_description_titles'] = $course_description->get_default_description_title(); $data['default_description_title_editable'] = $course_description->get_default_description_title_editable(); $data['default_description_icon'] = $course_description->get_default_description_icon(); $data['question'] = $course_description->get_default_question(); $data['information'] = $course_description->get_default_information(); $data['description_type'] = $description_type; if (empty($id)) { // If the ID was not provided, find the first matching description item given the item type $description = $course_description->get_data_by_description_type($description_type); if (count($description) > 0) { $id = $description['id']; } // If no corresponding description is found, edit a new one } if (!empty($id)) { if (isset($_GET['id_session'])) { $session_id = intval($_GET['id_session']); } $course_description_data = $course_description->get_data_by_id($id, null, $session_id); $data['description_type'] = $course_description_data['description_type']; $data['description_title'] = $course_description_data['description_title']; $data['description_content'] = $course_description_data['description_content']; $data['progress'] = $course_description_data['progress']; $data['descriptions'] = $course_description->get_data_by_description_type($description_type, null, $session_id); } // render to the view $this->view->set_data($data); $this->view->set_layout('layout'); $this->view->set_template('edit'); $this->view->render(); } }
/** * It's used for editing a course description, * render to listing or edit view * @param int description type */ public function edit($id, $description_type) { $course_description = new CourseDescription(); $session_id = api_get_session_id(); $course_description->set_session_id($session_id); $data = array(); $data['id'] = $id; if (strtoupper($_SERVER['REQUEST_METHOD']) == "POST") { if (!empty($_POST['title']) && !empty($_POST['contentDescription'])) { $check = Security::check_token(); if ($check) { $title = $_POST['title']; if (api_get_setting('wcag_anysurfer_public_pages') == 'true') { $content = WCAG_Rendering::prepareXHTML(); } else { $content = $_POST['contentDescription']; } $description_type = $_POST['description_type']; $id = $_POST['id']; $progress = $_POST['progress']; $course_description->set_description_type($description_type); $course_description->set_title($title); $course_description->set_content($content); $course_description->set_progress($progress); $thematic_advance = $course_description->get_data_by_id($id); if (!empty($thematic_advance)) { $course_description->set_id($id); $affected_rows = $course_description->update(); } else { $affected_rows = $course_description->insert(); } Security::clear_token(); } if ($affected_rows) { $message['edit'] = true; } $this->listing(false, $message); } else { $data['error'] = 1; $data['default_description_titles'] = $course_description->get_default_description_title(); $data['default_description_title_editable'] = $course_description->get_default_description_title_editable(); $data['default_description_icon'] = $course_description->get_default_description_icon(); $data['question'] = $course_description->get_default_question(); $data['information'] = $course_description->get_default_information(); $data['description_title'] = $_POST['title']; $data['description_content'] = $_POST['contentDescription']; $data['description_type'] = $_POST['description_type']; $data['progress'] = $_POST['progress']; $data['descriptions'] = $course_description->get_data_by_id($_POST['id']); // render to the view $this->view->set_data($data); $this->view->set_layout('layout'); $this->view->set_template('edit'); $this->view->render(); } } else { $data['default_description_titles'] = $course_description->get_default_description_title(); $data['default_description_title_editable'] = $course_description->get_default_description_title_editable(); $data['default_description_icon'] = $course_description->get_default_description_icon(); $data['question'] = $course_description->get_default_question(); $data['information'] = $course_description->get_default_information(); $data['description_type'] = $description_type; if (!empty($id)) { if (isset($_GET['id_session'])) { $session_id = intval($_GET['id_session']); } $course_description_data = $course_description->get_data_by_id($id, null, $session_id); $data['description_type'] = $course_description_data['description_type']; $data['description_title'] = $course_description_data['description_title']; $data['description_content'] = $course_description_data['description_content']; $data['progress'] = $course_description_data['progress']; $data['descriptions'] = $course_description->get_data_by_description_type($description_type, null, $session_id); } // render to the view $this->view->set_data($data); $this->view->set_layout('layout'); $this->view->set_template('edit'); $this->view->render(); } }