X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=metaform.php;h=274128f699a1b543c72bfcf5086bf86d50b8c3d2;hb=716a02dbcc75c65b2add4198e08e52270664f092;hp=1bdd940d996969ba6dc6123cba9d34ec88c4ffb7;hpb=afea5c955e747db369fa2fd62a61ff1bdf4ca4ce;p=wfpl.git diff --git a/metaform.php b/metaform.php index 1bdd940..274128f 100644 --- a/metaform.php +++ b/metaform.php @@ -52,7 +52,9 @@ $GLOBALS['types'] = array( 'image' => array('image', 'oneline', 'varchar(120)'), 'thumb' => array('image', 'oneline', 'varchar(240)'), 'file' => array('file', 'oneline', 'varchar(100)'), - 'submit' => array('submit', 'oneline', 'n/a') + 'submit' => array('submit', 'n/a', 'n/a'), + '{' => array('fieldset', 'n/a', 'n/a'), + '}' => array('end_fieldset','n/a', 'n/a') ); function list_available_types() { @@ -159,14 +161,26 @@ function get_fields() { $fields_str = rtrim($fields_str); $fields = split("\n", $fields_str); foreach($fields as $field) { - list($name, $type, $options) = split(' *', $field); - if($options) $options = split(',', $options); - if(!$type) $type = $name; + $field = trim($field); + if(substr($field, -1) == '{') { + $name = trim(substr($field, 0, -1)); # FIXME: stop this from getting enc_caption()ed + $type = '{'; + $options = null; + } elseif(substr($field, -1) == '{') { + $name = 'ignored'; + $type = '}'; + $options = null; + } else { + list($name, $type, $options) = split(' *', $field); + if($options) $options = split(',', $options); + if(!$type) $type = $name; + } $input = field_input($type); $format = field_format($type); $sql = field_sql($type); $GLOBALS['gotten_fields'][] = array($name, $type, $input, $format, $sql, $options); } + return $GLOBALS['gotten_fields']; } @@ -271,8 +285,10 @@ function make_html($whole_file = true) { default: $display_type = 'short'; } - $display_fields[] = array($display_type => array( - 'name' => $name, 'caption' => format_caption($name))); + if($format != 'n/a') { + $display_fields[] = array($display_type => array( + 'name' => $name, 'caption' => format_caption($name))); + } if(show_in_listing($type, $input, $format, $sql)) { $listing_headers[] = array('caption' => format_caption($name)); @@ -337,6 +353,8 @@ function show_in_listing($type, $input, $format, $sql) { case 'password': case 'textarea': case 'html': + case 'fieldset': + case 'end_fieldset': return false; } if($type == 'image') { @@ -385,7 +403,9 @@ function make_php() { $tem->show('pulldowns'); $tem->show('pulldown_format_extra'); } - $tem->show('formats'); + if($format != 'n/a') { + $tem->show('formats'); + } } }