JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
allowed file name and table name and pretty-print plural to differ
[wfpl.git] / metaform.php
index ecde564..a556f1a 100644 (file)
@@ -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',