<?php
-# This form requires wfpl. If you didn't recieve wfpl along with this file,
-# see: http://jasonwoof.org/wfpl
+# This form requires wfpl. See: http://jasonwoof.org/wfpl
-# This form was auto-generated. If you would like to alter the parameters and
-# generate a new one try this URL:
+# This form was initially auto-generated. If you would like to alter the
+# parameters and generate a new one try this URL:
#
# ~metaform_url~
define('AUTH_PASS', 'fixme');
<!--~end~-->
-if(!file_exists('code/wfpl/template.php')) { die('This form requires <a href="http://jasonwoof.org/wfpl">wfpl</a>.'); }
require_once('code/wfpl/template.php');
require_once('code/wfpl/format.php');
require_once('code/wfpl/messages.php');
$~name~ = substr(save_uploaded_image('~name~', $GLOBALS['upload_directory']), strlen($GLOBALS['upload_directory']));
} else {
if($_REQUEST['delete_~name~'] == 'Yes') {
- $name = '';
+ $~name~ = '';
} else {
$~name~ = format_filename($_REQUEST['old_~name~']);
}
function ~form_name~_display_listing($where = 'order by ~always_field~ limit 100') {
$rows = db_get_rows('~form_name~', 'id,~always_field~', $where);
if($rows == false || count($rows) == 0) {
+ tem_show('empty_listing');
+ tem_show('listings');
return false;
}
tem_set('~always_field~', $~always_field~);
tem_show('listing_row');
}
+ tem_show('populated_listing');
tem_show('listings');
return true;
}
<!--~end~-->
-function ~form_name~_main() {
+function ~form_name~_main() {<!--~opt_display_1 start~-->
+ if(isset($_REQUEST['~form_name~_id'])) {
+ $ret = ~form_name~_display_main();
+ if($ret) {
+ return $ret;
+ }
+ tem_show('display_body');
+ } else {
+ $ret = ~form_name~_edit_main();
+ if($ret) {
+ return $ret;
+ }
+ tem_show('edit_body');
+ }
+<!--~end~--><!--~opt_display_1_else start~-->
$ret = _~form_name~_main();
if($ret) {
return $ret;
}
- display_messages();
+<!--~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~-->
+
+function ~form_name~_display_main() {
+ $id = format_int($_REQUEST['~form_name~_id']);
+ unset($_REQUEST['~form_name~_id']);
+ if(!$id) {
+ message('Error: Broken link');
+ return './~form_name~';
+ }
+ $row = db_get_row('~form_name~', ~form_name.upper~_DB_FIELDS, 'where id=%i', $id);
+ if(!$row) {
+ message('Error: ~singular.cap~ not found');
+ return './~form_name~';
+ }
+ list(~php_fields~) = $row;
+ ~form_name~_tem_sets(~php_fields~);
+ tem_set('id', $id);
}
-function _~form_name~_main() {<!--~opt_http_pass_2 start~-->
+function ~form_name~_edit_main() {<!--~end~--><!--~opt_display_2_else start~-->
+
+
+function _~form_name~_main() {<!--~end~--><!--~opt_http_pass_2 start~-->
# 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 . '"');
echo '401 Unauthorized';
exit;
}
- <!--~end~--><!--~pulldowns start~-->
+<!--~end~--><!--~pulldowns start~-->
pulldown('~name~', array('option 1', 'option 2', 'option 3'));
- <!--~end~--><!--~opt_db_3 start~-->
+<!--~end~--><!--~opt_db_3 start~-->
$edit_id = format_int($_REQUEST['~form_name~_edit_id']);
unset($_REQUEST['~form_name~_edit_id']);
if($edit_id) {
unset($_REQUEST['~form_name~_delete_id']);
if($delete_id) {
db_delete('~form_name~', 'where id=%i', $delete_id);
- message('Entry deleted.');<!--~opt_listing_3 start~-->
+ message('~singular.cap~ deleted.');
- if(~form_name~_display_listing()) {
- return;
- }
- unset($delete_id);<!--~end~--><!--~opt_listing_3_else start~-->
-
- # FIXME: what to do after delete?
- return;<!--~end~-->
+ return './~form_name~';
}
if(!$edit_id) {<!--~opt_listing_1 start~-->
if(!isset($_REQUEST['~form_name~_new']) && !isset($_REQUEST['~always_field~'])) {
- if(~form_name~_display_listing()) {
- return;
- }
+ ~form_name~_display_listing();
+ return;
}
- <!--~end~-->
+<!--~end~-->
tem_show('new_msg');
}<!--~end~-->
- if(isset($_REQUEST['~always_field~'])) {
+ if(isset($_POST['~always_field~'])) {
list(~php_fields~) = ~form_name~_get_fields();
if("you're happy with the POSTed values") {<!--~opt_db_4 start~-->
if($edit_id) {
db_update('~form_name~', ~form_name.upper~_DB_FIELDS, ~php_fields~, 'where id=%i', $edit_id);
- message('Entry updated.');
+ message('~singular.cap~ updated.');
} else {
db_insert('~form_name~', ~form_name.upper~_DB_FIELDS, ~php_fields~);
- message('Entry saved.');
+ message('~singular.cap~ saved.');
}<!--~end~--><!--~opt_email_2 start~-->
if($GLOBALS['~form_name~_form_recipient'] != "fixme@example.com") {
$to = $GLOBALS['~form_name~_form_recipient'];
+ $from = $to;
+ $reply_to = '';
if(isset($_REQUEST['email']) and valid_email($_REQUEST['email'])) {
- $from = $_REQUEST['email'];
+ $reply_to = $_REQUEST['email'];
if($_REQUEST['name'] and ereg('^[a-zA-Z0-9_\' -]*$', $_REQUEST['name']) !== false) {
- $from = "$_REQUEST[name] <$from>";
+ $reply_to = "$_REQUEST[name] <$reply_to>";
}
- } else {
- $from = $to;
}
$subject = '~form_name~ form submitted';
$message = tem_run('~form_name~.email.txt');
$cc = '';
$bcc = '';
- if(email($from, $to, $subject, $message, $cc, $bcc)) {
+ if(email($from, $to, $subject, $message, $reply_to, $cc, $bcc)) {
message('Due to an internal error, your message could not be sent. Please try again later.');
$error = true;
+ } else {
+ message('Message sent');
}
}<!--~end~-->
- if($error !== true) {<!--~opt_listing_4 start~-->
- ~form_name~_display_listing();<!--~end~--><!--~opt_listing_4_else start~-->
- tem_show('thankyou');<!--~end~-->
- return;
+ if($error !== true) {
+ return './~form_name~'; # FIXME is this the page you want to go to after successful form submission?
}
}
# otherwise, we display the form again. ~form_name~_get_fields() has