$pos = strpos($tmpres[1], ' (');
@@ -83,8 +83,8 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$schema_create .= 'CREATE TABLE ' . PMA_htmlFormat(PMA_backquote($table), $use_backquotes) . ' (' . $crlf;
$local_query = 'SHOW FIELDS FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
- while ($row = mysql_fetch_array($result)) {
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ while ($row = PMA_mysql_fetch_array($result)) {
$schema_create .= ' ' . PMA_htmlFormat(PMA_backquote($row['Field'], $use_backquotes)) . ' ' . $row['Type'];
if (isset($row['Default']) && $row['Default'] != '') {
$schema_create .= ' DEFAULT \'' . PMA_htmlFormat(PMA_sqlAddslashes($row['Default'])) . '\'';
@@ -101,8 +101,8 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$schema_create = ereg_replace(',' . $crlf . '$', '', $schema_create);
$local_query = 'SHOW KEYS FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
- while ($row = mysql_fetch_array($result))
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ while ($row = PMA_mysql_fetch_array($result))
{
$kname = $row['Key_name'];
$comment = (isset($row['Comment'])) ? $row['Comment'] : '';
@@ -181,15 +181,15 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
global $current_row;
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query;
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
if ($result != FALSE) {
$fields_cnt = mysql_num_fields($result);
$rows_cnt = mysql_num_rows($result);
// Checks whether the field is an integer or not
for ($j = 0; $j < $fields_cnt; $j++) {
- $field_set[$j] = PMA_backquote(mysql_field_name($result, $j), $use_backquotes);
- $type = mysql_field_type($result, $j);
+ $field_set[$j] = PMA_backquote(PMA_mysql_field_name($result, $j), $use_backquotes);
+ $type = PMA_mysql_field_type($result, $j);
if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' ||
$type == 'bigint' ||$type == 'timestamp') {
$field_num[$j] = TRUE;
@@ -221,7 +221,7 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$time0 = time();
}
- while ($row = mysql_fetch_row($result)) {
+ while ($row = PMA_mysql_fetch_row($result)) {
$current_row++;
for ($j = 0; $j < $fields_cnt; $j++) {
if (!isset($row[$j])) {
@@ -308,7 +308,7 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
global $current_row;
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query;
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
$current_row = 0;
$fields_cnt = mysql_num_fields($result);
$rows_cnt = mysql_num_rows($result);
@@ -322,11 +322,11 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
$time0 = time();
}
- while ($row = mysql_fetch_row($result)) {
+ while ($row = PMA_mysql_fetch_row($result)) {
$current_row++;
$table_list = '(';
for ($j = 0; $j < $fields_cnt; $j++) {
- $table_list .= PMA_backquote(mysql_field_name($result, $j), $use_backquotes) . ', ';
+ $table_list .= PMA_backquote(PMA_mysql_field_name($result, $j), $use_backquotes) . ', ';
}
$table_list = substr($table_list, 0, -2);
$table_list .= ')';
@@ -348,7 +348,7 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
if (!isset($row[$j])) {
$schema_insert .= ' NULL, ';
} else if ($row[$j] == '0' || $row[$j] != '') {
- $type = mysql_field_type($result, $j);
+ $type = PMA_mysql_field_type($result, $j);
// a number
if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' ||
$type == 'bigint' ||$type == 'timestamp') {
@@ -505,14 +505,14 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
// Gets the data from the database
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query;
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
$fields_cnt = mysql_num_fields($result);
@set_time_limit($GLOBALS['cfg']['ExecTimeLimit']);
// Format the data
$i = 0;
- while ($row = mysql_fetch_row($result)) {
+ while ($row = PMA_mysql_fetch_row($result)) {
$schema_insert = '';
for ($j = 0; $j < $fields_cnt; $j++) {
if (!isset($row[$j])) {
@@ -570,8 +570,8 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
*/
function PMA_getTableXML($db, $table, $limit_from = 0, $limit_to = 0, $crlf, $error_url) {
$local_query = 'SHOW COLUMNS FROM ' . PMA_backquote($table) . ' FROM ' . PMA_backquote($db);
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
- for ($i = 0; $row = mysql_fetch_array($result, MYSQL_ASSOC); $i++) {
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ for ($i = 0; $row = PMA_mysql_fetch_array($result, MYSQL_ASSOC); $i++) {
$columns[$i] = $row['Field'];
}
$columns_cnt = count($columns);
@@ -588,9 +588,9 @@ if (!defined('PMA_BUILD_DUMP_LIB_INCLUDED')){
}
$local_query = 'SELECT * FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table) . $add_query;
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $error_url);
$buffer = ' ' . $crlf;
- while ($record = mysql_fetch_array($result, MYSQL_ASSOC)) {
+ while ($record = PMA_mysql_fetch_array($result, MYSQL_ASSOC)) {
$buffer .= ' <' . $table . '>' . $crlf;
for ($i = 0; $i < $columns_cnt; $i++) {
// There is no way to dectect a "NULL" value with PHP3
diff --git a/libraries/charset_conversion.lib.php3 b/libraries/charset_conversion.lib.php3
new file mode 100644
index 000000000..4fcda682a
--- /dev/null
+++ b/libraries/charset_conversion.lib.php3
@@ -0,0 +1,132 @@
+= 40000 && !@ini_get('safe_mode') && @ini_get('enable_dl'))
+ || (PMA_PHP_INT_VERSION > 30009 && !@get_cfg_var('safe_mode')))
+ && @function_exists('dl')) {
+ if (!(@extension_loaded('recode')||@extension_loaded('iconv'))) {
+ if (PMA_IS_WINDOWS) {
+ $suffix = '.dll';
+ } else {
+ $suffix = '.so';
+ }
+ @dl('recode'.$suffix);
+ if (!@extension_loaded('recode')) {
+ @dl('iconv'.$suffix);
+ if (!@extension_loaded('iconv')) {
+ echo $strCantLoadRecodeIconv;
+ exit();
+ }
+ }
+ }
+ } // end load mysql extension
+ // if allowed recoding, we should try to load extensions for it...
+
+ /**
+ * Converts encoding according to current settings.
+ *
+ * @param mixed what to convert (string or array of strings or object returned by mysql_fetch_field)
+ *
+ * @return string converted string or array of strings
+ *
+ * @access public
+ *
+ * @author nijel
+ */
+ function PMA_convert_display_charset($what) {
+ global $cfg, $allow_recoding, $charset, $convcharset;
+ if (!($cfg['AllowAnywhereRecoding'] && $allow_recoding)) {
+ return $what;
+ } else {
+ if (is_array($what)) {
+ $result = array();
+ reset($what);
+ while(list($key,$val) = each($what)) {
+//Debug: echo '['.$key.']='.$val.'
';
+
+ if (is_string($val) || is_array($val)) {
+ if (is_string($key)) {
+ $result[PMA_convert_display_charset($key)] = PMA_convert_display_charset($val);
+ } else {
+ $result[$key] = PMA_convert_display_charset($val);
+ }
+ } else {
+ $result[$key] = $val;
+ }
+ }
+ return $result;
+ } elseif (is_string($what)) {
+ if (@function_exists('iconv')) {
+//Debug: echo 'PMA_convert_display_charset: '.$what.'->'.iconv($convcharset, $charset, $what)."\n
";
+ return iconv($convcharset, $charset, $what);
+ } else if (@function_exists('libiconv')) {
+ return iconv($convcharset, $charset, $what);
+ } else if (@function_exists('recode_string')) {
+ return recode_string($convcharset . '..' . $charset, $what);
+ } else {
+ echo $strCantUseRecodeIconv;
+ return $what;
+ }
+ } elseif (is_object($what)) {
+ // isn't it object returned from mysql_fetch_field ?
+ if (@is_string($what->name)) {
+ $what->name = PMA_convert_display_charset( $what->name );
+ }
+ if (@is_string($what->table)) {
+ $what->table = PMA_convert_display_charset( $what->table );
+ }
+ if (@is_string($what->Database)) {
+ $what->Database = PMA_convert_display_charset( $what->Database );
+ }
+ return $what;
+ } else {
+ // when we don't know what it is we don't touch it...
+ return $what;
+ }
+ }
+ }
+
+ /**
+ * Converts encoding of text according to current settings.
+ *
+ * @param string what to convert
+ *
+ * @return string converted text
+ *
+ * @access public
+ *
+ * @author nijel
+ */
+ function PMA_convert_charset($what) {
+ global $cfg, $allow_recoding, $charset, $convcharset;
+ if (!($cfg['AllowAnywhereRecoding'] && $allow_recoding)) {
+ return $what;
+ } else {
+ if (@function_exists('iconv')) {
+//Debug: echo 'PMA_convert_charset: '.$what.'->'.iconv($charset, $convcharset, $what)."\n
";
+ return iconv($charset, $convcharset, $what);
+ } else if (@function_exists('libiconv')) {
+ return iconv($charset, $convcharset, $what);
+ } else if (@function_exists('recode_string')) {
+ return recode_string($charset . '..' . $convcharset, $what);
+ } else {
+ echo $strCantUseRecodeIconv;
+ return $what;
+ }
+ }
+ }
+} // PMA_CHARSET_CONVERSION_LIB_INCLUDED
+?>
diff --git a/libraries/common.lib.php3 b/libraries/common.lib.php3
index ff08a063b..d6e771c39 100644
--- a/libraries/common.lib.php3
+++ b/libraries/common.lib.php3
@@ -116,6 +116,16 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
include('./config.inc.developer.php3');
}
+ /**
+ * Include MySQL wrappers.
+ */
+ include('./libraries/mysql_wrappers.lib.php3');
+
+ /**
+ * Include charset conversion.
+ */
+ include('./libraries/charset_conversion.lib.php3');
+
/**
* Gets constants that defines the PHP, MySQL... releases.
* This include must be located physically before any code that needs to
@@ -331,7 +341,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
}
if (!$error_message) {
- $error_message = mysql_error();
+ $error_message = PMA_mysql_error();
}
if (!$the_query && !empty($GLOBALS['sql_query'])) {
$the_query = $GLOBALS['sql_query'];
@@ -348,7 +358,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
echo ' ' . $GLOBALS['strSQLQuery'] . ' : ' . "\n";
if ($is_modify_link) {
echo ' ['
- . '' . $GLOBALS['strEdit'] . ''
+ . '' . $GLOBALS['strEdit'] . ''
. ']' . "\n";
} // end if
if($cfg['UseSyntaxColoring']){
@@ -632,8 +642,8 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
$cfg['Server']['controlpass']
);
if ($dbh == FALSE) {
- if (mysql_error()) {
- $conn_error = mysql_error();
+ if (PMA_mysql_error()) {
+ $conn_error = PMA_mysql_error();
} else if (isset($php_errormsg)) {
$conn_error = $php_errormsg;
} else {
@@ -689,18 +699,18 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
for ($i = 0; $i < $dblist_cnt; $i++) {
if ($is_show_dbs && ereg('(^|[^\])(_|%)', $dblist[$i])) {
$local_query = 'SHOW DATABASES LIKE \'' . $dblist[$i] . '\'';
- $rs = mysql_query($local_query, $dbh);
+ $rs = PMA_mysql_query($local_query, $dbh);
// "SHOW DATABASES" statement is disabled
if ($i == 0
- && (mysql_error() && mysql_errno() == 1045)) {
+ && (PMA_mysql_error() && mysql_errno() == 1045)) {
$true_dblist[] = str_replace('\\_', '_', str_replace('\\%', '%', $dblist[$i]));
$is_show_dbs = FALSE;
}
// Debug
- // else if (mysql_error()) {
+ // else if (PMA_mysql_error()) {
// PMA_mysqlDie('', $local_query, FALSE);
// }
- while ($row = @mysql_fetch_row($rs)) {
+ while ($row = @PMA_mysql_fetch_row($rs)) {
$true_dblist[] = $row[0];
} // end while
if ($rs) {
@@ -720,13 +730,13 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
// (if MYSQL supports this)
if (PMA_MYSQL_INT_VERSION >= 32330) {
$local_query = 'SHOW VARIABLES LIKE \'safe_show_database\'';
- $rs = mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
- $is_safe_show_dbs = ($rs) ? @mysql_result($rs, 0, 'Value') : FALSE;
+ $rs = PMA_mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
+ $is_safe_show_dbs = ($rs) ? @PMA_mysql_result($rs, 0, 'Value') : FALSE;
// ... and if on, try to get the available dbs list
if ($is_safe_show_dbs && strtoupper($is_safe_show_dbs) != 'OFF') {
$uva_alldbs = mysql_list_dbs($userlink);
- while ($uva_row = mysql_fetch_array($uva_alldbs)) {
+ while ($uva_row = PMA_mysql_fetch_array($uva_alldbs)) {
$dblist[] = $uva_row[0];
} // end while
$dblist_cnt = count($dblist);
@@ -740,7 +750,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
$auth_query = 'SELECT User, Select_priv '
. 'FROM mysql.user '
. 'WHERE User = \'' . PMA_sqlAddslashes($cfg['Server']['user']) . '\'';
- $rs = mysql_query($auth_query, $dbh); // Debug: or PMA_mysqlDie('', $auth_query, FALSE);
+ $rs = PMA_mysql_query($auth_query, $dbh); // Debug: or PMA_mysqlDie('', $auth_query, FALSE);
} // end
} // end if (!$dblist_cnt)
@@ -748,7 +758,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
// usable db list
if (!$dblist_cnt
&& ($rs && @mysql_numrows($rs))) {
- $row = mysql_fetch_array($rs);
+ $row = PMA_mysql_fetch_array($rs);
mysql_free_result($rs);
// Correction uva 19991215
// Previous code assumed database "mysql" admin table "db" column
@@ -765,7 +775,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
// 1. get allowed dbs from the "mysql.db" table
// lem9: User can be blank (anonymous user)
$local_query = 'SELECT DISTINCT Db FROM mysql.db WHERE Select_priv = \'Y\' AND (User = \'' . PMA_sqlAddslashes($cfg['Server']['user']) . '\' OR User = \'\')';
- $rs = mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
+ $rs = PMA_mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
if ($rs && @mysql_numrows($rs)) {
// Will use as associative array of the following 2 code
// lines:
@@ -777,7 +787,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
// populating $dblist[], as previous code did. But it is
// now populated with actual database names instead of
// with regular expressions.
- while ($row = mysql_fetch_array($rs)) {
+ while ($row = PMA_mysql_fetch_array($rs)) {
// loic1: all databases cases - part 1
if (empty($row['Db']) || $row['Db'] == '%') {
$uva_mydbs['%'] = 1;
@@ -792,12 +802,12 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
$uva_alldbs = mysql_list_dbs($dbh);
// loic1: all databases cases - part 2
if (isset($uva_mydbs['%'])) {
- while ($uva_row = mysql_fetch_array($uva_alldbs)) {
+ while ($uva_row = PMA_mysql_fetch_array($uva_alldbs)) {
$dblist[] = $uva_row[0];
} // end while
} // end if
else {
- while ($uva_row = mysql_fetch_array($uva_alldbs)) {
+ while ($uva_row = PMA_mysql_fetch_array($uva_alldbs)) {
$uva_db = $uva_row[0];
if (isset($uva_mydbs[$uva_db]) && $uva_mydbs[$uva_db] == 1) {
$dblist[] = $uva_db;
@@ -826,9 +836,9 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
// 2. get allowed dbs from the "mysql.tables_priv" table
$local_query = 'SELECT DISTINCT Db FROM mysql.tables_priv WHERE Table_priv LIKE \'%Select%\' AND User = \'' . PMA_sqlAddslashes($cfg['Server']['user']) . '\'';
- $rs = mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
+ $rs = PMA_mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
if ($rs && @mysql_numrows($rs)) {
- while ($row = mysql_fetch_array($rs)) {
+ while ($row = PMA_mysql_fetch_array($rs)) {
if (PMA_isInto($row['Db'], $dblist) == -1) {
$dblist[] = $row['Db'];
}
@@ -870,7 +880,7 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
if ($num_dbs) {
$true_dblist = array();
for ($i = 0; $i < $num_dbs; $i++) {
- $dblink = @mysql_select_db($dblist[$i]);
+ $dblink = @PMA_mysql_select_db($dblist[$i]);
if ($dblink) {
$true_dblist[] = $dblist[$i];
} // end if
@@ -888,8 +898,8 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
$num_dbs = ($dbs) ? @mysql_num_rows($dbs) : 0;
$real_num_dbs = 0;
for ($i = 0; $i < $num_dbs; $i++) {
- $db_name_tmp = mysql_dbname($dbs, $i);
- $dblink = @mysql_select_db($db_name_tmp);
+ $db_name_tmp = PMA_mysql_dbname($dbs, $i);
+ $dblink = @PMA_mysql_select_db($db_name_tmp);
if ($dblink) {
$dblist[] = $db_name_tmp;
$real_num_dbs++;
@@ -912,10 +922,11 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
* Since MySQL 3.23.6 this allows to use non-alphanumeric characters in
* these names.
*
- * @param string the database, table or field name to "backquote"
+ * @param mixed the database, table or field name to "backquote" or
+ * array of it
* @param boolean a flag to bypass this function (used by dump functions)
*
- * @return string the "backquoted" database, table or field name if the
+ * @return mixed the "backquoted" database, table or field name if the
* current MySQL release is >= 3.23.6, the original one
* else
*
@@ -926,7 +937,17 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
if ($do_it
&& PMA_MYSQL_INT_VERSION >= 32306
&& !empty($a_name) && $a_name != '*') {
- return '`' . $a_name . '`';
+
+ if (is_array($a_name)) {
+ $result = array();
+ reset($a_name);
+ while(list($key,$val) = each($a_name)) {
+ $result[$key] = '`' . $val . '`';
+ }
+ return $result;
+ } else {
+ return '`' . $a_name . '`';
+ }
} else {
return $a_name;
}
@@ -1005,8 +1026,8 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
*/
function PMA_countRecords($db, $table, $ret = FALSE)
{
- $result = mysql_query('SELECT COUNT(*) AS num FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table));
- $num = ($result) ? mysql_result($result, 0, 'num') : 0;
+ $result = PMA_mysql_query('SELECT COUNT(*) AS num FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table));
+ $num = ($result) ? PMA_mysql_result($result, 0, 'num') : 0;
mysql_free_result($result);
if ($ret) {
return $num;
@@ -1031,7 +1052,8 @@ h1 {font-family: sans-serif; font-size: large; font-weight: bold}
if (isset($GLOBALS['reload']) && $GLOBALS['reload']) {
echo "\n";
$reload_url = './left.php3'
- . '?lang=' . $GLOBALS['lang']
+ . '?convcharset=' . $GLOBALS['convcharset']
+ . '&lang=' . $GLOBALS['lang']
. '&server=' . $GLOBALS['server']
. ((!empty($GLOBALS['db'])) ? '&db=' . urlencode($GLOBALS['db']) : '');
?>
@@ -1045,9 +1067,9 @@ window.parent.frames['nav'].location.replace('');
// Corrects the tooltip text via JS if required
else if (isset($GLOBALS['table']) && $GLOBALS['cfg']['ShowTooltip'] && PMA_MYSQL_INT_VERSION >= 32303) {
- $result = @mysql_query('SHOW TABLE STATUS FROM ' . PMA_backquote($GLOBALS['db']) . ' LIKE \'' . PMA_sqlAddslashes($GLOBALS['table'], TRUE) . '\'');
+ $result = @PMA_mysql_query('SHOW TABLE STATUS FROM ' . PMA_backquote($GLOBALS['db']) . ' LIKE \'' . PMA_sqlAddslashes($GLOBALS['table'], TRUE) . '\'');
if ($result) {
- $tmp = mysql_fetch_array($result, MYSQL_ASSOC);
+ $tmp = PMA_mysql_fetch_array($result, MYSQL_ASSOC);
$tooltip = (empty($tmp['Comment']))
? ''
: $tmp['Comment'] . ' ';
@@ -1083,6 +1105,7 @@ if (typeof(document.getElementById) != 'undefined'
if ($GLOBALS['cfg']['ShowSQL'] == TRUE && !empty($GLOBALS['sql_query'])) {
// Basic url query part
$url_qpart = '?lang=' . $GLOBALS['lang']
+ . '&convcharset=' . $GLOBALS['convcharset']
. '&server=' . $GLOBALS['server']
. ((!empty($GLOBALS['db'])) ? '&db=' . urlencode($GLOBALS['db']) : '')
. ((!empty($GLOBALS['table'])) ? '&table=' . urlencode($GLOBALS['table']) : '');
diff --git a/libraries/defines.lib.php3 b/libraries/defines.lib.php3
index eb0d2a9cb..1bdd65c50 100644
--- a/libraries/defines.lib.php3
+++ b/libraries/defines.lib.php3
@@ -50,14 +50,14 @@ if (!defined('PMA_IS_WINDOWS')) {
// MySQL Version
if (!defined('PMA_MYSQL_INT_VERSION') && isset($userlink)) {
if (!empty($server)) {
- $result = mysql_query('SELECT VERSION() AS version');
+ $result = PMA_mysql_query('SELECT VERSION() AS version');
if ($result != FALSE && @mysql_num_rows($result) > 0) {
- $row = mysql_fetch_array($result);
+ $row = PMA_mysql_fetch_array($result);
$match = explode('.', $row['version']);
} else {
- $result = @mysql_query('SHOW VARIABLES LIKE \'version\'');
+ $result = @PMA_mysql_query('SHOW VARIABLES LIKE \'version\'');
if ($result != FALSE && @mysql_num_rows($result) > 0){
- $row = mysql_fetch_row($result);
+ $row = PMA_mysql_fetch_row($result);
$match = explode('.', $row[1]);
}
}
diff --git a/libraries/display_tbl.lib.php3 b/libraries/display_tbl.lib.php3
index ca4257413..eb2a2d354 100644
--- a/libraries/display_tbl.lib.php3
+++ b/libraries/display_tbl.lib.php3
@@ -159,8 +159,8 @@ if (!defined('PMA_DISPLAY_TBL_LIB_INCLUDED')){
else if (($do_display['nav_bar'] == '1' || $do_display['sort_lnk'] == '1')
&& (!empty($db) && !empty($table))) {
$local_query = 'SELECT COUNT(*) AS total FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
- $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url);
- $the_total = mysql_result($result, 0, 'total');
+ $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url);
+ $the_total = PMA_mysql_result($result, 0, 'total');
mysql_free_result($result);
}
@@ -189,6 +189,7 @@ if (!defined('PMA_DISPLAY_TBL_LIB_INCLUDED')){
* @param string the url-encoded query
*
* @global string the current language
+ * @global string the currect charset for MySQL
* @global integer the server to use (refers to the number in the
* configuration file)
* @global string the database name
@@ -210,7 +211,7 @@ if (!defined('PMA_DISPLAY_TBL_LIB_INCLUDED')){
*/
function PMA_displayTableNavigation($pos_next, $pos_prev, $encoded_query)
{
- global $lang, $server, $db, $table;
+ global $lang, $convcharset, $server, $db, $table;
global $goto;
global $num_rows, $unlim_num_rows, $pos, $session_max_rows;
global $disp_direction, $repeat_cells;
@@ -239,6 +240,7 @@ if (!defined('PMA_DISPLAY_TBL_LIB_INCLUDED')){
|