Git
Threads by month
- ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
July 2011
- 6 participants
- 320 discussions

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-12052-ge82682d
by Piotr Przybylski 27 Jul '11
by Piotr Przybylski 27 Jul '11
27 Jul '11
The branch, master has been updated
via e82682d0e4037d92305ad92cb5514e822e9a5abc (commit)
via b9ff7b7ce279391e5a2538c182ee0419e3456fa3 (commit)
via f43517efb525b8e4cfc387822308c206f32ba6ee (commit)
via 46cd0f9a09e3a3fd0f2bb3b9b018282390c4e813 (commit)
via b0ce7c20c4595a8a093177583cbdd5e15c6b6dca (commit)
via 69ac50958439cc32f4fa313ebb096d90b3a10746 (commit)
via 2141b5fe81d71d08524a11251a38fe5663b51ac7 (commit)
from f89a16ed81e111abd7cf55d506ec944b4697ba4e (commit)
- Log -----------------------------------------------------------------
commit e82682d0e4037d92305ad92cb5514e822e9a5abc
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 19:54:22 2011 +0200
Simplify PMA_DBI_free_result
It was never used with multiple arguments
commit b9ff7b7ce279391e5a2538c182ee0419e3456fa3
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 19:51:09 2011 +0200
Support persistent connections with mysqli extension (only PHP 5.3.0 and newer)
commit f43517efb525b8e4cfc387822308c206f32ba6ee
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 19:37:51 2011 +0200
mysql extension - remove 'persistent' parameter
Was named 'persistant' and never used/documented
commit 46cd0f9a09e3a3fd0f2bb3b9b018282390c4e813
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 19:01:15 2011 +0200
Comments
commit b0ce7c20c4595a8a093177583cbdd5e15c6b6dca
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 17:31:23 2011 +0200
Improve readability
commit 69ac50958439cc32f4fa313ebb096d90b3a10746
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 17:25:20 2011 +0200
This should be checked in common, not in dbi library
commit 2141b5fe81d71d08524a11251a38fe5663b51ac7
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Wed Jul 27 17:20:14 2011 +0200
Fix incorrect variable name
persistant > persistent
-----------------------------------------------------------------------
Summary of changes:
Documentation.html | 8 ++-
libraries/common.inc.php | 5 ++
libraries/dbi/mysql.dbi.lib.php | 97 ++++++++++++++++++--------
libraries/dbi/mysqli.dbi.lib.php | 139 ++++++++++++++++++++++----------------
4 files changed, 160 insertions(+), 89 deletions(-)
diff --git a/Documentation.html b/Documentation.html
index 33bfa85..26673cb 100644
--- a/Documentation.html
+++ b/Documentation.html
@@ -1391,8 +1391,12 @@ CREATE DATABASE,ALTER DATABASE,DROP DATABASE</pre>
is known to cause data corruption when having enabled buffering.</dd>
<dt id="cfg_PersistentConnections">$cfg['PersistentConnections'] boolean</dt>
- <dd>Whether persistent connections should be used or not (mysql_connect or
- mysql_pconnect).</dd>
+ <dd>Whether <a href="http://php.net/manual/en/features.persistent-connections.php">persistent connections</a>
+ should be used or not. Works with following extensions:
+ <ul>
+ <li>mysql (<a href="http://php.net/manual/en/function.mysql-pconnect.php">mysql_pconnect</a>),</li>
+ <li>mysqli (requires PHP 5.3.0 or newer, <a href="http://php.net/manual/en/mysqli.persistconns.php">more information</a>).</li>
+ </ul></dd>
<dt id="cfg_ForceSSL">$cfg['ForceSSL'] boolean</dt>
<dd>Whether to force using https while accessing phpMyAdmin.</dd>
diff --git a/libraries/common.inc.php b/libraries/common.inc.php
index 53cde17..2b2cf60 100644
--- a/libraries/common.inc.php
+++ b/libraries/common.inc.php
@@ -899,6 +899,11 @@ if (! defined('PMA_MINIMUM_COMMON')) {
unset($login_without_password_is_forbidden); //Clean up after you!
}
+ // if using TCP socket is not needed
+ if (strtolower($cfg['Server']['connect_type']) == 'tcp') {
+ $cfg['Server']['socket'] = '';
+ }
+
// Try to connect MySQL with the control user profile (will be used to
// get the privileges list for the current user but the true user link
// must be open after this one so it would be default one for all the
diff --git a/libraries/dbi/mysql.dbi.lib.php b/libraries/dbi/mysql.dbi.lib.php
index aa099eb..ed8a93a 100644
--- a/libraries/dbi/mysql.dbi.lib.php
+++ b/libraries/dbi/mysql.dbi.lib.php
@@ -20,18 +20,28 @@ if (! defined('PMA_MYSQL_CLIENT_API')) {
unset($client_api);
}
-function PMA_DBI_real_connect($server, $user, $password, $client_flags, $persistant=false)
+/**
+ * Helper function for connecting to the database server
+ *
+ * @param string $server
+ * @param string $user
+ * @param string $password
+ * @param int $client_flags
+ * @param boolean $persistent
+ * @return mixed false on error or a mysql connection resource on success
+ */
+function PMA_DBI_real_connect($server, $user, $password, $client_flags, $persistent = false)
{
global $cfg;
if (empty($client_flags)) {
- if ($cfg['PersistentConnections'] || $persistant) {
+ if ($cfg['PersistentConnections'] || $persistent) {
$link = @mysql_pconnect($server, $user, $password);
} else {
$link = @mysql_connect($server, $user, $password);
}
} else {
- if ($cfg['PersistentConnections'] || $persistant) {
+ if ($cfg['PersistentConnections'] || $persistent) {
$link = @mysql_pconnect($server, $user, $password, $client_flags);
} else {
$link = @mysql_connect($server, $user, $password, false, $client_flags);
@@ -40,11 +50,14 @@ function PMA_DBI_real_connect($server, $user, $password, $client_flags, $persist
return $link;
}
+
/**
+ * connects to the database server
+ *
* @param string $user mysql user name
* @param string $password mysql user password
* @param boolean $is_controluser
- * @param array $server host/port/socket/persistant
+ * @param array $server host/port/socket/persistent
* @param boolean $auxiliary_connection (when true, don't go back to login if connection fails)
* @return mixed false on error or a mysqli object on success
*/
@@ -59,9 +72,6 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
$server_socket = (empty($server['socket']))
? ''
: ':' . $server['socket'];
- $server_persistant = (empty($server['persistant']))
- ? false
- : true;
} else {
$server_port = (empty($cfg['Server']['port']))
? ''
@@ -71,10 +81,6 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
: ':' . $cfg['Server']['socket'];
}
- if (strtolower($cfg['Server']['connect_type']) == 'tcp') {
- $cfg['Server']['socket'] = '';
- }
-
$client_flags = 0;
// always use CLIENT_LOCAL_FILES as defined in mysql_com.h
@@ -101,9 +107,9 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
}
} else {
if (!isset($server['host'])) {
- $link = PMA_DBI_real_connect($server_socket, $user, $password, NULL, $server_persistant);
+ $link = PMA_DBI_real_connect($server_socket, $user, $password, NULL);
} else {
- $link = PMA_DBI_real_connect($server['host'] . $server_port . $server_socket, $user, $password, NULL, $server_persistant);
+ $link = PMA_DBI_real_connect($server['host'] . $server_port . $server_socket, $user, $password, NULL);
}
}
if (empty($link)) {
@@ -128,11 +134,11 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
}
/**
- * select a db
+ * selects given database
*
- * @param string $dbname name of db to select
- * @param resource $link mysql link resource
- * @return boolean success
+ * @param string $dbname name of db to select
+ * @param resource $link mysql link resource
+ * @return boolean
*/
function PMA_DBI_select_db($dbname, $link = null)
{
@@ -149,9 +155,9 @@ function PMA_DBI_select_db($dbname, $link = null)
/**
* runs a query and returns the result
*
- * @param string $query query to run
+ * @param string $query query to run
* @param resource $link mysql link resource
- * @param integer $options
+ * @param integer $options
* @return mixed
*/
function PMA_DBI_real_query($query, $link, $options)
@@ -165,15 +171,33 @@ function PMA_DBI_real_query($query, $link, $options)
}
}
+/**
+ * returns array of rows with associative and numeric keys from $result
+ *
+ * @param resource $result
+ * @return array
+ */
function PMA_DBI_fetch_array($result)
{
return mysql_fetch_array($result, MYSQL_BOTH);
}
+/**
+ * returns array of rows with associative keys from $result
+ *
+ * @param resource $result
+ * @return array
+ */
function PMA_DBI_fetch_assoc($result) {
return mysql_fetch_array($result, MYSQL_ASSOC);
}
+/**
+ * returns array of rows with numeric keys from $result
+ *
+ * @param resource $result
+ * @return array
+ */
function PMA_DBI_fetch_row($result)
{
return mysql_fetch_array($result, MYSQL_NUM);
@@ -192,17 +216,14 @@ function PMA_DBI_data_seek($result, $offset)
}
/**
- * Frees the memory associated with the results
+ * Frees memory associated with the result
*
- * @param result $result,... one or more mysql result resources
+ * @param resource $result
*/
-function PMA_DBI_free_result()
+function PMA_DBI_free_result($result)
{
- foreach (func_get_args() as $result) {
- if (is_resource($result)
- && get_resource_type($result) === 'mysql result') {
- mysql_free_result($result);
- }
+ if (is_resource($result) && get_resource_type($result) === 'mysql result') {
+ mysql_free_result($result);
}
}
@@ -337,6 +358,12 @@ function PMA_DBI_getError($link = null)
return $error;
}
+/**
+ * returns the number of rows returned by last query
+ *
+ * @param resource $result
+ * @return string|ineteger
+ */
function PMA_DBI_num_rows($result)
{
if (!is_bool($result)) {
@@ -346,6 +373,12 @@ function PMA_DBI_num_rows($result)
}
}
+/**
+ * returns last inserted auto_increment id for given $link or $GLOBALS['userlink']
+ *
+ * @param resource $link the mysql object
+ * @return string|ineteger
+ */
function PMA_DBI_insert_id($link = null)
{
if (empty($link)) {
@@ -366,9 +399,9 @@ function PMA_DBI_insert_id($link = null)
/**
* returns the number of rows affected by last query
*
- * @param object mysql $link the mysql object
- * @param boolean $get_from_cache
- * @return string integer
+ * @param resource $link the mysql object
+ * @param boolean $get_from_cache
+ * @return string|integer
*/
function PMA_DBI_affected_rows($link = null, $get_from_cache = true)
{
@@ -388,7 +421,11 @@ function PMA_DBI_affected_rows($link = null, $get_from_cache = true)
}
/**
+ * returns metainfo for fields in $result
+ *
* @todo add missing keys like in from mysqli_query (orgname, orgtable, flags, decimals)
+ * @param resource $result
+ * @return array meta info for fields in $result
*/
function PMA_DBI_get_fields_meta($result)
{
diff --git a/libraries/dbi/mysqli.dbi.lib.php b/libraries/dbi/mysqli.dbi.lib.php
index 0cd7c2f..535b825 100644
--- a/libraries/dbi/mysqli.dbi.lib.php
+++ b/libraries/dbi/mysqli.dbi.lib.php
@@ -44,6 +44,34 @@ if (! defined('MYSQLI_TYPE_BIT')) {
}
/**
+ * Helper function for connecting to the database server
+ *
+ * @param mysqli $link
+ * @param string $host
+ * @param string $user
+ * @param string $password
+ * @param string $dbname
+ * @param int $server_port
+ * @param string $server_socket
+ * @param int $client_flags
+ * @param boolean $persistent
+ * @return boolean
+ */
+function PMA_DBI_real_connect($link, $host, $user, $password, $dbname, $server_port, $server_socket, $client_flags = null, $persistent = false)
+{
+ global $cfg;
+
+ if ($cfg['PersistentConnections'] || $persistent) {
+ $host = 'p:' . $host;
+ }
+ if ($client_flags === null) {
+ return @mysqli_real_connect($link, $host, $user, $password, $dbname, $server_port, $server_socket);
+ } else {
+ return @mysqli_real_connect($link, $host, $user, $password, $dbname, $server_port, $server_socket, $client_flags);
+ }
+}
+
+/**
* connects to the database server
*
* @param string $user mysql user name
@@ -55,6 +83,8 @@ if (! defined('MYSQLI_TYPE_BIT')) {
*/
function PMA_DBI_connect($user, $password, $is_controluser = false, $server = null, $auxiliary_connection = false)
{
+ global $cfg;
+
if ($server) {
$server_port = (empty($server['port']))
? false
@@ -66,17 +96,12 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
? 'localhost'
: $server['host'];
} else {
- $server_port = (empty($GLOBALS['cfg']['Server']['port']))
+ $server_port = (empty($cfg['Server']['port']))
? false
- : (int) $GLOBALS['cfg']['Server']['port'];
- $server_socket = (empty($GLOBALS['cfg']['Server']['socket']))
+ : (int) $cfg['Server']['port'];
+ $server_socket = (empty($cfg['Server']['socket']))
? null
- : $GLOBALS['cfg']['Server']['socket'];
- }
-
-
- if (strtolower($GLOBALS['cfg']['Server']['connect_type']) == 'tcp') {
- $GLOBALS['cfg']['Server']['socket'] = '';
+ : $cfg['Server']['socket'];
}
// NULL enables connection to the default socket
@@ -88,23 +113,23 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
$client_flags = 0;
/* Optionally compress connection */
- if ($GLOBALS['cfg']['Server']['compress'] && defined('MYSQLI_CLIENT_COMPRESS')) {
+ if ($cfg['Server']['compress'] && defined('MYSQLI_CLIENT_COMPRESS')) {
$client_flags |= MYSQLI_CLIENT_COMPRESS;
}
/* Optionally enable SSL */
- if ($GLOBALS['cfg']['Server']['ssl'] && defined('MYSQLI_CLIENT_SSL')) {
+ if ($cfg['Server']['ssl'] && defined('MYSQLI_CLIENT_SSL')) {
$client_flags |= MYSQLI_CLIENT_SSL;
}
if (!$server) {
- $return_value = @mysqli_real_connect($link, $GLOBALS['cfg']['Server']['host'], $user, $password, false, $server_port, $server_socket, $client_flags);
+ $return_value = @PMA_DBI_real_connect($link, $cfg['Server']['host'], $user, $password, false, $server_port, $server_socket, $client_flags);
// Retry with empty password if we're allowed to
- if ($return_value == false && isset($GLOBALS['cfg']['Server']['nopassword']) && $GLOBALS['cfg']['Server']['nopassword'] && !$is_controluser) {
- $return_value = @mysqli_real_connect($link, $GLOBALS['cfg']['Server']['host'], $user, '', false, $server_port, $server_socket, $client_flags);
+ if ($return_value == false && isset($cfg['Server']['nopassword']) && $cfg['Server']['nopassword'] && !$is_controluser) {
+ $return_value = @PMA_DBI_real_connect($link, $cfg['Server']['host'], $user, '', false, $server_port, $server_socket, $client_flags);
}
} else {
- $return_value = @mysqli_real_connect($link, $server['host'], $user, $password, false, $server_port, $server_socket);
+ $return_value = @PMA_DBI_real_connect($link, $server['host'], $user, $password, false, $server_port, $server_socket);
}
if ($return_value == false) {
@@ -131,9 +156,9 @@ function PMA_DBI_connect($user, $password, $is_controluser = false, $server = nu
/**
* selects given database
*
- * @param string $dbname database name to select
- * @param object mysqli $link the mysqli object
- * @return boolean true or false
+ * @param string $dbname database name to select
+ * @param mysqli $link the mysqli object
+ * @return boolean
*/
function PMA_DBI_select_db($dbname, $link = null)
{
@@ -150,10 +175,10 @@ function PMA_DBI_select_db($dbname, $link = null)
/**
* runs a query and returns the result
*
- * @param string $query query to execute
- * @param object mysqli $link mysqli object
- * @param integer $options
- * @return mixed true, false or result object
+ * @param string $query query to execute
+ * @param mysqli $link mysqli object
+ * @param integer $options
+ * @return mysqli_result|boolean
*/
function PMA_DBI_real_query($query, $link, $options)
{
@@ -171,8 +196,8 @@ function PMA_DBI_real_query($query, $link, $options)
/**
* returns array of rows with associative and numeric keys from $result
*
- * @param object mysqli result $result
- * @return array result rows
+ * @param mysqli_result $result
+ * @return array
*/
function PMA_DBI_fetch_array($result)
{
@@ -182,8 +207,8 @@ function PMA_DBI_fetch_array($result)
/**
* returns array of rows with associative keys from $result
*
- * @param object mysqli result $result
- * @return array result rows
+ * @param mysqli_result $result
+ * @return array
*/
function PMA_DBI_fetch_assoc($result)
{
@@ -193,8 +218,8 @@ function PMA_DBI_fetch_assoc($result)
/**
* returns array of rows with numeric keys from $result
*
- * @param object mysqli result $result
- * @return array result rows
+ * @param mysqli_result $result
+ * @return array
*/
function PMA_DBI_fetch_row($result)
{
@@ -214,23 +239,21 @@ function PMA_DBI_data_seek($result, $offset)
}
/**
- * Frees the memory associated with the results
+ * Frees memory associated with the result
*
- * @param result $result,... one or more mysql result resources
+ * @param mysqli_result $result
*/
-function PMA_DBI_free_result()
+function PMA_DBI_free_result($result)
{
- foreach (func_get_args() as $result) {
- if ($result instanceof mysqli_result) {
- mysqli_free_result($result);
- }
+ if ($result instanceof mysqli_result) {
+ mysqli_free_result($result);
}
}
/**
* Check if there are any more query results from a multi query
*
- * @param object mysqli $link the mysqli object
+ * @param mysqli $link the mysqli object
* @return boolean true or false
*/
function PMA_DBI_more_results($link = null) {
@@ -247,7 +270,7 @@ function PMA_DBI_more_results($link = null) {
/**
* Prepare next result from multi_query
*
- * @param object mysqli $link the mysqli object
+ * @param mysqli $link the mysqli object
* @return boolean true or false
*/
function PMA_DBI_next_result($link = null) {
@@ -356,8 +379,10 @@ function PMA_DBI_getError($link = null)
}
/**
+ * returns the number of rows returned by last query
*
- * @param object mysqli result $result
+ * @param mysqli_result $result
+ * @return string|ineteger
*/
function PMA_DBI_num_rows($result)
{
@@ -372,10 +397,10 @@ function PMA_DBI_num_rows($result)
/**
* returns last inserted auto_increment id for given $link or $GLOBALS['userlink']
*
- * @param object mysqli $link the mysqli object
- * @return string ineteger
+ * @param mysqli $link the mysqli object
+ * @return string|ineteger
*/
-function PMA_DBI_insert_id($link = '')
+function PMA_DBI_insert_id($link = null)
{
if (empty($link)) {
if (isset($GLOBALS['userlink'])) {
@@ -396,9 +421,9 @@ function PMA_DBI_insert_id($link = '')
/**
* returns the number of rows affected by last query
*
- * @param object mysqli $link the mysqli object
- * @param boolean $get_from_cache
- * @return string integer
+ * @param mysqli $link the mysqli object
+ * @param boolean $get_from_cache
+ * @return string|integer
*/
function PMA_DBI_affected_rows($link = null, $get_from_cache = true)
{
@@ -420,8 +445,8 @@ function PMA_DBI_affected_rows($link = null, $get_from_cache = true)
* returns metainfo for fields in $result
*
* @todo preserve orignal flags value
- * @param object mysqli result $result
- * @return array meta info for fields in $result
+ * @param mysqli_result $result
+ * @return array meta info for fields in $result
*/
function PMA_DBI_get_fields_meta($result)
{
@@ -499,8 +524,8 @@ function PMA_DBI_get_fields_meta($result)
/**
* return number of fields in given $result
*
- * @param object mysqli result $result
- * @return integer field count
+ * @param mysqli_result $result
+ * @return integer field count
*/
function PMA_DBI_num_fields($result)
{
@@ -510,9 +535,9 @@ function PMA_DBI_num_fields($result)
/**
* returns the length of the given field $i in $result
*
- * @param object mysqli result $result
- * @param integer $i field
- * @return integer length of field
+ * @param mysqli_result $result
+ * @param integer $i field
+ * @return integer length of field
*/
function PMA_DBI_field_len($result, $i)
{
@@ -522,9 +547,9 @@ function PMA_DBI_field_len($result, $i)
/**
* returns name of $i. field in $result
*
- * @param object mysqli result $result
- * @param integer $i field
- * @return string name of $i. field in $result
+ * @param mysqli_result $result
+ * @param integer $i field
+ * @return string name of $i. field in $result
*/
function PMA_DBI_field_name($result, $i)
{
@@ -534,9 +559,9 @@ function PMA_DBI_field_name($result, $i)
/**
* returns concatenated string of human readable field flags
*
- * @param object mysqli result $result
- * @param integer $i field
- * @return string field flags
+ * @param mysqli_result $result
+ * @param integer $i field
+ * @return string field flags
*/
function PMA_DBI_field_flags($result, $i)
{
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-12045-gf89a16e
by Marc Delisle 27 Jul '11
by Marc Delisle 27 Jul '11
27 Jul '11
The branch, master has been updated
via f89a16ed81e111abd7cf55d506ec944b4697ba4e (commit)
via f45c4292c1eccbb10569e78219b2bb32eb139852 (commit)
via 5bd6aa27ad08983263baaaafeda39d474d8c919d (commit)
via 1635c5c0bce85d69b496a3ef03e075fa2042e413 (commit)
from ad4975b82d6beb67d78c0e64092ef29f98a257e3 (commit)
- Log -----------------------------------------------------------------
commit f89a16ed81e111abd7cf55d506ec944b4697ba4e
Merge: f45c4292c1eccbb10569e78219b2bb32eb139852 ad4975b82d6beb67d78c0e64092ef29f98a257e3
Author: Thilanka Kaushalya <lgtkaushalya(a)gmail.com>
Date: Wed Jul 27 19:57:08 2011 +0530
Merge branch 'master' of git://phpmyadmin.git.sourceforge.net/gitroot/phpmyadmin/phpmyadmin
commit f45c4292c1eccbb10569e78219b2bb32eb139852
Author: Thilanka Kaushalya <lgtkaushalya(a)gmail.com>
Date: Wed Jul 27 19:56:23 2011 +0530
included tbl change.js file to the tbl select.php file
commit 5bd6aa27ad08983263baaaafeda39d474d8c919d
Merge: 1635c5c0bce85d69b496a3ef03e075fa2042e413 489e8f128578972ba6b92bd05c7c7caae95a8bd4
Author: Thilanka Kaushalya <lgtkaushalya(a)gmail.com>
Date: Mon Jul 25 22:24:52 2011 +0530
Merge branch 'master' of git://phpmyadmin.git.sourceforge.net/gitroot/phpmyadmin/phpmyadmin
commit 1635c5c0bce85d69b496a3ef03e075fa2042e413
Author: Thilanka Kaushalya <lgtkaushalya(a)gmail.com>
Date: Mon Jul 25 22:22:13 2011 +0530
Ajaxify the Alter table order in Table operations
-----------------------------------------------------------------------
Summary of changes:
js/functions.js | 32 ++++++++++++++++++++++++++++++++
tbl_operations.php | 19 ++++++++++++++-----
tbl_select.php | 1 +
3 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/js/functions.js b/js/functions.js
index d7694f4..bbe00b5 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -1937,6 +1937,38 @@ $(document).ready(function() {
}, 'top.frame_content'); //end $(document).ready for 'Change Table'
/**
+ * jQuery coding for 'Table operations'. Used on tbl_operations.php
+ * Attach Ajax Event handlers for Table operations
+ */
+$(document).ready(function() {
+ /**
+ *Ajax action for submitting the "Alter table order by"
+ **/
+ $("#alterTableOrderby.ajax").live('submit', function(event) {
+ event.preventDefault();
+ $form = $(this);
+
+ PMA_prepareForAjaxRequest($form);
+ /*variables which stores the common attributes*/
+ $.post($form.attr('action'), $form.serialize()+"&submitorderby=Go", function(data) {
+ if ($("#sqlqueryresults").length != 0) {
+ $("#sqlqueryresults").remove();
+ }
+ if (data.success == true) {
+ PMA_ajaxShowMessage(data.message);
+ $("<div id='sqlqueryresults'></div>").insertAfter("#topmenucontainer");
+ $("#sqlqueryresults").html(data.sql_query);
+ $("#result_query .notice").remove();
+ $("#result_query").prepend((data.message));
+ } else {
+ PMA_ajaxShowMessage(data.error);
+ }
+ }) // end $.post()
+ });//end of alterTableOrderby ajax submit
+}, 'top.frame_content'); //end $(document).ready for 'Table operations'
+
+
+/**
* Attach Ajax event handlers for Drop Database. Moved here from db_structure.js
* as it was also required on db_create.php
*
diff --git a/tbl_operations.php b/tbl_operations.php
index 11021ba..3481fd1 100644
--- a/tbl_operations.php
+++ b/tbl_operations.php
@@ -216,25 +216,34 @@ if ($reread_info) {
unset($reread_info);
/**
- * Displays top menu links
+ * Displays top menu links in non ajax requests
*/
-require_once './libraries/tbl_links.inc.php';
-
+if (!isset($_REQUEST['ajax_request'])) {
+ require_once './libraries/tbl_links.inc.php';
+}
if (isset($result) && empty($message_to_show)) {
// set to success by default, because result set could be empty
// (for example, a table rename)
$_type = 'success';
if (empty($_message)) {
- $_message = $result ? __('Your SQL query has been executed successfully') : __('Error');
+ $_message = $result ? $message = PMA_Message::success(__('Your SQL query has been executed successfully')) : PMA_Message::error(__('Error'));
// $result should exist, regardless of $_message
$_type = $result ? 'success' : 'error';
+ if ( $GLOBALS['is_ajax_request'] == true) {
+ $extra_data['sql_query'] = PMA_showMessage(NULL, $sql_query);
+ PMA_ajaxResponse($_message,$_message->isSuccess() ,$extra_data);
+ }
}
if (! empty($warning_messages)) {
$_message = new PMA_Message;
$_message->addMessages($warning_messages);
$_message->isError(true);
+ if ( $GLOBALS['is_ajax_request'] == true) {
+ PMA_ajaxResponse($_message, false);
+ }
unset($warning_messages);
}
+
PMA_showMessage($_message, $sql_query, $_type);
unset($_message, $_type);
}
@@ -258,7 +267,7 @@ unset($local_query);
?>
<!-- Order the table -->
<div class="operations_half_width">
-<form method="post" action="tbl_operations.php">
+<form method="post" id="alterTableOrderby" action="tbl_operations.php" <?php echo ($GLOBALS['cfg']['AjaxEnable'] ? ' class="ajax"' : '');?>>
<?php echo PMA_generate_common_hidden_inputs($GLOBALS['db'], $GLOBALS['table']); ?>
<fieldset id="fieldset_table_order">
<legend><?php echo __('Alter table order by'); ?></legend>
diff --git a/tbl_select.php b/tbl_select.php
index 52e8b93..c6b0a35 100644
--- a/tbl_select.php
+++ b/tbl_select.php
@@ -19,6 +19,7 @@ require_once './libraries/mysql_charsets.lib.php';
$GLOBALS['js_include'][] = 'makegrid.js';
$GLOBALS['js_include'][] = 'sql.js';
$GLOBALS['js_include'][] = 'tbl_select.js';
+$GLOBALS['js_include'][] = 'tbl_change.js';
$GLOBALS['js_include'][] = 'jquery/jquery-ui-1.8.custom.js';
$GLOBALS['js_include'][] = 'jquery/timepicker.js';
if ($GLOBALS['cfg']['PropertiesIconic'] == true) {
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-12041-gad4975b
by Rouslan Placella 26 Jul '11
by Rouslan Placella 26 Jul '11
26 Jul '11
The branch, master has been updated
via ad4975b82d6beb67d78c0e64092ef29f98a257e3 (commit)
via 402a832e93192a043b79bc379ff5be80a93a8da1 (commit)
via 871aaa9b641714af2137de5d67c137c8017580bd (commit)
via cc99e0405536b2d886897c269a4877c05ba156f9 (commit)
from 9525cac85cb206f6ab6da2f56f85e613f17b601b (commit)
- Log -----------------------------------------------------------------
commit ad4975b82d6beb67d78c0e64092ef29f98a257e3
Merge: 9525cac85cb206f6ab6da2f56f85e613f17b601b 402a832e93192a043b79bc379ff5be80a93a8da1
Author: Rouslan Placella <rouslan(a)placella.com>
Date: Tue Jul 26 14:39:20 2011 +0100
Merge branch 'QA_3_4'
Conflicts:
ChangeLog
Documentation.html
README
libraries/Config.class.php
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
themes/pmahomme/css/theme_left.css.php | 15 +++++++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 49a5b64..9f3c162 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -42,6 +42,7 @@ phpMyAdmin - ChangeLog
+ AJAX for table Structure column Add
3.4.5.0 (not yet released)
+- bug #3375325 [interface] Page list in navigation frame looks odd
3.4.4.0 (not yet released)
- bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes
diff --git a/themes/pmahomme/css/theme_left.css.php b/themes/pmahomme/css/theme_left.css.php
index 89a7efb..8ed6707 100644
--- a/themes/pmahomme/css/theme_left.css.php
+++ b/themes/pmahomme/css/theme_left.css.php
@@ -141,15 +141,22 @@ ul#databaseList span {
}
ul#databaseList a {
+ color: #333;
+ background: url(./themes/pmahomme/img/database.png) no-repeat 0% 50% transparent;
display: block;
- padding:5px;
+ padding: 5px;
font-style: normal;
}
+div#navidbpageselector {
+ margin: 0.1em;
+ text-align: center;
+}
+
div#navidbpageselector a,
-ul#databaseList a {
- background:url(./themes/pmahomme/img/database.png) no-repeat 0% 50% transparent;
- color: #333;
+div#navidbpageselector select{
+ color: #333;
+ margin: 0.2em;
}
ul#databaseList ul {
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, QA_3_4, updated. RELEASE_3_4_3_1-57-g402a832
by Rouslan Placella 26 Jul '11
by Rouslan Placella 26 Jul '11
26 Jul '11
The branch, QA_3_4 has been updated
via 402a832e93192a043b79bc379ff5be80a93a8da1 (commit)
from 871aaa9b641714af2137de5d67c137c8017580bd (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 1 +
themes/pmahomme/css/theme_left.css.php | 15 +++++++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 03daef0..5b02857 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@ phpMyAdmin - ChangeLog
======================
3.4.5.0 (not yet released)
+- bug #3375325 [interface] Page list in navigation frame looks odd
3.4.4.0 (not yet released)
- bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes
diff --git a/themes/pmahomme/css/theme_left.css.php b/themes/pmahomme/css/theme_left.css.php
index 467e70a..990feeb 100644
--- a/themes/pmahomme/css/theme_left.css.php
+++ b/themes/pmahomme/css/theme_left.css.php
@@ -113,15 +113,22 @@ ul#databaseList span {
}
ul#databaseList a {
+ color: #333;
+ background: url(./themes/pmahomme/img/database.png) no-repeat 0% 50% transparent;
display: block;
- padding:5px;
+ padding: 5px;
font-style: normal;
}
+div#navidbpageselector {
+ margin: 0.1em;
+ text-align: center;
+}
+
div#navidbpageselector a,
-ul#databaseList a {
- background:url(./themes/pmahomme/img/database.png) no-repeat 0% 50% transparent;
- color: #333;
+div#navidbpageselector select{
+ color: #333;
+ margin: 0.2em;
}
ul#databaseList ul {
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-12037-g9525cac
by Michal Čihař 26 Jul '11
by Michal Čihař 26 Jul '11
26 Jul '11
The branch, master has been updated
via 9525cac85cb206f6ab6da2f56f85e613f17b601b (commit)
from c50d21541bd80f8870ebb5f4ceedbb81a1d4aabe (commit)
- Log -----------------------------------------------------------------
commit 9525cac85cb206f6ab6da2f56f85e613f17b601b
Author: Michal Čihař <michal(a)cihar.com>
Date: Tue Jul 26 07:21:27 2011 +0200
Update CodeMirror to 2.12
-----------------------------------------------------------------------
Summary of changes:
js/codemirror/lib/codemirror.js | 421 ++++++++++++++++++++++++---------------
1 files changed, 265 insertions(+), 156 deletions(-)
diff --git a/js/codemirror/lib/codemirror.js b/js/codemirror/lib/codemirror.js
index 844c54a..27bec72 100644
--- a/js/codemirror/lib/codemirror.js
+++ b/js/codemirror/lib/codemirror.js
@@ -21,7 +21,7 @@ var CodeMirror = (function() {
wrapper.innerHTML =
'<div style="overflow: hidden; position: relative; width: 1px; height: 0px;">' + // Wraps and hides input textarea
'<textarea style="position: absolute; width: 2px;" wrap="off"></textarea></div>' +
- '<div class="CodeMirror-scroll">' +
+ '<div class="CodeMirror-scroll cm-s-' + options.theme + '">' +
'<div style="position: relative">' + // Set to the height of the text, causes scrolling
'<div style="position: absolute; height: 0; width: 0; overflow: hidden;"></div>' +
'<div style="position: relative">' + // Moved around its parent to cover visible view
@@ -72,19 +72,17 @@ var CodeMirror = (function() {
var editing, bracketHighlighted;
// Tracks the maximum line length so that the horizontal scrollbar
// can be kept static when scrolling.
- var maxLine = "";
+ var maxLine = "", maxWidth;
- // Initialize the content. Somewhat hacky (delayed prepareInput)
- // to work around browser issues.
+ // Initialize the content.
operation(function(){setValue(options.value || ""); updateInput = false;})();
- setTimeout(prepareInput, 20);
// Register our event handlers.
connect(scroller, "mousedown", operation(onMouseDown));
// Gecko browsers fire contextmenu *after* opening the menu, at
// which point we can't mess with it anymore. Context menu is
// handled in onMouseDown for Gecko.
- if (!gecko) connect(scroller, "contextmenu", operation(onContextMenu));
+ if (!gecko) connect(scroller, "contextmenu", onContextMenu);
connect(code, "dblclick", operation(onDblClick));
connect(scroller, "scroll", function() {updateDisplay([]); if (options.onScroll) options.onScroll(instance);});
connect(window, "resize", function() {updateDisplay(true);});
@@ -94,8 +92,8 @@ var CodeMirror = (function() {
connect(input, "focus", onFocus);
connect(input, "blur", onBlur);
- connect(scroller, "dragenter", function(e){e.stop();});
- connect(scroller, "dragover", function(e){e.stop();});
+ connect(scroller, "dragenter", e_stop);
+ connect(scroller, "dragover", e_stop);
connect(scroller, "drop", operation(onDrop));
connect(scroller, "paste", function(){focusInput(); fastPoll();});
connect(input, "paste", function(){fastPoll();});
@@ -104,7 +102,7 @@ var CodeMirror = (function() {
// IE throws unspecified error in certain cases, when
// trying to access activeElement before onload
var hasFocus; try { hasFocus = (targetDocument.activeElement == input); } catch(e) { }
- if (hasFocus) onFocus();
+ if (hasFocus) setTimeout(onFocus, 20);
else onBlur();
function isLine(l) {return l >= 0 && l < lines.length;}
@@ -124,6 +122,7 @@ var CodeMirror = (function() {
if (option == "lineNumbers" || option == "gutter") gutterChanged();
else if (option == "mode" || option == "indentUnit") loadMode();
else if (option == "readOnly" && value == "nocursor") input.blur();
+ else if (option == "theme") scroller.className = scroller.className.replace(/cm-s-\w+/, "cm-s-" + value);
},
getOption: function(option) {return options[option];},
undo: operation(undo),
@@ -135,6 +134,10 @@ var CodeMirror = (function() {
pos = clipPos(pos);
return lines[pos.line].getTokenAt(mode, getStateBefore(pos.line), pos.ch);
},
+ getStateAfter: function(line) {
+ line = clipLine(line == null ? lines.length - 1: line);
+ return getStateBefore(line + 1);
+ },
cursorCoords: function(start){
if (start == null) start = sel.inverted;
return pageCoords(start ? sel.from : sel.to);
@@ -151,13 +154,25 @@ var CodeMirror = (function() {
clearMarker: removeGutterMarker,
setLineClass: operation(setLineClass),
lineInfo: lineInfo,
- addWidget: function(pos, node, scroll) {
- var pos = localCoords(clipPos(pos), true);
- node.style.top = (showingFrom * lineHeight() + pos.yBot + paddingTop()) + "px";
- node.style.left = (pos.x + paddingLeft()) + "px";
+ addWidget: function(pos, node, scroll, where) {
+ pos = localCoords(clipPos(pos));
+ var top = pos.yBot, left = pos.x;
+ node.style.position = "absolute";
code.appendChild(node);
+ node.style.left = left + "px";
+ if (where == "over") top = pos.y;
+ else if (where == "near") {
+ var vspace = Math.max(scroller.offsetHeight, lines.length * lineHeight()),
+ hspace = Math.max(code.clientWidth, lineSpace.clientWidth) - paddingLeft();
+ if (pos.yBot + node.offsetHeight > vspace && pos.y > node.offsetHeight)
+ top = pos.y - node.offsetHeight;
+ if (left + node.offsetWidth > hspace)
+ left = hspace - node.offsetWidth;
+ }
+ node.style.top = (top + paddingTop()) + "px";
+ node.style.left = (left + paddingLeft()) + "px";
if (scroll)
- scrollIntoView(pos.x, pos.yBot, pos.x + node.offsetWidth, pos.yBot + node.offsetHeight);
+ scrollIntoView(left, top, left + node.offsetWidth, top + node.offsetHeight);
},
lineCount: function() {return lines.length;},
@@ -184,7 +199,8 @@ var CodeMirror = (function() {
operation: function(f){return operation(f)();},
refresh: function(){updateDisplay(true);},
getInputField: function(){return input;},
- getWrapperElement: function(){return wrapper;}
+ getWrapperElement: function(){return wrapper;},
+ getScrollerElement: function(){return scroller;}
};
function setValue(code) {
@@ -202,28 +218,39 @@ var CodeMirror = (function() {
}
function onMouseDown(e) {
+ // Check whether this is a click in a widget
+ for (var n = e_target(e); n != wrapper; n = n.parentNode)
+ if (n.parentNode == code && n != mover) return;
var ld = lastDoubleClick; lastDoubleClick = null;
// First, see if this is a click in the gutter
- for (var n = e.target(); n != wrapper; n = n.parentNode)
+ for (var n = e_target(e); n != wrapper; n = n.parentNode)
if (n.parentNode == gutterText) {
if (options.onGutterClick)
options.onGutterClick(instance, indexOf(gutterText.childNodes, n) + showingFrom);
- return e.stop();
+ return e_preventDefault(e);
}
- if (gecko && e.button() == 3) onContextMenu(e);
- if (e.button() != 1) return;
+ var start = posFromMouse(e);
+
+ switch (e_button(e)) {
+ case 3:
+ if (gecko && !mac) onContextMenu(e);
+ return;
+ case 2:
+ if (start) setCursor(start.line, start.ch, true);
+ return;
+ }
// For button 1, if it was clicked inside the editor
// (posFromMouse returning non-null), we have to adjust the
// selection.
- var start = posFromMouse(e), last = start, going;
- if (!start) {if (e.target() == scroller) e.stop(); return;}
+ if (!start) {if (e_target(e) == scroller) e_preventDefault(e); return;}
if (!focused) onFocus();
- e.stop();
+ e_preventDefault(e);
if (ld && +new Date - ld < 400) return selectLine(start.line);
setCursor(start.line, start.ch, true);
+ var last = start, going;
// And then we have to see if it's a drag event, in which case
// the dragged-over text must be selected.
function end() {
@@ -246,14 +273,14 @@ var CodeMirror = (function() {
var move = connect(targetDocument, "mousemove", operation(function(e) {
clearTimeout(going);
- e.stop();
+ e_preventDefault(e);
extend(e);
}), true);
var up = connect(targetDocument, "mouseup", operation(function(e) {
clearTimeout(going);
var cur = posFromMouse(e);
if (cur) setSelectionUser(start, cur);
- e.stop();
+ e_preventDefault(e);
end();
}), true);
}
@@ -261,15 +288,14 @@ var CodeMirror = (function() {
var pos = posFromMouse(e);
if (!pos) return;
selectWordAt(pos);
- e.stop();
+ e_preventDefault(e);
lastDoubleClick = +new Date;
}
function onDrop(e) {
- var pos = posFromMouse(e, true), files = e.e.dataTransfer.files;
+ e.preventDefault();
+ var pos = posFromMouse(e, true), files = e.dataTransfer.files;
if (!pos || options.readOnly) return;
if (files && files.length && window.FileReader && window.File) {
- var n = files.length, text = Array(n), read = 0;
- for (var i = 0; i < n; ++i) loadFile(files[i], i);
function loadFile(file, i) {
var reader = new FileReader;
reader.onload = function() {
@@ -278,10 +304,12 @@ var CodeMirror = (function() {
};
reader.readAsText(file);
}
+ var n = files.length, text = Array(n), read = 0;
+ for (var i = 0; i < n; ++i) loadFile(files[i], i);
}
else {
try {
- var text = e.e.dataTransfer.getData("Text");
+ var text = e.dataTransfer.getData("Text");
if (text) replaceRange(text, pos, pos);
}
catch(e){}
@@ -290,25 +318,27 @@ var CodeMirror = (function() {
function onKeyDown(e) {
if (!focused) onFocus();
- var code = e.e.keyCode;
+ var code = e.keyCode;
+ // IE does strange things with escape.
+ if (ie && code == 27) { e.returnValue = false; }
// Tries to detect ctrl on non-mac, cmd on mac.
- var mod = (mac ? e.e.metaKey : e.e.ctrlKey) && !e.e.altKey, anyMod = e.e.ctrlKey || e.e.altKey || e.e.metaKey;
- if (code == 16 || e.e.shiftKey) shiftSelecting = shiftSelecting || (sel.inverted ? sel.to : sel.from);
+ var mod = (mac ? e.metaKey : e.ctrlKey) && !e.altKey, anyMod = e.ctrlKey || e.altKey || e.metaKey;
+ if (code == 16 || e.shiftKey) shiftSelecting = shiftSelecting || (sel.inverted ? sel.to : sel.from);
else shiftSelecting = null;
// First give onKeyEvent option a chance to handle this.
- if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e.e))) return;
+ if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return;
- if (code == 33 || code == 34) {scrollPage(code == 34); return e.stop();} // page up/down
+ if (code == 33 || code == 34) {scrollPage(code == 34); return e_preventDefault(e);} // page up/down
if (mod && ((code == 36 || code == 35) || // ctrl-home/end
mac && (code == 38 || code == 40))) { // cmd-up/down
- scrollEnd(code == 36 || code == 38); return e.stop();
+ scrollEnd(code == 36 || code == 38); return e_preventDefault(e);
}
- if (mod && code == 65) {selectAll(); return e.stop();} // ctrl-a
+ if (mod && code == 65) {selectAll(); return e_preventDefault(e);} // ctrl-a
if (!options.readOnly) {
if (!anyMod && code == 13) {return;} // enter
- if (!anyMod && code == 9 && handleTab(e.e.shiftKey)) return e.stop(); // tab
- if (mod && code == 90) {undo(); return e.stop();} // ctrl-z
- if (mod && ((e.e.shiftKey && code == 90) || code == 89)) {redo(); return e.stop();} // ctrl-shift-z, ctrl-y
+ if (!anyMod && code == 9 && handleTab(e.shiftKey)) return e_preventDefault(e); // tab
+ if (mod && code == 90) {undo(); return e_preventDefault(e);} // ctrl-z
+ if (mod && ((e.shiftKey && code == 90) || code == 89)) {redo(); return e_preventDefault(e);} // ctrl-shift-z, ctrl-y
}
// Key id to use in the movementKeys map. We also pass it to
@@ -328,42 +358,47 @@ var CodeMirror = (function() {
fastPoll(curKeyId);
}
function onKeyUp(e) {
- if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e.e))) return;
+ if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return;
if (reducedSelection) {
reducedSelection = null;
updateInput = true;
}
- if (e.e.keyCode == 16) shiftSelecting = null;
+ if (e.keyCode == 16) shiftSelecting = null;
}
function onKeyPress(e) {
- if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e.e))) return;
+ if (options.onKeyEvent && options.onKeyEvent(instance, addStop(e))) return;
if (options.electricChars && mode.electricChars) {
- var ch = String.fromCharCode(e.e.charCode == null ? e.e.keyCode : e.e.charCode);
+ var ch = String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode);
if (mode.electricChars.indexOf(ch) > -1)
setTimeout(operation(function() {indentLine(sel.to.line, "smart");}), 50);
}
- var code = e.e.keyCode;
+ var code = e.keyCode;
// Re-stop tab and enter. Necessary on some browsers.
- if (code == 13) {if (!options.readOnly) handleEnter(); e.stop();}
- else if (!e.e.ctrlKey && !e.e.altKey && !e.e.metaKey && code == 9 && options.tabMode != "default") e.stop();
+ if (code == 13) {if (!options.readOnly) handleEnter(); e_preventDefault(e);}
+ else if (!e.ctrlKey && !e.altKey && !e.metaKey && code == 9 && options.tabMode != "default") e_preventDefault(e);
else fastPoll(curKeyId);
}
function onFocus() {
if (options.readOnly == "nocursor") return;
- if (!focused && options.onFocus) options.onFocus(instance);
- focused = true;
+ if (!focused) {
+ if (options.onFocus) options.onFocus(instance);
+ focused = true;
+ if (wrapper.className.search(/\bCodeMirror-focused\b/) == -1)
+ wrapper.className += " CodeMirror-focused";
+ if (!leaveInputAlone) prepareInput();
+ }
slowPoll();
- if (wrapper.className.search(/\bCodeMirror-focused\b/) == -1)
- wrapper.className += " CodeMirror-focused";
restartBlink();
}
function onBlur() {
- if (focused && options.onBlur) options.onBlur(instance);
+ if (focused) {
+ if (options.onBlur) options.onBlur(instance);
+ focused = false;
+ wrapper.className = wrapper.className.replace(" CodeMirror-focused", "");
+ }
clearInterval(blinker);
- shiftSelecting = null;
- focused = false;
- wrapper.className = wrapper.className.replace(" CodeMirror-focused", "");
+ setTimeout(function() {if (!focused) shiftSelecting = null;}, 150);
}
// Replace the range from from to to by the strings in newText.
@@ -386,6 +421,7 @@ var CodeMirror = (function() {
var pos = clipPos({line: change.start + change.old.length - 1,
ch: editEnd(replaced[replaced.length-1], change.old[change.old.length-1])});
updateLinesNoUndo({line: change.start, ch: 0}, {line: end - 1, ch: lines[end-1].text.length}, change.old, pos, pos);
+ updateInput = true;
}
}
function undo() {unredoHelper(history.done, history.undone);}
@@ -393,7 +429,7 @@ var CodeMirror = (function() {
function updateLinesNoUndo(from, to, newText, selFrom, selTo) {
var recomputeMaxLength = false, maxLineLength = maxLine.length;
- for (var i = from.line; i < to.line; ++i) {
+ for (var i = from.line; i <= to.line; ++i) {
if (lines[i].text.length == maxLineLength) {recomputeMaxLength = true; break;}
}
@@ -427,12 +463,12 @@ var CodeMirror = (function() {
for (var i = from.line, e = i + newText.length; i < e; ++i) {
var l = lines[i].text;
if (l.length > maxLineLength) {
- maxLine = l; maxLineLength = l.length;
+ maxLine = l; maxLineLength = l.length; maxWidth = null;
recomputeMaxLength = false;
}
}
if (recomputeMaxLength) {
- maxLineLength = 0;
+ maxLineLength = 0; maxLine = ""; maxWidth = null;
for (var i = 0, e = lines.length; i < e; ++i) {
var l = lines[i].text;
if (l.length > maxLineLength) {
@@ -449,7 +485,12 @@ var CodeMirror = (function() {
if (task < from.line) newWork.push(task);
else if (task > to.line) newWork.push(task + lendiff);
}
- if (newText.length) newWork.push(from.line);
+ if (newText.length < 5) {
+ highlightLines(from.line, from.line + newText.length);
+ newWork.push(from.line + newText.length);
+ } else {
+ newWork.push(from.line);
+ }
work = newWork;
startWorker(100);
// Remember that these lines changed, for updating the display
@@ -537,7 +578,7 @@ var CodeMirror = (function() {
// to the data in the editing variable, and updates the editor
// content or cursor if something changed.
function readInput() {
- if (leaveInputAlone) return;
+ if (leaveInputAlone || !focused) return;
var changed = false, text = input.value, sr = selRange(input);
if (!sr) return false;
var changed = editing.text != text, rs = reducedSelection;
@@ -565,13 +606,10 @@ var CodeMirror = (function() {
// so that you can, for example, press shift-up at the start of
// your selection and have the right thing happen.
if (rs) {
- from = sr.start == rs.anchor ? to : from;
- to = shiftSelecting ? sel.to : sr.start == rs.anchor ? from : to;
- if (!posLess(from, to)) {
- reducedSelection = null;
- sel.inverted = false;
- var tmp = from; from = to; to = tmp;
- }
+ var head = sr.start == rs.anchor ? to : from;
+ var tail = shiftSelecting ? sel.to : sr.start == rs.anchor ? from : to;
+ if (sel.inverted = posLess(head, tail)) { from = head; to = tail; }
+ else { reducedSelection = null; from = tail; to = head; }
}
// In some cases (cursor on same line as before), we don't have
@@ -591,8 +629,8 @@ var CodeMirror = (function() {
var ch = nl > -1 ? start - nl : start, endline = editing.to - 1, edend = editing.text.length;
for (;;) {
c = editing.text.charAt(edend);
- if (c == "\n") endline--;
if (text.charAt(end) != c) {++end; ++edend; break;}
+ if (c == "\n") endline--;
if (edend <= start || end <= start) break;
--end; --edend;
}
@@ -731,8 +769,15 @@ var CodeMirror = (function() {
updateGutter();
}
- var textWidth = stringWidth(maxLine);
- lineSpace.style.width = textWidth > scroller.clientWidth ? textWidth + "px" : "";
+ if (maxWidth == null) maxWidth = stringWidth(maxLine);
+ if (maxWidth > scroller.clientWidth) {
+ lineSpace.style.width = maxWidth + "px";
+ // Needed to prevent odd wrapping/hiding of widgets placed in here.
+ code.style.width = "";
+ code.style.width = scroller.scrollWidth + "px";
+ } else {
+ lineSpace.style.width = code.style.width = "";
+ }
// Since this is all rather error prone, it is honoured with the
// only assertion in the whole file.
@@ -807,7 +852,7 @@ var CodeMirror = (function() {
var hText = mover.offsetHeight, hEditor = scroller.clientHeight;
gutter.style.height = (hText - hEditor < 2 ? hEditor : hText) + "px";
var html = [];
- for (var i = showingFrom; i < showingTo; ++i) {
+ for (var i = showingFrom; i < Math.max(showingTo, showingFrom + 1); ++i) {
var marker = lines[i].gutterMarker;
var text = options.lineNumbers ? i + options.firstLineNumber : null;
if (marker && marker.text)
@@ -850,10 +895,9 @@ var CodeMirror = (function() {
if (posEq(sel.from, from) && posEq(sel.to, to)) return;
if (posLess(to, from)) {var tmp = to; to = from; from = tmp;}
- var startEq = posEq(sel.to, to), endEq = posEq(sel.from, from);
if (posEq(from, to)) sel.inverted = false;
- else if (startEq && !endEq) sel.inverted = true;
- else if (endEq && !startEq) sel.inverted = false;
+ else if (posEq(from, sel.to)) sel.inverted = false;
+ else if (posEq(to, sel.from)) sel.inverted = true;
// Some ugly logic used to only mark the lines that actually did
// see a change in selection as changed, rather than the whole
@@ -926,12 +970,17 @@ var CodeMirror = (function() {
indentLine(sel.from.line, options.enterMode == "keep" ? "prev" : "smart");
}
function handleTab(shift) {
+ function indentSelected(mode) {
+ if (posEq(sel.from, sel.to)) return indentLine(sel.from.line, mode);
+ var e = sel.to.line - (sel.to.ch ? 0 : 1);
+ for (var i = sel.from.line; i <= e; ++i) indentLine(i, mode);
+ }
shiftSelecting = null;
switch (options.tabMode) {
case "default":
return false;
case "indent":
- for (var i = sel.from.line, e = sel.to.line; i <= e; ++i) indentLine(i, "smart");
+ indentSelected("smart");
break;
case "classic":
if (posEq(sel.from, sel.to)) {
@@ -940,7 +989,7 @@ var CodeMirror = (function() {
break;
}
case "shift":
- for (var i = sel.from.line, e = sel.to.line; i <= e; ++i) indentLine(i, shift ? "subtract" : "add");
+ indentSelected(shift ? "subtract" : "add");
break;
}
return true;
@@ -1121,7 +1170,9 @@ var CodeMirror = (function() {
function paddingLeft() {return lineSpace.offsetLeft;}
function posFromMouse(e, liberal) {
- var offW = eltOffset(scroller, true), x = e.e.clientX, y = e.e.clientY;
+ var offW = eltOffset(scroller, true), x, y;
+ // Fails unpredictably on IE[67] when mouse is dragged around quickly.
+ try { x = e.clientX; y = e.clientY; } catch (e) { return null; }
// This is a mess of a heuristic to try and determine whether a
// scroll-bar was clicked or not, and to return null if one was
// (and !liberal).
@@ -1135,18 +1186,21 @@ var CodeMirror = (function() {
var pos = posFromMouse(e);
if (!pos || window.opera) return; // Opera is difficult.
if (posEq(sel.from, sel.to) || posLess(pos, sel.from) || !posLess(pos, sel.to))
- setCursor(pos.line, pos.ch);
+ operation(setCursor)(pos.line, pos.ch);
var oldCSS = input.style.cssText;
- input.style.cssText = "position: fixed; width: 30px; height: 30px; top: " + (e.pageY() - 1) +
- "px; left: " + (e.pageX() - 1) + "px; z-index: 1000; background: white; " +
- "border-width: 0; outline: none; overflow: hidden;";
+ inputDiv.style.position = "absolute";
+ input.style.cssText = "position: fixed; width: 30px; height: 30px; top: " + (e_pageY(e) - 1) +
+ "px; left: " + (e_pageX(e) - 1) + "px; z-index: 1000; background: white; " +
+ "border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";
+ leaveInputAlone = true;
var val = input.value = getSelection();
focusInput();
setSelRange(input, 0, input.value.length);
- leaveInputAlone = true;
function rehide() {
- if (input.value != val) operation(replaceSelection)(input.value, "end");
+ var newVal = splitLines(input.value).join("\n");
+ if (newVal != val) operation(replaceSelection)(newVal, "end");
+ inputDiv.style.position = "relative";
input.style.cssText = oldCSS;
leaveInputAlone = false;
prepareInput();
@@ -1154,7 +1208,7 @@ var CodeMirror = (function() {
}
if (gecko) {
- e.stop()
+ e_stop(e);
var mouseup = connect(window, "mouseup", function() {
mouseup();
setTimeout(rehide, 20);
@@ -1201,19 +1255,20 @@ var CodeMirror = (function() {
}
}
}
- for (var i = head.line, e = forward ? Math.min(i + 50, lines.length) : Math.max(-1, i - 50); i != e; i+=d) {
+ for (var i = head.line, e = forward ? Math.min(i + 100, lines.length) : Math.max(-1, i - 100); i != e; i+=d) {
var line = lines[i], first = i == head.line;
var found = scan(line, first && forward ? pos + 1 : 0, first && !forward ? pos : line.text.length);
- if (found) {
- var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket";
- var one = markText({line: head.line, ch: pos}, {line: head.line, ch: pos+1}, style),
- two = markText({line: i, ch: found.pos}, {line: i, ch: found.pos + 1}, style);
- var clear = operation(function(){one(); two();});
- if (autoclear) setTimeout(clear, 800);
- else bracketHighlighted = clear;
- break;
- }
+ if (found) break;
}
+ if (!found) found = {pos: null, match: false};
+ var style = found.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket";
+ var one = markText({line: head.line, ch: pos}, {line: head.line, ch: pos+1}, style),
+ two = found.pos != null
+ ? markText({line: i, ch: found.pos}, {line: i, ch: found.pos + 1}, style)
+ : function() {};
+ var clear = operation(function(){one(); two();});
+ if (autoclear) setTimeout(clear, 800);
+ else bracketHighlighted = clear;
}
// Finds the line to start with when starting a parse. Tries to
@@ -1244,38 +1299,49 @@ var CodeMirror = (function() {
line.highlight(mode, state);
line.stateAfter = copyState(mode, state);
}
- if (!lines[n].stateAfter) work.push(n);
+ if (n < lines.length && !lines[n].stateAfter) work.push(n);
return state;
}
+ function highlightLines(start, end) {
+ var state = getStateBefore(start);
+ for (var i = start; i < end; ++i) {
+ var line = lines[i];
+ line.highlight(mode, state);
+ line.stateAfter = copyState(mode, state);
+ }
+ }
function highlightWorker() {
var end = +new Date + options.workTime;
- var didSomething = false;
+ var foundWork = work.length;
while (work.length) {
if (!lines[showingFrom].stateAfter) var task = showingFrom;
else var task = work.pop();
if (task >= lines.length) continue;
- didSomething = true;
var start = findStartLine(task), state = start && lines[start-1].stateAfter;
if (state) state = copyState(mode, state);
else state = startState(mode);
- var unchanged = 0;
+ var unchanged = 0, compare = mode.compareStates;
for (var i = start, l = lines.length; i < l; ++i) {
var line = lines[i], hadState = line.stateAfter;
if (+new Date > end) {
work.push(i);
startWorker(options.workDelay);
- changes.push({from: task, to: i});
+ changes.push({from: task, to: i + 1});
return;
}
var changed = line.highlight(mode, state);
line.stateAfter = copyState(mode, state);
- if (changed || !hadState) unchanged = 0;
- else if (++unchanged > 3) break;
+ if (compare) {
+ if (hadState && compare(hadState, state)) break;
+ } else {
+ if (changed || !hadState) unchanged = 0;
+ else if (++unchanged > 3) break;
+ }
}
- changes.push({from: task, to: i});
+ changes.push({from: task, to: i + 1});
}
- if (didSomething && options.onHighlightComplete)
+ if (foundWork && options.onHighlightComplete)
options.onHighlightComplete(instance);
}
function startWorker(time) {
@@ -1300,7 +1366,8 @@ var CodeMirror = (function() {
// updateInput can be set to a boolean value to force/prevent an
// update.
- if (!leaveInputAlone && (updateInput === true || (updateInput !== false && selectionChanged)))
+ if (focused && !leaveInputAlone &&
+ (updateInput === true || (updateInput !== false && selectionChanged)))
prepareInput();
if (selectionChanged && options.matchBrackets)
@@ -1427,9 +1494,21 @@ var CodeMirror = (function() {
},
from: function() {if (this.atOccurrence) return copyPos(this.pos.from);},
- to: function() {if (this.atOccurrence) return copyPos(this.pos.to);}
+ to: function() {if (this.atOccurrence) return copyPos(this.pos.to);},
+
+ replace: function(newText) {
+ var self = this;
+ if (this.atOccurrence)
+ operation(function() {
+ self.pos.to = replaceRange(newText, self.pos.from, self.pos.to);
+ })();
+ }
};
+ for (var ext in extensions)
+ if (extensions.propertyIsEnumerable(ext) &&
+ !instance.propertyIsEnumerable(ext))
+ instance[ext] = extensions[ext];
return instance;
} // (end of function CodeMirror)
@@ -1437,6 +1516,7 @@ var CodeMirror = (function() {
CodeMirror.defaults = {
value: "",
mode: null,
+ theme: "default",
indentUnit: 2,
indentWithTabs: false,
tabMode: "classic",
@@ -1482,7 +1562,7 @@ var CodeMirror = (function() {
return CodeMirror.getMode(options, "text/plain");
}
return mfactory(options, config || {});
- }
+ };
CodeMirror.listModes = function() {
var list = [];
for (var m in modes)
@@ -1496,6 +1576,11 @@ var CodeMirror = (function() {
return list;
};
+ var extensions = {};
+ CodeMirror.defineExtension = function(name, func) {
+ extensions[name] = func;
+ };
+
CodeMirror.fromTextArea = function(textarea, options) {
if (!options) options = {};
options.value = textarea.value;
@@ -1727,7 +1812,7 @@ var CodeMirror = (function() {
var str = st[i], l = str.length;
if (ch + l > len) str = str.slice(0, len - ch);
ch += l;
- span(str, st[i+1]);
+ span(str, "cm-" + st[i+1]);
}
else {
var pos = 0, i = 0, text = "", style, sg = 0;
@@ -1759,12 +1844,12 @@ var CodeMirror = (function() {
}
for (;;) {
var end = pos + text.length;
- var apliedStyle = style;
- if (extraStyle) apliedStyle = style ? style + extraStyle : extraStyle;
- span(end > upto ? text.slice(0, upto - pos) : text, apliedStyle);
+ var appliedStyle = style;
+ if (extraStyle) appliedStyle = style ? style + extraStyle : extraStyle;
+ span(end > upto ? text.slice(0, upto - pos) : text, appliedStyle);
if (end >= upto) {text = text.slice(upto - pos); pos = upto; break;}
pos = end;
- text = st[i++]; style = st[i++];
+ text = st[i++]; style = "cm-" + st[i++];
}
}
if (sfrom != null && sto == null) span(" ", "CodeMirror-selected");
@@ -1822,44 +1907,44 @@ var CodeMirror = (function() {
}
};
- // Event stopping compatibility wrapper.
- function stopEvent() {
- if (this.preventDefault) {this.preventDefault(); this.stopPropagation();}
- else {this.returnValue = false; this.cancelBubble = true;}
- }
+ function stopMethod() {e_stop(this);}
// Ensure an event has a stop method.
function addStop(event) {
- if (!event.stop) event.stop = stopEvent;
+ if (!event.stop) event.stop = stopMethod;
return event;
}
- // Event wrapper, exposing the few operations we need.
- function Event(orig) {this.e = orig;}
- Event.prototype = {
- stop: function() {stopEvent.call(this.e);},
- target: function() {return this.e.target || this.e.srcElement;},
- button: function() {
- if (this.e.which) return this.e.which;
- else if (this.e.button & 1) return 1;
- else if (this.e.button & 2) return 3;
- else if (this.e.button & 4) return 2;
- },
- pageX: function() {
- if (this.e.pageX != null) return this.e.pageX;
- var doc = this.target().ownerDocument;
- return this.e.clientX + doc.body.scrollLeft + doc.documentElement.scrollLeft;
- },
- pageY: function() {
- if (this.e.pageY != null) return this.e.pageY;
- var doc = this.target().ownerDocument;
- return this.e.clientY + doc.body.scrollTop + doc.documentElement.scrollTop;
- }
- };
+ function e_preventDefault(e) {
+ if (e.preventDefault) e.preventDefault();
+ else e.returnValue = false;
+ }
+ function e_stopPropagation(e) {
+ if (e.stopPropagation) e.stopPropagation();
+ else e.cancelBubble = true;
+ }
+ function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}
+ function e_target(e) {return e.target || e.srcElement;}
+ function e_button(e) {
+ if (e.which) return e.which;
+ else if (e.button & 1) return 1;
+ else if (e.button & 2) return 3;
+ else if (e.button & 4) return 2;
+ }
+ function e_pageX(e) {
+ if (e.pageX != null) return e.pageX;
+ var doc = e_target(e).ownerDocument;
+ return e.clientX + doc.body.scrollLeft + doc.documentElement.scrollLeft;
+ }
+ function e_pageY(e) {
+ if (e.pageY != null) return e.pageY;
+ var doc = e_target(e).ownerDocument;
+ return e.clientY + doc.body.scrollTop + doc.documentElement.scrollTop;
+ }
// Event handler registration. If disconnect is true, it'll return a
// function that unregisters the handler.
function connect(node, type, handler, disconnect) {
- function wrapHandler(event) {handler(new Event(event || window.event));}
+ function wrapHandler(event) {handler(event || window.event);}
if (typeof node.addEventListener == "function") {
node.addEventListener(type, wrapHandler, false);
if (disconnect) return function() {node.removeEventListener(type, wrapHandler, false);};
@@ -1881,6 +1966,8 @@ var CodeMirror = (function() {
})();
var gecko = /gecko\/\d{7}/i.test(navigator.userAgent);
+ var ie = /MSIE \d/.test(navigator.userAgent);
+ var safari = /Apple Computer/.test(navigator.vendor);
var lineSep = "\n";
// Feature-detect whether newlines in textareas are converted to \r\n
@@ -1910,17 +1997,21 @@ var CodeMirror = (function() {
return n;
}
+ function computedStyle(elt) {
+ if (elt.currentStyle) return elt.currentStyle;
+ return window.getComputedStyle(elt, null);
+ }
// Find the position of an element by following the offsetParent chain.
// If screen==true, it returns screen (rather than page) coordinates.
function eltOffset(node, screen) {
var doc = node.ownerDocument.body;
- var x = 0, y = 0, hitDoc = false;
+ var x = 0, y = 0, skipDoc = false;
for (var n = node; n; n = n.offsetParent) {
x += n.offsetLeft; y += n.offsetTop;
- // Fixed-position elements don't have the document in their offset chain
- if (n == doc) hitDoc = true;
+ if (screen && computedStyle(n).position == "fixed")
+ skipDoc = true;
}
- var e = screen && hitDoc ? null : doc;
+ var e = screen && !skipDoc ? null : doc;
for (var n = node.parentNode; n != e; n = n.parentNode)
if (n.scrollLeft != null) { x -= n.scrollLeft; y -= n.scrollTop;}
return {left: x, top: y};
@@ -1935,10 +2026,10 @@ var CodeMirror = (function() {
function posLess(a, b) {return a.line < b.line || (a.line == b.line && a.ch < b.ch);}
function copyPos(x) {return {line: x.line, ch: x.ch};}
+ var escapeElement = document.createElement("div");
function htmlEscape(str) {
- return str.replace(/[<>&]/g, function(str) {
- return str == "&" ? "&" : str == "<" ? "<" : ">";
- });
+ escapeElement.innerText = escapeElement.textContent = str;
+ return escapeElement.innerHTML;
}
CodeMirror.htmlEscape = htmlEscape;
@@ -1961,8 +2052,9 @@ var CodeMirror = (function() {
// See if "".split is the broken IE version, if so, provide an
// alternative way to split lines.
+ var splitLines, selRange, setSelRange;
if ("\n\nb".split(/\n/).length != 3)
- var splitLines = function(string) {
+ splitLines = function(string) {
var pos = 0, nl, result = [];
while ((nl = string.indexOf("\n", pos)) > -1) {
result.push(string.slice(pos, string.charAt(nl-1) == "\r" ? nl - 1 : nl));
@@ -1972,23 +2064,39 @@ var CodeMirror = (function() {
return result;
};
else
- var splitLines = function(string){return string.split(/\r?\n/);};
+ splitLines = function(string){return string.split(/\r?\n/);};
CodeMirror.splitLines = splitLines;
// Sane model of finding and setting the selection in a textarea
if (window.getSelection) {
- var selRange = function(te) {
+ selRange = function(te) {
try {return {start: te.selectionStart, end: te.selectionEnd};}
catch(e) {return null;}
};
- var setSelRange = function(te, start, end) {
- try {te.setSelectionRange(start, end);}
- catch(e) {} // Fails on Firefox when textarea isn't part of the document
- };
+ if (safari)
+ // On Safari, selection set with setSelectionRange are in a sort
+ // of limbo wrt their anchor. If you press shift-left in them,
+ // the anchor is put at the end, and the selection expanded to
+ // the left. If you press shift-right, the anchor ends up at the
+ // front. This is not what CodeMirror wants, so it does a
+ // spurious modify() call to get out of limbo.
+ setSelRange = function(te, start, end) {
+ if (start == end)
+ te.setSelectionRange(start, end);
+ else {
+ te.setSelectionRange(start, end - 1);
+ window.getSelection().modify("extend", "forward", "character");
+ }
+ };
+ else
+ setSelRange = function(te, start, end) {
+ try {te.setSelectionRange(start, end);}
+ catch(e) {} // Fails on Firefox when textarea isn't part of the document
+ };
}
// IE model. Don't ask.
else {
- var selRange = function(te) {
+ selRange = function(te) {
try {var range = te.ownerDocument.selection.createRange();}
catch(e) {return null;}
if (!range || range.parentElement() != te) return null;
@@ -2010,7 +2118,7 @@ var CodeMirror = (function() {
for (var i = val.indexOf("\r"); i > -1 && i < end; i = val.indexOf("\r", i+1), end++) {}
return {start: start, end: end};
};
- var setSelRange = function(te, start, end) {
+ setSelRange = function(te, start, end) {
var range = te.createTextRange();
range.collapse(true);
var endrange = range.duplicate();
@@ -2032,4 +2140,5 @@ var CodeMirror = (function() {
CodeMirror.defineMIME("text/plain", "null");
return CodeMirror;
-})();
+})()
+;
\ No newline at end of file
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-12036-gc50d215
by Michal Čihař 25 Jul '11
by Michal Čihař 25 Jul '11
25 Jul '11
The branch, master has been updated
via c50d21541bd80f8870ebb5f4ceedbb81a1d4aabe (commit)
via 1ef456176905bafe20b0af69631176f22535d5c9 (commit)
via d3eece0801d7ce4526dc62afcd5474cfb4504c30 (commit)
via e6aec890e1e93b5d7d91b2085ab83ed096b691f2 (commit)
via fddf190ebf6020a46e08436e4ec9bf22f429a320 (commit)
via 358fe9e2db16171c374e58195080ef4fd1e3f5e9 (commit)
via 73582711a80f8e073b450c29e8ccea716043db60 (commit)
via e78d4c654519495fe229e53c6d15488b26d47b7e (commit)
via 3e580b3becedb94c20634e3dccfdea13b0ee1fb6 (commit)
via c8491c893d6035602c26ecc86461b1b5f90b35dc (commit)
via 5299f56eb025c66685e28275d0c2d30ce7bce851 (commit)
via a4a1ce2f5e6a1391947f9f6c4c0010516c8f209d (commit)
via 48f422999ed34554762588e2082482d1f1b9db9a (commit)
via f275902987ae09373eebe61e5ce67ad39cf36ea3 (commit)
via a0965208b1e1663f3309dc7b8ff2865cb11f9b17 (commit)
via 214b0ea88bc47273c3bc98baefe061e5efb1d170 (commit)
via 00045629a6fc841366ae8a10b10da630c547ceca (commit)
via a169ff7fd3b0865354462b8fdcd39e526f7e2af2 (commit)
via d9e28cf01451f947f96a7ec01d8ded9787df0bba (commit)
via 668a6dc1e5783679b21c5a3f31dd3e2e389cfecc (commit)
via 48bde78cb7d3e91f07034e9d48e6d21b822c47dc (commit)
via 234ca374755206c89bf3f0ad17eff467f188d902 (commit)
via 9f2d6bab5103988018a85c846f2239902a7b91d8 (commit)
via 12959427cbb9ce5f3f724be2a4f72de1fc7a874c (commit)
via 8a39a3aa989d00a940dbb90fb16b0501f28719ce (commit)
via b775a76e0b184648568ffbaaf6f8e6829459aa4b (commit)
via 95f37ff17488a0e8761ebea185c0d864346244f2 (commit)
via 971df4e38ff87132ad06b0efffcb7e12d322a0d7 (commit)
via aa2b9e54a5a61bb96b90d5b1777daa43f99e37fa (commit)
via 52b4191708b8a0daa663f5bfe5a7da781c46a8aa (commit)
via ac270ab375440d83a5549887b57be4746ed75ecb (commit)
via eab22c4d9692711bd67c891718501e687df49bfb (commit)
via a97f57764c88f513a07e9008da01ec3598f507e0 (commit)
via b91d97715453950f850f26e7fc887f7842c2149c (commit)
via 6bd934e46899d89f08950c047290fc96d76fe6cd (commit)
via 060d1d60288a28854fadf389ec616c9df03ba0d8 (commit)
via 64ac597231aa767f3c3288654a5308ac00e1c607 (commit)
via 0dd0ff8792e77de5a7fb5e5f23087a3a5686c5eb (commit)
via b344843bd6516072bdd60e8227c61c472900f2af (commit)
via a9bcef0371e1e80018700eb2b88f47dad7c807fd (commit)
via 0ea0a4b23b0a323fdd62e828ca6c5b706cb76915 (commit)
via 6e015e53dacda51bcc5f138079b059e2f00a5e2d (commit)
via 370c8809a13d1b0895c8796ff7b7cc9967ff5062 (commit)
via 9563a82a591d1d6bb60a1e281d617bc76d6dc587 (commit)
via c3ff2ed1ce96960c8310c136d2d56a19a4f3b129 (commit)
via 75f3be7cc68bb23fdd8cff6b1f3cb7626ad5d085 (commit)
via a2198f247757f579ec862d594839a2f27c1e8fad (commit)
via 6f9f391e4eeee0ca34cb8509f270a8c1a2f063e5 (commit)
via d1e220a9009ad070add65c6017ac3f65ed2ab198 (commit)
via 6f091f7642316406f1d83f62efb494b7adc8f24e (commit)
via 937367b306b55485897b7fe480a0c0f488937510 (commit)
via ba8d55b7969180821cb00099db25c74392d5d867 (commit)
via 91d033a5cda7e20e9111b3fc3c0898397fb7b9fc (commit)
via 90bcacd9dbf66849a5fb35f7accdee85731bb730 (commit)
via e14a647ff77867559031f4670fe73813b5494b0e (commit)
via c453d79bb4172857c1f6ac9e82b61ee76e058124 (commit)
via 2824ac988a799a137a050d7c57dcee013f1a4836 (commit)
via 524835414f5454b6955f2a6bdc17c093f45ca7b7 (commit)
via c56b99a0b7e147eb7ab69cf02aab44c672a5856a (commit)
via ffadf44ec6c10c4b6678450ff80e2d95b4dc6bb0 (commit)
via 397e8625ad3021af14de5dd05202fee4654296c8 (commit)
via 609d79d23d974d48d7e433ce779d8ef64cf0ff4f (commit)
via f8b27b066f656fde0aafb8143c801f3f9a8ce3e7 (commit)
via 4459881dbc45d87542cb72a2cb501747d65044c4 (commit)
via 61de5389092ee2e38f2e711b9950d7106a58ab6d (commit)
via 3ed32ed18a54d280a8b758f6d4b1f0a10e3f00b6 (commit)
via 31736e2a503c6628f9d42b1c888b70622b900654 (commit)
via 95734c71d548aae9ff0daa6182e0b3de38a60b50 (commit)
via 239c3630f51c3335ef0a9ed58c5bcaeedb14a5ab (commit)
via 57897e8f3cdaeb1c8eaf4cd661a62cf136379feb (commit)
via 066319039dc60e2fc728091d80e3f18b53de6d9a (commit)
via ebe14a205b603bd25d13fdea699e1773c6aecc07 (commit)
via 4755a531109db609ba6ab42a90d298ba72f6d4a5 (commit)
via b8916c5268eb2b042bb258d27767041907182e58 (commit)
via 23a4462633413e09a5bf0f8fa6b50b2f7bbd01e9 (commit)
via 2ffffc458c2fd984f5cdb959606ff5cbc00941ef (commit)
via 78cde1464430b733e3ed9f714982a46562af9d58 (commit)
via 7b074df0a08190deed4e14791cae9e5bd1b390e0 (commit)
via 73874434c769b17bc921249c5a6cb9f3528488b2 (commit)
via 962724424f695aba114c7e3c1191aa58a97e3e1c (commit)
via 4207d1d2aef9946a48220d6f92633a660f96573a (commit)
via c7b42c1edccc5580f407f2074bec2887cfa74fca (commit)
via 8a8a2193911288f242ea25e6ecc90573f5c86756 (commit)
via cd73f932a15088514164929290a268900cdad94e (commit)
via 004bfe9d8e214529905c2d9748fd60347bb6de7d (commit)
via b8445f72e10394cd26498a6ce0603f1f0b9fc28e (commit)
via f90e2bd1ef7dae30fc9050146ae3d82c895ed522 (commit)
via b5bdc5f564937fb6ca1baf4ba079dc5b3dfa7e2c (commit)
via b7e8ad42af6bc0e749fca928bd09bd191e8b428f (commit)
via 6fe2817cc97cd443df50f44b0c3be73d0dee1bbf (commit)
via 20b639aaab820e14b1fcb0bd55590d21dd277465 (commit)
via a1f5e871264a994ba827d33f6a52f889d94f5856 (commit)
via 7bed10b649dc8b331f55c1a47ed7a9697de69dc3 (commit)
via 0d70e08ac25086fbfc2bb56ce2094d6822a36bd3 (commit)
from 489e8f128578972ba6b92bd05c7c7caae95a8bd4 (commit)
- Log -----------------------------------------------------------------
commit c50d21541bd80f8870ebb5f4ceedbb81a1d4aabe
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:07:25 2011 +0200
Translation update done using Pootle.
commit 1ef456176905bafe20b0af69631176f22535d5c9
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:06:23 2011 +0200
Translation update done using Pootle.
commit d3eece0801d7ce4526dc62afcd5474cfb4504c30
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:05:58 2011 +0200
Translation update done using Pootle.
commit e6aec890e1e93b5d7d91b2085ab83ed096b691f2
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:05:39 2011 +0200
Translation update done using Pootle.
commit fddf190ebf6020a46e08436e4ec9bf22f429a320
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:05:29 2011 +0200
Translation update done using Pootle.
commit 358fe9e2db16171c374e58195080ef4fd1e3f5e9
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:05:21 2011 +0200
Translation update done using Pootle.
commit 73582711a80f8e073b450c29e8ccea716043db60
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:05:03 2011 +0200
Translation update done using Pootle.
commit e78d4c654519495fe229e53c6d15488b26d47b7e
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:04:49 2011 +0200
Translation update done using Pootle.
commit 3e580b3becedb94c20634e3dccfdea13b0ee1fb6
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:04:05 2011 +0200
Translation update done using Pootle.
commit c8491c893d6035602c26ecc86461b1b5f90b35dc
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:03:16 2011 +0200
Translation update done using Pootle.
commit 5299f56eb025c66685e28275d0c2d30ce7bce851
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:00:37 2011 +0200
Translation update done using Pootle.
commit a4a1ce2f5e6a1391947f9f6c4c0010516c8f209d
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 22:00:14 2011 +0200
Translation update done using Pootle.
commit 48f422999ed34554762588e2082482d1f1b9db9a
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:59:42 2011 +0200
Translation update done using Pootle.
commit f275902987ae09373eebe61e5ce67ad39cf36ea3
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:59:10 2011 +0200
Translation update done using Pootle.
commit a0965208b1e1663f3309dc7b8ff2865cb11f9b17
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:56:35 2011 +0200
Translation update done using Pootle.
commit 214b0ea88bc47273c3bc98baefe061e5efb1d170
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:56:01 2011 +0200
Translation update done using Pootle.
commit 00045629a6fc841366ae8a10b10da630c547ceca
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:55:26 2011 +0200
Translation update done using Pootle.
commit a169ff7fd3b0865354462b8fdcd39e526f7e2af2
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:55:11 2011 +0200
Translation update done using Pootle.
commit d9e28cf01451f947f96a7ec01d8ded9787df0bba
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:55:00 2011 +0200
Translation update done using Pootle.
commit 668a6dc1e5783679b21c5a3f31dd3e2e389cfecc
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:54:40 2011 +0200
Translation update done using Pootle.
commit 48bde78cb7d3e91f07034e9d48e6d21b822c47dc
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:54:26 2011 +0200
Translation update done using Pootle.
commit 234ca374755206c89bf3f0ad17eff467f188d902
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:54:19 2011 +0200
Translation update done using Pootle.
commit 9f2d6bab5103988018a85c846f2239902a7b91d8
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:54:09 2011 +0200
Translation update done using Pootle.
commit 12959427cbb9ce5f3f724be2a4f72de1fc7a874c
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:54:02 2011 +0200
Translation update done using Pootle.
commit 8a39a3aa989d00a940dbb90fb16b0501f28719ce
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:53:33 2011 +0200
Translation update done using Pootle.
commit b775a76e0b184648568ffbaaf6f8e6829459aa4b
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:53:01 2011 +0200
Translation update done using Pootle.
commit 95f37ff17488a0e8761ebea185c0d864346244f2
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:52:40 2011 +0200
Translation update done using Pootle.
commit 971df4e38ff87132ad06b0efffcb7e12d322a0d7
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:52:16 2011 +0200
Translation update done using Pootle.
commit aa2b9e54a5a61bb96b90d5b1777daa43f99e37fa
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:51:32 2011 +0200
Translation update done using Pootle.
commit 52b4191708b8a0daa663f5bfe5a7da781c46a8aa
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:50:26 2011 +0200
Translation update done using Pootle.
commit ac270ab375440d83a5549887b57be4746ed75ecb
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:49:38 2011 +0200
Translation update done using Pootle.
commit eab22c4d9692711bd67c891718501e687df49bfb
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:48:35 2011 +0200
Translation update done using Pootle.
commit a97f57764c88f513a07e9008da01ec3598f507e0
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:48:19 2011 +0200
Translation update done using Pootle.
commit b91d97715453950f850f26e7fc887f7842c2149c
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:48:08 2011 +0200
Translation update done using Pootle.
commit 6bd934e46899d89f08950c047290fc96d76fe6cd
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:45:48 2011 +0200
Translation update done using Pootle.
commit 060d1d60288a28854fadf389ec616c9df03ba0d8
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:45:21 2011 +0200
Translation update done using Pootle.
commit 64ac597231aa767f3c3288654a5308ac00e1c607
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:44:21 2011 +0200
Translation update done using Pootle.
commit 0dd0ff8792e77de5a7fb5e5f23087a3a5686c5eb
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:44:04 2011 +0200
Translation update done using Pootle.
commit b344843bd6516072bdd60e8227c61c472900f2af
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:42:33 2011 +0200
Translation update done using Pootle.
commit a9bcef0371e1e80018700eb2b88f47dad7c807fd
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:41:58 2011 +0200
Translation update done using Pootle.
commit 0ea0a4b23b0a323fdd62e828ca6c5b706cb76915
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:41:06 2011 +0200
Translation update done using Pootle.
commit 6e015e53dacda51bcc5f138079b059e2f00a5e2d
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:40:11 2011 +0200
Translation update done using Pootle.
commit 370c8809a13d1b0895c8796ff7b7cc9967ff5062
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:40:01 2011 +0200
Translation update done using Pootle.
commit 9563a82a591d1d6bb60a1e281d617bc76d6dc587
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:39:31 2011 +0200
Translation update done using Pootle.
commit c3ff2ed1ce96960c8310c136d2d56a19a4f3b129
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:39:04 2011 +0200
Translation update done using Pootle.
commit 75f3be7cc68bb23fdd8cff6b1f3cb7626ad5d085
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:38:43 2011 +0200
Translation update done using Pootle.
commit a2198f247757f579ec862d594839a2f27c1e8fad
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:38:25 2011 +0200
Translation update done using Pootle.
commit 6f9f391e4eeee0ca34cb8509f270a8c1a2f063e5
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:38:05 2011 +0200
Translation update done using Pootle.
commit d1e220a9009ad070add65c6017ac3f65ed2ab198
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:37:34 2011 +0200
Translation update done using Pootle.
commit 6f091f7642316406f1d83f62efb494b7adc8f24e
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:37:05 2011 +0200
Translation update done using Pootle.
commit 937367b306b55485897b7fe480a0c0f488937510
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:36:47 2011 +0200
Translation update done using Pootle.
commit ba8d55b7969180821cb00099db25c74392d5d867
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:36:21 2011 +0200
Translation update done using Pootle.
commit 91d033a5cda7e20e9111b3fc3c0898397fb7b9fc
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:35:41 2011 +0200
Translation update done using Pootle.
commit 90bcacd9dbf66849a5fb35f7accdee85731bb730
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:35:14 2011 +0200
Translation update done using Pootle.
commit e14a647ff77867559031f4670fe73813b5494b0e
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:34:58 2011 +0200
Translation update done using Pootle.
commit c453d79bb4172857c1f6ac9e82b61ee76e058124
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:34:41 2011 +0200
Translation update done using Pootle.
commit 2824ac988a799a137a050d7c57dcee013f1a4836
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:29:28 2011 +0200
Translation update done using Pootle.
commit 524835414f5454b6955f2a6bdc17c093f45ca7b7
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:29:12 2011 +0200
Translation update done using Pootle.
commit c56b99a0b7e147eb7ab69cf02aab44c672a5856a
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:13:51 2011 +0200
Translation update done using Pootle.
commit ffadf44ec6c10c4b6678450ff80e2d95b4dc6bb0
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:12:38 2011 +0200
Translation update done using Pootle.
commit 397e8625ad3021af14de5dd05202fee4654296c8
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:12:22 2011 +0200
Translation update done using Pootle.
commit 609d79d23d974d48d7e433ce779d8ef64cf0ff4f
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:11:08 2011 +0200
Translation update done using Pootle.
commit f8b27b066f656fde0aafb8143c801f3f9a8ce3e7
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:10:02 2011 +0200
Translation update done using Pootle.
commit 4459881dbc45d87542cb72a2cb501747d65044c4
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:09:45 2011 +0200
Translation update done using Pootle.
commit 61de5389092ee2e38f2e711b9950d7106a58ab6d
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:08:57 2011 +0200
Translation update done using Pootle.
commit 3ed32ed18a54d280a8b758f6d4b1f0a10e3f00b6
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:08:00 2011 +0200
Translation update done using Pootle.
commit 31736e2a503c6628f9d42b1c888b70622b900654
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:07:13 2011 +0200
Translation update done using Pootle.
commit 95734c71d548aae9ff0daa6182e0b3de38a60b50
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:06:47 2011 +0200
Translation update done using Pootle.
commit 239c3630f51c3335ef0a9ed58c5bcaeedb14a5ab
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:06:32 2011 +0200
Translation update done using Pootle.
commit 57897e8f3cdaeb1c8eaf4cd661a62cf136379feb
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:06:06 2011 +0200
Translation update done using Pootle.
commit 066319039dc60e2fc728091d80e3f18b53de6d9a
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:05:50 2011 +0200
Translation update done using Pootle.
commit ebe14a205b603bd25d13fdea699e1773c6aecc07
Author: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>
Date: Mon Jul 25 21:05:11 2011 +0200
Translation update done using Pootle.
commit 4755a531109db609ba6ab42a90d298ba72f6d4a5
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 19:31:30 2011 +0200
Translation update done using Pootle.
commit b8916c5268eb2b042bb258d27767041907182e58
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 19:30:25 2011 +0200
Translation update done using Pootle.
commit 23a4462633413e09a5bf0f8fa6b50b2f7bbd01e9
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 19:02:47 2011 +0200
Translation update done using Pootle.
commit 2ffffc458c2fd984f5cdb959606ff5cbc00941ef
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:59:50 2011 +0200
Translation update done using Pootle.
commit 78cde1464430b733e3ed9f714982a46562af9d58
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:57:22 2011 +0200
Translation update done using Pootle.
commit 7b074df0a08190deed4e14791cae9e5bd1b390e0
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:57:07 2011 +0200
Translation update done using Pootle.
commit 73874434c769b17bc921249c5a6cb9f3528488b2
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:56:42 2011 +0200
Translation update done using Pootle.
commit 962724424f695aba114c7e3c1191aa58a97e3e1c
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:56:29 2011 +0200
Translation update done using Pootle.
commit 4207d1d2aef9946a48220d6f92633a660f96573a
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:55:29 2011 +0200
Translation update done using Pootle.
commit c7b42c1edccc5580f407f2074bec2887cfa74fca
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:55:21 2011 +0200
Translation update done using Pootle.
commit 8a8a2193911288f242ea25e6ecc90573f5c86756
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:55:07 2011 +0200
Translation update done using Pootle.
commit cd73f932a15088514164929290a268900cdad94e
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:54:37 2011 +0200
Translation update done using Pootle.
commit 004bfe9d8e214529905c2d9748fd60347bb6de7d
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:54:08 2011 +0200
Translation update done using Pootle.
commit b8445f72e10394cd26498a6ce0603f1f0b9fc28e
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:52:03 2011 +0200
Translation update done using Pootle.
commit f90e2bd1ef7dae30fc9050146ae3d82c895ed522
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:51:29 2011 +0200
Translation update done using Pootle.
commit b5bdc5f564937fb6ca1baf4ba079dc5b3dfa7e2c
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:50:18 2011 +0200
Translation update done using Pootle.
commit b7e8ad42af6bc0e749fca928bd09bd191e8b428f
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:50:07 2011 +0200
Translation update done using Pootle.
commit 6fe2817cc97cd443df50f44b0c3be73d0dee1bbf
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:49:49 2011 +0200
Translation update done using Pootle.
commit 20b639aaab820e14b1fcb0bd55590d21dd277465
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:49:44 2011 +0200
Translation update done using Pootle.
commit a1f5e871264a994ba827d33f6a52f889d94f5856
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:43:41 2011 +0200
Translation update done using Pootle.
commit 7bed10b649dc8b331f55c1a47ed7a9697de69dc3
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:43:35 2011 +0200
Translation update done using Pootle.
commit 0d70e08ac25086fbfc2bb56ce2094d6822a36bd3
Author: Burak Yavuz <hitowerdigit(a)hotmail.com>
Date: Mon Jul 25 18:43:23 2011 +0200
Translation update done using Pootle.
-----------------------------------------------------------------------
Summary of changes:
po/ar.po | 144 +++++++++++++++++++++++++++----------------------------------
po/tr.po | 56 ++++++++++--------------
2 files changed, 87 insertions(+), 113 deletions(-)
diff --git a/po/ar.po b/po/ar.po
index 1dc63b5..39cf4de 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-07-25 11:36+0200\n"
-"PO-Revision-Date: 2011-07-09 03:43+0200\n"
+"PO-Revision-Date: 2011-07-25 22:07+0200\n"
"Last-Translator: Abdullah Al-Saedi <abdullah.10(a)windowslive.com>\n"
"Language-Team: arabic <ar(a)li.org>\n"
"Language: ar\n"
@@ -1122,15 +1122,14 @@ msgstr "اتصالات / عمليات"
#. l10n: Questions is the name of a MySQL Status variable
#: js/messages.php:87
-#, fuzzy
#| msgid "Connections since last refresh"
msgid "Questions since last refresh"
-msgstr "الإتصالات منذ آخر تحديث"
+msgstr "العمليات منذ آخر تحديث"
#. l10n: Questions is the name of a MySQL Status variable
#: js/messages.php:89
msgid "Questions (executed statements by the server)"
-msgstr ""
+msgstr "العمليات (الجمل المنفذة بواسطة الخادم)"
#: js/messages.php:91 server_status.php:617
msgid "Query statistics"
@@ -1138,11 +1137,11 @@ msgstr "إحصائيات الإستعلام"
#: js/messages.php:94
msgid "System CPU Usage"
-msgstr ""
+msgstr "إستخدام النظام للمعالج (CPU)"
#: js/messages.php:95
msgid "System memory"
-msgstr ""
+msgstr "ذاكرة النظام"
#: js/messages.php:96
msgid "System swap"
@@ -1158,14 +1157,13 @@ msgstr "كيلوبايت"
#: js/messages.php:100
msgid "Average load"
-msgstr ""
+msgstr "متوسط التحميل"
#. l10n: Questions is the name of a MySQL Status variable
#: js/messages.php:102
-#, fuzzy
#| msgid "Versions"
msgid "Questions"
-msgstr "نسخ"
+msgstr "العمليات"
#: js/messages.php:103 server_status.php:894
msgid "Traffic"
@@ -1173,20 +1171,18 @@ msgstr "بيانات سير"
#: js/messages.php:104 libraries/server_links.inc.php:73
#: server_status.php:1324
-#, fuzzy
#| msgid "General relation features"
msgid "Settings"
-msgstr "المزايا العامّة للرابط"
+msgstr "الإعدادات"
#: js/messages.php:105
-#, fuzzy
#| msgid "Remove database"
msgid "Remove chart"
-msgstr "حذف قاعدة البيانات"
+msgstr "حذف الرسم البياني"
#: js/messages.php:106
msgid "Edit labels and series"
-msgstr ""
+msgstr "حذف العناوين والسلاسل"
#: js/messages.php:107
msgid "Add chart to grid"
@@ -1194,7 +1190,7 @@ msgstr ""
#: js/messages.php:109
msgid "Please add at least one variable to the series"
-msgstr ""
+msgstr "فضلا , أضف متغير واحد على الأقل للسلسلة"
#: js/messages.php:110 libraries/display_export.lib.php:306
#: libraries/display_tbl.lib.php:561 libraries/export/sql.php:1052
@@ -10591,7 +10587,7 @@ msgstr "صيانة الجدول"
#: tbl_operations.php:614
msgid "Defragment table"
-msgstr ""
+msgstr "إلغاء تجزئة الجدول"
#: tbl_operations.php:662
#, php-format
@@ -10599,26 +10595,23 @@ msgid "Table %s has been flushed"
msgstr "لقد تم إعادة تحميل الجدول %s بنجاح"
#: tbl_operations.php:668
-#, fuzzy
#| msgid "Flush the table (\"FLUSH\")"
msgid "Flush the table (FLUSH)"
-msgstr "إعادة تحميل الجدول (\"FLUSH\")"
+msgstr "إعادة تحميل الجدول (FLUSH)"
#: tbl_operations.php:677
-#, fuzzy
#| msgid "Dumping data for table"
msgid "Delete data or table"
-msgstr "إرجاع أو استيراد بيانات الجدول"
+msgstr "حذف البيانات او الجدول"
#: tbl_operations.php:692
msgid "Empty the table (TRUNCATE)"
-msgstr ""
+msgstr "إفراغ الجدول (TRUNCATE)"
#: tbl_operations.php:712
-#, fuzzy
#| msgid "Copy database to"
msgid "Delete the table (DROP)"
-msgstr "إنسخ قاعدة البيانات إلى"
+msgstr "حذف الجدول (DROP)"
#: tbl_operations.php:733
msgid "Partition maintenance"
@@ -10627,7 +10620,7 @@ msgstr ""
#: tbl_operations.php:741
#, php-format
msgid "Partition %s"
-msgstr ""
+msgstr "تقسيم %s"
#: tbl_operations.php:744
msgid "Analyze"
@@ -10639,19 +10632,19 @@ msgstr "تحقق"
#: tbl_operations.php:746
msgid "Optimize"
-msgstr ""
+msgstr "تحسين"
#: tbl_operations.php:747
msgid "Rebuild"
-msgstr ""
+msgstr "إعادة بناء"
#: tbl_operations.php:748
msgid "Repair"
-msgstr "صلح"
+msgstr "إصلاح"
#: tbl_operations.php:760
msgid "Remove partitioning"
-msgstr ""
+msgstr "إزالة التقسيم"
#: tbl_operations.php:786
msgid "Check referential integrity:"
@@ -10659,15 +10652,15 @@ msgstr "تحديد التكامل المرجعي:"
#: tbl_printview.php:72
msgid "Show tables"
-msgstr "شاهد الجدول"
+msgstr "عرض الجداول"
#: tbl_printview.php:307 tbl_structure.php:789
msgid "Space usage"
-msgstr "المساحة المستغلة"
+msgstr "المساحة المستخدمة"
#: tbl_printview.php:311 tbl_structure.php:793
msgid "Usage"
-msgstr "المساحة"
+msgstr "الإستخدام"
#: tbl_printview.php:338 tbl_structure.php:820
msgid "Effective"
@@ -10699,7 +10692,6 @@ msgid "Error creating foreign key on %1$s (check data types)"
msgstr ""
#: tbl_relation.php:402
-#, fuzzy
#| msgid "Internal relations"
msgid "Internal relation"
msgstr "العلاقات الداخلية"
@@ -10712,21 +10704,20 @@ msgstr ""
#: tbl_relation.php:410
msgid "Foreign key constraint"
-msgstr ""
+msgstr "قيود المفتاح الغريب"
#: tbl_select.php:110
msgid "Do a \"query by example\" (wildcard: \"%\")"
-msgstr "تجعل \"استعلام بواسطة المثال\" (wildcard: \"%\")"
+msgstr "عمل \"استعلام بواسطة المثال\" (بدل: \"%\")"
#: tbl_select.php:260
-#, fuzzy
#| msgid "Select fields (at least one):"
msgid "Select columns (at least one):"
-msgstr "اختيار حقول (على الأقل واحد):"
+msgstr "اختيار الأعمدة (واحد على الأقل):"
#: tbl_select.php:278
msgid "Add search conditions (body of the \"where\" clause):"
-msgstr "أضف شروط البحث (جسم من الفقره \"where\" clause):"
+msgstr "أضف شروط البحث (الفقرة \"where\" ):"
#: tbl_select.php:285
msgid "Number of rows per page"
@@ -10742,21 +10733,20 @@ msgstr ""
#: tbl_structure.php:165 tbl_structure.php:169
msgid "Browse distinct values"
-msgstr ""
+msgstr "إستعرض القيم المميزة"
#: tbl_structure.php:170 tbl_structure.php:171
msgid "Add primary key"
-msgstr ""
+msgstr "إضافة مفتاح رئيسي"
#: tbl_structure.php:172 tbl_structure.php:173
-#, fuzzy
#| msgid "Add new field"
msgid "Add index"
-msgstr "إضافة حقل جديد"
+msgstr "إضافة فهرس"
#: tbl_structure.php:174 tbl_structure.php:175
msgid "Add unique index"
-msgstr ""
+msgstr "إضافة فهرس مميز"
#: tbl_structure.php:176 tbl_structure.php:177
#, fuzzy
@@ -10769,49 +10759,46 @@ msgid "Add FULLTEXT index"
msgstr ""
#: tbl_structure.php:391
-#, fuzzy
#| msgid "None"
msgctxt "None for default"
msgid "None"
msgstr "لا شيء"
#: tbl_structure.php:404
-#, fuzzy, php-format
+#, php-format
#| msgid "Table %s has been dropped"
msgid "Column %s has been dropped"
-msgstr "جدول %s حذفت"
+msgstr "تم حذف العمود %s"
#: tbl_structure.php:415 tbl_structure.php:509
#, php-format
msgid "A primary key has been added on %s"
-msgstr "لقد أُضيف المفتاح الأساسي في %s"
+msgstr "تم إضافة المفتاح الأساسي في %s"
#: tbl_structure.php:430 tbl_structure.php:445 tbl_structure.php:465
#: tbl_structure.php:480 tbl_structure.php:522 tbl_structure.php:535
#: tbl_structure.php:548 tbl_structure.php:561
#, php-format
msgid "An index has been added on %s"
-msgstr "لقد أُضيف الفهرس في %s"
+msgstr "تم إضافة الفهرس في %s"
#: tbl_structure.php:497
-#, fuzzy
#| msgid "Show PHP information"
msgid "Show more actions"
-msgstr "عرض المعلومات المتعلقة ب PHP"
+msgstr "عرض المزيد من العمليات"
#: tbl_structure.php:642 tbl_structure.php:644
msgid "Relation view"
-msgstr "عرض الروابط"
+msgstr "عرض العلاقات"
#: tbl_structure.php:651 tbl_structure.php:653
msgid "Propose table structure"
msgstr "اقترح بناء الجدول"
#: tbl_structure.php:676
-#, fuzzy
#| msgid "Add into comments"
msgid "Add column"
-msgstr "أضف إلى الملاحظات"
+msgstr "إضافة عمود"
#: tbl_structure.php:690
msgid "At End of Table"
@@ -10827,38 +10814,38 @@ msgid "After %s"
msgstr "بعد %s"
#: tbl_structure.php:732
-#, fuzzy, php-format
+#, php-format
#| msgid "Create an index on %s columns"
msgid "Create an index on %s columns"
-msgstr "تصميم فهرسه على %s عمود"
+msgstr "إنشاء فهرس للعمود %s"
#: tbl_structure.php:889
msgid "partitioned"
-msgstr ""
+msgstr "مقسم"
#: tbl_tracking.php:109
#, php-format
msgid "Tracking report for table `%s`"
-msgstr ""
+msgstr "تتبع التقرير للجدول %s"
#: tbl_tracking.php:182
#, php-format
msgid "Version %s is created, tracking for %s.%s is activated."
-msgstr ""
+msgstr "تم إنشاء الإصدار %s , التتبع نشط لـ %s.%s"
#: tbl_tracking.php:190
#, php-format
msgid "Tracking for %s.%s , version %s is deactivated."
-msgstr ""
+msgstr "اللتبع لـ %s.%s , الإصدار %s معطل ."
#: tbl_tracking.php:198
#, php-format
msgid "Tracking for %s.%s , version %s is activated."
-msgstr ""
+msgstr "اللتبع لـ %s.%s , الإصدار %s مفعل."
#: tbl_tracking.php:208
msgid "SQL statements executed."
-msgstr ""
+msgstr "تم تنفيذ جمل SQL."
#: tbl_tracking.php:214
msgid ""
@@ -10884,10 +10871,9 @@ msgid "Tracking data definition successfully deleted"
msgstr ""
#: tbl_tracking.php:384 tbl_tracking.php:401
-#, fuzzy
#| msgid "errors."
msgid "Query error"
-msgstr "أخطاء."
+msgstr "خطأ في الإستعلام"
#: tbl_tracking.php:399
msgid "Tracking data manipulation successfully deleted"
@@ -10909,10 +10895,9 @@ msgid "Delete tracking data row from report"
msgstr "يسمح بإضافة واستبدال البيانات."
#: tbl_tracking.php:443
-#, fuzzy
#| msgid "No databases"
msgid "No data"
-msgstr "لايوجد قواعد بيانات"
+msgstr "لايوجد بيانات"
#: tbl_tracking.php:453 tbl_tracking.php:510
msgid "Date"
@@ -10940,16 +10925,16 @@ msgstr ""
#: tbl_tracking.php:560
msgid "SQL execution"
-msgstr ""
+msgstr "تنفيذ SQL"
#: tbl_tracking.php:572
#, php-format
msgid "Export as %s"
-msgstr ""
+msgstr "تصدير كـ %s"
#: tbl_tracking.php:612
msgid "Show versions"
-msgstr ""
+msgstr "عرض الإصدارات"
#: tbl_tracking.php:644
msgid "Version"
@@ -10958,48 +10943,48 @@ msgstr "نسخة"
#: tbl_tracking.php:692
#, php-format
msgid "Deactivate tracking for %s.%s"
-msgstr ""
+msgstr "تعطيل التتبع لـ %s.%s"
#: tbl_tracking.php:694
msgid "Deactivate now"
-msgstr ""
+msgstr "تعطيل الآن"
#: tbl_tracking.php:705
#, php-format
msgid "Activate tracking for %s.%s"
-msgstr ""
+msgstr "تنشيط التتبع لـ %s.%s"
#: tbl_tracking.php:707
msgid "Activate now"
-msgstr ""
+msgstr "تنشيط الآن"
#: tbl_tracking.php:720
#, php-format
msgid "Create version %s of %s.%s"
-msgstr ""
+msgstr "انشئ إصدار %s لـ %s.s%s"
#: tbl_tracking.php:724
msgid "Track these data definition statements:"
-msgstr ""
+msgstr "تتبع تقارير تعريف البيانات:"
#: tbl_tracking.php:732
msgid "Track these data manipulation statements:"
-msgstr ""
+msgstr "تتبع تقارير التلاعب بالبيانات:"
#: tbl_tracking.php:740
msgid "Create version"
-msgstr ""
+msgstr "إنشاء إصدار"
#: themes.php:31
#, php-format
msgid ""
"No themes support; please check your configuration and/or your themes in "
"directory %s."
-msgstr ""
+msgstr "لايوجد سمة مدعومة , فضلا راجع إعدادات السمات في المسار %s."
#: themes.php:41
msgid "Get more themes!"
-msgstr ""
+msgstr "الحصول على سمات جديدة!"
#: transformation_overview.php:24
msgid "Available MIME types"
@@ -11015,7 +11000,6 @@ msgid "Available transformations"
msgstr "التحويلات المتوفرة"
#: transformation_overview.php:47
-#, fuzzy
#| msgid "Description"
msgctxt "for MIME transformation"
msgid "Description"
@@ -11027,11 +11011,11 @@ msgstr "ليس لديك الحقوق الكافية بأن تكون هنا ال
#: user_password.php:96
msgid "The profile has been updated."
-msgstr "لقد تم تجديد العرض الجانبي."
+msgstr "لقد تم تجديد الملف الشخصي."
#: view_create.php:141
msgid "VIEW name"
-msgstr ""
+msgstr "اسم VIEW"
#: view_operations.php:91
msgid "Rename view to"
diff --git a/po/tr.po b/po/tr.po
index 65f554d..2c9833b 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-07-25 11:36+0200\n"
-"PO-Revision-Date: 2011-07-24 11:06+0200\n"
+"PO-Revision-Date: 2011-07-25 19:31+0200\n"
"Last-Translator: Burak Yavuz <hitowerdigit(a)hotmail.com>\n"
"Language-Team: turkish <tr(a)li.org>\n"
"Language: tr\n"
@@ -705,7 +705,7 @@ msgstr "Tabloyu onar"
#: db_structure.php:513 tbl_operations.php:627
msgid "Analyze table"
-msgstr "Tabloyu incele"
+msgstr "Tabloyu çözümle"
#: db_structure.php:515
msgid "Add prefix to table"
@@ -1199,10 +1199,9 @@ msgid "Pause monitor"
msgstr "İzlemeyi duraklat"
#: js/messages.php:114
-#, fuzzy
#| msgid "general_log and slow_query_log is enabled."
msgid "general_log and slow_query_log are enabled."
-msgstr "general_log ve slow_query_log etkinleştirildi."
+msgstr "general_log ve slow_query_log etkin."
#: js/messages.php:115
msgid "general_log is enabled."
@@ -1213,10 +1212,9 @@ msgid "slow_query_log is enabled."
msgstr "slow_query_log etkinleştirildi."
#: js/messages.php:117
-#, fuzzy
#| msgid "slow_query_log and general_log is disabled."
msgid "slow_query_log and general_log are disabled."
-msgstr "slow_query_log ve general_log etkisizleştirildi."
+msgstr "slow_query_log ve general_log etkisiz."
#: js/messages.php:118
msgid "log_output is not set to TABLE."
@@ -1314,7 +1312,7 @@ msgstr "Genel günlükten"
#: js/messages.php:142
msgid "Analysing & loading logs. This may take a while."
-msgstr "Günlükler inceleniyor ve yükleniyor. Bu biraz zaman alabilir."
+msgstr "Günlükler çözümleniyor ve yükleniyor. Bu biraz zaman alabilir."
#: js/messages.php:143
msgid ""
@@ -1346,14 +1344,13 @@ msgstr "Günlük tablosuna atla"
#: js/messages.php:148
msgid "Log analysed, but not data found in this time span."
-msgstr "Günlük incelendi, ama bu zaman aralığında bulunan veri yok."
+msgstr "Günlük çözümlendi, ama bu zaman aralığında bulunan veri yok."
#. l10n: A collection of available filters
#: js/messages.php:151
-#, fuzzy
#| msgid "Filter"
msgid "Filters"
-msgstr "Süzgeç"
+msgstr "Süzgeçler"
#. l10n: Filter as in "Start Filtering"
#: js/messages.php:153 navigation.php:270
@@ -1362,23 +1359,21 @@ msgstr "Süzgeç"
#: js/messages.php:154
msgid "Filter queries by word/regexp:"
-msgstr ""
+msgstr "Kelime/düzenli ifadeye göre sorguları süz"
#: js/messages.php:155
msgid "Group queries, ignoring variable data in WHERE statements"
-msgstr ""
+msgstr "Sorguları grupla, WHERE ifadelerindeki değişken veri yoksayılıyor"
#: js/messages.php:156
-#, fuzzy
#| msgid "Number of inserted rows"
msgid "Sum of grouped rows:"
-msgstr "Eklenmiş satır sayısı"
+msgstr "Gruplanmış satırların toplamı:"
#: js/messages.php:157
-#, fuzzy
#| msgid "Total"
msgid "Total:"
-msgstr "Toplam"
+msgstr "Toplam:"
#: js/messages.php:161 libraries/tbl_properties.inc.php:780
#: pmd_general.php:388 pmd_general.php:425 pmd_general.php:545
@@ -1517,10 +1512,9 @@ msgid "Change"
msgstr "Değiştir"
#: js/messages.php:208
-#, fuzzy
#| msgid "Maximum execution time"
msgid "Query execution time"
-msgstr "En fazla yürütme süresi"
+msgstr "Sorgu yürütme süresi"
#: js/messages.php:211
msgid "Hide search criteria"
@@ -1536,10 +1530,9 @@ msgid "Ignore"
msgstr "Yoksay"
#: js/messages.php:218
-#, fuzzy
#| msgid "Add column"
msgid "Add columns"
-msgstr "Sütun ekle"
+msgstr "Sütunları ekle"
#: js/messages.php:221
msgid "Select referenced key"
@@ -6255,10 +6248,9 @@ msgid ""
msgstr "Aşağıdaki yapılar ya oluşturuldu ya da değiştirildi. Buyurun:"
#: libraries/import.lib.php:1069
-#, fuzzy
#| msgid "View a structure`s contents by clicking on its name"
msgid "View a structure's contents by clicking on its name"
-msgstr "İsmine tıklayarak yapının içeriklerini görüntüleyin"
+msgstr "Adına tıklayarak yapının içeriklerini görün"
#: libraries/import.lib.php:1070
msgid ""
@@ -6268,10 +6260,9 @@ msgstr ""
"değiştirin"
#: libraries/import.lib.php:1071
-#, fuzzy
#| msgid "Edit its structure by following the \"Structure\" link"
msgid "Edit structure by following the \"Structure\" link"
-msgstr "Aşağıdaki \"Yapı\" bağlantısıyla bunun yapısını düzenleyin"
+msgstr "Aşağıdaki \"Yapı\" bağlantısıyla yapısını düzenleyin"
#: libraries/import.lib.php:1074
msgid "Go to database"
@@ -6920,7 +6911,7 @@ msgstr "Her olay için geçerli aralık değeri vermek zorundasınız."
#: libraries/rte/rte_events.lib.php:549
msgid "You must provide a valid execution time for the event."
-msgstr "Olay için geçerli bir çalıştırma zamanı vermek zorundasınız."
+msgstr "Olay için geçerli bir yürütme zamanı vermek zorundasınız."
#: libraries/rte/rte_events.lib.php:553
msgid "You must provide a valid type for the event."
@@ -6966,7 +6957,7 @@ msgid ""
"b> Please use the improved 'mysqli' extension to avoid any problems."
msgstr ""
"Çoklu sorguları kullanma kabiliyeti olmayan PHP'nin onaylamadığı 'mysql' "
-"uzantısını kullanıyorsunuz. <b>Bazı depolanmış yordamların çalıştırılması "
+"uzantısını kullanıyorsunuz. <b>Bazı depolanmış yordamların yürütülmesi "
"başarısız olabilir!</b> Lütfen herhangi bir sorundan kaçınmak için gelişmiş "
"'mysql' uzantısı kullanın."
@@ -7085,7 +7076,7 @@ msgstr[0] "İşlemin içindeki son ifade tarafından %d satır etkilendi"
#: libraries/rte/rte_routines.lib.php:1214
#, php-format
msgid "Execution results of routine %s"
-msgstr "%s yordamı çalıştırma sonuçları"
+msgstr "%s yordamı yürütme sonuçları"
#: libraries/rte/rte_routines.lib.php:1288
#: libraries/rte/rte_routines.lib.php:1294
@@ -10025,11 +10016,11 @@ msgstr "Seçili zaman aralığı:"
#: server_status.php:1465
msgid "Only retrieve SELECT,INSERT,UPDATE and DELETE Statements"
-msgstr ""
+msgstr "Sadece SELECT,INSERT,UPDATE ve DELETE İfadeleri erişir"
#: server_status.php:1470
msgid "Remove variable data in INSERT statements for better grouping"
-msgstr ""
+msgstr "Daha iyi gruplama için INSERT ifadelerindeki değişken veriyi kaldır"
#: server_status.php:1473
msgid ""
@@ -10040,10 +10031,9 @@ msgstr ""
"metnine göre gruplandırılır."
#: server_status.php:1476
-#, fuzzy
#| msgid "Query type"
msgid "Query analyzer"
-msgstr "Sorgu türü"
+msgstr "Sorgu çözümleyici"
#: server_status.php:1512
#, php-format
@@ -10845,7 +10835,7 @@ msgstr "Bölüm %s"
#: tbl_operations.php:744
msgid "Analyze"
-msgstr "İncele"
+msgstr "Çözümle"
#: tbl_operations.php:745
msgid "Check"
@@ -11140,7 +11130,7 @@ msgstr "Bu seçenek tablolarınızı ve içerdiği veriyi değiştirecektir."
#: tbl_tracking.php:560
msgid "SQL execution"
-msgstr "SQL çalıştırma"
+msgstr "SQL yürütme"
#: tbl_tracking.php:572
#, php-format
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin website branch, master, updated. ed7fc69cfb5cfea1ed3086a303672813108ac474
by Marc Delisle 25 Jul '11
by Marc Delisle 25 Jul '11
25 Jul '11
The branch, master has been updated
via ed7fc69cfb5cfea1ed3086a303672813108ac474 (commit)
from edf479236124f733e845988fcdfaf64aada325fe (commit)
- Log -----------------------------------------------------------------
commit ed7fc69cfb5cfea1ed3086a303672813108ac474
Author: Marc Delisle <marc(a)infomarc.info>
Date: Mon Jul 25 12:44:14 2011 -0400
Update for PMASA-2011-12
-----------------------------------------------------------------------
Summary of changes:
templates/security/PMASA-2011-12 | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/templates/security/PMASA-2011-12 b/templates/security/PMASA-2011-12
index ed27796..7405881 100644
--- a/templates/security/PMASA-2011-12
+++ b/templates/security/PMASA-2011-12
@@ -11,16 +11,16 @@ PMASA-2011-12
</py:def>
<py:def function="announcement_updated">
-2011-07-24
+2011-07-25
</py:def>
<py:def function="announcement_summary">
-Possible session manipulation in swekey authentication.
+Possible superglobal and local variables manipulation in swekey authentication.
</py:def>
<py:def function="announcement_description">
-It was possible to manipulate the PHP session superglobal using some of the Swekey authentication code.
-This is very similar to PMASA-2011-5.
+It was possible to manipulate the PHP superglobals (including SESSION) using some of the Swekey authentication code. Also, variables local to the affected Swekey function were at risk.
+This is similar to PMASA-2011-5.
</py:def>
<py:def function="announcement_severity">
@@ -28,6 +28,7 @@ We consider this vulnerability to be critical.
</py:def>
<py:def function="announcement_mitigation">
+The Swekey authentication mechanism must be activated (which is not a requirement in the case of PMASA-2011-5).
</py:def>
<py:def function="announcement_affected">
hooks/post-receive
--
phpMyAdmin website
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_1-11942-g489e8f1
by Michal Čihař 25 Jul '11
by Michal Čihař 25 Jul '11
25 Jul '11
The branch, master has been updated
via 489e8f128578972ba6b92bd05c7c7caae95a8bd4 (commit)
via 07fde2dc1c3dd48c2c968b93b4b9531f59f4c6d1 (commit)
from 4d19ddaf0852e0f727bcd1224fe6d3f6b16f3dd2 (commit)
- Log -----------------------------------------------------------------
commit 489e8f128578972ba6b92bd05c7c7caae95a8bd4
Merge: 4d19ddaf0852e0f727bcd1224fe6d3f6b16f3dd2 07fde2dc1c3dd48c2c968b93b4b9531f59f4c6d1
Author: Michal Čihař <mcihar(a)suse.cz>
Date: Mon Jul 25 17:17:33 2011 +0200
Merge remote-tracking branch 'tyron/master'
Conflicts:
themes/pmahomme/css/theme_left.css.php
commit 07fde2dc1c3dd48c2c968b93b4b9531f59f4c6d1
Author: Tyron Madlener <tyronx(a)gmail.com>
Date: Mon Jul 25 17:54:09 2011 +0300
Added missing create table icon in left frame
-----------------------------------------------------------------------
Summary of changes:
themes/original/css/theme_left.css.php | 1 +
themes/pmahomme/css/theme_left.css.php | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/themes/original/css/theme_left.css.php b/themes/original/css/theme_left.css.php
index f1b6ef8..5cd64b0 100644
--- a/themes/original/css/theme_left.css.php
+++ b/themes/original/css/theme_left.css.php
@@ -89,6 +89,7 @@ button {
.ic_b_view { background-position: 0 -1044px; }
.ic_b_minus { background-position: 0 -440px; width: 9px; height: 9px; }
.ic_b_plus { background-position: 0 -523px; width: 9px; height: 9px; }
+.ic_b_snewtbl { background-position: 0 -726px; width: 10px; height: 10px; }
/******************************************************************************/
/* classes */
diff --git a/themes/pmahomme/css/theme_left.css.php b/themes/pmahomme/css/theme_left.css.php
index 247df08..89a7efb 100644
--- a/themes/pmahomme/css/theme_left.css.php
+++ b/themes/pmahomme/css/theme_left.css.php
@@ -96,6 +96,7 @@ button {
.ic_b_minus { background-position: -471px 0; }
.ic_b_views, .ic_s_views { background-position: -1094px 0; }
+.ic_b_snewtbl { background-position: -788px 0; }
/******************************************************************************/
/* classes */
hooks/post-receive
--
phpMyAdmin
1
0

[Phpmyadmin-git] [SCM] phpMyAdmin branch, TESTING, updated. RELEASE_3_4_4RC1-42-g049fd9f
by Marc Delisle 25 Jul '11
by Marc Delisle 25 Jul '11
25 Jul '11
The branch, TESTING has been updated
via 049fd9fd97ed3da8cb38804be1666125129d4b19 (commit)
via 09b30b8b6e462aafc24cc32a78491cd9513305c6 (commit)
via 08ee54d4a43b1bd6eff1e6695ff8553e6f26b37a (commit)
via 3534dda30a587eafe3bf5016f2fb302dbc224c2e (commit)
via 06bfdd7ca6d76335f45d53134770979d7d25d739 (commit)
via 9a268729f0cb0aeb2d124b58ca22ef8e7bd7baf6 (commit)
via 201ad07ea8883fc8c3a18227a656ea56fe7b18fc (commit)
via 5f9c187010dcf2b51bf3dee516789b6fae9f2363 (commit)
via 54398f8a124702e30820bc4636040dda1db6b71b (commit)
via bea5556023b4561c23e82f5005059c5fb7b1cde8 (commit)
via 36c0339eb00394d4c51ccbf82a20feae7b70fb18 (commit)
via 58b48a3d4555d0469ee6fed361a9cf8820fb8c9d (commit)
via 9eba5726bd809ab874fc29360ac6ff351d86335b (commit)
via 3ec3c7ee1766331a25899483ff78ff468516fc2e (commit)
via 40d7c3b8baa84c474af5f710e60351b05330f3c6 (commit)
via b185ca88f7c8241804cff13a2b315fc3d1222a38 (commit)
via 2cc22c8aba33ad12b3d98905d6dfc29f7c878837 (commit)
via 70083ad58346ff7190bcd8e56b63ab92f6abfa40 (commit)
via 65d962d39703b412dc482be47e092f97933eb8e0 (commit)
via 6d0f28b425dc9f975543301c4b194dd6fbdd494d (commit)
via ed88c4a7b68c8efd764a364d1a9579aa762ebdaa (commit)
via 58d25ddcb8a036743e32879c9320dcd802626082 (commit)
via a546479680cd1da8af6812ed0eef83b390bab07f (commit)
via 95927229deb417c2df4fad3baccaf9de575c70b5 (commit)
via 90a232d8fb9b6e321481cac4c3db21767a3f1189 (commit)
via 39cb4d4798f495db25bf65dda95fc8c4e9893367 (commit)
via 2ec0de3a9f8d77c750f02c27ba8d83b407a87ea5 (commit)
via c4ecddb5a2df58f26675f0162d8f2335b71bfbd5 (commit)
via 041cd7e7d2dfa95dd055da6fd2eb5308902fda95 (commit)
via 58d86350c439c2ea06d58ba37f723e6e8a8f1abf (commit)
via 5217946601b64ee6e92f97443cf4e515c03c0c27 (commit)
via 4d1540cc1c8136040968bcfb3a4629aad2551b3a (commit)
via 614639a5c5d94b9c693f7ec6e32c1a6e71a7e203 (commit)
via 9129444381fef0d9b57466219f21deae8fc95582 (commit)
via 31df8ebb5dd444fc40d566407d9b2a00eee8d1b9 (commit)
via edf46c8022020099ac953b2e16f36f4f99687d87 (commit)
via 43c7f939c31e9304cacbbc456d999d9d6afc8682 (commit)
via 5e28dbea224d21b2c03cd325ef67f36b42d2b58d (commit)
via f09d19cfa3bd2f31185848adfdeb808576396851 (commit)
via e8ee4eb11b784b56d51bf4d37dd4811e8d213569 (commit)
via 9e224184d786068317b801291c8f960109f0bdc5 (commit)
via c2dd99965dea7756e9de5a58100c1c701ef83de3 (commit)
via 341dc1296f8e3fe6b80a9b5f5e752cfd868bdb10 (commit)
via 3336bf363625d3512da5f32d5d9f276a64dae02b (commit)
via 7ecb1abaa49142a7e0b3f6d6e37cb4855e17ddf9 (commit)
from 2c2f7988ca2241fcbcfc44485a3491483de9562e (commit)
- Log -----------------------------------------------------------------
commit 049fd9fd97ed3da8cb38804be1666125129d4b19
Merge: 2c2f7988ca2241fcbcfc44485a3491483de9562e 09b30b8b6e462aafc24cc32a78491cd9513305c6
Author: Marc Delisle <marc(a)infomarc.info>
Date: Mon Jul 25 10:20:15 2011 -0400
Merge branch 'MAINT_3_4_4' into TESTING
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 19 +
Documentation.html | 4 +-
README | 2 +-
db_operations.php | 11 -
js/export.js | 25 +-
js/functions.js | 4 +-
js/indexes.js | 12 +-
js/server_privileges.js | 1 +
js/sql.js | 5 +-
libraries/Config.class.php | 2 +-
libraries/config.default.php | 5 +-
libraries/core.lib.php | 8 +-
libraries/display_export.lib.php | 11 +-
libraries/display_import.lib.php | 6 +-
libraries/display_tbl.lib.php | 2 +-
libraries/export/codegen.php | 340 ++++---
libraries/export/xml.php | 43 +-
libraries/header.inc.php | 5 +-
libraries/select_lang.lib.php | 2 +
libraries/sqlparser.lib.php | 4 +-
po/af.po | 2 +-
po/ar.po | 118 ++-
po/az.po | 2 +-
po/be.po | 2 +-
po/be(a)latin.po | 2 +-
po/bg.po | 316 +++---
po/bn.po | 2 +-
po/{ug.po => br.po} | 2140 +++++++++++++++++++-------------------
po/bs.po | 2 +-
po/ca.po | 2 +-
po/cs.po | 2 +-
po/cy.po | 2 +-
po/da.po | 1294 ++++++++++++++---------
po/de.po | 2 +-
po/el.po | 2 +-
po/en_GB.po | 2 +-
po/es.po | 2 +-
po/et.po | 2 +-
po/eu.po | 2 +-
po/fa.po | 2 +-
po/fi.po | 2 +-
po/fr.po | 2 +-
po/gl.po | 2 +-
po/he.po | 2 +-
po/hi.po | 2 +-
po/hr.po | 2 +-
po/hu.po | 2 +-
po/id.po | 2 +-
po/it.po | 2 +-
po/ja.po | 2 +-
po/ka.po | 2 +-
po/ko.po | 2 +-
po/lt.po | 2 +-
po/lv.po | 2 +-
po/mk.po | 2 +-
po/ml.po | 2 +-
po/mn.po | 2 +-
po/ms.po | 2 +-
po/nb.po | 2 +-
po/nl.po | 2 +-
po/pl.po | 2 +-
po/pt.po | 2 +-
po/pt_BR.po | 111 ++-
po/ro.po | 2 +-
po/ru.po | 2 +-
po/si.po | 2 +-
po/sk.po | 67 +-
po/sl.po | 2 +-
po/sq.po | 2 +-
po/sr.po | 2 +-
po/sr(a)latin.po | 2 +-
po/sv.po | 2 +-
po/ta.po | 2 +-
po/te.po | 2 +-
po/th.po | 2 +-
po/tr.po | 2 +-
po/tt.po | 2 +-
po/ug.po | 2 +-
po/uk.po | 94 +-
po/ur.po | 2 +-
po/uz.po | 2 +-
po/uz(a)latin.po | 2 +-
po/zh_CN.po | 2 +-
po/zh_TW.po | 2 +-
setup/index.php | 4 +-
setup/lib/index.lib.php | 2 +-
sql.php | 2 +-
tbl_indexes.php | 14 +-
tbl_structure.php | 8 +-
89 files changed, 2648 insertions(+), 2147 deletions(-)
copy po/{ug.po => br.po} (87%)
diff --git a/ChangeLog b/ChangeLog
index 24ff73c..3c30745 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,25 @@
phpMyAdmin - ChangeLog
======================
+3.4.4.0 (not yet released)
+- bug #3323060 [parser] SQL parser breaks AJAX requests if query has unclosed quotes
+- bug #3323101 [parser] Invalid escape sequence in SQL parser
+- bug #3348995 [config] $cfg['Export']['asfile'] set to false does not select asText option
+- bug #3340151 [export] Working SQL query exports error page
+- bug #3353649 [interface] "Create an index on X columns" form not validated
+- bug #3350790 [interface] JS error in Table->Structure->Index->Edit
+- bug #3353811 [interface] Info message has "error" class
+- bug #3357837 [interface] TABbing through a NULL field in the inline mode resets NULL
+- remove version number in /setup
+- bug #3367993 [usability] Missing "Generate Password" button
+- bug #3363221 [display] Missing Server Parameter on inline sql query
+- bug #3367986 [navi] Drop field -> lost active table
+- remove misleading comment on the "Rename database" interface
+- bug #3374374 [interface] Fix footnote for inexact count while browsing
+- bug #3372807 [interface] Fix security warning link in setup
+- bug #3374347 [display] Backquotes in normal text on import page
+- bug #3358750 [core] With Suhosin, urls are too long in edit links
+
3.4.3.2 (2011-07-23)
- [security] Fixed XSS vulnerability, see PMASA-2011-9
- [security] Fixed local file inclusion vulnerability, see PMASA-2011-10
diff --git a/Documentation.html b/Documentation.html
index 15f8000..057c6c9 100644
--- a/Documentation.html
+++ b/Documentation.html
@@ -9,7 +9,7 @@ vim: expandtab ts=4 sw=4 sts=4 tw=78
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>phpMyAdmin 3.4.3.2 - Documentation</title>
+ <title>phpMyAdmin 3.4.4-rc1 - Documentation</title>
<link rel="stylesheet" type="text/css" href="docs.css" />
</head>
@@ -17,7 +17,7 @@ vim: expandtab ts=4 sw=4 sts=4 tw=78
<div id="header">
<h1>
<a href="http://www.phpmyadmin.net/">php<span class="myadmin">MyAdmin</span></a>
- 3.4.3.2
+ 3.4.4-rc1
Documentation
</h1>
</div>
diff --git a/README b/README
index 65f7c52..6e7197d 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
phpMyAdmin - Readme
===================
-Version 3.4.3.2
+Version 3.4.4-rc1
A set of PHP-scripts to manage MySQL over the web.
diff --git a/db_operations.php b/db_operations.php
index f48ba27..ebd9333 100644
--- a/db_operations.php
+++ b/db_operations.php
@@ -405,17 +405,6 @@ if ($db != 'mysql') {
?>
</legend>
<input id="new_db_name" type="text" name="newname" size="30" class="textfield" value="" />
- <?php
- echo '(' . __('Command') . ': ';
- /**
- * @todo (see explanations above in a previous todo)
- */
- //if (PMA_MYSQL_INT_VERSION >= XYYZZ) {
- // echo 'RENAME DATABASE';
- //} else {
- echo 'INSERT INTO ... SELECT';
- //}
- echo ')'; ?>
</fieldset>
<fieldset class="tblFooters">
<input id="rename_db_input" type="submit" value="<?php echo __('Go'); ?>" />
diff --git a/js/export.js b/js/export.js
index 1cf9de5..3fd3c00 100644
--- a/js/export.js
+++ b/js/export.js
@@ -89,18 +89,23 @@ $(document).ready(function() {
/**
* Toggles the disabling of the "save to file" options
*/
+function toggle_save_to_file() {
+ if($("#radio_dump_asfile:checked").length == 0) {
+ $("#ul_save_asfile > li").fadeTo('fast', 0.4);
+ $("#ul_save_asfile > li > input").attr('disabled', 'disabled');
+ $("#ul_save_asfile > li> select").attr('disabled', 'disabled');
+ } else {
+ $("#ul_save_asfile > li").fadeTo('fast', 1);
+ $("#ul_save_asfile > li > input").removeAttr('disabled');
+ $("#ul_save_asfile > li> select").removeAttr('disabled');
+ }
+}
+
$(document).ready(function() {
+ toggle_save_to_file();
$("input[type='radio'][name='output_format']").change(function() {
- if($("#radio_dump_asfile:checked").length == 0) {
- $("#ul_save_asfile > li").fadeTo('fast', 0.4);
- $("#ul_save_asfile > li > input").attr('disabled', 'disabled');
- $("#ul_save_asfile > li> select").attr('disabled', 'disabled');
- } else {
- $("#ul_save_asfile > li").fadeTo('fast', 1);
- $("#ul_save_asfile > li > input").removeAttr('disabled');
- $("#ul_save_asfile > li> select").removeAttr('disabled');
- }
- });
+ toggle_save_to_file();
+ });
});
/**
diff --git a/js/functions.js b/js/functions.js
index eea8573..75fd677 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -1117,6 +1117,7 @@ function changeMIMEType(db, table, reference, mime_type)
*/
$(document).ready(function(){
$(".inline_edit_sql").live('click', function(){
+ var server = $(this).prev().find("input[name='server']").val();
var db = $(this).prev().find("input[name='db']").val();
var table = $(this).prev().find("input[name='table']").val();
var token = $(this).prev().find("input[name='token']").val();
@@ -1132,7 +1133,8 @@ $(document).ready(function(){
$(this).click(function(){
sql_query = $(this).prev().val();
window.location.replace("import.php"
- + "?db=" + encodeURIComponent(db)
+ + "?server=" + encodeURIComponent(server)
+ + "&db=" + encodeURIComponent(db)
+ "&table=" + encodeURIComponent(table)
+ "&sql_query=" + encodeURIComponent(sql_query)
+ "&show_query=1"
diff --git a/js/indexes.js b/js/indexes.js
index a15b249..c7bed94 100644
--- a/js/indexes.js
+++ b/js/indexes.js
@@ -17,24 +17,24 @@ function checkIndexName()
}
// Gets the elements pointers
- var the_idx_name = document.forms['index_frm'].elements['index'];
- var the_idx_type = document.forms['index_frm'].elements['index_type'];
+ var the_idx_name = document.forms['index_frm'].elements['index[Key_name]'];
+ var the_idx_type = document.forms['index_frm'].elements['index[Index_type]'];
// Index is a primary key
if (the_idx_type.options[0].value == 'PRIMARY' && the_idx_type.options[0].selected) {
- document.forms['index_frm'].elements['index'].value = 'PRIMARY';
+ document.forms['index_frm'].elements['index[Key_name]'].value = 'PRIMARY';
if (typeof(the_idx_name.disabled) != 'undefined') {
- document.forms['index_frm'].elements['index'].disabled = true;
+ document.forms['index_frm'].elements['index[Key_name]'].disabled = true;
}
}
// Other cases
else {
if (the_idx_name.value == 'PRIMARY') {
- document.forms['index_frm'].elements['index'].value = '';
+ document.forms['index_frm'].elements['index[Key_name]'].value = '';
}
if (typeof(the_idx_name.disabled) != 'undefined') {
- document.forms['index_frm'].elements['index'].disabled = false;
+ document.forms['index_frm'].elements['index[Key_name]'].disabled = false;
}
}
diff --git a/js/server_privileges.js b/js/server_privileges.js
index 8b9c5e9..f178c6c 100644
--- a/js/server_privileges.js
+++ b/js/server_privileges.js
@@ -489,6 +489,7 @@ $(document).ready(function() {
}
});
+ displayPasswordGenerateButton();
}, 'top.frame_content'); //end $(document).ready()
/**#@- */
diff --git a/js/sql.js b/js/sql.js
index e871c74..b185b69 100644
--- a/js/sql.js
+++ b/js/sql.js
@@ -644,7 +644,10 @@ $(document).ready(function() {
})
} else {
$this_field.find('textarea').live('keypress', function(e) {
- $('.checkbox_null_' + field_name + '_' + this_row_index).attr('checked', false);
+ // FF errorneously triggers for modifier keys such as tab (bug #3357837)
+ if (e.which != 0) {
+ $('.checkbox_null_' + field_name + '_' + this_row_index).attr('checked', false);
+ }
})
}
diff --git a/libraries/Config.class.php b/libraries/Config.class.php
index 0cec6a9..a55bd02 100644
--- a/libraries/Config.class.php
+++ b/libraries/Config.class.php
@@ -96,7 +96,7 @@ class PMA_Config
*/
function checkSystem()
{
- $this->set('PMA_VERSION', '3.4.3.2');
+ $this->set('PMA_VERSION', '3.4.4-rc1');
/**
* @deprecated
*/
diff --git a/libraries/config.default.php b/libraries/config.default.php
index 4ca31e7..4040acf 100644
--- a/libraries/config.default.php
+++ b/libraries/config.default.php
@@ -2596,8 +2596,11 @@ $cfg['CheckConfigurationPermissions'] = true;
* Limit for length of URL in links. When length would be above this limit, it
* is replaced by form with button.
* This is required as some web servers (IIS) have problems with long URLs.
+ * The recommended limit is 2000
+ * (see http://www.boutell.com/newfaq/misc/urllength.html) but we put
+ * 1000 to accommodate Suhosin, see bug #3358750.
*/
-$cfg['LinkLengthLimit'] = 2000;
+$cfg['LinkLengthLimit'] = 1000;
/*******************************************************************************
* SQL Parser Settings
diff --git a/libraries/core.lib.php b/libraries/core.lib.php
index 1350247..80c1f12 100644
--- a/libraries/core.lib.php
+++ b/libraries/core.lib.php
@@ -275,7 +275,13 @@ function PMA_getPHPDocLink($target) {
*/
function PMA_warnMissingExtension($extension, $fatal = false, $extra = '')
{
- $message = sprintf(__('The %s extension is missing. Please check your PHP configuration.'),
+ /* Gettext does not have to be loaded yet here */
+ if (function_exists('__')) {
+ $message = __('The %s extension is missing. Please check your PHP configuration.');
+ } else {
+ $message = 'The %s extension is missing. Please check your PHP configuration.';
+ }
+ $message = sprintf($message,
'[a@' . PMA_getPHPDocLink('book.' . $extension . '.php') . '@Documentation][em]' . $extension . '[/em][/a]');
if ($extra != '') {
$message .= ' ' . $extra;
diff --git a/libraries/display_export.lib.php b/libraries/display_export.lib.php
index 87c3a8e..637b069 100644
--- a/libraries/display_export.lib.php
+++ b/libraries/display_export.lib.php
@@ -35,13 +35,6 @@ if (empty($export_list)) {
PMA_Message::error( __('Could not load export plugins, please check your installation!'))->display();
require './libraries/footer.inc.php';
}
-
-// If the form data is being loaded from GET data, decode it
-foreach($_GET as $name => $value) {
- if(is_string($value)) {
- $_GET[urldecode($name)] = urldecode($value);
- }
-}
?>
<form method="post" action="export.php" name="dump">
@@ -73,7 +66,7 @@ echo '<input type="hidden" name="export_method" value="' . htmlspecialchars($cfg
if(isset($_GET['sql_query'])) {
- echo '<input type="hidden" name="sql_query" value="' . htmlspecialchars(urldecode($_GET['sql_query'])) . '" />' . "\n";
+ echo '<input type="hidden" name="sql_query" value="' . htmlspecialchars($_GET['sql_query']) . '" />' . "\n";
} elseif (! empty($sql_query)) {
echo '<input type="hidden" name="sql_query" value="' . htmlspecialchars($sql_query) . '" />' . "\n";
}
@@ -325,7 +318,7 @@ if(isset($_GET['sql_query'])) {
<?php } ?>
</ul>
</li>
- <li><input type="radio" id="radio_view_as_text" name="output_format" value="astext" <?php echo isset($_GET['repopulate']) ? 'checked="checked"' : '' ?>/><label for="radio_view_as_text"><?php echo __('View output as text'); ?></label></li>
+ <li><input type="radio" id="radio_view_as_text" name="output_format" value="astext" <?php echo (isset($_GET['repopulate']) || $GLOBALS['cfg']['Export']['asfile'] == false) ? 'checked="checked"' : '' ?>/><label for="radio_view_as_text"><?php echo __('View output as text'); ?></label></li>
</ul>
</div>
diff --git a/libraries/display_import.lib.php b/libraries/display_import.lib.php
index 3a9c2ea..c56c461 100644
--- a/libraries/display_import.lib.php
+++ b/libraries/display_import.lib.php
@@ -63,7 +63,7 @@ if ($_SESSION[$SESSION_KEY]["handler"]!="noplugin") {
complete = response.complete;
if (total==0 && complete==0 && percent==0) {
- $('#upload_form_status_info').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('The file being uploaded is probably larger than the maximum allowed size or this is a known bug in webkit based (Safari, Google Chrome, Arora etc.) browsers.')); ?>');
+ $('#upload_form_status_info').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('The file being uploaded is probably larger than the maximum allowed size or this is a known bug in webkit based (Safari, Google Chrome, Arora etc.) browsers.'), false); ?>');
$('#upload_form_status').css("display", "none");
} else {
$('#upload_form_status_info').html(' '+Math.round(percent)+'%, '+complete+'/'+total);
@@ -73,7 +73,7 @@ if ($_SESSION[$SESSION_KEY]["handler"]!="noplugin") {
if (finished==true) {
$('#importmain').css('display', 'none');
$('#import_form_status').css('display', 'inline');
- $('#import_form_status').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('The file is being processed, please be patient.')); ?> ');
+ $('#import_form_status').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('The file is being processed, please be patient.'), false); ?> ');
$('#import_form_status').load('import_status.php?message=true&<?php echo PMA_generate_common_url(); ?>'); // loads the message, either success or mysql error
<?php
// reload the left sidebar when the import is finished
@@ -95,7 +95,7 @@ if ($_SESSION[$SESSION_KEY]["handler"]!="noplugin") {
<?php
} else { // no plugin available
?>
- $('#upload_form_status_info').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('Please be patient, the file is being uploaded. Details about the upload are not available.')) . PMA_showDocu('faq2_9'); ?>');
+ $('#upload_form_status_info').html('<img src="<?php echo $GLOBALS['pmaThemeImage'];?>ajax_clock_small.gif" alt="ajax clock" /> <?php echo PMA_jsFormat(__('Please be patient, the file is being uploaded. Details about the upload are not available.'), false) . PMA_showDocu('faq2_9'); ?>');
$('#upload_form_status').css("display", "none");
<?php
} // else
diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php
index c7d74ef..c871612 100644
--- a/libraries/display_tbl.lib.php
+++ b/libraries/display_tbl.lib.php
@@ -1937,7 +1937,7 @@ function PMA_displayTable(&$dt_result, &$the_disp_mode, $analyzed_sql)
|| $analyzed_sql[0]['where_clause'] == '1 ')) {
// "j u s t b r o w s i n g"
$pre_count = '~';
- $after_count = PMA_showHint(PMA_sanitize(__('May be approximate. See [a@./Documentation.html#faq3_11@Documentation]FAQ 3.11[/a]')), true);
+ $after_count = PMA_showHint(PMA_sanitize(__('May be approximate. See [a@./Documentation.html#faq3_11@Documentation]FAQ 3.11[/a]')));
} else {
$pre_count = '';
$after_count = '';
diff --git a/libraries/export/codegen.php b/libraries/export/codegen.php
index 8e36f40..7c06d79 100644
--- a/libraries/export/codegen.php
+++ b/libraries/export/codegen.php
@@ -138,12 +138,12 @@ function PMA_exportDBCreate($db)
*/
function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
{
- global $CG_FORMATS, $CG_HANDLERS;
- $format = cgGetOption("format");
- $index = array_search($format, $CG_FORMATS);
- if ($index >= 0)
- return PMA_exportOutputHandler($CG_HANDLERS[$index]($db, $table, $crlf));
- return PMA_exportOutputHandler(sprintf("%s is not supported.", $format));
+ global $CG_FORMATS, $CG_HANDLERS;
+ $format = cgGetOption("format");
+ if (isset($CG_FORMATS[$format])) {
+ return PMA_exportOutputHandler($CG_HANDLERS[$format]($db, $table, $crlf));
+ }
+ return PMA_exportOutputHandler(sprintf("%s is not supported.", $format));
}
/**
@@ -152,162 +152,184 @@ function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
*/
class TableProperty
{
- public $name;
- public $type;
- public $nullable;
- public $key;
- public $defaultValue;
- public $ext;
- function __construct($row)
- {
- $this->name = trim($row[0]);
- $this->type = trim($row[1]);
- $this->nullable = trim($row[2]);
- $this->key = trim($row[3]);
- $this->defaultValue = trim($row[4]);
- $this->ext = trim($row[5]);
- }
- function getPureType()
- {
- $pos=strpos($this->type, "(");
- if ($pos > 0)
- return substr($this->type, 0, $pos);
- return $this->type;
- }
- function isNotNull()
- {
- return $this->nullable == "NO" ? "true" : "false";
- }
- function isUnique()
- {
- return $this->key == "PRI" || $this->key == "UNI" ? "true" : "false";
- }
- function getDotNetPrimitiveType()
- {
- if (strpos($this->type, "int") === 0) return "int";
- if (strpos($this->type, "long") === 0) return "long";
- if (strpos($this->type, "char") === 0) return "string";
- if (strpos($this->type, "varchar") === 0) return "string";
- if (strpos($this->type, "text") === 0) return "string";
- if (strpos($this->type, "longtext") === 0) return "string";
- if (strpos($this->type, "tinyint") === 0) return "bool";
- if (strpos($this->type, "datetime") === 0) return "DateTime";
- return "unknown";
- }
- function getDotNetObjectType()
- {
- if (strpos($this->type, "int") === 0) return "Int32";
- if (strpos($this->type, "long") === 0) return "Long";
- if (strpos($this->type, "char") === 0) return "String";
- if (strpos($this->type, "varchar") === 0) return "String";
- if (strpos($this->type, "text") === 0) return "String";
- if (strpos($this->type, "longtext") === 0) return "String";
- if (strpos($this->type, "tinyint") === 0) return "Boolean";
- if (strpos($this->type, "datetime") === 0) return "DateTime";
- return "Unknown";
- }
- function getIndexName()
- {
- if (strlen($this->key)>0)
- return "index=\"" . $this->name . "\"";
- return "";
- }
- function isPK()
- {
- return $this->key=="PRI";
- }
- function format($pattern)
- {
- $text=$pattern;
- $text=str_replace("#name#", $this->name, $text);
- $text=str_replace("#type#", $this->getPureType(), $text);
- $text=str_replace("#notNull#", $this->isNotNull(), $text);
- $text=str_replace("#unique#", $this->isUnique(), $text);
- $text=str_replace("#ucfirstName#", ucfirst($this->name), $text);
- $text=str_replace("#dotNetPrimitiveType#", $this->getDotNetPrimitiveType(), $text);
- $text=str_replace("#dotNetObjectType#", $this->getDotNetObjectType(), $text);
- $text=str_replace("#indexName#", $this->getIndexName(), $text);
- return $text;
- }
+ public $name;
+ public $type;
+ public $nullable;
+ public $key;
+ public $defaultValue;
+ public $ext;
+ function __construct($row)
+ {
+ $this->name = trim($row[0]);
+ $this->type = trim($row[1]);
+ $this->nullable = trim($row[2]);
+ $this->key = trim($row[3]);
+ $this->defaultValue = trim($row[4]);
+ $this->ext = trim($row[5]);
+ }
+ function getPureType()
+ {
+ $pos=strpos($this->type, "(");
+ if ($pos > 0)
+ return substr($this->type, 0, $pos);
+ return $this->type;
+ }
+ function isNotNull()
+ {
+ return $this->nullable == "NO" ? "true" : "false";
+ }
+ function isUnique()
+ {
+ return $this->key == "PRI" || $this->key == "UNI" ? "true" : "false";
+ }
+ function getDotNetPrimitiveType()
+ {
+ if (strpos($this->type, "int") === 0) return "int";
+ if (strpos($this->type, "long") === 0) return "long";
+ if (strpos($this->type, "char") === 0) return "string";
+ if (strpos($this->type, "varchar") === 0) return "string";
+ if (strpos($this->type, "text") === 0) return "string";
+ if (strpos($this->type, "longtext") === 0) return "string";
+ if (strpos($this->type, "tinyint") === 0) return "bool";
+ if (strpos($this->type, "datetime") === 0) return "DateTime";
+ return "unknown";
+ }
+ function getDotNetObjectType()
+ {
+ if (strpos($this->type, "int") === 0) return "Int32";
+ if (strpos($this->type, "long") === 0) return "Long";
+ if (strpos($this->type, "char") === 0) return "String";
+ if (strpos($this->type, "varchar") === 0) return "String";
+ if (strpos($this->type, "text") === 0) return "String";
+ if (strpos($this->type, "longtext") === 0) return "String";
+ if (strpos($this->type, "tinyint") === 0) return "Boolean";
+ if (strpos($this->type, "datetime") === 0) return "DateTime";
+ return "Unknown";
+ }
+ function getIndexName()
+ {
+ if (strlen($this->key)>0)
+ return "index=\"" . htmlspecialchars($this->name, ENT_COMPAT, 'UTF-8') . "\"";
+ return "";
+ }
+ function isPK()
+ {
+ return $this->key=="PRI";
+ }
+ function formatCs($text)
+ {
+ $text=str_replace("#name#", cgMakeIdentifier($this->name, false), $text);
+ return $this->format($text);
+ }
+ function formatXml($text)
+ {
+ $text=str_replace("#name#", htmlspecialchars($this->name, ENT_COMPAT, 'UTF-8'), $text);
+ $text=str_replace("#indexName#", $this->getIndexName(), $text);
+ return $this->format($text);
+ }
+ function format($text)
+ {
+ $text=str_replace("#ucfirstName#", cgMakeIdentifier($this->name), $text);
+ $text=str_replace("#dotNetPrimitiveType#", $this->getDotNetPrimitiveType(), $text);
+ $text=str_replace("#dotNetObjectType#", $this->getDotNetObjectType(), $text);
+ $text=str_replace("#type#", $this->getPureType(), $text);
+ $text=str_replace("#notNull#", $this->isNotNull(), $text);
+ $text=str_replace("#unique#", $this->isUnique(), $text);
+ return $text;
+ }
}
- function handleNHibernateCSBody($db, $table, $crlf)
- {
- $lines=array();
- $result=PMA_DBI_query(sprintf("DESC %s.%s", PMA_backquote($db), PMA_backquote($table)));
- if ($result)
- {
- $tableProperties=array();
- while ($row = PMA_DBI_fetch_row($result))
- $tableProperties[] = new TableProperty($row);
- $lines[] = "using System;";
- $lines[] = "using System.Collections;";
- $lines[] = "using System.Collections.Generic;";
- $lines[] = "using System.Text;";
- $lines[] = "namespace ".ucfirst($db);
- $lines[] = "{";
- $lines[] = " #region ".ucfirst($table);
- $lines[] = " public class ".ucfirst($table);
- $lines[] = " {";
- $lines[] = " #region Member Variables";
- foreach ($tableProperties as $tablePropertie)
- $lines[] = $tablePropertie->format(" protected #dotNetPrimitiveType# _#name#;");
- $lines[] = " #endregion";
- $lines[] = " #region Constructors";
- $lines[] = " public ".ucfirst($table)."() { }";
- $temp = array();
- foreach ($tableProperties as $tablePropertie)
- if (! $tablePropertie->isPK())
- $temp[] = $tablePropertie->format("#dotNetPrimitiveType# #name#");
- $lines[] = " public ".ucfirst($table)."(".implode(", ", $temp).")";
- $lines[] = " {";
- foreach ($tableProperties as $tablePropertie)
- if (! $tablePropertie->isPK())
- $lines[] = $tablePropertie->format(" this._#name#=#name#;");
- $lines[] = " }";
- $lines[] = " #endregion";
- $lines[] = " #region Public Properties";
- foreach ($tableProperties as $tablePropertie)
- $lines[] = $tablePropertie->format(" public virtual #dotNetPrimitiveType# _#ucfirstName#\n {\n get {return _#name#;}\n set {_#name#=value;}\n }");
- $lines[] = " #endregion";
- $lines[] = " }";
- $lines[] = " #endregion";
- $lines[] = "}";
- PMA_DBI_free_result($result);
- }
- return implode("\n", $lines);
- }
+ function cgMakeIdentifier($str, $ucfirst = true)
+ {
+ // remove unsafe characters
+ $str = preg_replace('/[^\p{L}\p{Nl}_]/u', '', $str);
+ // make sure first character is a letter or _
+ if (!preg_match('/^\pL/u', $str)) {
+ $str = '_' . $str;
+ }
+ if ($ucfirst) {
+ $str = ucfirst($str);
+ }
+ return $str;
+ }
- function handleNHibernateXMLBody($db, $table, $crlf)
- {
- $lines=array();
- $lines[] = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
- $lines[] = "<hibernate-mapping xmlns=\"urn:nhibernate-mapping-2.2\" namespace=\"".ucfirst($db)."\" assembly=\"".ucfirst($db)."\">";
- $lines[] = " <class name=\"".ucfirst($table)."\" table=\"".$table."\">";
- $result = PMA_DBI_query(sprintf("DESC %s.%s", PMA_backquote($db), PMA_backquote($table)));
- if ($result)
- {
- $tableProperties = array();
- while ($row = PMA_DBI_fetch_row($result))
- $tableProperties[] = new TableProperty($row);
- foreach ($tableProperties as $tablePropertie)
- {
- if ($tablePropertie->isPK())
- $lines[] = $tablePropertie->format(" <id name=\"#ucfirstName#\" type=\"#dotNetObjectType#\" unsaved-value=\"0\">\n <column name=\"#name#\" sql-type=\"#type#\" not-null=\"#notNull#\" unique=\"#unique#\" index=\"PRIMARY\"/>\n <generator class=\"native\" />\n </id>");
- else
- $lines[] = $tablePropertie->format(" <property name=\"#ucfirstName#\" type=\"#dotNetObjectType#\">\n <column name=\"#name#\" sql-type=\"#type#\" not-null=\"#notNull#\" #indexName#/>\n </property>");
- }
- PMA_DBI_free_result($result);
- }
- $lines[]=" </class>";
- $lines[]="</hibernate-mapping>";
- return implode("\n", $lines);
- }
+ function handleNHibernateCSBody($db, $table, $crlf)
+ {
+ $lines=array();
+ $result=PMA_DBI_query(sprintf("DESC %s.%s", PMA_backquote($db), PMA_backquote($table)));
+ if ($result)
+ {
+ $tableProperties=array();
+ while ($row = PMA_DBI_fetch_row($result))
+ $tableProperties[] = new TableProperty($row);
+ $lines[] = "using System;";
+ $lines[] = "using System.Collections;";
+ $lines[] = "using System.Collections.Generic;";
+ $lines[] = "using System.Text;";
+ $lines[] = "namespace ".cgMakeIdentifier($db);
+ $lines[] = "{";
+ $lines[] = " #region ".cgMakeIdentifier($table);
+ $lines[] = " public class ".cgMakeIdentifier($table);
+ $lines[] = " {";
+ $lines[] = " #region Member Variables";
+ foreach ($tableProperties as $tablePropertie)
+ $lines[] = $tablePropertie->formatCs(" protected #dotNetPrimitiveType# _#name#;");
+ $lines[] = " #endregion";
+ $lines[] = " #region Constructors";
+ $lines[] = " public ".cgMakeIdentifier($table)."() { }";
+ $temp = array();
+ foreach ($tableProperties as $tablePropertie)
+ if (! $tablePropertie->isPK())
+ $temp[] = $tablePropertie->formatCs("#dotNetPrimitiveType# #name#");
+ $lines[] = " public ".cgMakeIdentifier($table)."(".implode(", ", $temp).")";
+ $lines[] = " {";
+ foreach ($tableProperties as $tablePropertie)
+ if (! $tablePropertie->isPK())
+ $lines[] = $tablePropertie->formatCs(" this._#name#=#name#;");
+ $lines[] = " }";
+ $lines[] = " #endregion";
+ $lines[] = " #region Public Properties";
+ foreach ($tableProperties as $tablePropertie)
+ $lines[] = $tablePropertie->formatCs(" public virtual #dotNetPrimitiveType# #ucfirstName#\n {\n get {return _#name#;}\n set {_#name#=value;}\n }");
+ $lines[] = " #endregion";
+ $lines[] = " }";
+ $lines[] = " #endregion";
+ $lines[] = "}";
+ PMA_DBI_free_result($result);
+ }
+ return implode("\n", $lines);
+ }
- function cgGetOption($optionName)
- {
- global $what;
- return $GLOBALS[$what . "_" . $optionName];
- }
+ function handleNHibernateXMLBody($db, $table, $crlf)
+ {
+ $lines=array();
+ $lines[] = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
+ $lines[] = "<hibernate-mapping xmlns=\"urn:nhibernate-mapping-2.2\" namespace=\"".cgMakeIdentifier($db)."\" assembly=\"".cgMakeIdentifier($db)."\">";
+ $lines[] = " <class name=\"".cgMakeIdentifier($table)."\" table=\"".cgMakeIdentifier($table)."\">";
+ $result = PMA_DBI_query(sprintf("DESC %s.%s", PMA_backquote($db), PMA_backquote($table)));
+ if ($result)
+ {
+ $tableProperties = array();
+ while ($row = PMA_DBI_fetch_row($result))
+ $tableProperties[] = new TableProperty($row);
+ foreach ($tableProperties as $tablePropertie)
+ {
+ if ($tablePropertie->isPK())
+ $lines[] = $tablePropertie->formatXml(" <id name=\"#ucfirstName#\" type=\"#dotNetObjectType#\" unsaved-value=\"0\">\n <column name=\"#name#\" sql-type=\"#type#\" not-null=\"#notNull#\" unique=\"#unique#\" index=\"PRIMARY\"/>\n <generator class=\"native\" />\n </id>");
+ else
+ $lines[] = $tablePropertie->formatXml(" <property name=\"#ucfirstName#\" type=\"#dotNetObjectType#\">\n <column name=\"#name#\" sql-type=\"#type#\" not-null=\"#notNull#\" #indexName#/>\n </property>");
+ }
+ PMA_DBI_free_result($result);
+ }
+ $lines[]=" </class>";
+ $lines[]="</hibernate-mapping>";
+ return implode("\n", $lines);
+ }
+
+ function cgGetOption($optionName)
+ {
+ global $what;
+ return $GLOBALS[$what . "_" . $optionName];
+ }
}
?>
diff --git a/libraries/export/xml.php b/libraries/export/xml.php
index 9bafb09..83b51ee 100644
--- a/libraries/export/xml.php
+++ b/libraries/export/xml.php
@@ -82,13 +82,14 @@ function PMA_exportFooter() {
function PMA_exportHeader() {
global $crlf;
global $cfg;
- global $what;
global $db;
global $table;
global $tables;
- $export_struct = isset($GLOBALS[$what . '_export_struc']) ? true : false;
- $export_data = isset($GLOBALS[$what . '_export_contents']) ? true : false;
+ $export_struct = isset($GLOBALS['xml_export_functions']) || isset($GLOBALS['xml_export_procedures'])
+ || isset($GLOBALS['xml_export_tables']) || isset($GLOBALS['xml_export_triggers'])
+ || isset($GLOBALS['xml_export_views']);
+ $export_data = isset($GLOBALS['xml_export_contents']) ? true : false;
if ($GLOBALS['output_charset_conversion']) {
$charset = $GLOBALS['charset_of_file'];
@@ -123,7 +124,7 @@ function PMA_exportHeader() {
$head .= ' - Structure schemas' . $crlf;
$head .= ' -->' . $crlf;
$head .= ' <pma:structure_schemas>' . $crlf;
- $head .= ' <pma:database name="' . $db . '" collation="' . $db_collation . '" charset="' . $db_charset . '">' . $crlf;
+ $head .= ' <pma:database name="' . htmlspecialchars($db) . '" collation="' . $db_collation . '" charset="' . $db_charset . '">' . $crlf;
if (count($tables) == 0) {
$tables[] = $table;
@@ -142,23 +143,23 @@ function PMA_exportHeader() {
$type = 'table';
}
- if ($is_view && ! isset($GLOBALS[$what . '_export_views'])) {
+ if ($is_view && ! isset($GLOBALS['xml_export_views'])) {
continue;
}
- if (! $is_view && ! isset($GLOBALS[$what . '_export_tables'])) {
+ if (! $is_view && ! isset($GLOBALS['xml_export_tables'])) {
continue;
}
$head .= ' <pma:' . $type . ' name="' . $table . '">' . $crlf;
- $tbl = " " . $tbl;
+ $tbl = " " . htmlspecialchars($tbl);
$tbl = str_replace("\n", "\n ", $tbl);
$head .= $tbl . ';' . $crlf;
$head .= ' </pma:' . $type . '>' . $crlf;
- if (isset($GLOBALS[$what . '_export_triggers']) && $GLOBALS[$what . '_export_triggers']) {
+ if (isset($GLOBALS['xml_export_triggers']) && $GLOBALS['xml_export_triggers']) {
// Export triggers
$triggers = PMA_DBI_get_triggers($db, $table);
if ($triggers) {
@@ -168,7 +169,7 @@ function PMA_exportHeader() {
// Do some formatting
$code = substr(rtrim($code), 0, -3);
- $code = " " . $code;
+ $code = " " . htmlspecialchars($code);
$code = str_replace("\n", "\n ", $code);
$head .= $code . $crlf;
@@ -181,7 +182,7 @@ function PMA_exportHeader() {
}
}
- if (isset($GLOBALS[$what . '_export_functions']) && $GLOBALS[$what . '_export_functions']) {
+ if (isset($GLOBALS['xml_export_functions']) && $GLOBALS['xml_export_functions']) {
// Export functions
$functions = PMA_DBI_get_procedures_or_functions($db, 'FUNCTION');
if ($functions) {
@@ -191,7 +192,7 @@ function PMA_exportHeader() {
// Do some formatting
$sql = PMA_DBI_get_definition($db, 'FUNCTION', $function);
$sql = rtrim($sql);
- $sql = " " . $sql;
+ $sql = " " . htmlspecialchars($sql);
$sql = str_replace("\n", "\n ", $sql);
$head .= $sql . $crlf;
@@ -204,7 +205,7 @@ function PMA_exportHeader() {
}
}
- if (isset($GLOBALS[$what . '_export_procedures']) && $GLOBALS[$what . '_export_procedures']) {
+ if (isset($GLOBALS['xml_export_procedures']) && $GLOBALS['xml_export_procedures']) {
// Export procedures
$procedures = PMA_DBI_get_procedures_or_functions($db, 'PROCEDURE');
if ($procedures) {
@@ -214,7 +215,7 @@ function PMA_exportHeader() {
// Do some formatting
$sql = PMA_DBI_get_definition($db, 'PROCEDURE', $procedure);
$sql = rtrim($sql);
- $sql = " " . $sql;
+ $sql = " " . htmlspecialchars($sql);
$sql = str_replace("\n", "\n ", $sql);
$head .= $sql . $crlf;
@@ -251,13 +252,12 @@ function PMA_exportHeader() {
*/
function PMA_exportDBHeader($db) {
global $crlf;
- global $what;
- if (isset($GLOBALS[$what . '_export_contents']) && $GLOBALS[$what . '_export_contents']) {
+ if (isset($GLOBALS['xml_export_contents']) && $GLOBALS['xml_export_contents']) {
$head = ' <!--' . $crlf
. ' - ' . __('Database') . ': ' . (isset($GLOBALS['use_backquotes']) ? PMA_backquote($db) : '\'' . $db . '\''). $crlf
. ' -->' . $crlf
- . ' <database name="' . $db . '">' . $crlf;
+ . ' <database name="' . htmlspecialchars($db) . '">' . $crlf;
return PMA_exportOutputHandler($head);
}
@@ -278,9 +278,8 @@ function PMA_exportDBHeader($db) {
*/
function PMA_exportDBFooter($db) {
global $crlf;
- global $what;
- if (isset($GLOBALS[$what . '_export_contents']) && $GLOBALS[$what . '_export_contents']) {
+ if (isset($GLOBALS['xml_export_contents']) && $GLOBALS['xml_export_contents']) {
return PMA_exportOutputHandler(' </database>' . $crlf);
}
else
@@ -317,12 +316,12 @@ function PMA_exportDBCreate($db) {
* @access public
*/
function PMA_exportData($db, $table, $crlf, $error_url, $sql_query) {
- global $what;
-
- if (isset($GLOBALS[$what . '_export_contents']) && $GLOBALS[$what . '_export_contents']) {
+
+ if (isset($GLOBALS['xml_export_contents']) && $GLOBALS['xml_export_contents']) {
$result = PMA_DBI_query($sql_query, null, PMA_DBI_QUERY_UNBUFFERED);
$columns_cnt = PMA_DBI_num_fields($result);
+ $columns = array();
for ($i = 0; $i < $columns_cnt; $i++) {
$columns[$i] = stripslashes(str_replace(' ', '_', PMA_DBI_field_name($result, $i)));
}
@@ -340,7 +339,7 @@ function PMA_exportData($db, $table, $crlf, $error_url, $sql_query) {
if (!isset($record[$i]) || is_null($record[$i])) {
$record[$i] = 'NULL';
}
- $buffer .= ' <column name="' . $columns[$i] . '">' . htmlspecialchars((string)$record[$i])
+ $buffer .= ' <column name="' . htmlspecialchars($columns[$i]) . '">' . htmlspecialchars((string)$record[$i])
. '</column>' . $crlf;
}
$buffer .= ' </table>' . $crlf;
diff --git a/libraries/header.inc.php b/libraries/header.inc.php
index a23d2fa..9cc2785 100644
--- a/libraries/header.inc.php
+++ b/libraries/header.inc.php
@@ -124,10 +124,9 @@ if (isset($GLOBALS['is_ajax_request']) && !$GLOBALS['is_ajax_request']) {
htmlspecialchars($GLOBALS['db']),
__('Database'),
's_db.png');
- // if the table is being dropped, $_REQUEST['purge'] is set
- // (it always contains "1")
+ // if the table is being dropped, $_REQUEST['purge'] is set to '1'
// so do not display the table name in upper div
- if (strlen($GLOBALS['table']) && ! (isset($_REQUEST['purge']))) {
+ if (strlen($GLOBALS['table']) && ! (isset($_REQUEST['purge']) && $_REQUEST['purge'] == '1')) {
require_once './libraries/tbl_info.inc.php';
echo $separator;
diff --git a/libraries/select_lang.lib.php b/libraries/select_lang.lib.php
index 08a5b2f..137b83a 100644
--- a/libraries/select_lang.lib.php
+++ b/libraries/select_lang.lib.php
@@ -215,6 +215,8 @@ function PMA_langDetails($lang) {
return array('bg|bulgarian', 'bg', 'Български');
case 'bs':
return array('bs|bosnian', 'bs', 'Bosanski');
+ case 'br':
+ return array('br|breton', 'br', 'Brezhoneg');
case 'ca':
return array('ca|catalan', 'ca', 'Català');
case 'cs':
diff --git a/libraries/sqlparser.lib.php b/libraries/sqlparser.lib.php
index 2171560..0c13187 100644
--- a/libraries/sqlparser.lib.php
+++ b/libraries/sqlparser.lib.php
@@ -360,7 +360,7 @@ if (! defined('PMA_MINIMUM_COMMON')) {
$sql_array['raw'] = $sql;
$pos = $pos_quote_separator;
}
- if (class_exists('PMA_Message')) {
+ if (class_exists('PMA_Message') && $GLOBALS['is_ajax_request'] != true) {
PMA_Message::notice(__('Automatically appended backtick to the end of query!'))->display();
}
} else {
@@ -379,7 +379,7 @@ if (! defined('PMA_MINIMUM_COMMON')) {
// Checks for MySQL escaping using a \
// And checks for ANSI escaping using the $quotetype character
- if (($pos < $len) && PMA_STR_charIsEscaped($sql, $pos)) {
+ if (($pos < $len) && PMA_STR_charIsEscaped($sql, $pos) && $c != '`') {
$pos ++;
continue;
} elseif (($pos + 1 < $len) && ($GLOBALS['PMA_substr']($sql, $pos, 1) == $quotetype) && ($GLOBALS['PMA_substr']($sql, $pos + 1, 1) == $quotetype)) {
diff --git a/po/af.po b/po/af.po
index bf28a23..02eee9b 100644
--- a/po/af.po
+++ b/po/af.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2010-03-30 23:04+0200\n"
diff --git a/po/ar.po b/po/ar.po
index c468cd2..17f9824 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2011-04-21 13:56+0200\n"
@@ -3075,42 +3075,42 @@ msgstr ""
#: libraries/config/messages.inc.php:204
msgid "Changes tracking"
-msgstr ""
+msgstr "تعقب التغيرات"
#: libraries/config/messages.inc.php:205
msgid ""
"Tracking of changes made in database. Requires the phpMyAdmin configuration "
"storage."
-msgstr ""
+msgstr "تعقب التغيرات الحاصلة على قاعدة البيانات."
#: libraries/config/messages.inc.php:206
msgid "Customize export options"
-msgstr ""
+msgstr "تخصيص خيارات التصدير"
#: libraries/config/messages.inc.php:208
msgid "Customize import defaults"
-msgstr ""
+msgstr "تخصيص خيارات الإستيراد"
#: libraries/config/messages.inc.php:209
msgid "Customize navigation frame"
-msgstr ""
+msgstr "تخصيص اطار التصفح"
#: libraries/config/messages.inc.php:210
msgid "Customize main frame"
-msgstr ""
+msgstr "تخصيص الإطار الرئيسي"
#: libraries/config/messages.inc.php:211 libraries/config/messages.inc.php:216
#: setup/frames/menu.inc.php:17
msgid "SQL queries"
-msgstr ""
+msgstr "إستعلام SQL"
#: libraries/config/messages.inc.php:213
msgid "SQL Query box"
-msgstr ""
+msgstr "صندوق إستعلام SQL"
#: libraries/config/messages.inc.php:214
msgid "Customize links shown in SQL Query boxes"
-msgstr ""
+msgstr "تخصيص الروابط الموجودة في صندوق إستعلام SQL"
#: libraries/config/messages.inc.php:217
#, fuzzy
@@ -3134,19 +3134,19 @@ msgstr ""
#: libraries/config/messages.inc.php:220
msgid "Startup"
-msgstr ""
+msgstr "بدء التشغيل"
#: libraries/config/messages.inc.php:221
msgid "Customize startup page"
-msgstr ""
+msgstr "تخصيص صفحة بدء التشغيل"
#: libraries/config/messages.inc.php:222
msgid "Tabs"
-msgstr ""
+msgstr "التبويبات"
#: libraries/config/messages.inc.php:223
msgid "Choose how you want tabs to work"
-msgstr ""
+msgstr "إختر الطريقة التي تعمل بها التبويبات"
#: libraries/config/messages.inc.php:224
#, fuzzy
@@ -3162,7 +3162,7 @@ msgstr "استخدم حقل نص"
#: libraries/config/messages.inc.php:226 libraries/export/texytext.php:17
msgid "Texy! text"
-msgstr ""
+msgstr "نص"
#: libraries/config/messages.inc.php:228
#, fuzzy
@@ -3172,31 +3172,35 @@ msgstr "تحذير"
#: libraries/config/messages.inc.php:229
msgid "Disable some of the warnings shown by phpMyAdmin"
-msgstr ""
+msgstr "إلغاء عرض بعض التحذيرات في phpMyAdmin"
#: libraries/config/messages.inc.php:230
msgid ""
"Enable [a@http://en.wikipedia.org/wiki/Gzip]gzip[/a] compression for import "
"and export operations"
msgstr ""
+"تفعيل ضغط [a@http://en.wikipedia.org/wiki/Gzip]gzip[/a] لعمليات التصدير "
+"والإستيراد"
#: libraries/config/messages.inc.php:231
msgid "GZip"
-msgstr ""
+msgstr "GZip"
#: libraries/config/messages.inc.php:232
msgid "Extra parameters for iconv"
-msgstr ""
+msgstr "مدخلات إضافية لـ iconv"
#: libraries/config/messages.inc.php:233
msgid ""
"If enabled, phpMyAdmin continues computing multiple-statement queries even "
"if one of the queries failed"
msgstr ""
+"إذا كان مفعل , فإن phpMyAdmin سوف تستمر في تنفيذ الإستعلامات المتعددة حتى "
+"لو فشل بعضها"
#: libraries/config/messages.inc.php:234
msgid "Ignore multiple statement errors"
-msgstr ""
+msgstr "تجاهل أخطاء الجمل المتعددة"
#: libraries/config/messages.inc.php:235
msgid ""
@@ -3207,12 +3211,12 @@ msgstr ""
#: libraries/config/messages.inc.php:236
msgid "Partial import: allow interrupt"
-msgstr ""
+msgstr "الإستيراد الجزئي: السماح بالمقاطعة"
#: libraries/config/messages.inc.php:241 libraries/config/messages.inc.php:248
#: libraries/import/csv.php:26 libraries/import/ldi.php:39
msgid "Do not abort on INSERT error"
-msgstr ""
+msgstr "لاتحبط عندما يكون الخطأ في جمل الإدخال INSERT"
#: libraries/config/messages.inc.php:242 libraries/config/messages.inc.php:250
#: libraries/import/csv.php:25 libraries/import/ldi.php:38
@@ -3224,14 +3228,16 @@ msgid ""
"Default format; be aware that this list depends on location (database, "
"table) and only SQL is always available"
msgstr ""
+"الهيئة الإفتراضي ; كن مدرك بأن هذه القائمة تعتمد على مكان (قاعدة البيانات "
+"والجدول)"
#: libraries/config/messages.inc.php:245
msgid "Format of imported file"
-msgstr ""
+msgstr "هيئة الملفات المستوردة"
#: libraries/config/messages.inc.php:249 libraries/import/ldi.php:45
msgid "Use LOCAL keyword"
-msgstr ""
+msgstr "إستعمل الجملة LOCAL"
#: libraries/config/messages.inc.php:252 libraries/config/messages.inc.php:260
#: libraries/config/messages.inc.php:261
@@ -3242,23 +3248,23 @@ msgstr "ضع أسماء الحقول في السطر الأول"
#: libraries/config/messages.inc.php:253 libraries/import/ods.php:27
msgid "Do not import empty rows"
-msgstr ""
+msgstr "لاتستورد صفوف فارغة"
#: libraries/config/messages.inc.php:254
msgid "Import currencies ($5.00 to 5.00)"
-msgstr ""
+msgstr "عملات الإستيراد ($5.00 إلى 5.00)"
#: libraries/config/messages.inc.php:255
msgid "Import percentages as proper decimals (12.00% to .12)"
-msgstr ""
+msgstr "النسبة المئوية للإستيراد كرقم عشري (12.00% إلى .12)"
#: libraries/config/messages.inc.php:256
msgid "Number of queries to skip from start"
-msgstr ""
+msgstr "عدد الإستعلامات التي يتخطاها من البداية"
#: libraries/config/messages.inc.php:257
msgid "Partial import: skip queries"
-msgstr ""
+msgstr "إستيراد جزئي: تخطي الإستعلامات"
#: libraries/config/messages.inc.php:259
#, fuzzy
@@ -3268,39 +3274,39 @@ msgstr "أضف قيمة AUTO_INCREMENT"
#: libraries/config/messages.inc.php:262
msgid "Initial state for sliders"
-msgstr ""
+msgstr "الحالة الأولية"
#: libraries/config/messages.inc.php:263
msgid "How many rows can be inserted at one time"
-msgstr ""
+msgstr "كم عدد الصفوف التي يمكن إدخالها مرة واحدة"
#: libraries/config/messages.inc.php:264
msgid "Number of inserted rows"
-msgstr ""
+msgstr "عدد الصفوف المدخلة"
#: libraries/config/messages.inc.php:265
msgid "Target for quick access icon"
-msgstr ""
+msgstr "الهدف لإيقونة الوصول السريع"
#: libraries/config/messages.inc.php:266
msgid "Show logo in left frame"
-msgstr ""
+msgstr "عرض الشعار في الإطار الأيسر"
#: libraries/config/messages.inc.php:267
msgid "Display logo"
-msgstr ""
+msgstr "عرض الشعار"
#: libraries/config/messages.inc.php:268
msgid "Display server choice at the top of the left frame"
-msgstr ""
+msgstr "عرض إختيار الخادم في الجزء العلوي من الإطار الأيسر"
#: libraries/config/messages.inc.php:269
msgid "Display servers selection"
-msgstr ""
+msgstr "عرض إختيار الخوادم"
#: libraries/config/messages.inc.php:270
msgid "Minimum number of tables to display the table filter box"
-msgstr ""
+msgstr "اقل عدد جداول تعرض في صندوق تصفية الجداول"
#: libraries/config/messages.inc.php:271
msgid "String that separates databases into different tree levels"
@@ -3308,7 +3314,7 @@ msgstr ""
#: libraries/config/messages.inc.php:272
msgid "Database tree separator"
-msgstr ""
+msgstr "فاصل شجرة قاعدة البيانات"
#: libraries/config/messages.inc.php:273
msgid ""
@@ -3318,19 +3324,19 @@ msgstr ""
#: libraries/config/messages.inc.php:274
msgid "Display databases in a tree"
-msgstr ""
+msgstr "عرض قواعد البيانات في شجرة"
#: libraries/config/messages.inc.php:275
msgid "Disable this if you want to see all databases at once"
-msgstr ""
+msgstr "تعطيل هذا إذا كنت تريد رؤية قواعد البيانات كلٌ على حدا"
#: libraries/config/messages.inc.php:276
msgid "Use light version"
-msgstr ""
+msgstr "إستخدم نسخة light"
#: libraries/config/messages.inc.php:277
msgid "Maximum table tree depth"
-msgstr ""
+msgstr "أقصى عمق لشجرة الجدول"
#: libraries/config/messages.inc.php:278
msgid "String that separates tables into different tree levels"
@@ -3338,33 +3344,35 @@ msgstr ""
#: libraries/config/messages.inc.php:279
msgid "Table tree separator"
-msgstr ""
+msgstr "فاصل شجرة الجدول"
#: libraries/config/messages.inc.php:280
msgid "URL where logo in the navigation frame will point to"
-msgstr ""
+msgstr "إعمل رابط للمكان الذي يشير اليه الشعار"
#: libraries/config/messages.inc.php:281
msgid "Logo link URL"
-msgstr ""
+msgstr "رابط الشعار"
#: libraries/config/messages.inc.php:282
msgid ""
"Open the linked page in the main window ([kbd]main[/kbd]) or in a new one "
"([kbd]new[/kbd])"
msgstr ""
+"فتح الصفحة المرتبطة في النافذة الرئيسية ([kbd]main[/kbd]) أو في نافذة جديدة "
+"([kbd]new[/kbd])"
#: libraries/config/messages.inc.php:283
msgid "Logo link target"
-msgstr ""
+msgstr "هدف رابط الشعار"
#: libraries/config/messages.inc.php:284
msgid "Highlight server under the mouse cursor"
-msgstr ""
+msgstr "توضيح الخادم تحت مؤشر الفأرة"
#: libraries/config/messages.inc.php:285
msgid "Enable highlighting"
-msgstr ""
+msgstr "تفعيل التوضيح (highlighting)"
#: libraries/config/messages.inc.php:286
msgid "Use less graphically intense tabs"
@@ -3381,7 +3389,7 @@ msgstr ""
#: libraries/config/messages.inc.php:289
msgid "Limit column characters"
-msgstr ""
+msgstr "حد أحرف العمود"
#: libraries/config/messages.inc.php:290
msgid ""
@@ -3392,17 +3400,17 @@ msgstr ""
#: libraries/config/messages.inc.php:291
msgid "Delete all cookies on logout"
-msgstr ""
+msgstr "حذف كل الكوكيز عند الخروج"
#: libraries/config/messages.inc.php:292
msgid ""
"Define whether the previous login should be recalled or not in cookie "
"authentication mode"
-msgstr ""
+msgstr "تعريف ما إذا كان سوف يتذكر تسجيل الدخول الأخير من تحقق الكوكيز أم لا"
#: libraries/config/messages.inc.php:293
msgid "Recall user name"
-msgstr ""
+msgstr "تذكر إسم المستخدم"
#: libraries/config/messages.inc.php:294
msgid ""
@@ -3418,15 +3426,15 @@ msgstr ""
#: libraries/config/messages.inc.php:296
msgid "Define how long (in seconds) a login cookie is valid"
-msgstr ""
+msgstr "تحديد كم المدة التي يبقى فيها الكوكيز"
#: libraries/config/messages.inc.php:297
msgid "Login cookie validity"
-msgstr ""
+msgstr "صلاحية دخول الكوكيز"
#: libraries/config/messages.inc.php:298
msgid "Double size of textarea for LONGTEXT columns"
-msgstr ""
+msgstr "مضاعفة حجم مربع النص لأعمدة LONGTEXT"
#: libraries/config/messages.inc.php:299
msgid "Bigger textarea for LONGTEXT"
diff --git a/po/az.po b/po/az.po
index e819b1b..2fb5863 100644
--- a/po/az.po
+++ b/po/az.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2010-03-12 09:11+0100\n"
diff --git a/po/be.po b/po/be.po
index 7859752..4c12a88 100644
--- a/po/be.po
+++ b/po/be.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2010-03-12 09:12+0100\n"
diff --git a/po/be(a)latin.po b/po/be(a)latin.po
index 2316236..6955f65 100644
--- a/po/be(a)latin.po
+++ b/po/be(a)latin.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2010-03-30 23:09+0200\n"
diff --git a/po/bg.po b/po/bg.po
index c3c1638..3fde37c 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,7 +1,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: phpMyAdmin 3.4.3-rc1\n"
+"Project-Id-Version: phpMyAdmin 3.4.4-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel(a)lists.sourceforge.net\n"
"POT-Creation-Date: 2011-06-02 08:31+0200\n"
"PO-Revision-Date: 2011-03-22 12:51+0200\n"
@@ -907,6 +907,9 @@ msgid ""
"However on last run no data has been parsed, this usually means phpMyAdmin "
"won't be able to finish this import unless you increase php time limits."
msgstr ""
+"Въпреки това при последното изпълнение никакви данни не постъпиха, това "
+"обикновено означава, че phpMyAdmin няма да бъде в състояние да завърши този "
+"импорт, освен ако не бъдат увеличени времевите ограничения в PHP."
#: import.php:453 libraries/Message.class.php:185
#: libraries/display_tbl.lib.php:2080 libraries/sql_query_form.lib.php:139
@@ -1132,7 +1135,7 @@ msgstr "Игнориране"
#: js/messages.php:101
msgid "Select referenced key"
-msgstr ""
+msgstr "Изберете посочвания ключ"
#: js/messages.php:102
msgid "Select Foreign Key"
@@ -1440,6 +1443,7 @@ msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form."
msgstr ""
+"Изпратеният файл надхвърля директивата MAX_FILE_SIZE заложена във формата."
#: libraries/File.class.php:316
msgid "The uploaded file was only partially uploaded."
@@ -1741,7 +1745,7 @@ msgstr ""
#: libraries/blobstreaming.lib.php:320
msgid "get BLOB Content-Type failed"
-msgstr ""
+msgstr "неуспешно получаване на типа на BLOB"
#: libraries/blobstreaming.lib.php:347
msgid "View image"
@@ -1942,7 +1946,7 @@ msgstr "MySQL отговори: "
#: libraries/common.lib.php:1098
msgid "Failed to connect to SQL validator!"
-msgstr ""
+msgstr "Неуспешно свързване към SQL валидатора!"
#: libraries/common.lib.php:1139 libraries/config/messages.inc.php:463
msgid "Explain SQL"
@@ -1975,11 +1979,11 @@ msgstr "Валидирай SQL-а"
#: libraries/common.lib.php:1265
msgid "Inline edit of this query"
-msgstr ""
+msgstr "Редакция на заявката на място"
#: libraries/common.lib.php:1267
msgid "Inline"
-msgstr ""
+msgstr "На място"
#: libraries/common.lib.php:1334 libraries/common.lib.php:1350
msgid "Profiling"
@@ -2150,15 +2154,16 @@ msgstr "структура и данни"
#: libraries/config.values.php:99
msgid "Quick - display only the minimal options to configure"
-msgstr ""
+msgstr "Бързо - показване на минимум опции"
#: libraries/config.values.php:100
msgid "Custom - display all possible options to configure"
-msgstr ""
+msgstr "Потребителско - показване на всички опции"
#: libraries/config.values.php:101
msgid "Custom - like above, but without the quick/custom choice"
msgstr ""
+"Потребителско - като горното, но без показване на избор бързо/потребителско"
#: libraries/config.values.php:119
msgid "complete inserts"
@@ -2283,6 +2288,8 @@ msgstr "Включване на Ajax"
msgid ""
"If enabled user can enter any MySQL server in login form for cookie auth"
msgstr ""
+"Ако е включено потребитлят може да въведе MySQL сървър във формата за "
+"удостоверяване с бисквитка"
#: libraries/config/messages.inc.php:20
msgid "Allow login to any MySQL server"
@@ -2297,7 +2304,7 @@ msgstr ""
#: libraries/config/messages.inc.php:22
msgid "Allow third party framing"
-msgstr ""
+msgstr "Позволяване на вграждане в трети сайтове"
#: libraries/config/messages.inc.php:23
msgid "Show "Drop database" link to normal users"
@@ -2308,6 +2315,8 @@ msgid ""
"Secret passphrase used for encrypting cookies in [kbd]cookie[/kbd] "
"authentication"
msgstr ""
+"Тайна фраза, използвана за криптиране на бисквитките при [kbd]cookie[/kbd] "
+"удоствоверяване"
#: libraries/config/messages.inc.php:25
msgid "Blowfish secret"
@@ -2327,7 +2336,7 @@ msgstr "Изпъкване редовете, посочени с мишка"
#: libraries/config/messages.inc.php:29
msgid "Highlight pointer"
-msgstr ""
+msgstr "Маркиране на показалеца"
#: libraries/config/messages.inc.php:30
msgid ""
@@ -2345,6 +2354,9 @@ msgid ""
"columns; [kbd]input[/kbd] - allows limiting of input length, [kbd]textarea[/"
"kbd] - allows newlines in columns"
msgstr ""
+"Определя какъв вид полета за редакция да бъдат използвани за колони тип CHAR "
+"и VARCHAR:[kbd]input[/kbd] - позволява ограничаване по дължина, [kbd]textarea"
+"[/kbd] - позволява вмъкването на нови редове"
#: libraries/config/messages.inc.php:33
msgid "CHAR columns editing"
@@ -2415,27 +2427,27 @@ msgstr ""
#: libraries/config/messages.inc.php:48
msgid "Tab that is displayed when entering a database"
-msgstr ""
+msgstr "Показваният подпрозорец при отваряне на БД"
#: libraries/config/messages.inc.php:49
msgid "Default database tab"
-msgstr ""
+msgstr "Подпрозорец по подразбиране за БД"
#: libraries/config/messages.inc.php:50
msgid "Tab that is displayed when entering a server"
-msgstr ""
+msgstr "Показваният подпрозорец при отваряне на сървър"
#: libraries/config/messages.inc.php:51
msgid "Default server tab"
-msgstr ""
+msgstr "Подпрозорец по подразбиране за сървъри"
#: libraries/config/messages.inc.php:52
msgid "Tab that is displayed when entering a table"
-msgstr ""
+msgstr "Показваният подпрозорец при отваряне на таблица"
#: libraries/config/messages.inc.php:53
msgid "Default table tab"
-msgstr ""
+msgstr "Подпрозорец по подразбиране за таблици"
#: libraries/config/messages.inc.php:54
msgid "Show binary contents as HEX by default"
@@ -2459,11 +2471,11 @@ msgstr ""
#: libraries/config/messages.inc.php:59
msgid "Display servers as a list"
-msgstr ""
+msgstr "Показване на сървърите в списък"
#: libraries/config/messages.inc.php:60
msgid "Edit SQL queries in popup window"
-msgstr ""
+msgstr "Редактиране на SQL заявки в отделен прозорец"
#: libraries/config/messages.inc.php:61
msgid "Edit in window"
@@ -2475,15 +2487,16 @@ msgstr "Показване на грешки"
#: libraries/config/messages.inc.php:63
msgid "Gather errors"
-msgstr ""
+msgstr "Събиране на грешки"
#: libraries/config/messages.inc.php:64
msgid "Show icons for warning, error and information messages"
msgstr ""
+"Показване на пиктограми при предупреждения, грешки и информативни съобщения"
#: libraries/config/messages.inc.php:65
msgid "Iconic errors"
-msgstr ""
+msgstr "Пиктограми при грешките"
#: libraries/config/messages.inc.php:66
msgid ""
@@ -2581,7 +2594,7 @@ msgstr "Шаблон за име на таблица"
#: libraries/export/latex.php:39 libraries/export/odt.php:31
#: libraries/export/sql.php:77 libraries/export/texytext.php:22
msgid "Dump table"
-msgstr ""
+msgstr "Схема на таблица"
#: libraries/config/messages.inc.php:90 libraries/export/latex.php:31
msgid "Include table caption"
@@ -2618,7 +2631,7 @@ msgstr "Метод за експортиране"
#: libraries/config/messages.inc.php:112 libraries/config/messages.inc.php:114
msgid "Save on server"
-msgstr ""
+msgstr "Запазване на сървъра"
#: libraries/config/messages.inc.php:113 libraries/config/messages.inc.php:115
#: libraries/display_export.lib.php:195 libraries/display_export.lib.php:221
@@ -3142,7 +3155,7 @@ msgstr ""
#: libraries/config/messages.inc.php:275
msgid "Disable this if you want to see all databases at once"
-msgstr ""
+msgstr "Изключете ако искате да виждате всички БД наведнъж"
#: libraries/config/messages.inc.php:276
msgid "Use light version"
@@ -3184,7 +3197,7 @@ msgstr ""
#: libraries/config/messages.inc.php:285
msgid "Enable highlighting"
-msgstr ""
+msgstr "Включване на синтактично оцветяване"
#: libraries/config/messages.inc.php:286
msgid "Use less graphically intense tabs"
@@ -3301,6 +3314,7 @@ msgid ""
"Disable the default warning that is displayed if mcrypt is missing for "
"cookie authentication"
msgstr ""
+"Скрива предупреждението за липсващ mcrypt при удостоверяване с бисквитки"
#: libraries/config/messages.inc.php:312
msgid "mcrypt warning"
@@ -3462,7 +3476,7 @@ msgstr ""
#: libraries/config/messages.inc.php:352
msgid "Directory where exports can be saved on server"
-msgstr ""
+msgstr "Папка на сървъра, в която експортите да бъдат записвани"
#: libraries/config/messages.inc.php:353
msgid "Save directory"
@@ -3767,7 +3781,7 @@ msgstr ""
#: libraries/config/messages.inc.php:420
msgid "Add DROP DATABASE"
-msgstr ""
+msgstr "Добавяне DROP DATABASE"
#: libraries/config/messages.inc.php:421
msgid ""
@@ -3777,7 +3791,7 @@ msgstr ""
#: libraries/config/messages.inc.php:422
msgid "Add DROP TABLE"
-msgstr ""
+msgstr "Добавяне DROP TABLE"
#: libraries/config/messages.inc.php:423
msgid ""
@@ -3787,7 +3801,7 @@ msgstr ""
#: libraries/config/messages.inc.php:424
msgid "Add DROP VIEW"
-msgstr ""
+msgstr "Добавяне DROP VIEW"
#: libraries/config/messages.inc.php:425
msgid "Defines the list of statements the auto-creation uses for new versions."
@@ -3868,11 +3882,11 @@ msgstr ""
#: libraries/config/messages.inc.php:442
msgid "Show password change form"
-msgstr ""
+msgstr "Показване на формуляр за смяна на парола"
#: libraries/config/messages.inc.php:443
msgid "Show create database form"
-msgstr ""
+msgstr "Показване на формуляр за създаване на БД"
#: libraries/config/messages.inc.php:444
msgid ""
@@ -3900,7 +3914,7 @@ msgstr ""
#: libraries/config/messages.inc.php:449
msgid "Show phpinfo() link"
-msgstr ""
+msgstr "Показване на връзка към phpinfo()"
#: libraries/config/messages.inc.php:450
msgid "Show detailed MySQL server information"
@@ -4226,7 +4240,7 @@ msgstr ""
#: libraries/config/validate.lib.php:367
#, php-format
msgid "Incorrect IP address: %s"
-msgstr ""
+msgstr "Грешен IP адрес: %s"
#. l10n: Language to use for PHP documentation, please use only languages which do exist in official documentation.
#: libraries/core.lib.php:264
@@ -4253,12 +4267,12 @@ msgstr "Име"
#: libraries/db_links.inc.php:42 libraries/db_links.inc.php:43
#: libraries/db_links.inc.php:44
msgid "Database seems to be empty!"
-msgstr ""
+msgstr "БД изглежда празна!"
#: libraries/db_links.inc.php:66 libraries/relation.lib.php:143
#: libraries/tbl_links.inc.php:90
msgid "Tracking"
-msgstr ""
+msgstr "Проследяване"
#: libraries/db_links.inc.php:71
msgid "Query"
@@ -4266,7 +4280,7 @@ msgstr "Запитване по пример"
#: libraries/db_links.inc.php:76 libraries/relation.lib.php:139
msgid "Designer"
-msgstr ""
+msgstr "Строител"
#: libraries/db_links.inc.php:93 libraries/server_links.inc.php:64
#: server_privileges.php:119 server_privileges.php:1802
@@ -4276,11 +4290,11 @@ msgstr "Привилегии"
#: libraries/db_routines.inc.php:24 libraries/db_routines.inc.php:26
msgid "Routines"
-msgstr ""
+msgstr "Процедури"
#: libraries/db_routines.inc.php:37
msgid "Return type"
-msgstr ""
+msgstr "Тип връщани данни"
#: libraries/db_structure.lib.php:48 libraries/display_tbl.lib.php:1929
msgid ""
@@ -4362,7 +4376,7 @@ msgstr ""
#: libraries/display_export.lib.php:87
msgid "Exporting databases from the current server"
-msgstr ""
+msgstr "Експорт на БД от текущия сървър"
#: libraries/display_export.lib.php:89
#, php-format
@@ -4380,11 +4394,11 @@ msgstr "Тип на експортирането:"
#: libraries/display_export.lib.php:113
msgid "Quick - display only the minimal options"
-msgstr ""
+msgstr "Бързо - показване на минимум опции"
#: libraries/display_export.lib.php:129
msgid "Custom - display all possible options"
-msgstr ""
+msgstr "Потребителско - показване на всички опции"
#: libraries/display_export.lib.php:137
msgid "Database(s):"
@@ -4400,7 +4414,7 @@ msgstr "Редове:"
#: libraries/display_export.lib.php:157
msgid "Dump some row(s)"
-msgstr ""
+msgstr "Схема на няколко реда"
#: libraries/display_export.lib.php:159
msgid "Number of rows:"
@@ -4408,7 +4422,7 @@ msgstr "Брой редове:"
#: libraries/display_export.lib.php:162
msgid "Row to begin at:"
-msgstr ""
+msgstr "Ред започва от:"
#: libraries/display_export.lib.php:173
msgid "Dump all rows"
@@ -4453,7 +4467,7 @@ msgstr ""
#: libraries/display_export.lib.php:275
msgid "use this for future exports"
-msgstr ""
+msgstr "прилагане и към бъдещи експорти"
#: libraries/display_export.lib.php:281 libraries/display_import.lib.php:188
#: libraries/display_import.lib.php:201 libraries/sql_query_form.lib.php:516
@@ -4484,7 +4498,7 @@ msgstr "bzip-нато"
#: libraries/display_export.lib.php:328
msgid "View output as text"
-msgstr ""
+msgstr "Показване на изхода като текст"
#: libraries/display_export.lib.php:333 libraries/display_import.lib.php:244
#: libraries/export/codegen.php:37
@@ -4493,7 +4507,7 @@ msgstr "Формат:"
#: libraries/display_export.lib.php:338
msgid "Format-specific options:"
-msgstr ""
+msgstr "Формат-специфични настройки:"
#: libraries/display_export.lib.php:339
msgid ""
@@ -4543,13 +4557,15 @@ msgstr "Файл за импортиране:"
#: libraries/display_import.lib.php:156
#, php-format
msgid "File may be compressed (%s) or uncompressed."
-msgstr ""
+msgstr "Файлът може да е компресиран (%s) или некомпресиран"
#: libraries/display_import.lib.php:158
msgid ""
"A compressed file's name must end in <b>.[format].[compression]</b>. "
"Example: <b>.sql.zip</b>"
msgstr ""
+"Компресираният файл трябва да завършва на <b>.[format].[compression]</b>. "
+"Например: <b>.sql.zip</b>"
#: libraries/display_import.lib.php:178
msgid "File uploads are not allowed on this server."
@@ -4723,11 +4739,11 @@ msgstr "Информация за весията"
#: libraries/engines/innodb.lib.php:22
msgid "Data home directory"
-msgstr ""
+msgstr "Папка с данни"
#: libraries/engines/innodb.lib.php:23
msgid "The common part of the directory path for all InnoDB data files."
-msgstr ""
+msgstr "Общата част от пътя до папката с всички InnoDB файлове."
#: libraries/engines/innodb.lib.php:26
msgid "Data files"
@@ -4771,11 +4787,11 @@ msgstr "страници"
#: libraries/engines/innodb.lib.php:180
msgid "Free pages"
-msgstr ""
+msgstr "Свободни страници"
#: libraries/engines/innodb.lib.php:186
msgid "Dirty pages"
-msgstr ""
+msgstr "Мръсни страници"
#: libraries/engines/innodb.lib.php:192
msgid "Pages containing data"
@@ -4783,15 +4799,15 @@ msgstr "Страници съдържащи данни"
#: libraries/engines/innodb.lib.php:198
msgid "Pages to be flushed"
-msgstr ""
+msgstr "Страници за изчистване"
#: libraries/engines/innodb.lib.php:204
msgid "Busy pages"
-msgstr ""
+msgstr "Заети страници"
#: libraries/engines/innodb.lib.php:213
msgid "Latched pages"
-msgstr ""
+msgstr "Заключени страници"
#: libraries/engines/innodb.lib.php:224
msgid "Buffer Pool Activity"
@@ -4799,27 +4815,27 @@ msgstr ""
#: libraries/engines/innodb.lib.php:228
msgid "Read requests"
-msgstr ""
+msgstr "Заявки за четене"
#: libraries/engines/innodb.lib.php:234
msgid "Write requests"
-msgstr ""
+msgstr "Заявки за запис"
#: libraries/engines/innodb.lib.php:240
msgid "Read misses"
-msgstr ""
+msgstr "Пропуснати прочитания"
#: libraries/engines/innodb.lib.php:246
msgid "Write waits"
-msgstr ""
+msgstr "Изчаквания за запис"
#: libraries/engines/innodb.lib.php:252
msgid "Read misses in %"
-msgstr ""
+msgstr "Пропуснати прочитания в %"
#: libraries/engines/innodb.lib.php:260
msgid "Write waits in %"
-msgstr ""
+msgstr "Изчаквания за запис в %"
#: libraries/engines/myisam.lib.php:22
msgid "Data pointer size"
@@ -4946,7 +4962,7 @@ msgstr ""
#: libraries/engines/pbms.lib.php:60
msgid "Metadata Headers"
-msgstr ""
+msgstr "Заглавки на метаданните"
#: libraries/engines/pbms.lib.php:61
msgid ""
@@ -4975,7 +4991,7 @@ msgstr ""
#: libraries/engines/pbxt.lib.php:22
msgid "Index cache size"
-msgstr ""
+msgstr "Размер на буфера за индекси"
#: libraries/engines/pbxt.lib.php:23
msgid ""
@@ -4985,7 +5001,7 @@ msgstr ""
#: libraries/engines/pbxt.lib.php:27
msgid "Record cache size"
-msgstr ""
+msgstr "Размер на буфера за записи"
#: libraries/engines/pbxt.lib.php:28
msgid ""
@@ -4996,7 +5012,7 @@ msgstr ""
#: libraries/engines/pbxt.lib.php:32
msgid "Log cache size"
-msgstr ""
+msgstr "Размер на буфера на дневника"
#: libraries/engines/pbxt.lib.php:33
msgid ""
@@ -5267,7 +5283,7 @@ msgstr ""
#: libraries/export/sql.php:107
#, php-format
msgid "Add %s statement"
-msgstr ""
+msgstr "Ново заявление %s"
#: libraries/export/sql.php:91
msgid "Add statements:"
@@ -5368,7 +5384,7 @@ msgstr "РЕЛАЦИИ ЗА ТАБЛИЦА"
#: libraries/export/sql.php:873 libraries/export/xml.php:38
#: libraries/tbl_triggers.lib.php:18
msgid "Triggers"
-msgstr ""
+msgstr "Тригери"
#: libraries/export/sql.php:885
#, fuzzy
@@ -5950,11 +5966,11 @@ msgstr "Схема на база данни %s - страница %s"
#: libraries/schema/Export_Relation_Schema.class.php:174
msgid "This page does not contain any tables!"
-msgstr ""
+msgstr "Тази страница не съдържа таблици!"
#: libraries/schema/Export_Relation_Schema.class.php:207
msgid "SCHEMA ERROR: "
-msgstr ""
+msgstr "ГРЕШКА В СХЕМАТА: "
#: libraries/schema/Pdf_Relation_Schema.class.php:877
#: libraries/schema/Pdf_Relation_Schema.class.php:1116
@@ -5998,7 +6014,7 @@ msgstr "Вътрешни релации"
#: libraries/schema/User_Schema.class.php:116
msgid "FOREIGN KEY"
-msgstr ""
+msgstr "FOREIGN KEY"
#: libraries/schema/User_Schema.class.php:148
msgid "Please choose a page to edit"
@@ -6042,7 +6058,7 @@ msgstr "Всички таблици да бъдат показвани с едн
#: libraries/schema/User_Schema.class.php:389
msgid "Only show keys"
-msgstr ""
+msgstr "Само ключовете видими"
#: libraries/schema/User_Schema.class.php:391
msgid "Landscape"
@@ -6083,7 +6099,7 @@ msgstr "ltr"
#: libraries/select_lang.lib.php:502
#, php-format
msgid "Unknown language: %1$s."
-msgstr ""
+msgstr "Непознат език: %1$s."
#: libraries/select_server.lib.php:38 libraries/select_server.lib.php:44
#, fuzzy
@@ -6259,7 +6275,7 @@ msgstr "END RAW"
#: libraries/sqlparser.lib.php:364
msgid "Automatically appended backtick to the end of query!"
-msgstr ""
+msgstr "Автоматично добавяне на апостроф в края на заявката!"
#: libraries/sqlparser.lib.php:367
msgid "Unclosed quote"
@@ -6285,12 +6301,12 @@ msgstr ""
#: libraries/tbl_links.inc.php:106 libraries/tbl_links.inc.php:107
msgid "Table seems to be empty!"
-msgstr ""
+msgstr "Таблицата изглежда празна!"
#: libraries/tbl_links.inc.php:115
#, php-format
msgid "Tracking of %s.%s is activated."
-msgstr ""
+msgstr "Проследяването на %s.%s е активно."
#: libraries/tbl_properties.inc.php:104
msgid "Length/Values"
@@ -6350,11 +6366,11 @@ msgstr ""
#: libraries/tbl_properties.inc.php:371
msgid "ENUM or SET data too long?"
-msgstr ""
+msgstr "Много ENUM или SET данни?"
#: libraries/tbl_properties.inc.php:373
msgid "Get more editing space"
-msgstr ""
+msgstr "Още място за редакция"
#: libraries/tbl_properties.inc.php:396
#, fuzzy
@@ -6365,7 +6381,7 @@ msgstr "Няма"
#: libraries/tbl_properties.inc.php:397
msgid "As defined:"
-msgstr ""
+msgstr "Дефиниран като:"
#: libraries/tbl_properties.inc.php:516 tbl_structure.php:153
#: tbl_structure.php:157 tbl_structure.php:566
@@ -6511,10 +6527,12 @@ msgid ""
"Converts an (IPv4) Internet network address into a string in Internet "
"standard dotted format."
msgstr ""
+"Обръща (IPv4) Интернет мрежови адрес в низ в стандартен Интернет точков "
+"формат."
#: libraries/transformations/text_plain__sql.inc.php:9
msgid "Formats text as SQL query with syntax highlighting."
-msgstr ""
+msgstr "Форматира текст като SQL заявка със синтактично оцветяване."
#: libraries/transformations/text_plain__substr.inc.php:9
msgid ""
@@ -6559,6 +6577,8 @@ msgid ""
"Your browser has phpMyAdmin configuration for this domain. Would you like to "
"import it for current session?"
msgstr ""
+"Браузърът ви има настройки на phpMyAdmin за този домейн. Искате ли да бъдат "
+"използвани за текущата сесия?"
#: libraries/zip_extension.lib.php:25
msgid "No files found inside ZIP archive!"
@@ -6622,7 +6642,7 @@ msgstr "Информация за PHP"
#: main.php:213
msgid "Wiki"
-msgstr ""
+msgstr "Wiki"
#: main.php:216
msgid "Official Homepage"
@@ -6636,7 +6656,7 @@ msgstr "Атрибути"
#: main.php:218
msgid "Get support"
-msgstr ""
+msgstr "Получаване на помощ"
#: main.php:219
#, fuzzy
@@ -6663,6 +6683,8 @@ msgid ""
"option is incompatible with phpMyAdmin and might cause some data to be "
"corrupted!"
msgstr ""
+"Имате включено mbstring.func_overload в настройките на PHP. Тази опция е "
+"несъвместима с phpMyAdmin и може да причини повреда на данни!"
#: main.php:259
msgid ""
@@ -6725,6 +6747,8 @@ msgid ""
"Server running with Suhosin. Please refer to %sdocumentation%s for possible "
"issues."
msgstr ""
+"Сървърът е с кръпка Suhosin. Прочетете %sдокументацията%s за възможни "
+"проблеми."
#: navigation.php:187 server_databases.php:277 server_synchronize.php:1206
msgid "No databases"
@@ -6732,7 +6756,7 @@ msgstr "Няма бази от данни"
#: navigation.php:277
msgid "Filter"
-msgstr ""
+msgstr "Филтър"
#: navigation.php:277
#, fuzzy
@@ -6752,11 +6776,11 @@ msgstr "Моля изберете база от данни"
#: pmd_general.php:74
msgid "Show/Hide left menu"
-msgstr ""
+msgstr "Скриване/Показване на лявото меню"
#: pmd_general.php:78
msgid "Save position"
-msgstr ""
+msgstr "Запазване на позицията"
#: pmd_general.php:81 server_synchronize.php:428 server_synchronize.php:871
#, fuzzy
@@ -6765,15 +6789,15 @@ msgstr "Създай нова Страница"
#: pmd_general.php:84 pmd_general.php:352
msgid "Create relation"
-msgstr ""
+msgstr "Създаване на отношение"
#: pmd_general.php:90
msgid "Reload"
-msgstr ""
+msgstr "Презареждане"
#: pmd_general.php:93
msgid "Help"
-msgstr ""
+msgstr "Помощ"
#: pmd_general.php:97
msgid "Angular links"
@@ -6825,7 +6849,7 @@ msgstr "Брой полета"
#: pmd_general.php:418
msgid "Delete relation"
-msgstr ""
+msgstr "Изтриване на отношение"
#: pmd_general.php:460 pmd_general.php:519
#, fuzzy
@@ -6878,7 +6902,7 @@ msgstr "Опции на таблицата"
#: pmd_help.php:26
msgid "To select relation, click :"
-msgstr ""
+msgstr "За избор на отношение, щракнете:"
#: pmd_help.php:28
msgid ""
@@ -6893,7 +6917,7 @@ msgstr "Страница беше създадена"
#: pmd_pdf.php:37
msgid "Page creation failed"
-msgstr ""
+msgstr "Неуспешно създаване на страница"
#: pmd_pdf.php:89
msgid "Page"
@@ -6919,7 +6943,7 @@ msgstr "Създай нов индекс"
#: pmd_pdf.php:111
msgid "New page name: "
-msgstr ""
+msgstr "Име: "
#: pmd_pdf.php:114
msgid "Export/Import to scale"
@@ -6927,19 +6951,19 @@ msgstr ""
#: pmd_pdf.php:119
msgid "recommended"
-msgstr ""
+msgstr "препоръчително"
#: pmd_relation_new.php:29
msgid "Error: relation already exists."
-msgstr ""
+msgstr "Грешка: Зависимостта вече съществува."
#: pmd_relation_new.php:61 pmd_relation_new.php:86
msgid "Error: Relation not added."
-msgstr ""
+msgstr "Грешка: Зависимостта не е добавена."
#: pmd_relation_new.php:62
msgid "FOREIGN KEY relation added"
-msgstr ""
+msgstr "FOREIGN KEY зависимост е добавена"
#: pmd_relation_new.php:84
#, fuzzy
@@ -6953,7 +6977,7 @@ msgstr "Преглед на релациите"
#: pmd_save_pos.php:44
msgid "Error saving coordinates for Designer."
-msgstr ""
+msgstr "Грешка при запазване на координатите в Строител."
#: pmd_save_pos.php:52
msgid "Modifications have been saved"
@@ -6961,7 +6985,7 @@ msgstr "Промените бяха съхранени"
#: prefs_forms.php:78
msgid "Cannot save settings, submitted form contains errors"
-msgstr ""
+msgstr "Промените не бяха запазени, изпратения формуляр съдържа грешки."
#: prefs_manage.php:80
msgid "Could not import configuration"
@@ -6969,15 +6993,15 @@ msgstr "Конфигурацията не може да бъде импорти
#: prefs_manage.php:112
msgid "Configuration contains incorrect data for some fields."
-msgstr ""
+msgstr "Конфигурацията съдържа грешни данни за някои ключове."
#: prefs_manage.php:128
msgid "Do you want to import remaining settings?"
-msgstr ""
+msgstr "Искате ли да импортирате оставащите настройки?"
#: prefs_manage.php:225 prefs_manage.php:251
msgid "Saved on: @DATE@"
-msgstr ""
+msgstr "Записан на: @DATE@"
#: prefs_manage.php:239
#, fuzzy
@@ -6995,7 +7019,7 @@ msgstr "Настройки ще бъдат импортирани от лока
#: prefs_manage.php:254
msgid "You have no saved settings!"
-msgstr ""
+msgstr "Нямате запазени настройки!"
#: prefs_manage.php:258 prefs_manage.php:312
msgid "This feature is not supported by your web browser"
@@ -7020,7 +7044,7 @@ msgstr "Запис в хранилището на браузъра"
#: prefs_manage.php:306
msgid "Settings will be saved in your browser's local storage."
-msgstr ""
+msgstr "Настройките ще бъдат запазени в хранилището на вашия браузър"
#: prefs_manage.php:308
msgid "Existing settings will be overwritten!"
@@ -7106,11 +7130,11 @@ msgstr "Статистика за базите данни"
#: server_databases.php:183 server_replication.php:179
#: server_replication.php:207
msgid "Master replication"
-msgstr ""
+msgstr "Главен сървър"
#: server_databases.php:185 server_replication.php:246
msgid "Slave replication"
-msgstr ""
+msgstr "Подчинен сървър"
#: server_databases.php:268 server_databases.php:269
msgid "Enable Statistics"
@@ -7624,6 +7648,8 @@ msgid ""
"This server is not configured as master in a replication process. Would you "
"like to <a href=\"%s\">configure</a> it?"
msgstr ""
+"Този сървър не е настроен като главен в репликация. Желаете ли да го <a href="
+"\"%s\">настроите</a>?"
#: server_replication.php:215
msgid "Master configuration"
@@ -7682,11 +7708,11 @@ msgstr ""
#: server_replication.php:309
msgid "Synchronize databases with master"
-msgstr ""
+msgstr "Синхронизиране на БД с главен"
#: server_replication.php:320
msgid "Control slave:"
-msgstr ""
+msgstr "Контролиране на подчинения:"
#: server_replication.php:323
#, fuzzy
@@ -7695,47 +7721,49 @@ msgstr "Пълнотекстово"
#: server_replication.php:323
msgid "Full stop"
-msgstr ""
+msgstr "Пълно спиране"
#: server_replication.php:324
msgid "Reset slave"
-msgstr ""
+msgstr "Нулиране на подчинения"
#: server_replication.php:326
msgid "Start SQL Thread only"
-msgstr ""
+msgstr "Пускане само на SQL нишка"
#: server_replication.php:328
msgid "Stop SQL Thread only"
-msgstr ""
+msgstr "Спиране само на SQL нишка"
#: server_replication.php:331
msgid "Start IO Thread only"
-msgstr ""
+msgstr "Пускане само на В/И нишка"
#: server_replication.php:333
msgid "Stop IO Thread only"
-msgstr ""
+msgstr "Спиране само на В/И нишка"
#: server_replication.php:338
msgid "Error management:"
-msgstr ""
+msgstr "Обработка на грешки:"
#: server_replication.php:340
msgid "Skipping errors might lead into unsynchronized master and slave!"
msgstr ""
+"Прескачане на грешки може да доведе до десинхронизация между главния и "
+"подчинените сървъри!"
#: server_replication.php:342
msgid "Skip current error"
-msgstr ""
+msgstr "Прескачане на текущата"
#: server_replication.php:343
msgid "Skip next"
-msgstr ""
+msgstr "Прескачане на следващата"
#: server_replication.php:346
msgid "errors."
-msgstr ""
+msgstr "грешки."
#: server_replication.php:361
#, php-format
@@ -7743,6 +7771,8 @@ msgid ""
"This server is not configured as slave in a replication process. Would you "
"like to <a href=\"%s\">configure</a> it?"
msgstr ""
+"Този сървър не е настроен като подчинен в репликация. Желаете ли да го <a "
+"href=\"%s\">настроите</a>?"
#: server_status.php:46
msgid ""
@@ -8047,7 +8077,7 @@ msgstr ""
#: server_status.php:106
msgid "The number of rows deleted from InnoDB tables."
-msgstr ""
+msgstr "Броят изтрити редове от InnoDB таблици."
#: server_status.php:107
#, fuzzy
@@ -8056,7 +8086,7 @@ msgstr "Брой заявки за вмъкване на ред в таблиц
#: server_status.php:108
msgid "The number of rows read from InnoDB tables."
-msgstr ""
+msgstr "Броят прочетени редове от InnoDB таблици."
#: server_status.php:109
#, fuzzy
@@ -8138,7 +8168,7 @@ msgstr ""
#: server_status.php:124
msgid "The amount of free memory for query cache."
-msgstr ""
+msgstr "Количеството свободна памет за буфер за заявки."
#: server_status.php:125
#, fuzzy
@@ -8147,7 +8177,7 @@ msgstr "Брой на сортираните редове."
#: server_status.php:126
msgid "The number of queries added to the cache."
-msgstr ""
+msgstr "Броят заявки добавени към буфера."
#: server_status.php:127
msgid ""
@@ -8165,11 +8195,11 @@ msgstr ""
#: server_status.php:129
msgid "The number of queries registered in the cache."
-msgstr ""
+msgstr "Броят заявки регистрирани в буфера."
#: server_status.php:130
msgid "The total number of blocks in the query cache."
-msgstr ""
+msgstr "Общият брой блокове в буфера за заявки."
#: server_status.php:131
msgctxt "$strShowStatusReset"
@@ -8346,7 +8376,7 @@ msgstr ""
#: server_status.php:415
msgid "Flush query cache"
-msgstr ""
+msgstr "Изчистване на буфера за заявки"
#: server_status.php:420
msgid "Show processes"
@@ -8480,79 +8510,79 @@ msgstr ""
#: server_synchronize.php:263
msgid "Structure Synchronization"
-msgstr ""
+msgstr "Синхронизиране на структурата"
#: server_synchronize.php:270
msgid "Data Synchronization"
-msgstr ""
+msgstr "Синхронизиране на данните"
#: server_synchronize.php:399 server_synchronize.php:838
msgid "not present"
-msgstr ""
+msgstr "не съществува"
#: server_synchronize.php:423 server_synchronize.php:866
msgid "Structure Difference"
-msgstr ""
+msgstr "Структурни различия"
#: server_synchronize.php:424 server_synchronize.php:867
msgid "Data Difference"
-msgstr ""
+msgstr "Различия в данните"
#: server_synchronize.php:429 server_synchronize.php:872
msgid "Add column(s)"
-msgstr ""
+msgstr "Добавяне на колона(и)"
#: server_synchronize.php:430 server_synchronize.php:873
msgid "Remove column(s)"
-msgstr ""
+msgstr "Изтриване на колона(и)"
#: server_synchronize.php:431 server_synchronize.php:874
msgid "Alter column(s)"
-msgstr ""
+msgstr "Промяна на колона(и)"
#: server_synchronize.php:432 server_synchronize.php:875
msgid "Remove index(s)"
-msgstr ""
+msgstr "Изтриване на индекс(и)"
#: server_synchronize.php:433 server_synchronize.php:876
msgid "Apply index(s)"
-msgstr ""
+msgstr "Добавяне на индекс(и)"
#: server_synchronize.php:434 server_synchronize.php:877
msgid "Update row(s)"
-msgstr ""
+msgstr "Обновяване на � _synchronize.php:877 �та"