Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

998 lines (965 sloc) 47.977 kb
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.5.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
http://pear.php.net/dtd/tasks-1.0.xsd
http://pear.php.net/dtd/package-2.0
http://pear.php.net/dtd/package-2.0.xsd">
<name>HTML_QuickForm2</name>
<channel>pear.php.net</channel>
<summary>PHP5 rewrite of HTML_QuickForm package</summary>
<description>
PHP5 rewrite of HTML_QuickForm and HTML_QuickForm_Controller packages.
This package provides methods to create, validate and render HTML forms.
Features:
* Supports all form elements defined by HTML standard, provides several
custom elements
* Server-side and client-side validation, several common rules provided
* Multipage forms (tabbed forms and wizards)
* Pluggable elements, rules, renderers and renderer plugins
Major advantages over PHP4 version:
* Most of the package's functionality is covered by unit tests
* DOM-like API for building the form structure, new streamlined API for
elements' values handling
* Default rendering without tables (inspired by
HTML_QuickForm_Renderer_Tableless)
* Renderer plugins for elements with complex rendering needs
* Ability to chain validation rules with 'and' and 'or'
* Client-side validation can run &quot;live&quot; on changing the form fields,
validation errors are displayed near the fields instead of in alert()
</description>
<lead>
<name>Alexey Borzov</name>
<user>avb</user>
<email>avb@php.net</email>
<active>yes</active>
</lead>
<lead>
<name>Bertrand Mansion</name>
<user>mansion</user>
<email>golgote@mamasam.com</email>
<active>yes</active>
</lead>
<date>2012-03-20</date>
<version>
<release>2.0.0beta1</release>
<api>2.0.0</api>
</version>
<stability>
<release>beta</release>
<api>stable</api>
</stability>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Feature additions
* Added 'email' Rule (request #16906)
* Added Stub Renderer which does minimal form processing. Useful for forms
containing Javascript that are output manually.
* It is easier to customize client-side validation: all methods of
qf.Validator are public, CSS class names for validation status are kept in
validator's property.
* Test suite now properly runs from SVN checkout and under PHPUnit 3.6
* PHPDoc cleanup, added @method annotations to Container
Bug fixes
* Fixed running tests for elements separately (bug #19039)
* Fixed errors removal in client-side validation (bug #19063)
* IDs for autogenerated elements no longer start with underscores, default
form output no longer contains empty &lt;label&gt; tags (bug #19097)
* HTML_QuickForm2_Controller_Action_Jump defaults to using
$_SERVER['HTTP_HOST'] for host name (bug #19216)
* Group::setValue() now properly allows fluent calls (bug #19307)
* Container::validate() will now return false if any contained element
has an error message set
* Added abstract render() method to Node and abstract reset() to Renderer
* DefaultAction element no longer contains invalid 'width' and 'height'
attributes, 'src' attribute defaults to 'data:' URL
* 'Live' client-side rules run only once on changing the form field,
prevent errors when form HTML contains links
Backwards compatibility issues
* Items marked deprecated in version 0.6.0 are now removed
</notes>
<contents>
<dir name="/">
<dir name="HTML">
<dir name="QuickForm2">
<dir name="Container">
<file name="Fieldset.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Group.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Container -->
<dir name="Controller">
<dir name="Action">
<file name="Back.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Direct.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Display.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Jump.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Next.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Submit.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Controller/Action -->
<file name="Action.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DefaultAction.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Page.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="SessionContainer.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Controller -->
<dir name="DataSource">
<file name="Array.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Session.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Submit.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="SuperGlobal.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/DataSource -->
<dir name="Element">
<file name="Button.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Date.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Hierselect.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Input.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputButton.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputCheckable.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputCheckbox.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputFile.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputHidden.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputImage.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputPassword.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputRadio.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputReset.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputSubmit.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputText.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Script.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Select.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Static.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Textarea.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Element -->
<dir name="MessageProvider">
<file name="Default.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Strftime.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/MessageProvider -->
<dir name="Renderer">
<file name="Array.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Callback.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Default.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Plugin.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Proxy.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Stub.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Renderer -->
<dir name="Rule">
<file name="Callback.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Compare.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Each.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Email.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Empty.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Length.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="MaxFileSize.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="MimeType.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Nonempty.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NotCallback.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NotRegex.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Regex.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Required.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2/Rule -->
<file name="Container.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Controller.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DataSource.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Element.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Exception.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Factory.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="JavascriptBuilder.php" role="php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Loader.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="MessageProvider.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Node.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Renderer.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Rule.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML/QuickForm2 -->
<file name="QuickForm2.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /HTML -->
<dir name="tests">
<dir name="QuickForm2">
<dir name="Container">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="FieldsetTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="GroupTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests/QuickForm2/Container -->
<dir name="Controller">
<dir name="Action">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="BackTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DirectTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DisplayTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="JumpTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NextTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="SubmitTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir>
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="PageTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests/QuickForm2/Controller -->
<dir name="DataSource">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ArrayTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="SuperGlobalTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests/QuickForm2/DataSource -->
<dir name="Element">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ButtonTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DateTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputButtonTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputCheckableTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputCheckboxTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputFileTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputHiddenTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputImageTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputPasswordTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputResetTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputSubmitTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="InputTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="SelectTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="StaticTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="TextareaTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests/QuickForm2/Element -->
<dir name="Renderer">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ArrayTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="CallbackTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="DefaultTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="StubTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir>
<dir name="Rule">
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="CallbackTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="CompareTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="EachTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="EmailTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="EmptyTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="LengthTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="MaxFileSizeTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="MimeTypeTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NonemptyTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NotCallbackTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NotRegexTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="RegexTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="RequiredTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /QuickForm2/Rule -->
<dir name="_files">
<file name="1024-bytes.upload" role="test" />
<file name="FakeElement.php" role="test" />
<file name="FakeRule.php" role="test" />
<file name="InvalidFile.php" role="test" />
</dir> <!-- /tests/QuickForm2/_files -->
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ContainerTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ContainerOverloadTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ControllerTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="ElementTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="FactoryTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="FilterTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="JavascriptBuilderTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="NodeTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="RendererTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="RuleTest.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests/QuickForm2 -->
<file name="AllTests.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="QuickForm2Test.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="TestHelper.php" role="test">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /tests -->
<dir name="docs/examples">
<dir name="controller">
<file name="simple.php" role="doc">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
<file name="tabbed.php" role="doc">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
<file name="wizard.php" role="doc">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
</dir> <!-- /docs/examples/controller -->
<dir name="js">
<file name="dualselect.js" role="doc" />
<file name="hierselect-server.php" role="doc" />
</dir> <!-- /docs/examples/js -->
<dir name="renderers">
<dir name="templates">
<file name="array-twig.tpl" role="doc" />
</dir> <!-- /docs/examples/renderers/templates -->
<file name="array-twig.php" role="doc">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
</dir> <!-- /docs/examples/renderers -->
<dir name="support">
<file name="hierselect-loader.php" role="doc" />
</dir> <!-- /docs/examples/support -->
<file role="doc" name="basic-elements.php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
<file role="doc" name="builtin-rules.php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
<file role="doc" name="default-renderer.php" />
<file role="doc" name="dualselect.php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
<file name="hierselect-ajax.php" role="doc">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
</dir> <!-- /docs/examples -->
<dir name="data/js">
<dir name="min">
<file name="quickform.js" role="data">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="quickform-hierselect.js" role="data">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /data/js/min -->
<file name="quickform.js" role="data">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="quickform-hierselect.js" role="data">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /data/js -->
<file name="data/quickform.css" role="data" />
</dir>
</contents>
<dependencies>
<required>
<php>
<min>5.2.0</min>
</php>
<pearinstaller>
<min>1.5.4</min>
</pearinstaller>
<package>
<name>HTML_Common2</name>
<channel>pear.php.net</channel>
<min>2.0.0</min>
</package>
</required>
</dependencies>
<phprelease>
<filelist>
<install as="quickform.css" name="data/quickform.css" />
<install as="js/quickform.js" name="data/js/quickform.js" />
<install as="js/quickform-hierselect.js" name="data/js/quickform-hierselect.js" />
<install as="js/min/quickform.js" name="data/js/min/quickform.js" />
<install as="js/min/quickform-hierselect.js" name="data/js/min/quickform-hierselect.js" />
<install as="examples/controller/simple.php" name="docs/examples/controller/simple.php" />
<install as="examples/controller/tabbed.php" name="docs/examples/controller/tabbed.php" />
<install as="examples/controller/wizard.php" name="docs/examples/controller/wizard.php" />
<install as="examples/js/dualselect.js" name="docs/examples/js/dualselect.js" />
<install as="examples/js/hierselect-server.php" name="docs/examples/js/hierselect-server.php" />
<install as="examples/renderers/array-twig.php" name="docs/examples/renderers/array-twig.php" />
<install as="examples/renderers/templates/array-twig.tpl" name="docs/examples/renderers/templates/array-twig.tpl" />
<install as="examples/support/hierselect-loader.php" name="docs/examples/support/hierselect-loader.php" />
<install as="examples/basic-elements.php" name="docs/examples/basic-elements.php" />
<install as="examples/builtin-rules.php" name="docs/examples/builtin-rules.php" />
<install as="examples/default-renderer.php" name="docs/examples/default-renderer.php" />
<install as="examples/dualselect.php" name="docs/examples/dualselect.php" />
<install as="examples/hierselect-ajax.php" name="docs/examples/hierselect-ajax.php" />
<install as="AllTests.php" name="tests/AllTests.php" />
<install as="QuickForm2Test.php" name="tests/QuickForm2Test.php" />
<install as="TestHelper.php" name="tests/TestHelper.php" />
<install as="QuickForm2/AllTests.php" name="tests/QuickForm2/AllTests.php" />
<install as="QuickForm2/ContainerOverloadTest.php" name="tests/QuickForm2/ContainerOverloadTest.php" />
<install as="QuickForm2/ContainerTest.php" name="tests/QuickForm2/ContainerTest.php" />
<install as="QuickForm2/ControllerTest.php" name="tests/QuickForm2/ControllerTest.php" />
<install as="QuickForm2/ElementTest.php" name="tests/QuickForm2/ElementTest.php" />
<install as="QuickForm2/FactoryTest.php" name="tests/QuickForm2/FactoryTest.php" />
<install as="QuickForm2/FilterTest.php" name="tests/QuickForm2/FilterTest.php" />
<install as="QuickForm2/JavascriptBuilderTest.php" name="tests/QuickForm2/JavascriptBuilderTest.php" />
<install as="QuickForm2/NodeTest.php" name="tests/QuickForm2/NodeTest.php" />
<install as="QuickForm2/RendererTest.php" name="tests/QuickForm2/RendererTest.php" />
<install as="QuickForm2/RuleTest.php" name="tests/QuickForm2/RuleTest.php" />
<install as="QuickForm2/Container/AllTests.php" name="tests/QuickForm2/Container/AllTests.php" />
<install as="QuickForm2/Container/FieldsetTest.php" name="tests/QuickForm2/Container/FieldsetTest.php" />
<install as="QuickForm2/Container/GroupTest.php" name="tests/QuickForm2/Container/GroupTest.php" />
<install as="QuickForm2/Controller/AllTests.php" name="tests/QuickForm2/Controller/AllTests.php" />
<install as="QuickForm2/Controller/PageTest.php" name="tests/QuickForm2/Controller/PageTest.php" />
<install as="QuickForm2/Controller/Action/AllTests.php" name="tests/QuickForm2/Controller/Action/AllTests.php" />
<install as="QuickForm2/Controller/Action/BackTest.php" name="tests/QuickForm2/Controller/Action/BackTest.php" />
<install as="QuickForm2/Controller/Action/DirectTest.php" name="tests/QuickForm2/Controller/Action/DirectTest.php" />
<install as="QuickForm2/Controller/Action/DisplayTest.php" name="tests/QuickForm2/Controller/Action/DisplayTest.php" />
<install as="QuickForm2/Controller/Action/JumpTest.php" name="tests/QuickForm2/Controller/Action/JumpTest.php" />
<install as="QuickForm2/Controller/Action/NextTest.php" name="tests/QuickForm2/Controller/Action/NextTest.php" />
<install as="QuickForm2/Controller/Action/SubmitTest.php" name="tests/QuickForm2/Controller/Action/SubmitTest.php" />
<install as="QuickForm2/DataSource/AllTests.php" name="tests/QuickForm2/DataSource/AllTests.php" />
<install as="QuickForm2/DataSource/ArrayTest.php" name="tests/QuickForm2/DataSource/ArrayTest.php" />
<install as="QuickForm2/DataSource/SuperGlobalTest.php" name="tests/QuickForm2/DataSource/SuperGlobalTest.php" />
<install as="QuickForm2/Element/AllTests.php" name="tests/QuickForm2/Element/AllTests.php" />
<install as="QuickForm2/Element/ButtonTest.php" name="tests/QuickForm2/Element/ButtonTest.php" />
<install as="QuickForm2/Element/DateTest.php" name="tests/QuickForm2/Element/DateTest.php" />
<install as="QuickForm2/Element/InputButtonTest.php" name="tests/QuickForm2/Element/InputButtonTest.php" />
<install as="QuickForm2/Element/InputCheckableTest.php" name="tests/QuickForm2/Element/InputCheckableTest.php" />
<install as="QuickForm2/Element/InputCheckboxTest.php" name="tests/QuickForm2/Element/InputCheckboxTest.php" />
<install as="QuickForm2/Element/InputFileTest.php" name="tests/QuickForm2/Element/InputFileTest.php" />
<install as="QuickForm2/Element/InputHiddenTest.php" name="tests/QuickForm2/Element/InputHiddenTest.php" />
<install as="QuickForm2/Element/InputImageTest.php" name="tests/QuickForm2/Element/InputImageTest.php" />
<install as="QuickForm2/Element/InputPasswordTest.php" name="tests/QuickForm2/Element/InputPasswordTest.php" />
<install as="QuickForm2/Element/InputResetTest.php" name="tests/QuickForm2/Element/InputResetTest.php" />
<install as="QuickForm2/Element/InputSubmitTest.php" name="tests/QuickForm2/Element/InputSubmitTest.php" />
<install as="QuickForm2/Element/InputTest.php" name="tests/QuickForm2/Element/InputTest.php" />
<install as="QuickForm2/Element/SelectTest.php" name="tests/QuickForm2/Element/SelectTest.php" />
<install as="QuickForm2/Element/StaticTest.php" name="tests/QuickForm2/Element/StaticTest.php" />
<install as="QuickForm2/Element/TextareaTest.php" name="tests/QuickForm2/Element/TextareaTest.php" />
<install as="QuickForm2/Renderer/AllTests.php" name="tests/QuickForm2/Renderer/AllTests.php" />
<install as="QuickForm2/Renderer/ArrayTest.php" name="tests/QuickForm2/Renderer/ArrayTest.php" />
<install as="QuickForm2/Renderer/CallbackTest.php" name="tests/QuickForm2/Renderer/CallbackTest.php" />
<install as="QuickForm2/Renderer/DefaultTest.php" name="tests/QuickForm2/Renderer/DefaultTest.php" />
<install as="QuickForm2/Renderer/StubTest.php" name="tests/QuickForm2/Renderer/StubTest.php" />
<install as="QuickForm2/Rule/AllTests.php" name="tests/QuickForm2/Rule/AllTests.php" />
<install as="QuickForm2/Rule/CallbackTest.php" name="tests/QuickForm2/Rule/CallbackTest.php" />
<install as="QuickForm2/Rule/CompareTest.php" name="tests/QuickForm2/Rule/CompareTest.php" />
<install as="QuickForm2/Rule/EachTest.php" name="tests/QuickForm2/Rule/EachTest.php" />
<install as="QuickForm2/Rule/EmailTest.php" name="tests/QuickForm2/Rule/EmailTest.php" />
<install as="QuickForm2/Rule/EmptyTest.php" name="tests/QuickForm2/Rule/EmptyTest.php" />
<install as="QuickForm2/Rule/LengthTest.php" name="tests/QuickForm2/Rule/LengthTest.php" />
<install as="QuickForm2/Rule/MaxFileSizeTest.php" name="tests/QuickForm2/Rule/MaxFileSizeTest.php" />
<install as="QuickForm2/Rule/MimeTypeTest.php" name="tests/QuickForm2/Rule/MimeTypeTest.php" />
<install as="QuickForm2/Rule/NonemptyTest.php" name="tests/QuickForm2/Rule/NonemptyTest.php" />
<install as="QuickForm2/Rule/NotCallbackTest.php" name="tests/QuickForm2/Rule/NotCallbackTest.php" />
<install as="QuickForm2/Rule/NotRegexTest.php" name="tests/QuickForm2/Rule/NotRegexTest.php" />
<install as="QuickForm2/Rule/RegexTest.php" name="tests/QuickForm2/Rule/RegexTest.php" />
<install as="QuickForm2/Rule/RequiredTest.php" name="tests/QuickForm2/Rule/RequiredTest.php" />
<install as="QuickForm2/_files/1024-bytes.upload" name="tests/QuickForm2/_files/1024-bytes.upload" />
<install as="QuickForm2/_files/FakeElement.php" name="tests/QuickForm2/_files/FakeElement.php" />
<install as="QuickForm2/_files/FakeRule.php" name="tests/QuickForm2/_files/FakeRule.php" />
<install as="QuickForm2/_files/InvalidFile.php" name="tests/QuickForm2/_files/InvalidFile.php" />
</filelist>
</phprelease>
<changelog>
<release>
<date>2011-09-29</date>
<version>
<release>0.6.1</release>
<api>0.6.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Bug fixes
* Callback renderer did not export setLabelCallback() method (bug #18833)
* Trying to use Static element under PHP 5.2 resulted in fatal error (bug #18874)
* persistentFreeze() is on by default for text and password elements
Other features and changes
* Added an example showing how to output the form with Twig template engine
* Space characters are no longer allowed in 'id' attribute values (request #18683)
* Added array type hinting to $data parameter in all elements' constructors
* Fixed copypasted PHPDoc in several places
</notes>
</release>
<release>
<date>2011-06-13</date>
<version>
<release>0.6.0</release>
<api>0.6.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Milestone 6: &quot;live&quot; validation, localization changes, moving to beta
Major additions and changes
* It is now possible to run client-side validation rules on changing the
fields value / leaving the field (onchange / onblur) as well as on form
submit (see request #5308)
* Client-side validation errors are now displayed near the elements by
default instead of in javascript alert() dialog. This is mostly similar
to behaviour of old HTML_QuickForm_DHTMLRulesTableless package.
* Localization messages (month and weekday names for Date, upload errors for
InputFile) are now returned by special &quot;message provider&quot; object
or callback (request #18341). A message provider for Date element using
current locale data is available (request #5558)
* Added a new optional renderer that uses PHP callbacks to render form elements
Other features and changes
* Static elements can now wrap their content in a given tag having element's
attributes, e.g. &lt;div&gt; or &lt;img&gt; (see request #8626)
* It is now possible to set maximum and minimum hour in Date element's hours
select (request #4061, works for 24-hour format) and maximum and minimum
month in its months select (request #5957)
* File upload elements can no longer be added to method=&quot;get&quot; forms,
form's enctype attribute is automatically set (request #16807)
* Added a separate HTML_QuickForm2::isSubmitted() method, can be used to
check whether the form was sumbitted instead of checking an array of its
data sources for submit one
* Added HTML_QuickForm2_Renderer::methodExists() method, this can be used
to check whether a custom renderer has a necessary method / plugin and
fall back to the Default renderer if it doesn't
* Added default 'value' attribute for radiobuttons
* Array renderer always returns group separator as an array of length
count($group) - 1, making it easier to use in templates
* Added CLIENT_SERVER and ONBLUR_CLIENT_SERVER constants to
HTML_QuickForm2_Rule, these make calls to addRule() less verbose
* Minified versions of javascript libraries are now provided
Bug fixes
* Unit tests can now run under PHPUnit 3.5
* Required rule will throw an Exception if not given an error message (bug #18133)
* Default maxYear in Date element is now current year rather than 2010 (bug #18171)
* Group::removeChild() failed if group's name contained brackets (bug #18182)
* Values for elements named like 'foo[]' are now properly handled by getValue()
Backwards compatibility issues
* Javascript libraries are now installed into js/ and js/min/ subdirectories
of base data directory
* 'errorMessages' parameter for HTML_QuickForm2_Element_InputFile is
deprecated and will be removed in the next release. Use message providers
</notes>
</release>
<release>
<date>2010-12-09</date>
<version>
<release>0.5.0</release>
<api>0.5.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Milestone 5: Javascript support, client-side validation, filters
Major additions and changes
* It is now possible to run validation rules client-side as well as
server-side. This is controlled by passing a parameter to addRule()
* Implemented client-side validation for most builtin rules (MaxFileSize and
MimeType rules for file uploads cannot work client-side)
* Added JavascriptBuilder class, an instance of that is stored in Renderer and
aggregates client-side rules, references to Javascript library files and
Javascript for elements' initialization. Inline Javascript can be easily
added with a special Script element
* Implemented base Javascript library to support client-side validation.
It should hopefully allow easier customization than inline Javascript in
HTML_QuickForm 3.x
* Implemented addFilter() and addRecursiveFilter() methods which can be used
to (recursively) apply filter callbacks to element values when calling
getValue(). A new getRawValue() method allows getting unfiltered values.
Other features and changes
* Ported Date element from HTML_QuickForm 3.x
* Ported Hierselect element from HTML_QuickForm 3.x, it can now use callbacks
to load additional options via AJAX (see enclosed hierselect-ajax.php example)
* Ported Static element from HTML_QuickForm 3.x
* Added HTML_QuickForm2_Node::getData() method
* Added NotCallback and NotRegex rules, they consider element valid if callback
returns false for its value / if the value does not match regex, respectively
* It is now possible for autogenerated 'id' attributes to not have mandatory
indexes appended. Use HTML_Common2::setOption('id_force_append_index', false);
* Container rules are called after rules on contained elements (request #17576)
Bug fixes
* Added a div around form elements to prevent generating invalid HTML (bug #17217)
* Fixed counterintuitive behaviour of DataSource_Array (reported by Cedrick Gout
in pear-general mailing list)
Backwards compatibility issues
* Methods marked as deprecated in release 0.4.0 are now removed
</notes>
</release>
<release>
<version>
<release>0.4.0</release>
<api>0.4.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<date>2010-03-08</date>
<notes>
Milestone 4: port of HTML_QuickForm_Controller, group rules
Major additions and changes
* Includes a port of HTML_QuickForm_Controller. It is now possible to create
multipage forms (wizards, tabbed forms, etc.) with HTML_QuickForm2
* It is now possible to leverage existing rules for group validation
(see also request #12610)
* Rule configuration redone, now an error for an incomplete or bogus
configuration will be thrown immediately on adding a Rule rather than on
validating with it. Rule::getConfig() will now return the complete
configuration rather than a local part of it.
Features added
* It is possible to disable &quot;intrinsic validation&quot; for select
elements (request #13088)
* Checkboxes named 'foo[]' properly get their values from data sources
(request #16806)
* Arrays generated by Array Renderer for fieldsets and groups contain
'type' keys (request #16937)
* Added setElementTemplateForGroupClass() and setElementTemplateForGroupId()
methods HTML_QuickForm2_Renderer_Default setting templates for grouped
elements within a group of a given class or with a given id, respectively
Bug fixes
* E_NOTICE for an undefined index could be emitted when outputting
a checkbox (bug #16816)
Backwards compatibility issues
* HTML_QuickForm2_Renderer_Default::setGroupedTemplateForClass() is
deprecated
* If you implemented custom Rules, you should rewrite them to conform
to the new Rule configuration approach (this may require implementing
custom mergeConfig() and setConfig() methods) and implement
validateOwner() method instead of checkValue(). Old-style Rules will emit
notices in 0.4.0 and will stop working completely in the next release.
* Packaging changes: data/, docs/ and tests/ contents are installed without
redundant subdirectories, e.g. quickform.css now resides in
@data_dir@/HTML_QuickForm2 rather than
@data_dir@/HTML_QuickForm2/data
</notes>
</release>
<release>
<version>
<release>0.3.0</release>
<api>0.3.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2009-10-25</date>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Milestone 3: renderers and groups
Major additions and changes
* Renderers implemented, Default and Array renderers ported from QuickForm 3.x
* Groups implemented
Feature requests addressed:
* Default rendering without tables (request #9116)
* setSeparator() method (request #9942)
Bug fixes:
* Updated PHP dependency to 5.2.0 (bug #14110, PHP bug #37632)
* 'checked' attributed on checkboxes and radios was not updated after changing
'value' attribute (bug #15708)
Deprecated features:
* setOptions() and getOptions() methods of HTML_QuickForm2_Rule are
deprecated and will be removed in the next release. Use setConfig() and
getConfig() instead.
WARNING: next release will have backwards compatibility breaks in setting Rule
configuration data. If you are just using built-in Rules you should not be
affected, but if you wrote custom subclasses for HTML_QuickForm2_Rule then pay
special attention to changes in SVN.
</notes>
</release>
<release>
<version>
<release>0.2.0</release>
<api>0.2.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2007-10-22</date>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Milestone 2: now with server-side validation support
Major additions and changes:
* Server-side validation support added
* API break: changed number and order of parameters for element constructors
* Fluent interfaces: methods that previously returned nothing now return $this
* Added method overloading to Container, allowing $form-&gt;addTextarea(...)
Feature requests addressed:
* Possibility to control validation of an element based on value of some
other element (request #4534)
* Rule comparing value of an element with numeric constants (request #4728)
* Possibility to toggle validation of empty elements (request #9097)
Bug fixes (bugs submitted for HTML_QuickForm package):
* Wrong options could be selected in &lt;select&gt; elements if numeric strings
were used as options' values (bug #10837, bug #11138)
Other resources to consider:
* QF2 development wiki: http://quickform.mamasam.com/wiki/home
* PHPUnit package from channel pear.phpunit.de is needed to run tests
</notes>
</release>
<release>
<version>
<release>0.1.0</release>
<api>0.1.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2007-04-17</date>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
<notes>
Milestone 1
Available functionality in this release:
* Base classes
* Standard HTML elements
* Data sources
Changes to observe for those familiar with HTML_QuickForm:
* DOM-inspired API for working with element hierarchy
* Streamlined API for processing the elements' values
The following feature requests were addressed in this release:
* Request #1283: Optgroup support
* Request #1681: Better access to grouped elements
* Request #4137: Form-wide functions for unfreezing and setting persistent freeze
(also in request #6421)
* Request #4564: Checkboxes can be created with arbitrary value
* Request #4793: Fixed the misspelled 'persistent' word in method names
Other resources to consider:
* QF2 development wiki: http://quickform.mamasam.com/wiki/home
* PHPUnit package from channel pear.phpunit.de is needed to run tests
</notes>
</release>
</changelog>
</package>
Jump to Line
Something went wrong with that request. Please try again.