SF.net SVN: postfixadmin:[1629] trunk
Brought to you by:
christian_boltz,
gingerdog
From: <chr...@us...> - 2014-01-21 18:24:28
|
Revision: 1629 http://sourceforge.net/p/postfixadmin/code/1629 Author: christian_boltz Date: 2014-01-21 18:24:25 +0000 (Tue, 21 Jan 2014) Log Message: ----------- 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]") Modified Paths: -------------- trunk/edit.php trunk/templates/editform.tpl Modified: trunk/edit.php =================================================================== --- trunk/edit.php 2014-01-21 15:38:11 UTC (rev 1628) +++ trunk/edit.php 2014-01-21 18:24:25 UTC (rev 1629) @@ -82,13 +82,17 @@ 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 @@ $values[$key] = explode(",", $values[$key]); } } else { - $values[$key] = safepost($key); + $values[$key] = $inp_values[$key]; } } } Modified: trunk/templates/editform.tpl =================================================================== --- trunk/templates/editform.tpl 2014-01-21 15:38:11 UTC (rev 1628) +++ trunk/templates/editform.tpl 2014-01-21 18:24:25 UTC (rev 1629) @@ -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> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |