# This file writes the code for you (sql, php, html, email) to handle a form.
-require_once(__DIR__ . '/template.php');
-require_once(__DIR__ . '/http.php');
-require_once(__DIR__ . '/tar.php');
-require_once(__DIR__ . '/format.php');
+require_once(__DIR__.'/'.'template.php');
+require_once(__DIR__.'/'.'http.php');
+require_once(__DIR__.'/'.'tar.php');
+require_once(__DIR__.'/'.'format.php');
-# see code/wfpl/metaform/template.html for the html templates for these elements
+# see wfpl/metaform/template.html for the html templates for these elements
$GLOBALS['types'] = array(
# type input format sql
'varname' => array('textbox', 'varname', 'varchar(50) binary'),
}
}
-function metaform() {
+function metaform_main() {
if(isset($_REQUEST['singular'])) {
$GLOBALS['file_name'] = format_varname($_REQUEST['file_name']);
$GLOBALS['table_name'] = format_varname($_REQUEST['table_name']);
set_form_action();
- tem_load('code/wfpl/metaform/main.html');
+ tem_load(__DIR__.'/'.'metaform/main.html');
list_available_types();
tem_output();
+ exit(); # in case we're being called by wfpl_main or something
}
$fields_str = rtrim($fields_str);
$fields = split("\n", $fields_str);
foreach($fields as $field) {
+ $first_char = substr($field, 0, 1);
$field = trim($field);
+ if ($first_char === ' ' || $first_char === "\t") {
+ $i = count($GLOBALS['gotten_fields']);
+ if($i > 0) {
+ $i -= 1;
+ if (!$GLOBALS['gotten_fields'][$i]['options']) {
+ $GLOBALS['gotten_fields'][$i]['options'] = array();
+ }
+ $GLOBALS['gotten_fields'][$i]['options'][] = $field;
+ continue;
+ }
+ }
if(substr($field, -1) == '{') {
$caption = trim(substr($field, 0, -1));
$name = format_varname($caption);
$type = '{';
$options = null;
- # FIXME restore parsing of option lists for pulldowns
} else {
$options = null;
$type = null;
function make_sql() {
$tem = new tem();
- $tem->load('code/wfpl/metaform/template.sql');
+ $tem->load(__DIR__.'/'.'metaform/template.sql');
tem_set_globals($tem);
$fields = get_fields();
foreach($fields as $field) {
function make_html($whole_file = true) {
$has_html_editors = false;
$tem = new tem();
- $tem->load('code/wfpl/metaform/template.html');
+ $tem->load(__DIR__.'/'.'metaform/template.html');
tem_set_globals($tem);
$fields = get_fields();
$tem->set('always_field', find_always_field($fields));
'caption' => $field['caption']
)
);
+ if($field['type'] == 'radio') {
+ $i = 0;
+ $opts = array();
+ foreach ($field['options'] as $row) {
+ if (is_array($row)) {
+ $cap = $row[1];
+ } else {
+ $cap = $row;
+ }
+ $opts[] = array('i' => $i, 'option_caption' => $cap);
+ $i += 1;
+ }
+ $visible_fields[count($visible_fields) - 1]['options'] = $opts;
+ }
}
if($field['input'] == 'image' || $field['input'] == 'file') {
function make_php() {
$has_html_editors = false;
$tem = new tem();
- $tem->load('code/wfpl/metaform/template.php');
+ $tem->load(__DIR__.'/'.'metaform/template.php');
tem_set_globals($tem);
$fields = get_fields();
$db_fields = '';
$url = ereg_replace('view_php=[^&]*', 'edit=yes', $url);
$url = ereg_replace('download_tar=[^&]*', 'edit=yes', $url);
$url = ereg_replace('/[a-z0-9_.]*\?', '/?', $url);
- $url = str_replace('jasonwoof.l', 'jasonwoof.com', $url); # so that code generated on Jason's home computer will display a publically accessible link.
return $url;
}
function make_email() {
$tem = new tem();
- $tem->load('code/wfpl/metaform/template.email.txt');
+ $tem->load(__DIR__.'/'.'metaform/template.email.txt');
tem_set_globals($tem);
$fields = get_fields();
foreach($fields as $field) {
function make_htaccess() {
$tem = new tem();
$tem->set('form', $GLOBALS['file_name']);
- return $tem->run('code/wfpl/metaform/htaccess');
+ return $tem->run(__DIR__.'/'.'metaform/htaccess');
}
function view_email() {
}
function preview() {
- tem_load('code/wfpl/metaform/preview.html');
+ tem_load(__DIR__.'/'.'metaform/preview.html');
tem_set_globals($GLOBALS['wfpl_template']);
tem_set('fields', $_REQUEST['fields']);
$preview_tem = new tem();
$admin_name = $GLOBALS['file_name'];
$nice_name = $GLOBALS['public_file_name'];
$files = array(
- "INSTALL" => read_whole_file('code/wfpl/metaform/INSTALL'),
+ "README" => "These files are meant to work with wfpl.\n\nSee: http://sametwice.com/wfpl\n",
".htaccess" => make_htaccess(),
- "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'),
+ "config.php" => "<?php\n\n# put your site-wide configuration here\n",
+ "wfpl_main.php" => read_whole_file(__DIR__.'/'.'metaform/wfpl_main.php'),
+ "styl.styl" => read_whole_file(__DIR__.'/'.'metaform/styl.styl'),
+ "template.html" => read_whole_file(__DIR__.'/'.'metaform/site-template.html'),
"$admin_name.html" => make_html(),
"$admin_name.php" => make_php());
if($GLOBALS['opt_public_something']) {
}
make_tar($nice_name, $files);
}
-
-
-metaform();
-exit();