$param) { $param_name = 'upload_form_'.$param_shortname; $form_values[$param_shortname] = $conf[$param_name]; } // +-----------------------------------------------------------------------+ // | process form | // +-----------------------------------------------------------------------+ if (isset($_POST['submit'])) { $updates = array(); // let's care about the specific checkbox that disable/enable other // settings $field = 'websize_resize'; if (empty($_POST[$field])) { $value = false; } else { $fields[] = 'websize_maxwidth'; $fields[] = 'websize_maxheight'; $fields[] = 'websize_quality'; $value = true; } $updates[] = array( 'param' => 'upload_form_'.$field, 'value' => boolean_to_string($value), ); $form_values[$field] = $value;; // and now other fields, processed in a generic way $fields[] = 'thumb_maxwidth'; $fields[] = 'thumb_maxheight'; $fields[] = 'thumb_quality'; foreach ($fields as $field) { $value = null; if (!empty($_POST[$field])) { $value = $_POST[$field]; } $form_values[$field] = $value; if ($upload_form_config[$field]['can_be_null'] and empty($value)) { $updates[] = array( 'param' => 'upload_form_'.$field, 'value' => 'false' ); } else { $min = $upload_form_config[$field]['min']; $max = $upload_form_config[$field]['max']; $pattern = $upload_form_config[$field]['pattern']; if (preg_match($pattern, $value) and $value >= $min and $value <= $max) { $updates[] = array( 'param' => 'upload_form_'.$field, 'value' => $value ); } else { array_push( $page['errors'], sprintf( l10n($upload_form_config[$field]['error_message']), $min, $max ) ); } } } if (count($page['errors']) == 0) { mass_updates( CONFIG_TABLE, array( 'primary' => array('param'), 'update' => array('value') ), $updates ); array_push( $page['infos'], l10n('Your configuration settings are saved') ); } } // +-----------------------------------------------------------------------+ // | template init | // +-----------------------------------------------------------------------+ // specific case, "websize_resize" is a checkbox $field = 'websize_resize'; $form_values[$field] = $form_values[$field] ? 'checked="checked"' : ''; $template->assign( array( 'F_ADD_ACTION'=> UPLOAD_FORM_BASE_URL, 'plugin_path' => UPLOAD_FORM_PATH, 'values' => $form_values ) ); // +-----------------------------------------------------------------------+ // | sending html code | // +-----------------------------------------------------------------------+ $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); ?>