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: name textbox email phone money dollars int hidden password url textarea checkbox yesno submit.
+
Features
+
+
Send form results vie e-mail.
+
+
Save form results to a database.
+
+
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: ~available_types.html~.
This grey thing is a preview. It will NOT work. Don't click buttons in it
+
This grey thing is a preview. It will NOT work. Don't click button(s) in it
~preview~
-
+
diff --git a/metaform/template.php b/metaform/template.php
index 14836c7..fc1263b 100644
--- a/metaform/template.php
+++ b/metaform/template.php
@@ -8,31 +8,30 @@
#
# ~metaform_url~
-# This code can send form results by e-mail and/or save them to a database. See
-# the next two comments to enable either or both.
-
+# SETUP
+
# To send results by e-mail, all you have to do is set your e-mail address here:
$GLOBALS['~form_name~_form_recipient'] = "fixme@example.com";
-
+
+# To save results to a database, you'll need to create the ~form_name~ table
+# (the file ~form_name~.sql should help with this), and create a file called
+# 'db_connect.php' or 'code/db_connect.php' which calls db_connect() see:
+# code/wfpl/examples/db_connect.php
+
# 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/';
-# To save results to a database, you'll need to create the ~form_name~ table
-# (the file ~form_name~.sql should help with this), and create a file called
-# 'db_connect.php' which calls db_connect() see:
-# code/wfpl/examples/db_connect.php
if(!file_exists('code/wfpl/template.php')) { die('This form requires wfpl.'); }
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/wfpl/db.php');
+require_once('code/wfpl/email.php');
+require_once('code/wfpl/db.php');
require_once('code/wfpl/upload.php');
-function ~form_name~_get_fields() {
-
+function ~form_name~_get_fields() {
$~name~ = format_~format~($_REQUEST['~name~']);
$~name~ = save_uploaded_image('~name~', $GLOBALS['upload_directory']);
@@ -41,7 +40,7 @@ function ~form_name~_get_fields() {
return array(~php_fields~);
}
-function ~form_name~() {
+function ~form_name~() {
$edit_id = format_int($_REQUEST['~form_name~_edit_id']);
unset($_REQUEST['~form_name~_edit_id']);
if($edit_id) {
@@ -63,20 +62,14 @@ function ~form_name~() {
if(!$edit_id && !$delet_id) {
tem_sub('new_msg');
- }
+ }
if(isset($_REQUEST['~always_field~'])) {
list(~php_fields~) = ~form_name~_get_fields();
- 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') || file_exists('code/db_connect.php')) {
- if(file_exists('db_connect.php') {
- require_once('db_connect.php');
- } else {
- require_once('code/db_connect.php');
- }
+ if("you're happy with the POSTed values") {
+ if(file_exists($db_connector = 'db_connect.php') || file_exists($db_connector = 'code/db_connect.php')) {
+ require_once($db_connector);
if($edit_id) {
# uploading nothing means leaving it as is.
if(!$~name~ && $delete_~name~ != 'Yes') {
@@ -89,7 +82,7 @@ function ~form_name~() {
db_insert('~form_name~', '~db_fields~', ~php_fields~);
message('Entry saved.');
}
- }
+ }
if($GLOBALS['~form_name~_form_recipient'] != "fixme@example.com") {
$to = $GLOBALS['~form_name~_form_recipient'];
if(isset($_REQUEST['email']) and valid_email($_REQUEST['email'])) {
@@ -109,7 +102,7 @@ function ~form_name~() {
tem_sub('error');
$error = true;
}
- }
+ }
if($error !== true) {
tem_load('~form_name~.html');
tem_sub('thankyou');
@@ -120,11 +113,11 @@ function ~form_name~() {
# otherwise, we display the form again. ~form_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('~form_name~', '~db_fields~', 'where id=%i', $edit_id);
- ~tem_sets.tab~
+ ~tem_sets.tab~
} else {
# form not submitted, you can set default values like so:
#tem_set('~always_field~', 'Yes');
--
1.7.10.4