Merge remote-tracking branch 'origin/master' into drizzle
Conflicts: db_search.php libraries/Table.class.php libraries/schema/Pdf_Relation_Schema.class.php libraries/schema/User_Schema.class.php libraries/tbl_select.lib.php server_status.php tbl_change.php
This commit is contained in:
commit
0ca4a5f02e
@ -4410,6 +4410,14 @@ chmod o+rwx tmp
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="faq6_31">
|
||||
<a href="#faq6_31">6.30 How do I create a relation in designer?</a></h4>
|
||||
|
||||
<p>To select relation, click :</p>
|
||||
|
||||
<img src="pmd/images/help_relation.png"></p>
|
||||
<p>The display column is shown in pink. To set/unset a column as the display column, click the "Choose column to display" icon, then click on the appropriate column name.</p>
|
||||
|
||||
<h3 id="faqproject">phpMyAdmin project</h3>
|
||||
|
||||
<h4 id="faq7_1">
|
||||
|
||||
@ -11,7 +11,8 @@
|
||||
require_once './libraries/common.inc.php';
|
||||
|
||||
if (! isset($selected_tbl)) {
|
||||
require_once './libraries/header.inc.php';
|
||||
require './libraries/db_common.inc.php';
|
||||
require './libraries/db_info.inc.php';
|
||||
}
|
||||
|
||||
|
||||
@ -55,16 +56,15 @@ if ($cfgRelation['commwork']) {
|
||||
* Selects the database and gets tables names
|
||||
*/
|
||||
PMA_DBI_select_db($db);
|
||||
$rowset = PMA_DBI_query('SHOW TABLES FROM ' . PMA_backquote($db) . ';', null, PMA_DBI_QUERY_STORE);
|
||||
$tables = PMA_DBI_get_tables($db);
|
||||
|
||||
$count = 0;
|
||||
while ($row = PMA_DBI_fetch_row($rowset)) {
|
||||
$table = $row[0];
|
||||
foreach($tables as $table) {
|
||||
$comments = PMA_getComments($db, $table);
|
||||
|
||||
echo '<div>' . "\n";
|
||||
|
||||
echo '<h2>' . $table . '</h2>' . "\n";
|
||||
echo '<h2>' . htmlspecialchars($table) . '</h2>' . "\n";
|
||||
|
||||
/**
|
||||
* Gets table informations
|
||||
@ -204,7 +204,7 @@ while ($row = PMA_DBI_fetch_row($rowset)) {
|
||||
} else {
|
||||
$row['Default'] = htmlspecialchars($row['Default']);
|
||||
}
|
||||
$field_name = htmlspecialchars($row['Field']);
|
||||
$field_name = $row['Field'];
|
||||
|
||||
if (PMA_MYSQL_INT_VERSION < 50025
|
||||
&& ! empty($analyzed_sql[0]['create_table_fields'][$field_name]['type'])
|
||||
@ -226,9 +226,9 @@ while ($row = PMA_DBI_fetch_row($rowset)) {
|
||||
<td nowrap="nowrap">
|
||||
<?php
|
||||
if (isset($pk_array[$row['Field']])) {
|
||||
echo '<u>' . $field_name . '</u>';
|
||||
echo '<u>' . htmlspecialchars($field_name) . '</u>';
|
||||
} else {
|
||||
echo $field_name;
|
||||
echo htmlspecialchars($field_name);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
49
js/codemirror/mode/mysql/mysql.js
vendored
49
js/codemirror/mode/mysql/mysql.js
vendored
@ -1,11 +1,14 @@
|
||||
CodeMirror.defineMode("mysql", function(config, parserConfig) {
|
||||
var indentUnit = config.indentUnit,
|
||||
keywords = parserConfig.keywords,
|
||||
verbs = parserConfig.verbs,
|
||||
functions = parserConfig.functions,
|
||||
types = parserConfig.types,
|
||||
attributes = parserConfig.attributes,
|
||||
multiLineStrings = parserConfig.multiLineStrings;
|
||||
attributes = parserConfig.attributes,
|
||||
multiLineStrings = parserConfig.multiLineStrings,
|
||||
multiPartKeywords= parserConfig.multiPartKeywords;
|
||||
var isOperatorChar = /[+\-*&%=<>!?:\/|]/;
|
||||
|
||||
function chain(stream, state, f) {
|
||||
state.tokenize = f;
|
||||
return f(stream, state);
|
||||
@ -64,14 +67,35 @@ CodeMirror.defineMode("mysql", function(config, parserConfig) {
|
||||
else {
|
||||
// get the whole word
|
||||
stream.eatWhile(/[\w\$_]/);
|
||||
var word = stream.current().toLowerCase();
|
||||
var oldPos = stream.pos;
|
||||
// is it one of the listed verbs?
|
||||
if (verbs && verbs.propertyIsEnumerable(word)) return ret("keyword", "statement-verb");
|
||||
// is it one of the listed keywords?
|
||||
if (keywords && keywords.propertyIsEnumerable(stream.current().toLowerCase())) return ret("keyword", "keyword");
|
||||
if (keywords && keywords.propertyIsEnumerable(word)) return ret("keyword", "keyword");
|
||||
// is it one of the listed functions?
|
||||
if (functions && functions.propertyIsEnumerable(stream.current().toLowerCase())) return ret("keyword", "builtin");
|
||||
if (functions && functions.propertyIsEnumerable(word)) {
|
||||
// All functions begin with '('
|
||||
stream.eatSpace();
|
||||
if(stream.peek() == '(')
|
||||
return ret("keyword", "builtin");
|
||||
// Not func => restore old pos
|
||||
stream.pos = oldPos;
|
||||
}
|
||||
// is it one of the listed types?
|
||||
if (types && types.propertyIsEnumerable(stream.current().toLowerCase())) return ret("keyword", "variable-2");
|
||||
if (types && types.propertyIsEnumerable(word)) return ret("keyword", "variable-2");
|
||||
// is it one of the listed attributes?
|
||||
if (attributes && attributes.propertyIsEnumerable(stream.current().toLowerCase())) return ret("keyword", "variable-3");
|
||||
if (attributes && attributes.propertyIsEnumerable(word)) return ret("keyword", "variable-3");
|
||||
// is it a multipart keyword? (currently only checks 2 word parts)
|
||||
|
||||
stream.eatSpace();
|
||||
stream.eatWhile(/[\w\$_]/);
|
||||
var doubleWord = stream.current().toLowerCase();
|
||||
if (multiPartKeywords && multiPartKeywords.propertyIsEnumerable(doubleWord)) return ret("keyword", "keyword");
|
||||
|
||||
// restore old pos
|
||||
stream.pos = oldPos;
|
||||
|
||||
// default: just a "word"
|
||||
return ret("word", "mysql-word");
|
||||
}
|
||||
@ -122,11 +146,14 @@ CodeMirror.defineMode("mysql", function(config, parserConfig) {
|
||||
|
||||
(function() {
|
||||
function keywords(str) {
|
||||
var obj = {}, words = str.split(" ");
|
||||
var obj = {}, words = str;
|
||||
if(typeof str == 'string') words = str.split(" ");
|
||||
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
|
||||
return obj;
|
||||
}
|
||||
var cKeywords = "accessible add all alter analyze and as asc asensitive before between bigint binary blob both by call cascade case change char character check collate column condition constraint continue convert create cross current_date current_time current_timestamp current_user cursor database databases day_hour day_microsecond day_minute day_second dec decimal declare default delayed delete desc describe deterministic distinct distinctrow div double drop dual each else elseif enclosed escaped exists exit explain false fetch float float4 float8 for force foreign from fulltext grant group having high_priority hour_microsecond hour_minute hour_second if ignore in index infile inner inout insensitive insert int int1 int2 int3 int4 int8 integer interval into is iterate join key keys kill leading leave left like limit linear lines load localtime localtimestamp lock long longblob longtext loop low_priority master_ssl_verify_server_cert match maxvalue mediumblob mediumint mediumtext middleint minute_microsecond minute_second mod modifies natural not no_write_to_binlog null numeric on optimize option optionally or order out outer outfile precision primary procedure purge range read reads read_write real references regexp release rename repeat replace require resignal restrict return revoke right rlike schema schemas second_microsecond select sensitive separator set show signal smallint spatial specific sql sqlexception sqlstate sqlwarning sql_big_result sql_calc_found_rows sql_small_result ssl starting straight_join table terminated then tinyblob tinyint tinytext to trailing trigger true undo union unique unlock unsigned update usage use using utc_date utc_time utc_timestamp values varbinary varchar varcharacter varying when where while with write xor year_month zerofill";
|
||||
var cKeywords = "accessible add all and as asc asensitive before between bigint binary blob both cascade case char character collate column condition constraint continue convert cross current_date current_time current_timestamp current_user cursor database databases day_hour day_microsecond day_minute day_second dec decimal declare default delayed desc deterministic distinct distinctrow div double dual each else elseif enclosed escaped exists exit explain false fetch float float4 float8 for force foreign fulltext from having high_priority hour_microsecond hour_minute hour_second if ignore in index infile inner inout insensitive int int1 int2 int3 int4 int8 integer interval is iterate join key keys leading leave left like limit linear lines localtime localtimestamp long longblob longtext loop low_priority master_ssl_verify_server_cert match maxvalue mediumblob mediumint mediumtext middleint minute_microsecond minute_second mod modifies natural not no_write_to_binlog null numeric on option optionally or out outer outfile precision primary procedure range read reads read_write real references regexp repeat require restrict return right rlike schema schemas second_microsecond sensitive separator smallint spatial specific sql sqlexception sqlstate sqlwarning sql_big_result sql_calc_found_rows sql_small_result ssl starting straight_join table terminated then tinyblob tinyint tinytext to trailing trigger true undo union unique unsigned usage using utc_date utc_time utc_timestamp values varbinary varchar varcharacter varying when where while with write xor year_month zerofill";
|
||||
|
||||
var cVerbs = "alter analyze begin binlog call change check checksum commit create deallocate describe do drop execute flush grant handler install kill load lock optimize cache partition prepare purge release rename repair replace reset resignal revoke rollback savepoint select set signal show start truncate uninstall unlock update use xa";
|
||||
|
||||
var cFunctions = "abs acos adddate addtime aes_decrypt aes_encrypt area asbinary ascii asin astext atan atan2 avg bdmpolyfromtext bdmpolyfromwkb bdpolyfromtext bdpolyfromwkb benchmark bin bit_and bit_count bit_length bit_or bit_xor boundary buffer cast ceil ceiling centroid char character_length charset char_length coalesce coercibility collation compress concat concat_ws connection_id contains conv convert convert_tz convexhull cos cot count crc32 crosses curdate current_date current_time current_timestamp current_user curtime database date datediff date_add date_diff date_format date_sub day dayname dayofmonth dayofweek dayofyear decode default degrees des_decrypt des_encrypt difference dimension disjoint distance elt encode encrypt endpoint envelope equals exp export_set exteriorring extract extractvalue field find_in_set floor format found_rows from_days from_unixtime geomcollfromtext geomcollfromwkb geometrycollection geometrycollectionfromtext geometrycollectionfromwkb geometryfromtext geometryfromwkb geometryn geometrytype geomfromtext geomfromwkb get_format get_lock glength greatest group_concat group_unique_users hex hour if ifnull inet_aton inet_ntoa insert instr interiorringn intersection intersects interval isclosed isempty isnull isring issimple is_free_lock is_used_lock last_day last_insert_id lcase least left length linefromtext linefromwkb linestring linestringfromtext linestringfromwkb ln load_file localtime localtimestamp locate log log10 log2 lower lpad ltrim makedate maketime make_set master_pos_wait max mbrcontains mbrdisjoint mbrequal mbrintersects mbroverlaps mbrtouches mbrwithin md5 microsecond mid min minute mlinefromtext mlinefromwkb mod month monthname mpointfromtext mpointfromwkb mpolyfromtext mpolyfromwkb multilinestring multilinestringfromtext multilinestringfromwkb multipoint multipointfromtext multipointfromwkb multipolygon multipolygonfromtext multipolygonfromwkb name_const now nullif numgeometries numinteriorrings numpoints oct octet_length old_password ord overlaps password period_add period_diff pi point pointfromtext pointfromwkb pointn pointonsurface polyfromtext polyfromwkb polygon polygonfromtext polygonfromwkb position pow power quarter quote radians rand related release_lock repeat replace reverse right round row_count rpad rtrim schema second sec_to_time session_user sha sha1 sign sin sleep soundex space sqrt srid startpoint std stddev stddev_pop stddev_samp strcmp str_to_date subdate substr substring substring_index subtime sum symdifference sysdate system_user tan time timediff timestamp timestampadd timestampdiff time_format time_to_sec touches to_days trim truncate ucase uncompress uncompressed_length unhex unique_users unix_timestamp updatexml upper user utc_date utc_time utc_timestamp uuid variance var_pop var_samp version week weekday weekofyear within x y year yearweek";
|
||||
|
||||
@ -134,11 +161,15 @@ CodeMirror.defineMode("mysql", function(config, parserConfig) {
|
||||
|
||||
var cAttributes = "archive ascii auto_increment bdb berkeleydb binary blackhole csv default example federated heap innobase innodb isam maria memory merge mrg_isam mrg_myisam myisam national ndb ndbcluster precision undefined unicode unsigned varying zerofill";
|
||||
|
||||
var cmultiPartKeywords = ['insert into', 'group by', 'order by', 'delete from'];
|
||||
|
||||
CodeMirror.defineMIME("text/x-mysql", {
|
||||
name: "mysql",
|
||||
keywords: keywords(cKeywords),
|
||||
multiPartKeywords: keywords(cmultiPartKeywords),
|
||||
verbs: keywords(cVerbs),
|
||||
functions: keywords(cFunctions),
|
||||
types: keywords(cTypes),
|
||||
attributes: keywords(cAttributes)
|
||||
});
|
||||
}());
|
||||
}());
|
||||
162
js/functions.js
162
js/functions.js
@ -685,10 +685,12 @@ $(document).ready(function() {
|
||||
/**
|
||||
* Add a date/time picker to each element that needs it
|
||||
*/
|
||||
$('.datefield, .datetimefield').each(function() {
|
||||
PMA_addDatepicker($(this));
|
||||
});
|
||||
})
|
||||
if ($.datetimepicker != undefined) {
|
||||
$('.datefield, .datetimefield').each(function() {
|
||||
PMA_addDatepicker($(this));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* True if last click is to check a row.
|
||||
@ -1615,7 +1617,13 @@ function PMA_createProfilingChart(data, options)
|
||||
},options));
|
||||
}
|
||||
|
||||
// Formats a profiling duration nicely. Used in PMA_createProfilingChart() and server_status.js
|
||||
/**
|
||||
* Formats a profiling duration nicely (in us and ms time). Used in PMA_createProfilingChart() and server_status.js
|
||||
*
|
||||
* @param integer Number to be formatted, should be in the range of microsecond to second
|
||||
* @param integer Acuracy, how many numbers right to the comma should be
|
||||
* @return string The formatted number
|
||||
*/
|
||||
function PMA_prettyProfilingNum(num, acc)
|
||||
{
|
||||
if (!acc) {
|
||||
@ -1633,6 +1641,150 @@ function PMA_prettyProfilingNum(num, acc)
|
||||
return num + 's';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Formats a SQL Query nicely with newlines and indentation. Depends on Codemirror and MySQL Mode!
|
||||
*
|
||||
* @param string Query to be formatted
|
||||
* @return string The formatted query
|
||||
*/
|
||||
function PMA_SQLPrettyPrint(string)
|
||||
{
|
||||
var mode = CodeMirror.getMode({},"text/x-mysql");
|
||||
var stream = new CodeMirror.StringStream(string);
|
||||
var state = mode.startState();
|
||||
var token, tokens = [];
|
||||
var output = '';
|
||||
var tabs = function(cnt) {
|
||||
var ret = '';
|
||||
for (var i=0; i<4*cnt; i++)
|
||||
ret += " ";
|
||||
return ret;
|
||||
};
|
||||
|
||||
// "root-level" statements
|
||||
var statements = {
|
||||
'select': ['select', 'from','on','where','having','limit','order by','group by'],
|
||||
'update': ['update', 'set','where'],
|
||||
'insert into': ['insert into', 'values']
|
||||
};
|
||||
// don't put spaces before these tokens
|
||||
var spaceExceptionsBefore = { ';':true, ',': true, '.': true, '(': true };
|
||||
// don't put spaces after these tokens
|
||||
var spaceExceptionsAfter = { '.': true };
|
||||
|
||||
// Populate tokens array
|
||||
var str='';
|
||||
while (! stream.eol()) {
|
||||
stream.start = stream.pos;
|
||||
token = mode.token(stream, state);
|
||||
if(token != null) {
|
||||
tokens.push([token, stream.current().toLowerCase()]);
|
||||
}
|
||||
}
|
||||
|
||||
var currentStatement = tokens[0][1];
|
||||
|
||||
if(! statements[currentStatement]) {
|
||||
return string;
|
||||
}
|
||||
// Holds all currently opened code blocks (statement, function or generic)
|
||||
var blockStack = [];
|
||||
// Holds the type of block from last iteration (the current is in blockStack[0])
|
||||
var previousBlock;
|
||||
// If a new code block is found, newBlock contains its type for one iteration and vice versa for endBlock
|
||||
var newBlock, endBlock;
|
||||
// How much to indent in the current line
|
||||
var indentLevel = 0;
|
||||
// Holds the "root-level" statements
|
||||
var statementPart, lastStatementPart = statements[currentStatement][0];
|
||||
|
||||
blockStack.unshift('statement');
|
||||
|
||||
// Iterate through every token and format accordingly
|
||||
for (var i = 0; i < tokens.length; i++) {
|
||||
previousBlock = blockStack[0];
|
||||
|
||||
// New block => push to stack
|
||||
if (tokens[i][1] == '(') {
|
||||
if (i < tokens.length - 1 && tokens[i+1][0] == 'statement-verb') {
|
||||
blockStack.unshift(newBlock = 'statement');
|
||||
} else if (i > 0 && tokens[i-1][0] == 'builtin') {
|
||||
blockStack.unshift(newBlock = 'function');
|
||||
} else {
|
||||
blockStack.unshift(newBlock = 'generic');
|
||||
}
|
||||
} else {
|
||||
newBlock = null;
|
||||
}
|
||||
|
||||
// Block end => pop from stack
|
||||
if (tokens[i][1] == ')') {
|
||||
endBlock = blockStack[0];
|
||||
blockStack.shift();
|
||||
} else {
|
||||
endBlock = null;
|
||||
}
|
||||
|
||||
// A subquery is starting
|
||||
if (i > 0 && newBlock == 'statement') {
|
||||
indentLevel++;
|
||||
output += "\n" + tabs(indentLevel) + tokens[i][1] + ' ' + tokens[i+1][1].toUpperCase() + "\n" + tabs(indentLevel + 1);
|
||||
currentStatement = tokens[i+1][1];
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// A subquery is ending
|
||||
if (endBlock == 'statement' && indentLevel > 0) {
|
||||
output += "\n" + tabs(indentLevel);
|
||||
indentLevel--;
|
||||
}
|
||||
|
||||
// One less indentation for statement parts (from, where, order by, etc.) and a newline
|
||||
statementPart = statements[currentStatement].indexOf(tokens[i][1]);
|
||||
if (statementPart != -1) {
|
||||
if (i > 0) output += "\n";
|
||||
output += tabs(indentLevel) + tokens[i][1].toUpperCase();
|
||||
output += "\n" + tabs(indentLevel + 1);
|
||||
lastStatementPart = tokens[i][1];
|
||||
}
|
||||
// Normal indentatin and spaces for everything else
|
||||
else {
|
||||
if (! spaceExceptionsBefore[tokens[i][1]]
|
||||
&& ! (i > 0 && spaceExceptionsAfter[tokens[i-1][1]])
|
||||
&& output.charAt(output.length -1) != ' ' ) {
|
||||
output += " ";
|
||||
}
|
||||
if (tokens[i][0] == 'keyword') {
|
||||
output += tokens[i][1].toUpperCase();
|
||||
} else {
|
||||
output += tokens[i][1];
|
||||
}
|
||||
}
|
||||
|
||||
// split columns in select and 'update set' clauses, but only inside statements blocks
|
||||
if (( lastStatementPart == 'select' || lastStatementPart == 'where' || lastStatementPart == 'set')
|
||||
&& tokens[i][1]==',' && blockStack[0] == 'statement') {
|
||||
|
||||
output += "\n" + tabs(indentLevel + 1);
|
||||
}
|
||||
|
||||
// split conditions in where clauses, but only inside statements blocks
|
||||
if (lastStatementPart == 'where'
|
||||
&& (tokens[i][1]=='and' || tokens[i][1]=='or' || tokens[i][1]=='xor')) {
|
||||
|
||||
if (blockStack[0] == 'statement') {
|
||||
output += "\n" + tabs(indentLevel + 1);
|
||||
}
|
||||
// Todo: Also split and or blocks in newlines & identation++
|
||||
//if(blockStack[0] == 'generic')
|
||||
// output += ...
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* jQuery function that uses jQueryUI's dialogs to confirm with user. Does not
|
||||
* return a jQuery object yet and hence cannot be chained
|
||||
|
||||
@ -826,9 +826,11 @@
|
||||
// if user has supplied a sort list to constructor.
|
||||
if (config.sortList.length > 0) {
|
||||
$this.trigger("sorton", [config.sortList]);
|
||||
} else {
|
||||
// appendToTable used in sorton event already calls applyWidget
|
||||
// apply widgets
|
||||
applyWidget(this);
|
||||
}
|
||||
// apply widgets
|
||||
applyWidget(this);
|
||||
});
|
||||
};
|
||||
this.addParser = function (parser) {
|
||||
|
||||
@ -170,7 +170,7 @@ $js_messages['strJumpToTable'] = __('Jump to Log table');
|
||||
$js_messages['strNoDataFound'] = __('Log analysed, but no data found in this time span.');
|
||||
|
||||
/* l10n: A collection of available filters */
|
||||
$js_messages['strFilters'] = __('Filters');
|
||||
$js_messages['strFiltersForLogTable'] = __('Log table filter options');
|
||||
/* l10n: Filter as in "Start Filtering" */
|
||||
$js_messages['strFilter'] = __('Filter');
|
||||
$js_messages['strFilterByWordRegexp'] = __('Filter queries by word/regexp:');
|
||||
|
||||
@ -113,7 +113,7 @@ function MouseDown(e)
|
||||
dx = offsetx - parseInt(cur_click.style.left);
|
||||
dy = offsety - parseInt(cur_click.style.top);
|
||||
//alert(" dx = " + dx + " dy = " +dy);
|
||||
document.getElementById("canvas").style.visibility = 'hidden';
|
||||
document.getElementById("canvas").style.display = 'none';
|
||||
/*
|
||||
var left = parseInt(cur_click.style.left);
|
||||
var top = parseInt(cur_click.style.top);
|
||||
@ -159,8 +159,8 @@ function MouseMove(e)
|
||||
}
|
||||
|
||||
if (ON_relation || ON_display_field) {
|
||||
document.getElementById('hint').style.left = (Glob_X + 20) + 'px';
|
||||
document.getElementById('hint').style.top = (Glob_Y + 20) + 'px';
|
||||
document.getElementById('pmd_hint').style.left = (Glob_X + 20) + 'px';
|
||||
document.getElementById('pmd_hint').style.top = (Glob_Y + 20) + 'px';
|
||||
}
|
||||
|
||||
if (layer_menu_cur_click) {
|
||||
@ -173,7 +173,7 @@ function MouseMove(e)
|
||||
function MouseUp(e)
|
||||
{
|
||||
if (cur_click != null) {
|
||||
document.getElementById("canvas").style.visibility = 'visible';
|
||||
document.getElementById("canvas").style.display = 'inline-block';
|
||||
Re_load();
|
||||
cur_click.style.zIndex = 1;
|
||||
cur_click = null;
|
||||
@ -225,7 +225,7 @@ function Main()
|
||||
Canvas_pos();
|
||||
Small_tab_refresh();
|
||||
Re_load();
|
||||
id_hint = document.getElementById('hint');
|
||||
id_hint = document.getElementById('pmd_hint');
|
||||
if (isIE) {
|
||||
General_scroll();
|
||||
}
|
||||
@ -535,12 +535,12 @@ function Start_relation()
|
||||
if (!ON_relation) {
|
||||
document.getElementById('foreign_relation').style.display = '';
|
||||
ON_relation = 1;
|
||||
document.getElementById('hint').innerHTML = PMA_messages['strSelectReferencedKey'];
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
document.getElementById('pmd_hint').innerHTML = PMA_messages['strSelectReferencedKey'];
|
||||
document.getElementById('pmd_hint').style.display = 'block';
|
||||
document.getElementById('rel_button').className = 'M_butt_Selected_down';
|
||||
} else {
|
||||
document.getElementById('hint').innerHTML = "";
|
||||
document.getElementById('hint').style.visibility = "hidden";
|
||||
document.getElementById('pmd_hint').innerHTML = "";
|
||||
document.getElementById('pmd_hint').style.display = 'none';
|
||||
document.getElementById('rel_button').className = 'M_butt';
|
||||
click_field = 0;
|
||||
ON_relation = 0;
|
||||
@ -551,7 +551,7 @@ function Click_field(T, f, PK) // table field
|
||||
{
|
||||
if (ON_relation) {
|
||||
if (!click_field) {
|
||||
//.style.display=='none' .style.visibility = "hidden"
|
||||
//.style.display=='none' .style.display = 'none'
|
||||
if (!PK) {
|
||||
alert(PMA_messages['strPleaseSelectPrimaryOrUniqueKey']);
|
||||
return;// 0;
|
||||
@ -561,7 +561,7 @@ function Click_field(T, f, PK) // table field
|
||||
}
|
||||
click_field = 1;
|
||||
link_relation = "T1=" + T + "&F1=" + f;
|
||||
document.getElementById('hint').innerHTML = PMA_messages['strSelectForeignKey'];
|
||||
document.getElementById('pmd_hint').innerHTML = PMA_messages['strSelectForeignKey'];
|
||||
} else {
|
||||
Start_relation(); // hidden hint...
|
||||
if (j_tabs[db + '.' + T] != '1' || !PK) {
|
||||
@ -571,7 +571,7 @@ function Click_field(T, f, PK) // table field
|
||||
document.getElementById('layer_new_relation').style.left = left + 'px';
|
||||
var top = Glob_Y - document.getElementById('layer_new_relation').offsetHeight + 40;
|
||||
document.getElementById('layer_new_relation').style.top = top + 'px';
|
||||
document.getElementById('layer_new_relation').style.visibility = "visible";
|
||||
document.getElementById('layer_new_relation').style.display = 'block';
|
||||
link_relation += '&T2=' + T + '&F2=' + f;
|
||||
}
|
||||
}
|
||||
@ -596,8 +596,8 @@ function Click_field(T, f, PK) // table field
|
||||
display_field[T] = f;
|
||||
}
|
||||
ON_display_field = 0;
|
||||
document.getElementById('hint').innerHTML = "";
|
||||
document.getElementById('hint').style.visibility = "hidden";
|
||||
document.getElementById('pmd_hint').innerHTML = "";
|
||||
document.getElementById('pmd_hint').style.display = 'none';
|
||||
document.getElementById('display_field_button').className = 'M_butt';
|
||||
makeRequest('pmd_display_field.php', 'T=' + T + '&F=' + f + '&server=' + server + '&db=' + db + '&token=' + token);
|
||||
}
|
||||
@ -605,7 +605,7 @@ function Click_field(T, f, PK) // table field
|
||||
|
||||
function New_relation()
|
||||
{
|
||||
document.getElementById('layer_new_relation').style.visibility = 'hidden';
|
||||
document.getElementById('layer_new_relation').style.display = 'none';
|
||||
link_relation += '&server=' + server + '&db=' + db + '&token=' + token + '&die_save_pos=0';
|
||||
link_relation += '&on_delete=' + document.getElementById('on_delete').value + '&on_update=' + document.getElementById('on_update').value;
|
||||
link_relation += Get_url_pos();
|
||||
@ -776,14 +776,14 @@ function Canvas_click(id)
|
||||
document.getElementById('layer_upd_relation').style.left = left + 'px';
|
||||
var top = Glob_Y - document.getElementById('layer_upd_relation').offsetHeight - 10;
|
||||
document.getElementById('layer_upd_relation').style.top = top + 'px';
|
||||
document.getElementById('layer_upd_relation').style.visibility = 'visible';
|
||||
document.getElementById('layer_upd_relation').style.display = 'block';
|
||||
link_relation = 'T1=' + Key0 + '&F1=' + Key1 + '&T2=' + Key2 + '&F2=' + Key3 + '&K=' + Key;
|
||||
}
|
||||
}
|
||||
|
||||
function Upd_relation()
|
||||
{
|
||||
document.getElementById('layer_upd_relation').style.visibility = 'hidden';
|
||||
document.getElementById('layer_upd_relation').style.display = 'none';
|
||||
link_relation += '&server=' + server + '&db=' + db + '&token=' + token + '&die_save_pos=0';
|
||||
link_relation += Get_url_pos();
|
||||
makeRequest('pmd_relation_upd.php', link_relation);
|
||||
@ -792,9 +792,9 @@ function Upd_relation()
|
||||
function VisibleTab(id, t_n)
|
||||
{
|
||||
if (id.checked) {
|
||||
document.getElementById(t_n).style.visibility = 'visible';
|
||||
document.getElementById(t_n).style.display = 'block';
|
||||
} else {
|
||||
document.getElementById(t_n).style.visibility = 'hidden';
|
||||
document.getElementById(t_n).style.display = 'none';
|
||||
}
|
||||
Re_load();
|
||||
}
|
||||
@ -813,10 +813,10 @@ function Hide_tab_all(id_this) // max/min all tables
|
||||
if (E.elements[i].type == "checkbox" && E.elements[i].id.substring(0, 10) == 'check_vis_') {
|
||||
if (id_this.alt == 'v') {
|
||||
E.elements[i].checked = true;
|
||||
document.getElementById(E.elements[i].value).style.visibility = 'visible';
|
||||
document.getElementById(E.elements[i].value).style.display = 'block';
|
||||
} else {
|
||||
E.elements[i].checked = false;
|
||||
document.getElementById(E.elements[i].value).style.visibility = 'hidden';
|
||||
document.getElementById(E.elements[i].value).style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -859,20 +859,15 @@ function No_have_constr(id_this)
|
||||
if (!in_array_k(E.elements[i].value, a))
|
||||
if (id_this.alt == 'v') {
|
||||
E.elements[i].checked = true;
|
||||
document.getElementById(E.elements[i].value).style.visibility = 'visible';
|
||||
document.getElementById(E.elements[i].value).style.display = 'block';
|
||||
} else {
|
||||
E.elements[i].checked = false;
|
||||
document.getElementById(E.elements[i].value).style.visibility = 'hidden';
|
||||
document.getElementById(E.elements[i].value).style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Help()
|
||||
{
|
||||
var WinHelp = window.open("pmd_help.php", "wind1", "top=200,left=400,width=300,height=200,resizable=yes,scrollbars=yes,menubar=no");
|
||||
}
|
||||
|
||||
function PDF_save()
|
||||
{
|
||||
// var WinPDF =
|
||||
@ -884,7 +879,7 @@ function General_scroll()
|
||||
{
|
||||
/*
|
||||
if (!document.getElementById('show_relation_olways').checked) {
|
||||
document.getElementById("canvas").style.visibility = 'hidden';
|
||||
document.getElementById("canvas").style.display = 'none';
|
||||
clearTimeout(timeoutID);
|
||||
timeoutID = setTimeout(General_scroll_end, 500);
|
||||
}
|
||||
@ -913,15 +908,18 @@ function General_scroll_end()
|
||||
document.getElementById('layer_menu').style.left = document.body.scrollLeft;
|
||||
document.getElementById('layer_menu').style.top = document.body.scrollTop + document.getElementById('top_menu').offsetHeight;
|
||||
}
|
||||
document.getElementById("canvas").style.visibility = 'visible';
|
||||
document.getElementById("canvas").style.display = 'block';
|
||||
}
|
||||
*/
|
||||
|
||||
function Show_left_menu(id_this) // max/min all tables
|
||||
{
|
||||
if (id_this.alt == "v") {
|
||||
document.getElementById("layer_menu").style.top = document.getElementById('top_menu').offsetHeight + 'px';
|
||||
document.getElementById("layer_menu").style.visibility = 'visible';
|
||||
var pos = $("#top_menu").offset();
|
||||
var height = $("#top_menu").height();
|
||||
document.getElementById("layer_menu").style.top = (pos.top + height) + 'px';
|
||||
document.getElementById("layer_menu").style.left = pos.left + 'px';
|
||||
document.getElementById("layer_menu").style.display = 'block';
|
||||
id_this.alt = ">";
|
||||
id_this.src = "pmd/images/uparrow2_m.png";
|
||||
if (isIE) {
|
||||
@ -929,7 +927,7 @@ function Show_left_menu(id_this) // max/min all tables
|
||||
}
|
||||
} else {
|
||||
document.getElementById("layer_menu").style.top = -1000 + 'px'; //fast scroll
|
||||
document.getElementById("layer_menu").style.visibility = 'hidden';
|
||||
document.getElementById("layer_menu").style.display = 'none';
|
||||
id_this.alt = "v";
|
||||
id_this.src = "pmd/images/downarrow2_m.png";
|
||||
}
|
||||
@ -955,16 +953,16 @@ function Start_display_field()
|
||||
}
|
||||
if (!ON_display_field) {
|
||||
ON_display_field = 1;
|
||||
document.getElementById('hint').innerHTML = PMA_messages['strChangeDisplay'];
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
document.getElementById('pmd_hint').innerHTML = PMA_messages['strChangeDisplay'];
|
||||
document.getElementById('pmd_hint').style.display = 'block';
|
||||
document.getElementById('display_field_button').className = 'M_butt_Selected_down';//'#FFEE99';gray #AAAAAA
|
||||
|
||||
if (isIE) { // correct for IE
|
||||
document.getElementById('display_field_button').className = 'M_butt_Selected_down_IE';
|
||||
}
|
||||
} else {
|
||||
document.getElementById('hint').innerHTML = "";
|
||||
document.getElementById('hint').style.visibility = "hidden";
|
||||
document.getElementById('pmd_hint').innerHTML = "";
|
||||
document.getElementById('pmd_hint').style.display = 'none';
|
||||
document.getElementById('display_field_button').className = 'M_butt';
|
||||
ON_display_field = 0;
|
||||
}
|
||||
@ -1021,7 +1019,7 @@ function Click_option(id_this,column_name,table_name)
|
||||
document.getElementById(id_this).style.left = left + 'px';
|
||||
// var top = Glob_Y - document.getElementById(id_this).offsetHeight - 10;
|
||||
document.getElementById(id_this).style.top = (screen.height / 4) + 'px';
|
||||
document.getElementById(id_this).style.visibility = "visible";
|
||||
document.getElementById(id_this).style.display = 'block';
|
||||
document.getElementById('option_col_name').innerHTML = '<strong>' + PMA_messages['strAddOption'] +'"' +column_name+ '"</strong>';
|
||||
col_name = column_name;
|
||||
tab_name = table_name;
|
||||
@ -1029,7 +1027,7 @@ function Click_option(id_this,column_name,table_name)
|
||||
|
||||
function Close_option()
|
||||
{
|
||||
document.getElementById('pmd_optionse').style.visibility = "hidden";
|
||||
document.getElementById('pmd_optionse').style.display = 'none';
|
||||
}
|
||||
|
||||
function Select_all(id_this,owner)
|
||||
@ -1136,8 +1134,8 @@ function add_object()
|
||||
var init = history_array.length;
|
||||
if (rel.value != '--') {
|
||||
if (document.getElementById('Query').value == "") {
|
||||
document.getElementById('hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
document.getElementById('pmd_hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('pmd_hint').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
var p = document.getElementById('Query');
|
||||
@ -1168,8 +1166,8 @@ function add_object()
|
||||
}
|
||||
if (document.getElementById('h_rel_opt').value != '--') {
|
||||
if (document.getElementById('having').value == "") {
|
||||
document.getElementById('hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
document.getElementById('pmd_hint').innerHTML = "value/subQuery is empty" ;
|
||||
document.getElementById('pmd_hint').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
var p = document.getElementById('having');
|
||||
@ -1186,8 +1184,8 @@ function add_object()
|
||||
document.getElementById('orderby').checked = false;
|
||||
//make orderby
|
||||
}
|
||||
document.getElementById('hint').innerHTML = sum + "object created" ;
|
||||
document.getElementById('hint').style.visibility = "visible";
|
||||
document.getElementById('pmd_hint').innerHTML = sum + "object created" ;
|
||||
document.getElementById('pmd_hint').style.display = 'block';
|
||||
//output sum new objects created
|
||||
var existingDiv = document.getElementById('ab');
|
||||
existingDiv.innerHTML = display(init,history_array.length);
|
||||
|
||||
@ -44,6 +44,36 @@ $(function() {
|
||||
type: "numeric"
|
||||
});
|
||||
|
||||
jQuery.tablesorter.addParser({
|
||||
id: "withinSpanNumber",
|
||||
is: function(s) {
|
||||
return /<span class="original"/.test(s);
|
||||
},
|
||||
format: function(s, table, html) {
|
||||
var res = html.innerHTML.match(/<span(\s*style="display:none;"\s*)?\s*class="original">(.*)?<\/span>/);
|
||||
return (res && res.length >= 3) ? res[2] : 0;
|
||||
},
|
||||
type: "numeric"
|
||||
});
|
||||
|
||||
// faster zebra widget: no row visibility check, faster css class switching, no cssChildRow check
|
||||
jQuery.tablesorter.addWidget({
|
||||
id: "fast-zebra",
|
||||
format: function (table) {
|
||||
if (table.config.debug) {
|
||||
var time = new Date();
|
||||
}
|
||||
$("tr:even", table.tBodies[0])
|
||||
.removeClass(table.config.widgetZebra.css[0])
|
||||
.addClass(table.config.widgetZebra.css[1]);
|
||||
$("tr:odd", table.tBodies[0])
|
||||
.removeClass(table.config.widgetZebra.css[1])
|
||||
.addClass(table.config.widgetZebra.css[0]);
|
||||
if (table.config.debug) {
|
||||
$.tablesorter.benchmark("Applying Fast-Zebra widget", time);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Popup behaviour
|
||||
$('a[rel="popupLink"]').click( function() {
|
||||
@ -110,7 +140,13 @@ $(function() {
|
||||
cookie: { name: 'pma_serverStatusTabs', expires: 1 },
|
||||
show: function(event, ui) {
|
||||
// Fixes line break in the menu bar when the page overflows and scrollbar appears
|
||||
menuResize();
|
||||
menuResize();
|
||||
|
||||
// Initialize selected tab
|
||||
if (!$(ui.tab.hash).data('init-done')) {
|
||||
initTab($(ui.tab.hash), null);
|
||||
}
|
||||
|
||||
// Load Server status monitor
|
||||
if (ui.tab.hash == '#statustabs_charting' && ! monitorLoaded) {
|
||||
$('div#statustabs_charting').append( //PMA_messages['strLoadingMonitor'] + ' ' +
|
||||
@ -143,8 +179,12 @@ $(function() {
|
||||
|
||||
// Initialize each tab
|
||||
$('div.ui-tabs-panel').each(function() {
|
||||
initTab($(this), null);
|
||||
tabStatus[$(this).attr('id')] = 'static';
|
||||
var $tab = $(this);
|
||||
tabStatus[$tab.attr('id')] = 'static';
|
||||
// Initialize tabs after browser catches up with previous changes and displays tabs
|
||||
setTimeout(function() {
|
||||
initTab($tab, null);
|
||||
}, 0.5);
|
||||
});
|
||||
|
||||
// Handles refresh rate changing
|
||||
@ -362,12 +402,12 @@ $(function() {
|
||||
});
|
||||
|
||||
$('#filterText').keyup(function(e) {
|
||||
word = $(this).val().replace(/_/g, ' ');
|
||||
var word = $(this).val().replace(/_/g, ' ');
|
||||
|
||||
if (word.length == 0) {
|
||||
textFilter = null;
|
||||
}
|
||||
else textFilter = new RegExp("(^|_)" + word, 'i');
|
||||
else textFilter = new RegExp("(^| )" + word, 'i');
|
||||
|
||||
text = word;
|
||||
|
||||
@ -389,6 +429,10 @@ $(function() {
|
||||
|
||||
/* Adjust DOM / Add handlers to the tabs */
|
||||
function initTab(tab, data) {
|
||||
if ($(tab).data('init-done') && !data) {
|
||||
return;
|
||||
}
|
||||
$(tab).data('init-done', true);
|
||||
switch(tab.attr('id')) {
|
||||
case 'statustabs_traffic':
|
||||
if (data != null) {
|
||||
@ -442,6 +486,7 @@ $(function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
initTableSorter(tab.attr('id'));
|
||||
break;
|
||||
|
||||
case 'statustabs_allvars':
|
||||
@ -449,43 +494,40 @@ $(function() {
|
||||
tab.find('.tabInnerContent').html(data);
|
||||
filterVariables();
|
||||
}
|
||||
initTableSorter(tab.attr('id'));
|
||||
break;
|
||||
}
|
||||
|
||||
initTableSorter(tab.attr('id'));
|
||||
}
|
||||
|
||||
// TODO: tablesorter shouldn't sort already sorted columns
|
||||
function initTableSorter(tabid) {
|
||||
var $table, opts;
|
||||
switch(tabid) {
|
||||
case 'statustabs_queries':
|
||||
$('#serverstatusqueriesdetails').tablesorter({
|
||||
sortList: [[3, 1]],
|
||||
widgets: ['zebra'],
|
||||
headers: {
|
||||
1: { sorter: 'fancyNumber' },
|
||||
2: { sorter: 'fancyNumber' }
|
||||
}
|
||||
});
|
||||
|
||||
$('#serverstatusqueriesdetails tr:first th')
|
||||
.append('<img class="icon sortableIcon" src="themes/dot.gif" alt="">');
|
||||
|
||||
$table = $('#serverstatusqueriesdetails');
|
||||
opts = {
|
||||
sortList: [[3, 1]],
|
||||
widgets: ['fast-zebra'],
|
||||
headers: {
|
||||
1: { sorter: 'fancyNumber' },
|
||||
2: { sorter: 'fancyNumber' }
|
||||
}
|
||||
};
|
||||
break;
|
||||
|
||||
case 'statustabs_allvars':
|
||||
$('#serverstatusvariables').tablesorter({
|
||||
sortList: [[0, 0]],
|
||||
widgets: ['zebra'],
|
||||
headers: {
|
||||
1: { sorter: 'fancyNumber' }
|
||||
}
|
||||
});
|
||||
|
||||
$('#serverstatusvariables tr:first th')
|
||||
.append('<img class="icon sortableIcon" src="themes/dot.gif" alt="">');
|
||||
|
||||
$table = $('#serverstatusvariables');
|
||||
opts = {
|
||||
sortList: [[0, 0]],
|
||||
widgets: ['fast-zebra'],
|
||||
headers: {
|
||||
1: { sorter: 'withinSpanNumber' }
|
||||
}
|
||||
};
|
||||
break;
|
||||
}
|
||||
$table.tablesorter(opts);
|
||||
$table.find('tr:first th')
|
||||
.append('<img class="icon sortableIcon" src="themes/dot.gif" alt="">');
|
||||
}
|
||||
|
||||
/* Filters the status variables by name/category/alert in the variables tab */
|
||||
|
||||
@ -9,6 +9,10 @@ $(function() {
|
||||
codemirror_editor = CodeMirror.fromTextArea(elm[0], { lineNumbers: true, matchBrackets: true, indentUnit: 4, mode: "text/x-mysql" });
|
||||
}
|
||||
}
|
||||
// Timepicker is loaded on demand so we need to initialize datetime fields from the 'load log' dialog
|
||||
$('div#logAnalyseDialog .datetimefield').each(function() {
|
||||
PMA_addDatepicker($(this));
|
||||
});
|
||||
|
||||
/**** Monitor charting implementation ****/
|
||||
/* Saves the previous ajax response for differential values */
|
||||
@ -1022,8 +1026,6 @@ $(function() {
|
||||
removeVariables: $('input#removeVariables').prop('checked'),
|
||||
limitTypes: $('input#limitTypes').prop('checked')
|
||||
});
|
||||
|
||||
$('#logAnalyseDialog').find('dateStart,dateEnd').datepicker('destroy');
|
||||
}
|
||||
|
||||
$('#logAnalyseDialog').dialog({
|
||||
@ -1388,7 +1390,7 @@ $(function() {
|
||||
if (logData.numRows > 12) {
|
||||
$('div#logTable').prepend(
|
||||
'<fieldset id="logDataFilter">' +
|
||||
' <legend>' + PMA_messages['strFilters'] + '</legend>' +
|
||||
' <legend>' + PMA_messages['strFiltersForLogTable'] + '</legend>' +
|
||||
' <div class="formelement">' +
|
||||
' <label for="filterQueryText">' + PMA_messages['strFilterByWordRegexp'] + '</label>' +
|
||||
' <input name="filterQueryText" type="text" id="filterQueryText" style="vertical-align: baseline;" />' +
|
||||
@ -1680,7 +1682,7 @@ $(function() {
|
||||
|
||||
$('div#logTable table').tablesorter({
|
||||
sortList: [[cols.length - 1, 1]],
|
||||
widgets: ['zebra']
|
||||
widgets: ['fast-zebra']
|
||||
});
|
||||
|
||||
$('div#logTable table thead th')
|
||||
@ -1688,33 +1690,18 @@ $(function() {
|
||||
|
||||
return cols;
|
||||
}
|
||||
|
||||
|
||||
/* Opens the query analyzer dialog */
|
||||
function openQueryAnalyzer() {
|
||||
var rowData = $(this).parent().data('query');
|
||||
var query = rowData.argument || rowData.sql_text;
|
||||
|
||||
/* A very basic SQL Formatter. Totally fails in the cases of
|
||||
- Any string appearance containing a MySQL Keyword, surrounded by whitespaces, e.g. WHERE bar = "This where the formatter fails"
|
||||
- Subqueries too probably
|
||||
*/
|
||||
|
||||
// Matches the columns to be selected
|
||||
// .* selector doesn't include whitespace and we have no PCRE_DOTALL modifier, (.|\s)+ crashes Chrome (reported and confirmed),
|
||||
// [^]+ results in JS error in IE8, thus we use [^\0]+ for matching each column since the zero-byte char (hopefully) doesn't appear in column names ;)
|
||||
var sLists = query.match(/SELECT\s+[^\0]+\s+FROM\s+/gi);
|
||||
if (sLists) {
|
||||
for (var i = 0; i < sLists.length; i++) {
|
||||
query = query.replace(sLists[i], sLists[i].replace(/\s*((`|'|"|).*?\1,)\s*/gi, '$1\n\t'));
|
||||
}
|
||||
query = query
|
||||
.replace(/(\s+|^)(SELECT|FROM|WHERE|GROUP BY|HAVING|ORDER BY|LIMIT)(\s+|$)/gi, '\n$2\n\t')
|
||||
.replace(/\s+UNION\s+/gi, '\n\nUNION\n\n')
|
||||
.replace(/\s+(AND)\s+/gi, ' $1\n\t')
|
||||
.trim();
|
||||
}
|
||||
|
||||
query = PMA_SQLPrettyPrint(query);
|
||||
codemirror_editor.setValue(query);
|
||||
// Codemirror is bugged, it doesn't refresh properly sometimes. Following lines seem to fix that
|
||||
setTimeout(function() {
|
||||
codemirror_editor.refresh()
|
||||
},50);
|
||||
|
||||
var profilingChart = null;
|
||||
var dlgBtns = {};
|
||||
|
||||
@ -173,9 +173,20 @@ function editVariable(link)
|
||||
// hide original content
|
||||
$cell.html('<span class="oldContent" style="display:none;">' + $cell.html() + '</span>');
|
||||
// put edit field and save/cancel link
|
||||
$cell.prepend('<table class="serverVariableEditTable" border="0"><tr><td></td><td style="width:100%;"><input type="text" value="' + data + '"/></td></tr</table>');
|
||||
$cell.prepend('<table class="serverVariableEditTable" border="0"><tr><td></td><td style="width:100%;">' +
|
||||
'<input type="text" id="variableEditArea" value="' + data + '" /></td></tr</table>');
|
||||
$cell.find('table td:first').append(mySaveLink);
|
||||
$cell.find('table td:first').append(' ');
|
||||
$cell.find('table td:first').append(myCancelLink);
|
||||
|
||||
// Keyboard shortcuts to the rescue
|
||||
$('input#variableEditArea').focus();
|
||||
$('input#variableEditArea').keydown(function(event) {
|
||||
// Enter key
|
||||
if(event.keyCode == 13) mySaveLink.trigger('click');
|
||||
// Escape key
|
||||
if(event.keyCode == 27) myCancelLink.trigger('click');
|
||||
});
|
||||
});
|
||||
|
||||
return false;
|
||||
|
||||
@ -363,33 +363,35 @@ class PMA_Table
|
||||
}
|
||||
|
||||
switch ($default_type) {
|
||||
case 'USER_DEFINED' :
|
||||
if ($is_timestamp && $default_value === '0') {
|
||||
// a TIMESTAMP does not accept DEFAULT '0'
|
||||
// but DEFAULT 0 works
|
||||
$query .= ' DEFAULT 0';
|
||||
} elseif ($type == 'BIT') {
|
||||
$query .= ' DEFAULT b\'' . preg_replace('/[^01]/', '0', $default_value) . '\'';
|
||||
} elseif ($type == 'BOOLEAN') {
|
||||
if (preg_match('/^1|T|TRUE|YES$/i', $default_value)) {
|
||||
$query .= ' DEFAULT TRUE';
|
||||
} elseif (preg_match('/^0|F|FALSE|NO$/i', $default_value)) {
|
||||
$query .= ' DEFAULT FALSE';
|
||||
} else {
|
||||
// Invalid BOOLEAN value
|
||||
$query .= ' DEFAULT \'' . PMA_sqlAddSlashes($default_value) . '\'';
|
||||
}
|
||||
case 'USER_DEFINED' :
|
||||
if ($is_timestamp && $default_value === '0') {
|
||||
// a TIMESTAMP does not accept DEFAULT '0'
|
||||
// but DEFAULT 0 works
|
||||
$query .= ' DEFAULT 0';
|
||||
} elseif ($type == 'BIT') {
|
||||
$query .= ' DEFAULT b\''
|
||||
. preg_replace('/[^01]/', '0', $default_value)
|
||||
. '\'';
|
||||
} elseif ($type == 'BOOLEAN') {
|
||||
if (preg_match('/^1|T|TRUE|YES$/i', $default_value)) {
|
||||
$query .= ' DEFAULT TRUE';
|
||||
} elseif (preg_match('/^0|F|FALSE|NO$/i', $default_value)) {
|
||||
$query .= ' DEFAULT FALSE';
|
||||
} else {
|
||||
// Invalid BOOLEAN value
|
||||
$query .= ' DEFAULT \'' . PMA_sqlAddSlashes($default_value) . '\'';
|
||||
}
|
||||
break;
|
||||
case 'NULL' :
|
||||
case 'CURRENT_TIMESTAMP' :
|
||||
$query .= ' DEFAULT ' . $default_type;
|
||||
break;
|
||||
case 'NONE' :
|
||||
default :
|
||||
break;
|
||||
} else {
|
||||
$query .= ' DEFAULT \'' . PMA_sqlAddSlashes($default_value) . '\'';
|
||||
}
|
||||
break;
|
||||
case 'NULL' :
|
||||
case 'CURRENT_TIMESTAMP' :
|
||||
$query .= ' DEFAULT ' . $default_type;
|
||||
break;
|
||||
case 'NONE' :
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
if (!empty($extra)) {
|
||||
@ -399,8 +401,10 @@ class PMA_Table
|
||||
if ($extra == 'AUTO_INCREMENT') {
|
||||
$primary_cnt = count($field_primary);
|
||||
if (1 == $primary_cnt) {
|
||||
for ($j = 0; $j < $primary_cnt && $field_primary[$j] != $index; $j++) {
|
||||
//void
|
||||
for ($j = 0; $j < $primary_cnt; $j++) {
|
||||
if ($field_primary[$j] == $index) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isset($field_primary[$j]) && $field_primary[$j] == $index) {
|
||||
$query .= ' PRIMARY KEY';
|
||||
|
||||
@ -708,13 +708,27 @@ function PMA_includeJS($url)
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds JS code snippets to be displayed by header.inc.php. Adds a newline to each snippet.
|
||||
* Adds JS code snippets to be displayed by header.inc.php. Adds a
|
||||
* newline to each snippet.
|
||||
*
|
||||
* @param string $str Js code to be added (e.g. "token=1234;")
|
||||
*
|
||||
*/
|
||||
function PMA_AddJSCode($str) {
|
||||
function PMA_AddJSCode($str)
|
||||
{
|
||||
$GLOBALS['js_script'][] = $str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds JS code snippet for variable assignment to be displayed by header.inc.php.
|
||||
*
|
||||
* @param string $key Name of value to set
|
||||
* @param mixed $value Value to set, can be either string or array of strings
|
||||
*
|
||||
*/
|
||||
function PMA_AddJSVar($key, $value)
|
||||
{
|
||||
PMA_AddJsCode(PMA_getJsValue($key, $value));
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -56,25 +56,64 @@ function PMA_escapeJsString($string)
|
||||
"\r" => '\r')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a value for javascript code.
|
||||
*
|
||||
* @param string $value String to be formatted.
|
||||
*
|
||||
* @retrun string formatted value.
|
||||
*/
|
||||
function PMA_formatJsVal($value)
|
||||
{
|
||||
if (is_bool($value)) {
|
||||
if ($value) {
|
||||
return 'true';
|
||||
} else {
|
||||
return 'false';
|
||||
}
|
||||
} elseif (is_int($value)) {
|
||||
return (int)$value;
|
||||
} else {
|
||||
return '"' . PMA_escapeJsString($value) . '"';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats an javascript assignment with proper escaping of a value
|
||||
* and support for assigning array of strings.
|
||||
*
|
||||
* @param string $key Name of value to set
|
||||
* @param mixed $value Value to set, can be either string or array of strings
|
||||
*
|
||||
* @return string Javascript code.
|
||||
*/
|
||||
function PMA_getJsValue($key, $value)
|
||||
{
|
||||
$result = $key . ' = ';
|
||||
if (is_array($value)) {
|
||||
$result .= '[';
|
||||
foreach ($value as $id => $val) {
|
||||
$result .= PMA_formatJsVal($value) . ",";
|
||||
}
|
||||
$result .= "];\n";
|
||||
} else {
|
||||
$result .= PMA_formatJsVal($value) . ";\n";
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints an javascript assignment with proper escaping of a value
|
||||
* and support for assigning array of strings.
|
||||
*
|
||||
* @param string $key Name of value to set
|
||||
* @param mixed $value Value to set, can be either string or array of strings
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function PMA_printJsValue($key, $value)
|
||||
{
|
||||
echo $key . ' = ';
|
||||
if (is_array($value)) {
|
||||
echo '[';
|
||||
foreach ($value as $id => $val) {
|
||||
echo "'" . PMA_escapeJsString($val) . "',";
|
||||
}
|
||||
echo "];\n";
|
||||
} else {
|
||||
echo "'" . PMA_escapeJsString($value) . "';\n";
|
||||
}
|
||||
echo PMA_getJsValue($key, $value);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -298,21 +298,14 @@ function PMA_replication_synchronize_db($db, $src_link, $trg_link, $data = true)
|
||||
{
|
||||
$src_db = $trg_db = $db;
|
||||
|
||||
$src_connection = PMA_DBI_select_db($src_db, $src_link);
|
||||
$trg_connection = PMA_DBI_select_db($trg_db, $trg_link);
|
||||
|
||||
$src_tables = PMA_DBI_get_tables($src_db, $src_link);
|
||||
$source_tables_num = sizeof($src_tables);
|
||||
|
||||
$trg_tables = PMA_DBI_get_tables($trg_db, $trg_link);
|
||||
$target_tables_num = sizeof($trg_tables);
|
||||
|
||||
/**
|
||||
* initializing arrays to save table names
|
||||
*/
|
||||
$unmatched_num_src = 0;
|
||||
$source_tables_uncommon = array();
|
||||
$unmatched_num_trg = 0;
|
||||
$target_tables_uncommon = array();
|
||||
$matching_tables = array();
|
||||
$matching_tables_num = 0;
|
||||
@ -367,6 +360,7 @@ function PMA_replication_synchronize_db($db, $src_link, $trg_link, $data = true)
|
||||
$source_indexes = array();
|
||||
$target_indexes = array();
|
||||
$add_indexes_array = array();
|
||||
$alter_indexes_array = array();
|
||||
$remove_indexes_array = array();
|
||||
$criteria = array('Field', 'Type', 'Null', 'Collation', 'Key', 'Default', 'Comment');
|
||||
|
||||
@ -378,17 +372,11 @@ function PMA_replication_synchronize_db($db, $src_link, $trg_link, $data = true)
|
||||
$add_indexes_array, $alter_indexes_array,$remove_indexes_array, $counter);
|
||||
}
|
||||
|
||||
$matching_table_data_diff = array();
|
||||
$matching_table_structure_diff = array();
|
||||
$uncommon_table_structure_diff = array();
|
||||
$uncommon_table_data_diff = array();
|
||||
$uncommon_tables = $source_tables_uncommon;
|
||||
|
||||
/**
|
||||
* Generating Create Table query for all the non-matching tables present in Source but not in Target and populating tables.
|
||||
*/
|
||||
for ($q = 0; $q < sizeof($source_tables_uncommon); $q++) {
|
||||
if (isset($uncommon_tables[$q])) {
|
||||
if (isset($source_tables_uncommon[$q])) {
|
||||
PMA_createTargetTables($src_db, $trg_db, $src_link, $trg_link, $source_tables_uncommon, $q, $uncommon_tables_fields, false);
|
||||
}
|
||||
if (isset($row_count[$q]) && $data) {
|
||||
|
||||
@ -923,8 +923,8 @@ class PMA_Pdf_Relation_Schema extends PMA_Export_Relation_Schema
|
||||
$pdf->SetX(10);
|
||||
$pdf->Cell(0, 6, $i . ' ' . $table, 0, 1, 'L', 0, $pdf->PMA_links['doc'][$table]['-']);
|
||||
// $pdf->Ln(1);
|
||||
$result = PMA_DBI_query(PMA_DBI_get_columns_sql($db, $table), null, PMA_DBI_QUERY_STORE);
|
||||
while ($row = PMA_DBI_fetch_assoc($result)) {
|
||||
$fields = PMA_DBI_get_columns($GLOBALS['db'], $table);
|
||||
foreach($fields as $row) {
|
||||
$pdf->SetX(20);
|
||||
$field_name = $row['Field'];
|
||||
$pdf->PMA_links['doc'][$table][$field_name] = $pdf->AddLink();
|
||||
|
||||
@ -38,7 +38,7 @@ class PMA_User_Schema
|
||||
|
||||
public function processUserChoice()
|
||||
{
|
||||
global $action_choose,$db,$cfgRelation,$cfg;
|
||||
global $action_choose, $db, $cfgRelation;
|
||||
|
||||
if (isset($this->action)) {
|
||||
switch ($this->action) {
|
||||
@ -207,7 +207,7 @@ class PMA_User_Schema
|
||||
*/
|
||||
public function showTableDashBoard()
|
||||
{
|
||||
global $db,$cfgRelation,$table,$cfg,$with_field_names;
|
||||
global $db, $cfgRelation, $table, $with_field_names;
|
||||
/*
|
||||
* We will need an array of all tables in this db
|
||||
*/
|
||||
@ -479,7 +479,7 @@ class PMA_User_Schema
|
||||
*/
|
||||
private function _displayScratchboardTables($array_sh_page)
|
||||
{
|
||||
global $with_field_names,$cfg,$db;
|
||||
global $with_field_names, $db;
|
||||
?>
|
||||
<script type="text/javascript" src="./js/dom-drag.js"></script>
|
||||
<form method="post" action="schema_edit.php" name="dragdrop">
|
||||
@ -505,20 +505,14 @@ class PMA_User_Schema
|
||||
$reset_draginit .= ' document.edcoord.elements["c_table_' . $i . '[x]"].value = "2"' . "\n";
|
||||
$reset_draginit .= ' document.edcoord.elements["c_table_' . $i . '[y]"].value = "' . (15 * $i) . '"' . "\n";
|
||||
|
||||
$local_query = PMA_DBI_get_columns_sql($db, $temp_sh_page['table_name']);
|
||||
$fields_rs = PMA_DBI_query($local_query);
|
||||
unset($local_query);
|
||||
$fields_cnt = PMA_DBI_num_rows($fields_rs);
|
||||
|
||||
echo '<div id="table_' . $i . '" class="pdflayout_table"><u>' . $temp_sh_page['table_name'] . '</u>';
|
||||
if (isset($with_field_names)) {
|
||||
while ($row = PMA_DBI_fetch_assoc($fields_rs)) {
|
||||
echo '<br />' . htmlspecialchars($row['Field']) . "\n";
|
||||
$fields = PMA_DBI_get_columns($db, $temp_sh_page['table_name']);
|
||||
foreach ($fields as $row) {
|
||||
echo '<br />' . htmlspecialchars($row['Field']) . "\n";
|
||||
}
|
||||
}
|
||||
echo '</div>' . "\n";
|
||||
PMA_DBI_free_result($fields_rs);
|
||||
unset($fields_rs);
|
||||
$i++;
|
||||
}
|
||||
?>
|
||||
|
||||
@ -213,9 +213,7 @@ function PMA_sqlQueryFormInsert($query = '', $is_querywindow = false, $delimiter
|
||||
// Get the list and number of fields
|
||||
// we do a try_query here, because we could be in the query window,
|
||||
// trying to synchonize and the table has not yet been created
|
||||
$fields_list = PMA_DBI_fetch_result(
|
||||
'SHOW FULL COLUMNS FROM ' . PMA_backquote($db)
|
||||
. '.' . PMA_backquote($GLOBALS['table']));
|
||||
$fields_list = PMA_DBI_get_columns($db, $GLOBALS['table'], true);
|
||||
|
||||
$tmp_db_link = '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
|
||||
. '?' . PMA_generate_common_url($db) . '"';
|
||||
|
||||
@ -11,70 +11,64 @@
|
||||
|
||||
require_once 'url_generating.lib.php';
|
||||
|
||||
/**
|
||||
* PMA_tbl_setTitle() sets the title for foreign keys display link
|
||||
/**
|
||||
* Sets the title for foreign keys display link.
|
||||
*
|
||||
* @param $propertiesIconic Type of icon property
|
||||
* @param $themeImage Icon Image
|
||||
* @return string $str Value of the Title
|
||||
* @param mixed $propertiesIconic Type of icon property
|
||||
* @param string $pmaThemeImage Icon Image
|
||||
*
|
||||
* @return string $str Value of the Title
|
||||
*/
|
||||
|
||||
function PMA_tbl_setTitle($propertiesIconic,$pmaThemeImage){
|
||||
function PMA_tbl_setTitle($propertiesIconic, $pmaThemeImage)
|
||||
{
|
||||
if ($propertiesIconic == true) {
|
||||
$str = '<img class="icon" width="16" height="16" src="' . $pmaThemeImage
|
||||
.'b_browse.png" alt="' . __('Browse foreign values') . '" title="'
|
||||
. __('Browse foreign values') . '" />';
|
||||
.'b_browse.png" alt="' . __('Browse foreign values') . '" title="'
|
||||
. __('Browse foreign values') . '" />';
|
||||
|
||||
if ($propertiesIconic === 'both') {
|
||||
$str .= __('Browse foreign values');
|
||||
return $str;
|
||||
}
|
||||
} else {
|
||||
return __('Browse foreign values');
|
||||
}
|
||||
if ($propertiesIconic === 'both') {
|
||||
$str .= __('Browse foreign values');
|
||||
}
|
||||
|
||||
return $str;
|
||||
} else {
|
||||
return __('Browse foreign values');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PMA_tbl_getFields() gets all the fields of a table along with their types,collations and whether null or not.
|
||||
/**
|
||||
* Gets all the fields of a table along with their types, collations
|
||||
* and whether null or not.
|
||||
*
|
||||
* @uses PMA_DBI_query()
|
||||
* @uses PMA_backquote()
|
||||
* @uses PMA_DBI_num_rows()
|
||||
* @uses PMA_DBI_fetch_assoc()
|
||||
* @uses PMA_DBI_free_result()
|
||||
* @uses preg_replace()
|
||||
* @uses str_replace()
|
||||
* @uses strncasecmp()
|
||||
* @uses empty()
|
||||
*
|
||||
* @param $db Selected database
|
||||
* @param $table Selected table
|
||||
*
|
||||
* @return array($fields_list,$fields_type,$fields_collation,$fields_null) Array containing the field list, field types, collations and null constatint
|
||||
* @param string $table Selected table
|
||||
* @param string $db Selected database
|
||||
*
|
||||
* @return array Array containing the field list, field types, collations
|
||||
* and null constraint
|
||||
*/
|
||||
|
||||
function PMA_tbl_getFields($table,$db) {
|
||||
|
||||
function PMA_tbl_getFields($table,$db)
|
||||
{
|
||||
// Gets the list and number of fields
|
||||
$result = PMA_DBI_query(PMA_DBI_get_columns_sql($db, $table), null, PMA_DBI_QUERY_STORE);
|
||||
$fields = PMA_DBI_get_columns($db, $table, true);
|
||||
$fields_list = $fields_null = $fields_type = $fields_collation = array();
|
||||
$geom_column_present = false;
|
||||
$geom_types = PMA_getGISDatatypes();
|
||||
while ($row = PMA_DBI_fetch_assoc($result)) {
|
||||
|
||||
foreach ($fields as $row) {
|
||||
$fields_list[] = $row['Field'];
|
||||
$type = $row['Type'];
|
||||
|
||||
// check whether table contains geometric columns
|
||||
if (in_array($type, $geom_types)) {
|
||||
$geom_column_present = true;
|
||||
}
|
||||
|
||||
// reformat mysql query output
|
||||
if (strncasecmp($type, 'set', 3) == 0
|
||||
|| strncasecmp($type, 'enum', 4) == 0) {
|
||||
|| strncasecmp($type, 'enum', 4) == 0
|
||||
) {
|
||||
$type = str_replace(',', ', ', $type);
|
||||
} else {
|
||||
|
||||
// strip the "BINARY" attribute, except if we find "BINARY(" because
|
||||
// this would be a BINARY or VARBINARY field type
|
||||
if (!preg_match('@BINARY[\(]@i', $type)) {
|
||||
@ -90,53 +84,49 @@ function PMA_tbl_getFields($table,$db) {
|
||||
}
|
||||
$fields_null[] = $row['Null'];
|
||||
$fields_type[] = $type;
|
||||
$fields_collation[] = !empty($row['Collation']) && $row['Collation'] != 'NULL'
|
||||
? $row['Collation']
|
||||
: '';
|
||||
$fields_collation[] = ! empty($row['Collation']) && $row['Collation'] != 'NULL'
|
||||
? $row['Collation']
|
||||
: '';
|
||||
} // end while
|
||||
PMA_DBI_free_result($result);
|
||||
unset($result, $type);
|
||||
|
||||
return array($fields_list,$fields_type,$fields_collation,$fields_null, $geom_column_present);
|
||||
|
||||
return array($fields_list, $fields_type, $fields_collation, $fields_null, $geom_column_present);
|
||||
}
|
||||
|
||||
/* PMA_tbl_setTableHeader() sets the table header for displaying a table in query-by-example format
|
||||
/**
|
||||
* Sets the table header for displaying a table in query-by-example format.
|
||||
*
|
||||
* @return HTML content, the tags and content for table header
|
||||
* @param bool $geom_column_present whether a geometry column is present
|
||||
*
|
||||
* @return HTML content, the tags and content for table header
|
||||
*/
|
||||
|
||||
function PMA_tbl_setTableHeader($geom_column_present = false){
|
||||
|
||||
function PMA_tbl_setTableHeader($geom_column_present = false)
|
||||
{
|
||||
// Display the Function column only if there is alteast one geomety colum
|
||||
$func = '';
|
||||
if ($geom_column_present) {
|
||||
$func = '<th>' . __('Function') . '</th>';
|
||||
}
|
||||
|
||||
return '<thead>
|
||||
return '<thead>
|
||||
<tr>' . $func . '<th>' . __('Column') . '</th>
|
||||
<th>' . __('Type') . '</th>
|
||||
<th>' . __('Collation') . '</th>
|
||||
<th>' . __('Operator') . '</th>
|
||||
<th>' . __('Value') . '</th>
|
||||
</tr>
|
||||
</tr>
|
||||
</thead>';
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* PMA_tbl_getSubTabs() returns an array with necessary configrations to create sub-tabs(Table Search and Zoom Search) in the table_select page
|
||||
*
|
||||
* @return array $subtabs Array containing configuration (icon,text,link,id,args) of sub-tabs for Table Search and Zoom search
|
||||
/**
|
||||
* Returns an array with necessary configrations to create
|
||||
* sub-tabs(Table Search and Zoom Search) in the table_select page.
|
||||
*
|
||||
* @return array Array containing configuration (icon, text, link, id, args)
|
||||
* of sub-tabs for Table Search and Zoom search
|
||||
*/
|
||||
|
||||
function PMA_tbl_getSubTabs(){
|
||||
|
||||
function PMA_tbl_getSubTabs()
|
||||
{
|
||||
$subtabs = array();
|
||||
|
||||
$subtabs['search']['icon'] = 'b_search.png';
|
||||
$subtabs['search']['text'] = __('Table Search');
|
||||
$subtabs['search']['link'] = 'tbl_select.php';
|
||||
@ -149,74 +139,65 @@ function PMA_tbl_getSubTabs(){
|
||||
$subtabs['zoom']['id'] = 'zoom_search_id';
|
||||
|
||||
return $subtabs;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* PMA_tbl_getForeignFields_Values() creates the HTML content for: 1) Browsing foreign data for a field. 2) Creating elements for search criteria input on fields.
|
||||
/**
|
||||
* Creates the HTML content for:
|
||||
* 1) Browsing foreign data for a field.
|
||||
* 2) Creating elements for search criteria input on fields.
|
||||
*
|
||||
* @uses PMA_foreignDropdown
|
||||
* @uses PMA_generate_common_url
|
||||
* @uses isset()
|
||||
* @uses is_array()
|
||||
* @uses in_array()
|
||||
* @uses urlencode()
|
||||
* @uses str_replace()
|
||||
* @uses stbstr()
|
||||
*
|
||||
* @param $foreigners Array of foreign keys
|
||||
* @param $foreignData Foreign keys data
|
||||
* @param $field Column name
|
||||
* @param $tbl_fields_type Column type
|
||||
* @param $i Column index
|
||||
* @param $db Selected database
|
||||
* @param $table Selected table
|
||||
* @param $titles Selected title
|
||||
* @param $foreignMaxLimit Max limit of displaying foreign elements
|
||||
* @param $fields Array of search criteria inputs
|
||||
* @param $in_fbs In function based search
|
||||
*
|
||||
* @return string $str HTML content for viewing foreing data and elements for search criteria input.
|
||||
* @param array $foreigners Array of foreign keys
|
||||
* @param array $foreignData Foreign keys data
|
||||
* @param string $field Column name
|
||||
* @param string $tbl_fields_type Column type
|
||||
* @param int $i Column index
|
||||
* @param string $db Selected database
|
||||
* @param string $table Selected table
|
||||
* @param array $titles Selected title
|
||||
* @param int $foreignMaxLimit Max limit of displaying foreign elements
|
||||
* @param array $fields Array of search criteria inputs
|
||||
* @param bool $in_fbs Whether we are in 'function based search'
|
||||
*
|
||||
* @return string HTML content for viewing foreing data and elements
|
||||
* for search criteria input.
|
||||
*/
|
||||
|
||||
function PMA_getForeignFields_Values($foreigners, $foreignData, $field, $tbl_fields_type, $i, $db, $table, $titles, $foreignMaxLimit, $fields, $in_fbs = false){
|
||||
|
||||
function PMA_getForeignFields_Values($foreigners, $foreignData, $field, $tbl_fields_type, $i, $db, $table, $titles, $foreignMaxLimit, $fields, $in_fbs = false)
|
||||
{
|
||||
$str = '';
|
||||
|
||||
if ($foreigners && isset($foreigners[$field]) && is_array($foreignData['disp_row'])) {
|
||||
// f o r e i g n k e y s
|
||||
$str .= ' <select name="fields[' . $i . ']" id="fieldID_' . $i .'">' . "\n";
|
||||
$str .= '<select name="fields[' . $i . ']" id="fieldID_' . $i .'">' . "\n";
|
||||
// go back to first row
|
||||
// here, the 4th parameter is empty because there is no current
|
||||
// value of data for the dropdown (the search page initial values
|
||||
// are displayed empty)
|
||||
$str .= PMA_foreignDropdown($foreignData['disp_row'],
|
||||
$foreignData['foreign_field'],
|
||||
$foreignData['foreign_display'],
|
||||
'', $foreignMaxLimit);
|
||||
$str .= ' </select>' . "\n";
|
||||
}
|
||||
elseif ($foreignData['foreign_link'] == true) {
|
||||
$str .= PMA_foreignDropdown(
|
||||
$foreignData['disp_row'], $foreignData['foreign_field'],
|
||||
$foreignData['foreign_display'], '', $foreignMaxLimit
|
||||
);
|
||||
$str .= '</select>' . "\n";
|
||||
|
||||
} elseif ($foreignData['foreign_link'] == true) {
|
||||
if(isset($fields[$i]) && is_string($fields[$i])){
|
||||
$str .= '<input type="text" id="fieldID_' . $i .'"name="fields[' . $i . '] " value="' . $fields[$i] . '"';
|
||||
'id="field_' . md5($field) . '[' . $i .']"
|
||||
class="textfield"/>' ;
|
||||
$str .= '<input type="text" id="fieldID_' . $i .'"name="fields[' . $i . '] " value="' . $fields[$i] . '"';
|
||||
'id="field_' . md5($field) . '[' . $i .']"
|
||||
class="textfield"/>' ;
|
||||
}
|
||||
else{
|
||||
$str .= '<input type="text" id="fieldID_' . $i .'"name="fields[' . $i . '] "';
|
||||
'id="field_' . md5($field) . '[' . $i .']"
|
||||
class="textfield" />' ;
|
||||
$str .= '<input type="text" id="fieldID_' . $i .'"name="fields[' . $i . '] "';
|
||||
'id="field_' . md5($field) . '[' . $i .']"
|
||||
class="textfield" />' ;
|
||||
}
|
||||
?>
|
||||
<?php $str .= '<script type="text/javascript">';
|
||||
<?php $str .= '<script type="text/javascript">';
|
||||
// <![CDATA[
|
||||
$str .= <<<EOT
|
||||
$str .= <<<EOT
|
||||
<a target="_blank" onclick="window.open(this.href, 'foreigners', 'width=640,height=240,scrollbars=yes'); return false" href="browse_foreigners.php?
|
||||
EOT;
|
||||
$str .= '' . PMA_generate_common_url($db, $table) . '&field=' . urlencode($field) . '&fieldkey=' . $i . '">' . str_replace("'", "\'", $titles['Browse']) . '</a>';
|
||||
// ]]
|
||||
$str .= '</script>';
|
||||
|
||||
} elseif (in_array($tbl_fields_type[$i], PMA_getGISDatatypes())) {
|
||||
// g e o m e t r y
|
||||
$str .= '<input type="text" name="fields[' . $i . ']"'
|
||||
@ -229,72 +210,68 @@ EOT;
|
||||
$str .= PMA_linkOrButton($edit_url, $edit_str, array(), false, false, '_blank');
|
||||
$str .= '</span>';
|
||||
}
|
||||
|
||||
} elseif (strncasecmp($tbl_fields_type[$i], 'enum', 4) == 0) {
|
||||
// e n u m s
|
||||
$enum_value=explode(', ', str_replace("'", '', substr($tbl_fields_type[$i], 5, -1)));
|
||||
$cnt_enum_value = count($enum_value);
|
||||
$str .= '<select name="fields[' . ($i) . '][]" id="fieldID_' . $i .'"'
|
||||
.' multiple="multiple" size="' . min(3, $cnt_enum_value) . '">' . "\n";
|
||||
for ($j = 0; $j < $cnt_enum_value; $j++) {
|
||||
if(isset($fields[$i]) && is_array($fields[$i]) && in_array($enum_value[$j],$fields[$i])){
|
||||
$str .= ' <option value="' . $enum_value[$j] . '" Selected>'
|
||||
. $enum_value[$j] . '</option>';
|
||||
}
|
||||
else{
|
||||
$str .= ' <option value="' . $enum_value[$j] . '">'
|
||||
. $enum_value[$j] . '</option>';
|
||||
}
|
||||
} // end for
|
||||
$str .= ' </select>' . "\n";
|
||||
}
|
||||
else {
|
||||
.' multiple="multiple" size="' . min(3, $cnt_enum_value) . '">' . "\n";
|
||||
|
||||
for ($j = 0; $j < $cnt_enum_value; $j++) {
|
||||
if (isset($fields[$i])
|
||||
&& is_array($fields[$i])
|
||||
&& in_array($enum_value[$j], $fields[$i])
|
||||
) {
|
||||
$str .= '<option value="' . $enum_value[$j] . '" Selected>'
|
||||
. $enum_value[$j] . '</option>';
|
||||
} else {
|
||||
$str .= '<option value="' . $enum_value[$j] . '">'
|
||||
. $enum_value[$j] . '</option>';
|
||||
}
|
||||
} // end for
|
||||
$str .= '</select>' . "\n";
|
||||
|
||||
} else {
|
||||
// o t h e r c a s e s
|
||||
$the_class = 'textfield';
|
||||
$type = $tbl_fields_type[$i];
|
||||
|
||||
if ($type == 'date') {
|
||||
$the_class .= ' datefield';
|
||||
} elseif ($type == 'datetime' || substr($type, 0, 9) == 'timestamp') {
|
||||
$the_class .= ' datetimefield';
|
||||
}
|
||||
if(isset($fields[$i]) && is_string($fields[$i])){
|
||||
$str .= ' <input type="text" name="fields[' . $i . ']" '
|
||||
.' size="40" class="' . $the_class . '" id="fieldID_' . $i .'" value = "' . $fields[$i] . '"/>' . "\n";
|
||||
}
|
||||
else{
|
||||
$str .= ' <input type="text" name="fields[' . $i . ']"'
|
||||
.' size="40" class="' . $the_class . '" id="fieldID_' . $i .'" />' . "\n";
|
||||
}
|
||||
};
|
||||
return $str;
|
||||
|
||||
if (isset($fields[$i]) && is_string($fields[$i])) {
|
||||
$str .= '<input type="text" name="fields[' . $i . ']"'
|
||||
.' size="40" class="' . $the_class . '" id="fieldID_'
|
||||
. $i .'" value = "' . $fields[$i] . '"/>' . "\n";
|
||||
} else {
|
||||
$str .= '<input type="text" name="fields[' . $i . ']"'
|
||||
.' size="40" class="' . $the_class . '" id="fieldID_'
|
||||
. $i .'" />' . "\n";
|
||||
}
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
|
||||
|
||||
/* PMA_tbl_search_getWhereClause() Return the where clause for query generation based on the inputs provided.
|
||||
/**
|
||||
* Return the where clause for query generation based on the inputs provided.
|
||||
*
|
||||
* @uses PMA_backquote
|
||||
* @uses PMA_sqlAddslashes
|
||||
* @uses preg_match
|
||||
* @uses isset()
|
||||
* @uses in_array()
|
||||
* @uses str_replace()
|
||||
* @uses strpos()
|
||||
* @uses explode()
|
||||
* @uses trim()
|
||||
*
|
||||
* @param $fields Search criteria input
|
||||
* @param $names Name of the field(column) on which search criteria is submitted
|
||||
* @param $types Type of the field
|
||||
* @param $collations Field collation
|
||||
* @param $func_type Search fucntion/operator
|
||||
* @param $unaryFlag Whether operator unary or not
|
||||
*
|
||||
* @return string $str HTML content for viewing foreing data and elements for search criteria input.
|
||||
* @param mixed $fields Search criteria input
|
||||
* @param string $names Name of the column on which search is submitted
|
||||
* @param string $types Type of the field
|
||||
* @param string $collations Field collation
|
||||
* @param string $func_type Search fucntion/operator
|
||||
* @param bool $unaryFlag Whether operator unary or not
|
||||
* @param bool $geom_func Whether geometry functions should be applied
|
||||
*
|
||||
* @return string HTML content for viewing foreing data and elements
|
||||
* for search criteria input.
|
||||
*/
|
||||
|
||||
function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $func_type, $unaryFlag, $geom_func = null){
|
||||
|
||||
function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $func_type, $unaryFlag, $geom_func = null)
|
||||
{
|
||||
/**
|
||||
* @todo move this to a more apropriate place
|
||||
*/
|
||||
@ -306,7 +283,6 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
);
|
||||
|
||||
$w = '';
|
||||
|
||||
// If geometry function is set apply it to the field name
|
||||
if ($geom_func != null && trim($geom_func) != '') {
|
||||
// Get details about the geometry fucntions
|
||||
@ -315,8 +291,8 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
// If the function takes a single parameter
|
||||
if ($geom_funcs[$geom_func]['params'] == 1) {
|
||||
$backquoted_name = $geom_func . '(' . PMA_backquote($names) . ')';
|
||||
// If the function takes two parameters
|
||||
} else {
|
||||
// If the function takes two parameters
|
||||
// create gis data from the string
|
||||
$gis_data = PMA_createGISData($fields);
|
||||
|
||||
@ -327,7 +303,7 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
// New output type is the output type of the function being applied
|
||||
$types = $geom_funcs[$geom_func]['type'];
|
||||
|
||||
// If the intended where clause is something like 'IsEmpty(`spatial_col_name`)'
|
||||
// If the where clause is something like 'IsEmpty(`spatial_col_name`)'
|
||||
if (isset($geom_unary_functions[$geom_func]) && trim($fields) == '') {
|
||||
$w = $backquoted_name;
|
||||
return $w;
|
||||
@ -336,11 +312,11 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
$backquoted_name = PMA_backquote($names);
|
||||
}
|
||||
|
||||
if($unaryFlag){
|
||||
if ($unaryFlag) {
|
||||
$fields = '';
|
||||
$w = $backquoted_name . ' ' . $func_type;
|
||||
$w = $backquoted_name . ' ' . $func_type;
|
||||
|
||||
} elseif (in_array($types, PMA_getGISDatatypes())) {
|
||||
} elseif (in_array($types, PMA_getGISDatatypes()) && ! empty($fields)) {
|
||||
// create gis data from the string
|
||||
$gis_data = PMA_createGISData($fields);
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . $gis_data;
|
||||
@ -361,23 +337,25 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
$parens_open = '(';
|
||||
$parens_close = ')';
|
||||
|
||||
} else {
|
||||
$parens_open = '';
|
||||
$parens_close = '';
|
||||
}
|
||||
$enum_where = '\'' . PMA_sqlAddslashes($fields[0]) . '\'';
|
||||
for ($e = 1; $e < $enum_selected_count; $e++) {
|
||||
$enum_where .= ', \'' . PMA_sqlAddslashes($fields[$e]) . '\'';
|
||||
}
|
||||
} else {
|
||||
$parens_open = '';
|
||||
$parens_close = '';
|
||||
}
|
||||
$enum_where = '\'' . PMA_sqlAddslashes($fields[0]) . '\'';
|
||||
for ($e = 1; $e < $enum_selected_count; $e++) {
|
||||
$enum_where .= ', \'' . PMA_sqlAddslashes($fields[$e]) . '\'';
|
||||
}
|
||||
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . $parens_open . $enum_where . $parens_close;
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . $parens_open . $enum_where . $parens_close;
|
||||
}
|
||||
|
||||
} elseif ($fields != '') {
|
||||
// For these types we quote the value. Even if it's another type (like INT),
|
||||
// for a LIKE we always quote the value. MySQL converts strings to numbers
|
||||
// and numbers to strings as necessary during the comparison
|
||||
if (preg_match('@char|binary|blob|text|set|date|time|year@i', $types) || strpos(' ' . $func_type, 'LIKE')) {
|
||||
if (preg_match('@char|binary|blob|text|set|date|time|year@i', $types)
|
||||
|| strpos(' ' . $func_type, 'LIKE')
|
||||
) {
|
||||
$quot = '\'';
|
||||
} else {
|
||||
$quot = '';
|
||||
@ -393,23 +371,28 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
$fields = '^' . $fields . '$';
|
||||
}
|
||||
|
||||
if ($func_type == 'IN (...)' || $func_type == 'NOT IN (...)' || $func_type == 'BETWEEN' || $func_type == 'NOT BETWEEN') {
|
||||
if ($func_type == 'IN (...)'
|
||||
|| $func_type == 'NOT IN (...)'
|
||||
|| $func_type == 'BETWEEN'
|
||||
|| $func_type == 'NOT BETWEEN'
|
||||
) {
|
||||
$func_type = str_replace(' (...)', '', $func_type);
|
||||
|
||||
// quote values one by one
|
||||
$values = explode(',', $fields);
|
||||
foreach ($values as &$value)
|
||||
$value = $quot . PMA_sqlAddslashes(trim($value)) . $quot;
|
||||
// quote values one by one
|
||||
$values = explode(',', $fields);
|
||||
foreach ($values as &$value) {
|
||||
$value = $quot . PMA_sqlAddslashes(trim($value)) . $quot;
|
||||
}
|
||||
|
||||
if ($func_type == 'BETWEEN' || $func_type == 'NOT BETWEEN')
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . (isset($values[0]) ? $values[0] : '') . ' AND ' . (isset($values[1]) ? $values[1] : '');
|
||||
else
|
||||
if ($func_type == 'BETWEEN' || $func_type == 'NOT BETWEEN') {
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . (isset($values[0]) ? $values[0] : '')
|
||||
. ' AND ' . (isset($values[1]) ? $values[1] : '');
|
||||
} else {
|
||||
$w = $backquoted_name . ' ' . $func_type . ' (' . implode(',', $values) . ')';
|
||||
}
|
||||
else {
|
||||
}
|
||||
} else {
|
||||
$w = $backquoted_name . ' ' . $func_type . ' ' . $quot . PMA_sqlAddslashes($fields) . $quot;;
|
||||
}
|
||||
|
||||
} // end if
|
||||
|
||||
return $w;
|
||||
@ -418,14 +401,14 @@ function PMA_tbl_search_getWhereClause($fields, $names, $types, $collations, $fu
|
||||
/**
|
||||
* Formats a SVG plot for the query results.
|
||||
*
|
||||
* @param array $data Data for the status chart
|
||||
* @param array &$settings Settings used to generate the chart
|
||||
* @param array $data Data for the status chart
|
||||
* @param array &$settings Settings used to generate the chart
|
||||
*
|
||||
* @return string HTML and JS code for the SVG plot
|
||||
*/
|
||||
function PMA_SVG_scatter_plot($data, &$settings)
|
||||
{
|
||||
require_once './libraries/svg_plot/pma_scatter_plot.php';
|
||||
include_once './libraries/svg_plot/pma_scatter_plot.php';
|
||||
|
||||
if (empty($data)) {
|
||||
// empty data
|
||||
@ -442,15 +425,5 @@ function PMA_SVG_scatter_plot($data, &$settings)
|
||||
}
|
||||
return $scatter_plot->asSVG();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
include_once 'pmd_common.php';
|
||||
include_once './libraries/pmd_common.php';
|
||||
|
||||
|
||||
$table = $T;
|
||||
|
||||
@ -7,7 +7,9 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
require_once "./pmd_common.php";
|
||||
require_once './libraries/pmd_common.php';
|
||||
require './libraries/db_common.inc.php';
|
||||
require './libraries/db_info.inc.php';
|
||||
|
||||
$tab_column = get_tab_info();
|
||||
$script_tabs = get_script_tabs();
|
||||
@ -15,19 +17,7 @@ $script_contr = get_script_contr();
|
||||
$tab_pos = get_tab_pos();
|
||||
$tables_pk_or_unique_keys = get_pk_or_unique_keys();
|
||||
$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']; ?>">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="icon" href="pmd/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="pmd/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" type="text/css" href="pmd/styles/<?php echo $GLOBALS['PMD']['STYLE'] ?>/style1.css" />
|
||||
<title>Designer</title>
|
||||
<?php
|
||||
$params = array('lang' => $GLOBALS['lang']);
|
||||
if (isset($GLOBALS['db'])) {
|
||||
$params['db'] = $GLOBALS['db'];
|
||||
@ -88,7 +78,7 @@ echo $script_tabs . $script_contr . $script_display_field;
|
||||
/></a><a href="javascript:location.reload();" onmousedown="return false;"
|
||||
class="M_butt" target="_self"
|
||||
><img title="<?php echo __('Reload'); ?>" src="pmd/images/reload.png" alt=""
|
||||
/></a><a href="javascript:Help();" onmousedown="return false;"
|
||||
/></a><a href="Documentation.html#faq6_31" target="documentation"
|
||||
class="M_butt" target="_self"
|
||||
><img title="<?php echo __('Help'); ?>" src="pmd/images/help.png" alt=""
|
||||
/></a><img class="M_bord" src="pmd/images/bord.png" alt=""
|
||||
@ -125,12 +115,11 @@ echo $script_tabs . $script_contr . $script_display_field;
|
||||
title="<?php echo __('Move Menu'); ?>" /></a>
|
||||
</div>
|
||||
|
||||
<div id="osn_tab">
|
||||
<CANVAS id="canvas" width="100" height="100" onclick="Canvas_click(this)"></CANVAS>
|
||||
</div>
|
||||
|
||||
<form action="" method="post" name="form1">
|
||||
<div id="layer_menu" style="visibility:<?php echo $hidden ?>;">
|
||||
<div id="osn_tab">
|
||||
<canvas class="pmd" id="canvas" width="100" height="100" onclick="Canvas_click(this)"></canvas>
|
||||
</div>
|
||||
<div id="layer_menu" style="display:none;">
|
||||
<div align="center" style="padding-top:5px;">
|
||||
<a href="javascript:Hide_tab_all(document.getElementById('key_HS_all'));"
|
||||
onmousedown="return false;" class="M_butt" target="_self">
|
||||
@ -166,8 +155,8 @@ for ($i = 0; $i < $name_cnt; $i++) {
|
||||
echo 'checked="checked"';
|
||||
}
|
||||
?> /></td>
|
||||
<td class="Tabs" onmouseover="this.className='Tabs2'"
|
||||
onmouseout="this.className='Tabs'"
|
||||
<td class="pmd_Tabs" onmouseover="this.className='pmd_Tabs2'"
|
||||
onmouseout="this.className='pmd_Tabs'"
|
||||
onclick="Select_tab('<?php echo $GLOBALS['PMD_URL']["TABLE_NAME"][$i]; ?>');">
|
||||
<?php echo $GLOBALS['PMD_OUT']["TABLE_NAME"][$i]; ?></td>
|
||||
</tr>
|
||||
@ -185,6 +174,8 @@ for ($i = 0; $i < $name_cnt; $i++) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
$t_n = $GLOBALS['PMD']["TABLE_NAME"][$i];
|
||||
@ -196,7 +187,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
<input name="t_v[<?php echo $t_n_url ?>]" type="hidden" id="t_v_<?php echo $t_n_url ?>_" />
|
||||
<input name="t_h[<?php echo $t_n_url ?>]" type="hidden" id="t_h_<?php echo $t_n_url ?>_" />
|
||||
|
||||
<table id="<?php echo $t_n_url ?>" cellpadding="0" cellspacing="0" class="tab"
|
||||
<table id="<?php echo $t_n_url ?>" cellpadding="0" cellspacing="0" class="pmd_tab"
|
||||
style="position: absolute;
|
||||
left: <?php if (isset($tab_pos[$t_n])) echo $tab_pos[$t_n]["X"]; else echo rand(180, 800); ?>px;
|
||||
top: <?php if (isset($tab_pos[$t_n])) echo $tab_pos[$t_n]["Y"]; else echo rand(30, 500); ?>px;
|
||||
@ -246,7 +237,10 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="id_tbody_<?php echo $t_n_url ?>"
|
||||
<?php if ( isset($tab_pos[$t_n])) echo 'style="display: none;"'; ?>>
|
||||
<?php
|
||||
if (isset($tab_pos[$t_n]) && empty($tab_pos[$t_n]["V"])) {
|
||||
echo 'style="display: none;"';
|
||||
}?>>
|
||||
<?php
|
||||
$display_field = PMA_getDisplayField($db, $GLOBALS['PMD']["TABLE_NAME_SMALL"][$i]);
|
||||
for ($j = 0, $id_cnt = count($tab_column[$t_n]["COLUMN_ID"]); $j < $id_cnt; $j++) {
|
||||
@ -332,10 +326,10 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
}
|
||||
?>
|
||||
</form>
|
||||
<div id="hint"></div>
|
||||
<div id='layer_action' style="visibility:<?php echo $hidden ?>;">Load...</div>
|
||||
<div id="pmd_hint"></div>
|
||||
<div id='layer_action' style="display:none;">Load...</div>
|
||||
|
||||
<table id="layer_new_relation" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="layer_new_relation" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -386,7 +380,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
value="<?php echo __('OK'); ?>" onclick="New_relation()" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('layer_new_relation').style.visibility = 'hidden';" />
|
||||
onclick="document.getElementById('layer_new_relation').style.display = 'none';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -402,7 +396,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="layer_upd_relation" style="visibility:<?PHP echo $hidden ?>;"
|
||||
<table id="layer_upd_relation" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -423,7 +417,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
onclick="Upd_relation()" value="<?php echo __('Delete'); ?>" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('layer_upd_relation').style.visibility = 'hidden'; Re_load();" />
|
||||
onclick="document.getElementById('layer_upd_relation').style.display = 'none'; Re_load();" />
|
||||
</td>
|
||||
</tr>
|
||||
</table></td>
|
||||
@ -437,7 +431,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="pmd_optionse" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="pmd_optionse" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -559,7 +553,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_rename_to" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="query_rename_to" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -591,7 +585,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Rename')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_rename_to').style.visibility = 'hidden';" />
|
||||
onclick="document.getElementById('query_rename_to').style.display = 'none';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -607,7 +601,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_having" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="query_having" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -667,7 +661,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Having')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_having').style.visibility = 'hidden';" />
|
||||
onclick="document.getElementById('query_having').style.display = 'none';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -683,7 +677,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_Aggregate" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="query_Aggregate" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -721,7 +715,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Aggregate')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_Aggregate').style.visibility = 'hidden';" />
|
||||
onclick="document.getElementById('query_Aggregate').style.display = 'none';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -737,7 +731,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="query_where" style="visibility:<?php echo $hidden ?>;"
|
||||
<table id="query_where" style="display:none;"
|
||||
width="5%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -784,7 +778,7 @@ for ($i = 0; $i < count($GLOBALS['PMD']["TABLE_NAME"]); $i++) {
|
||||
value="<?php echo __('OK'); ?>" onclick="edit('Where')" />
|
||||
<input type="button" class="butt" name="Button"
|
||||
value="<?php echo __('Cancel'); ?>"
|
||||
onclick="document.getElementById('query_where').style.visibility = 'hidden';" />
|
||||
onclick="document.getElementById('query_where').style.display = 'none';" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
27
pmd_help.php
27
pmd_help.php
@ -1,27 +0,0 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
*
|
||||
* @package phpMyAdmin-Designer
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
require_once 'pmd_common.php';
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="./libraries/pmd/styles/<?php echo $GLOBALS['PMD']['STYLE'] ?>/style1.css">
|
||||
<title>Designer</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
echo '<p>' . __('To select relation, click :') . '<br />';
|
||||
echo '<img src="pmd/images/help_relation.png" border="1"></p>';
|
||||
echo '<p>' . __('The display column is shown in pink. To set/unset a column as the display column, click the "Choose column to display" icon, then click on the appropriate column name.') . '</p>';
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@ -5,7 +5,7 @@
|
||||
* @package phpMyAdmin-Designer
|
||||
*/
|
||||
|
||||
include_once 'pmd_common.php';
|
||||
include_once './libraries/pmd_common.php';
|
||||
|
||||
/**
|
||||
* If called directly from the designer, first save the positions
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
include_once 'pmd_common.php';
|
||||
include_once './libraries/pmd_common.php';
|
||||
$die_save_pos = 0;
|
||||
include_once 'pmd_save_pos.php';
|
||||
extract($_POST, EXTR_SKIP);
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
include_once 'pmd_common.php';
|
||||
include_once './libraries/pmd_common.php';
|
||||
extract($_POST, EXTR_SKIP);
|
||||
extract($_GET, EXTR_SKIP);
|
||||
$die_save_pos = 0;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
include_once 'pmd_common.php';
|
||||
include_once './libraries/pmd_common.php';
|
||||
|
||||
$cfgRelation = PMA_getRelationsParam();
|
||||
|
||||
|
||||
4
po/bg.po
4
po/bg.po
@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-07-19 14:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-18 14:54+0200\n"
|
||||
"Last-Translator: <stoyanster@gmail.com>\n"
|
||||
"Language-Team: bulgarian <bg@li.org>\n"
|
||||
"Language: bg\n"
|
||||
@ -6206,7 +6206,7 @@ msgstr ""
|
||||
#: libraries/export/sql.php:174
|
||||
#, php-format
|
||||
msgid "Add %s statement"
|
||||
msgstr "Ново заявление %s"
|
||||
msgstr "Добавяне на заявление %s"
|
||||
|
||||
#: libraries/export/sql.php:152
|
||||
msgid "Add statements:"
|
||||
|
||||
53
po/br.po
53
po/br.po
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-10 22:33+0200\n"
|
||||
"PO-Revision-Date: 2011-08-18 20:10+0200\n"
|
||||
"Last-Translator: Fulup <fulup.jakez@ofis-bzh.org>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: br\n"
|
||||
@ -856,14 +856,14 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "Enrollet eo bet ar restr ezporzhiañ e%s."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "Talvoudoù evit ar bann \"%s\""
|
||||
msgstr "Talvoud evit ar bann \"%s\""
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
msgstr ""
|
||||
msgstr "Ober gant OpenStreetMaps evit ar gwiskad diazez"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
msgid "SRID"
|
||||
@ -872,29 +872,28 @@ msgstr ""
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
msgid "Geometry"
|
||||
msgstr ""
|
||||
msgstr "Mentoniezh"
|
||||
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Poent"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add constraints"
|
||||
msgid "Add a point"
|
||||
msgstr "Ouzhpennañ ar strishadurioù"
|
||||
msgstr "Ouzhpennañ ur poent"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
@ -922,17 +921,16 @@ msgstr ""
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Lieskorneg"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
msgid "Add a polygon"
|
||||
msgstr ""
|
||||
msgstr "Ouzhpennañ ul lieskorneg"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Add user"
|
||||
msgid "Add geometry"
|
||||
msgstr "Ouzhpennañ un implijer"
|
||||
msgstr "Ouzhpennañ mentoniezh"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
@ -1172,7 +1170,7 @@ msgstr "Udb all"
|
||||
#. l10n: Thousands separator
|
||||
#: js/messages.php:75 libraries/common.lib.php:1359
|
||||
msgid ","
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
#. l10n: Decimal separator
|
||||
#: js/messages.php:77 libraries/common.lib.php:1361
|
||||
@ -1232,18 +1230,17 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: js/messages.php:96
|
||||
#, fuzzy
|
||||
#| msgid "Tracking is not active."
|
||||
msgid "Query cache efficiency"
|
||||
msgstr "N'eo ket oberiant an heuliañ."
|
||||
msgstr "Efeduster ar grubuilh rekedoù"
|
||||
|
||||
#: js/messages.php:97 po/advisory_rules.php:70
|
||||
msgid "Query cache usage"
|
||||
msgstr ""
|
||||
msgstr "Implij ar grubuilh rekedoù"
|
||||
|
||||
#: js/messages.php:98
|
||||
msgid "Query cache used"
|
||||
msgstr ""
|
||||
msgstr "Krubuilh rekedoù implijet"
|
||||
|
||||
#: js/messages.php:100
|
||||
msgid "System CPU Usage"
|
||||
@ -1403,45 +1400,49 @@ msgstr ""
|
||||
#: js/messages.php:143
|
||||
#, php-format
|
||||
msgid "long_query_time is set to %d second(s)."
|
||||
msgstr ""
|
||||
msgstr "Reizhet eo bet long_query_time da %d eilenn."
|
||||
|
||||
#: js/messages.php:144
|
||||
msgid ""
|
||||
"Following settings will be applied globally and reset to default on server "
|
||||
"restart:"
|
||||
msgstr ""
|
||||
"Lakaet e vo e pleustr dre-vras ar reizhadurioù da-heul hag adlakaet e vint "
|
||||
"d'an talvoud dre ziouer pa adloc'ho ar servijer :"
|
||||
|
||||
#. l10n: %s is FILE or TABLE
|
||||
#: js/messages.php:146
|
||||
#, php-format
|
||||
msgid "Set log_output to %s"
|
||||
msgstr ""
|
||||
msgstr "Reizhañ log_output da %s"
|
||||
|
||||
#. l10n: Enable in this context means setting a status variable to ON
|
||||
#: js/messages.php:148
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Enable Ajax"
|
||||
msgid "Enable %s"
|
||||
msgstr "Gweredekaat Ajax"
|
||||
msgstr "Gweredekaat %s"
|
||||
|
||||
#. l10n: Disable in this context means setting a status variable to OFF
|
||||
#: js/messages.php:150
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Disabled"
|
||||
msgid "Disable %s"
|
||||
msgstr "Diweredekaet"
|
||||
msgstr "Diweredekaat %s"
|
||||
|
||||
#. l10n: %d seconds
|
||||
#: js/messages.php:152
|
||||
#, php-format
|
||||
msgid "Set long_query_time to %ds"
|
||||
msgstr ""
|
||||
msgstr "Reizhañ long_query_time da %ds"
|
||||
|
||||
#: js/messages.php:153
|
||||
msgid ""
|
||||
"You can't change these variables. Please log in as root or contact your "
|
||||
"database administrator."
|
||||
msgstr ""
|
||||
"N'hallit ket cheñch an arventennoù-mañ. Kevreit dindan root pe kit e "
|
||||
"darempred gant merour ar servijer."
|
||||
|
||||
#: js/messages.php:154
|
||||
#, fuzzy
|
||||
|
||||
114
po/de.po
114
po/de.po
@ -4,8 +4,8 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-17 13:24+0200\n"
|
||||
"Last-Translator: <franz.georg@neurieser.eu>\n"
|
||||
"PO-Revision-Date: 2011-08-18 18:36+0200\n"
|
||||
"Last-Translator: Sven Strickroth <email@cs-ware.de>\n"
|
||||
"Language-Team: german <de@li.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -854,65 +854,69 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "Dump wurde in Datei %s gespeichert."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "Werte für die Spalte \"%s\""
|
||||
msgstr "Wert für die Spalte \"%s\""
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
msgstr "Verwende OpenStreetMaps als Basis-Layer"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
#, fuzzy
|
||||
msgid "SRID"
|
||||
msgstr ""
|
||||
msgstr "SRID"
|
||||
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
msgid "Geometry"
|
||||
msgstr "Gestaltung"
|
||||
msgstr "Geometrie"
|
||||
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Punkt"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add routine"
|
||||
msgid "Add a point"
|
||||
msgstr "Prozedur hinzufügen"
|
||||
msgstr "Punkt hinzufügen"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
#| msgid "Lines terminated by"
|
||||
msgid "Linestring"
|
||||
msgstr "Zeilen getrennt mit"
|
||||
msgstr "Linestring"
|
||||
|
||||
# ist hiermit der Umkreis gemeint? http://de.wikipedia.org/wiki/Umkreis
|
||||
#: gis_data_editor.php:221 gis_data_editor.php:275
|
||||
#, fuzzy
|
||||
msgid "Outer Ring:"
|
||||
msgstr ""
|
||||
msgstr "Außenring:"
|
||||
|
||||
# Ist hiermit der Inkreis gemeint? http://de.wikipedia.org/wiki/Inkreis
|
||||
#: gis_data_editor.php:223 gis_data_editor.php:277 js/messages.php:290
|
||||
#, fuzzy
|
||||
msgid "Inner Ring"
|
||||
msgstr ""
|
||||
msgstr "Innenring:"
|
||||
|
||||
#: gis_data_editor.php:248
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add a linestring"
|
||||
msgstr "Neuen Benutzer hinzufügen"
|
||||
msgstr "Linestring hinzufügen"
|
||||
|
||||
#: gis_data_editor.php:248 gis_data_editor.php:298 js/messages.php:293
|
||||
#, fuzzy
|
||||
@ -922,19 +926,18 @@ msgstr "Neuen Benutzer hinzufügen"
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Polygon"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
#, fuzzy
|
||||
#| msgid "Add column"
|
||||
msgid "Add a polygon"
|
||||
msgstr "Spalte hinzufügen"
|
||||
msgstr "Polygon hinzufügen"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Geometry"
|
||||
msgid "Add geometry"
|
||||
msgstr "Gestaltung"
|
||||
msgstr "Geometrie hinzufügen"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
@ -1785,15 +1788,15 @@ msgstr "Jeder Punkt stellt eine Datenreihe dar"
|
||||
|
||||
#: js/messages.php:266
|
||||
msgid "Hovering over a point will show its label."
|
||||
msgstr ""
|
||||
msgstr "Das Überfliegen eines Punktes zeigt seine Bezeichnung."
|
||||
|
||||
#: js/messages.php:268
|
||||
msgid "Drag and select an area in the plot to zoom into it."
|
||||
msgstr ""
|
||||
msgstr "Mit gedrückter Maustaste eine Fläche aufziehen um hineinzuzoomen."
|
||||
|
||||
#: js/messages.php:270
|
||||
msgid "Click reset zoom link to come back to original state."
|
||||
msgstr ""
|
||||
msgstr "Auf \"Zoom zurücksetzen\" klicken um zum Original zurückzukehren."
|
||||
|
||||
#: js/messages.php:272
|
||||
msgid "Click a data point to view and possibly edit the data row."
|
||||
@ -1809,13 +1812,12 @@ msgstr ""
|
||||
|
||||
#: js/messages.php:276
|
||||
msgid "Strings are converted into integer for plotting"
|
||||
msgstr ""
|
||||
msgstr "Zeichenketten werden für die Zeichnung in Integerwerte umgewandelt."
|
||||
|
||||
#: js/messages.php:278
|
||||
#, fuzzy
|
||||
#| msgid "Add/Delete columns"
|
||||
msgid "Select two columns"
|
||||
msgstr "Spalten hinzufügen/entfernen"
|
||||
msgstr "Zwei Spalten auswählen"
|
||||
|
||||
#: js/messages.php:279
|
||||
msgid "Select two different columns"
|
||||
@ -1832,7 +1834,7 @@ msgstr "Kopieren"
|
||||
|
||||
#: js/messages.php:291
|
||||
msgid "Outer Ring"
|
||||
msgstr ""
|
||||
msgstr "Aussenring"
|
||||
|
||||
#: js/messages.php:297
|
||||
msgid "Add columns"
|
||||
@ -1906,12 +1908,13 @@ msgstr ""
|
||||
msgid ""
|
||||
"You can also edit most columns<br />by clicking directly on their content."
|
||||
msgstr ""
|
||||
"Sie können die meisten Spalten bearbeiten<br/>indem Sie auf den Inhalt "
|
||||
"klicken."
|
||||
|
||||
#: js/messages.php:319
|
||||
#, fuzzy
|
||||
#| msgid "Go to view"
|
||||
msgid "Go to link"
|
||||
msgstr "Gehe zum View"
|
||||
msgstr "Gehe zur Verknüpfung"
|
||||
|
||||
#: js/messages.php:322
|
||||
msgid "Generate password"
|
||||
@ -4957,16 +4960,14 @@ msgid "Show function fields"
|
||||
msgstr "Funktionsfelder anzeigen"
|
||||
|
||||
#: libraries/config/messages.inc.php:462
|
||||
#, fuzzy
|
||||
#| msgid "Where to show the table row links"
|
||||
msgid "Whether to show hint or not"
|
||||
msgstr "Wo die Datensatz-Links angezeigt werden sollen"
|
||||
msgstr "Hinweise anzeigen"
|
||||
|
||||
#: libraries/config/messages.inc.php:463
|
||||
#, fuzzy
|
||||
#| msgid "Show indexes"
|
||||
msgid "Show hint"
|
||||
msgstr "Indexes anzeigen"
|
||||
msgstr "Hinweis anzeigen"
|
||||
|
||||
#: libraries/config/messages.inc.php:464
|
||||
msgid ""
|
||||
@ -6788,10 +6789,9 @@ msgid "MySQL Spatial Extension does not support ESRI type \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#: libraries/import/shp.php:350
|
||||
#, fuzzy
|
||||
#| msgid "This page does not contain any tables!"
|
||||
msgid "The imported file does not contain any data"
|
||||
msgstr "Diese Seite enthält keine Tabellen!"
|
||||
msgstr "Die importierte Datei enthält keine Daten"
|
||||
|
||||
#: libraries/import/sql.php:33
|
||||
msgid "SQL compatibility mode:"
|
||||
@ -7322,7 +7322,7 @@ msgstr "Abfrage ausführen"
|
||||
#| msgid "Start"
|
||||
msgctxt "Start of recurring event"
|
||||
msgid "Start"
|
||||
msgstr "Anfang"
|
||||
msgstr "Start"
|
||||
|
||||
#: libraries/rte/rte_events.lib.php:457
|
||||
#, fuzzy
|
||||
@ -8133,16 +8133,14 @@ msgid "Operator"
|
||||
msgstr "Operator"
|
||||
|
||||
#: libraries/tbl_select.lib.php:143
|
||||
#, fuzzy
|
||||
#| msgid "Search"
|
||||
msgid "Table Search"
|
||||
msgstr "Suche"
|
||||
msgstr "Tabellensuche"
|
||||
|
||||
#: libraries/tbl_select.lib.php:229 tbl_change.php:994
|
||||
#, fuzzy
|
||||
#| msgid "Insert"
|
||||
msgid "Edit/Insert"
|
||||
msgstr "Einfügen"
|
||||
msgstr "Bearbeiten/Einfügen"
|
||||
|
||||
#: libraries/transformations/application_octetstream__download.inc.php:10
|
||||
msgid ""
|
||||
@ -9589,13 +9587,11 @@ msgid "Related links:"
|
||||
msgstr "Verwandte Links:"
|
||||
|
||||
#: server_status.php:800
|
||||
#, fuzzy
|
||||
#| msgid "Query analyzer"
|
||||
msgid "Run analyzer"
|
||||
msgstr "Query Analyzer"
|
||||
msgstr "Analyse durchführen"
|
||||
|
||||
#: server_status.php:801
|
||||
#, fuzzy
|
||||
#| msgid "Introduction"
|
||||
msgid "Instructions"
|
||||
msgstr "Einführung"
|
||||
@ -10497,10 +10493,9 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: server_status.php:1508
|
||||
#, fuzzy
|
||||
#| msgid "Pause monitor"
|
||||
msgid "Using the monitor:"
|
||||
msgstr "Überwachung pausieren"
|
||||
msgstr "Verwendung der Überwachung:"
|
||||
|
||||
#: server_status.php:1510
|
||||
#, fuzzy
|
||||
@ -10519,16 +10514,15 @@ msgid ""
|
||||
"change the refresh rate under 'Settings', or remove any chart using the cog "
|
||||
"icon on each respective chart."
|
||||
msgstr ""
|
||||
"<b>Verwendung der Überwachung:</b><br />OK, Sie sind bereit zum Starten! "
|
||||
"Sobald Sie 'Überwachung starten' angeklickt haben, wird Ihr Browser in "
|
||||
"regelmäßigen Intervallen alle angezeigten Diagramme aktualisieren. Unter "
|
||||
"'Einstellungen' können Sie Diagramme hinzufügen und das "
|
||||
"Aktualisierungsintervall ändern oder beliebige Diagramme entfernen, wenn Sie "
|
||||
"das Zahnrad-Icon des entsprechenden Schaubilds verwenden.<p>Wenn Sie eine "
|
||||
"plötzliche Spitze in der Aktivität feststellen, wählen Sie den "
|
||||
"entsprechenden Zeitraum in einem beliebigen Diagramm, indem Sie die linke "
|
||||
"Maustaste gedrückt halten und über das Schaubild ziehen. Dies wird "
|
||||
"Statistiken aus den Protokollen laden um Sie bei der Auffindung der "
|
||||
"OK, Sie sind bereit zum Starten! Sobald Sie 'Überwachung starten' angeklickt "
|
||||
"haben, wird Ihr Browser in regelmäßigen Intervallen alle angezeigten "
|
||||
"Diagramme aktualisieren. Unter 'Einstellungen' können Sie Diagramme "
|
||||
"hinzufügen und das Aktualisierungsintervall ändern oder beliebige Diagramme "
|
||||
"entfernen, wenn Sie das Zahnrad-Icon des entsprechenden Schaubilds "
|
||||
"verwenden.<p>Wenn Sie eine plötzliche Spitze in der Aktivität feststellen, "
|
||||
"wählen Sie den entsprechenden Zeitraum in einem beliebigen Diagramm, indem "
|
||||
"Sie die linke Maustaste gedrückt halten und über das Schaubild ziehen. Dies "
|
||||
"wird Statistiken aus den Protokollen laden um Sie bei der Auffindung der "
|
||||
"Aktivitätsspitze zu unterstützen.</p>"
|
||||
|
||||
#: server_status.php:1512
|
||||
@ -10562,10 +10556,9 @@ msgstr ""
|
||||
|
||||
#: server_status.php:1519
|
||||
msgid "Please note:"
|
||||
msgstr ""
|
||||
msgstr "Bitte beachten Sie:"
|
||||
|
||||
#: server_status.php:1521
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "<b>Please note:</b> Enabling the general_log may increase the server load "
|
||||
#| "by 5-15%. Also be aware that generating statistics from the logs is a "
|
||||
@ -10578,10 +10571,11 @@ msgid ""
|
||||
"it is advisable to select only a small time span and to disable the "
|
||||
"general_log and empty its table once monitoring is not required any more."
|
||||
msgstr ""
|
||||
"<b>Bitte beachten Sie:</b> Das Aktivieren des general_log kann die "
|
||||
"Serverlast um 5-15% steigern. Seien Sie sich bewusst, dass das Erzeugen von "
|
||||
"Statistiken aus den Logs ein sehr aufwändiger Prozess ist. Deshalb ist es "
|
||||
"ratsam, nur einen kleinen Zeitraum auszuwählen."
|
||||
"Das Aktivieren des general_log kann die Serverlast um 5-15% steigern. Seien "
|
||||
"Sie sich bewusst, dass das Erzeugen von Statistiken aus den Logs ein sehr "
|
||||
"aufwändiger Prozess ist. Deshalb ist es ratsam, nur einen kleinen Zeitraum "
|
||||
"auszuwählen und die gerneral_log nach der Überwachung wieder zu "
|
||||
"deaktivieren."
|
||||
|
||||
#: server_status.php:1533
|
||||
#, fuzzy
|
||||
|
||||
49
po/en_GB.po
49
po/en_GB.po
@ -4,8 +4,8 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-04 21:47+0200\n"
|
||||
"Last-Translator: Marc Delisle <marc@infomarc.info>\n"
|
||||
"PO-Revision-Date: 2011-08-18 22:40+0200\n"
|
||||
"Last-Translator: Robert Readman <robert_readman@hotmail.com>\n"
|
||||
"Language-Team: english-gb <en_GB@li.org>\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -416,10 +416,10 @@ msgid "You have to choose at least one column to display"
|
||||
msgstr "You have to choose at least one column to display"
|
||||
|
||||
#: db_qbe.php:186
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "visual builder"
|
||||
msgid "Switch to %svisual builder%s"
|
||||
msgstr "visual builder"
|
||||
msgstr "Switch to %svisual builder%s"
|
||||
|
||||
#: db_qbe.php:222 libraries/db_structure.lib.php:90
|
||||
#: libraries/display_tbl.lib.php:955
|
||||
@ -851,10 +851,10 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "Dump has been saved to file %s."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "Values for the column \"%s\""
|
||||
msgstr "Value for the column \"%s\""
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
@ -862,7 +862,7 @@ msgstr "Use OpenStreetMaps as Base Layer"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
msgid "SRID"
|
||||
msgstr ""
|
||||
msgstr "SRID"
|
||||
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
@ -872,72 +872,68 @@ msgstr "Geometry"
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Point"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add routine"
|
||||
msgid "Add a point"
|
||||
msgstr "Add routine"
|
||||
msgstr "Add a point"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
#| msgid "Lines terminated by"
|
||||
msgid "Linestring"
|
||||
msgstr "Lines terminated by"
|
||||
msgstr "Linestring"
|
||||
|
||||
#: gis_data_editor.php:221 gis_data_editor.php:275
|
||||
msgid "Outer Ring:"
|
||||
msgstr ""
|
||||
msgstr "Outer Ring:"
|
||||
|
||||
#: gis_data_editor.php:223 gis_data_editor.php:277 js/messages.php:290
|
||||
msgid "Inner Ring"
|
||||
msgstr ""
|
||||
msgstr "Inner Ring"
|
||||
|
||||
#: gis_data_editor.php:248
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add a linestring"
|
||||
msgstr "Add a new User"
|
||||
msgstr "Add a linestring"
|
||||
|
||||
#: gis_data_editor.php:248 gis_data_editor.php:298 js/messages.php:293
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add an inner ring"
|
||||
msgstr "Add a new User"
|
||||
msgstr "Add an inner ring"
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Polygon"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
#, fuzzy
|
||||
#| msgid "Add column"
|
||||
msgid "Add a polygon"
|
||||
msgstr "Add column"
|
||||
msgstr "Add a polygon"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Geometry"
|
||||
msgid "Add geometry"
|
||||
msgstr "Geometry"
|
||||
msgstr "Add geometry"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
"Chose \"GeomFromText\" from the \"Function\" column and paste the below "
|
||||
"string into the \"Value\" field"
|
||||
msgstr ""
|
||||
"Chose \"GeomFromText\" from the \"Function\" column and paste the below string "
|
||||
"into the \"Value\" field"
|
||||
|
||||
#: import.php:57
|
||||
#, php-format
|
||||
@ -1211,10 +1207,9 @@ msgid "Query statistics"
|
||||
msgstr "Query statistics"
|
||||
|
||||
#: js/messages.php:93
|
||||
#, fuzzy
|
||||
#| msgid "Failed to read configuration file"
|
||||
msgid "Local monitor configuration incompatible"
|
||||
msgstr "Failed to read configuration file"
|
||||
msgstr "Local monitor configuration incompatible"
|
||||
|
||||
#: js/messages.php:94
|
||||
msgid ""
|
||||
|
||||
86
po/es.po
86
po/es.po
@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-16 21:46+0200\n"
|
||||
"PO-Revision-Date: 2011-08-19 01:20+0200\n"
|
||||
"Last-Translator: Matías Bellone <matiasbellone@gmail.com>\n"
|
||||
"Language-Team: spanish <es@li.org>\n"
|
||||
"Language: es\n"
|
||||
@ -856,10 +856,10 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "El volcado ha sido guardado al archivo %s."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "Valores para la columna \"%s\""
|
||||
msgstr "Valor para la columna \"%s\""
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
@ -867,7 +867,7 @@ msgstr "Utilizar OpenStreetMaps como capa base"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
msgid "SRID"
|
||||
msgstr ""
|
||||
msgstr "SRID"
|
||||
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
@ -877,72 +877,68 @@ msgstr "Geometría"
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Punto"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add routine"
|
||||
msgid "Add a point"
|
||||
msgstr "Agregar rutina"
|
||||
msgstr "Agregar un punto"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
#| msgid "Lines terminated by"
|
||||
msgid "Linestring"
|
||||
msgstr "Líneas terminadas en"
|
||||
msgstr "Cadena de líneas"
|
||||
|
||||
#: gis_data_editor.php:221 gis_data_editor.php:275
|
||||
msgid "Outer Ring:"
|
||||
msgstr ""
|
||||
msgstr "Círculo exterior:"
|
||||
|
||||
#: gis_data_editor.php:223 gis_data_editor.php:277 js/messages.php:290
|
||||
msgid "Inner Ring"
|
||||
msgstr ""
|
||||
msgstr "Círculo interior"
|
||||
|
||||
#: gis_data_editor.php:248
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add a linestring"
|
||||
msgstr "Agregar un nuevo usuario"
|
||||
msgstr "Agregar una cadena de líneas"
|
||||
|
||||
#: gis_data_editor.php:248 gis_data_editor.php:298 js/messages.php:293
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add an inner ring"
|
||||
msgstr "Agregar un nuevo usuario"
|
||||
msgstr "Agregar un círculo interior"
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Polígono"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
#, fuzzy
|
||||
#| msgid "Add column"
|
||||
msgid "Add a polygon"
|
||||
msgstr "Añadir columna"
|
||||
msgstr "Agregar un polígono"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Geometry"
|
||||
msgid "Add geometry"
|
||||
msgstr "Geometría"
|
||||
msgstr "Agregar geometría"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
"Chose \"GeomFromText\" from the \"Function\" column and paste the below "
|
||||
"string into the \"Value\" field"
|
||||
msgstr ""
|
||||
"Selecciones «GeomFromText» de la columna \"Función\" y pague la cadena ubicada "
|
||||
"debajo en el campo \"Valor\""
|
||||
|
||||
#: import.php:57
|
||||
#, php-format
|
||||
@ -1223,10 +1219,9 @@ msgid "Query statistics"
|
||||
msgstr "Estadísticas de Consulta"
|
||||
|
||||
#: js/messages.php:93
|
||||
#, fuzzy
|
||||
#| msgid "Local monitor configuration icompatible"
|
||||
msgid "Local monitor configuration incompatible"
|
||||
msgstr "Configuración de monitorización local incompatible"
|
||||
msgstr "Configuración local de monitorización incompatible"
|
||||
|
||||
#: js/messages.php:94
|
||||
msgid ""
|
||||
@ -1825,7 +1820,7 @@ msgstr "Copiar"
|
||||
|
||||
#: js/messages.php:291
|
||||
msgid "Outer Ring"
|
||||
msgstr ""
|
||||
msgstr "Círculo exterior"
|
||||
|
||||
#: js/messages.php:297
|
||||
msgid "Add columns"
|
||||
@ -2191,6 +2186,8 @@ msgstr "Segundo"
|
||||
#, php-format
|
||||
msgid "Failed formatting string for rule '%s'. PHP threw following error: %s"
|
||||
msgstr ""
|
||||
"No se pudo dar formato a una cadena para la regla '%s'. PHP devolvió el "
|
||||
"siguiente error: %s"
|
||||
|
||||
#: libraries/Config.class.php:1159
|
||||
msgid "Font size"
|
||||
@ -6807,29 +6804,30 @@ msgstr "Importar monedas <i>(por ejemplo: $5.00 como 5.00)</i>"
|
||||
|
||||
#: libraries/import/shp.php:14
|
||||
msgid "ESRI Shape File"
|
||||
msgstr ""
|
||||
msgstr "Archivo de forma ESRI"
|
||||
|
||||
#: libraries/import/shp.php:254
|
||||
#, php-format
|
||||
msgid "There was an error importing the ESRI shape file: \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "Hubo un error importando el archivo de forma ESRI: \"%s\"."
|
||||
|
||||
#: libraries/import/shp.php:310
|
||||
msgid ""
|
||||
"You tried to import an invalid file or the imported file contains invalid "
|
||||
"data"
|
||||
msgstr ""
|
||||
"Intentó importar un archivo no válido o el archivo importado contiene datos "
|
||||
"inválidos"
|
||||
|
||||
#: libraries/import/shp.php:312
|
||||
#, php-format
|
||||
msgid "MySQL Spatial Extension does not support ESRI type \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "La extensión espacial MySQL no soporta el tipo ESRI \"%s\"."
|
||||
|
||||
#: libraries/import/shp.php:350
|
||||
#, fuzzy
|
||||
#| msgid "This page does not contain any tables!"
|
||||
msgid "The imported file does not contain any data"
|
||||
msgstr "Esta página no contiene ninguna tabla"
|
||||
msgstr "El archivo importado no contiene datos"
|
||||
|
||||
#: libraries/import/sql.php:33
|
||||
msgid "SQL compatibility mode:"
|
||||
@ -8163,10 +8161,9 @@ msgid "Table Search"
|
||||
msgstr "Búsqueda de tablas"
|
||||
|
||||
#: libraries/tbl_select.lib.php:229 tbl_change.php:994
|
||||
#, fuzzy
|
||||
#| msgid "Insert"
|
||||
msgid "Edit/Insert"
|
||||
msgstr "Insertar"
|
||||
msgstr "Editar/Insertar"
|
||||
|
||||
#: libraries/transformations/application_octetstream__download.inc.php:10
|
||||
msgid ""
|
||||
@ -12274,12 +12271,13 @@ msgid "Query cache low memory prunes"
|
||||
msgstr "Reducciones al caché de consultas por falta de memoria"
|
||||
|
||||
#: po/advisory_rules.php:91
|
||||
#, fuzzy
|
||||
#| msgid "The amount of free memory for query cache."
|
||||
msgid ""
|
||||
"Cached queries are removed due to low query cache memory from the query "
|
||||
"cache."
|
||||
msgstr "La cantidad de memoria libre para el cache de consultas."
|
||||
msgstr ""
|
||||
"Las consultas en caché son eliminadas debido a la poca cantidad de memoria "
|
||||
"de caché para el caché de consultas."
|
||||
|
||||
#: po/advisory_rules.php:92
|
||||
msgid ""
|
||||
@ -12287,46 +12285,56 @@ msgid ""
|
||||
"overhead of maintaining the cache is likely to increase with its size, so do "
|
||||
"this in small increments and monitor the results."
|
||||
msgstr ""
|
||||
"Podría llegar a querer aumentar «query_cache_size». Recuerde sin embargo que "
|
||||
"la sobrecarga de mantener el caché es probable que aumente con su tamaño, "
|
||||
"por lo que se recomienda hacerlo en pequeñas cantidades y monitorizar los "
|
||||
"resultados."
|
||||
|
||||
#: po/advisory_rules.php:93
|
||||
msgid ""
|
||||
"The ratio of removed queries to inserted queries is %s%%. The lower this "
|
||||
"value is, the better (This rules firing limit: 0.1%)"
|
||||
msgstr ""
|
||||
"La tasa de consultas eliminadas respecto de las agregadas es %s%%. Mejor es "
|
||||
"mientras menor sea este valor (el límite de disparo de la regla es: 0.1%)"
|
||||
|
||||
#: po/advisory_rules.php:95
|
||||
#, fuzzy
|
||||
#| msgid "Query cache"
|
||||
msgid "Query cache max size"
|
||||
msgstr "Cache de consultas"
|
||||
msgstr "Tamaño máximo del caché de consultas"
|
||||
|
||||
#: po/advisory_rules.php:96
|
||||
msgid ""
|
||||
"The query cache size is above 128 MiB. Big query caches may cause "
|
||||
"significant overhead that is required to maintain the cache."
|
||||
msgstr ""
|
||||
"El tamaño del caché de consultas es mayor a 128 MiB. Grandes cachés pueden "
|
||||
"causar grandes sobrecargas para manterlo."
|
||||
|
||||
#: po/advisory_rules.php:97
|
||||
msgid ""
|
||||
"Depending on your environment, it might be performance increasing to reduce "
|
||||
"this value."
|
||||
msgstr ""
|
||||
"Dependiendo de su entorno, podría aumentar la performance reducir este "
|
||||
"valor."
|
||||
|
||||
#: po/advisory_rules.php:98
|
||||
#, php-format
|
||||
msgid "Current query cache size: %s"
|
||||
msgstr ""
|
||||
msgstr "Tamaño del caché de consultas: %s"
|
||||
|
||||
#: po/advisory_rules.php:100
|
||||
#, fuzzy
|
||||
#| msgid "Query results"
|
||||
msgid "Query cache min result size"
|
||||
msgstr "Resultados de la Consulta"
|
||||
msgstr "Tamaño mínimo de resultado en caché de consultas"
|
||||
|
||||
#: po/advisory_rules.php:101
|
||||
msgid ""
|
||||
"The max size of the result set in the query cache is the default of 1 MiB."
|
||||
msgstr ""
|
||||
"El tamaño máximo del conjunto de resultados en el caché de consultas es el "
|
||||
"valor predeterminado de 1 MiB."
|
||||
|
||||
#: po/advisory_rules.php:102
|
||||
msgid ""
|
||||
|
||||
99
po/sl.po
99
po/sl.po
@ -4,15 +4,15 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-16 22:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-18 00:48+0200\n"
|
||||
"Last-Translator: Domen <dbc334@gmail.com>\n"
|
||||
"Language-Team: slovenian <sl@li.org>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
|
||||
"n%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Pootle 2.0.5\n"
|
||||
|
||||
#: browse_foreigners.php:35 browse_foreigners.php:53 js/messages.php:316
|
||||
@ -855,10 +855,10 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "Dump je shranjen v datoteko %s."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "Vrednosti za stolpec \"%s\""
|
||||
msgstr "Vrednost za stolpec \"%s\""
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
@ -866,7 +866,7 @@ msgstr "Uporabi OpenStreetMaps kot osnovni sloj"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
msgid "SRID"
|
||||
msgstr ""
|
||||
msgstr "SRID"
|
||||
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
@ -876,66 +876,60 @@ msgstr "Geometrija"
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Točka"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add routine"
|
||||
msgid "Add a point"
|
||||
msgstr "Dodaj rutino"
|
||||
msgstr "Dodaj točko"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
#| msgid "Lines terminated by"
|
||||
msgid "Linestring"
|
||||
msgstr "Vrstice zaključene z"
|
||||
msgstr "Daljica"
|
||||
|
||||
#: gis_data_editor.php:221 gis_data_editor.php:275
|
||||
msgid "Outer Ring:"
|
||||
msgstr ""
|
||||
msgstr "Zunanji obroč:"
|
||||
|
||||
#: gis_data_editor.php:223 gis_data_editor.php:277 js/messages.php:290
|
||||
msgid "Inner Ring"
|
||||
msgstr ""
|
||||
msgstr "Notranji obroč"
|
||||
|
||||
#: gis_data_editor.php:248
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add a linestring"
|
||||
msgstr "Dodaj novega uporabnika"
|
||||
msgstr "Dodaj daljico"
|
||||
|
||||
#: gis_data_editor.php:248 gis_data_editor.php:298 js/messages.php:293
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add an inner ring"
|
||||
msgstr "Dodaj novega uporabnika"
|
||||
msgstr "Dodaj notranji obroč"
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Večkotnik"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
#, fuzzy
|
||||
#| msgid "Add column"
|
||||
msgid "Add a polygon"
|
||||
msgstr "Dodaj stolpec"
|
||||
msgstr "Dodaj večkotnik"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Geometry"
|
||||
msgid "Add geometry"
|
||||
msgstr "Geometrija"
|
||||
msgstr "Dodaj geometrijo"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
@ -1229,6 +1223,10 @@ msgid ""
|
||||
"likely that your current configuration will not work anymore. Please reset "
|
||||
"your configuration to default in the <i>Settings</i> menu."
|
||||
msgstr ""
|
||||
"Konfiguracija razvrstitve grafikonov v lokalni shrambi brskalnika ni več "
|
||||
"združljiva z novejšo različico pogovornega okna nadziranja. Zelo verjetno "
|
||||
"je, da vaša trenutna konfiguracija ne bo več delovala. Prosimo, ponastavite "
|
||||
"svojo konfiguracijo na privzeto v meniju <i>Nastavitve</i>."
|
||||
|
||||
#: js/messages.php:96
|
||||
msgid "Query cache efficiency"
|
||||
@ -1549,6 +1547,9 @@ msgid ""
|
||||
"This is most likely because your session expired. Reloading the page and "
|
||||
"reentering your credentials should help."
|
||||
msgstr ""
|
||||
"Med zahtevo podatkov novega grafikona je strežnik vrnil neveljavni odziv. To "
|
||||
"se je najverjetneje zgodilo, ker je vaša seja potekla. Ponovno nalaganje "
|
||||
"strani in ponovni vnos poveril bi morala pomagati."
|
||||
|
||||
#: js/messages.php:184
|
||||
msgid "Reload page"
|
||||
@ -1753,10 +1754,9 @@ msgid "Show search criteria"
|
||||
msgstr "Prikaži iskalne pogoje"
|
||||
|
||||
#: js/messages.php:262 libraries/tbl_select.lib.php:150
|
||||
#, fuzzy
|
||||
#| msgid "Search"
|
||||
msgid "Zoom Search"
|
||||
msgstr "Iskanje"
|
||||
msgstr "Iskanje s povečevanjem"
|
||||
|
||||
#: js/messages.php:264
|
||||
msgid "Each point represents a data row."
|
||||
@ -1764,11 +1764,11 @@ msgstr "Vsaka točka predstavlja podatkovno vrstico."
|
||||
|
||||
#: js/messages.php:266
|
||||
msgid "Hovering over a point will show its label."
|
||||
msgstr ""
|
||||
msgstr "Prehod z miško čez točko bo pokazalo njeno oznako."
|
||||
|
||||
#: js/messages.php:268
|
||||
msgid "Drag and select an area in the plot to zoom into it."
|
||||
msgstr ""
|
||||
msgstr "Povlecite in izberite območje na izrisu, ki ga želite povečati."
|
||||
|
||||
#: js/messages.php:270
|
||||
msgid "Click reset zoom link to come back to original state."
|
||||
@ -1782,11 +1782,11 @@ msgstr ""
|
||||
|
||||
#: js/messages.php:274
|
||||
msgid "The plot can be resized by dragging it along the bottom right corner."
|
||||
msgstr ""
|
||||
msgstr "Izris lahko povečate tako, da ga vlečete ob spodnjem desnem kotu."
|
||||
|
||||
#: js/messages.php:276
|
||||
msgid "Strings are converted into integer for plotting"
|
||||
msgstr ""
|
||||
msgstr "Nizi so pri izrisovanju pretvorjeni v cela števila"
|
||||
|
||||
#: js/messages.php:278
|
||||
msgid "Select two columns"
|
||||
@ -1807,7 +1807,7 @@ msgstr "Kopiraj"
|
||||
|
||||
#: js/messages.php:291
|
||||
msgid "Outer Ring"
|
||||
msgstr ""
|
||||
msgstr "Zunanji obroč"
|
||||
|
||||
#: js/messages.php:297
|
||||
msgid "Add columns"
|
||||
@ -2167,6 +2167,8 @@ msgstr "Sekunda"
|
||||
#, php-format
|
||||
msgid "Failed formatting string for rule '%s'. PHP threw following error: %s"
|
||||
msgstr ""
|
||||
"Oblikovanje niza za pravilo '%s' je spodletelo. PHP je vrnil naslednjo "
|
||||
"napako: %s"
|
||||
|
||||
#: libraries/Config.class.php:1159
|
||||
msgid "Font size"
|
||||
@ -6695,29 +6697,30 @@ msgstr "Uvozi denarne enote <i>(npr. $5.00 v 5.00)</i>"
|
||||
|
||||
#: libraries/import/shp.php:14
|
||||
msgid "ESRI Shape File"
|
||||
msgstr ""
|
||||
msgstr "Datoteka oblik ESRI"
|
||||
|
||||
#: libraries/import/shp.php:254
|
||||
#, php-format
|
||||
msgid "There was an error importing the ESRI shape file: \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "Med uvažanjem datoteke oblik ESRI je prišlo do napake: \"%s\"."
|
||||
|
||||
#: libraries/import/shp.php:310
|
||||
msgid ""
|
||||
"You tried to import an invalid file or the imported file contains invalid "
|
||||
"data"
|
||||
msgstr ""
|
||||
"Poskušali ste uvoziti neveljavno datoteko ali pa uvožena datoteka vsebuje "
|
||||
"neveljavne podatke"
|
||||
|
||||
#: libraries/import/shp.php:312
|
||||
#, php-format
|
||||
msgid "MySQL Spatial Extension does not support ESRI type \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "Prostorska razširitev MySQL ne podpira ESRI vrste \"%s\"."
|
||||
|
||||
#: libraries/import/shp.php:350
|
||||
#, fuzzy
|
||||
#| msgid "This page does not contain any tables!"
|
||||
msgid "The imported file does not contain any data"
|
||||
msgstr "Ta stran ne vsebuje nobenih tabel!"
|
||||
msgstr "Uvožena datoteka ne vsebuje nobenih podatkov"
|
||||
|
||||
#: libraries/import/sql.php:33
|
||||
msgid "SQL compatibility mode:"
|
||||
@ -8042,10 +8045,9 @@ msgid "Table Search"
|
||||
msgstr "Iskanje po tabeli"
|
||||
|
||||
#: libraries/tbl_select.lib.php:229 tbl_change.php:994
|
||||
#, fuzzy
|
||||
#| msgid "Insert"
|
||||
msgid "Edit/Insert"
|
||||
msgstr "Vstavi"
|
||||
msgstr "Uredi/Vstavi"
|
||||
|
||||
#: libraries/transformations/application_octetstream__download.inc.php:10
|
||||
msgid ""
|
||||
@ -10339,6 +10341,10 @@ msgid ""
|
||||
"table is supported by MySQL 5.1.6 and onwards. You may still use the server "
|
||||
"charting features however."
|
||||
msgstr ""
|
||||
"Žal vaš strežnik zbirk podatkov ne podpira beleženja v tabelo, ki je "
|
||||
"zahtevano za analiziranje dnevnikov zbirk podatov s phpMyAdmin. Beleženje v "
|
||||
"tabelo podpira MySQL 5.1.6 in novejši. Kljub temu lahko še vedno uporabljate "
|
||||
"strežniške zmožnosti izrisa grafikonov."
|
||||
|
||||
#: server_status.php:1508
|
||||
msgid "Using the monitor:"
|
||||
@ -11672,6 +11678,8 @@ msgstr "Neprekinjeno delovanje krajše od enega dneva"
|
||||
#: po/advisory_rules.php:6
|
||||
msgid "Uptime is less than 1 day, performance tuning may not be accurate."
|
||||
msgstr ""
|
||||
"Neprekinjeno delovanje je krajše od enega dneva; nastavitev zmogljivosti "
|
||||
"morda ni točna."
|
||||
|
||||
#: po/advisory_rules.php:7
|
||||
msgid ""
|
||||
@ -11693,6 +11701,8 @@ msgid ""
|
||||
"Fewer than 1,000 questions have been run against this server. The "
|
||||
"recommendations may not be accurate."
|
||||
msgstr ""
|
||||
"Na tem strežniku je bilo zagnanih manj kot 1.000 vprašanj. Priporočila morda "
|
||||
"niso točna."
|
||||
|
||||
#: po/advisory_rules.php:12
|
||||
msgid ""
|
||||
@ -11753,6 +11763,8 @@ msgid ""
|
||||
"long_query_time is set to 10 seconds or more, thus only slow queries that "
|
||||
"take above 10 seconds are logged."
|
||||
msgstr ""
|
||||
"long_query_time je nastavljen na 10 sekund ali več, zato so zabeležene samo "
|
||||
"počasne poizvedbe, ki trajajo več kot 10 sekund."
|
||||
|
||||
#: po/advisory_rules.php:27
|
||||
msgid ""
|
||||
@ -11784,10 +11796,9 @@ msgid "log_slow_queries is set to 'OFF'"
|
||||
msgstr "log_slow_queries je nastavljen na 'OFF'"
|
||||
|
||||
#: po/advisory_rules.php:35
|
||||
#, fuzzy
|
||||
#| msgid "Clear series"
|
||||
msgid "Release Series"
|
||||
msgstr "Počisti serije"
|
||||
msgstr "Serije izdaj"
|
||||
|
||||
#: po/advisory_rules.php:36
|
||||
msgid "The MySQL server version less then 5.1."
|
||||
@ -12338,12 +12349,13 @@ msgstr ""
|
||||
|
||||
#: po/advisory_rules.php:172
|
||||
msgid "You may need to increase {key_buffer_size}."
|
||||
msgstr ""
|
||||
msgstr "Mord boste morali povečati {key_buffer_size}."
|
||||
|
||||
#: po/advisory_rules.php:173
|
||||
#, php-format
|
||||
msgid "Index reads from memory: %s%%, this value should be above 95%%"
|
||||
msgstr ""
|
||||
"Branj indeksov iz pomnilnika: %s %%; ta vrednost bi morala biti nad 95 %%"
|
||||
|
||||
#: po/advisory_rules.php:175
|
||||
msgid "Rate of table open"
|
||||
@ -12578,6 +12590,9 @@ msgid ""
|
||||
"MySQL properly. This can be due to network issues or code not closing a "
|
||||
"database handler properly. Check your network and code."
|
||||
msgstr ""
|
||||
"Odjemalci so ponavadi prekinjeni, ker niso pravilno zaprli svoje povezave z "
|
||||
"MySQL. To je lahko zaradi omrežnih težav ali pa koda ne zapira pravilno "
|
||||
"upravljavca zbirk podatkov. Preverite svoje omrežje in kodo."
|
||||
|
||||
#: po/advisory_rules.php:238
|
||||
#, php-format
|
||||
@ -12726,7 +12741,7 @@ msgstr ""
|
||||
|
||||
#: po/advisory_rules.php:268
|
||||
msgid "concurrent_insert is set to 0"
|
||||
msgstr ""
|
||||
msgstr "concurrent_insert je nastavljeno na 0"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "memcached usage"
|
||||
|
||||
96
po/tr.po
96
po/tr.po
@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: phpMyAdmin 3.5.0-dev\n"
|
||||
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2011-08-17 16:58+0200\n"
|
||||
"PO-Revision-Date: 2011-08-16 16:49+0200\n"
|
||||
"PO-Revision-Date: 2011-08-18 10:40+0200\n"
|
||||
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
|
||||
"Language-Team: turkish <tr@li.org>\n"
|
||||
"Language: tr\n"
|
||||
@ -847,10 +847,10 @@ msgid "Dump has been saved to file %s."
|
||||
msgstr "Döküm, %s dosyasına kaydedildi."
|
||||
|
||||
#: gis_data_editor.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
#| msgid "Values for the column \"%s\""
|
||||
msgid "Value for the column \"%s\""
|
||||
msgstr "\"%s\" sütunu için değerler"
|
||||
msgstr "\"%s\" sütunu için değer"
|
||||
|
||||
#: gis_data_editor.php:113 tbl_gis_visualization.php:172
|
||||
msgid "Use OpenStreetMaps as Base Layer"
|
||||
@ -858,7 +858,7 @@ msgstr "Taban Katman olarak OpenStreetMaps kullan"
|
||||
|
||||
#: gis_data_editor.php:134
|
||||
msgid "SRID"
|
||||
msgstr ""
|
||||
msgstr "SRID"
|
||||
|
||||
#: gis_data_editor.php:151 js/messages.php:289
|
||||
#: libraries/display_tbl.lib.php:663
|
||||
@ -868,72 +868,68 @@ msgstr "Geometri"
|
||||
#: gis_data_editor.php:172 gis_data_editor.php:194 gis_data_editor.php:240
|
||||
#: gis_data_editor.php:290 js/messages.php:286
|
||||
msgid "Point"
|
||||
msgstr ""
|
||||
msgstr "Nokta"
|
||||
|
||||
#: gis_data_editor.php:173 gis_data_editor.php:195 gis_data_editor.php:241
|
||||
#: gis_data_editor.php:291 js/messages.php:284
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
msgstr "X"
|
||||
|
||||
#: gis_data_editor.php:175 gis_data_editor.php:197 gis_data_editor.php:243
|
||||
#: gis_data_editor.php:293 js/messages.php:285
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
msgstr "Y"
|
||||
|
||||
#: gis_data_editor.php:202 gis_data_editor.php:246 gis_data_editor.php:296
|
||||
#: js/messages.php:292
|
||||
#, fuzzy
|
||||
#| msgid "Add routine"
|
||||
msgid "Add a point"
|
||||
msgstr "Yordam ekle"
|
||||
msgstr "Nokta ekle"
|
||||
|
||||
#: gis_data_editor.php:218 js/messages.php:287
|
||||
#, fuzzy
|
||||
#| msgid "Lines terminated by"
|
||||
msgid "Linestring"
|
||||
msgstr "Satırı sonlandıran:"
|
||||
msgstr "Satır dizgisi"
|
||||
|
||||
#: gis_data_editor.php:221 gis_data_editor.php:275
|
||||
msgid "Outer Ring:"
|
||||
msgstr ""
|
||||
msgstr "Dış Halka:"
|
||||
|
||||
#: gis_data_editor.php:223 gis_data_editor.php:277 js/messages.php:290
|
||||
msgid "Inner Ring"
|
||||
msgstr ""
|
||||
msgstr "İç Halka"
|
||||
|
||||
#: gis_data_editor.php:248
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add a linestring"
|
||||
msgstr "Yeni Kullanıcı ekle"
|
||||
msgstr "Satır dizgisi ekle"
|
||||
|
||||
#: gis_data_editor.php:248 gis_data_editor.php:298 js/messages.php:293
|
||||
#, fuzzy
|
||||
#| msgid "Add a new User"
|
||||
msgid "Add an inner ring"
|
||||
msgstr "Yeni Kullanıcı ekle"
|
||||
msgstr "İç halka ekle"
|
||||
|
||||
#: gis_data_editor.php:262 js/messages.php:288
|
||||
msgid "Polygon"
|
||||
msgstr ""
|
||||
msgstr "Poligon"
|
||||
|
||||
#: gis_data_editor.php:300 js/messages.php:294
|
||||
#, fuzzy
|
||||
#| msgid "Add column"
|
||||
msgid "Add a polygon"
|
||||
msgstr "Sütun ekle"
|
||||
msgstr "Poligon ekle"
|
||||
|
||||
#: gis_data_editor.php:304
|
||||
#, fuzzy
|
||||
#| msgid "Geometry"
|
||||
msgid "Add geometry"
|
||||
msgstr "Geometri"
|
||||
msgstr "Geometri ekle"
|
||||
|
||||
#: gis_data_editor.php:312
|
||||
msgid ""
|
||||
"Chose \"GeomFromText\" from the \"Function\" column and paste the below "
|
||||
"string into the \"Value\" field"
|
||||
msgstr ""
|
||||
"\"Function\" sütunundan \"GeomFromText\" seçin ve \"Value\" alanı içine alttaki "
|
||||
"dizgiyi yapıştırın"
|
||||
|
||||
#: import.php:57
|
||||
#, php-format
|
||||
@ -1211,7 +1207,6 @@ msgid "Query statistics"
|
||||
msgstr "Sorgu istatistikleri"
|
||||
|
||||
#: js/messages.php:93
|
||||
#, fuzzy
|
||||
#| msgid "Local monitor configuration icompatible"
|
||||
msgid "Local monitor configuration incompatible"
|
||||
msgstr "Yerel izleme yapılandırması uyumsuz"
|
||||
@ -1562,7 +1557,7 @@ msgstr "Etkilenen satırlar:"
|
||||
msgid "Failed parsing config file. It doesn't seem to be valid JSON code"
|
||||
msgstr ""
|
||||
"Yapılandırma dosyasının ayrıştırılması başarısız. Bu geçerli JSON kodu "
|
||||
"görünmüyor."
|
||||
"görünmüyor"
|
||||
|
||||
#: js/messages.php:189
|
||||
msgid ""
|
||||
@ -1810,7 +1805,7 @@ msgstr "Kopyala"
|
||||
|
||||
#: js/messages.php:291
|
||||
msgid "Outer Ring"
|
||||
msgstr ""
|
||||
msgstr "Dış Halka"
|
||||
|
||||
#: js/messages.php:297
|
||||
msgid "Add columns"
|
||||
@ -2175,6 +2170,8 @@ msgstr "Saniye"
|
||||
#, php-format
|
||||
msgid "Failed formatting string for rule '%s'. PHP threw following error: %s"
|
||||
msgstr ""
|
||||
"'%s' kuralı için dizgi biçimlendirme başarısız. PHP aşağıdaki hatayı "
|
||||
"yöneltti: %s"
|
||||
|
||||
#: libraries/Config.class.php:1159
|
||||
msgid "Font size"
|
||||
@ -6718,29 +6715,30 @@ msgstr "Parasalları içe aktar <i>(örn. $5.00'ı 5.00'a)</i>"
|
||||
|
||||
#: libraries/import/shp.php:14
|
||||
msgid "ESRI Shape File"
|
||||
msgstr ""
|
||||
msgstr "ESRI Şekil Dosyası"
|
||||
|
||||
#: libraries/import/shp.php:254
|
||||
#, php-format
|
||||
msgid "There was an error importing the ESRI shape file: \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "ESRI şekil dosyasının içe aktarılmasında hata var: \"%s\"."
|
||||
|
||||
#: libraries/import/shp.php:310
|
||||
msgid ""
|
||||
"You tried to import an invalid file or the imported file contains invalid "
|
||||
"data"
|
||||
msgstr ""
|
||||
"Geçersiz bir dosyayı içe aktarmayı deniyorsunuz ya da içe aktarılan dosya "
|
||||
"geçersiz veri içeriyor"
|
||||
|
||||
#: libraries/import/shp.php:312
|
||||
#, php-format
|
||||
msgid "MySQL Spatial Extension does not support ESRI type \"%s\"."
|
||||
msgstr ""
|
||||
msgstr "MySQL Uzaysal Uzantısı ESRI türü \"%s\" desteklemiyor."
|
||||
|
||||
#: libraries/import/shp.php:350
|
||||
#, fuzzy
|
||||
#| msgid "This page does not contain any tables!"
|
||||
msgid "The imported file does not contain any data"
|
||||
msgstr "Bu sayfa herhangi bir tablo içermiyor!"
|
||||
msgstr "İçe aktarılan dosya herhangi bir veri içermiyor"
|
||||
|
||||
#: libraries/import/sql.php:33
|
||||
msgid "SQL compatibility mode:"
|
||||
@ -7907,7 +7905,7 @@ msgstr "END RAW"
|
||||
|
||||
#: libraries/sqlparser.lib.php:382
|
||||
msgid "Automatically appended backtick to the end of query!"
|
||||
msgstr "Otomatik olarak sorgunun sonuna ters işaret ekle"
|
||||
msgstr "Otomatik olarak sorgunun sonuna ters işaret ekle!"
|
||||
|
||||
#: libraries/sqlparser.lib.php:385
|
||||
msgid "Unclosed quote"
|
||||
@ -8065,10 +8063,9 @@ msgid "Table Search"
|
||||
msgstr "Tablo Arama"
|
||||
|
||||
#: libraries/tbl_select.lib.php:229 tbl_change.php:994
|
||||
#, fuzzy
|
||||
#| msgid "Insert"
|
||||
msgid "Edit/Insert"
|
||||
msgstr "Ekle"
|
||||
msgstr "Düzenle/Ekle"
|
||||
|
||||
#: libraries/transformations/application_octetstream__download.inc.php:10
|
||||
msgid ""
|
||||
@ -9599,7 +9596,7 @@ msgid ""
|
||||
"the <a href=\"#replication\">replication section</a>."
|
||||
msgstr ""
|
||||
"Sunucudaki kopya etme durumuyla ilgili daha ayrıntılı bilgi için lütfen <a "
|
||||
"href=#replication>kopya etme bölümünü</a> ziyaret edin."
|
||||
"href=\"#replication\">kopya etme bölümünü</a> ziyaret edin."
|
||||
|
||||
#: server_status.php:979
|
||||
msgid "Replication status"
|
||||
@ -10954,7 +10951,7 @@ msgstr "Sunucuya parolasız bağlanmaya izin verdiniz."
|
||||
|
||||
#: setup/lib/index.lib.php:389
|
||||
msgid "Key is too short, it should have at least 8 characters."
|
||||
msgstr "Anahtar çok kısa, en az 8 karakter olmalıdır"
|
||||
msgstr "Anahtar çok kısa, en az 8 karakter olmalıdır."
|
||||
|
||||
#: setup/lib/index.lib.php:396
|
||||
msgid "Key should contain letters, numbers [em]and[/em] special characters."
|
||||
@ -11144,7 +11141,7 @@ msgstr "-- Yok --"
|
||||
|
||||
#: tbl_gis_visualization.php:151
|
||||
msgid "Spatial column"
|
||||
msgstr "Uzamsal sütun"
|
||||
msgstr "Uzaysal sütun"
|
||||
|
||||
#: tbl_gis_visualization.php:175
|
||||
msgid "Redraw"
|
||||
@ -12032,6 +12029,8 @@ msgid ""
|
||||
"The current ratio of free query cache memory to total query cache size is %s"
|
||||
"%%. It should be above 80%%"
|
||||
msgstr ""
|
||||
"Boş sorgu önbellek belleğinin, toplam sorgu önbelleği boyutuna şu anki oranı "
|
||||
"%%%s. Bu %%80'in üzerinde olmalıdır"
|
||||
|
||||
#: po/advisory_rules.php:85
|
||||
msgid "Query cache fragmentation"
|
||||
@ -12039,7 +12038,7 @@ msgstr "Sorgu önbelleği parçalama"
|
||||
|
||||
#: po/advisory_rules.php:86
|
||||
msgid "The query cache is considerably fragmented."
|
||||
msgstr ""
|
||||
msgstr "Sorgu önbelleği oldukça parçalanmış."
|
||||
|
||||
#: po/advisory_rules.php:87
|
||||
msgid ""
|
||||
@ -12052,6 +12051,15 @@ msgid ""
|
||||
"using this formula: (query_cache_size - qcache_free_memory) / "
|
||||
"qcache_queries_in_cache"
|
||||
msgstr ""
|
||||
"Şiddetli parçalanma Qcache_lowmem_prunes değerini muhtemelen (daha fazla) "
|
||||
"arttırır. Buna {query_cache_size} çok küçük olmasından dolayı çoğu düşük "
|
||||
"Sorgu önbellek belleği azalması sebep oluyor olabilir. Hemen ama kısa süreli "
|
||||
"onarım için sorgu önbelleğini (uzun bir süreliğine sorgu önbelleğini "
|
||||
"kilitleyebilir) temizleyebilirsiniz. {query_cache_min_res_unit}değerini daha "
|
||||
"düşük bir değere dikkatlice ayarlamak da yardımcı olabilir, örn. "
|
||||
"önbellekteki sorgularınızın ortalama boyutunu bu formülü kullanarak "
|
||||
"ayarlayabilirsiniz: (query_cache_size - qcache_free_memory) / "
|
||||
"qcache_queries_in_cache"
|
||||
|
||||
#: po/advisory_rules.php:88
|
||||
#, php-format
|
||||
@ -12060,10 +12068,13 @@ msgid ""
|
||||
"that the query cache is an alternating pattern of free and used blocks. This "
|
||||
"value should be below 20%%."
|
||||
msgstr ""
|
||||
"Önbellek şu an %%%s olarak parçalanmış, %%100 parçalanma, sorgu önbelleğinin "
|
||||
"boş ve kullanılan bloklarının alternatif bir kalıp olduğu anlamına gelir. "
|
||||
"Bu değer %%20'nin altında olmalıdır."
|
||||
|
||||
#: po/advisory_rules.php:90
|
||||
msgid "Query cache low memory prunes"
|
||||
msgstr ""
|
||||
msgstr "Düşük sorgu önbellek belleği azalması"
|
||||
|
||||
#: po/advisory_rules.php:91
|
||||
msgid ""
|
||||
@ -12079,12 +12090,16 @@ msgid ""
|
||||
"overhead of maintaining the cache is likely to increase with its size, so do "
|
||||
"this in small increments and monitor the results."
|
||||
msgstr ""
|
||||
"Ancak aklınızdan çıkarmayın, önbellek koruması ek yükü muhtemelen boyutunu "
|
||||
"arttırır bu yüzden bunu küçük artışlarla yapın ve sonuçlarını izleyin."
|
||||
|
||||
#: po/advisory_rules.php:93
|
||||
msgid ""
|
||||
"The ratio of removed queries to inserted queries is %s%%. The lower this "
|
||||
"value is, the better (This rules firing limit: 0.1%)"
|
||||
msgstr ""
|
||||
"Kaldırılan sorguların eklenen sorgulara oranı %%%s. En düşük bu değer en "
|
||||
"iyisidir (Bu kuralları atan sınır: %0.1)"
|
||||
|
||||
#: po/advisory_rules.php:95
|
||||
msgid "Query cache max size"
|
||||
@ -12095,12 +12110,14 @@ msgid ""
|
||||
"The query cache size is above 128 MiB. Big query caches may cause "
|
||||
"significant overhead that is required to maintain the cache."
|
||||
msgstr ""
|
||||
"Sorgu önbelleği boyutu 128 MiB'ın üzerinde. Büyük sorgu önbellekleri, "
|
||||
"önbelleği korumak için gereken önemli ölçüde ek yüke sebep olabilir."
|
||||
|
||||
#: po/advisory_rules.php:97
|
||||
msgid ""
|
||||
"Depending on your environment, it might be performance increasing to reduce "
|
||||
"this value."
|
||||
msgstr ""
|
||||
msgstr "Ortamınıza bağlıdır, bu değeri düşürmek performansı arttırabilir."
|
||||
|
||||
#: po/advisory_rules.php:98
|
||||
#, php-format
|
||||
@ -12115,6 +12132,7 @@ msgstr "Sorgu önbelleği en az sonuç boyutu"
|
||||
msgid ""
|
||||
"The max size of the result set in the query cache is the default of 1 MiB."
|
||||
msgstr ""
|
||||
"Sorgu önbelleğinde sonuç grubunun en fazla boyutu varsayılanı 1 MiB'tır."
|
||||
|
||||
#: po/advisory_rules.php:102
|
||||
msgid ""
|
||||
|
||||
@ -1416,7 +1416,7 @@ if (isset($_REQUEST['flush_privileges'])) {
|
||||
/**
|
||||
* defines some standard links
|
||||
*/
|
||||
$link_edit = '<a class="edit_user_anchor ' . $conditional_class . '" href="server_privileges.php?' . $GLOBALS['url_query']
|
||||
$link_edit = '<a class="edit_user_anchor ' . $conditional_class . '" href="server_privileges.php?' . str_replace($GLOBALS['url_query'], '%', '%%')
|
||||
. '&username=%s'
|
||||
. '&hostname=%s'
|
||||
. '&dbname=%s'
|
||||
@ -1424,7 +1424,7 @@ $link_edit = '<a class="edit_user_anchor ' . $conditional_class . '" href="serve
|
||||
. PMA_getIcon('b_usredit.png', __('Edit Privileges'))
|
||||
. '</a>';
|
||||
|
||||
$link_revoke = '<a href="server_privileges.php?' . $GLOBALS['url_query']
|
||||
$link_revoke = '<a href="server_privileges.php?' . str_replace($GLOBALS['url_query'], '%', '%%')
|
||||
. '&username=%s'
|
||||
. '&hostname=%s'
|
||||
. '&dbname=%s'
|
||||
@ -1433,7 +1433,7 @@ $link_revoke = '<a href="server_privileges.php?' . $GLOBALS['url_query']
|
||||
. PMA_getIcon('b_usrdrop.png', __('Revoke'))
|
||||
. '</a>';
|
||||
|
||||
$link_export = '<a class="export_user_anchor ' . $conditional_class . '" href="server_privileges.php?' . $GLOBALS['url_query']
|
||||
$link_export = '<a class="export_user_anchor ' . $conditional_class . '" href="server_privileges.php?' . str_replace($GLOBALS['url_query'], '%', '%%')
|
||||
. '&username=%s'
|
||||
. '&hostname=%s'
|
||||
. '&initial=%s'
|
||||
@ -2353,7 +2353,9 @@ if (empty($_REQUEST['adduser']) && (! isset($checkprivs) || ! strlen($checkprivs
|
||||
. ' ' . ($current['Grant_priv'] == 'Y' ? __('Yes') : __('No')) . "\n"
|
||||
. ' </td>' . "\n"
|
||||
. ' <td>' . "\n";
|
||||
$user_form .= sprintf($link_edit, urlencode($current_user),
|
||||
$user_form .= sprintf(
|
||||
$link_edit,
|
||||
urlencode($current_user),
|
||||
urlencode($current_host),
|
||||
urlencode(! isset($current['Db']) || $current['Db'] == '*' ? '' : $current['Db']),
|
||||
'');
|
||||
|
||||
@ -15,8 +15,9 @@ if (! defined('PMA_NO_VARIABLES_IMPORT')) {
|
||||
define('PMA_NO_VARIABLES_IMPORT', true);
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true)
|
||||
if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
$GLOBALS['is_header_sent'] = true;
|
||||
}
|
||||
|
||||
require_once './libraries/common.inc.php';
|
||||
|
||||
@ -31,22 +32,22 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
// real-time charting data
|
||||
if (isset($_REQUEST['chart_data'])) {
|
||||
switch($_REQUEST['type']) {
|
||||
// Process and Connections realtime chart
|
||||
case 'proc':
|
||||
$c = PMA_DBI_fetch_result("SHOW GLOBAL STATUS WHERE Variable_name = 'Connections'", 0, 1);
|
||||
$result = PMA_DBI_query('SHOW PROCESSLIST');
|
||||
$num_procs = PMA_DBI_num_rows($result);
|
||||
// Process and Connections realtime chart
|
||||
case 'proc':
|
||||
$c = PMA_DBI_fetch_result("SHOW GLOBAL STATUS WHERE Variable_name = 'Connections'", 0, 1);
|
||||
$result = PMA_DBI_query('SHOW PROCESSLIST');
|
||||
$num_procs = PMA_DBI_num_rows($result);
|
||||
|
||||
$ret = array(
|
||||
'x' => microtime(true)*1000,
|
||||
'y_proc' => $num_procs,
|
||||
'y_conn' => $c['Connections']
|
||||
);
|
||||
$ret = array(
|
||||
'x' => microtime(true) * 1000,
|
||||
'y_proc' => $num_procs,
|
||||
'y_conn' => $c['Connections']
|
||||
);
|
||||
|
||||
exit(json_encode($ret));
|
||||
exit(json_encode($ret));
|
||||
|
||||
// Query realtime chart
|
||||
case 'queries':
|
||||
// Query realtime chart
|
||||
case 'queries':
|
||||
if (PMA_DRIZZLE) {
|
||||
$sql = "SELECT concat('Com_', variable_name), variable_value
|
||||
FROM data_dictionary.GLOBAL_STATEMENTS
|
||||
@ -57,151 +58,158 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
WHERE variable_name = 'Questions'";
|
||||
$queries = PMA_DBI_fetch_result($sql, 0, 1);
|
||||
} else {
|
||||
$queries = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL STATUS
|
||||
WHERE (Variable_name LIKE 'Com_%' OR Variable_name = 'Questions')
|
||||
AND Value > 0'", 0, 1);
|
||||
}
|
||||
cleanDeprecated($queries);
|
||||
// admin commands are not queries
|
||||
unset($queries['Com_admin_commands']);
|
||||
$questions = $queries['Questions'];
|
||||
unset($queries['Questions']);
|
||||
|
||||
//$sum=array_sum($queries);
|
||||
$ret = array(
|
||||
'x' => microtime(true)*1000,
|
||||
'y' => $questions,
|
||||
'pointInfo' => $queries
|
||||
);
|
||||
|
||||
exit(json_encode($ret));
|
||||
|
||||
// Traffic realtime chart
|
||||
case 'traffic':
|
||||
$traffic = PMA_DBI_fetch_result(
|
||||
$queries = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL STATUS
|
||||
WHERE Variable_name = 'Bytes_received'
|
||||
OR Variable_name = 'Bytes_sent'", 0, 1);
|
||||
WHERE (Variable_name LIKE 'Com_%' OR Variable_name = 'Questions')
|
||||
AND Value > 0'", 0, 1);
|
||||
}
|
||||
cleanDeprecated($queries);
|
||||
// admin commands are not queries
|
||||
unset($queries['Com_admin_commands']);
|
||||
$questions = $queries['Questions'];
|
||||
unset($queries['Questions']);
|
||||
|
||||
$ret = array(
|
||||
'x' => microtime(true)*1000,
|
||||
'y_sent' => $traffic['Bytes_sent'],
|
||||
'y_received' => $traffic['Bytes_received']
|
||||
);
|
||||
//$sum=array_sum($queries);
|
||||
$ret = array(
|
||||
'x' => microtime(true) * 1000,
|
||||
'y' => $questions,
|
||||
'pointInfo' => $queries
|
||||
);
|
||||
|
||||
exit(json_encode($ret));
|
||||
exit(json_encode($ret));
|
||||
|
||||
// Data for the monitor
|
||||
case 'chartgrid':
|
||||
$ret = json_decode($_REQUEST['requiredData'], true);
|
||||
$statusVars = array();
|
||||
$serverVars = array();
|
||||
$sysinfo = $cpuload = $memory = 0;
|
||||
$pName = '';
|
||||
// Traffic realtime chart
|
||||
case 'traffic':
|
||||
$traffic = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL STATUS
|
||||
WHERE Variable_name = 'Bytes_received'
|
||||
OR Variable_name = 'Bytes_sent'", 0, 1);
|
||||
|
||||
/* Accumulate all required variables and data */
|
||||
// For each chart
|
||||
foreach ($ret as $chart_id => $chartNodes) {
|
||||
// For each data series
|
||||
foreach ($chartNodes as $node_id => $nodeDataPoints) {
|
||||
// For each data point in the series (usually just 1)
|
||||
foreach ($nodeDataPoints as $point_id => $dataPoint) {
|
||||
$pName = $dataPoint['name'];
|
||||
$ret = array(
|
||||
'x' => microtime(true) * 1000,
|
||||
'y_sent' => $traffic['Bytes_sent'],
|
||||
'y_received' => $traffic['Bytes_received']
|
||||
);
|
||||
|
||||
switch ($dataPoint['type']) {
|
||||
/* We only collect the status and server variables here to
|
||||
* read them all in one query, and only afterwards assign them.
|
||||
* Also do some white list filtering on the names
|
||||
*/
|
||||
case 'servervar':
|
||||
if (!preg_match('/[^a-zA-Z_]+/', $pName))
|
||||
$serverVars[] = $pName;
|
||||
break;
|
||||
exit(json_encode($ret));
|
||||
|
||||
case 'statusvar':
|
||||
if (!preg_match('/[^a-zA-Z_]+/', $pName))
|
||||
$statusVars[] = $pName;
|
||||
break;
|
||||
// Data for the monitor
|
||||
case 'chartgrid':
|
||||
$ret = json_decode($_REQUEST['requiredData'], true);
|
||||
$statusVars = array();
|
||||
$serverVars = array();
|
||||
$sysinfo = $cpuload = $memory = 0;
|
||||
$pName = '';
|
||||
|
||||
case 'proc':
|
||||
$result = PMA_DBI_query('SHOW PROCESSLIST');
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = PMA_DBI_num_rows($result);
|
||||
break;
|
||||
/* Accumulate all required variables and data */
|
||||
// For each chart
|
||||
foreach ($ret as $chart_id => $chartNodes) {
|
||||
// For each data series
|
||||
foreach ($chartNodes as $node_id => $nodeDataPoints) {
|
||||
// For each data point in the series (usually just 1)
|
||||
foreach ($nodeDataPoints as $point_id => $dataPoint) {
|
||||
$pName = $dataPoint['name'];
|
||||
|
||||
case 'cpu':
|
||||
if (!$sysinfo) {
|
||||
require_once('libraries/sysinfo.lib.php');
|
||||
$sysinfo = getSysInfo();
|
||||
}
|
||||
if (!$cpuload)
|
||||
$cpuload = $sysinfo->loadavg();
|
||||
|
||||
if (PHP_OS == 'Linux') {
|
||||
$ret[$chart_id][$node_id][$point_id]['idle'] = $cpuload['idle'];
|
||||
$ret[$chart_id][$node_id][$point_id]['busy'] = $cpuload['busy'];
|
||||
} else
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $cpuload['loadavg'];
|
||||
|
||||
break;
|
||||
|
||||
case 'memory':
|
||||
if (!$sysinfo) {
|
||||
require_once('libraries/sysinfo.lib.php');
|
||||
$sysinfo = getSysInfo();
|
||||
}
|
||||
if (!$memory)
|
||||
$memory = $sysinfo->memory();
|
||||
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $memory[$pName];
|
||||
break;
|
||||
switch ($dataPoint['type']) {
|
||||
/* We only collect the status and server variables here to
|
||||
* read them all in one query, and only afterwards assign them.
|
||||
* Also do some white list filtering on the names
|
||||
*/
|
||||
case 'servervar':
|
||||
if (!preg_match('/[^a-zA-Z_]+/', $pName)) {
|
||||
$serverVars[] = $pName;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'statusvar':
|
||||
if (!preg_match('/[^a-zA-Z_]+/', $pName)) {
|
||||
$statusVars[] = $pName;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'proc':
|
||||
$result = PMA_DBI_query('SHOW PROCESSLIST');
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = PMA_DBI_num_rows($result);
|
||||
break;
|
||||
|
||||
case 'cpu':
|
||||
if (!$sysinfo) {
|
||||
require_once('libraries/sysinfo.lib.php');
|
||||
$sysinfo = getSysInfo();
|
||||
}
|
||||
if (!$cpuload) {
|
||||
$cpuload = $sysinfo->loadavg();
|
||||
}
|
||||
|
||||
if (PHP_OS == 'Linux') {
|
||||
$ret[$chart_id][$node_id][$point_id]['idle'] = $cpuload['idle'];
|
||||
$ret[$chart_id][$node_id][$point_id]['busy'] = $cpuload['busy'];
|
||||
} else
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $cpuload['loadavg'];
|
||||
|
||||
break;
|
||||
|
||||
case 'memory':
|
||||
if (!$sysinfo) {
|
||||
require_once('libraries/sysinfo.lib.php');
|
||||
$sysinfo = getSysInfo();
|
||||
}
|
||||
if (!$memory) {
|
||||
$memory = $sysinfo->memory();
|
||||
}
|
||||
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $memory[$pName];
|
||||
break;
|
||||
} /* switch */
|
||||
} /* foreach */
|
||||
} /* foreach */
|
||||
} /* foreach */
|
||||
|
||||
// Retrieve all required status variables
|
||||
if (count($statusVars)) {
|
||||
$statusVarValues = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL STATUS
|
||||
WHERE Variable_name='" . implode("' OR Variable_name='", $statusVars) . "'", 0, 1);
|
||||
} else {
|
||||
$statusVarValues = array();
|
||||
}
|
||||
|
||||
// Retrieve all required server variables
|
||||
if (count($serverVars)) {
|
||||
$serverVarValues = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL VARIABLES
|
||||
WHERE Variable_name='" . implode("' OR Variable_name='", $serverVars) . "'", 0, 1);
|
||||
} else {
|
||||
$serverVarValues = array();
|
||||
}
|
||||
|
||||
// ...and now assign them
|
||||
foreach ($ret as $chart_id => $chartNodes) {
|
||||
foreach ($chartNodes as $node_id => $nodeDataPoints) {
|
||||
foreach ($nodeDataPoints as $point_id => $dataPoint) {
|
||||
switch($dataPoint['type']) {
|
||||
case 'statusvar':
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $statusVarValues[$dataPoint['name']];
|
||||
break;
|
||||
case 'servervar':
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $serverVarValues[$dataPoint['name']];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Retrieve all required status variables
|
||||
if (count($statusVars)) {
|
||||
$statusVarValues = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL STATUS
|
||||
WHERE Variable_name='" . implode("' OR Variable_name='", $statusVars) . "'", 0, 1);
|
||||
} else {
|
||||
$statusVarValues = array();
|
||||
}
|
||||
$ret['x'] = microtime(true) * 1000;
|
||||
|
||||
// Retrieve all required server variables
|
||||
if (count($serverVars)) {
|
||||
$serverVarValues = PMA_DBI_fetch_result(
|
||||
"SHOW GLOBAL VARIABLES
|
||||
WHERE Variable_name='" . implode("' OR Variable_name='", $serverVars) . "'", 0, 1);
|
||||
} else {
|
||||
$serverVarValues = array();
|
||||
}
|
||||
|
||||
// ...and now assign them
|
||||
foreach ($ret as $chart_id => $chartNodes) {
|
||||
foreach ($chartNodes as $node_id => $nodeDataPoints) {
|
||||
foreach ($nodeDataPoints as $point_id => $dataPoint) {
|
||||
switch($dataPoint['type']) {
|
||||
case 'statusvar':
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $statusVarValues[$dataPoint['name']];
|
||||
break;
|
||||
case 'servervar':
|
||||
$ret[$chart_id][$node_id][$point_id]['value'] = $serverVarValues[$dataPoint['name']];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ret['x'] = microtime(true)*1000;
|
||||
|
||||
exit(json_encode($ret));
|
||||
exit(json_encode($ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['log_data'])) {
|
||||
if(PMA_MYSQL_INT_VERSION < 50106) exit('""');
|
||||
if (PMA_MYSQL_INT_VERSION < 50106) {
|
||||
/* FIXME: why this? */
|
||||
exit('""');
|
||||
}
|
||||
|
||||
$start = intval($_REQUEST['time_start']);
|
||||
$end = intval($_REQUEST['time_end']);
|
||||
@ -221,19 +229,23 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
$type = strtolower(substr($row['sql_text'], 0, strpos($row['sql_text'], ' ')));
|
||||
|
||||
switch($type) {
|
||||
case 'insert':
|
||||
case 'update':
|
||||
// Cut off big inserts and updates, but append byte count therefor
|
||||
if(strlen($row['sql_text']) > 220)
|
||||
$row['sql_text'] = substr($row['sql_text'], 0, 200) . '... [' .
|
||||
implode(' ', PMA_formatByteDown(strlen($row['sql_text']), 2, 2)) . ']';
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case 'insert':
|
||||
case 'update':
|
||||
// Cut off big inserts and updates, but append byte count therefor
|
||||
if (strlen($row['sql_text']) > 220) {
|
||||
$row['sql_text'] = substr($row['sql_text'], 0, 200)
|
||||
. '... ['
|
||||
. implode(' ', PMA_formatByteDown(strlen($row['sql_text']), 2, 2))
|
||||
. ']';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(!isset($return['sum'][$type])) $return['sum'][$type] = 0;
|
||||
if (!isset($return['sum'][$type])) {
|
||||
$return['sum'][$type] = 0;
|
||||
}
|
||||
$return['sum'][$type] += $row['#'];
|
||||
$return['rows'][] = $row;
|
||||
}
|
||||
@ -246,7 +258,7 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
exit(json_encode($return));
|
||||
}
|
||||
|
||||
if($_REQUEST['type'] == 'general') {
|
||||
if ($_REQUEST['type'] == 'general') {
|
||||
$limitTypes = (isset($_REQUEST['limitTypes']) && $_REQUEST['limitTypes'])
|
||||
? 'AND argument REGEXP \'^(INSERT|SELECT|UPDATE|DELETE)\' ' : '';
|
||||
|
||||
@ -268,39 +280,44 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
preg_match('/^(\w+)\s/', $row['argument'], $match);
|
||||
$type = strtolower($match[1]);
|
||||
|
||||
if(!isset($return['sum'][$type])) $return['sum'][$type] = 0;
|
||||
if (!isset($return['sum'][$type])) {
|
||||
$return['sum'][$type] = 0;
|
||||
}
|
||||
$return['sum'][$type] += $row['#'];
|
||||
|
||||
switch($type) {
|
||||
case 'insert':
|
||||
// Group inserts if selected
|
||||
if($removeVars && preg_match('/^INSERT INTO (`|\'|"|)([^\s\\1]+)\\1/i', $row['argument'], $matches)) {
|
||||
$insertTables[$matches[2]]++;
|
||||
if ($insertTables[$matches[2]] > 1) {
|
||||
$return['rows'][$insertTablesFirst]['#'] = $insertTables[$matches[2]];
|
||||
case 'insert':
|
||||
// Group inserts if selected
|
||||
if ($removeVars && preg_match('/^INSERT INTO (`|\'|"|)([^\s\\1]+)\\1/i', $row['argument'], $matches)) {
|
||||
$insertTables[$matches[2]]++;
|
||||
if ($insertTables[$matches[2]] > 1) {
|
||||
$return['rows'][$insertTablesFirst]['#'] = $insertTables[$matches[2]];
|
||||
|
||||
// Add a ... to the end of this query to indicate that there's been other queries
|
||||
if($return['rows'][$insertTablesFirst]['argument'][strlen($return['rows'][$insertTablesFirst]['argument'])-1] != '.')
|
||||
$return['rows'][$insertTablesFirst]['argument'] .= '<br/>...';
|
||||
|
||||
// Group this value, thus do not add to the result list
|
||||
continue 2;
|
||||
} else {
|
||||
$insertTablesFirst = $i;
|
||||
$insertTables[$matches[2]] += $row['#'] - 1;
|
||||
// Add a ... to the end of this query to indicate that there's been other queries
|
||||
if ($return['rows'][$insertTablesFirst]['argument'][strlen($return['rows'][$insertTablesFirst]['argument'])-1] != '.') {
|
||||
$return['rows'][$insertTablesFirst]['argument'] .= '<br/>...';
|
||||
}
|
||||
|
||||
// Group this value, thus do not add to the result list
|
||||
continue 2;
|
||||
} else {
|
||||
$insertTablesFirst = $i;
|
||||
$insertTables[$matches[2]] += $row['#'] - 1;
|
||||
}
|
||||
// No break here
|
||||
}
|
||||
// No break here
|
||||
|
||||
case 'update':
|
||||
// Cut off big inserts and updates, but append byte count therefor
|
||||
if(strlen($row['argument']) > 220)
|
||||
$row['argument'] = substr($row['argument'], 0, 200) . '... [' .
|
||||
implode(' ', PMA_formatByteDown(strlen($row['argument'])), 2, 2) . ']';
|
||||
case 'update':
|
||||
// Cut off big inserts and updates, but append byte count therefor
|
||||
if (strlen($row['argument']) > 220) {
|
||||
$row['argument'] = substr($row['argument'], 0, 200)
|
||||
. '... ['
|
||||
. implode(' ', PMA_formatByteDown(strlen($row['argument'])), 2, 2)
|
||||
. ']';
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
default: break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
$return['rows'][] = $row;
|
||||
@ -317,12 +334,15 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['logging_vars'])) {
|
||||
if(isset($_REQUEST['varName']) && isset($_REQUEST['varValue'])) {
|
||||
if (isset($_REQUEST['varName']) && isset($_REQUEST['varValue'])) {
|
||||
$value = PMA_sqlAddslashes($_REQUEST['varValue']);
|
||||
if(!is_numeric($value)) $value="'" . $value . "'";
|
||||
if (!is_numeric($value)) {
|
||||
$value="'" . $value . "'";
|
||||
}
|
||||
|
||||
if(! preg_match("/[^a-zA-Z0-9_]+/", $_REQUEST['varName']))
|
||||
if (! preg_match("/[^a-zA-Z0-9_]+/", $_REQUEST['varName'])) {
|
||||
PMA_DBI_query('SET GLOBAL ' . $_REQUEST['varName'] . ' = ' . $value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -330,14 +350,16 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
exit(json_encode($loggingVars));
|
||||
}
|
||||
|
||||
if(isset($_REQUEST['query_analyzer'])) {
|
||||
if (isset($_REQUEST['query_analyzer'])) {
|
||||
$return = array();
|
||||
|
||||
if(strlen($_REQUEST['database']))
|
||||
if (strlen($_REQUEST['database'])) {
|
||||
PMA_DBI_select_db($_REQUEST['database']);
|
||||
}
|
||||
|
||||
if ($profiling = PMA_profilingSupported())
|
||||
if ($profiling = PMA_profilingSupported()) {
|
||||
PMA_DBI_query('SET PROFILING=1;');
|
||||
}
|
||||
|
||||
// Do not cache query
|
||||
$query = preg_replace('/^(\s*SELECT)/i', '\\1 SQL_NO_CACHE', $_REQUEST['query']);
|
||||
@ -355,7 +377,7 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
|
||||
PMA_DBI_free_result($result);
|
||||
|
||||
if($profiling) {
|
||||
if ($profiling) {
|
||||
$return['profiling'] = array();
|
||||
$result = PMA_DBI_try_query('SELECT seq,state,duration FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=1 ORDER BY seq');
|
||||
while ($row = PMA_DBI_fetch_assoc($result)) {
|
||||
@ -367,7 +389,7 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
exit(json_encode($return));
|
||||
}
|
||||
|
||||
if(isset($_REQUEST['advisor'])) {
|
||||
if (isset($_REQUEST['advisor'])) {
|
||||
include('libraries/Advisor.class.php');
|
||||
$advisor = new Advisor();
|
||||
exit(json_encode($advisor->run()));
|
||||
@ -622,7 +644,8 @@ $links['innodb']['doc'] = 'innodb';
|
||||
// Variable to contain all com_ variables (query statistics)
|
||||
$used_queries = array();
|
||||
|
||||
// Variable to map variable names to their respective section name (used for js category filtering)
|
||||
// Variable to map variable names to their respective section name
|
||||
// (used for js category filtering)
|
||||
$allocationMap = array();
|
||||
|
||||
// Variable to mark used sections
|
||||
@ -636,7 +659,9 @@ foreach ($server_status as $name => $value) {
|
||||
$allocationMap[$name] = $section;
|
||||
$categoryUsed[$section] = true;
|
||||
$section_found = true;
|
||||
if ($section == 'com' && $value > 0) $used_queries[$name] = $value;
|
||||
if ($section == 'com' && $value > 0) {
|
||||
$used_queries[$name] = $value;
|
||||
}
|
||||
break; // Only exits inner loop
|
||||
}
|
||||
}
|
||||
@ -647,29 +672,34 @@ foreach ($server_status as $name => $value) {
|
||||
}
|
||||
|
||||
if(PMA_DRIZZLE) {
|
||||
$used_queries = PMA_DBI_fetch_result('SELECT * FROM data_dictionary.global_statements', 0, 1);
|
||||
$used_queries = PMA_DBI_fetch_result(
|
||||
'SELECT * FROM data_dictionary.global_statements',
|
||||
0,
|
||||
1
|
||||
);
|
||||
unset($used_queries['admin_commands']);
|
||||
} else {
|
||||
// admin commands are not queries (e.g. they include COM_PING, which is excluded from $server_status['Questions'])
|
||||
// admin commands are not queries (e.g. they include COM_PING,
|
||||
// which is excluded from $server_status['Questions'])
|
||||
unset($used_queries['Com_admin_commands']);
|
||||
}
|
||||
|
||||
/* Ajax request refresh */
|
||||
if (isset($_REQUEST['show']) && isset($_REQUEST['ajax_request'])) {
|
||||
switch($_REQUEST['show']) {
|
||||
case 'query_statistics':
|
||||
printQueryStatistics();
|
||||
exit();
|
||||
case 'server_traffic':
|
||||
printServerTraffic();
|
||||
exit();
|
||||
case 'variables_table':
|
||||
// Prints the variables table
|
||||
printVariablesTable();
|
||||
exit();
|
||||
case 'query_statistics':
|
||||
printQueryStatistics();
|
||||
exit();
|
||||
case 'server_traffic':
|
||||
printServerTraffic();
|
||||
exit();
|
||||
case 'variables_table':
|
||||
// Prints the variables table
|
||||
printVariablesTable();
|
||||
exit();
|
||||
|
||||
default:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -677,14 +707,38 @@ $server_db_isLocal = strtolower($cfg['Server']['host']) == 'localhost'
|
||||
|| $cfg['Server']['host'] == '127.0.0.1'
|
||||
|| $cfg['Server']['host'] == '::1';
|
||||
|
||||
PMA_AddJSCode('pma_token = \'' . $_SESSION[' PMA_token '] . "';\n" .
|
||||
'url_query = \'' . str_replace('&', '&', PMA_generate_common_url($db)) . "';\n" .
|
||||
'server_time_diff = new Date().getTime() - ' . (microtime(true)*1000) . ";\n" .
|
||||
'server_os = \'' . PHP_OS . "';\n" .
|
||||
'is_superuser = ' . (PMA_isSuperuser() ? 'true' : 'false') . ";\n" .
|
||||
'server_db_isLocal = ' . ($server_db_isLocal ? 'true' : 'false') . ";\n" .
|
||||
'profiling_docu = \'' . PMA_showMySQLDocu('general-thread-states', 'general-thread-states') . "';\n" .
|
||||
'explain_docu = \'' . PMA_showMySQLDocu('explain-output', 'explain-output') . ";'\n");
|
||||
PMA_AddJSVar(
|
||||
'pma_token',
|
||||
$_SESSION[' PMA_token ']
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'url_query',
|
||||
str_replace('&', '&', PMA_generate_common_url($db))
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'server_time_diff',
|
||||
'new Date().getTime() - ' . (microtime(true) * 1000)
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'server_os',
|
||||
PHP_OS
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'is_superuser',
|
||||
PMA_isSuperuser()
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'server_db_isLocal',
|
||||
$server_db_isLocal
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'profiling_docu',
|
||||
PMA_showMySQLDocu('general-thread-states', 'general-thread-states')
|
||||
);
|
||||
PMA_AddJSVar(
|
||||
'explain_docu',
|
||||
PMA_showMySQLDocu('explain-output', 'explain-output')
|
||||
);
|
||||
|
||||
/**
|
||||
* start output
|
||||
@ -807,7 +861,9 @@ echo __('Runtime Information');
|
||||
echo '<span class="status_' . $section_name . '"> ';
|
||||
$i=0;
|
||||
foreach ($section_links as $link_name => $link_url) {
|
||||
if ($i > 0) echo ', ';
|
||||
if ($i > 0) {
|
||||
echo ', ';
|
||||
}
|
||||
if ('doc' == $link_name) {
|
||||
echo PMA_showMySQLDocu($link_url, $link_url);
|
||||
} else {
|
||||
@ -929,9 +985,11 @@ function printQueryStatistics()
|
||||
$name = str_replace(array('Com_', '_'), array('', ' '), $name);
|
||||
|
||||
// Group together values that make out less than 2% into "Other", but only if we have more than 6 fractions already
|
||||
if ($value < $query_sum * 0.02 && count($chart_json)>6)
|
||||
if ($value < $query_sum * 0.02 && count($chart_json)>6) {
|
||||
$other_sum += $value;
|
||||
else $chart_json[$name] = $value;
|
||||
} else {
|
||||
$chart_json[$name] = $value;
|
||||
}
|
||||
?>
|
||||
<tr class="<?php echo $odd_row ? 'odd' : 'even'; ?>">
|
||||
<th class="name"><?php echo htmlspecialchars($name); ?></th>
|
||||
@ -950,8 +1008,9 @@ function printQueryStatistics()
|
||||
<div id="serverstatusquerieschart">
|
||||
<span style="display:none;">
|
||||
<?php
|
||||
if ($other_sum > 0)
|
||||
if ($other_sum > 0) {
|
||||
$chart_json[__('Other')] = $other_sum;
|
||||
}
|
||||
|
||||
echo json_encode($chart_json);
|
||||
?>
|
||||
@ -1006,8 +1065,7 @@ function printServerTraffic()
|
||||
}
|
||||
|
||||
/* if the server works as master or slave in replication process, display useful information */
|
||||
if ($server_master_status || $server_slave_status)
|
||||
{
|
||||
if ($server_master_status || $server_slave_status) {
|
||||
?>
|
||||
<hr class="clearfloat" />
|
||||
|
||||
@ -1170,12 +1228,16 @@ function printServerTraffic()
|
||||
<th><?php echo __('Command'); ?></th>
|
||||
<th><?php echo __('Time'); ?></th>
|
||||
<th><?php echo __('Status'); ?></th>
|
||||
<th><?php echo __('SQL query'); ?>
|
||||
<th><?php
|
||||
echo __('SQL query');
|
||||
if (! PMA_DRIZZLE) {
|
||||
?>
|
||||
<a href="<?php echo $full_text_link; ?>"
|
||||
title="<?php echo $show_full_sql ? __('Truncate Shown Queries') : __('Show Full Queries'); ?>">
|
||||
<img src="<?php echo $GLOBALS['pmaThemeImage'] . 's_' . ($show_full_sql ? 'partial' : 'full'); ?>text.png"
|
||||
alt="<?php echo $show_full_sql ? __('Truncate Shown Queries') : __('Show Full Queries'); ?>" />
|
||||
</a>
|
||||
<?php } ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -1529,7 +1591,7 @@ function printMonitor()
|
||||
|
||||
<div id="monitorInstructionsDialog" title="<?php echo __('Monitor Instructions'); ?>" style="display:none;">
|
||||
<?php echo __('The phpMyAdmin Monitor can assist you in optimizing the server configuration and track down time intensive queries. For the latter you will need to set log_output to \'TABLE\' and have either the slow_query_log or general_log enabled. Note however, that the general_log produces a lot of data and increases server load by up to 15%'); ?>
|
||||
<?php if(PMA_MYSQL_INT_VERSION < 50106) { ?>
|
||||
<?php if (PMA_MYSQL_INT_VERSION < 50106) { ?>
|
||||
<p>
|
||||
<img class="icon ic_s_attention" src="themes/dot.gif" alt="" />
|
||||
<?php
|
||||
@ -1673,7 +1735,9 @@ function printMonitor()
|
||||
$i=0;
|
||||
foreach ($server_status as $name=>$value) {
|
||||
if (is_numeric($value)) {
|
||||
if ($i++ > 0) echo ", ";
|
||||
if ($i++ > 0) {
|
||||
echo ", ";
|
||||
}
|
||||
echo "'" . $name . "'";
|
||||
}
|
||||
}
|
||||
@ -1691,10 +1755,11 @@ function refreshList($name, $defaultRate=5, $refreshRates=Array(1, 2, 5, 10, 20,
|
||||
foreach ($refreshRates as $rate) {
|
||||
$selected = ($rate == $defaultRate)?' selected="selected"':'';
|
||||
|
||||
if ($rate<60)
|
||||
if ($rate<60) {
|
||||
echo '<option value="' . $rate . '"' . $selected . '>' . sprintf(_ngettext('%d second', '%d seconds', $rate), $rate) . '</option>';
|
||||
else
|
||||
} else {
|
||||
echo '<option value="' . $rate . '"' . $selected . '>' . sprintf(_ngettext('%d minute', '%d minutes', $rate/60), $rate/60) . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
@ -16,9 +16,9 @@ require_once './libraries/common.inc.php';
|
||||
|
||||
$GLOBALS['js_include'][] = 'server_variables.js';
|
||||
|
||||
PMA_AddJSCode('pma_token = \'' . $_SESSION[' PMA_token '] . "';\n" .
|
||||
'is_superuser = ' . (PMA_isSuperuser() ? 'true' : 'false') . ";\n" .
|
||||
'url_query = \'' . str_replace('&', '&', PMA_generate_common_url($db)) . "';\n");
|
||||
PMA_AddJSVar('pma_token', $_SESSION[' PMA_token ']);
|
||||
PMA_AddJSVar('url_query', str_replace('&', '&', PMA_generate_common_url($db)));
|
||||
PMA_AddJSVar('is_superuser', PMA_isSuperuser() ? true : false);
|
||||
|
||||
|
||||
/**
|
||||
@ -43,11 +43,26 @@ if (isset($_REQUEST['ajax_request']) && $_REQUEST['ajax_request'] == true) {
|
||||
switch($_REQUEST['type']) {
|
||||
case 'getval':
|
||||
$varValue = PMA_DBI_fetch_single_row('SHOW GLOBAL VARIABLES WHERE Variable_name="' . PMA_sqlAddslashes($_REQUEST['varName']) . '";', 'NUM');
|
||||
if (isset($VARIABLE_DOC_LINKS[$_REQUEST['varName']][3])
|
||||
&& $VARIABLE_DOC_LINKS[$_REQUEST['varName']][3] == 'byte') {
|
||||
exit(implode(' ', PMA_formatByteDown($varValue[1],3,3)));
|
||||
}
|
||||
exit($varValue[1]);
|
||||
break;
|
||||
|
||||
case 'setval':
|
||||
$value = PMA_sqlAddslashes($_REQUEST['varValue']);
|
||||
if (!is_numeric($value)) $value="'" . $value . "'";
|
||||
$value = $_REQUEST['varValue'];
|
||||
|
||||
if (isset($VARIABLE_DOC_LINKS[$_REQUEST['varName']][3])
|
||||
&& $VARIABLE_DOC_LINKS[$_REQUEST['varName']][3] == 'byte'
|
||||
&& preg_match('/^\s*(\d+(\.\d+)?)\s*(mb|kb|mib|kib|gb|gib)\s*$/i',$value,$matches)) {
|
||||
$exp = array('kb' => 1, 'kib' => 1, 'mb' => 2, 'mib' => 2, 'gb' => 3, 'gib' => 3);
|
||||
$value = floatval($matches[1]) * pow(1024, $exp[strtolower($matches[3])]);
|
||||
} else {
|
||||
$value = PMA_sqlAddslashes($value);
|
||||
}
|
||||
|
||||
if (! is_numeric($value)) $value="'" . $value . "'";
|
||||
|
||||
if (! preg_match("/[^a-zA-Z0-9_]+/", $_REQUEST['varName']) && PMA_DBI_query('SET GLOBAL ' . $_REQUEST['varName'] . ' = ' . $value)) {
|
||||
// Some values are rounded down etc.
|
||||
@ -164,4 +179,4 @@ function formatVariable($name,$value)
|
||||
*/
|
||||
require './libraries/footer.inc.php';
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
36
test/libraries/js_escape_test.php
Normal file
36
test/libraries/js_escape_test.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* tests for JS variable formatting
|
||||
*
|
||||
* @package phpMyAdmin-test
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include to test.
|
||||
*/
|
||||
require_once 'libraries/js_escape.lib.php';
|
||||
|
||||
class PMA_JS_Escape_test extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider variables
|
||||
*/
|
||||
public function testFormat($key, $value, $expected)
|
||||
{
|
||||
$this->assertEquals($expected, PMA_getJsValue($key, $value));
|
||||
}
|
||||
|
||||
public function variables() {
|
||||
return array(
|
||||
array('foo', true, "foo = true;\n"),
|
||||
array('foo', false, "foo = false;\n"),
|
||||
array('foo', 100, "foo = 100;\n"),
|
||||
array('foo', 0, "foo = 0;\n"),
|
||||
array('foo', 'text', "foo = \"text\";\n"),
|
||||
array('foo', 'quote"', "foo = \"quote\\\"\";\n"),
|
||||
array('foo', 'apostroph\'', "foo = \"apostroph\\'\";\n"),
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -279,10 +279,10 @@ button {
|
||||
img.sortableIcon { background-position: -1727px 0; }
|
||||
|
||||
/* Same as s_asc */
|
||||
th.headerSortUp img.sortableIcon { background-position: 0 -1445px; width: 11px; height: 9px; }
|
||||
th.headerSortUp img.sortableIcon { background-position: 0 -1528px; width: 11px; height: 9px; }
|
||||
|
||||
/* Same as s_desc */
|
||||
th.headerSortDown img.sortableIcon { background-position: 0 -1528px; width: 11px; height: 9px; }
|
||||
th.headerSortDown img.sortableIcon { background-position: 0 -1445px; width: 11px; height: 9px; }
|
||||
|
||||
/* Fix position */
|
||||
.ic_more { vertical-align: middle; }
|
||||
@ -2311,7 +2311,7 @@ span.CodeMirror-selected {
|
||||
.CodeMirror-matchingbracket {color: #0f0 !important;}
|
||||
.CodeMirror-nonmatchingbracket {color: #f22 !important;}
|
||||
|
||||
span.cm-keyword {
|
||||
span.cm-keyword, span.cm-statement-verb {
|
||||
color: <?php echo $GLOBALS['cfg']['SQP']['fmtColor']['alpha_reservedWord']; ?>;
|
||||
}
|
||||
span.cm-variable {
|
||||
|
||||
@ -467,10 +467,10 @@ select[multiple] {
|
||||
img.sortableIcon { background-position: -1812px 0; }
|
||||
|
||||
/* Same as s_asc */
|
||||
th.headerSortUp img.sortableIcon { background-position: -1516px 0; }
|
||||
th.headerSortUp img.sortableIcon { background-position: 0 0; }
|
||||
|
||||
/* Same as s_desc */
|
||||
th.headerSortDown img.sortableIcon { background-position: 0 0; }
|
||||
th.headerSortDown img.sortableIcon { background-position: -1516px 0; }
|
||||
|
||||
/* Fix position */
|
||||
.ic_more { vertical-align: middle; }
|
||||
@ -1467,7 +1467,7 @@ div#queryAnalyzerDialog div.CodeMirror-scroll {
|
||||
}
|
||||
|
||||
div#queryAnalyzerDialog div#queryProfiling {
|
||||
height: 250px;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
div#queryAnalyzerDialog td.explain {
|
||||
@ -1475,9 +1475,9 @@ div#queryAnalyzerDialog td.explain {
|
||||
}
|
||||
|
||||
div#queryAnalyzerDialog table.queryNums {
|
||||
display: none;
|
||||
border:0;
|
||||
text-align:left;
|
||||
display: none;
|
||||
border:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.smallIndent {
|
||||
@ -2732,7 +2732,7 @@ span.CodeMirror-selected {
|
||||
.CodeMirror-matchingbracket {color: #0f0 !important;}
|
||||
.CodeMirror-nonmatchingbracket {color: #f22 !important;}
|
||||
|
||||
span.cm-keyword {
|
||||
span.cm-keyword, span.cm-statement-verb {
|
||||
color: <?php echo $GLOBALS['cfg']['SQP']['fmtColor']['alpha_reservedWord']; ?>;
|
||||
}
|
||||
span.cm-variable {
|
||||
@ -3024,3 +3024,523 @@ span.cm-number {
|
||||
.ui-timepicker-div dl dt{ height: 25px; }
|
||||
.ui-timepicker-div dl dd{ margin: -25px 0 10px 65px; }
|
||||
.ui-timepicker-div td { font-size: 90%; }
|
||||
|
||||
/* Designer */
|
||||
.input_tab {
|
||||
background-color: #A6C7E1;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#canvas {
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
canvas.pmd {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
canvas.pmd * {
|
||||
behavior: url(#default#VML);
|
||||
}
|
||||
|
||||
.pmd_tab {
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #AAAAAA;
|
||||
z-index: 1;
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.tab_zag {
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
text-align: center;
|
||||
cursor: move;
|
||||
padding: 1px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tab_zag_2 {
|
||||
background-image: url(images/Header_Linked.png);
|
||||
background-repeat: repeat-x;
|
||||
text-align: center;
|
||||
cursor: move;
|
||||
padding: 1px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tab_field {
|
||||
background: #FFFFFF;
|
||||
color: #000000;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.tab_field_2 {
|
||||
background-color: #CCFFCC;
|
||||
color: #000000;
|
||||
background-repeat: repeat-x;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.tab_field_3 {
|
||||
background-color: #FFE6E6; /*#DDEEFF*/
|
||||
color: #000000;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
#pmd_hint {
|
||||
white-space: nowrap;
|
||||
position: absolute;
|
||||
background-color: #99FF99;
|
||||
color: #000000;
|
||||
left: 200px;
|
||||
top: 50px;
|
||||
z-index: 3;
|
||||
border: #00CC66 solid 1px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.scroll_tab {
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.pmd_Tabs {
|
||||
cursor: default;
|
||||
color: #0055bb;
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
text-indent: 3px;
|
||||
font-weight: bold;
|
||||
margin-left: 2px;
|
||||
text-align: left;
|
||||
background-color: #FFFFFF;
|
||||
background-image: url(images/left_panel_butt.png);
|
||||
border: #CCCCCC solid 1px;
|
||||
}
|
||||
|
||||
.pmd_Tabs2 {
|
||||
cursor: default;
|
||||
color: #0055bb;
|
||||
background: #FFEE99;
|
||||
text-indent: 3px;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
border: #9999FF solid 1px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.owner {
|
||||
font-weight: normal;
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.option_tab {
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.select_all {
|
||||
vertical-align: top;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
cursor: default;
|
||||
width: 1px;
|
||||
color: #000000;
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
.small_tab {
|
||||
vertical-align: top;
|
||||
background-color: #0064ea;
|
||||
color: #FFFFFF;
|
||||
background-image: url(images/small_tab.png);
|
||||
cursor: default;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
width: 1px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.small_tab2 {
|
||||
vertical-align: top;
|
||||
color: #FFFFFF;
|
||||
background-color: #FF9966;
|
||||
cursor: default;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: 1px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.small_tab_pref {
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
text-align: center;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.small_tab_pref2 {
|
||||
vertical-align: top;
|
||||
color: #FFFFFF;
|
||||
background-color: #FF9966;
|
||||
cursor: default;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: 1px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.butt {
|
||||
border: #4477aa solid 1px;
|
||||
font-weight: bold;
|
||||
height: 19px;
|
||||
width: 70px;
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
.L_butt2_1 {
|
||||
padding: 1px;
|
||||
text-decoration: none;
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
vertical-align: middle;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.L_butt2_2 {
|
||||
padding: 0;
|
||||
border: #0099CC solid 1px;
|
||||
background: #FFEE99;
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------*/
|
||||
.bor {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.frams1 {
|
||||
background: url(images/1.png) no-repeat right bottom;
|
||||
}
|
||||
|
||||
.frams2 {
|
||||
background: url(images/2.png) no-repeat left bottom;
|
||||
}
|
||||
|
||||
.frams3 {
|
||||
background: url(images/3.png) no-repeat left top;
|
||||
}
|
||||
|
||||
.frams4 {
|
||||
background: url(images/4.png) no-repeat right top;
|
||||
}
|
||||
|
||||
.frams5 {
|
||||
background: url(images/5.png) repeat-x center bottom;
|
||||
}
|
||||
|
||||
.frams6 {
|
||||
background: url(images/6.png) repeat-y left;
|
||||
}
|
||||
|
||||
.frams7 {
|
||||
background: url(images/7.png) repeat-x top;
|
||||
}
|
||||
|
||||
.frams8 {
|
||||
background: url(images/8.png) repeat-y right;
|
||||
}
|
||||
|
||||
#osn_tab {
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
border: #A9A9A9 solid 1px;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #EAEEF0;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-image: url(images/top_panel.png);
|
||||
background-position: top;
|
||||
background-repeat: repeat-x;
|
||||
border-right: #999999 solid 1px;
|
||||
border-left: #999999 solid 1px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.header a {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 3px 1px 4px 1px;
|
||||
height: 20px;
|
||||
border: 1px dotted #ffffff;
|
||||
}
|
||||
|
||||
.header .M_bord {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 4px;
|
||||
height: 20px;
|
||||
width: 2px;
|
||||
}
|
||||
|
||||
.header a.first {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.header a.last {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
a.M_butt_Selected_down_IE,
|
||||
a.M_butt_Selected_down {
|
||||
border: 1px solid #C0C0BB;
|
||||
background-color: #99FF99;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
a.M_butt_Selected_down_IE:hover,
|
||||
a.M_butt_Selected_down:hover,
|
||||
a.M_butt:hover {
|
||||
border: 1px solid #0099CC;
|
||||
background-color: #FFEE99;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#layer_menu {
|
||||
z-index: 1000;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background-color: #EAEEF0;
|
||||
border: #999999 solid 1px;
|
||||
}
|
||||
|
||||
#layer_action {
|
||||
position: absolute;
|
||||
left: 638px;
|
||||
top: 52px;
|
||||
z-index: 1000;
|
||||
background-color: #CCFF99;
|
||||
padding: 3px;
|
||||
border: #009933 solid 1px;
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#layer_upd_relation {
|
||||
position: absolute;
|
||||
left: 637px;
|
||||
top: 224px;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
#layer_new_relation {
|
||||
position: absolute;
|
||||
left: 636px;
|
||||
top: 85px;
|
||||
z-index: 1000;
|
||||
width: 153px;
|
||||
}
|
||||
|
||||
#pmd_optionse {
|
||||
position: absolute;
|
||||
left: 636px;
|
||||
top: 85px;
|
||||
z-index: 1000;
|
||||
width: 153px;
|
||||
}
|
||||
|
||||
#layer_menu_sizer {
|
||||
background-image: url(../../images/resize.png);
|
||||
cursor: nw-resize;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.panel {
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
right: 0;
|
||||
display: none;
|
||||
background: #FFF;
|
||||
border:1px solid #F5F5F5;
|
||||
width: 350 px;
|
||||
height: auto;
|
||||
padding: 30px 170px 30px 30px;
|
||||
color:#FFF;
|
||||
z-index:99;
|
||||
}
|
||||
|
||||
a.trigger{
|
||||
position: fixed;
|
||||
text-decoration: none;
|
||||
top: 60px; right: 0;
|
||||
color:#fff;
|
||||
padding: 10px 40px 10px 15px;
|
||||
background:#333333 url(images/plus.png) 85% 55% no-repeat;
|
||||
border:1px solid #444444;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.trigger:hover{
|
||||
position: fixed;
|
||||
text-decoration: none;
|
||||
top: 60px; right: 0;
|
||||
color:#080808;
|
||||
padding: 10px 40px 10px 15px;
|
||||
background:#fff696 url(images/plus.png) 85% 55% no-repeat;
|
||||
border:1px solid #999;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.active.trigger {
|
||||
background:#222222 url(images/minus.png) 85% 55% no-repeat;
|
||||
z-index:999;
|
||||
}
|
||||
|
||||
a.active.trigger:hover {
|
||||
background:#fff696 url(images/minus.png) 85% 55% no-repeat;
|
||||
z-index:999;
|
||||
}
|
||||
|
||||
h2.tiger{
|
||||
background-repeat: repeat-x;
|
||||
padding: 1px;
|
||||
font-weight: bold;
|
||||
padding: 50 20 50 20px;
|
||||
margin: 0 0 5px 0;
|
||||
width: 250px;
|
||||
float: left;
|
||||
color : #333;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2.tiger a {
|
||||
background-image: url(images/Header.png);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color : #333;
|
||||
display: block;
|
||||
}
|
||||
|
||||
h2.tiger a:hover {
|
||||
color: #000;
|
||||
background-image: url(images/Header_Linked.png);
|
||||
}
|
||||
|
||||
h2.active {
|
||||
background-image: url(images/Header.png);
|
||||
background-repeat: repeat-x;
|
||||
padding: 1px;
|
||||
background-position: left bottom;
|
||||
}
|
||||
|
||||
.toggle_container {
|
||||
margin: 0 0 5px;
|
||||
padding: 0;
|
||||
border-top: 1px solid #d6d6d6;
|
||||
background: #FFF ;
|
||||
width: 250px;
|
||||
overflow: hidden;
|
||||
font-size: 1.2em;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.toggle_container .block {
|
||||
background-color: #DBE4E8;
|
||||
padding:40 15 40 15px; /*--Padding of Container--*/
|
||||
border:1px solid #999;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.history_table {
|
||||
text-align: center;
|
||||
background-color: #9999CC;
|
||||
}
|
||||
|
||||
.history_table2 {
|
||||
text-align: center;
|
||||
background-color: #DBE4E8;
|
||||
}
|
||||
|
||||
#filter {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0%;
|
||||
left: 0%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #CCA;
|
||||
z-index:10;
|
||||
opacity:0.5;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
|
||||
#box {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 20%;
|
||||
left: 30%;
|
||||
width: 500px;
|
||||
height: 220px;
|
||||
padding: 48px;
|
||||
margin:0;
|
||||
border: 1px solid black;
|
||||
background-color: white;
|
||||
z-index:101;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
#boxtitle {
|
||||
position:absolute;
|
||||
float:center;
|
||||
top:0;
|
||||
left:0;
|
||||
width:593px;
|
||||
height:20px;
|
||||
padding:0;
|
||||
padding-top:4px;
|
||||
left-padding:8px;
|
||||
margin:0;
|
||||
border-bottom:4px solid #3CF;
|
||||
background-color: #D0DCE0;
|
||||
color:black;
|
||||
font-weight:bold;
|
||||
padding-left: 2px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
#tblfooter {
|
||||
background-color: #D3DCE3;
|
||||
float: right;
|
||||
padding-top:10px;
|
||||
color: black;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
input.btn {
|
||||
color:#333;
|
||||
background-color: #D0DCE0;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user