X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=metaform.php;h=1cd27f5d0f400165992525bf0341f11d1985c979;hb=fa58a263a1ae73c2759648d033000a9a27f04cde;hp=dc5173b3eee342ff1f3df4ae50601d4df4e4ed1b;hpb=240620295349badc59c1252f49b6a6a1c0609e0c;p=wfpl.git diff --git a/metaform.php b/metaform.php index dc5173b..1cd27f5 100644 --- a/metaform.php +++ b/metaform.php @@ -33,7 +33,8 @@ $GLOBALS['types'] = array( 'decimal' => array('textbox', 'decimal', 'decimal(12,12)'), 'bigint' => array('textbox', 'int', 'varchar(100)'), # up to 100 digits, stored as a string 'zip' => array('textbox', 'zip', 'varchar(20)'), - 'email' => array('textbox', 'email', 'varchar(100)'), + 'email' => array('email', 'email', 'varchar(100)'), + 'search' => array('search', 'oneline', 'varchar(200)'), 'phone' => array('textbox', 'phone', 'varchar(32)'), 'state' => array('states', 'oneline', 'varchar(2)'), 'money' => array('textbox', 'money', 'varchar(32)'), @@ -70,6 +71,7 @@ function list_available_types() { function tem_set_globals(&$tem) { $vars = array( 'file_name', + 'public_file_name', 'table_name', 'plural', 'singular'); @@ -82,7 +84,10 @@ function tem_set_globals(&$tem) { 'opt_db', 'opt_listing', 'opt_display', - 'opt_pass'); + 'opt_pass', + 'opt_public_form', + 'opt_public_display', + 'opt_public_something'); foreach($bools as $bool) { if($GLOBALS[$bool]) { $tem->set($bool); @@ -106,6 +111,14 @@ function metaform() { $GLOBALS['opt_listing'] = format_bool($_REQUEST['opt_listing']); $GLOBALS['opt_display'] = format_bool($_REQUEST['opt_display']); $GLOBALS['opt_pass'] = format_bool($_REQUEST['opt_pass']); + $GLOBALS['opt_public_form'] = format_bool($_REQUEST['opt_public_form']); + $GLOBALS['opt_public_display'] = format_bool($_REQUEST['opt_public_display']); + + $GLOBALS['public_file_name'] = $GLOBALS['file_name']; + if($GLOBALS['opt_public_form'] || $GLOBALS['opt_public_display']) { + $GLOBALS['opt_public_something'] = 1; + $GLOBALS['file_name'] = $GLOBALS['file_name'] . _admin; + } tem_init(); tem_set_globals($GLOBALS['wfpl_template']); @@ -317,9 +330,12 @@ function make_html($whole_file = true) { 'caption' => 'Save')); } - $tem->set('form', array( - 'visible_fields' => $visible_fields, - 'hidden_fields' => $hidden_fields)); + $form_fields = array(); + $form_fields['visible_fields'] = $visible_fields; + if($hidden_fields) { + $form_fields['hidden_fields'] = $hidden_fields; + } + $tem->set('form', $form_fields); # opt_display and opt_listing control whether these are actually displayed $tem->set('display_fields', $display_fields); @@ -417,6 +433,7 @@ function make_php() { } elseif($input == 'pulldown' || $input == 'radio') { $pulldown_options = pulldown_options_array($options); $tem->set('pulldown_options', $pulldown_options); + $tem->set('has_pulldowns'); $tem->show('pulldowns'); $tem->show('pulldown_format_extra'); } @@ -530,21 +547,27 @@ function preview() { } function download_tar() { - $name = $GLOBALS['file_name']; - $data = array( + $admin_name = $GLOBALS['file_name']; + $nice_name = $GLOBALS['public_file_name']; + $files = array( "INSTALL" => read_whole_file('code/wfpl/metaform/INSTALL'), ".htaccess" => make_htaccess(), - #"run.php ->" => 'code/wfpl/run.php', - "style.css" => read_whole_file('code/wfpl/metaform/style.css'), - "$name.html" => make_html(), - "$name.php" => make_php()); + "run.php ->" => 'code/wfpl/run.php', + "style.less" => read_whole_file('code/wfpl/metaform/style.less'), + "template.html" => read_whole_file('code/wfpl/metaform/site-template.html'), + "$admin_name.html" => make_html(), + "$admin_name.php" => make_php()); + if($GLOBALS['opt_public_something']) { + $files["$nice_name.html ->"] = "$admin_name.html"; + $files["$nice_name.php ->"] = "$admin_name.php"; + } if($GLOBALS['opt_db']) { - $data["$name.sql"] = make_sql(); + $files["$nice_name.sql"] = make_sql(); } if($GLOBALS['opt_email']) { - $data["$name.email.txt"] = make_email(); + $files["$nice_name.email.txt"] = make_email(); } - make_tar($name, $data); + make_tar($nice_name, $files); }