X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=metaform%2Ftemplate.php;h=84755d4a37477ed35e775fb21225d42fdf38a91a;hb=030f09ab36a49e16a65163e8a537a7ccdb3061e4;hp=754b710103b822a66c5a3f1f17081c87bcb4b400;hpb=dabdfec87e89ad579cf543608ad118f30981a1c5;p=wfpl.git diff --git a/metaform/template.php b/metaform/template.php index 754b710..84755d4 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~']); if($_FILE['~name~'] && $_FILE['~name~']['error'] == 0) { $~name~ = substr(save_uploaded_image('~name~', $GLOBALS['upload_directory']), strlen($GLOBALS['upload_directory'])); @@ -45,7 +44,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) { @@ -67,20 +66,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') { @@ -93,7 +86,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'])) { @@ -113,7 +106,7 @@ function ~form_name~() { tem_sub('error'); $error = true; } - } + } if($error !== true) { tem_load('~form_name~.html'); tem_sub('thankyou'); @@ -124,11 +117,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');