templates/editform.tpl:

- change all field names to "value[$key]" instead of just "$key"
  to keep the main "namespace" clean

edit.php:
- adjust POST handling code to changed form field names ("value[$key]")



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1629 a1433add-5e2c-0410-b055-b7f2511e0802
pull/2/head
Christian Boltz 11 years ago
parent 5db370fdb3
commit 0cf9d7e53c

@ -82,13 +82,17 @@ if ($_SERVER['REQUEST_METHOD'] == "GET") {
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$inp_values = safepost('value', array() );
foreach($form_fields as $key => $field) {
if ($field['editable'] && $field['display_in_form']) {
if($field['type'] == 'bool') {
$values[$key] = safepost($key, 0); # isset() for unchecked checkboxes is always false
if (!isset($inp_values[$key])) {
if($field['type'] == 'bool') {
$values[$key] = 0; # isset() for unchecked checkboxes is always false
}
# do nothing for other field types
} elseif($field['type'] == 'txtl') {
$values[$key] = safepost($key);
$values[$key] = $inp_values[$key];
$values[$key] = preg_replace ('/\\\r\\\n/', ',', $values[$key]);
$values[$key] = preg_replace ('/\r\n/', ',', $values[$key]);
$values[$key] = preg_replace ('/,[\s]+/i', ',', $values[$key]);
@ -101,7 +105,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") {
$values[$key] = explode(",", $values[$key]);
}
} else {
$values[$key] = safepost($key);
$values[$key] = $inp_values[$key];
}
}
}

@ -22,28 +22,28 @@
{if $table == 'foo' && $key == 'bar'}
Special handling (td content) for {$table} / {$key}
{elseif $field.type == 'bool'}
<input class="flat" type="checkbox" value='1' name="{$key}"{if {$value_{$key}} == 1} checked="checked"{/if}/>
<input class="flat" type="checkbox" value='1' name="value[{$key}]"{if {$value_{$key}} == 1} checked="checked"{/if}/>
{elseif $field.type == 'enum'}
<select class="flat" name="{$key}">
<select class="flat" name="value[{$key}]">
{html_options output=$struct.{$key}.options values=$struct.{$key}.options selected=$value_{$key}}
</select>
{elseif $field.type == 'list'}
<select class="flat" name="{$key}[]" size="10" multiple="multiple">
<select class="flat" name="value[{$key}][]" size="10" multiple="multiple">
{html_options output=$struct.{$key}.options values=$struct.{$key}.options selected=$value_{$key}}
</select>
<!-- alternative:
<div style='max-height:30em; overflow:auto;'>
{html_checkboxes name={$key} output=$struct.{$key}.options values=$struct.{$key}.options selected=$value_{$key} separator="<br />"}
{html_checkboxes name="value[{$key}]" output=$struct.{$key}.options values=$struct.{$key}.options selected=$value_{$key} separator="<br />"}
</div>
-->
{elseif $field.type == 'pass'}
<input class="flat" type="password" name="{$key}" />
<input class="flat" type="password" name="value[{$key}]" />
{elseif $field.type == 'txtl'}
<textarea class="flat" rows="10" cols="35" name="{$key}">{foreach key=key2 item=field2 from=$value_{$key}}{$field2}
<textarea class="flat" rows="10" cols="35" name="value[{$key}]">{foreach key=key2 item=field2 from=$value_{$key}}{$field2}
{/foreach}</textarea>
{else}
<input class="flat" type="text" name="{$key}" value="{$value_{$key}}" />
<input class="flat" type="text" name="value[{$key}]" value="{$value_{$key}}" />
{/if}
{/if}
</td>

Loading…
Cancel
Save