Check before commit!

This commit is contained in:
Michal Čihař
2006-11-17 08:49:22 +00:00
parent 1042770109
commit 3ce5fa581f
24 changed files with 165 additions and 188 deletions

View File

@@ -5,6 +5,40 @@ phpMyAdmin - ChangeLog
$Id$ $Id$
$Source$ $Source$
2006-11-17 Michal Čihař <michal@cihar.com>
* sql.php, libraries/display_tbl.lib.php: Force pos to be integer to avoid
XSS.
2006-11-09 Marc Delisle <lem9@users.sourceforge.net>
### 2.9.1 released from MAINT_2_9_1
2006-11-03 Michal Čihař <michal@cihar.com>
* config.sample.inc.php: Make it use CRLF to make Windows users happy.
2006-11-02 Michal Čihař <michal@cihar.com>
* Documentation.html: Mention problems with Hardened-PHP.
* lang/dutch: Fix typo, thanks to Thijs Kinkhorst - kink.
2006-11-01 Marc Delisle <lem9@users.sourceforge.net>
### 2.9.1-rc2 released from QA_2_9
2006-10-27 Marc Delisle <lem9@users.sourceforge.net>
* libraries/fpdf/font: replace broken binary files
2006-10-26 Marc Delisle <lem9@users.sourceforge.net>
* error.php, libraries/common.lib.php, /database_interface.lib.php,
/session.inc.php: force utf-8 charset to avoid XSS with crafted URL
and utf-7 in charset; error messages won't display correctly
if the chosen lang is not utf-8
2006-10-26 Michal Čihař <michal@cihar.com>
* libraries/import/csv.php: Fix wrong import when ;; is at buffer boundary
(bug #1584836).
* tbl_properties_operations.php: Fix duplicate ID for checkbox (bug
#1584770).
* libraries/tbl_properties.inc.php: Check form only when saving table
fields (bug #1566222).
2006-10-25 Michal Čihař <michal@cihar.com> 2006-10-25 Michal Čihař <michal@cihar.com>
* libraries/export/csv.php: Fix cvs/csv typo (bug #1583509). * libraries/export/csv.php: Fix cvs/csv typo (bug #1583509).

View File

@@ -11,7 +11,7 @@
<link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" />
<link rel="shortcut 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=iso-8859-1" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>phpMyAdmin 2.9.1-dev - Documentation</title> <title>phpMyAdmin 2.9.2-dev - Documentation</title>
<link rel="stylesheet" type="text/css" href="docs.css" /> <link rel="stylesheet" type="text/css" href="docs.css" />
</head> </head>
@@ -33,7 +33,7 @@
<li><a href="#glossary">Glossary</a></li> <li><a href="#glossary">Glossary</a></li>
</ul> </ul>
<h1>phpMyAdmin 2.9.1-dev Documentation</h1> <h1>phpMyAdmin 2.9.2-dev Documentation</h1>
<ul><li><a href="http://www.phpmyadmin.net/"> <ul><li><a href="http://www.phpmyadmin.net/">
phpMyAdmin homepage</a></li> phpMyAdmin homepage</a></li>
@@ -2826,6 +2826,10 @@ RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
<li>In the <tt>php.ini</tt> directive <tt>arg_separator.input</tt>, a value <li>In the <tt>php.ini</tt> directive <tt>arg_separator.input</tt>, a value
of &quot;;&quot; will cause this error. Replace it with &quot;&amp;;&quot;. of &quot;;&quot; will cause this error. Replace it with &quot;&amp;;&quot;.
</li> </li>
<li>If you are using <a href="http://www.hardened-php.net/">Hardened-PHP</a>,
you might want to increase
<a href="http://www.hardened-php.net/hphp/troubleshooting.html">request limits</a>.
</li>
</ul> </ul>
<h3 id="faqlimitations">Known limitations</h3> <h3 id="faqlimitations">Known limitations</h3>

2
README
View File

@@ -5,7 +5,7 @@ phpMyAdmin - Readme
A set of PHP-scripts to manage MySQL over the web. A set of PHP-scripts to manage MySQL over the web.
Version 2.9.1-dev Version 2.9.2-dev
----------------- -----------------
http://www.phpmyadmin.net/ http://www.phpmyadmin.net/

View File

@@ -14,7 +14,8 @@ require_once('./libraries/sanitizing.lib.php');
/* Get variables */ /* Get variables */
$lang = isset( $_REQUEST['lang'] ) ? htmlspecialchars($_REQUEST['lang']) : 'en'; $lang = isset( $_REQUEST['lang'] ) ? htmlspecialchars($_REQUEST['lang']) : 'en';
$dir = isset( $_REQUEST['dir'] ) ? htmlspecialchars($_REQUEST['dir']) : 'ltr'; $dir = isset( $_REQUEST['dir'] ) ? htmlspecialchars($_REQUEST['dir']) : 'ltr';
$charset = isset( $_REQUEST['charset'] ) ? htmlspecialchars($_REQUEST['charset']) : 'utf-8'; // force utf-8 to avoid XSS with crafted URL and utf-7 in charset parameter
$charset = 'utf-8';
$type = isset( $_REQUEST['type'] ) ? htmlspecialchars($_REQUEST['type']) : 'error'; $type = isset( $_REQUEST['type'] ) ? htmlspecialchars($_REQUEST['type']) : 'error';
header('Content-Type: text/html; charset=' . $charset); header('Content-Type: text/html; charset=' . $charset);

View File

@@ -346,7 +346,7 @@ $strLogin = 'Inloggen';
$strLogout = 'Uitloggen'; $strLogout = 'Uitloggen';
$strLogPassword = 'Wachtwoord:'; $strLogPassword = 'Wachtwoord:';
$strLogServer = 'Server'; $strLogServer = 'Server';
$strLogUsername = 'Gebruikers naam:'; $strLogUsername = 'Gebruikersnaam:';
$strMaximumSize = 'Maximale grootte: %s%s'; $strMaximumSize = 'Maximale grootte: %s%s';
$strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.'; $strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.';

View File

@@ -346,7 +346,7 @@ $strLogin = 'Inloggen';
$strLogout = 'Uitloggen'; $strLogout = 'Uitloggen';
$strLogPassword = 'Wachtwoord:'; $strLogPassword = 'Wachtwoord:';
$strLogServer = 'Server'; $strLogServer = 'Server';
$strLogUsername = 'Gebruikers naam:'; $strLogUsername = 'Gebruikersnaam:';
$strMaximumSize = 'Maximale grootte: %s%s'; $strMaximumSize = 'Maximale grootte: %s%s';
$strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.'; $strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.';

View File

@@ -347,7 +347,7 @@ $strLogin = 'Inloggen';
$strLogout = 'Uitloggen'; $strLogout = 'Uitloggen';
$strLogPassword = 'Wachtwoord:'; $strLogPassword = 'Wachtwoord:';
$strLogServer = 'Server'; $strLogServer = 'Server';
$strLogUsername = 'Gebruikers naam:'; $strLogUsername = 'Gebruikersnaam:';
$strMaximumSize = 'Maximale grootte: %s%s'; $strMaximumSize = 'Maximale grootte: %s%s';
$strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.'; $strMbExtensionMissing = 'De mbstring PHP extensie werd niet gevonden en u lijkt een multibyte charset te gebruiken. Zonder de mbstring extensie kan phpMyAdmin strings niet correct splitsen wat tot onverwachte resultaten kan leiden.';

View File

@@ -142,7 +142,7 @@ $strCheckPrivs = '
$strCheckPrivsLong = '<27>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X &quot;%s&quot; <20>̓<EFBFBD><CC93><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD>B'; $strCheckPrivsLong = '<27>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X &quot;%s&quot; <20>̓<EFBFBD><CC93><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD>B';
$strCheckTable = '<27>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD>'; $strCheckTable = '<27>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD>';
$strChoosePage = '<27>ҏW<D28F><57><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B'; $strChoosePage = '<27>ҏW<D28F><57><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B';
$strColComFeat = '<27><><EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>\<5C><><EFBFBD>@<40>\'; $strColComFeat = '<27><><EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>\<5C><><EFBFBD>@<40>\\';
$strCollation = '<27>ƍ<EFBFBD><C68D><EFBFBD><EFBFBD><EFBFBD>'; $strCollation = '<27>ƍ<EFBFBD><C68D><EFBFBD><EFBFBD><EFBFBD>';
$strColumnNames = '<27><>(<28>J<EFBFBD><4A><EFBFBD><EFBFBD>)'; $strColumnNames = '<27><>(<28>J<EFBFBD><4A><EFBFBD><EFBFBD>)';
$strColumnPrivileges = '<27>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD>̓<EFBFBD><CC93><EFBFBD>'; $strColumnPrivileges = '<27>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD>̓<EFBFBD><CC93><EFBFBD>';
@@ -174,7 +174,7 @@ $strCreateIndexTopic = '
$strCreateNewDatabase = '<27>V<EFBFBD>K<EFBFBD>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD><58><EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>'; $strCreateNewDatabase = '<27>V<EFBFBD>K<EFBFBD>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD><58><EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>';
$strCreateNewTable = '<27>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD>u%s<>Ƀe<C983>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>K<EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>'; $strCreateNewTable = '<27>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD>u%s<>Ƀe<C983>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>K<EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>';
$strCreatePage = '<27>V<EFBFBD>K<EFBFBD>y<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>'; $strCreatePage = '<27>V<EFBFBD>K<EFBFBD>y<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EC90AC><EFBFBD><EFBFBD>';
$strCreatePdfFeat = 'PDF <EFBFBD><EFBFBD>@<EFBFBD>\'; $strCreatePdfFeat = 'PDF <20><EFBFBD>@<40>\\';
$strCreateUserDatabase = '<27><><EFBFBD>[<5B>U<EFBFBD><55><EFBFBD>p<EFBFBD>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X'; $strCreateUserDatabase = '<27><><EFBFBD>[<5B>U<EFBFBD><55><EFBFBD>p<EFBFBD>f<EFBFBD>[<5B>^<5E>x<EFBFBD>[<5B>X';
$strCreateUserDatabaseName = '<27><><EFBFBD>̃f<CC83>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD><58><EFBFBD><EFBFBD><EC90AC><EFBFBD>Ă<EFBFBD><C482>ׂĂ̓<C482><CC93><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD>܂<EFBFBD>'; $strCreateUserDatabaseName = '<27><><EFBFBD>̃f<CC83>[<5B>^<5E>x<EFBFBD>[<5B>X<EFBFBD><58><EFBFBD><EFBFBD><EC90AC><EFBFBD>Ă<EFBFBD><C482>ׂĂ̓<C482><CC93><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD>܂<EFBFBD>';
$strCreateUserDatabaseNone = '<27>Ȃ<EFBFBD>'; $strCreateUserDatabaseNone = '<27>Ȃ<EFBFBD>';
@@ -239,7 +239,7 @@ $strDictionary = '
$strDirtyPages = '<27><><EFBFBD>ȃy<C883>[<5B>W<EFBFBD><57>'; $strDirtyPages = '<27><><EFBFBD>ȃy<C883>[<5B>W<EFBFBD><57>';
$strDisabled = '<27><><EFBFBD><EFBFBD>'; $strDisabled = '<27><><EFBFBD><EFBFBD>';
$strDisableForeignChecks = '<27>O<EFBFBD><4F><EFBFBD>L<EFBFBD>[<5B>̌<EFBFBD><CC8C><EFBFBD><EFBFBD>𖳌<EFBFBD><F096B38C>ɂ<EFBFBD><C982><EFBFBD>'; $strDisableForeignChecks = '<27>O<EFBFBD><4F><EFBFBD>L<EFBFBD>[<5B>̌<EFBFBD><CC8C><EFBFBD><EFBFBD>𖳌<EFBFBD><F096B38C>ɂ<EFBFBD><C982><EFBFBD>';
$strDisplayFeat = '<27>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD>@<40>\'; $strDisplayFeat = '<27>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD>@<40>\\';
$strDisplayOrder = '<27>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'; $strDisplayOrder = '<27>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:';
$strDisplayPDF = 'PDF <20>X<EFBFBD>L<EFBFBD>[<5B>}<7D>̕\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'; $strDisplayPDF = 'PDF <20>X<EFBFBD>L<EFBFBD>[<5B>}<7D>̕\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
$strDoAQuery = '"<22><><EFBFBD><EFBFBD>QUERY"<22><><EFBFBD><EFBFBD><EFBFBD>s (<28><><EFBFBD>C<EFBFBD><43><EFBFBD>h<EFBFBD>J<EFBFBD>[<5B>h: "%")'; $strDoAQuery = '"<22><><EFBFBD><EFBFBD>QUERY"<22><><EFBFBD><EFBFBD><EFBFBD>s (<28><><EFBFBD>C<EFBFBD><43><EFBFBD>h<EFBFBD>J<EFBFBD>[<5B>h: "%")';
@@ -317,7 +317,7 @@ $strFunction = '
$strFunctions = '<27>֐<EFBFBD>'; $strFunctions = '<27>֐<EFBFBD>';
$strGenBy = '<27><><EFBFBD><EFBFBD><EFBFBD>‹<EFBFBD>'; $strGenBy = '<27><><EFBFBD><EFBFBD><EFBFBD>‹<EFBFBD>';
$strGeneralRelationFeat = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<EFBFBD>\'; $strGeneralRelationFeat = '<27><><EFBFBD><EFBFBD><EFBFBD>[<5B>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>@<40>\\';
$strGenerate = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'; $strGenerate = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
$strGeneratePassword = '<27>p<EFBFBD>X<EFBFBD><58><EFBFBD>[<5B>h<EFBFBD>𐶐<EFBFBD><F090B690><EFBFBD><EFBFBD><EFBFBD>'; $strGeneratePassword = '<27>p<EFBFBD>X<EFBFBD><58><EFBFBD>[<5B>h<EFBFBD>𐶐<EFBFBD><F090B690><EFBFBD><EFBFBD><EFBFBD>';
$strGenTime = '<27><EFBFBD>̎<EFBFBD><CC8E><EFBFBD>'; $strGenTime = '<27><EFBFBD>̎<EFBFBD><CC8E><EFBFBD>';

View File

@@ -80,7 +80,7 @@ class PMA_Config
*/ */
function checkSystem() function checkSystem()
{ {
$this->set('PMA_VERSION', '2.9.1-dev'); $this->set('PMA_VERSION', '2.9.2-dev');
/** /**
* @deprecated * @deprecated
*/ */

View File

@@ -2971,7 +2971,6 @@ if (empty($_SESSION['PMA_Config'])) {
if (!function_exists('preg_replace')) { if (!function_exists('preg_replace')) {
header('Location: error.php' header('Location: error.php'
. '?lang=' . urlencode($available_languages[$lang][2]) . '?lang=' . urlencode($available_languages[$lang][2])
. '&charset=' . urlencode($charset)
. '&dir=' . urlencode($text_dir) . '&dir=' . urlencode($text_dir)
. '&type=' . urlencode($strError) . '&type=' . urlencode($strError)
. '&error=' . urlencode( . '&error=' . urlencode(
@@ -3180,7 +3179,6 @@ if (! defined('PMA_MINIMUM_COMMON')) {
if (!file_exists('./libraries/auth/' . $cfg['Server']['auth_type'] . '.auth.lib.php')) { if (!file_exists('./libraries/auth/' . $cfg['Server']['auth_type'] . '.auth.lib.php')) {
header('Location: error.php' header('Location: error.php'
. '?lang=' . urlencode($available_languages[$lang][2]) . '?lang=' . urlencode($available_languages[$lang][2])
. '&charset=' . urlencode($charset)
. '&dir=' . urlencode($text_dir) . '&dir=' . urlencode($text_dir)
. '&type=' . urlencode($strError) . '&type=' . urlencode($strError)
. '&error=' . urlencode( . '&error=' . urlencode(

View File

@@ -56,7 +56,6 @@ if ( ! PMA_DBI_checkAndLoadMysqlExtension( $GLOBALS['cfg']['Server']['extension'
// if alternativ fails too ... // if alternativ fails too ...
header( 'Location: error.php' header( 'Location: error.php'
. '?lang=' . urlencode( $available_languages[$lang][2] ) . '?lang=' . urlencode( $available_languages[$lang][2] )
. '&charset=' . urlencode( $charset )
. '&dir=' . urlencode( $text_dir ) . '&dir=' . urlencode( $text_dir )
. '&type=' . urlencode( $strError ) . '&type=' . urlencode( $strError )
. '&error=' . urlencode( . '&error=' . urlencode(

View File

@@ -13,6 +13,9 @@ require_once './libraries/Table.class.php';
*/ */
if (!isset($pos)) { if (!isset($pos)) {
$pos = 0; $pos = 0;
} else {
/* We need this to be a integer */
$pos = (int)$pos;
} }
/** /**

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -142,10 +142,10 @@ if ($plugin_param == 'table') {
if (!$csv_finish) { if (!$csv_finish) {
// Grab empty field // Grab empty field
if ($ch == $csv_terminated) { if ($ch == $csv_terminated) {
$values[] = '';
if ($i == $len - 1) { if ($i == $len - 1) {
break; break;
} }
$values[] = '';
$i++; $i++;
$ch = $buffer[$i]; $ch = $buffer[$i];
continue; continue;
@@ -154,10 +154,10 @@ if ($plugin_param == 'table') {
// Grab one field // Grab one field
$fallbacki = $i; $fallbacki = $i;
if ($ch == $csv_enclosed) { if ($ch == $csv_enclosed) {
$need_end = TRUE;
if ($i == $len - 1) { if ($i == $len - 1) {
break; break;
} }
$need_end = TRUE;
$i++; $i++;
$ch = $buffer[$i]; $ch = $buffer[$i];
} else { } else {

View File

@@ -25,7 +25,6 @@ if (!@function_exists('session_name')) {
// (do not use &amp; for parameters sent by header) // (do not use &amp; for parameters sent by header)
header('Location: error.php' header('Location: error.php'
. '?lang=' . urlencode($available_languages[$lang][2]) . '?lang=' . urlencode($available_languages[$lang][2])
. '&charset=' . urlencode($charset)
. '&dir=' . urlencode($text_dir) . '&dir=' . urlencode($text_dir)
. '&type=' . urlencode($strError) . '&type=' . urlencode($strError)
. '&error=' . urlencode(sprintf($strCantLoad, 'session'))); . '&error=' . urlencode(sprintf($strCantLoad, 'session')));

View File

@@ -43,7 +43,7 @@ function display_field_options(field_type, i) {
</script> </script>
<?php } ?> <?php } ?>
<form method="post" action="<?php echo $action; ?>" onsubmit="return checkTableEditForm(this, <?php echo $num_fields; ?>)" > <form method="post" action="<?php echo $action; ?>">
<?php <?php
echo PMA_generate_common_hidden_inputs($db, $table); echo PMA_generate_common_hidden_inputs($db, $table);
if ($action == 'tbl_create.php') { if ($action == 'tbl_create.php') {
@@ -673,7 +673,7 @@ if ($action == 'tbl_create.php') {
?> ?>
<fieldset class="tblFooters"> <fieldset class="tblFooters">
<input type="submit" name="do_save_data" value="<?php echo $strSave; ?>" /> <input type="submit" name="do_save_data" value="<?php echo $strSave; ?>" onclick="return checkTableEditForm(this.form, <?php echo $num_fields; ?>)" />
<?php if ($action == 'tbl_create.php' || $action == 'tbl_addfield.php') { ?> <?php if ($action == 'tbl_create.php' || $action == 'tbl_addfield.php') { ?>
<?php echo $GLOBALS['strOr']; ?> <?php echo $GLOBALS['strOr']; ?>
<?php echo sprintf( $strAddFields, '<input type="text" id="added_fields" name="added_fields" size="2" value="1" onfocus="this.select()" />' ); ?> <?php echo sprintf( $strAddFields, '<input type="text" id="added_fields" name="added_fields" size="2" value="1" onfocus="this.select()" />' ); ?>

View File

@@ -68,61 +68,39 @@
# - added release todo list # - added release todo list
# #
cvsserver=${cvsserver:-phpmyadmin.cvs.sourceforge.net}
KITS="all-languages-utf-8-only all-languages english" KITS="all-languages-utf-8-only all-languages english"
COMPRESSIONS="zip-7z tbz tgz 7z" COMPRESSIONS="zip-7z tbz tgz 7z"
# third param is the user; when creating a release we don't want
# to suffer from the delay between anonymous cvs and developer cvs
if [ $# = 0 ] if [ $# = 0 ]
then then
echo "Usage: create-release.sh version from_branch devname" echo "Usages:"
echo " create-release.sh <version> [from_branch]"
echo " create-release.sh snapshot [sf]"
echo " (no spaces allowed!)" echo " (no spaces allowed!)"
echo "" echo ""
echo "Example: create-release.sh 2.9.0-rc1 QA_2_9 lem9" echo "Examples:"
echo " create-release.sh 2.9.0-rc1 branches/QA_2_9"
echo " create-release.sh 2.9.0 tags/RELEASE_2_9_0"
exit 65 exit 65
fi fi
if [ "$1" = "snapshot" ] branch='trunk'
then
branch=''
elif [ "$#" -ge 2 ]
then
branch="-r $2"
fi
user="anonymous" if [ "$1" = "snapshot" ] ; then
if [ "$#" -eq 3 ] mode="snapshot"
then date_snapshot=`date +%Y%m%d-%H%M%S`
user=$3 target=$date_snapshot
fi
if [ $1 = "snapshot" ]
then
mode="snapshot"
date_snapshot=`date +%Y%m%d-%H%M%S`
fi
# Set target name
if [ "$mode" != "snapshot" ]
then
target=$1
else else
target=$date_snapshot if [ "$#" -ge 2 ] ; then
fi branch="$2"
fi
target="$1"
if [ "$mode" != "snapshot" ] cat <<END
then
cat <<END
Please ensure you have: Please ensure you have:
1. incremented rc count or version in CVS : 1. incremented rc count or version in subversion :
- in libraries/Config.class.php PMA_Config::__constructor() the line - in libraries/Config.class.php PMA_Config::__constructor() the line
" $this->set( 'PMA_VERSION', '2.7.1-dev' ); " " \$this->set( 'PMA_VERSION', '$1' ); "
- in Documentation.html the 2 lines - in Documentation.html the 2 lines
" <title>phpMyAdmin $1 - Documentation</title> " " <title>phpMyAdmin $1 - Documentation</title> "
" <h1>phpMyAdmin $1 Documentation</h1> " " <h1>phpMyAdmin $1 Documentation</h1> "
@@ -136,76 +114,40 @@ Please ensure you have:
Continue (y/n)? Continue (y/n)?
END END
printf "\a" read do_release
read do_release
if [ "$do_release" != 'y' ]; then if [ "$do_release" != 'y' ]; then
exit exit
fi fi
fi fi
if [ "$mode" = "snapshot" -a "$2" != "local" ] ; then if [ "$mode" = "snapshot" -a "$2" = "sf" ] ; then
# Goto project dir # Goto project dir
cd /home/groups/p/ph/phpmyadmin/htdocs cd /home/groups/p/ph/phpmyadmin/htdocs
## Move old cvs dir # Keep one previous version of the cvs directory
#if [ -e cvs ]; if [ -e svn-prev ] ; then
#then rm -rf svn-prev
# mv cvs cvs-`date +%s`
#fi
# Keep one previous version of the cvs directory
if [ -e cvs-prev ];
then
rm -rf cvs-prev
fi fi
mv cvs cvs-prev mv svn svn-prev
fi fi
# Do CVS checkout # Do SVNcheckout
mkdir cvs mkdir -p ./svn
cd cvs cd svn
if [ "$mode" != "snapshot" ] ; then echo "Exporting repository from subversion"
if grep -Fq ':pserver:anonymous@phpmyadmin.cvs.sourceforge.net:2401/cvsroot/phpmyadmin' ~/.cvspass ; then
echo "You seem to be already logged into phpMyAdmin CVS, skipping that"
else
if [ $user = "anonymous" ] ; then
echo "Press [ENTER]!"
cvs -q -d:pserver:anonymous@$cvsserver:/cvsroot/phpmyadmin login
if [ $? -ne 0 ] ; then
echo "CVS login failed, bailing out"
exit 1
fi
fi
fi
fi
if [ $user = "anonymous" ] ; then svn export -q https://svn.sourceforge.net/svnroot/phpmyadmin/$branch/phpMyAdmin
cvs -q -z3 -d:pserver:anonymous@$cvsserver:/cvsroot/phpmyadmin co -P $branch phpMyAdmin
else
cvs -q -z3 -d:ext:$user@$cvsserver:/cvsroot/phpmyadmin co -P $branch phpMyAdmin
fi
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
echo "CVS checkout failed, bailing out" echo "Subversion checkout failed, bailing out"
exit 2 exit 2
fi fi
# Cleanup release dir # Cleanup release dir
LC_ALL=C date -u > phpMyAdmin/RELEASE-DATE-${target} LC_ALL=C date -u > phpMyAdmin/RELEASE-DATE-${target}
# Olivier asked to keep those in the cvs release, to allow testers to use
# cvs update on it
if [ "$mode" != "snapshot" ]
then
find phpMyAdmin \( -name .cvsignore -o -name CVS \) -print0 | xargs -0 rm -rf
fi
find phpMyAdmin -type d -print0 | xargs -0 chmod 755
find phpMyAdmin -type f -print0 | xargs -0 chmod 644
find phpMyAdmin \( -name '*.sh' -o -name '*.pl' \) -print0 | xargs -0 chmod 755
# Building Documentation.txt # Building Documentation.txt
LC_ALL=C w3m -dump phpMyAdmin/Documentation.html > phpMyAdmin/Documentation.txt LC_ALL=C w3m -dump phpMyAdmin/Documentation.html > phpMyAdmin/Documentation.txt
@@ -296,8 +238,8 @@ cat <<END
Todo now: Todo now:
--------- ---------
1. tag the cvs tree with the new revision number for a plain release or a 1. tag the subversion tree with the new revision number for a plain release
release candidate: or a release candidate:
version 2.7.0 gets two tags: RELEASE_2_7_0 and STABLE version 2.7.0 gets two tags: RELEASE_2_7_0 and STABLE
version 2.7.1-rc1 gets RELEASE_2_7_1RC1 and TESTING version 2.7.1-rc1 gets RELEASE_2_7_1RC1 and TESTING
@@ -305,7 +247,7 @@ Todo now:
ftp upload.sourceforge.net ftp upload.sourceforge.net
cd incoming cd incoming
binary binary
mput cvs/*.gz *.zip *.bz2 mput svn/*.gz *.zip *.bz2
3. add files to SF files page (cut and paste changelog since last release) 3. add files to SF files page (cut and paste changelog since last release)
4. add SF news item to phpMyAdmin project 4. add SF news item to phpMyAdmin project
5. update web page: 5. update web page:
@@ -320,7 +262,7 @@ Todo now:
Don't forget to update the Description section in the announcement, Don't forget to update the Description section in the announcement,
based on Documentation.html. based on Documentation.html.
8. increment rc count or version in CVS : 8. increment rc count or version in subversion :
- in libraries/Config.class.php PMA_Config::__constructor() the line - in libraries/Config.class.php PMA_Config::__constructor() the line
" $this->set( 'PMA_VERSION', '2.7.1-dev' ); " " $this->set( 'PMA_VERSION', '2.7.1-dev' ); "
- in Documentation.html the 2 lines - in Documentation.html the 2 lines
@@ -339,12 +281,6 @@ END
fi fi
if [ "$mode" = "snapshot" -a "$2" != "local" ] ; then
cd ..
find cvs -type d -print0 | xargs -0 chmod 775
find cvs -type f -print0 | xargs -0 chmod 664
fi
# Removed due to not needed thanks to clever scripting by Robbat2 # Removed due to not needed thanks to clever scripting by Robbat2
# 9. update the demo subdirectory: # 9. update the demo subdirectory:
# - in htdocs, cvs update phpMyAdmin # - in htdocs, cvs update phpMyAdmin

View File

@@ -110,6 +110,9 @@ if (isset($find_real_end) && $find_real_end) {
*/ */
elseif (!isset($pos)) { elseif (!isset($pos)) {
$pos = 0; $pos = 0;
} else {
/* We need this to be a integer */
$pos = (int)$pos;
} }
/** /**

View File

@@ -201,8 +201,8 @@ value="<?php echo htmlspecialchars($GLOBALS['table']); ?>" /><br />
// starting with MySQL 5.0.24, SHOW CREATE TABLE includes the AUTO_INCREMENT // starting with MySQL 5.0.24, SHOW CREATE TABLE includes the AUTO_INCREMENT
// next value but users can decide if they want it or not for the operation // next value but users can decide if they want it or not for the operation
?> ?>
<input type="checkbox" name="sql_auto_increment" value="1" id="checkbox_auto_increment" checked="checked" /> <input type="checkbox" name="sql_auto_increment" value="1" id="checkbox_auto_increment_mv" checked="checked" />
<label for="checkbox_auto_increment"><?php echo $strAddAutoIncrement; ?></label><br /> <label for="checkbox_auto_increment_mv"><?php echo $strAddAutoIncrement; ?></label><br />
</fieldset> </fieldset>
<fieldset class="tblFooters"> <fieldset class="tblFooters">
<input type="submit" name="submit_move" value="<?php echo $strGo; ?>" /> <input type="submit" name="submit_move" value="<?php echo $strGo; ?>" />
@@ -370,8 +370,8 @@ foreach ($dblist as $each_db) {
<input type="checkbox" name="drop_if_exists" value="true" id="checkbox_drop" /> <input type="checkbox" name="drop_if_exists" value="true" id="checkbox_drop" />
<label for="checkbox_drop"><?php echo sprintf($strAddClause, 'DROP TABLE'); ?></label><br /> <label for="checkbox_drop"><?php echo sprintf($strAddClause, 'DROP TABLE'); ?></label><br />
<input type="checkbox" name="sql_auto_increment" value="1" id="checkbox_auto_increment" /> <input type="checkbox" name="sql_auto_increment" value="1" id="checkbox_auto_increment_cp" />
<label for="checkbox_auto_increment"><?php echo $strAddAutoIncrement; ?></label><br /> <label for="checkbox_auto_increment_cp"><?php echo $strAddAutoIncrement; ?></label><br />
<?php <?php
// display "Add constraints" choice only if there are // display "Add constraints" choice only if there are
// foreign keys // foreign keys

View File

@@ -8,7 +8,7 @@
<link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" />
<link rel="shortcut 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=iso-8859-1" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>phpMyAdmin 2.9.1-dev - Official translators</title> <title>phpMyAdmin 2.9.2-dev - Official translators</title>
<link rel="stylesheet" type="text/css" href="docs.css" /> <link rel="stylesheet" type="text/css" href="docs.css" />
</head> </head>
@@ -31,7 +31,7 @@
<li><a href="Documentation.html#glossary">Glossary</a></li> <li><a href="Documentation.html#glossary">Glossary</a></li>
</ul> </ul>
<h1>phpMyAdmin 2.9.1-dev official translators list</h1> <h1>phpMyAdmin 2.9.2-dev official translators list</h1>
<p> Here is the list of the &quot;official translators&quot; of <p> Here is the list of the &quot;official translators&quot; of
phpMyAdmin.</p> phpMyAdmin.</p>