You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.0 KiB
106 lines
3.0 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
/**
|
|
* Course description's form class definition
|
|
* @package chamilo.course_description
|
|
*/
|
|
/**
|
|
* Init
|
|
*/
|
|
|
|
namespace CourseDescription;
|
|
|
|
use Security;
|
|
|
|
/**
|
|
* Edit/create a course description.
|
|
*
|
|
* @author Laurent Opprecht <laurent@opprecht.info> for the Univesity of Genevas
|
|
* @license /license.txt
|
|
*/
|
|
class CourseDescriptionForm extends \FormValidator
|
|
{
|
|
|
|
/**
|
|
*
|
|
* @param string $action
|
|
* @param \CourseDescription\CourseDescription $description
|
|
* @return \CourseDescription\CourseDescription
|
|
*/
|
|
static function create($action, $description = null)
|
|
{
|
|
$result = new self('course_description', 'post', $action);
|
|
if ($description) {
|
|
$result->init($description);
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
protected $course_description;
|
|
|
|
function __construct($form_name = 'course_description', $method = 'post', $action = '', $target = '', $attributes = null, $track_submit = true)
|
|
{
|
|
parent::__construct($form_name, $method, $action, $target, $attributes, $track_submit);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return \CourseDescription\CourseDescription
|
|
*
|
|
*/
|
|
public function get_course_description()
|
|
{
|
|
return $this->course_description;
|
|
}
|
|
|
|
public function set_course_description($value)
|
|
{
|
|
$this->course_description = $value;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param \CourseDescription\CourseDescription $description
|
|
*/
|
|
function init($description = null)
|
|
{
|
|
$this->set_course_description($description);
|
|
|
|
$defaults = array();
|
|
$defaults['title'] = $description->title;
|
|
$defaults['content'] = $description->content;
|
|
|
|
$this->add_header($description->get_title());
|
|
$this->add_hidden('description_type', $description->get_description_type());
|
|
$this->add_hidden('c_id', $description->c_id);
|
|
$this->add_hidden('id', $description->id);
|
|
$this->add_textfield('title', get_lang('Title'), true, array('size' => 'width: 350px;'));
|
|
$this->applyFilter('title', 'html_filter');
|
|
$this->add_html_editor('content', get_lang('Content'), true, false, array('ToolbarSet' => 'TrainingDescription', 'Width' => '100%', 'Height' => '200'));
|
|
$this->add_button('save', get_lang('Save'), 'class="save"');
|
|
|
|
$this->setDefaults($defaults);
|
|
}
|
|
|
|
function update_model()
|
|
{
|
|
$values = $this->exportValues();
|
|
$course_description = $this->get_course_description();
|
|
|
|
$course_description->title = $values['title'];
|
|
$course_description->title = Security::remove_XSS($course_description->title);
|
|
|
|
$course_description->content = $values['content'];
|
|
$course_description->content = Security::remove_XSS($course_description->content, COURSEMANAGERLOWSECURITY);
|
|
}
|
|
|
|
function validate()
|
|
{
|
|
$result = parent::validate();
|
|
if ($result) {
|
|
$this->update_model();
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
}
|
|
|