add url validation rule for forms

skala
Laurent Opprecht 14 years ago
parent f40f4dd3b1
commit 9ddd910d78
  1. 8
      main/inc/lib/autoload.class.php
  2. 1
      main/inc/lib/formvalidator/FormValidator.class.php
  3. 27
      main/inc/lib/formvalidator/Rule/Url.php

@ -123,6 +123,9 @@ class Autoload
$result['FillBlanks'] = '/main/exercice/fill_blanks.class.php';
$result['FlatViewDataGenerator'] = '/main/gradebook/lib/flatview_data_generator.class.php';
$result['FlatViewTable'] = '/main/gradebook/lib/fe/flatviewtable.class.php';
$result['FormElement'] = '/main/media/lib/form_element.class.php';
$result['FormElementTextarea'] = '/main/media/lib/form_element_textarea.class.php';
$result['FormRule'] = '/main/media/lib/form_rule.class.php';
$result['FormValidator'] = '/main/inc/lib/formvalidator/FormValidator.class.php';
$result['Forum'] = '/main/coursecopy/classes/Forum.class.php';
$result['ForumCategory'] = '/main/coursecopy/classes/ForumCategory.class.php';
@ -228,6 +231,8 @@ class Autoload
$result['Login'] = '/main/inc/lib/login.lib.php';
$result['LoginRedirection'] = '/main/inc/lib/login_redirection.class.php';
$result['Matching'] = '/main/exercice/matching.class.php';
$result['Media'] = '/main/media/model/media.class.php';
$result['MediaForm'] = '/main/media/lib/media_form.class.php';
$result['MessageManager'] = '/main/inc/lib/message.lib.php';
$result['MultipleAnswer'] = '/main/exercice/multiple_answer.class.php';
$result['MultipleAnswerCombination'] = '/main/exercice/multiple_answer_combination.class.php';
@ -425,6 +430,7 @@ class Autoload
$result['xhtdoc'] = '/main/inc/lib/xht.lib.php';
$result['xmddoc'] = '/main/inc/lib/xmd.lib.php';
return $result;
}
@ -487,7 +493,7 @@ class AutoloadClassFinder
$this->synch(Chamilo::path('/main'));
ksort($this->map);
}
public function __invoke()
{
$this->run();

@ -143,6 +143,7 @@ class FormValidator extends HTML_QuickForm
$this->registerRule('username', null, 'HTML_QuickForm_Rule_Username', $dir . 'Rule/Username.php');
$this->registerRule('filetype', null, 'HTML_QuickForm_Rule_Filetype', $dir . 'Rule/Filetype.php');
$this->registerRule('multiple_required', 'required', 'HTML_QuickForm_Rule_MultipleRequired', $dir . 'Rule/MultipleRequired.php');
$this->registerRule('url', null, 'HTML_QuickForm_Rule_Url', $dir . 'Rule/Url.php');
// Modify the default templates
$renderer = & $this->defaultRenderer();

@ -0,0 +1,27 @@
<?php
/**
* Abstract base class for QuickForm validation rules
*/
require_once 'HTML/QuickForm/Rule.php';
/**
* Validate urls
*
*/
class HTML_QuickForm_Rule_Url extends HTML_QuickForm_Rule
{
/**
* Validates url
*
* @param string $url
* @return boolean Returns true if valid, false otherwise.
*/
function validate($url)
{
return (bool) filter_var($url, FILTER_VALIDATE_URL);
}
}
Loading…
Cancel
Save