Compare commits
3 Commits
cc0daa1dfe
...
retro
Author | SHA1 | Date | |
---|---|---|---|
b3956cb052 | |||
5ee643bbbb | |||
96a499d4ec |
8
CREDITS
8
CREDITS
@@ -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
|
|
||||||
|
|
6
INSTALL
6
INSTALL
@@ -1,6 +0,0 @@
|
|||||||
phpMyAdmin - Installation
|
|
||||||
=========================
|
|
||||||
|
|
||||||
Please have a look to the Documentation.txt or Documentation.html files.
|
|
||||||
|
|
||||||
|
|
2
README
2
README
@@ -1,7 +1,7 @@
|
|||||||
phpMyAdmin - Readme
|
phpMyAdmin - Readme
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Version 3.4.11.1
|
Retro Edition 😎
|
||||||
|
|
||||||
A set of PHP-scripts to manage MySQL over the web.
|
A set of PHP-scripts to manage MySQL over the web.
|
||||||
|
|
||||||
|
@@ -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
8
TODO
@@ -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
|
|
@@ -73,10 +73,7 @@ if (is_array($foreignData['disp_row'])) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
<html lang="en" dir="<?php echo $text_dir; ?>">
|
||||||
xml:lang="<?php echo $available_languages[$lang][1]; ?>"
|
|
||||||
lang="<?php echo $available_languages[$lang][1]; ?>"
|
|
||||||
dir="<?php echo $text_dir; ?>">
|
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>phpMyAdmin</title>
|
<title>phpMyAdmin</title>
|
||||||
|
@@ -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
|
|
@@ -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]
|
|
||||||
|
|
@@ -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
|
|
@@ -92,10 +92,7 @@ $lang_iso_code = $GLOBALS['available_languages'][$GLOBALS['lang']][1];
|
|||||||
include ('./libraries/header_http.inc.php');
|
include ('./libraries/header_http.inc.php');
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
|
||||||
xml:lang="<?php echo $lang_iso_code; ?>"
|
|
||||||
lang="<?php echo $lang_iso_code; ?>"
|
|
||||||
dir="<?php echo $GLOBALS['text_dir']; ?>">
|
|
||||||
<head>
|
<head>
|
||||||
<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" />
|
||||||
|
@@ -213,13 +213,6 @@ if (top != self) {
|
|||||||
PMA_Message::rawError($conn_error)->display();
|
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 />
|
<br />
|
||||||
<!-- Login form -->
|
<!-- Login form -->
|
||||||
|
@@ -2061,8 +2061,10 @@ $cfg['DefaultConnectionCollation'] = 'utf8_general_ci';
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Force: always use this language
|
* Force: always use this language
|
||||||
* $cfg['Lang'] = 'en';
|
*/
|
||||||
*
|
$cfg['Lang'] = 'en';
|
||||||
|
|
||||||
|
/**
|
||||||
* Regular expression to limit listed languages, e.g. '^(cs|en)' for Czech and
|
* Regular expression to limit listed languages, e.g. '^(cs|en)' for Czech and
|
||||||
* English only
|
* English only
|
||||||
*
|
*
|
||||||
|
@@ -32,7 +32,7 @@ if ($GLOBALS['text_dir'] == 'ltr') {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<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']; ?>">
|
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $GLOBALS['charset']; ?>" />
|
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $GLOBALS['charset']; ?>" />
|
||||||
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
||||||
|
@@ -39,7 +39,7 @@ if ($text_dir == 'ltr') {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<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; ?>">
|
<html lang="en" dir="<?php echo $text_dir; ?>">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset; ?>" />
|
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset; ?>" />
|
||||||
|
31
main.php
31
main.php
@@ -119,14 +119,6 @@ echo '<div class="group">';
|
|||||||
echo '<h2>' . __('Appearance Settings') . '</h2>';
|
echo '<h2>' . __('Appearance Settings') . '</h2>';
|
||||||
echo ' <ul>';
|
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
|
// ThemeManager if available
|
||||||
|
|
||||||
if ($GLOBALS['cfg']['ThemeManager']) {
|
if ($GLOBALS['cfg']['ThemeManager']) {
|
||||||
@@ -199,30 +191,7 @@ if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo']) {
|
|||||||
echo ' </ul>';
|
echo ' </ul>';
|
||||||
echo ' </div>';
|
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>
|
</div>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
@@ -111,10 +111,7 @@ require_once './libraries/header_http.inc.php';
|
|||||||
/* echo '<?xml version="1.0" encoding="' . $GLOBALS['charset'] . '"?>'; */
|
/* echo '<?xml version="1.0" encoding="' . $GLOBALS['charset'] . '"?>'; */
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
|
||||||
xml:lang="<?php echo $available_languages[$lang][1]; ?>"
|
|
||||||
lang="<?php echo $available_languages[$lang][1]; ?>"
|
|
||||||
dir="<?php echo $GLOBALS['text_dir']; ?>">
|
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
||||||
|
@@ -19,7 +19,7 @@ $hidden = "hidden";
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<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']; ?>">
|
<html lang="en" dir="<?php echo $GLOBALS['text_dir']; ?>">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset ?>" />
|
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset ?>" />
|
||||||
<link rel="icon" href="pmd/images/favicon.ico" type="image/x-icon" />
|
<link rel="icon" href="pmd/images/favicon.ico" type="image/x-icon" />
|
||||||
|
3
po/.gitignore
vendored
3
po/.gitignore
vendored
@@ -1,3 +0,0 @@
|
|||||||
# pootle cache
|
|
||||||
.translation_index
|
|
||||||
*.pending
|
|
10582
po/be@latin.po
10582
po/be@latin.po
File diff suppressed because it is too large
Load Diff
9957
po/en_GB.po
9957
po/en_GB.po
File diff suppressed because it is too large
Load Diff
9290
po/phpmyadmin.pot
9290
po/phpmyadmin.pot
File diff suppressed because it is too large
Load Diff
10024
po/pt_BR.po
10024
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
10165
po/sr@latin.po
10165
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
10967
po/uz@latin.po
10967
po/uz@latin.po
File diff suppressed because it is too large
Load Diff
9431
po/zh_CN.po
9431
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
9587
po/zh_TW.po
9587
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@@ -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
|
|
@@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@@ -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
|
|
@@ -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;
|
|
@@ -1,103 +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>
|
|
||||||
<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: "gzuncompress()" is unavailable!' . "\n";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$result = PMA_printDecodedBug($bug_decoded);
|
|
||||||
} // end if... else...
|
|
||||||
|
|
||||||
echo '<p>Decoded:</p>' . "\n"
|
|
||||||
. $result . "\n";
|
|
||||||
} // end if
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@@ -1,25 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
if [ x$1 = x--quiet ] ; then
|
|
||||||
stats=""
|
|
||||||
shift
|
|
||||||
else
|
|
||||||
stats="--statistics"
|
|
||||||
fi
|
|
||||||
|
|
||||||
compile() {
|
|
||||||
lang=`echo $1 | sed 's@po/\(.*\)\.po@\1@'`
|
|
||||||
if [ ! -z "$stats" ] ; then
|
|
||||||
echo -n "$lang: "
|
|
||||||
fi
|
|
||||||
mkdir -p locale/$lang/LC_MESSAGES
|
|
||||||
msgfmt $stats --check -o locale/$lang/LC_MESSAGES/phpmyadmin.mo $1
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -z "$1" ] ; then
|
|
||||||
compile po/$1.po
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
for x in po/*.po ; do
|
|
||||||
compile $x
|
|
||||||
done
|
|
@@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
@@ -1,261 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2009 Google Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
//
|
|
||||||
// Contents
|
|
||||||
//
|
|
||||||
|
|
||||||
The Closure Compiler performs checking, instrumentation, and
|
|
||||||
optimizations on JavaScript code. The purpose of this README is to
|
|
||||||
explain how to build and run the Closure Compiler.
|
|
||||||
|
|
||||||
The Closure Compiler requires Java 6 or higher.
|
|
||||||
http://www.java.com/
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Building The Closure Compiler
|
|
||||||
//
|
|
||||||
|
|
||||||
There are three ways to get a Closure Compiler executable.
|
|
||||||
|
|
||||||
1) Use one we built for you.
|
|
||||||
|
|
||||||
Pre-built Closure binaries can be found at
|
|
||||||
http://code.google.com/p/closure-compiler/downloads/list
|
|
||||||
|
|
||||||
|
|
||||||
2) Check out the source and build it with Apache Ant.
|
|
||||||
|
|
||||||
First, check out the full source tree of the Closure Compiler. There
|
|
||||||
are instructions on how to do this at the project site.
|
|
||||||
http://code.google.com/p/closure-compiler/source/checkout
|
|
||||||
|
|
||||||
Apache Ant is a cross-platform build tool.
|
|
||||||
http://ant.apache.org/
|
|
||||||
|
|
||||||
At the root of the source tree, there is an Ant file named
|
|
||||||
build.xml. To use it, navigate to the same directory and type the
|
|
||||||
command
|
|
||||||
|
|
||||||
ant jar
|
|
||||||
|
|
||||||
This will produce a jar file called "build/compiler.jar".
|
|
||||||
|
|
||||||
|
|
||||||
3) Check out the source and build it with Eclipse.
|
|
||||||
|
|
||||||
Eclipse is a cross-platform IDE.
|
|
||||||
http://www.eclipse.org/
|
|
||||||
|
|
||||||
Under Eclipse's File menu, click "New > Project ..." and create a
|
|
||||||
"Java Project." You will see an options screen. Give the project a
|
|
||||||
name, select "Create project from existing source," and choose the
|
|
||||||
root of the checked-out source tree as the existing directory. Verify
|
|
||||||
that you are using JRE version 6 or higher.
|
|
||||||
|
|
||||||
Eclipse can use the build.xml file to discover rules. When you
|
|
||||||
navigate to the build.xml file, you will see all the build rules in
|
|
||||||
the "Outline" pane. Run the "jar" rule to build the compiler in
|
|
||||||
build/compiler.jar.
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Running The Closure Compiler
|
|
||||||
//
|
|
||||||
|
|
||||||
Once you have the jar binary, running the Closure Compiler is straightforward.
|
|
||||||
|
|
||||||
On the command line, type
|
|
||||||
|
|
||||||
java -jar compiler.jar
|
|
||||||
|
|
||||||
This starts the compiler in interactive mode. Type
|
|
||||||
|
|
||||||
var x = 17 + 25;
|
|
||||||
|
|
||||||
then hit "Enter", then hit "Ctrl-Z" (on Windows) or "Ctrl-D" (on Mac or Linux)
|
|
||||||
and "Enter" again. The Compiler will respond:
|
|
||||||
|
|
||||||
var x=42;
|
|
||||||
|
|
||||||
The Closure Compiler has many options for reading input from a file,
|
|
||||||
writing output to a file, checking your code, and running
|
|
||||||
optimizations. To learn more, type
|
|
||||||
|
|
||||||
java -jar compiler.jar --help
|
|
||||||
|
|
||||||
You can read more detailed documentation about the many flags at
|
|
||||||
http://code.google.com/closure/compiler/docs/gettingstarted_app.html
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Compiling Multiple Scripts
|
|
||||||
//
|
|
||||||
|
|
||||||
If you have multiple scripts, you should compile them all together with
|
|
||||||
one compile command.
|
|
||||||
|
|
||||||
java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
|
|
||||||
|
|
||||||
The Closure Compiler will concatenate the files in the order they're
|
|
||||||
passed at the command line.
|
|
||||||
|
|
||||||
If you need to compile many, many scripts together, you may start to
|
|
||||||
run into problems with managing dependencies between scripts. You
|
|
||||||
should check out the Closure Library. It contains functions for
|
|
||||||
enforcing dependencies between scripts, and a tool called calcdeps.py
|
|
||||||
that knows how to give scripts to the Closure Compiler in the right
|
|
||||||
order.
|
|
||||||
|
|
||||||
http://code.google.com/p/closure-library/
|
|
||||||
|
|
||||||
//
|
|
||||||
// Licensing
|
|
||||||
//
|
|
||||||
|
|
||||||
Unless otherwise stated, all source files are licensed under
|
|
||||||
the Apache License, Version 2.0.
|
|
||||||
|
|
||||||
|
|
||||||
-----
|
|
||||||
Code under:
|
|
||||||
src/com/google/javascript/rhino
|
|
||||||
test/com/google/javascript/rhino
|
|
||||||
|
|
||||||
URL: http://www.mozilla.org/rhino
|
|
||||||
Version: 1.5R3, with heavy modifications
|
|
||||||
License: Netscape Public License and MPL / GPL dual license
|
|
||||||
|
|
||||||
Description: A partial copy of Mozilla Rhino. Mozilla Rhino is an
|
|
||||||
implementation of JavaScript for the JVM. The JavaScript parser and
|
|
||||||
the parse tree data structures were extracted and modified
|
|
||||||
significantly for use by Google's JavaScript compiler.
|
|
||||||
|
|
||||||
Local Modifications: The packages have been renamespaced. All code not
|
|
||||||
relavant to parsing has been removed. A JSDoc parser and static typing
|
|
||||||
system have been added.
|
|
||||||
|
|
||||||
|
|
||||||
-----
|
|
||||||
Code in:
|
|
||||||
lib/libtrunk_rhino_parser_jarjared.jar
|
|
||||||
|
|
||||||
Rhino
|
|
||||||
URL: http://www.mozilla.org/rhino
|
|
||||||
Version: Trunk
|
|
||||||
License: Netscape Public License and MPL / GPL dual license
|
|
||||||
|
|
||||||
Description: Mozilla Rhino is an implementation of JavaScript for the JVM.
|
|
||||||
|
|
||||||
Local Modifications: None. We've used JarJar to renamespace the code
|
|
||||||
post-compilation. See:
|
|
||||||
http://code.google.com/p/jarjar/
|
|
||||||
|
|
||||||
|
|
||||||
-----
|
|
||||||
Code in:
|
|
||||||
lib/args4j_deploy.jar
|
|
||||||
|
|
||||||
Args4j
|
|
||||||
URL: https://args4j.dev.java.net/
|
|
||||||
Version: 2.0.9
|
|
||||||
License: MIT
|
|
||||||
|
|
||||||
Description:
|
|
||||||
args4j is a small Java class library that makes it easy to parse command line
|
|
||||||
options/arguments in your CUI application.
|
|
||||||
|
|
||||||
Local Modifications: None.
|
|
||||||
|
|
||||||
|
|
||||||
-----
|
|
||||||
Code in:
|
|
||||||
lib/google_common_deploy.jar
|
|
||||||
|
|
||||||
Guava Libraries
|
|
||||||
URL: http://code.google.com/p/guava-libraries/
|
|
||||||
Version: Trunk
|
|
||||||
License: Apache License 2.0
|
|
||||||
|
|
||||||
Description: Google's core Java libraries.
|
|
||||||
|
|
||||||
Local Modifications: None.
|
|
||||||
|
|
||||||
|
|
||||||
-----
|
|
||||||
Code in:
|
|
||||||
lib/hamcrest-core-1.1.jar
|
|
||||||
|
|
||||||
Hamcrest
|
|
||||||
URL: http://code.google.com/p/hamcrest
|
|
||||||
License: BSD
|
|
||||||
License File: LICENSE
|
|
||||||
|
|
||||||
Description:
|
|
||||||
Provides a library of matcher objects (also known as constraints or
|
|
||||||
predicates) allowing 'match' rules to be defined declaratively, to be used in
|
|
||||||
other frameworks. Typical scenarios include testing frameworks, mocking
|
|
||||||
libraries and UI validation rules.
|
|
||||||
|
|
||||||
Local modifications:
|
|
||||||
The original jars contained both source code and compiled classes.
|
|
||||||
|
|
||||||
hamcrest-core-1.1.jar just contains the compiled classes.
|
|
||||||
|
|
||||||
|
|
||||||
----
|
|
||||||
Code in:
|
|
||||||
lib/junit.jar
|
|
||||||
|
|
||||||
JUnit
|
|
||||||
URL: http://sourceforge.net/projects/junit/
|
|
||||||
Version: 4.5
|
|
||||||
License: Common Public License 1.0
|
|
||||||
|
|
||||||
Description: A framework for writing and running automated tests in Java.
|
|
||||||
|
|
||||||
Local Modifications: None.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
Code in:
|
|
||||||
lib/protobuf_deploy.jar
|
|
||||||
|
|
||||||
Protocol Buffers
|
|
||||||
URL: http://code.google.com/p/protobuf/
|
|
||||||
Version: 2.2.0a
|
|
||||||
License: New BSD License
|
|
||||||
|
|
||||||
Description: Supporting libraries for protocol buffers,
|
|
||||||
an encoding of structured data.
|
|
||||||
|
|
||||||
Local Modifications: None
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
Code in:
|
|
||||||
lib/ant_deploy.jar
|
|
||||||
|
|
||||||
URL: http://ant.apache.org/bindownload.cgi
|
|
||||||
Version: 1.6.5
|
|
||||||
License: Apache License 2.0
|
|
||||||
Description:
|
|
||||||
Ant is a Java based build tool. In theory it is kind of like "make"
|
|
||||||
without make's wrinkles and with the full portability of pure java code.
|
|
||||||
|
|
||||||
Local Modifications:
|
|
||||||
Modified apache-ant-1.6.5/bin/ant to look in the ant.runfiles directory
|
|
Binary file not shown.
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# vim: expandtab sw=4 ts=4 sts=4:
|
|
||||||
#
|
|
||||||
# Script for removing language selection from phpMyAdmin
|
|
||||||
|
|
||||||
if [ $# -lt 1 ] ; then
|
|
||||||
echo "Usage: lang-cleanup.sh type"
|
|
||||||
echo "Type can be one of:"
|
|
||||||
echo " all-languages - nothing will be done"
|
|
||||||
echo " english - no translations will be kept"
|
|
||||||
echo " langcode - keeps language"
|
|
||||||
echo
|
|
||||||
echo "Languages can be scpecified multiple times"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Expression for find
|
|
||||||
match=""
|
|
||||||
for type in "$@" ; do
|
|
||||||
case $type in
|
|
||||||
all-languages)
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
english)
|
|
||||||
rm -rf po
|
|
||||||
rm -rf locale
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
match="$match -and -not -name $type.po -and -not -path locale/$type/LC_MESSAGES/phpmyadmin.mo"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Delete unvanted languages
|
|
||||||
find po locale -type f $match -print0 | xargs -0r rm
|
|
||||||
|
|
||||||
# Delete empty directories
|
|
||||||
rmdir --ignore-fail-on-non-empty locale/*/*
|
|
||||||
rmdir --ignore-fail-on-non-empty locale/*
|
|
@@ -1,29 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
|
|
||||||
import polib
|
|
||||||
import sys
|
|
||||||
|
|
||||||
po = polib.pofile(sys.argv[1])
|
|
||||||
poupdate = polib.pofile(sys.argv[2])
|
|
||||||
|
|
||||||
for origentry in po.fuzzy_entries():
|
|
||||||
for updateentry in poupdate.translated_entries():
|
|
||||||
if origentry.msgctxt is None and origentry.msgid == updateentry.msgid:
|
|
||||||
origentry.msgstr = updateentry.msgstr
|
|
||||||
origentry.flags.remove('fuzzy')
|
|
||||||
break
|
|
||||||
if origentry.msgctxt == updateentry.msgctxt and origentry.msgid == updateentry.msgid:
|
|
||||||
origentry.msgstr = updateentry.msgstr
|
|
||||||
origentry.flags.remove('fuzzy')
|
|
||||||
break
|
|
||||||
for origentry in po.untranslated_entries():
|
|
||||||
for updateentry in poupdate.translated_entries():
|
|
||||||
if origentry.msgctxt is None and origentry.msgid == updateentry.msgid:
|
|
||||||
origentry.msgstr = updateentry.msgstr
|
|
||||||
break
|
|
||||||
if origentry.msgctxt == updateentry.msgctxt and origentry.msgid == updateentry.msgid:
|
|
||||||
origentry.msgstr = updateentry.msgstr
|
|
||||||
break
|
|
||||||
|
|
||||||
po.save()
|
|
||||||
|
|
@@ -1,152 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
||||||
/**
|
|
||||||
* Single signon for phpMyAdmin using OpenID
|
|
||||||
*
|
|
||||||
* This is just example how to use single signon with phpMyAdmin, it is
|
|
||||||
* not intended to be perfect code and look, only shows how you can
|
|
||||||
* integrate this functionality in your application.
|
|
||||||
*
|
|
||||||
* It uses OpenID pear package, see http://pear.php.net/package/OpenID
|
|
||||||
*
|
|
||||||
* User first authenticates using OpenID and based on content of $AUTH_MAP
|
|
||||||
* the login information is passed to phpMyAdmin in session data.
|
|
||||||
*
|
|
||||||
* @package phpMyAdmin
|
|
||||||
* @subpackage Example
|
|
||||||
*/
|
|
||||||
|
|
||||||
require_once 'OpenID/RelyingParty.php';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Map of authenticated users to MySQL user/password pairs.
|
|
||||||
*/
|
|
||||||
$AUTH_MAP = array(
|
|
||||||
'http://launchpad.net/~username' => array(
|
|
||||||
'user' => 'root',
|
|
||||||
'password' => '',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Simple function to show HTML page with given content.
|
|
||||||
*/
|
|
||||||
function show_page($contents) {
|
|
||||||
header('Content-Type: text/html; charset=utf-8');
|
|
||||||
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
|
|
||||||
?>
|
|
||||||
<!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" />
|
|
||||||
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
|
|
||||||
<title>phpMyAdmin OpenID signon example</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php
|
|
||||||
if (isset($_SESSION) && isset($_SESSION['PMA_single_signon_error_message'])) {
|
|
||||||
echo '<p class="error">' . $_SESSION['PMA_single_signon_message'] . '</p>';
|
|
||||||
unset($_SESSION['PMA_single_signon_message']);
|
|
||||||
}
|
|
||||||
echo $contents;
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Need to have cookie visible from parent directory */
|
|
||||||
session_set_cookie_params(0, '/', '', 0);
|
|
||||||
/* Create signon session */
|
|
||||||
$session_name = 'SignonSession';
|
|
||||||
session_name($session_name);
|
|
||||||
session_start();
|
|
||||||
|
|
||||||
// Determine realm and return_to
|
|
||||||
$base = 'http';
|
|
||||||
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
|
|
||||||
$base .= 's';
|
|
||||||
}
|
|
||||||
$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];
|
|
||||||
|
|
||||||
$realm = $base . '/';
|
|
||||||
$returnTo = $base . dirname($_SERVER['PHP_SELF']);
|
|
||||||
if ($returnTo[strlen($returnTo) - 1] != '/') {
|
|
||||||
$returnTo .= '/';
|
|
||||||
}
|
|
||||||
$returnTo .= 'openid.php';
|
|
||||||
|
|
||||||
/* Display form */
|
|
||||||
if (!count($_GET) && !count($_POST) || isset($_GET['phpMyAdmin'])) {
|
|
||||||
/* Show simple form */
|
|
||||||
$content = '<form action="openid.php" method="post">
|
|
||||||
OpenID: <input type="text" name="identifier" /><br />
|
|
||||||
<input type="submit" name="start" />
|
|
||||||
</form>
|
|
||||||
</body>
|
|
||||||
</html>';
|
|
||||||
show_page($content);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grab identifier */
|
|
||||||
if (isset($_POST['identifier'])) {
|
|
||||||
$identifier = $_POST['identifier'];
|
|
||||||
} else if (isset($_SESSION['identifier'])) {
|
|
||||||
$identifier = $_SESSION['identifier'];
|
|
||||||
} else {
|
|
||||||
$identifier = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create OpenID object */
|
|
||||||
try {
|
|
||||||
$o = new OpenID_RelyingParty($returnTo, $realm, $identifier);
|
|
||||||
} catch (OpenID_Exception $e) {
|
|
||||||
$contents = "<div class='relyingparty_results'>\n";
|
|
||||||
$contents .= "<pre>" . $e->getMessage() . "</pre>\n";
|
|
||||||
$contents .= "</div class='relyingparty_results'>";
|
|
||||||
show_page($contents);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Redirect to OpenID provider */
|
|
||||||
if (isset($_POST['start'])) {
|
|
||||||
try {
|
|
||||||
$authRequest = $o->prepare();
|
|
||||||
} catch (OpenID_Exception $e) {
|
|
||||||
$contents = "<div class='relyingparty_results'>\n";
|
|
||||||
$contents .= "<pre>" . $e->getMessage() . "</pre>\n";
|
|
||||||
$contents .= "</div class='relyingparty_results'>";
|
|
||||||
show_page($contents);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
$url = $authRequest->getAuthorizeURL();
|
|
||||||
|
|
||||||
header("Location: $url");
|
|
||||||
exit;
|
|
||||||
} else {
|
|
||||||
/* Grab query string */
|
|
||||||
if (!count($_POST)) {
|
|
||||||
list(, $queryString) = explode('?', $_SERVER['REQUEST_URI']);
|
|
||||||
} else {
|
|
||||||
// I hate php sometimes
|
|
||||||
$queryString = file_get_contents('php://input');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check reply */
|
|
||||||
$message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP);
|
|
||||||
|
|
||||||
$id = $message->get('openid.claimed_id');
|
|
||||||
|
|
||||||
if (!empty($id) && isset($AUTH_MAP[$id])) {
|
|
||||||
$_SESSION['PMA_single_signon_user'] = $AUTH_MAP[$id]['user'];
|
|
||||||
$_SESSION['PMA_single_signon_password'] = $AUTH_MAP[$id]['password'];
|
|
||||||
session_write_close();
|
|
||||||
/* Redirect to phpMyAdmin (should use absolute URL here!) */
|
|
||||||
header('Location: ../index.php');
|
|
||||||
} else {
|
|
||||||
show_page('<p>User not allowed!</p>');
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,7 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# vim: expandtab sw=4 ts=4 sts=4:
|
|
||||||
|
|
||||||
LOCS=`ls po/*.po.pending | sed 's@.*/\(.*\)\.po\.pending@\1@'`
|
|
||||||
for loc in $LOCS ; do
|
|
||||||
./scripts/pendingpo.py po/$loc.po po/$loc.po.pending
|
|
||||||
done
|
|
@@ -1,31 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
'''
|
|
||||||
Script to automatically merge pending translations from Pootle into po files.
|
|
||||||
|
|
||||||
It only accepts those, which are not translated or fuzzy.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import polib
|
|
||||||
import sys
|
|
||||||
|
|
||||||
po = polib.pofile(sys.argv[1])
|
|
||||||
poupdate = polib.pofile(sys.argv[2])
|
|
||||||
|
|
||||||
for updateentry in poupdate:
|
|
||||||
msgid = updateentry.msgid.split('\n', 1)[1]
|
|
||||||
if msgid == updateentry.msgstr:
|
|
||||||
continue
|
|
||||||
origentry = po.find(msgid)
|
|
||||||
if origentry is None:
|
|
||||||
continue
|
|
||||||
if origentry.msgstr == '' or 'fuzzy' in origentry.flags:
|
|
||||||
origentry.msgstr = updateentry.msgstr
|
|
||||||
try:
|
|
||||||
origentry.msgstr_plural = updateentry.msgstr_plural
|
|
||||||
except AttributeError:
|
|
||||||
pass
|
|
||||||
if 'fuzzy' in origentry.flags:
|
|
||||||
origentry.flags.remove('fuzzy')
|
|
||||||
|
|
||||||
po.save()
|
|
||||||
|
|
@@ -1,116 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
mkdir -p po
|
|
||||||
|
|
||||||
|
|
||||||
sed "
|
|
||||||
s/' ;/';/;
|
|
||||||
/to translate/D;
|
|
||||||
/\$allow_recoding/D;
|
|
||||||
s/\$byteUnits = array('\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)');/\$str_B = '\1';\n\$str_KiB = '\2';\n\$str_MiB = '\3';\n\$str_GiB = '\4';\n\$str_TiB = '\5';\n\$str_PiB = '\6';\n\$str_EiB = '\7';/;
|
|
||||||
s/\$day_of_week = array('\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)');/\$str_Sun = '\1';\n\$str_Mon = '\2';\n\$str_Tue = '\3';\n\$str_Wed = '\4';\n\$str_Thu = '\5';\n\$str_Fri = '\6';\n\$str_Sat = '\7';\n/;
|
|
||||||
s/\(\$month = array('.*', '.*', '.*', '.*', '.*', '.*',\) '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)');/\1\n\$str_Jul = '\2';\n\$str_Aug = '\3';\n\$str_Sep = '\4';\n\$str_Oct = '\5';\n\$str_Nov = '\6';\n\$str_Dec = '\7';\n/;
|
|
||||||
s/\$month = array('\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)', '\(.*\)',/\$str_Jan = '\1';\n\$str_Feb = '\2';\n\$str_Mar = '\3';\n\$str_Apr = '\4';\n\$str_May = '\5';\n\$str_Jun = '\6';\n/;
|
|
||||||
" < lang/english-utf-8.inc.php > po/english.php
|
|
||||||
|
|
||||||
for lang in lang/*.inc.php ; do
|
|
||||||
loc=`basename $lang | sed 's/-utf-8.inc.php//'`
|
|
||||||
# Unfold arrays, delete not translated strings
|
|
||||||
sed "
|
|
||||||
s/' ;/';/;
|
|
||||||
/to translate/D;
|
|
||||||
/^\/\//D;
|
|
||||||
/\$allow_recoding/D;
|
|
||||||
s/\$byteUnits *= *array('\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)');/\$str_B = '\1';\n\$str_KiB = '\2';\n\$str_MiB = '\3';\n\$str_GiB = '\4';\n\$str_TiB = '\5';\n\$str_PiB = '\6';\n\$str_EiB = '\7';/;
|
|
||||||
s/\$day_of_week *= *array('\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)');/\$str_Sun = '\1';\n\$str_Mon = '\2';\n\$str_Tue = '\3';\n\$str_Wed = '\4';\n\$str_Thu = '\5';\n\$str_Fri = '\6';\n\$str_Sat = '\7';\n/;
|
|
||||||
s/\(\$month *= *array('.*', *'.*', *'.*', *'.*', *'.*', *'.*',\) '\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)');/\1\n\$str_Jul = '\2';\n\$str_Aug = '\3';\n\$str_Sep = '\4';\n\$str_Oct = '\5';\n\$str_Nov = '\6';\n\$str_Dec = '\7';\n/;
|
|
||||||
s/\$month *= *array('\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)', *'\(.*\)',/\$str_Jan = '\1';\n\$str_Feb = '\2';\n\$str_Mar = '\3';\n\$str_Apr = '\4';\n\$str_May = '\5';\n\$str_Jun = '\6';\n/;
|
|
||||||
" < $lang > po/$loc.php
|
|
||||||
|
|
||||||
case $loc in
|
|
||||||
afrikaans) langcode='af';;
|
|
||||||
arabic) langcode='ar';;
|
|
||||||
azerbaijani) langcode='az';;
|
|
||||||
bangla) langcode='bn';;
|
|
||||||
belarusian_cyrillic) langcode='be';;
|
|
||||||
belarusian_latin) langcode='be@latin';;
|
|
||||||
bulgarian) langcode='bg';;
|
|
||||||
bosnian) langcode='bs';;
|
|
||||||
catalan) langcode='ca';;
|
|
||||||
czech) langcode='cs';;
|
|
||||||
danish) langcode='da';;
|
|
||||||
german) langcode='de';;
|
|
||||||
greek) langcode='el';;
|
|
||||||
english) langcode='en';;
|
|
||||||
english-gb) langcode='en_GB';;
|
|
||||||
spanish) langcode='es';;
|
|
||||||
estonian) langcode='et';;
|
|
||||||
basque) langcode='eu';;
|
|
||||||
persian) langcode='fa';;
|
|
||||||
finnish) langcode='fi';;
|
|
||||||
french) langcode='fr';;
|
|
||||||
galician) langcode='gl';;
|
|
||||||
hebrew) langcode='he';;
|
|
||||||
hindi) langcode='hi';;
|
|
||||||
croatian) langcode='hr';;
|
|
||||||
hungarian) langcode='hu';;
|
|
||||||
indonesian) langcode='id';;
|
|
||||||
italian) langcode='it';;
|
|
||||||
japanese) langcode='ja';;
|
|
||||||
korean) langcode='ko';;
|
|
||||||
georgian) langcode='ka';;
|
|
||||||
lithuanian) langcode='lt';;
|
|
||||||
latvian) langcode='lv';;
|
|
||||||
macedonian_cyrillic) langcode='mk';;
|
|
||||||
mongolian) langcode='mn';;
|
|
||||||
malay) langcode='ms';;
|
|
||||||
dutch) langcode='nl';;
|
|
||||||
norwegian) langcode='nb';;
|
|
||||||
polish) langcode='pl';;
|
|
||||||
brazilian_portuguese) langcode='pt_BR';;
|
|
||||||
portuguese) langcode='pt';;
|
|
||||||
romanian) langcode='ro';;
|
|
||||||
russian) langcode='ru';;
|
|
||||||
sinhala) langcode='si';;
|
|
||||||
slovak) langcode='sk';;
|
|
||||||
slovenian) langcode='sl';;
|
|
||||||
albanian) langcode='sq';;
|
|
||||||
serbian_latin) langcode='sr@latin';;
|
|
||||||
serbian_cyrillic) langcode='sr';;
|
|
||||||
swedish) langcode='sv';;
|
|
||||||
thai) langcode='th';;
|
|
||||||
turkish) langcode='tr';;
|
|
||||||
tatarish) langcode='tt';;
|
|
||||||
ukrainian) langcode='uk';;
|
|
||||||
chinese_traditional) langcode='zh_TW';;
|
|
||||||
chinese_simplified) langcode='zh_CN';;
|
|
||||||
uzbek_cyrillic) langcode='uz';;
|
|
||||||
uzbek_latin) langcode='uz@latin';;
|
|
||||||
*) echo "Wrong loc: $loc"; exit 1;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "$loc -> $langcode"
|
|
||||||
if [ $langcode = en ] ; then
|
|
||||||
php2po -i po/english.php -o po/phpmyadmin-update.pot -P
|
|
||||||
sed -i '
|
|
||||||
s/PACKAGE VERSION/phpMyAdmin 3.4/;
|
|
||||||
s/Report-Msgid-Bugs-To: .*\\n/Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\\n/;
|
|
||||||
' po/phpmyadmin-update.pot
|
|
||||||
else
|
|
||||||
php2po -t po/english.php -i po/$loc.php -o po/$langcode-update.po
|
|
||||||
sed -i "
|
|
||||||
s/PACKAGE VERSION/phpMyAdmin 3.4/;
|
|
||||||
/, fuzzy/D;
|
|
||||||
s/LANGUAGE <LL@li.org>/$loc <$langcode@li.org>/;
|
|
||||||
s/YEAR-MO-DA HO:MI+ZONE/`date +'%Y-%m-%d %H:%M%z'`/;
|
|
||||||
s/FULL NAME <EMAIL@ADDRESS>/Automatically generated/;
|
|
||||||
s/Report-Msgid-Bugs-To: .*\\\\n/Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\\\\n/;
|
|
||||||
" po/$langcode-update.po
|
|
||||||
./scripts/mergepo.py po/$langcode.po po/$langcode-update.po
|
|
||||||
msgmerge -U -C po/$langcode-update.po po/$langcode.po po/phpmyadmin.pot
|
|
||||||
rm po/$langcode-update.po po/$loc.php
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
rm po/english.php po/phpmyadmin-update.pot
|
|
@@ -1,66 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Removes mo files for incomplete translations
|
|
||||||
#
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
#
|
|
||||||
# How many percent needs to be translated
|
|
||||||
#
|
|
||||||
THRESHOLD=40
|
|
||||||
|
|
||||||
#
|
|
||||||
# Generated output file
|
|
||||||
#
|
|
||||||
TMPOUTPUTFILE=libraries/language_stats.inc.php.tmp
|
|
||||||
OUTPUTFILE=libraries/language_stats.inc.php
|
|
||||||
|
|
||||||
if [ ! -z "$1" ] ; then
|
|
||||||
THRESHOLD=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo '<?php' > $TMPOUTPUTFILE
|
|
||||||
echo '/* Automatically generated file, do not edit! */' >> $TMPOUTPUTFILE
|
|
||||||
echo '/* Generated by scripts/remove-incomplete-mo */' >> $TMPOUTPUTFILE
|
|
||||||
echo '' >> $TMPOUTPUTFILE
|
|
||||||
echo '$GLOBALS["language_stats"] = array (' >> $TMPOUTPUTFILE
|
|
||||||
|
|
||||||
check() {
|
|
||||||
TMPOUTPUTFILE=$2
|
|
||||||
lang=`echo $1 | sed 's@po/\(.*\)\.po@\1@'`
|
|
||||||
STATS=`LC_ALL=C msgfmt --statistics -o /dev/null $1 2>&1`
|
|
||||||
if echo $STATS | grep -q ' translated ' ; then
|
|
||||||
TRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) translated.*/\2/'`
|
|
||||||
else
|
|
||||||
TRANSLATED=0
|
|
||||||
fi
|
|
||||||
if echo $STATS | grep -q ' fuzzy ' ; then
|
|
||||||
FUZZY=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) fuzzy.*/\2/'`
|
|
||||||
else
|
|
||||||
FUZZY=0
|
|
||||||
fi
|
|
||||||
if echo $STATS | grep -q ' untranslated ' ; then
|
|
||||||
UNTRANSLATED=`echo $STATS | sed 's/\(^\|.* \)\([0-9]*\) untranslated.*/\2/'`
|
|
||||||
else
|
|
||||||
UNTRANSLATED=0
|
|
||||||
fi
|
|
||||||
PERCENT=`expr 100 \* $TRANSLATED / \( $TRANSLATED + $FUZZY + $UNTRANSLATED \) || true`
|
|
||||||
echo " '$lang' => $PERCENT," >> $TMPOUTPUTFILE
|
|
||||||
|
|
||||||
if [ $PERCENT -lt $THRESHOLD ] ; then
|
|
||||||
echo "Removing $lang, only $PERCENT%"
|
|
||||||
rm -f locale/$lang/LC_MESSAGES/phpmyadmin.mo
|
|
||||||
rmdir locale/$lang/LC_MESSAGES
|
|
||||||
rmdir locale/$lang
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
for x in po/*.po ; do
|
|
||||||
check $x $TMPOUTPUTFILE
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ');' >> $TMPOUTPUTFILE
|
|
||||||
echo '?>' >> $TMPOUTPUTFILE
|
|
||||||
|
|
||||||
mv $TMPOUTPUTFILE $OUTPUTFILE
|
|
@@ -1,22 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Script to remove ^M from files for DOS <-> UNIX conversions
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ $# != 1 ]
|
|
||||||
then
|
|
||||||
echo "Usage: remove_control_m.sh <extension of files>"
|
|
||||||
echo ""
|
|
||||||
echo "Example: remove_control_m.sh php3"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
for i in `find . -name "*.$1"`
|
|
||||||
do
|
|
||||||
echo $i
|
|
||||||
tr -d '\015' < $i > ${i}.new
|
|
||||||
rm $i
|
|
||||||
mv ${i}.new $i
|
|
||||||
done;
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user