/**
  * 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();
     }
 }
 /**
  * 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();
     }
 }
Example #3
0
<?php

/* For licensing terms, see /license.txt */
/**
* View (MVC patter) for editing a course description
* @author Christian Fasanando <*****@*****.**>
* @package chamilo.course_description
*/
// protect a course script
api_protect_course_script(true);
if (empty($id)) {
    $id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : '';
    if (empty($id)) {
        // If the ID was not provided, find the first matching description item given the item type
        $course_description = new CourseDescription();
        $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
        unset($course_description);
    }
}
$original_id = $id;
if (empty($error)) {
    $token = Security::get_token();
}
// display categories
$categories = array();
foreach ($default_description_titles as $id => $title) {
    $categories[$id] = $title;