Compare commits
19 Commits
cc97d82fd1
...
retro
Author | SHA1 | Date | |
---|---|---|---|
b3956cb052 | |||
5ee643bbbb | |||
96a499d4ec | |||
cc0daa1dfe | |||
236997cbc2 | |||
46e8124525 | |||
fe090bc88f | |||
41d9e77a5b | |||
2541f5ff58 | |||
83bdc9bbd7 | |||
ff375abc90 | |||
6c062ad532 | |||
cc1dc7a822 | |||
fa1b8d5c94 | |||
083031170c | |||
126e3c3f71 | |||
7f805eccc8 | |||
1dac9cc3df | |||
65b1b6365e |
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
|
||||
|
@@ -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
|
||||
-->
|
||||
|
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
|
||||
===================
|
||||
|
||||
Version 3.4.11.1
|
||||
Retro Edition 😎
|
||||
|
||||
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
|
@@ -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>
|
||||
|
@@ -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" />
|
||||
|
@@ -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
|
@@ -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" />
|
||||
|
@@ -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
|
||||
@@ -1922,78 +1903,6 @@ $(document).ready(function() {
|
||||
$("input[id='" + values_id + "']").attr("value", value_array.join(","));
|
||||
disable_popup();
|
||||
});
|
||||
|
||||
/**
|
||||
* Hides certain table structure actions, replacing them with the word "More". They are displayed
|
||||
* in a dropdown menu when the user hovers over the word "More."
|
||||
*/
|
||||
// Remove the actions from the table cells (they are available by default for JavaScript-disabled browsers)
|
||||
// if the table is not a view or information_schema (otherwise there is only one action to hide and there's no point)
|
||||
if($("input[type='hidden'][name='table_type']").val() == "table") {
|
||||
var $table = $("table[id='tablestructure']");
|
||||
$table.find("td[class='browse']").remove();
|
||||
$table.find("td[class='primary']").remove();
|
||||
$table.find("td[class='unique']").remove();
|
||||
$table.find("td[class='index']").remove();
|
||||
$table.find("td[class='fulltext']").remove();
|
||||
$table.find("th[class='action']").attr("colspan", 3);
|
||||
|
||||
// Display the "more" text
|
||||
$table.find("td[class='more_opts']").show();
|
||||
|
||||
// Position the dropdown
|
||||
$(".structure_actions_dropdown").each(function() {
|
||||
// Optimize DOM querying
|
||||
var $this_dropdown = $(this);
|
||||
// The top offset must be set for IE even if it didn't change
|
||||
var cell_right_edge_offset = $this_dropdown.parent().offset().left + $this_dropdown.parent().innerWidth();
|
||||
var left_offset = cell_right_edge_offset - $this_dropdown.innerWidth();
|
||||
var top_offset = $this_dropdown.parent().offset().top + $this_dropdown.parent().innerHeight();
|
||||
$this_dropdown.offset({ top: top_offset, left: left_offset });
|
||||
});
|
||||
|
||||
// A hack for IE6 to prevent the after_field select element from being displayed on top of the dropdown by
|
||||
// positioning an iframe directly on top of it
|
||||
var $after_field = $("select[name='after_field']");
|
||||
$("iframe[class='IE_hack']")
|
||||
.width($after_field.width())
|
||||
.height($after_field.height())
|
||||
.offset({
|
||||
top: $after_field.offset().top,
|
||||
left: $after_field.offset().left
|
||||
});
|
||||
|
||||
// When "more" is hovered over, show the hidden actions
|
||||
$table.find("td[class='more_opts']")
|
||||
.mouseenter(function() {
|
||||
if($.browser.msie && $.browser.version == "6.0") {
|
||||
$("iframe[class='IE_hack']")
|
||||
.show()
|
||||
.width($after_field.width()+4)
|
||||
.height($after_field.height()+4)
|
||||
.offset({
|
||||
top: $after_field.offset().top,
|
||||
left: $after_field.offset().left
|
||||
});
|
||||
}
|
||||
$(".structure_actions_dropdown").hide(); // Hide all the other ones that may be open
|
||||
$(this).children(".structure_actions_dropdown").show();
|
||||
// Need to do this again for IE otherwise the offset is wrong
|
||||
if($.browser.msie) {
|
||||
var left_offset_IE = $(this).offset().left + $(this).innerWidth() - $(this).children(".structure_actions_dropdown").innerWidth();
|
||||
var top_offset_IE = $(this).offset().top + $(this).innerHeight();
|
||||
$(this).children(".structure_actions_dropdown").offset({
|
||||
top: top_offset_IE,
|
||||
left: left_offset_IE });
|
||||
}
|
||||
})
|
||||
.mouseleave(function() {
|
||||
$(this).children(".structure_actions_dropdown").hide();
|
||||
if($.browser.msie && $.browser.version == "6.0") {
|
||||
$("iframe[class='IE_hack']").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/* Displays tooltips */
|
||||
@@ -2269,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.
|
||||
*/
|
||||
|
@@ -96,7 +96,7 @@ class PMA_Config
|
||||
*/
|
||||
function checkSystem()
|
||||
{
|
||||
$this->set('PMA_VERSION', '3.4.11.1');
|
||||
$this->set('PMA_VERSION', 'Retro');
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
|
@@ -43,14 +43,14 @@ class PMA_Index
|
||||
protected $_columns = array();
|
||||
|
||||
/**
|
||||
* The index method used (BTREE, FULLTEXT, HASH, RTREE).
|
||||
* The index method used (BTREE, SPATIAL, FULLTEXT, HASH, RTREE).
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_type = '';
|
||||
|
||||
/**
|
||||
* The index choice (PRIMARY, UNIQUE, INDEX, FULLTEXT)
|
||||
* The index choice (PRIMARY, UNIQUE, INDEX, SPATIAL, FULLTEXT)
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
@@ -269,6 +269,8 @@ class PMA_Index
|
||||
$this->_choice = 'PRIMARY';
|
||||
} elseif ('FULLTEXT' == $this->_type) {
|
||||
$this->_choice = 'FULLTEXT';
|
||||
} elseif ('SPATIAL' == $this->_type) {
|
||||
$this->_choice = 'SPATIAL';
|
||||
} elseif ('0' == $this->_non_unique) {
|
||||
$this->_choice = 'UNIQUE';
|
||||
} else {
|
||||
@@ -323,6 +325,7 @@ class PMA_Index
|
||||
'PRIMARY',
|
||||
'INDEX',
|
||||
'UNIQUE',
|
||||
'SPATIAL',
|
||||
'FULLTEXT',
|
||||
);
|
||||
}
|
||||
@@ -462,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'];
|
||||
@@ -484,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";
|
||||
}
|
||||
|
||||
|
@@ -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) {
|
||||
|
@@ -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 -->
|
||||
|
@@ -123,6 +123,25 @@ function PMA_getIcon($icon, $alternate = '', $container = false, $force_text = f
|
||||
return $button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a span with only an icon
|
||||
*
|
||||
* @uses $GLOBALS['pmaThemeImage']
|
||||
* @uses htmlspecialchars()
|
||||
* @param string $icon name of icon file
|
||||
* @param string $alternate alternate text
|
||||
* @return string span with icon
|
||||
*/
|
||||
function PMA_getOnlyIcon($icon, $alternate = '') {
|
||||
|
||||
$alternate = htmlspecialchars($alternate);
|
||||
|
||||
return '<span class="nowrap">'
|
||||
. '<img src="' . $GLOBALS['pmaThemeImage'] . $icon . '"'
|
||||
. ' title="' . $alternate . '" alt="' . $alternate . '"'
|
||||
. ' class="icon" width="16" height="16" />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays the maximum size for an upload
|
||||
*
|
||||
@@ -1944,7 +1963,7 @@ function PMA_flipstring($string, $Separator = "<br />\n")
|
||||
$charbuff = false;
|
||||
|
||||
for ($i = 0, $str_len = strlen($string); $i < $str_len; $i++) {
|
||||
$char = $string{$i};
|
||||
$char = $string[$i];
|
||||
$append = false;
|
||||
|
||||
if ($char == '&') {
|
||||
|
@@ -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
|
||||
*
|
||||
@@ -2460,7 +2455,7 @@ $cfg['ThemeManager'] = true;
|
||||
*
|
||||
* @global string $cfg['ThemeDefault']
|
||||
*/
|
||||
$cfg['ThemeDefault'] = 'pmahomme';
|
||||
$cfg['ThemeDefault'] = 'original';
|
||||
|
||||
/**
|
||||
* allow different theme for each configured server
|
||||
|
@@ -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;
|
||||
|
@@ -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" />
|
||||
|
@@ -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) . '" />
|
||||
|
@@ -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" />
|
||||
|
@@ -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; ?>" />
|
||||
|
@@ -88,6 +88,11 @@ if (! empty($submit_mult)
|
||||
$query_type = 'unique_fld';
|
||||
$mult_btn = __('Yes');
|
||||
break;
|
||||
case 'spatial':
|
||||
unset($submit_mult);
|
||||
$query_type = 'spatial_fld';
|
||||
$mult_btn = __('Yes');
|
||||
break;
|
||||
case 'ftext':
|
||||
unset($submit_mult);
|
||||
$query_type = 'fulltext_fld';
|
||||
@@ -368,6 +373,12 @@ elseif ($mult_btn == __('Yes')) {
|
||||
. (($i == $selected_cnt-1) ? ');' : '');
|
||||
break;
|
||||
|
||||
case 'spatial_fld':
|
||||
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ' ADD SPATIAL( ' : ', ')
|
||||
. PMA_backquote($selected[$i])
|
||||
. (($i == $selected_cnt-1) ? ');' : '');
|
||||
break;
|
||||
|
||||
case 'fulltext_fld':
|
||||
$sql_query .= (empty($sql_query) ? 'ALTER TABLE ' . PMA_backquote($table) . ' ADD FULLTEXT( ' : ', ')
|
||||
. PMA_backquote($selected[$i])
|
||||
|
@@ -769,7 +769,7 @@ if (! defined('PMA_MINIMUM_COMMON')) {
|
||||
}
|
||||
} elseif (PMA_STR_binarySearchInArr($d_cur, $mysql_charsets, $mysql_charsets_count)
|
||||
|| PMA_STR_binarySearchInArr($d_cur, $mysql_collations_flat, $mysql_collations_count)
|
||||
|| ($d_cur{0} == '_' && PMA_STR_binarySearchInArr(substr($d_cur, 1), $mysql_charsets, $mysql_charsets_count))) {
|
||||
|| ($d_cur[0] == '_' && PMA_STR_binarySearchInArr(substr($d_cur, 1), $mysql_charsets, $mysql_charsets_count))) {
|
||||
$t_suffix = '_charset';
|
||||
} else {
|
||||
// Do nothing
|
||||
|
@@ -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!');
|
||||
|
@@ -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>
|
||||
|
@@ -76,7 +76,7 @@
|
||||
// dullus for text Justification.
|
||||
// Bob Vincent (pillarsdotnet@users.sourceforge.net) for <li> value attribute.
|
||||
// Patrick Benny for text stretch suggestion on Cell().
|
||||
// Johannes Güntert for JavaScript support.
|
||||
// Johannes G<EFBFBD>ntert for JavaScript support.
|
||||
// Denis Van Nuffelen for Dynamic Form.
|
||||
// Jacek Czekaj for multibyte justification
|
||||
// Anthony Ferrara for the reintroduction of legacy image methods.
|
||||
@@ -87,7 +87,7 @@
|
||||
// Mohamad Ali Golkar, Saleh AlMatrafe, Charles Abbott for Arabic and Persian support.
|
||||
// Moritz Wagner and Andreas Wurmser for graphic functions.
|
||||
// Andrew Whitehead for core fonts support.
|
||||
// Esteban Joël Marín for OpenType font conversion.
|
||||
// Esteban Jo<EFBFBD>l Mar<EFBFBD>n for OpenType font conversion.
|
||||
// Teus Hagen for several suggestions and fixes.
|
||||
// Yukihiro Nakadaira for CID-0 CJK fonts fixes.
|
||||
// Kosmas Papachristos for some CSS improvements.
|
||||
@@ -2997,7 +2997,7 @@ class TCPDF {
|
||||
if (empty($orientation)) {
|
||||
$orientation = $default_orientation;
|
||||
} else {
|
||||
$orientation = strtoupper($orientation{0});
|
||||
$orientation = strtoupper($orientation[0]);
|
||||
}
|
||||
if (in_array($orientation, $valid_orientations) AND ($orientation != $default_orientation)) {
|
||||
$this->CurOrientation = $orientation;
|
||||
@@ -6715,7 +6715,7 @@ class TCPDF {
|
||||
* @param $cellpadding (float) Internal cell padding, if empty uses default cell padding.
|
||||
* @param $border (mixed) Indicates if borders must be drawn around the cell. The value can be a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul> or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul> or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
|
||||
* @return float Return the minimal height needed for multicell method for printing the $txt param.
|
||||
* @author Alexander Escalona Fernández, Nicola Asuni
|
||||
* @author Alexander Escalona Fern<EFBFBD>ndez, Nicola Asuni
|
||||
* @public
|
||||
* @since 4.5.011
|
||||
*/
|
||||
@@ -6822,7 +6822,7 @@ class TCPDF {
|
||||
* @param $cellpadding (float) Internal cell padding, if empty uses default cell padding.
|
||||
* @param $border (mixed) Indicates if borders must be drawn around the cell. The value can be a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul> or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul> or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
|
||||
* @return float Return the minimal height needed for multicell method for printing the $txt param.
|
||||
* @author Nicola Asuni, Alexander Escalona Fernández
|
||||
* @author Nicola Asuni, Alexander Escalona Fern<EFBFBD>ndez
|
||||
* @public
|
||||
*/
|
||||
public function getStringHeight($w, $txt, $reseth=false, $autopadding=true, $cellpadding='', $border=0) {
|
||||
@@ -7515,7 +7515,7 @@ class TCPDF {
|
||||
$cached_file = false;
|
||||
}
|
||||
} else { // image file
|
||||
if ($file{0} === '*') {
|
||||
if ($file[0] === '*') {
|
||||
// image as external stream
|
||||
$file = substr($file, 1);
|
||||
$exurl = $file;
|
||||
@@ -7604,7 +7604,7 @@ class TCPDF {
|
||||
// height difference
|
||||
$hdiff = ($oldh - $h);
|
||||
// vertical alignment
|
||||
switch (strtoupper($fitbox{1})) {
|
||||
switch (strtoupper($fitbox[1])) {
|
||||
case 'T': {
|
||||
break;
|
||||
}
|
||||
@@ -7625,7 +7625,7 @@ class TCPDF {
|
||||
// width difference
|
||||
$wdiff = ($oldw - $w);
|
||||
// horizontal alignment
|
||||
switch (strtoupper($fitbox{0})) {
|
||||
switch (strtoupper($fitbox[0])) {
|
||||
case 'L': {
|
||||
if ($this->rtl) {
|
||||
$x -= $wdiff;
|
||||
@@ -7912,7 +7912,7 @@ class TCPDF {
|
||||
public function set_mqr($mqr) {
|
||||
if (!defined('PHP_VERSION_ID')) {
|
||||
$version = PHP_VERSION;
|
||||
define('PHP_VERSION_ID', (($version{0} * 10000) + ($version{2} * 100) + $version{4}));
|
||||
define('PHP_VERSION_ID', (($version[0] * 10000) + ($version[2] * 100) + $version[4]));
|
||||
}
|
||||
if (PHP_VERSION_ID < 50300) {
|
||||
@set_magic_quotes_runtime($mqr);
|
||||
@@ -7927,7 +7927,7 @@ class TCPDF {
|
||||
public function get_mqr() {
|
||||
if (!defined('PHP_VERSION_ID')) {
|
||||
$version = PHP_VERSION;
|
||||
define('PHP_VERSION_ID', (($version{0} * 10000) + ($version{2} * 100) + $version{4}));
|
||||
define('PHP_VERSION_ID', (($version[0] * 10000) + ($version[2] * 100) + $version[4]));
|
||||
}
|
||||
if (PHP_VERSION_ID < 50300) {
|
||||
return @get_magic_quotes_runtime();
|
||||
@@ -8062,7 +8062,7 @@ class TCPDF {
|
||||
if (count($icc) > 0) {
|
||||
ksort($icc);
|
||||
$icc = implode('', $icc);
|
||||
if ((ord($icc{36}) != 0x61) OR (ord($icc{37}) != 0x63) OR (ord($icc{38}) != 0x73) OR (ord($icc{39}) != 0x70)) {
|
||||
if ((ord($icc[36]) != 0x61) OR (ord($icc[37]) != 0x63) OR (ord($icc[38]) != 0x73) OR (ord($icc[39]) != 0x70)) {
|
||||
// invalid ICC profile
|
||||
$icc = false;
|
||||
}
|
||||
@@ -8146,9 +8146,9 @@ class TCPDF {
|
||||
// read transparency info
|
||||
$t = $this->rfread($f, $n);
|
||||
if ($ct == 0) {
|
||||
$trns = array(ord($t{1}));
|
||||
$trns = array(ord($t[1]));
|
||||
} elseif ($ct == 2) {
|
||||
$trns = array(ord($t{1}), ord($t{3}), ord($t{5}));
|
||||
$trns = array(ord($t[1]), ord($t[3]), ord($t[5]));
|
||||
} else {
|
||||
$pos = strpos($t, chr(0));
|
||||
if ($pos !== false) {
|
||||
@@ -8494,7 +8494,7 @@ class TCPDF {
|
||||
$dest = $dest ? 'D' : 'F';
|
||||
}
|
||||
$dest = strtoupper($dest);
|
||||
if ($dest{0} != 'F') {
|
||||
if ($dest[0] != 'F') {
|
||||
$name = preg_replace('/[\s]+/', '_', $name);
|
||||
$name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
|
||||
}
|
||||
@@ -11263,7 +11263,7 @@ class TCPDF {
|
||||
$font = file_get_contents($fontfile);
|
||||
$compressed = (substr($file, -2) == '.z');
|
||||
if ((!$compressed) AND (isset($info['length2']))) {
|
||||
$header = (ord($font{0}) == 128);
|
||||
$header = (ord($font[0]) == 128);
|
||||
if ($header) {
|
||||
// strip first binary header
|
||||
$font = substr($font, 6);
|
||||
@@ -13396,7 +13396,7 @@ class TCPDF {
|
||||
* @public
|
||||
*/
|
||||
public function addHtmlLink($url, $name, $fill=false, $firstline=false, $color='', $style=-1, $firstblock=false) {
|
||||
if (!$this->empty_string($url) AND ($url{0} == '#')) {
|
||||
if (!$this->empty_string($url) AND ($url[0] == '#')) {
|
||||
// convert url to internal link
|
||||
$lnkdata = explode(',', $url);
|
||||
if (isset($lnkdata[0])) {
|
||||
@@ -13521,7 +13521,7 @@ class TCPDF {
|
||||
}
|
||||
return $returncolor;
|
||||
}
|
||||
if ($color{0} != '#') {
|
||||
if ($color[0] != '#') {
|
||||
// COLOR NAME
|
||||
if (isset($this->webcolor[$color])) {
|
||||
// web color
|
||||
@@ -14793,7 +14793,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x1 (float) Abscissa of control point 1.
|
||||
* @param $y1 (float) Ordinate of control point 1.
|
||||
@@ -14809,7 +14809,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x2 (float) Abscissa of control point 2.
|
||||
* @param $y2 (float) Ordinate of control point 2.
|
||||
@@ -14823,7 +14823,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x1 (float) Abscissa of control point 1.
|
||||
* @param $y1 (float) Ordinate of control point 1.
|
||||
@@ -16193,7 +16193,7 @@ class TCPDF {
|
||||
/**
|
||||
* Create a javascript PDF string.
|
||||
* @protected
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 5.9.098 (2011-06-23)
|
||||
*/
|
||||
protected function _putdests() {
|
||||
@@ -16380,7 +16380,7 @@ class TCPDF {
|
||||
* Adds a javascript
|
||||
* @param $script (string) Javascript code
|
||||
* @public
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 2.1.002 (2008-02-12)
|
||||
*/
|
||||
public function IncludeJS($script) {
|
||||
@@ -16409,7 +16409,7 @@ class TCPDF {
|
||||
/**
|
||||
* Create a javascript PDF string.
|
||||
* @protected
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 2.1.002 (2008-02-12)
|
||||
*/
|
||||
protected function _putjavascript() {
|
||||
@@ -18350,7 +18350,7 @@ class TCPDF {
|
||||
* @param $col1 (array) first color (Grayscale, RGB or CMYK components).
|
||||
* @param $col2 (array) second color (Grayscale, RGB or CMYK components).
|
||||
* @param $coords (array) array of the form (x1, y1, x2, y2) which defines the gradient vector (see linear_gradient_coords.jpg). The default value is from left to right (x1=0, y1=0, x2=1, y2=0).
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -18368,7 +18368,7 @@ class TCPDF {
|
||||
* @param $col1 (array) first color (Grayscale, RGB or CMYK components).
|
||||
* @param $col2 (array) second color (Grayscale, RGB or CMYK components).
|
||||
* @param $coords (array) array of the form (fx, fy, cx, cy, r) where (fx, fy) is the starting point of the gradient with color1, (cx, cy) is the center of the circle with color2, and r is the radius of the circle (see radial_gradient_coords.jpg). (fx, fy) should be inside the circle, otherwise some areas will not be defined.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -18391,7 +18391,7 @@ class TCPDF {
|
||||
* @param $coords_min (array) minimum value used by the coordinates. If a coordinate's value is smaller than this it will be cut to coords_min. default: 0
|
||||
* @param $coords_max (array) maximum value used by the coordinates. If a coordinate's value is greater than this it will be cut to coords_max. default: 1
|
||||
* @param $antialias (boolean) A flag indicating whether to filter the shading function to prevent aliasing artifacts.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -18483,7 +18483,7 @@ class TCPDF {
|
||||
* @param $y (float) ordinate of the top left corner of the rectangle.
|
||||
* @param $w (float) width of the rectangle.
|
||||
* @param $h (float) height of the rectangle.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @protected
|
||||
*/
|
||||
@@ -18884,7 +18884,7 @@ class TCPDF {
|
||||
// check page for no-write regions and adapt page margins if necessary
|
||||
list($x, $y) = $this->checkPageRegions($h, $x, $y);
|
||||
$k = $this->k;
|
||||
if ($file{0} === '@') { // image from string
|
||||
if ($file[0] === '@') { // image from string
|
||||
$data = substr($file, 1);
|
||||
} else { // EPS/AI file
|
||||
$data = file_get_contents($file);
|
||||
@@ -18997,7 +18997,7 @@ class TCPDF {
|
||||
$cnt = count($lines);
|
||||
for ($i=0; $i < $cnt; ++$i) {
|
||||
$line = $lines[$i];
|
||||
if (($line == '') OR ($line{0} == '%')) {
|
||||
if (($line == '') OR ($line[0] == '%')) {
|
||||
continue;
|
||||
}
|
||||
$len = strlen($line);
|
||||
@@ -19989,19 +19989,19 @@ class TCPDF {
|
||||
// remove empty blocks
|
||||
$cssdata = preg_replace('/([^\}\{]+)\{\}/', '', $cssdata);
|
||||
// replace media type parenthesis
|
||||
$cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1§', $cssdata);
|
||||
$cssdata = preg_replace('/\}\}/si', '}§', $cssdata);
|
||||
$cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1<EFBFBD>', $cssdata);
|
||||
$cssdata = preg_replace('/\}\}/si', '}<EFBFBD>', $cssdata);
|
||||
// trim string
|
||||
$cssdata = trim($cssdata);
|
||||
// find media blocks (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv)
|
||||
$cssblocks = array();
|
||||
$matches = array();
|
||||
if (preg_match_all('/@media[\s]+([^\§]*)§([^§]*)§/i', $cssdata, $matches) > 0) {
|
||||
if (preg_match_all('/@media[\s]+([^\<EFBFBD>]*)<EFBFBD>([^<EFBFBD>]*)<EFBFBD>/i', $cssdata, $matches) > 0) {
|
||||
foreach ($matches[1] as $key => $type) {
|
||||
$cssblocks[$type] = $matches[2][$key];
|
||||
}
|
||||
// remove media blocks
|
||||
$cssdata = preg_replace('/@media[\s]+([^\§]*)§([^§]*)§/i', '', $cssdata);
|
||||
$cssdata = preg_replace('/@media[\s]+([^\<EFBFBD>]*)<EFBFBD>([^<EFBFBD>]*)<EFBFBD>/i', '', $cssdata);
|
||||
}
|
||||
// keep 'all' and 'print' media, other media types are discarded
|
||||
if (isset($cssblocks['all']) AND !empty($cssblocks['all'])) {
|
||||
@@ -20093,7 +20093,7 @@ class TCPDF {
|
||||
$attrib = strtolower(trim($attrib[0]));
|
||||
if (!empty($attrib)) {
|
||||
// check if matches class, id, attribute, pseudo-class or pseudo-element
|
||||
switch ($attrib{0}) {
|
||||
switch ($attrib[0]) {
|
||||
case '.': { // class
|
||||
if (in_array(substr($attrib, 1), $class)) {
|
||||
$valid = true;
|
||||
@@ -20160,7 +20160,7 @@ class TCPDF {
|
||||
break;
|
||||
}
|
||||
case ':': { // pseudo-class or pseudo-element
|
||||
if ($attrib{1} == ':') { // pseudo-element
|
||||
if ($attrib[1] == ':') { // pseudo-element
|
||||
// pseudo-elements are not supported!
|
||||
// (::first-line, ::first-letter, ::before, ::after)
|
||||
} else { // pseudo-class
|
||||
@@ -20837,7 +20837,7 @@ class TCPDF {
|
||||
$tagname = strtolower($tag[1]);
|
||||
// check if we are inside a table header
|
||||
if ($tagname == 'thead') {
|
||||
if ($element{0} == '/') {
|
||||
if ($element[0] == '/') {
|
||||
$thead = false;
|
||||
} else {
|
||||
$thead = true;
|
||||
@@ -20852,7 +20852,7 @@ class TCPDF {
|
||||
} else {
|
||||
$dom[$key]['block'] = false;
|
||||
}
|
||||
if ($element{0} == '/') {
|
||||
if ($element[0] == '/') {
|
||||
// *** closing html tag
|
||||
$dom[$key]['opening'] = false;
|
||||
$dom[$key]['parent'] = end($level);
|
||||
@@ -21066,15 +21066,15 @@ class TCPDF {
|
||||
}
|
||||
// font style
|
||||
if (isset($dom[$key]['style']['font-weight'])) {
|
||||
if (strtolower($dom[$key]['style']['font-weight']{0}) == 'n') {
|
||||
if (strtolower($dom[$key]['style']['font-weight'][0]) == 'n') {
|
||||
if (strpos($dom[$key]['fontstyle'], 'B') !== false) {
|
||||
$dom[$key]['fontstyle'] = str_replace('B', '', $dom[$key]['fontstyle']);
|
||||
}
|
||||
} elseif (strtolower($dom[$key]['style']['font-weight']{0}) == 'b') {
|
||||
} elseif (strtolower($dom[$key]['style']['font-weight'][0]) == 'b') {
|
||||
$dom[$key]['fontstyle'] .= 'B';
|
||||
}
|
||||
}
|
||||
if (isset($dom[$key]['style']['font-style']) AND (strtolower($dom[$key]['style']['font-style']{0}) == 'i')) {
|
||||
if (isset($dom[$key]['style']['font-style']) AND (strtolower($dom[$key]['style']['font-style'][0]) == 'i')) {
|
||||
$dom[$key]['fontstyle'] .= 'I';
|
||||
}
|
||||
// font color
|
||||
@@ -21093,13 +21093,13 @@ class TCPDF {
|
||||
foreach ($decors as $dec) {
|
||||
$dec = trim($dec);
|
||||
if (!$this->empty_string($dec)) {
|
||||
if ($dec{0} == 'u') {
|
||||
if ($dec[0] == 'u') {
|
||||
// underline
|
||||
$dom[$key]['fontstyle'] .= 'U';
|
||||
} elseif ($dec{0} == 'l') {
|
||||
} elseif ($dec[0] == 'l') {
|
||||
// line-trough
|
||||
$dom[$key]['fontstyle'] .= 'D';
|
||||
} elseif ($dec{0} == 'o') {
|
||||
} elseif ($dec[0] == 'o') {
|
||||
// overline
|
||||
$dom[$key]['fontstyle'] .= 'O';
|
||||
}
|
||||
@@ -21118,7 +21118,7 @@ class TCPDF {
|
||||
}
|
||||
// check for text alignment
|
||||
if (isset($dom[$key]['style']['text-align'])) {
|
||||
$dom[$key]['align'] = strtoupper($dom[$key]['style']['text-align']{0});
|
||||
$dom[$key]['align'] = strtoupper($dom[$key]['style']['text-align'][0]);
|
||||
}
|
||||
// check for CSS border properties
|
||||
if (isset($dom[$key]['style']['border'])) {
|
||||
@@ -21282,9 +21282,9 @@ class TCPDF {
|
||||
// font size
|
||||
if (isset($dom[$key]['attribute']['size'])) {
|
||||
if ($key > 0) {
|
||||
if ($dom[$key]['attribute']['size']{0} == '+') {
|
||||
if ($dom[$key]['attribute']['size'][0] == '+') {
|
||||
$dom[$key]['fontsize'] = $dom[($dom[$key]['parent'])]['fontsize'] + intval(substr($dom[$key]['attribute']['size'], 1));
|
||||
} elseif ($dom[$key]['attribute']['size']{0} == '-') {
|
||||
} elseif ($dom[$key]['attribute']['size'][0] == '-') {
|
||||
$dom[$key]['fontsize'] = $dom[($dom[$key]['parent'])]['fontsize'] - intval(substr($dom[$key]['attribute']['size'], 1));
|
||||
} else {
|
||||
$dom[$key]['fontsize'] = intval($dom[$key]['attribute']['size']);
|
||||
@@ -21326,10 +21326,10 @@ class TCPDF {
|
||||
if (($dom[$key]['value'] == 'pre') OR ($dom[$key]['value'] == 'tt')) {
|
||||
$dom[$key]['fontname'] = $this->default_monospaced_font;
|
||||
}
|
||||
if (($dom[$key]['value']{0} == 'h') AND (intval($dom[$key]['value']{1}) > 0) AND (intval($dom[$key]['value']{1}) < 7)) {
|
||||
if (($dom[$key]['value'][0] == 'h') AND (intval($dom[$key]['value'][1]) > 0) AND (intval($dom[$key]['value'][1]) < 7)) {
|
||||
// headings h1, h2, h3, h4, h5, h6
|
||||
if (!isset($dom[$key]['attribute']['size']) AND !isset($dom[$key]['style']['font-size'])) {
|
||||
$headsize = (4 - intval($dom[$key]['value']{1})) * 2;
|
||||
$headsize = (4 - intval($dom[$key]['value'][1])) * 2;
|
||||
$dom[$key]['fontsize'] = $dom[0]['fontsize'] + $headsize;
|
||||
}
|
||||
if (!isset($dom[$key]['style']['font-weight'])) {
|
||||
@@ -21391,7 +21391,7 @@ class TCPDF {
|
||||
}
|
||||
// check for text alignment
|
||||
if (isset($dom[$key]['attribute']['align']) AND (!$this->empty_string($dom[$key]['attribute']['align'])) AND ($dom[$key]['value'] !== 'img')) {
|
||||
$dom[$key]['align'] = strtoupper($dom[$key]['attribute']['align']{0});
|
||||
$dom[$key]['align'] = strtoupper($dom[$key]['attribute']['align'][0]);
|
||||
}
|
||||
// check for text rendering mode (the following attributes do not exist in HTML)
|
||||
if (isset($dom[$key]['attribute']['stroke'])) {
|
||||
@@ -23116,7 +23116,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
case 'img': {
|
||||
if (isset($tag['attribute']['src'])) {
|
||||
if ($tag['attribute']['src']{0} === '@') {
|
||||
if ($tag['attribute']['src'][0] === '@') {
|
||||
// data stream
|
||||
$tag['attribute']['src'] = '@'.base64_decode(substr($tag['attribute']['src'], 1));
|
||||
$type = '';
|
||||
@@ -23178,7 +23178,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
$imglink = '';
|
||||
if (isset($this->HREF['url']) AND !$this->empty_string($this->HREF['url'])) {
|
||||
$imglink = $this->HREF['url'];
|
||||
if ($imglink{0} == '#') {
|
||||
if ($imglink[0] == '#') {
|
||||
// convert url to internal link
|
||||
$lnkdata = explode(',', $imglink);
|
||||
if (isset($lnkdata[0])) {
|
||||
@@ -27144,7 +27144,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
// convert SVG to raster image using GD or ImageMagick libraries
|
||||
return $this->Image($file, $x, $y, $w, $h, 'SVG', $link, $align, true, 300, $palign, false, false, $border, false, false, false);
|
||||
}
|
||||
if ($file{0} === '@') { // image from string
|
||||
if ($file[0] === '@') { // image from string
|
||||
$this->svgdir = '';
|
||||
$svgdata = substr($file, 1);
|
||||
} else { // SVG file
|
||||
@@ -28054,7 +28054,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'Q': { // quadratic Bézier curveto
|
||||
case 'Q': { // quadratic B<EFBFBD>zier curveto
|
||||
foreach ($params as $ck => $cp) {
|
||||
$params[$ck] = $cp;
|
||||
if ((($ck + 1) % 4) == 0) {
|
||||
@@ -28080,7 +28080,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'T': { // shorthand/smooth quadratic Bézier curveto
|
||||
case 'T': { // shorthand/smooth quadratic B<EFBFBD>zier curveto
|
||||
foreach ($params as $ck => $cp) {
|
||||
$params[$ck] = $cp;
|
||||
if (($ck % 2) != 0) {
|
||||
@@ -28631,7 +28631,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
$img = '@'.base64_decode(substr($img, strlen($m[0])));
|
||||
} else {
|
||||
// fix image path
|
||||
if (!$this->empty_string($this->svgdir) AND (($img{0} == '.') OR (basename($img) == $img))) {
|
||||
if (!$this->empty_string($this->svgdir) AND (($img[0] == '.') OR (basename($img) == $img))) {
|
||||
// replace relative path with full server path
|
||||
$img = $this->svgdir.'/'.$img;
|
||||
}
|
||||
|
@@ -288,7 +288,7 @@ function PMA_get_arg_separator($encode = 'none')
|
||||
if (strpos($php_arg_separator_input, ';') !== false) {
|
||||
$separator = ';';
|
||||
} elseif (strlen($php_arg_separator_input) > 0) {
|
||||
$separator = $php_arg_separator_input{0};
|
||||
$separator = $php_arg_separator_input[0];
|
||||
} else {
|
||||
$separator = '&';
|
||||
}
|
||||
|
@@ -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.
|
||||
|
31
main.php
31
main.php
@@ -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
|
||||
|
@@ -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']);
|
||||
}
|
||||
@@ -303,11 +274,6 @@ if ($GLOBALS['cfg']['LeftFrameLight'] && strlen($GLOBALS['db'])) {
|
||||
echo __('No tables found in database.');
|
||||
}
|
||||
unset($table_list);
|
||||
if ($db != 'information_schema') {
|
||||
echo '<ul id="newtable"><li><a target="frame_content" href="tbl_create.php' . PMA_generate_common_url(array('db' => $GLOBALS['db'])) . '">'
|
||||
.'<img class="icon" src="' . $GLOBALS['pmaThemeImage'] . 'b_snewtbl.png" id="icon_newtable" alt="' . _pgettext('short form', 'Create table') . '" />'
|
||||
. _pgettext('short form', 'Create table') . '</a></li></ul>';
|
||||
}
|
||||
} elseif ($GLOBALS['cfg']['LeftFrameLight']) {
|
||||
/* No need to tell user to select database if we're showing complete list */
|
||||
if (!$list) {
|
||||
|
@@ -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
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
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user