private static function combineParamsFromDB($table, array $order_keys) { // Fields from DB $fields = $types = SQL::getFieldsWithAllData($table); unset($fields['id']); // Sort to match defined order for form $sorted = $not_sorted = []; foreach ($fields as $k => $v) { if (($key = array_search($k, $order_keys)) !== false) { $sorted[$key] = $k; } else { $not_sorted[] = $k; } } ksort($sorted); $fields = array_merge($sorted, $not_sorted); $params = []; foreach ($fields as $v) { $field = []; $type = $types[$v]['Type']; if (strpos($type, 'text') !== false) { $field['type'] = 'textarea'; } if (strpos($type, 'enum') !== false) { $field['type'] = 'select'; $field['options'] = SQL::getEnumPairs($table, $types[$v]['Field']); } $field['name'] = Converter::symb2Ttl($v); $params[$v] = $field; } return $params; }