diff --git a/js/db_events.js b/js/db_events.js
index 0c0122a7db..a72ab5fe88 100644
--- a/js/db_events.js
+++ b/js/db_events.js
@@ -43,29 +43,4 @@ $(document).ready(function() {
}) // end $.get()
}) // end $.PMA_confirm()
}) // end Drop Event
-
- /**
- * Ajax Event handler for 'Export Event'
- *
- * @see $cfg['AjaxEnable']
- */
- $('.export_event_anchor').live('click', function(event) {
- event.preventDefault();
-
- /**
- * @var button_options Object containing options for jQueryUI dialog buttons
- */
- var button_options = {};
- button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
- /**
- * @var button_options The export SQL query to display to the user
- */
- var query = $(this).parents('tr').find('.create_sql').html();
-
- // show dialog
- $('
').dialog({
- width: 450,
- buttons: button_options
- }).find('textarea').width('100%');
- }); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Event
diff --git a/js/db_routines.js b/js/db_routines.js
index aaca0ae7c0..ee7b2a1371 100644
--- a/js/db_routines.js
+++ b/js/db_routines.js
@@ -45,33 +45,4 @@ $(document).ready(function() {
}) // end $.PMA_confirm()
}); // end Drop Procedure
- /**
- * Ajax Event handler for 'Export Routine'
- *
- * @see $cfg['AjaxEnable']
- */
- $('.export_routine_anchor').live('click', function(event) {
- event.preventDefault();
- var $msg = PMA_ajaxShowMessage(PMA_messages['strLoading']);
- $.get($(this).attr('href'), {'ajax_request': true}, function(data) {
- if(data.success == true) {
- PMA_ajaxRemoveMessage($msg);
- /**
- * @var button_options Object containing options for jQueryUI dialog buttons
- */
- var button_options = {};
- button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
- /**
- * Display the dialog to the user
- */
- $(''+data.message+'
').dialog({
- width: 450,
- buttons: button_options,
- title: data.title
- }).find('textarea').width('100%');
- } else {
- PMA_ajaxShowMessage(data.error);
- }
- })
- }); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Procedure
diff --git a/js/display_triggers.js b/js/display_triggers.js
index e7bd57a9b1..fed1dee949 100644
--- a/js/display_triggers.js
+++ b/js/display_triggers.js
@@ -43,29 +43,4 @@ $(document).ready(function() {
}) // end $.get()
}) // end $.PMA_confirm()
}) // end $().live()
-
- /**
- * Ajax Event handler for 'Export Trigger'
- *
- * @see $cfg['AjaxEnable']
- */
- $('.export_trigger_anchor').live('click', function(event) {
- event.preventDefault();
-
- /**
- * @var button_options Object containing options for jQueryUI dialog buttons
- */
- var button_options = {};
- button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
- /**
- * @var button_options The export SQL query to display to the user
- */
- var query = $(this).parents('tr').find('.create_sql').html();
-
- // show dialog
- $('').dialog({
- width: 450,
- buttons: button_options
- }).find('textarea').width('100%');
- }); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Trigger
diff --git a/js/functions.js b/js/functions.js
index cbd67b0545..a36f3aef4e 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -2330,3 +2330,38 @@ $(document).ready(function() {
}); // end $.PMA_confirm()
}); //end of Drop Table Ajax action
}) // end of $(document).ready() for Drop Table
+
+/**
+ * Attach Ajax event handlers for Export of Routines, Triggers and Events.
+ *
+ * @uses PMA_ajaxShowMessage()
+ * @uses PMA_ajaxRemoveMessage()
+ *
+ * @see $cfg['AjaxEnable']
+ */
+$(document).ready(function() {
+ $('.export_routine_anchor, .export_event_anchor, .export_trigger_anchor').live('click', function(event) {
+ event.preventDefault();
+ var $msg = PMA_ajaxShowMessage(PMA_messages['strLoading']);
+ $.get($(this).attr('href'), {'ajax_request': true}, function(data) {
+ if(data.success == true) {
+ PMA_ajaxRemoveMessage($msg);
+ /**
+ * @var button_options Object containing options for jQueryUI dialog buttons
+ */
+ var button_options = {};
+ button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
+ /**
+ * Display the dialog to the user
+ */
+ $(''+data.message+'
').dialog({
+ width: 450,
+ buttons: button_options,
+ title: data.title
+ }).find('textarea').width('100%');
+ } else {
+ PMA_ajaxShowMessage(data.error);
+ }
+ })
+ }); // end Export Procedure
+}); // end of $(document).ready() for Export of Routines, Triggers and Events.
diff --git a/libraries/db_events.inc.php b/libraries/db_events.inc.php
index 9304135eb9..27d6942b7a 100644
--- a/libraries/db_events.inc.php
+++ b/libraries/db_events.inc.php
@@ -23,11 +23,28 @@ if ($GLOBALS['cfg']['AjaxEnable']) {
* Display the export for a event. This is for when JS is disabled.
*/
if (! empty($_GET['exportevent']) && ! empty($_GET['eventname'])) {
+ $event_name = htmlspecialchars(PMA_backquote($_GET['eventname']));
if ($create_event = PMA_DBI_get_definition($db, 'EVENT', $_GET['eventname'])) {
- echo '';
+ $create_event = '';
+ if (! empty($_REQUEST['ajax_request'])) {
+ $extra_data = array('title' => sprintf(__('Export of event %s'), $event_name));
+ PMA_ajaxResponse($create_event, true, $extra_data);
+ } else {
+ echo '';
+ }
+ } else {
+ $response = __('Error in Processing Request') . ' : '
+ . sprintf(__('No event with name %s found in database %s'),
+ $event_name, htmlspecialchars(PMA_backquote($db)));
+ $response = PMA_message::error($response);
+ if (! empty($_REQUEST['ajax_request'])) {
+ PMA_ajaxResponse($response, false);
+ } else {
+ $response->display();
+ }
}
}
diff --git a/libraries/display_triggers.inc.php b/libraries/display_triggers.inc.php
index a8cd4c6dd6..5f1e603008 100644
--- a/libraries/display_triggers.inc.php
+++ b/libraries/display_triggers.inc.php
@@ -25,12 +25,31 @@ if ($GLOBALS['cfg']['AjaxEnable']) {
* Display the export for a trigger. This is for when JS is disabled.
*/
if (! empty($_GET['exporttrigger']) && ! empty($_GET['triggername'])) {
+ $success = false;
foreach ($triggers as $trigger) {
if ($trigger['name'] === $_GET['triggername']) {
- echo '';
+ $success = true;
+ $trigger_name = htmlspecialchars(PMA_backquote($_GET['triggername']));
+ $create_trig = '';
+ if (! empty($_REQUEST['ajax_request'])) {
+ $extra_data = array('title' => sprintf(__('Export of trigger %s'), $trigger_name));
+ PMA_ajaxResponse($create_trig, true, $extra_data);
+ } else {
+ echo '';
+ }
+ }
+ }
+ if (! $success) {
+ $response = __('Error in Processing Request') . ' : '
+ . sprintf(__('No trigger with name %s found'), $event_name);
+ $response = PMA_message::error($response);
+ if (! empty($_REQUEST['ajax_request'])) {
+ PMA_ajaxResponse($response, false);
+ } else {
+ $response->display();
}
}
}