Add html filter to form fields

pull/4686/head
Angel Fernando Quiroz Campos 3 years ago
parent fe28c31185
commit 4a587707b0
  1. 48
      main/admin/configure_homepage.php
  2. 8
      main/admin/resource_sequence.php
  3. 1
      main/admin/system_announcements.php
  4. 4
      main/forum/forumfunction.inc.php
  5. 6
      main/inc/lib/extra_field.lib.php
  6. 1
      main/inc/lib/formvalidator/FormValidator.class.php
  7. 4
      main/mySpace/access_details.php
  8. 2
      main/notebook/index.php
  9. 1
      plugin/notebookteacher/src/NotebookTeacher.php

@ -7,6 +7,8 @@
* @package chamilo.admin * @package chamilo.admin
*/ */
use Symfony\Component\HttpFoundation\Request as HttpRequest;
/** /**
* Creates menu tabs for logged and anonymous users. * Creates menu tabs for logged and anonymous users.
* *
@ -58,6 +60,8 @@ $this_page = '';
api_protect_admin_script(); api_protect_admin_script();
$httpRequest = HttpRequest::createFromGlobals();
$htmlHeadXtra[] = '<script> $htmlHeadXtra[] = '<script>
$(function() { $(function() {
$("#all_langs").change(function() { $("#all_langs").change(function() {
@ -382,14 +386,14 @@ if (!empty($action)) {
case 'edit_tabs': case 'edit_tabs':
case 'insert_link': case 'insert_link':
case 'edit_link': case 'edit_link':
$link_index = (isset($_POST['link_index']) ? intval($_POST['link_index']) : 0); $link_index = $httpRequest->request->getInt('link_index');
$insert_where = (isset($_POST['insert_where']) ? intval($_POST['insert_where']) : 0); $insert_where = $httpRequest->request->getInt('insert_where');
$link_name = trim(stripslashes($_POST['link_name'])); $link_name = Security::remove_XSS($httpRequest->request->get('link_name'));
$link_url = trim(stripslashes($_POST['link_url'])); $link_url = Security::remove_XSS($_POST['link_url']);
$add_in_tab = (isset($_POST['add_in_tab']) ? intval($_POST['add_in_tab']) : 0); $add_in_tab = $httpRequest->request->getInt('add_in_tab');
$link_html = trim(stripslashes($_POST['link_html'])); $link_html = Security::remove_XSS($_POST['link_html']);
$filename = trim(stripslashes($_POST['filename'])); $filename = Security::remove_XSS($_POST['filename']);
$target_blank = isset($_POST['target_blank']); $target_blank = $httpRequest->request->has('target_blank');
if ($link_url == 'http://' || $link_url == 'https://') { if ($link_url == 'http://' || $link_url == 'https://') {
$link_url = ''; $link_url = '';
@ -895,12 +899,14 @@ switch ($action) {
$form->addElement('hidden', 'filename', ($action == 'edit_link' || $action == 'edit_tabs') ? (!empty($filename) ? $filename : '') : ''); $form->addElement('hidden', 'filename', ($action == 'edit_link' || $action == 'edit_tabs') ? (!empty($filename) ? $filename : '') : '');
$form->addElement('text', 'link_name', get_lang('LinkName'), ['size' => '30', 'maxlength' => '50']); $form->addElement('text', 'link_name', get_lang('LinkName'), ['size' => '30', 'maxlength' => '50']);
$form->applyFilter('text', 'html_filter');
if (!empty($link_name)) { if (!empty($link_name)) {
$default['link_name'] = $link_name; $default['link_name'] = $link_name;
} }
$default['link_url'] = empty($link_url) ? 'http://' : api_htmlentities($link_url, ENT_QUOTES); $default['link_url'] = empty($link_url) ? 'http://' : api_htmlentities($link_url, ENT_QUOTES);
$linkUrlComment = ($action == 'insert_tabs') ? get_lang('Optional').'<br />'.get_lang('GlobalLinkUseDoubleColumnPrivateToShowPrivately') : ''; $linkUrlComment = ($action == 'insert_tabs') ? get_lang('Optional').'<br />'.get_lang('GlobalLinkUseDoubleColumnPrivateToShowPrivately') : '';
$form->addElement('text', 'link_url', [get_lang('LinkURL'), $linkUrlComment], ['size' => '30', 'maxlength' => '100', 'style' => 'width: 350px;']); $form->addElement('text', 'link_url', [get_lang('LinkURL'), $linkUrlComment], ['size' => '30', 'maxlength' => '100', 'style' => 'width: 350px;']);
$form->applyFilter('link_url', 'html_filter');
$options = ['-1' => get_lang('FirstPlace')]; $options = ['-1' => get_lang('FirstPlace')];
@ -1139,12 +1145,32 @@ switch ($action) {
$home_menu = explode("\n", $home_menu); $home_menu = explode("\n", $home_menu);
} }
$i = 0; $i = 0;
$editIcon = Display::return_icon('edit.png', get_lang('Edit'));
$deleteIcon = Display::return_icon('delete.png', get_lang('Delete'));
foreach ($home_menu as $enreg) { foreach ($home_menu as $enreg) {
$enreg = trim($enreg); $enreg = trim($enreg);
if (!empty($enreg)) { if (!empty($enreg)) {
$edit_link = '<a href="'.$selfUrl.'?action=edit_link&amp;link_index='.$i.'">'.Display::return_icon('edit.png', get_lang('Edit')).'</a>'; $edit_link = Display::url(
$delete_link = '<a href="'.$selfUrl.'?action=delete_link&amp;link_index='.$i.'" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES)).'\')) return false;">'.Display::return_icon('delete.png', get_lang('Delete')).'</a>'; $editIcon,
echo str_replace(['href="'.api_get_path(WEB_PATH).'index.php?include=', '</li>'], ['href="'.api_get_path(WEB_CODE_PATH).'admin/'.basename($selfUrl).'?action=open_link&link=', $edit_link.' '.$delete_link.'</li>'], $enreg); "$selfUrl?".http_build_query(['action' => 'edit_link', 'link_index' => $i])
);
$delete_link = Display::url(
$deleteIcon,
"$selfUrl?".http_build_query(['action' => 'delete_link', 'link_index' => $i]),
[
'onclick' => 'javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES)).'\')) return false;',
]
);
echo str_replace(
['href="'.api_get_path(WEB_PATH).'index.php?include=', '</li>'],
[
'href="'.api_get_path(WEB_CODE_PATH).'admin/'.basename($selfUrl).'?action=open_link&link=',
$edit_link.PHP_EOL.$delete_link.PHP_EOL.'</li>'
],
$enreg
);
$i++; $i++;
} }
} }

@ -5,6 +5,7 @@
use Chamilo\CoreBundle\Entity\Sequence; use Chamilo\CoreBundle\Entity\Sequence;
use Chamilo\CoreBundle\Entity\SequenceResource; use Chamilo\CoreBundle\Entity\SequenceResource;
use ChamiloSession as Session; use ChamiloSession as Session;
use Symfony\Component\HttpFoundation\Request as HttpRequest;
$cidReset = true; $cidReset = true;
@ -14,10 +15,14 @@ api_protect_global_admin_script();
Session::erase('sr_vertex'); Session::erase('sr_vertex');
$httpRequest = HttpRequest::createFromGlobals();
// setting breadcrumbs // setting breadcrumbs
$interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('PlatformAdmin')]; $interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('PlatformAdmin')];
$type = isset($_REQUEST['type']) ? (int) $_REQUEST['type'] : SequenceResource::SESSION_TYPE; $type = $httpRequest->query->has('type')
? $httpRequest->query->getInt('type', SequenceResource::SESSION_TYPE)
: $httpRequest->request->getInt('type', SequenceResource::SESSION_TYPE);
$tpl = new Template(get_lang('ResourcesSequencing')); $tpl = new Template(get_lang('ResourcesSequencing'));
$em = Database::getManager(); $em = Database::getManager();
@ -27,6 +32,7 @@ $currentUrl = api_get_self().'?type='.$type;
$formSequence = new FormValidator('sequence_form', 'post', $currentUrl, null, null, FormValidator::LAYOUT_INLINE); $formSequence = new FormValidator('sequence_form', 'post', $currentUrl, null, null, FormValidator::LAYOUT_INLINE);
$formSequence->addText('name', get_lang('Sequence'), true, ['cols-size' => [3, 8, 1]]); $formSequence->addText('name', get_lang('Sequence'), true, ['cols-size' => [3, 8, 1]]);
$formSequence->applyFilter('name', 'html_filter');
$formSequence->addButtonCreate(get_lang('AddSequence'), 'submit_sequence', false, ['cols-size' => [3, 8, 1]]); $formSequence->addButtonCreate(get_lang('AddSequence'), 'submit_sequence', false, ['cols-size' => [3, 8, 1]]);
$em = Database::getManager(); $em = Database::getManager();

@ -185,6 +185,7 @@ if ($action_todo) {
$form->addHeader($form_title); $form->addHeader($form_title);
$form->addText('title', get_lang('Title'), true); $form->addText('title', get_lang('Title'), true);
$form->applyFilter('title', 'html_filter');
$extraOption = []; $extraOption = [];
$extraOption['all'] = get_lang('All'); $extraOption['all'] = get_lang('All');

@ -201,6 +201,7 @@ function show_add_forumcategory_form($lp_id)
// Setting the form elements. // Setting the form elements.
$form->addElement('header', get_lang('AddForumCategory')); $form->addElement('header', get_lang('AddForumCategory'));
$form->addElement('text', 'forum_category_title', get_lang('Title'), ['autofocus']); $form->addElement('text', 'forum_category_title', get_lang('Title'), ['autofocus']);
$form->applyFilter('forum_category_title', 'html_filter');
$form->addElement( $form->addElement(
'html_editor', 'html_editor',
'forum_category_comment', 'forum_category_comment',
@ -279,6 +280,7 @@ function show_add_forum_form($inputvalues = [], $lp_id = 0)
// The title of the forum // The title of the forum
$form->addElement('text', 'forum_title', get_lang('Title'), ['autofocus']); $form->addElement('text', 'forum_title', get_lang('Title'), ['autofocus']);
$form->applyFilter('forum_title', 'html_filter');
// The comment of the forum. // The comment of the forum.
$form->addElement( $form->addElement(
@ -529,6 +531,7 @@ function show_edit_forumcategory_form($inputvalues = [])
$form->addElement('header', '', get_lang('EditForumCategory')); $form->addElement('header', '', get_lang('EditForumCategory'));
$form->addElement('hidden', 'forum_category_id'); $form->addElement('hidden', 'forum_category_id');
$form->addElement('text', 'forum_category_title', get_lang('Title')); $form->addElement('text', 'forum_category_title', get_lang('Title'));
$form->applyFilter('forum_category_title', 'html_filter');
$form->addElement( $form->addElement(
'html_editor', 'html_editor',
@ -3197,6 +3200,7 @@ function show_add_post_form($current_forum, $action, $form_values = [], $showPre
} }
$form->addElement('text', 'post_title', get_lang('Title')); $form->addElement('text', 'post_title', get_lang('Title'));
$form->applyFilter('post_title', 'post_filter');
$form->addHtmlEditor( $form->addHtmlEditor(
'post_text', 'post_text',
get_lang('Text'), get_lang('Text'),

@ -1098,6 +1098,10 @@ class ExtraField extends Model
'extra_'.$field_details['variable'], 'extra_'.$field_details['variable'],
'trim' 'trim'
); );
$form->applyFilter(
'extra_'.$field_details['variable'],
'html_filter'
);
if ($freezeElement) { if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']); $form->freeze('extra_'.$field_details['variable']);
} }
@ -1523,6 +1527,7 @@ class ExtraField extends Model
); );
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes'); $form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim'); $form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$field_details['variable'], 'html_filter');
if ($freezeElement) { if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']); $form->freeze('extra_'.$field_details['variable']);
} }
@ -1537,6 +1542,7 @@ class ExtraField extends Model
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes'); $form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim'); $form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$field_details['variable'], 'mobile_phone_number_filter'); $form->applyFilter('extra_'.$field_details['variable'], 'mobile_phone_number_filter');
$form->applyFilter('extra_'.$field_details['variable'], 'html_filter');
$form->addRule( $form->addRule(
'extra_'.$field_details['variable'], 'extra_'.$field_details['variable'],
get_lang('MobilePhoneNumberWrong'), get_lang('MobilePhoneNumberWrong'),

@ -216,6 +216,7 @@ EOT;
} }
$this->applyFilter($name, 'trim'); $this->applyFilter($name, 'trim');
$this->applyFilter($name, 'html_filter');
if ($required) { if ($required) {
$this->addRule($name, get_lang('ThisFieldIsRequired'), 'required'); $this->addRule($name, get_lang('ThisFieldIsRequired'), 'required');
} }

@ -54,7 +54,9 @@ $form->addElement(
['id' => 'type'] ['id' => 'type']
); );
$form->addElement('hidden', 'student', $user_id); $form->addElement('hidden', 'student', $user_id);
$form->applyFilter('student', 'html_filter');
$form->addElement('hidden', 'course', $course_code); $form->addElement('hidden', 'course', $course_code);
$form->applyFilter('course', 'html_filter');
$form->addRule('from', get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('from', get_lang('ThisFieldIsRequired'), 'required');
$form->addRule('to', get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('to', get_lang('ThisFieldIsRequired'), 'required');
$group = [ $group = [
@ -73,7 +75,7 @@ $from = null;
$to = null; $to = null;
$course = $course_code; $course = $course_code;
if ($form->validate()) { if ($form->validate()) {
$values = $form->getSubmitValues(); $values = $form->exportValues();
$from = $values['from']; $from = $values['from'];
$to = $values['to']; $to = $values['to'];
$type = $values['type']; $type = $values['type'];

@ -89,6 +89,7 @@ if ($action === 'addnote') {
// Setting the form elements // Setting the form elements
$form->addElement('header', '', get_lang('NoteAddNew')); $form->addElement('header', '', get_lang('NoteAddNew'));
$form->addElement('text', 'note_title', get_lang('NoteTitle'), ['id' => 'note_title']); $form->addElement('text', 'note_title', get_lang('NoteTitle'), ['id' => 'note_title']);
$form->applyFilter('text', 'html_filter');
$form->addElement( $form->addElement(
'html_editor', 'html_editor',
'note_comment', 'note_comment',
@ -146,6 +147,7 @@ if ($action === 'addnote') {
$form->addElement('header', '', get_lang('ModifyNote')); $form->addElement('header', '', get_lang('ModifyNote'));
$form->addElement('hidden', 'notebook_id'); $form->addElement('hidden', 'notebook_id');
$form->addElement('text', 'note_title', get_lang('NoteTitle'), ['size' => '100']); $form->addElement('text', 'note_title', get_lang('NoteTitle'), ['size' => '100']);
$form->applyFilter('text', 'html_filter');
$form->addElement( $form->addElement(
'html_editor', 'html_editor',
'note_comment', 'note_comment',

@ -511,6 +511,7 @@ class NotebookTeacher
); );
$form->addElement('text', 'note_title', get_lang('NoteTitle'), ['id' => 'note_title']); $form->addElement('text', 'note_title', get_lang('NoteTitle'), ['id' => 'note_title']);
$form->applyFilter('text', 'html_filter');
$form->addElement( $form->addElement(
'html_editor', 'html_editor',
'note_comment', 'note_comment',

Loading…
Cancel
Save