$param, $num global $params, $error, $message, $pgpoolConfigParamAll; // type switch ($pgpoolConfigParamAll[$param]['type']) { case 'B': $type = 'bool'; break; case 'C': $type = 'string'; break; case 'F': $type = 'float'; break; case 'N': $type = 'integer'; break; } // input's name if (! isset($param_in_form)) { $param_in_form = $param; } if (isset($pgpoolConfigParamAll[$param]['multiple']) && $pgpoolConfigParamAll[$param]['multiple']) { $param_in_form = "{$param_in_form}[]"; } // input switch ($pgpoolConfigParamAll[$param]['type']) { case 'B': $input = radio_switch($param, $param_in_form, $num); break; case 'C': case 'F': case 'N': if (isset($pgpoolConfigParamAll[$param]['select'])) { $input = select($param, $param_in_form, $num); } else { $input = input($param, $param_in_form, $num); } break; } printf(''. '
%s (%s) %s'. '%s'. '', (isset($error[$param])) ? 'error' : NULL, $message['desc' . ucfirst($param)], $param, $type, (isset($pgpoolConfigParamAll[$param]['restart']) && $pgpoolConfigParamAll[$param]['restart']) ? '*' : NULL, $input ); } function input($param, $param_in_form, $num) { global $params, $errors, $pgpoolConfigParamAll; $val_arr = $select_options[$param]; // in case of per node health_check parameters, // key is "health_check_period0" if (preg_match('/^(health_check|connect_time).*[a-z]$/', $param)) { $user_val = $params[$param . $num]; } else { $user_val = $params[$param]; } if (is_array($user_val)) { $user_val = ($num !== NULL) ? $user_val[$num] : NULL; } $rtn = sprintf( '', $param_in_form, $user_val ); if ($errors[$param]) { $rtn .= '

'. 'Error '. $errors[$param]. '

'; } return $rtn; } function select($param, $param_in_form, $num) { global $params, $errors, $pgpoolConfigParamAll; // in case of per node health_check parameters, // key is "health_check_period0" if (preg_match('/^(health_check|connect_time).*[a-z]$/', $param)) { $user_val = $params[$param . $num]; } else { $user_val = $params[$param]; } if ($user_val == '') { $user_val = $param_info['default']; } if (is_array($user_val) && $num !== NULL) { $user_val = $user_val[$num]; } $param_info = $pgpoolConfigParamAll[$param]; $rtn .= sprintf(''; if ($errors[$param]) { $rtn .='
'. $errors[$param]; } return $rtn; } function radio_switch($param, $param_in_form, $num) { global $select_options, $params, $errors, $pgpoolConfigParamAll; $user_val = $params[$param]; if (is_array($user_val) && $num !== NULL) { $user_val = $user_val[$num]; } $val_arr = array('on' => 'on', 'off' => 'off'); $rtn = '
'; foreach ($val_arr as $val => $label) { $radio_id = "{$param}_{$val}"; $rtn .= sprintf( ''. '', $param_in_form, $radio_id, $val, ($val == $user_val) ? 'checked' : NULL, $radio_id, $label ); } if ($error) { $rtn .= '
'. $error; } $rtn .= '
'; return $rtn; }