diff --git a/js/db_structure.js b/js/db_structure.js
index b48094266d..656b6a70a2 100644
--- a/js/db_structure.js
+++ b/js/db_structure.js
@@ -243,14 +243,21 @@ AJAX.registerOnload('db_structure.js', function () {
/**
* @var question String containing the question to be asked for confirmation
*/
- var question = PMA_messages.strTruncateTableStrongWarning + ' ' +
- PMA_sprintf(PMA_messages.strDoYouReally, 'TRUNCATE ' + escapeHtml(curr_table_name));
+ var question = PMA_messages.strTruncateTableStrongWarning + ' '
+ + PMA_sprintf(PMA_messages.strDoYouReally, 'TRUNCATE ' + escapeHtml(curr_table_name))
+ + getForeignKeyCheckbox();
$this_anchor.PMA_confirm(question, $this_anchor.attr('href'), function (url) {
PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
- $.get(url, {'is_js_confirmed' : 1, 'ajax_request' : true}, function (data) {
+ var params = {
+ 'is_js_confirmed' : 1,
+ 'ajax_request' : true,
+ 'fk_checks': $(this).find('#fk_checks').is(':checked') ? 1 : 0
+ };
+
+ $.get(url, params, function (data) {
if (typeof data !== 'undefined' && data.success === true) {
PMA_ajaxShowMessage(data.message);
// Adjust table statistics
@@ -305,12 +312,19 @@ AJAX.registerOnload('db_structure.js', function () {
question =
PMA_sprintf(PMA_messages.strDoYouReally, 'DROP VIEW ' + escapeHtml(curr_table_name));
}
+ question += getForeignKeyCheckbox();
$this_anchor.PMA_confirm(question, $this_anchor.attr('href'), function (url) {
var $msg = PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
- $.get(url, {'is_js_confirmed' : 1, 'ajax_request' : true}, function (data) {
+ var params = {
+ 'is_js_confirmed' : 1,
+ 'ajax_request' : true,
+ 'fk_checks': $(this).find('#fk_checks').is(':checked') ? 1 : 0
+ };
+
+ $.get(url, params, function (data) {
if (typeof data !== 'undefined' && data.success === true) {
PMA_ajaxShowMessage(data.message);
toggleRowColors($curr_row.next());
diff --git a/js/functions.js b/js/functions.js
index baa164f59d..0d34dbae40 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -1675,6 +1675,23 @@ function pdfPaperSize(format, axis)
return 0;
}
+/**
+ * Get checkbox for foreign key checks
+ *
+ * @return string
+ */
+function getForeignKeyCheckbox() {
+ default_fk_check_value = PMA_commonParams.get('default_fk_check_value');
+ var html = "";
+ html += "
";
+ html += "";
+ html += "";
+ html += "";
+ html += "
";
+ return html;
+}
+
/**
* Unbind all event handlers before tearing down a page
*/
@@ -1723,15 +1740,9 @@ AJAX.registerOnload('functions.js', function () {
var sql_query = $form.find("input[name='sql_query']").val().trim();
var $inner_sql = $(this).parent().prev().find('code.sql');
var old_text = $inner_sql.html();
- var default_fk_check_value = $form.find("input[name='default_fk_check_value']").val() == 'true';
var new_content = "\n";
- new_content += "";
- new_content += "";
- new_content += "";
- new_content += "";
- new_content += "
";
+ new_content += getForeignKeyCheckbox();
new_content += "\n";
new_content += "\n";
var $editor_area = $('div#inline_editor');
diff --git a/libraries/Header.class.php b/libraries/Header.class.php
index 0a3ac7dc75..8c6cb7f039 100644
--- a/libraries/Header.class.php
+++ b/libraries/Header.class.php
@@ -254,7 +254,8 @@ class PMA_Header
'pftext' => $pftext,
'confirm' => $GLOBALS['cfg']['Confirm'],
'LoginCookieValidity' => $GLOBALS['cfg']['LoginCookieValidity'],
- 'logged_in' => isset($GLOBALS['userlink']) ? true : false
+ 'logged_in' => isset($GLOBALS['userlink']) ? true : false,
+ 'default_fk_check_value' => PMA_Util::getDefaultFKCheckValue() ? 1 : 0
);
if (isset($GLOBALS['cfg']['Server'])
&& isset($GLOBALS['cfg']['Server']['auth_type'])
diff --git a/libraries/Util.class.php b/libraries/Util.class.php
index fced591974..d23e8c0785 100644
--- a/libraries/Util.class.php
+++ b/libraries/Util.class.php
@@ -1291,11 +1291,6 @@ class PMA_Util
'profiling', __('Profiling'), isset($_SESSION['profiling']), true
);
}
-
- // Pass default foreign_key_checks
- $default_fk_check_value = $GLOBALS['dbi']->getVariable('FOREIGN_KEY_CHECKS') == 'ON';
- $retval .= '';
$retval .= '';
/**
@@ -3206,6 +3201,15 @@ class PMA_Util
}
}
+ public static function getDefaultFKCheckValue() {
+ if ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'enable') {
+ return true;
+ } else if ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'disable') {
+ return false;
+ }
+ return ($GLOBALS['dbi']->getVariable('FOREIGN_KEY_CHECKS') == 'ON');
+ }
+
/**
* Get HTML for Foreign key check checkbox
*
@@ -3213,13 +3217,7 @@ class PMA_Util
*/
public static function getFKCheckbox()
{
- if ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'enable') {
- $checked = true;
- } else if ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'disable') {
- $checked = false;
- } else {
- $checked = $GLOBALS['dbi']->getVariable('FOREIGN_KEY_CHECKS') == 'ON';
- }
+ $checked = self::getDefaultFKCheckValue();
$html = '';
$html .= ' 'SHOW VARIABLES LIKE \'language\';',
'result' => array(),
),
+ array(
+ 'query' => 'SHOW SESSION VARIABLES LIKE \'FOREIGN_KEY_CHECKS\';',
+ 'result' => array('foreign_key_checks', 'ON'),
+ ),
array(
'query' => 'SHOW TABLES FROM `pma_test`;',
'result' => array(