fhiiqm/tool/adminer.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 04 Nov 2011 11:18:11 +0100
changeset 17 f990704af47b
child 25 482252ff12fd
permissions -rw-r--r--
+ adminer, Korrekturen, prod_hier mit Rechten prodgroup
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     1
<?php
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     2
/** Adminer - Compact database management
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     3
* @link http://www.adminer.org/
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     4
* @author Jakub Vrana, http://www.vrana.cz/
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     5
* @copyright 2007 Jakub Vrana
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     6
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     7
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     8
* @version 3.3.3
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
     9
*/error_reporting(6135);$Ub=(!ereg('^(unsafe_raw)?$',ini_get("filter.default")));if($Ub||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$zf=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($zf){$$X=$zf;}}}if(isset($_GET["file"])){header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    10
base64_decode("AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAEzMzMREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD//9UAwP/VAIB/AACAf/AAgH+kAIB/gACAfwAAgH8AAIABAACAAf8AgAH/AMAA/wD+AP8A/wAIAf+B1QD//9UA");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo'body{color:#000;background:#fff;font:90%/1.25 Verdana,Arial,Helvetica,sans-serif;margin:0;}a{color:blue;}a:visited{color:navy;}a:hover{color:red;}h1{font-size:150%;margin:0;padding:.8em 1em;border-bottom:1px solid #999;font-weight:normal;color:#777;background:#eee;}h2{font-size:150%;margin:0 0 20px -18px;padding:.8em 1em;border-bottom:1px solid #000;color:#000;font-weight:normal;background:#ddf;}h3{font-weight:normal;font-size:130%;margin:1em 0 0;}form{margin:0;}table{margin:1em 20px 0 0;border:0;border-top:1px solid #999;border-left:1px solid #999;font-size:90%;}td,th{border:0;border-right:1px solid #999;border-bottom:1px solid #999;padding:.2em .3em;}th{background:#eee;text-align:left;}thead th{text-align:center;}thead td,thead th{background:#ddf;}fieldset{display:inline;vertical-align:top;padding:.5em .8em;margin:.8em .5em 0 0;border:1px solid #999;}p{margin:.8em 20px 0 0;}img{vertical-align:middle;border:0;}td img{max-width:200px;max-height:200px;}code{background:#eee;}tbody tr:hover td,tbody tr:hover th{background:#eee;}pre{margin:1em 0 0;}input[type=image]{vertical-align:middle;}.version{color:#777;font-size:67%;}.js .hidden,.nojs .jsonly{display:none;}.nowrap td,.nowrap th,td.nowrap{white-space:pre;}.wrap td{white-space:normal;}.error{color:red;background:#fee;}.error b{background:#fff;font-weight:normal;}.message{color:green;background:#efe;}.error,.message{padding:.5em .8em;margin:1em 20px 0 0;}.char{color:#007F00;}.date{color:#7F007F;}.enum{color:#007F7F;}.binary{color:red;}.odd td{background:#F5F5F5;}.js .checked td,.js .checked th{background:#ddf;}.time{color:silver;font-size:70%;}.function{text-align:right;}.number{text-align:right;}.datetime{text-align:right;}.type{width:15ex;width:auto\\9;}.options select{width:20ex;width:auto\\9;}.active{font-weight:bold;}.sqlarea{width:98%;}#menu{position:absolute;margin:10px 0 0;padding:0 0 30px 0;top:2em;left:0;width:19em;overflow:auto;overflow-y:hidden;white-space:nowrap;}#menu p{padding:.8em 1em;margin:0;border-bottom:1px solid #ccc;}#content{margin:2em 0 0 21em;padding:10px 20px 20px 0;}#lang{position:absolute;top:0;left:0;line-height:1.8em;padding:.3em 1em;}#breadcrumb{white-space:nowrap;position:absolute;top:0;left:21em;background:#eee;height:2em;line-height:1.8em;padding:0 1em;margin:0 0 0 -18px;}#loader{position:fixed;top:0;left:18em;z-index:1;}#h1{color:#777;text-decoration:none;font-style:italic;}#version{font-size:67%;color:red;}#schema{margin-left:60px;position:relative;}#schema .table{border:1px solid silver;padding:0 2px;cursor:move;position:absolute;}#schema .references{position:absolute;}.rtl h2{margin:0 -18px 20px 0;}.rtl p,.rtl table,.rtl .error,.rtl .message{margin:1em 0 0 20px;}.rtl #content{margin:2em 21em 0 0;padding:10px 0 20px 20px;}.rtl #breadcrumb{left:auto;right:21em;margin:0 -18px 0 0;}.rtl #lang,.rtl #menu{left:auto;right:0;}@media print{#lang,#menu{display:none;}#content{margin-left:1em;}#breadcrumb{left:1em;}.nowrap td,.nowrap th,td.nowrap{white-space:normal;}}';}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");?>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    11
function toggle(id){var el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    12
function cookie(assign,days){var date=new Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    13
function verifyVersion(){cookie('adminer_version=0',1);var script=document.createElement('script');script.src=location.protocol+'//www.adminer.org/version.php';document.body.appendChild(script);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    14
function selectValue(select){var selected=select.options[select.selectedIndex];return((selected.attributes.value||{}).specified?selected.value:selected.text);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    15
function trCheck(el){var tr=el.parentNode.parentNode;tr.className=tr.className.replace(/(^|\s)checked(\s|$)/,'$2')+(el.checked?' checked':'');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    16
function formCheck(el,name){var elems=el.form.elements;for(var i=0;i<elems.length;i++){if(name.test(elems[i].name)){elems[i].checked=el.checked;trCheck(elems[i]);}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    17
function tableCheck(){var tables=document.getElementsByTagName('table');for(var i=0;i<tables.length;i++){if(/(^|\s)checkable(\s|$)/.test(tables[i].className)){var trs=tables[i].getElementsByTagName('tr');for(var j=0;j<trs.length;j++){trCheck(trs[j].firstChild.firstChild);}}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    18
function formUncheck(id){var el=document.getElementById(id);el.checked=false;trCheck(el);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    19
function formChecked(el,name){var checked=0;var elems=el.form.elements;for(var i=0;i<elems.length;i++){if(name.test(elems[i].name)&&elems[i].checked){checked++;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    20
return checked;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    21
function tableClick(event){var click=true;var el=event.target||event.srcElement;while(!/^tr$/i.test(el.tagName)){if(/^table$/i.test(el.tagName)){return;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    22
if(/^(a|input|textarea)$/i.test(el.tagName)){click=false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    23
el=el.parentNode;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    24
el=el.firstChild.firstChild;if(click){el.click&&el.click();el.onclick&&el.onclick();}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    25
trCheck(el);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    26
function setHtml(id,html){var el=document.getElementById(id);if(el){if(html==undefined){el.parentNode.innerHTML='&nbsp;';}else{el.innerHTML=html;}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    27
function nodePosition(el){var pos=0;while(el=el.previousSibling){pos++;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    28
return pos;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    29
function pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');if(!ajaxSend(href)){location.href=href;}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    30
function selectAddRow(field){field.onchange=function(){};var row=field.parentNode.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/[a-z]\[\d+/,'$&1');selects[i].selectedIndex=0;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    31
var inputs=row.getElementsByTagName('input');if(inputs.length){inputs[0].name=inputs[0].name.replace(/[a-z]\[\d+/,'$&1');inputs[0].value='';inputs[0].className='';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    32
field.parentNode.parentNode.appendChild(row);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    33
function bodyKeydown(event,button){var target=event.target||event.srcElement;if(event.ctrlKey&&(event.keyCode==13||event.keyCode==10)&&!event.altKey&&!event.metaKey&&/select|textarea|input/i.test(target.tagName)){target.blur();if(!ajaxForm(target.form,(button?button+'=1':''))){if(button){target.form[button].click();}else{target.form.submit();}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    34
return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    35
return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    36
function editingKeydown(event){if((event.keyCode==40||event.keyCode==38)&&event.ctrlKey&&!event.altKey&&!event.metaKey){var target=event.target||event.srcElement;var sibling=(event.keyCode==40?'nextSibling':'previousSibling');var el=target.parentNode.parentNode[sibling];if(el&&(/^tr$/i.test(el.tagName)||(el=el[sibling]))&&/^tr$/i.test(el.tagName)&&(el=el.childNodes[nodePosition(target.parentNode)])&&(el=el.childNodes[nodePosition(target)])){el.focus();}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    37
return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    38
if(event.shiftKey&&!bodyKeydown(event,'insert')){eventStop(event);return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    39
return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    40
function functionChange(select){var input=select.form[select.name.replace(/^function/,'fields')];if(selectValue(select)){if(input.origMaxLength===undefined){input.origMaxLength=input.maxLength;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    41
input.removeAttribute('maxlength');}else if(input.origMaxLength>=0){input.maxLength=input.origMaxLength;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    42
function ajax(url,callback,data){var xmlhttp=(window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject('Microsoft.XMLHTTP'):false));if(xmlhttp){xmlhttp.open((data?'POST':'GET'),url);if(data){xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    43
xmlhttp.setRequestHeader('X-Requested-With','XMLHttpRequest');xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){callback(xmlhttp);}};xmlhttp.send(data);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    44
return xmlhttp;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    45
function ajaxSetHtml(url){return ajax(url,function(xmlhttp){if(xmlhttp.status){var data=eval('('+xmlhttp.responseText+')');for(var key in data){setHtml(key,data[key]);}}});}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    46
var originalFavicon;function replaceFavicon(href){var favicon=document.getElementById('favicon');if(favicon){favicon.href=href;favicon.parentNode.appendChild(favicon);}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    47
var ajaxState=0;function ajaxSend(url,data,popState,noscroll){if(!history.pushState){return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    48
var currentState=++ajaxState;onblur=function(){if(!originalFavicon){originalFavicon=(document.getElementById('favicon')||{}).href;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    49
replaceFavicon(location.pathname+'?file=loader.gif&amp;version=3.3.3');};setHtml('loader','<img src="'+location.pathname+'?file=loader.gif&amp;version=3.3.3" alt="">');return ajax(url,function(xmlhttp){if(currentState==ajaxState){var title=xmlhttp.getResponseHeader('X-AJAX-Title');if(title){document.title=decodeURIComponent(title);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    50
var redirect=xmlhttp.getResponseHeader('X-AJAX-Redirect');if(redirect){return ajaxSend(redirect,'',popState);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    51
onblur=function(){};if(originalFavicon){replaceFavicon(originalFavicon);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    52
if(!xmlhttp.status){setHtml('loader','');}else{if(!popState){if(data||url!=location.href){history.pushState(data,'',url);}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    53
if(!noscroll&&!/&order/.test(url)){scrollTo(0,0);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    54
setHtml('content',xmlhttp.responseText);var content=document.getElementById('content');var scripts=content.getElementsByTagName('script');var length=scripts.length;for(var i=0;i<length;i++){var script=document.createElement('script');script.text=scripts[i].text;content.appendChild(script);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    55
var as=document.getElementById('menu').getElementsByTagName('a');var href=location.href.replace(/(&(sql=|dump=|(select|table)=[^&]*)).*/,'$1');for(var i=0;i<as.length;i++){as[i].className=(href==as[i].href?'active':'');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    56
var dump=document.getElementById('dump');if(dump){var match=/&(select|table)=([^&]+)/.exec(href);dump.href=dump.href.replace(/[^=]+$/,'')+(match?match[2]:'');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    57
if(window.jush){jush.highlight_tag('code',0);}}}},data);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    58
onpopstate=function(event){if((ajaxState||event.state)&&!/#/.test(location.href)){ajaxSend(location.href,(event.state&&confirm(areYouSure)?event.state:''),1);}else{ajaxState++;}};function ajaxForm(form,data,noscroll){if((/&(database|scheme|create|view|sql|user|dump|call)=/.test(location.href)&&!/\./.test(data))||(form.onsubmit&&form.onsubmit()===false)){return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    59
var params=[];for(var i=0;i<form.elements.length;i++){var el=form.elements[i];if(/file/i.test(el.type)&&el.value){return false;}else if(el.name&&(!/checkbox|radio|submit|file/i.test(el.type)||el.checked)){params.push(encodeURIComponent(el.name)+'='+encodeURIComponent(/select/i.test(el.tagName)?selectValue(el):el.value));}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    60
if(data){params.push(data);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    61
if(form.method=='post'){return ajaxSend((/\?/.test(form.action)?form.action:location.href),params.join('&'),false,noscroll);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    62
return ajaxSend((form.action||location.href).replace(/\?.*/,'')+'?'+params.join('&'),'',false,noscroll);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    63
function selectDblClick(td,event,text){if(/input|textarea/i.test(td.firstChild.tagName)){return;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    64
var original=td.innerHTML;var input=document.createElement(text?'textarea':'input');input.onkeydown=function(event){if(!event){event=window.event;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    65
if(event.keyCode==27&&!(event.ctrlKey||event.shiftKey||event.altKey||event.metaKey)){td.innerHTML=original;}};var pos=event.rangeOffset;var value=td.firstChild.alt||td.textContent||td.innerText;input.style.width=Math.max(td.clientWidth-14,20)+'px';if(text){var rows=1;value.replace(/\n/g,function(){rows++;});input.rows=rows;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    66
if(value=='\u00A0'||td.getElementsByTagName('i').length){value='';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    67
if(document.selection){var range=document.selection.createRange();range.moveToPoint(event.clientX,event.clientY);var range2=range.duplicate();range2.moveToElementText(td);range2.setEndPoint('EndToEnd',range);pos=range2.text.length;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    68
td.innerHTML='';td.appendChild(input);input.focus();if(text==2){return ajax(location.href+'&'+encodeURIComponent(td.id)+'=',function(xmlhttp){if(xmlhttp.status){input.value=xmlhttp.responseText;input.name=td.id;}});}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    69
input.value=value;input.name=td.id;input.selectionStart=pos;input.selectionEnd=pos;if(document.selection){var range=document.selection.createRange();range.moveEnd('character',-input.value.length+pos);range.select();}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    70
function bodyClick(event,db,ns){if(event.button||event.ctrlKey||event.shiftKey||event.altKey||event.metaKey){return;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    71
if(event.getPreventDefault?event.getPreventDefault():event.returnValue===false||event.defaultPrevented){return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    72
var el=event.target||event.srcElement;if(/^a$/i.test(el.parentNode.tagName)){el=el.parentNode;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    73
if(/^a$/i.test(el.tagName)&&!/:|#|&download=/i.test(el.getAttribute('href'))&&/[&?]username=/.test(el.href)){var match=/&db=([^&]*)/.exec(el.href);var match2=/&ns=([^&]*)/.exec(el.href);return!(db==(match?match[1]:'')&&ns==(match2?match2[1]:'')&&ajaxSend(el.href));}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    74
if(/^input$/i.test(el.tagName)&&/image|submit/.test(el.type)){return!ajaxForm(el.form,(el.name?encodeURIComponent(el.name)+(el.type=='image'?'.x':'')+'=1':''),el.type=='image');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    75
return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    76
function eventStop(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    77
var jushRoot=location.protocol + '//www.adminer.org/static/';function bodyLoad(version){if(history.state!==undefined){onpopstate(history);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    78
if(jushRoot){var script=document.createElement('script');script.src=jushRoot+'jush.js';script.onload=function(){if(window.jush){jush.create_links=' target="_blank" rel="noreferrer"';jush.urls.sql_sqlset=jush.urls.sql[0]=jush.urls.sqlset[0]=jush.urls.sqlstatus[0]='http://dev.mysql.com/doc/refman/'+version+'/en/$key';var pgsql='http://www.postgresql.org/docs/'+version+'/static/';jush.urls.pgsql_pgsqlset=jush.urls.pgsql[0]=pgsql+'$key';jush.urls.pgsqlset[0]=pgsql+'runtime-config-$key.html#GUC-$1';jush.style(jushRoot+'jush.css');if(window.jushLinks){jush.custom_links=jushLinks;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    79
jush.highlight_tag('code',0);}};script.onreadystatechange=function(){if(/^(loaded|complete)$/.test(script.readyState)){script.onload();}};document.body.appendChild(script);}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    80
function formField(form,name){for(var i=0;i<form.length;i++){if(form[i].name==name){return form[i];}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    81
function typePassword(el,disable){try{el.type=(disable?'text':'password');}catch(e){}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    82
function loginDriver(driver){var trs=driver.parentNode.parentNode.parentNode.rows;for(var i=1;i<trs.length;i++){trs[i].className=(/sqlite/.test(driver.value)?'hidden':'');}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    83
function textareaKeydown(target,event){if(!event.shiftKey&&!event.altKey&&!event.ctrlKey&&!event.metaKey){if(event.keyCode==9){if(target.setSelectionRange){var start=target.selectionStart;var scrolled=target.scrollTop;target.value=target.value.substr(0,start)+'\t'+target.value.substr(target.selectionEnd);target.setSelectionRange(start+1,start+1);target.scrollTop=scrolled;return false;}else if(target.createTextRange){document.selection.createRange().text='\t';return false;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    84
if(event.keyCode==27){var els=target.form.elements;for(var i=1;i<els.length;i++){if(els[i-1]==target){els[i].focus();break;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    85
return false;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    86
return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    87
var added='.',rowCount;function delimiterEqual(val,a,b){return(val==a+'_'+b||val==a+b||val==a+b.charAt(0).toUpperCase()+b.substr(1));}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    88
function idfEscape(s){return s.replace(/`/,'``');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    89
function editingNameChange(field){var name=field.name.substr(0,field.name.length-7);var type=formField(field.form,name+'[type]');var opts=type.options;var candidate;var val=field.value;for(var i=opts.length;i--;){var match=/(.+)`(.+)/.exec(opts[i].value);if(!match){if(candidate&&i==opts.length-2&&val==opts[candidate].value.replace(/.+`/,'')&&name=='fields[1]'){return;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    90
break;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    91
var table=match[1];var column=match[2];var tables=[table,table.replace(/s$/,''),table.replace(/es$/,'')];for(var j=0;j<tables.length;j++){table=tables[j];if(val==column||val==table||delimiterEqual(val,table,column)||delimiterEqual(val,column,table)){if(candidate){return;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    92
candidate=i;break;}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    93
if(candidate){type.selectedIndex=candidate;type.onchange();}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    94
function editingAddRow(button,allowed,focus){if(allowed&&rowCount>=allowed){return false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    95
var match=/(\d+)(\.\d+)?/.exec(button.name);var x=match[0]+(match[2]?added.substr(match[2].length):added)+'1';var row=button.parentNode.parentNode;var row2=row.cloneNode(true);var tags=row.getElementsByTagName('select');var tags2=row2.getElementsByTagName('select');for(var i=0;i<tags.length;i++){tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);tags2[i].selectedIndex=tags[i].selectedIndex;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    96
tags=row.getElementsByTagName('input');tags2=row2.getElementsByTagName('input');var input=tags2[0];for(var i=0;i<tags.length;i++){if(tags[i].name=='auto_increment_col'){tags2[i].value=x;tags2[i].checked=false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    97
tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);if(/\[(orig|field|comment|default)/.test(tags[i].name)){tags2[i].value='';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    98
if(/\[(has_default)/.test(tags[i].name)){tags2[i].checked=false;}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
    99
tags[0].onchange=function(){editingNameChange(tags[0]);};row.parentNode.insertBefore(row2,row.nextSibling);if(focus){input.onchange=function(){editingNameChange(input);};input.focus();}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   100
added+='0';rowCount++;return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   101
function editingRemoveRow(button){var field=formField(button.form,button.name.replace(/drop_col(.+)/,'fields$1[field]'));field.parentNode.removeChild(field);button.parentNode.parentNode.style.display='none';return true;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   102
var lastType='';function editingTypeChange(type){var name=type.name.substr(0,type.name.length-6);var text=selectValue(type);for(var i=0;i<type.form.elements.length;i++){var el=type.form.elements[i];if(el.name==name+'[length]'&&!((/(char|binary)$/.test(lastType)&&/(char|binary)$/.test(text))||(/(enum|set)$/.test(lastType)&&/(enum|set)$/.test(text)))){el.value='';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   103
if(lastType=='timestamp'&&el.name==name+'[has_default]'&&/timestamp/i.test(formField(type.form,name+'[default]').value)){el.checked=false;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   104
if(el.name==name+'[collation]'){el.className=(/(char|text|enum|set)$/.test(text)?'':'hidden');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   105
if(el.name==name+'[unsigned]'){el.className=(/(int|float|double|decimal)$/.test(text)?'':'hidden');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   106
if(el.name==name+'[on_delete]'){el.className=(/`/.test(text)?'':'hidden');}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   107
function editingLengthFocus(field){var td=field.parentNode;if(/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))){var edit=document.getElementById('enum-edit');var val=field.value;edit.value=(/^'.+','.+'$/.test(val)?val.substr(1,val.length-2).replace(/','/g,"\n").replace(/''/g,"'"):val);td.appendChild(edit);field.style.display='none';edit.style.display='inline';edit.focus();}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   108
function editingLengthBlur(edit){var field=edit.parentNode.firstChild;var val=edit.value;field.value=(/\n/.test(val)?"'"+val.replace(/\n+$/,'').replace(/'/g,"''").replace(/\n/g,"','")+"'":val);field.style.display='inline';edit.style.display='none';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   109
function columnShow(checked,column){var trs=document.getElementById('edit-fields').getElementsByTagName('tr');for(var i=0;i<trs.length;i++){trs[i].getElementsByTagName('td')[column].className=(checked?'':'hidden');}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   110
function partitionByChange(el){var partitionTable=/RANGE|LIST/.test(selectValue(el));el.form['partitions'].className=(partitionTable||!el.selectedIndex?'hidden':'');document.getElementById('partition-table').className=(partitionTable?'':'hidden');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   111
function partitionNameChange(el){var row=el.parentNode.parentNode.cloneNode(true);row.firstChild.firstChild.value='';el.parentNode.parentNode.parentNode.appendChild(row);el.onchange=function(){};}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   112
function foreignAddRow(field){field.onchange=function(){};var row=field.parentNode.parentNode.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/\]/,'1$&');selects[i].selectedIndex=0;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   113
field.parentNode.parentNode.parentNode.appendChild(row);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   114
function indexesAddRow(field){field.onchange=function(){};var parent=field.parentNode.parentNode;var row=parent.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/indexes\[\d+/,'$&1');selects[i].selectedIndex=0;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   115
var inputs=row.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){inputs[i].name=inputs[i].name.replace(/indexes\[\d+/,'$&1');inputs[i].value='';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   116
parent.parentNode.appendChild(row);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   117
function indexesChangeColumn(field,prefix){var columns=field.parentNode.parentNode.getElementsByTagName('select');var names=[];for(var i=0;i<columns.length;i++){var value=selectValue(columns[i]);if(value){names.push(value);}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   118
field.form[field.name.replace(/\].*/,'][name]')].value=prefix+names.join('_');}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   119
function indexesAddColumn(field,prefix){field.onchange=function(){indexesChangeColumn(field,prefix);};var select=field.form[field.name.replace(/\].*/,'][type]')];if(!select.selectedIndex){select.selectedIndex=3;select.onchange();}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   120
var column=field.parentNode.cloneNode(true);select=column.getElementsByTagName('select')[0];select.name=select.name.replace(/\]\[\d+/,'$&1');select.selectedIndex=0;var input=column.getElementsByTagName('input')[0];input.name=input.name.replace(/\]\[\d+/,'$&1');input.value='';field.parentNode.parentNode.appendChild(column);field.onchange();}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   121
var that,x,y,em,tablePos;function schemaMousedown(el,event){that=el;x=event.clientX-el.offsetLeft;y=event.clientY-el.offsetTop;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   122
function schemaMousemove(ev){if(that!==undefined){ev=ev||event;var left=(ev.clientX-x)/em;var top=(ev.clientY-y)/em;var divs=that.getElementsByTagName('div');var lineSet={};for(var i=0;i<divs.length;i++){if(divs[i].className=='references'){var div2=document.getElementById((divs[i].id.substr(0,4)=='refs'?'refd':'refs')+divs[i].id.substr(4));var ref=(tablePos[divs[i].title]?tablePos[divs[i].title]:[div2.parentNode.offsetTop/em,0]);var left1=-1;var isTop=true;var id=divs[i].id.replace(/^ref.(.+)-.+/,'$1');if(divs[i].parentNode!=div2.parentNode){left1=Math.min(0,ref[1]-left)-1;divs[i].style.left=left1+'em';divs[i].getElementsByTagName('div')[0].style.width=-left1+'em';var left2=Math.min(0,left-ref[1])-1;div2.style.left=left2+'em';div2.getElementsByTagName('div')[0].style.width=-left2+'em';isTop=(div2.offsetTop+ref[0]*em>divs[i].offsetTop+top*em);}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   123
if(!lineSet[id]){var line=document.getElementById(divs[i].id.replace(/^....(.+)-\d+$/,'refl$1'));var shift=ev.clientY-y-that.offsetTop;line.style.left=(left+left1)+'em';if(isTop){line.style.top=(line.offsetTop+shift)/em+'em';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   124
if(divs[i].parentNode!=div2.parentNode){line=line.getElementsByTagName('div')[0];line.style.height=(line.offsetHeight+(isTop?-1:1)*shift)/em+'em';}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   125
lineSet[id]=true;}}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   126
that.style.left=left+'em';that.style.top=top+'em';}}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   127
function schemaMouseup(ev,db){if(that!==undefined){ev=ev||event;tablePos[that.firstChild.firstChild.firstChild.data]=[(ev.clientY-y)/em,(ev.clientX-x)/em];that=undefined;var s='';for(var key in tablePos){s+='_'+key+':'+Math.round(tablePos[key][0]*10000)/10000+'x'+Math.round(tablePos[key][1]*10000)/10000;}
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   128
s=encodeURIComponent(s.substr(1));var link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}<?php
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   129
}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   130
base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIYSPqcvtD00I8cwqKb5v+q8pIAhxlRmhZYi17iPE8kzLBQA7");break;case"cross.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   131
base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACI4SPqcvtDyMKYdZGb355wy6BX3dhlOEx57FK7gtHwkzXNl0AADs=");break;case"up.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   132
base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00IUU4K730T9J5hFTiKEXmaYcW2rgDH8hwXADs=");break;case"down.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   133
base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00I8cwqKb5bV/5cosdMJtmcHca2lQDH8hwXADs=");break;case"arrow.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   134
base64_decode("R0lGODlhCAAKAIAAAICAgP///yH5BAEAAAEALAAAAAAIAAoAAAIPBIJplrGLnpQRqtOy3rsAADs=");break;case"loader.gif":echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   135
base64_decode("R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==");break;}}exit;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   136
connection(){global$f;return$f;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   137
adminer(){global$c;return$c;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   138
idf_unescape($oc){$Ec=substr($oc,-1);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   139
str_replace($Ec.$Ec,$Ec,substr($oc,1,-1));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   140
escape_string($X){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   141
substr(q($X),1,-1);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   142
remove_slashes($be,$Ub=false){if(get_magic_quotes_gpc()){while(list($w,$X)=each($be)){foreach($X
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   143
as$Ac=>$W){unset($be[$w][$Ac]);if(is_array($W)){$be[$w][stripslashes($Ac)]=$W;$be[]=&$be[$w][stripslashes($Ac)];}else{$be[$w][stripslashes($Ac)]=($Ub?$W:stripslashes($W));}}}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   144
bracket_escape($oc,$xa=false){static$nf=array(':'=>':1',']'=>':2','['=>':3');return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   145
strtr($oc,($xa?array_flip($nf):$nf));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   146
h($P){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   147
htmlspecialchars(str_replace("\0","",$P),ENT_QUOTES);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   148
nbsp($P){return(trim($P)!=""?h($P):"&nbsp;");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   149
nl_br($P){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   150
str_replace("\n","<br>",$P);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   151
checkbox($B,$Y,$Ga,$Cc="",$rd="",$_c=false){static$s=0;$s++;$I="<input type='checkbox' name='$B' value='".h($Y)."'".($Ga?" checked":"").($rd?' onclick="'.h($rd).'"':'').($_c?" class='jsonly'":"")." id='checkbox-$s'>";return($Cc!=""?"<label for='checkbox-$s'>$I".h($Cc)."</label>":$I);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   152
optionlist($ud,$ze=null,$Df=false){$I="";foreach($ud
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   153
as$Ac=>$W){$vd=array($Ac=>$W);if(is_array($W)){$I.='<optgroup label="'.h($Ac).'">';$vd=$W;}foreach($vd
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   154
as$w=>$X){$I.='<option'.($Df||is_string($w)?' value="'.h($w).'"':'').(($Df||is_string($w)?(string)$w:$X)===$ze?' selected':'').'>'.h($X);}if(is_array($W)){$I.='</optgroup>';}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   155
html_select($B,$ud,$Y="",$qd=true){if($qd){return"<select name='".h($B)."'".(is_string($qd)?' onchange="'.h($qd).'"':"").">".optionlist($ud,$Y)."</select>";}$I="";foreach($ud
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   156
as$w=>$X){$I.="<label><input type='radio' name='".h($B)."' value='".h($w)."'".($w==$Y?" checked":"").">".h($X)."</label>";}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   157
confirm($Xa="",$Ke=false){return" onclick=\"".($Ke?"eventStop(event); ":"")."return confirm('".lang(0).($Xa?" (' + $Xa + ')":"")."');\"";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   158
print_fieldset($s,$Jc,$Jf=false,$rd=""){echo"<fieldset><legend><a href='#fieldset-$s' onclick=\"".h($rd)."return !toggle('fieldset-$s');\">$Jc</a></legend><div id='fieldset-$s'".($Jf?"":" class='hidden'").">\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   159
bold($Ba){return($Ba?" class='active'":"");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   160
odd($I=' class="odd"'){static$r=0;if(!$I){$r=-1;}return($r++%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   161
2?$I:'');}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   162
js_escape($P){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   163
addcslashes($P,"\r\n'\\/");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   164
json_row($w,$X=null){static$Vb=true;if($Vb){echo"{";}if($w!=""){echo($Vb?"":",")."\n\t\"".addcslashes($w,"\r\n\"\\").'": '.(isset($X)?'"'.addcslashes($X,"\r\n\"\\").'"':'undefined');$Vb=false;}else{echo"\n}\n";$Vb=true;}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   165
ini_bool($sc){$X=ini_get($sc);return(eregi('^(on|true|yes)$',$X)||(int)$X);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   166
sid(){static$I;if(!isset($I)){$I=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   167
q($P){global$f;return$f->quote($P);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   168
get_vals($G,$Na=0){global$f;$I=array();$H=$f->query($G);if(is_object($H)){while($J=$H->fetch_row()){$I[]=$J[$Na];}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   169
get_key_vals($G,$g=null){global$f;if(!is_object($g)){$g=$f;}$I=array();$H=$g->query($G);if(is_object($H)){while($J=$H->fetch_row()){$I[$J[0]]=$J[1];}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   170
get_rows($G,$g=null,$j="<p class='error'>"){global$f;if(!is_object($g)){$g=$f;}$I=array();$H=$g->query($G);if(is_object($H)){while($J=$H->fetch_assoc()){$I[]=$J;}}elseif(!$H&&$f->error&&$j&&defined("PAGE_HEADER")){echo$j.error()."\n";}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   171
unique_array($J,$u){foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   172
as$t){if(ereg("PRIMARY|UNIQUE",$t["type"])){$I=array();foreach($t["columns"]as$w){if(!isset($J[$w])){continue
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   173
2;}$I[$w]=$J[$w];}return$I;}}$I=array();foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   174
as$w=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$w)){$I[$w]=$X;}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   175
where($Z){global$v;$I=array();foreach((array)$Z["where"]as$w=>$X){$I[]=idf_escape(bracket_escape($w,1)).(ereg('\\.',$X)||$v=="mssql"?" LIKE ".exact_value(addcslashes($X,"%_\\")):" = ".exact_value($X));}foreach((array)$Z["null"]as$w){$I[]=idf_escape($w)." IS NULL";}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   176
implode(" AND ",$I);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   177
where_check($X){parse_str($X,$Fa);remove_slashes(array(&$Fa));return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   178
where($Fa);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   179
where_link($r,$Na,$Y,$sd="="){return"&where%5B$r%5D%5Bcol%5D=".urlencode($Na)."&where%5B$r%5D%5Bop%5D=".urlencode((isset($Y)?$sd:"IS NULL"))."&where%5B$r%5D%5Bval%5D=".urlencode($Y);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   180
cookie($B,$Y){global$ba;$Gd=array($B,(ereg("\n",$Y)?"":$Y),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Gd[]=true;}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   181
call_user_func_array('setcookie',$Gd);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   182
restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($w){return$_SESSION[$w][DRIVER][SERVER][$_GET["username"]];}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   183
set_session($w,$X){$_SESSION[$w][DRIVER][SERVER][$_GET["username"]]=$X;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   184
auth_url($ob,$N,$Ef){global$pb;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($pb))."|username|".session_name()),$_);return"$_[1]?".(sid()?SID."&":"").($ob!="server"||$N!=""?urlencode($ob)."=".urlencode($N)."&":"")."username=".urlencode($Ef).($_[2]?"&$_[2]":"");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   185
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   186
redirect($z,$Wc=null){if(isset($Wc)){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',(isset($z)?$z:$_SERVER["REQUEST_URI"]))][]=$Wc;}if(isset($z)){if($z==""){$z=".";}header((is_ajax()?"X-AJAX-Redirect":"Location").": $z");exit;}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   187
query_redirect($G,$z,$Wc,$ge=true,$Kb=true,$Qb=false){global$f,$j,$c;if($Kb){$Qb=!$f->query($G);}$Ge="";if($G){$Ge=$c->messageQuery("$G;");}if($Qb){$j=error().$Ge;return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   188
false;}if($ge){redirect($z,$Wc.$Ge);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   189
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   190
queries($G=null){global$f;static$ee=array();if(!isset($G)){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   191
implode(";\n",$ee);}$ee[]=(ereg(';$',$G)?"DELIMITER ;;\n$G;\nDELIMITER ":$G);return$f->query($G);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   192
apply_queries($G,$Ye,$Gb='table'){foreach($Ye
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   193
as$R){if(!queries("$G ".$Gb($R))){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   194
false;}}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   195
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   196
queries_redirect($z,$Wc,$ge){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   197
query_redirect(queries(),$z,$Wc,$ge,false,!$ge);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   198
remove_from_uri($Fd=""){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   199
substr(preg_replace("~(?<=[?&])($Fd".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   200
pagination($D,$cb){return" ".($D==$cb?$D+1:'<a href="'.h(remove_from_uri("page").($D?"&page=$D":"")).'">'.($D+1)."</a>");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   201
get_file($w,$hb=false){$Sb=$_FILES[$w];if(!$Sb||$Sb["error"]){return$Sb["error"];}$I=file_get_contents($hb&&ereg('\\.gz$',$Sb["name"])?"compress.zlib://$Sb[tmp_name]":($hb&&ereg('\\.bz2$',$Sb["name"])?"compress.bzip2://$Sb[tmp_name]":$Sb["tmp_name"]));if($hb){$He=substr($I,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$He,$me)){$I=iconv("utf-16","utf-8",$I);}elseif($He=="\xEF\xBB\xBF"){$I=substr($I,3);}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   202
upload_error($j){$Uc=($j==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($j?lang(1).($Uc?" ".lang(2,$Uc):""):lang(3));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   203
repeat_pattern($E,$Kc){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   204
str_repeat("$E{0,65535}",$Kc/65535)."$E{0,".($Kc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   205
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   206
65535)."}";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   207
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$X));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   208
shorten_utf8($P,$Kc=80,$Oe=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$Kc).")($)?)u",$P,$_)){preg_match("(^(".repeat_pattern("[\t\r\n -~]",$Kc).")($)?)",$P,$_);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   209
h($_[1]).$Oe.(isset($_[2])?"":"<i>...</i>");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   210
friendly_url($X){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   211
preg_replace('~[^a-z0-9_]~i','-',$X);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   212
hidden_fields($be,$pc=array()){while(list($w,$X)=each($be)){if(is_array($X)){foreach($X
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   213
as$Ac=>$W){$be[$w."[$Ac]"]=$W;}}elseif(!in_array($w,$pc)){echo'<input type="hidden" name="'.h($w).'" value="'.h($X).'">';}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   214
hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   215
column_foreign_keys($R){global$c;$I=array();foreach($c->foreignKeys($R)as$m){foreach($m["source"]as$X){$I[$X][]=$m;}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   216
enum_input($V,$ua,$k,$Y,$_b=null){global$c;preg_match_all("~'((?:[^']|'')*)'~",$k["length"],$Pc);$I=(isset($_b)?"<label><input type='$V'$ua value='$_b'".((is_array($Y)?in_array($_b,$Y):$Y===0)?" checked":"")."><i>".lang(4)."</i></label>":"");foreach($Pc[1]as$r=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ga=(is_int($Y)?$Y==$r+1:(is_array($Y)?in_array($r+1,$Y):$Y===$X));$I.=" <label><input type='$V'$ua value='".($r+1)."'".($Ga?' checked':'').'>'.h($c->editVal($X,$k)).'</label>';}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   217
input($k,$Y,$o){global$uf,$c,$v;$B=h(bracket_escape($k["field"]));echo"<td class='function'>";$oe=($v=="mssql"&&$k["auto_increment"]);if($oe&&!$_POST["save"]){$o=null;}$ec=(isset($_GET["select"])||$oe?array("orig"=>lang(5)):array())+$c->editFunctions($k);$ua=" name='fields[$B]'";if($k["type"]=="enum"){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   218
nbsp($ec[""])."<td>".$c->editInput($_GET["edit"],$k,$ua,$Y);}else{$Vb=0;foreach($ec
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   219
as$w=>$X){if($w===""||!$X){break;}$Vb++;}$qd=($Vb?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($k["field"])))."]']; if ($Vb > f.selectedIndex) f.selectedIndex = $Vb;\"":"");$ua.=$qd;echo(count($ec)>1?html_select("function[$B]",$ec,!isset($o)||in_array($o,$ec)||isset($ec[$o])?$o:"","functionChange(this);"):nbsp(reset($ec))).'<td>';$uc=$c->editInput($_GET["edit"],$k,$ua,$Y);if($uc!=""){echo$uc;}elseif($k["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$k["length"],$Pc);foreach($Pc[1]as$r=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ga=(is_int($Y)?($Y>>$r)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$B][$r]' value='".(1<<$r)."'".($Ga?' checked':'')."$qd>".h($c->editVal($X,$k)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$k["type"])&&ini_bool("file_uploads")){echo"<input type='file' name='fields-$B'$qd>";}elseif(ereg('text|lob',$k["type"])){echo"<textarea ".($v!="sqlite"||ereg("\n",$Y)?"cols='50' rows='12'":"cols='30' rows='1' style='height: 1.2em;'")."$ua>".h($Y).'</textarea>';}else{$Vc=(!ereg('int',$k["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$k["length"],$_)?((ereg("binary",$k["type"])?2:1)*$_[1]+($_[3]?1:0)+($_[2]&&!$k["unsigned"]?1:0)):($uf[$k["type"]]?$uf[$k["type"]]+($k["unsigned"]?0:1):0));echo"<input value='".h($Y)."'".($Vc?" maxlength='$Vc'":"").(ereg('char|binary',$k["type"])&&$Vc>20?" size='40'":"")."$ua>";}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   220
process_input($k){global$c;$oc=bracket_escape($k["field"]);$o=$_POST["function"][$oc];$Y=$_POST["fields"][$oc];if($k["type"]=="enum"){if($Y==-1){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   221
false;}if($Y==""){return"NULL";}return+$Y;}if($k["auto_increment"]&&$Y==""){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   222
null;}if($o=="orig"){return($k["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($k["field"]):false);}if($o=="NULL"){return"NULL";}if($k["type"]=="set"){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   223
array_sum((array)$Y);}if(ereg('blob|bytea|raw|file',$k["type"])&&ini_bool("file_uploads")){$Sb=get_file("fields-$oc");if(!is_string($Sb)){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   224
false;}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   225
q($Sb);}return$c->processInput($k,$Y,$o);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   226
search_tables(){global$c,$f;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$Zb=false;foreach(table_status()as$R=>$S){$B=$c->tableName($S);if(isset($S["Engine"])&&$B!=""&&(!$_POST["tables"]||in_array($R,$_POST["tables"]))){$H=$f->query("SELECT".limit("1 FROM ".table($R)," WHERE ".implode(" AND ",$c->selectSearchProcess(fields($R),array())),1));if($H->fetch_row()){if(!$Zb){echo"<ul>\n";$Zb=true;}echo"<li><a href='".h(ME."select=".urlencode($R)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$B</a>\n";}}}echo($Zb?"</ul>":"<p class='message'>".lang(6))."\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   227
dump_headers($nc,$dd=false){global$c;$I=$c->dumpHeaders($nc,$dd);$Dd=$_POST["output"];if($Dd!="text"){header("Content-Disposition: attachment; filename=".friendly_url($nc!=""?$nc:(SERVER!=""?SERVER:"localhost")).".$I".($Dd!="file"&&!ereg('[^0-9a-z]',$Dd)?".$Dd":""));}session_write_close();return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   228
dump_csv($J){foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   229
as$w=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X===""){$J[$w]='"'.str_replace('"','""',$X).'"';}}echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   230
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$J)."\r\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   231
apply_sql_function($o,$Na){return($o?($o=="unixepoch"?"DATETIME($Na, '$o')":($o=="count distinct"?"COUNT(DISTINCT ":strtoupper("$o("))."$Na)"):$Na);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   232
password_file(){$lb=ini_get("upload_tmp_dir");if(!$lb){if(function_exists('sys_get_temp_dir')){$lb=sys_get_temp_dir();}else{$Tb=@tempnam("","");if(!$Tb){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   233
false;}$lb=dirname($Tb);unlink($Tb);}}$Tb="$lb/adminer.key";$I=@file_get_contents($Tb);if($I){return$I;}$bc=@fopen($Tb,"w");if($bc){$I=md5(uniqid(mt_rand(),true));fwrite($bc,$I);fclose($bc);}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   234
is_mail($xb){$ta='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$nb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$E="$ta+(\\.$ta+)*@($nb?\\.)+$nb";return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   235
preg_match("(^$E(,\\s*$E)*\$)i",$xb);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   236
is_url($P){$nb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($nb?\\.)+$nb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$P,$_)?strtolower($_[1]):"");}global$c,$f,$pb,$vb,$Db,$j,$ec,$hc,$ba,$tc,$v,$a,$Dc,$pd,$Me,$T,$U,$uf,$Af,$fa;if(!isset($_SERVER["REQUEST_URI"])){$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"].($_SERVER["QUERY_STRING"]!=""?"?$_SERVER[QUERY_STRING]":"");}$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_name("adminer_sid");$Gd=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Gd[]=true;}call_user_func_array('session_set_cookie_params',$Gd);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$Ub);if(function_exists("set_magic_quotes_runtime")){set_magic_quotes_runtime(false);}@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",20);$Dc=array('en'=>'English','cs'=>'Čeština','sk'=>'Slovenčina','nl'=>'Nederlands','es'=>'Español','de'=>'Deutsch','fr'=>'Français','it'=>'Italiano','et'=>'Eesti','hu'=>'Magyar','pl'=>'Polski','ca'=>'Català','pt'=>'Português','sl'=>'Slovenski','lt'=>'Lietuvių','tr'=>'Türkçe','ro'=>'Limba Română','ru'=>'Русский язык','zh'=>'简体中文','zh-tw'=>'繁體中文','ja'=>'日本語','ta'=>'த‌மிழ்','ar'=>'العربية',);function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   237
get_lang(){global$a;return$a;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   238
lang($oc,$C=null){global$a,$U;$of=$U[$oc];if(is_array($of)){$Qd=($C==1?0:($a=='cs'||$a=='sk'?($C&&$C<5?1:2):($a=='fr'?(!$C?0:1):($a=='pl'?($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   239
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   240
10>1&&$C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   241
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   242
10<5&&$C/10
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   243
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   244
10!=1?1:2):($a=='sl'?($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   245
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   246
100==1?0:($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   247
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   248
100==2?1:($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   249
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   250
100==3||$C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   251
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   252
100==4?2:3))):($a=='lt'?($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   253
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   254
10==1&&$C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   255
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   256
100!=11?0:($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   257
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   258
10>1&&$C/10
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   259
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   260
10!=1?1:2)):($a=='ru'?($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   261
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   262
10==1&&$C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   263
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   264
100!=11?0:($C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   265
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   266
10>1&&$C
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   267
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   268
10<5&&$C/10
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   269
%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   270
10!=1?1:2)):1)))))));$of=$of[$Qd];}$sa=func_get_args();array_shift($sa);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   271
vsprintf((isset($of)?$of:$oc),$sa);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   272
switch_lang(){global$a,$Dc;echo"<form action=''>\n<div id='lang'>";hidden_fields($_GET,array('lang'));echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   273
lang(7).": ".html_select("lang",$Dc,$a,"var loc = location.search.replace(/[?&]lang=[^&]*/, ''); location.search = loc + (loc ? '&' : '') + 'lang=' + this.value;")," <input type='submit' value='".lang(8)."' class='hidden'>\n","</div>\n</form>\n";}if(isset($_GET["lang"])){$_COOKIE["adminer_lang"]=$_GET["lang"];$_SESSION["lang"]=$_GET["lang"];}$a="en";if(isset($Dc[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$a=$_COOKIE["adminer_lang"];}elseif(isset($Dc[$_SESSION["lang"]])){$a=$_SESSION["lang"];}else{$ja=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$Pc,PREG_SET_ORDER);foreach($Pc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   274
as$_){$ja[$_[1]]=(isset($_[3])?$_[3]:1);}arsort($ja);foreach($ja
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   275
as$w=>$F){if(isset($Dc[$w])){$a=$w;break;}$w=preg_replace('~-.*~','',$w);if(!isset($ja[$w])&&isset($Dc[$w])){$a=$w;break;}}}switch($a){case"en":$U=array('Are you sure?','Unable to upload a file.','Maximum allowed file size is %sB.','File does not exist.','empty','original','No tables.','Language','Use','Numbers','Date and time','Strings','Binary','Lists','System','Server','Username','Password','Login','Permanent login','Select data','Show structure','Alter view','Alter table','New item','Last page','Edit',array('%d byte','%d bytes'),'Select','Functions','Aggregation','Search','anywhere','Sort','descending','Limit','Text length','Action','SQL command','open','save','Alter database','Alter schema','Create schema','Database schema','Privileges','Dump','Logout','database','Create new table','select','ltr','Resend POST data?','Invalid CSRF token. Send the form again.','Logout successful.','Session support must be enabled.','Session expired, please login again.','Invalid credentials.','No extension','None of the supported PHP extensions (%s) are available.','Too big POST data. Reduce the data or increase the %s configuration directive.','Database','Invalid database.','Databases have been dropped.','Select database','Create new database','Process list','Variables','Status','%s version: %s through PHP extension %s','Logged as: %s','Collation','Tables','Drop','Refresh','No rows.','%.3f s','Foreign keys','collation','ON DELETE','Column name','Parameter name','Type','Length','Options','Auto Increment','Default values','Comment','Add next','Move up','Move down','Remove','View','Table','Column','Indexes','Alter indexes','Source','Target','ON UPDATE','Alter','Add foreign key','Triggers','Add trigger','Permanent link','Export','Output','Format','Routines','Events','Data','Create user','Error in query',array('%d row','%d rows'),array('Query executed OK, %d row affected.','Query executed OK, %d rows affected.'),'No commands to execute.',array('%d query executed OK.','%d queries executed OK.'),'File upload','File uploads are disabled.','Execute','Stop on error','Show only errors','From server','Webserver file %s','Run file','History','Clear','Edit all','Item has been deleted.','Item has been updated.','Item%s has been inserted.','Insert','Save','Save and continue edit','Save and insert next','Delete','Table has been dropped.','Table has been altered.','Table has been created.','Create table','Maximum number of allowed fields exceeded. Please increase %s and %s.','Table name','engine','Partition by','Partitions','Partition name','Values','Indexes have been altered.','Index Type','Column (length)','Name','Database has been dropped.','Database has been renamed.','Database has been created.','Database has been altered.','Create database','Call',array('Routine has been called, %d row affected.','Routine has been called, %d rows affected.'),'Foreign key has been dropped.','Foreign key has been altered.','Foreign key has been created.','Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.','Foreign key','Target table','Change','Add column','View has been dropped.','View has been altered.','View has been created.','Create view','Event has been dropped.','Event has been altered.','Event has been created.','Alter event','Create event','Start','End','Every','On completion preserve','Routine has been dropped.','Routine has been altered.','Routine has been created.','Alter function','Alter procedure','Create function','Create procedure','Return type','Trigger has been dropped.','Trigger has been altered.','Trigger has been created.','Alter trigger','Create trigger','Time','Event','User has been dropped.','User has been altered.','User has been created.','Hashed','Routine','Grant','Revoke',array('%d process has been killed.','%d processes have been killed.'),'%d in total','Kill',array('%d item has been affected.','%d items have been affected.'),'Double click on a value to modify it.',array('%d row has been imported.','%d rows have been imported.'),'Unable to select the table','edit','Relations','Use edit link to modify this value.','Page','last','whole result','Clone','Import',',','Tables have been truncated.','Tables have been moved.','Tables have been copied.','Tables have been dropped.','Schema','Tables and views','Search data in tables','Engine','Data Length','Index Length','Data Free','Rows','Analyze','Optimize','Check','Repair','Truncate','Move to other database','Move','Copy','Schedule','At given time',array('%d e-mail has been sent.','%d e-mails have been sent.'));break;case"cs":$U=array('Opravdu?','Nepodařilo se nahrát soubor.','Maximální povolená velikost souboru je %sB.','Soubor neexistuje.','prázdné','původní','Žádné tabulky.','Jazyk','Vybrat','Čísla','Datum a čas','Řetězce','Binární','Seznamy','Systém','Server','Uživatel','Heslo','Přihlásit se','Trvalé přihlášení','Vypsat data','Zobrazit strukturu','Pozměnit pohled','Pozměnit tabulku','Nová položka','Poslední stránka','Upravit',array('%d bajt','%d bajty','%d bajtů'),'Vypsat','Funkce','Agregace','Vyhledat','kdekoliv','Seřadit','sestupně','Limit','Délka textů','Akce','SQL příkaz','otevřít','uložit','Pozměnit databázi','Pozměnit schéma','Vytvořit schéma','Schéma databáze','Oprávnění','Export','Odhlásit','databáze','Vytvořit novou tabulku','vypsat','ltr','Znovu odeslat POST data?','Neplatný token CSRF. Odešlete formulář znovu.','Odhlášení proběhlo v pořádku.','Session proměnné musí být povolené.','Session vypršela, přihlašte se prosím znovu.','Neplatné přihlašovací údaje.','Žádná extenze','Není dostupná žádná z podporovaných PHP extenzí (%s).','Příliš velká POST data. Zmenšete data nebo zvyšte hodnotu konfigurační direktivy %s.','Databáze','Nesprávná databáze.','Databáze byly odstraněny.','Vybrat databázi','Vytvořit novou databázi','Seznam procesů','Proměnné','Stav','Verze %s: %s přes PHP extenzi %s','Přihlášen jako: %s','Porovnávání','Tabulky','Odstranit','Obnovit','Žádné řádky.','%.3f s','Cizí klíče','porovnávání','Při smazání','Název sloupce','Název parametru','Typ','Délka','Volby','Auto Increment','Výchozí hodnoty','Komentář','Přidat další','Přesunout nahoru','Přesunout dolů','Odebrat','Pohled','Tabulka','Sloupec','Indexy','Pozměnit indexy','Zdroj','Cíl','Při změně','Změnit','Přidat cizí klíč','Triggery','Přidat trigger','Trvalý odkaz','Export','Výstup','Formát','Procedury a funkce','Události','Data','Vytvořit uživatele','Chyba v dotazu',array('%d řádek','%d řádky','%d řádků'),array('Příkaz proběhl v pořádku, byl změněn %d záznam.','Příkaz proběhl v pořádku, byly změněny %d záznamy.','Příkaz proběhl v pořádku, bylo změněno %d záznamů.'),'Žádné příkazy k vykonání.',array('%d příkaz proběhl v pořádku.','%d příkazy proběhly v pořádku.','%d příkazů proběhlo v pořádku.'),'Nahrání souboru','Nahrávání souborů není povoleno.','Provést','Zastavit při chybě','Zobrazit pouze chyby','Ze serveru','Soubor %s na webovém serveru','Spustit soubor','Historie','Vyčistit','Upravit vše','Položka byla smazána.','Položka byla aktualizována.','Položka%s byla vložena.','Vložit','Uložit','Uložit a pokračovat v editaci','Uložit a vložit další','Smazat','Tabulka byla odstraněna.','Tabulka byla změněna.','Tabulka byla vytvořena.','Vytvořit tabulku','Byl překročen maximální povolený počet polí. Zvyšte prosím %s a %s.','Název tabulky','úložiště','Rozdělit podle','Oddíly','Název oddílu','Hodnoty','Indexy byly změněny.','Typ indexu','Sloupec (délka)','Název','Databáze byla odstraněna.','Databáze byla přejmenována.','Databáze byla vytvořena.','Databáze byla změněna.','Vytvořit databázi','Zavolat',array('Procedura byla zavolána, byl změněn %d záznam.','Procedura byla zavolána, byly změněny %d záznamy.','Procedura byla zavolána, bylo změněno %d záznamů.'),'Cizí klíč byl odstraněn.','Cizí klíč byl změněn.','Cizí klíč byl vytvořen.','Zdrojové a cílové sloupce musí mít stejný datový typ, nad cílovými sloupci musí být definován index a odkazovaná data musí existovat.','Cizí klíč','Cílová tabulka','Změnit','Přidat sloupec','Pohled byl odstraněn.','Pohled byl změněn.','Pohled byl vytvořen.','Vytvořit pohled','Událost byla odstraněna.','Událost byla změněna.','Událost byla vytvořena.','Pozměnit událost','Vytvořit událost','Začátek','Konec','Každých','Po dokončení zachovat','Procedura byla odstraněna.','Procedura byla změněna.','Procedura byla vytvořena.','Změnit funkci','Změnit proceduru','Vytvořit funkci','Vytvořit proceduru','Návratový typ','Trigger byl odstraněn.','Trigger byl změněn.','Trigger byl vytvořen.','Změnit trigger','Vytvořit trigger','Čas','Událost','Uživatel byl odstraněn.','Uživatel byl změněn.','Uživatel byl vytvořen.','Zahašované','Procedura','Povolit','Zakázat',array('Byl ukončen %d proces.','Byly ukončeny %d procesy.','Bylo ukončeno %d procesů.'),'%d celkem','Ukončit',array('Byl ovlivněn %d záznam.','Byly ovlivněny %d záznamy.','Bylo ovlivněno %d záznamů.'),'Dvojklikněte na políčko, které chcete změnit.',array('Byl importován %d záznam.','Byly importovány %d záznamy.','Bylo importováno %d záznamů.'),'Nepodařilo se vypsat tabulku','upravit','Vztahy','Ke změně této hodnoty použijte odkaz upravit.','Stránka','poslední','celý výsledek','Klonovat','Import',' ','Tabulky byly vyprázdněny.','Tabulky byly přesunuty.','Tabulky byly zkopírovány.','Tabulky byly odstraněny.','Schéma','Tabulky a pohledy','Vyhledat data v tabulkách','Úložiště','Velikost dat','Velikost indexů','Volné místo','Řádků','Analyzovat','Optimalizovat','Zkontrolovat','Opravit','Vyprázdnit','Přesunout do jiné databáze','Přesunout','Zkopírovat','Plán','V daný čas','Pozměnit typ');break;case"sk":$U=array('Naozaj?','Súbor sa nepodarilo nahrať.','Maximálna povolená veľkosť súboru je %sB.','Súbor neexistuje.','prázdne','originál','Žiadne tabuľky.','Jazyk','Vybrať','Čísla','Dátum a čas','Reťazce','Binárne','Zoznamy','Systém','Server','Používateľ','Heslo','Prihlásiť sa','Trvalé prihlásenie','Vypísať dáta','Zobraziť štruktúru','Zmeniť pohľad','Zmeniť tabuľku','Nová položka','Posledná stránka','Upraviť',array('%d bajt','%d bajty','%d bajtov'),'Vypísať','Funkcie','Agregácia','Vyhľadať','kdekoľvek','Zotriediť','zostupne','Limit','Dĺžka textov','Akcia','SQL príkaz','otvoriť','uložiť','Zmeniť databázu','Pozmeniť schému','Vytvoriť schému','Schéma databázy','Oprávnenia','Export','Odhlásiť','databáza','Vytvoriť novú tabuľku','vypísať','ltr','Znovu poslať POST data?','Neplatný token CSRF. Odošlite formulár znova.','Odhlásenie prebehlo v poriadku.','Session premenné musia byť povolené.','Session vypršala, prihláste sa prosím znova.','Neplatné prihlasovacie údaje.','Žiadne rozšírenie','Nie je dostupné žiadne z podporovaných rozšírení (%s).','Príliš veľké POST dáta. Zmenšite dáta alebo zvýšte hodnotu konfiguračej direktívy %s.','Databáza','Nesprávna databáza.','Databázy boli odstránené.','Vybrať databázu','Vytvoriť novú databázu','Zoznam procesov','Premenné','Stav','Verzia %s: %s cez PHP rozšírenie %s','Prihlásený ako: %s','Porovnávanie','Tabuľky','Odstrániť','Obnoviť','Žiadne riadky.','%.3f s','Cudzie kľúče','porovnávanie','ON DELETE','Názov stĺpca','Názov parametra','Typ','Dĺžka','Voľby','Auto Increment','Východzie hodnoty','Komentár','Pridať ďalší','Presunúť hore','Presunúť dolu','Odobrať','Pohľad','Tabuľka','Stĺpec','Indexy','Zmeniť indexy','Zdroj','Cieľ','ON UPDATE','Zmeniť','Pridať cudzí kľúč','Triggery','Pridať trigger','Permanentný odkaz','Export','Výstup','Formát','Procedúry','Udalosti','Dáta','Vytvoriť používateľa','Chyba v dotaze',array('%d riadok','%d riadky','%d riadkov'),array('Príkaz prebehol v poriadku, bol zmenený %d záznam.','Príkaz prebehol v poriadku boli zmenené %d záznamy.','Príkaz prebehol v poriadku bolo zmenených %d záznamov.'),'Žiadne príkazy na vykonanie.',array('Bol vykonaný %d dotaz.','Boli vykonané %d dotazy.','Bolo vykonaných %d dotazov.'),'Nahranie súboru','Nahrávánie súborov nie je povolené.','Vykonať','Zastaviť pri chybe','Zobraziť iba chyby','Zo serveru','Súbor %s na webovom serveri','Spustiť súbor','História','Vyčistiť','Upraviť všetko','Položka bola vymazaná.','Položka bola aktualizovaná.','Položka%s bola vložená.','Vložiť','Uložiť','Uložiť a pokračovať v úpravách','Uložiť a vložiť ďalší','Zmazať','Tabuľka bola odstránená.','Tabuľka bola zmenená.','Tabuľka bola vytvorená.','Vytvoriť tabuľku','Bol prekročený maximálny počet povolených polí. Zvýšte prosím %s a %s.','Názov tabuľky','úložisko','Rozdeliť podľa','Oddiely','Názov oddielu','Hodnoty','Indexy boli zmenené.','Typ indexu','Stĺpec (dĺžka)','Názov','Databáza bola odstránená.','Databáza bola premenovaná.','Databáza bola vytvorená.','Databáza bola zmenená.','Vytvoriť databázu','Zavolať',array('Procedúra bola zavolaná, bol zmenený %d záznam.','Procedúra bola zavolaná, boli zmenené %d záznamy.','Procedúra bola zavolaná, bolo zmenených %d záznamov.'),'Cudzí kľúč bol odstránený.','Cudzí kľúč bol zmenený.','Cudzí kľúč bol vytvorený.','Zdrojové a cieľové stĺpce musia mať rovnaký datový typ, nad cieľovými stĺpcami musí byť definovaný index a odkazované dáta musia existovať.','Cudzí kľúč','Cieľová tabuľka','Zmeniť','Pridať stĺpec','Pohľad bol odstránený.','Pohľad bol zmenený.','Pohľad bol vytvorený.','Vytvoriť pohľad','Udalosť bola odstránená.','Udalosť bola zmenená.','Udalosť bola vytvorená.','Upraviť udalosť','Vytvoriť udalosť','Začiatok','Koniec','Každých','Po dokončení zachovat','Procedúra bola odstránená.','Procedúra bola zmenená.','Procedúra bola vytvorená.','Zmeniť funkciu','Zmeniť procedúru','Vytvoriť funkciu','Vytvoriť procedúru','Návratový typ','Trigger bol odstránený.','Trigger bol zmenený.','Trigger bol vytvorený.','Zmeniť trigger','Vytvoriť trigger','Čas','Udalosť','Používateľ bol odstránený.','Používateľ bol zmenený.','Používateľ bol vytvorený.','Zahašované','Procedúra','Povoliť','Zakázať',array('Bol ukončený %d proces.','Boli ukončené %d procesy.','Bolo ukončených %d procesov.'),'%d celkom','Ukončiť','%d položiek bolo ovplyvnených.','Dvojkliknite na políčko, ktoré chcete zmeniť.',array('Bol importovaný %d záznam.','Boli importované %d záznamy.','Bolo importovaných %d záznamov.'),'Tabuľku sa nepodarilo vypísať','upraviť','Vzťahy','Pre zmenu tejto hodnoty použite odkaz upraviť.','Stránka','posledný','celý výsledok','Klonovať','Import',' ','Tabuľka bola vyprázdnená.','Tabuľka bola presunutá.','Tabuľky boli skopírované.','Tabuľka bola odstránená.','Schéma','Tabuľky a pohľady','Vyhľadať dáta v tabuľkách','Typ','Veľkosť dát','Veľkosť indexu','Voľné miesto','Riadky','Analyzovať','Optimalizovať','Skontrolovať','Opraviť','Vyprázdniť','Presunúť do inej databázy','Presunúť','Kopírovať','Plán','V stanovený čas','HH:MM:SS');break;case"nl":$U=array('Weet u het zeker?','Onmogelijk bestand te uploaden.','Maximum toegelaten bestandsgrootte is %sB.','Bestand niet gevonden.','leeg','origineel','Geen tabellen.','Taal','Gebruik','Getallen','Datum en tijd','Tekst','Binaire gegevens','Lijsten','Databasesysteem','Server','Gebruikersnaam','Wachtwoord','Inloggen','Blijf aangemeld','Gegevens selecteren','Toon structuur','View aanpassen','Tabel aanpassen','Nieuw item','Laatste pagina','Bewerk',array('%d byte','%d bytes'),'Kies','Functies','Totalen','Zoeken','overal','Sorteren','Aflopend','Beperk','Tekst lengte','Acties','SQL opdracht','openen','opslaan','Database aanpassen','Schema wijzigen','Schema maken','Database schema','Rechten','Exporteer','Uitloggen','database','Nieuwe tabel','kies','ltr','POST data opnieuw verzenden','Ongeldig CSRF token. Verstuur het formulier opnieuw.','Uitloggen geslaagd.','Sessies moeten geactiveerd zijn.','Uw sessie is verlopen. Gelieve opnieuw in te loggen.','Ongeldige logingegevens.','Geen extensie','Geen geldige PHP extensies beschikbaar (%s).','POST-data is te groot. Verklein de hoeveelheid data of verhoog de %s configuratie.','Database','Ongeldige database.','Databases verwijderd.','Database selecteren','Nieuwe database','Proceslijst','Variabelen','Status','%s versie: %s met PHP extensie %s','Aangemeld als: %s','Collatie','Tabellen','Verwijderen','Vernieuwen','Geen rijen.','%.3f s','Foreign keys','collation','ON DELETE','Kolomnaam','Parameternaam','Type','Lengte','Opties','Auto nummering','Standaard waarden','Commentaar','Volgende toevoegen','Omhoog','Omlaag','Verwijderen','View','Tabel','Kolom','Indexen','Indexen aanpassen','Bron','Doel','ON UPDATE','Aanpassen','Foreign key aanmaken','Triggers','Trigger aanmaken','Permanente link','Exporteren','Uitvoer','Formaat','Procedures','Events','Data','Gebruiker aanmaken','Fout in query',array('%d rij','%d rijen'),array('Query uitgevoerd, %d rij geraakt.','Query uitgevoerd, %d rijen geraakt.'),'Geen opdrachten uit te voeren.',array('%d query succesvol uitgevoerd.','%d querys succesvol uitgevoerd'),'Bestand uploaden','Bestanden uploaden is uitgeschakeld.','Uitvoeren','Stoppen bij fout','Enkel fouten tonen','Van server','Webserver bestand %s','Bestand uitvoeren','Geschiedenis','Wissen','Alles bewerken','Item verwijderd.','Item aangepast.','Item%s toegevoegd.','Toevoegen','Opslaan','Opslaan en verder bewerken','Opslaan, daarna toevoegen','Verwijderen','Tabel verwijderd.','Tabel aangepast.','Tabel aangemaakt.','Tabel aanmaken','Maximum aantal velden bereikt. Verhoog %s en %s.','Tabelnaam','engine','Partitioneren op','Partities','Partitie naam','Waarden','Index aangepast.','Index type','Kolom (lengte)','Naam','Database verwijderd.','Database hernoemd.','Database aangemaakt.','Database aangepast.','Database aanmaken','Uitvoeren',array('Procedure uitgevoerd, %d rij geraakt.','Procedure uitgevoerd, %d rijen geraakt.'),'Foreign key verwijderd.','Foreign key aangepast.','Foreign key aangemaakt.','Bron- en doelkolommen moeten van hetzelfde data type zijn, er moet een index bestaan op de gekozen kolommen en er moet gerelateerde data bestaan.','Foreign key','Doeltabel','Veranderen','Kolom toevoegen','View verwijderd.','View aangepast.','View aangemaakt.','View aanmaken','Event werd verwijderd.','Event werd aangepast.','Event werd aangemaakt.','Event aanpassen','Event aanmaken','Start','Stop','Iedere','Bewaren na voltooiing','Procedure verwijderd.','Procedure aangepast.','Procedure aangemaakt.','Functie aanpassen','Procedure aanpassen','Functie aanmaken','Procedure aanmaken','Return type','Trigger verwijderd.','Trigger aangepast.','Trigger aangemaakt.','Trigger aanpassen','Trigger aanmaken','Time','Event','Gebruiker verwijderd.','Gebruiker aangepast.','Gebruiker aangemaakt.','Gehashed','Routine','Toekennen','Intrekken',array('%d proces gestopt.','%d processen gestopt.'),'%d in totaal','Stoppen',array('%d item aangepast.','%d items aangepast.'),'Dubbelklik op een waarde om deze te bewerken.',array('%d rij werd geïmporteerd.','%d rijen werden geïmporteerd.'),'Onmogelijk tabel te selecteren','bewerk','Relaties','Gebruik de link "bewerk" om deze waarde te wijzigen.','Pagina','laatste','volledig resultaat','Dupliceer','Importeren','.','Tabellen werden geleegd.','Tabellen werden verplaatst.','De tabellen zijn gekopieerd.','Tabellen werden verwijderd.','Schema','Tabellen en views','Zoeken in database','Engine','Data lengte','Index lengte','Data Vrij','Rijen','Analyseer','Optimaliseer','Controleer','Herstel','Legen','Verplaats naar andere database','Verplaats','Kopieren','Schedule','Op aangegeven tijd','HH:MM:SS');break;case"es":$U=array('Está seguro?','No es posible importar archivo.','Tamaño máximo de archivo es %sB.','Archivo no existe.','ningúno','original','No existen tablas.','Idioma','Usar','Números','Fecha y hora','Cadena','Binario','Listas','Motor de base de datos','Servidor','Usuario','Contraseña','Login','Guardar contraseña','Visualizar contenido','Mostrar estructura','Modificar vista','Modifique estructura','Nuevo Registro','Ultima página','Modificar',array('%d byte','%d bytes'),'Mostrar','Funciones','Agregaciones','Condición','donde sea','Ordenar','descendiente','Limit','Longitud de texto','Acción','Comando SQL','mostrar','archivo','Modificar Base de datos','Modificar esquema','Crear esquema','Esquema de base de datos','Privilegios','Export','Logout','base de datos','Nueva tabla','registros','ltr','Volver a enviar POST data?','Token CSRF inválido. Vuelva a enviar los datos del formulario.','Salida exitosa.','Deben estar habilitadas las sesiones.','Sesión expirada, por favor ingrese su clave de nuevo.','Identificacion inválida.','No hay extension','Ninguna de las extensiones PHP soportadas (%s) está disponible.','POST data demasiado grande. Reduzca el tamaño o aumente la directiva de configuración %s.','Base de datos','Base de datos inválida.','Bases de datos eliminadas.','Seleccionar Base de datos','Ingrese nueva base de datos','Lista de procesos','Variables','Estado','Versión %s: %s a través de extensión PHP %s','Logeado como: %s','Colación','Tablas','Eliminar','Refrescar','No existen registros.','%.3f s','Claves foráneas','colación','ON DELETE','Nombre de columna','Nombre de Parámetro','Tipo','Longitud','Opciones','Incremento automático','Valores predeterminados','Comentario','Agregar','Mover arriba','Mover abajo','Eliminar','Vistas','Tabla','Columna','Indices','Modificar indices','Origen','Destino','ON UPDATE','Modificar','Agregar clave foránea','Triggers','Agregar trigger','Enlace permanente','Exportar','Salida','Formato','Procedimientos','Eventos','Datos','Crear Usuario','Error en consulta',array('%d registro','%d registros'),array('Consulta ejecutada, %d registro afectado.','Consulta ejecutada, %d registros afectados.'),'No hay comando para ejecutar.',array('%d sentencia sql ejecutada correctamente.','%d sentencias sql ejecutadas correctamente.'),'Importar archivo','Importación de archivos deshablilitado.','Ejecutar','Parar en caso de error','Mostrar solamente errores','Desde servidor','Archivo de servidor web %s','Ejecutar Archivo','History','Vaciar','Editar todos','Registro eliminado.','Registro modificado.','Registro%s insertado.','Agregar','Guardar','Guardar y continuar editando','Guardar e insertar otro','Eliminar','Tabla eliminada.','Tabla modificada.','Tabla creada.','Cree tabla','Cantida máxima de campos permitidos excedidos. Por favor aumente %s y %s.','Nombre de la tabla','motor','Particionar por','Particiones','Nombre de Partición','Valores','Indices modificados.','Tipo de índice','Columna (longitud)','Nombre','Base de datos eliminada.','Base de datos renombrada.','Base de datos creada.','Base de datos modificada.','Crear Base de datos','Llamar',array('Consulta ejecutada, %d registro afectado.','Consulta ejecutada, %d registros afectados.'),'Clave externa eliminada.','Clave externa modificada.','Clave externa creada.','Las columnas de origen y destino deben ser del mismo tipo, debe existir un índice entre las columnas del destino y el registro referenciado debe existir.','Clave externa','Tabla de destino','Modificar','Agregar columna','Vista eliminada.','Vista modificada.','Vista creada.','Cear vista','Evento eliminado.','Evento modificado.','Evento creado.','Modificar Evento','Crear Evento','Inicio','Fin','Cada','Al completar preservar','Procedimiento eliminado.','Procedimiento modificado.','Procedimiento creado.','Modificar Función','Modificar procedimiento','Crear función','Crear procedimiento','Tipo de valor de regreso','Trigger eliminado.','Trigger modificado.','Trigger creado.','Modificar Trigger','Agregar Trigger','Tiempo','Evento','Usuario eliminado.','Usuario modificado.','Usuario creado.','Hash','Rutina','Conceder','Impedir',array('%d proceso detenido.','%d procesos detenidos.'),'%d en total','Detener',array('%d ítem afectado.','%d itemes afectados.'),'Doble-clic sobre el valor para editarlo.',array('%d registro importado.','%d registros importados.'),'No es posible seleccionar la tabla','modificar','Relaciones','Utilice el enlace de modificar para realizar los cambios.','Página','último','resultado completo','Clonar','Importar',' ','Tablas vaciadas (truncate).','Se movieron las tablas.','Tablas copiadas.','Tablas eliminadas.','Esquema','Tablas y vistas','Buscar datos en tablas','Motor','Longitud de datos','Longitud de índice','Espacio libre','Registros','Analizar','Optimizar','Comprobar','Reparar','Vaciar','Mover a otra base de datos','Mover','Copiar','Agenda','A hora determinada','HH:MM:SS');break;case"de":$U=array('Sind Sie sicher ?','Hochladen von Datei fehlgeschlagen.','Maximal erlaubte Dateigrösse ist %sB.','Datei existiert nicht.','leer','Original','Keine Tabellen.','Sprache','Benutzung','Zahlen','Datum oder Zeit','Zeichenketten','Binär','Listen','Datenbank System','Server','Benutzer','Passwort','Login','Passwort speichern','Daten auswählen','Struktur anzeigen','View ändern','Tabelle ändern','Neuer Datensatz','Letzte Seite','Ändern',array('%d Byte','%d Bytes'),'Daten zeigen von','Funktionen','Agregationen','Suchen','beliebig','Ordnen','absteigend','Begrenzung','Textlänge','Aktion','SQL-Query','anzeigen','Datei','Datenbank ändern','Schema ändern','Neues Schema','Datenbankschema','Rechte','Export','Abmelden','Datenbank','Neue Tabelle','zeigen','ltr','POST data noch einmal senden ?','CSRF Token ungültig. Bitte die Formulardaten erneut abschicken.','Abmeldung erfolgreich.','Sitzungen müssen aktiviert sein.','Sitzungsdauer abgelaufen, bitte erneut anmelden.','Ungültige Anmelde-Informationen.','Keine Erweiterungen installiert','Keine der unterstützten PHP-Erweiterungen (%s) ist vorhanden.','POST data zu gross. Reduzieren Sie die Grösse oder vergrössern Sie den Wert %s in der Konfiguration.','Datenbank','Datenbank ungültig.','Datenbanken entfernt.','Datenbank auswählen','Neue Datenbank','Prozessliste','Variablen','Status','Version %s: %s, mit PHP-Erweiterung %s','Angemeldet als: %s','Collation','Tabellen','Entfernen','Aktualisieren','Keine Daten.','%.3f s','Fremdschlüssel','Kollation','ON DELETE','Spaltenname','Name des Parameters','Typ','Länge','Optionen','Auto-Inkrement','Vorgabewerte festlegen','Kommentar','Hinzufügen','Nach oben','Nach unten','Entfernen','View','Tabelle','Spalte','Indizes','Indizes ändern','Ursprung','Ziel','ON UPDATE','Ändern','Fremdschlüssel hinzufügen','Trigger','Trigger hinzufügen','Dauerhafter Link','Exportieren','Ergebnis','Format','Prozeduren','Ereignisse','Daten','Neuer Benutzer','Fehler in der SQL-Abfrage',array('%d Datensatz','%d Datensätze'),array('Abfrage ausgeführt, %d Datensatz betroffen.','Abfrage ausgeführt, %d Datensätze betroffen.'),'Kein Kommando vorhanden.',array('SQL-Query erfolgreich ausgeführt.','%d SQL-Queries erfolgreich ausgeführt.'),'Datei importieren','Importieren von Dateien abgeschaltet.','Ausführen','Bei Fehler anhalten','Nur Fehler anzeigen','Im Server','Webserver Datei %s','Datei ausführen','History','Entleeren','Alle ändern','Datensatz gelöscht.','Datensatz geändert.','Datensatz%s hinzugefügt.','Hinzufügen','Speichern','Speichern und weiter bearbeiten','Speichern und nächsten hinzufügen','Entfernen','Tabelle entfernt.','Tabelle geändert.','Tabelle erstellt.','Neue Tabelle erstellen','Die maximal erlaubte Anzahl der Felder ist überschritten. Bitte %s und %s erhöhen.','Name der Tabelle','Motor','Partitionieren um','Partitionen','Name der Partition','Werte','Indizes geändert.','Index-Typ','Spalte (Länge)','Name','Datenbank entfernt.','Datenbank umbenannt.','Datenbank erstellt.','Datenbank geändert.','Neue Datenbank','Aufrufen',array('Kommando SQL ausgeführt, %d Datensatz betroffen.','Kommando SQL ausgeführt, %d Datensätze betroffen.'),'Fremdschlüssel entfernt.','Fremdschlüssel geändert.','Fremdschlüssel erstellt.','Spalten des Ursprungs und des Zieles müssen vom gleichen Datentyp sein, es muss unter den Zielspalten ein Index existieren und die referenzierten Daten müssen existieren.','Fremdschlüssel','Zieltabelle','Ändern','Spalte hinzufügen','View entfernt.','View geändert.','View erstellt.','Neue View erstellen','Ereignis entfernt.','Ereignis geändert.','Ereignis erstellt.','Ereignis ändern','Ereignis erstellen','Start','Ende','Jede','Nach der Ausführung erhalten','Prozedur entfernt.','Prozedur geändert.','Prozedur erstellt.','Funktion ändern','Prozedur ändern','Neue Funktion','Neue Prozedur','Typ des Rückgabewertes','Trigger entfernt.','Trigger geändert.','Trigger erstellt.','Trigger ändern','Trigger hinzufügen','Zeitpunkt','Ereignis','Benutzer entfernt.','Benutzer geändert.','Benutzer erstellt.','Hashed','Rutine','Erlauben','Verbieten',array('%d Prozess gestoppt.','%d Prozesse gestoppt.'),'%d insgesamt','Anhalten','%d Artikel betroffen.','Doppelklick zum Bearbeiten des Wertes.',array('%d Datensatz importiert.','%d Datensätze wurden importiert.'),'Auswahl der Tabelle fehlgeschlagen','ändern','Relationen','Benutzen Sie den Link zum editieren dieses Wertes.','Seite','letzte','Gesamtergebnis','Klonen','Importieren',' ','Tabellen sind entleert worden (truncate).','Tabellen verschoben.','Tabellen wurden kopiert.','Tabellen wurden entfernt (drop).','Schema','Tabellen und Views','Suche in Tabellen','Motor','Datengrösse','Indexgrösse','Freier Bereich','Datensätze','Analysieren','Optimieren','Prüfen','Reparieren','Entleeren (truncate)','In andere Datenbank verschieben','Verschieben','Kopieren','Zeitplan','Zur angegebenen Zeit','HH:MM:SS');break;case"fr":$U=array('Êtes-vous certain ?','Impossible d\'importer le fichier.','La taille maximale des fichiers est de %sB.','Le fichier est introuvable.','vide','original','Aucune table.','Langue','Utiliser','Nombres','Date et heure','Chaînes','Binaires','Listes','Système','Serveur','Utilisateur','Mot de passe','Authentification','Authentification permanente','Afficher les données','Afficher la structure','Modifier une vue','Modifier la table','Nouvel élément','Dernière page','Modifier',array('%d octet','%d octets'),'Select','Fonctions','Agrégation','Rechercher','n\'importe où','Trier','décroissant','Limite','Longueur du texte','Action','Requête SQL','ouvrir','sauvegarder','Modifier la base de données','Modifier le schéma','Créer un schéma','Schéma de la base de données','Privilèges','Exporter','Déconnexion','base de données','Créer une nouvelle table','select','ltr','Renvoyer les données POST ?','Token CSRF invalide. Veuillez réenvoyer le formulaire.','Au revoir !','Veuillez activer les sessions.','Session expirée, veuillez vous authentifier à nouveau.','Authentification échouée.','Extension introuvable','Aucune des extensions PHP supportées (%s) n\'est disponible.','Données POST trop grandes. Réduisez la taille des données ou augmentez la valeur de %s dans la configuration de PHP.','Base de données','Base de données invalide.','Les bases de données ont été supprimées.','Sélectionner la base de données','Créer une base de données','Liste des processus','Variables','Statut','Version de %s : %s via l\'extension PHP %s','Authentifié en tant que : %s','Interclassement','Tables','Supprimer','Rafraîchir','Aucun résultat.','%.3f s','Clés étrangères','interclassement','ON DELETE','Nom de la colonne','Nom du paramètre','Type','Longueur','Options','Auto increment','Valeurs par défaut','Commentaire','Ajouter le prochain','Déplacer vers le haut','Déplacer vers le bas','Effacer','Vue','Table','Colonne','Index','Modifier les index','Source','Cible','ON UPDATE','Modifier','Ajouter une clé étrangère','Triggers','Ajouter un trigger','Lien permanent','Exporter','Sortie','Format','Routines','Évènements','Données','Créer un utilisateur','Erreur dans la requête',array('%d ligne','%d lignes'),array('Requête exécutée avec succès, %d ligne modifiée.','Requête exécutée avec succès, %d lignes modifiées.'),'Aucune commande à exécuter.',array('%d requête exécutée avec succès.','%d requêtes exécutées avec succès.'),'Importer un fichier','L\'importation de fichier est désactivée.','Exécuter','Arrêter en cas d\'erreur','Montrer seulement les erreurs','Depuis le serveur','Fichier %s du serveur Web','Exécuter le fichier','Historique','Effacer','Tout modifier','L\'élément a été supprimé.','L\'élément a été modifié.','L\'élément%s a été inséré.','Insérer','Sauvegarder','Sauvegarder et continuer l\'édition','Sauvegarder et insérer le prochain','Effacer','La table a été effacée.','La table a été modifiée.','La table a été créée.','Créer une table','Le nombre maximum de champs est dépassé. Veuillez augmenter %s et %s.','Nom de la table','moteur','Partitionner par','Partitions','Nom de la partition','Valeurs','Index modifiés.','Type d\'index','Colonne (longueur)','Nom','La base de données a été supprimée.','La base de données a été renommée.','La base de données a été créée.','La base de données a été modifiée.','Créer une base de données','Appeler',array('La routine a été exécutée, %d ligne modifiée.','La routine a été exécutée, %d lignes modifiées.'),'La clé étrangère a été effacée.','La clé étrangère a été modifiée.','La clé étrangère a été créée.','Les colonnes de source et de destination doivent être du même type, il doit y avoir un index sur les colonnes de destination et les données référencées doivent exister.','Clé étrangère','Table visée','Modifier','Ajouter une colonne','La vue a été effacée.','La vue a été modifiée.','La vue a été créée.','Créer une vue','L\'évènement a été supprimé.','L\'évènement a été modifié.','L\'évènement a été créé.','Modifier un évènement','Créer un évènement','Démarrer','Terminer','Chaque','Conserver quand complété','La routine a été supprimée.','La routine a été modifiée.','La routine a été créée.','Modifier la fonction','Modifier la procédure','Créer une fonction','Créer une procédure','Type de retour','Le trigger a été supprimé.','Le trigger a été modifié.','Le trigger a été créé.','Modifier un trigger','Ajouter un trigger','Temps','Évènement','L\'utilisateur a été effacé.','L\'utilisateur a été modifié.','L\'utilisateur a été créé.','Haché','Routine','Grant','Revoke',array('%d processus a été arrêté.','%d processus ont été arrêtés.'),'%d au total','Arrêter',array('%d élément a été modifié.','%d éléments ont été modifiés.'),'Double-cliquez sur une valeur pour la modifier.',array('%d ligne a été importée.','%d lignes ont été importées.'),'Impossible de sélectionner la table','modifier','Relations','Utilisez le lien "modifier" pour modifier cette valeur.','Page','dernière','résultat entier','Cloner','Importer',',','Les tables ont été tronquées.','Les tables ont été déplacées.','Les tables ont été copiées.','Les tables ont été effacées.','Schéma','Tables et vues','Rechercher dans les tables','Moteur','Longueur des données','Longueur de l\'index','Espace inutilisé','Lignes','Analyser','Optimiser','Vérifier','Réparer','Tronquer','Déplacer vers une autre base de données','Déplacer','Copier','Horaire','À un moment précis','HH:MM:SS');break;case"it":$U=array('Sicuro?','Caricamento del file non riuscito.','La dimensione massima del file è %sB.','Il file non esiste.','vuoto','originale','No tabelle.','Lingua','Usa','Numeri','Data e ora','Stringhe','Binari','Liste','Sistema','Server','Utente','Password','Autenticazione','Login permanente','Visualizza dati','Visualizza struttura','Modifica vista','Modifica tabella','Nuovo elemento','Ultima pagina','Modifica',array('%d byte','%d bytes'),'Seleziona','Funzioni','Aggregazione','Cerca','ovunque','Ordina','discendente','Limite','Lunghezza testo','Azione','Comando SQL','apri','salva','Modifica database','Modifica schema','Crea schema','Schema database','Privilegi','Dump','Esci','database','Crea nuova tabella','seleziona','ltr','Reinvio i dati POST?','Token CSRF non valido. Reinvia la richiesta.','Uscita effettuata con successo.','Le sessioni devono essere abilitate.','Sessione scaduta, autenticarsi di nuovo.','Credenziali non valide.','Estensioni non presenti','Nessuna delle estensioni PHP supportate (%s) disponibile.','Troppi dati via POST. Ridurre i dati o aumentare la direttiva di configurazione %s.','Database','Database non valido.','Database eliminati.','Seleziona database','Crea nuovo database','Elenco processi','Variabili','Stato','Versione %s: %s via estensione PHP %s','Autenticato come: %s','Collazione','Tabelle','Elimina','Aggiorna','Nessuna riga.','%.3f s','Chiavi esterne','collazione','ON DELETE','Nome colonna','Nome parametro','Tipo','Lunghezza','Opzioni','Auto incremento','Valori predefiniti','Commento','Aggiungi altro','Sposta su','Sposta giu','Rimuovi','Vedi','Tabella','Colonna','Indici','Modifica indici','Sorgente','Obiettivo','ON UPDATE','Modifica','Aggiungi foreign key','Trigger','Aggiungi trigger','Link permanente','Esporta','Risultato','Formato','Routine','Eventi','Dati','Crea utente','Errore nella query',array('%d riga','%d righe'),array('Esecuzione della query OK, %d riga interessata.','Esecuzione della query OK, %d righe interessate.'),'Nessun commando da eseguire.',array('%d query eseguita con successo.','%d query eseguite con successo.'),'Caricamento file','Caricamento file disabilitato.','Esegui','Stop su errore','Mostra solo gli errori','Dal server','Webserver file %s','Esegui file','Storico','Pulisci','Modifica tutto','Elemento eliminato.','Elemento aggiornato.','Elemento%s inserito.','Inserisci','Salva','Salva e continua','Salva e inserisci un altro','Elimina','Tabella eliminata.','Tabella modificata.','Tabella creata.','Crea tabella','Troppi campi. Per favore aumentare %s e %s.','Nome tabella','motore','Partiziona per','Partizioni','Nome partizione','Valori','Indici modificati.','Tipo indice','Colonna (lunghezza)','Nome','Database eliminato.','Database rinominato.','Database creato.','Database modificato.','Crea database','Chiama',array('Routine chiamata, %d riga interessata.','Routine chiamata, %d righe interessate.'),'Foreign key eliminata.','Foreign key modificata.','Foreign key creata.','Le colonne sorgente e destinazione devono essere dello stesso tipo e ci deve essere un indice sulla colonna di destinazione e sui dati referenziati.','Foreign key','Tabella obiettivo','Cambia','Aggiungi colonna','Vista eliminata.','Vista modificata.','Vista creata.','Crea vista','Evento eliminato.','Evento modificato.','Evento creato.','Modifica evento','Crea evento','Inizio','Fine','Ogni','Al termine preservare','Routine eliminata.','Routine modificata.','Routine creata.','Modifica funzione','Modifica procedura','Crea funzione','Crea procedura','Return type','Trigger eliminato.','Trigger modificato.','Trigger creato.','Modifica trigger','Crea trigger','Orario','Evento','Utente eliminato.','Utente modificato.','Utente creato.','Hashed','Routine','Permetti','Revoca',array('%d processo interrotto.','%d processi interrotti.'),'%d in totale','Interrompi',array('Il risultato consiste in %d elemento.','Il risultato consiste in %d elementi.'),'Fai doppio click su un valore per modificarlo.',array('%d riga importata.','%d righe importate.'),'Selezione della tabella non riuscita','modifica','Relazioni','Usa il link modifica per modificare questo valore.','Pagina','ultima','intero risultato','Clona','Importa','.','Le tabelle sono state svuotate.','Le tabelle sono state spostate.','Le tabelle sono state copiate.','Le tabelle sono state eliminate.','Schema','Tabelle e viste','Cerca nelle tabelle','Motore','Lunghezza dato','Lunghezza indice','Dati liberi','Righe','Analizza','Ottimizza','Controlla','Ripara','Svuota','Sposta in altro database','Sposta','Copia','Pianifica','A tempo prestabilito','HH:MM:SS');break;case"et":$U=array('Kas oled kindel?','Faili üleslaadimine pole võimalik.','Maksimaalne failisuurus %sB.','Faili ei leitud.','tühi','originaal','Tabeleid ei leitud.','Keel','Kasuta','Numbrilised','Kuupäev ja kellaaeg','Tekstid','Binaar','Listid','Andmebaasimootor','Server','Kasutajanimi','Parool','Logi sisse','Jäta mind meelde','Vaata andmeid','Näita struktuuri','Muuda vaadet (VIEW)','Muuda tabeli struktuuri','Lisa kirje','Viimane lehekülg','Muuda',array('%d bait','%d baiti'),'Kuva','Funktsioonid','Liitmine','Otsi','vahet pole','Sorteeri','kahanevalt','Piira','Teksti pikkus','Tegevus','SQL-Päring','näita brauseris','salvesta failina','Muuda andmebaasi','Muuda struktuuri','Loo struktuur','Andmebaasi skeem','Õigused','Ekspordi','Logi välja','andmebaas','Loo uus tabel','kuva','ltr','Saada POST andmed uuesti?','Sobimatu CSRF, palun postitage vorm uuesti.','Väljalogimine õnnestus.','Sessioonid peavad olema lubatud.','Sessioon on aegunud, palun logige uuesti sisse.','Ebakorrektsed andmed.','Ei leitud laiendust','Serveris pole ühtegi toetatud PHP laiendustest (%s).','POST-andmete maht on liialt suur. Palun vähendage andmeid või suurendage %s php-seadet.','Andmebaas','Tundmatu andmebaas.','Andmebaasid on edukalt kustutatud.','Vali andmebaas','Loo uus andmebaas','Protsesside nimekiri','Muutujad','Staatus','%s versioon: %s, kasutatud PHP moodul: %s','Sisse logitud: %s','Tähetabel','Tabelid','Kustuta','Uuenda','Sissekanded puuduvad.','%.3f s','Võõrvõtmed (foreign key)','tähetabel','ON DELETE','Veeru nimi','Parameetri nimi','Tüüp','Pikkus','Valikud','Automaatselt suurenev','Vaikimisi väärtused','Kommentaar','Lisa järgmine','Liiguta ülespoole','Liiguta allapoole','Eemalda','Vaata','Tabel','Veerg','Indeksid','Muuda indekseid','Allikas','Sihtkoht','ON UPDATE','Muuda','Lisa võõrvõti','Päästikud (trigger)','Lisa päästik (TRIGGER)','Püsilink','Ekspordi','Väljund','Formaat','Protseduurid','Sündmused (EVENTS)','Andmed','Loo uus kasutaja','Päringus esines viga','%d rida','Päring õnnestus, mõjutatatud ridu: %d.','Käsk puudub.',array('%d päring edukalt käivitatud.','%d päringut edukalt käivitatud.'),'Faili üleslaadimine','Failide üleslaadimine on keelatud.','Käivita','Peatuda vea esinemisel','Kuva vaid veateateid','Serverist','Fail serveris: %s','Käivita fail','Ajalugu','Puhasta','Muuda kõiki','Kustutamine õnnestus.','Uuendamine õnnestus.','Kirje%s on edukalt lisatud.','Sisesta','Salvesta','Salvesta ja jätka muutmist','Salvesta ja lisa järgmine','Kustuta','Tabel on edukalt kustutatud.','Tabeli andmed on edukalt muudetud.','Tabel on edukalt loodud.','Loo uus tabel','Maksimaalne väljade arv ületatud. Palun suurendage %s ja %s.','Tabeli nimi','andmebaasimootor','Partitsiooni','Partitsioonid','Partitsiooni nimi','Väärtused','Indeksite andmed on edukalt uuendatud.','Indeksi tüüp','Veerg (pikkus)','Nimi','Andmebaas on edukalt kustutatud.','Andmebaas on edukalt ümber nimetatud.','Andmebaas on edukalt loodud.','Andmebaasi struktuuri uuendamine õnnestus.','Loo uus andmebaas','Käivita','Protseduur täideti edukalt, mõjutatud ridu: %d.','Võõrvõti on edukalt kustutatud.','Võõrvõtme andmed on edukalt muudetud.','Võõrvõri on edukalt loodud.','Lähte- ja sihtveerud peavad eksisteerima ja omama sama andmetüüpi, sihtveergudel peab olema määratud indeks ning viidatud andmed peavad eksisteerima.','Võõrvõti','Siht-tabel','Muuda','Lisa veerg','Vaade (VIEW) on edukalt kustutatud.','Vaade (VIEW) on edukalt muudetud.','Vaade (VIEW) on edukalt loodud.','Loo uus vaade (VIEW)','Sündmus on edukalt kustutatud.','Sündmuse andmed on edukalt uuendatud.','Sündmus on edukalt loodud.','Muuda sündmuse andmeid','Loo uus sündmus (EVENT)','Alusta','Lõpeta','Iga','Lõpetamisel jäta sündmus alles','Protseduur on edukalt kustutatud.','Protseduuri andmed on edukalt muudetud.','Protseduur on edukalt loodud.','Muuda funktsiooni','Muuda protseduuri','Loo uus funktsioon','Loo uus protseduur','Tagastustüüp','Päästik on edukalt kustutatud.','Päästiku andmed on edukalt uuendatud.','Uus päästik on edukalt loodud.','Muuda päästiku andmeid','Loo uus päästik (TRIGGER)','Aeg','Sündmus','Kasutaja on edukalt kustutatud.','Kasutaja andmed on edukalt muudetud.','Kasutaja on edukalt lisatud.','Häshitud (Hashed)','Protseduur','Anna','Eemalda',array('Protsess on edukalt peatatud (%d).','Valitud protsessid (%d) on edukalt peatatud.'),'Kokku: %d','Peata','Mõjutatud kirjeid: %d.','Väärtuse muutmiseks topelt-kliki sellel.','Imporditi %d rida.','Tabeli valimine ebaõnnestus','muuda','Seosed','Väärtuse muutmiseks kasuta muutmislinki.','Lehekülg','viimane','Täielikud tulemused','Kloon','Impordi',',','Validud tabelid on edukalt tühjendatud.','Valitud tabelid on edukalt liigutatud.','Tabelid on edukalt kopeeritud.','Valitud tabelid on edukalt kustutatud.','Struktuur','Tabelid ja vaated','Otsi kogu andmebaasist','Implementatsioon','Andmete pikkus','Indeksi pikkus','Vaba ruumi','Ridu','Analüüsi','Optimeeri','Kontrolli','Paranda','Tühjenda','Liiguta teise andmebaasi','Liiguta','Kopeeri','Ajakava','Antud ajahetkel','HH:MM:SS');break;case"hu":$U=array('Biztos benne?','Nem tudom feltölteni a fájlt.','A maximális fájlméret %s B.','A fájl nem létezik.','üres','eredeti','Nincs tábla.','Nyelv','Használ','Szám','Dátum és idő','Szöveg','Bináris','Lista','Adatbázis','Szerver','Felhasználó','Jelszó','Belépés','Emlékezz rám','Tartalom','Struktúra','Nézet módosítása','Tábla módosítása','Új tétel','Utolsó oldal','Szerkeszt',array('%d bájt','%d bájt','%d bájt'),'Kiválasztás','Funkciók','Aggregálás','Keresés','bárhol','Sorba rendezés','csökkenő','korlát','Szöveg hossz','Művelet','SQL parancs','megnyit','ment','Adatbázis módosítása','Séma módosítása','Séma létrehozása','Adatbázis séma','Privilégiumok','Exportálás','Kilépés','adatbázis','Új tábla','kiválasztás','ltr','Újraküldi a POST adatokat?','Érvénytelen CSRF azonosító. Küldd újra az űrlapot.','Sikeres kilépés.','A munkameneteknek (session) engedélyezve kell lennie.','Munkamenet lejárt, jelentkezz be újra.','Érvénytelen adatok.','Nincs kiterjesztés','Nincs egy elérhető támogatott PHP kiterjesztés (%s) sem.','Túl sok a POST adat! Csökkentsd az adat méretét, vagy növeld a %s beállítást.','Adatbázis','Érvénytelen adatbázis.','Adatbázis eldobva.','Adatbázis kiválasztása','Új adatbázis','Folyamatok','Változók','Állapot','%s verzió: %s, PHP: %s','Belépve: %s','Egybevetés','Táblák','Eldob','Frissítés','Nincs megjeleníthető eredmény.','%.3f másodperc','Idegen kulcs','egybevetés','törléskor','Oszlop neve','Paraméter neve','Típus','Hossz','Opciók','Automatikus növelés','Alapértelmezett értékek','Megjegyzés','Következő hozzáadása','Felfelé','Lefelé','Eltávolítás','Nézet','Tábla','Oszlop','Indexek','Index módosítása','Forrás','Cél','frissítéskor','Módosítás','Idegen kulcs hozzadása','Trigger','Trigger hozzáadása','Hivatkozás','Export','Kimenet','Formátum','Rutinok','Esemény','Adat','Felhasználó hozzáadása','Hiba a lekérdezésben',array('%d sor','%d sor','%d sor'),array('Lekérdezés sikeresen végrehajtva, %d sor érintett.','Lekérdezés sikeresen végrehajtva, %d sor érintett.','Lekérdezés sikeresen végrehajtva, %d sor érintett.'),'Nincs végrehajtható parancs.','%d sikeres lekérdezés.','Fájl feltöltése','A fájl feltöltés le van tiltva.','Végrehajt','Hiba esetén megáll','Csak a hibák mutatása','Szerverről','Webszerver fájl %s','Fájl futtatása','Történet','Törlés','Összes szerkesztése','A tétel törölve.','A tétel frissítve.','%s tétel beszúrva.','Beszúr','Mentés','Mentés és szerkesztés folytatása','Mentés és újat beszúr','Törlés','A tábla eldobva.','A tábla módosult.','A tábla létrejött.','Tábla létrehozása','A maximális mezőszámot elérted. Növeld meg ezeket: %s, %s.','Tábla név','motor','Particionálás ezzel','Particiók','Partició neve','Értékek','Az indexek megváltoztak.','Index típusa','Oszop (méret)','Név','Az adatbázis eldobva.','Az adadtbázis átnevezve.','Az adatbázis létrejött.','Az adatbázis módosult.','Adatbázis létrehozása','Meghív',array('Rutin meghívva, %d sor érintett.','Rutin meghívva, %d sor érintett.','Rutin meghívva, %d sor érintett.'),'Idegen kulcs eldobva.','Idegen kulcs módosult.','Idegen kulcs létrejött.','A forrás és cél oszlopoknak azonos típusúak legyenek, a cél oszlopok indexeltek legyenek, és a hivatkozott adatnak léteznie kell.','Idegen kulcs','Cél tábla','Változtat','Oszlop hozzáadása','A nézet eldobva.','A nézet módosult.','A nézet létrejött.','Nézet létrehozása','Az esemény eldobva.','Az esemény módosult.','Az esemény létrejött.','Esemény módosítása','Esemény létrehozása','Kezd','Vége','Minden','Befejezéskor megőrzi','A rutin eldobva.','A rutin módosult.','A rutin létrejött.','Funkció módosítása','Eljárás módosítása','Funkció létrehozása','Eljárás létrehozása','Visszatérési érték','A trigger eldobva.','A trigger módosult.','A trigger létrejött.','Trigger módosítása','Trigger létrehozása','Idő','Esemény','A felhasználó eldobva.','A felhasználó módosult.','A felhasználó létrejött.','Hashed','Rutin','Engedélyezés','Visszavonás',array('%d folyamat leállítva.','%d folyamat leállítva.','%d folyamat leállítva.'),'összesen %d','Leállít',array('%d tétel érintett.','%d tétel érintett.','%d tétel érintett.'),'Kattints kétszer az értékre a szerkesztéshez.',array('%d sor importálva.','%d sor importálva.','%d sor importálva.'),'Nem tudom kiválasztani a táblát','szerkeszt','Reláció','Használd a szerkesztés hivatkozást ezen érték módosításához.','oldal','utolsó','összes eredményt mutatása','Klónoz','Importálás',' ','A tábla felszabadítva.','Táblák áthelyezve.','Táblák átmásolva.','Táblák eldobva.','Séma','Táblák és nézetek','Keresés a táblákban','Motor','Méret','Index hossz','Adat szabad','Oszlop','Elemzés','Optimalizál','Ellenőrzés','Javít','Felszabadít','Áthelyezés másik adatbázisba','Áthelyez','Másolás','Ütemzés','Megadott időben','óó:pp:mm');break;case"pl":$U=array('Czy jesteś pewien?','Wgranie pliku było niemożliwe.','Maksymalna wielkość pliku to %sB.','Plik nie istnieje.','puste','bez zmian','Brak tabel.','Język','Wybierz','Numeryczne','Data i czas','Tekstowe','Binarne','Listy','Rodzaj bazy','Serwer','Użytkownik','Hasło','Zaloguj się','Zapamiętaj sesję','Pokaż dane','Struktura tabeli','Zmień perspektywę','Zmień tabelę','Nowy rekord','Ostatnia strona','Edytuj',array('%d bajt','%d bajty','%d bajtów'),'pokaż','Funkcje','Agregacje','Szukaj','gdziekolwiek','Sortuj','malejąco','Limit','Długość tekstu','Czynność','Zapytanie SQL','otwórz','zapisz','Zmień bazę danych','Zmień schemat','Utwórz schemat','Schemat bazy danych','Uprawnienia użytkowników','Eksport','Wyloguj','baza danych','Utwórz nową tabelę','przeglądaj','ltr','Wysłać dane ponownie?','Nieprawidłowy token CSRF. Spróbuj wysłać formularz ponownie.','Wylogowano pomyślnie.','Wymagana jest obsługa sesji w PHP.','Sesja wygasła, zaloguj się ponownie.','Nieprawidłowe dane logowania.','Brak rozszerzenia','Żadne z rozszerzeń PHP umożliwiających połączenie się z bazą danych (%s) nie jest dostępne.','Przesłano zbyt dużo danych. Zmniejsz objętość danych lub zwiększ zmienną konfiguracyjną %s.','Baza danych','Nie znaleziono bazy danych.','Bazy danych zostały usunięte.','Wybierz bazę danych','Utwórz nową bazę danych','Lista procesów','Zmienne','Status','Wersja %s: %s za pomocą %s','Zalogowany jako: %s','Porównywanie znaków','Tabele','Usuń','Odśwież','Brak rekordów.','%.3f s','Klucze obce','porównywanie znaków','W przypadku usunięcia','Nazwa kolumny','Nazwa parametru','Typ','Długość','Opcje','Auto Increment','Wartości domyślne','Komentarz','Dodaj następny','Przesuń w górę','Przesuń w dół','Usuń','Perspektywa','Tabela','Kolumna','Indeksy','Zmień indeksy','Źródło','Cel','W przypadku zmiany','Zmień','Dodaj klucz obcy','Wyzwalacze','Dodaj wyzwalacz','Trwały link','Eksport','Rezultat','Format','Procedury i funkcje','Wydarzenia','Dane','Dodaj użytkownika','Błąd w zapytaniu',array('%d rekord','%d rekordy','%d rekordów'),array('Zapytanie wykonane pomyślnie, zmieniono %d rekord.','Zapytanie wykonane pomyślnie, zmieniono %d rekordy.','Zapytanie wykonane pomyślnie, zmieniono %d rekordów.'),'Nic do wykonania.',array('Pomyślnie wykonano %d zapytanie.','Pomyślnie wykonano %d zapytania.','Pomyślnie wykonano %d zapytań.'),'Wgranie pliku','Wgrywanie plików jest wyłączone.','Wykonaj','Zatrzymaj w przypadku błędu','Pokaż tylko błędy','Z serwera','Plik %s na serwerze','Uruchom z pliku','Historia','Wyczyść','Edytuj wszystkie','Rekord został usunięty.','Rekord został zaktualizowany.','Rekord%s został dodany.','Dodaj','Zapisz zmiany','Zapisz i kontynuuj edycję','Zapisz i dodaj następny','Usuń','Tabela została usunięta.','Tabela została zmieniona.','Tabela została utworzona.','Utwórz tabelę','Przekroczono maksymalną liczbę pól. Zwiększ %s i %s.','Nazwa tabeli','składowanie','Partycjonowanie','Partycje','Nazwa partycji','Wartości','Indeksy zostały zmienione.','Typ indeksu','Kolumna (długość)','Nazwa','Baza danych została usunięta.','Nazwa bazy danych została zmieniona.','Baza danych została utworzona.','Baza danych została zmieniona.','Utwórz bazę danych','Uruchom',array('Procedura została uruchomiona, zmieniono %d rekord.','Procedura została uruchomiona, zmieniono %d rekordy.','Procedura została uruchomiona, zmieniono %d rekordów.'),'Klucz obcy został usunięty.','Klucz obcy został zmieniony.','Klucz obcy został utworzony.','Źródłowa i docelowa kolumna muszą być tego samego typu, powinien istnieć indeks na docelowej kolumnie oraz muszą istnieć dane referencyjne.','Klucz obcy','Tabela docelowa','Zmień','Dodaj kolumnę','Perspektywa została usunięta.','Perspektywa została zmieniona.','Perspektywa została utworzona.','Utwórz perspektywę','Wydarzenie zostało usunięte.','Wydarzenie zostało zmienione.','Wydarzenie zostało utworzone.','Zmień wydarzenie','Utwórz wydarzenie','Początek','Koniec','Wykonuj co','Nie kasuj wydarzenia po przeterminowaniu','Procedura została usunięta.','Procedura została zmieniona.','Procedura została utworzona.','Zmień funkcję','Zmień procedurę','Utwórz funkcję','Utwórz procedurę','Zwracany typ','Wyzwalacz został usunięty.','Wyzwalacz został zmieniony.','Wyzwalacz został utworzony.','Zmień wyzwalacz','Utwórz wyzwalacz','Czas','Wydarzenie','Użytkownik został usunięty.','Użytkownik został zmieniony.','Użytkownik został dodany.','Zahashowane','Procedura','Uprawnienia','Usuń uprawnienia',array('Przerwano %d wątek.','Przerwano %d wątki.','Przerwano %d wątków.'),'%d w sumie','Przerwij wykonywanie',array('Zmieniono %d rekord.','Zmieniono %d rekordy.','Zmieniono %d rekordów.'),'Kliknij podwójnie wartość, aby ją edytować.',array('%d rekord został zaimportowany.','%d rekordy zostały zaimportowane.','%d rekordów zostało zaimportowanych.'),'Nie udało się pobrać danych z tabeli','edytuj','Relacje','Użyj linku edycji aby zmienić tę wartość.','Strona','ostatni','wybierz wszystkie','Duplikuj','Import',' ','Tabele zostały opróżnione.','Tabele zostały przeniesione.','Tabele zostały skopiowane.','Tabele zostały usunięte.','Schemat','Tabele i perspektywy','Wyszukaj we wszystkich tabelach','Składowanie','Rozmiar danych','Rozmiar indeksów','Wolne miejsce','Liczba rekordów','Analizuj','Optymalizuj','Sprawdź','Napraw','Opróżnij','Przenieś do innej bazy danych','Przenieś','Kopiuj','Harmonogram','O danym czasie','Zmień typ');break;case"ca":$U=array('Estàs segur?','Impossible adjuntar el fitxer.','La mida màxima permesa del fitxer és de %sB.','El fitxer no existeix.','buit','original','No hi ha cap taula.','Idioma','Utilitza','Nombres','Data i hora','Cadenes','Binari','Llistes','Sistema','Servidor','Nom d\'usuari','Contrasenya','Inicia la sessió','Sessió permanent','Selecciona dades','Mostra l\'estructura','Modifica la vista','Modifica la taula','Nou element','Darrera plana','Edita',array('%d byte','%d bytes'),'Selecciona','Funcions','Agregació','Cerca','a qualsevol lloc','Ordena','descendent','Límit','Longitud del text','Acció','Ordre SQL','obre','desa','Modifica la base de dades','Modifica l\'esquema','Crea un esquema','Esquema de la base de dades','Privilegis','Exporta','Desconnecta','base de dades','Crea una nova taula','registres','ltr','Torna a enviar les dades POST?','Token CSRF invàlid. Torna a enviar el formulari.','Desconnexió correcta.','Cal que estigui permès l\'us de sessions.','La sessió ha expirat, torna a iniciar-ne una.','Credencials invàlids.','Cap extensió','No hi ha cap de les extensions PHP soporatades (%s) disponible.','Les dades POST són massa grans. Redueix les dades o incrementa la directiva de configuració %s.','Base de dades','Base de dades invàlida.','S\'han suprimit les bases de dades.','Selecciona base de dades','Crea una nova base de dades','Llista de processos','Variables','Estat','Versió %s: %s amb l\'extensió de PHP %s','Connectat com: %s','Compaginació','Taules','Suprimeix','Refresca','No hi ha cap registre.','%.3f s','Claus foranes','compaginació','ON DELETE','Nom de la columna','Nom del paràmetre','Tipus','Llargada','Opcions','Increment automàtic','Valors per defecte','Comentari','Afegeix el següent','Mou a dalt','Mou a baix','Suprimeix','Vista','Taula','Columna','Índexs','Modifica els índexs','Font','Destí','ON UPDATE','Modifica','Afegeix una clau forana','Activadors','Afegeix un activador','Enllaç permanent','Exporta','Sortida','Format','Rutines','Events','Dades','Crea un usuari','Error en la consulta',array('%d registre','%d registres'),array('Consulta executada correctament, %d registre modificat.','Consulta executada correctament, %d registres modificats.'),'Cap comanda per executar.',array('%d consulta executada correctament.','%d consultes executades correctament.'),'Adjunta un fitxer','L\'ddjunció de fitxers està desactivada.','Executa','Atura en trobar un error','Mostra només els errors','En el servidor','Fitxer %s del servidor web','Executa el fitxer','Història','Suprimeix','Edita-ho tot','S\'ha suprmit l\'element.','S\'ha actualitzat l\'element.','S\'ha insertat l\'element%s.','Insereix','Desa','Desa i segueix editant','Desa i insereix el següent','Suprimeix','S\'ha suprimit la taula.','S\'ha modificat la taula.','S\'ha creat la taula.','Crea una taula','S\'ha assolit el nombre màxim de camps. Incrementa %s i %s.','Nom de la taula','motor','Fes particions segons','Particions','Nom de la partició','Valors','S\'han modificat els índexs.','Tipus d\'índex','Columna (longitud)','Nom','S\'ha suprimit la base de dades.','S\'ha canviat el nom de la base de dades.','S\'ha creat la base de dades.','S\'ha modificat la base de dades.','Crea una base de dades','Crida',array('S\'ha cridat la rutina, %d registre modificat.','S\'ha cridat la rutina, %d registres modificats.'),'S\'ha suprimit la clau forana.','S\'ha modificat la clau forana.','S\'ha creat la clau forana.','Les columnes origen i destí han de ser del mateix tipus, la columna destí ha d\'estar indexada i les dades referenciades han d\'existir.','Clau forana','Taula de destí','Canvi','Afegeix una columna','S\'ha suprimit la vista.','S\'ha modificat la vista.','S\'ha creat la vista.','Crea una vista','S\'ha suprimit l\'event.','S\'ha modificat l\'event.','S\'ha creat l\'event.','Modifica l\'event','Crea un event','Comença','Acaba','Cada','Conservar en completar','S\'ha suprimit la rutina.','S\'ha modificat la rutina.','S\'ha creat la rutina.','Modifica la funció','Modifica el procediment','Crea una funció','Crea un procediment','Tipus retornat','S\'ha suprimit l\'activador.','S\'ha modificat l\'activador.','S\'ha creat l\'activador.','Modifica l\'activador','Crea un activador','Temps','Event','S\'ha suprimit l\'usuari.','S\'ha modificat l\'usuari.','S\'ha creat l\'usuari.','Hashed','Rutina','Grant','Revoke',array('S\'ha aturat %d procés.','S\'han aturat %d processos.'),'%d en total','Atura',array('S\'ha modificat %d element.','S\'han modificat %d elements.'),'Fes un doble clic a un valor per modificar-lo.',array('S\'ha importat %d registre.','S\'han importat %d registres.'),'Impossible seleccionar la taula','edita','Relacions','Utilitza l\'enllaç d\'edició per modificar aquest valor.','Plana','darrera','tots els resultats','Clona','Importa',',','S\'han escapçat les taules.','S\'han desplaçat les taules.','S\'han copiat les taules.','S\'han suprimit les taules.','Esquema','Taules i vistes','Cerca dades en les taules','Motor','Longitud de les dades','Longitud de l\'índex','Espai lliure','Files','Analitza','Optimitza','Verifica','Repara','Escapça','Desplaça a una altra base de dades','Desplaça','Còpia','Horari','A un moment donat','HH:MM:SS');break;case"pt":$U=array('Está seguro?','Não é possivel enviar o arquivo.','Tamanho máximo do arquivo é %sB.','Arquivo não existe.','vazio','original','Não existem tabelas.','Idioma','Usar','Números','Data e hora','Cadena','Binario','Listas','Motor de Base de dados','Servidor','Usuario','Senha','Entrar','Salvar Senha','Selecionar dados','Mostrar estrutura','Modificar vista','Modificar estrutura','Novo Registro','Ultima página','Modificar',array('%d byte','%d bytes'),'Selecionar','Funções','Adições','Procurar','qualquer local','Ordenar','decrescente','Limite','Tamanho de texto','Ação','Comando SQL','mostrar','salvas','Modificar Base de dados','Modificar esquema','Criar esquema','Esquema de Base de dados','Privilegios','Exportar','Sair','base de dados','Nova tabela','registros','ltr','Resend POST data?','Token CSRF inválido. Enviar o formulario novamente.','Saida bem sucedida.','Devem estar habilitadas as sessões.','Sessão expirada, por favor entre sua Chave de novo.','Identificação inválida.','Não ha extension','Nenhuma das extensões PHP soportadas (%s) está disponivel.','POST data demasiado grande. Reduza o tamanho ou aumente a diretiva de configuração %s.','Base de dados','Base de dados inválida.','Bases de dados eliminadas.','Selecionar Base de dados','Criar nova base de dados','Lista de processos','Variaveis','Estado','Versão %s: %s através da extensão PHP %s','Logado como: %s','Colação','Tabelas','Remover','Atualizar','Não existem registros.','%.3f s','Chaves foráneas','collation','ON DELETE','Nome da coluna','Nome de Parametro','Tipo','Tamanho','Opções','Incremento Automático','Valores predeterminados','Comentario','Adicionar proximo','Mover acima','Mover abaixo','Remover','Visualizar','Tabela','Coluna','Indices','Modificar indices','Origem','Destino','ON UPDATE','Modificar','Adicionar Chave foránea','Triggers','Adicionar trigger','Permanent link','Exportar','Saida','Formato','Procedimentos','Eventos','Dados','Criar Usuario','Erro na consulta',array('%d registro','%d registros'),array('Consulta executada, %d registro afetados.','Consulta executada, %d registros afetados.'),'Nenhum comando para executar.',array('%d consulta sql executada corretamente.','%d consulta sql executadas corretamente.'),'Importar arquivo','Importação de arquivos desablilitado.','Executar','Parar em caso de erro','Mostrar somente erros','Desde servidor','Arquivo do servidor web %s','Executar Arquivo','Historico','Limpar','Edit all','Registro eliminado.','Registro modificado.','Registro%s inserido.','Inserir','Salvar','Salvar e continuar editando','Salvar e inserir outro','Apagar','Tabela eliminada.','Tabela modificada.','Tabela criada.','Criar tabela','Cantida máxima de campos permitidos excedidos. Por favor aumente %s y %s.','Nome da tabela','motor','Particionar por','Partições','Nome da Partição','Valores','Indices modificados.','Tipo de índice','coluna (tamanho)','Nome','Base de dados eliminada.','Base de dados renomeada.','Base de dados criada.','Base de dados modificada.','Criar Base de dados','Chamar',array('Consulta executada, %d registro afetado.','Consulta executada, %d registros afetados.'),'Chave externa eliminada.','Chave externa modificada.','Chave externa criada.','As colunas de origen e destino devem ser do mesmo tipo, deve existir um índice entre as colunas de destino e o registro referenciado deve existir.','Chave externa','Tabela de destino','Modificar','Adicionar coluna','Vista eliminada.','Vista modificada.','Vista criada.','Criar vista','Evento eliminado.','Evento modificado.','Evento criado.','Modificar Evento','Criar Evento','Inicio','Fim','Cada','Ao completar preservar','Procedimento eliminado.','Procedimento modificado.','Procedimento criado.','Modificar Função','Modificar procedimiento','Criar função','Criar procedimento','Tipo de valor de regreso','Trigger eliminado.','Trigger modificado.','Trigger criado.','Modificar Trigger','Adicionar Trigger','Tempo','Evento','Usuario eliminado.','Usuario modificado.','Usuario criado.','Hash','Rotina','Conceder','Impedir',array('%d processo terminado.','%d processos terminados.'),'%d no total','Parar',array('%d ítem afetado.','%d itens afetados.'),'Doble-clic sobre o valor para edita-lo.',array('%d registro importado.','%d registros importados.'),'Não é possivel selecionar a Tabela','modificar','Relações','Utilize o link modificar para alterar.','Página','último','resultado completo','Clonar','Importar',' ','Tabelas truncadas (truncate).','As Tabelas foram movidas.','Tables have been copied.','Tabelas eliminadas.','Esquema','Tabelas e vistas','Buscar dados nas Tabelas','Motor','Tamanho de dados','Tamanho de índice','Espaço Livre','Registros','Analizar','Otimizar','Verificar','Reparar','Truncar','Mover outra Base de dados','Mover','Copy','Agenda','A hora determinada','agora');break;case"sl":$U=array('Ste prepričani?','Ne morem naložiti datoteke.','Največja velikost datoteke je %sB.','Datoteka ne obstaja.','prazno','original','Ni tabel.','Jezik','Uporabi','Števila','Datum in čas','Nizi','Binarni','Seznami','Sistem','Strežnik','Uporabniško ime','Geslo','Prijavi se','Trajna prijava','Izberi podatke','Pokaži zgradbo','Spremeni pogled','Spremeni tabelo','Nov predmet','Zadnja stran','Uredi',array('%d bajt','%d bajta','%d bajti','%d bajtov'),'Izberi','Funkcije','Združitev','Išči','kjerkoli','Sortiraj','padajoče','Limita','Dolžina teksta','Dejanje','Ukaz SQL','odpri','shrani','Spremeni bazo','Spremeni shemo','Ustvari shemo','Shema baze','Pravice','Izvozi','Odjavi se','baza','Ustvari novo tabelo','izberi','ltr','Resend POST data?','Neveljaven token CSRF. Pošljite formular še enkrat.','Prijava uspešna.','Podpora za seje mora biti omogočena.','Seja je potekla. Prosimo, ponovno se prijavite.','Neveljavne pravice.','Brez dodatkov','Noben od podprtih dodatkov za PHP (%s) ni na voljo.','Preveliko podatkov za POST. Zmanjšajte število podatkov ali povečajte nastavitev za %s.','Baza','Neveljavna baza.','Baze so zavržene.','Izberi bazo','Ustvari novo bazo','Seznam procesov','Spremenljivke','Stanje','Verzija %s: %s preko dodatka za PHP %s','Prijavljen kot: %s','Zbiranje','Tabele','Zavrzi','Osveži','Ni vrstic.','%.3f s','Tuji ključi','zbiranje','pri brisanju','Ime stolpca','Ime parametra','Tip','Dolžina','Možnosti','Samodejno povečevanje','Privzete vrednosti','Komentar','Dodaj naslednjega','Premakni gor','Premakni dol','Odstrani','Pogledi','Tabela','Stolpec','Indeksi','Spremeni indekse','Izvor','Cilj','pri posodabljanju','Spremeni','Dodaj tuj ključ','Sprožilniki','Dodaj sprožilnik','Permanent link','Izvozi','Izhod rezultata','Format','Postopki','Dogodki','Podatki','Ustvari uporabnika','Napaka v poizvedbi',array('%d vrstica','%d vrstici','%d vrstice','%d vrstic'),array('Poizvedba se je uspešno izvedla, spremenjena je %d vrstica.','Poizvedba se je uspešno izvedla, spremenjeni sta %d vrstici.','Poizvedba se je uspešno izvedla, spremenjene so %d vrstice.','Poizvedba se je uspešno izvedla, spremenjenih je %d vrstic.'),'Ni ukazov za izvedbo.',array('Uspešno se je končala %d poizvedba.','Uspešno sta se končali %d poizvedbi.','Uspešno so se končale %d poizvedbe.','Uspešno se je končalo %d poizvedb.'),'Naloži datoteko','Nalaganje datotek je onemogočeno.','Izvedi','Ustavi ob napaki','Pokaži samo napake','z strežnika','Datoteka na spletnem strežniku %s','Zaženi datoteko','Zgodovina','Počisti','Edit all','Predmet je izbrisan.','Predmet je posodobljen.','Predmet%s je vstavljen.','Vstavi','Shrani','Shrani in nadaljuj z urejanjem','Shrani in vstavi tekst','Izbriši','Tabela je zavržena.','Tabela je spremenjena.','Tabela je ustvarjena.','Ustvari tabelo','Največje število dovoljenih polje je preseženo. Prosimo, povečajte %s in %s.','Ime tabele','pogon','Porazdeli po','Porazdelitve','Ime porazdelitve','Vrednosti','Indeksi so spremenjeni.','Tip indeksa','Stolpec (dolžina)','Naziv','Baza je zavržena.','Baza je preimenovana.','Baza je ustvarjena.','Baza je spremenjena.','Ustvari bazo','Pokliči',array('Klican je bil postopek, spremenjena je %d vrstica.','Klican je bil postopek, spremenjeni sta %d vrstici.','Klican je bil postopek, spremenjene so %d vrstice.','Klican je bil postopek, spremenjenih je %d vrstic.'),'Tuj ključ je zavržen.','Tuj ključ je spremenjen.','Tuj ključ je ustvarjen.','Izvorni in ciljni stolpec mora imeti isti podatkovni tip. Obstajati mora indeks na ciljnih stolpcih in obstajati morajo referenčni podatki.','Tuj ključ','Ciljna tabela','Spremeni','Dodaj stolpec','Pogled je zavržen.','Pogled je spremenjen.','Pogled je ustvarjen.','Ustvari pogled','Dogodek je zavržen.','Dogodek je spremenjen.','Dogodek je ustvarjen.','Spremeni dogodek','Ustvari dogodek','Začetek','Konec','vsake','Po zaključku ohrani','Postopek je zavržen.','Postopek je spremenjen.','Postopek je ustvarjen.','Spremeni funkcijo','Spremeni postopek','Ustvari funkcijo','Ustvari postopek','Vračalni tip','Sprožilnik je odstranjen.','Sprožilnik je spremenjen.','Sprožilnik je ustvarjen.','Spremeni sprožilnik','Ustvari sprožilnik','Čas','Dogodek','Uporabnik je odstranjen.','Uporabnik je spremenjen.','Uporabnik je ustvarjen.','Zakodirano','Postopek','Dovoli','Odvzemi',array('Končan je %d proces.','Končana sta %d procesa.','Končani so %d procesi.','Končanih je %d procesov.'),'Skupaj %d','Končaj',array('Spremenjen je %d predmet.','Spremenjena sta %d predmeta.','Spremenjeni so %d predmeti.','Spremenjenih je %d predmetov.'),'Dvojni klik na vrednost za urejanje.',array('Uvožena je %d vrstica.','Uvoženi sta %d vrstici.','Uvožene so %d vrstice.','Uvoženih je %d vrstic.'),'Ne morem izbrati tabele','uredi','Relacijski','Uporabite urejanje povezave za spreminjanje te vrednosti.','Stran','Zadnja','cel razultat','Kloniraj','Uvozi',' ','Tabele so skrajšane.','Tabele so premaknjene.','Tabele so kopirane.','Tabele so zavržene.','Shema','Tabele in pogledi','Išče podatke po tabelah','Pogon','Velikost podatkov','Velikost indeksa','Podatkov prosto ','Vrstic','Analiziraj','Optimiziraj','Preveri','Popravi','Skrajšaj','Premakni v drugo bazo','Premakni','Kopiraj','Urnik','v danem času','Spremeni tip');break;case"lt":$U=array('Tikrai?','Nepavyko įkelti failo.','Maksimalus failo dydis - %sB.','Failas neegzistuoja.','tuščia','originalas','Nėra lentelių.','Kalba','Naudoti','Skaičiai','Data ir laikas','Tekstas','Dvejetainis','Sąrašai','Sistema','Serveris','Vartotojas','Slaptažodis','Prisijungti','Pastovus prisijungimas','Atrinkti duomenis','Rodyti struktūrą','Redaguoti vaizdą','Redaguoti lentelę','Naujas įrašas','Paskutinis puslapis','Redaguoti',array('%d baitas','%d baigai','%d baitų'),'Atrinkti','Funkcijos','Agregacija','Ieškoti','visur','Rikiuoti','mažėjimo tvarka','Limitas','Teksto ilgis','Veiksmas','SQL užklausa','atidaryti','išsaugoti','Redaguoti duomenų bazę','Keisti schemą','Sukurti schemą','Duomenų bazės schema','Privilegijos','Eksportuoti','Atsijungti','duomenų bazė','Sukurti naują lentelę','atrinkti','ltr','Persiųsti POST duomenis?','Neteisingas CSRF tokenas. Bandykite siųsti formos duomenis dar kartą.','Jūs atsijungėte nuo sistemos.','Sesijų palaikymas turi būti įjungtas.','Sesijos galiojimas baigėsi. Prisijunkite iš naujo.','Neteisingi prisijungimo duomenys.','Nėra plėtiio','Nėra nei vieno iš palaikomų PHP plėtinių (%s).','Per daug POST duomenų. Sumažinkite duomenų kiekį arba padidinkite konfigūracijos nustatymą %s.','Duomenų bazė','Neteisinga duomenų bazė.','Duomenų bazės panaikintos.','Pasirinkti duomenų bazę','Sukurti naują duomenų bazę','Procesų sąrašas','Kintamieji','Būsena','%s versija: %s per PHP plėtinį %s','Prisijungęs kaip: %s','Lyginimas','Lentelės','Pašalinti','Atnaujinti','Nėra įrašų.','%.3f s','Išoriniai raktai','palyginimas','Ištrinant','Stulpelio pavadinimas','Parametro pavadinimas','Tipas','Ilgis','Nustatymai','Auto Increment','Reikšmės pagal nutylėjimą','Komentaras','Pridėti kitą','Perkelti į viršų','Perkelti žemyn','Pašalinti','Vaizdas','Lentelė','Stulpelis','Indeksai','Redaguoti indeksus','Šaltinis','Tikslas','Atnaujinant','Redaguoti','Pridėti išorinį raktą','Trigeriai','Pridėti trigerį','Pastovi nuoroda','Eksportas','Išvestis','Formatas','Procedūros','Įvykiai','Duomenys','Sukurti vartotoją','Klaida užklausoje',array('%d įrašas','%d įrašai','%d įrašų'),array('Užklausa įvykdyta. Pakeistas %d įrašas.','Užklausa įvykdyta. Pakeisti %d įrašai.','Užklausa įvykdyta. Pakeista %d įrašų.'),'Nėra vykdomų užklausų.',array('%d užklausa įvykdyta.','%d užklausos įvykdytos.','%d užklausų įvykdyta.'),'Failo įkėlimas','Failų įkėlimas išjungtas.','Vykdyti','Sustabdyti esant klaidai','Rodyti tik klaidas','Iš serverio','Failas %s iš serverio','Vykdyti failą','Istorija','Išvalyti','Redaguoti visus','Įrašas ištrintas.','Įrašas pakeistas.','Įrašas%s sukurtas.','Įrašyti','Išsaugoti','Išsaugoti ir tęsti redagavimą','Išsaugoti ir įrašyti kitą','Trinti','Lentelė pašalinta.','Lentelė pakeista.','Lentelė sukurta.','Sukurti lentelę','Viršytas maksimalus leidžiamų stulpelių kiekis. Padidinkite %s ir %s.','Lentelės pavadinimas','variklis','Skirstyti pagal','Skirsniai','Skirsnio pavadinimas','Reikšmės','Indeksai pakeisti.','Indekso tipas','Stulpelis (ilgis)','Pavadinimas','Duomenų bazė panaikinta.','Duomenų bazė pervadinta.','Duomenų bazė sukurta.','Duomenų bazė pakeista.','Sukurti duomenų bazę','Vykdyti',array('Procedūra įvykdyta. %d įrašas pakeistas.','Procedūra įvykdyta. %d įrašai pakeisti.','Procedūra įvykdyta. %d įrašų pakeista.'),'Išorinis raktas pašalintas.','Išorinis raktas pakeistas.','Išorinis raktas sukurtas.','Šaltinio ir tikslinis stulpelis turi būti to paties tipo, tiksliniame stulpelyje turi būti naudojamas indeksas ir duomenys turi egzistuoti.','Išorinis raktas','Tikslinė lentelė','Pakeisti','Pridėti stulpelį','Vaizdas pašalintas.','Vaizdas pakeistas.','Vaizdas sukurtas.','Sukurti vaizdą','Įvykis pašalintas.','Įvykis pakeistas.','Įvykis sukurtas.','Redaguoti įvykį','Sukurti įvykį','Pradžia','Pabaiga','Kas','Įvykdžius išsaugoti','Procedūra pašalinta.','Procedūra pakeista.','Procedūra sukurta.','Keisti funkciją','Keiskti procedūrą','Sukurti funkciją','Sukurti procedūrą','Grąžinimo tipas','Trigeris pašalintas.','Trigeris pakeistas.','Trigeris sukurtas.','Keisti trigerį','Sukurti trigerį','Laikas','Įvykis','Vartotojas ištrintas.','Vartotojo duomenys pakeisti.','Vartotojas sukurtas.','Šifruotas','Procedūra','Suteikti','Atšaukti',array('%d procesas nutrauktas.','%d procesai nutraukti.','%d procesų nutraukta.'),'%d iš viso','Nutraukti',array('Pakeistas %d įrašas.','Pakeisti %d įrašai.','Pakeistas %d įrašų.'),'Du kartus spragtelėkite pelyte norėdami redaguoti.',array('%d įrašas įkelta.','%d įrašai įkelti.','%d įrašų įkelta.'),'Neįmanoma atrinkti lentelės','redaguoti','Ryšiai','Norėdami redaguoti reikšmę naudokite redagavimo nuorodą.','Puslapis','paskutinis','visas rezultatas','Klonuoti','Importas',' ','Lentelės buvo ištuštintos.','Lentelės perkeltos.','Lentelės nukopijuotos.','Lentelės pašalintos.','Schema','Lentelės ir vaizdai','Ieškoti duomenų lentelėse','Variklis','Duomenų ilgis','Indekso ilgis','Laisvos vietos','Įrašai','Analizuoti','Optimizuoti','Patikrinti','Pataisyti','Tuštinti','Perkelti į kitą duomenų bazę','Perkelti','Kopijuoti','Grafikas','Nurodytu laiku','Keisti tipą');break;case"tr":$U=array('Emin misin?','Dosya gönderilemiyor.','Bir dosya için izin verilen dosya sınırı %sB.','Dosya mevcut değil.','boş','orijinal','Tablo yok.','Dil','Kullan','Sayılar','Tarih ve zaman','Sözcükler','İkili','Listeler','Sistem','Sunucu','Kullanıcı','Parola','Giriş','Kalıcı giriş','Veri seç','Yapıyı göster','Değişim görünüm','Tablo değiştir','Yeni öğe','Son sayfa','Düzen',array('%d bayt','%d kadar bayt'),'Seç','Fonksiyonlar','Kümeleme','Arama','herhangi bir yer','Sırala','azalan','sınır','Yazı uzunluğu','Eylem','SQL komutu','aç','kaydet','Veritabanı değiştir','Değişim şeması','Yaratım şeması','Veritabanı şeması','İzinler','Döküm','Çıkış','veritabanı','Yeni tablo yarat','seç','ltr','Resend POST data?','Geçersiz Cross-site request forgery (CSRF) jetonu. Forumu tekrar yolla.','Başarıyla çıkıldı.','Oturum desteği etkin olmalıdır.','Oturum süresi doldu, lütfen tekrar giriş yapın.','Geçersiz kimlik.','Uzantı yok','Desteklenen PHP uzantılarından (%s) hiçbiri mevcut değil.','Çok büyük POST verisi, veriyi azaltın ya da ayar yönergesini uygun olarak yapılandırın.','Veritabanı','Geçersiz veritabanı.','Veritabanları düşüüldü.','Veritabanı seç','Yeni veritabanı yarat','İşlem listesi','Değişkenler','Durum','%s sürüm: %s PHP uzantısı ile %s','%s olarak giriş yapıldı.','Karşılaştırma','Tablolar','Düşür','Tazele','Sıra yok.','%.3f s','Dış anahtarlar','karşılaştırma','Silinmek üzere','Kolon adı','Parametre adı','Tür','Uzunluk','Seçenekler','Otomatik yükselt','Varsayılan değerler','Yorum','Sonraya ekle','Yukarı taşı','AŞağı taş','Kaldır','Görünüm','Tablo','Kolon','Dizinler','Dizinleri değiştir','Kaynak','Hedef','Yükseltilmek üzere','Değiştir','Dış anahtar ekle','Tetikler','Tetik ekle','Permanent link','İhraç','Çıktı','Biçim','Yordamlar','Olaylar','Veri','Kullanıcı yarat','Sorguda hata',array('%d sıra)','%d kadar sıra'),array('Sorgu işletilmesi tamamlandı. %d sıra(row) etkilendi.','Sorgu işletilmesi tamamlandı. Bundan %d kadar sıra etkilendi.'),'İşletilmek için komut yok.',array('%d sorgunun işletilmesi tamamlandı.','%d kadar sorgunun işletilmesi tamamlandı.'),'Dosya gönder','Dosya gönderimi etkin değil.','İşlet','Dur hata','Sadece hataları göster.','Sunucudan','%s web sunucusu dosyası','Dosya çalıştır','Tarih','Boşluk','Edit all','Öğe silindi.','Öğe güncellendi.','Öğeler eklendi.','Ekle','Kaydet','Kaydet ve düzenlemeye devam et','Kaydet ve sonrakin ekle','Sil','Tablo düşürüldü.','Tablo değiştirildi.','Tablo yaratıldı.','Tablo yarat','kabul edilebilir alan sayısı aşıldı. Lütfen %s ve %s düşürün.','Tablo adı','motor','Bölümü tarafından','Bölümler','BÖlüm adı','Değerler','Dizinler değiştirilidi.','Dizin Türü','Kolon (uzunluğu)','Ad','Veritabanı düşürüldü.','Veritabanının ismi değiştirildi.','Veritabanı yaratıldı.','Veritabanı değiştirildi.','Veritabanı yarat','Çağrı',array('Yordam çağrıldı, %d sıra(row) etkilendi.','Yordam çağrıldı, %d sıralar(rows) etkilendi.'),'Dış anahtar düşürüldü.','Dış anahtar değiştir.','Dış anahtar yarat.','Kaynak ve hedef kolonlar aynı veri türü olmak zorunda, hedef kolonda bir dizin ve başvurulan veri bulunmalı.','Dış anahtar','Hedef tablo','Değiş','Kolon eklde','Görünüm düşürüldü.','Görünüm değiştirildi.','Görünüm yaratıldı.','Görünüm yarat','Olay düşüdüldü.','Olay değiştirildi.','Olay yaratıldı.','Değiştirme olayı','Yaratma olayı','Başla','Son','Herzaman','Tamamlama koruması AÇIK','Yordam düşürüldü.','Yordam değiştirildi.','Yordam yaratıldı.','Değiştirme fonksyionu','Değiştirme yöntemi','Fonksiyon yarat','Yöntem yarat','Geri dönüş türü','Tetik düşürüldü.','Tetik değiştirildi.','Tetik yaratıldı.','Tetik değiştir.','Tetik yarat','Zaman','Olay','Kullanıcı düşürüldü.','Kullanıcı değiştirildi.','Kullanıcı yaratıldı.','Harmanlandı.','Yordam','İmtiyaz','Geri al',array('%d süreç öldürüldü.','%d adet süreç öldürüldü.'),'%d toplamda','Öldür',array('%d öğe etkilendi.','%d kadar öğe etkilendi.'),'Değerin üzerine çift tıklayın ve değiştirin.',array('%d sıra ithal edildi.','%d kadar sıra ithal edildi.'),'Tablo seçilemedi','düzen','İlişkiler','Değeri değiştirmek için düzenleme bağlantısını kullanın.','Sayfa','son','tüm sonuç','Klonla','İthal',' ','Tablolar budandı.','Tablolar taşındı.','Tablolar kopyalandı.','Tablolar düşürüldü.','Şema','Tablolar ve görünümler','Tablolarda veri ara.','Motor','Veri uzunluğu','Dizin uzunluğu','Serbest veri','Sıralar (Rows)','Çözümleme','En uygun hale getirme','Denetleme','Tamir','Buda','Diğer veritabanına taşı','Taşı','Kopyala','Takvimli','Bir anda','Tür değiştir');break;case"ro":$U=array('Ești precis?','Nu am putut încărca fișierul pe server.','Fișierul maxim admis - %sO.','Așa fișier nu există.','gol','original','În baza de date nu sunt tabele.','Limba','Alege','Număr','Data și timpul','Șire de caractere','Tip binar','Liste','Sistema','Server','Nume de utilizator','Parola','Intră','Logare permanentă','Selectează','Arată structura','Modifică reprezentare','Modifică tabelul','Înscriere nouă','Ultima pagină','Editează',array('%d octet','%d octeți'),'Selectează','Funcții','Agregare','Căutare','oriunde','Sortare','descrescător','Limit','Lungimea textului','Acțiune','SQL query','deschide','salvează','Modifică baza de date','Modifică schema','Crează o schemă','Schema bazei de date','Privelegii','Dump','Eșire','baza de date','Crează tabel nou','selectează','ltr','Retrimite datele POST?','CSRF token imposibil. Retrimite forma.','Ați eșit cu succes.','Sesiunile trebuie să fie pornite.','Timpul sesiunii a expirat, rog să te loghezi din nou.','Numele de utilizator sau parola este greșită.','Nu este extensie','Nu este aviabilă nici o extensie suportată (%s).','Mesajul POST este prea mare. Trimiteți mai puține date sau măriți parametrul configurației directivei %s.','Baza de date','Bază de deate invalidă.','Baze de date au fost șterse.','Alege baza de date','Crează o bază de date nouă','Lista proceselor','Variabile','Stare','Versiunea %s: %s cu extensia PHP %s','Ați intrat ca: %s','Colaționare','Tabele','Șterge','Împrospătează','Nu sunt înscrieri.','%.3f s','Cheiuri externe','colaționarea','La ștergere','Denumirea coloanei','Numele parametrului','Tip','Lungime','Acțiune','Creșterea automată','Valoarea inițială','Comentariu','Adaugă încă','Mișcă în sus','Mișcă în jos','Șterge','Reprezentare','Tabel','Coloană','Indexe','Modifică indexe','Sursă','Scop','La modificare','Modifică','Adaugă chei extern','Triggere','Adaugă trigger','Adresă permanentă','Export','Date de eșire','Format','Proceduri și funcții salvate','Evenimente','Date','Crează utilizator','Eroare în query',array('%d înscriere','%d înscrieri'),array('Query executat, %d înscriere modificată.','Query executat, %d înscrieri modificate.'),'Nu sunt comenzi de executat.',array('%d query executat.','%d query-uri executate cu succes.'),'Încarcă fișierul','Încărcarea fișierelor este interzisă.','Execută','Opreștete la eroare','Arată doar greșeli','De pe server','Fișierul %s pe server','Execută fișier','Istoria','Curățp','Editează tot','Înregistrare a fost ștearsă.','Înregistrare a fost înnoită.','Înregistrarea%s a fost inserată.','Inserează','Salvează','Salvează și continuă editarea','Salvează și mai inserează','Șterge','Tabelul a fost șters.','Tabelul a fost modificat.','Tabelul a fost creat.','Crează tabel','Numărul maxim de înscrieri disponibile a fost atins. Majorați %s și %s.','Denumirea tabelului','tip','Împarte','Secțiuni','Denumirea secțiunii','Parametru','Indexele au fost modificate.','Tipul indexului','Coloană (lungimea)','Titlu','Baza de date a fost ștearsă.','Baza de date a fost redenumită.','Baza de date a fost creată.','Baza de date a fost modificată.','Crează baza de date','Apelează',array('A fost executată procedură, %d înscriere a fost modificată.','A fost executată procedură, %d înscrieri au fost modificate.'),'Chei extern a fost șters.','Chei extern a fost modificat.','Chei extern a fost creat.','Coloanele ar trebui să aibă aceleaşi tipuri de date, trebuie să existe date de referinţă și un index pe coloanela-ţintă.','Chei extern','Tabela scop','Modifică','Adaugă coloană','Reprezentarea a fost ștearsă.','Reprezentarea a fost modificată.','Reprezentarea a fost creată.','Crează reprezentare','Evenimentul a fost șters.','Evenimentul a fost modificat.','Evenimentul a fost adăugat.','Modifică eveniment','Creează evenimet','Început','Svârșit','Fiecare','Salvează după finisare','Procedura a fost ștearsă.','Procedura a fost modificată.','Procedura a fost creată.','Modifică funcția','Modifică procedura','Crează funcție','Crează procedură','Tipul returnării','Triggerul a fost șters.','Triggerul a fost modificat.','Triggerul a fost creat.','Modifică trigger','Crează trigger','Timp','Eveniment','Utilizatorul a fost șters.','Utilizatorul a fost modificat.','Utilizatorul a fost creat.','Hashed','Procedură','Permite','Interzice',array('A fost finisat %d proces.','Au fost finisate %d procese.'),'În total %d','Termină',array('A fost modificată %d înscriere.','Au fost modificate %d înscrieri.'),'Dublu click pe o valoare pentru a o modifica.',array('%d rînd importat.','%d rînduri importate.'),'Nu am putut selecta date din tabel','editare','Relații','Valoare poate fi modificată cu ajutorul butonului «modifică».','Pagina','ultima','tot rezultatul','Clonează','Importă',',','Tabelele au fost curățate.','Tabelele au fost mutate.','Tabelele au fost copiate','Tabelele au fost șterse.','Schema','Tabele și reprezentări','Caută în tabele','Tip','Cantitatea de date','Cantitatea de indexe','Spațiu liber','Înscrieri','Analizează','Optimizează','Controlează','Repară','Curăță','Mută în altă bază de date','Mută','Copiază','Program','În timpul curent','HH:MM:SS');break;case"ru":$U=array('Вы уверены?','Не удалось загрузить файл на сервер.','Максимальный разрешенный размер файла - %sB.','Такого файла не существует.','пусто','исходный','В базе данных нет таблиц.','Язык','Выбрать','Число','Дата и время','Строки','Двоичный тип','Списки','Движок','Сервер','Имя пользователя','Пароль','Войти','Оставаться в системе','Выбрать','Показать структуру','Изменить представление','Изменить таблицу','Новая запись','Последняя страница','Редактировать',array('%d байт','%d байта','%d байтов'),'Выбрать','Функции','Агрегация','Поиск','в любом месте','Сортировать','по убыванию','Лимит','Длина текста','Действие','SQL запрос','открыть','сохранить','Изменить базу данных','Изменить схему','Новая схема','Схема базы данных','Полномочия','Дамп','Выйти','база данных','Создать новую таблицу','выбрать','ltr','Еще раз послать данные POST запроса?','Недействительный CSRF токен. Отправите форму ещё раз.','Вы успешно покинули систему.','Сессии должны быть включены.','Срок действия сесси истек, нужно снова войти в систему.','Неправильное имя пользователя или пароль.','Нет расширений','Не доступно ни одного расширения из поддерживаемых (%s).','Слишком большой объем POST-данных. Пошлите меньший объем данных или увеличьте параметр конфигурационной директивы %s.','База данных','Плохая база данных.','Базы данных удалены.','Выбрать базу данных','Создать новую базу данных','Список процессов','Переменные','Состояние','Версия %s: %s с PHP-расширением %s','Вы вошли как: %s','Режим сопоставления','Таблицы','Удалить','Обновить','Нет записей.','%.3f s','Внешние ключи','режим сопоставления','При стирании','Название поля','Название параметра','Тип','Длина','Действие','Автоматическое приращение','Значения по умолчанию','Комментарий','Добавить еще','Переместить вверх','Переместить вниз','Удалить','Представление','Таблица','Колонка','Индексы','Изменить индексы','Источник','Цель','При обновлении','Изменить','Добавить внешний ключ','Триггеры','Добавить триггер','Постоянная ссылка','Экспорт','Выходные данные','Формат','Хранимые процедуры и функции','События','Данные','Создать пользователя','Ошибка в запросe',array('%d строка','%d строки','%d строк'),array('Запрос завершен, изменена %d запись.','Запрос завершен, изменены %d записи.','Запрос завершен, изменено %d записей.'),'Нет команд для выполнения.',array('%d запрос выполнен успешно.','%d запроса выполнено успешно.','%d запросов выполнено успешно.'),'Загрузить файл на сервер','Загрузка файлов на сервер запрещена.','Выполнить','Остановить при ошибке','Только ошибки','С сервера','Файл %s на вебсервере','Запустить файл','История','Очистить','Редактировать всё','Запись удалена.','Запись обновлена.','Запись%s была вставлена.','Вставить','Сохранить','Сохранить и продолжить редактирование','Сохранить и вставить еще','Стереть','Таблица была удалена.','Таблица была изменена.','Таблица была создана.','Создать таблицу','Достигнуто максимальное значение количества доступных полей. Увеличьте %s и %s.','Название таблицы','тип','Разделить по','Разделы','Название раздела','Параметры','Индексы изменены.','Тип индекса','Колонка (длина)','Название','База данных была удалена.','База данных была переименована.','База данных была создана.','База данных была изменена.','Создать базу данных','Вызвать',array('Была вызвана процедура, %d запись была изменена.','Была вызвана процедура, %d записи было изменено.','Была вызвана процедура, %d записей было изменено.'),'Внешний ключ был удален.','Внешний ключ был изменен.','Внешний ключ был создан.','Колонки должны иметь одинаковые типы данных, в результирующей колонке должен быть индекс, данные для импорта должны существовать.','Внешний ключ','Результирующая таблица','Изменить','Добавить колонку','Представление было удалено.','Представление было изменено.','Представление было создано.','Создать представление','Событие было удалено.','Событие было изменено.','Событие было создано.','Изменить событие','Создать событие','Начало','Конец','Каждые','После завершения сохранить','Процедура была удалена.','Процедура была изменена.','Процедура была создана.','Изменить функцию','Изменить процедуру','Создать функцию','Создать процедуру','Возвращаемый тип','Триггер был удален.','Триггер был изменен.','Триггер был создан.','Изменить триггер','Создать триггер','Время','Событие','Пользователь был удален.','Пользователь был изменен.','Пользователь был создан.','Хешировано','Процедура','Позволить','Запретить',array('Был завершен %d процесс.','Было завершено %d процесса.','Было завершёно %d процессов.'),'Всего %d','Завершить',array('Была изменена %d запись.','Были изменены %d записи.','Было изменено %d записей.'),'Кликни два раза по значению, чтобы его изменить.',array('Импортирована %d строка.','Импортировано %d строки.','Импортировано %d строк.'),'Не удалось получить данные из таблицы','редактировать','Реляции','Изменить это значение можно с помощью ссылки «изменить».','Страница','последняя','весь результат','Клонировать','Импорт',' ','Таблицы были очищены.','Таблицы были перемещены.','Таблицы скопированы.','Таблицы были удалены.','Схема','Таблицы и представления','Поиск в таблицах','Тип','Объём данных','Объём индексов','Свободное место','Строк','Анализировать','Оптимизировать','Проверить','Исправить','Очистить','Переместить в другою базу данных','Переместить','Копировать','Расписание','В данное время','ЧЧ:ММ:СС');break;case"zh":$U=array('你确定吗?','不能上传文件。','最多允许的文件大小为 %sB','文件不存在。','空','原始','没有表。','语言','使用','数字','日期时间','字符串','二进制','列表','系统','服务器','用户名','密码','登录','保持登录','选择数据','显示结构','更改视图','更改表','新建项','末页','编辑','%d 字节','选择','函数','集合','搜索','任意位置','排序','降序','限定','文本长度','动作','SQL命令','打开','保存','更改数据库','更改模式','创建模式','数据库概要','权限','导出','注销','数据库','创建新表','选择','ltr','重新发送 POST 数据?','无效 CSRF 令牌。重新发送表单。','注销成功。','会话必须被启用。','会话已过期,请重新登录。','无效凭据。','没有扩展','没有支持的 PHP 扩展可用(%s)。','太大的 POST 数据。减少数据或者增加 %s 配置命令。','数据库','无效数据库。','已丢弃数据库。','选择数据库','创建新数据库','进程列表','变量','状态','%s 版本:%s 通过 PHP 扩展 %s','登录为:%s','校对','表','丢弃','刷新','没有行。','%.3f 秒','外键','校对','ON DELETE','列名','参数名','类型','长度','选项','自动增量','默认值','注释','添加下一个','上移','下移','移除','视图','表','列','索引','更改索引','源','目标','ON UPDATE','更改','添加外键','触发器','创建触发器','固定链接','导出','输出','格式','子程序','事件','数据','创建用户','查询出错','%d 行','执行查询OK,%d 行受影响。','没有命令执行。','%d 条查询已成功执行。','文件上传','文件上传被禁用。','执行','出错时停止','仅显示错误','来自服务器','Web服务器文件 %s','运行文件','历史','清除','编辑全部','已删除项目。','已更新项目。','已插入项目%s。','插入','保存','保存并继续编辑','保存并插入下一个','删除','已丢弃表。','已更改表。','已创建表。','创建表','超过最多允许的字段数量。请增加 %s 和 %s 。','表名','引擎','分区类型','分区','分区名','值','已更改索引。','索引类型','列(长度)','名称','已丢弃数据库。','已重命名数据库。','已创建数据库。','已更改数据库。','创建数据库','调用','子程序被调用,%d 行被影响。','已删除外键。','已更改外键。','已创建外键。','源列和目标列必须具有相同的数据类型,在目标列上必须有一个索引并且引用的数据必须存在。','外键','目标表','更改','增加列','已丢弃视图。','已更改视图。','已创建视图。','创建视图','已丢弃事件。','已更改事件。','已创建事件。','更改事件','创建事件','开始','结束','每','完成后保存','已丢弃子程序。','已更改子程序。','已创建子程序。','更改函数','更改过程','创建函数','创建过程','返回类型','已丢弃触发器。','已更改触发器。','已创建触发器。','更改触发器','创建触发器','时间','事件','已丢弃用户。','已更改用户。','已创建用户。','Hashed','子程序','授权','废除','%d 个进程被终止','共计 %d','终止','%d 个项目受到影响。','在值上双击类修改它。','%d 行已导入。','不能选择该表','编辑','关联信息','使用编辑链接来修改该值。','页面','最后','所有结果','克隆','导入',',','已清空表。','已转移表。','表已复制。','已丢弃表。','模式','表和视图','在表中搜索数据','引擎','数据长度','索引长度','数据空闲','行数','分析','优化','检查','修复','清空','转移到其它数据库','转移','复制','调度','在指定时间','HH:MM:SS');break;case"zh-tw":$U=array('你確定嗎?','無法上傳檔案。','允許的檔案上限大小為%sB','檔案不存在','空值','原始','沒有資料表。','語言','使用','數字','日期時間','字符串','二進制','列表','資料庫系統','伺服器','帳號','密碼','登入','永久登入','選擇資料','秀出結構','更改檢視表','更改資料表','新建項','最後一頁','編輯','%d byte(s)','選擇','函數','集合','搜尋','任意位置','排序','降冪','限定','Text 長度','動作','SQL命令','打開','儲存','更改資料庫','更改資料表結構','建立資料表結構','資料庫架構','權限','導入/導出','登出','資料庫','建立新資料表','選擇','ltr','重新發送表單資料?','無效的 CSRF token。請重新發送表單。','登出成功。','Session 必須被啟用。','Session 已過期,請重新登入。','無效的憑證。','沒有 擴充模組','沒有任何支援的PHP擴充模組(%s)。','POST 資料太大。減少資料或者增加 %s 的設定值。','資料庫','無效的資料庫。','資料庫已刪除。','選擇資料庫','建立新資料庫','進程列表','變數','狀態','%s版本:%s 透過PHP擴充模組 %s','登錄為:%s','校對','資料表','丟棄','重新載入','沒有行。','%.3f秒','外鍵','校對','ON DELETE','列名','參數名稱','類型','長度','選項','自動增加','預設值','註解','新增下一個','上移','下移','移除','檢視表','資料表','列','索引','更改索引','來源','目標','ON UPDATE','更改','新增外鍵','觸發器','建立觸發器','永久鏈接','匯出','輸出','格式','程序','事件','資料','建立使用者','查詢出錯','%d行','執行查詢OK,%d行受影響','沒有命令可執行。','已順利執行 %d 個查詢。','檔案上傳','檔案上傳被禁用。','執行','出錯時停止','僅顯示錯誤訊息','從伺服器','網頁伺服器檔案 %s','執行檔案','歷史','清除','編輯全部','該項目已被刪除','已更新項目。','已插入項目%s。','插入','儲存','保存並繼續編輯','儲存並插入下一個','刪除','已經刪除資料表。','資料表已更改。','資料表已更改。','建立資料表表','超過最多允許的字段數量。請增加%s和%s 。','資料表名稱','引擎','分區類型','分區','分區名','值','已更改索引。','索引類型','列(長度)','名稱','資料庫已刪除。','已重新命名資料庫。','已建立資料庫。','已更改資料庫。','建立資料庫','呼叫','程序已被執行,%d行被影響','已刪除外鍵。','已更改外鍵。','已建立外鍵。','源列和目標列必須具有相同的數據類型,在目標列上必須有一個索引並且引用的數據必須存在。','外鍵','目標資料表','更改','新增資料列','已丟棄檢視表。','已更改檢視表。','已建立檢視表。','建立檢視表','已丟棄事件。','已更改事件。','已建立事件。','更改事件','建立事件','開始','結束','每','在完成後保存','已丟棄程序。','已更改子程序。','已建立子程序。','更改函數','更改過程','建立函數','建立預存程序','返回類型','已丟棄觸發器。','已更改觸發器。','已建立觸發器。','更改觸發器','建立觸發器','時間','事件','已丟棄使用者。','已更改使用者。','已建立使用者。','Hashed','程序','授權','廢除','%d 個 Process(es) 被終止','總共 %d 個','終止','%d個項目受到影響。','雙擊以進行修改。','%d行已導入。','無法選擇該資料表','編輯','關聯','使用編輯連結來修改。','頁','最後一頁','所有結果','複製','匯入',',','已清空資料表。','已轉移資料表。','表格已經複製','已丟棄表。','資料表結構','資料表和檢視表','在資料庫搜尋','引擎','資料長度','索引長度','資料空閒','行數','分析','優化','檢查','修復','清空','轉移到其它資料庫','轉移','複製','調度','在指定時間','HH:MM:SS');break;case"ja":$U=array('実行しますか?','ファイルをアップロードできません','最大ファイルサイズ %sB','ファイルは存在しません','空','元','テーブルがありません。','言語','使用','数字','日時','文字列','バイナリ','リスト','データベース種類','サーバ','ユーザ名','パスワード','ログイン','永続的にログイン','データ','構造','ビューを変更','テーブルの変更','項目の作成','最後のページ','編集','%d バイト','選択','関数','集合','検索','任意','ソート','降順','制約','文字列の長さ','動作','SQLコマンド','開く','保存','データベースを変更','スキーマ変更','スキーマ追加','構造','権限','ダンプ','ログアウト','データベース','テーブルを作成','選択','ltr','再送信しますか?','不正なCSRFトークン。再送信してください','ログアウト','セッションを有効にしてください','セッションの期限切れ。ログインし直してください','不正なログイン','拡張機能がありません','PHPの拡張機能(%s)がセットアップされていません','POSTデータが大きすぎます。データサイズを小さくするか %s 設定を大きくしてください','データベース','不正なデータベース','データベースを削除しました','データベースを選択してください','新規にデータベースを作成','プロセス一覧','変数','状態','%sバージョン:%s、 PHP拡張機能 %s','ログ:%s','照合順序','テーブル','削除','リフレッシュ','行がありません','%.3f 秒','外部キー','照合順序','ON DELETE','列名','参数名','型','長さ','設定','連番','規定値','コメント','追加','上','下','除外','ビュー','テーブル','列','索引','索引の変更','ソース','ターゲット','ON UPDATE','変更','外部キーを追加','トリガー','トリガーの追加','パーマネントリンク','エクスポート','出力','形式','ルーチン','イベント','データ','ユーザを作成','クエリーのエラー','%d 行','クエリーを実行しました。%d 行を変更しました','実行するコマンドがありません','%d クエリーを実行しました','ファイルをアップロード','ファイルのアップロードが無効です','実行','エラーの場合は停止','エラーのみ表示','サーバーから実行','Webサーバファイル %s','ファイルを実行','履歴','消去','すべて編集','項目を削除しました','項目を更新しました','%s項目を挿入しました','挿入','保存','保存して継続','保存/追加','削除','テーブルを削除しました','テーブルを変更しました','テーブルを作成しました','テーブルを作成','定義可能な最大フィールド数を越えました。%s と %s を増やしてください。','テーブル名','エンジン','パーティション','パーティション','パーティション名','値','索引を変更しました','索引の型','列(長さ)','名称','データベースを削除しました','データベースの名前を変えました','データベースを作成しました','データベースを変更しました','データベースを作成','呼出し','ルーチンを呼びました。%d 行を変更しました','外部キーを削除しました','外部キーを変更しました','外部キーを作成しました','ソースとターゲットの列は同じデータ型でなければなりません。ターゲット列に索引があり、データが存在しなければなりません。','外キー','テーブル','変更','列を追加','ビューを削除しました','ビューを変更しました','ビューを作成しました','ビューを作成','削除しました','変更しました','作成しました','変更','作成','開始','終了','毎回','完成後に保存','ルーチンを作成','ルーチンを変更','ルーチンを作成','関数の変更','プロシージャの変更','関数の作成','プロシージャの作成','戻り値の型','トリガーを削除しました','トリガーを変更しました','トリガーを追加しました','トリガーの変更','トリガーの作成','時間','イベント','ユーザを削除','ユーザを変更','ユーザを作成','Hashed','ルーチン','権限の付与','権限の取消し','%d プロセスを強制終了しました','合計 %d','強制終了','%d を更新しました','ダブルクリックして編集','%d 行をインポートしました','テーブルを選択できません','編集','関係','リンクを編集する','ページ','最終','全結果','クローン','インポート',',','テーブルをtruncateしました','テーブルを移動しました','テーブルをコピーしました','テーブルを削除しました','スキーマ','テーブルとビュー','データを検索する','エンジン','データ長','索引長','空き','行数','分析','最適化','チェック','修復','Truncate','別のデータベースへ移動','移動','コピー','スケジュール','指定時刻','時:分:秒');break;case"ta":$U=array('நிச்ச‌ய‌மாக‌ ?','கோப்பை மேலேற்ற‌ம் (upload) செய்ய‌ இயல‌வில்லை.','கோப்பின் அதிக‌ப‌ட்ச‌ அள‌வு %sB.','கோப்பு இல்லை.','வெறுமை (empty)','அச‌ல்','அட்ட‌வ‌ணை இல்லை.','மொழி','உப‌யோகி','எண்க‌ள்','தேதி ம‌ற்றும் நேர‌ம்','ச‌ர‌ம் (String)','பைன‌ரி','ப‌ட்டிய‌ல்','சிஸ்ட‌ம் (System)','வ‌ழ‌ங்கி (Server)','ப‌ய‌னாள‌ர் (User)','க‌ட‌வுச்சொல்','நுழை','நிர‌ந்த‌ர‌மாக‌ நுழைய‌வும்','த‌க‌வ‌லை தேர்வு செய்','க‌ட்ட‌மைப்பை காண்பிக்க‌வும்','தோற்ற‌த்தை மாற்று','அட்ட‌வ‌ணையை மாற்று','புதிய‌ உருப்ப‌டி','க‌டைசி ப‌க்க‌ம்','தொகு',array('%d பைட்','%d பைட்டுக‌ள்'),'தேர்வு செய்','Functions','திர‌ள்வு (Aggregation)','தேடு','எங்காயினும்','த‌ர‌ம் பிரி','இற‌ங்குமுக‌மான‌','வ‌ர‌ம்பு','உரை நீள‌ம்','செய‌ல்','SQL க‌ட்ட‌ளை','திற‌','சேமி','த‌க‌வ‌ல்த‌ள‌த்தை மாற்று','அமைப்புமுறையை மாற்று','அமைப்புமுறையை உருவாக்கு','த‌க‌வ‌ல்த‌ள‌ அமைப்பு முறைக‌ள்','ச‌லுகைக‌ள் / சிற‌ப்புரிமைக‌ள்','Dump','வெளியேறு','த‌க‌வ‌ல்த‌ள‌ம்','புதிய‌ அட்ட‌வ‌ணையை உருவாக்கு','தேர்வு செய்','ltr','POST data வை மீண்டும் அனுப்பவா?','CSRF டோக்க‌ன் செல்லாது. ப‌டிவ‌த்தை மீண்டும் அனுப்ப‌வும்.','வெற்றிக‌ர‌மாய் வெளியேறியாயிற்று.','செஷ‌ன் ஆத‌ர‌வு இய‌க்க‌ப்ப‌ட‌ வேண்டும்.','செஷ‌ன் காலாவ‌தியாகி விட்ட‌து. மீண்டும் நுழைய‌வும்.','ச‌ரியான‌ விப‌ர‌ங்க‌ள் இல்லை.','விரிவு (extensஇஒன்) இல்லை ','PHP ஆத‌ர‌வு விரிவுக‌ள் (%s) இல்லை.','மிக‌ அதிக‌மான‌ POST  த‌க‌வ‌ல். த‌க‌வ‌லை குறைக்க‌வும் அல்ல‌து %s வ‌டிவ‌மைப்பை (configuration directive) மாற்ற‌வும்.','த‌க‌வ‌ல்த‌ள‌ம்','த‌க‌வ‌ல்த‌ள‌ம் ச‌ரியானதல்ல‌.','த‌க‌வ‌ல் த‌ள‌ங்க‌ள் நீக்க‌ப்ப‌ட்டன‌.','த‌க‌வ‌ல்த‌ள‌த்தை தேர்வு செய்','புதிய‌ த‌க‌வ‌ல்த‌ள‌த்தை உருவாக்கு','வேலைக‌ளின் ப‌ட்டி','மாறிலிக‌ள் (Variables)','நிக‌ழ்நிலை (Status)','%s ப‌திப்பு: %s through PHP extension %s','ப‌ய‌னாளர்: %s','கொலேச‌ன்','அட்ட‌வ‌ணை','நீக்கு','புதுப்பி (Refresh)','வ‌ரிசை இல்லை.','%.3f s','வேற்று விசைக‌ள்','கொலேச‌ன்','ON DELETE','நெடுவ‌ரிசையின் பெய‌ர்','அள‌புரு (Parameter) பெய‌ர்','வ‌கை','நீளம்','வேண்டிய‌வ‌ற்றை ','ஏறுமான‌ம்','உள்ளிருக்கும் (Default) ம‌திப்புக‌ள் ','குறிப்பு','அடுத்த‌தை சேர்க்க‌வும்','மேலே ந‌க‌ர்த்து','கீழே நக‌ர்த்து','நீக்கு','தோற்றம்','அட்ட‌வ‌ணை','நெடுவ‌ரிசை','அக‌வ‌ரிசைக‌ள் (Index) ','அக‌வ‌ரிசையை (Index) மாற்று','மூல‌ம்','இல‌க்கு','ON UPDATE','மாற்று','வேற்று விசை சேர்க்க‌வும்','தூண்டுத‌ல்க‌ள்','தூண்டு விசையை சேர்','நிரந்தர இணைப்பு','ஏற்றும‌தி','வெளியீடு','ஃபார்ம‌ட் (Format)','ரொட்டீன் ','நிக‌ழ்ச்சிக‌ள்','த‌க‌வ‌ல்','ப‌ய‌னாள‌ரை உருவாக்கு','வின‌வ‌லில் த‌வ‌றுள்ள‌து',array('%d வ‌ரிசை','%d வ‌ரிசைக‌ள்'),array('வின‌வ‌ல் செய‌ல்ப‌டுத்த‌ப்ப‌ட்ட‌து, %d வ‌ரிசை மாற்ற‌ப்ப‌ட்ட‌து.','வின‌வ‌ல் செய‌ல்ப‌டுத்த‌ப்ப‌ட்ட‌து, %d வ‌ரிசைக‌ள் மாற்றப்ப‌ட்ட‌ன‌.'),'செய‌ல் ப‌டுத்த‌ எந்த‌ க‌ட்ட‌ளைக‌ளும் இல்லை.',array('%d வின‌வ‌ல் செய‌ல்ப‌டுத்த‌ப்ப‌ட்ட‌து.','%d வின‌வ‌ல்க‌ள் செய‌ல்ப‌டுத்த‌ப்ப‌ட்ட‌ன‌.'),'கோப்பை மேலேற்று (upload) ','கோப்புக‌ள் மேலேற்றம் (upload)முட‌க்க‌ப்ப‌ட்டுள்ள‌ன‌.','செய‌ல்ப‌டுத்து','பிழை ஏற்ப‌டின் நிற்க‌','பிழைக‌ளை ம‌ட்டும் காண்பிக்க‌வும்','செர்வ‌ரில் இருந்து','வெப் ச‌ர்வ‌ர் கோப்பு %s','கோப்பினை இய‌க்க‌வும்','வ‌ர‌லாறு','துடை (Clear)','அனைத்தையும் தொகு','உருப்படி நீக்க‌ப்ப‌ட்ட‌து.','உருப்ப‌டி புதுப்பிக்க‌ப்ப‌ட்ட‌து.','உருப்ப‌டி (Item) சேர்க்க‌ப்ப‌ட்ட‌து.','புகுத்து','சேமி','சேமித்த‌ பிற‌கு தொகுப்ப‌தை தொட‌ர‌வும்','சேமித்த‌ப் பின் அடுத்த‌தை புகுத்து','நீக்கு','அட்ட‌வ‌ணை நீக்க‌ப்ப‌ட்ட‌து.','அட்ட‌வணை மாற்ற‌ப்ப‌ட்ட‌து.','அட்ட‌வ‌ணை உருவாக்க‌ப்ப‌ட்ட‌து.','அட்ட‌வ‌ணையை உருவாக்கு','அனும‌திக்க‌ப்ப‌ட்ட‌ அதிக‌ப‌ட்ச‌ கோப்புக‌ளின் எண்ணிக்கை மீற‌ப்ப‌ட்ட‌து. த‌ய‌வு செய்து %s ம‌ற்றும் %s யை அதிக‌ரிக்க‌வும்.','அட்ட‌வ‌ணைப் பெய‌ர்','எஞ்சின்','பிரித்த‌து','பிரிவுக‌ள்','பிரிவின் பெய‌ர்','ம‌திப்புக‌ள்','அக‌வ‌ரிசைக‌ள் (Indexes) மாற்ற‌ப்பட்ட‌து.','அக‌வ‌ரிசை வ‌கை (Index Type)','நெடுவ‌ரிசை (நீள‌ம்)','பெய‌ர்','த‌க‌வ‌ல்த‌ள‌ம் நீக்க‌ப்ப‌ட்ட‌து.','த‌க‌வ‌ல்த‌ள‌ம் பெய‌ர் மாற்ற‌ப்ப‌ட்ட‌து.','த‌க‌வ‌ல்த‌ள‌ம் உருவாக்க‌ப்ப‌ட்ட‌து.','த‌க‌வ‌ல்த‌ள‌ம் மாற்ற‌ப்ப‌ட்ட‌து.','த‌க‌வ‌ல்த‌ள‌த்தை உருவாக்கு','அழை',array('ரொட்டீன்க‌ள் அழைக்க‌ப்பட்டுள்ள‌ன‌, %d வ‌ரிசை மாற்ற‌ம் அடைந்த‌து.','ரொட்டீன்க‌ள் அழைக்க‌ப்ப‌ட்டுள்ள‌ன‌, %d வ‌ரிசைக‌ள் மாற்றம் அடைந்துள்ள‌ன‌.'),'வேற்று விசை நீக்க‌ப்ப‌ட்ட‌து.','வேற்று விசை மாற்ற‌ப்ப‌ட்ட‌து.','வேற்று விசை உருவாக்க‌ப்ப‌ட்ட‌து.','இல‌க்கு நெடுவ‌ரிசையில் அக‌வ‌ரிசை (Index) ம‌ற்றும் குறிக்க‌ப்ப‌ட்ட‌ த‌க‌வல் (Referenced DATA) க‌ண்டிப்பாக‌ இருத்த‌ல் வேண்டும். மூல‌ நெடுவ‌ரிசை ம‌ற்றும் இலக்கு நெடுவ‌ரிசையின் த‌க‌வ‌ல் வ‌டிவ‌ம் (DATA TYPE) ஒன்றாக‌ இருக்க‌ வேண்டும்.','வேற்று விசை','அட்ட‌வ‌ணை இல‌க்கு','மாற்று','நெடு வ‌ரிசையை சேர்க்க‌வும்','தோற்ற‌ம் நீக்க‌ப்ப‌ட்ட‌து.','தோற்றம் மாற்றப்ப‌ட்ட‌து.','தோற்ற‌ம் உருவாக்க‌ப்ப‌ட்ட‌து.','தோற்றத்தை உருவாக்கு','நிக‌ழ்ச்சி (Event) நீக்க‌ப்ப‌ட்ட‌து.','நிக‌ழ்ச்சி (Event) மாற்றப்ப‌ட்ட‌து.','நிக‌ழ்ச்சி (Event) உருவாக்க‌‌ப்ப‌ட்ட‌து.','நிக‌ழ்ச்சியை (Event) மாற்று','நிக‌ழ்ச்சியை (Event) உருவாக்கு','தொட‌ங்கு','முடி (வு)','ஒவ்வொரு','முடிந்த‌தின் பின் பாதுகாக்க‌வும்','ரொட்டீன் நீக்க‌ப்ப‌ட்ட‌து.','ரொட்டீன் மாற்ற‌ப்ப‌ட்டது.','ரொட்டீன் உருவாக்க‌ப்ப‌ட்ட‌து.','Function மாற்று','செய‌ல்முறையை மாற்று','Function உருவாக்கு','செய்முறையை உருவாக்கு','திரும்பு வ‌கை','தூண்டு விசை நீக்க‌ப்ப‌ட்ட‌து.','தூண்டு விசை மாற்ற‌ப்ப‌ட்ட‌து.','தூண்டு விசை உருவாக்க‌ப்ப‌ட்ட‌து.','தூண்டு விசையை மாற்று','தூண்டு விசையை உருவாக்கு','நேர‌ம்','நிக‌ழ்ச்சி','ப‌யனீட்டாள‌ர் நீக்க‌ப்ப‌ட்டார்.','ப‌யனீட்டாள‌ர் மாற்றப்ப‌ட்டார்.','ப‌ய‌னீட்டாள‌ர் உருவாக்க‌ப்ப‌ட்ட‌து.','Hashed','ரொட்டீன்','அனும‌திய‌ளி','இர‌த்துச்செய்',array('%d வேலை வ‌லுவில் நிறுத்த‌ப‌ட்ட‌து.','%d வேலைக‌ள் வ‌லுவில் நிறுத்த‌ப‌ட்ட‌ன‌.'),'மொத்தம் %d ','வ‌லுவில் நிறுத்து',array('%d உருப்ப‌டி மாற்ற‌ம‌டைந்தது.','%d உருப்ப‌டிக‌ள் மாற்ற‌ம‌டைந்த‌ன‌.'),'ம‌திப்பினை மாற்ற அத‌ன் மீது இருமுறை சொடுக்க‌வும் (Double click).',array('%d வ‌ரிசை இற‌க்கும‌தி (Import) செய்ய‌ப்ப‌ட்ட‌து.','%d வ‌ரிசைக‌ள் இற‌க்கும‌தி (Import) செய்ய‌ப்ப‌ட்டன‌.'),'அட்ட‌வ‌ணையை தேர்வு செய்ய‌ முடிய‌வில்லை','தொகு','உற‌வுக‌ள் (Relations)','இந்த‌ ம‌திப்பினை மாற்ற‌, தொகுப்பு இணைப்பினை உப‌யோகிக்க‌வும்.','ப‌க்க‌ம்','க‌டைசி','முழுமையான‌ முடிவு','ந‌க‌லி (Clone)','இற‌க்கும‌தி (Import)',',','அட்ட‌வ‌ணை குறைக்க‌ப்ப‌ட்ட‌து (truncated).','அட்ட‌வ‌ணை ந‌க‌ர்த்த‌ப்ப‌ட்ட‌து.','அட்டவணைகள் நகலெடுக்கப் பட்டது.','அட்ட‌வ‌ணை நீக்க‌ப்ப‌ட்ட‌து.','அமைப்புமுறை','அட்ட‌வ‌ணைக‌ளும் பார்வைக‌ளும்','த‌க‌வ‌லை அட்ட‌வ‌ணையில் தேடு','எஞ்சின் (Engine)','த‌க‌வ‌ல் நீள‌ம்','Index நீள‌ம்','Data Free','வ‌ரிசைக‌ள்','நுணுகி ஆராய‌வும்','உக‌ப்பாக்கு (Optimize)','ப‌ரிசோதி','ப‌ழுது பார்','குறை (Truncate)','ம‌ற்ற‌ த‌க‌வ‌ல் தள‌த்திற்க்கு ந‌க‌ர்த்து','ந‌க‌ர்த்து','நகல்','கால‌ அட்ட‌வ‌ணை','குறித்த‌ நேர‌த்தில்','HH:MM:SS');break;case"ar":$U=array('هل أنت متأكد؟','من غير الممكن رفع الملف.','حجم الملف الأقصى هو %sB.','الملف غير موجود.','فارغ','الأصلي','لا توجد جداول.','اللغة','المستعمل','أعداد','التاريخ و الوقت','سلاسل','ثنائية','قوائم','النظام','الخادم','المستعمل','كلمة المرور','تسجيل الدخول','تسجيل دخول دائم','عرض البيانات','عرض التركيبة','تعديل عرض','تعديل الجدول','عنصر جديد','الصفحة السابقة','تعديل','%d بايت','إختيار','الدوال','تجميع','بحث','في اي مكان','ترتيب','تنازلي','حد','طول النص','حركة','إستعلام SQL','فتح','حفظ','تعديل قاعدة البيانات','تعديل المخطط','إنشاء مخطط','مخطط فاعدة البيانات','الإمتيازات','تصدير','تسجيل الخروج','قاعدة بيانات','أنشئ جدول جديد','تحديد','rtl','هل تود إعادة إرسال بيانات POST ؟','CSRF Token خاطئ. من فضلك أعد إرسال الإستمارة.','مع السلامة.','عليك تفعيل نظام الجلسات.','إنتهت الجلسة، من فضلك أعد تسجيل الدخول.','فشل في تسجيل الدخول.','إمتداد غير موجود','إمتدادات php المدعومة غير موجودة.','معلومات POST كبيرة جدا. قم بتقليص حجم المعلومات أو قم بزيادة قيمة %s في خيارات ال PHP.','قاعدة بيانات','قاعدة بيانات خاطئة.','تم حذف قواعد البيانات.','إختر قاعدة البيانات','أنشئ فاعدة بيانات','قائمة الإجراءات','متغيرات','حالة','النسخة %s : %s عن طريق إمتداد ال PHP %s','تم تسجيل الدخول بإسم %s','ترتيب','جداول','حذف','تحديث','لا توجد نتائج.','%.3f s','مفاتيح أجنبية','الترتيب','ON DELETE','إسم العمود','إسم المتغير','النوع','الطول','خيارات','تزايد تلقائي','القيمة الإفتراضية','تعليق','إضافة التالي','نقل للأعلى','نقل للأسفل','مسح','عرض','جدول','عمود','المؤشرات','تعديل المؤشرات','المصدر','الهدف','ON UPDATE','تعديل','إضافة مفتاح أجنبي','الزنادات','إضافة زناد','وصلة دائمة','تصدير','إخراج','الصيغة','الروتينات','الأحداث','معلومات','إنشاء مستخدم','هناك خطأ في الإستعلام','%d أسطر','تم تنفسذ الإستعلام, %d عدد الأسطر المعدلة.','لا توجد أوامر للتنفيذ.',array('تم تنفيذ الإستعلام %d بنجاح.','تم تنفيذ الإستعلامات %d بنجاح.'),'رفع ملف','تم إلغاء رفع الملفات.','تنفيذ','أوقف في حالة حدوث خطأ','إعرض الأخطاء فقط','من الخادم','ملف %s من خادم الويب','نفذ الملف','تاريخ','مسح','تعديل الكل','تم حذف العنصر.','تم تعديل العنصر.','تم إدراج العنصر.','إنشاء','حفظ','إحفظ و واصل التعديل','جفظ و إنشاء التالي','مسح','تم حذف الجدول.','تم تعديل الجدول.','تم إنشاء الجدول.','إنشاء جدول','لقد تجاوزت العدد الأقصى للحقول. يرجى الرفع من %s و %s.','إسم الجدول','المحرك','مقسم بواسطة','التقسيمات','إسم التقسيم','القيم','تم تعديل المؤشر.','نوع المؤشر','العمود (الطول)','الإسم','تم حذف قاعدة البيانات.','تمت إعادة تسمية فاعدة البيانات.','تم إنشاء قاعدة البيانات.','تم تعديل قاعدة البيانات.','إنشاء قاعدة بيانات','إستدعاء','تم إستدعاء الروتين, عدد الأسطر المعدلة %d.','المفتاح الأجنبي تم مسحه.','المفتاح الأجنبي تم تعديله.','المفتاح الأجنبي تم إنشاؤه.','أعمدة المصدر و الهدف يجب أن تكون بنفس النوع, يجب أن يكون هناك مؤشر في أعمدة الهدف و البيانات المرجعية يجب ان تكون موجودة.','مفتاح أجنبي','الجدول المستهدف','تعديل','أضف عمود','تم مسح العرض.','تم تعديل العرض.','تم إنشاء العرض.','إنشاء عرض','تم مسح الحدث.','تم تعديل الحدث.','تم إنشاء الحدث.','تعديل حدث','إنشاء حدث','إبدأ','إنهاء','كل','حفظ عند الإنتهاء','تم حذف الروتين.','تم تعديل الروتين.','تم إنشاء الروتين.','تعديل الدالة','تعديل الإجراء','إنشاء دالة','إنشاء إجراء','نوع العودة','تم حذف الزناد.','تم تعديل الزناد.','تم إنشاء الزناد.','تعديل زناد','إنشاء زناد','الوقت','الحدث','تم حذف المستخدم.','تم تعديل المستخدم.','تم إنشاء المستخدم.','تلبيد','روتين','موافق','إلغاء','عدد الإجراءات التي تم إيقافها %d.','%d في المجموع','إيقاف','عدد العناصر المعدلة هو %d.','أنقر نقرا مزدوجا على قيمة لتعديلها.','عدد الأسطر المستوردة هو %d.','من غير الممكن إختيار الجدول','تعديل','علاقات','إستعمل الرابط "تعديل" لتعديل هذه القيمة.','صفحة','الأخيرة','نتيجة كاملة','نسخ','إستيراد',',','تم قطع الجداول.','تم نقل الجداول.','تم نسخ الجداول.','تم حذف الجداول.','المخطط','الجداول و العروض','بحث في الجداول','المحرك','طول المعطيات.','طول المؤشر.','المساحة الحرة','الأسطر','تحليل','تحسين','فحص','إصلاح','قطع','نقل إلى قاعدة بيانات أخرى','نقل','نسخ','مواعيد','في وقت محدد','HH:MM:SS');break;}if(extension_loaded('pdo')){class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   276
Min_PDO
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   277
extends
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   278
PDO{var$_result,$server_info,$affected_rows,$error;function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   279
__construct(){}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   280
dsn($sb,$Ef,$Nd,$Jb='auth_error'){set_exception_handler($Jb);parent::__construct($sb,$Ef,$Nd);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   281
query($G,$vf=false){$H=parent::query($G);if(!$H){$Eb=$this->errorInfo();$this->error=$Eb[2];return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   282
false;}$this->store_result($H);return$H;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   283
multi_query($G){return$this->_result=$this->query($G);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   284
store_result($H=null){if(!$H){$H=$this->_result;}if($H->columnCount()){$H->num_rows=$H->rowCount();return$H;}$this->affected_rows=$H->rowCount();return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   285
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   286
next_result(){return$this->_result->nextRowset();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   287
result($G,$k=0){$H=$this->query($G);if(!$H){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   288
false;}$J=$H->fetch();return$J[$k];}}class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   289
Min_PDOStatement
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   290
extends
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   291
PDOStatement{var$_offset=0,$num_rows;function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   292
fetch_assoc(){return$this->fetch(2);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   293
fetch_row(){return$this->fetch(3);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   294
fetch_field(){$J=(object)$this->getColumnMeta($this->_offset++);$J->orgtable=$J->table;$J->orgname=$J->name;$J->charsetnr=(in_array("blob",$J->flags)?63:0);return$J;}}}$pb=array();$pb=array("server"=>"MySQL")+$pb;if(!defined("DRIVER")){$Td=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   295
Min_DB
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   296
extends
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   297
MySQLi{var$extension="MySQLi";function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   298
Min_DB(){parent::init();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   299
connect($N,$Ef,$Nd){mysqli_report(MYSQLI_REPORT_OFF);list($lc,$Pd)=explode(":",$N,2);$I=@$this->real_connect(($N!=""?$lc:ini_get("mysqli.default_host")),($N.$Ef!=""?$Ef:ini_get("mysqli.default_user")),($N.$Ef.$Nd!=""?$Nd:ini_get("mysqli.default_pw")),null,(is_numeric($Pd)?$Pd:ini_get("mysqli.default_port")),(!is_numeric($Pd)?$Pd:null));if($I){if(method_exists($this,'set_charset')){$this->set_charset("utf8");}else{$this->query("SET NAMES utf8");}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   300
result($G,$k=0){$H=$this->query($G);if(!$H){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   301
false;}$J=$H->fetch_array();return$J[$k];}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   302
quote($P){return"'".$this->escape_string($P)."'";}}}elseif(extension_loaded("mysql")){class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   303
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$error,$_link,$_result;function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   304
connect($N,$Ef,$Nd){$this->_link=@mysql_connect(($N!=""?$N:ini_get("mysql.default_host")),("$N$Ef"!=""?$Ef:ini_get("mysql.default_user")),("$N$Ef$Nd"!=""?$Nd:ini_get("mysql.default_password")),true,131072);if($this->_link){$this->server_info=mysql_get_server_info($this->_link);if(function_exists('mysql_set_charset')){mysql_set_charset("utf8",$this->_link);}else{$this->query("SET NAMES utf8");}}else{$this->error=mysql_error();}return(bool)$this->_link;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   305
quote($P){return"'".mysql_real_escape_string($P,$this->_link)."'";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   306
select_db($fb){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   307
mysql_select_db($fb,$this->_link);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   308
query($G,$vf=false){$H=@($vf?mysql_unbuffered_query($G,$this->_link):mysql_query($G,$this->_link));if(!$H){$this->error=mysql_error($this->_link);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   309
false;}if($H===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   310
true;}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   311
new
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   312
Min_Result($H);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   313
multi_query($G){return$this->_result=$this->query($G);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   314
store_result(){return$this->_result;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   315
next_result(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   316
false;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   317
result($G,$k=0){$H=$this->query($G);if(!$H||!$H->num_rows){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   318
false;}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   319
mysql_result($H->_result,0,$k);}}class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   320
Min_Result{var$num_rows,$_result,$_offset=0;function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   321
Min_Result($H){$this->_result=$H;$this->num_rows=mysql_num_rows($H);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   322
fetch_assoc(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   323
mysql_fetch_assoc($this->_result);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   324
fetch_row(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   325
mysql_fetch_row($this->_result);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   326
fetch_field(){$I=mysql_fetch_field($this->_result,$this->_offset++);$I->orgtable=$I->table;$I->orgname=$I->name;$I->charsetnr=($I->blob?63:0);return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   327
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   328
Min_DB
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   329
extends
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   330
Min_PDO{var$extension="PDO_MySQL";function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   331
connect($N,$Ef,$Nd){$this->dsn("mysql:host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$N)),$Ef,$Nd);$this->query("SET NAMES utf8");return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   332
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   333
select_db($fb){return$this->query("USE ".idf_escape($fb));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   334
query($G,$vf=false){$this->setAttribute(1000,!$vf);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   335
parent::query($G,$vf);}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   336
idf_escape($oc){return"`".str_replace("`","``",$oc)."`";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   337
table($oc){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   338
idf_escape($oc);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   339
connect(){global$c;$f=new
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   340
Min_DB;$bb=$c->credentials();if($f->connect($bb[0],$bb[1],$bb[2])){$f->query("SET sql_quote_show_create = 1");return$f;}$I=$f->error;if(function_exists('iconv')&&!is_utf8($I)&&strlen($L=iconv("windows-1250","utf-8",$I))>strlen($I)){$I=$L;}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   341
get_databases($Wb=true){global$f;$I=&get_session("dbs");if(!isset($I)){if($Wb){restart_session();ob_flush();flush();}$I=get_vals($f->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   342
limit($G,$Z,$x,$kd=0,$Ae=" "){return" $G$Z".(isset($x)?$Ae."LIMIT $x".($kd?" OFFSET $kd":""):"");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   343
limit1($G,$Z){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   344
limit($G,$Z,1);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   345
db_collation($i,$d){global$f;$I=null;$Ya=$f->result("SHOW CREATE DATABASE ".idf_escape($i),1);if(preg_match('~ COLLATE ([^ ]+)~',$Ya,$_)){$I=$_[1];}elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$Ya,$_)){$I=$d[$_[1]][-1];}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   346
engines(){$I=array();foreach(get_rows("SHOW ENGINES")as$J){if(ereg("YES|DEFAULT",$J["Support"])){$I[]=$J["Engine"];}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   347
logged_user(){global$f;return$f->result("SELECT USER()");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   348
tables_list(){global$f;return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   349
get_key_vals("SHOW".($f->server_info>=5?" FULL":"")." TABLES");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   350
count_tables($h){$I=array();foreach($h
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   351
as$i){$I[$i]=count(get_vals("SHOW TABLES IN ".idf_escape($i)));}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   352
table_status($B=""){$I=array();foreach(get_rows("SHOW TABLE STATUS".($B!=""?" LIKE ".q(addcslashes($B,"%_")):""))as$J){if($J["Engine"]=="InnoDB"){$J["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$J["Comment"]);}if(!isset($J["Rows"])){$J["Comment"]="";}if($B!=""){return$J;}$I[$J["Name"]]=$J;}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   353
is_view($S){return!isset($S["Rows"]);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   354
fk_support($S){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   355
eregi("InnoDB|IBMDB2I",$S["Engine"]);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   356
fields($R){$I=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($R))as$J){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$J["Type"],$_);$I[$J["Field"]]=array("field"=>$J["Field"],"full_type"=>$J["Type"],"type"=>$_[1],"length"=>$_[2],"unsigned"=>ltrim($_[3].$_[4]),"default"=>($J["Default"]!=""||ereg("char",$_[1])?$J["Default"]:null),"null"=>($J["Null"]=="YES"),"auto_increment"=>($J["Extra"]=="auto_increment"),"on_update"=>(eregi('^on update (.+)',$J["Extra"],$_)?$_[1]:""),"collation"=>$J["Collation"],"privileges"=>array_flip(explode(",",$J["Privileges"])),"comment"=>$J["Comment"],"primary"=>($J["Key"]=="PRI"),);}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   357
indexes($R,$g=null){$I=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$g)as$J){$I[$J["Key_name"]]["type"]=($J["Key_name"]=="PRIMARY"?"PRIMARY":($J["Index_type"]=="FULLTEXT"?"FULLTEXT":($J["Non_unique"]?"INDEX":"UNIQUE")));$I[$J["Key_name"]]["columns"][]=$J["Column_name"];$I[$J["Key_name"]]["lengths"][]=$J["Sub_part"];}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   358
foreign_keys($R){global$f,$pd;static$E='`(?:[^`]|``)+`';$I=array();$Za=$f->result("SHOW CREATE TABLE ".table($R),1);if($Za){preg_match_all("~CONSTRAINT ($E) FOREIGN KEY \\(((?:$E,? ?)+)\\) REFERENCES ($E)(?:\\.($E))? \\(((?:$E,? ?)+)\\)(?: ON DELETE ($pd))?(?: ON UPDATE ($pd))?~",$Za,$Pc,PREG_SET_ORDER);foreach($Pc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   359
as$_){preg_match_all("~$E~",$_[2],$Ee);preg_match_all("~$E~",$_[5],$bf);$I[idf_unescape($_[1])]=array("db"=>idf_unescape($_[4]!=""?$_[3]:$_[4]),"table"=>idf_unescape($_[4]!=""?$_[4]:$_[3]),"source"=>array_map('idf_unescape',$Ee[0]),"target"=>array_map('idf_unescape',$bf[0]),"on_delete"=>$_[6],"on_update"=>$_[7],);}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   360
view($B){global$f;return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   361
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$f->result("SHOW CREATE VIEW ".table($B),1)));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   362
collations(){$I=array();foreach(get_rows("SHOW COLLATION")as$J){if($J["Default"]){$I[$J["Charset"]][-1]=$J["Collation"];}else{$I[$J["Charset"]][]=$J["Collation"];}}ksort($I);foreach($I
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   363
as$w=>$X){asort($I[$w]);}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   364
information_schema($i){global$f;return($f->server_info>=5&&$i=="information_schema");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   365
error(){global$f;return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   366
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$f->error));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   367
exact_value($X){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   368
q($X)." COLLATE utf8_bin";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   369
create_database($i,$La){set_session("dbs",null);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   370
queries("CREATE DATABASE ".idf_escape($i).($La?" COLLATE ".q($La):""));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   371
drop_databases($h){set_session("dbs",null);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   372
apply_queries("DROP DATABASE",$h,'idf_escape');}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   373
rename_database($B,$La){if(create_database($B,$La)){$ne=array();foreach(tables_list()as$R=>$V){$ne[]=table($R)." TO ".idf_escape($B).".".table($R);}if(!$ne||queries("RENAME TABLE ".implode(", ",$ne))){queries("DROP DATABASE ".idf_escape(DB));return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   374
true;}}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   375
false;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   376
auto_increment(){$wa=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$t){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$t["columns"],true)){$wa="";break;}if($t["type"]=="PRIMARY"){$wa=" UNIQUE";}}}return" AUTO_INCREMENT$wa";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   377
alter_table($R,$B,$l,$Xb,$Qa,$Bb,$La,$va,$Kd){$ra=array();foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   378
as$k){$ra[]=($k[1]?($R!=""?($k[0]!=""?"CHANGE ".idf_escape($k[0]):"ADD"):" ")." ".implode($k[1]).($R!=""?" $k[2]":""):"DROP ".idf_escape($k[0]));}$ra=array_merge($ra,$Xb);$Ie="COMMENT=".q($Qa).($Bb?" ENGINE=".q($Bb):"").($La?" COLLATE ".q($La):"").($va!=""?" AUTO_INCREMENT=$va":"").$Kd;if($R==""){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   379
queries("CREATE TABLE ".table($B)." (\n".implode(",\n",$ra)."\n) $Ie");}if($R!=$B){$ra[]="RENAME TO ".table($B);}$ra[]=$Ie;return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   380
queries("ALTER TABLE ".table($R)."\n".implode(",\n",$ra));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   381
alter_indexes($R,$ra){foreach($ra
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   382
as$w=>$X){$ra[$w]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"").$X[2]);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   383
queries("ALTER TABLE ".table($R).implode(",",$ra));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   384
truncate_tables($Ye){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   385
apply_queries("TRUNCATE TABLE",$Ye);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   386
drop_views($If){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   387
queries("DROP VIEW ".implode(", ",array_map('table',$If)));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   388
drop_tables($Ye){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   389
queries("DROP TABLE ".implode(", ",array_map('table',$Ye)));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   390
move_tables($Ye,$If,$bf){$ne=array();foreach(array_merge($Ye,$If)as$R){$ne[]=table($R)." TO ".idf_escape($bf).".".table($R);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   391
queries("RENAME TABLE ".implode(", ",$ne));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   392
copy_tables($Ye,$If,$bf){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($Ye
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   393
as$R){$B=($bf==DB?table("copy_$R"):idf_escape($bf).".".table($R));if(!queries("DROP TABLE IF EXISTS $B")||!queries("CREATE TABLE $B LIKE ".table($R))||!queries("INSERT INTO $B SELECT * FROM ".table($R))){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   394
false;}}foreach($If
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   395
as$R){$B=($bf==DB?table("copy_$R"):idf_escape($bf).".".table($R));$Hf=view($R);if(!queries("DROP VIEW IF EXISTS $B")||!queries("CREATE VIEW $B AS $Hf[select]")){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   396
false;}}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   397
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   398
trigger($B){if($B==""){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   399
array();}$K=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($B));return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   400
reset($K);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   401
triggers($R){$I=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_")))as$J){$I[$J["Trigger"]]=array($J["Timing"],$J["Event"]);}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   402
trigger_options(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   403
array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW"),);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   404
routine($B,$V){global$f,$Db,$tc,$uf;$pa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$tf="((".implode("|",array_merge(array_keys($uf),$pa)).")(?:\\s*\\(((?:[^'\")]*|$Db)+)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$E="\\s*(".($V=="FUNCTION"?"":$tc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$tf";$Ya=$f->result("SHOW CREATE $V ".idf_escape($B),2);preg_match("~\\(((?:$E\\s*,?)*)\\)".($V=="FUNCTION"?"\\s*RETURNS\\s+$tf":"")."\\s*(.*)~is",$Ya,$_);$l=array();preg_match_all("~$E\\s*,?~is",$_[1],$Pc,PREG_SET_ORDER);foreach($Pc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   405
as$Fd){$B=str_replace("``","`",$Fd[2]).$Fd[3];$l[]=array("field"=>$B,"type"=>strtolower($Fd[5]),"length"=>preg_replace_callback("~$Db~s",'normalize_enum',$Fd[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$Fd[8] $Fd[7]"))),"full_type"=>$Fd[4],"inout"=>strtoupper($Fd[1]),"collation"=>strtolower($Fd[9]),);}if($V!="FUNCTION"){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   406
array("fields"=>$l,"definition"=>$_[11]);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   407
array("fields"=>$l,"returns"=>array("type"=>$_[12],"length"=>$_[13],"unsigned"=>$_[15],"collation"=>$_[16]),"definition"=>$_[17],"language"=>"SQL",);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   408
routines(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   409
get_rows("SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   410
routine_languages(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   411
array();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   412
begin(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   413
queries("BEGIN");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   414
insert_into($R,$O){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   415
queries("INSERT INTO ".table($R)." (".implode(", ",array_keys($O)).")\nVALUES (".implode(", ",$O).")");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   416
insert_update($R,$O,$Wd){foreach($O
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   417
as$w=>$X){$O[$w]="$w = $X";}$Bf=implode(", ",$O);return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   418
queries("INSERT INTO ".table($R)." SET $Bf ON DUPLICATE KEY UPDATE $Bf");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   419
last_id(){global$f;return$f->result("SELECT LAST_INSERT_ID()");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   420
explain($f,$G){return$f->query("EXPLAIN $G");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   421
found_rows($S,$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   422
types(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   423
array();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   424
schemas(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   425
array();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   426
get_schema(){return"";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   427
set_schema($xe){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   428
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   429
create_sql($R,$va){global$f;$I=$f->result("SHOW CREATE TABLE ".table($R),1);if(!$va){$I=preg_replace('~ AUTO_INCREMENT=\\d+~','',$I);}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   430
truncate_sql($R){return"TRUNCATE ".table($R);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   431
use_sql($fb){return"USE ".idf_escape($fb);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   432
trigger_sql($R,$Q){$I="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_")),null,"-- ")as$J){$I.="\n".($Q=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($J["Trigger"]).";;\n":"")."CREATE TRIGGER ".idf_escape($J["Trigger"])." $J[Timing] $J[Event] ON ".table($J["Table"])." FOR EACH ROW\n$J[Statement];;\n";}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   433
show_variables(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   434
get_key_vals("SHOW VARIABLES");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   435
process_list(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   436
get_rows("SHOW FULL PROCESSLIST");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   437
show_status(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   438
get_key_vals("SHOW STATUS");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   439
support($Rb){global$f;return!ereg("scheme|sequence|type".($f->server_info<5.1?"|event|partitioning".($f->server_info<5?"|view|routine|trigger":""):""),$Rb);}$v="sql";$uf=array();$Me=array();foreach(array(lang(9)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(10)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(11)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(12)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(13)=>array("enum"=>65535,"set"=>64),)as$w=>$X){$uf+=$X;$Me[$w]=array_keys($X);}$Af=array("unsigned","zerofill","unsigned zerofill");$td=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","");$ec=array("char_length","date","from_unixtime","hex","lower","round","sec_to_time","time_to_sec","upper");$hc=array("avg","count","count distinct","group_concat","max","min","sum");$vb=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1/hex","date|time"=>"now",),array("int|float|double|decimal"=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));$fa="3.3.3";class
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   440
Adminer{var$operators;function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   441
name(){return"<a href='http://www.adminer.org/' id='h1'>Adminer</a>";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   442
credentials(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   443
array(SERVER,$_GET["username"],get_session("pwds"));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   444
permanentLogin(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   445
password_file();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   446
database(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   447
DB;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   448
headers(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   449
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   450
head(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   451
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   452
loginForm(){global$pb;echo'<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   453
<tr><th>',lang(14),'<td>',html_select("driver",$pb,DRIVER,"loginDriver(this);"),'<tr><th>',lang(15),'<td><input name="server" value="',h(SERVER),'" title="hostname[:port]">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   454
<tr><th>',lang(16),'<td><input id="username" name="username" value="',h($_GET["username"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   455
<tr><th>',lang(17);?><td><input type="password" name="password">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   456
</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   457
<script type="text/javascript">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   458
var username = document.getElementById('username');
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   459
username.focus();
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   460
username.form['driver'].onchange();
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   461
</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   462
<?php
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   463
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   464
echo"<p><input type='submit' value='".lang(18)."'>\n",checkbox("permanent",1,$_COOKIE["adminer_permanent"],lang(19))."\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   465
login($Nc,$Nd){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   466
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   467
tableName($Te){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   468
h($Te["Name"]);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   469
fieldName($k,$wd=0){return'<span title="'.h($k["full_type"]).'">'.h($k["field"]).'</span>';}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   470
selectLinks($Te,$O=""){echo'<p class="tabs">';$Mc=array("select"=>lang(20),"table"=>lang(21));if(is_view($Te)){$Mc["view"]=lang(22);}else{$Mc["create"]=lang(23);}if(isset($O)){$Mc["edit"]=lang(24);}foreach($Mc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   471
as$w=>$X){echo" <a href='".h(ME)."$w=".urlencode($Te["Name"]).($w=="edit"?$O:"")."'".bold(isset($_GET[$w])).">$X</a>";}echo"\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   472
foreignKeys($R){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   473
foreign_keys($R);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   474
backwardKeys($R,$Se){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   475
array();}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   476
backwardKeysPrint($ya,$J){}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   477
selectQuery($G){global$v;return"<p><a href='".h(remove_from_uri("page"))."&amp;page=last' title='".lang(25)."'>&gt;&gt;</a> <code class='jush-$v'>".h(str_replace("\n"," ",$G))."</code> <a href='".h(ME)."sql=".urlencode($G)."'>".lang(26)."</a></p>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   478
rowDescription($R){return"";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   479
rowDescriptions($K,$Yb){return$K;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   480
selectVal($X,$y,$k){$I=($X!="<i>NULL</i>"&&ereg("char|binary",$k["type"])&&!ereg("var",$k["type"])?"<code>$X</code>":$X);if(ereg('blob|bytea|raw|file',$k["type"])&&!is_utf8($X)){$I=lang(27,strlen(html_entity_decode($X,ENT_QUOTES)));}return($y?"<a href='$y'>$I</a>":$I);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   481
editVal($X,$k){return(ereg("binary",$k["type"])?reset(unpack("H*",$X)):$X);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   482
selectColumnsPrint($M,$e){global$ec,$hc;print_fieldset("select",lang(28),$M);$r=0;$dc=array(lang(29)=>$ec,lang(30)=>$hc);foreach($M
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   483
as$w=>$X){$X=$_GET["columns"][$w];echo"<div>".html_select("columns[$r][fun]",array(-1=>"")+$dc,$X["fun"]),"(<select name='columns[$r][col]'><option>".optionlist($e,$X["col"],true)."</select>)</div>\n";$r++;}echo"<div>".html_select("columns[$r][fun]",array(-1=>"")+$dc,"","this.nextSibling.nextSibling.onchange();"),"(<select name='columns[$r][col]' onchange='selectAddRow(this);'><option>".optionlist($e,null,true)."</select>)</div>\n","</div></fieldset>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   484
selectSearchPrint($Z,$e,$u){print_fieldset("search",lang(31),$Z);foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   485
as$r=>$t){if($t["type"]=="FULLTEXT"){echo"(<i>".implode("</i>, <i>",array_map('h',$t["columns"]))."</i>) AGAINST"," <input name='fulltext[$r]' value='".h($_GET["fulltext"][$r])."'>",checkbox("boolean[$r]",1,isset($_GET["boolean"][$r]),"BOOL"),"<br>\n";}}$r=0;foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){echo"<div><select name='where[$r][col]'><option value=''>(".lang(32).")".optionlist($e,$X["col"],true)."</select>",html_select("where[$r][op]",$this->operators,$X["op"]),"<input name='where[$r][val]' value='".h($X["val"])."'></div>\n";$r++;}}echo"<div><select name='where[$r][col]' onchange='selectAddRow(this);'><option value=''>(".lang(32).")".optionlist($e,null,true)."</select>",html_select("where[$r][op]",$this->operators,"="),"<input name='where[$r][val]'></div>\n","</div></fieldset>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   486
selectOrderPrint($wd,$e,$u){print_fieldset("sort",lang(33),$wd);$r=0;foreach((array)$_GET["order"]as$w=>$X){if(isset($e[$X])){echo"<div><select name='order[$r]'><option>".optionlist($e,$X,true)."</select>",checkbox("desc[$r]",1,isset($_GET["desc"][$w]),lang(34))."</div>\n";$r++;}}echo"<div><select name='order[$r]' onchange='selectAddRow(this);'><option>".optionlist($e,null,true)."</select>","<label><input type='checkbox' name='desc[$r]' value='1'>".lang(34)."</label></div>\n";echo"</div></fieldset>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   487
selectLimitPrint($x){echo"<fieldset><legend>".lang(35)."</legend><div>";echo"<input name='limit' size='3' value='".h($x)."'>","</div></fieldset>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   488
selectLengthPrint($ef){if(isset($ef)){echo"<fieldset><legend>".lang(36)."</legend><div>",'<input name="text_length" size="3" value="'.h($ef).'">',"</div></fieldset>\n";}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   489
selectActionPrint(){echo"<fieldset><legend>".lang(37)."</legend><div>","<input type='submit' value='".lang(28)."'>","</div></fieldset>\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   490
selectCommandPrint(){return!information_schema(DB);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   491
selectImportPrint(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   492
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   493
selectEmailPrint($yb,$e){}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   494
selectColumnsProcess($e,$u){global$ec,$hc;$M=array();$q=array();foreach((array)$_GET["columns"]as$w=>$X){if($X["fun"]=="count"||(isset($e[$X["col"]])&&(!$X["fun"]||in_array($X["fun"],$ec)||in_array($X["fun"],$hc)))){$M[$w]=apply_sql_function($X["fun"],(isset($e[$X["col"]])?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$hc)){$q[]=$M[$w];}}}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   495
array($M,$q);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   496
selectSearchProcess($l,$u){global$v;$I=array();foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   497
as$r=>$t){if($t["type"]=="FULLTEXT"&&$_GET["fulltext"][$r]!=""){$I[]="MATCH (".implode(", ",array_map('idf_escape',$t["columns"])).") AGAINST (".q($_GET["fulltext"][$r]).(isset($_GET["boolean"][$r])?" IN BOOLEAN MODE":"").")";}}foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$Ta=" $X[op]";if(ereg('IN$',$X["op"])){$qc=process_length($X["val"]);$Ta.=" (".($qc!=""?$qc:"NULL").")";}elseif(!$X["op"]){$Ta.=$X["val"];}elseif($X["op"]=="LIKE %%"){$Ta=" LIKE ".$this->processInput($l[$X["col"]],"%$X[val]%");}elseif(!ereg('NULL$',$X["op"])){$Ta.=" ".$this->processInput($l[$X["col"]],$X["val"]);}if($X["col"]!=""){$I[]=idf_escape($X["col"]).$Ta;}else{$Ma=array();foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   498
as$B=>$k){if(is_numeric($X["val"])||!ereg('int|float|double|decimal',$k["type"])){$B=idf_escape($B);$Ma[]=($v=="sql"&&ereg('char|text|enum|set',$k["type"])&&!ereg('^utf8',$k["collation"])?"CONVERT($B USING utf8)":$B);}}$I[]=($Ma?"(".implode("$Ta OR ",$Ma)."$Ta)":"0");}}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   499
selectOrderProcess($l,$u){$I=array();foreach((array)$_GET["order"]as$w=>$X){if(isset($l[$X])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X)){$I[]=(isset($l[$X])?idf_escape($X):$X).(isset($_GET["desc"][$w])?" DESC":"");}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   500
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"30");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   501
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   502
selectEmailProcess($Z,$Yb){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   503
false;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   504
messageQuery($G){global$v;static$Xa=0;restart_session();$s="sql-".($Xa++);$jc=&get_session("queries");if(strlen($G)>1e6){$G=ereg_replace('[\x80-\xFF]+$','',substr($G,0,1e6))."\n...";}$jc[$_GET["db"]][]=$G;return" <a href='#$s' onclick=\"return !toggle('$s');\">".lang(38)."</a><div id='$s' class='hidden'><pre><code class='jush-$v'>".shorten_utf8($G,1000).'</code></pre><p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($jc[$_GET["db"]])-1)).'">'.lang(26).'</a></div>';}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   505
editFunctions($k){global$vb;$I=($k["null"]?"NULL/":"");foreach($vb
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   506
as$w=>$ec){if(!$w||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($ec
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   507
as$E=>$X){if(!$E||ereg($E,$k["type"])){$I.="/$X";}}if($w&&!ereg('set|blob|bytea|raw|file',$k["type"])){$I.="/=";}}}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   508
explode("/",$I);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   509
editInput($R,$k,$ua,$Y){if($k["type"]=="enum"){return(isset($_GET["select"])?"<label><input type='radio'$ua value='-1' checked><i>".lang(5)."</i></label> ":"").($k["null"]?"<label><input type='radio'$ua value=''".(isset($Y)||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$ua,$k,$Y,0);}return"";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   510
processInput($k,$Y,$o=""){if($o=="="){return$Y;}$B=$k["field"];$I=($k["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$Y)?$Y:q($Y));if(ereg('^(now|getdate|uuid)$',$o)){$I="$o()";}elseif(ereg('^current_(date|timestamp)$',$o)){$I=$o;}elseif(ereg('^([+-]|\\|\\|)$',$o)){$I=idf_escape($B)." $o $I";}elseif(ereg('^[+-] interval$',$o)){$I=idf_escape($B)." $o ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$I);}elseif(ereg('^(addtime|subtime|concat)$',$o)){$I="$o(".idf_escape($B).", $I)";}elseif(ereg('^(md5|sha1|password|encrypt|hex)$',$o)){$I="$o($I)";}if(ereg("binary",$k["type"])){$I="unhex($I)";}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   511
dumpOutput(){$I=array('text'=>lang(39),'file'=>lang(40));if(function_exists('gzencode')){$I['gz']='gzip';}if(function_exists('bzcompress')){$I['bz2']='bzip2';}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   512
dumpFormat(){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   513
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   514
dumpTable($R,$Q,$yc=false){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Q){dump_csv(array_keys(fields($R)));}}elseif($Q){$Ya=create_sql($R,$_POST["auto_increment"]);if($Ya){if($Q=="DROP+CREATE"){echo"DROP ".($yc?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";}if($yc){$Ya=preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$Ya);}echo($Q!="CREATE+ALTER"?$Ya:($yc?substr_replace($Ya," OR REPLACE",6,0):substr_replace($Ya," IF NOT EXISTS",12,0))).";\n\n";}if($Q=="CREATE+ALTER"&&!$yc){$G="SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE, COLLATION_NAME, COLUMN_TYPE, EXTRA, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($R)." ORDER BY ORDINAL_POSITION";echo"DELIMITER ;;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   515
CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   516
	DECLARE _column_name, _collation_name, after varchar(64) DEFAULT '';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   517
	DECLARE _column_type, _column_default text;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   518
	DECLARE _is_nullable char(3);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   519
	DECLARE _extra varchar(30);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   520
	DECLARE _column_comment varchar(255);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   521
	DECLARE done, set_after bool DEFAULT 0;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   522
	DECLARE add_columns text DEFAULT '";$l=array();$oa="";foreach(get_rows($G)as$J){$ib=$J["COLUMN_DEFAULT"];$J["default"]=(isset($ib)?q($ib):"NULL");$J["after"]=q($oa);$J["alter"]=escape_string(idf_escape($J["COLUMN_NAME"])." $J[COLUMN_TYPE]".($J["COLLATION_NAME"]?" COLLATE $J[COLLATION_NAME]":"").(isset($ib)?" DEFAULT ".($ib=="CURRENT_TIMESTAMP"?$ib:$J["default"]):"").($J["IS_NULLABLE"]=="YES"?"":" NOT NULL").($J["EXTRA"]?" $J[EXTRA]":"").($J["COLUMN_COMMENT"]?" COMMENT ".q($J["COLUMN_COMMENT"]):"").($oa?" AFTER ".idf_escape($oa):" FIRST"));echo", ADD $J[alter]";$l[]=$J;$oa=$J["COLUMN_NAME"];}echo"';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   523
	DECLARE columns CURSOR FOR $G;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   524
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   525
	SET @alter_table = '';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   526
	OPEN columns;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   527
	REPEAT
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   528
		FETCH columns INTO _column_name, _column_default, _is_nullable, _collation_name, _column_type, _extra, _column_comment;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   529
		IF NOT done THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   530
			SET set_after = 1;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   531
			CASE _column_name";foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   532
as$J){echo"
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   533
				WHEN ".q($J["COLUMN_NAME"])." THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   534
					SET add_columns = REPLACE(add_columns, ', ADD $J[alter]', IF(
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   535
						_column_default <=> $J[default] AND _is_nullable = '$J[IS_NULLABLE]' AND _collation_name <=> ".(isset($J["COLLATION_NAME"])?"'$J[COLLATION_NAME]'":"NULL")." AND _column_type = ".q($J["COLUMN_TYPE"])." AND _extra = '$J[EXTRA]' AND _column_comment = ".q($J["COLUMN_COMMENT"])." AND after = $J[after]
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   536
					, '', ', MODIFY $J[alter]'));";}echo"
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   537
				ELSE
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   538
					SET @alter_table = CONCAT(@alter_table, ', DROP ', _column_name);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   539
					SET set_after = 0;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   540
			END CASE;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   541
			IF set_after THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   542
				SET after = _column_name;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   543
			END IF;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   544
		END IF;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   545
	UNTIL done END REPEAT;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   546
	CLOSE columns;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   547
	IF @alter_table != '' OR add_columns != '' THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   548
		SET alter_command = CONCAT(alter_command, 'ALTER TABLE ".table($R)."', SUBSTR(CONCAT(add_columns, @alter_table), 2), ';\\n');
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   549
	END IF;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   550
END;;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   551
DELIMITER ;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   552
CALL adminer_alter(@adminer_alter);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   553
DROP PROCEDURE adminer_alter;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   554
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   555
";}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   556
dumpData($R,$Q,$G){global$f,$v;$Rc=($v=="sqlite"?0:1048576);if($Q){if($_POST["format"]=="sql"&&$Q=="TRUNCATE+INSERT"){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   557
truncate_sql($R).";\n";}if($_POST["format"]=="sql"){$l=fields($R);}$H=$f->query($G,1);if($H){$vc="";$Da="";while($J=$H->fetch_assoc()){if($_POST["format"]!="sql"){if($Q=="table"){dump_csv(array_keys($J));$Q="INSERT";}dump_csv($J);}else{if(!$vc){$vc="INSERT INTO ".table($R)." (".implode(", ",array_map('idf_escape',array_keys($J))).") VALUES";}foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   558
as$w=>$X){$J[$w]=(isset($X)?(ereg('int|float|double|decimal',$l[$w]["type"])?$X:q($X)):"NULL");}$L=implode(",\t",$J);if($Q=="INSERT+UPDATE"){$O=array();foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   559
as$w=>$X){$O[]=idf_escape($w)." = $X";}echo"$vc ($L) ON DUPLICATE KEY UPDATE ".implode(", ",$O).";\n";}else{$L=($Rc?"\n":" ")."($L)";if(!$Da){$Da=$vc.$L;}elseif(strlen($Da)+4+strlen($L)<$Rc){$Da.=",$L";}else{echo"$Da;\n";$Da=$vc.$L;}}}}if($_POST["format"]=="sql"&&$Q!="INSERT+UPDATE"&&$Da){$Da.=";\n";echo$Da;}}elseif($_POST["format"]=="sql"){echo"-- ".str_replace("\n"," ",$f->error)."\n";}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   560
dumpHeaders($nc,$dd=false){$Dd=$_POST["output"];$Ob=($_POST["format"]=="sql"?"sql":($dd?"tar":"csv"));header("Content-Type: ".($Dd=="bz2"?"application/x-bzip":($Dd=="gz"?"application/x-gzip":($Ob=="tar"?"application/x-tar":($Ob=="sql"||$Dd!="file"?"text/plain":"text/csv")."; charset=utf-8"))));if($Dd=="bz2"){ob_start('bzcompress',1e6);}if($Dd=="gz"){ob_start('gzencode',1e6);}return$Ob;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   561
homepage(){echo'<p>'.($_GET["ns"]==""?'<a href="'.h(ME).'database=">'.lang(41)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(42):lang(43))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(44)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(45)."</a>\n":"");return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   562
true;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   563
navigation($cd){global$fa,$f,$T,$v,$pb;echo'<h1>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   564
',$this->name(),' <span class="version">',$fa,'</span>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   565
<a href="http://www.adminer.org/#download" id="version">',(version_compare($fa,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   566
</h1>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   567
';if($cd=="auth"){$Vb=true;foreach((array)$_SESSION["pwds"]as$ob=>$Ce){foreach($Ce
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   568
as$N=>$Ff){foreach($Ff
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   569
as$Ef=>$Nd){if(isset($Nd)){if($Vb){echo"<p onclick='eventStop(event);'>\n";$Vb=false;}echo"<a href='".h(auth_url($ob,$N,$Ef))."'>($pb[$ob]) ".h($Ef.($N!=""?"@$N":""))."</a><br>\n";}}}}}else{$h=get_databases();echo'<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   570
<p class="logout">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   571
';if(DB==""||!$cd){echo"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])).">".lang(38)."</a>\n";if(support("dump")){echo"<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(46)."</a>\n";}}echo'<input type="submit" name="logout" value="',lang(47),'" onclick="eventStop(event);">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   572
<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   573
</p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   574
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   575
<form action="">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   576
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   577
';hidden_fields_get();echo($h?html_select("db",array(""=>"(".lang(48).")")+$h,DB,"this.form.submit();"):'<input name="db" value="'.h(DB).'">'),'<input type="submit" value="',lang(8),'"',($h?" class='hidden'":""),' onclick="eventStop(event);">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   578
';if($cd!="db"&&DB!=""&&$f->select_db(DB)){if($_GET["ns"]!==""&&!$cd){echo'<p><a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(49)."</a>\n";$Ye=tables_list();if(!$Ye){echo"<p class='message'>".lang(6)."\n";}else{$this->tablesPrint($Ye);$Mc=array();foreach($Ye
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   579
as$R=>$V){$Mc[]=preg_quote($R,'/');}echo"<script type='text/javascript'>\n","var jushLinks = { $v: [ '".js_escape(ME)."table=\$&', /\\b(".implode("|",$Mc).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X){echo"jushLinks.$X = jushLinks.$v;\n";}echo"</script>\n";}}}echo(isset($_GET["sql"])?'<input type="hidden" name="sql" value="">':(isset($_GET["schema"])?'<input type="hidden" name="schema" value="">':(isset($_GET["dump"])?'<input type="hidden" name="dump" value="">':""))),"</p></form>\n";}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   580
tablesPrint($Ye){echo"<p id='tables'>\n";foreach($Ye
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   581
as$R=>$V){echo'<a href="'.h(ME).'select='.urlencode($R).'"'.bold($_GET["select"]==$R).">".lang(50)."</a> ",'<a href="'.h(ME).'table='.urlencode($R).'"'.bold($_GET["table"]==$R)." title='".lang(21)."'>".$this->tableName(array("Name"=>$R))."</a><br>\n";}}}$c=(function_exists('adminer_object')?adminer_object():new
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   582
Adminer);if(!isset($c->operators)){$c->operators=$td;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   583
page_header($hf,$j="",$Ca=array(),$if=""){global$a,$c,$f,$pb;header("Content-Type: text/html; charset=utf-8");if($c->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}$jf=$hf.($if!=""?": ".h($if):"");$kf=strip_tags($jf.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$c->name());if(is_ajax()){header("X-AJAX-Title: ".rawurlencode($kf));}else{echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   584
<html lang="',$a,'" dir="',lang(51),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   585
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   586
<meta http-equiv="Content-Script-Type" content="text/javascript">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   587
<meta name="robots" content="noindex">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   588
<title>',$kf,'</title>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   589
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME))."?file=default.css&amp;version=3.3.3",'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   590
<script type="text/javascript">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   591
var areYouSure = \'',lang(52),'\';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   592
</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   593
<script type="text/javascript" src="',h(preg_replace("~\\?.*~","",ME))."?file=functions.js&amp;version=3.3.3",'"></script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   594
';if($c->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&amp;version=3.3.3",'" id="favicon">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   595
';if(file_exists("adminer.css")){echo'<link rel="stylesheet" type="text/css" href="adminer.css">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   596
';}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   597
<body class="',lang(51),' nojs"',($_POST?"":" onclick=\"return bodyClick(event, '".h(js_escape(DB)."', '".js_escape($_GET["ns"]))."');\"");echo' onkeydown="bodyKeydown(event);" onload="bodyLoad(\'',(is_object($f)?substr($f->server_info,0,3):""),'\');',(isset($_COOKIE["adminer_version"])?"":" verifyVersion();");?>">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   598
<script type="text/javascript">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   599
document.body.className = document.body.className.replace(/(^|\s)nojs(\s|$)/, '$1js$2');
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   600
</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   601
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   602
<div id="content">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   603
<?php
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   604
}if(isset($Ca)){$y=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($y?$y:".").'">'.$pb[DRIVER].'</a> &raquo; ';$y=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$N=(SERVER!=""?h(SERVER):lang(15));if($Ca===false){echo"$N\n";}else{echo"<a href='".($y?h($y):".")."' accesskey='1' title='Alt+Shift+1'>$N</a> &raquo; ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ca))){echo'<a href="'.h($y."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';}if(is_array($Ca)){if($_GET["ns"]!=""){echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';}foreach($Ca
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   605
as$w=>$X){$kb=(is_array($X)?$X[1]:$X);if($kb!=""){echo'<a href="'.h(ME."$w=").urlencode(is_array($X)?$X[0]:$X).'">'.h($kb).'</a> &raquo; ';}}}echo"$hf\n";}}echo"<span id='loader'></span>\n","<h2>$jf</h2>\n";restart_session();$Cf=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$ad=$_SESSION["messages"][$Cf];if($ad){echo"<div class='message'>".implode("</div>\n<div class='message'>",$ad)."</div>\n";unset($_SESSION["messages"][$Cf]);}$h=&get_session("dbs");if(DB!=""&&$h&&!in_array(DB,$h,true)){$h=null;}if($j){echo"<div class='error'>$j</div>\n";}define("PAGE_HEADER",1);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   606
page_footer($cd=""){global$c;if(!is_ajax()){echo'</div>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   607
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   608
';switch_lang();echo'<div id="menu">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   609
';$c->navigation($cd);echo'</div>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   610
';}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   611
int32($A){while($A>=2147483648){$A-=4294967296;}while($A<=-2147483649){$A+=4294967296;}return(int)$A;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   612
long2str($W,$Kf){$L='';foreach($W
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   613
as$X){$L.=pack('V',$X);}if($Kf){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   614
substr($L,0,end($W));}return$L;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   615
str2long($L,$Kf){$W=array_values(unpack('V*',str_pad($L,4*ceil(strlen($L)/4),"\0")));if($Kf){$W[]=strlen($L);}return$W;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   616
xxtea_mx($Of,$Nf,$Qe,$Ac){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   617
int32((($Of>>5&0x7FFFFFF)^$Nf<<2)+(($Nf>>3&0x1FFFFFFF)^$Of<<4))^int32(($Qe^$Nf)+($Ac^$Of));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   618
encrypt_string($Le,$w){if($Le==""){return"";}$w=array_values(unpack("V*",pack("H*",md5($w))));$W=str2long($Le,true);$A=count($W)-1;$Of=$W[$A];$Nf=$W[0];$F=floor(6+52/($A+1));$Qe=0;while($F-->0){$Qe=int32($Qe+0x9E3779B9);$ub=$Qe>>2&3;for($Ed=0;$Ed<$A;$Ed++){$Nf=$W[$Ed+1];$ed=xxtea_mx($Of,$Nf,$Qe,$w[$Ed&3^$ub]);$Of=int32($W[$Ed]+$ed);$W[$Ed]=$Of;}$Nf=$W[0];$ed=xxtea_mx($Of,$Nf,$Qe,$w[$Ed&3^$ub]);$Of=int32($W[$A]+$ed);$W[$A]=$Of;}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   619
long2str($W,false);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   620
decrypt_string($Le,$w){if($Le==""){return"";}$w=array_values(unpack("V*",pack("H*",md5($w))));$W=str2long($Le,false);$A=count($W)-1;$Of=$W[$A];$Nf=$W[0];$F=floor(6+52/($A+1));$Qe=int32($F*0x9E3779B9);while($Qe){$ub=$Qe>>2&3;for($Ed=$A;$Ed>0;$Ed--){$Of=$W[$Ed-1];$ed=xxtea_mx($Of,$Nf,$Qe,$w[$Ed&3^$ub]);$Nf=int32($W[$Ed]-$ed);$W[$Ed]=$Nf;}$Of=$W[$A];$ed=xxtea_mx($Of,$Nf,$Qe,$w[$Ed&3^$ub]);$Nf=int32($W[0]-$ed);$W[0]=$Nf;$Qe=int32($Qe-0x9E3779B9);}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   621
long2str($W,true);}$f='';$T=$_SESSION["token"];if(!$_SESSION["token"]){$_SESSION["token"]=rand(1,1e6);}$Od=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($w)=explode(":",$X);$Od[$w]=$X;}}if(isset($_POST["server"])){session_regenerate_id();$_SESSION["pwds"][$_POST["driver"]][$_POST["server"]][$_POST["username"]]=$_POST["password"];if($_POST["permanent"]){$w=base64_encode($_POST["driver"])."-".base64_encode($_POST["server"])."-".base64_encode($_POST["username"]);$Yd=$c->permanentLogin();$Od[$w]="$w:".base64_encode($Yd?encrypt_string($_POST["password"],$Yd):"");cookie("adminer_permanent",implode(" ",$Od));}if(count($_POST)==($_POST["permanent"]?5:4)||DRIVER!=$_POST["driver"]||SERVER!=$_POST["server"]||$_GET["username"]!==$_POST["username"]){redirect(auth_url($_POST["driver"],$_POST["server"],$_POST["username"]));}}elseif($_POST["logout"]){if($T&&$_POST["token"]!=$T){page_header(lang(47),lang(53));page_footer("db");exit;}else{foreach(array("pwds","dbs","queries")as$w){set_session($w,null);}$w=base64_encode(DRIVER)."-".base64_encode(SERVER)."-".base64_encode($_GET["username"]);if($Od[$w]){unset($Od[$w]);cookie("adminer_permanent",implode(" ",$Od));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(54));}}elseif($Od&&!$_SESSION["pwds"]){session_regenerate_id();$Yd=$c->permanentLogin();foreach($Od
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   622
as$w=>$X){list(,$Ia)=explode(":",$X);list($ob,$N,$Ef)=array_map('base64_decode',explode("-",$w));$_SESSION["pwds"][$ob][$N][$Ef]=decrypt_string(base64_decode($Ia),$Yd);}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   623
auth_error($Ib=null){global$f,$c,$T;$De=session_name();$j="";if(!$_COOKIE[$De]&&$_GET[$De]&&ini_bool("session.use_only_cookies")){$j=lang(55);}elseif(isset($_GET["username"])){if(($_COOKIE[$De]||$_GET[$De])&&!$T){$j=lang(56);}else{$Nd=&get_session("pwds");if(isset($Nd)){$j=h($Ib?$Ib->getMessage():(is_string($f)?$f:lang(57)));$Nd=null;}}}page_header(lang(18),$j,null);echo"<form action='' method='post' onclick='eventStop(event);'>\n";$c->loginForm();echo"<div>";hidden_fields($_POST,array("driver","server","username","password","permanent"));echo"</div>\n","</form>\n";page_footer("auth");}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);page_header(lang(58),lang(59,implode(", ",$Td)),false);page_footer("auth");exit;}$f=connect();}if(is_string($f)||!$c->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$T=$_SESSION["token"];if(isset($_POST["server"])&&$_POST["token"]){$_POST["token"]=$T;}$j=($_POST?($_POST["token"]==$T?"":lang(53)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(60,'"post_max_size"')));function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   624
connect_error(){global$f,$T,$j,$pb;$h=array();if(DB!=""){page_header(lang(61).": ".h(DB),lang(62),true);}else{if($_POST["db"]&&!$j){queries_redirect(substr(ME,0,-1),lang(63),drop_databases($_POST["db"]));}page_header(lang(64),$j,false);echo"<p><a href='".h(ME)."database='>".lang(65)."</a>\n";foreach(array('privileges'=>lang(45),'processlist'=>lang(66),'variables'=>lang(67),'status'=>lang(68),)as$w=>$X){if(support($w)){echo"<a href='".h(ME)."$w='>$X</a>\n";}}echo"<p>".lang(69,$pb[DRIVER],"<b>$f->server_info</b>","<b>$f->extension</b>")."\n","<p>".lang(70,"<b>".h(logged_user())."</b>")."\n";if($_GET["refresh"]){set_session("dbs",null);}$h=get_databases();if($h){$ye=support("scheme");$d=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable' onclick='tableClick(event);'>\n","<thead><tr><td>&nbsp;<th>".lang(61)."<td>".lang(71)."<td>".lang(72)."</thead>\n";foreach($h
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   625
as$i){$re=h(ME)."db=".urlencode($i);echo"<tr".odd()."><td>".checkbox("db[]",$i,in_array($i,(array)$_POST["db"])),"<th><a href='$re'>".h($i)."</a>","<td><a href='$re".($ye?"&amp;ns=":"")."&amp;database=' title='".lang(41)."'>".nbsp(db_collation($i,$d))."</a>","<td align='right'><a href='$re&amp;schema=' id='tables-".h($i)."' title='".lang(44)."'>?</a>","\n";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n","<p><input type='submit' name='drop' value='".lang(73)."'".confirm("formChecked(this, /db/)",1).">\n";echo"<input type='hidden' name='token' value='$T'>\n","<a href='".h(ME)."refresh=1' onclick='eventStop(event);'>".lang(74)."</a>\n","</form>\n";}}page_footer("db");if($h){echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=connect');</script>\n";}}if(isset($_GET["status"])){$_GET["variables"]=$_GET["status"];}if(!(DB!=""?$f->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect")){if(DB!=""){set_session("dbs",null);}connect_error();exit;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   626
select($H,$g=null,$mc=""){$Mc=array();$u=array();$e=array();$Aa=array();$uf=array();odd('');for($r=0;$J=$H->fetch_row();$r++){if(!$r){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($zc=0;$zc<count($J);$zc++){$k=$H->fetch_field();$B=$k->name;$yd=$k->orgtable;$xd=$k->orgname;if($mc){$Mc[$zc]=($B=="table"?"table=":($B=="possible_keys"?"indexes=":null));}elseif($yd!=""){if(!isset($u[$yd])){$u[$yd]=array();foreach(indexes($yd,$g)as$t){if($t["type"]=="PRIMARY"){$u[$yd]=array_flip($t["columns"]);break;}}$e[$yd]=$u[$yd];}if(isset($e[$yd][$xd])){unset($e[$yd][$xd]);$u[$yd][$xd]=$zc;$Mc[$zc]=$yd;}}if($k->charsetnr==63){$Aa[$zc]=true;}$uf[$zc]=$k->type;$B=h($B);echo"<th".($yd!=""||$k->name!=$xd?" title='".h(($yd!=""?"$yd.":"").$xd)."'":"").">".($mc?"<a href='$mc".strtolower($B)."' target='_blank' rel='noreferrer'>$B</a>":$B);}echo"</thead>\n";}echo"<tr".odd().">";foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   627
as$w=>$X){if(!isset($X)){$X="<i>NULL</i>";}elseif($Aa[$w]&&!is_utf8($X)){$X="<i>".lang(27,strlen($X))."</i>";}elseif(!strlen($X)){$X="&nbsp;";}else{$X=h($X);if($uf[$w]==254){$X="<code>$X</code>";}}if(isset($Mc[$w])&&!$e[$Mc[$w]]){if($mc){$y=$Mc[$w].urlencode($J[array_search("table=",$Mc)]);}else{$y="edit=".urlencode($Mc[$w]);foreach($u[$Mc[$w]]as$Ja=>$zc){$y.="&where".urlencode("[".bracket_escape($Ja)."]")."=".urlencode($J[$zc]);}}$X="<a href='".h(ME.$y)."'>$X</a>";}echo"<td>$X";}}echo($r?"</table>":"<p class='message'>".lang(75))."\n";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   628
referencable_primary($_e){$I=array();foreach(table_status()as$Ue=>$R){if($Ue!=$_e&&fk_support($R)){foreach(fields($Ue)as$k){if($k["primary"]){if($I[$Ue]){unset($I[$Ue]);break;}$I[$Ue]=$k;}}}}return$I;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   629
textarea($B,$Y,$K=10,$Ma=80){echo"<textarea name='$B' rows='$K' cols='$Ma' class='sqlarea' spellcheck='false' wrap='off' onkeydown='return textareaKeydown(this, event);'>";if(is_array($Y)){foreach($Y
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   630
as$X){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   631
h($X)."\n\n\n";}}else{echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   632
h($Y);}echo"</textarea>";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   633
format_time($He,$Ab){return" <span class='time'>(".lang(76,max(0,array_sum(explode(" ",$Ab))-array_sum(explode(" ",$He)))).")</span>";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   634
edit_type($w,$k,$d,$n=array()){global$Me,$uf,$Af,$pd;echo'<td><select name="',$w,'[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);">',optionlist((!$k["type"]||isset($uf[$k["type"]])?array():array($k["type"]))+$Me+($n?array(lang(77)=>$n):array()),$k["type"]),'</select>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   635
<td><input name="',$w,'[length]" value="',h($k["length"]),'" size="3" onfocus="editingLengthFocus(this);"><td class="options">',"<select name='$w"."[collation]'".(ereg('(char|text|enum|set)$',$k["type"])?"":" class='hidden'").'><option value="">('.lang(78).')'.optionlist($d,$k["collation"]).'</select>',($Af?"<select name='$w"."[unsigned]'".(!$k["type"]||ereg('(int|float|double|decimal)$',$k["type"])?"":" class='hidden'").'><option>'.optionlist($Af,$k["unsigned"]).'</select>':''),($n?"<select name='$w"."[on_delete]'".(ereg("`",$k["type"])?"":" class='hidden'")."><option value=''>(".lang(79).")".optionlist(explode("|",$pd),$k["on_delete"])."</select> ":" ");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   636
process_length($Kc){global$Db;return(preg_match("~^\\s*(?:$Db)(?:\\s*,\\s*(?:$Db))*\\s*\$~",$Kc)&&preg_match_all("~$Db~",$Kc,$Pc)?implode(",",$Pc[0]):preg_replace('~[^0-9,+-]~','',$Kc));}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   637
process_type($k,$Ka="COLLATE"){global$Af;return" $k[type]".($k["length"]!=""?"(".process_length($k["length"]).")":"").(ereg('int|float|double|decimal',$k["type"])&&in_array($k["unsigned"],$Af)?" $k[unsigned]":"").(ereg('char|text|enum|set',$k["type"])&&$k["collation"]?" $Ka ".q($k["collation"]):"");}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   638
process_field($k,$sf){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   639
array(idf_escape($k["field"]),process_type($sf),($k["null"]?" NULL":" NOT NULL"),(isset($k["default"])?" DEFAULT ".(($k["type"]=="timestamp"&&eregi('^CURRENT_TIMESTAMP$',$k["default"]))||($k["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$k["default"]))?$k["default"]:q($k["default"])):""),($k["on_update"]?" ON UPDATE $k[on_update]":""),(support("comment")&&$k["comment"]!=""?" COMMENT ".q($k["comment"]):""),($k["auto_increment"]?auto_increment():null),);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   640
type_class($V){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$w=>$X){if(ereg("$w|$X",$V)){return" class='$w'";}}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   641
edit_fields($l,$d,$V="TABLE",$qa=0,$n=array(),$Ra=false){global$tc;echo'<thead><tr class="wrap">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   642
';if($V=="PROCEDURE"){echo'<td>&nbsp;';}echo'<th>',($V=="TABLE"?lang(80):lang(81)),'<td>',lang(82),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;" onblur="editingLengthBlur(this);"></textarea>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   643
<td>',lang(83),'<td>',lang(84);if($V=="TABLE"){echo'<td>NULL
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   644
<td><input type="radio" name="auto_increment_col" value=""><acronym title="',lang(85),'">AI</acronym>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   645
<td',($_POST["defaults"]?"":" class='hidden'"),'>',lang(86),(support("comment")?"<td".($Ra?"":" class='hidden'").">".lang(87):"");}echo'<td>',"<input type='image' name='add[".(support("move_col")?0:count($l))."]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.3.3' alt='+' title='".lang(88)."'>",'<script type="text/javascript">row_count = ',count($l),';</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   646
</thead>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   647
<tbody onkeydown="return editingKeydown(event);">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   648
';foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   649
as$r=>$k){$r++;$zd=$k[($_POST?"orig":"field")];$mb=(isset($_POST["add"][$r-1])||(isset($k["field"])&&!$_POST["drop_col"][$r]))&&(support("drop_col")||$zd=="");echo'<tr',($mb?"":" style='display: none;'"),'>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   650
',($V=="PROCEDURE"?"<td>".html_select("fields[$r][inout]",explode("|",$tc),$k["inout"]):""),'<th>';if($mb){echo'<input name="fields[',$r,'][field]" value="',h($k["field"]),'" onchange="',($k["field"]!=""||count($l)>1?"":"editingAddRow(this, $qa); "),'editingNameChange(this);" maxlength="64">';}echo'<input type="hidden" name="fields[',$r,'][orig]" value="',h($zd),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   651
';edit_type("fields[$r]",$k,$d,$n);if($V=="TABLE"){echo'<td>',checkbox("fields[$r][null]",1,$k["null"]),'<td><input type="radio" name="auto_increment_col" value="',$r,'"';if($k["auto_increment"]){echo' checked';}?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   652
<td<?php echo($_POST["defaults"]?"":" class='hidden'"),'>',checkbox("fields[$r][has_default]",1,$k["has_default"]),'<input name="fields[',$r,'][default]" value="',h($k["default"]),'" onchange="this.previousSibling.checked = true;">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   653
',(support("comment")?"<td".($Ra?"":" class='hidden'")."><input name='fields[$r][comment]' value='".h($k["comment"])."' maxlength='255'>":"");}echo"<td>",(support("move_col")?"<input type='image' name='add[$r]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.3.3' alt='+' title='".lang(88)."' onclick='return !editingAddRow(this, $qa, 1);'>&nbsp;"."<input type='image' name='up[$r]' src='".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&amp;version=3.3.3' alt='^' title='".lang(89)."'>&nbsp;"."<input type='image' name='down[$r]' src='".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&amp;version=3.3.3' alt='v' title='".lang(90)."'>&nbsp;":""),($zd==""||support("drop_col")?"<input type='image' name='drop_col[$r]' src='".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&amp;version=3.3.3' alt='x' title='".lang(91)."' onclick='return !editingRemoveRow(this);'>":""),"\n";}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   654
process_fields(&$l){ksort($l);$kd=0;if($_POST["up"]){$Ec=0;foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   655
as$w=>$k){if(key($_POST["up"])==$w){unset($l[$w]);array_splice($l,$Ec,0,array($k));break;}if(isset($k["field"])){$Ec=$kd;}$kd++;}}if($_POST["down"]){$Zb=false;foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   656
as$w=>$k){if(isset($k["field"])&&$Zb){unset($l[key($_POST["down"])]);array_splice($l,$kd,0,array($Zb));break;}if(key($_POST["down"])==$w){$Zb=$k;}$kd++;}}$l=array_values($l);if($_POST["add"]){array_splice($l,key($_POST["add"]),0,array(array()));}}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   657
normalize_enum($_){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($_[0][0].$_[0][0],$_[0][0],substr($_[0],1,-1))),'\\'))."'";}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   658
grant($p,$ae,$e,$od){if(!$ae){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   659
true;}if($ae==array("ALL PRIVILEGES","GRANT OPTION")){return($p=="GRANT"?queries("$p ALL PRIVILEGES$od WITH GRANT OPTION"):queries("$p ALL PRIVILEGES$od")&&queries("$p GRANT OPTION$od"));}return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   660
queries("$p ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$e, ",$ae).$e).$od);}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   661
drop_create($qb,$Ya,$z,$Zc,$Xc,$Yc,$B){if($_POST["drop"]){return
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   662
query_redirect($qb,$z,$Zc,true,!$_POST["dropped"]);}$rb=$B!=""&&($_POST["dropped"]||queries($qb));$ab=queries($Ya);if(!queries_redirect($z,($B!=""?$Xc:$Yc),$ab)&&$rb){redirect(null,$Zc);}return$rb;}function
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   663
tar_file($Tb,$Ua){$I=pack("a100a8a8a8a12a12",$Tb,644,0,0,decoct(strlen($Ua)),decoct(time()));$Ha=8*32;for($r=0;$r<strlen($I);$r++){$Ha+=ord($I{$r});}$I.=sprintf("%06o",$Ha)."\0 ";return$I.str_repeat("\0",512-strlen($I)).$Ua.str_repeat("\0",511-(strlen($Ua)+511)%
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   664
512);}session_cache_limiter("");if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false){session_write_close();}$pd="RESTRICT|CASCADE|SET NULL|NO ACTION";$Db="'(?:''|[^'\\\\]|\\\\.)*+'";$tc="IN|OUT|INOUT";if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"]){$_GET["edit"]=$_GET["select"];}if(isset($_GET["callf"])){$_GET["call"]=$_GET["callf"];}if(isset($_GET["function"])){$_GET["procedure"]=$_GET["function"];}if(isset($_GET["download"])){$b=$_GET["download"];header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$b-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));echo$f->result("SELECT".limit(idf_escape($_GET["field"])." FROM ".table($b)," WHERE ".where($_GET),1));exit;}elseif(isset($_GET["table"])){$b=$_GET["table"];$l=fields($b);if(!$l){$j=error();}$S=($l?table_status($b):array());page_header(($l&&is_view($S)?lang(92):lang(93)).": ".h($b),$j);$c->selectLinks($S);$Qa=$S["Comment"];if($Qa!=""){echo"<p>".lang(87).": ".h($Qa)."\n";}if($l){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(94)."<td>".lang(82).(support("comment")?"<td>".lang(87):"")."</thead>\n";foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   665
as$k){echo"<tr".odd()."><th>".h($k["field"]),"<td title='".h($k["collation"])."'>".h($k["full_type"]).($k["null"]?" <i>NULL</i>":"").($k["auto_increment"]?" <i>".lang(85)."</i>":""),(isset($k["default"])?" [<b>".h($k["default"])."</b>]":""),(support("comment")?"<td>".nbsp($k["comment"]):""),"\n";}echo"</table>\n";if(!is_view($S)){echo"<h3>".lang(95)."</h3>\n";$u=indexes($b);if($u){echo"<table cellspacing='0'>\n";foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   666
as$B=>$t){ksort($t["columns"]);$Xd=array();foreach($t["columns"]as$w=>$X){$Xd[]="<i>".h($X)."</i>".($t["lengths"][$w]?"(".$t["lengths"][$w].")":"");}echo"<tr title='".h($B)."'><th>$t[type]<td>".implode(", ",$Xd)."\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'indexes='.urlencode($b).'">'.lang(96)."</a>\n";if(fk_support($S)){echo"<h3>".lang(77)."</h3>\n";$n=foreign_keys($b);if($n){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(97)."<td>".lang(98)."<td>".lang(79)."<td>".lang(99).($v!="sqlite"?"<td>&nbsp;":"")."</thead>\n";foreach($n
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   667
as$B=>$m){echo"<tr title='".h($B)."'>","<th><i>".implode("</i>, <i>",array_map('h',$m["source"]))."</i>","<td><a href='".h($m["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($m["db"]),ME):($m["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($m["ns"]),ME):ME))."table=".urlencode($m["table"])."'>".($m["db"]!=""?"<b>".h($m["db"])."</b>.":"").($m["ns"]!=""?"<b>".h($m["ns"])."</b>.":"").h($m["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$m["target"]))."</i>)","<td>".nbsp($m["on_delete"])."\n","<td>".nbsp($m["on_update"])."\n";if($v!="sqlite"){echo'<td><a href="'.h(ME.'foreign='.urlencode($b).'&name='.urlencode($B)).'">'.lang(100).'</a>';}}echo"</table>\n";}if($v!="sqlite"){echo'<p><a href="'.h(ME).'foreign='.urlencode($b).'">'.lang(101)."</a>\n";}}if(support("trigger")){echo"<h3>".lang(102)."</h3>\n";$rf=triggers($b);if($rf){echo"<table cellspacing='0'>\n";foreach($rf
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   668
as$w=>$X){echo"<tr valign='top'><td>$X[0]<td>$X[1]<th>".h($w)."<td><a href='".h(ME.'trigger='.urlencode($b).'&name='.urlencode($w))."'>".lang(100)."</a>\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'trigger='.urlencode($b).'">'.lang(103)."</a>\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(44),"",array(),DB.($_GET["ns"]?".$_GET[ns]":""));$Ve=array();$We=array();$B="adminer_schema";$da=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$B-".DB]?"$B-".DB:$B)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$Pc,PREG_SET_ORDER);foreach($Pc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   669
as$r=>$_){$Ve[$_[1]]=array($_[2],$_[3]);$We[]="\n\t'".js_escape($_[1])."': [ $_[2], $_[3] ]";}$lf=0;$_a=-1;$xe=array();$ke=array();$Ic=array();foreach(table_status()as$S){if(!isset($S["Engine"])){continue;}$Qd=0;$xe[$S["Name"]]["fields"]=array();foreach(fields($S["Name"])as$B=>$k){$Qd+=1.25;$k["pos"]=$Qd;$xe[$S["Name"]]["fields"][$B]=$k;}$xe[$S["Name"]]["pos"]=($Ve[$S["Name"]]?$Ve[$S["Name"]]:array($lf,0));foreach($c->foreignKeys($S["Name"])as$X){if(!$X["db"]){$Gc=$_a;if($Ve[$S["Name"]][1]||$Ve[$X["table"]][1]){$Gc=min(floatval($Ve[$S["Name"]][1]),floatval($Ve[$X["table"]][1]))-1;}else{$_a-=.1;}while($Ic[(string)$Gc]){$Gc-=.0001;}$xe[$S["Name"]]["references"][$X["table"]][(string)$Gc]=array($X["source"],$X["target"]);$ke[$X["table"]][$S["Name"]][(string)$Gc]=$X["target"];$Ic[(string)$Gc]=true;}}$lf=max($lf,$xe[$S["Name"]]["pos"][0]+2.5+$Qd);}echo'<div id="schema" style="height: ',$lf,'em;">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   670
<script type="text/javascript">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   671
tablePos = {',implode(",",$We)."\n",'};
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   672
em = document.getElementById(\'schema\').offsetHeight / ',$lf,';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   673
document.onmousemove = schemaMousemove;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   674
document.onmouseup = function (ev) {
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   675
	schemaMouseup(ev, \'',js_escape(DB),'\');
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   676
};
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   677
</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   678
';foreach($xe
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   679
as$B=>$R){echo"<div class='table' style='top: ".$R["pos"][0]."em; left: ".$R["pos"][1]."em;' onmousedown='schemaMousedown(this, event);'>",'<a href="'.h(ME).'table='.urlencode($B).'"><b>'.h($B)."</b></a><br>\n";foreach($R["fields"]as$k){$X='<span'.type_class($k["type"]).' title="'.h($k["full_type"].($k["null"]?" NULL":'')).'">'.h($k["field"]).'</span>';echo($k["primary"]?"<i>$X</i>":$X)."<br>\n";}foreach((array)$R["references"]as$cf=>$le){foreach($le
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   680
as$Gc=>$he){$Hc=$Gc-$Ve[$B][1];$r=0;foreach($he[0]as$Ee){echo"<div class='references' title='".h($cf)."' id='refs$Gc-".($r++)."' style='left: $Hc"."em; top: ".$R["fields"][$Ee]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$Hc)."em;'></div></div>\n";}}}foreach((array)$ke[$B]as$cf=>$le){foreach($le
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   681
as$Gc=>$e){$Hc=$Gc-$Ve[$B][1];$r=0;foreach($e
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   682
as$bf){echo"<div class='references' title='".h($cf)."' id='refd$Gc-".($r++)."' style='left: $Hc"."em; top: ".$R["fields"][$bf]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME))."?file=arrow.gif) no-repeat right center;&amp;version=3.3.3'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$Hc)."em;'></div></div>\n";}}}echo"</div>\n";}foreach($xe
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   683
as$B=>$R){foreach((array)$R["references"]as$cf=>$le){foreach($le
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   684
as$Gc=>$he){$bd=$lf;$Tc=-10;foreach($he[0]as$w=>$Ee){$Rd=$R["pos"][0]+$R["fields"][$Ee]["pos"];$Sd=$xe[$cf]["pos"][0]+$xe[$cf]["fields"][$he[1][$w]]["pos"];$bd=min($bd,$Rd,$Sd);$Tc=max($Tc,$Rd,$Sd);}echo"<div class='references' id='refl$Gc' style='left: $Gc"."em; top: $bd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Tc-$bd)."em;'></div></div>\n";}}}echo'</div>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   685
<p><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(104),'</a>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   686
';}elseif(isset($_GET["dump"])){$b=$_GET["dump"];if($_POST){$Wa="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$w){$Wa.="&$w=".urlencode($_POST[$w]);}cookie("adminer_export",substr($Wa,1));$Ob=dump_headers(($b!=""?$b:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));$xc=($_POST["format"]=="sql");if($xc){echo"-- Adminer $fa ".$pb[DRIVER]." dump
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   687
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   688
".($v!="sql"?"":"SET NAMES utf8;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   689
SET foreign_key_checks = 0;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   690
SET time_zone = ".q($f->result("SELECT @@time_zone")).";
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   691
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   692
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   693
");}$Q=$_POST["db_style"];$h=array(DB);if(DB==""){$h=$_POST["databases"];if(is_string($h)){$h=explode("\n",rtrim(str_replace("\r","",$h),"\n"));}}foreach((array)$h
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   694
as$i){if($f->select_db($i)){if($xc&&ereg('CREATE',$Q)&&($Ya=$f->result("SHOW CREATE DATABASE ".idf_escape($i),1))){if($Q=="DROP+CREATE"){echo"DROP DATABASE IF EXISTS ".idf_escape($i).";\n";}echo($Q=="CREATE+ALTER"?preg_replace('~^CREATE DATABASE ~','\\0IF NOT EXISTS ',$Ya):$Ya).";\n";}if($xc){if($Q){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   695
use_sql($i).";\n\n";}if(in_array("CREATE+ALTER",array($Q,$_POST["table_style"]))){echo"SET @adminer_alter = '';\n\n";}$Cd="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$se){foreach(get_rows("SHOW $se STATUS WHERE Db = ".q($i),null,"-- ")as$J){$Cd.=($Q!='DROP+CREATE'?"DROP $se IF EXISTS ".idf_escape($J["Name"]).";;\n":"").$f->result("SHOW CREATE $se ".idf_escape($J["Name"]),2).";;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$J){$Cd.=($Q!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($J["Name"]).";;\n":"").$f->result("SHOW CREATE EVENT ".idf_escape($J["Name"]),3).";;\n\n";}}if($Cd){echo"DELIMITER ;;\n\n$Cd"."DELIMITER ;\n\n";}}if($_POST["table_style"]||$_POST["data_style"]){$If=array();foreach(table_status()as$S){$R=(DB==""||in_array($S["Name"],(array)$_POST["tables"]));$db=(DB==""||in_array($S["Name"],(array)$_POST["data"]));if($R||$db){if(!is_view($S)){if($Ob=="tar"){ob_start();}$c->dumpTable($S["Name"],($R?$_POST["table_style"]:""));if($db){$c->dumpData($S["Name"],$_POST["data_style"],"SELECT * FROM ".table($S["Name"]));}if($xc&&$_POST["triggers"]&&$R&&($rf=trigger_sql($S["Name"],$_POST["table_style"]))){echo"\nDELIMITER ;;\n$rf\nDELIMITER ;\n";}if($Ob=="tar"){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   696
tar_file((DB!=""?"":"$i/")."$S[Name].csv",ob_get_clean());}elseif($xc){echo"\n";}}elseif($xc){$If[]=$S["Name"];}}}foreach($If
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   697
as$Hf){$c->dumpTable($Hf,$_POST["table_style"],true);}if($Ob=="tar"){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   698
pack("x512");}}if($Q=="CREATE+ALTER"&&$xc){$G="SELECT TABLE_NAME, ENGINE, TABLE_COLLATION, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE()";echo"DELIMITER ;;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   699
CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   700
	DECLARE _table_name, _engine, _table_collation varchar(64);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   701
	DECLARE _table_comment varchar(64);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   702
	DECLARE done bool DEFAULT 0;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   703
	DECLARE tables CURSOR FOR $G;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   704
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   705
	OPEN tables;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   706
	REPEAT
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   707
		FETCH tables INTO _table_name, _engine, _table_collation, _table_comment;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   708
		IF NOT done THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   709
			CASE _table_name";foreach(get_rows($G)as$J){$Qa=q($J["ENGINE"]=="InnoDB"?preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$J["TABLE_COMMENT"]):$J["TABLE_COMMENT"]);echo"
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   710
				WHEN ".q($J["TABLE_NAME"])." THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   711
					".(isset($J["ENGINE"])?"IF _engine != '$J[ENGINE]' OR _table_collation != '$J[TABLE_COLLATION]' OR _table_comment != $Qa THEN
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   712
						ALTER TABLE ".idf_escape($J["TABLE_NAME"])." ENGINE=$J[ENGINE] COLLATE=$J[TABLE_COLLATION] COMMENT=$Qa;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   713
					END IF":"BEGIN END").";";}echo"
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   714
				ELSE
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   715
					SET alter_command = CONCAT(alter_command, 'DROP TABLE `', REPLACE(_table_name, '`', '``'), '`;\\n');
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   716
			END CASE;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   717
		END IF;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   718
	UNTIL done END REPEAT;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   719
	CLOSE tables;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   720
END;;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   721
DELIMITER ;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   722
CALL adminer_alter(@adminer_alter);
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   723
DROP PROCEDURE adminer_alter;
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   724
";}if(in_array("CREATE+ALTER",array($Q,$_POST["table_style"]))&&$xc){echo"SELECT @adminer_alter;\n";}}}if($xc){echo"-- ".$f->result("SELECT NOW()")."\n";}exit;}page_header(lang(105),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   725
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   726
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   727
';$gb=array('','USE','DROP+CREATE','CREATE');$Xe=array('','DROP+CREATE','CREATE');$eb=array('','TRUNCATE+INSERT','INSERT');if($v=="sql"){$gb[]='CREATE+ALTER';$Xe[]='CREATE+ALTER';$eb[]='INSERT+UPDATE';}parse_str($_COOKIE["adminer_export"],$J);if(!$J){$J=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");}if(!isset($J["events"])){$J["routines"]=$J["events"]=($_GET["dump"]=="");$J["triggers"]=$J["table_style"];}echo"<tr><th>".lang(106)."<td>".html_select("output",$c->dumpOutput(),$J["output"],0)."\n";echo"<tr><th>".lang(107)."<td>".html_select("format",$c->dumpFormat(),$J["format"],0)."\n";echo($v=="sqlite"?"":"<tr><th>".lang(61)."<td>".html_select('db_style',$gb,$J["db_style"]).(support("routine")?checkbox("routines",1,$J["routines"],lang(108)):"").(support("event")?checkbox("events",1,$J["events"],lang(109)):"")),"<tr><th>".lang(72)."<td>".html_select('table_style',$Xe,$J["table_style"]).checkbox("auto_increment",1,$J["auto_increment"],lang(85)).(support("trigger")?checkbox("triggers",1,$J["triggers"],lang(102)):""),"<tr><th>".lang(110)."<td>".html_select('data_style',$eb,$J["data_style"]),'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   728
<p><input type="submit" value="',lang(105),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   729
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   730
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   731
';$Vd=array();if(DB!=""){$Ga=($b!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label><input type='checkbox' id='check-tables'$Ga onclick='formCheck(this, /^tables\\[/);'>".lang(72)."</label>","<th style='text-align: right;'><label>".lang(110)."<input type='checkbox' id='check-data'$Ga onclick='formCheck(this, /^data\\[/);'></label>","</thead>\n";$If="";foreach(table_status()as$S){$B=$S["Name"];$Ud=ereg_replace("_.*","",$B);$Ga=($b==""||$b==(substr($b,-1)=="%"?"$Ud%":$B));$Xd="<tr><td>".checkbox("tables[]",$B,$Ga,$B,"formUncheck('check-tables');");if(is_view($S)){$If.="$Xd\n";}else{echo"$Xd<td align='right'><label>".($S["Engine"]=="InnoDB"&&$S["Rows"]?"~ ":"").$S["Rows"].checkbox("data[]",$B,$Ga,"","formUncheck('check-data');")."</label>\n";}$Vd[$Ud]++;}echo$If;}else{echo"<thead><tr><th style='text-align: left;'><label><input type='checkbox' id='check-databases'".($b==""?" checked":"")." onclick='formCheck(this, /^databases\\[/);'>".lang(61)."</label></thead>\n";$h=get_databases();if($h){foreach($h
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   732
as$i){if(!information_schema($i)){$Ud=ereg_replace("_.*","",$i);echo"<tr><td>".checkbox("databases[]",$i,$b==""||$b=="$Ud%",$i,"formUncheck('check-databases');")."</label>\n";$Vd[$Ud]++;}}}else{echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   733
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   734
';$Vb=true;foreach($Vd
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   735
as$w=>$X){if($w!=""&&$X>1){echo($Vb?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$w%")."'>".h($w)."</a>";$Vb=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(45));$H=$f->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$p=$H;if(!$H){$H=$f->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");}echo"<form action=''><p>\n";hidden_fields_get();echo"<input type='hidden' name='db' value='".h(DB)."'>\n",($p?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(16)."<th>".lang(15)."<th>&nbsp;</thead>\n";while($J=$H->fetch_assoc()){echo'<tr'.odd().'><td>'.h($J["User"])."<td>".h($J["Host"]).'<td><a href="'.h(ME.'user='.urlencode($J["User"]).'&host='.urlencode($J["Host"])).'">'.lang(26)."</a>\n";}if(!$p||DB!=""){echo"<tr".odd()."><td><input name='user'><td><input name='host' value='localhost'><td><input type='submit' value='".lang(26)."'>\n";}echo"</table>\n","</form>\n",'<p><a href="'.h(ME).'user=">'.lang(111)."</a>";}elseif(isset($_GET["sql"])){if(!$j&&$_POST["export"]){dump_headers("sql");$c->dumpTable("","");$c->dumpData("","table",$_POST["query"]);exit;}restart_session();$kc=&get_session("queries");$jc=&$kc[DB];if(!$j&&$_POST["clear"]){$jc=array();redirect(remove_from_uri("history"));}page_header(lang(38),$j);if(!$j&&$_POST){$bc=false;$G=$_POST["query"];if($_POST["webfile"]){$bc=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$G=($bc?fread($bc,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"]!=4){$G=get_file("sql_file",true);}if(is_string($G)){if(function_exists('memory_get_usage')){@ini_set("memory_limit",max(ini_get("memory_limit"),2*strlen($G)+memory_get_usage()+8e6));}if($G!=""&&strlen($G)<1e6){$F=$G.(ereg(';$',$G)?"":";");if(!$jc||end($jc)!=$F){$jc[]=$F;}}$Fe="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies")){session_write_close();}$jb=";";$kd=0;$_b=true;$g=connect();if(is_object($g)&&DB!=""){$g->select_db(DB);}$Pa=0;$Fb=array();$Hd='[\'"'.($v=="sql"?'`#':($v=="sqlite"?'`[':($v=="mssql"?'[':''))).']|/\\*|-- |$'.($v=="pgsql"?'|\\$[^$]*\\$':'');$mf=microtime();parse_str($_COOKIE["adminer_export"],$ka);$tb=$c->dumpFormat();unset($tb["sql"]);while($G!=""){if(!$kd&&preg_match("~^$Fe*DELIMITER\\s+(.+)~i",$G,$_)){$jb=$_[1];$G=substr($G,strlen($_[0]));}else{preg_match('('.preg_quote($jb)."|$Hd)",$G,$_,PREG_OFFSET_CAPTURE,$kd);$Zb=$_[0][0];if(!$Zb&&$bc&&!feof($bc)){$G.=fread($bc,1e5);}else{$kd=$_[0][1]+strlen($Zb);if(!$Zb&&rtrim($G)==""){break;}if($Zb&&$Zb!=$jb){while(preg_match('('.($Zb=='/*'?'\\*/':($Zb=='['?']':(ereg('^-- |^#',$Zb)?"\n":preg_quote($Zb)."|\\\\."))).'|$)s',$G,$_,PREG_OFFSET_CAPTURE,$kd)){$L=$_[0][0];$kd=$_[0][1]+strlen($L);if(!$L&&$bc&&!feof($bc)){$kd-=strlen($Zb);$G.=fread($bc,1e5);}elseif($L[0]!="\\"){break;}}}else{$_b=false;$F=substr($G,0,$_[0][1]);$Pa++;$Xd="<pre id='sql-$Pa'><code class='jush-$v'>".shorten_utf8(trim($F),1000)."</code></pre>\n";if(!$_POST["only_errors"]){echo$Xd;ob_flush();flush();}$He=microtime();if($f->multi_query($F)&&is_object($g)&&preg_match("~^$Fe*USE\\b~isU",$F)){$g->query($F);}do{$H=$f->store_result();$Ab=microtime();$ff=format_time($He,$Ab).(strlen($F)<1000?" <a href='".h(ME)."sql=".urlencode(trim($F))."'>".lang(26)."</a>":"");if($f->error){echo($_POST["only_errors"]?$Xd:""),"<p class='error'>".lang(112).": ".error()."\n";$Fb[]=" <a href='#sql-$Pa'>$Pa</a>";if($_POST["error_stops"]){break
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   736
2;}}elseif(is_object($H)){select($H,$g);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n","<p>".($H->num_rows?lang(113,$H->num_rows):"").$ff;$s="export-$Pa";$Nb=", <a href='#$s' onclick=\"return !toggle('$s');\">".lang(105)."</a><span id='$s' class='hidden'>: ".html_select("output",$c->dumpOutput(),$ka["output"])." ".html_select("format",$tb,$ka["format"])."<input type='hidden' name='query' value='".h($F)."'>"." <input type='submit' name='export' value='".lang(105)."' onclick='eventStop(event);'><input type='hidden' name='token' value='$T'></span>\n";if($g&&preg_match("~^($Fe|\\()*SELECT\\b~isU",$F)&&($Mb=explain($g,$F))){$s="explain-$Pa";echo", <a href='#$s' onclick=\"return !toggle('$s');\">EXPLAIN</a>$Nb","<div id='$s' class='hidden'>\n";select($Mb,$g,($v=="sql"?"http://dev.mysql.com/doc/refman/".substr($f->server_info,0,3)."/en/explain-output.html#explain_":""));echo"</div>\n";}else{echo$Nb;}echo"</form>\n";}}else{if(preg_match("~^$Fe*(CREATE|DROP|ALTER)$Fe+(DATABASE|SCHEMA)\\b~isU",$F)){restart_session();set_session("dbs",null);session_write_close();}if(!$_POST["only_errors"]){echo"<p class='message' title='".h($f->info)."'>".lang(114,$f->affected_rows)."$ff\n";}}$He=$Ab;}while($f->next_result());$G=substr($G,$kd);$kd=0;}}}}if($_b){echo"<p class='message'>".lang(115)."\n";}elseif($_POST["only_errors"]){echo"<p class='message'>".lang(116,$Pa-count($Fb)).format_time($mf,microtime())."\n";}elseif($Fb&&$Pa>1){echo"<p class='error'>".lang(112).": ".implode("",$Fb)."\n";}}else{echo"<p class='error'>".upload_error($G)."\n";}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   737
<form action="" method="post" enctype="multipart/form-data" id="form">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   738
<p>';$F=$_GET["sql"];if($_POST){$F=$_POST["query"];}elseif($_GET["history"]=="all"){$F=$jc;}elseif($_GET["history"]!=""){$F=$jc[$_GET["history"]];}textarea("query",$F,20);echo($_POST?"":"<script type='text/javascript'>document.getElementsByTagName('textarea')[0].focus();</script>\n"),"<p>".(ini_bool("file_uploads")?lang(117).': <input type="file" name="sql_file"'.($_FILES&&$_FILES["sql_file"]["error"]!=4?'':' onchange="this.form[\'only_errors\'].checked = true;"').'> (&lt; '.ini_get("upload_max_filesize").'B)':lang(118)),'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   739
<input type="submit" value="',lang(119),'" title="Ctrl+Enter">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   740
<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   741
',checkbox("error_stops",1,$_POST["error_stops"],lang(120))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(121))."\n";print_fieldset("webfile",lang(122),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");$Sa=array();foreach(array("gz"=>"zlib","bz2"=>"bz2")as$w=>$X){if(extension_loaded($X)){$Sa[]=".$w";}}echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   742
lang(123,"<code>adminer.sql".($Sa?"[".implode("|",$Sa)."]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(124).'">',"</div></fieldset>\n";if($jc){print_fieldset("history",lang(125),$_GET["history"]!="");foreach($jc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   743
as$w=>$X){echo'<a href="'.h(ME."sql=&history=$w").'">'.lang(26)."</a> <code class='jush-$v'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$X)))),80,"</code>")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(126)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(127)."</a>\n","</div></fieldset>\n";}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   744
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   745
';}elseif(isset($_GET["edit"])){$b=$_GET["edit"];$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$Bf=(isset($_GET["select"])?$_POST["edit"]:$Z);$l=fields($b);foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   746
as$B=>$k){if(!isset($k["privileges"][$Bf?"update":"insert"])||$c->fieldName($k)==""){unset($l[$B]);}}if($_POST&&!$j&&!isset($_GET["select"])){$z=$_POST["referer"];if($_POST["insert"]){$z=($Bf?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$z)){$z=ME."select=".urlencode($b);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($b)," WHERE $Z"),$z,lang(128));}else{$O=array();foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   747
as$B=>$k){$X=process_input($k);if($X!==false&&$X!==null){$O[idf_escape($B)]=($Bf?"\n".idf_escape($B)." = $X":$X);}}if($Bf){if(!$O){redirect($z);}query_redirect("UPDATE".limit1(table($b)." SET".implode(",",$O),"\nWHERE $Z"),$z,lang(129));}else{$H=insert_into($b,$O);$Fc=($H?last_id():0);queries_redirect($z,lang(130,($Fc?" $Fc":"")),$H);}}}$Ue=$c->tableName(table_status($b));page_header(($Bf?lang(26):lang(131)),$j,array("select"=>array($b,$Ue)),$Ue);$J=null;if($_POST["save"]){$J=(array)$_POST["fields"];}elseif($Z){$M=array();foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   748
as$B=>$k){if(isset($k["privileges"]["select"])){$M[]=($_POST["clone"]&&$k["auto_increment"]?"'' AS ":(ereg("enum|set",$k["type"])?"1*".idf_escape($B)." AS ":"")).idf_escape($B);}}$J=array();if($M){$K=get_rows("SELECT".limit(implode(", ",$M)." FROM ".table($b)," WHERE $Z",(isset($_GET["select"])?2:1)));$J=(isset($_GET["select"])&&count($K)!=1?null:reset($K));}}if($J===false){echo"<p class='error'>".lang(75)."\n";}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   749
<form action="" method="post" enctype="multipart/form-data" id="form">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   750
';if($l){echo"<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   751
as$B=>$k){echo"<tr><th>".$c->fieldName($k);$ib=$_GET["set"][bracket_escape($B)];$Y=(isset($J)?($J[$B]!=""&&ereg("enum|set",$k["type"])?(is_array($J[$B])?array_sum($J[$B]):+$J[$B]):$J[$B]):(!$Bf&&$k["auto_increment"]?"":(isset($_GET["select"])?false:(isset($ib)?$ib:$k["default"]))));if(!$_POST["save"]&&is_string($Y)){$Y=$c->editVal($Y,$k);}$o=($_POST["save"]?(string)$_POST["function"][$B]:($Bf&&$k["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:(isset($Y)?'':'NULL'))));if($k["type"]=="timestamp"&&$Y=="CURRENT_TIMESTAMP"){$Y="";$o="now";}input($k,$Y,$o);echo"\n";}echo"</table>\n";}echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   752
';if($l){echo"<input type='submit' value='".lang(132)."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($Bf?lang(133):lang(134))."' title='Ctrl+Shift+Enter'>\n";}}echo($Bf?"<input type='submit' name='delete' value='".lang(135)."' onclick=\"return confirm('".lang(0)."');\">\n":($_POST||!$l?"":"<script type='text/javascript'>document.getElementById('form').getElementsByTagName('td')[1].firstChild.focus();</script>\n"));if(isset($_GET["select"])){hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));}echo'<input type="hidden" name="referer" value="',h(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   753
<input type="hidden" name="save" value="1">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   754
<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   755
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   756
';}elseif(isset($_GET["create"])){$b=$_GET["create"];$Id=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$je=referencable_primary($b);$n=array();foreach($je
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   757
as$Ue=>$k){$n[str_replace("`","``",$Ue)."`".str_replace("`","``",$k["field"])]=$Ue;}$Ad=array();$Bd=array();if($b!=""){$Ad=fields($b);$Bd=table_status($b);}if($_POST&&!$_POST["fields"]){$_POST["fields"]=array();}if($_POST&&!$j&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){if($_POST["drop"]){query_redirect("DROP TABLE ".table($b),substr(ME,0,-1),lang(136));}else{$l=array();$Xb=array();ksort($_POST["fields"]);$_d=reset($Ad);$oa="FIRST";foreach($_POST["fields"]as$w=>$k){$m=$n[$k["type"]];$sf=(isset($m)?$je[$m]:$k);if($k["field"]!=""){if(!$k["has_default"]){$k["default"]=null;}$ib=eregi_replace(" *on update CURRENT_TIMESTAMP","",$k["default"]);if($ib!=$k["default"]){$k["on_update"]="CURRENT_TIMESTAMP";$k["default"]=$ib;}if($w==$_POST["auto_increment_col"]){$k["auto_increment"]=true;}$ce=process_field($k,$sf);if($ce!=process_field($_d,$_d)){$l[]=array($k["orig"],$ce,$oa);}if(isset($m)){$Xb[idf_escape($k["field"])]=($b!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($k["field"]).") REFERENCES ".table($n[$k["type"]])." (".idf_escape($sf["field"]).")".(ereg("^($pd)\$",$k["on_delete"])?" ON DELETE $k[on_delete]":"");}$oa="AFTER ".idf_escape($k["field"]);}elseif($k["orig"]!=""){$l[]=array($k["orig"]);}if($k["orig"]!=""){$_d=next($Ad);}}$Kd="";if(in_array($_POST["partition_by"],$Id)){$Ld=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$w=>$X){$Y=$_POST["partition_values"][$w];$Ld[]="\nPARTITION ".idf_escape($X)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Kd.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($Ld?" (".implode(",",$Ld)."\n)":($_POST["partitions"]?" PARTITIONS ".(+$_POST["partitions"]):""));}elseif($b!=""&&support("partitioning")){$Kd.="\nREMOVE PARTITIONING";}$Wc=lang(137);if($b==""){cookie("adminer_engine",$_POST["Engine"]);$Wc=lang(138);}queries_redirect(ME."table=".urlencode($_POST["name"]),$Wc,alter_table($b,$_POST["name"],$l,$Xb,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$Bd["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$Bd["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?+$_POST["Auto_increment"]:""),$Kd));}}page_header(($b!=""?lang(23):lang(139)),$j,array("table"=>$b),$b);$J=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($uf["int"])?"int":(isset($uf["integer"])?"integer":"")))),"partition_names"=>array(""),);if($_POST){$J=$_POST;if($J["auto_increment_col"]){$J["fields"][$J["auto_increment_col"]]["auto_increment"]=true;}process_fields($J["fields"]);}elseif($b!=""){$J=$Bd;$J["name"]=$b;$J["fields"]=array();if(!$_GET["auto_increment"]){$J["Auto_increment"]="";}foreach($Ad
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   758
as$k){$k["has_default"]=isset($k["default"]);if($k["on_update"]){$k["default"].=" ON UPDATE $k[on_update]";}$J["fields"][]=$k;}if(support("partitioning")){$cc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($b);$H=$f->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $cc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($J["partition_by"],$J["partitions"],$J["partition"])=$H->fetch_row();$J["partition_names"]=array();$J["partition_values"]=array();foreach(get_rows("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $cc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$ve){$J["partition_names"][]=$ve["PARTITION_NAME"];$J["partition_values"][]=$ve["PARTITION_DESCRIPTION"];}$J["partition_names"][]="";}}$d=collations();$Pe=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($Pe&&count($J["fields"])>$Pe){echo"<p class='error'>".h(lang(140,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";}$Cb=engines();foreach($Cb
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   759
as$Bb){if(!strcasecmp($Bb,$J["Engine"])){$J["Engine"]=$Bb;break;}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   760
<form action="" method="post" id="form">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   761
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   762
',lang(141),': <input name="name" maxlength="64" value="',h($J["name"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   763
';if($b==""&&!$_POST){?><script type='text/javascript'>document.getElementById('form')['name'].focus();</script><?php }echo($Cb?html_select("Engine",array(""=>"(".lang(142).")")+$Cb,$J["Engine"]):""),' ',($d&&!ereg("sqlite|mssql",$v)?html_select("Collation",array(""=>"(".lang(78).")")+$d,$J["Collation"]):""),' <input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   764
<table cellspacing="0" id="edit-fields" class="nowrap">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   765
';$Ra=($_POST?$_POST["comments"]:$J["Comment"]!="");if(!$_POST&&!$Ra){foreach($J["fields"]as$k){if($k["comment"]!=""){$Ra=true;break;}}}edit_fields($J["fields"],$d,"TABLE",$Pe,$n,$Ra);echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   766
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   767
',lang(85),': <input name="Auto_increment" size="6" value="',h($J["Auto_increment"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   768
<label class="jsonly"><input type="checkbox" name="defaults" value="1"',($_POST["defaults"]?" checked":""),' onclick="columnShow(this.checked, 5);">',lang(86),'</label>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   769
',(support("comment")?checkbox("comments",1,$Ra,lang(87),"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();",true).' <input id="Comment" name="Comment" value="'.h($J["Comment"]).'" maxlength="60"'.($Ra?'':' class="hidden"').'>':''),'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   770
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   771
';if($_GET["create"]!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   772
';if(support("partitioning")){$Jd=ereg('RANGE|LIST',$J["partition_by"]);print_fieldset("partition",lang(143),$J["partition_by"]);echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   773
',html_select("partition_by",array(-1=>"")+$Id,$J["partition_by"],"partitionByChange(this);"),'(<input name="partition" value="',h($J["partition"]),'">)
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   774
',lang(144),': <input name="partitions" size="2" value="',h($J["partitions"]),'"',($Jd||!$J["partition_by"]?" class='hidden'":""),'>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   775
<table cellspacing="0" id="partition-table"',($Jd?"":" class='hidden'"),'>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   776
<thead><tr><th>',lang(145),'<th>',lang(146),'</thead>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   777
';foreach($J["partition_names"]as$w=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'"'.($w==count($J["partition_names"])-1?' onchange="partitionNameChange(this);"':'').'>','<td><input name="partition_values[]" value="'.h($J["partition_values"][$w]).'">';}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   778
</div></fieldset>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   779
';}echo'</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   780
';}elseif(isset($_GET["indexes"])){$b=$_GET["indexes"];$rc=array("PRIMARY","UNIQUE","INDEX");$S=table_status($b);if(eregi("MyISAM|M?aria",$S["Engine"])){$rc[]="FULLTEXT";}$u=indexes($b);if($v=="sqlite"){unset($rc[0]);unset($u[""]);}if($_POST&&!$j&&!$_POST["add"]){$ra=array();foreach($_POST["indexes"]as$t){$B=$t["name"];if(in_array($t["type"],$rc)){$e=array();$Lc=array();$O=array();ksort($t["columns"]);foreach($t["columns"]as$w=>$Na){if($Na!=""){$Kc=$t["lengths"][$w];$O[]=idf_escape($Na).($Kc?"(".(+$Kc).")":"");$e[]=$Na;$Lc[]=($Kc?$Kc:null);}}if($e){$Lb=$u[$B];if($Lb){ksort($Lb["columns"]);ksort($Lb["lengths"]);if($t["type"]==$Lb["type"]&&array_values($Lb["columns"])===$e&&(!$Lb["lengths"]||array_values($Lb["lengths"])===$Lc)){unset($u[$B]);continue;}}$ra[]=array($t["type"],$B,"(".implode(", ",$O).")");}}}foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   781
as$B=>$Lb){$ra[]=array($Lb["type"],$B,"DROP");}if(!$ra){redirect(ME."table=".urlencode($b));}queries_redirect(ME."table=".urlencode($b),lang(147),alter_indexes($b,$ra));}page_header(lang(95),$j,array("table"=>$b),$b);$l=array_keys(fields($b));$J=array("indexes"=>$u);if($_POST){$J=$_POST;if($_POST["add"]){foreach($J["indexes"]as$w=>$t){if($t["columns"][count($t["columns"])]!=""){$J["indexes"][$w]["columns"][]="";}}$t=end($J["indexes"]);if($t["type"]||array_filter($t["columns"],'strlen')||array_filter($t["lengths"],'strlen')){$J["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($J["indexes"]as$w=>$t){$J["indexes"][$w]["name"]=$w;$J["indexes"][$w]["columns"][]="";}$J["indexes"][]=array("columns"=>array(1=>""));}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   782
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   783
<table cellspacing="0" class="nowrap">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   784
<thead><tr><th>',lang(148),'<th>',lang(149),'<th>',lang(150),'</thead>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   785
';$zc=1;foreach($J["indexes"]as$t){echo"<tr><td>".html_select("indexes[$zc][type]",array(-1=>"")+$rc,$t["type"],($zc==count($J["indexes"])?"indexesAddRow(this);":1))."<td>";ksort($t["columns"]);$r=1;foreach($t["columns"]as$w=>$Na){echo"<span>".html_select("indexes[$zc][columns][$r]",array(-1=>"")+$l,$Na,($r==count($t["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($v=="sql"?"":$_GET["indexes"]."_")."');"),"<input name='indexes[$zc][lengths][$r]' size='2' value='".h($t["lengths"][$w])."'> </span>";$r++;}echo"<td><input name='indexes[$zc][name]' value='".h($t["name"])."'>\n";$zc++;}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   786
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   787
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   788
<noscript><p><input type="submit" name="add" value="',lang(88),'"></noscript>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   789
<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   790
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   791
';}elseif(isset($_GET["database"])){if($_POST&&!$j&&!isset($_POST["add_x"])){restart_session();if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(151),drop_databases(array(DB)));}elseif(DB!==$_POST["name"]){if(DB!=""){$_GET["db"]=$_POST["name"];queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($_POST["name"]),lang(152),rename_database($_POST["name"],$_POST["collation"]));}else{$h=explode("\n",str_replace("\r","",$_POST["name"]));$Ne=true;$Ec="";foreach($h
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   792
as$i){if(count($h)==1||$i!=""){if(!create_database($i,$_POST["collation"])){$Ne=false;}$Ec=$i;}}queries_redirect(ME."db=".urlencode($Ec),lang(153),$Ne);}}else{if(!$_POST["collation"]){redirect(substr(ME,0,-1));}query_redirect("ALTER DATABASE ".idf_escape($_POST["name"]).(eregi('^[a-z0-9_]+$',$_POST["collation"])?" COLLATE $_POST[collation]":""),substr(ME,0,-1),lang(154));}}page_header(DB!=""?lang(41):lang(155),$j,array(),DB);$d=collations();$B=DB;$Ka=null;if($_POST){$B=$_POST["name"];$Ka=$_POST["collation"];}elseif(DB!=""){$Ka=db_collation(DB,$d);}elseif($v=="sql"){foreach(get_vals("SHOW GRANTS")as$p){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$p,$_)&&$_[1]){$B=stripcslashes(idf_unescape("`$_[2]`"));break;}}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   793
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   794
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   795
',($_POST["add_x"]||strpos($B,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($B).'</textarea><br>':'<input id="name" name="name" value="'.h($B).'" maxlength="64">')."\n".($d?html_select("collation",array(""=>"(".lang(78).")")+$d,$Ka):"");?>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   796
<script type='text/javascript'>document.getElementById('name').focus();</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   797
<input type="submit" value="<?php echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   798
lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   799
';if(DB!=""){echo"<input type='submit' name='drop' value='".lang(73)."'".confirm().">\n";}elseif(!$_POST["add_x"]&&$_GET["db"]==""){echo"<input type='image' name='add' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.3.3' alt='+' title='".lang(88)."'>\n";}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   800
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   801
';}elseif(isset($_GET["call"])){$ca=$_GET["call"];page_header(lang(156).": ".h($ca),$j);$se=routine($ca,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$qc=array();$Cd=array();foreach($se["fields"]as$r=>$k){if(substr($k["inout"],-3)=="OUT"){$Cd[$r]="@".idf_escape($k["field"])." AS ".idf_escape($k["field"]);}if(!$k["inout"]||substr($k["inout"],0,2)=="IN"){$qc[]=$r;}}if(!$j&&$_POST){$Ea=array();foreach($se["fields"]as$w=>$k){if(in_array($w,$qc)){$X=process_input($k);if($X===false){$X="''";}if(isset($Cd[$w])){$f->query("SET @".idf_escape($k["field"])." = $X");}}$Ea[]=(isset($Cd[$w])?"@".idf_escape($k["field"]):$X);}$G=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($ca)."(".implode(", ",$Ea).")";echo"<p><code class='jush-$v'>".h($G)."</code> <a href='".h(ME)."sql=".urlencode($G)."'>".lang(26)."</a>\n";if(!$f->multi_query($G)){echo"<p class='error'>".error()."\n";}else{$g=connect();if(is_object($g)){$g->select_db(DB);}do{$H=$f->store_result();if(is_object($H)){select($H,$g);}else{echo"<p class='message'>".lang(157,$f->affected_rows)."\n";}}while($f->next_result());if($Cd){select($f->query("SELECT ".implode(", ",$Cd)));}}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   802
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   803
';if($qc){echo"<table cellspacing='0'>\n";foreach($qc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   804
as$w){$k=$se["fields"][$w];$B=$k["field"];echo"<tr><th>".$c->fieldName($k);$Y=$_POST["fields"][$B];if($Y!=""){if($k["type"]=="enum"){$Y=+$Y;}if($k["type"]=="set"){$Y=array_sum($Y);}}input($k,$Y,(string)$_POST["function"][$B]);echo"\n";}echo"</table>\n";}echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   805
<input type="submit" value="',lang(156),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   806
<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   807
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   808
';}elseif(isset($_GET["foreign"])){$b=$_GET["foreign"];if($_POST&&!$j&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"]){query_redirect("ALTER TABLE ".table($b)."\nDROP ".($v=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]),ME."table=".urlencode($b),lang(158));}else{$Ee=array_filter($_POST["source"],'strlen');ksort($Ee);$bf=array();foreach($Ee
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   809
as$w=>$X){$bf[$w]=$_POST["target"][$w];}query_redirect("ALTER TABLE ".table($b).($_GET["name"]!=""?"\nDROP FOREIGN KEY ".idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$Ee)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$bf)).")".(ereg("^($pd)\$",$_POST["on_delete"])?" ON DELETE $_POST[on_delete]":"").(ereg("^($pd)\$",$_POST["on_update"])?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($b),($_GET["name"]!=""?lang(159):lang(160)));$j=lang(161)."<br>$j";}}page_header(lang(162),$j,array("table"=>$b),$b);$J=array("table"=>$b,"source"=>array(""));if($_POST){$J=$_POST;ksort($J["source"]);if($_POST["add"]){$J["source"][]="";}elseif($_POST["change"]||$_POST["change-js"]){$J["target"]=array();}}elseif($_GET["name"]!=""){$n=foreign_keys($b);$J=$n[$_GET["name"]];$J["source"][]="";}$Ee=array_keys(fields($b));$bf=($b===$J["table"]?$Ee:array_keys(fields($J["table"])));$ie=array();foreach(table_status()as$B=>$S){if(fk_support($S)){$ie[]=$B;}}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   810
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   811
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   812
';if($J["db"]==""&&$J["ns"]==""){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   813
lang(163),':
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   814
',html_select("table",$ie,$J["table"],"this.form['change-js'].value = '1'; if (!ajaxForm(this.form)) this.form.submit();"),'<input type="hidden" name="change-js" value="">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   815
<noscript><p><input type="submit" name="change" value="',lang(164),'"></noscript>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   816
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   817
<thead><tr><th>',lang(97),'<th>',lang(98),'</thead>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   818
';$zc=0;foreach($J["source"]as$w=>$X){echo"<tr>","<td>".html_select("source[".(+$w)."]",array(-1=>"")+$Ee,$X,($zc==count($J["source"])-1?"foreignAddRow(this);":1)),"<td>".html_select("target[".(+$w)."]",$bf,$J["target"][$w]);$zc++;}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   819
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   820
',lang(79),': ',html_select("on_delete",array(-1=>"")+explode("|",$pd),$J["on_delete"]),' ',lang(99),': ',html_select("on_update",array(-1=>"")+explode("|",$pd),$J["on_update"]),'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   821
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   822
<noscript><p><input type="submit" name="add" value="',lang(165),'"></noscript>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   823
';}if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   824
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   825
';}elseif(isset($_GET["view"])){$b=$_GET["view"];$rb=false;if($_POST&&!$j){$rb=drop_create("DROP VIEW ".table($b),"CREATE VIEW ".table($_POST["name"])." AS\n$_POST[select]",($_POST["drop"]?substr(ME,0,-1):ME."table=".urlencode($_POST["name"])),lang(166),lang(167),lang(168),$b);}page_header(($b!=""?lang(22):lang(169)),$j,array("table"=>$b),$b);$J=$_POST;if(!$J&&$b!=""){$J=view($b);$J["name"]=$b;}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   826
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   827
<p>',lang(150),': <input name="name" value="',h($J["name"]),'" maxlength="64">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   828
<p>';textarea("select",$J["select"]);echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   829
';if($rb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   830
';if($_GET["view"]!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   831
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   832
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$wc=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Je=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");if($_POST&&!$j){if($_POST["drop"]){query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(170));}elseif(in_array($_POST["INTERVAL_FIELD"],$wc)&&isset($Je[$_POST["STATUS"]])){$we="\nON SCHEDULE ".($_POST["INTERVAL_VALUE"]?"EVERY ".q($_POST["INTERVAL_VALUE"])." $_POST[INTERVAL_FIELD]".($_POST["STARTS"]?" STARTS ".q($_POST["STARTS"]):"").($_POST["ENDS"]?" ENDS ".q($_POST["ENDS"]):""):"AT ".q($_POST["STARTS"]))." ON COMPLETION".($_POST["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(171):lang(172)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$we.($aa!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$we)."\n".$Je[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"]).rtrim(" DO\n$_POST[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(173).": ".h($aa):lang(174)),$j);$J=$_POST;if(!$J&&$aa!=""){$K=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$J=reset($K);}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   833
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   834
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   835
<tr><th>',lang(150),'<td><input name="EVENT_NAME" value="',h($J["EVENT_NAME"]),'" maxlength="64">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   836
<tr><th>',lang(175),'<td><input name="STARTS" value="',h("$J[EXECUTE_AT]$J[STARTS]"),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   837
<tr><th>',lang(176),'<td><input name="ENDS" value="',h($J["ENDS"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   838
<tr><th>',lang(177),'<td><input name="INTERVAL_VALUE" value="',h($J["INTERVAL_VALUE"]),'" size="6"> ',html_select("INTERVAL_FIELD",$wc,$J["INTERVAL_FIELD"]),'<tr><th>',lang(68),'<td>',html_select("STATUS",$Je,$J["STATUS"]),'<tr><th>',lang(87),'<td><input name="EVENT_COMMENT" value="',h($J["EVENT_COMMENT"]),'" maxlength="64">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   839
<tr><th>&nbsp;<td>',checkbox("ON_COMPLETION","PRESERVE",$J["ON_COMPLETION"]=="PRESERVE",lang(178)),'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   840
<p>';textarea("EVENT_DEFINITION",$J["EVENT_DEFINITION"]);echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   841
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   842
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   843
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   844
';}elseif(isset($_GET["procedure"])){$ca=$_GET["procedure"];$se=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$te=routine_languages();$rb=false;if($_POST&&!$j&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$O=array();$l=(array)$_POST["fields"];ksort($l);foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   845
as$k){if($k["field"]!=""){$O[]=(ereg("^($tc)\$",$k["inout"])?"$k[inout] ":"").idf_escape($k["field"]).process_type($k,"CHARACTER SET");}}$rb=drop_create("DROP $se ".idf_escape($ca),"CREATE $se ".idf_escape($_POST["name"])." (".implode(", ",$O).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"").(in_array($_POST["language"],$te)?" LANGUAGE $_POST[language]":"").rtrim("\n$_POST[definition]",";").";",substr(ME,0,-1),lang(179),lang(180),lang(181),$ca);}page_header(($ca!=""?(isset($_GET["function"])?lang(182):lang(183)).": ".h($ca):(isset($_GET["function"])?lang(184):lang(185))),$j);$d=get_vals("SHOW CHARACTER SET");sort($d);$J=array("fields"=>array());if($_POST){$J=$_POST;$J["fields"]=(array)$J["fields"];process_fields($J["fields"]);}elseif($ca!=""){$J=routine($ca,$se);$J["name"]=$ca;}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   846
<form action="" method="post" id="form">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   847
<p>',lang(150),': <input name="name" value="',h($J["name"]),'" maxlength="64">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   848
',($te?lang(7).": ".html_select("language",$te,$J["language"]):""),'<table cellspacing="0" class="nowrap">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   849
';edit_fields($J["fields"],$d,$se);if(isset($_GET["function"])){echo"<tr><td>".lang(186);edit_type("returns",$J["returns"],$d);}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   850
<p>';textarea("definition",$J["definition"]);echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   851
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   852
';if($ca!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}if($rb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   853
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   854
';}elseif(isset($_GET["trigger"])){$b=$_GET["trigger"];$qf=trigger_options();$pf=array("INSERT","UPDATE","DELETE");$rb=false;if($_POST&&!$j&&in_array($_POST["Timing"],$qf["Timing"])&&in_array($_POST["Event"],$pf)&&in_array($_POST["Type"],$qf["Type"])){$gf=" $_POST[Timing] $_POST[Event]";$od=" ON ".table($b);$rb=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($v=="pgsql"?$od:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($v=="mssql"?$od.$gf:$gf.$od).rtrim(" $_POST[Type]\n$_POST[Statement]",";").";",ME."table=".urlencode($b),lang(187),lang(188),lang(189),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(190).": ".h($_GET["name"]):lang(191)),$j,array("table"=>$b));$J=$_POST;if(!$J){$J=trigger($_GET["name"])+array("Trigger"=>$b."_bi");}echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   855
<form action="" method="post" id="form">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   856
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   857
<tr><th>',lang(192),'<td>',html_select("Timing",$qf["Timing"],$J["Timing"],"if (/^".preg_quote($b,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($b)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'<tr><th>',lang(193),'<td>',html_select("Event",$pf,$J["Event"],"this.form['Timing'].onchange();"),'<tr><th>',lang(82),'<td>',html_select("Type",$qf["Type"],$J["Type"]),'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   858
<p>',lang(150),': <input name="Trigger" value="',h($J["Trigger"]),'" maxlength="64">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   859
<p>';textarea("Statement",$J["Statement"]);echo'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   860
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   861
';if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}if($rb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   862
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   863
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$ae=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$J){foreach(explode(",",($J["Privilege"]=="Grant option"?"":$J["Context"]))as$Va){$ae[$Va][$J["Privilege"]]=$J["Comment"];}}$ae["Server Admin"]+=$ae["File access on server"];$ae["Databases"]["Create routine"]=$ae["Procedures"]["Create routine"];unset($ae["Procedures"]["Create routine"]);$ae["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X){$ae["Columns"][$X]=$ae["Tables"][$X];}unset($ae["Server Admin"]["Usage"]);foreach($ae["Tables"]as$w=>$X){unset($ae["Databases"][$w]);}$gd=array();if($_POST){foreach($_POST["objects"]as$w=>$X){$gd[$X]=(array)$gd[$X]+(array)$_POST["grants"][$w];}}$fc=array();$md="";if(isset($_GET["host"])&&($H=$f->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($J=$H->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$J[0],$_)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$_[1],$Pc,PREG_SET_ORDER)){foreach($Pc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   864
as$X){if($X[1]!="USAGE"){$fc["$_[2]$X[2]"][$X[1]]=true;}if(ereg(' WITH GRANT OPTION',$J[0])){$fc["$_[2]$X[2]"]["GRANT OPTION"]=true;}}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$J[0],$_)){$md=$_[1];}}}if($_POST&&!$j){$nd=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");$hd=q($_POST["user"])."@".q($_POST["host"]);$Md=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $nd",ME."privileges=",lang(194));}else{$ab=false;if($nd!=$hd){$ab=queries(($f->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $hd IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $Md");$j=!$ab;}elseif($_POST["pass"]!=$md||!$_POST["hashed"]){queries("SET PASSWORD FOR $hd = ".($_POST["hashed"]?$Md:"PASSWORD($Md)"));}if(!$j){$pe=array();foreach($gd
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   865
as$jd=>$p){if(isset($_GET["grant"])){$p=array_filter($p);}$p=array_keys($p);if(isset($_GET["grant"])){$pe=array_diff(array_keys(array_filter($gd[$jd],'strlen')),$p);}elseif($nd==$hd){$ld=array_keys((array)$fc[$jd]);$pe=array_diff($ld,$p);$p=array_diff($p,$ld);unset($fc[$jd]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$jd,$_)&&(!grant("REVOKE",$pe,$_[2]," ON $_[1] FROM $hd")||!grant("GRANT",$p,$_[2]," ON $_[1] TO $hd"))){$j=true;break;}}}if(!$j&&isset($_GET["host"])){if($nd!=$hd){queries("DROP USER $nd");}elseif(!isset($_GET["grant"])){foreach($fc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   866
as$jd=>$pe){if(preg_match('~^(.+)(\\(.*\\))?$~U',$jd,$_)){grant("REVOKE",array_keys($pe),$_[2]," ON $_[1] FROM $hd");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(195):lang(196)),!$j);if($ab){$f->query("DROP USER $hd");}}}page_header((isset($_GET["host"])?lang(16).": ".h("$ea@$_GET[host]"):lang(111)),$j,array("privileges"=>array('',lang(45))));if($_POST){$J=$_POST;$fc=$gd;}else{$J=$_GET+array("host"=>$f->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$J["pass"]=$md;if($md!=""){$J["hashed"]=true;}$fc[DB!=""&&!isset($_GET["host"])?idf_escape(addcslashes(DB,"%_")).".*":""]=array();}echo'<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   867
<table cellspacing="0">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   868
<tr><th>',lang(15),'<td><input name="host" maxlength="60" value="',h($J["host"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   869
<tr><th>',lang(16),'<td><input name="user" maxlength="16" value="',h($J["user"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   870
<tr><th>',lang(17),'<td><input id="pass" name="pass" value="',h($J["pass"]),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   871
';if(!$J["hashed"]){echo'<script type="text/javascript">typePassword(document.getElementById(\'pass\'));</script>';}echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   872
checkbox("hashed",1,$J["hashed"],lang(197),"typePassword(this.form['pass'], this.checked);"),'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   873
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   874
';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'><a href='http://dev.mysql.com/doc/refman/".substr($f->server_info,0,3)."/en/grant.html#priv_level' target='_blank' rel='noreferrer'>".lang(45)."</a>";$r=0;foreach($fc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   875
as$jd=>$p){echo'<th>'.($jd!="*.*"?"<input name='objects[$r]' value='".h($jd)."' size='10'>":"<input type='hidden' name='objects[$r]' value='*.*' size='10'>*.*");$r++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(15),"Databases"=>lang(61),"Tables"=>lang(93),"Columns"=>lang(94),"Procedures"=>lang(198),)as$Va=>$kb){foreach((array)$ae[$Va]as$Zd=>$Qa){echo"<tr".odd()."><td".($kb?">$kb<td":" colspan='2'").' lang="en" title="'.h($Qa).'">'.h($Zd);$r=0;foreach($fc
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   876
as$jd=>$p){$B="'grants[$r][".h(strtoupper($Zd))."]'";$Y=$p[strtoupper($Zd)];if($Va=="Server Admin"&&$jd!=(isset($fc["*.*"])?"*.*":"")){echo"<td>&nbsp;";}elseif(isset($_GET["grant"])){echo"<td><select name=$B><option><option value='1'".($Y?" selected":"").">".lang(199)."<option value='0'".($Y=="0"?" selected":"").">".lang(200)."</select>";}else{echo"<td align='center'><input type='checkbox' name=$B value='1'".($Y?" checked":"").($Zd=="All privileges"?" id='grants-$r-all'":($Zd=="Grant option"?"":" onclick=\"if (this.checked) formUncheck('grants-$r-all');\"")).">";}$r++;}}}echo"</table>\n",'<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   877
<input type="submit" value="',lang(132),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   878
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(73),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   879
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   880
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$j){$Bc=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X))){$Bc++;}}queries_redirect(ME."processlist=",lang(201,$Bc),$Bc||!$_POST["kill"]);}page_header(lang(66),$j);echo'
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   881
<form action="" method="post">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   882
<table cellspacing="0" onclick="tableClick(event);" class="nowrap checkable">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   883
';$r=-1;foreach(process_list()as$r=>$J){if(!$r){echo"<thead><tr lang='en'>".(support("kill")?"<th>&nbsp;":"")."<th>".implode("<th>",array_keys($J))."</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$J["Id"],0):"");foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   884
as$w=>$X){echo"<td>".(($v=="sql"?$w=="Info"&&$X!="":$w=="current_query"&&$X!="<IDLE>")?"<code class='jush-$v'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($J["db"]!=""?"db=".urlencode($J["db"])."&":"")."sql=".urlencode($X)).'">'.lang(26).'</a>':nbsp($X));}echo"\n";}echo'</table>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   885
<script type=\'text/javascript\'>tableCheck();</script>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   886
<p>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   887
';if(support("kill")){echo($r+1)."/".lang(202,$f->result("SELECT @@max_connections")),"<p><input type='submit' value='".lang(203)."'>\n";}echo'<input type="hidden" name="token" value="',$T,'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   888
</form>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   889
';}elseif(isset($_GET["select"])){$b=$_GET["select"];$S=table_status($b);$u=indexes($b);$l=fields($b);$n=column_foreign_keys($b);if($S["Oid"]=="t"){$u[]=array("type"=>"PRIMARY","columns"=>array("oid"));}parse_str($_COOKIE["adminer_import"],$la);$qe=array();$e=array();$ef=null;foreach($l
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   890
as$w=>$k){$B=$c->fieldName($k);if(isset($k["privileges"]["select"])&&$B!=""){$e[$w]=html_entity_decode(strip_tags($B));if(ereg('text|lob',$k["type"])){$ef=$c->selectLengthProcess();}}$qe+=$k["privileges"];}list($M,$q)=$c->selectColumnsProcess($e,$u);$Z=$c->selectSearchProcess($l,$u);$wd=$c->selectOrderProcess($l,$u);$x=$c->selectLimitProcess();$cc=($M?implode(", ",$M):($S["Oid"]=="t"?"oid, ":"")."*")."\nFROM ".table($b);$gc=($q&&count($q)<count($M)?"\nGROUP BY ".implode(", ",$q):"").($wd?"\nORDER BY ".implode(", ",$wd):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$yf=>$J){echo$f->result("SELECT".limit(idf_escape(key($J))." FROM ".table($b)," WHERE ".where_check($yf).($Z?" AND ".implode(" AND ",$Z):"").($wd?" ORDER BY ".implode(", ",$wd):""),1));}exit;}if($_POST&&!$j){$Mf="(".implode(") OR (",array_map('where_check',(array)$_POST["check"])).")";$Wd=$_f=null;foreach($u
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   891
as$t){if($t["type"]=="PRIMARY"){$Wd=array_flip($t["columns"]);$_f=($M?$Wd:array());break;}}foreach((array)$_f
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   892
as$w=>$X){if(in_array(idf_escape($w),$M)){unset($_f[$w]);}}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($b);$c->dumpTable($b,"");if(!is_array($_POST["check"])||$_f===array()){$Lf=$Z;if(is_array($_POST["check"])){$Lf[]="($Mf)";}$G="SELECT $cc".($Lf?"\nWHERE ".implode(" AND ",$Lf):"").$gc;}else{$wf=array();foreach($_POST["check"]as$X){$wf[]="(SELECT".limit($cc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X).$gc,1).")";}$G=implode(" UNION ALL ",$wf);}$c->dumpData($b,"table",$G);exit;}if(!$c->selectEmailProcess($Z,$n)){if($_POST["save"]||$_POST["delete"]){$H=true;$ma=0;$G=table($b);$O=array();if(!$_POST["delete"]){foreach($e
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   893
as$B=>$X){$X=process_input($l[$B]);if($X!==null){if($_POST["clone"]){$O[idf_escape($B)]=($X!==false?$X:idf_escape($B));}elseif($X!==false){$O[]=idf_escape($B)." = $X";}}}$G.=($_POST["clone"]?" (".implode(", ",array_keys($O)).")\nSELECT ".implode(", ",$O)."\nFROM ".table($b):" SET\n".implode(",\n",$O));}if($_POST["delete"]||$O){$Oa="UPDATE";if($_POST["delete"]){$Oa="DELETE";$G="FROM $G";}if($_POST["clone"]){$Oa="INSERT";$G="INTO $G";}if($_POST["all"]||($_f===array()&&$_POST["check"])||count($q)<count($M)){$H=queries($Oa." $G".($_POST["all"]?($Z?"\nWHERE ".implode(" AND ",$Z):""):"\nWHERE $Mf"));$ma=$f->affected_rows;}else{foreach((array)$_POST["check"]as$X){$H=queries($Oa.limit1($G,"\nWHERE ".where_check($X)));if(!$H){break;}$ma+=$f->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(204,$ma),$H);}elseif(!$_POST["import"]){if(!$_POST["val"]){$j=lang(205);}else{$H=true;$ma=0;foreach($_POST["val"]as$yf=>$J){$O=array();foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   894
as$w=>$X){$w=bracket_escape($w,1);$O[]=idf_escape($w)." = ".(ereg('char|text',$l[$w]["type"])||$X!=""?$c->processInput($l[$w],$X):"NULL");}$G=table($b)." SET ".implode(", ",$O);$Lf=" WHERE ".where_check($yf).($Z?" AND ".implode(" AND ",$Z):"");$H=queries("UPDATE".(count($q)<count($M)?" $G$Lf":limit1($G,$Lf)));if(!$H){break;}$ma+=$f->affected_rows;}queries_redirect(remove_from_uri(),lang(204,$ma),$H);}}elseif(is_string($Sb=get_file("csv_file",true))){cookie("adminer_import","output=".urlencode($la["output"])."&format=".urlencode($_POST["separator"]));$H=true;$Ma=array_keys($l);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Sb,$Pc);$ma=count($Pc[0]);begin();$Ae=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($Pc[0]as$w=>$X){preg_match_all("~((\"[^\"]*\")+|[^$Ae]*)$Ae~",$X.$Ae,$Qc);if(!$w&&!array_diff($Qc[1],$Ma)){$Ma=$Qc[1];$ma--;}else{$O=array();foreach($Qc[1]as$r=>$Ja){$O[idf_escape($Ma[$r])]=($Ja==""&&$l[$Ma[$r]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Ja))));}$H=insert_update($b,$O,$Wd);if(!$H){break;}}}if($H){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(206,$ma),$H);queries("ROLLBACK");}else{$j=upload_error($Sb);}}}$Ue=$c->tableName($S);page_header(lang(28).": $Ue",$j);session_write_close();$O=null;if(isset($qe["insert"])){$O="";foreach((array)$_GET["where"]as$X){if(count($n[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!ereg('[_%]',$X["val"])))){$O.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}}$c->selectLinks($S,$O);if(!$e){echo"<p class='error'>".lang(207).($l?".":": ".error())."\n";}else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?'<input type="hidden" name="db" value="'.h(DB).'">'.(isset($_GET["ns"])?'<input type="hidden" name="ns" value="'.h($_GET["ns"]).'">':""):"");echo'<input type="hidden" name="select" value="'.h($b).'">',"</div>\n";$c->selectColumnsPrint($M,$e);$c->selectSearchPrint($Z,$e,$u);$c->selectOrderPrint($wd,$e,$u);$c->selectLimitPrint($x);$c->selectLengthPrint($ef);$c->selectActionPrint();echo"</form>\n";$D=$_GET["page"];if($D=="last"){$ac=$f->result("SELECT COUNT(*) FROM ".table($b).($Z?" WHERE ".implode(" AND ",$Z):""));$D=floor(max(0,$ac-1)/$x);}$G="SELECT".limit((+$x&&$q&&count($q)<count($M)&&$v=="sql"?"SQL_CALC_FOUND_ROWS ":"").$cc,($Z?"\nWHERE ".implode(" AND ",$Z):"").$gc,($x!=""?+$x:null),($D?$x*$D:0),"\n");echo$c->selectQuery($G);$H=$f->query($G);if(!$H){echo"<p class='error'>".error()."\n";}else{if($v=="mssql"){$H->seek($x*$D);}$zb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$K=array();while($J=$H->fetch_assoc()){if($D&&$v=="oracle"){unset($J["RNUM"]);}$K[]=$J;}if($_GET["page"]!="last"){$ac=(+$x&&$q&&count($q)<count($M)?($v=="sql"?$f->result(" SELECT FOUND_ROWS()"):$f->result("SELECT COUNT(*) FROM ($G) x")):count($K));}if(!$K){echo"<p class='message'>".lang(75)."\n";}else{$za=$c->backwardKeys($b,$Ue);echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' onkeydown='return editingKeydown(event);'>\n","<thead><tr>".(!$q&&$M?"":"<td><input type='checkbox' id='all-page' onclick='formCheck(this, /check/);'> <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".lang(208)."</a>");$fd=array();$ec=array();reset($M);$fe=1;foreach($K[0]as$w=>$X){if($S["Oid"]!="t"||$w!="oid"){$X=$_GET["columns"][key($M)];$k=$l[$M?($X?$X["col"]:current($M)):$w];$B=($k?$c->fieldName($k,$fe):"*");if($B!=""){$fe++;$fd[$w]=$B;$Na=idf_escape($w);echo'<th><a href="'.h(remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($w).($wd[0]==$Na||$wd[0]==$w||(!$wd&&count($q)<count($M)&&$q[0]==$Na)?'&desc%5B0%5D=1':'')).'">'.(!$M||$X?apply_sql_function($X["fun"],$B):h(current($M)))."</a>";}$ec[$w]=$X["fun"];next($M);}}$Lc=array();if($_GET["modify"]){foreach($K
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   895
as$J){foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   896
as$w=>$X){$Lc[$w]=max($Lc[$w],min(40,strlen(utf8_decode($X))));}}}echo($za?"<th>".lang(209):"")."</thead>\n";foreach($c->rowDescriptions($K,$n)as$A=>$J){$xf=unique_array($K[$A],$u);$yf="";foreach($xf
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   897
as$w=>$X){$yf.="&".(isset($X)?urlencode("where[".bracket_escape($w)."]")."=".urlencode($X):"null%5B%5D=".urlencode($w));}echo"<tr".odd().">".(!$q&&$M?"":"<td>".checkbox("check[]",substr($yf,1),in_array(substr($yf,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($q)<count($M)||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($b).$yf)."'>".lang(208)."</a>"));foreach($J
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   898
as$w=>$X){if(isset($fd[$w])){$k=$l[$w];if($X!=""&&(!isset($zb[$w])||$zb[$w]!="")){$zb[$w]=(is_mail($X)?$fd[$w]:"");}$y="";$X=$c->editVal($X,$k);if(!isset($X)){$X="<i>NULL</i>";}else{if(ereg('blob|bytea|raw|file',$k["type"])&&$X!=""){$y=h(ME.'download='.urlencode($b).'&field='.urlencode($w).$yf);}if($X===""){$X="&nbsp;";}elseif($ef!=""&&ereg('text|blob',$k["type"])&&is_utf8($X)){$X=shorten_utf8($X,max(0,+$ef));}else{$X=h($X);}if(!$y){foreach((array)$n[$w]as$m){if(count($n[$w])==1||end($m["source"])==$w){$y="";foreach($m["source"]as$r=>$Ee){$y.=where_link($r,$m["target"][$r],$K[$A][$Ee]);}$y=h(($m["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($m["db"]),ME):ME).'select='.urlencode($m["table"]).$y);if(count($m["source"])==1){break;}}}}if($w=="COUNT(*)"){$y=h(ME."select=".urlencode($b));$r=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$xf)){$y.=h(where_link($r++,$W["col"],$W["val"],$W["op"]));}}foreach($xf
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   899
as$Ac=>$W){$y.=h(where_link($r++,$Ac,$W));}}}if(!$y){if(is_mail($X)){$y="mailto:$X";}if($de=is_url($J[$w])){$y=($de=="http"&&$ba?$J[$w]:"$de://www.adminer.org/redirect/?url=".urlencode($J[$w]));}}$s=h("val[$yf][".bracket_escape($w)."]");$Y=$_POST["val"][$yf][bracket_escape($w)];$ic=h(isset($Y)?$Y:$J[$w]);$Oc=strpos($X,"<i>...</i>");$wb=is_utf8($X)&&$K[$A][$w]==$J[$w]&&!$ec[$w];$df=ereg('text|lob',$k["type"]);echo(($_GET["modify"]&&$wb)||isset($Y)?"<td>".($df?"<textarea name='$s' cols='30' rows='".(substr_count($J[$w],"\n")+1)."'>$ic</textarea>":"<input name='$s' value='$ic' size='$Lc[$w]'>"):"<td id='$s' ondblclick=\"".($wb?"selectDblClick(this, event".($Oc?", 2":($df?", 1":"")).")":"alert('".h(lang(210))."')").";\">".$c->selectVal($X,$y,$k));}}if($za){echo"<td>";}$c->backwardKeysPrint($za,$K[$A]);echo"</tr>\n";}echo"</table>\n",(!$q&&$M?"":"<script type='text/javascript'>tableCheck();</script>\n");}if($K||$D){$Hb=true;if($_GET["page"]!="last"&&+$x&&count($q)>=count($M)&&($ac>=$x||$D)){$ac=found_rows($S,$Z);if($ac<max(1e4,2*($D+1)*$x)){ob_flush();flush();$ac=$f->result("SELECT COUNT(*) FROM ".table($b).($Z?" WHERE ".implode(" AND ",$Z):""));}else{$Hb=false;}}echo"<p class='pages'>";if(+$x&&$ac>$x){$Sc=floor(($ac-1)/$x);echo'<a href="'.h(remove_from_uri("page"))."\" onclick=\"pageClick(this.href, +prompt('".lang(211)."', '".($D+1)."'), event); return false;\">".lang(211)."</a>:",pagination(0,$D).($D>5?" ...":"");for($r=max(1,$D-4);$r<min($Sc,$D+5);$r++){echo
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   900
pagination($r,$D);}echo($D+5<$Sc?" ...":"").($Hb?pagination($Sc,$D):' <a href="'.h(remove_from_uri()."&page=last").'">'.lang(212)."</a>");}echo" (".($Hb?"":"~ ").lang(113,$ac).") ".checkbox("all",1,0,lang(213))."\n";if($c->selectCommandPrint()){echo'<fieldset><legend>',lang(26),'</legend><div>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   901
<input type="submit" value="',lang(132),'"',($_GET["modify"]?'':' title="'.lang(205).'" class="jsonly"'),'>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   902
<input type="submit" name="edit" value="',lang(26),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   903
<input type="submit" name="clone" value="',lang(214),'">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   904
<input type="submit" name="delete" value="',lang(135),'" onclick="return confirm(\'',lang(0);?> (' + (this.form['all'].checked ? <?php echo$ac,' : formChecked(this, /check/)) + \')\');">
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   905
</div></fieldset>
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   906
';}print_fieldset("export",lang(105));$Dd=$c->dumpOutput();echo($Dd?html_select("output",$Dd,$la["output"])." ":""),html_select("format",$c->dumpFormat(),$la["format"])," <input type='submit' name='export' value='".lang(105)."' onclick='eventStop(event);'>\n","</div></fieldset>\n";}if($c->selectImportPrint()){print_fieldset("import",lang(215),!$K);echo"<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$la["format"],1);echo" <input type='submit' name='import' value='".lang(215)."'>","<input type='hidden' name='token' value='$T'>\n","</div></fieldset>\n";}$c->selectEmailPrint(array_filter($zb,'strlen'),$e);echo"</form>\n";}}}elseif(isset($_GET["variables"])){$Ie=isset($_GET["status"]);page_header($Ie?lang(68):lang(67));$Gf=($Ie?show_status():show_variables());if(!$Gf){echo"<p class='message'>".lang(75)."\n";}else{echo"<table cellspacing='0'>\n";foreach($Gf
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   907
as$w=>$X){echo"<tr>","<th><code class='jush-".$v.($Ie?"status":"set")."'>".h($w)."</code>","<td>".nbsp($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Re=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$S){$s=js_escape($S["Name"]);json_row("Comment-$s",nbsp($S["Comment"]));if(!is_view($S)){foreach(array("Engine","Collation")as$w){json_row("$w-$s",nbsp($S[$w]));}foreach($Re+array("Auto_increment"=>0,"Rows"=>0)as$w=>$X){if($S[$w]!=""){$X=number_format($S[$w],0,'.',lang(216));json_row("$w-$s",($w=="Rows"&&$S["Engine"]=="InnoDB"&&$X?"~ $X":$X));if(isset($Re[$w])){$Re[$w]+=($S["Engine"]!="InnoDB"||$w!="Data_free"?$S[$w]:0);}}elseif(array_key_exists($w,$S)){json_row("$w-$s");}}}}foreach($Re
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   908
as$w=>$X){json_row("sum-$w",number_format($X,0,'.',lang(216)));}json_row("");}else{foreach(count_tables(get_databases())as$i=>$X){json_row("tables-".js_escape($i),$X);}json_row("");}exit;}else{$af=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($af&&!$j&&!$_POST["search"]){$H=true;$Wc="";if($v=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"])){queries("SET foreign_key_checks = 0");}if($_POST["truncate"]){if($_POST["tables"]){$H=truncate_tables($_POST["tables"]);}$Wc=lang(217);}elseif($_POST["move"]){$H=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Wc=lang(218);}elseif($_POST["copy"]){$H=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Wc=lang(219);}elseif($_POST["drop"]){if($_POST["views"]){$H=drop_views($_POST["views"]);}if($H&&$_POST["tables"]){$H=drop_tables($_POST["tables"]);}$Wc=lang(220);}elseif($_POST["tables"]&&($H=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"]))))){while($J=$H->fetch_assoc()){$Wc.="<b>".h($J["Table"])."</b>: ".h($J["Msg_text"])."<br>";}}queries_redirect(substr(ME,0,-1),$Wc,$H);}page_header(($_GET["ns"]==""?lang(61).": ".h(DB):lang(221).": ".h($_GET["ns"])),$j,true);if($c->homepage()){if($_GET["ns"]!==""){echo"<h3>".lang(222)."</h3>\n";$Ze=tables_list();if(!$Ze){echo"<p class='message'>".lang(6)."\n";}else{echo"<form action='' method='post'>\n","<p>".lang(223).": <input name='query' value='".h($_POST["query"])."'> <input type='submit' name='search' value='".lang(31)."'>\n";if($_POST["search"]&&$_POST["query"]!=""){search_tables();}echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);'>\n",'<thead><tr class="wrap"><td><input id="check-all" type="checkbox" onclick="formCheck(this, /^(tables|views)\[/);">','<th>'.lang(93),'<td>'.lang(224),'<td>'.lang(71),'<td>'.lang(225),'<td>'.lang(226),'<td>'.lang(227),'<td>'.lang(85),'<td>'.lang(228),(support("comment")?'<td>'.lang(87):''),"</thead>\n";foreach($Ze
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   909
as$B=>$V){$Hf=(isset($V)&&!eregi("table",$V));echo'<tr'.odd().'><td>'.checkbox(($Hf?"views[]":"tables[]"),$B,in_array($B,$af,true),"","formUncheck('check-all');"),'<th><a href="'.h(ME).'table='.urlencode($B).'" title="'.lang(21).'">'.h($B).'</a>';if($Hf){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($B).'" title="'.lang(22).'">'.lang(92).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($B).'" title="'.lang(20).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(23)),"Index_length"=>array("indexes",lang(96)),"Data_free"=>array("edit",lang(24)),"Auto_increment"=>array("auto_increment=1&create",lang(23)),"Rows"=>array("select",lang(20)),)as$w=>$y){echo($y?"<td align='right'><a href='".h(ME."$y[0]=").urlencode($B)."' id='$w-".h($B)."' title='$y[1]'>?</a>":"<td id='$w-".h($B)."'>&nbsp;");}}echo(support("comment")?"<td id='Comment-".h($B)."'>&nbsp;":"");}echo"<tr><td>&nbsp;<th>".lang(202,count($Ze)),"<td>".nbsp($v=="sql"?$f->result("SELECT @@storage_engine"):""),"<td>".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$w){echo"<td align='right' id='sum-$w'>&nbsp;";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n";if(!information_schema(DB)){echo"<p>".($v=="sql"?"<input type='submit' value='".lang(229)."'> <input type='submit' name='optimize' value='".lang(230)."'> <input type='submit' name='check' value='".lang(231)."'> <input type='submit' name='repair' value='".lang(232)."'> ":"")."<input type='submit' name='truncate' value='".lang(233)."'".confirm("formChecked(this, /tables/)")."> <input type='submit' name='drop' value='".lang(73)."'".confirm("formChecked(this, /tables|views/)",1).">\n";$h=(support("scheme")?schemas():get_databases());if(count($h)!=1&&$v!="sqlite"){$i=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(234).": ",($h?html_select("target",$h,$i):'<input name="target" value="'.h($i).'">')," <input type='submit' name='move' value='".lang(235)."' onclick='eventStop(event);'>",(support("copy")?" <input type='submit' name='copy' value='".lang(236)."' onclick='eventStop(event);'>":""),"\n";}echo"<input type='hidden' name='token' value='$T'>\n";}echo"</form>\n";}echo'<p><a href="'.h(ME).'create=">'.lang(139)."</a>\n";if(support("view")){echo'<a href="'.h(ME).'view=">'.lang(169)."</a>\n";}if(support("routine")){echo"<h3>".lang(108)."</h3>\n";$ue=routines();if($ue){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(150).'<td>'.lang(82).'<td>'.lang(186)."<td>&nbsp;</thead>\n";odd('');foreach($ue
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   910
as$J){echo'<tr'.odd().'>','<th><a href="'.h(ME).($J["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($J["ROUTINE_NAME"]).'">'.h($J["ROUTINE_NAME"]).'</a>','<td>'.h($J["ROUTINE_TYPE"]),'<td>'.h($J["DTD_IDENTIFIER"]),'<td><a href="'.h(ME).($J["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($J["ROUTINE_NAME"]).'">'.lang(100)."</a>";}echo"</table>\n";}echo'<p>'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(185).'</a> ':'').'<a href="'.h(ME).'function=">'.lang(184)."</a>\n";}if(support("event")){echo"<h3>".lang(109)."</h3>\n";$K=get_rows("SHOW EVENTS");if($K){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(150)."<td>".lang(237)."<td>".lang(175)."<td>".lang(176)."</thead>\n";foreach($K
f990704af47b + adminer, Korrekturen, prod_hier mit Rechten prodgroup
Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
parents:
diff changeset
   911
as$J){echo"<tr>",'<th><a href="'.h(ME).'event='.urlencode($J["Name"]).'">'.h($J["Name"])."</a>","<td>".($J["Execute at"]?lang(238)."<td>".$J["Execute at"]:lang(177)." ".$J["Interval value"]." ".$J["Interval field"]."<td>$J[Starts]"),"<td>$J[Ends]";}echo"</table>\n";}echo'<p><a href="'.h(ME).'event=">'.lang(174)."</a>\n";}if($Ze){echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}}}}page_footer();