Changeset 323 for trunk

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/autopackage.php

    r321 r323  
    101101  - Fixed bug with spaces in attribute values (schst) 
    102102  - Added value-namespace support via the namespace attribute of the <patForms:Form/> tag (schst) 
     103  - Added event support via attributes of the <patForms:Form/> tag (schst) 
    103104EOT; 
    104105 
     
    120121    'license'           => 'LGPL', 
    121122    'filelistgenerator' => 'file', 
    122     'ignore'            => array( 'package.php', 'autopackage.php', 'package.xml', '.cvsignore' ), 
     123    'ignore'            => array( 'package.php', 'autopackage.php', 'package.xml', '.cvsignore', '.svn', 'cache', 'rfcs' ), 
    123124    'notes'             => $notes, 
    124125    'simpleoutput'      => true, 
     
    137138} 
    138139 
     140$package->detectDependencies(); 
     141 
    139142$package->addMaintainer('argh', 'lead', 'Sebastian Mordziol', 'argh@php-tools.net'); 
    140143$package->addMaintainer('schst', 'lead', 'Stephan Schmidt', 'schst@php-tools.net'); 
     
    144147 
    145148$package->addDependency('patError', '', 'has', 'pkg', false); 
    146 $package->addDependency('php', '4.2.0', 'ge', 'php', false); 
     149$package->addDependency('php', '4.3.0', 'ge', 'php', false); 
    147150 
    148151// Used by Storage_DB 
     
    157160 
    158161// Propel requires PHP5 
    159 $package->addDependency('php', '5.0.0', 'ge', 'php', true); 
     162//$package->addDependency('php', '5.0.0', 'ge', 'php', true); 
    160163 
    161164$result = $package->writePackageFile(); 
  • trunk/package.php

    r321 r323  
    2222 * current version 
    2323 */ 
    24 $version = '0.9.0a2'; 
     24$version = '0.9.0b1'; 
    2525 
    2626/** 
    2727 * current state 
    2828 */ 
    29 $state = 'alpha'; 
     29$state = 'beta'; 
    3030 
    3131/** 
     
    3333 */ 
    3434$notes = <<<EOT 
     35First release candidate for 0.9.0. 
     36 
    3537Changes since v0.9.0a2: 
    3638* patForms main: 
     
    98100  - Fixed bug with spaces in attribute values (schst) 
    99101  - Added value-namespace support via the namespace attribute of the <patForms:Form/> tag (schst) 
     102  - Added event support via attributes of the <patForms:Form/> tag (schst) 
    100103EOT; 
    101104 
     
    116119    'state'             => $state, 
    117120    'license'           => 'LGPL', 
    118     'filelistgenerator' => 'cvs', 
    119     'ignore'            => array( 'package.php', 'autopackage.php', 'package.xml', 'package2.xml', '.cvsignore' ), 
     121    'filelistgenerator' => 'file', 
     122    'ignore'            => array( 'package.php', 'autopackage.php', 'package.xml', '.cvsignore', '.svn', 'examples/cache', 'rfcs' ), 
    120123    'notes'             => $notes, 
    121124    'simpleoutput'      => true, 
     
    141144 
    142145$package->addDependency('patError', '', 'has', 'pkg', false); 
    143 $package->addDependency('php', '4.2.0', 'ge', 'php', false); 
     146$package->addDependency('php', '4.3.0', 'ge', 'php', false); 
    144147 
    145148// Used by Storage_DB 
     
    153156$package->addDependency('Net_SMTP', '', 'has', 'pkg', true); 
    154157 
     158// can be used by the renderers 
     159$package->addDependency('HTML_Flexy', '', 'has', 'pkg', true); 
     160 
    155161// Propel requires PHP5 
    156 $package->addDependency('php', '5.0.0', 'ge', 'php', true); 
     162//$package->addDependency('php', '5.0.0', 'ge', 'php', true); 
    157163 
    158164if (isset($_GET['make']) || (isset($_SERVER['argv'][1]) && $_SERVER['argv'][1] == 'make')) { 
  • trunk/package.xml

    r270 r323  
    11<?xml version="1.0" encoding="ISO-8859-1" ?> 
    22<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> 
    3 <package version="1.0" packagerversion="1.4.0a9"> 
     3<package version="1.0" packagerversion="1.4.0a12"> 
    44 <name>patForms</name> 
    55 <summary>Powerful form management package.</summary> 
     
    3131   <role>helper</role> 
    3232  </maintainer> 
     33  <maintainer> 
     34   <user>sfuchs</user> 
     35   <name>Sven Fuchs</name> 
     36   <email>svenfuchs@artweb-design.de</email> 
     37   <role>lead</role> 
     38  </maintainer> 
    3339  </maintainers> 
    3440 <release> 
    35   <version>0.9.0a2</version> 
    36   <date>2005-05-05</date> 
     41  <version>0.9.0b1</version> 
     42  <date>2005-08-14</date> 
    3743  <license>LGPL</license> 
    38   <state>alpha</state> 
    39   <notes>Changes since 0.9.0a1: 
    40 - disabled script option by default (schst) 
    41 - added new Filter: Function (schst) 
    42 - added new method Element::applySimpleFilter() as requested by Helgi (schst) 
    43 - moved client side scripts to separate files (schst) 
    44 - createElementId() is now a static method (argh) 
    45 - patForms_Renderer_Array: added the elementName to the resulting array (argh) 
    46 - added new element: Combobox (schst) 
    47 - fixed bug in setValues() (schst) 
    48 - fixed bug in Trim filter (Björn Kraus) 
     44  <state>beta</state> 
     45  <notes>First release candidate for 0.9.0. 
     46 
     47Changes since v0.9.0a2: 
     48* patForms main: 
     49  - Added &quot;namespace&quot; support to patForms and patForms_Elements (closing ticket #129) (Sven Fuchs) 
     50  - Added a class patForms_Definition: base class for xml based form definitions (Sven Fuchs) 
     51  - Removed patForms_FormatChecker and replaced it with rules (closing ticket #156) (schst) 
     52  - 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) 
     53  - Cleaned up event-management and added new onRender() event (schst) 
     54  - Avoid multiple autoValidate checks in the same request (schst) 
     55  - Changed datasources to receive the element (closing ticket #151) (schst) 
     56  - Added datasource for country-selection (schst, argh) 
     57  - Added createDatasource() method to patForms (schst) 
     58  - patErrors triggered by event listeners will now bubble up to the user (schst) 
     59  - Check, whether custom locale file exists prior to loading it (schst) 
     60  - Fixed several PHP 4.4.0 notices (schst) 
     61  - Added the getRenderer() method (argh) 
     62 
     63* Elements 
     64  - 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) 
     65  - Fixed bug #148: Enum/RadioGroup/Set/Combobox Elements now accept retrieving values from a datasource additionally to the already defined value set (argh) 
     66  - Fixed bug #147: Enum/RadioGroup/Set/Combobox Elements now support setting a 'disabled' attribute for values (argh) 
     67  - Fixed bug #150: Date day element displays 32 days 
     68  - 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) 
     69  - Fixed bug #149: Non-required date elements are validated against min and max dates (argh) 
     70  - Fixed bug #179: Add errormanagment to patForms_Element::serialize*() (argh) 
     71  - Fixed bug #174: New method removeRule() is used to remove the previously added rule when usign the format attribute (schst) 
     72  - Fixed bug #171: Element_Date accepts invalid dates (argh) 
     73  - Fixed bug #182: Switch element does not check for the correct value (argh) 
     74 
     75* Rules 
     76  - 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) 
     77  - Added new rule: AnyRequired (schst) 
     78  - Fixed bug #173: translated missing french strings in patForms_Rule_URL as well as other rules (argh) 
     79  - Added new rule that prohibits updating entries in a storage (Frank Kleine) 
     80  - Added new rule that prohibits adding entries in a storage (schst) 
     81  - Fixed bug #187: Storage* rules need french translations (argh) 
     82 
     83* Storages 
     84  - Allowed the use of the DB storage container to only add entries (schst) 
     85  - Added new feature to the DB storage container to provide additional values for new entries (schst) 
     86  - Fixed the DB storage container to work with SQLite (schst) 
     87  - Fixed bug in storage containers that did not provide the onValidate() method (schst) 
     88  - Added new &quot;Mail&quot; storage (schst) 
     89  - Fixed bug #140 (missing check for database error) (schst) 
     90  - Fixed bug #177 (minor bugs in CSV storage) (schst) 
     91 
     92* Clientside features 
     93  - Changed scripts collection mechanism in patForms, patForms_Element and patForms_Rule for clientside validation. (This closes bug #133) (Sven Fuchs) 
     94 
     95* Propel Integration 
     96  - 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) 
     97  - Added a class patForms_Creator_Definition: creates a patForm instance and populates properties, elements and rules from a patForms_Definition instance (Sven Fuchs) 
     98  - Added a class patForms_Datasource_Propel: used to populate data to form elements for foreign key/related tables from a Propel ObjectPeer. (Sven Fuchs) 
     99  - Added a class patForms_Storage_Propel: implements the patForms_Storage interface to integrate with a Propel object peer. (Sven Fuchs) 
     100 
     101* Renderer 
     102  - Changed patForms_Renderer_Array to not include patForms_Datasource objects in the results array (This closes bug #131) (Sven Fuchs) 
     103  - Added new patTemplate Renderer (schst) 
     104 
     105* Parser 
     106  - Edited patForms_Parser &quot;sourcefile could not be read&quot;-message to include some additional useful debugging information (argh) 
     107  - Added filename to patForms_Parser error message (schst) 
     108  - patForms_Parser_HTML now extracts attributes of the &lt;form/&gt; tag (schst) 
     109  - Allow more than one element with the same name (schst) 
     110  - Fixed bug with spaces in attribute values (schst) 
     111  - Added value-namespace support via the namespace attribute of the &lt;patForms:Form/&gt; tag (schst) 
     112  - Added event support via attributes of the &lt;patForms:Form/&gt; tag (schst) 
    49113  </notes> 
    50114  <deps> 
    51115   <dep type="pkg" rel="has" optional="no">patError</dep> 
    52    <dep type="php" rel="ge" version="4.2.0" optional="no"/> 
     116   <dep type="php" rel="ge" version="4.3.0" optional="no"/> 
    53117   <dep type="pkg" rel="has" optional="yes">DB</dep> 
     118   <dep type="pkg" rel="has" optional="yes">Mail</dep> 
     119   <dep type="pkg" rel="has" optional="yes">Net_DNS</dep> 
     120   <dep type="pkg" rel="has" optional="yes">Net_SMTP</dep> 
     121   <dep type="pkg" rel="has" optional="yes">HTML_Flexy</dep> 
    54122  </deps> 
    55123  <filelist> 
     
    79147     <file role="doc" name="filters.txt"/> 
    80148     <file role="doc" name="notes.txt"/> 
     149     <file role="doc" name="roadmap.txt"/> 
    81150     <file role="doc" name="rules.txt"/> 
    82151    </dir> <!-- /docs --> 
     
    85154      <file role="doc" name="readme.txt"/> 
    86155     </dir> <!-- /examples/cache --> 
     156     <dir name="data"> 
     157      <file role="doc" name="users.csv"/> 
     158     </dir> <!-- /examples/data --> 
    87159     <dir name="fileupload"> 
    88160      <file role="doc" name="readme.txt"/> 
     
    113185      <file role="doc" name="xmlSource.php"/> 
    114186     </dir> <!-- /examples/patExampleGen --> 
     187     <dir name="propel"> 
     188      <dir name="bookstore"> 
     189       <dir name="map"> 
     190        <file role="doc" name="AuthorMapBuilder.php"/> 
     191        <file role="doc" name="BookMapBuilder.php"/> 
     192        <file role="doc" name="PublisherMapBuilder.php"/> 
     193       </dir> <!-- /examples/propel/bookstore/map --> 
     194       <dir name="om"> 
     195        <file role="doc" name="BaseAuthor.php"/> 
     196        <file role="doc" name="BaseAuthorPeer.php"/> 
     197        <file role="doc" name="BaseBook.php"/> 
     198        <file role="doc" name="BaseBookPeer.php"/> 
     199        <file role="doc" name="BasePublisher.php"/> 
     200        <file role="doc" name="BasePublisherPeer.php"/> 
     201       </dir> <!-- /examples/propel/bookstore/om --> 
     202       <file role="doc" name="Author.php"/> 
     203       <file role="doc" name="AuthorPeer.php"/> 
     204       <file role="doc" name="Book.php"/> 
     205       <file role="doc" name="BookPeer.php"/> 
     206       <file role="doc" name="Publisher.php"/> 
     207      </dir> <!-- /examples/propel/bookstore --> 
     208      <dir name="conf"> 
     209       <file role="doc" name="bookstore-conf.php"/> 
     210      </dir> <!-- /examples/propel/conf --> 
     211      <dir name="db"> 
     212       <file role="doc" name="bookstore.db"/> 
     213      </dir> <!-- /examples/propel/db --> 
     214     </dir> <!-- /examples/propel --> 
    115215     <dir name="templates"> 
    116216      <file role="doc" name="example_parser_attributes.fhtml"/> 
     217      <file role="doc" name="example_parser_attributes.html"/> 
     218      <file role="doc" name="example_parser_datanamespace.fhtml"/> 
     219      <file role="doc" name="example_parser_datanamespace.html"/> 
    117220      <file role="doc" name="example_parser_datasource.fhtml"/> 
     221      <file role="doc" name="example_parser_datasource.html"/> 
     222      <file role="doc" name="example_parser_events.fhtml"/> 
     223      <file role="doc" name="example_parser_events.html"/> 
     224      <file role="doc" name="example_parser_html-generated.fhtml"/> 
     225      <file role="doc" name="example_parser_html-output.html"/> 
    118226      <file role="doc" name="example_parser_html-source.html"/> 
    119227      <file role="doc" name="example_parser_intro.fhtml"/> 
    120228      <file role="doc" name="example_parser_ns_auto.fhtml"/> 
     229      <file role="doc" name="example_parser_ns_auto.html"/> 
    121230      <file role="doc" name="example_parser_ns_handler.fhtml"/> 
    122231      <file role="doc" name="example_parser_options.fhtml"/> 
     232      <file role="doc" name="example_parser_options.html"/> 
    123233      <file role="doc" name="example_parser_pattemplate.ftmpl"/> 
     234      <file role="doc" name="example_parser_pattemplate.tmpl"/> 
    124235      <file role="doc" name="example_parser_pattemplate_2forms.ftmpl"/> 
    125236      <file role="doc" name="example_parser_pattemplate_2forms.tmpl"/> 
     
    127238      <file role="doc" name="example_parser_pattemplate_group.tmpl"/> 
    128239      <file role="doc" name="example_parser_placeholder.fhtml"/> 
     240      <file role="doc" name="example_parser_placeholder.html"/> 
    129241      <file role="doc" name="example_parser_radiogroups.fhtml"/> 
     242      <file role="doc" name="example_parser_radiogroups.html"/> 
    130243      <file role="doc" name="example_parser_simple.fhtml"/> 
     244      <file role="doc" name="example_parser_simple.html"/> 
     245      <file role="doc" name="example_renderer_pattemplate.tmpl"/> 
     246      <file role="doc" name="example_renderer_pattemplate_form.tmpl"/> 
     247      <file role="doc" name="example_renderer_pattemplate_repeat.tmpl"/> 
    131248      <file role="doc" name="example_renderer_string.html"/> 
    132249      <file role="doc" name="example_renderer_string_attributes.html"/> 
     250      <file role="doc" name="example_renderer_string_errors.html"/> 
    133251      <file role="doc" name="example_renderer_string_placeholders.html"/> 
    134252     </dir> <!-- /examples/templates --> 
     
    149267     <file role="doc" name="example_creator_db.php"/> 
    150268     <file role="doc" name="example_creator_db_mysql.php"/> 
     269     <file role="doc" name="example_datasrc_countries.php"/> 
    151270     <file role="doc" name="example_datasrc_function.php"/> 
    152271     <file role="doc" name="example_datasrc_object.php"/> 
     
    183302     <file role="doc" name="example_observer_readonly.php"/> 
    184303     <file role="doc" name="example_parser_attributes.php"/> 
     304     <file role="doc" name="example_parser_datanamespace.php"/> 
    185305     <file role="doc" name="example_parser_datasource.php"/> 
     306     <file role="doc" name="example_parser_events.php"/> 
    186307     <file role="doc" name="example_parser_html.php"/> 
    187308     <file role="doc" name="example_parser_intro.php"/> 
     
    196317     <file role="doc" name="example_parser_simple.php"/> 
    197318     <file role="doc" name="example_renderer_array.php"/> 
     319     <file role="doc" name="example_renderer_pattemplate.php"/> 
     320     <file role="doc" name="example_renderer_pattemplate_form.php"/> 
     321     <file role="doc" name="example_renderer_pattemplate_repeat.php"/> 
    198322     <file role="doc" name="example_renderer_radiogroup.php"/> 
    199323     <file role="doc" name="example_renderer_string.php"/> 
    200324     <file role="doc" name="example_renderer_string_attributes.php"/> 
     325     <file role="doc" name="example_renderer_string_errors.php"/> 
    201326     <file role="doc" name="example_renderer_string_placeholders.php"/> 
    202327     <file role="doc" name="example_rule_after.php"/> 
     
    204329     <file role="doc" name="example_rule_conditionalenum.php"/> 
    205330     <file role="doc" name="example_rule_element.php"/> 
     331     <file role="doc" name="example_rule_format.php"/> 
     332     <file role="doc" name="example_rule_remove.php"/> 
    206333     <file role="doc" name="example_storage_csv.php"/> 
    207334     <file role="doc" name="example_storage_db.php"/> 
    208335     <file role="doc" name="example_storage_db.sql"/> 
     336     <file role="doc" name="example_storage_mail.php"/> 
     337     <file role="doc" name="example_storage_propel.php"/> 
    209338     <file role="doc" name="index.php"/> 
     339     <file role="doc" name="setup_examples.php"/> 
    210340    </dir> <!-- /examples --> 
    211341    <dir name="patForms"> 
     
    215345      </dir> <!-- /patForms/Creator/DB --> 
    216346      <file role="php" name="DB.php"/> 
     347      <file role="php" name="Definition.php"/> 
    217348     </dir> <!-- /patForms/Creator --> 
     349     <dir name="Datasource"> 
     350      <file role="php" name="Countries.php"/> 
     351      <file role="php" name="Propel.php"/> 
     352     </dir> <!-- /patForms/Datasource --> 
     353     <dir name="Definition"> 
     354      <file role="php" name="Propel.php"/> 
     355     </dir> <!-- /patForms/Definition --> 
    218356     <dir name="Element"> 
    219357      <dir name="Date"> 
     
    262400     <dir name="Renderer"> 
    263401      <file role="php" name="Array.php"/> 
     402      <file role="php" name="Flexy.php"/> 
     403      <file role="php" name="patTemplate.php"/> 
     404      <file role="php" name="PhpTal.php"/> 
     405      <file role="php" name="Savant3.php"/> 
     406      <file role="php" name="Smarty.php"/> 
    264407      <file role="php" name="String.php"/> 
    265408     </dir> <!-- /patForms/Renderer --> 
    266409     <dir name="Rule"> 
     410      <file role="php" name="AnyRequired.php"/> 
    267411      <file role="php" name="ConditionalEnum.php"/> 
    268412      <file role="php" name="ConditionalRequired.php"/> 
     
    271415      <file role="php" name="GermanBLZ.php"/> 
    272416      <file role="php" name="GermanZipCode.php"/> 
     417      <file role="php" name="Match.php"/> 
     418      <file role="php" name="MaxLength.php"/> 
     419      <file role="php" name="MaxValue.php"/> 
     420      <file role="php" name="MinLength.php"/> 
     421      <file role="php" name="MinValue.php"/> 
     422      <file role="php" name="NotMatch.php"/> 
    273423      <file role="php" name="Retype.php"/> 
     424      <file role="php" name="StorageProhibitAdd.php"/> 
     425      <file role="php" name="StorageProhibitUpdate.php"/> 
     426      <file role="php" name="URL.php"/> 
     427      <file role="php" name="ValidValues.php"/> 
    274428     </dir> <!-- /patForms/Rule --> 
    275429     <dir name="Scripts"> 
     
    281435       <dir name="Rule"> 
    282436        <file role="data" name="ConditionalEnum.js"/> 
     437        <file role="data" name="Match.js"/> 
     438        <file role="data" name="MaxLength.js"/> 
     439        <file role="data" name="MaxValue.js"/> 
     440        <file role="data" name="MinLength.js"/> 
     441        <file role="data" name="MinValue.js"/> 
     442        <file role="data" name="NotMatch.js"/> 
     443        <file role="data" name="ValidValues.js"/> 
    283444       </dir> <!-- /patForms/Scripts/Html/Rule --> 
    284445      </dir> <!-- /patForms/Scripts/Html --> 
     
    287448      <file role="php" name="CSV.php"/> 
    288449      <file role="php" name="DB.php"/> 
     450      <file role="php" name="Mail.php"/> 
     451      <file role="php" name="Propel.php"/> 
    289452     </dir> <!-- /patForms/Storage --> 
    290453     <file role="php" name="Collection.php"/> 
    291454     <file role="php" name="Creator.php"/> 
     455     <file role="php" name="Definition.php"/> 
    292456     <file role="php" name="Element.php"/> 
    293457     <file role="php" name="Filter.php"/> 
     
    299463    </dir> <!-- /patForms --> 
    300464    <dir name="tests"> 
     465     <dir name="element"> 
     466      <dir name="pages"> 
     467       <file role="test" name="test_namespace_combined_1_form.php"/> 
     468       <file role="test" name="test_namespace_combined_2_forms.php"/> 
     469       <file role="test" name="test_namespace_element_combobox.php"/> 
     470       <file role="test" name="test_namespace_element_date.php"/> 
     471       <file role="test" name="test_namespace_element_enum.php"/> 
     472       <file role="test" name="test_namespace_element_file.php"/> 
     473       <file role="test" name="test_namespace_element_group.php"/> 
     474       <file role="test" name="test_namespace_element_hidden.php"/> 
     475       <file role="test" name="test_namespace_element_number.php"/> 
     476       <file role="test" name="test_namespace_element_pool.php"/> 
     477       <file role="test" name="test_namespace_element_pool_multi.php"/> 
     478       <file role="test" name="test_namespace_element_radio.php"/> 
     479       <file role="test" name="test_namespace_element_radiogroup.php"/> 
     480       <file role="test" name="test_namespace_element_set.php"/> 
     481       <file role="test" name="test_namespace_element_string.php"/> 
     482       <file role="test" name="test_namespace_element_switch.php"/> 
     483       <file role="test" name="test_namespace_element_text.php"/> 
     484      </dir> <!-- /tests/element/pages --> 
     485      <file role="test" name="Base.php"/> 
     486      <file role="test" name="Basic.php"/> 
     487      <file role="test" name="Convert.php"/> 
     488      <file role="test" name="Namespaces.php"/> 
     489      <file role="test" name="Set.php"/> 
     490     </dir> <!-- /tests/element --> 
     491     <dir name="Renderer"> 
     492      <dir name="res"> 
     493       <file role="test" name="test.flexy.form.tpl"/> 
     494       <file role="test" name="test.flexy.simple.tpl"/> 
     495       <file role="test" name="test.phpTal.form.tpl"/> 
     496       <file role="test" name="test.phpTal.simple.tpl"/> 
     497       <file role="test" name="test.savant.form.tpl"/> 
     498       <file role="test" name="test.savant.simple.tpl"/> 
     499       <file role="test" name="test.smarty.form.tpl"/> 
     500       <file role="test" name="test.smarty.simple.tpl"/> 
     501      </dir> <!-- /tests/Renderer/res --> 
     502      <file role="test" name="FlexyTest.php"/> 
     503      <file role="test" name="PhpTalTest.php"/> 
     504      <file role="test" name="Savant3Test.php"/> 
     505      <file role="test" name="SmartyTest.php"/> 
     506     </dir> <!-- /tests/Renderer --> 
    301507     <file role="test" name="benchmark_concat.php"/> 
    302508     <file role="test" name="benchmark_str_replace.php"/> 
    303509     <file role="test" name="readme.txt"/> 
     510     <file role="test" name="runtests.php"/> 
    304511    </dir> <!-- /tests --> 
    305512    <file role="php" name="patForms.php"/> 
     
    322529- added new element: Combobox (schst) 
    323530- fixed bug in setValues() (schst) 
    324 - fixed bug in Trim filter (Björn Kraus) 
     531- fixed bug in Trim filter (Bjrn Kraus) 
     532    </notes> 
     533   </release> 
     534   <release> 
     535    <version>0.9.0b1</version> 
     536    <date>2005-08-14</date> 
     537    <license>LGPL</license> 
     538    <state>beta</state> 
     539    <notes>First release candidate for 0.9.0. 
     540 
     541Changes since v0.9.0a2: 
     542* patForms main: 
     543  - Added &quot;namespace&quot; support to patForms and patForms_Elements (closing ticket #129) (Sven Fuchs) 
     544  - Added a class patForms_Definition: base class for xml based form definitions (Sven Fuchs) 
     545  - Removed patForms_FormatChecker and replaced it with rules (closing ticket #156) (schst) 
     546  - 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) 
     547  - Cleaned up event-management and added new onRender() event (schst) 
     548  - Avoid multiple autoValidate checks in the same request (schst) 
     549  - Changed datasources to receive the element (closing ticket #151) (schst) 
     550  - Added datasource for country-selection (schst, argh) 
     551  - Added createDatasource() method to patForms (schst) 
     552  - patErrors triggered by event listeners will now bubble up to the user (schst) 
     553  - Check, whether custom locale file exists prior to loading it (schst) 
     554  - Fixed several PHP 4.4.0 notices (schst) 
     555  - Added the getRenderer() method (argh) 
     556 
     557* Elements 
     558  - 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) 
     559  - Fixed bug #148: Enum/RadioGroup/Set/Combobox Elements now accept retrieving values from a datasource additionally to the already defined value set (argh) 
     560  - Fixed bug #147: Enum/RadioGroup/Set/Combobox Elements now support setting a 'disabled' attribute for values (argh) 
     561  - Fixed bug #150: Date day element displays 32 days 
     562  - 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) 
     563  - Fixed bug #149: Non-required date elements are validated against min and max dates (argh) 
     564  - Fixed bug #179: Add errormanagment to patForms_Element::serialize*() (argh) 
     565  - Fixed bug #174: New method removeRule() is used to remove the previously added rule when usign the format attribute (schst) 
     566  - Fixed bug #171: Element_Date accepts invalid dates (argh) 
     567  - Fixed bug #182: Switch element does not check for the correct value (argh) 
     568 
     569* Rules 
     570  - 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) 
     571  - Added new rule: AnyRequired (schst) 
     572  - Fixed bug #173: translated missing french strings in patForms_Rule_URL as well as other rules (argh) 
     573  - Added new rule that prohibits updating entries in a storage (Frank Kleine) 
     574  - Added new rule that prohibits adding entries in a storage (schst) 
     575  - Fixed bug #187: Storage* rules need french translations (argh) 
     576 
     577* Storages 
     578  - Allowed the use of the DB storage container to only add entries (schst) 
     579  - Added new feature to the DB storage container to provide additional values for new entries (schst) 
     580  - Fixed the DB storage container to work with SQLite (schst) 
     581  - Fixed bug in storage containers that did not provide the onValidate() method (schst) 
     582  - Added new &quot;Mail&quot; storage (schst) 
     583  - Fixed bug #140 (missing check for database error) (schst) 
     584  - Fixed bug #177 (minor bugs in CSV storage) (schst) 
     585 
     586* Clientside features 
     587  - Changed scripts collection mechanism in patForms, patForms_Element and patForms_Rule for clientside validation. (This closes bug #133) (Sven Fuchs) 
     588 
     589* Propel Integration 
     590  - 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) 
     591  - Added a class patForms_Creator_Definition: creates a patForm instance and populates properties, elements and rules from a patForms_Definition instance (Sven Fuchs) 
     592  - Added a class patForms_Datasource_Propel: used to populate data to form elements for foreign key/related tables from a Propel ObjectPeer. (Sven Fuchs) 
     593  - Added a class patForms_Storage_Propel: implements the patForms_Storage interface to integrate with a Propel object peer. (Sven Fuchs) 
     594 
     595* Renderer 
     596  - Changed patForms_Renderer_Array to not include patForms_Datasource objects in the results array (This closes bug #131) (Sven Fuchs) 
     597  - Added new patTemplate Renderer (schst) 
     598 
     599* Parser 
     600  - Edited patForms_Parser &quot;sourcefile could not be read&quot;-message to include some additional useful debugging information (argh) 
     601  - Added filename to patForms_Parser error message (schst) 
     602  - patForms_Parser_HTML now extracts attributes of the &lt;form/&gt; tag (schst) 
     603  - Allow more than one element with the same name (schst) 
     604  - Fixed bug with spaces in attribute values (schst) 
     605  - Added value-namespace support via the namespace attribute of the &lt;patForms:Form/&gt; tag (schst) 
     606  - Added event support via attributes of the &lt;patForms:Form/&gt; tag (schst) 
    325607    </notes> 
    326608   </release> 
  • 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" /> 
    &