JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
metaform's updated for new template engine
authorJason Woofenden <jason@jasonwoof.com>
Sun, 8 Nov 2009 19:39:19 +0000 (14:39 -0500)
committerJason Woofenden <jason@jasonwoof.com>
Sun, 8 Nov 2009 20:27:56 +0000 (15:27 -0500)
metaform/main.html
metaform/preview.html
metaform/template.email.txt
metaform/template.html
metaform/template.php
metaform/template.sql

index 650269d..80f7d2b 100644 (file)
   <form action="~metaform_name~" method="get">
     <p>The form name should not contain any capitals or symbols (besides underscore)</p>
 
-    <p>File name: <input type="text" name="file_name" value="~file_name.attr~" />.html</p>
+    <p>File name: <input type="text" name="file_name" value="~file_name attr~" />.html</p>
 
-    <p>DB table: <input type="text" name="table_name" value="~table_name.attr~" /></p>
+    <p>DB table: <input type="text" name="table_name" value="~table_name attr~" /></p>
 
-    <p>Printable singular: <input type="text" name="singular" value="~singular.attr~" /></p>
+    <p>Printable singular: <input type="text" name="singular" value="~singular attr~" /></p>
 
-    <p>Printable plural: <input type="text" name="plural" value="~plural.attr~" /></p>
+    <p>Printable plural: <input type="text" name="plural" value="~plural attr~" /></p>
 
 
        <h3>Features</h3>
 
-    <p><input type="checkbox" name="opt_email~opt_email.checked~" value="Yes" /> Send form results vie e-mail.</p>
+    <p><input type="checkbox" name="opt_email~opt_email checked~" value="Yes" /> Send form results vie e-mail.</p>
 
-    <p><input type="checkbox" name="opt_db~opt_db.checked~" value="Yes" /> Save form results to a database.</p>
+    <p><input type="checkbox" name="opt_db~opt_db checked~" value="Yes" /> Save form results to a database.</p>
 
-    <p><input type="checkbox" name="opt_listing~opt_listing.checked~" value="Yes" /> Provide a "Listing" page.</p>
+    <p><input type="checkbox" name="opt_listing~opt_listing checked~" value="Yes" /> Provide a "Listing" page.</p>
 
-    <p><input type="checkbox" name="opt_display~opt_display.checked~" value="Yes" /> Provide a "Display" page.</p>
+    <p><input type="checkbox" name="opt_display~opt_display checked~" value="Yes" /> Provide a "Display" page.</p>
 
-    <p><input type="checkbox" name="opt_http_pass~opt_http_pass.checked~" value="Yes" /> Password protect this form (with HTTP authentication).</p>
+    <p><input type="checkbox" name="opt_http_pass~opt_http_pass checked~" value="Yes" /> Password protect this form (with HTTP authentication).</p>
 
-       <p>Below, specify the fields you'd like in your form, one field per line. After each field name, put at least one space, then the field type. The following field types are available: <!--~types start~--><!--~types_sep start~-->, <!--~end~-->~type.html~<!--~end~-->.</p>
+       <p>Below, specify the fields you'd like in your form, one field per line. After each field name, put at least one space, then the field type. The following field types are available: <!--~types {~--><!--~types_sep {~-->, <!--~}~-->~type html~<!--~}~-->.</p>
        <p>Example:<br /><pre>
 name      textbox
 phone     phone
 comments  textarea
 agree     yesno</pre></p>
     <p>Fields: 
-    <textarea rows="10" cols="40" name="fields">~fields.html~</textarea></p>
+    <textarea rows="10" cols="40" name="fields">~fields html~</textarea></p>
 
     <p><input type="submit" name="preview" value="Continue" /></p>
   </form>
index 98c0109..5f20a5b 100644 (file)
@@ -14,7 +14,7 @@
     <p><form action="~file_name~.tgz" method="get">~hiddens~<input type="submit" name="download_tar" value="Download tarball" /></form></p>
 
   <form action="~metaform_name~" method="get">
-       <p><!--~hiddens start~--><input type="hidden" name="file_name" value="~file_name.attr~" /><input type="hidden" name="table_name" value="~table_name.attr~" /><input type="hidden" name="singular" value="~singular.attr~" /><input type="hidden" name="plural" value="~plural.attr~" /><input type="hidden" name="opt_email" value="~opt_email.attr~" /><input type="hidden" name="opt_db" value="~opt_db.attr~" /><input type="hidden" name="opt_listing" value="~opt_listing.attr~" /><input type="hidden" name="opt_display" value="~opt_display.attr~" /><input type="hidden" name="opt_http_pass" value="~opt_http_pass.attr~" /><input type="hidden" name="fields" value="~fields.attr~" /><!--~end~--><input type="submit" name="edit" value="Back to editing" /></p>
+       <p><!--~hiddens {~--><input type="hidden" name="file_name" value="~file_name attr~" /><input type="hidden" name="table_name" value="~table_name attr~" /><input type="hidden" name="singular" value="~singular attr~" /><input type="hidden" name="plural" value="~plural attr~" /><input type="hidden" name="opt_email" value="~opt_email attr~" /><input type="hidden" name="opt_db" value="~opt_db attr~" /><input type="hidden" name="opt_listing" value="~opt_listing attr~" /><input type="hidden" name="opt_display" value="~opt_display attr~" /><input type="hidden" name="opt_http_pass" value="~opt_http_pass attr~" /><input type="hidden" name="fields" value="~fields attr~" /><!--~}~--><input type="submit" name="edit" value="Back to editing" /></p>
 
     <p><input type="submit" name="view_sql" value="View SQL" /></p>
 
index bc13503..95b574f 100644 (file)
@@ -1,6 +1,6 @@
 The following new ~singular~ was just received:
-<!--~fields start~--><!--~normal start~-->
-~caption~: ~~~name~~~<!--~end~--><!--~checkbox start~-->
-~caption~: ~~~name~.yesno~~<!--~end~--><!--~multi_line start~-->
+<!--~fields {~--><!--~normal {~-->
+~caption~: ~~~name~~~<!--~}~--><!--~checkbox {~-->
+~caption~: ~~~name~.yesno~~<!--~}~--><!--~multi_line {~-->
 ~caption~:
-~~~name~.tab~~<!--~end~--><!--~end~-->
+~~~name~.tab~~<!--~}~--><!--~}~-->
index ef4e26c..8bafdeb 100644 (file)
@@ -2,8 +2,8 @@
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-  <title>~plural.cap~</title>
-  <link rel="stylesheet" href="style.css" type="text/css" /><!--~html_editor_headers start~--><!--~~extra_headers start~~-->
+  <title>~plural cap~</title>
+  <link rel="stylesheet" href="style.css" type="text/css" /><!--~html_editor_headers {~--><!--~~extra_headers {~~-->
   <script type="text/javascript" src="code/tiny_mce/tiny_mce.js"></script>
   <script language="javascript" type="text/javascript">
 //<![CDATA[
       height: '550',
     });
 //]]>
-  </script><!--~~end~~--><!--~end~-->
+  </script><!--~~}~~--><!--~}~-->
 </head>
 
 <body>
-  <!--~~main_body start~~-->
+  <!--~~main_body {~~-->
 
-  <!--~~message_container start~~-->
-       <div style="border: 2px solid red; background: #fbb; padding: 5px; margin: 20px 0px">
-       <!--~~message_box start~~-->
-           <!--~~message_divider start~~-->
-               <hr />
-           <!--~~end~~-->
-           <p style="font-size: 120%; padding: 5px; margin: 0px">~~message_text.html~~</p>
-       <!--~~end~~-->
-       </div>
-  <!--~~end~~-->
-<!--~opt_display_1 start~-->
-<!--~~display_body start~~-->
-  <h2>~singular.cap~ details</h2>
+    <!--~~wfpl_messages {~~-->
+      <!--~~ first {~~-->
+        <div style="border: 2px solid red; background: #fbb; padding: 5px; margin: 20px 0px">
+      <!--~~}~~-->
+          <p style="font-size: 120%; padding: 5px; margin: 0px">~~data html~~</p>
+      <!--~~ sep {~~-->
+          <hr />
+      <!--~~}~~-->
+      <!--~~ last {~~-->
+        </div>
+      <!--~~}~~-->
+    <!--~~}~~-->
+<!--~opt_display_1 {~-->
+<!--~~display_body {~~-->
+  <h2>~singular cap~ details</h2>
 
-    <p><a href="~file_name~?~file_name~_edit_id=~~id.attr~~">Edit</a></p>
+    <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
 
     <table border="0" cellpadding="3" cellspacing="0" summary="">
-<!--~display_row start~--><!--~display_image start~-->
-      <tr><td class="caption">~caption.html~:</td><td><img src="~~~name~.image_src~~" width="~~~name~.image_width~~" height="~~~name~.image_height~~" alt="" /></td></tr>
-<!--~end~--><!--~display_yesno start~-->
-      <tr><td class="caption">~caption.html~:</td><td>~~~name~.yesno~~</td></tr>
-<!--~end~--><!--~display_date start~-->
-      <tr><td class="caption">~caption.html~:</td><td>~~~name~.mmddyyyy~~</td></tr>
-<!--~end~--><!--~display_short start~-->
-      <tr><td class="caption">~caption.html~:</td><td>~~~name~.html~~</td></tr>
-<!--~end~--><!--~display_html start~-->
-      <tr><td class="caption">~caption.html~:</span></td><td></td></tr>
+<!--~display_row {~--><!--~display_image {~-->
+      <tr><td class="caption">~caption html~:</td><td><img src="~~~name~ image_src~~" width="~~~name~ image_width~~" height="~~~name~ image_height~~" alt="" /></td></tr>
+<!--~}~--><!--~display_yesno {~-->
+      <tr><td class="caption">~caption html~:</td><td>~~~name~ yesno~~</td></tr>
+<!--~}~--><!--~display_date {~-->
+      <tr><td class="caption">~caption html~:</td><td>~~~name~ mmddyyyy~~</td></tr>
+<!--~}~--><!--~display_short {~-->
+      <tr><td class="caption">~caption html~:</td><td>~~~name~ html~~</td></tr>
+<!--~}~--><!--~display_html {~-->
+      <tr><td class="caption">~caption html~:</span></td><td></td></tr>
       <tr><td colspan="2"><div style="padding: 15px; border: 1px solid black">~~~name~~~</div></td></tr>
-<!--~end~--><!--~display_multiline start~-->
-      <tr><td class="caption">~caption.html~:</td><td>~~~name~.htmlbrtab~~</td></tr>
-<!--~end~--><!--~end~-->
+<!--~}~--><!--~display_multiline {~-->
+      <tr><td class="caption">~caption html~:</td><td>~~~name~ htmlbrtab~~</td></tr>
+<!--~}~--><!--~}~-->
     </table>
 
-    <p><a href="~file_name~?~file_name~_edit_id=~~id.attr~~">Edit</a></p>
-<!--~~end~~-->
+    <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
+<!--~~}~~-->
 
-<!--~~edit_body start~~-->
-<!--~end~-->
-<!--~~form start~~--><!--~form start~-->
-  <h2><!--~opt_db_1 start~--><!--~~new_msg start~~-->Add a new ~singular~<!--~~end~~--><!--~~edit_msg start~~-->Edit ~singular~ "~~~always_field~.html~~"<!--~~end~~--><!--~end~--><!--~opt_db_1_else start~-->Submit a ~singular~<!--~end~--></h2>
+<!--~~edit_body {~~-->
+<!--~}~-->
+<!--~~form {~~--><!--~form {~-->
+  <h2><!--~opt_db_1 {~--><!--~~new_msg {~~-->Add a new ~singular~<!--~~}~~--><!--~~edit_msg {~~-->Edit ~singular~ "~~~always_field~ html~~"<!--~~}~~--><!--~}~--><!--~opt_db_1_else {~-->Submit a ~singular~<!--~}~--></h2>
 
-  <form action="~file_name~" method="post~enctype_attr~"><!--~opt_db_2 start~--><!--~~editing start~~--><div style="display: none"><input type="hidden" name="~file_name~_edit_id" value="~~~file_name~_edit_id.attr~~" /></div><!--~~end~~--><!--~end~--><!--~uploads start~--><input type="hidden" name="MAX_FILE_SIZE" value="~~upload_max_filesize~~" /><!--~end~-->
-<!--~row start~--><!--~image start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><input type="file" name="~name~" /><input type="hidden" name="old_~name~" value="~~~name~.attr~~" /></div><!--~end~--><!--~textbox start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><input type="text" name="~name~" value="~~~name~.attr~~" /></div><!--~end~--><!--~date start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><input type="text" name="~name~" value="~~~name~.mmddyyyy.attr~~" /> mm/dd/yyyy</div><!--~end~--><!--~password start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><input type="password" name="~name~" value="~~~name~.attr~~" /></div><!--~end~--><!--~textarea start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><textarea rows="9" cols="22" name="~name~">~~~name~.html~~</textarea></div><!--~end~--><!--~html start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><textarea class="html_editor" rows="20" cols="50" name="~name~">~~~name~.html~~</textarea></div><!--~end~--><!--~pulldown start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><select name="~name~"><option value="">Choose One:</option><!--~~~name~.options~~--></select></div><!--~end~--><!--~states start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><select name="~name~"><option value="">Choose One:</option><!--~~~name~.states~~--></select></div><!--~end~--><!--~radio start~-->
-    <div class="caption">~caption.html~</div>
-    <div class="field"><input type="radio" name="~name~~~~name~.checked~~" /></div><!--~end~--><!--~checkbox start~-->
-    <div class="caption"><input type="checkbox" name="~name~~~~name~.checked~~" /> ~caption.html~</div>
-    <div class="field"></div><!--~end~--><!--~submit start~-->
-    <div class="field"><input type="submit" name="~name~" value="~caption.attr~" /></div><!--~end~-->
-<!--~end~-->
+  <form action="~file_name~" method="post~enctype_attr~"><!--~opt_db_2 {~--><!--~~editing {~~--><div style="display: none"><input type="hidden" name="~file_name~_edit_id" value="~~~file_name~_edit_id attr~~" /></div><!--~~}~~--><!--~}~--><!--~uploads {~--><input type="hidden" name="MAX_FILE_SIZE" value="~~upload_max_filesize~~" /><!--~}~-->
+<!--~row {~--><!--~image {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><input type="file" name="~name~" /><input type="hidden" name="old_~name~" value="~~~name~ attr~~" /></div><!--~}~--><!--~textbox {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><input type="text" name="~name~" value="~~~name~ attr~~" /></div><!--~}~--><!--~date {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><input type="text" name="~name~" value="~~~name~ mmddyyyy attr~~" /> mm/dd/yyyy</div><!--~}~--><!--~password {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><input type="password" name="~name~" value="~~~name~ attr~~" /></div><!--~}~--><!--~textarea {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><textarea rows="9" cols="22" name="~name~">~~~name~ html~~</textarea></div><!--~}~--><!--~html {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><textarea class="html_editor" rows="20" cols="50" name="~name~">~~~name~ html~~</textarea></div><!--~}~--><!--~pulldown {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><select name="~name~"><option value="">Choose One:</option><!--~~~name~ options~~--></select></div><!--~}~--><!--~states {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><select name="~name~"><option value="">Choose One:</option><!--~~~name~ states~~--></select></div><!--~}~--><!--~radio {~-->
+    <div class="caption">~caption html~</div>
+    <div class="field"><input type="radio" name="~name~~~~name~ checked~~" /></div><!--~}~--><!--~checkbox {~-->
+    <div class="caption"><input type="checkbox" name="~name~~~~name~ checked~~" /> ~caption html~</div>
+    <div class="field"></div><!--~}~--><!--~submit {~-->
+    <div class="field"><input type="submit" name="~name~" value="~caption attr~" /></div><!--~}~-->
+<!--~}~-->
     </table>
   </form>
-<!--~end~--><!--~~end~~-->
-<!--~opt_listing_1 start~--><!--~~listings start~~-->
-  <h2>~plural.cap~ Listing</h2>
+<!--~}~--><!--~~}~~-->
+<!--~opt_listing_1 {~--><!--~~listings {~~-->
+  <h2>~plural cap~ Listing</h2>
 
-  <!--~~populated_listing start~~-->
+  <!--~~populated_listing {~~-->
   <p><a href="~file_name~?~file_name~_new=1">[Add a new ~singular~]</a></p>
 
   <table cellspacing="0" cellpadding="4" border="1" summary="">
-    <!--~listing_head_col start~--><th>~caption~</th><!--~end~--><th>&nbsp;</th><!--~~listing_row start~~-->
-    <tr><!--~listing_row_col start~-->
-      <td class="listing"><a href="~file_name~?~file_name~_<!--~opt_display_a_else start~-->edit_<!--~end~-->id=~~id~~"><!--~listing_value_enc start~-->~~~name~.~listing_enc~~~<!--~end~--><!--~listing_value_thumb start~--><img src="~~~name~.thumb_src~~" width="~~~name~.thumb_width~~" height="~~~name~.thumb_height~~" alt="" /><!--~end~--></a></td><!--~end~-->
+    <!--~listing_head_col {~--><th>~caption~</th><!--~}~--><th>&nbsp;</th><!--~~listing_row {~~-->
+    <tr><!--~listing_row_col {~-->
+      <td class="listing"><a href="~file_name~?~file_name~_<!--~opt_display_a_else {~-->edit_<!--~}~-->id=~~id~~"><!--~listing_value_enc {~-->~~~name~ ~listing_enc~~~<!--~}~--><!--~listing_value_thumb {~--><img src="~~~name~ thumb_src~~" width="~~~name~ thumb_width~~" height="~~~name~ thumb_height~~" alt="" /><!--~}~--></a></td><!--~}~-->
       <td><a href="~file_name~?~file_name~_delete_id=~~id~~" onclick="return confirm('Permanently delete?')">[delete this ~singular~]</a></td>
-    </tr><!--~~end~~-->
+    </tr><!--~~}~~-->
 
   </table>
-  <!--~~end~~-->
-  <!--~~empty_listing start~~-->
+  <!--~~}~~-->
+  <!--~~empty_listing {~~-->
     <p>No ~plural~ in database.</p>
-  <!--~~end~~-->
+  <!--~~}~~-->
 
   <p><a href="~file_name~?~file_name~_new=1">[Add a new ~singular~]</a></p>
-<!--~~end~~--><!--~end~-->
-<!--~opt_display_2 start~-->
+<!--~~}~~--><!--~}~-->
+<!--~opt_display_2 {~-->
 
-<!--~~end~~-->
-<!--~end~-->
-<!--~~end~~-->
+<!--~~}~~-->
+<!--~}~-->
+<!--~~}~~-->
 </body>
 </html>
index 9742f4e..aed6054 100644 (file)
@@ -9,10 +9,10 @@
 
 
 # SETUP
-<!--~opt_email_1 start~-->
+<!--~opt_email_1 {~-->
 # To send results by e-mail, all you have to do is set your e-mail address here:
 $GLOBALS['~file_name~_form_recipient'] = "fixme@example.com";
-<!--~end~--><!--~opt_db_1 start~-->
+<!--~}~--><!--~opt_db_1 {~-->
 # To save results to a database, you'll need to create the ~table_name~ table
 # (the file ~file_name~.sql should help with this), and create the file
 # 'code/db_connect.php' which calls db_connect() see:
@@ -20,55 +20,55 @@ $GLOBALS['~file_name~_form_recipient'] = "fixme@example.com";
 #
 # if you rename any of the database fields, you'll need to update this:
 
-define('~file_name.upper~_DB_FIELDS', '~db_fields~');
-<!--~end~--><!--~upload_settings start~-->
+define('~file_name upper~_DB_FIELDS', '~db_fields~');
+<!--~}~--><!--~upload_settings {~-->
 # Set this to the path to your uploads directory. It can be relative to the
 # location of this script. IT MUST END WITH A SLASH
 $GLOBALS['upload_directory'] = 'uploads/';
-<!--~end~--><!--~image_settings start~-->
+<!--~}~--><!--~image_settings {~-->
 $GLOBALS['~name~_max_width'] = '400';
-$GLOBALS['~name~_max_height'] = '400';<!--~thumb_settings start~-->
+$GLOBALS['~name~_max_height'] = '400';<!--~thumb_settings {~-->
 $GLOBALS['~name~_thumb_max_width'] = '70';
 $GLOBALS['~name~_thumb_max_height'] = '70';
 $GLOBALS['~name~_file_name'] = uniqid() . getmypid() . '.jpg'; # comment this out to use uploader's filename
-<!--~end~--><!--~end~--><!--~opt_http_pass_1 start~-->
+<!--~}~--><!--~}~--><!--~opt_http_pass_1 {~-->
 # Define the username and password required to view this form:
 define('AUTH_REALM', '~file_name~ administration area');
 define('AUTH_USER', 'fixme');
 define('AUTH_PASS', 'fixme');
-<!--~end~-->
+<!--~}~-->
 
 require_once('code/wfpl/template.php');
 require_once('code/wfpl/format.php');
 require_once('code/wfpl/messages.php');
-require_once('code/wfpl/email.php');<!--~opt_db_2 start~-->
-require_once('code/db_connect.php');<!--~end~--><!--~image_include start~-->
-require_once('code/wfpl/upload.php');<!--~end~-->
+require_once('code/wfpl/email.php');<!--~opt_db_2 {~-->
+require_once('code/db_connect.php');<!--~}~--><!--~image_include {~-->
+require_once('code/wfpl/upload.php');<!--~}~-->
 
-function ~file_name~_get_fields() {<!--~formats start~-->
-       $~name~ = format_~format~($_REQUEST['~name~']<!--~pulldown_format_extra start~-->, '~name~'<!--~end~-->);<!--~end~--><!--~image_upload start~-->
+function ~file_name~_get_fields() {<!--~formats {~-->
+       $~name~ = format_~format~($_REQUEST['~name~']<!--~pulldown_format_extra {~-->, '~name~'<!--~}~-->);<!--~}~--><!--~image_upload {~-->
        if($_FILES['~name~'] && $_FILES['~name~']['error'] == 0) {
-               $~name~ = convert_uploaded_image('~name~', $GLOBALS['upload_directory'] . $GLOBALS['~name~_file_name'], $GLOBALS['~name~_max_width'], $GLOBALS['~name~_max_height']<!--~thumb_upload_params start~-->, $GLOBALS['~name~_thumb_max_width'], $GLOBALS['~name~_thumb_max_height']<!--~end~-->);
+               $~name~ = convert_uploaded_image('~name~', $GLOBALS['upload_directory'] . $GLOBALS['~name~_file_name'], $GLOBALS['~name~_max_width'], $GLOBALS['~name~_max_height']<!--~thumb_upload_params {~-->, $GLOBALS['~name~_thumb_max_width'], $GLOBALS['~name~_thumb_max_height']<!--~}~-->);
        } else {
                if($_REQUEST['delete_~name~'] == 'Yes') {
                        $~name~ = '';
                } else {
-                       $~name~ = format_image_w_h<!--~thumb_w_h start~-->_thumb_w_h<!--~end~-->($_REQUEST['old_~name~']);
+                       $~name~ = format_image_w_h<!--~thumb_w_h {~-->_thumb_w_h<!--~}~-->($_REQUEST['old_~name~']);
                }
-       }<!--~end~-->
+       }<!--~}~-->
 
        ~file_name~_tem_sets(~php_fields~);
 
        return array(~php_fields~);
 }
 
-function ~file_name~_tem_sets(~php_fields~) {<!--~tem_sets start~-->
-       tem_set('~name~', $~name~);<!--~end~-->
+function ~file_name~_tem_sets(~php_fields~) {<!--~tem_sets {~-->
+       tem_set('~name~', $~name~);<!--~}~-->
 }
-<!--~opt_listing_2 start~-->
+<!--~opt_listing_2 {~-->
 # You may pass a "where clause" for the db query.
 function ~file_name~_display_listing($where = 'order by ~always_field~ limit 100') {
-       $rows = db_get_rows('~table_name~', 'id<!--~listing_fields_1 start~-->,~name~<!--~end~-->', $where);
+       $rows = db_get_rows('~table_name~', 'id<!--~listing_fields_1 {~-->,~name~<!--~}~-->', $where);
        if($rows == false || count($rows) == 0) {
                tem_show('empty_listing');
                tem_show('listings');
@@ -76,7 +76,7 @@ function ~file_name~_display_listing($where = 'order by ~always_field~ limit 100
        }
 
        foreach($rows as $row) {
-               list($id<!--~listing_fields_2 start~-->, $~name~<!--~end~-->) = $row;
+               list($id<!--~listing_fields_2 {~-->, $~name~<!--~}~-->) = $row;
                tem_set('id', $id);
                if($~always_field~ == '') {
                        $~always_field~ = '--';
@@ -88,8 +88,8 @@ function ~file_name~_display_listing($where = 'order by ~always_field~ limit 100
        tem_show('listings');
        return true;
 }
-<!--~end~-->
-function ~file_name~_main() {<!--~opt_display_1 start~-->
+<!--~}~-->
+function ~file_name~_main() {<!--~opt_display_1 {~-->
        if(isset($_REQUEST['~file_name~_id'])) {
                $ret = ~file_name~_display_main();
                if($ret) {
@@ -103,15 +103,15 @@ function ~file_name~_main() {<!--~opt_display_1 start~-->
                }
                tem_show('edit_body');
        }
-<!--~end~--><!--~opt_display_1_else start~-->
+<!--~}~--><!--~opt_display_1_else {~-->
        $ret = _~file_name~_main();
        if($ret) {
                return $ret;
        }
-<!--~end~-->
+<!--~}~-->
        # sections displayed with tem_show() will be coppied to the main template if you have one.
        tem_show('main_body');
-}<!--~opt_display_2 start~-->
+}<!--~opt_display_2 {~-->
 
 function ~file_name~_display_main() {
        $id = format_int($_REQUEST['~file_name~_id']);
@@ -120,9 +120,9 @@ function ~file_name~_display_main() {
                message('Error: Broken link');
                return './~file_name~';
        }
-       $row = db_get_row('~table_name~', ~file_name.upper~_DB_FIELDS, 'where id=%i', $id);
+       $row = db_get_row('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $id);
        if(!$row) {
-               message('Error: ~singular.cap~ not found');
+               message('Error: ~singular cap~ not found');
                return './~file_name~';
        }
        list(~php_fields~) = $row;
@@ -130,10 +130,10 @@ function ~file_name~_display_main() {
        tem_set('id', $id);
 }
 
-function ~file_name~_edit_main() {<!--~end~--><!--~opt_display_2_else start~-->
+function ~file_name~_edit_main() {<!--~}~--><!--~opt_display_2_else {~-->
 
 
-function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
+function _~file_name~_main() {<!--~}~--><!--~opt_http_pass_2 {~-->
        # To remove password protection, just delete this block:
        if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != AUTH_USER || $_SERVER['PHP_AUTH_PW'] != AUTH_PASS) {
                header('WWW-Authenticate: Basic realm="' . AUTH_REALM . '"');
@@ -141,9 +141,9 @@ function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
                echo '401 Unauthorized';
                exit;
        }
-<!--~end~--><!--~pulldowns start~-->
+<!--~}~--><!--~pulldowns {~-->
        pulldown('~name~', array('option 1', 'option 2', 'option 3'));
-<!--~end~--><!--~opt_db_3 start~-->
+<!--~}~--><!--~opt_db_3 {~-->
        $edit_id = format_int($_REQUEST['~file_name~_edit_id']);
        unset($_REQUEST['~file_name~_edit_id']);
        if($edit_id) {
@@ -156,31 +156,31 @@ function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
        unset($_REQUEST['~file_name~_delete_id']);
        if($delete_id) {
                db_delete('~table_name~', 'where id=%i', $delete_id);
-               message('~singular.cap~ deleted.');
+               message('~singular cap~ deleted.');
 
                return './~file_name~';
        }
 
-       if(!$edit_id) {<!--~opt_listing_1 start~-->
+       if(!$edit_id) {<!--~opt_listing_1 {~-->
                if(!isset($_REQUEST['~file_name~_new']) && !isset($_REQUEST['~always_field~'])) {
                        ~file_name~_display_listing();
                        return;
                }
-<!--~end~-->
+<!--~}~-->
                tem_show('new_msg');
-       }<!--~end~-->
+       }<!--~}~-->
 
        if(isset($_POST['~always_field~'])) {
                list(~php_fields~) = ~file_name~_get_fields();
 
-               if("you're happy with the POSTed values") {<!--~opt_db_4 start~-->
+               if("you're happy with the POSTed values") {<!--~opt_db_4 {~-->
                        if($edit_id) {
-                               db_update('~table_name~', ~file_name.upper~_DB_FIELDS, ~php_fields~, 'where id=%i', $edit_id);
-                               message('~singular.cap~ updated.');
+                               db_update('~table_name~', ~file_name upper~_DB_FIELDS, ~php_fields~, 'where id=%i', $edit_id);
+                               message('~singular cap~ updated.');
                        } else {
-                               db_insert('~table_name~', ~file_name.upper~_DB_FIELDS, ~php_fields~);
-                               message('~singular.cap~ saved.');
-                       }<!--~end~--><!--~opt_email_2 start~-->
+                               db_insert('~table_name~', ~file_name upper~_DB_FIELDS, ~php_fields~);
+                               message('~singular cap~ saved.');
+                       }<!--~}~--><!--~opt_email_2 {~-->
                        if($GLOBALS['~file_name~_form_recipient'] != "fixme@example.com") {
                                $to = $GLOBALS['~file_name~_form_recipient'];
                                $from = $to;
@@ -191,7 +191,7 @@ function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
                                                $reply_to = "$_REQUEST[name] <$reply_to>";
                                        }
                                }
-                               $subject = '~plural.cap~ form submitted';
+                               $subject = '~plural cap~ form submitted';
                                $message = tem_run('~file_name~.email.txt');
                                $cc = '';
                                $bcc = '';
@@ -201,7 +201,7 @@ function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
                                } else {
                                        message('Message sent');
                                }
-                       }<!--~end~-->
+                       }<!--~}~-->
                        if($error !== true) {
                                return './~file_name~'; # FIXME is this the page you want to go to after successful form submission?
                        }
@@ -209,25 +209,25 @@ function _~file_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
                # otherwise, we display the form again. ~file_name~_get_fields() has
                # 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.<!--~opt_db_5 start~-->
+               # fix their entry in whatever way you require.<!--~opt_db_5 {~-->
        } 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('~table_name~', ~file_name.upper~_DB_FIELDS, 'where id=%i', $edit_id);
-               ~file_name~_tem_sets(~php_fields~);<!--~end~-->
+               list(~php_fields~) = db_get_row('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $edit_id);
+               ~file_name~_tem_sets(~php_fields~);<!--~}~-->
        } else {
                # form not submitted, you can set default values like so:
                #tem_set('~always_field~', 'Yes');
-       }<!--~upload_max start~-->
+       }<!--~upload_max {~-->
 
-       tem_set('upload_max_filesize', upload_max_filesize());<!--~end~-->
+       tem_set('upload_max_filesize', upload_max_filesize());<!--~}~-->
 
        # this has to be later in the file because it requres that ~always_field~ be set already
        if($edit_id) {
                tem_show('edit_msg');
        }
 
-       tem_show('form');<!--~show_extra_headers start~-->
-       tem_show('extra_headers');<!--~end~-->
+       tem_show('form');<!--~show_extra_headers {~-->
+       tem_show('extra_headers');<!--~}~-->
 }
 
 ?>
index 85686f8..20b34bd 100644 (file)
@@ -1,5 +1,5 @@
 drop table if exists ~table_name~;
 create table ~table_name~ (
-    id int unique auto_increment<!--~column start~-->,
-    ~name~ ~type~ not null default ~default~<!--~end~-->
+    id int unique auto_increment<!--~column {~-->,
+    ~name~ ~type~ not null default ~default~<!--~}~-->
 );