Cleanup.
This commit is contained in:
+21
-7
@@ -1,12 +1,16 @@
|
||||
<?php
|
||||
|
||||
// FOR TESTING:
|
||||
$action = 'hotel';
|
||||
if (!isset($action)) {
|
||||
$action = 'hotel';
|
||||
$debug = true;
|
||||
}
|
||||
$skey = 'form_' . $action;
|
||||
|
||||
$field_data_json = file_get_contents('definitions/' . $action . '.json');
|
||||
$field_data = json_decode($field_data_json, true);
|
||||
|
||||
// Build Group list
|
||||
foreach ($field_data['groups'] as $id=>$group) {
|
||||
$by_group[$group] = array(
|
||||
'group_name' => $group,
|
||||
@@ -14,10 +18,13 @@ foreach ($field_data['groups'] as $id=>$group) {
|
||||
);
|
||||
}
|
||||
|
||||
// Assign fields to groups, fill in (default) values
|
||||
foreach ($field_data['fields'] as $key=>$meta) {
|
||||
$meta['field_id'] = $key;
|
||||
$group_name = $field_data['groups'][$meta['group']];
|
||||
$meta['group_name'] = $group_name;
|
||||
|
||||
// Assign session value if set, or use default if set
|
||||
if (isset($_SESSION[$skey][$key])) {
|
||||
$meta['value'] = $_SESSION[$skey][$key];
|
||||
} elseif (isset($meta['default'])) {
|
||||
@@ -33,17 +40,24 @@ foreach ($field_data['fields'] as $key=>$meta) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Field type marker for Mustache
|
||||
$meta['fieldtype_' . $meta['type']] = true;
|
||||
|
||||
// Add useful default values for some types
|
||||
if ($meta['type'] == 'datetime') {
|
||||
$meta['min'] = date('Y-m-d');
|
||||
}
|
||||
$by_group[$group_name]['fields'][$key] = $meta;
|
||||
|
||||
// Add to fieldlist
|
||||
$by_group[$group_name]['fields'][] = $meta;
|
||||
}
|
||||
|
||||
foreach ($by_group as $group=>$group_data) {
|
||||
$by_group[$group]['fields'] = array_values($group_data['fields']);
|
||||
}
|
||||
|
||||
#print_r($by_group);
|
||||
// Convert hash to list for Mustache compatibility
|
||||
$by_group = array_values($by_group);
|
||||
|
||||
if ($debug) {
|
||||
print_r($by_group);
|
||||
}
|
||||
|
||||
$data['form_data'] = $by_group;
|
||||
|
||||
Reference in New Issue
Block a user