root/branches/gettext/examples/example_clientside_date.php

Revision 373, 2.7 kB (checked in by gerd, 2 years ago)

Added basic example to use patForms with gettext

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?php
2 /**
3  * Example for the Date element
4  *
5  * $Id$
6  *
7  * @access        public
8  * @package        patForms
9  * @subpackage    Examples
10  * @author        Sebastian Mordziol <argh@php-tools.net>
11  * @license        LGPL, see license.txt for details
12  * @link        http://www.php-tools.net
13  */
14
15     /**
16      * Main examples prepend file, needed *only* for the examples framework!
17      */
18     include_once 'patExampleGen/prepend.php';
19     $exampleGen->displayHead( 'Example' );
20
21     
22     
23     /**
24      * main patForms class
25      */
26     require_once $neededFiles['patForms'];
27     
28     /**
29      * patErrorManager class
30      */
31     require_once $neededFiles['patErrorManager'];
32     
33     include dirname( __FILE__ ) . '/setup_gettext.php';
34
35     
36     // element definitions for this example
37     $elementsDefinition = array(
38         'xmess' => array(
39             'type' => 'Date',
40             'attributes' => array(
41                 'required'        =>    'yes',
42                 'display'        =>    'yes',
43                 'edit'            =>    'yes',
44                 'label'            =>    'X-Mess eve',
45                 'title'            =>    'X-Mess',
46                 'description'    =>    'Tell me when you celebrate x-mess.',
47                 'dateformat'    =>    '%d.%m.%Y %H:%M',
48                 'default'        =>    '2001-12-24 07:30:42',
49                 'onchange'        =>    'alert( pfe_xmess.getDate() )',
50             ),
51         ),
52     );
53     
54     // create the form
55     $form    =&    patForms::createForm( $elementsDefinition, array( 'name' => 'myForm' ) );
56     
57     // create the needed renderer
58     $renderer    =&    patForms::createRenderer( "Array" );
59     
60     // set the renderer
61     $form->setRenderer( $renderer );
62     
63     // use auto-validation
64     $form->setAutoValidate( 'save' );
65
66     // serialize the elements
67     $elements    =    $form->renderForm();
68     
69     
70     // ERROR DISPLAY ------------------------------------------------------
71
72     // ask the form if it has been submitted
73     if( $form->isSubmitted() )
74     {
75         // get and display errors as needed
76         $errors = $form->getValidationErrors();
77         if( $errors )
78         {
79             echo "<b>patForms:</b> validation failed. Errors:<br><br>";
80             
81             // each element can have several error messages.
82             foreach( $errors as $elementName => $elementErrors )
83             {
84                 if( empty( $elementErrors ) )
85                     continue;
86                     
87                 echo 'Field: <b>'.$elementName.'</b>';
88                 echo "<pre>";
89                 print_r( $elementErrors );
90                 echo "</pre>";
91             }
92         }
93         else
94         {
95             echo "<b>patForms:</b> validation successful.<br><br>";
96         }
97     }
98
99
100     // DISPLAY FORM ------------------------------------------------------
101
102     // output the opening form tag
103     echo     $form->serializeStart();
104
105     // display all elements
106     foreach( $elements as $element )
107     {
108         echo $element["label"]."<br>";
109         echo "<div>".$element["element"]."</div>";
110         echo "<i>".$element["description"]."</i><br><br>";
111     }
112
113     // submit button, closing form tag
114     echo '<input type="submit" name="save" value="Save form"/><br><br>';
115     echo $form->serializeEnd();
116
117
118     
119     
120     // EXAMPLE END ------------------------------------------------------
121     $exampleGen->displayFooter();
122 ?>
Note: See TracBrowser for help on using the browser.