diff --git a/db_events.php b/db_events.php
index 7d22f5d8c5..f65960770a 100644
--- a/db_events.php
+++ b/db_events.php
@@ -1,40 +1,33 @@
diff --git a/db_routines.php b/db_routines.php
index 13234a5539..726674c7d3 100644
--- a/db_routines.php
+++ b/db_routines.php
@@ -11,7 +11,6 @@
*/
require_once './libraries/common.inc.php';
require_once './libraries/common.lib.php';
-require_once './libraries/db_routines.lib.php';
require_once './libraries/mysql_charsets.lib.php';
if (PMA_DRIZZLE) {
require_once './libraries/data_drizzle.inc.php';
@@ -24,432 +23,17 @@ if (PMA_DRIZZLE) {
*/
$GLOBALS['js_include'][] = 'jquery/jquery-ui-1.8.custom.js';
$GLOBALS['js_include'][] = 'jquery/timepicker.js';
-$GLOBALS['js_include'][] = 'db_routines.js';
+$GLOBALS['js_include'][] = 'rte/common.js';
+$GLOBALS['js_include'][] = 'rte/routines.js';
/**
- * Create labels for the list
+ * Include all other files
*/
-$titles = PMA_buildActionTitles();
-
-if ($GLOBALS['is_ajax_request'] != true) {
- /**
- * Displays the header
- */
- require_once './libraries/db_common.inc.php';
- /**
- * Displays the tabs
- */
- require_once './libraries/db_info.inc.php';
-} else {
- if (strlen($db)) {
- PMA_DBI_select_db($db);
- if (! isset($url_query)) {
- $url_query = PMA_generate_common_url($db);
- }
- }
-}
+require_once './libraries/rte/rte_routines.lib.php';
/**
- * Process all requests
+ * Do the magic
*/
-
-// Some definitions
-$param_directions = array('IN',
- 'OUT',
- 'INOUT');
-$param_opts_num = array('UNSIGNED',
- 'ZEROFILL',
- 'UNSIGNED ZEROFILL');
-$param_sqldataaccess = array('NO SQL',
- 'CONTAINS SQL',
- 'READS SQL DATA',
- 'MODIFIES SQL DATA');
-
-/**
- * Generate the conditional classes that will be used to attach jQuery events to links.
- */
-$ajax_class = array(
- 'add' => '',
- 'edit' => '',
- 'exec' => '',
- 'drop' => '',
- 'export' => ''
- );
-if ($GLOBALS['cfg']['AjaxEnable']) {
- $ajax_class['add'] = 'class="add_routine_anchor"';
- $ajax_class['edit'] = 'class="edit_routine_anchor"';
- $ajax_class['exec'] = 'class="exec_routine_anchor"';
- $ajax_class['drop'] = 'class="drop_routine_anchor"';
- $ajax_class['export'] = 'class="export_routine_anchor"';
-}
-
-/**
- * Keep a list of errors that occured while processing an 'Add' or 'Edit' operation.
- */
-$routine_errors = array();
-
-/**
- * Handle all user requests other than the default of listing routines
- */
-if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['routine_name'])) {
- // Build the queries
- $routine = PMA_RTN_getRoutineDataFromName($db, $_REQUEST['routine_name'], false);
- if ($routine !== false) {
- $queries = array();
- $end_query = array();
- $args = array();
- for ($i=0; $i<$routine['num_params']; $i++) {
- if (isset($_REQUEST['params'][$routine['param_name'][$i]])) {
- $value = $_REQUEST['params'][$routine['param_name'][$i]];
- if (is_array($value)) { // is SET type
- $value = implode(',', $value);
- }
- $value = PMA_sqlAddSlashes($value);
- if (! empty($_REQUEST['funcs'][$routine['param_name'][$i]])
- && in_array($_REQUEST['funcs'][$routine['param_name'][$i]], $cfg['Functions'])) {
- $queries[] = "SET @p$i={$_REQUEST['funcs'][$routine['param_name'][$i]]}('$value');\n";
- } else {
- $queries[] = "SET @p$i='$value';\n";
- }
- $args[] = "@p$i";
- } else {
- $args[] = "@p$i";
- }
- if ($routine['type'] == 'PROCEDURE') {
- if ($routine['param_dir'][$i] == 'OUT' || $routine['param_dir'][$i] == 'INOUT') {
- $end_query[] = "@p$i AS " . PMA_backquote($routine['param_name'][$i]);
- }
- }
- }
- if ($routine['type'] == 'PROCEDURE') {
- $queries[] = "CALL " . PMA_backquote($routine['name'])
- . "(" . implode(', ', $args) . ");\n";
- if (count($end_query)) {
- $queries[] = "SELECT " . implode(', ', $end_query) . ";\n";
- }
- } else {
- $queries[] = "SELECT " . PMA_backquote($routine['name'])
- . "(" . implode(', ', $args) . ") "
- . "AS " . PMA_backquote($routine['name']) . ";\n";
- }
- // Execute the queries
- $affected = 0;
- $result = null;
- $outcome = true;
- foreach ($queries as $num => $query) {
- $resource = PMA_DBI_try_query($query);
- if ($resource === false) {
- $outcome = false;
- break;
- }
- while (true) {
- if(! PMA_DBI_more_results()) {
- break;
- }
- PMA_DBI_next_result();
- }
- if (substr($query, 0, 6) == 'SELECT') {
- $result = $resource;
- } else if (substr($query, 0, 4) == 'CALL') {
- $affected = PMA_DBI_affected_rows() - PMA_DBI_num_rows($resource);
- }
- }
- // Generate output
- if ($outcome) {
- $message = __('Your SQL query has been executed successfully');
- if ($routine['type'] == 'PROCEDURE') {
- $message .= '
';
- $message .= sprintf(_ngettext('%d row affected by the last statement inside the procedure', '%d rows affected by the last statement inside the procedure', $affected), $affected);
- }
- $message = PMA_message::success($message);
- // Pass the SQL queries through the "pretty printer"
- $output = '';
- $output .= PMA_SQP_formatHtml(PMA_SQP_parse(implode($queries)));
- $output .= '';
- // Display results
- if ($result) {
- $output .= "