JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
metaform: tested and fixed. fixed sql for checkboxes
authorJason Woofenden <jason183@herkamire.com>
Sun, 31 Dec 2006 21:41:22 +0000 (16:41 -0500)
committerJason Woofenden <jason183@herkamire.com>
Sun, 31 Dec 2006 21:41:22 +0000 (16:41 -0500)
metaform.php
metaform/template.html
metaform/template.php

index 347717c..9fe48c9 100644 (file)
@@ -40,8 +40,8 @@ $GLOBALS['types'] = array(
        'password' =>   array('password',    'oneline',    'varchar(200)'),
        'textarea' =>   array('textarea',    'unix',       'text'),
        'pulldown' =>   array('pulldown',    'options',    'int'),
-       'checkbox' =>   array('checkbox',    'yesno',      'int'),
-       'yesno' =>      array('checkbox',    'yesno',      'int'),
+       'checkbox' =>   array('checkbox',    'yesno',      'varchar(3)'),
+       'yesno' =>      array('checkbox',    'yesno',      'varchar(3)'),
        'submit' =>     array('submit',      'oneline',    'n/a')
 );
 
index beb9bb4..fa10571 100644 (file)
@@ -12,7 +12,7 @@ td.caption { text-align: right; vertical-align: top; font-weight: bold; }
 <!--~~form start~~--><!--~form start~-->
   <h2>~form_name~ entry form</h2>
 
-  <form action="~form_name~.php" method="post"><!--~hidden start~--><input type="hidden" name="~name~" value="~~~name~.attr~~" /><!--~end~-->
+  <form action="~form_name~.php" method="post"><!--~~editing start~~--><input type="hidden" name="~form_name~_edit_id" value="~~~form_name~_edit_id.attr~~" /><!--~~end~~-->
     <table cellspacing="0" cellpadding="4" border="0" summary=""><!--~row start~-->
 
       <tr><!--~textbox start~--><td class="caption">~caption.html~: </td><td><input type="text" name="~name~" value="~~~name~.attr~~" /></td><!--~end~--><!--~password start~--><td class="caption">~caption.html~: </td><td><input type="password" name="~name~" value="~~~name~.attr~~" /></td><!--~end~--><!--~textarea start~--><td class="caption">~caption.html~: </td><td><textarea name="~name~">~~~name~.html~~</textarea></td><!--~end~--><!--~checkbox start~--><td class="caption">~caption.html~: </td><td><input type="checkbox" name="~name~~~~name~.checked~~" /></td><!--~end~--><!--~submit start~--><td class="submit_row" colspan="2"><input type="submit" name="~name~" value="~caption.attr~" /></td><!--~end~--></tr><!--~end~-->
index 6ed1caa..d6760cf 100644 (file)
@@ -30,10 +30,10 @@ function ~form_name~_get_fields() {
 }
 
 function ~form_name~() {
-       $event_id = format_int($_REQUEST['~form_name~_edit_id']);
+       $edit_id = format_int($_REQUEST['~form_name~_edit_id']);
        if($edit_id) {
                # add hidden field for database id of row we're editing
-               tem_set('~form_name~_event_id', $edit_id);
+               tem_set('~form_name~_edit_id', $edit_id);
                tem_sub('editing');
        }
 
@@ -51,7 +51,7 @@ function ~form_name~() {
                if("you're happy with the POSTed values") {
                        # to enable saving to a database, create a file called 'db_connect.php'
                        # see: code/wfpl/examples/db_connect.php
-                       if(file_exists('db_connect.php') {
+                       if(file_exists('db_connect.php')) {
                                require_once('db_connect.php');
                                if($edit_id) {
                                        db_update('~form_name~', '~db_fields~', ~php_fields~, 'id = %"', $edit_id);
@@ -86,10 +86,9 @@ function ~form_name~() {
                # already put the posted values back into the template engine, so they will
                # show up in the form fields. You should add some message asking people to
                # fix their entry in whatever way you require.
-       }
        } elseif($edit_id) {
                # we've recieved an edit id, but no data. So we grab the values to be edited from the database
-               list(~php_fields~) = db_get_row('events', '~db_fields~', 'id = %"', $event_id);
+               list(~php_fields~) = db_get_row('~form_name~', '~db_fields~', 'id = %"', $edit_id);
                ~tem_sets.tab~
        } else {
                # form not submitted, you can set default values like so