|
|
|
@ -2,25 +2,21 @@ |
|
|
|
|
/* For licensing terms, see /license.txt */ |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Class CourseDescriptionController |
|
|
|
|
* This file contains class used like controller, it should be included inside a dispatcher file (e.g: index.php) |
|
|
|
|
* @author Christian Fasanando <christian1827@gmail.com> |
|
|
|
|
* @package chamilo.course_description |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Controller script. Prepares the common background variables to give to the scripts corresponding to |
|
|
|
|
* the requested action |
|
|
|
|
* @package chamilo.course_description |
|
|
|
|
*/ |
|
|
|
|
class CourseDescriptionController { // extends Controller { |
|
|
|
|
|
|
|
|
|
class CourseDescriptionController |
|
|
|
|
{ |
|
|
|
|
private $toolname; |
|
|
|
|
private $view; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Constructor |
|
|
|
|
*/ |
|
|
|
|
public function __construct() { |
|
|
|
|
public function __construct() |
|
|
|
|
{ |
|
|
|
|
$this->toolname = 'course_description'; |
|
|
|
|
$this->view = new View($this->toolname); |
|
|
|
|
} |
|
|
|
@ -31,31 +27,29 @@ class CourseDescriptionController { // extends Controller { |
|
|
|
|
* @param boolean true for listing history (optional) |
|
|
|
|
* @param array message for showing by action['edit','add','destroy'] (optional) |
|
|
|
|
*/ |
|
|
|
|
public function listing($history=false, $messages=array()) { |
|
|
|
|
public function listing($history=false, $messages=array()) |
|
|
|
|
{ |
|
|
|
|
$course_description = new CourseDescription(); |
|
|
|
|
$session_id = api_get_session_id(); |
|
|
|
|
$course_description->set_session_id($session_id); |
|
|
|
|
$data = array(); |
|
|
|
|
|
|
|
|
|
$course_description_data = $course_description->get_description_data(); |
|
|
|
|
|
|
|
|
|
$data['descriptions'] = $course_description_data['descriptions']; |
|
|
|
|
$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['messages'] = $messages; |
|
|
|
|
|
|
|
|
|
$course_description_data = $course_description->get_description_data(); |
|
|
|
|
$data['descriptions'] = $course_description_data['descriptions']; |
|
|
|
|
$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['messages'] = $messages; |
|
|
|
|
$browser = api_get_navigator(); |
|
|
|
|
|
|
|
|
|
if (strpos($data['descriptions'], '<iframe') !== false && $browser['name'] == 'Chrome') { |
|
|
|
|
header("X-XSS-Protection: 0"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// render to the view |
|
|
|
|
$this->view->set_data($data); |
|
|
|
|
$this->view->set_layout('layout'); |
|
|
|
|
$this->view->set_template('listing'); |
|
|
|
|
$this->view->render(); |
|
|
|
|
// render to the view |
|
|
|
|
$this->view->set_data($data); |
|
|
|
|
$this->view->set_layout('layout'); |
|
|
|
|
$this->view->set_template('listing'); |
|
|
|
|
$this->view->render(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -64,99 +58,98 @@ class CourseDescriptionController { // extends Controller { |
|
|
|
|
* @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(); |
|
|
|
|
{ |
|
|
|
|
$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']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($affected_rows) { |
|
|
|
|
$message['edit'] = true; |
|
|
|
|
$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(); |
|
|
|
|
} |
|
|
|
|
$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(); |
|
|
|
|
Security::clear_token(); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
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_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); |
|
|
|
|
} |
|
|
|
|
$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 adding a course description, |
|
|
|
|
* render to listing or add view |
|
|
|
|
*/ |
|
|
|
|
public function add() { |
|
|
|
|
/** |
|
|
|
|
* It's used for adding a course description, |
|
|
|
|
* render to listing or add view |
|
|
|
|
*/ |
|
|
|
|
public function add() |
|
|
|
|
{ |
|
|
|
|
$course_description = new CourseDescription(); |
|
|
|
|
$session_id = api_get_session_id(); |
|
|
|
|
$course_description->set_session_id($session_id); |
|
|
|
@ -221,7 +214,8 @@ class CourseDescriptionController { // extends Controller { |
|
|
|
|
* render to listing view |
|
|
|
|
* @param int description type |
|
|
|
|
*/ |
|
|
|
|
public function destroy($id) { |
|
|
|
|
public function destroy($id) |
|
|
|
|
{ |
|
|
|
|
$course_description = new CourseDescription(); |
|
|
|
|
$session_id = api_get_session_id(); |
|
|
|
|
$course_description->set_session_id($session_id); |
|
|
|
|