From d37433940a2f34406b5adb26dab8525bb4b0e019 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Mon, 18 Apr 2011 23:49:12 -0400 Subject: [PATCH] metaform: remove from non-html files (template.php supports both and simply ~foo {~) The former is great for html files (almost everywhere) because then the template file is valid html. (Nice for finding html errors, and for syntax hilighting.) This patch switches to the short form for for non-html files. --- metaform/template.email.txt | 8 ++-- metaform/template.php | 108 +++++++++++++++++++++---------------------- metaform/template.sql | 4 +- 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/metaform/template.email.txt b/metaform/template.email.txt index d54f57b..581afa9 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~~ +~fields {~~normal {~ +~caption~: ~~~name~~~~}~~checkbox {~ +~caption~: ~~~name~ yesno~~~}~~multi_line {~ ~caption~:~~~name~ nonempty {~~ -~~~name~ tab~~~~}~~ +~~~name~ tab~~~~}~~~}~~}~ diff --git a/metaform/template.php b/metaform/template.php index ac988b0..57cd79f 100644 --- a/metaform/template.php +++ b/metaform/template.php @@ -9,10 +9,10 @@ # SETUP - +~opt_email {~ # 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'; - +~}~~opt_db {~ # 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: @@ -21,39 +21,39 @@ $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~'); - +~}~~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/'; - +~}~~file_settings {~ $GLOBALS['~name~_file_name'] = uniqid() . getmypid() . '.txt'; # comment this out to use uploader's filename - +~}~~image_settings {~ $GLOBALS['~name~_max_width'] = '400'; -$GLOBALS['~name~_max_height'] = '400'; +$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 - +~}~~}~ require_once('code/wfpl/format.php'); -require_once('code/wfpl/email.php'); -require_once('code/wfpl/upload.php'); +require_once('code/wfpl/email.php');~uploads_include {~ +require_once('code/wfpl/upload.php');~}~ function ~file_name~_get_fields() { $data = array(); - - $data['~name~'] = format_~format~(_REQUEST_cut('~name~'), '~name~'); +~formats {~ + $data['~name~'] = format_~format~(_REQUEST_cut('~name~')~pulldown_format_extra {~, '~name~'~}~);~}~~image_upload {~ if($_FILES['~name~'] && $_FILES['~name~']['error'] == 0) { - $data['~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']); + $data['~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_cut('delete_~name~') == 'Yes') { $data['~name~'] = ''; } else { - $data['~name~'] = format_image_w_h_thumb_w_h(_REQUEST_cut('old_~name~')); + $data['~name~'] = format_image_w_h~thumb_w_h {~_thumb_w_h~}~(_REQUEST_cut('old_~name~')); } } - unset($_FILES['~name~']); + unset($_FILES['~name~']);~}~~file_upload {~ $~name~_filename_tmp = $GLOBALS['~name~_file_name']; if(!$~name~_filename_tmp) { @@ -68,32 +68,32 @@ function ~file_name~_get_fields() { $data['~name~'] = format_path(_REQUEST_cut('old_~name~')); } } - unset($_FILES['~name~']); + unset($_FILES['~name~']);~}~ return $data; -} +}~opt_public_something {~ -function ~public_file_name~_main() { +function ~public_file_name~_main() {~opt_public_display {~ $id = _REQUEST_cut('~public_file_name~_id'); if($id) { - return ~file_name~_main_display($id); + return ~file_name~_main_display($id);~opt_public_form unset {~ } else { message("Error: Broken Link (~singular cap~ #$id not found)"); - return './'; # FIXME where should this go? - } - return ~file_name~_main_form(); -} + return './'; # FIXME where should this go?~}~ + }~}~~opt_public_form {~ + return ~file_name~_main_form();~}~ +}~}~ -function ~file_name~_main($new_only = false) { +function ~file_name~_main(~opt_display unset {~~opt_public_form {~$new_only = false~}~~}~) {~opt_pass {~ if(logged_in_as_admin()) { tem_set('admin_privs'); } else { $_REQUEST['url'] = this_url(); return 'admin_login'; } - +~}~~opt_db {~ $id = _REQUEST_cut('~file_name~_edit_id'); if($id) { return ~file_name~_main_form($id); @@ -107,49 +107,49 @@ function ~file_name~_main( if(_REQUEST_cut('~file_name~_new')) { return ~file_name~_main_form(); } - +~}~~opt_listing {~ if(_REQUEST_cut('~file_name~_list')) { return ~file_name~_main_listing(); } - +~}~~opt_display {~ $id = _REQUEST_cut('~file_name~_id'); if($id) { return ~file_name~_main_display($id); } - +~}~~opt_listing {~ if(isset($_POST['~always_field~'])) { return ~file_name~_main_form(); } # default action: - return ~file_name~_main_listing(); - return ~file_name~_main_form(); -} + return ~file_name~_main_listing();~}~~opt_listing unset {~ + return ~file_name~_main_form();~}~ +}~opt_display {~ function ~file_name~_main_display($id) { $data = db_get_assoc('~table_name~', 'id,'.~file_name upper~_DB_FIELDS, 'where id=%i', $id); if(!$data) { - message("Error: Broken Link (~singular cap~ #$id not found)"); - return './' . $GLOBALS['wfpl_basename']; - return './~file_name~'; + message("Error: Broken Link (~singular cap~ #$id not found)");~opt_public_something {~ + return './' . $GLOBALS['wfpl_basename'];~}~~opt_public_something unset {~ + return './~file_name~';~}~ } tem_set('display', $data); -} +}~}~~opt_db {~ function ~file_name~_main_delete($id) { db_delete('~table_name~', 'where id=%i', $id); message('~singular cap~ deleted.'); return './~file_name~'; -} +}~}~~opt_listing {~ function ~file_name~_main_listing() { - $listing_rows = db_get_assocs('~table_name~', 'id,~name~', 'order by ~always_field~ limit 100'); + $listing_rows = db_get_assocs('~table_name~', 'id~listing_fields_1 {~,~name~~}~', 'order by ~always_field~ limit 100'); tem_set('listings', $listing_rows); -} +}~}~ -function ~file_name~_main_form($id = false) { - pulldown('~name~', ~pulldown_options~); - +function ~file_name~_main_form($id = false) {~pulldowns {~ + pulldown('~name~', ~pulldown_options~);~}~~pulldowns once_if {~ +~}~~opt_db {~ if($id) { # add hidden field for database id of row we're editing tem_set('~file_name~_edit_id', $id); @@ -158,18 +158,18 @@ function ~file_name~_main_form($id = false) { } else { tem_set('new_msg'); } - +~}~ if(isset($_POST['~always_field~'])) { $data = ~file_name~_get_fields(); - if("you're happy with the POSTed values") { + if("you're happy with the POSTed values") {~opt_db {~ if($id) { db_update_assoc('~table_name~', $data, 'where id=%i', $id); message('~singular cap~ updated.'); } else { db_insert_assoc('~table_name~', $data); message('~singular cap~ saved.'); - } + }~}~~opt_email {~ if($GLOBALS['~file_name~_form_recipient'] != 'fixme@example.com') { $to = $GLOBALS['~file_name~_form_recipient']; $from = 'noreply@~this_domain~'; @@ -193,33 +193,33 @@ function ~file_name~_main_form($id = false) { } else { message('Message sent'); } - } - if($error !== true) { + }~}~ + if($error !== true) {~opt_public_something {~ if($GLOBALS['wfpl_basename'] == '~file_name~') { return './~file_name~'; } else { # FIXME create this page or change this to go elsewhere return './~public_file_name~_thanks'; - } - # FIXME create this page or change this to go elsewhere - return './~file_name~_thanks'; + }~}~~opt_public_something unset {~~opt_db unset {~ + # FIXME create this page or change this to go elsewhere~}~ + return './~file_name~~opt_db unset {~_thanks~}~';~}~ } } # 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.~opt_db {~ } elseif($id) { # we've recieved an edit id, but no data. So we grab the values to be edited from the database - $data = db_get_assoc('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $id); + $data = db_get_assoc('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $id);~}~ } else { # form not submitted, you can set default values like so: #$data = array('~always_field~' => 'Yes'); $data = array(); - } + }~upload_max {~ - tem_set('upload_max_filesize', upload_max_filesize()); + tem_set('upload_max_filesize', upload_max_filesize());~}~ - tem_set('form', $data); - tem_set('extra_headers'); + tem_set('form', $data);~show_extra_headers {~ + tem_set('extra_headers');~}~ } diff --git a/metaform/template.sql b/metaform/template.sql index 20b34bd..f06c42d 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~column {~, + ~name~ ~type~ not null default ~default~~}~ ); -- 1.7.10.4