From c63498c465bec640bbd8a521216aa37ba178b821 Mon Sep 17 00:00:00 2001
From: Jason Woofenden
Date: Mon, 4 May 2009 03:13:06 -0400
Subject: [PATCH] allowed file name and table name and pretty-print plural to
differ
---
metaform.php | 41 ++++++++++++++------
metaform/main.html | 9 ++++-
metaform/preview.html | 4 +-
metaform/template.email.txt | 2 +-
metaform/template.html | 20 +++++-----
metaform/template.php | 90 +++++++++++++++++++++----------------------
metaform/template.sql | 4 +-
7 files changed, 96 insertions(+), 74 deletions(-)
diff --git a/metaform.php b/metaform.php
index ecde564..a556f1a 100644
--- a/metaform.php
+++ b/metaform.php
@@ -66,8 +66,18 @@ function list_available_types() {
function metaform() {
- if(isset($_REQUEST['form_name'])) {
- $GLOBALS['form_name'] = format_varname($_REQUEST['form_name']);
+ if(isset($_REQUEST['singular'])) {
+ $GLOBALS['file_name'] = format_varname($_REQUEST['file_name']);
+ $GLOBALS['table_name'] = format_varname($_REQUEST['table_name']);
+ $GLOBALS['plural'] = format_varname($_REQUEST['plural']);
+ # backwards compatibility:
+ if(isset($_REQUEST['form_name'])) {
+ $GLOBALS['file_name'] = $GLOBALS['table_name'] = $GLOBALS['plural'] = format_varname($_REQUEST['form_name']);
+ }
+ tem_set('file_name', $GLOBALS['file_name']);
+ tem_set('table_name', $GLOBALS['table_name']);
+ tem_set('plural', $GLOBALS['plural']);
+
$GLOBALS['singular'] = format_varname($_REQUEST['singular']);
tem_set('singular', $GLOBALS['singular']);
$GLOBALS['opt_email'] = format_yesno($_REQUEST['opt_email']);
@@ -80,8 +90,6 @@ function metaform() {
tem_set('opt_display', $GLOBALS['opt_display']);
$GLOBALS['opt_http_pass'] = format_yesno($_REQUEST['opt_http_pass']);
tem_set('opt_http_pass', $GLOBALS['opt_http_pass']);
- } else {
- $GLOBALS['form_name'] = 'some_form';
}
if(isset($_REQUEST['fields'])) {
@@ -105,7 +113,6 @@ function metaform() {
exit();
} elseif(isset($_REQUEST['edit'])) {
tem_set('fields', $_REQUEST['fields']);
- tem_set('form_name', $GLOBALS['form_name']);
# fall through
} else {
die("Sorry... couldn't tell which button you pressed");
@@ -164,7 +171,7 @@ function view_headers() {
function make_sql() {
$tem = new tem();
$tem->load('code/wfpl/metaform/template.sql');
- $tem->set('form_name', $GLOBALS['form_name']);
+ $tem->set('table_name', $GLOBALS['table_name']);
$fields = get_fields();
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
@@ -210,8 +217,10 @@ function make_html($whole_file = true) {
$has_html_editors = false;
$tem = new tem();
$tem->load('code/wfpl/metaform/template.html');
- $tem->set('form_name', $GLOBALS['form_name']);
+ $tem->set('file_name', $GLOBALS['file_name']);
+ $tem->set('table_name', $GLOBALS['table_name']);
$tem->set('singular', $GLOBALS['singular']);
+ $tem->set('plural', $GLOBALS['plural']);
$fields = get_fields();
$tem->set('always_field', find_always_field($fields));
foreach($fields as $field) {
@@ -331,8 +340,10 @@ function show_in_listing($type, $input, $format, $sql) {
function make_php() {
$tem = new tem();
$tem->load('code/wfpl/metaform/template.php');
- $tem->set('form_name', $GLOBALS['form_name']);
+ $tem->set('file_name', $GLOBALS['file_name']);
+ $tem->set('table_name', $GLOBALS['table_name']);
$tem->set('singular', $GLOBALS['singular']);
+ $tem->set('plural', $GLOBALS['plural']);
$fields = get_fields();
$db_fields = '';
$php_fields = '';
@@ -429,7 +440,10 @@ function view_php() {
function make_email() {
$tem = new tem();
$tem->load('code/wfpl/metaform/template.email.txt');
- $tem->set('form_name', $GLOBALS['form_name']);
+ $tem->set('file_name', $GLOBALS['file_name']);
+ $tem->set('table_name', $GLOBALS['table_name']);
+ $tem->set('singular', $GLOBALS['singular']);
+ $tem->set('plural', $GLOBALS['plural']);
$fields = get_fields();
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
@@ -449,7 +463,7 @@ function make_email() {
function make_htaccess() {
$tem = new tem();
- $tem->set('form', $GLOBALS['form_name']);
+ $tem->set('form', $GLOBALS['file_name']);
return $tem->run('code/wfpl/metaform/htaccess');
}
@@ -461,7 +475,10 @@ function view_email() {
function preview() {
tem_load('code/wfpl/metaform/preview.html');
- tem_set('form_name', $GLOBALS['form_name']);
+ tem_set('file_name', $GLOBALS['file_name']);
+ tem_set('table_name', $GLOBALS['table_name']);
+ tem_set('singular', $GLOBALS['singular']);
+ tem_set('plural', $GLOBALS['plural']);
tem_set('fields', $_REQUEST['fields']);
$preview_tem = new tem();
$preview_tem->load_str(make_html(false));
@@ -485,7 +502,7 @@ function preview() {
}
function download_tar() {
- $name = $GLOBALS['form_name'];
+ $name = $GLOBALS['file_name'];
$data = array(
".htaccess" => make_htaccess(),
"run.php ->" => 'code/wfpl/run.php',
diff --git a/metaform/main.html b/metaform/main.html
index ed6b0c4..650269d 100644
--- a/metaform/main.html
+++ b/metaform/main.html
@@ -11,9 +11,14 @@
+