# type input format sql
'name' => array('textbox', 'oneline', 'varchar(200)'),
'textbox' => array('textbox', 'oneline', 'varchar(200)'),
+ 'int' => array('textbox', 'int', 'varchar(100)'),
'email' => array('textbox', 'email', 'varchar(100)'),
'phone' => array('textbox', 'phone', 'varchar(32)'),
'money' => array('textbox', 'money', 'varchar(32)'),
'dollars' => array('textbox', 'dollars', 'varchar(32)'),
'url' => array('textbox', 'url', 'varchar(200)'),
+ 'hidden' => array('hidden', 'unix', 'varchar(200)'),
+ 'password' => array('password', 'oneline', 'varchar(200)'),
'textarea' => array('textarea', 'unix', 'text'),
'pulldown' => array('pulldown', 'options', 'int'),
- 'checkbox' => array('checkbox', 'yesno', 'int'),
- 'yesno' => array('checkbox', 'yesno', 'int'),
+ 'checkbox' => array('checkbox', 'yesno', 'varchar(3)'),
+ 'yesno' => array('checkbox', 'yesno', 'varchar(3)'),
'submit' => array('submit', 'oneline', 'n/a')
);
$tem->set('name', $name);
$tem->set('caption', $name); # fixme
$tem->sub($input);
+ if($input != 'hidden') {
+ $tem->sub('row');
+ }
}
$tem->set('name', 'save');
$tem->set('caption', 'Save');
$tem->sub('submit');
+ $tem->sub('row');
$tem->sub('form');
if($whole_file) {
return $tem->run();
$tem->set('form_name', $GLOBALS['form_name']);
$fields = get_fields();
$db_fields = '';
+ $php_fields = '';
$always_field = false;
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
$tem->set('name', $name);
$tem->set('db_field', ''); # we don't want to use the value from last time
if($sql != 'n/a') {
- $tem->sub('db_field');
if($db_fields != '') $db_fields .= ',';
$db_fields .= $name;
+ if($php_fields != '') $php_fields .= ', ';
+ $php_fields .= '$' . $name;
}
$tem->sub('formats');
+ $tem->sub('tem_sets');
if(!$always_field and $input != 'checkbox' and $input != 'radio') {
$always_field = $name;
}
# always_field is a form field that always submits (unlike say, checkboxes). It's used to detect if the form has submitted or not.
$tem->set('always_field', $always_field);
$tem->set('db_fields', $db_fields);
+ $tem->set('php_fields', $php_fields);
return $tem->run();
}
$tem->load('code/wfpl/metaform/preview.html');
$tem->set('form_name', $GLOBALS['form_name']);
$tem->set('fields', $_REQUEST['fields']);
- $tem->set('preview', make_template(false));
+ $preview_tem = new tem();
+ $preview = $preview_tem->run(make_template(false));
+ unset($preview_tem);
+ $tem->set('preview', $preview);
set_form_action();
$tem->output();
}