From 75be750e3413ca96736f78adcfdc8fcf7db9f91e Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Sun, 8 Nov 2009 14:39:19 -0500 Subject: [PATCH] metaform's updated for new template engine --- metaform/main.html | 22 +++--- metaform/preview.html | 2 +- metaform/template.email.txt | 8 +-- metaform/template.html | 156 ++++++++++++++++++++++--------------------- metaform/template.php | 102 ++++++++++++++-------------- metaform/template.sql | 4 +- 6 files changed, 148 insertions(+), 146 deletions(-) diff --git a/metaform/main.html b/metaform/main.html index 650269d..80f7d2b 100644 --- a/metaform/main.html +++ b/metaform/main.html @@ -11,35 +11,35 @@

The form name should not contain any capitals or symbols (besides underscore)

-

File name: .html

+

File name: .html

-

DB table:

+

DB table:

-

Printable singular:

+

Printable singular:

-

Printable plural:

+

Printable plural:

Features

-

Send form results vie e-mail.

+

Send form results vie e-mail.

-

Save form results to a database.

+

Save form results to a database.

-

Provide a "Listing" page.

+

Provide a "Listing" page.

-

Provide a "Display" page.

+

Provide a "Display" page.

-

Password protect this form (with HTTP authentication).

+

Password protect this form (with HTTP authentication).

-

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: , ~type.html~.

+

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: , ~type html~.

Example:

 name      textbox
 phone     phone
 comments  textarea
 agree     yesno

Fields: -

+

diff --git a/metaform/preview.html b/metaform/preview.html index 98c0109..5f20a5b 100644 --- a/metaform/preview.html +++ b/metaform/preview.html @@ -14,7 +14,7 @@

~hiddens~

-

+

diff --git a/metaform/template.email.txt b/metaform/template.email.txt index bc13503..95b574f 100644 --- a/metaform/template.email.txt +++ b/metaform/template.email.txt @@ -1,6 +1,6 @@ The following new ~singular~ was just received: - -~caption~: ~~~name~~~ -~caption~: ~~~name~.yesno~~ + +~caption~: ~~~name~~~ +~caption~: ~~~name~.yesno~~ ~caption~: -~~~name~.tab~~ +~~~name~.tab~~ diff --git a/metaform/template.html b/metaform/template.html index ef4e26c..8bafdeb 100644 --- a/metaform/template.html +++ b/metaform/template.html @@ -2,8 +2,8 @@ - ~plural.cap~ - + ~plural cap~ + + - + - -
- - -
- -

~~message_text.html~~

- -
- - - -

~singular.cap~ details

+ + +
+ +

~~data html~~

+ +
+ + +
+ + + + +

~singular cap~ details

-

Edit

+

Edit

- - - - - - - - - - + + + + + + + + + + - - - + + +
~caption.html~:
~caption.html~:~~~name~.yesno~~
~caption.html~:~~~name~.mmddyyyy~~
~caption.html~:~~~name~.html~~
~caption.html~:
~caption html~:
~caption html~:~~~name~ yesno~~
~caption html~:~~~name~ mmddyyyy~~
~caption html~:~~~name~ html~~
~caption html~:
~~~name~~~
~caption.html~:~~~name~.htmlbrtab~~
~caption html~:~~~name~ htmlbrtab~~
-

Edit

- +

Edit

+ - - - -

Add a new ~singular~Edit ~singular~ "~~~always_field~.html~~"Submit a ~singular~

+ + + +

Add a new ~singular~Edit ~singular~ "~~~always_field~ html~~"Submit a ~singular~

-
- -
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
mm/dd/yyyy
-
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
-
~caption.html~
-
-
- +
+ +
~caption html~
+
+
~caption html~
+
+
~caption html~
+
mm/dd/yyyy
+
~caption html~
+
+
~caption html~
+
+
~caption html~
+
+
~caption html~
+
+
~caption html~
+
+
~caption html~
+
+
~caption html~
+
+
+
- - -

~plural.cap~ Listing

+ + +

~plural cap~ Listing

- +

[Add a new ~singular~]

- - - + + + - +
~caption~ 
~~~name~.~listing_enc~~~~caption~ 
~~~name~ ~listing_enc~~~ [delete this ~singular~]
- - + +

No ~plural~ in database.

- +

[Add a new ~singular~]

- - + + - - - + + + diff --git a/metaform/template.php b/metaform/template.php index 9742f4e..aed6054 100644 --- a/metaform/template.php +++ b/metaform/template.php @@ -9,10 +9,10 @@ # SETUP - + # 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"; - + # 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~'); - +define('~file_name upper~_DB_FIELDS', '~db_fields~'); + # 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/'; - + $GLOBALS['~name~_max_width'] = '400'; -$GLOBALS['~name~_max_height'] = '400'; +$GLOBALS['~name~_max_height'] = '400'; $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 - + # 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'); - + require_once('code/wfpl/template.php'); require_once('code/wfpl/format.php'); require_once('code/wfpl/messages.php'); -require_once('code/wfpl/email.php'); -require_once('code/db_connect.php'); -require_once('code/wfpl/upload.php'); +require_once('code/wfpl/email.php'); +require_once('code/db_connect.php'); +require_once('code/wfpl/upload.php'); -function ~file_name~_get_fields() { - $~name~ = format_~format~($_REQUEST['~name~'], '~name~'); +function ~file_name~_get_fields() { + $~name~ = format_~format~($_REQUEST['~name~'], '~name~'); 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'], $GLOBALS['~name~_thumb_max_width'], $GLOBALS['~name~_thumb_max_height']); + $~name~ = convert_uploaded_image('~name~', $GLOBALS['upload_directory'] . $GLOBALS['~name~_file_name'], $GLOBALS['~name~_max_width'], $GLOBALS['~name~_max_height'], $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($_REQUEST['old_~name~']); + $~name~ = format_image_w_h_thumb_w_h($_REQUEST['old_~name~']); } - } + } ~file_name~_tem_sets(~php_fields~); return array(~php_fields~); } -function ~file_name~_tem_sets(~php_fields~) { - tem_set('~name~', $~name~); +function ~file_name~_tem_sets(~php_fields~) { + tem_set('~name~', $~name~); } - + # 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,~name~', $where); + $rows = db_get_rows('~table_name~', 'id,~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, $~name~) = $row; + list($id, $~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; } - -function ~file_name~_main() { + +function ~file_name~_main() { if(isset($_REQUEST['~file_name~_id'])) { $ret = ~file_name~_display_main(); if($ret) { @@ -103,15 +103,15 @@ function ~file_name~_main() { } tem_show('edit_body'); } - + $ret = _~file_name~_main(); if($ret) { return $ret; } - + # sections displayed with tem_show() will be coppied to the main template if you have one. tem_show('main_body'); -} +} 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() { +function ~file_name~_edit_main() { -function _~file_name~_main() { +function _~file_name~_main() { # 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() { echo '401 Unauthorized'; exit; } - + pulldown('~name~', array('option 1', 'option 2', 'option 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() { 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) { + if(!$edit_id) { if(!isset($_REQUEST['~file_name~_new']) && !isset($_REQUEST['~always_field~'])) { ~file_name~_display_listing(); return; } - + tem_show('new_msg'); - } + } if(isset($_POST['~always_field~'])) { list(~php_fields~) = ~file_name~_get_fields(); - if("you're happy with the POSTed values") { + if("you're happy with the POSTed values") { 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.'); - } + db_insert('~table_name~', ~file_name upper~_DB_FIELDS, ~php_fields~); + message('~singular cap~ saved.'); + } 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() { $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() { } else { message('Message sent'); } - } + } 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() { # 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. + # 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('~table_name~', ~file_name.upper~_DB_FIELDS, 'where id=%i', $edit_id); - ~file_name~_tem_sets(~php_fields~); + 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'); - } + } - tem_set('upload_max_filesize', upload_max_filesize()); + 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'); - tem_show('extra_headers'); + tem_show('form'); + tem_show('extra_headers'); } ?> diff --git a/metaform/template.sql b/metaform/template.sql index 85686f8..20b34bd 100644 --- a/metaform/template.sql +++ b/metaform/template.sql @@ -1,5 +1,5 @@ drop table if exists ~table_name~; create table ~table_name~ ( - id int unique auto_increment, - ~name~ ~type~ not null default ~default~ + id int unique auto_increment, + ~name~ ~type~ not null default ~default~ ); -- 1.7.10.4