Compare commits

...

13 Commits

Author SHA1 Message Date
b3956cb052 Remove "phpMyAdmin" section on home page 2025-04-22 00:06:40 -07:00
5ee643bbbb Remove non-English language support 2025-04-22 00:05:23 -07:00
96a499d4ec Remove unused files 2025-04-21 23:33:16 -07:00
cc0daa1dfe Autofocus on first input of add field form 2025-04-21 22:23:33 -07:00
236997cbc2 Use standard doctype 2025-04-21 22:03:03 -07:00
46e8124525 Remove version check 2025-04-21 21:14:59 -07:00
fe090bc88f Set auth type to "http" by default 2025-04-21 20:42:50 -07:00
41d9e77a5b Expand navigation bar
Gray out trivial database names
2025-04-21 20:40:48 -07:00
2541f5ff58 Fix deprecated preg_replace with eval 2025-04-21 18:29:22 -07:00
83bdc9bbd7 Cleanup indexes bar 2025-04-21 17:58:02 -07:00
ff375abc90 Highlight primary key 2025-04-21 17:49:07 -07:00
6c062ad532 Add Empty and Drop tabs to table view 2025-04-21 01:15:55 -07:00
cc1dc7a822 Enable spatial indexes for Aria 2025-04-21 01:03:11 -07:00
159 changed files with 125 additions and 656914 deletions

View File

@@ -1,8 +0,0 @@
phpMyAdmin - Credits
====================
Please have a look to the Documentation.txt or
Documentation.html files, or visit
http://www.phpmyadmin.net/home_page/team.php and
http://www.phpmyadmin.net/home_page/about.php

View File

@@ -1,5 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html>
<!--
vim: expandtab ts=4 sw=4 sts=4 tw=78
-->

View File

@@ -1,6 +0,0 @@
phpMyAdmin - Installation
=========================
Please have a look to the Documentation.txt or Documentation.html files.

2
README
View File

@@ -1,7 +1,7 @@
phpMyAdmin - Readme
===================
Version 3.4.11.1
Retro Edition 😎
A set of PHP-scripts to manage MySQL over the web.

View File

@@ -1,37 +0,0 @@
phpMyAdmin - hints for distributing phpMyAdmin
==============================================
This document is intended to give advices to people who want to
redistribute phpMyAdmin inside other software package such as Linux
distribution or some all in one package including web server and MySQL
server.
Generally you can customize some basic aspects (paths to some files and
behavior) in libraries/vendor_config.php.
For example if you want setup script to generate config file in var,
change SETUP_CONFIG_FILE to /var/lib/phpmyadmin/config.inc.php and you
will also probably want to skip directory writable check, so set
SETUP_DIR_WRITABLE to false.
External libraries
------------------
phpMyAdmin includes several external libraries, you might want to
replace them with system ones if they are available, but please note
that you should test whether version you provide is compatible with the
one we ship.
Currently known list of external libraries:
js/jquery
jQuery js framework
js/colorpicker
jQuery based color picker
libraries/php-gettext
php-gettext library
libraries/tcpdf
tcpdf library, modified for our needs!
# vim: et ts=4 sw=4 sts=4 tw=72 spell spelllang=en_us

8
TODO
View File

@@ -1,8 +0,0 @@
phpMyAdmin - Todo
=================
We are currently using the Sourceforge Tracker as Todo list:
http://sourceforge.net/tracker/?atid=377411&group_id=23067&func=browse
-- swix/20010704

View File

@@ -72,12 +72,8 @@ if (is_array($foreignData['disp_row'])) {
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $available_languages[$lang][1]; ?>"
lang="<?php echo $available_languages[$lang][1]; ?>"
dir="<?php echo $text_dir; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $text_dir; ?>">
<head>
<title>phpMyAdmin</title>

View File

@@ -97,8 +97,7 @@ $replaces = array(
header('Content-type: text/html; charset=utf-8');
echo '<?xml version="1.0" encoding="utf-8"?'.'>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<link rel="icon" href="./favicon.ico" type="image/x-icon" />

View File

@@ -1,20 +0,0 @@
phpMyAdmin Third Party Contributions
====================================
This directory contains various stuff contributed by users that might be
useful to other. There is no guarantee it will work for you.
Current content of this directory:
packaging
Contains files needed for creating packages for various
distributions. Please prefer official packages from your vendor if
possible.
swekey.sample.conf
SweKey authentication configuration example.
htaccess
Sample Apache configuration for limit access for bots.
# vim: expandtab ts=4 sw=4 sts=4 tw=78

View File

@@ -1,19 +0,0 @@
RewriteEngine on
# Allow only GET and POST verbs
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]
# Ban Typical Vulnerability Scanners and others
# Kick out Script Kiddies
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]
# Ban Search Engines, Crawlers to your administrative panel
# No reasons to access from bots
# Ultimately Better than the useless robots.txt
# Did google respect robots.txt?
# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled"
RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]
RewriteRule .* - [F]

View File

@@ -1,44 +0,0 @@
# This is a typical file used to enable Swekey hardware authentication.
#
# To activate the Swekey authentication add the following line to your config.inc.php file.
# $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
# Then rename this file "swekey-pma.conf" and copy it to the /etc directory.
# Add all the Swekey ids you want to grant access to in the file.
# After each Swekey id put the corresponding user name.
#
# If you don't know the id of a Swekey just visit http://www.swekey.com?sel=support
# while your Swekey is connected.
#
# If you need to purchase a Swekey please visit http://phpmyadmin.net/auth_key
# since this link provides funding to PhpMyAdmin.
#
0000000000000000000000000000763A:root
000000000000000000000000000089E4:steve
0000000000000000000000000000231E:scott
#
# It is recommended to include the following lines to contact the
# authentication servers in SSL mode.
#
SERVER_CHECK=https://auth-check-ssl.musbe.net
SERVER_RNDTOKEN=https://auth-rnd-gen-ssl.musbe.net
SERVER_STATUS=https://auth-status-ssl.musbe.net
#
# The path of the root certificate file used to ensure a secure
# communication with the authentication servers in SSL mode.
# If not specified, will use musbe-ca.crt found in your
# phpMyAdmin/libraries/auth/swekey.
#
#CA_FILE=/var/http-root/phpmyadmin/libraries/auth/swekey/musbe-ca.crt
#
# If your server receives many login requests, you can enable the random
# token caching to accelerate the authentication process.
# Token caching is enabled by default.
#
#ENABLE_TOKEN_CACHE=0

View File

@@ -91,12 +91,8 @@ $lang_iso_code = $GLOBALS['available_languages'][$GLOBALS['lang']][1];
// start output
include ('./libraries/header_http.inc.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $lang_iso_code; ?>"
lang="<?php echo $lang_iso_code; ?>"
dir="<?php echo $GLOBALS['text_dir']; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
<head>
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />

View File

@@ -86,25 +86,6 @@ function parseVersionString (str) {
return maj * 100000000 + min * 1000000 + pat * 10000 + hotfix * 100 + add;
}
/**
* Indicates current available version on main page.
*/
function PMA_current_version() {
var current = parseVersionString(pmaversion);
var latest = parseVersionString(PMA_latest_version);
$('#li_pma_version').append(PMA_messages['strLatestAvailable'] + ' ' + PMA_latest_version);
if (latest > current) {
var message = $.sprintf(PMA_messages['strNewerVersion'], PMA_latest_version, PMA_latest_date);
if (Math.floor(latest / 10000) == Math.floor(current / 10000)) {
/* Security update */
klass = 'error';
} else {
klass = 'notice';
}
$('#maincontainer').after('<div class="' + klass + '">' + message + '</div>');
}
}
/**
* for libraries/display_change_password.lib.php
* libraries/user_password.php
@@ -2197,13 +2178,6 @@ $(document).ready(function() {
$(this).closest("form").submit();
});
/**
* Load version information asynchronously.
*/
if ($('.jsversioncheck').length > 0) {
$.getScript('http://www.phpmyadmin.net/home_page/version.js', PMA_current_version);
}
/**
* Slider effect.
*/

View File

@@ -96,7 +96,7 @@ class PMA_Config
*/
function checkSystem()
{
$this->set('PMA_VERSION', '3.4.11.1');
$this->set('PMA_VERSION', 'Retro');
/**
* @deprecated
*/

View File

@@ -465,7 +465,7 @@ class PMA_Index
$this_params['index'] = $index->getName();
$r .= '<td ' . $row_span . '>'
. ' <a href="tbl_indexes.php' . PMA_generate_common_url($this_params)
. '">' . PMA_getIcon('b_edit.png', __('Edit')) . '</a>'
. '">' . PMA_getOnlyIcon('b_edit.png', __('Edit')) . '</a>'
. '</td>' . "\n";
$this_params = $GLOBALS['url_params'];
@@ -487,7 +487,7 @@ class PMA_Index
}
$r .= ' href="sql.php' . PMA_generate_common_url($this_params)
. '" >'
. PMA_getIcon('b_drop.png', __('Drop')) . '</a>'
. PMA_getOnlyIcon('b_drop.png', __('Drop')) . '</a>'
. '</td>' . "\n";
}

View File

@@ -27,6 +27,16 @@ require_once './libraries/List.class.php';
*/
/*public*/ class PMA_List_Database extends PMA_List
{
/**
* @var array list of trivial database names
*/
protected $_trivial_db_names = array(
'information_schema',
'mysql',
'performance_schema',
'sys',
);
/**
* @var mixed database link resource|object to be used
*/
@@ -387,6 +397,9 @@ require_once './libraries/List.class.php';
if (! empty($db['comment'])) {
$return .= ' title="' . htmlspecialchars($db['comment']) . '"';
}
if (in_array($db['name'], $this->_trivial_db_names)) {
$return .= ' class="trivial"';
}
$return .= ' href="index.php?' . PMA_generate_common_url($db['name'])
. '" target="_parent">';
if ($cut) {

View File

@@ -213,13 +213,6 @@ if (top != self) {
PMA_Message::rawError($conn_error)->display();
}
// Displays the languages form
if (empty($GLOBALS['cfg']['Lang'])) {
require_once './libraries/display_select_lang.lib.php';
// use fieldset, don't show doc link
PMA_select_language(true, false);
}
?>
<br />
<!-- Login form -->

View File

@@ -174,7 +174,7 @@ $cfg['Servers'][$i]['controlpass'] = '';
*
* @global string $cfg['Servers'][$i]['auth_type']
*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'http';
/**
* HTTP Basic Auth Realm name to display (only used with 'HTTP' auth_type)
@@ -501,13 +501,6 @@ $cfg['ServerDefault'] = 1;
*/
$cfg['AjaxEnable'] = true;
/**
* whether version check is active
*
* @global boolean $cfg['VersionCheck']
*/
$cfg['VersionCheck'] = VERSION_CHECK_DEFAULT;
/**
* maximum number of db's displayed in left frame and database list
*
@@ -2068,8 +2061,10 @@ $cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
/**
* Force: always use this language
* $cfg['Lang'] = 'en';
*
*/
$cfg['Lang'] = 'en';
/**
* Regular expression to limit listed languages, e.g. '^(cs|en)' for Czech and
* English only
*

View File

@@ -44,8 +44,13 @@ function PMA_lang($lang_key)
$message = isset($GLOBALS["strConfig$lang_key"]) ? $GLOBALS["strConfig$lang_key"] : $lang_key;
$message = str_replace($search, $replace, $message);
// replace [a@"$1"]$2[/a] with <a href="$1">$2</a>
$message = preg_replace('#\[a@("?)([^\]]+)\1\]([^\[]+)\[/a\]#e',
"PMA_lang_link_replace('$2', '$3')", $message);
$message = preg_replace_callback(
'#\[a@("?)([^\]]+)\1\]([^\[]+)\[/a\]#',
function ($matches) {
return PMA_lang_link_replace($matches[2], $matches[3]);
},
$message
);
if (func_num_args() == 1) {
return $message;

View File

@@ -12,7 +12,7 @@ if (! defined('PHPMYADMIN')) {
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $lang; ?>" dir="<?php echo $dir; ?>">
<head>
<link rel="icon" href="./favicon.ico" type="image/x-icon" />

View File

@@ -68,7 +68,7 @@ function PMA_exportHeader() {
xmlns:x="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=' . (isset($charset_of_file) ? $charset_of_file : $charset) . '" />

View File

@@ -31,9 +31,8 @@ if ($GLOBALS['text_dir'] == 'ltr') {
/* echo '<?xml version="1.0" encoding="' . $GLOBALS['charset'] . '"?>'; */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][1]; ?>" lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][1]; ?>" dir="<?php echo $GLOBALS['text_dir']; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $GLOBALS['charset']; ?>" />
<link rel="icon" href="./favicon.ico" type="image/x-icon" />

View File

@@ -38,9 +38,8 @@ if ($text_dir == 'ltr') {
$cell_align_right = 'left';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $available_languages[$lang][1]; ?>" lang="<?php echo $available_languages[$lang][1]; ?>" dir="<?php echo $text_dir; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $text_dir; ?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset; ?>" />

View File

@@ -85,13 +85,12 @@ if (! $tbl_is_view && ! (isset($db_is_information_schema) && $db_is_information_
$tabs['operation']['link'] = 'tbl_operations.php';
$tabs['operation']['text'] = __('Operations');
}
if(PMA_Tracker::isActive()) {
$tabs['tracking']['icon'] = 'eye.png';
$tabs['tracking']['text'] = __('Tracking');
$tabs['tracking']['link'] = 'tbl_tracking.php';
}
if (! $tbl_is_view && ! (isset($db_is_information_schema) && $db_is_information_schema)) {
}
/**
* Views support a limited number of operations
@@ -102,6 +101,35 @@ if ($tbl_is_view && ! (isset($db_is_information_schema) && $db_is_information_sc
$tabs['operation']['text'] = __('Operations');
}
if (! $tbl_is_view && ! (isset($db_is_information_schema) && $db_is_information_schema)) {
$tabs['empty']['link'] = 'sql.php';
$tabs['empty']['args']['reload'] = 1;
$tabs['empty']['args']['sql_query'] = 'TRUNCATE TABLE ' . PMA_backquote($table);
$tabs['empty']['args']['zero_rows'] = sprintf(__('Table %s has been emptied'), htmlspecialchars($table));
$tabs['empty']['attr'] = 'onclick="return confirmLink(this, \'TRUNCATE TABLE ' . PMA_jsFormat($table) . '\')"';
$tabs['empty']['args']['goto'] = 'tbl_structure.php';
$tabs['empty']['class'] = 'caution';
$tabs['empty']['icon'] = 'b_empty.png';
$tabs['empty']['text'] = __('Empty');
if ($table_info_num_rows == 0) {
$tabs['empty']['warning'] = __('Table seems to be empty!');
}
$tabs['drop']['icon'] = 'b_deltbl.png';
$tabs['drop']['link'] = 'sql.php';
$tabs['drop']['url_params'] = array('table' => NULL);
$tabs['drop']['text'] = __('Drop');
$tabs['drop']['args']['reload'] = 1;
$tabs['drop']['args']['purge'] = 1;
$drop_command = 'DROP ' . ($tbl_is_view ? 'VIEW' : 'TABLE');
$tabs['drop']['args']['sql_query'] = $drop_command . ' ' . PMA_backquote($table);
$tabs['drop']['args']['goto'] = 'db_structure.php';
$tabs['drop']['args']['zero_rows'] = sprintf(($tbl_is_view ? __('View %s has been dropped') : __('Table %s has been dropped')), htmlspecialchars($table));
$tabs['drop']['attr'] = 'onclick="return confirmLink(this, \'' . $drop_command . ' ' . PMA_jsFormat($table) . '\')"';
unset($drop_command);
$tabs['drop']['class'] = 'caution';
}
if ($table_info_num_rows == 0 && !$tbl_is_view) {
$tabs['browse']['warning'] = __('Table seems to be empty!');
$tabs['search']['warning'] = __('Table seems to be empty!');

View File

@@ -787,6 +787,20 @@ if ($action == 'tbl_create.php') {
</fieldset>
<div id="properties_message"></div>
</form>
<?php
if ($action == 'tbl_addfield.php') {
?>
<script type="text/javascript">
// <![CDATA[
document.forms
.<?php echo ($action == 'tbl_create.php' ? 'create_table_form' : 'append_fields_form'); ?>
.querySelector('input[name="field_name[0]"]')
.focus();
// ]]>
</script>
<?php
} // end if ($action == 'tbl_addfield.php')
?>
<div id="enum_editor">
<a class="close_enum_editor"><?php echo __('Close'); ?></a>

View File

@@ -55,11 +55,6 @@ define('CUSTOM_HEADER_FILE', CONFIG_DIR . 'config.header.inc.php');
*/
define('CUSTOM_FOOTER_FILE', CONFIG_DIR . 'config.footer.inc.php');
/**
* Default value for check for version upgrades.
*/
define('VERSION_CHECK_DEFAULT', true);
/**
* Path to gettext.inc file. Useful when you want php-gettext somewhere else,
* eg. /usr/share/php/gettext/gettext.inc.

View File

@@ -119,14 +119,6 @@ echo '<div class="group">';
echo '<h2>' . __('Appearance Settings') . '</h2>';
echo ' <ul>';
// Displays language selection combo
if (empty($cfg['Lang'])) {
echo '<li id="li_select_lang">';
require_once './libraries/display_select_lang.lib.php';
PMA_select_language();
echo '</li>';
}
// ThemeManager if available
if ($GLOBALS['cfg']['ThemeManager']) {
@@ -199,30 +191,7 @@ if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo']) {
echo ' </ul>';
echo ' </div>';
}
echo '<div class="group pmagroup">';
echo '<h2>phpMyAdmin</h2>';
echo '<ul>';
$class = null;
// workaround for bug 3302733; some browsers don't like the situation
// where phpMyAdmin is called on a secure page but a part of the page
// (the version check) refers to a non-secure page
if ($GLOBALS['cfg']['VersionCheck'] && ! $GLOBALS['PMA_Config']->get('is_https')) {
$class = 'jsversioncheck';
}
PMA_printListItem(__('Version information') . ': ' . PMA_VERSION, 'li_pma_version', null, null, null, null, $class);
PMA_printListItem(__('Documentation'), 'li_pma_docs', 'Documentation.html', null, '_blank');
PMA_printListItem(__('Wiki'), 'li_pma_wiki', PMA_linkURL('http://wiki.phpmyadmin.net/'), null, '_blank');
// does not work if no target specified, don't know why
PMA_printListItem(__('Official Homepage'), 'li_pma_homepage', PMA_linkURL('http://www.phpMyAdmin.net/'), null, '_blank');
PMA_printListItem(__('Contribute'), 'li_pma_contribute', PMA_linkURL('http://www.phpmyadmin.net/home_page/improve.php'), null, '_blank');
PMA_printListItem(__('Get support'), 'li_pma_support', PMA_linkURL('http://www.phpmyadmin.net/home_page/support.php'), null, '_blank');
PMA_printListItem(__('List of changes'), 'li_pma_changes', PMA_linkURL('changelog.php'), null, '_blank');
?>
</ul>
</div>
</div>
<?php

View File

@@ -110,12 +110,8 @@ require_once './libraries/header_http.inc.php';
// xml declaration moves IE into quirks mode, making much trouble with CSS
/* echo '<?xml version="1.0" encoding="' . $GLOBALS['charset'] . '"?>'; */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="<?php echo $available_languages[$lang][1]; ?>"
lang="<?php echo $available_languages[$lang][1]; ?>"
dir="<?php echo $GLOBALS['text_dir']; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
<head>
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
@@ -187,37 +183,12 @@ if (! $GLOBALS['server']) {
echo '<p>' . __('No databases') . '</p>';
PMA_exitNavigationFrame();
} elseif ($GLOBALS['cfg']['LeftFrameLight'] && count($GLOBALS['pma']->databases) > 1) {
$list = $cfg['DisplayDatabasesList'];
if ($list === 'auto') {
if (empty($GLOBALS['db'])) {
$list = true;
} else {
$list = false;
}
}
if (!$list) {
// more than one database available and LeftFrameLight is true
// display db selectbox
//
// Light mode -> beginning of the select combo for databases
// Note: When javascript is active, the frameset will be changed from
// within navigation.php. With no JS (<noscript>) the whole frameset will
// be rebuilt with the new target frame.
?>
<div id="databaseList">
<form method="post" action="index.php" target="_parent" id="left">
<?php
echo PMA_generate_common_hidden_inputs() . "\n";
echo $GLOBALS['pma']->databases->getHtmlSelectGrouped(true, $_SESSION['tmp_user_values']['navi_limit_offset'], $GLOBALS['cfg']['MaxDbList']) . "\n";
echo '<noscript>' . "\n"
.'<input type="submit" name="Go" value="' . __('Go') . '" />' . "\n"
.'</noscript>' . "\n"
.'</form>' . "\n"
. '</div>' . "\n";
} else {
echo $GLOBALS['pma']->databases->getHtmlListGrouped(true, $_SESSION['tmp_user_values']['navi_limit_offset'], $GLOBALS['cfg']['MaxDbList']) . "\n";
}
echo $GLOBALS['pma']->databases->getHtmlListGrouped(true, $_SESSION['tmp_user_values']['navi_limit_offset'], $GLOBALS['cfg']['MaxDbList']) . "\n";
$_url_params = array('pos' => $pos);
PMA_listNavigator(count($GLOBALS['pma']->databases), $pos, $_url_params, 'navigation.php', 'frame_navigation', $GLOBALS['cfg']['MaxDbList']);
}

View File

@@ -18,9 +18,8 @@ $tables_all_keys = get_all_keys();
$hidden = "hidden";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][1]; ?>" lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][1]; ?>" dir="<?php echo $GLOBALS['text_dir']; ?>">
<!DOCTYPE html>
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset ?>" />
<link rel="icon" href="pmd/images/favicon.ico" type="image/x-icon" />

3
po/.gitignore vendored
View File

@@ -1,3 +0,0 @@
# pootle cache
.translation_index
*.pending

9962
po/af.po

File diff suppressed because it is too large Load Diff

9791
po/ar.po

File diff suppressed because it is too large Load Diff

10201
po/az.po

File diff suppressed because it is too large Load Diff

10676
po/be.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

9499
po/bg.po

File diff suppressed because it is too large Load Diff

9958
po/bn.po

File diff suppressed because it is too large Load Diff

9628
po/br.po

File diff suppressed because it is too large Load Diff

10193
po/bs.po

File diff suppressed because it is too large Load Diff

10081
po/ca.po

File diff suppressed because it is too large Load Diff

10082
po/cs.po

File diff suppressed because it is too large Load Diff

9744
po/cy.po

File diff suppressed because it is too large Load Diff

9994
po/da.po

File diff suppressed because it is too large Load Diff

10124
po/de.po

File diff suppressed because it is too large Load Diff

10165
po/el.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

10192
po/es.po

File diff suppressed because it is too large Load Diff

10294
po/et.po

File diff suppressed because it is too large Load Diff

10044
po/eu.po

File diff suppressed because it is too large Load Diff

9841
po/fa.po

File diff suppressed because it is too large Load Diff

10403
po/fi.po

File diff suppressed because it is too large Load Diff

10113
po/fr.po

File diff suppressed because it is too large Load Diff

10745
po/gl.po

File diff suppressed because it is too large Load Diff

10083
po/he.po

File diff suppressed because it is too large Load Diff

9497
po/hi.po

File diff suppressed because it is too large Load Diff

10371
po/hr.po

File diff suppressed because it is too large Load Diff

10151
po/hu.po

File diff suppressed because it is too large Load Diff

9607
po/id.po

File diff suppressed because it is too large Load Diff

10122
po/it.po

File diff suppressed because it is too large Load Diff

10191
po/ja.po

File diff suppressed because it is too large Load Diff

10559
po/ka.po

File diff suppressed because it is too large Load Diff

9730
po/ko.po

File diff suppressed because it is too large Load Diff

9811
po/lt.po

File diff suppressed because it is too large Load Diff

10252
po/lv.po

File diff suppressed because it is too large Load Diff

10302
po/mk.po

File diff suppressed because it is too large Load Diff

9288
po/ml.po

File diff suppressed because it is too large Load Diff

10248
po/mn.po

File diff suppressed because it is too large Load Diff

9996
po/ms.po

File diff suppressed because it is too large Load Diff

10145
po/nb.po

File diff suppressed because it is too large Load Diff

10117
po/nl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

10109
po/pl.po

File diff suppressed because it is too large Load Diff

9804
po/pt.po

File diff suppressed because it is too large Load Diff

10024
po/pt_BR.po

File diff suppressed because it is too large Load Diff

10289
po/ro.po

File diff suppressed because it is too large Load Diff

10103
po/ru.po

File diff suppressed because it is too large Load Diff

9617
po/si.po

File diff suppressed because it is too large Load Diff

9989
po/sk.po

File diff suppressed because it is too large Load Diff

10006
po/sl.po

File diff suppressed because it is too large Load Diff

10056
po/sq.po

File diff suppressed because it is too large Load Diff

10161
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

9981
po/sv.po

File diff suppressed because it is too large Load Diff

9366
po/ta.po

File diff suppressed because it is too large Load Diff

9489
po/te.po

File diff suppressed because it is too large Load Diff

9969
po/th.po

File diff suppressed because it is too large Load Diff

10029
po/tr.po

File diff suppressed because it is too large Load Diff

10106
po/tt.po

File diff suppressed because it is too large Load Diff

9567
po/ug.po

File diff suppressed because it is too large Load Diff

9671
po/uk.po

File diff suppressed because it is too large Load Diff

9518
po/ur.po

File diff suppressed because it is too large Load Diff

10902
po/uz.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
#!/bin/sh
set -e
for file in `find js -name '*.js' -not -name '*min.js'` ; do
mkdir -p sources/`dirname $file`
mv $file sources/$file
java -jar ./scripts/google-javascript-compiler/compiler.jar --js sources/$file --js_output_file $file
done

View File

@@ -1,15 +0,0 @@
#!/usr/bin/perl
#
#
# Configuration converter
# Converts from old-style (Pre-2.3) configuration files to new format found in PMA-2.3
#
# Takes input from STDIN, sends output to STDOUT
#
while(<>)
{ s/\$cfg(\w+)/\$cfg\[\'$1\'\]/g;
print;
}

View File

@@ -1,308 +0,0 @@
#!/bin/sh
#
# vim: expandtab sw=4 ts=4 sts=4:
#
# More documentation about making a release is available at:
# http://wiki.phpmyadmin.net/pma/Releasing
# Fail on undefined variables
set -u
# Fail on failure
set -e
KITS="all-languages english"
COMPRESSIONS="zip-7z tbz txz tgz 7z"
if [ $# -lt 2 ]
then
echo "Usages:"
echo " create-release.sh <version> <from_branch> [--tag]"
echo ""
echo "If --tag is specified, relase tag is automatically created"
echo ""
echo "Examples:"
echo " create-release.sh 2.9.0-rc1 QA_2_9"
echo " create-release.sh 2.9.0 MAINT_2_9_0 --tag"
exit 65
fi
# Checks whether remote branch has local tracking branch
ensure_local_branch() {
if ! git branch | grep -q '^..'"$1"'$' ; then
git branch --track $1 origin/$1
fi
}
# Marks current head of given branch as head of other branch
# Used for STABLE/TESTING tracking
mark_as_release() {
branch=$1
rel_branch=$2
echo "* Marking release as $rel_branch"
ensure_local_branch $rel_branch
git checkout $rel_branch
git merge -s recursive -X theirs $branch
}
# Read required parameters
version=$1
shift
branch=$1
shift
cat <<END
Please ensure you have incremented rc count or version in the repository :
- in libraries/Config.class.php PMA_Config::__constructor() the line
" \$this->set( 'PMA_VERSION', '$version' ); "
- in Documentation.html the 2 lines
" <title>phpMyAdmin $version - Documentation</title> "
" <h1>phpMyAdmin $version Documentation</h1> "
- in README
Continue (y/n)?
END
read do_release
if [ "$do_release" != 'y' ]; then
exit 100
fi
# Ensure we have tracking branch
ensure_local_branch $branch
# Create working copy
mkdir -p release
workdir=release/phpMyAdmin-$version
if [ -d $workdir ] ; then
echo "Working directory '$workdir' already exists, please move it out of way"
exit 1
fi
git clone --local . $workdir
cd $workdir
# Checkout branch
ensure_local_branch $branch
git checkout $branch
# Check release version
if ! grep -q "'PMA_VERSION', '$version'" libraries/Config.class.php ; then
echo "There seems to be wrong version in libraries/Config.class.php!"
exit 2
fi
if ! grep -q "phpMyAdmin $version - Documentation" Documentation.html ; then
echo "There seems to be wrong version in Documentation.html"
exit 2
fi
if ! grep -q "Version $version\$" README ; then
echo "There seems to be wrong version in README"
exit 2
fi
# Cleanup release dir
LC_ALL=C date -u > RELEASE-DATE-${version}
# Building Documentation.txt
echo "* Generating Documentation.txt"
LC_ALL=C w3m -dump Documentation.html > Documentation.txt
# Check for gettext support
if [ -d po ] ; then
GETTEXT=1
else
GETTEXT=0
fi
# Generate mo files
if [ $GETTEXT -eq 1 ] ; then
echo "* Generating mo files"
./scripts/generate-mo
if [ -f ./scripts/remove-incomplete-mo ] ; then
echo "* Removing incomplete translations"
./scripts/remove-incomplete-mo
fi
echo "* Removing gettext source files"
rm -rf po
fi
if [ -f ./scripts/compress-js ] ; then
echo "* Compressing javascript files"
./scripts/compress-js
rm -rf sources
fi
echo "* Removing unneeded files"
# Remove test directory from package to avoid Path disclosure messages
# if someone runs /test/wui.php and there are test failures
rm -rf test
# Remove javascript compiler, no need to ship it
rm -rf scripts/google-javascript-compiler/
# Remove scripts which are not useful for user
for s in compress-js create-release.sh generate-mo mergepo.py php2gettext.sh remove_control_m.sh update-po upload-release pending-po pendingpo.py ; do
rm -f scripts/$s
done
# Remove git metadata
rm -rf .git
find . -name .gitignore -print0 | xargs -0 -r rm -f
cd ..
# Prepare all kits
for kit in $KITS ; do
# Copy all files
name=phpMyAdmin-$version-$kit
cp -r phpMyAdmin-$version $name
# Cleanup translations
cd phpMyAdmin-$version-$kit
scripts/lang-cleanup.sh $kit
rm -f scripts/lang-cleanup.sh
cd ..
# Remove tar file possibly left from previous run
rm -f $name.tar
# Prepare distributions
for comp in $COMPRESSIONS ; do
case $comp in
tbz|tgz|txz)
if [ ! -f $name.tar ] ; then
echo "* Creating $name.tar"
tar cf $name.tar $name
fi
if [ $comp = tbz ] ; then
echo "* Creating $name.tar.bz2"
bzip2 -9k $name.tar
fi
if [ $comp = txz ] ; then
echo "* Creating $name.tar.xz"
xz -9k $name.tar
fi
if [ $comp = tgz ] ; then
echo "* Creating $name.tar.gz"
gzip -9c $name.tar > $name.tar.gz
fi
;;
zip)
echo "* Creating $name.zip"
zip -q -9 -r $name.zip $name
;;
zip-7z)
echo "* Creating $name.zip"
7za a -bd -tzip $name.zip $name > /dev/null
;;
7z)
echo "* Creating $name.7z"
7za a -bd $name.7z $name > /dev/null
;;
*)
echo "WARNING: ignoring compression '$comp', not known!"
;;
esac
# Cleanup
rm -f $name.tar
done
# Remove directory with current dist set
rm -rf $name
done
# Cleanup
rm -rf phpMyAdmin-${version}
echo ""
echo ""
echo ""
echo "Files:"
echo "------"
ls -la *.gz *.zip *.bz2 *.7z
cd ..
if [ $# -gt 0 ] ; then
echo
echo "Additional tasks:"
while [ $# -gt 0 ] ; do
param=$1
case $1 in
--tag)
tagname=RELEASE_`echo $version | tr . _ | tr '[:lower:]' '[:upper:]' | tr -d -`
echo "* Tagging release as $tagname"
git tag -a -m "Released $version" $tagname $branch
if echo $version | grep -q '^2\.11\.' ; then
echo '* 2.11 branch, no STABLE/TESTING update'
else
if echo $version | grep '[a-z_-]' ; then
mark_as_release $branch TESTING
else
# We update both branches here
# As it does not make sense to have older testing than stable
if echo $version | grep -q '^3\.3\.' ; then
echo '* 3.3 branch, no TESTING update'
else
mark_as_release $branch TESTING
fi
mark_as_release $branch STABLE
fi
git checkout master
fi
echo " Dont forget to push tags using: git push --tags"
;;
*)
echo "Unknown parameter: $1!"
exit 1
esac
shift
done
echo
fi
cat <<END
Todo now:
---------
1. If not already done, tag the repository with the new revision number
for a plain release or a release candidate:
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
2. prepare a release/phpMyAdmin-$version-notes.html explaining in short the goal of
this release and paste into it the ChangeLog for this release
3. upload the files to SF, you can use scripts/upload-release, eg.:
./scripts/upload-release \$USER $version release
4. add SF news item to phpMyAdmin project
5. announce release on freshmeat (http://freshmeat.net/projects/phpmyadmin/)
6. send a short mail (with list of major changes) to
phpmyadmin-devel@lists.sourceforge.net
phpmyadmin-news@lists.sourceforge.net
phpmyadmin-users@lists.sourceforge.net
Don't forget to update the Description section in the announcement,
based on Documentation.html.
7. increment rc count or version in the repository :
- in libraries/Config.class.php PMA_Config::__constructor() the line
" \$this->set( 'PMA_VERSION', '2.7.1-dev' ); "
- in Documentation.html the 2 lines
" <title>phpMyAdmin 2.2.2-rc1 - Documentation</title> "
" <h1>phpMyAdmin 2.2.2-rc1 Documentation</h1> "
8. add a group for bug tracking this new version, at
https://sourceforge.net/tracker/admin/index.php?group_id=23067&atid=377408&add_group=1
9. the end :-)
END

View File

@@ -1,208 +0,0 @@
-- --------------------------------------------------------
-- SQL Commands to set up the pmadb as described in Documentation.html.
--
-- This file is meant for use with MySQL 5 and above!
--
-- This script expects the user pma to already be existing. If we would put a
-- line here to create him too many users might just use this script and end
-- up with having the same password for the controluser.
--
-- This user "pma" must be defined in config.inc.php (controluser/controlpass)
--
-- Please don't forget to set up the tablenames in config.inc.php
--
-- --------------------------------------------------------
--
-- Database : `phpmyadmin`
--
CREATE DATABASE IF NOT EXISTS `phpmyadmin`
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE phpmyadmin;
-- --------------------------------------------------------
--
-- Privileges
--
-- (activate this statement if necessary)
-- GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
-- 'pma'@localhost;
-- --------------------------------------------------------
--
-- Table structure for table `pma_bookmark`
--
CREATE TABLE IF NOT EXISTS `pma_bookmark` (
`id` int(11) NOT NULL auto_increment,
`dbase` varchar(255) NOT NULL default '',
`user` varchar(255) NOT NULL default '',
`label` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '',
`query` text NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM COMMENT='Bookmarks'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_column_info`
--
CREATE TABLE IF NOT EXISTS `pma_column_info` (
`id` int(5) unsigned NOT NULL auto_increment,
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`column_name` varchar(64) NOT NULL default '',
`comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '',
`mimetype` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '',
`transformation` varchar(255) NOT NULL default '',
`transformation_options` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
)
ENGINE=MyISAM COMMENT='Column information for phpMyAdmin'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_history`
--
CREATE TABLE IF NOT EXISTS `pma_history` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`username` varchar(64) NOT NULL default '',
`db` varchar(64) NOT NULL default '',
`table` varchar(64) NOT NULL default '',
`timevalue` timestamp NOT NULL,
`sqlquery` text NOT NULL,
PRIMARY KEY (`id`),
KEY `username` (`username`,`db`,`table`,`timevalue`)
)
ENGINE=MyISAM COMMENT='SQL history for phpMyAdmin'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_pdf_pages`
--
CREATE TABLE IF NOT EXISTS `pma_pdf_pages` (
`db_name` varchar(64) NOT NULL default '',
`page_nr` int(10) unsigned NOT NULL auto_increment,
`page_descr` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '',
PRIMARY KEY (`page_nr`),
KEY `db_name` (`db_name`)
)
ENGINE=MyISAM COMMENT='PDF relation pages for phpMyAdmin'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_relation`
--
CREATE TABLE IF NOT EXISTS `pma_relation` (
`master_db` varchar(64) NOT NULL default '',
`master_table` varchar(64) NOT NULL default '',
`master_field` varchar(64) NOT NULL default '',
`foreign_db` varchar(64) NOT NULL default '',
`foreign_table` varchar(64) NOT NULL default '',
`foreign_field` varchar(64) NOT NULL default '',
PRIMARY KEY (`master_db`,`master_table`,`master_field`),
KEY `foreign_field` (`foreign_db`,`foreign_table`)
)
ENGINE=MyISAM COMMENT='Relation table'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_table_coords`
--
CREATE TABLE IF NOT EXISTS `pma_table_coords` (
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`pdf_page_number` int(11) NOT NULL default '0',
`x` float unsigned NOT NULL default '0',
`y` float unsigned NOT NULL default '0',
PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`)
)
ENGINE=MyISAM COMMENT='Table coordinates for phpMyAdmin PDF output'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_table_info`
--
CREATE TABLE IF NOT EXISTS `pma_table_info` (
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`display_field` varchar(64) NOT NULL default '',
PRIMARY KEY (`db_name`,`table_name`)
)
ENGINE=MyISAM COMMENT='Table information for phpMyAdmin'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_designer_coords`
--
CREATE TABLE IF NOT EXISTS `pma_designer_coords` (
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`x` INT,
`y` INT,
`v` TINYINT,
`h` TINYINT,
PRIMARY KEY (`db_name`,`table_name`)
)
ENGINE=MyISAM COMMENT='Table coordinates for Designer'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- --------------------------------------------------------
--
-- Table structure for table `pma_tracking`
--
CREATE TABLE IF NOT EXISTS `pma_tracking` (
`db_name` varchar(64) collate utf8_bin NOT NULL,
`table_name` varchar(64) collate utf8_bin NOT NULL,
`version` int(10) unsigned NOT NULL,
`date_created` datetime NOT NULL,
`date_updated` datetime NOT NULL,
`schema_snapshot` text collate utf8_bin NOT NULL,
`schema_sql` text collate utf8_bin,
`data_sql` longtext collate utf8_bin,
`tracking` set('UPDATE','REPLACE','INSERT','DELETE','TRUNCATE','CREATE DATABASE','ALTER DATABASE','DROP DATABASE','CREATE TABLE','ALTER TABLE','RENAME TABLE','DROP TABLE','CREATE INDEX','DROP INDEX','CREATE VIEW','ALTER VIEW','DROP VIEW') collate utf8_bin default NULL,
`tracking_active` int(1) unsigned NOT NULL default '1',
PRIMARY KEY (`db_name`,`table_name`,`version`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPACT;
-- --------------------------------------------------------
--
-- Table structure for table `pma_userconfig`
--
CREATE TABLE IF NOT EXISTS `pma_userconfig` (
`username` varchar(64) NOT NULL,
`timevalue` timestamp NOT NULL,
`config_data` text NOT NULL,
PRIMARY KEY (`username`)
)
ENGINE=MyISAM COMMENT='User preferences storage for phpMyAdmin'
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

View File

@@ -1,104 +0,0 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Parser BUG decoder
*
* This is the parser bug decoder system
* Throw the bug data in teh query box, and hit submit for output.
*
* Copyright 2002 Robin Johnson <robbat2@users.sourceforge.net>
*
* @package phpMyAdmin-debug
*/
/**
* Displays the form
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<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=iso-8859-1" />
<title>phpMyAdmin - Parser BUG decoder</title>
<style type="text/css">
<!--
body, p {
font-family: Arial, Helvetica, sans-serif;
font-size: medium;
}
h1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: large;
font-weight: bold;
color: #000066;
}
//-->
</style>
</head>
<body bgcolor="#FFFFFF">
<h1>Parser BUG decoder</h1>
<br />
<form method="post" action="./decode_bug.php">
<input type="hidden" name="bar" value="<?php echo rand(); ?>" />
Encoded bug report:<br />
<textarea name="bug_encoded" cols="72" rows="10"></textarea>
<br /><br />
<input type="submit" />
</form>
<hr />
<?php
/**
* If the form has been submitted -> decodes the bug report
*/
/**
* Display the decoded bug report in ASCII format
*
* @param string the text data
*
* @return string the text enclosed by "<pre>...</pre>" tags
*
* @access public
*/
function PMA_printDecodedBug($textdata)
{
return '<pre>' . htmlspecialchars($textdata) . '</pre><br />';
} // end of the "PMA_printDecodedBug()" function
if (!empty($_POST) && isset($_POST['bug_encoded'])) {
$bug_encoded = $_POST['bug_encoded'];
}
if (!empty($bug_encoded) && is_string($bug_encoded)) {
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
$bug_encoded = stripslashes($bug_encoded);
}
$bug_encoded = preg_replace('/[[:space:]]/', '', $bug_encoded);
$bug_decoded = base64_decode($bug_encoded);
if (substr($bug_encoded, 0, 2) == 'eN') {
if (function_exists('gzuncompress')) {
$result = PMA_printDecodedBug(gzuncompress($bug_decoded));
} else {
$result = 'Error: &quot;gzuncompress()&quot; is unavailable!' . "\n";
}
} else {
$result = PMA_printDecodedBug($bug_decoded);
} // end if... else...
echo '<p>Decoded:</p>' . "\n"
. $result . "\n";
} // end if
?>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More