From 42aaf6c5c9cbd8a9a2c0e88446f6cec7f4cf960d Mon Sep 17 00:00:00 2001 From: Rouslan Placella Date: Wed, 25 May 2011 20:11:00 +0100 Subject: [PATCH] Better handling for choosing routine type in the "Add new routine form" --- libraries/db_routines.inc.php | 48 ++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/libraries/db_routines.inc.php b/libraries/db_routines.inc.php index 9d593bc858..28df73f6b8 100644 --- a/libraries/db_routines.inc.php +++ b/libraries/db_routines.inc.php @@ -86,13 +86,23 @@ function getFormInputFromRequest() $retval = array(); $retval['name'] = isset($_REQUEST['routine_name']) ? htmlspecialchars($_REQUEST['routine_name']) : ''; - $retval['type_procedure'] = ''; - $retval['type_function'] = ''; - if (isset($_REQUEST['routine_type'])) { + $retval['type'] = 'PROCEDURE'; + $retval['type_toggle'] = 'FUNCTION'; + if (! empty($_REQUEST['routine_changetype']) && isset($_REQUEST['routine_type'])) { if ($_REQUEST['routine_type'] == 'PROCEDURE') { - $retval['type_procedure'] = " selected='selected'"; + $retval['type'] = 'FUNCTION'; + $retval['type_toggle'] = 'PROCEDURE'; } else if ($_REQUEST['routine_type'] == 'FUNCTION') { - $retval['type_function'] = " selected='selected'"; + $retval['type'] = 'PROCEDURE'; + $retval['type_toggle'] = 'FUNCTION'; + } + } else if (isset($_REQUEST['routine_type'])) { + if ($_REQUEST['routine_type'] == 'PROCEDURE') { + $retval['type'] = 'PROCEDURE'; + $retval['type_toggle'] = 'FUNCTION'; + } else if ($_REQUEST['routine_type'] == 'FUNCTION') { + $retval['type'] = 'FUNCTION'; + $retval['type_toggle'] = 'PROCEDURE'; } } $retval['param_dir'] = array(); @@ -163,7 +173,7 @@ function getFormInputFromRequest() } // end function getFormInputFromRequest() /** - * ### MAIN ### + * ### MAIN ########################################################################################################## */ // $url_query .= '&goto=db_routines.php' . rawurlencode("?db=$db"); // FIXME @@ -252,7 +262,7 @@ if (! empty($_GET['exportroutine']) && ! empty($_GET['routinename']) && ! empty( //"; var_dump($query); exit; -} else if (! empty($_REQUEST['addroutine']) || ! empty($_REQUEST['routine_addparameter']) || ! empty($_REQUEST['routine_removeparameter'])) { +} else if (! empty($_REQUEST['addroutine']) || ! empty($_REQUEST['routine_addparameter']) || ! empty($_REQUEST['routine_removeparameter']) || ! empty($_REQUEST['routine_changetype'])) { /** * Display a form used to create a new routine */ @@ -272,10 +282,9 @@ if (! empty($_GET['exportroutine']) && ! empty($_GET['routinename']) && ! empty( echo "" . __('Routine Name') . "\n"; echo "" . __('Type') . " - + +
{$routine['type']}
+ \n"; echo "" . __('Parameters') . "\n"; @@ -324,13 +333,16 @@ if (! empty($_GET['exportroutine']) && ! empty($_GET['routinename']) && ! empty( echo "\n"; - echo "" . __('Return Type') . " - - \n"; - echo "" . __('Return Length') . "\n"; + if ($routine['type'] == 'FUNCTION') { + echo "" . __('Return Type') . " + + \n"; + echo "" . __('Return Length/Values') . "\n"; + } + echo "" . __('Definition') . "\n"; echo "" . __('Is Deterministic') . "\n"; echo "" . __('Definer') . "\n";