patch #2745215 [edit] Multi-row change with "]" improved
This commit is contained in:
@@ -57,6 +57,8 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
|
|||||||
thanks to Yannick Betemps - arkhee
|
thanks to Yannick Betemps - arkhee
|
||||||
+ patch #2735162 [status] Server status - replication,
|
+ patch #2735162 [status] Server status - replication,
|
||||||
thanks to Tomas Srnka - tomassrnka
|
thanks to Tomas Srnka - tomassrnka
|
||||||
|
+ patch #2745215 [edit] Multi-row change with "]" improved,
|
||||||
|
thanks to Virsacer - virsacer
|
||||||
|
|
||||||
3.1.5.0 (not yet released)
|
3.1.5.0 (not yet released)
|
||||||
- patch #2739001 [export] XML does not allow spaces in element names,
|
- patch #2739001 [export] XML does not allow spaces in element names,
|
||||||
|
@@ -2014,7 +2014,7 @@ function PMA_getUniqueCondition($handle, $fields_cnt, $fields_meta, $row, $force
|
|||||||
$preferred_condition = $nonprimary_condition;
|
$preferred_condition = $nonprimary_condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
return preg_replace('|\s?AND$|', '', $preferred_condition);
|
return trim(preg_replace('|\s?AND$|', '', $preferred_condition));
|
||||||
} // end function
|
} // end function
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1051,7 +1051,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
|
|||||||
* avoid to display the delete and edit links
|
* avoid to display the delete and edit links
|
||||||
*/
|
*/
|
||||||
$unique_condition = PMA_getUniqueCondition($dt_result, $fields_cnt, $fields_meta, $row);
|
$unique_condition = PMA_getUniqueCondition($dt_result, $fields_cnt, $fields_meta, $row);
|
||||||
$unique_condition_html = htmlspecialchars(str_replace(']', ']', $unique_condition));
|
$unique_condition_html = urlencode($unique_condition);
|
||||||
|
|
||||||
// 1.2 Defines the URLs for the modify/delete link(s)
|
// 1.2 Defines the URLs for the modify/delete link(s)
|
||||||
|
|
||||||
@@ -1121,7 +1121,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
|
|||||||
$del_url = 'sql.php' . PMA_generate_common_url($_url_params);
|
$del_url = 'sql.php' . PMA_generate_common_url($_url_params);
|
||||||
|
|
||||||
$js_conf = 'DELETE FROM ' . PMA_jsFormat($db) . '.' . PMA_jsFormat($table)
|
$js_conf = 'DELETE FROM ' . PMA_jsFormat($db) . '.' . PMA_jsFormat($table)
|
||||||
. ' WHERE ' . trim(PMA_jsFormat($unique_condition, false))
|
. ' WHERE ' . PMA_jsFormat($unique_condition, false)
|
||||||
. ' LIMIT 1';
|
. ' LIMIT 1';
|
||||||
$del_str = PMA_getIcon('b_drop.png', $GLOBALS['strDelete'], true);
|
$del_str = PMA_getIcon('b_drop.png', $GLOBALS['strDelete'], true);
|
||||||
} elseif ($is_display['del_lnk'] == 'kp') { // kill process case
|
} elseif ($is_display['del_lnk'] == 'kp') { // kill process case
|
||||||
|
@@ -166,7 +166,7 @@ if (isset($primary_key)) {
|
|||||||
$result = array();
|
$result = array();
|
||||||
$found_unique_key = false;
|
$found_unique_key = false;
|
||||||
foreach ($primary_key_array as $key_id => $primary_key) {
|
foreach ($primary_key_array as $key_id => $primary_key) {
|
||||||
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' WHERE ' . str_replace(']', ']', $primary_key) . ';';
|
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . ' WHERE ' . $primary_key . ';';
|
||||||
$result[$key_id] = PMA_DBI_query($local_query, null, PMA_DBI_QUERY_STORE);
|
$result[$key_id] = PMA_DBI_query($local_query, null, PMA_DBI_QUERY_STORE);
|
||||||
$rows[$key_id] = PMA_DBI_fetch_assoc($result[$key_id]);
|
$rows[$key_id] = PMA_DBI_fetch_assoc($result[$key_id]);
|
||||||
$primary_keys[$key_id] = str_replace('\\', '\\\\', $primary_key);
|
$primary_keys[$key_id] = str_replace('\\', '\\\\', $primary_key);
|
||||||
|
@@ -303,7 +303,7 @@ foreach ($loop_array as $rowcount => $primary_key) {
|
|||||||
} else {
|
} else {
|
||||||
// build update query
|
// build update query
|
||||||
$query[] = 'UPDATE ' . PMA_backquote($GLOBALS['db']) . '.' . PMA_backquote($GLOBALS['table'])
|
$query[] = 'UPDATE ' . PMA_backquote($GLOBALS['db']) . '.' . PMA_backquote($GLOBALS['table'])
|
||||||
. ' SET ' . implode(', ', $query_values) . ' WHERE ' . str_replace(']', ']', $primary_key) . ' LIMIT 1';
|
. ' SET ' . implode(', ', $query_values) . ' WHERE ' . $primary_key . ' LIMIT 1';
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -83,14 +83,10 @@ if (!empty($submit_mult)) {
|
|||||||
// checkbox, we use the index of it as the
|
// checkbox, we use the index of it as the
|
||||||
// indicating primary key. Then we built the array which is used for
|
// indicating primary key. Then we built the array which is used for
|
||||||
// the tbl_change.php script.
|
// the tbl_change.php script.
|
||||||
/**
|
|
||||||
* urldecode should not be needed here
|
|
||||||
$primary_key = array();
|
$primary_key = array();
|
||||||
foreach ($_REQUEST['rows_to_delete'] as $i_primary_key => $del_query) {
|
foreach ($_REQUEST['rows_to_delete'] as $i_primary_key => $del_query) {
|
||||||
$primary_key[] = urldecode($i_primary_key);
|
$primary_key[] = urldecode($i_primary_key);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
$primary_key = array_keys($_REQUEST['rows_to_delete']);
|
|
||||||
|
|
||||||
$active_page = 'tbl_change.php';
|
$active_page = 'tbl_change.php';
|
||||||
include './tbl_change.php';
|
include './tbl_change.php';
|
||||||
@@ -105,14 +101,10 @@ if (!empty($submit_mult)) {
|
|||||||
// checkbox, we use the index of it as the
|
// checkbox, we use the index of it as the
|
||||||
// indicating primary key. Then we built the array which is used for
|
// indicating primary key. Then we built the array which is used for
|
||||||
// the tbl_change.php script.
|
// the tbl_change.php script.
|
||||||
/**
|
|
||||||
* urldecode should not be needed here
|
|
||||||
$primary_key = array();
|
$primary_key = array();
|
||||||
foreach ($_REQUEST['rows_to_delete'] as $i_primary_key => $del_query) {
|
foreach ($_REQUEST['rows_to_delete'] as $i_primary_key => $del_query) {
|
||||||
$primary_key[] = urldecode($i_primary_key);
|
$primary_key[] = urldecode($i_primary_key);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
$primary_key = array_keys($_REQUEST['rows_to_delete']);
|
|
||||||
|
|
||||||
$active_page = 'tbl_export.php';
|
$active_page = 'tbl_export.php';
|
||||||
include './tbl_export.php';
|
include './tbl_export.php';
|
||||||
|
Reference in New Issue
Block a user