PageRenderTime 118ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 2ms

/www/adminer/index.php

https://github.com/nella/framework-sandbox
PHP | 1501 lines | 1489 code | 5 blank | 7 comment | 30 complexity | 0c9035835c7d6eb624d5cbe2c5cec92c MD5 | raw file
  1. <?php
  2. /** Adminer - Compact database management
  3. * @link http://www.adminer.org/
  4. * @author Jakub Vrana, http://www.vrana.cz/
  5. * @copyright 2007 Jakub Vrana
  6. * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
  7. * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
  8. * @version 3.3.3
  9. */error_reporting(6135);$ac=(!ereg('^(unsafe_raw)?$',ini_get("filter.default")));if($ac||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$W){$Pf=filter_input_array(constant("INPUT$W"),FILTER_UNSAFE_RAW);if($Pf){$$W=$Pf;}}}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
  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");?>
  11. function toggle(id){var el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;}
  12. function cookie(assign,days){var date=new Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date;}
  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);}
  14. function selectValue(select){var selected=select.options[select.selectedIndex];return((selected.attributes.value||{}).specified?selected.value:selected.text);}
  15. function trCheck(el){var tr=el.parentNode.parentNode;tr.className=tr.className.replace(/(^|\s)checked(\s|$)/,'$2')+(el.checked?' checked':'');}
  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]);}}}
  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);}}}}
  18. function formUncheck(id){var el=document.getElementById(id);el.checked=false;trCheck(el);}
  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++;}}
  20. return checked;}
  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;}
  22. if(/^(a|input|textarea)$/i.test(el.tagName)){click=false;}
  23. el=el.parentNode;}
  24. el=el.firstChild.firstChild;if(click){el.click&&el.click();el.onclick&&el.onclick();}
  25. trCheck(el);}
  26. function setHtml(id,html){var el=document.getElementById(id);if(el){if(html==undefined){el.parentNode.innerHTML='&nbsp;';}else{el.innerHTML=html;}}}
  27. function nodePosition(el){var pos=0;while(el=el.previousSibling){pos++;}
  28. return pos;}
  29. function pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');if(!ajaxSend(href)){location.href=href;}}}
  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;}
  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='';}
  32. field.parentNode.parentNode.appendChild(row);}
  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();}}
  34. return false;}
  35. return true;}
  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();}
  37. return false;}
  38. if(event.shiftKey&&!bodyKeydown(event,'insert')){eventStop(event);return false;}
  39. return true;}
  40. function functionChange(select){var input=select.form[select.name.replace(/^function/,'fields')];if(selectValue(select)){if(input.origMaxLength===undefined){input.origMaxLength=input.maxLength;}
  41. input.removeAttribute('maxlength');}else if(input.origMaxLength>=0){input.maxLength=input.origMaxLength;}}
  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');}
  43. xmlhttp.setRequestHeader('X-Requested-With','XMLHttpRequest');xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){callback(xmlhttp);}};xmlhttp.send(data);}
  44. return xmlhttp;}
  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]);}}});}
  46. var originalFavicon;function replaceFavicon(href){var favicon=document.getElementById('favicon');if(favicon){favicon.href=href;favicon.parentNode.appendChild(favicon);}}
  47. var ajaxState=0;function ajaxSend(url,data,popState,noscroll){if(!history.pushState){return false;}
  48. var currentState=++ajaxState;onblur=function(){if(!originalFavicon){originalFavicon=(document.getElementById('favicon')||{}).href;}
  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);}
  50. var redirect=xmlhttp.getResponseHeader('X-AJAX-Redirect');if(redirect){return ajaxSend(redirect,'',popState);}
  51. onblur=function(){};if(originalFavicon){replaceFavicon(originalFavicon);}
  52. if(!xmlhttp.status){setHtml('loader','');}else{if(!popState){if(data||url!=location.href){history.pushState(data,'',url);}}
  53. if(!noscroll&&!/&order/.test(url)){scrollTo(0,0);}
  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);}
  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':'');}
  56. var dump=document.getElementById('dump');if(dump){var match=/&(select|table)=([^&]+)/.exec(href);dump.href=dump.href.replace(/[^=]+$/,'')+(match?match[2]:'');}
  57. if(window.jush){jush.highlight_tag('code',0);}}}},data);}
  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;}
  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));}}
  60. if(data){params.push(data);}
  61. if(form.method=='post'){return ajaxSend((/\?/.test(form.action)?form.action:location.href),params.join('&'),false,noscroll);}
  62. return ajaxSend((form.action||location.href).replace(/\?.*/,'')+'?'+params.join('&'),'',false,noscroll);}
  63. function selectDblClick(td,event,text){if(/input|textarea/i.test(td.firstChild.tagName)){return;}
  64. var original=td.innerHTML;var input=document.createElement(text?'textarea':'input');input.onkeydown=function(event){if(!event){event=window.event;}
  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;}
  66. if(value=='\u00A0'||td.getElementsByTagName('i').length){value='';}
  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;}
  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;}});}
  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();}}
  70. function bodyClick(event,db,ns){if(event.button||event.ctrlKey||event.shiftKey||event.altKey||event.metaKey){return;}
  71. if(event.getPreventDefault?event.getPreventDefault():event.returnValue===false||event.defaultPrevented){return false;}
  72. var el=event.target||event.srcElement;if(/^a$/i.test(el.parentNode.tagName)){el=el.parentNode;}
  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));}
  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');}
  75. return true;}
  76. function eventStop(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}}
  77. var jushRoot=location.protocol + '//www.adminer.org/static/';function bodyLoad(version){if(history.state!==undefined){onpopstate(history);}
  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;}
  79. jush.highlight_tag('code',0);}};script.onreadystatechange=function(){if(/^(loaded|complete)$/.test(script.readyState)){script.onload();}};document.body.appendChild(script);}}
  80. function formField(form,name){for(var i=0;i<form.length;i++){if(form[i].name==name){return form[i];}}}
  81. function typePassword(el,disable){try{el.type=(disable?'text':'password');}catch(e){}}
  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':'');}}
  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;}}
  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;}}
  85. return false;}}
  86. return true;}
  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));}
  88. function idfEscape(s){return s.replace(/`/,'``');}
  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;}
  90. break;}
  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;}
  92. candidate=i;break;}}}
  93. if(candidate){type.selectedIndex=candidate;type.onchange();}}
  94. function editingAddRow(button,allowed,focus){if(allowed&&rowCount>=allowed){return false;}
  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;}
  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;}
  97. tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);if(/\[(orig|field|comment|default)/.test(tags[i].name)){tags2[i].value='';}
  98. if(/\[(has_default)/.test(tags[i].name)){tags2[i].checked=false;}}
  99. tags[0].onchange=function(){editingNameChange(tags[0]);};row.parentNode.insertBefore(row2,row.nextSibling);if(focus){input.onchange=function(){editingNameChange(input);};input.focus();}
  100. added+='0';rowCount++;return true;}
  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;}
  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='';}
  103. if(lastType=='timestamp'&&el.name==name+'[has_default]'&&/timestamp/i.test(formField(type.form,name+'[default]').value)){el.checked=false;}
  104. if(el.name==name+'[collation]'){el.className=(/(char|text|enum|set)$/.test(text)?'':'hidden');}
  105. if(el.name==name+'[unsigned]'){el.className=(/(int|float|double|decimal)$/.test(text)?'':'hidden');}
  106. if(el.name==name+'[on_delete]'){el.className=(/`/.test(text)?'':'hidden');}}}
  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();}}
  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';}
  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');}}
  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');}
  111. function partitionNameChange(el){var row=el.parentNode.parentNode.cloneNode(true);row.firstChild.firstChild.value='';el.parentNode.parentNode.parentNode.appendChild(row);el.onchange=function(){};}
  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;}
  113. field.parentNode.parentNode.parentNode.appendChild(row);}
  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;}
  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='';}
  116. parent.parentNode.appendChild(row);}
  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);}}
  118. field.form[field.name.replace(/\].*/,'][name]')].value=prefix+names.join('_');}
  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();}
  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();}
  121. var that,x,y,em,tablePos;function schemaMousedown(el,event){that=el;x=event.clientX-el.offsetLeft;y=event.clientY-el.offsetTop;}
  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);}
  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';}
  124. if(divs[i].parentNode!=div2.parentNode){line=line.getElementsByTagName('div')[0];line.style.height=(line.offsetHeight+(isTop?-1:1)*shift)/em+'em';}
  125. lineSet[id]=true;}}}
  126. that.style.left=left+'em';that.style.top=top+'em';}}
  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;}
  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
  129. }else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo
  130. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIYSPqcvtD00I8cwqKb5v+q8pIAhxlRmhZYi17iPE8kzLBQA7");break;case"cross.gif":echo
  131. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACI4SPqcvtDyMKYdZGb355wy6BX3dhlOEx57FK7gtHwkzXNl0AADs=");break;case"up.gif":echo
  132. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00IUU4K730T9J5hFTiKEXmaYcW2rgDH8hwXADs=");break;case"down.gif":echo
  133. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00I8cwqKb5bV/5cosdMJtmcHca2lQDH8hwXADs=");break;case"arrow.gif":echo
  134. base64_decode("R0lGODlhCAAKAIAAAICAgP///yH5BAEAAAEALAAAAAAIAAoAAAIPBIJplrGLnpQRqtOy3rsAADs=");break;case"loader.gif":echo
  135. base64_decode("R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==");break;}}exit;}function
  136. connection(){global$g;return$g;}function
  137. adminer(){global$b;return$b;}function
  138. idf_unescape($r){$Oc=substr($r,-1);return
  139. str_replace($Oc.$Oc,$Oc,substr($r,1,-1));}function
  140. escape_string($W){return
  141. substr(q($W),1,-1);}function
  142. remove_slashes($qe,$ac=false){if(get_magic_quotes_gpc()){while(list($v,$W)=each($qe)){foreach($W
  143. as$Kc=>$V){unset($qe[$v][$Kc]);if(is_array($V)){$qe[$v][stripslashes($Kc)]=$V;$qe[]=&$qe[$v][stripslashes($Kc)];}else{$qe[$v][stripslashes($Kc)]=($ac?$V:stripslashes($V));}}}}}function
  144. bracket_escape($r,$Ba=false){static$Ef=array(':'=>':1',']'=>':2','['=>':3');return
  145. strtr($r,($Ba?array_flip($Ef):$Ef));}function
  146. h($L){return
  147. htmlspecialchars(str_replace("\0","",$L),ENT_QUOTES);}function
  148. nbsp($L){return(trim($L)!=""?h($L):"&nbsp;");}function
  149. nl_br($L){return
  150. str_replace("\n","<br>",$L);}function
  151. checkbox($_,$X,$La,$Mc="",$Dd="",$Jc=false){static$q=0;$q++;$F="<input type='checkbox' name='$_' value='".h($X)."'".($La?" checked":"").($Dd?' onclick="'.h($Dd).'"':'').($Jc?" class='jsonly'":"")." id='checkbox-$q'>";return($Mc!=""?"<label for='checkbox-$q'>$F".h($Mc)."</label>":$F);}function
  152. optionlist($Hd,$Pe=null,$Uf=false){$F="";foreach($Hd
  153. as$Kc=>$V){$Id=array($Kc=>$V);if(is_array($V)){$F.='<optgroup label="'.h($Kc).'">';$Id=$V;}foreach($Id
  154. as$v=>$W){$F.='<option'.($Uf||is_string($v)?' value="'.h($v).'"':'').(($Uf||is_string($v)?(string)$v:$W)===$Pe?' selected':'').'>'.h($W);}if(is_array($V)){$F.='</optgroup>';}}return$F;}function
  155. html_select($_,$Hd,$X="",$Cd=true){if($Cd){return"<select name='".h($_)."'".(is_string($Cd)?' onchange="'.h($Cd).'"':"").">".optionlist($Hd,$X)."</select>";}$F="";foreach($Hd
  156. as$v=>$W){$F.="<label><input type='radio' name='".h($_)."' value='".h($v)."'".($v==$X?" checked":"").">".h($W)."</label>";}return$F;}function
  157. confirm($bb="",$cf=false){return" onclick=\"".($cf?"eventStop(event); ":"")."return confirm('".lang(0).($bb?" (' + $bb + ')":"")."');\"";}function
  158. print_fieldset($q,$Tc,$ag=false,$Dd=""){echo"<fieldset><legend><a href='#fieldset-$q' onclick=\"".h($Dd)."return !toggle('fieldset-$q');\">$Tc</a></legend><div id='fieldset-$q'".($ag?"":" class='hidden'").">\n";}function
  159. bold($Ga){return($Ga?" class='active'":"");}function
  160. odd($F=' class="odd"'){static$p=0;if(!$F){$p=-1;}return($p++%
  161. 2?$F:'');}function
  162. js_escape($L){return
  163. addcslashes($L,"\r\n'\\/");}function
  164. json_row($v,$W=null){static$bc=true;if($bc){echo"{";}if($v!=""){echo($bc?"":",")."\n\t\"".addcslashes($v,"\r\n\"\\").'": '.(isset($W)?'"'.addcslashes($W,"\r\n\"\\").'"':'undefined');$bc=false;}else{echo"\n}\n";$bc=true;}}function
  165. ini_bool($Bc){$W=ini_get($Bc);return(eregi('^(on|true|yes)$',$W)||(int)$W);}function
  166. sid(){static$F;if(!isset($F)){$F=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));}return$F;}function
  167. q($L){global$g;return$g->quote($L);}function
  168. get_vals($D,$e=0){global$g;$F=array();$E=$g->query($D);if(is_object($E)){while($G=$E->fetch_row()){$F[]=$G[$e];}}return$F;}function
  169. get_key_vals($D,$h=null){global$g;if(!is_object($h)){$h=$g;}$F=array();$E=$h->query($D);if(is_object($E)){while($G=$E->fetch_row()){$F[$G[0]]=$G[1];}}return$F;}function
  170. get_rows($D,$h=null,$k="<p class='error'>"){global$g;if(!is_object($h)){$h=$g;}$F=array();$E=$h->query($D);if(is_object($E)){while($G=$E->fetch_assoc()){$F[]=$G;}}elseif(!$E&&$g->error&&$k&&defined("PAGE_HEADER")){echo$k.error()."\n";}return$F;}function
  171. unique_array($G,$t){foreach($t
  172. as$s){if(ereg("PRIMARY|UNIQUE",$s["type"])){$F=array();foreach($s["columns"]as$v){if(!isset($G[$v])){continue
  173. 2;}$F[$v]=$G[$v];}return$F;}}$F=array();foreach($G
  174. as$v=>$W){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$v)){$F[$v]=$W;}}return$F;}function
  175. where($Z){global$u;$F=array();foreach((array)$Z["where"]as$v=>$W){$F[]=idf_escape(bracket_escape($v,1)).(ereg('\\.',$W)||$u=="mssql"?" LIKE ".exact_value(addcslashes($W,"%_\\")):" = ".exact_value($W));}foreach((array)$Z["null"]as$v){$F[]=idf_escape($v)." IS NULL";}return
  176. implode(" AND ",$F);}function
  177. where_check($W){parse_str($W,$Ka);remove_slashes(array(&$Ka));return
  178. where($Ka);}function
  179. where_link($p,$e,$X,$Ed="="){return"&where%5B$p%5D%5Bcol%5D=".urlencode($e)."&where%5B$p%5D%5Bop%5D=".urlencode((isset($X)?$Ed:"IS NULL"))."&where%5B$p%5D%5Bval%5D=".urlencode($X);}function
  180. cookie($_,$X){global$ba;$Vd=array($_,(ereg("\n",$X)?"":$X),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Vd[]=true;}return
  181. call_user_func_array('setcookie',$Vd);}function
  182. restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($v){return$_SESSION[$v][DRIVER][SERVER][$_GET["username"]];}function
  183. set_session($v,$W){$_SESSION[$v][DRIVER][SERVER][$_GET["username"]]=$W;}function
  184. auth_url($sb,$J,$U){global$tb;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($tb))."|username|".session_name()),$z);return"$z[1]?".(sid()?SID."&":"").($sb!="server"||$J!=""?urlencode($sb)."=".urlencode($J)."&":"")."username=".urlencode($U).($z[2]?"&$z[2]":"");}function
  185. is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
  186. redirect($Wc,$hd=null){if(isset($hd)){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',(isset($Wc)?$Wc:$_SERVER["REQUEST_URI"]))][]=$hd;}if(isset($Wc)){if($Wc==""){$Wc=".";}header((is_ajax()?"X-AJAX-Redirect":"Location").": $Wc");exit;}}function
  187. query_redirect($D,$Wc,$hd,$ve=true,$Pb=true,$Wb=false){global$g,$k,$b;if($Pb){$Wb=!$g->query($D);}$Ye="";if($D){$Ye=$b->messageQuery("$D;");}if($Wb){$k=error().$Ye;return
  188. false;}if($ve){redirect($Wc,$hd.$Ye);}return
  189. true;}function
  190. queries($D=null){global$g;static$te=array();if(!isset($D)){return
  191. implode(";\n",$te);}$te[]=(ereg(';$',$D)?"DELIMITER ;;\n$D;\nDELIMITER ":$D);return$g->query($D);}function
  192. apply_queries($D,$P,$Lb='table'){foreach($P
  193. as$N){if(!queries("$D ".$Lb($N))){return
  194. false;}}return
  195. true;}function
  196. queries_redirect($Wc,$hd,$ve){return
  197. query_redirect(queries(),$Wc,$hd,$ve,false,!$ve);}function
  198. remove_from_uri($Ud=""){return
  199. substr(preg_replace("~(?<=[?&])($Ud".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
  200. pagination($Td,$gb){return" ".($Td==$gb?$Td+1:'<a href="'.h(remove_from_uri("page").($Td?"&page=$Td":"")).'">'.($Td+1)."</a>");}function
  201. get_file($v,$lb=false){$Yb=$_FILES[$v];if(!$Yb||$Yb["error"]){return$Yb["error"];}$F=file_get_contents($lb&&ereg('\\.gz$',$Yb["name"])?"compress.zlib://$Yb[tmp_name]":($lb&&ereg('\\.bz2$',$Yb["name"])?"compress.bzip2://$Yb[tmp_name]":$Yb["tmp_name"]));if($lb){$Ze=substr($F,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$Ze,$Ae)){$F=iconv("utf-16","utf-8",$F);}elseif($Ze=="\xEF\xBB\xBF"){$F=substr($F,3);}}return$F;}function
  202. upload_error($k){$fd=($k==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($k?lang(1).($fd?" ".lang(2,$fd):""):lang(3));}function
  203. repeat_pattern($ce,$w){return
  204. str_repeat("$ce{0,65535}",$w/65535)."$ce{0,".($w
  205. %
  206. 65535)."}";}function
  207. is_utf8($W){return(preg_match('~~u',$W)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$W));}function
  208. shorten_utf8($L,$w=80,$gf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$w).")($)?)u",$L,$z)){preg_match("(^(".repeat_pattern("[\t\r\n -~]",$w).")($)?)",$L,$z);}return
  209. h($z[1]).$gf.(isset($z[2])?"":"<i>...</i>");}function
  210. friendly_url($W){return
  211. preg_replace('~[^a-z0-9_]~i','-',$W);}function
  212. hidden_fields($qe,$xc=array()){while(list($v,$W)=each($qe)){if(is_array($W)){foreach($W
  213. as$Kc=>$V){$qe[$v."[$Kc]"]=$V;}}elseif(!in_array($v,$xc)){echo'<input type="hidden" name="'.h($v).'" value="'.h($W).'">';}}}function
  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
  215. column_foreign_keys($N){global$b;$F=array();foreach($b->foreignKeys($N)as$n){foreach($n["source"]as$W){$F[$W][]=$n;}}return$F;}function
  216. enum_input($S,$za,$l,$X,$Db=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ad);$F=(isset($Db)?"<label><input type='$S'$za value='$Db'".((is_array($X)?in_array($Db,$X):$X===0)?" checked":"")."><i>".lang(4)."</i></label>":"");foreach($ad[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$La=(is_int($X)?$X==$p+1:(is_array($X)?in_array($p+1,$X):$X===$W));$F.=" <label><input type='$S'$za value='".($p+1)."'".($La?' checked':'').'>'.h($b->editVal($W,$l)).'</label>';}return$F;}function
  217. input($l,$X,$o){global$T,$b,$u;$_=h(bracket_escape($l["field"]));echo"<td class='function'>";$Ce=($u=="mssql"&&$l["auto_increment"]);if($Ce&&!$_POST["save"]){$o=null;}$lc=(isset($_GET["select"])||$Ce?array("orig"=>lang(5)):array())+$b->editFunctions($l);$za=" name='fields[$_]'";if($l["type"]=="enum"){echo
  218. nbsp($lc[""])."<td>".$b->editInput($_GET["edit"],$l,$za,$X);}else{$bc=0;foreach($lc
  219. as$v=>$W){if($v===""||!$W){break;}$bc++;}$Cd=($bc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($l["field"])))."]']; if ($bc > f.selectedIndex) f.selectedIndex = $bc;\"":"");$za.=$Cd;echo(count($lc)>1?html_select("function[$_]",$lc,!isset($o)||in_array($o,$lc)||isset($lc[$o])?$o:"","functionChange(this);"):nbsp(reset($lc))).'<td>';$Dc=$b->editInput($_GET["edit"],$l,$za,$X);if($Dc!=""){echo$Dc;}elseif($l["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ad);foreach($ad[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$La=(is_int($X)?($X>>$p)&1:in_array($W,explode(",",$X),true));echo" <label><input type='checkbox' name='fields[$_][$p]' value='".(1<<$p)."'".($La?' checked':'')."$Cd>".h($b->editVal($W,$l)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){echo"<input type='file' name='fields-$_'$Cd>";}elseif(ereg('text|lob',$l["type"])){echo"<textarea ".($u!="sqlite"||ereg("\n",$X)?"cols='50' rows='12'":"cols='30' rows='1' style='height: 1.2em;'")."$za>".h($X).'</textarea>';}else{$gd=(!ereg('int',$l["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$l["length"],$z)?((ereg("binary",$l["type"])?2:1)*$z[1]+($z[3]?1:0)+($z[2]&&!$l["unsigned"]?1:0)):($T[$l["type"]]?$T[$l["type"]]+($l["unsigned"]?0:1):0));echo"<input value='".h($X)."'".($gd?" maxlength='$gd'":"").(ereg('char|binary',$l["type"])&&$gd>20?" size='40'":"")."$za>";}}}function
  220. process_input($l){global$b;$r=bracket_escape($l["field"]);$o=$_POST["function"][$r];$X=$_POST["fields"][$r];if($l["type"]=="enum"){if($X==-1){return
  221. false;}if($X==""){return"NULL";}return+$X;}if($l["auto_increment"]&&$X==""){return
  222. null;}if($o=="orig"){return($l["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($l["field"]):false);}if($o=="NULL"){return"NULL";}if($l["type"]=="set"){return
  223. array_sum((array)$X);}if(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){$Yb=get_file("fields-$r");if(!is_string($Yb)){return
  224. false;}return
  225. q($Yb);}return$b->processInput($l,$X,$o);}function
  226. search_tables(){global$b,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$gc=false;foreach(table_status()as$N=>$O){$_=$b->tableName($O);if(isset($O["Engine"])&&$_!=""&&(!$_POST["tables"]||in_array($N,$_POST["tables"]))){$E=$g->query("SELECT".limit("1 FROM ".table($N)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($N),array())),1));if($E->fetch_row()){if(!$gc){echo"<ul>\n";$gc=true;}echo"<li><a href='".h(ME."select=".urlencode($N)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$_</a>\n";}}}echo($gc?"</ul>":"<p class='message'>".lang(6))."\n";}function
  227. dump_headers($wc,$pd=false){global$b;$F=$b->dumpHeaders($wc,$pd);$Rd=$_POST["output"];if($Rd!="text"){header("Content-Disposition: attachment; filename=".friendly_url($wc!=""?$wc:(SERVER!=""?SERVER:"localhost")).".$F".($Rd!="file"&&!ereg('[^0-9a-z]',$Rd)?".$Rd":""));}session_write_close();return$F;}function
  228. dump_csv($G){foreach($G
  229. as$v=>$W){if(preg_match("~[\"\n,;\t]~",$W)||$W===""){$G[$v]='"'.str_replace('"','""',$W).'"';}}echo
  230. implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$G)."\r\n";}function
  231. apply_sql_function($o,$e){return($o?($o=="unixepoch"?"DATETIME($e, '$o')":($o=="count distinct"?"COUNT(DISTINCT ":strtoupper("$o("))."$e)"):$e);}function
  232. password_file(){$pb=ini_get("upload_tmp_dir");if(!$pb){if(function_exists('sys_get_temp_dir')){$pb=sys_get_temp_dir();}else{$Zb=@tempnam("","");if(!$Zb){return
  233. false;}$pb=dirname($Zb);unlink($Zb);}}$Zb="$pb/adminer.key";$F=@file_get_contents($Zb);if($F){return$F;}$ic=@fopen($Zb,"w");if($ic){$F=md5(uniqid(mt_rand(),true));fwrite($ic,$F);fclose($ic);}return$F;}function
  234. is_mail($Ab){$ya='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$rb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ce="$ya+(\\.$ya+)*@($rb?\\.)+$rb";return
  235. preg_match("(^$ce(,\\s*$ce)*\$)i",$Ab);}function
  236. is_url($L){$rb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($rb?\\.)+$rb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$L,$z)?strtolower($z[1]):"");}global$b,$g,$tb,$zb,$Hb,$k,$lc,$qc,$ba,$Cc,$u,$ca,$Nc,$Bd,$ef,$Q,$R,$T,$Rf,$ia;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");$Vd=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Vd[]=true;}call_user_func_array('session_set_cookie_params',$Vd);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$ac);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);$Nc=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
  237. get_lang(){global$ca;return$ca;}function
  238. lang($r,$wd=null){global$ca,$R;$Ff=$R[$r];if(is_array($Ff)){$fe=($wd==1?0:($ca=='cs'||$ca=='sk'?($wd&&$wd<5?1:2):($ca=='fr'?(!$wd?0:1):($ca=='pl'?($wd
  239. %
  240. 10>1&&$wd
  241. %
  242. 10<5&&$wd/10
  243. %
  244. 10!=1?1:2):($ca=='sl'?($wd
  245. %
  246. 100==1?0:($wd
  247. %
  248. 100==2?1:($wd
  249. %
  250. 100==3||$wd
  251. %
  252. 100==4?2:3))):($ca=='lt'?($wd
  253. %
  254. 10==1&&$wd
  255. %
  256. 100!=11?0:($wd
  257. %
  258. 10>1&&$wd/10
  259. %
  260. 10!=1?1:2)):($ca=='ru'?($wd
  261. %
  262. 10==1&&$wd
  263. %
  264. 100!=11?0:($wd
  265. %
  266. 10>1&&$wd
  267. %
  268. 10<5&&$wd/10
  269. %
  270. 10!=1?1:2)):1)))))));$Ff=$Ff[$fe];}$xa=func_get_args();array_shift($xa);return
  271. vsprintf((isset($Ff)?$Ff:$r),$xa);}function
  272. switch_lang(){global$ca,$Nc;echo"<form action=''>\n<div id='lang'>";hidden_fields($_GET,array('lang'));echo
  273. lang(7).": ".html_select("lang",$Nc,$ca,"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"];}$ca="en";if(isset($Nc[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ca=$_COOKIE["adminer_lang"];}elseif(isset($Nc[$_SESSION["lang"]])){$ca=$_SESSION["lang"];}else{$pa=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$ad,PREG_SET_ORDER);foreach($ad
  274. as$z){$pa[$z[1]]=(isset($z[3])?$z[3]:1);}arsort($pa);foreach($pa
  275. as$v=>$C){if(isset($Nc[$v])){$ca=$v;break;}$v=preg_replace('~-.*~','',$v);if(!isset($pa[$v])&&isset($Nc[$v])){$ca=$v;break;}}}switch($ca){case"en":$R=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','Please use one of the extensions %s.','File exists.','User types','Numbers','Date and time','Strings','Binary','Network','Geometry','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','schema','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','Schema','Invalid schema.','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','Schema has been dropped.','Schema has been created.','Schema has been altered.','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','Sequence has been dropped.','Sequence has been created.','Sequence has been altered.','Alter sequence','Create sequence','Type has been dropped.','Type has been created.','Alter type','Create 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.','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','Sequences','Schedule','At given time',array('%d e-mail has been sent.','%d e-mails have been sent.'));break;case"cs":$R=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','Prosím použijte jednu z koncovek %s.','Soubor existuje.','Uživatelské typy','Čísla','Datum a čas','Řetězce','Binární','Síť','Geometrie','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','schéma','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','Schéma','Nesprávné schéma.','Žá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','Schéma bylo odstraněno.','Schéma bylo vytvořeno.','Schéma bylo změněno.','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','Sekvence byla odstraněna.','Sekvence byla vytvořena.','Sekvence byla změněna.','Pozměnit sekvenci','Vytvořit sekvenci','Typ byl odstraněn.','Typ byl vytvořen.','Pozměnit typ','Vytvořit 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.','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','Sekvence','Plán','V daný čas','teď');break;case"sk":$R=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ť','Prosím vyberte jednu z koncoviek %s.','Súbor existuje.','Užívateľské typy','Čísla','Dátum a čas','Reťazce','Binárne','Sieť','Geometria','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','schéma','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ť','Schéma','Neplatné schéma.','Ž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','Schéma bola odstránená.','Schéma bola vytvorená.','Schéma bola zmenená.','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','Sekvencia bola odstránená.','Sekvencia bola vytvorená.','Sekvencia bola zmenená.','Pozmeniť sekvenciu','Vytvoriť sekvenciu','Typ bol odstránený.','Typ bol vytvorený.','Pozmeniť typ','Vytvoriť 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á.','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ť','Sekvencia','Plán','V stanovený čas','HH:MM:SS');break;case"nl":$R=array('Weet u het zeker?','Onmogelijk bestand te uploaden.','Maximum toegelaten bestandsgrootte is %sB.','Bestand niet gevonden.','leeg','origineel','Geen tabellen.','Taal','Gebruik','Gebruik 1 van volgende extensies: %s.','Bestand bestaat reeds.','Gebruikersgedefiniëerde types','Getallen','Datum en tijd','Tekst','Binaire gegevens','Netwerk','Geometrie','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','schema','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','Schema','Ongeldig schema.','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','Schema verwijderd.','Schema aangemaakt.','Schema gewijzigd.','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','Sequence verwijderd.','Sequence aangemaakt.','Sequence gewijzigd.','Sequence wijzigen','Sequence maken','Type verwijderd.','Type aangemaakt.','Type wijzigen','Type maken','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.','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','Sequences','Schedule','Op aangegeven tijd','HH:MM:SS');break;case"es":$R=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','Por favor use una de las extensiones %s.','Archivo ya existe.','Tipos definido por el usuario','Números','Fecha y hora','Cadena','Binario','Red','Geometría','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','esquema','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','Esquema','Esquema inválido.','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','Esquema eliminado.','Esquema creado.','Esquema modificado.','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','Secuencia eliminada.','Secuencia creada.','Secuencia modificada.','Modificar secuencia','Crear secuencias','Tipo eliminado.','Tipo creado.','Modificar tipo','Crear tipo','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.','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','Secuencias','Agenda','A hora determinada','HH:MM:SS');break;case"de":$R=array('Sind Sie sicher ?','Hochladen von Datei fehlgeschlagen.','Maximal erlaubte Dateigrösse ist %sB.','Datei existiert nicht.','leer','Original','Keine Tabellen.','Sprache','Benutzung','Bitte einen der Dateitypen %s benutzen.','Datei existiert schon.','Benutzer-definierte Typen','Zahlen','Datum oder Zeit','Zeichenketten','Binär','Netzwerk','Geometrie','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','Schema','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','Schema','Schema nicht gültig.','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','Schema wurde gelöscht.','Neues Schema erstellt.','Schema geändert.','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','Sequenz gelöscht.','Neue Sequenz erstellt.','Sequenz geändert.','Sequenz ändern','Neue Sequenz','Typ gelöscht.','Typ erstellt.','Typ ändern','Typ erstellen','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).','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','Sequenz','Zeitplan','Zur angegebenen Zeit','HH:MM:SS');break;case"fr":$R=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','Veuillez utiliser l\'une des extensions %s.','Le fichier existe.','Types utilisateur','Nombres','Date et heure','Chaînes','Binaires','Réseau','Géométrie','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','schéma','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','Schéma','Schéma invalide.','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','Le schéma a été supprimé.','Le schéma a été créé.','Le schéma a été modifié.','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','La séquence a été supprimée.','La séquence a été créée.','La séquence a été modifiée.','Modifier la séquence','Créer une séquence','Le type a été supprimé.','Le type a été créé.','Modifier le type','Créer un type','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.','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','Séquences','Horaire','À un moment précis','HH:MM:SS');break;case"it":$R=array('Sicuro?','Caricamento del file non riuscito.','La dimensione massima del file è %sB.','Il file non esiste.','vuoto','originale','No tabelle.','Lingua','Usa','Usa una delle estensioni %s.','Il file esiste già.','Tipi definiti dall\'utente','Numeri','Data e ora','Stringhe','Binari','Rete','Geometria','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','schema','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','Schema','Schema non valido.','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','Schema eliminato.','Schema creato.','Schema modificato.','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','Sequenza eliminata.','Sequenza creata.','Sequenza modificata.','Modifica sequenza','Crea sequenza','Tipo definito dall\'utente eliminato.','Tipo definito dall\'utente creato.','Modifica tipo definito dall\'utente','Crea tipo definito dall\'utente','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.','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','Sequenza','Pianifica','A tempo prestabilito','HH:MM:SS');break;case"et":$R=array('Kas oled kindel?','Faili üleslaadimine pole võimalik.','Maksimaalne failisuurus %sB.','Faili ei leitud.','tühi','originaal','Tabeleid ei leitud.','Keel','Kasuta','Palun kasuta üht laiendustest %s.','Fail juba eksisteerib.','Kasutajatüübid','Numbrilised','Kuupäev ja kellaaeg','Tekstid','Binaar','Võrk (network)','Geomeetria','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','struktuur','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','Struktuur','Sobimatu skeema.','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','Struktuur on edukalt kustutatud.','Struktuur on edukalt loodud.','Struktuur on edukalt muudetud.','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','Jada on edukalt kustutatud.','Jada on edukalt loodud.','Jada on edukalt muudetud.','Muuda jada','Loo jada','Tüüp on edukalt kustutatud.','Tüüp on edukalt loodud.','Muuda tüüpi','Loo tüü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.','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','Jadad (sequences)','Ajakava','Antud ajahetkel','HH:MM:SS');break;case"hu":$R=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','Használja a(z) %s kiterjesztést.','A fájl létezik.','Felhasználói típus','Szám','Dátum és idő','Szöveg','Bináris','Hálózat','Geometria','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','séma','Ú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','Séma','Érvénytelen séma.','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','Séma eldobva.','Séma létrejött.','Séma módosult.','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','Sorozat eldobva.','Sorozat létrejött.','Sorozat módosult.','Sorozat módosítása','Sorozat létrehozása','Típus eldobva.','Típus létrehozva.','Típus módosítása','Típus létrehozása','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.','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','Sorozatok','Ütemzés','Megadott időben','óó:pp:mm');break;case"pl":$R=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','Proszę użyć jednego z rozszerzeń: %s.','Plik już istnieje.','Typy użytkownika','Numeryczne','Data i czas','Tekstowe','Binarne','Sieć','Geometria','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','schemat','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ż','Schemat','Nieprawidłowy schemat.','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','Schemat został usunięty.','Schemat został utworzony.','Schemat został zmieniony.','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','Sekwencja została usunięta.','Sekwencja została utworzona.','Sekwencja została zmieniona.','Zmień sekwencję','Utwórz sekwencję','Typ został usunięty.','Typ został utworzony.','Zmień typ','Utwórz 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.','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','Sekwencje','Harmonogram','O danym czasie','teraz');break;case"ca":$R=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','Si us plau, utilitza una de les extensions %s.','El fitxer ja existeix.','Tipus de l\'usuari','Nombres','Data i hora','Cadenes','Binari','Xarxa','Geometria','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','esquema','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','Esquema','Esquema invàlid.','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','S\'ha suprimit l\'esquema.','S\'ha creat l\'esquema.','S\'ha modificat l\'esquema.','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 la seqüència.','S\'ha creat la seqüència.','S\'ha modificat la seqüència.','Modifica la seqüència','Crea una seqüència','S\'ha suprimit el tipus.','S\'ha creat el tipus.','Modifica el tipus','Crea un tipus','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.','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','Seqüències','Horari','A un moment donat','HH:MM:SS');break;case"pt":$R=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','Por favor use uma das extensões %s.','Arquivo ja existe.','Tipos definido pelo usuario','Números','Data e hora','Cadena','Binario','Rede','Geometría','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','esquema','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','Esquema','Esquema inválido.','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','Esquema eliminado.','Esquema criado.','Esquema modificado.','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','Sequencia eliminada.','Sequencia criada.','Sequencia modificada.','Modificar sequencia','Criar sequencias','Tipo eliminado.','Tipo criado.','Modificar tipo','Criar tipo','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.','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','Sequencias','Agenda','A hora determinada','agora');break;case"sl":$R=array('Ste prepričani?','Ne morem naložiti datoteke.','Največja velikost datoteke je %sB.','Datoteka ne obstaja.','prazno','original','Ni tabel.','Jezik','Uporabi','Prosim, uporabite enega od dodatkov %s.','Datoteka obstaja.','Uporabniški tipi','Števila','Datum in čas','Nizi','Binarni','Mrežni','Geometrčni','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','shema','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','Shema','Neveljavna shema.','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','Shema je zavržena.','Shema je ustvarjena.','Shema je spremenjena.','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','Sekvenca je zavržena.','Sekvence je ustvarjena.','Sekvence je spremenjena.','Spremni sekvenco','Ustvari sekvenco','Tip je zavržen.','Tip je ustvarjen.','Spremeni tip','Ustvari 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.','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','Sekvence','Urnik','v danem času','zdaj');break;case"lt":$R=array('Tikrai?','Nepavyko įkelti failo.','Maksimalus failo dydis - %sB.','Failas neegzistuoja.','tuščia','originalas','Nėra lentelių.','Kalba','Naudoti','Naudokite vieną iš plėtinių %s.','Failas egzistuoja.','Vartotojų tipai','Skaičiai','Data ir laikas','Tekstas','Dvejetainis','Tinklas','Geometrija','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ė','schema','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','Schema','Neteisinga schema.','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ę','Schema pašalinta.','Schema sukurta.','Schema pakeista.','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','Seka pašalinta.','Seka sukurta.','Seka pakeista.','Keisti seką','Sukurti seką','Tipas pašalintas.','Tipas sukurtas.','Keisti tipą','Sukurti tipą','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.','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','Sekos','Grafikas','Nurodytu laiku','dabar');break;case"tr":$R=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','%s uzantılarından birini kullanın.','Dosya mevcut.','Kullanıcı türleri','Sayılar','Tarih ve zaman','Sözcükler','İkili','Ağ','Geometri','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ı','şema','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','Şema','Geçersiz şema.','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','Şema düşürüldü.','Şema yaratıldı.','Şema değiştirildi.','Ç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ü','Dizi düşürüldü.','Dizi yaratıldı.','Dizi değiştirildi.','Dizi değiştir','Dizi yarat','Tür düşürüldü.','Tür yaratıldı.','Tür değiştir','Tür yarat','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ü.','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','Diziler','Takvimli','Bir anda','şimdi');break;case"ro":$R=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','Folosiți una din următoarele extensii %s.','Fișierul deja există.','Tipuri de utilizatori','Număr','Data și timpul','Șire de caractere','Tip binar','Rețea','Geometrie','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','schema','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ă','Schema','Schemă incorectă.','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','Schema a fost ștearsă.','Schema a fost creată.','Schema a fost modificată.','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','«secvența» a fost ștearsă.','«secvența» a fost creată.','«secvența» a fost modificată.','Modifică «secvență»','Crează «secvență»','Tiipul a fost șters.','Crează tip nou.','Modifică tip','Crează tip noi','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.','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ă','«Secvențe»','Program','În timpul curent','HH:MM:SS');break;case"ru":$R=array('Вы уверены?','Не удалось загрузить файл на сервер.','Максимальный разрешенный размер файла - %sB.','Такого файла не существует.','пусто','исходный','В базе данных нет таблиц.','Язык','Выбрать','Используйте одно из этих расширений %s.','Файл уже существует.','Типы пользователей','Число','Дата и время','Строки','Двоичный тип','Сеть','Геометрия','Списки','Движок','Сервер','Имя пользователя','Пароль','Войти','Оставаться в системе','Выбрать','Показать структуру','Изменить представление','Изменить таблицу','Новая запись','Последняя страница','Редактировать',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":$R=array('你确定吗?','不能上传文件。','最多允许的文件大小为 %sB','文件不存在。','空','原始','没有表。','语言','使用','请使用这些扩展中的一个:%s。','文件已存在。','用户类型','数字','日期时间','字符串','二进制','网络','几何图形','列表','系统','服务器','用户名','密码','登录','保持登录','选择数据','显示结构','更改视图','更改表','新建项','末页','编辑','%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":$R=array('你確定嗎?','無法上傳檔案。','允許的檔案上限大小為%sB','檔案不存在','空值','原始','沒有資料表。','語言','使用','請使用下列其中一個 extension %s。','檔案已存在。','使用者類型','數字','日期時間','字符串','二進制','網路','幾何','列表','資料庫系統','伺服器','帳號','密碼','登入','永久登入','選擇資料','秀出結構','更改檢視表','更改資料表','新建項','最後一頁','編輯','%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行被影響','已刪除外鍵。','已更改外鍵。','已建立外鍵。','源列和目標列必須具有相同的數據類型,在目標列上必須有一個索引並且引用的數據必須存在。','外鍵','目標資料表','更改','新增資料列','已丟棄檢視表。','已更改檢視表。','已建立檢視表。','建立檢視表','已丟棄事件。','已更改事件。','已建立事件。','更改事件','建立事件','開始','結束','每','在完成後保存','已丟棄程序。','已更改子程序。','已建立子程序。','更改函數','更改過程','建立函數','建立預存程序','返回類型','已刪除 sequence。','已建立 sequence。','已更改 sequence。','更改 sequence','建立 sequence','已刪除類型。','已建立類型。','更改類型','建立類型','已丟棄觸發器。','已更改觸發器。','已建立觸發器。','更改觸發器','建立觸發器','時間','事件','已丟棄使用者。','已更改使用者。','已建立使用者。','Hashed','程序','授權','廢除','%d 個 Process(es) 被終止','總共 %d 個','終止','%d個項目受到影響。','雙擊以進行修改。','%d行已導入。','無法選擇該資料表','編輯','關聯','使用編輯連結來修改。','頁','最後一頁','所有結果','複製','匯入',',','已清空資料表。','已轉移資料表。','表格已經複製','已丟棄表。','資料表和檢視表','在資料庫搜尋','引擎','資料長度','索引長度','資料空閒','行數','分析','優化','檢查','修復','清空','轉移到其它資料庫','轉移','複製','Sequences','調度','在指定時間','HH:MM:SS');break;case"ja":$R=array('実行しますか?','ファイルをアップロードできません','最大ファイルサイズ %sB','ファイルは存在しません','空','元','テーブルがありません。','言語','使用','いずれかの拡張機能を使ってください %s','ファイルが既に存在します','ユーザー定義型','数字','日時','文字列','バイナリ','ネットワーク型','ジオメトリ型','リスト','データベース種類','サーバ','ユーザ名','パスワード','ログイン','永続的にログイン','データ','構造','ビューを変更','テーブルの変更','項目の作成','最後のページ','編集','%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":$R=array('நிச்ச‌ய‌மாக‌ ?','கோப்பை மேலேற்ற‌ம் (upload) செய்ய‌ இயல‌வில்லை.','கோப்பின் அதிக‌ப‌ட்ச‌ அள‌வு %sB.','கோப்பு இல்லை.','வெறுமை (empty)','அச‌ல்','அட்ட‌வ‌ணை இல்லை.','மொழி','உப‌யோகி','த‌ய‌வு செய்து ஒரு விரிவினை %s (extension) உப‌யோகிக்க‌வும்.','கோப்பு உள்ள‌து.','ப‌ய‌னாள‌ர் வ‌கைக‌ள்','எண்க‌ள்','தேதி ம‌ற்றும் நேர‌ம்','ச‌ர‌ம் (String)','பைன‌ரி','நெட்வொர்க்','வ‌டிவ‌விய‌ல் (Geometry)','ப‌ட்டிய‌ல்','சிஸ்ட‌ம் (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)','அமைப்புமுறை','அமைப்புமுறை ச‌ரியான‌த‌ல்ல‌ (Invalid Schema).','வ‌ரிசை இல்லை.','%.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 உருவாக்கு','செய்முறையை உருவாக்கு','திரும்பு வ‌கை','வ‌ரிசைமுறை நீக்க‌ப்ப‌ட்ட‌து.','வ‌ரிசைமுறை உருவாக்க‌ப்ப‌ட்ட‌து.','வ‌ரிசைமுறை மாற்ற‌ப்ப‌ட்ட‌து.','வ‌ரிசைமுறையை மாற்று','வ‌ரிசைமுறையை உருவாக்கு','வ‌கை (type) நீக்க‌ப்ப‌ட்ட‌து.','வ‌கை (type) உருவாக்க‌ப்ப‌ட்ட‌து.','வ‌கையினை (type) மாற்று','வ‌கையை உருவாக்கு','தூண்டு விசை நீக்க‌ப்ப‌ட்ட‌து.','தூண்டு விசை மாற்ற‌ப்ப‌ட்ட‌து.','தூண்டு விசை உருவாக்க‌ப்ப‌ட்ட‌து.','தூண்டு விசையை மாற்று','தூண்டு விசையை உருவாக்கு','நேர‌ம்','நிக‌ழ்ச்சி','ப‌யனீட்டாள‌ர் நீக்க‌ப்ப‌ட்டார்.','ப‌யனீட்டாள‌ர் மாற்றப்ப‌ட்டார்.','ப‌ய‌னீட்டாள‌ர் உருவாக்க‌ப்ப‌ட்ட‌து.','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":$R=array('هل أنت متأكد؟','من غير الممكن رفع الملف.','حجم الملف الأقصى هو %sB.','الملف غير موجود.','فارغ','الأصلي','لا توجد جداول.','اللغة','المستعمل','من فضلك إستعمل إحدى الإمتدادات: %s.','الملف موجود.','نوع المستخدم','أعداد','التاريخ و الوقت','سلاسل','ثنائية','شبكة','هندسة','قوائم','النظام','الخادم','المستعمل','كلمة المرور','تسجيل الدخول','تسجيل دخول دائم','عرض البيانات','عرض التركيبة','تعديل عرض','تعديل الجدول','عنصر جديد','الصفحة السابقة','تعديل','%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
  276. Min_PDO
  277. extends
  278. PDO{var$_result,$server_info,$affected_rows,$error;function
  279. __construct(){}function
  280. dsn($wb,$U,$B,$Ob='auth_error'){set_exception_handler($Ob);parent::__construct($wb,$U,$B);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
  281. query($D,$Lf=false){$E=parent::query($D);if(!$E){$Jb=$this->errorInfo();$this->error=$Jb[2];return
  282. false;}$this->store_result($E);return$E;}function
  283. multi_query($D){return$this->_result=$this->query($D);}function
  284. store_result($E=null){if(!$E){$E=$this->_result;}if($E->columnCount()){$E->num_rows=$E->rowCount();return$E;}$this->affected_rows=$E->rowCount();return
  285. true;}function
  286. next_result(){return$this->_result->nextRowset();}function
  287. result($D,$l=0){$E=$this->query($D);if(!$E){return
  288. false;}$G=$E->fetch();return$G[$l];}}class
  289. Min_PDOStatement
  290. extends
  291. PDOStatement{var$_offset=0,$num_rows;function
  292. fetch_assoc(){return$this->fetch(2);}function
  293. fetch_row(){return$this->fetch(3);}function
  294. fetch_field(){$G=(object)$this->getColumnMeta($this->_offset++);$G->orgtable=$G->table;$G->orgname=$G->name;$G->charsetnr=(in_array("blob",$G->flags)?63:0);return$G;}}}$tb=array();$tb["sqlite"]="SQLite 3";$tb["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$ie=array((isset($_GET["sqlite"])?"SQLite3":"SQLite"),"PDO_SQLite");define("DRIVER",(isset($_GET["sqlite"])?"sqlite":"sqlite2"));if(extension_loaded(isset($_GET["sqlite"])?"sqlite3":"sqlite")){if(isset($_GET["sqlite"])){class
  295. Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$error,$_link;function
  296. Min_SQLite($Zb){$this->_link=new
  297. SQLite3($Zb);$Yf=$this->_link->version();$this->server_info=$Yf["versionString"];}function
  298. query($D){$E=@$this->_link->query($D);if(!$E){$this->error=$this->_link->lastErrorMsg();return
  299. false;}elseif($E->numColumns()){return
  300. new
  301. Min_Result($E);}$this->affected_rows=$this->_link->changes();return
  302. true;}function
  303. quote($L){return"'".$this->_link->escapeString($L)."'";}function
  304. store_result(){return$this->_result;}function
  305. result($D,$l=0){$E=$this->query($D);if(!is_object($E)){return
  306. false;}$G=$E->_result->fetchArray();return$G[$l];}}class
  307. Min_Result{var$_result,$_offset=0,$num_rows;function
  308. Min_Result($E){$this->_result=$E;}function
  309. fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
  310. fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
  311. fetch_field(){$e=$this->_offset++;$S=$this->_result->columnType($e);return(object)array("name"=>$this->_result->columnName($e),"type"=>$S,"charsetnr"=>($S==SQLITE3_BLOB?63:0),);}function
  312. __desctruct(){return$this->_result->finalize();}}}else{class
  313. Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
  314. Min_SQLite($Zb){$this->server_info=sqlite_libversion();$this->_link=new
  315. SQLiteDatabase($Zb);}function
  316. query($D,$Lf=false){$md=($Lf?"unbufferedQuery":"query");$E=@$this->_link->$md($D,SQLITE_BOTH,$k);if(!$E){$this->error=$k;return
  317. false;}elseif($E===true){$this->affected_rows=$this->changes();return
  318. true;}return
  319. new
  320. Min_Result($E);}function
  321. quote($L){return"'".sqlite_escape_string($L)."'";}function
  322. store_result(){return$this->_result;}function
  323. result($D,$l=0){$E=$this->query($D);if(!is_object($E)){return
  324. false;}$G=$E->_result->fetch();return$G[$l];}}class
  325. Min_Result{var$_result,$_offset=0,$num_rows;function
  326. Min_Result($E){$this->_result=$E;if(method_exists($E,'numRows')){$this->num_rows=$E->numRows();}}function
  327. fetch_assoc(){$G=$this->_result->fetch(SQLITE_ASSOC);if(!$G){return
  328. false;}$F=array();foreach($G
  329. as$v=>$W){$F[($v[0]=='"'?idf_unescape($v):$v)]=$W;}return$F;}function
  330. fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
  331. fetch_field(){$_=$this->_result->fieldName($this->_offset++);$ce='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($ce\\.)?$ce\$~",$_,$z)){$N=($z[3]!=""?$z[3]:idf_unescape($z[2]));$_=($z[5]!=""?$z[5]:idf_unescape($z[4]));}return(object)array("name"=>$_,"orgname"=>$_,"orgtable"=>$N,);}}}}elseif(extension_loaded("pdo_sqlite")){class
  332. Min_SQLite
  333. extends
  334. Min_PDO{var$extension="PDO_SQLite";function
  335. Min_SQLite($Zb){$this->dsn(DRIVER.":$Zb","","");}}}if(class_exists("Min_SQLite")){class
  336. Min_DB
  337. extends
  338. Min_SQLite{function
  339. Min_DB(){$this->Min_SQLite(":memory:");}function
  340. select_db($Zb){if(is_readable($Zb)&&$this->query("ATTACH ".$this->quote(ereg("(^[/\\]|:)",$Zb)?$Zb:dirname($_SERVER["SCRIPT_FILENAME"])."/$Zb")." AS a")){$this->Min_SQLite($Zb);return
  341. true;}return
  342. false;}function
  343. multi_query($D){return$this->_result=$this->query($D);}function
  344. next_result(){return
  345. false;}}}function
  346. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  347. table($r){return
  348. idf_escape($r);}function
  349. connect(){return
  350. new
  351. Min_DB;}function
  352. get_databases(){return
  353. array();}function
  354. limit($D,$Z,$x,$A=0,$Re=" "){return" $D$Z".(isset($x)?$Re."LIMIT $x".($A?" OFFSET $A":""):"");}function
  355. limit1($D,$Z){global$g;return($g->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($D,$Z,1):" $D$Z");}function
  356. db_collation($j,$Qa){global$g;return$g->result("PRAGMA encoding");}function
  357. engines(){return
  358. array();}function
  359. logged_user(){return
  360. get_current_user();}function
  361. tables_list(){return
  362. get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name",1);}function
  363. count_tables($i){return
  364. array();}function
  365. table_status($_=""){$F=array();foreach(get_rows("SELECT name AS Name, type AS Engine FROM sqlite_master WHERE type IN ('table', 'view')".($_!=""?" AND name = ".q($_):""))as$G){$G["Auto_increment"]="";$F[$G["Name"]]=$G;}foreach(get_rows("SELECT * FROM sqlite_sequence",null,"")as$G){$F[$G["name"]]["Auto_increment"]=$G["seq"];}return($_!=""?$F[$_]:$F);}function
  366. is_view($O){return$O["Engine"]=="view";}function
  367. fk_support($O){global$g;return$_GET["create"]==""&&!$g->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
  368. fields($N){$F=array();foreach(get_rows("PRAGMA table_info(".table($N).")")as$G){$S=strtolower($G["type"]);$mb=$G["dflt_value"];$F[$G["name"]]=array("field"=>$G["name"],"type"=>(eregi("int",$S)?"integer":(eregi("char|clob|text",$S)?"text":(eregi("blob",$S)?"blob":(eregi("real|floa|doub",$S)?"real":"numeric")))),"full_type"=>$S,"default"=>(ereg("'(.*)'",$mb,$z)?str_replace("''","'",$z[1]):($mb=="NULL"?null:$mb)),"null"=>!$G["notnull"],"auto_increment"=>eregi('^integer$',$S)&&$G["pk"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$G["pk"],);}return$F;}function
  369. indexes($N,$h=null){$F=array();$le=array();foreach(fields($N)as$l){if($l["primary"]){$le[]=$l["field"];}}if($le){$F[""]=array("type"=>"PRIMARY","columns"=>$le,"lengths"=>array());}foreach(get_rows("PRAGMA index_list(".table($N).")")as$G){$F[$G["name"]]["type"]=($G["unique"]?"UNIQUE":"INDEX");$F[$G["name"]]["lengths"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($G["name"]).")")as$Je){$F[$G["name"]]["columns"][]=$Je["name"];}}return$F;}function
  370. foreign_keys($N){$F=array();foreach(get_rows("PRAGMA foreign_key_list(".table($N).")")as$G){$n=&$F[$G["id"]];if(!$n){$n=$G;}$n["source"][]=$G["from"];$n["target"][]=$G["to"];}return$F;}function
  371. view($_){global$g;return
  372. array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($_))));}function
  373. collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
  374. information_schema($j){return
  375. false;}function
  376. error(){global$g;return
  377. h($g->error);}function
  378. exact_value($W){return
  379. q($W);}function
  380. check_sqlite_name($_){global$g;$Vb="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($Vb)\$~",$_)){$g->error=lang(9,str_replace("|",", ",$Vb));return
  381. false;}return
  382. true;}function
  383. create_database($j,$d){global$g;if(file_exists($j)){$g->error=lang(10);return
  384. false;}if(!check_sqlite_name($j)){return
  385. false;}$y=new
  386. Min_SQLite($j);$y->query('PRAGMA encoding = "UTF-8"');$y->query('CREATE TABLE adminer (i)');$y->query('DROP TABLE adminer');return
  387. true;}function
  388. drop_databases($i){global$g;$g->Min_SQLite(":memory:");foreach($i
  389. as$j){if(!@unlink($j)){$g->error=lang(10);return
  390. false;}}return
  391. true;}function
  392. rename_database($_,$d){global$g;if(!check_sqlite_name($_)){return
  393. false;}$g->Min_SQLite(":memory:");$g->error=lang(10);return@rename(DB,$_);}function
  394. auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
  395. alter_table($N,$_,$m,$dc,$Ua,$Fb,$d,$_a,$Zd){$c=array();foreach($m
  396. as$l){if($l[1]){$c[]=($N!=""&&$l[0]==""?"ADD ":" ").implode($l[1]);}}$c=array_merge($c,$dc);if($N!=""){foreach($c
  397. as$W){if(!queries("ALTER TABLE ".table($N)." $W")){return
  398. false;}}if($N!=$_&&!queries("ALTER TABLE ".table($N)." RENAME TO ".table($_))){return
  399. false;}}elseif(!queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)")){return
  400. false;}if($_a){queries("UPDATE sqlite_sequence SET seq = $_a WHERE name = ".q($_));}return
  401. true;}function
  402. alter_indexes($N,$c){foreach($c
  403. as$W){if(!queries($W[2]=="DROP"?"DROP INDEX ".idf_escape($W[1]):"CREATE $W[0] ".($W[0]!="INDEX"?"INDEX ":"").idf_escape($W[1]!=""?$W[1]:uniqid($N."_"))." ON ".table($N)." $W[2]")){return
  404. false;}}return
  405. true;}function
  406. truncate_tables($P){return
  407. apply_queries("DELETE FROM",$P);}function
  408. drop_views($Y){return
  409. apply_queries("DROP VIEW",$Y);}function
  410. drop_tables($P){return
  411. apply_queries("DROP TABLE",$P);}function
  412. move_tables($P,$Y,$tf){return
  413. false;}function
  414. trigger($_){global$g;if($_==""){return
  415. array("Statement"=>"BEGIN\n\t;\nEND");}preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s+([a-z]+)\\s+ON\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*(?:FOR\\s*EACH\\s*ROW\\s)?(.*)~is',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($_)),$z);return
  416. array("Timing"=>strtoupper($z[1]),"Event"=>strtoupper($z[2]),"Trigger"=>$_,"Statement"=>$z[3]);}function
  417. triggers($N){$F=array();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($N))as$G){preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s*([a-z]+)~i',$G["sql"],$z);$F[$G["name"]]=array($z[1],$z[2]);}return$F;}function
  418. trigger_options(){return
  419. array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Type"=>array("FOR EACH ROW"),);}function
  420. routine($_,$S){}function
  421. routines(){}function
  422. routine_languages(){}function
  423. begin(){return
  424. queries("BEGIN");}function
  425. insert_into($N,$K){return
  426. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  427. insert_update($N,$K,$le){return
  428. queries("REPLACE INTO ".table($N)." (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).")");}function
  429. last_id(){global$g;return$g->result("SELECT LAST_INSERT_ROWID()");}function
  430. explain($g,$D){return$g->query("EXPLAIN $D");}function
  431. found_rows($O,$Z){}function
  432. types(){return
  433. array();}function
  434. schemas(){return
  435. array();}function
  436. get_schema(){return"";}function
  437. set_schema($Ne){return
  438. true;}function
  439. create_sql($N,$_a){global$g;return$g->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($N));}function
  440. truncate_sql($N){return"DELETE FROM ".table($N);}function
  441. use_sql($jb){}function
  442. trigger_sql($N,$M){return
  443. implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($N)));}function
  444. show_variables(){global$g;$F=array();foreach(array("auto_vacuum","cache_size","count_changes","default_cache_size","empty_result_callbacks","encoding","foreign_keys","full_column_names","fullfsync","journal_mode","journal_size_limit","legacy_file_format","locking_mode","page_size","max_page_count","read_uncommitted","recursive_triggers","reverse_unordered_selects","secure_delete","short_column_names","synchronous","temp_store","temp_store_directory","schema_version","integrity_check","quick_check")as$v){$F[$v]=$g->result("PRAGMA $v");}return$F;}function
  445. show_status(){$F=array();foreach(get_vals("PRAGMA compile_options")as$Gd){list($v,$W)=explode("=",$Gd,2);$F[$v]=$W;}return$F;}function
  446. support($Xb){return
  447. ereg('^(view|trigger|variables|status|dump)$',$Xb);}$u="sqlite";$T=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$ef=array_keys($T);$Rf=array();$Fd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","");$lc=array("hex","length","lower","round","unixepoch","upper");$qc=array("avg","count","count distinct","group_concat","max","min","sum");$zb=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$tb["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$ie=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
  448. Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error;function
  449. _error($Ib,$k){if(ini_bool("html_errors")){$k=html_entity_decode(strip_tags($k));}$k=ereg_replace('^[^:]*: ','',$k);$this->error=$k;}function
  450. connect($J,$U,$B){global$b;$j=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($J,"'\\"))."' user='".addcslashes($U,"'\\")."' password='".addcslashes($B,"'\\")."'";$this->_link=@pg_connect($this->_string.($j!=""?" dbname='".addcslashes($j,"'\\")."'":" dbname='template1'"),PGSQL_CONNECT_FORCE_NEW);if(!$this->_link&&$j!=""){$this->_database=false;$this->_link=@pg_connect("$this->_string dbname='template1'",PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this->_link){$Yf=pg_version($this->_link);$this->server_info=$Yf["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
  451. quote($L){return"'".pg_escape_string($this->_link,$L)."'";}function
  452. select_db($jb){global$b;if($jb==$b->database()){return$this->_database;}$F=@pg_connect("$this->_string dbname='".addcslashes($jb,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($F){$this->_link=$F;}return$F;}function
  453. close(){$this->_link=@pg_connect("$this->_string dbname='template1'");}function
  454. query($D,$Lf=false){$E=@pg_query($this->_link,$D);if(!$E){$this->error=pg_last_error($this->_link);return
  455. false;}elseif(!pg_num_fields($E)){$this->affected_rows=pg_affected_rows($E);return
  456. true;}return
  457. new
  458. Min_Result($E);}function
  459. multi_query($D){return$this->_result=$this->query($D);}function
  460. store_result(){return$this->_result;}function
  461. next_result(){return
  462. false;}function
  463. result($D,$l=0){$E=$this->query($D);if(!$E||!$E->num_rows){return
  464. false;}return
  465. pg_fetch_result($E->_result,0,$l);}}class
  466. Min_Result{var$_result,$_offset=0,$num_rows;function
  467. Min_Result($E){$this->_result=$E;$this->num_rows=pg_num_rows($E);}function
  468. fetch_assoc(){return
  469. pg_fetch_assoc($this->_result);}function
  470. fetch_row(){return
  471. pg_fetch_row($this->_result);}function
  472. fetch_field(){$e=$this->_offset++;$F=new
  473. stdClass;if(function_exists('pg_field_table')){$F->orgtable=pg_field_table($this->_result,$e);}$F->name=pg_field_name($this->_result,$e);$F->orgname=$F->name;$F->type=pg_field_type($this->_result,$e);$F->charsetnr=($F->type=="bytea"?63:0);return$F;}function
  474. __destruct(){pg_free_result($this->_result);}}}elseif(extension_loaded("pdo_pgsql")){class
  475. Min_DB
  476. extends
  477. Min_PDO{var$extension="PDO_PgSQL";function
  478. connect($J,$U,$B){global$b;$j=$b->database();$L="pgsql:host='".str_replace(":","' port='",addcslashes($J,"'\\"))."' options='-c client_encoding=utf8'";$this->dsn($L.($j!=""?" dbname='".addcslashes($j,"'\\")."'":""),$U,$B);return
  479. true;}function
  480. select_db($jb){global$b;return($b->database()==$jb);}function
  481. close(){}}}function
  482. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  483. table($r){return
  484. idf_escape($r);}function
  485. connect(){global$b;$g=new
  486. Min_DB;$fb=$b->credentials();if($g->connect($fb[0],$fb[1],$fb[2])){return$g;}return$g->error;}function
  487. get_databases(){return
  488. get_vals("SELECT datname FROM pg_database ORDER BY datname");}function
  489. limit($D,$Z,$x,$A=0,$Re=" "){return" $D$Z".(isset($x)?$Re."LIMIT $x".($A?" OFFSET $A":""):"");}function
  490. limit1($D,$Z){return" $D$Z";}function
  491. db_collation($j,$Qa){global$g;return$g->result("SHOW LC_COLLATE");}function
  492. engines(){return
  493. array();}function
  494. logged_user(){global$g;return$g->result("SELECT user");}function
  495. tables_list(){return
  496. get_key_vals("SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema() ORDER BY table_name");}function
  497. count_tables($i){return
  498. array();}function
  499. table_status($_=""){$F=array();foreach(get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN '' ELSE 'view' END AS \"Engine\", pg_relation_size(oid) AS \"Data_length\", pg_total_relation_size(oid) - pg_relation_size(oid) AS \"Index_length\", obj_description(oid, 'pg_class') AS \"Comment\", relhasoids AS \"Oid\"
  500. FROM pg_class
  501. WHERE relkind IN ('r','v')
  502. AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())".($_!=""?" AND relname = ".q($_):""))as$G){$F[$G["Name"]]=$G;}return($_!=""?$F[$_]:$F);}function
  503. is_view($O){return$O["Engine"]=="view";}function
  504. fk_support($O){return
  505. true;}function
  506. fields($N){$F=array();foreach(get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, d.adsrc AS default, a.attnotnull, col_description(c.oid, a.attnum) AS comment
  507. FROM pg_class c
  508. JOIN pg_namespace n ON c.relnamespace = n.oid
  509. JOIN pg_attribute a ON c.oid = a.attrelid
  510. LEFT JOIN pg_attrdef d ON c.oid = d.adrelid AND a.attnum = d.adnum
  511. WHERE c.relname = ".q($N)."
  512. AND n.nspname = current_schema()
  513. AND NOT a.attisdropped
  514. AND a.attnum > 0
  515. ORDER BY a.attnum")as$G){ereg('(.*)(\\((.*)\\))?',$G["full_type"],$z);list(,$G["type"],,$G["length"])=$z;$G["full_type"]=$G["type"].($G["length"]?"($G[length])":"");$G["null"]=($G["attnotnull"]=="f");$G["auto_increment"]=eregi("^nextval\\(",$G["default"]);$G["privileges"]=array("insert"=>1,"select"=>1,"update"=>1);if(preg_match('~^(.*)::.+$~',$G["default"],$z)){$G["default"]=($z[1][0]=="'"?idf_unescape($z[1]):$z[1]);}$F[$G["field"]]=$G;}return$F;}function
  516. indexes($N,$h=null){global$g;if(!is_object($h)){$h=$g;}$F=array();$nf=$h->result("SELECT oid FROM pg_class WHERE relname = ".q($N));$f=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $nf AND attnum > 0",$h);foreach(get_rows("SELECT relname, indisunique, indisprimary, indkey FROM pg_index i, pg_class ci WHERE i.indrelid = $nf AND ci.oid = i.indexrelid",$h)as$G){$F[$G["relname"]]["type"]=($G["indisprimary"]=="t"?"PRIMARY":($G["indisunique"]=="t"?"UNIQUE":"INDEX"));$F[$G["relname"]]["columns"]=array();foreach(explode(" ",$G["indkey"])as$_c){$F[$G["relname"]]["columns"][]=$f[$_c];}$F[$G["relname"]]["lengths"]=array();}return$F;}function
  517. foreign_keys($N){global$Bd;$F=array();foreach(get_rows("SELECT conname, pg_get_constraintdef(oid) AS definition
  518. FROM pg_constraint
  519. WHERE conrelid = (SELECT oid FROM pg_class WHERE relname = ".q($N).")
  520. AND contype = 'f'::char
  521. ORDER BY conkey, conname")as$G){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$G['definition'],$z)){$G['source']=array_map('trim',explode(',',$z[1]));$G['table']=$z[2];if(preg_match('~(.+)\.(.+)~',$z[2],$Zc)){$G['ns']=$Zc[1];$G['table']=$Zc[2];}$G['target']=array_map('trim',explode(',',$z[3]));$G['on_delete']=(preg_match("~ON DELETE ($Bd)~",$z[4],$Zc)?$Zc[1]:'');$G['on_update']=(preg_match("~ON UPDATE ($Bd)~",$z[4],$Zc)?$Zc[1]:'');$F[$G['conname']]=$G;}}return$F;}function
  522. view($_){global$g;return
  523. array("select"=>$g->result("SELECT pg_get_viewdef(".q($_).")"));}function
  524. collations(){return
  525. array();}function
  526. information_schema($j){return($j=="information_schema");}function
  527. error(){global$g;$F=h($g->error);if(preg_match('~^(.*\\n)?([^\\n]*)\\n( *)\\^(\\n.*)?$~s',$F,$z)){$F=$z[1].preg_replace('~((?:[^&]|&[^;]*;){'.strlen($z[3]).'})(.*)~','\\1<b>\\2</b>',$z[2]).$z[4];}return
  528. nl_br($F);}function
  529. exact_value($W){return
  530. q($W);}function
  531. create_database($j,$d){return
  532. queries("CREATE DATABASE ".idf_escape($j).($d?" ENCODING ".idf_escape($d):""));}function
  533. drop_databases($i){global$g;$g->close();return
  534. apply_queries("DROP DATABASE",$i,'idf_escape');}function
  535. rename_database($_,$d){return
  536. queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($_));}function
  537. auto_increment(){return"";}function
  538. alter_table($N,$_,$m,$dc,$Ua,$Fb,$d,$_a,$Zd){$c=array();$te=array();foreach($m
  539. as$l){$e=idf_escape($l[0]);$W=$l[1];if(!$W){$c[]="DROP $e";}else{$Wf=$W[5];unset($W[5]);if(isset($W[6])&&$l[0]==""){$W[1]=($W[1]=="bigint"?" big":" ")."serial";}if($l[0]==""){$c[]=($N!=""?"ADD ":" ").implode($W);}else{if($e!=$W[0]){$te[]="ALTER TABLE ".table($N)." RENAME $e TO $W[0]";}$c[]="ALTER $e TYPE$W[1]";if(!$W[6]){$c[]="ALTER $e ".($W[3]?"SET$W[3]":"DROP DEFAULT");$c[]="ALTER $e ".($W[2]==" NULL"?"DROP NOT":"SET").$W[2];}}if($l[0]!=""||$Wf!=""){$te[]="COMMENT ON COLUMN ".table($N).".$W[0] IS ".($Wf!=""?substr($Wf,9):"''");}}}$c=array_merge($c,$dc);if($N==""){array_unshift($te,"CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)");}elseif($c){array_unshift($te,"ALTER TABLE ".table($N)."\n".implode(",\n",$c));}if($N!=""&&$N!=$_){$te[]="ALTER TABLE ".table($N)." RENAME TO ".table($_);}if($N!=""||$Ua!=""){$te[]="COMMENT ON TABLE ".table($_)." IS ".q($Ua);}if($_a!=""){}foreach($te
  540. as$D){if(!queries($D)){return
  541. false;}}return
  542. true;}function
  543. alter_indexes($N,$c){$cb=array();$ub=array();foreach($c
  544. as$W){if($W[0]!="INDEX"){$cb[]=($W[2]=="DROP"?"\nDROP CONSTRAINT ".idf_escape($W[1]):"\nADD $W[0] ".($W[0]=="PRIMARY"?"KEY ":"").$W[2]);}elseif($W[2]=="DROP"){$ub[]=idf_escape($W[1]);}elseif(!queries("CREATE INDEX ".idf_escape($W[1]!=""?$W[1]:uniqid($N."_"))." ON ".table($N)." $W[2]")){return
  545. false;}}return((!$cb||queries("ALTER TABLE ".table($N).implode(",",$cb)))&&(!$ub||queries("DROP INDEX ".implode(", ",$ub))));}function
  546. truncate_tables($P){return
  547. queries("TRUNCATE ".implode(", ",array_map('table',$P)));return
  548. true;}function
  549. drop_views($Y){return
  550. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  551. drop_tables($P){return
  552. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  553. move_tables($P,$Y,$tf){foreach($P
  554. as$N){if(!queries("ALTER TABLE ".table($N)." SET SCHEMA ".idf_escape($tf))){return
  555. false;}}foreach($Y
  556. as$N){if(!queries("ALTER VIEW ".table($N)." SET SCHEMA ".idf_escape($tf))){return
  557. false;}}return
  558. true;}function
  559. trigger($_){if($_==""){return
  560. array("Statement"=>"EXECUTE PROCEDURE ()");}$H=get_rows('SELECT trigger_name AS "Trigger", condition_timing AS "Timing", event_manipulation AS "Event", \'FOR EACH \' || action_orientation AS "Type", action_statement AS "Statement" FROM information_schema.triggers WHERE event_object_table = '.q($_GET["trigger"]).' AND trigger_name = '.q($_));return
  561. reset($H);}function
  562. triggers($N){$F=array();foreach(get_rows("SELECT * FROM information_schema.triggers WHERE event_object_table = ".q($N))as$G){$F[$G["trigger_name"]]=array($G["condition_timing"],$G["event_manipulation"]);}return$F;}function
  563. trigger_options(){return
  564. array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW","FOR EACH STATEMENT"),);}function
  565. routines(){return
  566. get_rows('SELECT p.proname AS "ROUTINE_NAME", p.proargtypes AS "ROUTINE_TYPE", pg_catalog.format_type(p.prorettype, NULL) AS "DTD_IDENTIFIER"
  567. FROM pg_catalog.pg_namespace n
  568. JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
  569. WHERE n.nspname = current_schema()
  570. ORDER BY p.proname');}function
  571. routine_languages(){return
  572. get_vals("SELECT langname FROM pg_catalog.pg_language");}function
  573. begin(){return
  574. queries("BEGIN");}function
  575. insert_into($N,$K){return
  576. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  577. insert_update($N,$K,$le){global$g;$Sf=array();$Z=array();foreach($K
  578. as$v=>$W){$Sf[]="$v = $W";if(isset($le[idf_unescape($v)])){$Z[]="$v = $W";}}return($Z&&queries("UPDATE ".table($N)." SET ".implode(", ",$Sf)." WHERE ".implode(" AND ",$Z))&&$g->affected_rows)||queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).")");}function
  579. last_id(){return
  580. 0;}function
  581. explain($g,$D){return$g->query("EXPLAIN $D");}function
  582. found_rows($O,$Z){global$g;if(ereg(" rows=([0-9]+)",$g->result("EXPLAIN SELECT * FROM ".idf_escape($O["Name"]).($Z?" WHERE ".implode(" AND ",$Z):"")),$Ae)){return$Ae[1];}return
  583. false;}function
  584. types(){return
  585. get_vals("SELECT typname
  586. FROM pg_type
  587. WHERE typnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
  588. AND typtype IN ('b','d','e')
  589. AND typelem = 0");}function
  590. schemas(){return
  591. get_vals("SELECT nspname FROM pg_namespace ORDER BY nspname");}function
  592. get_schema(){global$g;return$g->result("SELECT current_schema()");}function
  593. set_schema($Me){global$g,$T,$ef;$F=$g->query("SET search_path TO ".idf_escape($Me));foreach(types()as$S){if(!isset($T[$S])){$T[$S]=0;$ef[lang(11)][]=$S;}}return$F;}function
  594. use_sql($jb){return"\connect ".idf_escape($jb);}function
  595. show_variables(){return
  596. get_key_vals("SHOW ALL");}function
  597. process_list(){return
  598. get_rows("SELECT * FROM pg_stat_activity ORDER BY procpid");}function
  599. show_status(){}function
  600. support($Xb){return
  601. ereg('^(comment|view|scheme|processlist|sequence|trigger|type|variables|drop_col)$',$Xb);}$u="pgsql";$T=array();$ef=array();foreach(array(lang(12)=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),lang(13)=>array("date"=>13,"time"=>17,"timestamp"=>20,"interval"=>0),lang(14)=>array("character"=>0,"character varying"=>0,"text"=>0,"tsquery"=>0,"tsvector"=>0,"uuid"=>0,"xml"=>0),lang(15)=>array("bit"=>0,"bit varying"=>0,"bytea"=>0),lang(16)=>array("cidr"=>43,"inet"=>43,"macaddr"=>17,"txid_snapshot"=>0),lang(17)=>array("box"=>0,"circle"=>0,"line"=>0,"lseg"=>0,"path"=>0,"point"=>0,"polygon"=>0),)as$v=>$W){$T+=$W;$ef[$v]=array_keys($W);}$Rf=array();$Fd=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$lc=array("char_length","lower","round","to_hex","to_timestamp","upper");$qc=array("avg","count","count distinct","max","min","sum");$zb=array(array("char"=>"md5","date|time"=>"now",),array("int|numeric|real|money"=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$tb["oracle"]="Oracle";if(isset($_GET["oracle"])){$ie=array("OCI8","PDO_OCI");define("DRIVER","oracle");if(extension_loaded("oci8")){class
  602. Min_DB{var$extension="oci8",$_link,$_result,$server_info,$affected_rows,$error;function
  603. _error($Ib,$k){if(ini_bool("html_errors")){$k=html_entity_decode(strip_tags($k));}$k=ereg_replace('^[^:]*: ','',$k);$this->error=$k;}function
  604. connect($J,$U,$B){$this->_link=@oci_new_connect($U,$B,$J,"AL32UTF8");if($this->_link){$this->server_info=oci_server_version($this->_link);return
  605. true;}$k=oci_error();$this->error=$k["message"];return
  606. false;}function
  607. quote($L){return"'".str_replace("'","''",$L)."'";}function
  608. select_db($jb){return
  609. true;}function
  610. query($D,$Lf=false){$E=oci_parse($this->_link,$D);if(!$E){$k=oci_error($this->_link);$this->error=$k["message"];return
  611. false;}set_error_handler(array($this,'_error'));$F=@oci_execute($E);restore_error_handler();if($F){if(oci_num_fields($E)){return
  612. new
  613. Min_Result($E);}$this->affected_rows=oci_num_rows($E);}return$F;}function
  614. multi_query($D){return$this->_result=$this->query($D);}function
  615. store_result(){return$this->_result;}function
  616. next_result(){return
  617. false;}function
  618. result($D,$l=1){$E=$this->query($D);if(!is_object($E)||!oci_fetch($E->_result)){return
  619. false;}return
  620. oci_result($E->_result,$l);}}class
  621. Min_Result{var$_result,$_offset=1,$num_rows;function
  622. Min_Result($E){$this->_result=$E;}function
  623. _convert($G){foreach((array)$G
  624. as$v=>$W){if(is_a($W,'OCI-Lob')){$G[$v]=$W->load();}}return$G;}function
  625. fetch_assoc(){return$this->_convert(oci_fetch_assoc($this->_result));}function
  626. fetch_row(){return$this->_convert(oci_fetch_row($this->_result));}function
  627. fetch_field(){$e=$this->_offset++;$F=new
  628. stdClass;$F->name=oci_field_name($this->_result,$e);$F->orgname=$F->name;$F->type=oci_field_type($this->_result,$e);$F->charsetnr=(ereg("raw|blob|bfile",$F->type)?63:0);return$F;}function
  629. __destruct(){oci_free_statement($this->_result);}}}elseif(extension_loaded("pdo_oci")){class
  630. Min_DB
  631. extends
  632. Min_PDO{var$extension="PDO_OCI";function
  633. connect($J,$U,$B){$this->dsn("oci:dbname=//$J;charset=AL32UTF8",$U,$B);return
  634. true;}function
  635. select_db($jb){return
  636. true;}}}function
  637. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  638. table($r){return
  639. idf_escape($r);}function
  640. connect(){global$b;$g=new
  641. Min_DB;$fb=$b->credentials();if($g->connect($fb[0],$fb[1],$fb[2])){return$g;}return$g->error;}function
  642. get_databases(){return
  643. get_vals("SELECT tablespace_name FROM user_tablespaces");}function
  644. limit($D,$Z,$x,$A=0,$Re=" "){return($A?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $D$Z) t WHERE rownum <= ".($x+$A).") WHERE rnum > $A":(isset($x)?" * FROM (SELECT $D$Z) WHERE rownum <= ".($x+$A):" $D$Z"));}function
  645. limit1($D,$Z){return" $D$Z";}function
  646. db_collation($j,$Qa){global$g;return$g->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
  647. engines(){return
  648. array();}function
  649. logged_user(){global$g;return$g->result("SELECT USER FROM DUAL");}function
  650. tables_list(){return
  651. get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
  652. UNION SELECT view_name, 'view' FROM user_views");}function
  653. count_tables($i){return
  654. array();}function
  655. table_status($_=""){$F=array();$Oe=q($_);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine" FROM all_tables WHERE tablespace_name = '.q(DB).($_!=""?" AND table_name = $Oe":"")."
  656. UNION SELECT view_name, 'view' FROM user_views".($_!=""?" WHERE view_name = $Oe":""))as$G){if($_!=""){return$G;}$F[$G["Name"]]=$G;}return$F;}function
  657. is_view($O){return$O["Engine"]=="view";}function
  658. fk_support($O){return
  659. true;}function
  660. fields($N){$F=array();foreach(get_rows("SELECT * FROM all_tab_columns WHERE table_name = ".q($N)." ORDER BY column_id")as$G){$S=$G["DATA_TYPE"];$w="$G[DATA_PRECISION],$G[DATA_SCALE]";if($w==","){$w=$G["DATA_LENGTH"];}$F[$G["COLUMN_NAME"]]=array("field"=>$G["COLUMN_NAME"],"full_type"=>$S.($w?"($w)":""),"type"=>strtolower($S),"length"=>$w,"default"=>$G["DATA_DEFAULT"],"null"=>($G["NULLABLE"]=="Y"),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);}return$F;}function
  661. indexes($N,$h=null){$F=array();foreach(get_rows("SELECT uic.*, uc.constraint_type
  662. FROM user_ind_columns uic
  663. LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
  664. WHERE uic.table_name = ".q($N)."
  665. ORDER BY uc.constraint_type, uic.column_position",$h)as$G){$F[$G["INDEX_NAME"]]["type"]=($G["CONSTRAINT_TYPE"]=="P"?"PRIMARY":($G["CONSTRAINT_TYPE"]=="U"?"UNIQUE":"INDEX"));$F[$G["INDEX_NAME"]]["columns"][]=$G["COLUMN_NAME"];$F[$G["INDEX_NAME"]]["lengths"][]=($G["CHAR_LENGTH"]&&$G["CHAR_LENGTH"]!=$G["COLUMN_LENGTH"]?$G["CHAR_LENGTH"]:null);}return$F;}function
  666. view($_){$H=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($_));return
  667. reset($H);}function
  668. collations(){return
  669. array();}function
  670. information_schema($j){return
  671. false;}function
  672. error(){global$g;return
  673. h($g->error);}function
  674. exact_value($W){return
  675. q($W);}function
  676. explain($g,$D){$g->query("EXPLAIN PLAN FOR $D");return$g->query("SELECT * FROM plan_table");}function
  677. found_rows($O,$Z){}function
  678. alter_table($N,$_,$m,$dc,$Ua,$Fb,$d,$_a,$Zd){$c=$ub=array();foreach($m
  679. as$l){$W=$l[1];if($W&&$l[0]!=""&&idf_escape($l[0])!=$W[0]){queries("ALTER TABLE ".table($N)." RENAME COLUMN ".idf_escape($l[0])." TO $W[0]");}if($W){$c[]=($N!=""?($l[0]!=""?"MODIFY (":"ADD ("):" ").implode($W).($N!=""?")":"");}else{$ub[]=idf_escape($l[0]);}}if($N==""){return
  680. queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)");}return(!$c||queries("ALTER TABLE ".table($N)."\n".implode("\n",$c)))&&(!$ub||queries("ALTER TABLE ".table($N)." DROP (".implode(", ",$ub).")"))&&($N==$_||queries("ALTER TABLE ".table($N)." RENAME TO ".table($_)));}function
  681. foreign_keys($N){return
  682. array();}function
  683. truncate_tables($P){return
  684. apply_queries("TRUNCATE TABLE",$P);}function
  685. drop_views($Y){return
  686. apply_queries("DROP VIEW",$Y);}function
  687. drop_tables($P){return
  688. apply_queries("DROP TABLE",$P);}function
  689. begin(){return
  690. true;}function
  691. insert_into($N,$K){return
  692. queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")");}function
  693. last_id(){return
  694. 0;}function
  695. schemas(){return
  696. array();}function
  697. get_schema(){return"";}function
  698. set_schema($Ne){return
  699. true;}function
  700. show_variables(){return
  701. get_key_vals('SELECT name, display_value FROM v$parameter');}function
  702. show_status(){$H=get_rows('SELECT * FROM v$instance');return
  703. reset($H);}function
  704. support($Xb){return
  705. ereg("view|drop_col|variables|status",$Xb);}$u="oracle";$T=array();$ef=array();foreach(array(lang(12)=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),lang(13)=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),lang(14)=>array("char"=>2000,"varchar2"=>4000,"nchar"=>2000,"nvarchar2"=>4000,"clob"=>4294967295,"nclob"=>4294967295),lang(15)=>array("raw"=>2000,"long raw"=>2147483648,"blob"=>4294967295,"bfile"=>4294967296),)as$v=>$W){$T+=$W;$ef[$v]=array_keys($W);}$Rf=array();$Fd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","");$lc=array("length","lower","round","upper");$qc=array("avg","count","count distinct","max","min","sum");$zb=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$tb["mssql"]="MS SQL";if(isset($_GET["mssql"])){$ie=array("SQLSRV","MSSQL");define("DRIVER","mssql");if(extension_loaded("sqlsrv")){class
  706. Min_DB{var$extension="sqlsrv",$_link,$_result,$server_info,$affected_rows,$error;function
  707. _get_error(){$this->error="";foreach(sqlsrv_errors()as$k){$this->error.="$k[message]\n";}$this->error=rtrim($this->error);}function
  708. connect($J,$U,$B){$this->_link=@sqlsrv_connect($J,array("UID"=>$U,"PWD"=>$B));if($this->_link){$Ac=sqlsrv_server_info($this->_link);$this->server_info=$Ac['SQLServerVersion'];}else{$this->_get_error();}return(bool)$this->_link;}function
  709. quote($L){return"'".str_replace("'","''",$L)."'";}function
  710. select_db($jb){return$this->query("USE $jb");}function
  711. query($D,$Lf=false){$E=sqlsrv_query($this->_link,$D);if(!$E){$this->_get_error();return
  712. false;}return$this->store_result($E);}function
  713. multi_query($D){$this->_result=sqlsrv_query($this->_link,$D);if(!$this->_result){$this->_get_error();return
  714. false;}return
  715. true;}function
  716. store_result($E=null){if(!$E){$E=$this->_result;}if(sqlsrv_field_metadata($E)){return
  717. new
  718. Min_Result($E);}$this->affected_rows=sqlsrv_rows_affected($E);return
  719. true;}function
  720. next_result(){return
  721. sqlsrv_next_result($this->_result);}function
  722. result($D,$l=0){$E=$this->query($D);if(!is_object($E)){return
  723. false;}$G=$E->fetch_row();return$G[$l];}}class
  724. Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
  725. Min_Result($E){$this->_result=$E;}function
  726. _convert($G){foreach((array)$G
  727. as$v=>$W){if(is_a($W,'DateTime')){$G[$v]=$W->format("Y-m-d H:i:s");}}return$G;}function
  728. fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC,SQLSRV_SCROLL_NEXT));}function
  729. fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC,SQLSRV_SCROLL_NEXT));}function
  730. fetch_field(){if(!$this->_fields){$this->_fields=sqlsrv_field_metadata($this->_result);}$l=$this->_fields[$this->_offset++];$F=new
  731. stdClass;$F->name=$l["Name"];$F->orgname=$l["Name"];$F->type=($l["Type"]==1?254:0);return$F;}function
  732. seek($A){for($p=0;$p<$A;$p++){sqlsrv_fetch($this->_result);}}function
  733. __destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
  734. Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
  735. connect($J,$U,$B){$this->_link=@mssql_connect($J,$U,$B);if($this->_link){$E=$this->query("SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('Edition')");$G=$E->fetch_row();$this->server_info=$this->result("sp_server_info 2",2)." [$G[0]] $G[1]";}else{$this->error=mssql_get_last_message();}return(bool)$this->_link;}function
  736. quote($L){return"'".str_replace("'","''",$L)."'";}function
  737. select_db($jb){return
  738. mssql_select_db($jb);}function
  739. query($D,$Lf=false){$E=mssql_query($D,$this->_link);if(!$E){$this->error=mssql_get_last_message();return
  740. false;}if($E===true){$this->affected_rows=mssql_rows_affected($this->_link);return
  741. true;}return
  742. new
  743. Min_Result($E);}function
  744. multi_query($D){return$this->_result=$this->query($D);}function
  745. store_result(){return$this->_result;}function
  746. next_result(){return
  747. mssql_next_result($this->_result);}function
  748. result($D,$l=0){$E=$this->query($D);if(!is_object($E)){return
  749. false;}return
  750. mssql_result($E->_result,0,$l);}}class
  751. Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
  752. Min_Result($E){$this->_result=$E;$this->num_rows=mssql_num_rows($E);}function
  753. fetch_assoc(){return
  754. mssql_fetch_assoc($this->_result);}function
  755. fetch_row(){return
  756. mssql_fetch_row($this->_result);}function
  757. num_rows(){return
  758. mssql_num_rows($this->_result);}function
  759. fetch_field(){$F=mssql_fetch_field($this->_result);$F->orgtable=$F->table;$F->orgname=$F->name;return$F;}function
  760. seek($A){mssql_data_seek($this->_result,$A);}function
  761. __destruct(){mssql_free_result($this->_result);}}}function
  762. idf_escape($r){return"[".str_replace("]","]]",$r)."]";}function
  763. table($r){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($r);}function
  764. connect(){global$b;$g=new
  765. Min_DB;$fb=$b->credentials();if($g->connect($fb[0],$fb[1],$fb[2])){return$g;}return$g->error;}function
  766. get_databases(){return
  767. get_vals("EXEC sp_databases");}function
  768. limit($D,$Z,$x,$A=0,$Re=" "){return(isset($x)?" TOP (".($x+$A).")":"")." $D$Z";}function
  769. limit1($D,$Z){return
  770. limit($D,$Z,1);}function
  771. db_collation($j,$Qa){global$g;return$g->result("SELECT collation_name FROM sys.databases WHERE name = ".q($j));}function
  772. engines(){return
  773. array();}function
  774. logged_user(){global$g;return$g->result("SELECT SUSER_NAME()");}function
  775. tables_list(){return
  776. get_key_vals("SELECT name, type_desc FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ORDER BY name");}function
  777. count_tables($i){global$g;$F=array();foreach($i
  778. as$j){$g->select_db($j);$F[$j]=$g->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$F;}function
  779. table_status($_=""){$F=array();foreach(get_rows("SELECT name AS Name, type_desc AS Engine FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V')".($_!=""?" AND name = ".q($_):""))as$G){if($_!=""){return$G;}$F[$G["Name"]]=$G;}return$F;}function
  780. is_view($O){return$O["Engine"]=="VIEW";}function
  781. fk_support($O){return
  782. true;}function
  783. fields($N){$F=array();foreach(get_rows("SELECT c.*, t.name type, d.definition [default]
  784. FROM sys.all_columns c
  785. JOIN sys.all_objects o ON c.object_id = o.object_id
  786. JOIN sys.types t ON c.user_type_id = t.user_type_id
  787. LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
  788. WHERE o.schema_id = SCHEMA_ID(".q(get_schema()).") AND o.type IN ('S', 'U', 'V') AND o.name = ".q($N))as$G){$S=$G["type"];$w=(ereg("char|binary",$S)?$G["max_length"]:($S=="decimal"?"$G[precision],$G[scale]":""));$F[$G["name"]]=array("field"=>$G["name"],"full_type"=>$S.($w?"($w)":""),"type"=>$S,"length"=>$w,"default"=>$G["default"],"null"=>$G["is_nullable"],"auto_increment"=>$G["is_identity"],"collation"=>$G["collation_name"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"primary"=>$G["is_identity"],);}return$F;}function
  789. indexes($N,$h=null){$F=array();foreach(get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name
  790. FROM sys.indexes i
  791. INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
  792. INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
  793. WHERE OBJECT_NAME(i.object_id) = ".q($N),$h)as$G){$F[$G["name"]]["type"]=($G["is_primary_key"]?"PRIMARY":($G["is_unique"]?"UNIQUE":"INDEX"));$F[$G["name"]]["lengths"]=array();$F[$G["name"]]["columns"][$G["key_ordinal"]]=$G["column_name"];}return$F;}function
  794. view($_){global$g;return
  795. array("select"=>preg_replace('~^(?:[^[]|\\[[^]]*])*\\s+AS\\s+~isU','',$g->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = ".q($_))));}function
  796. collations(){$F=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$d){$F[ereg_replace("_.*","",$d)][]=$d;}return$F;}function
  797. information_schema($j){return
  798. false;}function
  799. error(){global$g;return
  800. nl_br(h(preg_replace('~^(\\[[^]]*])+~m','',$g->error)));}function
  801. exact_value($W){return
  802. q($W);}function
  803. create_database($j,$d){return
  804. queries("CREATE DATABASE ".idf_escape($j).(eregi('^[a-z0-9_]+$',$d)?" COLLATE $d":""));}function
  805. drop_databases($i){return
  806. queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$i)));}function
  807. rename_database($_,$d){if(eregi('^[a-z0-9_]+$',$d)){queries("ALTER DATABASE ".idf_escape(DB)." COLLATE $d");}queries("ALTER DATABASE ".idf_escape(DB)." MODIFY NAME = ".idf_escape($_));return
  808. true;}function
  809. auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".(+$_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
  810. alter_table($N,$_,$m,$dc,$Ua,$Fb,$d,$_a,$Zd){$c=array();foreach($m
  811. as$l){$e=idf_escape($l[0]);$W=$l[1];if(!$W){$c["DROP"][]=" COLUMN $e";}else{$W[1]=preg_replace("~( COLLATE )'(\\w+)'~","\\1\\2",$W[1]);if($l[0]==""){$c["ADD"][]="\n ".implode("",$W).($N==""?substr($dc[$W[0]],16+strlen($W[0])):"");}else{unset($W[6]);if($e!=$W[0]){queries("EXEC sp_rename ".q(table($N).".$e").", ".q(idf_unescape($W[0])).", 'COLUMN'");}$c["ALTER COLUMN ".implode("",$W)][]="";}}}if($N==""){return
  812. queries("CREATE TABLE ".table($_)." (".implode(",",(array)$c["ADD"])."\n)");}if($N!=$_){queries("EXEC sp_rename ".q(table($N)).", ".q($_));}if($dc){$c[""]=$dc;}foreach($c
  813. as$v=>$W){if(!queries("ALTER TABLE ".idf_escape($_)." $v".implode(",",$W))){return
  814. false;}}return
  815. true;}function
  816. alter_indexes($N,$c){$s=array();$ub=array();foreach($c
  817. as$W){if($W[2]=="DROP"){if($W[0]=="PRIMARY"){$ub[]=idf_escape($W[1]);}else{$s[]=idf_escape($W[1])." ON ".table($N);}}elseif(!queries(($W[0]!="PRIMARY"?"CREATE $W[0] ".($W[0]!="INDEX"?"INDEX ":"").idf_escape($W[1]!=""?$W[1]:uniqid($N."_"))." ON ".table($N):"ALTER TABLE ".table($N)." ADD PRIMARY KEY")." $W[2]")){return
  818. false;}}return(!$s||queries("DROP INDEX ".implode(", ",$s)))&&(!$ub||queries("ALTER TABLE ".table($N)." DROP ".implode(", ",$ub)));}function
  819. begin(){return
  820. queries("BEGIN TRANSACTION");}function
  821. insert_into($N,$K){return
  822. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  823. insert_update($N,$K,$le){$Sf=array();$Z=array();foreach($K
  824. as$v=>$W){$Sf[]="$v = $W";if(isset($le[idf_unescape($v)])){$Z[]="$v = $W";}}return
  825. queries("MERGE ".table($N)." USING (VALUES(".implode(", ",$K).")) AS source (c".implode(", c",range(1,count($K))).") ON ".implode(" AND ",$Z)." WHEN MATCHED THEN UPDATE SET ".implode(", ",$Sf)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).");");}function
  826. last_id(){global$g;return$g->result("SELECT SCOPE_IDENTITY()");}function
  827. explain($g,$D){$g->query("SET SHOWPLAN_ALL ON");$F=$g->query($D);$g->query("SET SHOWPLAN_ALL OFF");return$F;}function
  828. found_rows($O,$Z){}function
  829. foreign_keys($N){$F=array();foreach(get_rows("EXEC sp_fkeys @fktable_name = ".q($N))as$G){$n=&$F[$G["FK_NAME"]];$n["table"]=$G["PKTABLE_NAME"];$n["source"][]=$G["FKCOLUMN_NAME"];$n["target"][]=$G["PKCOLUMN_NAME"];}return$F;}function
  830. truncate_tables($P){return
  831. apply_queries("TRUNCATE TABLE",$P);}function
  832. drop_views($Y){return
  833. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  834. drop_tables($P){return
  835. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  836. move_tables($P,$Y,$tf){return
  837. apply_queries("ALTER SCHEMA ".idf_escape($tf)." TRANSFER",array_merge($P,$Y));}function
  838. trigger($_){if($_==""){return
  839. array();}$H=get_rows("SELECT s.name [Trigger],
  840. CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
  841. CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],
  842. c.text
  843. FROM sysobjects s
  844. JOIN syscomments c ON s.id = c.id
  845. WHERE s.xtype = 'TR' AND s.name = ".q($_));$F=reset($H);if($F){$F["Statement"]=preg_replace('~^.+\\s+AS\\s+~isU','',$F["text"]);}return$F;}function
  846. triggers($N){$F=array();foreach(get_rows("SELECT sys1.name,
  847. CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
  848. CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]
  849. FROM sysobjects sys1
  850. JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id
  851. WHERE sys1.xtype = 'TR' AND sys2.name = ".q($N))as$G){$F[$G["name"]]=array($G["Timing"],$G["Event"]);}return$F;}function
  852. trigger_options(){return
  853. array("Timing"=>array("AFTER","INSTEAD OF"),"Type"=>array("AS"),);}function
  854. schemas(){return
  855. get_vals("SELECT name FROM sys.schemas");}function
  856. get_schema(){global$g;if($_GET["ns"]!=""){return$_GET["ns"];}return$g->result("SELECT SCHEMA_NAME()");}function
  857. set_schema($Me){return
  858. true;}function
  859. use_sql($jb){return"USE ".idf_escape($jb);}function
  860. show_variables(){return
  861. array();}function
  862. show_status(){return
  863. array();}function
  864. support($Xb){return
  865. ereg('^(scheme|trigger|view|drop_col)$',$Xb);}$u="mssql";$T=array();$ef=array();foreach(array(lang(12)=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),lang(13)=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),lang(14)=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),lang(15)=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$v=>$W){$T+=$W;$ef[$v]=array_keys($W);}$Rf=array();$Fd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$lc=array("len","lower","round","upper");$qc=array("avg","count","count distinct","max","min","sum");$zb=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$tb=array("server"=>"MySQL")+$tb;if(!defined("DRIVER")){$ie=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
  866. Min_DB
  867. extends
  868. MySQLi{var$extension="MySQLi";function
  869. Min_DB(){parent::init();}function
  870. connect($J,$U,$B){mysqli_report(MYSQLI_REPORT_OFF);list($uc,$ee)=explode(":",$J,2);$F=@$this->real_connect(($J!=""?$uc:ini_get("mysqli.default_host")),($J.$U!=""?$U:ini_get("mysqli.default_user")),($J.$U.$B!=""?$B:ini_get("mysqli.default_pw")),null,(is_numeric($ee)?$ee:ini_get("mysqli.default_port")),(!is_numeric($ee)?$ee:null));if($F){if(method_exists($this,'set_charset')){$this->set_charset("utf8");}else{$this->query("SET NAMES utf8");}}return$F;}function
  871. result($D,$l=0){$E=$this->query($D);if(!$E){return
  872. false;}$G=$E->fetch_array();return$G[$l];}function
  873. quote($L){return"'".$this->escape_string($L)."'";}}}elseif(extension_loaded("mysql")){class
  874. Min_DB{var$extension="MySQL",$server_info,$affected_rows,$error,$_link,$_result;function
  875. connect($J,$U,$B){$this->_link=@mysql_connect(($J!=""?$J:ini_get("mysql.default_host")),("$J$U"!=""?$U:ini_get("mysql.default_user")),("$J$U$B"!=""?$B: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
  876. quote($L){return"'".mysql_real_escape_string($L,$this->_link)."'";}function
  877. select_db($jb){return
  878. mysql_select_db($jb,$this->_link);}function
  879. query($D,$Lf=false){$E=@($Lf?mysql_unbuffered_query($D,$this->_link):mysql_query($D,$this->_link));if(!$E){$this->error=mysql_error($this->_link);return
  880. false;}if($E===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
  881. true;}return
  882. new
  883. Min_Result($E);}function
  884. multi_query($D){return$this->_result=$this->query($D);}function
  885. store_result(){return$this->_result;}function
  886. next_result(){return
  887. false;}function
  888. result($D,$l=0){$E=$this->query($D);if(!$E||!$E->num_rows){return
  889. false;}return
  890. mysql_result($E->_result,0,$l);}}class
  891. Min_Result{var$num_rows,$_result,$_offset=0;function
  892. Min_Result($E){$this->_result=$E;$this->num_rows=mysql_num_rows($E);}function
  893. fetch_assoc(){return
  894. mysql_fetch_assoc($this->_result);}function
  895. fetch_row(){return
  896. mysql_fetch_row($this->_result);}function
  897. fetch_field(){$F=mysql_fetch_field($this->_result,$this->_offset++);$F->orgtable=$F->table;$F->orgname=$F->name;$F->charsetnr=($F->blob?63:0);return$F;}function
  898. __destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
  899. Min_DB
  900. extends
  901. Min_PDO{var$extension="PDO_MySQL";function
  902. connect($J,$U,$B){$this->dsn("mysql:host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$J)),$U,$B);$this->query("SET NAMES utf8");return
  903. true;}function
  904. select_db($jb){return$this->query("USE ".idf_escape($jb));}function
  905. query($D,$Lf=false){$this->setAttribute(1000,!$Lf);return
  906. parent::query($D,$Lf);}}}function
  907. idf_escape($r){return"`".str_replace("`","``",$r)."`";}function
  908. table($r){return
  909. idf_escape($r);}function
  910. connect(){global$b;$g=new
  911. Min_DB;$fb=$b->credentials();if($g->connect($fb[0],$fb[1],$fb[2])){$g->query("SET sql_quote_show_create = 1");return$g;}$F=$g->error;if(function_exists('iconv')&&!is_utf8($F)&&strlen($Ke=iconv("windows-1250","utf-8",$F))>strlen($F)){$F=$Ke;}return$F;}function
  912. get_databases($cc=true){global$g;$F=&get_session("dbs");if(!isset($F)){if($cc){restart_session();ob_flush();flush();}$F=get_vals($g->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");}return$F;}function
  913. limit($D,$Z,$x,$A=0,$Re=" "){return" $D$Z".(isset($x)?$Re."LIMIT $x".($A?" OFFSET $A":""):"");}function
  914. limit1($D,$Z){return
  915. limit($D,$Z,1);}function
  916. db_collation($j,$Qa){global$g;$F=null;$cb=$g->result("SHOW CREATE DATABASE ".idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$cb,$z)){$F=$z[1];}elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$cb,$z)){$F=$Qa[$z[1]][-1];}return$F;}function
  917. engines(){$F=array();foreach(get_rows("SHOW ENGINES")as$G){if(ereg("YES|DEFAULT",$G["Support"])){$F[]=$G["Engine"];}}return$F;}function
  918. logged_user(){global$g;return$g->result("SELECT USER()");}function
  919. tables_list(){global$g;return
  920. get_key_vals("SHOW".($g->server_info>=5?" FULL":"")." TABLES");}function
  921. count_tables($i){$F=array();foreach($i
  922. as$j){$F[$j]=count(get_vals("SHOW TABLES IN ".idf_escape($j)));}return$F;}function
  923. table_status($_=""){$F=array();foreach(get_rows("SHOW TABLE STATUS".($_!=""?" LIKE ".q(addcslashes($_,"%_")):""))as$G){if($G["Engine"]=="InnoDB"){$G["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$G["Comment"]);}if(!isset($G["Rows"])){$G["Comment"]="";}if($_!=""){return$G;}$F[$G["Name"]]=$G;}return$F;}function
  924. is_view($O){return!isset($O["Rows"]);}function
  925. fk_support($O){return
  926. eregi("InnoDB|IBMDB2I",$O["Engine"]);}function
  927. fields($N){$F=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($N))as$G){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$G["Type"],$z);$F[$G["Field"]]=array("field"=>$G["Field"],"full_type"=>$G["Type"],"type"=>$z[1],"length"=>$z[2],"unsigned"=>ltrim($z[3].$z[4]),"default"=>($G["Default"]!=""||ereg("char",$z[1])?$G["Default"]:null),"null"=>($G["Null"]=="YES"),"auto_increment"=>($G["Extra"]=="auto_increment"),"on_update"=>(eregi('^on update (.+)',$G["Extra"],$z)?$z[1]:""),"collation"=>$G["Collation"],"privileges"=>array_flip(explode(",",$G["Privileges"])),"comment"=>$G["Comment"],"primary"=>($G["Key"]=="PRI"),);}return$F;}function
  928. indexes($N,$h=null){$F=array();foreach(get_rows("SHOW INDEX FROM ".table($N),$h)as$G){$F[$G["Key_name"]]["type"]=($G["Key_name"]=="PRIMARY"?"PRIMARY":($G["Index_type"]=="FULLTEXT"?"FULLTEXT":($G["Non_unique"]?"INDEX":"UNIQUE")));$F[$G["Key_name"]]["columns"][]=$G["Column_name"];$F[$G["Key_name"]]["lengths"][]=$G["Sub_part"];}return$F;}function
  929. foreign_keys($N){global$g,$Bd;static$ce='`(?:[^`]|``)+`';$F=array();$db=$g->result("SHOW CREATE TABLE ".table($N),1);if($db){preg_match_all("~CONSTRAINT ($ce) FOREIGN KEY \\(((?:$ce,? ?)+)\\) REFERENCES ($ce)(?:\\.($ce))? \\(((?:$ce,? ?)+)\\)(?: ON DELETE ($Bd))?(?: ON UPDATE ($Bd))?~",$db,$ad,PREG_SET_ORDER);foreach($ad
  930. as$z){preg_match_all("~$ce~",$z[2],$We);preg_match_all("~$ce~",$z[5],$tf);$F[idf_unescape($z[1])]=array("db"=>idf_unescape($z[4]!=""?$z[3]:$z[4]),"table"=>idf_unescape($z[4]!=""?$z[4]:$z[3]),"source"=>array_map('idf_unescape',$We[0]),"target"=>array_map('idf_unescape',$tf[0]),"on_delete"=>$z[6],"on_update"=>$z[7],);}}return$F;}function
  931. view($_){global$g;return
  932. array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$g->result("SHOW CREATE VIEW ".table($_),1)));}function
  933. collations(){$F=array();foreach(get_rows("SHOW COLLATION")as$G){if($G["Default"]){$F[$G["Charset"]][-1]=$G["Collation"];}else{$F[$G["Charset"]][]=$G["Collation"];}}ksort($F);foreach($F
  934. as$v=>$W){asort($F[$v]);}return$F;}function
  935. information_schema($j){global$g;return($g->server_info>=5&&$j=="information_schema");}function
  936. error(){global$g;return
  937. h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
  938. exact_value($W){return
  939. q($W)." COLLATE utf8_bin";}function
  940. create_database($j,$d){set_session("dbs",null);return
  941. queries("CREATE DATABASE ".idf_escape($j).($d?" COLLATE ".q($d):""));}function
  942. drop_databases($i){set_session("dbs",null);return
  943. apply_queries("DROP DATABASE",$i,'idf_escape');}function
  944. rename_database($_,$d){if(create_database($_,$d)){$Be=array();foreach(tables_list()as$N=>$S){$Be[]=table($N)." TO ".idf_escape($_).".".table($N);}if(!$Be||queries("RENAME TABLE ".implode(", ",$Be))){queries("DROP DATABASE ".idf_escape(DB));return
  945. true;}}return
  946. false;}function
  947. auto_increment(){$Aa=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$s){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$s["columns"],true)){$Aa="";break;}if($s["type"]=="PRIMARY"){$Aa=" UNIQUE";}}}return" AUTO_INCREMENT$Aa";}function
  948. alter_table($N,$_,$m,$dc,$Ua,$Fb,$d,$_a,$Zd){$c=array();foreach($m
  949. as$l){$c[]=($l[1]?($N!=""?($l[0]!=""?"CHANGE ".idf_escape($l[0]):"ADD"):" ")." ".implode($l[1]).($N!=""?" $l[2]":""):"DROP ".idf_escape($l[0]));}$c=array_merge($c,$dc);$af="COMMENT=".q($Ua).($Fb?" ENGINE=".q($Fb):"").($d?" COLLATE ".q($d):"").($_a!=""?" AUTO_INCREMENT=$_a":"").$Zd;if($N==""){return
  950. queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n) $af");}if($N!=$_){$c[]="RENAME TO ".table($_);}$c[]=$af;return
  951. queries("ALTER TABLE ".table($N)."\n".implode(",\n",$c));}function
  952. alter_indexes($N,$c){foreach($c
  953. as$v=>$W){$c[$v]=($W[2]=="DROP"?"\nDROP INDEX ".idf_escape($W[1]):"\nADD $W[0] ".($W[0]=="PRIMARY"?"KEY ":"").($W[1]!=""?idf_escape($W[1])." ":"").$W[2]);}return
  954. queries("ALTER TABLE ".table($N).implode(",",$c));}function
  955. truncate_tables($P){return
  956. apply_queries("TRUNCATE TABLE",$P);}function
  957. drop_views($Y){return
  958. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  959. drop_tables($P){return
  960. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  961. move_tables($P,$Y,$tf){$Be=array();foreach(array_merge($P,$Y)as$N){$Be[]=table($N)." TO ".idf_escape($tf).".".table($N);}return
  962. queries("RENAME TABLE ".implode(", ",$Be));}function
  963. copy_tables($P,$Y,$tf){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($P
  964. as$N){$_=($tf==DB?table("copy_$N"):idf_escape($tf).".".table($N));if(!queries("DROP TABLE IF EXISTS $_")||!queries("CREATE TABLE $_ LIKE ".table($N))||!queries("INSERT INTO $_ SELECT * FROM ".table($N))){return
  965. false;}}foreach($Y
  966. as$N){$_=($tf==DB?table("copy_$N"):idf_escape($tf).".".table($N));$Zf=view($N);if(!queries("DROP VIEW IF EXISTS $_")||!queries("CREATE VIEW $_ AS $Zf[select]")){return
  967. false;}}return
  968. true;}function
  969. trigger($_){if($_==""){return
  970. array();}$H=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($_));return
  971. reset($H);}function
  972. triggers($N){$F=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($N,"%_")))as$G){$F[$G["Trigger"]]=array($G["Timing"],$G["Event"]);}return$F;}function
  973. trigger_options(){return
  974. array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW"),);}function
  975. routine($_,$S){global$g,$Hb,$Cc,$T;$va=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$Kf="((".implode("|",array_merge(array_keys($T),$va)).")(?:\\s*\\(((?:[^'\")]*|$Hb)+)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$ce="\\s*(".($S=="FUNCTION"?"":$Cc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Kf";$cb=$g->result("SHOW CREATE $S ".idf_escape($_),2);preg_match("~\\(((?:$ce\\s*,?)*)\\)".($S=="FUNCTION"?"\\s*RETURNS\\s+$Kf":"")."\\s*(.*)~is",$cb,$z);$m=array();preg_match_all("~$ce\\s*,?~is",$z[1],$ad,PREG_SET_ORDER);foreach($ad
  976. as$Ud){$_=str_replace("``","`",$Ud[2]).$Ud[3];$m[]=array("field"=>$_,"type"=>strtolower($Ud[5]),"length"=>preg_replace_callback("~$Hb~s",'normalize_enum',$Ud[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$Ud[8] $Ud[7]"))),"full_type"=>$Ud[4],"inout"=>strtoupper($Ud[1]),"collation"=>strtolower($Ud[9]),);}if($S!="FUNCTION"){return
  977. array("fields"=>$m,"definition"=>$z[11]);}return
  978. array("fields"=>$m,"returns"=>array("type"=>$z[12],"length"=>$z[13],"unsigned"=>$z[15],"collation"=>$z[16]),"definition"=>$z[17],"language"=>"SQL",);}function
  979. routines(){return
  980. get_rows("SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
  981. routine_languages(){return
  982. array();}function
  983. begin(){return
  984. queries("BEGIN");}function
  985. insert_into($N,$K){return
  986. queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")");}function
  987. insert_update($N,$K,$le){foreach($K
  988. as$v=>$W){$K[$v]="$v = $W";}$Sf=implode(", ",$K);return
  989. queries("INSERT INTO ".table($N)." SET $Sf ON DUPLICATE KEY UPDATE $Sf");}function
  990. last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
  991. explain($g,$D){return$g->query("EXPLAIN $D");}function
  992. found_rows($O,$Z){return($Z||$O["Engine"]!="InnoDB"?null:$O["Rows"]);}function
  993. types(){return
  994. array();}function
  995. schemas(){return
  996. array();}function
  997. get_schema(){return"";}function
  998. set_schema($Me){return
  999. true;}function
  1000. create_sql($N,$_a){global$g;$F=$g->result("SHOW CREATE TABLE ".table($N),1);if(!$_a){$F=preg_replace('~ AUTO_INCREMENT=\\d+~','',$F);}return$F;}function
  1001. truncate_sql($N){return"TRUNCATE ".table($N);}function
  1002. use_sql($jb){return"USE ".idf_escape($jb);}function
  1003. trigger_sql($N,$M){$F="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($N,"%_")),null,"-- ")as$G){$F.="\n".($M=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($G["Trigger"]).";;\n":"")."CREATE TRIGGER ".idf_escape($G["Trigger"])." $G[Timing] $G[Event] ON ".table($G["Table"])." FOR EACH ROW\n$G[Statement];;\n";}return$F;}function
  1004. show_variables(){return
  1005. get_key_vals("SHOW VARIABLES");}function
  1006. process_list(){return
  1007. get_rows("SHOW FULL PROCESSLIST");}function
  1008. show_status(){return
  1009. get_key_vals("SHOW STATUS");}function
  1010. support($Xb){global$g;return!ereg("scheme|sequence|type".($g->server_info<5.1?"|event|partitioning".($g->server_info<5?"|view|routine|trigger":""):""),$Xb);}$u="sql";$T=array();$ef=array();foreach(array(lang(12)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(13)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(14)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(15)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(18)=>array("enum"=>65535,"set"=>64),)as$v=>$W){$T+=$W;$ef[$v]=array_keys($W);}$Rf=array("unsigned","zerofill","unsigned zerofill");$Fd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","");$lc=array("char_length","date","from_unixtime","hex","lower","round","sec_to_time","time_to_sec","upper");$qc=array("avg","count","count distinct","group_concat","max","min","sum");$zb=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"])."&":""):''));$ia="3.3.3";class
  1011. Adminer{var$operators;function
  1012. name(){return"<a href='http://www.adminer.org/' id='h1'>Adminer</a>";}function
  1013. credentials(){return
  1014. array(SERVER,$_GET["username"],get_session("pwds"));}function
  1015. permanentLogin(){return
  1016. password_file();}function
  1017. database(){return
  1018. DB;}function
  1019. headers(){return
  1020. true;}function
  1021. head(){return
  1022. true;}function
  1023. loginForm(){global$tb;echo'<table cellspacing="0">
  1024. <tr><th>',lang(19),'<td>',html_select("driver",$tb,DRIVER,"loginDriver(this);"),'<tr><th>',lang(20),'<td><input name="server" value="',h(SERVER),'" title="hostname[:port]">
  1025. <tr><th>',lang(21),'<td><input id="username" name="username" value="',h($_GET["username"]),'">
  1026. <tr><th>',lang(22);?><td><input type="password" name="password">
  1027. </table>
  1028. <script type="text/javascript">
  1029. var username = document.getElementById('username');
  1030. username.focus();
  1031. username.form['driver'].onchange();
  1032. </script>
  1033. <?php
  1034. echo"<p><input type='submit' value='".lang(23)."'>\n",checkbox("permanent",1,$_COOKIE["adminer_permanent"],lang(24))."\n";}function
  1035. login($Xc,$B){return
  1036. true;}function
  1037. tableName($lf){return
  1038. h($lf["Name"]);}function
  1039. fieldName($l,$Jd=0){return'<span title="'.h($l["full_type"]).'">'.h($l["field"]).'</span>';}function
  1040. selectLinks($lf,$K=""){echo'<p class="tabs">';$Vc=array("select"=>lang(25),"table"=>lang(26));if(is_view($lf)){$Vc["view"]=lang(27);}else{$Vc["create"]=lang(28);}if(isset($K)){$Vc["edit"]=lang(29);}foreach($Vc
  1041. as$v=>$W){echo" <a href='".h(ME)."$v=".urlencode($lf["Name"]).($v=="edit"?$K:"")."'".bold(isset($_GET[$v])).">$W</a>";}echo"\n";}function
  1042. foreignKeys($N){return
  1043. foreign_keys($N);}function
  1044. backwardKeys($N,$kf){return
  1045. array();}function
  1046. backwardKeysPrint($Ca,$G){}function
  1047. selectQuery($D){global$u;return"<p><a href='".h(remove_from_uri("page"))."&amp;page=last' title='".lang(30)."'>&gt;&gt;</a> <code class='jush-$u'>".h(str_replace("\n"," ",$D))."</code> <a href='".h(ME)."sql=".urlencode($D)."'>".lang(31)."</a></p>\n";}function
  1048. rowDescription($N){return"";}function
  1049. rowDescriptions($H,$ec){return$H;}function
  1050. selectVal($W,$y,$l){$F=($W!="<i>NULL</i>"&&ereg("char|binary",$l["type"])&&!ereg("var",$l["type"])?"<code>$W</code>":$W);if(ereg('blob|bytea|raw|file',$l["type"])&&!is_utf8($W)){$F=lang(32,strlen(html_entity_decode($W,ENT_QUOTES)));}return($y?"<a href='$y'>$F</a>":$F);}function
  1051. editVal($W,$l){return(ereg("binary",$l["type"])?reset(unpack("H*",$W)):$W);}function
  1052. selectColumnsPrint($I,$f){global$lc,$qc;print_fieldset("select",lang(33),$I);$p=0;$kc=array(lang(34)=>$lc,lang(35)=>$qc);foreach($I
  1053. as$v=>$W){$W=$_GET["columns"][$v];echo"<div>".html_select("columns[$p][fun]",array(-1=>"")+$kc,$W["fun"]),"(<select name='columns[$p][col]'><option>".optionlist($f,$W["col"],true)."</select>)</div>\n";$p++;}echo"<div>".html_select("columns[$p][fun]",array(-1=>"")+$kc,"","this.nextSibling.nextSibling.onchange();"),"(<select name='columns[$p][col]' onchange='selectAddRow(this);'><option>".optionlist($f,null,true)."</select>)</div>\n","</div></fieldset>\n";}function
  1054. selectSearchPrint($Z,$f,$t){print_fieldset("search",lang(36),$Z);foreach($t
  1055. as$p=>$s){if($s["type"]=="FULLTEXT"){echo"(<i>".implode("</i>, <i>",array_map('h',$s["columns"]))."</i>) AGAINST"," <input name='fulltext[$p]' value='".h($_GET["fulltext"][$p])."'>",checkbox("boolean[$p]",1,isset($_GET["boolean"][$p]),"BOOL"),"<br>\n";}}$p=0;foreach((array)$_GET["where"]as$W){if("$W[col]$W[val]"!=""&&in_array($W["op"],$this->operators)){echo"<div><select name='where[$p][col]'><option value=''>(".lang(37).")".optionlist($f,$W["col"],true)."</select>",html_select("where[$p][op]",$this->operators,$W["op"]),"<input name='where[$p][val]' value='".h($W["val"])."'></div>\n";$p++;}}echo"<div><select name='where[$p][col]' onchange='selectAddRow(this);'><option value=''>(".lang(37).")".optionlist($f,null,true)."</select>",html_select("where[$p][op]",$this->operators,"="),"<input name='where[$p][val]'></div>\n","</div></fieldset>\n";}function
  1056. selectOrderPrint($Jd,$f,$t){print_fieldset("sort",lang(38),$Jd);$p=0;foreach((array)$_GET["order"]as$v=>$W){if(isset($f[$W])){echo"<div><select name='order[$p]'><option>".optionlist($f,$W,true)."</select>",checkbox("desc[$p]",1,isset($_GET["desc"][$v]),lang(39))."</div>\n";$p++;}}echo"<div><select name='order[$p]' onchange='selectAddRow(this);'><option>".optionlist($f,null,true)."</select>","<label><input type='checkbox' name='desc[$p]' value='1'>".lang(39)."</label></div>\n";echo"</div></fieldset>\n";}function
  1057. selectLimitPrint($x){echo"<fieldset><legend>".lang(40)."</legend><div>";echo"<input name='limit' size='3' value='".h($x)."'>","</div></fieldset>\n";}function
  1058. selectLengthPrint($wf){if(isset($wf)){echo"<fieldset><legend>".lang(41)."</legend><div>",'<input name="text_length" size="3" value="'.h($wf).'">',"</div></fieldset>\n";}}function
  1059. selectActionPrint(){echo"<fieldset><legend>".lang(42)."</legend><div>","<input type='submit' value='".lang(33)."'>","</div></fieldset>\n";}function
  1060. selectCommandPrint(){return!information_schema(DB);}function
  1061. selectImportPrint(){return
  1062. true;}function
  1063. selectEmailPrint($Bb,$f){}function
  1064. selectColumnsProcess($f,$t){global$lc,$qc;$I=array();$oc=array();foreach((array)$_GET["columns"]as$v=>$W){if($W["fun"]=="count"||(isset($f[$W["col"]])&&(!$W["fun"]||in_array($W["fun"],$lc)||in_array($W["fun"],$qc)))){$I[$v]=apply_sql_function($W["fun"],(isset($f[$W["col"]])?idf_escape($W["col"]):"*"));if(!in_array($W["fun"],$qc)){$oc[]=$I[$v];}}}return
  1065. array($I,$oc);}function
  1066. selectSearchProcess($m,$t){global$u;$F=array();foreach($t
  1067. as$p=>$s){if($s["type"]=="FULLTEXT"&&$_GET["fulltext"][$p]!=""){$F[]="MATCH (".implode(", ",array_map('idf_escape',$s["columns"])).") AGAINST (".q($_GET["fulltext"][$p]).(isset($_GET["boolean"][$p])?" IN BOOLEAN MODE":"").")";}}foreach((array)$_GET["where"]as$W){if("$W[col]$W[val]"!=""&&in_array($W["op"],$this->operators)){$Xa=" $W[op]";if(ereg('IN$',$W["op"])){$yc=process_length($W["val"]);$Xa.=" (".($yc!=""?$yc:"NULL").")";}elseif(!$W["op"]){$Xa.=$W["val"];}elseif($W["op"]=="LIKE %%"){$Xa=" LIKE ".$this->processInput($m[$W["col"]],"%$W[val]%");}elseif(!ereg('NULL$',$W["op"])){$Xa.=" ".$this->processInput($m[$W["col"]],$W["val"]);}if($W["col"]!=""){$F[]=idf_escape($W["col"]).$Xa;}else{$Ra=array();foreach($m
  1068. as$_=>$l){if(is_numeric($W["val"])||!ereg('int|float|double|decimal',$l["type"])){$_=idf_escape($_);$Ra[]=($u=="sql"&&ereg('char|text|enum|set',$l["type"])&&!ereg('^utf8',$l["collation"])?"CONVERT($_ USING utf8)":$_);}}$F[]=($Ra?"(".implode("$Xa OR ",$Ra)."$Xa)":"0");}}}return$F;}function
  1069. selectOrderProcess($m,$t){$F=array();foreach((array)$_GET["order"]as$v=>$W){if(isset($m[$W])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$W)){$F[]=(isset($m[$W])?idf_escape($W):$W).(isset($_GET["desc"][$v])?" DESC":"");}}return$F;}function
  1070. selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"30");}function
  1071. selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
  1072. selectEmailProcess($Z,$ec){return
  1073. false;}function
  1074. messageQuery($D){global$u;static$bb=0;restart_session();$q="sql-".($bb++);$sc=&get_session("queries");if(strlen($D)>1e6){$D=ereg_replace('[\x80-\xFF]+$','',substr($D,0,1e6))."\n...";}$sc[$_GET["db"]][]=$D;return" <a href='#$q' onclick=\"return !toggle('$q');\">".lang(43)."</a><div id='$q' class='hidden'><pre><code class='jush-$u'>".shorten_utf8($D,1000).'</code></pre><p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($sc[$_GET["db"]])-1)).'">'.lang(31).'</a></div>';}function
  1075. editFunctions($l){global$zb;$F=($l["null"]?"NULL/":"");foreach($zb
  1076. as$v=>$lc){if(!$v||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($lc
  1077. as$ce=>$W){if(!$ce||ereg($ce,$l["type"])){$F.="/$W";}}if($v&&!ereg('set|blob|bytea|raw|file',$l["type"])){$F.="/=";}}}return
  1078. explode("/",$F);}function
  1079. editInput($N,$l,$za,$X){if($l["type"]=="enum"){return(isset($_GET["select"])?"<label><input type='radio'$za value='-1' checked><i>".lang(5)."</i></label> ":"").($l["null"]?"<label><input type='radio'$za value=''".(isset($X)||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$za,$l,$X,0);}return"";}function
  1080. processInput($l,$X,$o=""){if($o=="="){return$X;}$_=$l["field"];$F=($l["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$X)?$X:q($X));if(ereg('^(now|getdate|uuid)$',$o)){$F="$o()";}elseif(ereg('^current_(date|timestamp)$',$o)){$F=$o;}elseif(ereg('^([+-]|\\|\\|)$',$o)){$F=idf_escape($_)." $o $F";}elseif(ereg('^[+-] interval$',$o)){$F=idf_escape($_)." $o ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$X)?$X:$F);}elseif(ereg('^(addtime|subtime|concat)$',$o)){$F="$o(".idf_escape($_).", $F)";}elseif(ereg('^(md5|sha1|password|encrypt|hex)$',$o)){$F="$o($F)";}if(ereg("binary",$l["type"])){$F="unhex($F)";}return$F;}function
  1081. dumpOutput(){$F=array('text'=>lang(44),'file'=>lang(45));if(function_exists('gzencode')){$F['gz']='gzip';}if(function_exists('bzcompress')){$F['bz2']='bzip2';}return$F;}function
  1082. dumpFormat(){return
  1083. array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
  1084. dumpTable($N,$M,$Hc=false){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($M){dump_csv(array_keys(fields($N)));}}elseif($M){$cb=create_sql($N,$_POST["auto_increment"]);if($cb){if($M=="DROP+CREATE"){echo"DROP ".($Hc?"VIEW":"TABLE")." IF EXISTS ".table($N).";\n";}if($Hc){$cb=preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$cb);}echo($M!="CREATE+ALTER"?$cb:($Hc?substr_replace($cb," OR REPLACE",6,0):substr_replace($cb," IF NOT EXISTS",12,0))).";\n\n";}if($M=="CREATE+ALTER"&&!$Hc){$D="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($N)." ORDER BY ORDINAL_POSITION";echo"DELIMITER ;;
  1085. CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
  1086. DECLARE _column_name, _collation_name, after varchar(64) DEFAULT '';
  1087. DECLARE _column_type, _column_default text;
  1088. DECLARE _is_nullable char(3);
  1089. DECLARE _extra varchar(30);
  1090. DECLARE _column_comment varchar(255);
  1091. DECLARE done, set_after bool DEFAULT 0;
  1092. DECLARE add_columns text DEFAULT '";$m=array();$ua="";foreach(get_rows($D)as$G){$mb=$G["COLUMN_DEFAULT"];$G["default"]=(isset($mb)?q($mb):"NULL");$G["after"]=q($ua);$G["alter"]=escape_string(idf_escape($G["COLUMN_NAME"])." $G[COLUMN_TYPE]".($G["COLLATION_NAME"]?" COLLATE $G[COLLATION_NAME]":"").(isset($mb)?" DEFAULT ".($mb=="CURRENT_TIMESTAMP"?$mb:$G["default"]):"").($G["IS_NULLABLE"]=="YES"?"":" NOT NULL").($G["EXTRA"]?" $G[EXTRA]":"").($G["COLUMN_COMMENT"]?" COMMENT ".q($G["COLUMN_COMMENT"]):"").($ua?" AFTER ".idf_escape($ua):" FIRST"));echo", ADD $G[alter]";$m[]=$G;$ua=$G["COLUMN_NAME"];}echo"';
  1093. DECLARE columns CURSOR FOR $D;
  1094. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  1095. SET @alter_table = '';
  1096. OPEN columns;
  1097. REPEAT
  1098. FETCH columns INTO _column_name, _column_default, _is_nullable, _collation_name, _column_type, _extra, _column_comment;
  1099. IF NOT done THEN
  1100. SET set_after = 1;
  1101. CASE _column_name";foreach($m
  1102. as$G){echo"
  1103. WHEN ".q($G["COLUMN_NAME"])." THEN
  1104. SET add_columns = REPLACE(add_columns, ', ADD $G[alter]', IF(
  1105. _column_default <=> $G[default] AND _is_nullable = '$G[IS_NULLABLE]' AND _collation_name <=> ".(isset($G["COLLATION_NAME"])?"'$G[COLLATION_NAME]'":"NULL")." AND _column_type = ".q($G["COLUMN_TYPE"])." AND _extra = '$G[EXTRA]' AND _column_comment = ".q($G["COLUMN_COMMENT"])." AND after = $G[after]
  1106. , '', ', MODIFY $G[alter]'));";}echo"
  1107. ELSE
  1108. SET @alter_table = CONCAT(@alter_table, ', DROP ', _column_name);
  1109. SET set_after = 0;
  1110. END CASE;
  1111. IF set_after THEN
  1112. SET after = _column_name;
  1113. END IF;
  1114. END IF;
  1115. UNTIL done END REPEAT;
  1116. CLOSE columns;
  1117. IF @alter_table != '' OR add_columns != '' THEN
  1118. SET alter_command = CONCAT(alter_command, 'ALTER TABLE ".table($N)."', SUBSTR(CONCAT(add_columns, @alter_table), 2), ';\\n');
  1119. END IF;
  1120. END;;
  1121. DELIMITER ;
  1122. CALL adminer_alter(@adminer_alter);
  1123. DROP PROCEDURE adminer_alter;
  1124. ";}}}function
  1125. dumpData($N,$M,$D){global$g,$u;$cd=($u=="sqlite"?0:1048576);if($M){if($_POST["format"]=="sql"&&$M=="TRUNCATE+INSERT"){echo
  1126. truncate_sql($N).";\n";}if($_POST["format"]=="sql"){$m=fields($N);}$E=$g->query($D,1);if($E){$Ec="";$Ia="";while($G=$E->fetch_assoc()){if($_POST["format"]!="sql"){if($M=="table"){dump_csv(array_keys($G));$M="INSERT";}dump_csv($G);}else{if(!$Ec){$Ec="INSERT INTO ".table($N)." (".implode(", ",array_map('idf_escape',array_keys($G))).") VALUES";}foreach($G
  1127. as$v=>$W){$G[$v]=(isset($W)?(ereg('int|float|double|decimal',$m[$v]["type"])?$W:q($W)):"NULL");}$Ke=implode(",\t",$G);if($M=="INSERT+UPDATE"){$K=array();foreach($G
  1128. as$v=>$W){$K[]=idf_escape($v)." = $W";}echo"$Ec ($Ke) ON DUPLICATE KEY UPDATE ".implode(", ",$K).";\n";}else{$Ke=($cd?"\n":" ")."($Ke)";if(!$Ia){$Ia=$Ec.$Ke;}elseif(strlen($Ia)+4+strlen($Ke)<$cd){$Ia.=",$Ke";}else{echo"$Ia;\n";$Ia=$Ec.$Ke;}}}}if($_POST["format"]=="sql"&&$M!="INSERT+UPDATE"&&$Ia){$Ia.=";\n";echo$Ia;}}elseif($_POST["format"]=="sql"){echo"-- ".str_replace("\n"," ",$g->error)."\n";}}}function
  1129. dumpHeaders($wc,$pd=false){$Rd=$_POST["output"];$Tb=($_POST["format"]=="sql"?"sql":($pd?"tar":"csv"));header("Content-Type: ".($Rd=="bz2"?"application/x-bzip":($Rd=="gz"?"application/x-gzip":($Tb=="tar"?"application/x-tar":($Tb=="sql"||$Rd!="file"?"text/plain":"text/csv")."; charset=utf-8"))));if($Rd=="bz2"){ob_start('bzcompress',1e6);}if($Rd=="gz"){ob_start('gzencode',1e6);}return$Tb;}function
  1130. homepage(){echo'<p>'.($_GET["ns"]==""?'<a href="'.h(ME).'database=">'.lang(46)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(47):lang(48))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(49)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(50)."</a>\n":"");return
  1131. true;}function
  1132. navigation($od){global$ia,$g,$Q,$u,$tb;echo'<h1>
  1133. ',$this->name(),' <span class="version">',$ia,'</span>
  1134. <a href="http://www.adminer.org/#download" id="version">',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
  1135. </h1>
  1136. ';if($od=="auth"){$bc=true;foreach((array)$_SESSION["pwds"]as$sb=>$Ue){foreach($Ue
  1137. as$J=>$Vf){foreach($Vf
  1138. as$U=>$B){if(isset($B)){if($bc){echo"<p onclick='eventStop(event);'>\n";$bc=false;}echo"<a href='".h(auth_url($sb,$J,$U))."'>($tb[$sb]) ".h($U.($J!=""?"@$J":""))."</a><br>\n";}}}}}else{$i=get_databases();echo'<form action="" method="post">
  1139. <p class="logout">
  1140. ';if(DB==""||!$od){echo"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])).">".lang(43)."</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(51)."</a>\n";}}echo'<input type="submit" name="logout" value="',lang(52),'" onclick="eventStop(event);">
  1141. <input type="hidden" name="token" value="',$Q,'">
  1142. </p>
  1143. </form>
  1144. <form action="">
  1145. <p>
  1146. ';hidden_fields_get();echo($i?html_select("db",array(""=>"(".lang(53).")")+$i,DB,"this.form.submit();"):'<input name="db" value="'.h(DB).'">'),'<input type="submit" value="',lang(8),'"',($i?" class='hidden'":""),' onclick="eventStop(event);">
  1147. ';if($od!="db"&&DB!=""&&$g->select_db(DB)){if(support("scheme")){echo"<br>".html_select("ns",array(""=>"(".lang(54).")")+schemas(),$_GET["ns"],"this.form.submit();");if($_GET["ns"]!=""){set_schema($_GET["ns"]);}}if($_GET["ns"]!==""&&!$od){echo'<p><a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(55)."</a>\n";$P=tables_list();if(!$P){echo"<p class='message'>".lang(6)."\n";}else{$this->tablesPrint($P);$Vc=array();foreach($P
  1148. as$N=>$S){$Vc[]=preg_quote($N,'/');}echo"<script type='text/javascript'>\n","var jushLinks = { $u: [ '".js_escape(ME)."table=\$&', /\\b(".implode("|",$Vc).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$W){echo"jushLinks.$W = jushLinks.$u;\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
  1149. tablesPrint($P){echo"<p id='tables'>\n";foreach($P
  1150. as$N=>$S){echo'<a href="'.h(ME).'select='.urlencode($N).'"'.bold($_GET["select"]==$N).">".lang(56)."</a> ",'<a href="'.h(ME).'table='.urlencode($N).'"'.bold($_GET["table"]==$N)." title='".lang(26)."'>".$this->tableName(array("Name"=>$N))."</a><br>\n";}}}$b=(function_exists('adminer_object')?adminer_object():new
  1151. Adminer);if(!isset($b->operators)){$b->operators=$Fd;}function
  1152. page_header($zf,$k="",$Ha=array(),$_f=""){global$ca,$b,$g,$tb;header("Content-Type: text/html; charset=utf-8");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}$Af=$zf.($_f!=""?": ".h($_f):"");$Bf=strip_tags($Af.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());if(is_ajax()){header("X-AJAX-Title: ".rawurlencode($Bf));}else{echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  1153. <html lang="',$ca,'" dir="',lang(57),'">
  1154. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  1155. <meta http-equiv="Content-Script-Type" content="text/javascript">
  1156. <meta name="robots" content="noindex">
  1157. <title>',$Bf,'</title>
  1158. <link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME))."?file=default.css&amp;version=3.3.3",'">
  1159. <script type="text/javascript">
  1160. var areYouSure = \'',lang(58),'\';
  1161. </script>
  1162. <script type="text/javascript" src="',h(preg_replace("~\\?.*~","",ME))."?file=functions.js&amp;version=3.3.3",'"></script>
  1163. ';if($b->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">
  1164. ';if(file_exists("adminer.css")){echo'<link rel="stylesheet" type="text/css" href="adminer.css">
  1165. ';}}echo'
  1166. <body class="',lang(57),' nojs"',($_POST?"":" onclick=\"return bodyClick(event, '".h(js_escape(DB)."', '".js_escape($_GET["ns"]))."');\"");echo' onkeydown="bodyKeydown(event);" onload="bodyLoad(\'',(is_object($g)?substr($g->server_info,0,3):""),'\');',(isset($_COOKIE["adminer_version"])?"":" verifyVersion();");?>">
  1167. <script type="text/javascript">
  1168. document.body.className = document.body.className.replace(/(^|\s)nojs(\s|$)/, '$1js$2');
  1169. </script>
  1170. <div id="content">
  1171. <?php
  1172. }if(isset($Ha)){$y=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($y?$y:".").'">'.$tb[DRIVER].'</a> &raquo; ';$y=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$J=(SERVER!=""?h(SERVER):lang(20));if($Ha===false){echo"$J\n";}else{echo"<a href='".($y?h($y):".")."' accesskey='1' title='Alt+Shift+1'>$J</a> &raquo; ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ha))){echo'<a href="'.h($y."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';}if(is_array($Ha)){if($_GET["ns"]!=""){echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';}foreach($Ha
  1173. as$v=>$W){$ob=(is_array($W)?$W[1]:$W);if($ob!=""){echo'<a href="'.h(ME."$v=").urlencode(is_array($W)?$W[0]:$W).'">'.h($ob).'</a> &raquo; ';}}}echo"$zf\n";}}echo"<span id='loader'></span>\n","<h2>$Af</h2>\n";restart_session();$Tf=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$ld=$_SESSION["messages"][$Tf];if($ld){echo"<div class='message'>".implode("</div>\n<div class='message'>",$ld)."</div>\n";unset($_SESSION["messages"][$Tf]);}$i=&get_session("dbs");if(DB!=""&&$i&&!in_array(DB,$i,true)){$i=null;}if($k){echo"<div class='error'>$k</div>\n";}define("PAGE_HEADER",1);}function
  1174. page_footer($od=""){global$b;if(!is_ajax()){echo'</div>
  1175. ';switch_lang();echo'<div id="menu">
  1176. ';$b->navigation($od);echo'</div>
  1177. ';}}function
  1178. int32($rd){while($rd>=2147483648){$rd-=4294967296;}while($rd<=-2147483649){$rd+=4294967296;}return(int)$rd;}function
  1179. long2str($V,$bg){$Ke='';foreach($V
  1180. as$W){$Ke.=pack('V',$W);}if($bg){return
  1181. substr($Ke,0,end($V));}return$Ke;}function
  1182. str2long($Ke,$bg){$V=array_values(unpack('V*',str_pad($Ke,4*ceil(strlen($Ke)/4),"\0")));if($bg){$V[]=strlen($Ke);}return$V;}function
  1183. xxtea_mx($fg,$eg,$if,$Kc){return
  1184. int32((($fg>>5&0x7FFFFFF)^$eg<<2)+(($eg>>3&0x1FFFFFFF)^$fg<<4))^int32(($if^$eg)+($Kc^$fg));}function
  1185. encrypt_string($df,$v){if($df==""){return"";}$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($df,true);$rd=count($V)-1;$fg=$V[$rd];$eg=$V[0];$C=floor(6+52/($rd+1));$if=0;while($C-->0){$if=int32($if+0x9E3779B9);$yb=$if>>2&3;for($Sd=0;$Sd<$rd;$Sd++){$eg=$V[$Sd+1];$qd=xxtea_mx($fg,$eg,$if,$v[$Sd&3^$yb]);$fg=int32($V[$Sd]+$qd);$V[$Sd]=$fg;}$eg=$V[0];$qd=xxtea_mx($fg,$eg,$if,$v[$Sd&3^$yb]);$fg=int32($V[$rd]+$qd);$V[$rd]=$fg;}return
  1186. long2str($V,false);}function
  1187. decrypt_string($df,$v){if($df==""){return"";}$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($df,false);$rd=count($V)-1;$fg=$V[$rd];$eg=$V[0];$C=floor(6+52/($rd+1));$if=int32($C*0x9E3779B9);while($if){$yb=$if>>2&3;for($Sd=$rd;$Sd>0;$Sd--){$fg=$V[$Sd-1];$qd=xxtea_mx($fg,$eg,$if,$v[$Sd&3^$yb]);$eg=int32($V[$Sd]-$qd);$V[$Sd]=$eg;}$fg=$V[$rd];$qd=xxtea_mx($fg,$eg,$if,$v[$Sd&3^$yb]);$eg=int32($V[0]-$qd);$V[0]=$eg;$if=int32($if-0x9E3779B9);}return
  1188. long2str($V,true);}$g='';$Q=$_SESSION["token"];if(!$_SESSION["token"]){$_SESSION["token"]=rand(1,1e6);}$de=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$W){list($v)=explode(":",$W);$de[$v]=$W;}}if(isset($_POST["server"])){session_regenerate_id();$_SESSION["pwds"][$_POST["driver"]][$_POST["server"]][$_POST["username"]]=$_POST["password"];if($_POST["permanent"]){$v=base64_encode($_POST["driver"])."-".base64_encode($_POST["server"])."-".base64_encode($_POST["username"]);$ne=$b->permanentLogin();$de[$v]="$v:".base64_encode($ne?encrypt_string($_POST["password"],$ne):"");cookie("adminer_permanent",implode(" ",$de));}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($Q&&$_POST["token"]!=$Q){page_header(lang(52),lang(59));page_footer("db");exit;}else{foreach(array("pwds","dbs","queries")as$v){set_session($v,null);}$v=base64_encode(DRIVER)."-".base64_encode(SERVER)."-".base64_encode($_GET["username"]);if($de[$v]){unset($de[$v]);cookie("adminer_permanent",implode(" ",$de));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(60));}}elseif($de&&!$_SESSION["pwds"]){session_regenerate_id();$ne=$b->permanentLogin();foreach($de
  1189. as$v=>$W){list(,$Na)=explode(":",$W);list($sb,$J,$U)=array_map('base64_decode',explode("-",$v));$_SESSION["pwds"][$sb][$J][$U]=decrypt_string(base64_decode($Na),$ne);}}function
  1190. auth_error($Nb=null){global$g,$b,$Q;$Ve=session_name();$k="";if(!$_COOKIE[$Ve]&&$_GET[$Ve]&&ini_bool("session.use_only_cookies")){$k=lang(61);}elseif(isset($_GET["username"])){if(($_COOKIE[$Ve]||$_GET[$Ve])&&!$Q){$k=lang(62);}else{$B=&get_session("pwds");if(isset($B)){$k=h($Nb?$Nb->getMessage():(is_string($g)?$g:lang(63)));$B=null;}}}page_header(lang(23),$k,null);echo"<form action='' method='post' onclick='eventStop(event);'>\n";$b->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(64),lang(65,implode(", ",$ie)),false);page_footer("auth");exit;}$g=connect();}if(is_string($g)||!$b->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$Q=$_SESSION["token"];if(isset($_POST["server"])&&$_POST["token"]){$_POST["token"]=$Q;}$k=($_POST?($_POST["token"]==$Q?"":lang(59)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(66,'"post_max_size"')));function
  1191. connect_error(){global$g,$Q,$k,$tb;$i=array();if(DB!=""){page_header(lang(67).": ".h(DB),lang(68),true);}else{if($_POST["db"]&&!$k){queries_redirect(substr(ME,0,-1),lang(69),drop_databases($_POST["db"]));}page_header(lang(70),$k,false);echo"<p><a href='".h(ME)."database='>".lang(71)."</a>\n";foreach(array('privileges'=>lang(50),'processlist'=>lang(72),'variables'=>lang(73),'status'=>lang(74),)as$v=>$W){if(support($v)){echo"<a href='".h(ME)."$v='>$W</a>\n";}}echo"<p>".lang(75,$tb[DRIVER],"<b>$g->server_info</b>","<b>$g->extension</b>")."\n","<p>".lang(76,"<b>".h(logged_user())."</b>")."\n";if($_GET["refresh"]){set_session("dbs",null);}$i=get_databases();if($i){$Ne=support("scheme");$Qa=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable' onclick='tableClick(event);'>\n","<thead><tr><td>&nbsp;<th>".lang(67)."<td>".lang(77)."<td>".lang(78)."</thead>\n";foreach($i
  1192. as$j){$Fe=h(ME)."db=".urlencode($j);echo"<tr".odd()."><td>".checkbox("db[]",$j,in_array($j,(array)$_POST["db"])),"<th><a href='$Fe'>".h($j)."</a>","<td><a href='$Fe".($Ne?"&amp;ns=":"")."&amp;database=' title='".lang(46)."'>".nbsp(db_collation($j,$Qa))."</a>","<td align='right'><a href='$Fe&amp;schema=' id='tables-".h($j)."' title='".lang(49)."'>?</a>","\n";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n","<p><input type='submit' name='drop' value='".lang(79)."'".confirm("formChecked(this, /db/)",1).">\n";echo"<input type='hidden' name='token' value='$Q'>\n","<a href='".h(ME)."refresh=1' onclick='eventStop(event);'>".lang(80)."</a>\n","</form>\n";}}page_footer("db");if($i){echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=connect');</script>\n";}}if(isset($_GET["status"])){$_GET["variables"]=$_GET["status"];}if(!(DB!=""?$g->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;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""){if(!isset($_GET["ns"])){redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());}if(!set_schema($_GET["ns"])){page_header(lang(81).": ".h($_GET["ns"]),lang(82),true);page_footer("ns");exit;}}function
  1193. select($E,$h=null,$vc=""){$Vc=array();$t=array();$f=array();$Fa=array();$T=array();odd('');for($p=0;$G=$E->fetch_row();$p++){if(!$p){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($Ic=0;$Ic<count($G);$Ic++){$l=$E->fetch_field();$_=$l->name;$Ld=$l->orgtable;$Kd=$l->orgname;if($vc){$Vc[$Ic]=($_=="table"?"table=":($_=="possible_keys"?"indexes=":null));}elseif($Ld!=""){if(!isset($t[$Ld])){$t[$Ld]=array();foreach(indexes($Ld,$h)as$s){if($s["type"]=="PRIMARY"){$t[$Ld]=array_flip($s["columns"]);break;}}$f[$Ld]=$t[$Ld];}if(isset($f[$Ld][$Kd])){unset($f[$Ld][$Kd]);$t[$Ld][$Kd]=$Ic;$Vc[$Ic]=$Ld;}}if($l->charsetnr==63){$Fa[$Ic]=true;}$T[$Ic]=$l->type;$_=h($_);echo"<th".($Ld!=""||$l->name!=$Kd?" title='".h(($Ld!=""?"$Ld.":"").$Kd)."'":"").">".($vc?"<a href='$vc".strtolower($_)."' target='_blank' rel='noreferrer'>$_</a>":$_);}echo"</thead>\n";}echo"<tr".odd().">";foreach($G
  1194. as$v=>$W){if(!isset($W)){$W="<i>NULL</i>";}elseif($Fa[$v]&&!is_utf8($W)){$W="<i>".lang(32,strlen($W))."</i>";}elseif(!strlen($W)){$W="&nbsp;";}else{$W=h($W);if($T[$v]==254){$W="<code>$W</code>";}}if(isset($Vc[$v])&&!$f[$Vc[$v]]){if($vc){$y=$Vc[$v].urlencode($G[array_search("table=",$Vc)]);}else{$y="edit=".urlencode($Vc[$v]);foreach($t[$Vc[$v]]as$Oa=>$Ic){$y.="&where".urlencode("[".bracket_escape($Oa)."]")."=".urlencode($G[$Ic]);}}$W="<a href='".h(ME.$y)."'>$W</a>";}echo"<td>$W";}}echo($p?"</table>":"<p class='message'>".lang(83))."\n";}function
  1195. referencable_primary($Qe){$F=array();foreach(table_status()as$mf=>$N){if($mf!=$Qe&&fk_support($N)){foreach(fields($mf)as$l){if($l["primary"]){if($F[$mf]){unset($F[$mf]);break;}$F[$mf]=$l;}}}}return$F;}function
  1196. textarea($_,$X,$H=10,$Ra=80){echo"<textarea name='$_' rows='$H' cols='$Ra' class='sqlarea' spellcheck='false' wrap='off' onkeydown='return textareaKeydown(this, event);'>";if(is_array($X)){foreach($X
  1197. as$W){echo
  1198. h($W)."\n\n\n";}}else{echo
  1199. h($X);}echo"</textarea>";}function
  1200. format_time($Ze,$Eb){return" <span class='time'>(".lang(84,max(0,array_sum(explode(" ",$Eb))-array_sum(explode(" ",$Ze)))).")</span>";}function
  1201. edit_type($v,$l,$Qa,$fc=array()){global$ef,$T,$Rf,$Bd;echo'<td><select name="',$v,'[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);">',optionlist((!$l["type"]||isset($T[$l["type"]])?array():array($l["type"]))+$ef+($fc?array(lang(85)=>$fc):array()),$l["type"]),'</select>
  1202. <td><input name="',$v,'[length]" value="',h($l["length"]),'" size="3" onfocus="editingLengthFocus(this);"><td class="options">',"<select name='$v"."[collation]'".(ereg('(char|text|enum|set)$',$l["type"])?"":" class='hidden'").'><option value="">('.lang(86).')'.optionlist($Qa,$l["collation"]).'</select>',($Rf?"<select name='$v"."[unsigned]'".(!$l["type"]||ereg('(int|float|double|decimal)$',$l["type"])?"":" class='hidden'").'><option>'.optionlist($Rf,$l["unsigned"]).'</select>':''),($fc?"<select name='$v"."[on_delete]'".(ereg("`",$l["type"])?"":" class='hidden'")."><option value=''>(".lang(87).")".optionlist(explode("|",$Bd),$l["on_delete"])."</select> ":" ");}function
  1203. process_length($w){global$Hb;return(preg_match("~^\\s*(?:$Hb)(?:\\s*,\\s*(?:$Hb))*\\s*\$~",$w)&&preg_match_all("~$Hb~",$w,$ad)?implode(",",$ad[0]):preg_replace('~[^0-9,+-]~','',$w));}function
  1204. process_type($l,$Pa="COLLATE"){global$Rf;return" $l[type]".($l["length"]!=""?"(".process_length($l["length"]).")":"").(ereg('int|float|double|decimal',$l["type"])&&in_array($l["unsigned"],$Rf)?" $l[unsigned]":"").(ereg('char|text|enum|set',$l["type"])&&$l["collation"]?" $Pa ".q($l["collation"]):"");}function
  1205. process_field($l,$Jf){return
  1206. array(idf_escape($l["field"]),process_type($Jf),($l["null"]?" NULL":" NOT NULL"),(isset($l["default"])?" DEFAULT ".(($l["type"]=="timestamp"&&eregi('^CURRENT_TIMESTAMP$',$l["default"]))||($l["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$l["default"]))?$l["default"]:q($l["default"])):""),($l["on_update"]?" ON UPDATE $l[on_update]":""),(support("comment")&&$l["comment"]!=""?" COMMENT ".q($l["comment"]):""),($l["auto_increment"]?auto_increment():null),);}function
  1207. type_class($S){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$v=>$W){if(ereg("$v|$W",$S)){return" class='$v'";}}}function
  1208. edit_fields($m,$Qa,$S="TABLE",$wa=0,$fc=array(),$Va=false){global$Cc;echo'<thead><tr class="wrap">
  1209. ';if($S=="PROCEDURE"){echo'<td>&nbsp;';}echo'<th>',($S=="TABLE"?lang(88):lang(89)),'<td>',lang(90),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;" onblur="editingLengthBlur(this);"></textarea>
  1210. <td>',lang(91),'<td>',lang(92);if($S=="TABLE"){echo'<td>NULL
  1211. <td><input type="radio" name="auto_increment_col" value=""><acronym title="',lang(93),'">AI</acronym>
  1212. <td',($_POST["defaults"]?"":" class='hidden'"),'>',lang(94),(support("comment")?"<td".($Va?"":" class='hidden'").">".lang(95):"");}echo'<td>',"<input type='image' name='add[".(support("move_col")?0:count($m))."]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.3.3' alt='+' title='".lang(96)."'>",'<script type="text/javascript">row_count = ',count($m),';</script>
  1213. </thead>
  1214. <tbody onkeydown="return editingKeydown(event);">
  1215. ';foreach($m
  1216. as$p=>$l){$p++;$Md=$l[($_POST?"orig":"field")];$qb=(isset($_POST["add"][$p-1])||(isset($l["field"])&&!$_POST["drop_col"][$p]))&&(support("drop_col")||$Md=="");echo'<tr',($qb?"":" style='display: none;'"),'>
  1217. ',($S=="PROCEDURE"?"<td>".html_select("fields[$p][inout]",explode("|",$Cc),$l["inout"]):""),'<th>';if($qb){echo'<input name="fields[',$p,'][field]" value="',h($l["field"]),'" onchange="',($l["field"]!=""||count($m)>1?"":"editingAddRow(this, $wa); "),'editingNameChange(this);" maxlength="64">';}echo'<input type="hidden" name="fields[',$p,'][orig]" value="',h($Md),'">
  1218. ';edit_type("fields[$p]",$l,$Qa,$fc);if($S=="TABLE"){echo'<td>',checkbox("fields[$p][null]",1,$l["null"]),'<td><input type="radio" name="auto_increment_col" value="',$p,'"';if($l["auto_increment"]){echo' checked';}?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
  1219. <td<?php echo($_POST["defaults"]?"":" class='hidden'"),'>',checkbox("fields[$p][has_default]",1,$l["has_default"]),'<input name="fields[',$p,'][default]" value="',h($l["default"]),'" onchange="this.previousSibling.checked = true;">
  1220. ',(support("comment")?"<td".($Va?"":" class='hidden'")."><input name='fields[$p][comment]' value='".h($l["comment"])."' maxlength='255'>":"");}echo"<td>",(support("move_col")?"<input type='image' name='add[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.3.3' alt='+' title='".lang(96)."' onclick='return !editingAddRow(this, $wa, 1);'>&nbsp;"."<input type='image' name='up[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&amp;version=3.3.3' alt='^' title='".lang(97)."'>&nbsp;"."<input type='image' name='down[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&amp;version=3.3.3' alt='v' title='".lang(98)."'>&nbsp;":""),($Md==""||support("drop_col")?"<input type='image' name='drop_col[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&amp;version=3.3.3' alt='x' title='".lang(99)."' onclick='return !editingRemoveRow(this);'>":""),"\n";}}function
  1221. process_fields(&$m){ksort($m);$A=0;if($_POST["up"]){$Oc=0;foreach($m
  1222. as$v=>$l){if(key($_POST["up"])==$v){unset($m[$v]);array_splice($m,$Oc,0,array($l));break;}if(isset($l["field"])){$Oc=$A;}$A++;}}if($_POST["down"]){$gc=false;foreach($m
  1223. as$v=>$l){if(isset($l["field"])&&$gc){unset($m[key($_POST["down"])]);array_splice($m,$A,0,array($gc));break;}if(key($_POST["down"])==$v){$gc=$l;}$A++;}}$m=array_values($m);if($_POST["add"]){array_splice($m,key($_POST["add"]),0,array(array()));}}function
  1224. normalize_enum($z){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($z[0][0].$z[0][0],$z[0][0],substr($z[0],1,-1))),'\\'))."'";}function
  1225. grant($mc,$pe,$f,$Ad){if(!$pe){return
  1226. true;}if($pe==array("ALL PRIVILEGES","GRANT OPTION")){return($mc=="GRANT"?queries("$mc ALL PRIVILEGES$Ad WITH GRANT OPTION"):queries("$mc ALL PRIVILEGES$Ad")&&queries("$mc GRANT OPTION$Ad"));}return
  1227. queries("$mc ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$f, ",$pe).$f).$Ad);}function
  1228. drop_create($ub,$cb,$Wc,$kd,$id,$jd,$_){if($_POST["drop"]){return
  1229. query_redirect($ub,$Wc,$kd,true,!$_POST["dropped"]);}$vb=$_!=""&&($_POST["dropped"]||queries($ub));$eb=queries($cb);if(!queries_redirect($Wc,($_!=""?$id:$jd),$eb)&&$vb){redirect(null,$kd);}return$vb;}function
  1230. tar_file($Zb,$Ya){$F=pack("a100a8a8a8a12a12",$Zb,644,0,0,decoct(strlen($Ya)),decoct(time()));$Ma=8*32;for($p=0;$p<strlen($F);$p++){$Ma+=ord($F{$p});}$F.=sprintf("%06o",$Ma)."\0 ";return$F.str_repeat("\0",512-strlen($F)).$Ya.str_repeat("\0",511-(strlen($Ya)+511)%
  1231. 512);}session_cache_limiter("");if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false){session_write_close();}$Bd="RESTRICT|CASCADE|SET NULL|NO ACTION";$Hb="'(?:''|[^'\\\\]|\\\\.)*+'";$Cc="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"])){$a=$_GET["download"];header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));echo$g->result("SELECT".limit(idf_escape($_GET["field"])." FROM ".table($a)," WHERE ".where($_GET),1));exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$m=fields($a);if(!$m){$k=error();}$O=($m?table_status($a):array());page_header(($m&&is_view($O)?lang(100):lang(101)).": ".h($a),$k);$b->selectLinks($O);$Ua=$O["Comment"];if($Ua!=""){echo"<p>".lang(95).": ".h($Ua)."\n";}if($m){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(102)."<td>".lang(90).(support("comment")?"<td>".lang(95):"")."</thead>\n";foreach($m
  1232. as$l){echo"<tr".odd()."><th>".h($l["field"]),"<td title='".h($l["collation"])."'>".h($l["full_type"]).($l["null"]?" <i>NULL</i>":"").($l["auto_increment"]?" <i>".lang(93)."</i>":""),(isset($l["default"])?" [<b>".h($l["default"])."</b>]":""),(support("comment")?"<td>".nbsp($l["comment"]):""),"\n";}echo"</table>\n";if(!is_view($O)){echo"<h3>".lang(103)."</h3>\n";$t=indexes($a);if($t){echo"<table cellspacing='0'>\n";foreach($t
  1233. as$_=>$s){ksort($s["columns"]);$me=array();foreach($s["columns"]as$v=>$W){$me[]="<i>".h($W)."</i>".($s["lengths"][$v]?"(".$s["lengths"][$v].")":"");}echo"<tr title='".h($_)."'><th>$s[type]<td>".implode(", ",$me)."\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(104)."</a>\n";if(fk_support($O)){echo"<h3>".lang(85)."</h3>\n";$fc=foreign_keys($a);if($fc){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(105)."<td>".lang(106)."<td>".lang(87)."<td>".lang(107).($u!="sqlite"?"<td>&nbsp;":"")."</thead>\n";foreach($fc
  1234. as$_=>$n){echo"<tr title='".h($_)."'>","<th><i>".implode("</i>, <i>",array_map('h',$n["source"]))."</i>","<td><a href='".h($n["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($n["db"]),ME):($n["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($n["ns"]),ME):ME))."table=".urlencode($n["table"])."'>".($n["db"]!=""?"<b>".h($n["db"])."</b>.":"").($n["ns"]!=""?"<b>".h($n["ns"])."</b>.":"").h($n["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$n["target"]))."</i>)","<td>".nbsp($n["on_delete"])."\n","<td>".nbsp($n["on_update"])."\n";if($u!="sqlite"){echo'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($_)).'">'.lang(108).'</a>';}}echo"</table>\n";}if($u!="sqlite"){echo'<p><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(109)."</a>\n";}}if(support("trigger")){echo"<h3>".lang(110)."</h3>\n";$If=triggers($a);if($If){echo"<table cellspacing='0'>\n";foreach($If
  1235. as$v=>$W){echo"<tr valign='top'><td>$W[0]<td>$W[1]<th>".h($v)."<td><a href='".h(ME.'trigger='.urlencode($a).'&name='.urlencode($v))."'>".lang(108)."</a>\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(111)."</a>\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(49),"",array(),DB.($_GET["ns"]?".$_GET[ns]":""));$of=array();$pf=array();$_="adminer_schema";$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$_-".DB]?"$_-".DB:$_)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$ad,PREG_SET_ORDER);foreach($ad
  1236. as$p=>$z){$of[$z[1]]=array($z[2],$z[3]);$pf[]="\n\t'".js_escape($z[1])."': [ $z[2], $z[3] ]";}$Cf=0;$Ea=-1;$Me=array();$ze=array();$Sc=array();foreach(table_status()as$O){if(!isset($O["Engine"])){continue;}$fe=0;$Me[$O["Name"]]["fields"]=array();foreach(fields($O["Name"])as$_=>$l){$fe+=1.25;$l["pos"]=$fe;$Me[$O["Name"]]["fields"][$_]=$l;}$Me[$O["Name"]]["pos"]=($of[$O["Name"]]?$of[$O["Name"]]:array($Cf,0));foreach($b->foreignKeys($O["Name"])as$W){if(!$W["db"]){$Qc=$Ea;if($of[$O["Name"]][1]||$of[$W["table"]][1]){$Qc=min(floatval($of[$O["Name"]][1]),floatval($of[$W["table"]][1]))-1;}else{$Ea-=.1;}while($Sc[(string)$Qc]){$Qc-=.0001;}$Me[$O["Name"]]["references"][$W["table"]][(string)$Qc]=array($W["source"],$W["target"]);$ze[$W["table"]][$O["Name"]][(string)$Qc]=$W["target"];$Sc[(string)$Qc]=true;}}$Cf=max($Cf,$Me[$O["Name"]]["pos"][0]+2.5+$fe);}echo'<div id="schema" style="height: ',$Cf,'em;">
  1237. <script type="text/javascript">
  1238. tablePos = {',implode(",",$pf)."\n",'};
  1239. em = document.getElementById(\'schema\').offsetHeight / ',$Cf,';
  1240. document.onmousemove = schemaMousemove;
  1241. document.onmouseup = function (ev) {
  1242. schemaMouseup(ev, \'',js_escape(DB),'\');
  1243. };
  1244. </script>
  1245. ';foreach($Me
  1246. as$_=>$N){echo"<div class='table' style='top: ".$N["pos"][0]."em; left: ".$N["pos"][1]."em;' onmousedown='schemaMousedown(this, event);'>",'<a href="'.h(ME).'table='.urlencode($_).'"><b>'.h($_)."</b></a><br>\n";foreach($N["fields"]as$l){$W='<span'.type_class($l["type"]).' title="'.h($l["full_type"].($l["null"]?" NULL":'')).'">'.h($l["field"]).'</span>';echo($l["primary"]?"<i>$W</i>":$W)."<br>\n";}foreach((array)$N["references"]as$uf=>$_e){foreach($_e
  1247. as$Qc=>$we){$Rc=$Qc-$of[$_][1];$p=0;foreach($we[0]as$We){echo"<div class='references' title='".h($uf)."' id='refs$Qc-".($p++)."' style='left: $Rc"."em; top: ".$N["fields"][$We]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$Rc)."em;'></div></div>\n";}}}foreach((array)$ze[$_]as$uf=>$_e){foreach($_e
  1248. as$Qc=>$f){$Rc=$Qc-$of[$_][1];$p=0;foreach($f
  1249. as$tf){echo"<div class='references' title='".h($uf)."' id='refd$Qc-".($p++)."' style='left: $Rc"."em; top: ".$N["fields"][$tf]["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: ".(-$Rc)."em;'></div></div>\n";}}}echo"</div>\n";}foreach($Me
  1250. as$_=>$N){foreach((array)$N["references"]as$uf=>$_e){foreach($_e
  1251. as$Qc=>$we){$nd=$Cf;$ed=-10;foreach($we[0]as$v=>$We){$ge=$N["pos"][0]+$N["fields"][$We]["pos"];$he=$Me[$uf]["pos"][0]+$Me[$uf]["fields"][$we[1][$v]]["pos"];$nd=min($nd,$ge,$he);$ed=max($ed,$ge,$he);}echo"<div class='references' id='refl$Qc' style='left: $Qc"."em; top: $nd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($ed-$nd)."em;'></div></div>\n";}}}echo'</div>
  1252. <p><a href="',h(ME."schema=".urlencode($ea)),'" id="schema-link">',lang(112),'</a>
  1253. ';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST){$ab="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$v){$ab.="&$v=".urlencode($_POST[$v]);}cookie("adminer_export",substr($ab,1));$Tb=dump_headers(($a!=""?$a:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));$Gc=($_POST["format"]=="sql");if($Gc){echo"-- Adminer $ia ".$tb[DRIVER]." dump
  1254. ".($u!="sql"?"":"SET NAMES utf8;
  1255. SET foreign_key_checks = 0;
  1256. SET time_zone = ".q($g->result("SELECT @@time_zone")).";
  1257. SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
  1258. ");}$M=$_POST["db_style"];$i=array(DB);if(DB==""){$i=$_POST["databases"];if(is_string($i)){$i=explode("\n",rtrim(str_replace("\r","",$i),"\n"));}}foreach((array)$i
  1259. as$j){if($g->select_db($j)){if($Gc&&ereg('CREATE',$M)&&($cb=$g->result("SHOW CREATE DATABASE ".idf_escape($j),1))){if($M=="DROP+CREATE"){echo"DROP DATABASE IF EXISTS ".idf_escape($j).";\n";}echo($M=="CREATE+ALTER"?preg_replace('~^CREATE DATABASE ~','\\0IF NOT EXISTS ',$cb):$cb).";\n";}if($Gc){if($M){echo
  1260. use_sql($j).";\n\n";}if(in_array("CREATE+ALTER",array($M,$_POST["table_style"]))){echo"SET @adminer_alter = '';\n\n";}$Qd="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ge){foreach(get_rows("SHOW $Ge STATUS WHERE Db = ".q($j),null,"-- ")as$G){$Qd.=($M!='DROP+CREATE'?"DROP $Ge IF EXISTS ".idf_escape($G["Name"]).";;\n":"").$g->result("SHOW CREATE $Ge ".idf_escape($G["Name"]),2).";;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$G){$Qd.=($M!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($G["Name"]).";;\n":"").$g->result("SHOW CREATE EVENT ".idf_escape($G["Name"]),3).";;\n\n";}}if($Qd){echo"DELIMITER ;;\n\n$Qd"."DELIMITER ;\n\n";}}if($_POST["table_style"]||$_POST["data_style"]){$Y=array();foreach(table_status()as$O){$N=(DB==""||in_array($O["Name"],(array)$_POST["tables"]));$hb=(DB==""||in_array($O["Name"],(array)$_POST["data"]));if($N||$hb){if(!is_view($O)){if($Tb=="tar"){ob_start();}$b->dumpTable($O["Name"],($N?$_POST["table_style"]:""));if($hb){$b->dumpData($O["Name"],$_POST["data_style"],"SELECT * FROM ".table($O["Name"]));}if($Gc&&$_POST["triggers"]&&$N&&($If=trigger_sql($O["Name"],$_POST["table_style"]))){echo"\nDELIMITER ;;\n$If\nDELIMITER ;\n";}if($Tb=="tar"){echo
  1261. tar_file((DB!=""?"":"$j/")."$O[Name].csv",ob_get_clean());}elseif($Gc){echo"\n";}}elseif($Gc){$Y[]=$O["Name"];}}}foreach($Y
  1262. as$Zf){$b->dumpTable($Zf,$_POST["table_style"],true);}if($Tb=="tar"){echo
  1263. pack("x512");}}if($M=="CREATE+ALTER"&&$Gc){$D="SELECT TABLE_NAME, ENGINE, TABLE_COLLATION, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE()";echo"DELIMITER ;;
  1264. CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
  1265. DECLARE _table_name, _engine, _table_collation varchar(64);
  1266. DECLARE _table_comment varchar(64);
  1267. DECLARE done bool DEFAULT 0;
  1268. DECLARE tables CURSOR FOR $D;
  1269. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  1270. OPEN tables;
  1271. REPEAT
  1272. FETCH tables INTO _table_name, _engine, _table_collation, _table_comment;
  1273. IF NOT done THEN
  1274. CASE _table_name";foreach(get_rows($D)as$G){$Ua=q($G["ENGINE"]=="InnoDB"?preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$G["TABLE_COMMENT"]):$G["TABLE_COMMENT"]);echo"
  1275. WHEN ".q($G["TABLE_NAME"])." THEN
  1276. ".(isset($G["ENGINE"])?"IF _engine != '$G[ENGINE]' OR _table_collation != '$G[TABLE_COLLATION]' OR _table_comment != $Ua THEN
  1277. ALTER TABLE ".idf_escape($G["TABLE_NAME"])." ENGINE=$G[ENGINE] COLLATE=$G[TABLE_COLLATION] COMMENT=$Ua;
  1278. END IF":"BEGIN END").";";}echo"
  1279. ELSE
  1280. SET alter_command = CONCAT(alter_command, 'DROP TABLE `', REPLACE(_table_name, '`', '``'), '`;\\n');
  1281. END CASE;
  1282. END IF;
  1283. UNTIL done END REPEAT;
  1284. CLOSE tables;
  1285. END;;
  1286. DELIMITER ;
  1287. CALL adminer_alter(@adminer_alter);
  1288. DROP PROCEDURE adminer_alter;
  1289. ";}if(in_array("CREATE+ALTER",array($M,$_POST["table_style"]))&&$Gc){echo"SELECT @adminer_alter;\n";}}}if($Gc){echo"-- ".$g->result("SELECT NOW()")."\n";}exit;}page_header(lang(113),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
  1290. <form action="" method="post">
  1291. <table cellspacing="0">
  1292. ';$kb=array('','USE','DROP+CREATE','CREATE');$qf=array('','DROP+CREATE','CREATE');$ib=array('','TRUNCATE+INSERT','INSERT');if($u=="sql"){$kb[]='CREATE+ALTER';$qf[]='CREATE+ALTER';$ib[]='INSERT+UPDATE';}parse_str($_COOKIE["adminer_export"],$G);if(!$G){$G=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");}if(!isset($G["events"])){$G["routines"]=$G["events"]=($_GET["dump"]=="");$G["triggers"]=$G["table_style"];}echo"<tr><th>".lang(114)."<td>".html_select("output",$b->dumpOutput(),$G["output"],0)."\n";echo"<tr><th>".lang(115)."<td>".html_select("format",$b->dumpFormat(),$G["format"],0)."\n";echo($u=="sqlite"?"":"<tr><th>".lang(67)."<td>".html_select('db_style',$kb,$G["db_style"]).(support("routine")?checkbox("routines",1,$G["routines"],lang(116)):"").(support("event")?checkbox("events",1,$G["events"],lang(117)):"")),"<tr><th>".lang(78)."<td>".html_select('table_style',$qf,$G["table_style"]).checkbox("auto_increment",1,$G["auto_increment"],lang(93)).(support("trigger")?checkbox("triggers",1,$G["triggers"],lang(110)):""),"<tr><th>".lang(118)."<td>".html_select('data_style',$ib,$G["data_style"]),'</table>
  1293. <p><input type="submit" value="',lang(113),'">
  1294. <table cellspacing="0">
  1295. ';$ke=array();if(DB!=""){$La=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label><input type='checkbox' id='check-tables'$La onclick='formCheck(this, /^tables\\[/);'>".lang(78)."</label>","<th style='text-align: right;'><label>".lang(118)."<input type='checkbox' id='check-data'$La onclick='formCheck(this, /^data\\[/);'></label>","</thead>\n";$Y="";foreach(table_status()as$O){$_=$O["Name"];$je=ereg_replace("_.*","",$_);$La=($a==""||$a==(substr($a,-1)=="%"?"$je%":$_));$me="<tr><td>".checkbox("tables[]",$_,$La,$_,"formUncheck('check-tables');");if(is_view($O)){$Y.="$me\n";}else{echo"$me<td align='right'><label>".($O["Engine"]=="InnoDB"&&$O["Rows"]?"~ ":"").$O["Rows"].checkbox("data[]",$_,$La,"","formUncheck('check-data');")."</label>\n";}$ke[$je]++;}echo$Y;}else{echo"<thead><tr><th style='text-align: left;'><label><input type='checkbox' id='check-databases'".($a==""?" checked":"")." onclick='formCheck(this, /^databases\\[/);'>".lang(67)."</label></thead>\n";$i=get_databases();if($i){foreach($i
  1296. as$j){if(!information_schema($j)){$je=ereg_replace("_.*","",$j);echo"<tr><td>".checkbox("databases[]",$j,$a==""||$a=="$je%",$j,"formUncheck('check-databases');")."</label>\n";$ke[$je]++;}}}else{echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}}echo'</table>
  1297. </form>
  1298. ';$bc=true;foreach($ke
  1299. as$v=>$W){if($v!=""&&$W>1){echo($bc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$v%")."'>".h($v)."</a>";$bc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(50));$E=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$mc=$E;if(!$E){$E=$g->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",($mc?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(21)."<th>".lang(20)."<th>&nbsp;</thead>\n";while($G=$E->fetch_assoc()){echo'<tr'.odd().'><td>'.h($G["User"])."<td>".h($G["Host"]).'<td><a href="'.h(ME.'user='.urlencode($G["User"]).'&host='.urlencode($G["Host"])).'">'.lang(31)."</a>\n";}if(!$mc||DB!=""){echo"<tr".odd()."><td><input name='user'><td><input name='host' value='localhost'><td><input type='submit' value='".lang(31)."'>\n";}echo"</table>\n","</form>\n",'<p><a href="'.h(ME).'user=">'.lang(119)."</a>";}elseif(isset($_GET["sql"])){if(!$k&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$tc=&get_session("queries");$sc=&$tc[DB];if(!$k&&$_POST["clear"]){$sc=array();redirect(remove_from_uri("history"));}page_header(lang(43),$k);if(!$k&&$_POST){$ic=false;$D=$_POST["query"];if($_POST["webfile"]){$ic=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$D=($ic?fread($ic,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"]!=4){$D=get_file("sql_file",true);}if(is_string($D)){if(function_exists('memory_get_usage')){@ini_set("memory_limit",max(ini_get("memory_limit"),2*strlen($D)+memory_get_usage()+8e6));}if($D!=""&&strlen($D)<1e6){$C=$D.(ereg(';$',$D)?"":";");if(!$sc||end($sc)!=$C){$sc[]=$C;}}$Xe="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies")){session_write_close();}$nb=";";$A=0;$Db=true;$h=connect();if(is_object($h)&&DB!=""){$h->select_db(DB);}$Ta=0;$Kb=array();$Wd='[\'"'.($u=="sql"?'`#':($u=="sqlite"?'`[':($u=="mssql"?'[':''))).']|/\\*|-- |$'.($u=="pgsql"?'|\\$[^$]*\\$':'');$Df=microtime();parse_str($_COOKIE["adminer_export"],$qa);$xb=$b->dumpFormat();unset($xb["sql"]);while($D!=""){if(!$A&&preg_match("~^$Xe*DELIMITER\\s+(.+)~i",$D,$z)){$nb=$z[1];$D=substr($D,strlen($z[0]));}else{preg_match('('.preg_quote($nb)."|$Wd)",$D,$z,PREG_OFFSET_CAPTURE,$A);$gc=$z[0][0];if(!$gc&&$ic&&!feof($ic)){$D.=fread($ic,1e5);}else{$A=$z[0][1]+strlen($gc);if(!$gc&&rtrim($D)==""){break;}if($gc&&$gc!=$nb){while(preg_match('('.($gc=='/*'?'\\*/':($gc=='['?']':(ereg('^-- |^#',$gc)?"\n":preg_quote($gc)."|\\\\."))).'|$)s',$D,$z,PREG_OFFSET_CAPTURE,$A)){$Ke=$z[0][0];$A=$z[0][1]+strlen($Ke);if(!$Ke&&$ic&&!feof($ic)){$A-=strlen($gc);$D.=fread($ic,1e5);}elseif($Ke[0]!="\\"){break;}}}else{$Db=false;$C=substr($D,0,$z[0][1]);$Ta++;$me="<pre id='sql-$Ta'><code class='jush-$u'>".shorten_utf8(trim($C),1000)."</code></pre>\n";if(!$_POST["only_errors"]){echo$me;ob_flush();flush();}$Ze=microtime();if($g->multi_query($C)&&is_object($h)&&preg_match("~^$Xe*USE\\b~isU",$C)){$h->query($C);}do{$E=$g->store_result();$Eb=microtime();$xf=format_time($Ze,$Eb).(strlen($C)<1000?" <a href='".h(ME)."sql=".urlencode(trim($C))."'>".lang(31)."</a>":"");if($g->error){echo($_POST["only_errors"]?$me:""),"<p class='error'>".lang(120).": ".error()."\n";$Kb[]=" <a href='#sql-$Ta'>$Ta</a>";if($_POST["error_stops"]){break
  1300. 2;}}elseif(is_object($E)){select($E,$h);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n","<p>".($E->num_rows?lang(121,$E->num_rows):"").$xf;$q="export-$Ta";$Sb=", <a href='#$q' onclick=\"return !toggle('$q');\">".lang(113)."</a><span id='$q' class='hidden'>: ".html_select("output",$b->dumpOutput(),$qa["output"])." ".html_select("format",$xb,$qa["format"])."<input type='hidden' name='query' value='".h($C)."'>"." <input type='submit' name='export' value='".lang(113)."' onclick='eventStop(event);'><input type='hidden' name='token' value='$Q'></span>\n";if($h&&preg_match("~^($Xe|\\()*SELECT\\b~isU",$C)&&($Rb=explain($h,$C))){$q="explain-$Ta";echo", <a href='#$q' onclick=\"return !toggle('$q');\">EXPLAIN</a>$Sb","<div id='$q' class='hidden'>\n";select($Rb,$h,($u=="sql"?"http://dev.mysql.com/doc/refman/".substr($g->server_info,0,3)."/en/explain-output.html#explain_":""));echo"</div>\n";}else{echo$Sb;}echo"</form>\n";}}else{if(preg_match("~^$Xe*(CREATE|DROP|ALTER)$Xe+(DATABASE|SCHEMA)\\b~isU",$C)){restart_session();set_session("dbs",null);session_write_close();}if(!$_POST["only_errors"]){echo"<p class='message' title='".h($g->info)."'>".lang(122,$g->affected_rows)."$xf\n";}}$Ze=$Eb;}while($g->next_result());$D=substr($D,$A);$A=0;}}}}if($Db){echo"<p class='message'>".lang(123)."\n";}elseif($_POST["only_errors"]){echo"<p class='message'>".lang(124,$Ta-count($Kb)).format_time($Df,microtime())."\n";}elseif($Kb&&$Ta>1){echo"<p class='error'>".lang(120).": ".implode("",$Kb)."\n";}}else{echo"<p class='error'>".upload_error($D)."\n";}}echo'
  1301. <form action="" method="post" enctype="multipart/form-data" id="form">
  1302. <p>';$C=$_GET["sql"];if($_POST){$C=$_POST["query"];}elseif($_GET["history"]=="all"){$C=$sc;}elseif($_GET["history"]!=""){$C=$sc[$_GET["history"]];}textarea("query",$C,20);echo($_POST?"":"<script type='text/javascript'>document.getElementsByTagName('textarea')[0].focus();</script>\n"),"<p>".(ini_bool("file_uploads")?lang(125).': <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(126)),'<p>
  1303. <input type="submit" value="',lang(127),'" title="Ctrl+Enter">
  1304. <input type="hidden" name="token" value="',$Q,'">
  1305. ',checkbox("error_stops",1,$_POST["error_stops"],lang(128))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(129))."\n";print_fieldset("webfile",lang(130),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");$Wa=array();foreach(array("gz"=>"zlib","bz2"=>"bz2")as$v=>$W){if(extension_loaded($W)){$Wa[]=".$v";}}echo
  1306. lang(131,"<code>adminer.sql".($Wa?"[".implode("|",$Wa)."]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(132).'">',"</div></fieldset>\n";if($sc){print_fieldset("history",lang(133),$_GET["history"]!="");foreach($sc
  1307. as$v=>$W){echo'<a href="'.h(ME."sql=&history=$v").'">'.lang(31)."</a> <code class='jush-$u'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$W)))),80,"</code>")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(134)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(135)."</a>\n","</div></fieldset>\n";}echo'
  1308. </form>
  1309. ';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$Sf=(isset($_GET["select"])?$_POST["edit"]:$Z);$m=fields($a);foreach($m
  1310. as$_=>$l){if(!isset($l["privileges"][$Sf?"update":"insert"])||$b->fieldName($l)==""){unset($m[$_]);}}if($_POST&&!$k&&!isset($_GET["select"])){$Wc=$_POST["referer"];if($_POST["insert"]){$Wc=($Sf?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$Wc)){$Wc=ME."select=".urlencode($a);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($a)," WHERE $Z"),$Wc,lang(136));}else{$K=array();foreach($m
  1311. as$_=>$l){$W=process_input($l);if($W!==false&&$W!==null){$K[idf_escape($_)]=($Sf?"\n".idf_escape($_)." = $W":$W);}}if($Sf){if(!$K){redirect($Wc);}query_redirect("UPDATE".limit1(table($a)." SET".implode(",",$K),"\nWHERE $Z"),$Wc,lang(137));}else{$E=insert_into($a,$K);$Pc=($E?last_id():0);queries_redirect($Wc,lang(138,($Pc?" $Pc":"")),$E);}}}$mf=$b->tableName(table_status($a));page_header(($Sf?lang(31):lang(139)),$k,array("select"=>array($a,$mf)),$mf);$G=null;if($_POST["save"]){$G=(array)$_POST["fields"];}elseif($Z){$I=array();foreach($m
  1312. as$_=>$l){if(isset($l["privileges"]["select"])){$I[]=($_POST["clone"]&&$l["auto_increment"]?"'' AS ":(ereg("enum|set",$l["type"])?"1*".idf_escape($_)." AS ":"")).idf_escape($_);}}$G=array();if($I){$H=get_rows("SELECT".limit(implode(", ",$I)." FROM ".table($a)," WHERE $Z",(isset($_GET["select"])?2:1)));$G=(isset($_GET["select"])&&count($H)!=1?null:reset($H));}}if($G===false){echo"<p class='error'>".lang(83)."\n";}echo'
  1313. <form action="" method="post" enctype="multipart/form-data" id="form">
  1314. ';if($m){echo"<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";foreach($m
  1315. as$_=>$l){echo"<tr><th>".$b->fieldName($l);$mb=$_GET["set"][bracket_escape($_)];$X=(isset($G)?($G[$_]!=""&&ereg("enum|set",$l["type"])?(is_array($G[$_])?array_sum($G[$_]):+$G[$_]):$G[$_]):(!$Sf&&$l["auto_increment"]?"":(isset($_GET["select"])?false:(isset($mb)?$mb:$l["default"]))));if(!$_POST["save"]&&is_string($X)){$X=$b->editVal($X,$l);}$o=($_POST["save"]?(string)$_POST["function"][$_]:($Sf&&$l["on_update"]=="CURRENT_TIMESTAMP"?"now":($X===false?null:(isset($X)?'':'NULL'))));if($l["type"]=="timestamp"&&$X=="CURRENT_TIMESTAMP"){$X="";$o="now";}input($l,$X,$o);echo"\n";}echo"</table>\n";}echo'<p>
  1316. ';if($m){echo"<input type='submit' value='".lang(140)."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($Sf?lang(141):lang(142))."' title='Ctrl+Shift+Enter'>\n";}}echo($Sf?"<input type='submit' name='delete' value='".lang(143)."' onclick=\"return confirm('".lang(0)."');\">\n":($_POST||!$m?"":"<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"]),'">
  1317. <input type="hidden" name="save" value="1">
  1318. <input type="hidden" name="token" value="',$Q,'">
  1319. </form>
  1320. ';}elseif(isset($_GET["create"])){$a=$_GET["create"];$Xd=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$ye=referencable_primary($a);$fc=array();foreach($ye
  1321. as$mf=>$l){$fc[str_replace("`","``",$mf)."`".str_replace("`","``",$l["field"])]=$mf;}$Od=array();$Pd=array();if($a!=""){$Od=fields($a);$Pd=table_status($a);}if($_POST&&!$_POST["fields"]){$_POST["fields"]=array();}if($_POST&&!$k&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){if($_POST["drop"]){query_redirect("DROP TABLE ".table($a),substr(ME,0,-1),lang(144));}else{$m=array();$dc=array();ksort($_POST["fields"]);$Nd=reset($Od);$ua="FIRST";foreach($_POST["fields"]as$v=>$l){$n=$fc[$l["type"]];$Jf=(isset($n)?$ye[$n]:$l);if($l["field"]!=""){if(!$l["has_default"]){$l["default"]=null;}$mb=eregi_replace(" *on update CURRENT_TIMESTAMP","",$l["default"]);if($mb!=$l["default"]){$l["on_update"]="CURRENT_TIMESTAMP";$l["default"]=$mb;}if($v==$_POST["auto_increment_col"]){$l["auto_increment"]=true;}$re=process_field($l,$Jf);if($re!=process_field($Nd,$Nd)){$m[]=array($l["orig"],$re,$ua);}if(isset($n)){$dc[idf_escape($l["field"])]=($a!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($l["field"]).") REFERENCES ".table($fc[$l["type"]])." (".idf_escape($Jf["field"]).")".(ereg("^($Bd)\$",$l["on_delete"])?" ON DELETE $l[on_delete]":"");}$ua="AFTER ".idf_escape($l["field"]);}elseif($l["orig"]!=""){$m[]=array($l["orig"]);}if($l["orig"]!=""){$Nd=next($Od);}}$Zd="";if(in_array($_POST["partition_by"],$Xd)){$ae=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$v=>$W){$X=$_POST["partition_values"][$v];$ae[]="\nPARTITION ".idf_escape($W)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($X!=""?" ($X)":" MAXVALUE");}}$Zd.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($ae?" (".implode(",",$ae)."\n)":($_POST["partitions"]?" PARTITIONS ".(+$_POST["partitions"]):""));}elseif($a!=""&&support("partitioning")){$Zd.="\nREMOVE PARTITIONING";}$hd=lang(145);if($a==""){cookie("adminer_engine",$_POST["Engine"]);$hd=lang(146);}queries_redirect(ME."table=".urlencode($_POST["name"]),$hd,alter_table($a,$_POST["name"],$m,$dc,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$Pd["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$Pd["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?+$_POST["Auto_increment"]:""),$Zd));}}page_header(($a!=""?lang(28):lang(147)),$k,array("table"=>$a),$a);$G=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($T["int"])?"int":(isset($T["integer"])?"integer":"")))),"partition_names"=>array(""),);if($_POST){$G=$_POST;if($G["auto_increment_col"]){$G["fields"][$G["auto_increment_col"]]["auto_increment"]=true;}process_fields($G["fields"]);}elseif($a!=""){$G=$Pd;$G["name"]=$a;$G["fields"]=array();if(!$_GET["auto_increment"]){$G["Auto_increment"]="";}foreach($Od
  1322. as$l){$l["has_default"]=isset($l["default"]);if($l["on_update"]){$l["default"].=" ON UPDATE $l[on_update]";}$G["fields"][]=$l;}if(support("partitioning")){$jc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$E=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $jc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($G["partition_by"],$G["partitions"],$G["partition"])=$E->fetch_row();$G["partition_names"]=array();$G["partition_values"]=array();foreach(get_rows("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $jc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$Je){$G["partition_names"][]=$Je["PARTITION_NAME"];$G["partition_values"][]=$Je["PARTITION_DESCRIPTION"];}$G["partition_names"][]="";}}$Qa=collations();$hf=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($hf&&count($G["fields"])>$hf){echo"<p class='error'>".h(lang(148,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";}$Gb=engines();foreach($Gb
  1323. as$Fb){if(!strcasecmp($Fb,$G["Engine"])){$G["Engine"]=$Fb;break;}}echo'
  1324. <form action="" method="post" id="form">
  1325. <p>
  1326. ',lang(149),': <input name="name" maxlength="64" value="',h($G["name"]),'">
  1327. ';if($a==""&&!$_POST){?><script type='text/javascript'>document.getElementById('form')['name'].focus();</script><?php }echo($Gb?html_select("Engine",array(""=>"(".lang(150).")")+$Gb,$G["Engine"]):""),' ',($Qa&&!ereg("sqlite|mssql",$u)?html_select("Collation",array(""=>"(".lang(86).")")+$Qa,$G["Collation"]):""),' <input type="submit" value="',lang(140),'">
  1328. <table cellspacing="0" id="edit-fields" class="nowrap">
  1329. ';$Va=($_POST?$_POST["comments"]:$G["Comment"]!="");if(!$_POST&&!$Va){foreach($G["fields"]as$l){if($l["comment"]!=""){$Va=true;break;}}}edit_fields($G["fields"],$Qa,"TABLE",$hf,$fc,$Va);echo'</table>
  1330. <p>
  1331. ',lang(93),': <input name="Auto_increment" size="6" value="',h($G["Auto_increment"]),'">
  1332. <label class="jsonly"><input type="checkbox" name="defaults" value="1"',($_POST["defaults"]?" checked":""),' onclick="columnShow(this.checked, 5);">',lang(94),'</label>
  1333. ',(support("comment")?checkbox("comments",1,$Va,lang(95),"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();",true).' <input id="Comment" name="Comment" value="'.h($G["Comment"]).'" maxlength="60"'.($Va?'':' class="hidden"').'>':''),'<p>
  1334. <input type="submit" value="',lang(140),'">
  1335. ';if($_GET["create"]!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1336. ';if(support("partitioning")){$Yd=ereg('RANGE|LIST',$G["partition_by"]);print_fieldset("partition",lang(151),$G["partition_by"]);echo'<p>
  1337. ',html_select("partition_by",array(-1=>"")+$Xd,$G["partition_by"],"partitionByChange(this);"),'(<input name="partition" value="',h($G["partition"]),'">)
  1338. ',lang(152),': <input name="partitions" size="2" value="',h($G["partitions"]),'"',($Yd||!$G["partition_by"]?" class='hidden'":""),'>
  1339. <table cellspacing="0" id="partition-table"',($Yd?"":" class='hidden'"),'>
  1340. <thead><tr><th>',lang(153),'<th>',lang(154),'</thead>
  1341. ';foreach($G["partition_names"]as$v=>$W){echo'<tr>','<td><input name="partition_names[]" value="'.h($W).'"'.($v==count($G["partition_names"])-1?' onchange="partitionNameChange(this);"':'').'>','<td><input name="partition_values[]" value="'.h($G["partition_values"][$v]).'">';}echo'</table>
  1342. </div></fieldset>
  1343. ';}echo'</form>
  1344. ';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$zc=array("PRIMARY","UNIQUE","INDEX");$O=table_status($a);if(eregi("MyISAM|M?aria",$O["Engine"])){$zc[]="FULLTEXT";}$t=indexes($a);if($u=="sqlite"){unset($zc[0]);unset($t[""]);}if($_POST&&!$k&&!$_POST["add"]){$c=array();foreach($_POST["indexes"]as$s){$_=$s["name"];if(in_array($s["type"],$zc)){$f=array();$Uc=array();$K=array();ksort($s["columns"]);foreach($s["columns"]as$v=>$e){if($e!=""){$w=$s["lengths"][$v];$K[]=idf_escape($e).($w?"(".(+$w).")":"");$f[]=$e;$Uc[]=($w?$w:null);}}if($f){$Qb=$t[$_];if($Qb){ksort($Qb["columns"]);ksort($Qb["lengths"]);if($s["type"]==$Qb["type"]&&array_values($Qb["columns"])===$f&&(!$Qb["lengths"]||array_values($Qb["lengths"])===$Uc)){unset($t[$_]);continue;}}$c[]=array($s["type"],$_,"(".implode(", ",$K).")");}}}foreach($t
  1345. as$_=>$Qb){$c[]=array($Qb["type"],$_,"DROP");}if(!$c){redirect(ME."table=".urlencode($a));}queries_redirect(ME."table=".urlencode($a),lang(155),alter_indexes($a,$c));}page_header(lang(103),$k,array("table"=>$a),$a);$m=array_keys(fields($a));$G=array("indexes"=>$t);if($_POST){$G=$_POST;if($_POST["add"]){foreach($G["indexes"]as$v=>$s){if($s["columns"][count($s["columns"])]!=""){$G["indexes"][$v]["columns"][]="";}}$s=end($G["indexes"]);if($s["type"]||array_filter($s["columns"],'strlen')||array_filter($s["lengths"],'strlen')){$G["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($G["indexes"]as$v=>$s){$G["indexes"][$v]["name"]=$v;$G["indexes"][$v]["columns"][]="";}$G["indexes"][]=array("columns"=>array(1=>""));}echo'
  1346. <form action="" method="post">
  1347. <table cellspacing="0" class="nowrap">
  1348. <thead><tr><th>',lang(156),'<th>',lang(157),'<th>',lang(158),'</thead>
  1349. ';$Ic=1;foreach($G["indexes"]as$s){echo"<tr><td>".html_select("indexes[$Ic][type]",array(-1=>"")+$zc,$s["type"],($Ic==count($G["indexes"])?"indexesAddRow(this);":1))."<td>";ksort($s["columns"]);$p=1;foreach($s["columns"]as$v=>$e){echo"<span>".html_select("indexes[$Ic][columns][$p]",array(-1=>"")+$m,$e,($p==count($s["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($u=="sql"?"":$_GET["indexes"]."_")."');"),"<input name='indexes[$Ic][lengths][$p]' size='2' value='".h($s["lengths"][$v])."'> </span>";$p++;}echo"<td><input name='indexes[$Ic][name]' value='".h($s["name"])."'>\n";$Ic++;}echo'</table>
  1350. <p>
  1351. <input type="submit" value="',lang(140),'">
  1352. <noscript><p><input type="submit" name="add" value="',lang(96),'"></noscript>
  1353. <input type="hidden" name="token" value="',$Q,'">
  1354. </form>
  1355. ';}elseif(isset($_GET["database"])){if($_POST&&!$k&&!isset($_POST["add_x"])){restart_session();if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(159),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(160),rename_database($_POST["name"],$_POST["collation"]));}else{$i=explode("\n",str_replace("\r","",$_POST["name"]));$ff=true;$Oc="";foreach($i
  1356. as$j){if(count($i)==1||$j!=""){if(!create_database($j,$_POST["collation"])){$ff=false;}$Oc=$j;}}queries_redirect(ME."db=".urlencode($Oc),lang(161),$ff);}}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(162));}}page_header(DB!=""?lang(46):lang(163),$k,array(),DB);$Qa=collations();$_=DB;$Pa=null;if($_POST){$_=$_POST["name"];$Pa=$_POST["collation"];}elseif(DB!=""){$Pa=db_collation(DB,$Qa);}elseif($u=="sql"){foreach(get_vals("SHOW GRANTS")as$mc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$mc,$z)&&$z[1]){$_=stripcslashes(idf_unescape("`$z[2]`"));break;}}}echo'
  1357. <form action="" method="post">
  1358. <p>
  1359. ',($_POST["add_x"]||strpos($_,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($_).'</textarea><br>':'<input id="name" name="name" value="'.h($_).'" maxlength="64">')."\n".($Qa?html_select("collation",array(""=>"(".lang(86).")")+$Qa,$Pa):"");?>
  1360. <script type='text/javascript'>document.getElementById('name').focus();</script>
  1361. <input type="submit" value="<?php echo
  1362. lang(140),'">
  1363. ';if(DB!=""){echo"<input type='submit' name='drop' value='".lang(79)."'".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(96)."'>\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1364. </form>
  1365. ';}elseif(isset($_GET["scheme"])){if($_POST&&!$k){$y=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"]){query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$y,lang(164));}else{$y.=urlencode($_POST["name"]);if($_GET["ns"]==""){query_redirect("CREATE SCHEMA ".idf_escape($_POST["name"]),$y,lang(165));}elseif($_GET["ns"]!=$_POST["name"]){query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_POST["name"]),$y,lang(166));}else{redirect($y);}}}page_header($_GET["ns"]!=""?lang(47):lang(48),$k);$G=$_POST;if(!$G){$G=array("name"=>$_GET["ns"]);}echo'
  1366. <form action="" method="post">
  1367. <p><input name="name" value="',h($G["name"]),'">
  1368. <input type="submit" value="',lang(140),'">
  1369. ';if($_GET["ns"]!=""){echo"<input type='submit' name='drop' value='".lang(79)."'".confirm().">\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1370. </form>
  1371. ';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(167).": ".h($da),$k);$Ge=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$yc=array();$Qd=array();foreach($Ge["fields"]as$p=>$l){if(substr($l["inout"],-3)=="OUT"){$Qd[$p]="@".idf_escape($l["field"])." AS ".idf_escape($l["field"]);}if(!$l["inout"]||substr($l["inout"],0,2)=="IN"){$yc[]=$p;}}if(!$k&&$_POST){$Ja=array();foreach($Ge["fields"]as$v=>$l){if(in_array($v,$yc)){$W=process_input($l);if($W===false){$W="''";}if(isset($Qd[$v])){$g->query("SET @".idf_escape($l["field"])." = $W");}}$Ja[]=(isset($Qd[$v])?"@".idf_escape($l["field"]):$W);}$D=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Ja).")";echo"<p><code class='jush-$u'>".h($D)."</code> <a href='".h(ME)."sql=".urlencode($D)."'>".lang(31)."</a>\n";if(!$g->multi_query($D)){echo"<p class='error'>".error()."\n";}else{$h=connect();if(is_object($h)){$h->select_db(DB);}do{$E=$g->store_result();if(is_object($E)){select($E,$h);}else{echo"<p class='message'>".lang(168,$g->affected_rows)."\n";}}while($g->next_result());if($Qd){select($g->query("SELECT ".implode(", ",$Qd)));}}}echo'
  1372. <form action="" method="post">
  1373. ';if($yc){echo"<table cellspacing='0'>\n";foreach($yc
  1374. as$v){$l=$Ge["fields"][$v];$_=$l["field"];echo"<tr><th>".$b->fieldName($l);$X=$_POST["fields"][$_];if($X!=""){if($l["type"]=="enum"){$X=+$X;}if($l["type"]=="set"){$X=array_sum($X);}}input($l,$X,(string)$_POST["function"][$_]);echo"\n";}echo"</table>\n";}echo'<p>
  1375. <input type="submit" value="',lang(167),'">
  1376. <input type="hidden" name="token" value="',$Q,'">
  1377. </form>
  1378. ';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];if($_POST&&!$k&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"]){query_redirect("ALTER TABLE ".table($a)."\nDROP ".($u=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]),ME."table=".urlencode($a),lang(169));}else{$We=array_filter($_POST["source"],'strlen');ksort($We);$tf=array();foreach($We
  1379. as$v=>$W){$tf[$v]=$_POST["target"][$v];}query_redirect("ALTER TABLE ".table($a).($_GET["name"]!=""?"\nDROP FOREIGN KEY ".idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$We)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$tf)).")".(ereg("^($Bd)\$",$_POST["on_delete"])?" ON DELETE $_POST[on_delete]":"").(ereg("^($Bd)\$",$_POST["on_update"])?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($a),($_GET["name"]!=""?lang(170):lang(171)));$k=lang(172)."<br>$k";}}page_header(lang(173),$k,array("table"=>$a),$a);$G=array("table"=>$a,"source"=>array(""));if($_POST){$G=$_POST;ksort($G["source"]);if($_POST["add"]){$G["source"][]="";}elseif($_POST["change"]||$_POST["change-js"]){$G["target"]=array();}}elseif($_GET["name"]!=""){$fc=foreign_keys($a);$G=$fc[$_GET["name"]];$G["source"][]="";}$We=array_keys(fields($a));$tf=($a===$G["table"]?$We:array_keys(fields($G["table"])));$xe=array();foreach(table_status()as$_=>$O){if(fk_support($O)){$xe[]=$_;}}echo'
  1380. <form action="" method="post">
  1381. <p>
  1382. ';if($G["db"]==""&&$G["ns"]==""){echo
  1383. lang(174),':
  1384. ',html_select("table",$xe,$G["table"],"this.form['change-js'].value = '1'; if (!ajaxForm(this.form)) this.form.submit();"),'<input type="hidden" name="change-js" value="">
  1385. <noscript><p><input type="submit" name="change" value="',lang(175),'"></noscript>
  1386. <table cellspacing="0">
  1387. <thead><tr><th>',lang(105),'<th>',lang(106),'</thead>
  1388. ';$Ic=0;foreach($G["source"]as$v=>$W){echo"<tr>","<td>".html_select("source[".(+$v)."]",array(-1=>"")+$We,$W,($Ic==count($G["source"])-1?"foreignAddRow(this);":1)),"<td>".html_select("target[".(+$v)."]",$tf,$G["target"][$v]);$Ic++;}echo'</table>
  1389. <p>
  1390. ',lang(87),': ',html_select("on_delete",array(-1=>"")+explode("|",$Bd),$G["on_delete"]),' ',lang(107),': ',html_select("on_update",array(-1=>"")+explode("|",$Bd),$G["on_update"]),'<p>
  1391. <input type="submit" value="',lang(140),'">
  1392. <noscript><p><input type="submit" name="add" value="',lang(176),'"></noscript>
  1393. ';}if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1394. </form>
  1395. ';}elseif(isset($_GET["view"])){$a=$_GET["view"];$vb=false;if($_POST&&!$k){$vb=drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($_POST["name"])." AS\n$_POST[select]",($_POST["drop"]?substr(ME,0,-1):ME."table=".urlencode($_POST["name"])),lang(177),lang(178),lang(179),$a);}page_header(($a!=""?lang(27):lang(180)),$k,array("table"=>$a),$a);$G=$_POST;if(!$G&&$a!=""){$G=view($a);$G["name"]=$a;}echo'
  1396. <form action="" method="post">
  1397. <p>',lang(158),': <input name="name" value="',h($G["name"]),'" maxlength="64">
  1398. <p>';textarea("select",$G["select"]);echo'<p>
  1399. ';if($vb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="submit" value="',lang(140),'">
  1400. ';if($_GET["view"]!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1401. </form>
  1402. ';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Fc=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$bf=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");if($_POST&&!$k){if($_POST["drop"]){query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(181));}elseif(in_array($_POST["INTERVAL_FIELD"],$Fc)&&isset($bf[$_POST["STATUS"]])){$Le="\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(182):lang(183)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Le.($aa!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$Le)."\n".$bf[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"]).rtrim(" DO\n$_POST[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(184).": ".h($aa):lang(185)),$k);$G=$_POST;if(!$G&&$aa!=""){$H=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$G=reset($H);}echo'
  1403. <form action="" method="post">
  1404. <table cellspacing="0">
  1405. <tr><th>',lang(158),'<td><input name="EVENT_NAME" value="',h($G["EVENT_NAME"]),'" maxlength="64">
  1406. <tr><th>',lang(186),'<td><input name="STARTS" value="',h("$G[EXECUTE_AT]$G[STARTS]"),'">
  1407. <tr><th>',lang(187),'<td><input name="ENDS" value="',h($G["ENDS"]),'">
  1408. <tr><th>',lang(188),'<td><input name="INTERVAL_VALUE" value="',h($G["INTERVAL_VALUE"]),'" size="6"> ',html_select("INTERVAL_FIELD",$Fc,$G["INTERVAL_FIELD"]),'<tr><th>',lang(74),'<td>',html_select("STATUS",$bf,$G["STATUS"]),'<tr><th>',lang(95),'<td><input name="EVENT_COMMENT" value="',h($G["EVENT_COMMENT"]),'" maxlength="64">
  1409. <tr><th>&nbsp;<td>',checkbox("ON_COMPLETION","PRESERVE",$G["ON_COMPLETION"]=="PRESERVE",lang(189)),'</table>
  1410. <p>';textarea("EVENT_DEFINITION",$G["EVENT_DEFINITION"]);echo'<p>
  1411. <input type="submit" value="',lang(140),'">
  1412. ';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1413. </form>
  1414. ';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$Ge=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$He=routine_languages();$vb=false;if($_POST&&!$k&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$K=array();$m=(array)$_POST["fields"];ksort($m);foreach($m
  1415. as$l){if($l["field"]!=""){$K[]=(ereg("^($Cc)\$",$l["inout"])?"$l[inout] ":"").idf_escape($l["field"]).process_type($l,"CHARACTER SET");}}$vb=drop_create("DROP $Ge ".idf_escape($da),"CREATE $Ge ".idf_escape($_POST["name"])." (".implode(", ",$K).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"").(in_array($_POST["language"],$He)?" LANGUAGE $_POST[language]":"").rtrim("\n$_POST[definition]",";").";",substr(ME,0,-1),lang(190),lang(191),lang(192),$da);}page_header(($da!=""?(isset($_GET["function"])?lang(193):lang(194)).": ".h($da):(isset($_GET["function"])?lang(195):lang(196))),$k);$Qa=get_vals("SHOW CHARACTER SET");sort($Qa);$G=array("fields"=>array());if($_POST){$G=$_POST;$G["fields"]=(array)$G["fields"];process_fields($G["fields"]);}elseif($da!=""){$G=routine($da,$Ge);$G["name"]=$da;}echo'
  1416. <form action="" method="post" id="form">
  1417. <p>',lang(158),': <input name="name" value="',h($G["name"]),'" maxlength="64">
  1418. ',($He?lang(7).": ".html_select("language",$He,$G["language"]):""),'<table cellspacing="0" class="nowrap">
  1419. ';edit_fields($G["fields"],$Qa,$Ge);if(isset($_GET["function"])){echo"<tr><td>".lang(197);edit_type("returns",$G["returns"],$Qa);}echo'</table>
  1420. <p>';textarea("definition",$G["definition"]);echo'<p>
  1421. <input type="submit" value="',lang(140),'">
  1422. ';if($da!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}if($vb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$Q,'">
  1423. </form>
  1424. ';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];if($_POST&&!$k){$y=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP SEQUENCE ".idf_escape($fa),$y,lang(198));}elseif($fa==""){query_redirect("CREATE SEQUENCE ".idf_escape($_POST["name"]),$y,lang(199));}elseif($fa!=$_POST["name"]){query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($_POST["name"]),$y,lang(200));}else{redirect($y);}}page_header($fa!=""?lang(201).": ".h($fa):lang(202),$k);$G=$_POST;if(!$G){$G=array("name"=>$fa);}echo'
  1425. <form action="" method="post">
  1426. <p><input name="name" value="',h($G["name"]),'">
  1427. <input type="submit" value="',lang(140),'">
  1428. ';if($fa!=""){echo"<input type='submit' name='drop' value='".lang(79)."'".confirm().">\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1429. </form>
  1430. ';}elseif(isset($_GET["type"])){$ga=$_GET["type"];if($_POST&&!$k){$y=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP TYPE ".idf_escape($ga),$y,lang(203));}else{query_redirect("CREATE TYPE ".idf_escape($_POST["name"])." $_POST[as]",$y,lang(204));}}page_header($ga!=""?lang(205).": ".h($ga):lang(206),$k);$G=$_POST;if(!$G){$G=array("as"=>"AS ");}echo'
  1431. <form action="" method="post">
  1432. <p>
  1433. ';if($ga!=""){echo"<input type='submit' name='drop' value='".lang(79)."'".confirm().">\n";}else{echo"<input name='name' value='".h($G['name'])."'>\n";textarea("as",$G["as"]);echo"<p><input type='submit' value='".lang(140)."'>\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1434. </form>
  1435. ';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$Hf=trigger_options();$Gf=array("INSERT","UPDATE","DELETE");$vb=false;if($_POST&&!$k&&in_array($_POST["Timing"],$Hf["Timing"])&&in_array($_POST["Event"],$Gf)&&in_array($_POST["Type"],$Hf["Type"])){$yf=" $_POST[Timing] $_POST[Event]";$Ad=" ON ".table($a);$vb=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($u=="pgsql"?$Ad:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($u=="mssql"?$Ad.$yf:$yf.$Ad).rtrim(" $_POST[Type]\n$_POST[Statement]",";").";",ME."table=".urlencode($a),lang(207),lang(208),lang(209),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(210).": ".h($_GET["name"]):lang(211)),$k,array("table"=>$a));$G=$_POST;if(!$G){$G=trigger($_GET["name"])+array("Trigger"=>$a."_bi");}echo'
  1436. <form action="" method="post" id="form">
  1437. <table cellspacing="0">
  1438. <tr><th>',lang(212),'<td>',html_select("Timing",$Hf["Timing"],$G["Timing"],"if (/^".preg_quote($a,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($a)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'<tr><th>',lang(213),'<td>',html_select("Event",$Gf,$G["Event"],"this.form['Timing'].onchange();"),'<tr><th>',lang(90),'<td>',html_select("Type",$Hf["Type"],$G["Type"]),'</table>
  1439. <p>',lang(158),': <input name="Trigger" value="',h($G["Trigger"]),'" maxlength="64">
  1440. <p>';textarea("Statement",$G["Statement"]);echo'<p>
  1441. <input type="submit" value="',lang(140),'">
  1442. ';if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}if($vb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$Q,'">
  1443. </form>
  1444. ';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$pe=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$G){foreach(explode(",",($G["Privilege"]=="Grant option"?"":$G["Context"]))as$Za){$pe[$Za][$G["Privilege"]]=$G["Comment"];}}$pe["Server Admin"]+=$pe["File access on server"];$pe["Databases"]["Create routine"]=$pe["Procedures"]["Create routine"];unset($pe["Procedures"]["Create routine"]);$pe["Columns"]=array();foreach(array("Select","Insert","Update","References")as$W){$pe["Columns"][$W]=$pe["Tables"][$W];}unset($pe["Server Admin"]["Usage"]);foreach($pe["Tables"]as$v=>$W){unset($pe["Databases"][$v]);}$td=array();if($_POST){foreach($_POST["objects"]as$v=>$W){$td[$W]=(array)$td[$W]+(array)$_POST["grants"][$v];}}$nc=array();$zd="";if(isset($_GET["host"])&&($E=$g->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($G=$E->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$G[0],$z)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$z[1],$ad,PREG_SET_ORDER)){foreach($ad
  1445. as$W){if($W[1]!="USAGE"){$nc["$z[2]$W[2]"][$W[1]]=true;}if(ereg(' WITH GRANT OPTION',$G[0])){$nc["$z[2]$W[2]"]["GRANT OPTION"]=true;}}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$G[0],$z)){$zd=$z[1];}}}if($_POST&&!$k){$_d=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");$ud=q($_POST["user"])."@".q($_POST["host"]);$be=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $_d",ME."privileges=",lang(214));}else{$eb=false;if($_d!=$ud){$eb=queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $ud IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $be");$k=!$eb;}elseif($_POST["pass"]!=$zd||!$_POST["hashed"]){queries("SET PASSWORD FOR $ud = ".($_POST["hashed"]?$be:"PASSWORD($be)"));}if(!$k){$De=array();foreach($td
  1446. as$xd=>$mc){if(isset($_GET["grant"])){$mc=array_filter($mc);}$mc=array_keys($mc);if(isset($_GET["grant"])){$De=array_diff(array_keys(array_filter($td[$xd],'strlen')),$mc);}elseif($_d==$ud){$yd=array_keys((array)$nc[$xd]);$De=array_diff($yd,$mc);$mc=array_diff($mc,$yd);unset($nc[$xd]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$xd,$z)&&(!grant("REVOKE",$De,$z[2]," ON $z[1] FROM $ud")||!grant("GRANT",$mc,$z[2]," ON $z[1] TO $ud"))){$k=true;break;}}}if(!$k&&isset($_GET["host"])){if($_d!=$ud){queries("DROP USER $_d");}elseif(!isset($_GET["grant"])){foreach($nc
  1447. as$xd=>$De){if(preg_match('~^(.+)(\\(.*\\))?$~U',$xd,$z)){grant("REVOKE",array_keys($De),$z[2]," ON $z[1] FROM $ud");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(215):lang(216)),!$k);if($eb){$g->query("DROP USER $ud");}}}page_header((isset($_GET["host"])?lang(21).": ".h("$ha@$_GET[host]"):lang(119)),$k,array("privileges"=>array('',lang(50))));if($_POST){$G=$_POST;$nc=$td;}else{$G=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$G["pass"]=$zd;if($zd!=""){$G["hashed"]=true;}$nc[DB!=""&&!isset($_GET["host"])?idf_escape(addcslashes(DB,"%_")).".*":""]=array();}echo'<form action="" method="post">
  1448. <table cellspacing="0">
  1449. <tr><th>',lang(20),'<td><input name="host" maxlength="60" value="',h($G["host"]),'">
  1450. <tr><th>',lang(21),'<td><input name="user" maxlength="16" value="',h($G["user"]),'">
  1451. <tr><th>',lang(22),'<td><input id="pass" name="pass" value="',h($G["pass"]),'">
  1452. ';if(!$G["hashed"]){echo'<script type="text/javascript">typePassword(document.getElementById(\'pass\'));</script>';}echo
  1453. checkbox("hashed",1,$G["hashed"],lang(217),"typePassword(this.form['pass'], this.checked);"),'</table>
  1454. ';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'><a href='http://dev.mysql.com/doc/refman/".substr($g->server_info,0,3)."/en/grant.html#priv_level' target='_blank' rel='noreferrer'>".lang(50)."</a>";$p=0;foreach($nc
  1455. as$xd=>$mc){echo'<th>'.($xd!="*.*"?"<input name='objects[$p]' value='".h($xd)."' size='10'>":"<input type='hidden' name='objects[$p]' value='*.*' size='10'>*.*");$p++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(20),"Databases"=>lang(67),"Tables"=>lang(101),"Columns"=>lang(102),"Procedures"=>lang(218),)as$Za=>$ob){foreach((array)$pe[$Za]as$oe=>$Ua){echo"<tr".odd()."><td".($ob?">$ob<td":" colspan='2'").' lang="en" title="'.h($Ua).'">'.h($oe);$p=0;foreach($nc
  1456. as$xd=>$mc){$_="'grants[$p][".h(strtoupper($oe))."]'";$X=$mc[strtoupper($oe)];if($Za=="Server Admin"&&$xd!=(isset($nc["*.*"])?"*.*":"")){echo"<td>&nbsp;";}elseif(isset($_GET["grant"])){echo"<td><select name=$_><option><option value='1'".($X?" selected":"").">".lang(219)."<option value='0'".($X=="0"?" selected":"").">".lang(220)."</select>";}else{echo"<td align='center'><input type='checkbox' name=$_ value='1'".($X?" checked":"").($oe=="All privileges"?" id='grants-$p-all'":($oe=="Grant option"?"":" onclick=\"if (this.checked) formUncheck('grants-$p-all');\"")).">";}$p++;}}}echo"</table>\n",'<p>
  1457. <input type="submit" value="',lang(140),'">
  1458. ';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(79),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1459. </form>
  1460. ';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$k){$Lc=0;foreach((array)$_POST["kill"]as$W){if(queries("KILL ".(+$W))){$Lc++;}}queries_redirect(ME."processlist=",lang(221,$Lc),$Lc||!$_POST["kill"]);}page_header(lang(72),$k);echo'
  1461. <form action="" method="post">
  1462. <table cellspacing="0" onclick="tableClick(event);" class="nowrap checkable">
  1463. ';$p=-1;foreach(process_list()as$p=>$G){if(!$p){echo"<thead><tr lang='en'>".(support("kill")?"<th>&nbsp;":"")."<th>".implode("<th>",array_keys($G))."</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$G["Id"],0):"");foreach($G
  1464. as$v=>$W){echo"<td>".(($u=="sql"?$v=="Info"&&$W!="":$v=="current_query"&&$W!="<IDLE>")?"<code class='jush-$u'>".shorten_utf8($W,100,"</code>").' <a href="'.h(ME.($G["db"]!=""?"db=".urlencode($G["db"])."&":"")."sql=".urlencode($W)).'">'.lang(31).'</a>':nbsp($W));}echo"\n";}echo'</table>
  1465. <script type=\'text/javascript\'>tableCheck();</script>
  1466. <p>
  1467. ';if(support("kill")){echo($p+1)."/".lang(222,$g->result("SELECT @@max_connections")),"<p><input type='submit' value='".lang(223)."'>\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1468. </form>
  1469. ';}elseif(isset($_GET["select"])){$a=$_GET["select"];$O=table_status($a);$t=indexes($a);$m=fields($a);$fc=column_foreign_keys($a);if($O["Oid"]=="t"){$t[]=array("type"=>"PRIMARY","columns"=>array("oid"));}parse_str($_COOKIE["adminer_import"],$ra);$Ee=array();$f=array();$wf=null;foreach($m
  1470. as$v=>$l){$_=$b->fieldName($l);if(isset($l["privileges"]["select"])&&$_!=""){$f[$v]=html_entity_decode(strip_tags($_));if(ereg('text|lob',$l["type"])){$wf=$b->selectLengthProcess();}}$Ee+=$l["privileges"];}list($I,$oc)=$b->selectColumnsProcess($f,$t);$Z=$b->selectSearchProcess($m,$t);$Jd=$b->selectOrderProcess($m,$t);$x=$b->selectLimitProcess();$jc=($I?implode(", ",$I):($O["Oid"]=="t"?"oid, ":"")."*")."\nFROM ".table($a);$pc=($oc&&count($oc)<count($I)?"\nGROUP BY ".implode(", ",$oc):"").($Jd?"\nORDER BY ".implode(", ",$Jd):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Of=>$G){echo$g->result("SELECT".limit(idf_escape(key($G))." FROM ".table($a)," WHERE ".where_check($Of).($Z?" AND ".implode(" AND ",$Z):"").($Jd?" ORDER BY ".implode(", ",$Jd):""),1));}exit;}if($_POST&&!$k){$dg="(".implode(") OR (",array_map('where_check',(array)$_POST["check"])).")";$le=$Qf=null;foreach($t
  1471. as$s){if($s["type"]=="PRIMARY"){$le=array_flip($s["columns"]);$Qf=($I?$le:array());break;}}foreach((array)$Qf
  1472. as$v=>$W){if(in_array(idf_escape($v),$I)){unset($Qf[$v]);}}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$Qf===array()){$cg=$Z;if(is_array($_POST["check"])){$cg[]="($dg)";}$D="SELECT $jc".($cg?"\nWHERE ".implode(" AND ",$cg):"").$pc;}else{$Mf=array();foreach($_POST["check"]as$W){$Mf[]="(SELECT".limit($jc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($W).$pc,1).")";}$D=implode(" UNION ALL ",$Mf);}$b->dumpData($a,"table",$D);exit;}if(!$b->selectEmailProcess($Z,$fc)){if($_POST["save"]||$_POST["delete"]){$E=true;$sa=0;$D=table($a);$K=array();if(!$_POST["delete"]){foreach($f
  1473. as$_=>$W){$W=process_input($m[$_]);if($W!==null){if($_POST["clone"]){$K[idf_escape($_)]=($W!==false?$W:idf_escape($_));}elseif($W!==false){$K[]=idf_escape($_)." = $W";}}}$D.=($_POST["clone"]?" (".implode(", ",array_keys($K)).")\nSELECT ".implode(", ",$K)."\nFROM ".table($a):" SET\n".implode(",\n",$K));}if($_POST["delete"]||$K){$Sa="UPDATE";if($_POST["delete"]){$Sa="DELETE";$D="FROM $D";}if($_POST["clone"]){$Sa="INSERT";$D="INTO $D";}if($_POST["all"]||($Qf===array()&&$_POST["check"])||count($oc)<count($I)){$E=queries($Sa." $D".($_POST["all"]?($Z?"\nWHERE ".implode(" AND ",$Z):""):"\nWHERE $dg"));$sa=$g->affected_rows;}else{foreach((array)$_POST["check"]as$W){$E=queries($Sa.limit1($D,"\nWHERE ".where_check($W)));if(!$E){break;}$sa+=$g->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(224,$sa),$E);}elseif(!$_POST["import"]){if(!$_POST["val"]){$k=lang(225);}else{$E=true;$sa=0;foreach($_POST["val"]as$Of=>$G){$K=array();foreach($G
  1474. as$v=>$W){$v=bracket_escape($v,1);$K[]=idf_escape($v)." = ".(ereg('char|text',$m[$v]["type"])||$W!=""?$b->processInput($m[$v],$W):"NULL");}$D=table($a)." SET ".implode(", ",$K);$cg=" WHERE ".where_check($Of).($Z?" AND ".implode(" AND ",$Z):"");$E=queries("UPDATE".(count($oc)<count($I)?" $D$cg":limit1($D,$cg)));if(!$E){break;}$sa+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(224,$sa),$E);}}elseif(is_string($Yb=get_file("csv_file",true))){cookie("adminer_import","output=".urlencode($ra["output"])."&format=".urlencode($_POST["separator"]));$E=true;$Ra=array_keys($m);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Yb,$ad);$sa=count($ad[0]);begin();$Re=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($ad[0]as$v=>$W){preg_match_all("~((\"[^\"]*\")+|[^$Re]*)$Re~",$W.$Re,$bd);if(!$v&&!array_diff($bd[1],$Ra)){$Ra=$bd[1];$sa--;}else{$K=array();foreach($bd[1]as$p=>$Oa){$K[idf_escape($Ra[$p])]=($Oa==""&&$m[$Ra[$p]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Oa))));}$E=insert_update($a,$K,$le);if(!$E){break;}}}if($E){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(226,$sa),$E);queries("ROLLBACK");}else{$k=upload_error($Yb);}}}$mf=$b->tableName($O);page_header(lang(33).": $mf",$k);session_write_close();$K=null;if(isset($Ee["insert"])){$K="";foreach((array)$_GET["where"]as$W){if(count($fc[$W["col"]])==1&&($W["op"]=="="||(!$W["op"]&&!ereg('[_%]',$W["val"])))){$K.="&set".urlencode("[".bracket_escape($W["col"])."]")."=".urlencode($W["val"]);}}}$b->selectLinks($O,$K);if(!$f){echo"<p class='error'>".lang(227).($m?".":": ".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($a).'">',"</div>\n";$b->selectColumnsPrint($I,$f);$b->selectSearchPrint($Z,$f,$t);$b->selectOrderPrint($Jd,$f,$t);$b->selectLimitPrint($x);$b->selectLengthPrint($wf);$b->selectActionPrint();echo"</form>\n";$Td=$_GET["page"];if($Td=="last"){$hc=$g->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));$Td=floor(max(0,$hc-1)/$x);}$D="SELECT".limit((+$x&&$oc&&count($oc)<count($I)&&$u=="sql"?"SQL_CALC_FOUND_ROWS ":"").$jc,($Z?"\nWHERE ".implode(" AND ",$Z):"").$pc,($x!=""?+$x:null),($Td?$x*$Td:0),"\n");echo$b->selectQuery($D);$E=$g->query($D);if(!$E){echo"<p class='error'>".error()."\n";}else{if($u=="mssql"){$E->seek($x*$Td);}$Cb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$H=array();while($G=$E->fetch_assoc()){if($Td&&$u=="oracle"){unset($G["RNUM"]);}$H[]=$G;}if($_GET["page"]!="last"){$hc=(+$x&&$oc&&count($oc)<count($I)?($u=="sql"?$g->result(" SELECT FOUND_ROWS()"):$g->result("SELECT COUNT(*) FROM ($D) x")):count($H));}if(!$H){echo"<p class='message'>".lang(83)."\n";}else{$Da=$b->backwardKeys($a,$mf);echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' onkeydown='return editingKeydown(event);'>\n","<thead><tr>".(!$oc&&$I?"":"<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(228)."</a>");$sd=array();$lc=array();reset($I);$ue=1;foreach($H[0]as$v=>$W){if($O["Oid"]!="t"||$v!="oid"){$W=$_GET["columns"][key($I)];$l=$m[$I?($W?$W["col"]:current($I)):$v];$_=($l?$b->fieldName($l,$ue):"*");if($_!=""){$ue++;$sd[$v]=$_;$e=idf_escape($v);echo'<th><a href="'.h(remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($v).($Jd[0]==$e||$Jd[0]==$v||(!$Jd&&count($oc)<count($I)&&$oc[0]==$e)?'&desc%5B0%5D=1':'')).'">'.(!$I||$W?apply_sql_function($W["fun"],$_):h(current($I)))."</a>";}$lc[$v]=$W["fun"];next($I);}}$Uc=array();if($_GET["modify"]){foreach($H
  1475. as$G){foreach($G
  1476. as$v=>$W){$Uc[$v]=max($Uc[$v],min(40,strlen(utf8_decode($W))));}}}echo($Da?"<th>".lang(229):"")."</thead>\n";foreach($b->rowDescriptions($H,$fc)as$rd=>$G){$Nf=unique_array($H[$rd],$t);$Of="";foreach($Nf
  1477. as$v=>$W){$Of.="&".(isset($W)?urlencode("where[".bracket_escape($v)."]")."=".urlencode($W):"null%5B%5D=".urlencode($v));}echo"<tr".odd().">".(!$oc&&$I?"":"<td>".checkbox("check[]",substr($Of,1),in_array(substr($Of,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($oc)<count($I)||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$Of)."'>".lang(228)."</a>"));foreach($G
  1478. as$v=>$W){if(isset($sd[$v])){$l=$m[$v];if($W!=""&&(!isset($Cb[$v])||$Cb[$v]!="")){$Cb[$v]=(is_mail($W)?$sd[$v]:"");}$y="";$W=$b->editVal($W,$l);if(!isset($W)){$W="<i>NULL</i>";}else{if(ereg('blob|bytea|raw|file',$l["type"])&&$W!=""){$y=h(ME.'download='.urlencode($a).'&field='.urlencode($v).$Of);}if($W===""){$W="&nbsp;";}elseif($wf!=""&&ereg('text|blob',$l["type"])&&is_utf8($W)){$W=shorten_utf8($W,max(0,+$wf));}else{$W=h($W);}if(!$y){foreach((array)$fc[$v]as$n){if(count($fc[$v])==1||end($n["source"])==$v){$y="";foreach($n["source"]as$p=>$We){$y.=where_link($p,$n["target"][$p],$H[$rd][$We]);}$y=h(($n["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($n["db"]),ME):ME).'select='.urlencode($n["table"]).$y);if(count($n["source"])==1){break;}}}}if($v=="COUNT(*)"){$y=h(ME."select=".urlencode($a));$p=0;foreach((array)$_GET["where"]as$V){if(!array_key_exists($V["col"],$Nf)){$y.=h(where_link($p++,$V["col"],$V["val"],$V["op"]));}}foreach($Nf
  1479. as$Kc=>$V){$y.=h(where_link($p++,$Kc,$V));}}}if(!$y){if(is_mail($W)){$y="mailto:$W";}if($se=is_url($G[$v])){$y=($se=="http"&&$ba?$G[$v]:"$se://www.adminer.org/redirect/?url=".urlencode($G[$v]));}}$q=h("val[$Of][".bracket_escape($v)."]");$X=$_POST["val"][$Of][bracket_escape($v)];$rc=h(isset($X)?$X:$G[$v]);$Yc=strpos($W,"<i>...</i>");$_b=is_utf8($W)&&$H[$rd][$v]==$G[$v]&&!$lc[$v];$vf=ereg('text|lob',$l["type"]);echo(($_GET["modify"]&&$_b)||isset($X)?"<td>".($vf?"<textarea name='$q' cols='30' rows='".(substr_count($G[$v],"\n")+1)."'>$rc</textarea>":"<input name='$q' value='$rc' size='$Uc[$v]'>"):"<td id='$q' ondblclick=\"".($_b?"selectDblClick(this, event".($Yc?", 2":($vf?", 1":"")).")":"alert('".h(lang(230))."')").";\">".$b->selectVal($W,$y,$l));}}if($Da){echo"<td>";}$b->backwardKeysPrint($Da,$H[$rd]);echo"</tr>\n";}echo"</table>\n",(!$oc&&$I?"":"<script type='text/javascript'>tableCheck();</script>\n");}if($H||$Td){$Mb=true;if($_GET["page"]!="last"&&+$x&&count($oc)>=count($I)&&($hc>=$x||$Td)){$hc=found_rows($O,$Z);if($hc<max(1e4,2*($Td+1)*$x)){ob_flush();flush();$hc=$g->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));}else{$Mb=false;}}echo"<p class='pages'>";if(+$x&&$hc>$x){$dd=floor(($hc-1)/$x);echo'<a href="'.h(remove_from_uri("page"))."\" onclick=\"pageClick(this.href, +prompt('".lang(231)."', '".($Td+1)."'), event); return false;\">".lang(231)."</a>:",pagination(0,$Td).($Td>5?" ...":"");for($p=max(1,$Td-4);$p<min($dd,$Td+5);$p++){echo
  1480. pagination($p,$Td);}echo($Td+5<$dd?" ...":"").($Mb?pagination($dd,$Td):' <a href="'.h(remove_from_uri()."&page=last").'">'.lang(232)."</a>");}echo" (".($Mb?"":"~ ").lang(121,$hc).") ".checkbox("all",1,0,lang(233))."\n";if($b->selectCommandPrint()){echo'<fieldset><legend>',lang(31),'</legend><div>
  1481. <input type="submit" value="',lang(140),'"',($_GET["modify"]?'':' title="'.lang(225).'" class="jsonly"'),'>
  1482. <input type="submit" name="edit" value="',lang(31),'">
  1483. <input type="submit" name="clone" value="',lang(234),'">
  1484. <input type="submit" name="delete" value="',lang(143),'" onclick="return confirm(\'',lang(0);?> (' + (this.form['all'].checked ? <?php echo$hc,' : formChecked(this, /check/)) + \')\');">
  1485. </div></fieldset>
  1486. ';}print_fieldset("export",lang(113));$Rd=$b->dumpOutput();echo($Rd?html_select("output",$Rd,$ra["output"])." ":""),html_select("format",$b->dumpFormat(),$ra["format"])," <input type='submit' name='export' value='".lang(113)."' onclick='eventStop(event);'>\n","</div></fieldset>\n";}if($b->selectImportPrint()){print_fieldset("import",lang(235),!$H);echo"<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ra["format"],1);echo" <input type='submit' name='import' value='".lang(235)."'>","<input type='hidden' name='token' value='$Q'>\n","</div></fieldset>\n";}$b->selectEmailPrint(array_filter($Cb,'strlen'),$f);echo"</form>\n";}}}elseif(isset($_GET["variables"])){$af=isset($_GET["status"]);page_header($af?lang(74):lang(73));$Xf=($af?show_status():show_variables());if(!$Xf){echo"<p class='message'>".lang(83)."\n";}else{echo"<table cellspacing='0'>\n";foreach($Xf
  1487. as$v=>$W){echo"<tr>","<th><code class='jush-".$u.($af?"status":"set")."'>".h($v)."</code>","<td>".nbsp($W);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$jf=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$O){$q=js_escape($O["Name"]);json_row("Comment-$q",nbsp($O["Comment"]));if(!is_view($O)){foreach(array("Engine","Collation")as$v){json_row("$v-$q",nbsp($O[$v]));}foreach($jf+array("Auto_increment"=>0,"Rows"=>0)as$v=>$W){if($O[$v]!=""){$W=number_format($O[$v],0,'.',lang(236));json_row("$v-$q",($v=="Rows"&&$O["Engine"]=="InnoDB"&&$W?"~ $W":$W));if(isset($jf[$v])){$jf[$v]+=($O["Engine"]!="InnoDB"||$v!="Data_free"?$O[$v]:0);}}elseif(array_key_exists($v,$O)){json_row("$v-$q");}}}}foreach($jf
  1488. as$v=>$W){json_row("sum-$v",number_format($W,0,'.',lang(236)));}json_row("");}else{foreach(count_tables(get_databases())as$j=>$W){json_row("tables-".js_escape($j),$W);}json_row("");}exit;}else{$sf=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($sf&&!$k&&!$_POST["search"]){$E=true;$hd="";if($u=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"])){queries("SET foreign_key_checks = 0");}if($_POST["truncate"]){if($_POST["tables"]){$E=truncate_tables($_POST["tables"]);}$hd=lang(237);}elseif($_POST["move"]){$E=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$hd=lang(238);}elseif($_POST["copy"]){$E=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$hd=lang(239);}elseif($_POST["drop"]){if($_POST["views"]){$E=drop_views($_POST["views"]);}if($E&&$_POST["tables"]){$E=drop_tables($_POST["tables"]);}$hd=lang(240);}elseif($_POST["tables"]&&($E=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"]))))){while($G=$E->fetch_assoc()){$hd.="<b>".h($G["Table"])."</b>: ".h($G["Msg_text"])."<br>";}}queries_redirect(substr(ME,0,-1),$hd,$E);}page_header(($_GET["ns"]==""?lang(67).": ".h(DB):lang(81).": ".h($_GET["ns"])),$k,true);if($b->homepage()){if($_GET["ns"]!==""){echo"<h3>".lang(241)."</h3>\n";$rf=tables_list();if(!$rf){echo"<p class='message'>".lang(6)."\n";}else{echo"<form action='' method='post'>\n","<p>".lang(242).": <input name='query' value='".h($_POST["query"])."'> <input type='submit' name='search' value='".lang(36)."'>\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(101),'<td>'.lang(243),'<td>'.lang(77),'<td>'.lang(244),'<td>'.lang(245),'<td>'.lang(246),'<td>'.lang(93),'<td>'.lang(247),(support("comment")?'<td>'.lang(95):''),"</thead>\n";foreach($rf
  1489. as$_=>$S){$Zf=(isset($S)&&!eregi("table",$S));echo'<tr'.odd().'><td>'.checkbox(($Zf?"views[]":"tables[]"),$_,in_array($_,$sf,true),"","formUncheck('check-all');"),'<th><a href="'.h(ME).'table='.urlencode($_).'" title="'.lang(26).'">'.h($_).'</a>';if($Zf){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($_).'" title="'.lang(27).'">'.lang(100).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($_).'" title="'.lang(25).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(28)),"Index_length"=>array("indexes",lang(104)),"Data_free"=>array("edit",lang(29)),"Auto_increment"=>array("auto_increment=1&create",lang(28)),"Rows"=>array("select",lang(25)),)as$v=>$y){echo($y?"<td align='right'><a href='".h(ME."$y[0]=").urlencode($_)."' id='$v-".h($_)."' title='$y[1]'>?</a>":"<td id='$v-".h($_)."'>&nbsp;");}}echo(support("comment")?"<td id='Comment-".h($_)."'>&nbsp;":"");}echo"<tr><td>&nbsp;<th>".lang(222,count($rf)),"<td>".nbsp($u=="sql"?$g->result("SELECT @@storage_engine"):""),"<td>".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$v){echo"<td align='right' id='sum-$v'>&nbsp;";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n";if(!information_schema(DB)){echo"<p>".($u=="sql"?"<input type='submit' value='".lang(248)."'> <input type='submit' name='optimize' value='".lang(249)."'> <input type='submit' name='check' value='".lang(250)."'> <input type='submit' name='repair' value='".lang(251)."'> ":"")."<input type='submit' name='truncate' value='".lang(252)."'".confirm("formChecked(this, /tables/)")."> <input type='submit' name='drop' value='".lang(79)."'".confirm("formChecked(this, /tables|views/)",1).">\n";$i=(support("scheme")?schemas():get_databases());if(count($i)!=1&&$u!="sqlite"){$j=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(253).": ",($i?html_select("target",$i,$j):'<input name="target" value="'.h($j).'">')," <input type='submit' name='move' value='".lang(254)."' onclick='eventStop(event);'>",(support("copy")?" <input type='submit' name='copy' value='".lang(255)."' onclick='eventStop(event);'>":""),"\n";}echo"<input type='hidden' name='token' value='$Q'>\n";}echo"</form>\n";}echo'<p><a href="'.h(ME).'create=">'.lang(147)."</a>\n";if(support("view")){echo'<a href="'.h(ME).'view=">'.lang(180)."</a>\n";}if(support("routine")){echo"<h3>".lang(116)."</h3>\n";$Ie=routines();if($Ie){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(158).'<td>'.lang(90).'<td>'.lang(197)."<td>&nbsp;</thead>\n";odd('');foreach($Ie
  1490. as$G){echo'<tr'.odd().'>','<th><a href="'.h(ME).($G["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($G["ROUTINE_NAME"]).'">'.h($G["ROUTINE_NAME"]).'</a>','<td>'.h($G["ROUTINE_TYPE"]),'<td>'.h($G["DTD_IDENTIFIER"]),'<td><a href="'.h(ME).($G["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($G["ROUTINE_NAME"]).'">'.lang(108)."</a>";}echo"</table>\n";}echo'<p>'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(196).'</a> ':'').'<a href="'.h(ME).'function=">'.lang(195)."</a>\n";}if(support("sequence")){echo"<h3>".lang(256)."</h3>\n";$Se=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($Se){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(158)."</thead>\n";odd('');foreach($Se
  1491. as$W){echo"<tr".odd()."><th><a href='".h(ME)."sequence=".urlencode($W)."'>".h($W)."</a>\n";}echo"</table>\n";}echo"<p><a href='".h(ME)."sequence='>".lang(202)."</a>\n";}if(support("type")){echo"<h3>".lang(11)."</h3>\n";$T=types();if($T){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(158)."</thead>\n";odd('');foreach($T
  1492. as$W){echo"<tr".odd()."><th><a href='".h(ME)."type=".urlencode($W)."'>".h($W)."</a>\n";}echo"</table>\n";}echo"<p><a href='".h(ME)."type='>".lang(206)."</a>\n";}if(support("event")){echo"<h3>".lang(117)."</h3>\n";$H=get_rows("SHOW EVENTS");if($H){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(158)."<td>".lang(257)."<td>".lang(186)."<td>".lang(187)."</thead>\n";foreach($H
  1493. as$G){echo"<tr>",'<th><a href="'.h(ME).'event='.urlencode($G["Name"]).'">'.h($G["Name"])."</a>","<td>".($G["Execute at"]?lang(258)."<td>".$G["Execute at"]:lang(188)." ".$G["Interval value"]." ".$G["Interval field"]."<td>$G[Starts]"),"<td>$G[Ends]";}echo"</table>\n";}echo'<p><a href="'.h(ME).'event=">'.lang(185)."</a>\n";}if($rf){echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}}}}page_footer();