[svn r17296] - minor- logic changes -Fixed Date Validation when you add a new exercises and modify it (partial FS#3249)

skala
Cristian Fasanando 17 years ago
parent 6d18f04910
commit 107ac00afd
  1. 5
      documentation/changelog.html
  2. 15
      main/exercice/exercise.class.php
  3. 6
      main/inc/lib/pear/HTML/QuickForm.php
  4. 78
      main/inc/lib/pear/HTML/QuickForm/Rule/CompareDate.php
  5. 42
      main/inc/lib/pear/HTML/QuickForm/Rule/Date.php

@ -102,7 +102,7 @@
<li>Fixed bug whereby e-mails sent did not have the standard syntax (SVN#16708)</li>
<li>Fixed bug whereby an empty institution name gave a useless output in the header (SVN#16710)</li>
<li>Fixed bug whereby questions ordering was broken when deleting one question in the middle (SVN#16879)</li>
<li>Fixed bug in user fields, not displayed the default value in profile and add user, and you could modify this values
<li>Fixed bug in user fields, not displayed the default value in profile and add user, and you could modify this values(see FS#3307)
<li>Fixed bug in link (see FS#3306)</li>
<li>Improved display of human resource manager option (see FS#3304)</li>
<li>Documents tool, folder selector: Fixed a bug that prevented Home (root) folder to be shown (FS#3089)</li>
@ -111,7 +111,8 @@
<li>The PclZip library has been upgraded to version 2.6. Additionally, a known bug has been fixed - improper processing of the option PCLZIP_OPT_REMOVE_PATH on Windows (FS#3243)</li>
<li>Fixed a bug causing improper numeric sorting of data displayed in various tables (FS#3282)</li>
<li>Agenda tool: Fixed a wrong range for hour selection. The bug has been reported and solved in a forum by TL (FS#3324)</li>
<li>Agenda tool: style changes - Align drop-down lists in date and time when you add a new calendar event and modify it</li>
<li>Agenda tool: style changes - Align drop-down lists in date and time when you add a new calendar event and modify it</li>
<li>Fixed Date Validation when you add a new exercises and modify it (FS#3249)
</ul>
<br />
<h3>CSS changes</h3>

@ -25,7 +25,7 @@
* Exercise class: This class allows to instantiate an object of type Exercise
* @package dokeos.exercise
* @author Olivier Brouckaert
* @version $Id: exercise.class.php 16686 2008-11-06 16:31:22Z dperales $
* @version $Id: exercise.class.php 17296 2008-12-15 17:08:44Z cfasanando $
*/
@ -751,8 +751,8 @@ class Exercise
* @param FormValidator $form the formvalidator instance (by reference)
*/
function createForm ($form)
{
{
// title
$form -> addElement('text', 'exerciseTitle', get_lang('ExerciseName').' : ','class="input_titles"');
@ -781,7 +781,7 @@ class Exercise
$form -> addElement('html','<div class="row">
<div class="label">&nbsp;</div>
<div class="formw">
<a href="javascript://" onclick="if(document.getElementById(\'options\').style.display == \'none\'){document.getElementById(\'options\').style.display = \'block\';}else{document.getElementById(\'options\').style.display = \'none\';}"><img src="../img/add_na.gif" alt="" />'.get_lang('AdvancedParameters').'</a>
<a href="javascript://" onclick=" return advanced_parameters()"><span id="img_plus_and_minus"><img src="../img/nolines_plus.gif" alt="" />'.get_lang('AdvancedParameters').'</span></a>
</div>
</div>');
@ -819,9 +819,10 @@ class Exercise
// rules
$form -> addRule ('exerciseTitle', get_lang('GiveExerciseName'), 'required');
$form -> addRule ('exerciseAttempts', get_lang('Numeric'), 'numeric');
$form -> addRule (array('start_time','end_time'), get_lang('DateValidation'), 'comparedate');
$form -> addRule ('start_time', get_lang('Dateinconsistent'), 'errordate');
$form -> addRule ('end_time', get_lang('Dateinconsistent'), 'errordate');
$form -> addRule ('start_time', get_lang('DateNotValid'), 'errordate');
$form -> addRule ('end_time', get_lang('DateNotValid'), 'errordate');
$form -> addRule (array('start_time','end_time'), get_lang('StartDateMustNotBeGreaterThanEndDate'), 'comparedate');
// defaults
$defaults = array();

@ -17,7 +17,7 @@
// | Bertrand Mansion <bmansion@mamasam.com> |
// +----------------------------------------------------------------------+
//
// $Id: QuickForm.php 14987 2008-04-21 17:14:12Z juliomontoya $
// $Id: QuickForm.php 17296 2008-12-15 17:08:44Z cfasanando $
require_once('PEAR.php');
require_once('HTML/Common.php');
@ -62,7 +62,9 @@ $GLOBALS['_HTML_QuickForm_registered_rules'] = array(
'nopunctuation' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
'nonzero' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
'callback' => array('html_quickform_rule_callback', 'HTML/QuickForm/Rule/Callback.php'),
'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php')
'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php'),
'comparedate' => array('html_quickform_rule_comparedate', 'HTML/QuickForm/Rule/CompareDate.php'),
'errordate' => array('html_quickform_rule_date', 'HTML/QuickForm/Rule/Date.php')
);
// {{{ error codes

@ -0,0 +1,78 @@
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 4.0 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Author: Alexey Borzov <avb@php.net> |
// +----------------------------------------------------------------------+
//
// $Id: Compare.php 6184 2005-09-07 10:08:17Z bmol $
require_once 'HTML/QuickForm/Rule.php';
/**
* Rule to compare two form fields
*
* The most common usage for this is to ensure that the password
* confirmation field matches the password field
*
* @access public
* @package HTML_QuickForm
* @version $Revision: 6184 $
*/
class HTML_QuickForm_Rule_CompareDate extends HTML_QuickForm_Rule
{
/**
* Possible operators to use
* @var array
* @access private
*/
/*var $_operators = array(
'eq' => '==',
'neq' => '!=',
'gt' => '>',
'gte' => '>=',
'lt' => '<',
'lte' => '<='
);*/
/**
* Returns the operator to use for comparing the values
*
* @access private
* @param string operator name
* @return string operator to use for validation
*/
/*function _findOperator($name)
{
if (empty($name)) {
return '==';
} elseif (isset($this->_operators[$name])) {
return $this->_operators[$name];
} elseif (in_array($name, $this->_operators)) {
return $name;
} else {
return '==';
}
}*/
function validate($values)
{
$compareFn = create_function('$a, $b', 'return mktime($a[\'H\'],$a[\'i\'],0,$a[\'M\'],$a[\'d\'],$a[\'Y\']) <= mktime($b[\'H\'],$b[\'i\'],0,$b[\'M\'],$b[\'d\'],$b[\'Y\'] );');
return $compareFn($values[0], $values[1]);
}
}
?>

@ -0,0 +1,42 @@
<?php
// $Id: Date.php 6187 2005-09-07 10:23:57Z bmol $
/*
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2004-2005 Dokeos S.A.
Copyright (c) Bart Mollet, Hogeschool Gent
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
See the GNU General Public License for more details.
Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium
Mail: info@dokeos.com
==============================================================================
*/
require_once ('HTML/QuickForm/Rule.php');
/**
* QuickForm rule to check a date
*/
class Html_Quickform_Rule_Date extends HTML_QuickForm_Rule
{
/**
* Function to check a date
* @see HTML_QuickForm_Rule
* @param array $date An array with keys F (month), d (day) and Y (year)
* @return boolean True if date is valid
*/
function validate($date)
{
$compareDate = create_function('$a', 'return checkdate($a[\'M\'],$a[\'d\'],$a[\'Y\']);');
return $compareDate($date);
}
}
?>
Loading…
Cancel
Save