diff --git a/libraries/db_routines.inc.php b/libraries/db_routines.inc.php index 28df73f6b8..6967b3f4c5 100644 --- a/libraries/db_routines.inc.php +++ b/libraries/db_routines.inc.php @@ -105,12 +105,16 @@ function getFormInputFromRequest() $retval['type_toggle'] = 'PROCEDURE'; } } - $retval['param_dir'] = array(); - $retval['param_name'] = array(); - $retval['param_type'] = array(); - $retval['num_params'] = 0; - if (isset($_REQUEST['routine_param_dir']) && isset($_REQUEST['routine_param_name']) && isset($_REQUEST['routine_param_type']) - && is_array($_REQUEST['routine_param_dir']) && is_array($_REQUEST['routine_param_name']) && is_array($_REQUEST['routine_param_type'])) { + + $retval['num_params'] = 0; + $retval['param_dir'] = array(); + $retval['param_name'] = array(); + $retval['param_type'] = array(); + $retval['param_length'] = array(); + if (isset($_REQUEST['routine_param_dir']) && isset($_REQUEST['routine_param_name']) + && isset($_REQUEST['routine_param_type']) && isset($_REQUEST['routine_param_length']) + && is_array($_REQUEST['routine_param_dir']) && is_array($_REQUEST['routine_param_name']) + && is_array($_REQUEST['routine_param_type']) && is_array($_REQUEST['routine_param_length'])) { $temp_num_params = 0; $retval['param_dir'] = $_REQUEST['routine_param_dir']; foreach ($retval['param_dir'] as $key => $value) { @@ -142,6 +146,15 @@ function getFormInputFromRequest() if ($temp_num_params > $retval['num_params']) { $retval['num_params'] = $temp_num_params; } + $temp_num_params = 0; + $retval['param_length'] = $_REQUEST['routine_param_length']; + foreach ($retval['param_length'] as $key => $value) { + $retval['param_length'][$key] = htmlspecialchars($value); + $temp_num_params++; + } + if ($temp_num_params > $retval['num_params']) { + $retval['num_params'] = $temp_num_params; + } } $retval['returntype'] = ''; if (isset($_REQUEST['routine_returntype']) && in_array($_REQUEST['routine_returntype'], $param_datatypes, true)) { @@ -290,16 +303,18 @@ if (! empty($_GET['exportroutine']) && ! empty($_GET['routinename']) && ! empty( echo "" . __('Parameters') . "\n"; // parameter handling start echo ""; - echo ""; + echo ""; if (! empty($_REQUEST['routine_addparameter']) || !$routine['num_params']) { $routine['param_dir'][] = ''; $routine['param_name'][] = ''; $routine['param_type'][] = ''; + $routine['param_length'][] = ''; $routine['num_params']++; } else if (! empty($_REQUEST['routine_removeparameter'])) { unset($routine['param_dir'][$routine['num_params']-1]); unset($routine['param_name'][$routine['num_params']-1]); unset($routine['param_type'][$routine['num_params']-1]); + unset($routine['param_length'][$routine['num_params']-1]); $routine['num_params']--; } for ($i=0; $i<$routine['num_params']; $i++) { @@ -322,9 +337,11 @@ if (! empty($_GET['exportroutine']) && ! empty($_GET['routinename']) && ! empty( echo getSupportedDatatypes(true, $routine['param_type'][$i]); echo " + "; } - echo "";
" . __('Direction') . "" . __('Name') . "" . __('Type') . "
" . __('Direction') . "" . __('Name') . "" . __('Type') . "" . __('Length/Values') . "
+
+ echo "