Show
Ignore:
Timestamp:
08/14/05 13:15:06 (3 years ago)
Author:
schst
Message:

Prepared first release candidate

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/package2.xml

    r270 r323  
    11<?xml version="1.0"?> 
    2 <package packagerversion="1.4.0a11" 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 
     2<package packagerversion="1.4.0a12" 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 
    33http://pear.php.net/dtd/tasks-1.0.xsd 
    44http://pear.php.net/dtd/package-2.0 
     
    88 <summary>Powerful form management package.</summary> 
    99 <description>patForms is a powerful package that helps you creating an validating forms. It is not limited to HTML forms. 
    10  
     10  
    1111 </description> 
    1212 <lead> 
     
    2020  <user>schst</user> 
    2121  <email>schst@php-tools.net</email> 
     22  <active>yes</active> 
     23 </lead> 
     24 <lead> 
     25  <name>Sven Fuchs</name> 
     26  <user>sfuchs</user> 
     27  <email>svenfuchs@artweb-design.de</email> 
    2228  <active>yes</active> 
    2329 </lead> 
     
    3440  <active>yes</active> 
    3541 </helper> 
    36  <date>2005-05-05</date> 
    37  <time>15:22:55</time> 
     42 <date>2005-08-14</date> 
     43 <time>11:07:33</time> 
    3844 <version> 
    39   <release>0.9.0a2</release> 
    40   <api>0.9.0a2</api> 
     45  <release>0.9.0b1</release> 
     46  <api>0.9.0b1</api> 
    4147 </version> 
    4248 <stability> 
    43   <release>alpha</release> 
    44   <api>alpha</api> 
     49  <release>beta</release> 
     50  <api>beta</api> 
    4551 </stability> 
    4652 <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license> 
    47  <notes>Changes since 0.9.0a1: 
    48 - disabled script option by default (schst) 
    49 - added new Filter: Function (schst) 
    50 - added new method Element::applySimpleFilter() as requested by Helgi (schst) 
    51 - moved client side scripts to separate files (schst) 
    52 - createElementId() is now a static method (argh) 
    53 - patForms_Renderer_Array: added the elementName to the resulting array (argh) 
    54 - added new element: Combobox (schst) 
    55 - fixed bug in setValues() (schst) 
    56 - fixed bug in Trim filter (Bjoern Kraus) 
    57  
     53 <notes>First release candidate for 0.9.0. 
     54 
     55Changes since v0.9.0a2: 
     56* patForms main: 
     57  - Added &quot;namespace&quot; support to patForms and patForms_Elements (closing ticket #129) (Sven Fuchs) 
     58  - Added a class patForms_Definition: base class for xml based form definitions (Sven Fuchs) 
     59  - Removed patForms_FormatChecker and replaced it with rules (closing ticket #156) (schst) 
     60  - Added an event onValidate to patForms and registered storages to listen to this event. This allows patForms_Storage containers to do their own validation, e.g. for unique keys. (This closes bug #130) (Sven Fuchs) 
     61  - Cleaned up event-management and added new onRender() event (schst) 
     62  - Avoid multiple autoValidate checks in the same request (schst) 
     63  - Changed datasources to receive the element (closing ticket #151) (schst) 
     64  - Added datasource for country-selection (schst, argh) 
     65  - Added createDatasource() method to patForms (schst) 
     66  - patErrors triggered by event listeners will now bubble up to the user (schst) 
     67  - Check, whether custom locale file exists prior to loading it (schst) 
     68  - Fixed several PHP 4.4.0 notices (schst) 
     69  - Added the getRenderer() method (argh) 
     70 
     71* Elements 
     72  - Fixed bug #87: Passwords will not be sent back to the browser if the &quot;resendpasswd&quot; attribute is not set to &quot;yes&quot; (schst) 
     73  - Fixed bug #148: Enum/RadioGroup/Set/Combobox Elements now accept retrieving values from a datasource additionally to the already defined value set (argh) 
     74  - Fixed bug #147: Enum/RadioGroup/Set/Combobox Elements now support setting a &apos;disabled&apos; attribute for values (argh) 
     75  - Fixed bug #150: Date day element displays 32 days 
     76  - Fixed bug #172: modified behavior of the setValue for the set element so that you may pass either a string for a single selected value, or an array with a list of selected entries (argh) 
     77  - Fixed bug #149: Non-required date elements are validated against min and max dates (argh) 
     78  - Fixed bug #179: Add errormanagment to patForms_Element::serialize*() (argh) 
     79  - Fixed bug #174: New method removeRule() is used to remove the previously added rule when usign the format attribute (schst) 
     80  - Fixed bug #171: Element_Date accepts invalid dates (argh) 
     81  - Fixed bug #182: Switch element does not check for the correct value (argh) 
     82 
     83* Rules 
     84  - Added several patForms_Rules to match Propel Validator classes and enable client side validation for these. New rules are: MaxLength, MinLength, MaxValue, MinValue, Match, NotMatch, ValidValues (Sven Fuchs) 
     85  - Added new rule: AnyRequired (schst) 
     86  - Fixed bug #173: translated missing french strings in patForms_Rule_URL as well as other rules (argh) 
     87  - Added new rule that prohibits updating entries in a storage (Frank Kleine) 
     88  - Added new rule that prohibits adding entries in a storage (schst) 
     89  - Fixed bug #187: Storage* rules need french translations (argh) 
     90 
     91* Storages 
     92  - Allowed the use of the DB storage container to only add entries (schst) 
     93  - Added new feature to the DB storage container to provide additional values for new entries (schst) 
     94  - Fixed the DB storage container to work with SQLite (schst) 
     95  - Fixed bug in storage containers that did not provide the onValidate() method (schst) 
     96  - Added new &quot;Mail&quot; storage (schst) 
     97  - Fixed bug #140 (missing check for database error) (schst) 
     98  - Fixed bug #177 (minor bugs in CSV storage) (schst) 
     99 
     100* Clientside features 
     101  - Changed scripts collection mechanism in patForms, patForms_Element and patForms_Rule for clientside validation. (This closes bug #133) (Sven Fuchs) 
     102 
     103* Propel Integration 
     104  - Added a class patForms_Definition_Propel: definition that either populates itself from a Propel ObjectPeer class and writes itself to an xml file OR reads an existing xml   file and populates itself from it, when this file exists (Sven Fuchs) 
     105  - Added a class patForms_Creator_Definition: creates a patForm instance and populates properties, elements and rules from a patForms_Definition instance (Sven Fuchs) 
     106  - Added a class patForms_Datasource_Propel: used to populate data to form elements for foreign key/related tables from a Propel ObjectPeer. (Sven Fuchs) 
     107  - Added a class patForms_Storage_Propel: implements the patForms_Storage interface to integrate with a Propel object peer. (Sven Fuchs) 
     108 
     109* Renderer 
     110  - Changed patForms_Renderer_Array to not include patForms_Datasource objects in the results array (This closes bug #131) (Sven Fuchs) 
     111  - Added new patTemplate Renderer (schst) 
     112 
     113* Parser 
     114  - Edited patForms_Parser &quot;sourcefile could not be read&quot;-message to include some additional useful debugging information (argh) 
     115  - Added filename to patForms_Parser error message (schst) 
     116  - patForms_Parser_HTML now extracts attributes of the &lt;form/&gt; tag (schst) 
     117  - Allow more than one element with the same name (schst) 
     118  - Fixed bug with spaces in attribute values (schst) 
     119  - Added value-namespace support via the namespace attribute of the &lt;patForms:Form/&gt; tag (schst) 
     120  - Added event support via attributes of the &lt;patForms:Form/&gt; tag (schst) 
     121   
    58122 </notes> 
    59123 <contents> 
     
    83147    <file baseinstalldir="pat" name="filters.txt" role="doc" /> 
    84148    <file baseinstalldir="pat" name="notes.txt" role="doc" /> 
     149    <file baseinstalldir="pat" name="roadmap.txt" role="doc" /> 
    85150    <file baseinstalldir="pat" name="rules.txt" role="doc" /> 
    86151   </dir> <!-- /docs --> 
     
    89154     <file baseinstalldir="pat" name="readme.txt" role="doc" /> 
    90155    </dir> <!-- /examples/cache --> 
     156    <dir name="data"> 
     157     <file baseinstalldir="pat" name="users.csv" role="doc" /> 
     158    </dir> <!-- /examples/data --> 
    91159    <dir name="fileupload"> 
    92160     <file baseinstalldir="pat" name="readme.txt" role="doc" /> 
     
    117185     <file baseinstalldir="pat" name="xmlSource.php" role="doc" /> 
    118186    </dir> <!-- /examples/patExampleGen --> 
     187    <dir name="propel"> 
     188     <dir name="bookstore"> 
     189      <dir name="map"> 
     190       <file baseinstalldir="pat" name="AuthorMapBuilder.php" role="doc" /> 
     191       <file baseinstalldir="pat" name="BookMapBuilder.php" role="doc" /> 
     192       <file baseinstalldir="pat" name="PublisherMapBuilder.php" role="doc" /> 
     193      </dir> <!-- /examples/propel/bookstore/map --> 
     194      <dir name="om"> 
     195       <file baseinstalldir="pat" name="BaseAuthor.php" role="doc" /> 
     196       <file baseinstalldir="pat" name="BaseAuthorPeer.php" role="doc" /> 
     197       <file baseinstalldir="pat" name="BaseBook.php" role="doc" /> 
     198       <file baseinstalldir="pat" name="BaseBookPeer.php" role="doc" /> 
     199       <file baseinstalldir="pat" name="BasePublisher.php" role="doc" /> 
     200       <file baseinstalldir="pat" name="BasePublisherPeer.php" role="doc" /> 
     201      </dir> <!-- /examples/propel/bookstore/om --> 
     202      <file baseinstalldir="pat" name="Author.php" role="doc" /> 
     203      <file baseinstalldir="pat" name="AuthorPeer.php" role="doc" /> 
     204      <file baseinstalldir="pat" name="Book.php" role="doc" /> 
     205      <file baseinstalldir="pat" name="BookPeer.php" role="doc" /> 
     206      <file baseinstalldir="pat" name="Publisher.php" role="doc" /> 
     207     </dir> <!-- /examples/propel/bookstore --> 
     208     <dir name="conf"> 
     209      <file baseinstalldir="pat" name="bookstore-conf.php" role="doc" /> 
     210     </dir> <!-- /examples/propel/conf --> 
     211     <dir name="db"> 
     212      <file baseinstalldir="pat" name="bookstore.db" role="doc" /> 
     213     </dir> <!-- /examples/propel/db --> 
     214    </dir> <!-- /examples/propel --> 
    119215    <dir name="templates"> 
    120216     <file baseinstalldir="pat" name="example_parser_attributes.fhtml" role="doc" /> 
     217     <file baseinstalldir="pat" name="example_parser_attributes.html" role="doc" /> 
     218     <file baseinstalldir="pat" name="example_parser_datanamespace.fhtml" role="doc" /> 
     219     <file baseinstalldir="pat" name="example_parser_datanamespace.html" role="doc" /> 
    121220     <file baseinstalldir="pat" name="example_parser_datasource.fhtml" role="doc" /> 
     221     <file baseinstalldir="pat" name="example_parser_datasource.html" role="doc" /> 
     222     <file baseinstalldir="pat" name="example_parser_events.fhtml" role="doc" /> 
     223     <file baseinstalldir="pat" name="example_parser_events.html" role="doc" /> 
     224     <file baseinstalldir="pat" name="example_parser_html-generated.fhtml" role="doc" /> 
     225     <file baseinstalldir="pat" name="example_parser_html-output.html" role="doc" /> 
    122226     <file baseinstalldir="pat" name="example_parser_html-source.html" role="doc" /> 
    123227     <file baseinstalldir="pat" name="example_parser_intro.fhtml" role="doc" /> 
    124228     <file baseinstalldir="pat" name="example_parser_ns_auto.fhtml" role="doc" /> 
     229     <file baseinstalldir="pat" name="example_parser_ns_auto.html" role="doc" /> 
    125230     <file baseinstalldir="pat" name="example_parser_ns_handler.fhtml" role="doc" /> 
    126231     <file baseinstalldir="pat" name="example_parser_options.fhtml" role="doc" /> 
     232     <file baseinstalldir="pat" name="example_parser_options.html" role="doc" /> 
    127233     <file baseinstalldir="pat" name="example_parser_pattemplate.ftmpl" role="doc" /> 
     234     <file baseinstalldir="pat" name="example_parser_pattemplate.tmpl" role="doc" /> 
    128235     <file baseinstalldir="pat" name="example_parser_pattemplate_2forms.ftmpl" role="doc" /> 
    129236     <file baseinstalldir="pat" name="example_parser_pattemplate_2forms.tmpl" role="doc" /> 
     
    131238     <file baseinstalldir="pat" name="example_parser_pattemplate_group.tmpl" role="doc" /> 
    132239     <file baseinstalldir="pat" name="example_parser_placeholder.fhtml" role="doc" /> 
     240     <file baseinstalldir="pat" name="example_parser_placeholder.html" role="doc" /> 
    133241     <file baseinstalldir="pat" name="example_parser_radiogroups.fhtml" role="doc" /> 
     242     <file baseinstalldir="pat" name="example_parser_radiogroups.html" role="doc" /> 
    134243     <file baseinstalldir="pat" name="example_parser_simple.fhtml" role="doc" /> 
     244     <file baseinstalldir="pat" name="example_parser_simple.html" role="doc" /> 
     245     <file baseinstalldir="pat" name="example_renderer_pattemplate.tmpl" role="doc" /> 
     246     <file baseinstalldir="pat" name="example_renderer_pattemplate_form.tmpl" role="doc" /> 
     247     <file baseinstalldir="pat" name="example_renderer_pattemplate_repeat.tmpl" role="doc" /> 
    135248     <file baseinstalldir="pat" name="example_renderer_string.html" role="doc" /> 
    136249     <file baseinstalldir="pat" name="example_renderer_string_attributes.html" role="doc" /> 
     250     <file baseinstalldir="pat" name="example_renderer_string_errors.html" role="doc" /> 
    137251     <file baseinstalldir="pat" name="example_renderer_string_placeholders.html" role="doc" /> 
    138252    </dir> <!-- /examples/templates --> 
     
    153267    <file baseinstalldir="pat" name="example_creator_db.php" role="doc" /> 
    154268    <file baseinstalldir="pat" name="example_creator_db_mysql.php" role="doc" /> 
     269    <file baseinstalldir="pat" name="example_datasrc_countries.php" role="doc" /> 
    155270    <file baseinstalldir="pat" name="example_datasrc_function.php" role="doc" /> 
    156271    <file baseinstalldir="pat" name="example_datasrc_object.php" role="doc" /> 
     
    187302    <file baseinstalldir="pat" name="example_observer_readonly.php" role="doc" /> 
    188303    <file baseinstalldir="pat" name="example_parser_attributes.php" role="doc" /> 
     304    <file baseinstalldir="pat" name="example_parser_datanamespace.php" role="doc" /> 
    189305    <file baseinstalldir="pat" name="example_parser_datasource.php" role="doc" /> 
     306    <file baseinstalldir="pat" name="example_parser_events.php" role="doc" /> 
    190307    <file baseinstalldir="pat" name="example_parser_html.php" role="doc" /> 
    191308    <file baseinstalldir="pat" name="example_parser_intro.php" role="doc" /> 
     
    200317    <file baseinstalldir="pat" name="example_parser_simple.php" role="doc" /> 
    201318    <file baseinstalldir="pat" name="example_renderer_array.php" role="doc" /> 
     319    <file baseinstalldir="pat" name="example_renderer_pattemplate.php" role="doc" /> 
     320    <file baseinstalldir="pat" name="example_renderer_pattemplate_form.php" role="doc" /> 
     321    <file baseinstalldir="pat" name="example_renderer_pattemplate_repeat.php" role="doc" /> 
    202322    <file baseinstalldir="pat" name="example_renderer_radiogroup.php" role="doc" /> 
    203323    <file baseinstalldir="pat" name="example_renderer_string.php" role="doc" /> 
    204324    <file baseinstalldir="pat" name="example_renderer_string_attributes.php" role="doc" /> 
     325    <file baseinstalldir="pat" name="example_renderer_string_errors.php" role="doc" /> 
    205326    <file baseinstalldir="pat" name="example_renderer_string_placeholders.php" role="doc" /> 
    206327    <file baseinstalldir="pat" name="example_rule_after.php" role="doc" /> 
     
    208329    <file baseinstalldir="pat" name="example_rule_conditionalenum.php" role="doc" /> 
    209330    <file baseinstalldir="pat" name="example_rule_element.php" role="doc" /> 
     331    <file baseinstalldir="pat" name="example_rule_format.php" role="doc" /> 
     332    <file baseinstalldir="pat" name="example_rule_remove.php" role="doc" /> 
    210333    <file baseinstalldir="pat" name="example_storage_csv.php" role="doc" /> 
    211334    <file baseinstalldir="pat" name="example_storage_db.php" role="doc" /> 
    212335    <file baseinstalldir="pat" name="example_storage_db.sql" role="doc" /> 
     336    <file baseinstalldir="pat" name="example_storage_mail.php" role="doc" /> 
     337    <file baseinstalldir="pat" name="example_storage_propel.php" role="doc" /> 
    213338    <file baseinstalldir="pat" name="index.php" role="doc" /> 
     339    <file baseinstalldir="pat" name="setup_examples.php" role="doc" /> 
    214340   </dir> <!-- /examples --> 
    215341   <dir name="patForms"> 
     
    219345     </dir> <!-- /patForms/Creator/DB --> 
    220346     <file baseinstalldir="pat" name="DB.php" role="php" /> 
     347     <file baseinstalldir="pat" name="Definition.php" role="php" /> 
    221348    </dir> <!-- /patForms/Creator --> 
     349    <dir name="Datasource"> 
     350     <file baseinstalldir="pat" name="Countries.php" role="php" /> 
     351     <file baseinstalldir="pat" name="Propel.php" role="php" /> 
     352    </dir> <!-- /patForms/Datasource --> 
     353    <dir name="Definition"> 
     354     <file baseinstalldir="pat" name="Propel.php" role="php" /> 
     355    </dir> <!-- /patForms/Definition --> 
    222356    <dir name="Element"> 
    223357     <dir name="Date"> 
     
    266400    <dir name="Renderer"> 
    267401     <file baseinstalldir="pat" name="Array.php" role="php" /> 
     402     <file baseinstalldir="pat" name="Flexy.php" role="php" /> 
     403     <file baseinstalldir="pat" name="patTemplate.php" role="php" /> 
     404     <file baseinstalldir="pat" name="PhpTal.php" role="php" /> 
     405     <file baseinstalldir="pat" name="Savant3.php" role="php" /> 
     406     <file baseinstalldir="pat" name="Smarty.php" role="php" /> 
    268407     <file baseinstalldir="pat" name="String.php" role="php" /> 
    269408    </dir> <!-- /patForms/Renderer --> 
    270409    <dir name="Rule"> 
     410     <file baseinstalldir="pat" name="AnyRequired.php" role="php" /> 
    271411     <file baseinstalldir="pat" name="ConditionalEnum.php" role="php" /> 
    272412     <file baseinstalldir="pat" name="ConditionalRequired.php" role="php" /> 
     
    275415     <file baseinstalldir="pat" name="GermanBLZ.php" role="php" /> 
    276416     <file baseinstalldir="pat" name="GermanZipCode.php" role="php" /> 
     417     <file baseinstalldir="pat" name="Match.php" role="php" /> 
     418     <file baseinstalldir="pat" name="MaxLength.php" role="php" /> 
     419     <file baseinstalldir="pat" name="MaxValue.php" role="php" /> 
     420     <file baseinstalldir="pat" name="MinLength.php" role="php" /> 
     421     <file baseinstalldir="pat" name="MinValue.php" role="php" /> 
     422     <file baseinstalldir="pat" name="NotMatch.php" role="php" /> 
    277423     <file baseinstalldir="pat" name="Retype.php" role="php" /> 
     424     <file baseinstalldir="pat" name="StorageProhibitAdd.php" role="php" /> 
     425     <file baseinstalldir="pat" name="StorageProhibitUpdate.php" role="php" /> 
     426     <file baseinstalldir="pat" name="URL.php" role="php" /> 
     427     <file baseinstalldir="pat" name="ValidValues.php" role="php" /> 
    278428    </dir> <!-- /patForms/Rule --> 
    279429    <dir name="Scripts"> 
     
    285435      <dir name="Rule"> 
    286436       <file baseinstalldir="pat" name="ConditionalEnum.js" role="data" /> 
     437       <file baseinstalldir="pat" name="Match.js" role="data" /> 
     438       <file baseinstalldir="pat" name="MaxLength.js" role="data" /> 
     439       <file baseinstalldir="pat" name="MaxValue.js" role="data" /> 
     440       <file baseinstalldir="pat" name="MinLength.js" role="data" /> 
     441       <file baseinstalldir="pat" name="MinValue.js" role="data" /> 
     442       <file baseinstalldir="pat" name="NotMatch.js" role="data" /> 
     443       <file baseinstalldir="pat" name="ValidValues.js" role="data" /> 
    287444      </dir> <!-- /patForms/Scripts/Html/Rule --> 
    288445     </dir> <!-- /patForms/Scripts/Html --> 
     
    291448     <file baseinstalldir="pat" name="CSV.php" role="php" /> 
    292449     <file baseinstalldir="pat" name="DB.php" role="php" /> 
     450     <file baseinstalldir="pat" name="Mail.php" role="php" /> 
     451     <file baseinstalldir="pat" name="Propel.php" role="php" /> 
    293452    </dir> <!-- /patForms/Storage --> 
    294453    <file baseinstalldir="pat" name="Collection.php" role="php" /> 
    295454    <file baseinstalldir="pat" name="Creator.php" role="php" /> 
     455    <file baseinstalldir="pat" name="Definition.php" role="php" /> 
    296456    <file baseinstalldir="pat" name="Element.php" role="php" /> 
    297457    <file baseinstalldir="pat" name="Filter.php" role="php" /> 
     
    303463   </dir> <!-- /patForms --> 
    304464   <dir name="tests"> 
     465    <dir name="element"> 
     466     <dir name="pages"> 
     467      <file baseinstalldir="pat" name="test_namespace_combined_1_form.php" role="test" /> 
     468      <file baseinstalldir="pat" name="test_namespace_combined_2_forms.php" role="test" /> 
     469      <file baseinstalldir="pat" name="test_namespace_element_combobox.php" role="test" /> 
     470      <file baseinstalldir="pat" name="test_namespace_element_date.php" role="test" /> 
     471      <file baseinstalldir="pat" name="test_namespace_element_enum.php" role="test" /> 
     472      <file baseinstalldir="pat" name="test_namespace_element_file.php" role="test" /> 
     473      <file baseinstalldir="pat" name="test_namespace_element_group.php" role="test" /> 
     474      <file baseinstalldir="pat" name="test_namespace_element_hidden.php" role="test" /> 
     475      <file baseinstalldir="pat" name="test_namespace_element_number.php" role="test" /> 
     476      <file baseinstalldir="pat" name="test_namespace_element_pool.php" role="test" /> 
     477      <file baseinstalldir="pat" name="test_namespace_element_pool_multi.php" role="test" /> 
     478      <file baseinstalldir="pat" name="test_namespace_element_radio.php" role="test" /> 
     479      <file baseinstalldir="pat" name="test_namespace_element_radiogroup.php" role="test" /> 
     480      <file baseinstalldir="pat" name="test_namespace_element_set.php" role="test" /> 
     481      <file baseinstalldir="pat" name="test_namespace_element_string.php" role="test" /> 
     482      <file baseinstalldir="pat" name="test_namespace_element_switch.php" role="test" /> 
     483      <file baseinstalldir="pat" name="test_namespace_element_text.php" role="test" /> 
     484     </dir> <!-- /tests/element/pages --> 
     485     <file baseinstalldir="pat" name="Base.php" role="test" /> 
     486     <file baseinstalldir="pat" name="Basic.php" role="test" /> 
     487     <file baseinstalldir="pat" name="Convert.php" role="test" /> 
     488     <file baseinstalldir="pat" name="Namespaces.php" role="test" /> 
     489     <file baseinstalldir="pat" name="Set.php" role="test" /> 
     490    </dir> <!-- /tests/element --> 
     491    <dir name="Renderer"> 
     492     <dir name="res"> 
     493      <file baseinstalldir="pat" name="test.flexy.form.tpl" role="test" /> 
     494      <file baseinstalldir="pat" name="test.flexy.simple.tpl" role="test" /> 
     495      <file baseinstalldir="pat" name="test.phpTal.form.tpl" role="test" /> 
     496      <file baseinstalldir="pat" name="test.phpTal.simple.tpl" role="test" /> 
     497      <file baseinstalldir="pat" name="test.savant.form.tpl" role="test" /> 
     498      <file baseinstalldir="pat" name="test.savant.simple.tpl" role="test" /> 
     499      <file baseinstalldir="pat" name="test.smarty.form.tpl" role="test" /> 
     500      <file baseinstalldir="pat" name="test.smarty.simple.tpl" role="test" /> 
     501     </dir> <!-- /tests/Renderer/res --> 
     502     <file baseinstalldir="pat" name="FlexyTest.php" role="test" /> 
     503     <file baseinstalldir="pat" name="PhpTalTest.php" role="test" /> 
     504     <file baseinstalldir="pat" name="Savant3Test.php" role="test" /> 
     505     <file baseinstalldir="pat" name="SmartyTest.php" role="test" /> 
     506    </dir> <!-- /tests/Renderer --> 
    305507    <file baseinstalldir="pat" name="benchmark_concat.php" role="test" /> 
    306508    <file baseinstalldir="pat" name="benchmark_str_replace.php" role="test" /> 
    307509    <file baseinstalldir="pat" name="readme.txt" role="test" /> 
     510    <file baseinstalldir="pat" name="runtests.php" role="test" /> 
    308511   </dir> <!-- /tests --> 
    309512   <file baseinstalldir="pat" name="patForms.php" role="php" /> 
     
    313516  <required> 
    314517   <php> 
    315     <min>4.2.0</min> 
     518    <min>4.3.0</min> 
    316519   </php> 
    317520   <pearinstaller> 
    318     <min>1.4.0a11</min> 
     521    <min>1.4.0a1</min> 
    319522   </pearinstaller> 
    320523   <package> 
     
    327530    <name>DB</name> 
    328531    <channel>pear.php.net</channel> 
     532   </package> 
     533   <package> 
     534    <name>Mail</name> 
     535    <channel>pear.php.net</channel> 
     536   </package> 
     537   <package> 
     538    <name>Net_DNS</name> 
     539    <channel>pear.php.net</channel> 
     540   </package> 
     541   <package> 
     542    <name>Net_SMTP</name> 
     543    <channel>pear.php.net</channel> 
     544   </package> 
     545   <package> 
     546    <name>HTML_Template_Flexy</name> 
     547    <channel>pear.php.net</channel> 
     548   </package> 
     549   <package> 
     550    <name>patTemplate</name> 
     551    <channel>pear.php-tools.net</channel> 
     552   </package> 
     553   <package> 
     554    <name>Smarty</name> 
     555    <channel>pearified.com</channel> 
    329556   </package> 
    330557  </optional> 
     
    352579- added new element: Combobox (schst) 
    353580- fixed bug in setValues() (schst) 
    354 - fixed bug in Trim filter (Bjoern Kraus) 
     581- fixed bug in Trim filter (Bjrn Kraus) 
     582     
     583   </notes> 
     584  </release> 
     585  <release> 
     586   <version> 
     587    <release>0.9.0b1</release> 
     588    <api>0.9.0b1</api> 
     589   </version> 
     590   <stability> 
     591    <release>beta</release> 
     592    <api>beta</api> 
     593   </stability> 
     594   <date>2005-08-14</date> 
     595   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license> 
     596   <notes>First release candidate for 0.9.0. 
     597 
     598Changes since v0.9.0a2: 
     599* patForms main: 
     600  - Added &quot;namespace&quot; support to patForms and patForms_Elements (closing ticket #129) (Sven Fuchs) 
     601  - Added a class patForms_Definition: base class for xml based form definitions (Sven Fuchs) 
     602  - Removed patForms_FormatChecker and replaced it with rules (closing ticket #156) (schst) 
     603  - Added an event onValidate to patForms and registered storages to listen to this event. This allows patForms_Storage containers to do their own validation, e.g. for unique keys. (This closes bug #130) (Sven Fuchs) 
     604  - Cleaned up event-management and added new onRender() event (schst) 
     605  - Avoid multiple autoValidate checks in the same request (schst) 
     606  - Changed datasources to receive the element (closing ticket #151) (schst) 
     607  - Added datasource for country-selection (schst, argh) 
     608  - Added createDatasource() method to patForms (schst) 
     609  - patErrors triggered by event listeners will now bubble up to the user (schst) 
     610  - Check, whether custom locale file exists prior to loading it (schst) 
     611  - Fixed several PHP 4.4.0 notices (schst) 
     612  - Added the getRenderer() method (argh) 
     613 
     614* Elements 
     615  - Fixed bug #87: Passwords will not be sent back to the browser if the &quot;resendpasswd&quot; attribute is not set to &quot;yes&quot; (schst) 
     616  - Fixed bug #148: Enum/RadioGroup/Set/Combobox Elements now accept retrieving values from a datasource additionally to the already defined value set (argh) 
     617  - Fixed bug #147: Enum/RadioGroup/Set/Combobox Elements now support setting a &apos;disabled&apos; attribute for values (argh) 
     618  - Fixed bug #150: Date day element displays 32 days 
     619  - Fixed bug #172: modified behavior of the setValue for the set element so that you may pass either a string for a single selected value, or an array with a list of selected entries (argh) 
     620  - Fixed bug #149: Non-required date elements are validated against min and max dates (argh) 
     621  - Fixed bug #179: Add errormanagment to patForms_Element::serialize*() (argh) 
     622  - Fixed bug #174: New method removeRule() is used to remove the previously added rule when usign the format attribute (schst) 
     623  - Fixed bug #171: Element_Date accepts invalid dates (argh) 
     624  - Fixed bug #182: Switch element does not check for the correct value (argh) 
     625 
     626* Rules 
     627  - Added several patForms_Rules to match Propel Validator classes and enable client side validation for these. New rules are: MaxLength, MinLength, MaxValue, MinValue, Match, NotMatch, ValidValues (Sven Fuchs) 
     628  - Added new rule: AnyRequired (schst) 
     629  - Fixed bug #173: translated missing french strings in patForms_Rule_URL as well as other rules (argh) 
     630  - Added new rule that prohibits updating entries in a storage (Frank Kleine) 
     631  - Added new rule that prohibits adding entries in a storage (schst) 
     632  - Fixed bug #187: Storage* rules need french translations (argh) 
     633 
     634* Storages 
     635  - Allowed the use of the DB storage container to only add entries (schst) 
     636  - Added new feature to the DB storage container to provide additional values for new entries (schst) 
     637  - Fixed the DB storage container to work with SQLite (schst) 
     638  - Fixed bug in storage containers that did not provide the onValidate() method (schst) 
     639  - Added new &quot;Mail&quot; storage (schst) 
     640  - Fixed bug #140 (missing check for database error) (schst) 
     641  - Fixed bug #177 (minor bugs in CSV storage) (schst) 
     642 
     643* Clientside features 
     644  - Changed scripts collection mechanism in patForms, patForms_Element and patForms_Rule for clientside validation. (This closes bug #133) (Sven Fuchs) 
     645 
     646* Propel Integration 
     647  - Added a class patForms_Definition_Propel: definition that either populates itself from a Propel ObjectPeer class and writes itself to an xml file OR reads an existing xml   file and populates itself from it, when this file exists (Sven Fuchs) 
     648  - Added a class patForms_Creator_Definition: creates a patForm instance and populates properties, elements and rules from a patForms_Definition instance (Sven Fuchs) 
     649  - Added a class patForms_Datasource_Propel: used to populate data to form elements for foreign key/related tables from a Propel ObjectPeer. (Sven Fuchs) 
     650  - Added a class patForms_Storage_Propel: implements the patForms_Storage interface to integrate with a Propel object peer. (Sven Fuchs) 
     651 
     652* Renderer 
     653  - Changed patForms_Renderer_Array to not include patForms_Datasource objects in the results array (This closes bug #131) (Sven Fuchs) 
     654  - Added new patTemplate Renderer (schst) 
     655 
     656* Parser 
     657  - Edited patForms_Parser &quot;sourcefile could not be read&quot;-message to include some additional useful debugging information (argh) 
     658  - Added filename to patForms_Parser error message (schst) 
     659  - patForms_Parser_HTML now extracts attributes of the &lt;form/&gt; tag (schst) 
     660  - Allow more than one element with the same name (schst) 
     661  - Fixed bug with spaces in attribute values (schst) 
     662  - Added value-namespace support via the namespace attribute of the &lt;patForms:Form/&gt; tag (schst) 
     663  - Added event support via attributes of the &lt;patForms:Form/&gt; tag (schst) 
     664     
    355665   </notes> 
    356666  </release>