PageRenderTime 120ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 1ms

/sandbox/www/adminer/index.php

https://bitbucket.org/rluks/projectmanager
PHP | 1632 lines | 1622 code | 3 blank | 7 comment | 9 complexity | caefc08dffe676bf2f0f847ea5d2a29f MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0
  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.5.1
  9. */error_reporting(6135);$fc=!ereg('^(unsafe_raw)?$',ini_get("filter.default"));if($fc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$W){$dg=filter_input_array(constant("INPUT$W"),FILTER_UNSAFE_RAW);if($dg)$$W=$dg;}}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;}a.text{text-decoration:none;}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;}.js .column{position:absolute;background:#ddf;padding:.3em 1ex .3em 0;margin-top:-.3em;}.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%;}.icon{width:18px;height:18px;}#menu{position:absolute;margin:10px 0 0;padding:0 0 30px 0;top:2em;left:0;width:19em;white-space:nowrap;}#menu p{padding:.8em 1em;margin:0;border-bottom:1px solid #ccc;}#dbs{overflow:hidden;}#logins,#tables{overflow:auto;}#logins a,#tables a{background:#fff;}#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;}#h1{color:#777;text-decoration:none;font-style:italic;}#version{font-size:67%;color:red;}#schema{margin-left:60px;position:relative;-moz-user-select:none;-webkit-user-select:none;}#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");?>function
  11. toggle(id){var
  12. el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;}function
  13. cookie(assign,days){var
  14. date=new
  15. Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date;}function
  16. verifyVersion(){cookie('adminer_version=0',1);var
  17. script=document.createElement('script');script.src=location.protocol+'//www.adminer.org/version.php';document.body.appendChild(script);}function
  18. selectValue(select){var
  19. selected=select.options[select.selectedIndex];return((selected.attributes.value||{}).specified?selected.value:selected.text);}function
  20. parentTag(el,tag){var
  21. re=new
  22. RegExp('^'+tag+'$','i');while(!re.test(el.tagName)){el=el.parentNode;}return el;}function
  23. trCheck(el){var
  24. tr=parentTag(el,'tr');tr.className=tr.className.replace(/(^|\s)checked(\s|$)/,'$2')+(el.checked?' checked':'');}function
  25. formCheck(el,name){var
  26. elems=el.form.elements;for(var
  27. i=0;i<elems.length;i++){if(name.test(elems[i].name)){elems[i].checked=el.checked;trCheck(elems[i]);}}}function
  28. tableCheck(){var
  29. tables=document.getElementsByTagName('table');for(var
  30. i=0;i<tables.length;i++){if(/(^|\s)checkable(\s|$)/.test(tables[i].className)){var
  31. trs=tables[i].getElementsByTagName('tr');for(var
  32. j=0;j<trs.length;j++){trCheck(trs[j].firstChild.firstChild);}}}}function
  33. formUncheck(id){var
  34. el=document.getElementById(id);el.checked=false;trCheck(el);}function
  35. formChecked(el,name){var
  36. checked=0;var
  37. elems=el.form.elements;for(var
  38. i=0;i<elems.length;i++){if(name.test(elems[i].name)&&elems[i].checked){checked++;}}return checked;}function
  39. tableClick(event){var
  40. click=(!window.getSelection||getSelection().isCollapsed);var
  41. el=event.target||event.srcElement;while(!/^tr$/i.test(el.tagName)){if(/^(table|a|input|textarea)$/i.test(el.tagName)){if(el.type!='checkbox'){return;}checkboxClick(event,el);click=false;}el=el.parentNode;}el=el.firstChild.firstChild;if(click){el.click&&el.click();el.onclick&&el.onclick();}trCheck(el);}var
  42. lastChecked;function
  43. checkboxClick(event,el){if(!el.name){return;}if(event.shiftKey&&(!lastChecked||lastChecked.name==el.name)){var
  44. checked=(lastChecked?lastChecked.checked:true);var
  45. inputs=parentTag(el,'table').getElementsByTagName('input');var
  46. checking=!lastChecked;for(var
  47. i=0;i<inputs.length;i++){var
  48. input=inputs[i];if(input.name===el.name){if(checking){input.checked=checked;trCheck(input);}if(input===el||input===lastChecked){if(checking){break;}checking=true;}}}}else{lastChecked=el;}}function
  49. setHtml(id,html){var
  50. el=document.getElementById(id);if(el){if(html==undefined){el.parentNode.innerHTML='&nbsp;';}else{el.innerHTML=html;}}}function
  51. nodePosition(el){var
  52. pos=0;while(el=el.previousSibling){pos++;}return pos;}function
  53. pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');location.href=href;}}function
  54. menuOver(el){el.style.overflow='visible';}function
  55. menuOut(el){el.style.overflow='auto';}function
  56. selectAddRow(field){field.onchange=function(){selectFieldChange(field.form);};field.onchange();var
  57. row=field.parentNode.cloneNode(true);var
  58. selects=row.getElementsByTagName('select');for(var
  59. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/[a-z]\[\d+/,'$&1');selects[i].selectedIndex=0;}var
  60. inputs=row.getElementsByTagName('input');if(inputs.length){inputs[0].name=inputs[0].name.replace(/[a-z]\[\d+/,'$&1');inputs[0].value='';inputs[0].className='';}field.parentNode.parentNode.appendChild(row);}function
  61. columnMouse(el,className){var
  62. spans=el.getElementsByTagName('span');for(var
  63. i=0;i<spans.length;i++){if(/column/.test(spans[i].className)){spans[i].className='column'+(className||'');}}}function
  64. selectSearch(name){var
  65. el=document.getElementById('fieldset-search');el.className='';var
  66. divs=el.getElementsByTagName('div');for(var
  67. i=0;i<divs.length;i++){var
  68. div=divs[i];if(/select/i.test(div.firstChild.tagName)&&selectValue(div.firstChild)==name){break;}}if(i==divs.length){div.firstChild.value=name;div.firstChild.onchange();}div.lastChild.focus();}function
  69. bodyKeydown(event,button){var
  70. 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(button){target.form[button].click();}else{target.form.submit();}return false;}return true;}function
  71. editingKeydown(event){if((event.keyCode==40||event.keyCode==38)&&event.ctrlKey&&!event.altKey&&!event.metaKey){var
  72. target=event.target||event.srcElement;var
  73. sibling=(event.keyCode==40?'nextSibling':'previousSibling');var
  74. 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();}return false;}if(event.shiftKey&&!bodyKeydown(event,'insert')){eventStop(event);return false;}return true;}function
  75. functionChange(select){var
  76. input=select.form[select.name.replace(/^function/,'fields')];if(selectValue(select)){if(input.origMaxLength===undefined){input.origMaxLength=input.maxLength;}input.removeAttribute('maxlength');}else
  77. if(input.origMaxLength>=0){input.maxLength=input.origMaxLength;}}function
  78. ajax(url,callback,data){var
  79. request=(window.XMLHttpRequest?new
  80. XMLHttpRequest():(window.ActiveXObject?new
  81. ActiveXObject('Microsoft.XMLHTTP'):false));if(request){request.open((data?'POST':'GET'),url);if(data){request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}request.setRequestHeader('X-Requested-With','XMLHttpRequest');request.onreadystatechange=function(){if(request.readyState==4){callback(request);}};request.send(data);}return request;}function
  82. ajaxSetHtml(url){return ajax(url,function(request){if(request.status){var
  83. data=eval('('+request.responseText+')');for(var
  84. key
  85. in
  86. data){setHtml(key,data[key]);}}});}function
  87. selectDblClick(td,event,text){if(/input|textarea/i.test(td.firstChild.tagName)){return;}var
  88. original=td.innerHTML;var
  89. input=document.createElement(text?'textarea':'input');input.onkeydown=function(event){if(!event){event=window.event;}if(event.keyCode==27&&!(event.ctrlKey||event.shiftKey||event.altKey||event.metaKey)){td.innerHTML=original;}};var
  90. pos=event.rangeOffset;var
  91. value=td.firstChild.alt||td.textContent||td.innerText;input.style.width=Math.max(td.clientWidth-14,20)+'px';if(text){var
  92. rows=1;value.replace(/\n/g,function(){rows++;});input.rows=rows;}if(value=='\u00A0'||td.getElementsByTagName('i').length){value='';}if(document.selection){var
  93. range=document.selection.createRange();range.moveToPoint(event.clientX,event.clientY);var
  94. range2=range.duplicate();range2.moveToElementText(td);range2.setEndPoint('EndToEnd',range);pos=range2.text.length;}td.innerHTML='';td.appendChild(input);input.focus();if(text==2){return ajax(location.href+'&'+encodeURIComponent(td.id)+'=',function(request){if(request.status){input.value=request.responseText;input.name=td.id;}});}input.value=value;input.name=td.id;input.selectionStart=pos;input.selectionEnd=pos;if(document.selection){var
  95. range=document.selection.createRange();range.moveEnd('character',-input.value.length+pos);range.select();}}function
  96. eventStop(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}}var
  97. jushRoot=location.protocol + '//www.adminer.org/static/';function
  98. bodyLoad(version){if(jushRoot){var
  99. link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=jushRoot+'jush.css';document.getElementsByTagName('head')[0].appendChild(link);var
  100. 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
  101. 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';if(window.jushLinks){jush.custom_links=jushLinks;}jush.highlight_tag('code',0);}};script.onreadystatechange=function(){if(/^(loaded|complete)$/.test(script.readyState)){script.onload();}};document.body.appendChild(script);}}function
  102. formField(form,name){for(var
  103. i=0;i<form.length;i++){if(form[i].name==name){return form[i];}}}function
  104. typePassword(el,disable){try{el.type=(disable?'text':'password');}catch(e){}}function
  105. loginDriver(driver){var
  106. trs=parentTag(driver,'table').rows;for(var
  107. i=1;i<trs.length-1;i++){trs[i].className=(/sqlite/.test(driver.value)?'hidden':'');}}function
  108. textareaKeydown(target,event){if(!event.shiftKey&&!event.altKey&&!event.ctrlKey&&!event.metaKey){if(event.keyCode==9){if(target.setSelectionRange){var
  109. start=target.selectionStart;var
  110. 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
  111. if(target.createTextRange){document.selection.createRange().text='\t';return false;}}if(event.keyCode==27){var
  112. els=target.form.elements;for(var
  113. i=1;i<els.length;i++){if(els[i-1]==target){els[i].focus();break;}}return false;}}return true;}function
  114. selectFieldChange(form){var
  115. ok=(function(){var
  116. inputs=form.getElementsByTagName('input');for(var
  117. i=0;i<inputs.length;i++){if(inputs[i].value&&/^fulltext/.test(inputs[i].name)){return true;}}var
  118. ok=form.limit.value;var
  119. selects=form.getElementsByTagName('select');var
  120. group=false;var
  121. columns={};for(var
  122. i=0;i<selects.length;i++){var
  123. select=selects[i];var
  124. col=selectValue(select);var
  125. match=/^(where.+)col\]/.exec(select.name);if(match){var
  126. op=selectValue(form[match[1]+'op]']);var
  127. val=form[match[1]+'val]'].value;if(col
  128. in
  129. indexColumns&&(!/LIKE|REGEXP/.test(op)||(op=='LIKE'&&val.charAt(0)!='%'))){return true;}else
  130. if(col||val){ok=false;}}if((match=/^(columns.+)fun\]/.exec(select.name))){if(/^(avg|count|count distinct|group_concat|max|min|sum)$/.test(col)){group=true;}var
  131. val=selectValue(form[match[1]+'col]']);if(val){columns[col&&col!='count'?'':val]=1;}}if(col&&/^order/.test(select.name)){if(!(col
  132. in
  133. indexColumns)){ok=false;}break;}}if(group){for(var
  134. col
  135. in
  136. columns){if(!(col
  137. in
  138. indexColumns)){ok=false;}}}return ok;})();setHtml('noindex',(ok?'':'!'));}var
  139. added='.',rowCount;function
  140. delimiterEqual(val,a,b){return(val==a+'_'+b||val==a+b||val==a+b.charAt(0).toUpperCase()+b.substr(1));}function
  141. idfEscape(s){return s.replace(/`/,'``');}function
  142. editingNameChange(field){var
  143. name=field.name.substr(0,field.name.length-7);var
  144. type=formField(field.form,name+'[type]');var
  145. opts=type.options;var
  146. candidate;var
  147. val=field.value;for(var
  148. i=opts.length;i--;){var
  149. match=/(.+)`(.+)/.exec(opts[i].value);if(!match){if(candidate&&i==opts.length-2&&val==opts[candidate].value.replace(/.+`/,'')&&name=='fields[1]'){return;}break;}var
  150. table=match[1];var
  151. column=match[2];var
  152. tables=[table,table.replace(/s$/,''),table.replace(/es$/,'')];for(var
  153. 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;}candidate=i;break;}}}if(candidate){type.selectedIndex=candidate;type.onchange();}}function
  154. editingAddRow(button,allowed,focus){if(allowed&&rowCount>=allowed){return false;}var
  155. match=/(\d+)(\.\d+)?/.exec(button.name);var
  156. x=match[0]+(match[2]?added.substr(match[2].length):added)+'1';var
  157. row=parentTag(button,'tr');var
  158. row2=row.cloneNode(true);var
  159. tags=row.getElementsByTagName('select');var
  160. tags2=row2.getElementsByTagName('select');for(var
  161. i=0;i<tags.length;i++){tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);tags2[i].selectedIndex=tags[i].selectedIndex;}tags=row.getElementsByTagName('input');tags2=row2.getElementsByTagName('input');var
  162. input=tags2[0];for(var
  163. i=0;i<tags.length;i++){if(tags[i].name=='auto_increment_col'){tags2[i].value=x;tags2[i].checked=false;}tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);if(/\[(orig|field|comment|default)/.test(tags[i].name)){tags2[i].value='';}if(/\[(has_default)/.test(tags[i].name)){tags2[i].checked=false;}}tags[0].onchange=function(){editingNameChange(tags[0]);};row.parentNode.insertBefore(row2,row.nextSibling);if(focus){input.onchange=function(){editingNameChange(input);};input.focus();}added+='0';rowCount++;return true;}function
  164. editingRemoveRow(button){var
  165. field=formField(button.form,button.name.replace(/drop_col(.+)/,'fields$1[field]'));field.parentNode.removeChild(field);parentTag(button,'tr').style.display='none';return true;}var
  166. lastType='';function
  167. editingTypeChange(type){var
  168. name=type.name.substr(0,type.name.length-6);var
  169. text=selectValue(type);for(var
  170. i=0;i<type.form.elements.length;i++){var
  171. 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='';}if(lastType=='timestamp'&&el.name==name+'[has_default]'&&/timestamp/i.test(formField(type.form,name+'[default]').value)){el.checked=false;}if(el.name==name+'[collation]'){el.className=(/(char|text|enum|set)$/.test(text)?'':'hidden');}if(el.name==name+'[unsigned]'){el.className=(/(int|float|double|decimal)$/.test(text)?'':'hidden');}if(el.name==name+'[on_delete]'){el.className=(/`/.test(text)?'':'hidden');}}}function
  172. editingLengthFocus(field){var
  173. td=field.parentNode;if(/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))){var
  174. edit=document.getElementById('enum-edit');var
  175. 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();}}function
  176. editingLengthBlur(edit){var
  177. field=edit.parentNode.firstChild;var
  178. 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';}function
  179. columnShow(checked,column){var
  180. trs=document.getElementById('edit-fields').getElementsByTagName('tr');for(var
  181. i=0;i<trs.length;i++){trs[i].getElementsByTagName('td')[column].className=(checked?'':'hidden');}}function
  182. partitionByChange(el){var
  183. partitionTable=/RANGE|LIST/.test(selectValue(el));el.form['partitions'].className=(partitionTable||!el.selectedIndex?'hidden':'');document.getElementById('partition-table').className=(partitionTable?'':'hidden');}function
  184. partitionNameChange(el){var
  185. row=parentTag(el,'tr').cloneNode(true);row.firstChild.firstChild.value='';parentTag(el,'table').appendChild(row);el.onchange=function(){};}function
  186. foreignAddRow(field){field.onchange=function(){};var
  187. row=parentTag(field,'tr').cloneNode(true);var
  188. selects=row.getElementsByTagName('select');for(var
  189. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/\]/,'1$&');selects[i].selectedIndex=0;}parentTag(field,'table').appendChild(row);}function
  190. indexesAddRow(field){field.onchange=function(){};var
  191. row=parentTag(field,'tr').cloneNode(true);var
  192. selects=row.getElementsByTagName('select');for(var
  193. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/indexes\[\d+/,'$&1');selects[i].selectedIndex=0;}var
  194. inputs=row.getElementsByTagName('input');for(var
  195. i=0;i<inputs.length;i++){inputs[i].name=inputs[i].name.replace(/indexes\[\d+/,'$&1');inputs[i].value='';}parentTag(field,'table').appendChild(row);}function
  196. indexesChangeColumn(field,prefix){var
  197. columns=parentTag(field,'td').getElementsByTagName('select');var
  198. names=[];for(var
  199. i=0;i<columns.length;i++){var
  200. value=selectValue(columns[i]);if(value){names.push(value);}}field.form[field.name.replace(/\].*/,'][name]')].value=prefix+names.join('_');}function
  201. indexesAddColumn(field,prefix){field.onchange=function(){indexesChangeColumn(field,prefix);};var
  202. select=field.form[field.name.replace(/\].*/,'][type]')];if(!select.selectedIndex){select.selectedIndex=3;select.onchange();}var
  203. column=field.parentNode.cloneNode(true);select=column.getElementsByTagName('select')[0];select.name=select.name.replace(/\]\[\d+/,'$&1');select.selectedIndex=0;var
  204. input=column.getElementsByTagName('input')[0];input.name=input.name.replace(/\]\[\d+/,'$&1');input.value='';parentTag(field,'td').appendChild(column);field.onchange();}var
  205. that,x,y;function
  206. schemaMousedown(el,event){if((event.which?event.which:event.button)==1){that=el;x=event.clientX-el.offsetLeft;y=event.clientY-el.offsetTop;}}function
  207. schemaMousemove(ev){if(that!==undefined){ev=ev||event;var
  208. left=(ev.clientX-x)/em;var
  209. top=(ev.clientY-y)/em;var
  210. divs=that.getElementsByTagName('div');var
  211. lineSet={};for(var
  212. i=0;i<divs.length;i++){if(divs[i].className=='references'){var
  213. div2=document.getElementById((/^refs/.test(divs[i].id)?'refd':'refs')+divs[i].id.substr(4));var
  214. ref=(tablePos[divs[i].title]?tablePos[divs[i].title]:[div2.parentNode.offsetTop/em,0]);var
  215. left1=-1;var
  216. 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
  217. left2=Math.min(0,left-ref[1])-1;div2.style.left=left2+'em';div2.getElementsByTagName('div')[0].style.width=-left2+'em';}if(!lineSet[id]){var
  218. line=document.getElementById(divs[i].id.replace(/^....(.+)-.+$/,'refl$1'));var
  219. top1=top+divs[i].offsetTop/em;var
  220. top2=top+div2.offsetTop/em;if(divs[i].parentNode!=div2.parentNode){top2+=ref[0]-top;line.getElementsByTagName('div')[0].style.height=Math.abs(top1-top2)+'em';}line.style.left=(left+left1)+'em';line.style.top=Math.min(top1,top2)+'em';lineSet[id]=true;}}}that.style.left=left+'em';that.style.top=top+'em';}}function
  221. 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
  222. s='';for(var
  223. key
  224. in
  225. tablePos){s+='_'+key+':'+Math.round(tablePos[key][0]*10000)/10000+'x'+Math.round(tablePos[key][1]*10000)/10000;}s=encodeURIComponent(s.substr(1));var
  226. link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}<?php
  227. }else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo
  228. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIYSPqcvtD00I8cwqKb5v+q8pIAhxlRmhZYi17iPE8kzLBQA7");break;case"cross.gif":echo
  229. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACI4SPqcvtDyMKYdZGb355wy6BX3dhlOEx57FK7gtHwkzXNl0AADs=");break;case"up.gif":echo
  230. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00IUU4K730T9J5hFTiKEXmaYcW2rgDH8hwXADs=");break;case"down.gif":echo
  231. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00I8cwqKb5bV/5cosdMJtmcHca2lQDH8hwXADs=");break;case"arrow.gif":echo
  232. base64_decode("R0lGODlhCAAKAIAAAICAgP///yH5BAEAAAEALAAAAAAIAAoAAAIPBIJplrGLnpQRqtOy3rsAADs=");break;}}exit;}function
  233. connection(){global$g;return$g;}function
  234. adminer(){global$b;return$b;}function
  235. idf_unescape($r){$Wc=substr($r,-1);return
  236. str_replace($Wc.$Wc,$Wc,substr($r,1,-1));}function
  237. escape_string($W){return
  238. substr(q($W),1,-1);}function
  239. remove_slashes($Ce,$fc=false){if(get_magic_quotes_gpc()){while(list($v,$W)=each($Ce)){foreach($W
  240. as$Qc=>$V){unset($Ce[$v][$Qc]);if(is_array($V)){$Ce[$v][stripslashes($Qc)]=$V;$Ce[]=&$Ce[$v][stripslashes($Qc)];}else$Ce[$v][stripslashes($Qc)]=($fc?$V:stripslashes($V));}}}}function
  241. bracket_escape($r,$Da=false){static$Qf=array(':'=>':1',']'=>':2','['=>':3');return
  242. strtr($r,($Da?array_flip($Qf):$Qf));}function
  243. h($L){return
  244. htmlspecialchars(str_replace("\0","",$L),ENT_QUOTES);}function
  245. nbsp($L){return(trim($L)!=""?h($L):"&nbsp;");}function
  246. nl_br($L){return
  247. str_replace("\n","<br>",$L);}function
  248. checkbox($_,$X,$Oa,$Uc="",$Nd="",$Pc=false){static$q=0;$q++;$F="<input type='checkbox' name='$_' value='".h($X)."'".($Oa?" checked":"").($Nd?' onclick="'.h($Nd).'"':'').($Pc?" class='jsonly'":"")." id='checkbox-$q'>";return($Uc!=""?"<label for='checkbox-$q'>$F".h($Uc)."</label>":$F);}function
  249. optionlist($Rd,$cf=null,$jg=false){$F="";foreach($Rd
  250. as$Qc=>$V){$Sd=array($Qc=>$V);if(is_array($V)){$F.='<optgroup label="'.h($Qc).'">';$Sd=$V;}foreach($Sd
  251. as$v=>$W)$F.='<option'.($jg||is_string($v)?' value="'.h($v).'"':'').(($jg||is_string($v)?(string)$v:$W)===$cf?' selected':'').'>'.h($W);if(is_array($V))$F.='</optgroup>';}return$F;}function
  252. html_select($_,$Rd,$X="",$Md=true){if($Md)return"<select name='".h($_)."'".(is_string($Md)?' onchange="'.h($Md).'"':"").">".optionlist($Rd,$X)."</select>";$F="";foreach($Rd
  253. as$v=>$W)$F.="<label><input type='radio' name='".h($_)."' value='".h($v)."'".($v==$X?" checked":"").">".h($W)."</label>";return$F;}function
  254. confirm($fb=""){return" onclick=\"return confirm('".lang(0).($fb?" (' + $fb + ')":"")."');\"";}function
  255. print_fieldset($q,$bd,$pg=false,$Nd=""){echo"<fieldset><legend><a href='#fieldset-$q' onclick=\"".h($Nd)."return !toggle('fieldset-$q');\">$bd</a></legend><div id='fieldset-$q'".($pg?"":" class='hidden'").">\n";}function
  256. bold($Ia){return($Ia?" class='active'":"");}function
  257. odd($F=' class="odd"'){static$p=0;if(!$F)$p=-1;return($p++%
  258. 2?$F:'');}function
  259. js_escape($L){return
  260. addcslashes($L,"\r\n'\\/");}function
  261. json_row($v,$W=null){static$gc=true;if($gc)echo"{";if($v!=""){echo($gc?"":",")."\n\t\"".addcslashes($v,"\r\n\"\\").'": '.($W!==null?'"'.addcslashes($W,"\r\n\"\\").'"':'undefined');$gc=false;}else{echo"\n}\n";$gc=true;}}function
  262. ini_bool($Hc){$W=ini_get($Hc);return(eregi('^(on|true|yes)$',$W)||(int)$W);}function
  263. sid(){static$F;if($F===null)$F=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$F;}function
  264. q($L){global$g;return$g->quote($L);}function
  265. 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
  266. 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
  267. get_rows($D,$h=null,$k="<p class='error'>"){global$g;$bb=(is_object($h)?$h:$g);$F=array();$E=$bb->query($D);if(is_object($E)){while($G=$E->fetch_assoc())$F[]=$G;}elseif(!$E&&!is_object($h)&&$k&&defined("PAGE_HEADER"))echo$k.error()."\n";return$F;}function
  268. unique_array($G,$t){foreach($t
  269. as$s){if(ereg("PRIMARY|UNIQUE",$s["type"])){$F=array();foreach($s["columns"]as$v){if(!isset($G[$v]))continue
  270. 2;$F[$v]=$G[$v];}return$F;}}$F=array();foreach($G
  271. as$v=>$W){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$v))$F[$v]=$W;}return$F;}function
  272. where($Z){global$u;$F=array();foreach((array)$Z["where"]as$v=>$W)$F[]=idf_escape(bracket_escape($v,1)).(($u=="sql"&&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
  273. implode(" AND ",$F);}function
  274. where_check($W){parse_str($W,$Na);remove_slashes(array(&$Na));return
  275. where($Na);}function
  276. where_link($p,$e,$X,$Od="="){return"&where%5B$p%5D%5Bcol%5D=".urlencode($e)."&where%5B$p%5D%5Bop%5D=".urlencode(($X!==null?$Od:"IS NULL"))."&where%5B$p%5D%5Bval%5D=".urlencode($X);}function
  277. cookie($_,$X){global$ba;$he=array($_,(ereg("\n",$X)?"":$X),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$he[]=true;return
  278. call_user_func_array('setcookie',$he);}function
  279. restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function&get_session($v){return$_SESSION[$v][DRIVER][SERVER][$_GET["username"]];}function
  280. set_session($v,$W){$_SESSION[$v][DRIVER][SERVER][$_GET["username"]]=$W;}function
  281. auth_url($wb,$J,$U,$j=null){global$xb;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($xb))."|username|".($j!==null?"db|":"").session_name()),$z);return"$z[1]?".(sid()?SID."&":"").($wb!="server"||$J!=""?urlencode($wb)."=".urlencode($J)."&":"")."username=".urlencode($U).($j!=""?"&db=".urlencode($j):"").($z[2]?"&$z[2]":"");}function
  282. is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
  283. redirect($fd,$qd=null){if($qd!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($fd!==null?$fd:$_SERVER["REQUEST_URI"]))][]=$qd;}if($fd!==null){if($fd=="")$fd=".";header("Location: $fd");exit;}}function
  284. query_redirect($D,$fd,$qd,$He=true,$Ub=true,$bc=false){global$g,$k,$b;if($Ub)$bc=!$g->query($D);$lf="";if($D)$lf=$b->messageQuery("$D;");if($bc){$k=error().$lf;return
  285. false;}if($He)redirect($fd,$qd.$lf);return
  286. true;}function
  287. queries($D=null){global$g;static$Fe=array();if($D===null)return
  288. implode(";\n",$Fe);$Fe[]=(ereg(';$',$D)?"DELIMITER ;;\n$D;\nDELIMITER ":$D);return$g->query($D);}function
  289. apply_queries($D,$P,$Pb='table'){foreach($P
  290. as$N){if(!queries("$D ".$Pb($N)))return
  291. false;}return
  292. true;}function
  293. queries_redirect($fd,$qd,$He){return
  294. query_redirect(queries(),$fd,$qd,$He,false,!$He);}function
  295. remove_from_uri($ge=""){return
  296. substr(preg_replace("~(?<=[?&])($ge".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
  297. pagination($fe,$kb){return" ".($fe==$kb?$fe+1:'<a href="'.h(remove_from_uri("page").($fe?"&page=$fe":"")).'">'.($fe+1)."</a>");}function
  298. get_file($v,$pb=false){$dc=$_FILES[$v];if(!$dc||$dc["error"])return$dc["error"];$F=file_get_contents($pb&&ereg('\\.gz$',$dc["name"])?"compress.zlib://$dc[tmp_name]":($pb&&ereg('\\.bz2$',$dc["name"])?"compress.bzip2://$dc[tmp_name]":$dc["tmp_name"]));if($pb){$mf=substr($F,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$mf,$Ne))$F=iconv("utf-16","utf-8",$F);elseif($mf=="\xEF\xBB\xBF")$F=substr($F,3);}return$F;}function
  299. upload_error($k){$od=($k==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($k?lang(1).($od?" ".lang(2,$od):""):lang(3));}function
  300. repeat_pattern($oe,$w){return
  301. str_repeat("$oe{0,65535}",$w/65535)."$oe{0,".($w
  302. %
  303. 65535)."}";}function
  304. is_utf8($W){return(preg_match('~~u',$W)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$W));}function
  305. shorten_utf8($L,$w=80,$sf=""){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
  306. h($z[1]).$sf.(isset($z[2])?"":"<i>...</i>");}function
  307. friendly_url($W){return
  308. preg_replace('~[^a-z0-9_]~i','-',$W);}function
  309. hidden_fields($Ce,$Cc=array()){while(list($v,$W)=each($Ce)){if(is_array($W)){foreach($W
  310. as$Qc=>$V)$Ce[$v."[$Qc]"]=$V;}elseif(!in_array($v,$Cc))echo'<input type="hidden" name="'.h($v).'" value="'.h($W).'">';}}function
  311. 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
  312. 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
  313. enum_input($S,$_a,$l,$X,$Hb=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$jd);$F=($Hb!==null?"<label><input type='$S'$_a value='$Hb'".((is_array($X)?in_array($Hb,$X):$X===0)?" checked":"")."><i>".lang(4)."</i></label>":"");foreach($jd[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$Oa=(is_int($X)?$X==$p+1:(is_array($X)?in_array($p+1,$X):$X===$W));$F.=" <label><input type='$S'$_a value='".($p+1)."'".($Oa?' checked':'').'>'.h($b->editVal($W,$l)).'</label>';}return$F;}function
  314. input($l,$X,$o){global$T,$b,$u;$_=h(bracket_escape($l["field"]));echo"<td class='function'>";$Pe=($u=="mssql"&&$l["auto_increment"]);if($Pe&&!$_POST["save"])$o=null;$rc=(isset($_GET["select"])||$Pe?array("orig"=>lang(5)):array())+$b->editFunctions($l);$_a=" name='fields[$_]'";if($l["type"]=="enum")echo
  315. nbsp($rc[""])."<td>".$b->editInput($_GET["edit"],$l,$_a,$X);else{$gc=0;foreach($rc
  316. as$v=>$W){if($v===""||!$W)break;$gc++;}$Md=($gc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($l["field"])))."]']; if ($gc > f.selectedIndex) f.selectedIndex = $gc;\"":"");$_a.=$Md;echo(count($rc)>1?html_select("function[$_]",$rc,$o===null||in_array($o,$rc)||isset($rc[$o])?$o:"","functionChange(this);"):nbsp(reset($rc))).'<td>';$Jc=$b->editInput($_GET["edit"],$l,$_a,$X);if($Jc!="")echo$Jc;elseif($l["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$jd);foreach($jd[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$Oa=(is_int($X)?($X>>$p)&1:in_array($W,explode(",",$X),true));echo" <label><input type='checkbox' name='fields[$_][$p]' value='".(1<<$p)."'".($Oa?' checked':'')."$Md>".h($b->editVal($W,$l)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$_'$Md>";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;'")."$_a>".h($X).'</textarea>';else{$pd=(!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)."'".($pd?" maxlength='$pd'":"").(ereg('char|binary',$l["type"])&&$pd>20?" size='40'":"")."$_a>";}}}function
  317. 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
  318. false;if($X=="")return"NULL";return+$X;}if($l["auto_increment"]&&$X=="")return
  319. 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
  320. array_sum((array)$X);if(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){$dc=get_file("fields-$r");if(!is_string($dc))return
  321. false;return
  322. q($dc);}return$b->processInput($l,$X,$o);}function
  323. search_tables(){global$b,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$mc=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(!$mc){echo"<ul>\n";$mc=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($mc?"</ul>":"<p class='message'>".lang(6))."\n";}function
  324. dump_headers($Bc,$yd=false){global$b;$F=$b->dumpHeaders($Bc,$yd);$de=$_POST["output"];if($de!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Bc).".$F".($de!="file"&&!ereg('[^0-9a-z]',$de)?".$de":""));session_write_close();return$F;}function
  325. dump_csv($G){foreach($G
  326. as$v=>$W){if(preg_match("~[\"\n,;\t]~",$W)||$W==="")$G[$v]='"'.str_replace('"','""',$W).'"';}echo
  327. implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$G)."\r\n";}function
  328. apply_sql_function($o,$e){return($o?($o=="unixepoch"?"DATETIME($e, '$o')":($o=="count distinct"?"COUNT(DISTINCT ":strtoupper("$o("))."$e)"):$e);}function
  329. password_file(){$tb=ini_get("upload_tmp_dir");if(!$tb){if(function_exists('sys_get_temp_dir'))$tb=sys_get_temp_dir();else{$ec=@tempnam("","");if(!$ec)return
  330. false;$tb=dirname($ec);unlink($ec);}}$ec="$tb/adminer.key";$F=@file_get_contents($ec);if($F)return$F;$oc=@fopen($ec,"w");if($oc){$F=md5(uniqid(mt_rand(),true));fwrite($oc,$F);fclose($oc);}return$F;}function
  331. is_mail($Eb){$za='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$vb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$oe="$za+(\\.$za+)*@($vb?\\.)+$vb";return
  332. preg_match("(^$oe(,\\s*$oe)*\$)i",$Eb);}function
  333. is_url($L){$vb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($vb?\\.)+$vb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$L,$z)?strtolower($z[1]):"");}global$b,$g,$xb,$Cb,$Lb,$k,$rc,$wc,$ba,$Ic,$u,$ca,$Vc,$Ld,$qf,$Q,$R,$T,$fg,$ia;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]";$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_name("adminer_sid");$he=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$he[]=true;call_user_func_array('session_set_cookie_params',$he);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$fc);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);$Vc=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?','id'=>'Bahasa Indonesia','ru'=>'??????? ????','uk'=>'??????????','zh'=>'????','zh-tw'=>'????','ja'=>'???','ta'=>'??????','bn'=>'?????','ar'=>'???????','fa'=>'?????',);function
  334. get_lang(){global$ca;return$ca;}function
  335. lang($r,$Ed=null){global$ca,$R;$Rf=(isset($R[$r])?$R[$r]:$r);if(is_array($Rf)){$re=($Ed==1?0:($ca=='cs'||$ca=='sk'?($Ed&&$Ed<5?1:2):($ca=='fr'?(!$Ed?0:1):($ca=='pl'?($Ed
  336. %
  337. 10>1&&$Ed
  338. %
  339. 10<5&&$Ed/10
  340. %
  341. 10!=1?1:2):($ca=='sl'?($Ed
  342. %
  343. 100==1?0:($Ed
  344. %
  345. 100==2?1:($Ed
  346. %
  347. 100==3||$Ed
  348. %
  349. 100==4?2:3))):($ca=='lt'?($Ed
  350. %
  351. 10==1&&$Ed
  352. %
  353. 100!=11?0:($Ed
  354. %
  355. 10>1&&$Ed/10
  356. %
  357. 10!=1?1:2)):($ca=='ru'||$ca=='uk'?($Ed
  358. %
  359. 10==1&&$Ed
  360. %
  361. 100!=11?0:($Ed
  362. %
  363. 10>1&&$Ed
  364. %
  365. 10<5&&$Ed/10
  366. %
  367. 10!=1?1:2)):1)))))));$Rf=$Rf[$re];}$ya=func_get_args();array_shift($ya);$lc=str_replace("%d","%s",$Rf);if($lc!=$Rf)$ya[0]=number_format($Ed,0,".",lang(7));return
  368. vsprintf($lc,$ya);}function
  369. switch_lang(){global$ca,$Vc;echo"<form action=''>\n<div id='lang'>";hidden_fields($_GET,array('lang'));echo
  370. lang(8).": ".html_select("lang",$Vc,$ca,"var loc = location.search.replace(/[?&]lang=[^&]*/, ''); location.search = loc + (loc ? '&' : '') + 'lang=' + this.value;")," <input type='submit' value='".lang(9)."' class='hidden'>\n","</div>\n</form>\n";}if(isset($_GET["lang"])){$_COOKIE["adminer_lang"]=$_GET["lang"];$_SESSION["lang"]=$_GET["lang"];}$ca="en";if(isset($Vc[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ca=$_COOKIE["adminer_lang"];}elseif(isset($Vc[$_SESSION["lang"]]))$ca=$_SESSION["lang"];else{$pa=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$jd,PREG_SET_ORDER);foreach($jd
  371. as$z)$pa[$z[1]]=(isset($z[3])?$z[3]:1);arsort($pa);foreach($pa
  372. as$v=>$C){if(isset($Vc[$v])){$ca=$v;break;}$v=preg_replace('~-.*~','',$v);if(!isset($pa[$v])&&isset($Vc[$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','Database','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','Full table scan','SQL command','open','save','Alter database','Alter schema','Create schema','Database schema','Privileges','Dump','Logout','database','schema','Create new table','select','ltr','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.','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 have been optimized.','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','Databáze','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','Pr?chod celé tabulky','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','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é rozší?ení','Není dostupné žádné z podporovaných PHP rozší?ení (%s).','P?íliš velká POST data. Zmenšete data nebo zvyšte hodnotu konfigura?ní direktivy %s.','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 rozší?ení %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 byly optimalizová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','ne');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','Databáza','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','Full table scan','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','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.','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á.','Tables have been optimized.','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','Database','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','Full table scan','SQL opdracht','openen','opslaan','Database aanpassen','Schema wijzigen','Schema maken','Database schema','Rechten','Exporteer','Uitloggen','database','schema','Nieuwe tabel','kies','ltr','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.','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.','Tables have been optimized.','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','Base de datos','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','Full table scan','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','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 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.','Crear 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.','Crear 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.','Tables have been optimized.','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','Datenbank','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','Full table scan','SQL-Query','anzeigen','Datei','Datenbank ändern','Schema ändern','Neues Schema','Datenbankschema','Rechte','Export','Abmelden','Datenbank','Schema','Neue Tabelle','zeigen','ltr','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 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).','Tables have been optimized.','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','Base de données','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','Full table scan','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','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 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 have been optimized.','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','Database','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','Full table scan','Comando SQL','apri','salva','Modifica database','Modifica schema','Crea schema','Schema database','Privilegi','Dump','Esci','database','schema','Crea nuova tabella','seleziona','ltr','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 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.','Tables have been optimized.','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','Andmebaas','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','Full table scan','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','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.','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.','Tables have been optimized.','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ó','Adatbázis','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','Full table scan','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','É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.','É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.','Tables have been optimized.','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','Baza danych','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??','Full table scan','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','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.','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 zosta?y zoptymalizowane.','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','nie');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','Base de dades','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ó','Full table scan','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','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 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.','Tables have been optimized.','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 é possível 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 já existe.','Tipos definido pelo usuário','Números','Data e hora','Cadena','Binário','Rede','Geometria','Listas','Motor de Base de dados','Servidor','Usuário','Senha','Base de dados','Entrar','Salvar Senha','Selecionar dados','Mostrar estrutura','Modificar vista','Modificar estrutura','Novo Registro','Última página','Modificar',array('%d byte','%d bytes'),'Selecionar','Funções','Adições','Procurar','qualquer local','Ordenar','decrescente','Limite','Tamanho de texto','Ação','Full table scan','Comando SQL','mostrar','salvas','Modificar Base de dados','Modificar esquema','Criar esquema','Esquema de Base de dados','Privilégios','Exportar','Sair','base de dados','esquema','Nova tabela','registros','ltr','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 há extension','Nenhuma das extensões PHP suportadas (%s) está disponivel.','POST data demasiado grande. Reduza o tamanho ou aumente a diretiva de configuração %s.','Base de dados inválida.','Bases de dados eliminadas.','Selecionar Base de dados','Criar nova base de dados','Lista de processos','Variáveis','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 Parâmetro','Tipo','Tamanho','Opções','Incremento Automático','Valores predeterminados','Comentário','Adicionar proximo','Mover acima','Mover abaixo','Remover','Visualizar','Tabela','Coluna','Índices','Modificar índices','Origem','Destino','ON UPDATE','Modificar','Adicionar Chave foránea','Triggers','Adicionar trigger','Permanent link','Exportar','Saída','Formato','Procedimentos','Eventos','Dados','Criar Usuário','Erro na consulta',array('%d registro','%d registros'),array('Consulta executada, %d registro afetado.','Consulta executada, %d registros afetados.'),'Nenhum comando para executar.',array('%d consulta sql executada corretamente.','%d consultas sql executadas corretamente.'),'Importar arquivo','Importação de arquivos desablilitada.','Executar','Parar em caso de erro','Mostrar somente erros','Desde servidor','Arquivo do servidor web %s','Executar Arquivo','Histórico','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','Quantidade máxima de campos permitidos excedidos. Por favor aumente %s e %s.','Nome da tabela','motor','Particionar por','Partições','Nome da Partição','Valores','Índices 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','Início','Fim','Cada','Ao completar preservar','Procedimento eliminado.','Procedimento modificado.','Procedimento criado.','Modificar Função','Modificar procedimento','Criar função','Criar procedimento','Tipo de valor de regreso','Sequência eliminada.','Sequência criada.','Sequência modificada.','Modificar sequência','Criar sequências','Tipo eliminado.','Tipo criado.','Modificar tipo','Criar tipo','Trigger eliminado.','Trigger modificado.','Trigger criado.','Modificar Trigger','Adicionar Trigger','Tempo','Evento','Usuário eliminado.','Usuário modificado.','Usuário criado.','Hash','Rotina','Conceder','Impedir',array('%d processo terminado.','%d processos terminados.'),'%d no total','Parar',array('%d item afetado.','%d itens afetados.'),'Clique duas vezes 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.','Tables have been optimized.','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','Sequências','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','Baza','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','Full table scan','Ukaz SQL','odpri','shrani','Spremeni bazo','Spremeni shemo','Ustvari shemo','Shema baze','Pravice','Izvozi','Odjavi se','baza','shema','Ustvari novo tabelo','izberi','ltr','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.','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.','Tables have been optimized.','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','Duomen? baz?','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','Full table scan','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','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.','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.','Tables have been optimized.','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','Veritaban?','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','Full table scan','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','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.','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ü.','Tables have been optimized.','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','Baza de date','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','Full table scan','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','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.','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.','Tables have been optimized.','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"id":$R=array('Anda yakin','Tidak dapat mengunggah berkas.','Besar berkas yang diizinkan adalah %s bita.','Berkas tidak ditemukan.','kosong','orisinal','Tiada tabel.','.','Bahasa','Gunakan','Harap gunakan salah satu ekstensi %s.','Berkas sudah ada.','Jenis pengguna','Angka','Tanggal dan waktu','String','Biner','Jaringan','Geometri','Daftar','Sistem','Server','Pengguna','Sandi','Basis data','Masuk','Masuk permanen','Pilih data','Lihat struktur','Ubah tampilan','Ubah tabel','Entri baru','Halaman terakhir','Edit','%d bita','Pilih','Fungsi','Agregasi','Cari','di mana pun','Urutan','menurun','Limit','Panjang teks','Tindakan','Pindai tabel lengkap','Perintah SQL','buka','simpan','Ubah basis data','Ubah skema','Buat skema','Skema basis data','Privilese','Ekspor','Keluar','basis data','skema','Buat tabel baru','pilih','ltr','Token CSRF invalid. Kirim ulang formulir.','Berhasil keluar.','Dukungan sesi harus aktif.','Sesi habis, silakan masuk lagi.','Akses invalid.','Ekstensi tidak tersedia','Ekstensi PHP yang didukung (%s) tidak tersedia.','Data POST terlalu besar. Kurangi data atau perbesar pengarah konfigurasi %s.','Basis data invalid.','Basis data berhasil dihapus.','Pilih basis data','Buat basis data baru','Daftar proses','Variabel','Status','Versi %s: %s dengan ekstensi PHP %s','Masuk sebagai: %s','Kolasi','Tabel','Hapus','Segarkan','Skema','Skema invalid.','Tiada baris.','%.3f s','Kunci asing','kolasi','ON DELETE','Nama kolom','Nama paramater','Jenis','Panjang','Opsi','Kenaikan Otomatis','Nilai bawaan','Komentar','Tambah setelahnya','Naik','Turun','Hapus','Tampilan','Tabel','Kolom','Indeks','Ubah indeks','Sumber','Sasaran','ON UPDATE','Ubah','Tambah kunci asing','Picu','Tambah picu','Tautan permanen','Ekspor','Hasil','Format','Rutin','Peristiwa','Data','Buat pengguna','Kesalahan dalam kueri','%d baris','Kueri berhasil, %d baris terpengaruh.','Tiada perintah untuk dijalankan.','%d kueri berhasil dijalankan.','Unggah berkas','Pengunggahan berkas dimatikan.','Jalankan','Hentikan pada kesalahan','Hanya tampilkan kesalahan','Dari server','Berkas server web %s','Jalankan berkas','Riwayat','Bersihkan','Edit semua','Entri berhasil dihapus.','Entri berhasil diperbarui.','Entri%s berhasil disisipkan.','Sisipkan','Simpan','Simpan dan terus mengedit','Simpan dan sisipkan yang lain','Hapus','Tabel berhasil dihapus.','Tabel berhasil diubah.','Tabel berhasil dibuat.','Buat tabel','Jumlah ruas maksimum yang diizinkan dilewati. Harap naikkan %s dan %s.','Nama tabel','mesin','Partisi menurut','Partisi','Nama partisi','Nilai','Indeks berhasil diubah.','Jenis Indeks','Kolom (panjang)','Nama','Basis data berhasil dihapus.','Basis data berhasil diganti nama.','Basis data berhasil dibuat.','Basis data berhasil diubah.','Buat basis data','Skema berhasil dihapus.','Skema berhasil dibuat.','Skema berhasil diubah.','Panggilan',array('Rutin telah dipanggil, %d baris terpengaruh.','Rutin telah dipanggil, %d baris terpengaruh'),'Kunci asing berhasil dihapus.','Kunci asing berhasil diubah.','Kunci asing berhasil dibuat.','Kolom sumber dan sasaran harus memiliki jenis data yang sama. Kolom sasaran harus memiliki indeks dan data rujukan harus ada.','Kunci asing','Tabel sasaran','Ubah','Tambah kolom','Tampilan berhasil dihapus.','Tampilan berhasil diubah.','Tampilan berhasil dibuat.','Buat tampilan','Peristiwa berhasil dihapus.','Peristiwa berhasil diubah.','Peristiwa berhasil dibuat.','Ubah peristiwa','Buat peristiwa','Mulai','Selesai','Setiap','Pertahankan saat selesai','Rutin berhasil dihapus.','Rutin berhasil diubah.','Rutin berhasil dibuat.','Ubah fungsi','Ubah prosedur','Buat fungsi','Buat prosedur','Jenis balikan','Deret berhasil dihapus.','Deret berhasil dibuat.','Deret berhasil diubah.','Ubah deret','Buat deret','Jenis berhasil dihapus.','Jenis berhasil dibuat.','Ubah jenis','Buat jenis','Picu berhasil dihapus.','Picu berhasil diubah.','Picu berhasil dibuat.','Ubah picu','Buat picu','Waktu','Peristiwa','Pengguna berhasil dihapus.','Pengguna berhasil diubah.','Pengguna berhasil dibuat.','Hashed*','Rutin','Beri','Tarik','%d proses berhasil dihentikan.','%d total','Hentikan','%d entri terpengaruh.','Klik ganda suatu nilai untuk mengubahnya.','%d baris berhasil diimpor.','Gagal memilih tabel','edit','Relasi','Gunakan tautan edit untuk mengubah nilai ini.','Halaman','terakhir','Seluruh hasil','Gandakan','Impor','Tabel berhasil dikosongkan.','Tabel berhasil dipindahkan.','Tabel berhasil disalin.','Tabel berhasil dihapus.','Tabel berhasil dioptimalkan.','Tabel dan tampilan','Cari data dalam tabel','Mesin','Panjang Data','Panjang Indeks','Data Bebas','Baris','Analisis','Optimalkan','Periksa','Perbaiki','Kosongkan','Pindahkan ke basis data lain','Pindahkan','Salin','Deret','Jadwal','Pada waktu tertentu','no');break;case"ru":$R=array('?? ????????','?? ??????? ????????? ???? ?? ??????.','???????????? ??????????? ?????? ????? - %sB.','?????? ????? ?? ??????????.','?????','????????','? ???? ?????? ??? ??????.',' ','????','???????','??????????? ???? ?? ???? ?????????? %s.','???? ??? ??????????.','???? ?????????????','?????','???? ? ?????','??????','???????? ???','????','?????????','??????','??????','??????','??? ????????????','??????','???? ??????','?????','?????????? ? ???????','???????','???????? ?????????','???????? ?????????????','???????? ???????','????? ??????','????????? ????????','?????????????',array('%d ????','%d ?????','%d ??????'),'???????','???????','?????????','?????','? ????? ?????','???????????','?? ????????','?????','????? ??????','????????','Full table scan','SQL ??????','???????','?????????','???????? ???? ??????','???????? ?????','????? ?????','????? ???? ??????','??????????','????','?????','???? ??????','?????','??????? ????? ???????','???????','ltr','???????????????? 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 ?????.'),'?? ??????? ???????? ?????? ?? ???????','?????????????','???????','???????? ??? ???????? ????? ? ??????? ?????? «????????».','????????','?????????','???? ?????????','???????????','??????','??????? ???? ???????.','??????? ???? ??????????.','??????? ???????????.','??????? ???? ???????.','Tables have been optimized.','??????? ? ?????????????','????? ? ????????','???','????? ??????','????? ????????','????????? ?????','?????','?????????????','??????????????','?????????','?????????','????????','??????????? ? ?????? ???? ??????','???????????','??????????','«??????????????????»','??????????','? ?????? ?????','??:??:??');break;case"uk":$R=array('?? ?????????','????????? ??????????? ????.','??????????? ?????????? ?????? ????? %s?.','???? ?? ?????.','????????','??????????','???? ???????.',' ','????','??????','???? ?????, ?????????????? ???? ? ????????? %s.','???? ?????.','???? ????????????','?????','???? ? ???','?????','????????','??????','?????????','??????','??????? ???? ?????','??????','??????????','??????','???? ?????','??????','???\'????? ?????','??????? ????','???????? ?????????','??????? ??????','??????? ???????','????? ?????','??????? ????????','??????????',array('%d ????','%d ?????','%d ??????'),'???????','???????','?????????','?????','????-??','?????????','?? ????????','?????????','??????? ??????','???','Full table scan','SQL ?????','????????','????????','??????? ???? ?????','??????? ?????','???????? ?????','????? ???? ?????','????????','????','?????','???? ?????','?????','???????? ???? ???????','???????','ltr','????????? CSRF ?????. ????????? ????? ?? ???.','?? ????? ?????? ? ???????.','????? ??????? ???? ?????????.','????? ???????????, ???? ?????, ???????? ? ??????? ?????.','??????????? ???? ?????.','???? ?????????','????? ? PHP-????????? (%s), ?? ?????????????, ?? ????????.','??????? ??????? ??\'?? POST-?????. ???????? ??\'?? ??? ????????? ???????? ????????? %s ????????????.','?????? ???? ?????.','???? ????? ???? ????????.','?????? ???? ?????','???????? ???? ???? ?????','??????? ????????','??????','??????','?????? %s: %s ? PHP-??????????? %s','?? ??????? ??: %s','?????????????','???????','????????','???????','?????','??????? ?????.','???? ??????.','%.3f s','???????? ?????','?????????????','??? ?????????','????? ???????','????? ?????????','???','???????','?????','??????????? ??????????','???????? ?? ?????????????','?????????','?????? ??','?????????? ?????','?????????? ????','????????','??????','???????','???????','???????','??????? ????????????','???????','????','??? ?????','???????','?????? ????????? ????','???????','?????? ??????','???????? ?????????','???????','??????? ????','??????','????????? ?????????','?????','????','???????? ???????????','??????? ? ??????',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 ??','??','??','??','??','????','??','??','??','????','??','Full table scan','SQL??','??','??','?????','????','????','?????','??','??','??','???','??','????','??','ltr','?? 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 ?????','??????','??','????','????????????','??','??','????','??','??','?????','?????','?????','?????','Tables have been optimized.','????','???????','??','????','????','????','??','??','??','??','??','??','????????','??','??','??','??','?????','HH:MM:SS');break;case"zh-tw":$R=array('?????','???????','??????????%sB','?????','??','??','??????',',','??','??','????????? extension %s?','??????','?????','??','????','???','???','??','??','??','?????','???','??','??','???','??','????','????','????','?????','?????','???','????','??','%d byte(s)','??','??','??','??','????','??','??','??','Text ??','??','Full table scan','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?????','????????','??','??','??????????','?','????','????','??','??','???????','???????','??????','?????','Tables have been optimized.','???????','??????','??','????','????','????','??','??','??','??','??','??','????????','??','??','Sequences','??','?????','HH:MM:SS');break;case"ja":$R=array('???????','????????????????','????????? %sB','???????????','?','?','???????????',',','??','??','????????????????? %s','????????????','???????','??','??','???','????','???????','??????','???','????????','???','????','?????','??????','????','????????','???','??','??????','???????','?????','??????','??','%d ???','??','??','??','??','??','???','??','??','??????','??','Full table scan','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????','???????????','????????????','???????????','Tables have been optimized.','????????','????????','????','????','???','??','??','??','???','????','??','Truncate','???????????','??','???','?????','??????','????','?:?:?');break;case"ta":$R=array('???????????? ?','?????? ?????????? (upload) ?????? ??????????.','???????? ??????????? ????? %sB.','?????? ?????.','?????? (empty)','?????','????????? ?????.',',','????','???????','?????? ?????? ??? ???????? %s (extension) ???????????????.','?????? ???????.','?????????? ????????','???????','???? ???????? ??????','?????? (String)','??????','??????????','???????????? (Geometry)','??????????','???????? (System)','???????? (Server)','?????????? (User)','????????????','??????????????','????','?????????????? ??????????','???????? ?????? ????','???????????? ??????????????','?????????? ??????','??????????? ??????','?????? ?????????','?????? ????????','????',array('%d ????','%d ??????????'),'?????? ????','Functions','???????? (Aggregation)','????','???????????','?????? ????','???????????????','????????','??? ??????','??????','Full table scan','SQL ????????','????','????','???????????????? ??????','????????????? ??????','????????????? ?????????','???????????? ??????? ????????','?????????? / ????????????????','Dump','????????','??????????????','???????????','?????? ??????????? ?????????','?????? ????','ltr','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).','????????? ????????????????????.','?????????? ??????????? ??????.','????????? ????????????????.','Tables have been optimized.','??????????????? ????????????','???????? ????????????? ????','??????? (Engine)','???????? ??????','Index ??????','Data Free','??????????','?????? ?????????','??????????? (Optimize)','????????','?????? ????','???? (Truncate)','?????? ???????? ????????????? ??????????','??????????','????','??????????','???? ?????????','???????? ??????????','HH:MM:SS');break;case"bn":$R=array('???? ?? ????????','???? ????? ??? ????? ????? ???','???????? ???????? ???? ???? %sB.','?????? ??? ???????? ????','????','??????','??? ????? ????',',','????','???????','??? ???? ????????? %s ??????? ????','???? ???????','??????? ????','??????','????? ??? ????','???????','???????','??????????','????????','??????','???????','???????','??????? ???','?????????','???????','????','?????? ????','???? ???????? ???','??? ?????','??? ???????? ???','????? ????????','???? ?????????','??? ????','????????',array('%d ????','%d ????????'),'????????','????? ????','???? ??????','????','?? ??? ??????','??????','?????????','????','?????? ???????','???????','Full table scan','SQL-????????','????','???????','??????? ????????','?????? ???????? ???','?????? ???? ???','??????? ??????','???????????','?????????','?????','???????','??????','???? ????? ???? ???','????????','ltr','???? CSRF ?????? ???? ???? ??????','????? ??????? ??????','???? ?????? ??????? ??? ???????','??????? ?????? ??? ??????, ???? ???? ?????','??? ??????????','??? ?????????? ???','??? PHP ??????? ????????? (%s) ????? ??? ????','??? ??? POST ????? ???? ????????? ??? ???? %s ?????????? ??????? ?????? ???','??? ????????','??????????? ???? ???? ???????','??????? ???????? ???','???? ??????? ???? ???','?????? ??????','???????','?????????','?????? %s: %s, %s PHP ??????????? ???? ????','%s ?????? ???','???????','?????????','???? ????','???????','??????','???? ???????','??? ???? ????','%.3f s','???? ??','???????','?? ?????','?????? ???','????????????? ???','????','???????','????','???????????? ??????','?????? ???','???????','??????','???? ??????????','???? ??????????','??????','???','?????','????','????????','???????? ????????','???','??????','?? ?????','????????','???? ?? ?????? ???','???????','??????? ?????? ???','??????? ????','?????????','??????','???????','?????????','??????????','????','????? ???? ???','?????????? ??? ????',array('%d ????','%d ???? ????'),array('???????? ??????? ?????, %d ???? ???????? ??????','???????? ??????? ?????, %d ???? ???????? ??????'),'??????? ???? ?? ??? ??????? ????',array('SQL-???????? ??????? ??????? ?????','%d SQL-???????????? ??????? ??????? ?????'),'???? ?????','???? ????? ?????????? ??? ????','??????? ???','?????? ???? ???? ???','????????? ?????? ?????','??????? ????','??????????? ???? %s','???? ?????','??????','??? ???','??? ???????? ???','????????? ???? ???? ??????','????????? ????? ??? ??????','????????????? ?????? ??? ??????','??????','???????','??????? ??? ??? ???????? ??????? ???','??????? ? ??????? ??????','???? ????','????? ???? ???? ??????','????? ???????? ??? ??????','????? ???? ??? ??????','????? ???? ???','???????? ????? ?? ???????? ?????? ??????? ??? ????? ????????????? %s ??? %s ?????? ?????','??????? ???','??????','???????? ??? ???????','????????','?????????? ???','???????','???????? ???????? ??? ??????','????-???','???? (???????)','???','??????? ???? ???? ??????','????????? ???? ?????? ??? ??????','??????? ???? ??? ??????','??????? ???????? ??? ??????','??????? ????','?????? ???? ???? ???????','?????? ???? ??? ???????','?????? ???????? ??? ???????','??',array('????? ?? ??? ?????, %d ?? ???? (????) ???????? ??????','????? ?? ??? ?????, %d ?? ???? (????) ???????? ??????'),'???? ?? ???? ???? ??????','???? ?? ???????? ??? ??????','???? ?? ???? ??? ??????','????? ??? ??????? ????? ??? ???? ???? ????? ???, ??????? ????????? ???? ???? ??? ?????????? ????? ???????? ???? ???????','???? ?? ','??????? ?????','????????','???? ??????','??? ???? ???? ??????','??? ???????? ??? ??????','??? ???? ??? ??????','??? ???? ???','?????? ???? ???? ??????','?????? ???????? ??? ??????','?????? ???? ??? ??????','?????? ???????? ???','?????? ???? ???','????','???????','????????','?????? ?????? ?? ??????? ???','????? ???? ???? ??????','????? ???????? ??? ??????','????? ???? ??? ??????','????? ???????? ???','????????? ???????? ???','????? ???? ???','????????? ???? ???','??????? ????','??????? ???? ???? ???????','??????? ???? ??? ???????','??????? ???????? ??? ???????','??????? ???????? ???','??????? ???? ???','???? ???? ???? ???????','???? ???? ??? ???????','???? ???????? ???','???? ???? ???','??????? ???? ???? ??????','??????? ???????? ??? ??????','??????? ???? ??? ??????','??????? ???????? ???','??????? ???? ???','???','??????','????? ???? ???? ??????','????? ???????? ??? ??????','????? ???? ??? ??????','??????','?????','?????????','?????',array('%d ?? ?????? (????) ?????? ??? ??????','%d ?? ?????? (????) ?????? ??? ??????'),'???????? %d ??','?????? ???','%d ?? ????????? ???????? ?????','??? ????? ???????? ???? ??? ??? ????? ????',array('%d ?? ???? (????) ??????? ??? ??????','%d ?? ???? (????) ??????? ??? ??????'),'????? ???????? ???? ?????','????????','???????','?? ??? ?????????? ???? ???????? ????? ??????? ????','??????','???????','???????? ?????','?????','???????','????? ?????? ??? ?????','????? ?????????? ??? ???????','????? ??? ??? ???????','????????? ???? ???? ??????','Tables have been optimized.','????? ??? ??? ????','?????? ???? ???','??????','????? ???????','??????? ?? ???????','???? ?????','????','????????','????????','???????','??????','??????','???? ???????? ?????????? ???','?????????? ???','???','???????','????????','??????? ?????','HH:MM:SS');break;case"ar":$R=array('?? ??? ??????','?? ??? ?????? ??? ?????.','??? ????? ?????? ?? %sB.','????? ??? ?????.','????','??????','?? ???? ?????.',',','?????','????????','?? ???? ?????? ???? ??????????: %s.','????? ?????.','??? ????????','?????','??????? ? ?????','?????','??????','????','?????','?????','??????','??????','????????','???? ??????','????? ??????','????? ??????','????? ???? ????','??? ????????','??? ????????','????? ???','????? ??????','???? ????','?????? ???????','?????','%d ????','??????','??????','?????','???','?? ?? ????','?????','??????','??','??? ????','????','Full table scan','??????? SQL','???','???','????? ????? ????????','????? ??????','????? ????','???? ????? ????????','??????????','?????','????? ??????','????? ??????','??????','???? ???? ????','?????','rtl','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.','?? ??? ?????? ?????? ??????','?????','??????','?????? ?????? "?????" ?????? ??? ??????.','????','???????','????? ?????','???','???????','?? ??? ???????.','?? ??? ???????.','?? ??? ???????.','?? ??? ???????.','Tables have been optimized.','??????? ? ??????','??? ?? ???????','??????','??? ????????.','??? ??????.','??????? ?????','??????','?????','?????','???','?????','???','??? ??? ????? ?????? ????','???','???','???????','??????','?? ??? ????','HH:MM:SS');break;case"fa":$R=array('????? ??????','???? ?? ???????? ???? ??????',' %sB ?????? ?????? ????','???? ???? ?????','????','????','????? ???? ?????',' ','????','???????','???? ??? ?? ???????? ??? ?? ?????? ?????? %s ','???? ????? ???','????? ?????','?????','????? ? ????','???? ??','??????','????','?????','??????','?????','????','??? ??????','???? ????','?????? ????','????','','?????? ????','????? ??????','??? ?????','?????? ????','???? ????','???? ???','??????',array('%d ????','%d ????'),'??????','?????','????','?????','?????','???? ????','?????','???????','??? ???','??????','Full table scan','????? ?? ??? ??','???????','?????','?????? ?????? ????','?????? ??????','????? ??????','?????? ?????? ????','????????','???? ????','????','?????? ????','??????','????? ???? ????','??????','rtl','??????? ???. ?????? ??? ???? Token CSRF','?? ?????? ???? ????','???????? ?? ???? ?????? ???? ????','???? ????? ?????? ???? ?????? ???? ????','?????? ???? ???????','????? ???????',' ????? ?? ?? ?? ?? ????? ???? (%s) ?????','??? ???? ?????? ???? ???. ??? ???? ???? ???? ? ?? ????? %s ?? ?? ???????? ?????? ????.','?????? ???? ???????','?????? ????? ??? ????','?????? ?????? ????','????? ?????? ???? ????','???? ??????','???????','?????','???? %s : %s ????? ?? ?? ?? %s','???? ?? ?????: %s','?????','??????','???','???????','??????','?????? ???????','???? ???? ?????','%.3f s','??????? ?????','?????','ON DELETE','??? ????','??? ???????','???','???','????????','?????? ??????','?????? ??? ???','?????','?????? ????','?????? ?? ????','?????? ?? ?????','???','?????','????','????','????????','?????? ????????','????','???','ON UPDATE','??????','?????? ???? ?????','???????','?????? ?????','?????? ????','???????','?????','???','??????','????????','????','????? ?????','??? ?? ?????',array('%d ???','%d ???'),'????? ???? ??. %d ??? ????? ???.','?????? ???? ???? ???? ?????','%d ????? ???? ??','???????? ????','???????? ??? ???? ???','????','???? ?? ???','??? ????? ?????','?? ????','%s ???? ?? ????','????? ????','?????','??? ????','?????? ???','???? ??? ??','???? ???? ????? ??','%s ???? ??? ??','???','?????','????? ? ????? ??????','????? ? ??? ????','???','???? ??? ??','???? ?????? ??','???? ????? ??','????? ????','?????? ???? ??????? ???? ????? ??. ???? %s ? %s ?? ???? ????','??? ????','?????','??????? ????','?????????','??? ???','??????','???????? ?????? ??','??? ??????','???? (???)','???','?????? ???? ??? ??','??? ?????? ???? ????? ???','?????? ???? ????? ??','?????? ???? ?????? ??','????? ?????? ????','?????? ??? ??','?????? ????? ??','?????? ?????? ??','??? ???',array('???? ???????? ?? %d ??? ????? ??','???? ???????? ?? %d ??? ????? ??'),'???? ????? ??? ??','???? ????? ?????? ??','???? ????? ????? ??','???? ???? ? ???? ?????? ?????? ???? ?? ?????','???? ?????','???? ???','?????','?????? ????','????? ??? ??','????? ?????? ??','????? ????? ??','????? ?????','?????? ??? ??','?????? ?????? ??','?????? ????? ??','?????? ??????','????? ??????','????','?????','???','????? ????? ???? ???','???? ??? ??','???? ?????? ??','???? ????? ??','?????? ????','?????? ?????????','????? ????','????? ?????????','????????? ???','?? ??? ??','?? ????? ??','?? ?????? ??','?????? ??','????? ??','??? ??? ??','??? ????? ??','?????? ???','????? ???','????? ??? ??','????? ?????? ??','????? ????? ??','?????? ?????','????? ?????','????','??????','????? ??? ??','????? ?????? ?????','????? ????? ??','?? ?? ?????','?????','????','??? ????','%d ?????? ????? ??',' ?? ??? ?? %d ','??? ??????',array('%d ???? ????? ??','%d ???? ????? ??'),'??? ????? ????? ???? ???? ?? ???? ?????? ????',array('%d ??? ???? ??','%d ??? ???? ??'),'???? ?? ?????? ???? ??????','??????','????? ??','?? ???? ?????? ???? ?????? ??? ????? ??????? ????','????','????','??? ?????','?????','???? ????','?????? ????? ????','?????? ?????? ???? ????','?????? ??? ????','?????? ??? ????','Tables have been optimized.','?????? ? ????? ??','?????? ???? ?? ????','?????','??? ????','??? ??????','???? ???????','?????','?????','????? ????','?????','?????','????? ????','?????? ?? ?? ?????? ???? ????','??????','??? ????','?? ??','????????','???? ????','?????');break;}if(extension_loaded('pdo')){class
  373. Min_PDO
  374. extends
  375. PDO{var$_result,$server_info,$affected_rows,$error;function
  376. __construct(){global$b;$re=array_search("",$b->operators);if($re!==false)unset($b->operators[$re]);}function
  377. dsn($_b,$U,$B,$Tb='auth_error'){set_exception_handler($Tb);parent::__construct($_b,$U,$B);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
  378. query($D,$Zf=false){$E=parent::query($D);$this->error="";if(!$E){$Nb=$this->errorInfo();$this->error=$Nb[2];return
  379. false;}$this->store_result($E);return$E;}function
  380. multi_query($D){return$this->_result=$this->query($D);}function
  381. 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
  382. true;}function
  383. next_result(){$this->_result->_offset=0;return@$this->_result->nextRowset();}function
  384. result($D,$l=0){$E=$this->query($D);if(!$E)return
  385. false;$G=$E->fetch();return$G[$l];}}class
  386. Min_PDOStatement
  387. extends
  388. PDOStatement{var$_offset=0,$num_rows;function
  389. fetch_assoc(){return$this->fetch(2);}function
  390. fetch_row(){return$this->fetch(3);}function
  391. fetch_field(){$G=(object)$this->getColumnMeta($this->_offset++);$G->orgtable=$G->table;$G->orgname=$G->name;$G->charsetnr=(in_array("blob",(array)$G->flags)?63:0);return$G;}}}$xb=array();$xb["sqlite"]="SQLite 3";$xb["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$ue=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
  392. Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$error,$_link;function
  393. Min_SQLite($ec){$this->_link=new
  394. SQLite3($ec);$ng=$this->_link->version();$this->server_info=$ng["versionString"];}function
  395. query($D){$E=@$this->_link->query($D);$this->error="";if(!$E){$this->error=$this->_link->lastErrorMsg();return
  396. false;}elseif($E->numColumns())return
  397. new
  398. Min_Result($E);$this->affected_rows=$this->_link->changes();return
  399. true;}function
  400. quote($L){return(is_utf8($L)?"'".$this->_link->escapeString($L)."'":"x'".reset(unpack('H*',$L))."'");}function
  401. store_result(){return$this->_result;}function
  402. result($D,$l=0){$E=$this->query($D);if(!is_object($E))return
  403. false;$G=$E->_result->fetchArray();return$G[$l];}}class
  404. Min_Result{var$_result,$_offset=0,$num_rows;function
  405. Min_Result($E){$this->_result=$E;}function
  406. fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
  407. fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
  408. 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
  409. __desctruct(){return$this->_result->finalize();}}}else{class
  410. Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
  411. Min_SQLite($ec){$this->server_info=sqlite_libversion();$this->_link=new
  412. SQLiteDatabase($ec);}function
  413. query($D,$Zf=false){$vd=($Zf?"unbufferedQuery":"query");$E=@$this->_link->$vd($D,SQLITE_BOTH,$k);$this->error="";if(!$E){$this->error=$k;return
  414. false;}elseif($E===true){$this->affected_rows=$this->changes();return
  415. true;}return
  416. new
  417. Min_Result($E);}function
  418. quote($L){return"'".sqlite_escape_string($L)."'";}function
  419. store_result(){return$this->_result;}function
  420. result($D,$l=0){$E=$this->query($D);if(!is_object($E))return
  421. false;$G=$E->_result->fetch();return$G[$l];}}class
  422. Min_Result{var$_result,$_offset=0,$num_rows;function
  423. Min_Result($E){$this->_result=$E;if(method_exists($E,'numRows'))$this->num_rows=$E->numRows();}function
  424. fetch_assoc(){$G=$this->_result->fetch(SQLITE_ASSOC);if(!$G)return
  425. false;$F=array();foreach($G
  426. as$v=>$W)$F[($v[0]=='"'?idf_unescape($v):$v)]=$W;return$F;}function
  427. fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
  428. fetch_field(){$_=$this->_result->fieldName($this->_offset++);$oe='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($oe\\.)?$oe\$~",$_,$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
  429. Min_SQLite
  430. extends
  431. Min_PDO{var$extension="PDO_SQLite";function
  432. Min_SQLite($ec){$this->dsn(DRIVER.":$ec","","");}}}if(class_exists("Min_SQLite")){class
  433. Min_DB
  434. extends
  435. Min_SQLite{function
  436. Min_DB(){$this->Min_SQLite(":memory:");}function
  437. select_db($ec){if(is_readable($ec)&&$this->query("ATTACH ".$this->quote(ereg("(^[/\\\\]|:)",$ec)?$ec:dirname($_SERVER["SCRIPT_FILENAME"])."/$ec")." AS a")){$this->Min_SQLite($ec);return
  438. true;}return
  439. false;}function
  440. multi_query($D){return$this->_result=$this->query($D);}function
  441. next_result(){return
  442. false;}}}function
  443. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  444. table($r){return
  445. idf_escape($r);}function
  446. connect(){return
  447. new
  448. Min_DB;}function
  449. get_databases(){return
  450. array();}function
  451. limit($D,$Z,$x,$A=0,$ef=" "){return" $D$Z".($x!==null?$ef."LIMIT $x".($A?" OFFSET $A":""):"");}function
  452. limit1($D,$Z){global$g;return($g->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($D,$Z,1):" $D$Z");}function
  453. db_collation($j,$Ta){global$g;return$g->result("PRAGMA encoding");}function
  454. engines(){return
  455. array();}function
  456. logged_user(){return
  457. get_current_user();}function
  458. tables_list(){return
  459. get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name",1);}function
  460. count_tables($i){return
  461. array();}function
  462. table_status($_=""){global$g;$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["Oid"]="t";$G["Auto_increment"]="";$G["Rows"]=$g->result("SELECT COUNT(*) FROM ".idf_escape($G["Name"]));$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
  463. is_view($O){return$O["Engine"]=="view";}function
  464. fk_support($O){global$g;return!$g->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
  465. fields($N){$F=array();foreach(get_rows("PRAGMA table_info(".table($N).")")as$G){$S=strtolower($G["type"]);$qb=$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("'(.*)'",$qb,$z)?str_replace("''","'",$z[1]):($qb=="NULL"?null:$qb)),"null"=>!$G["notnull"],"auto_increment"=>eregi('^integer$',$S)&&$G["pk"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$G["pk"],);}return$F;}function
  466. indexes($N,$h=null){$F=array();$xe=array();foreach(fields($N)as$l){if($l["primary"])$xe[]=$l["field"];}if($xe)$F[""]=array("type"=>"PRIMARY","columns"=>$xe,"lengths"=>array());foreach(get_rows("PRAGMA index_list(".table($N).")")as$G){if(!ereg("^sqlite_",$G["name"])){$F[$G["name"]]["type"]=($G["unique"]?"UNIQUE":"INDEX");$F[$G["name"]]["lengths"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($G["name"]).")")as$We)$F[$G["name"]]["columns"][]=$We["name"];}}return$F;}function
  467. 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
  468. view($_){global$g;return
  469. array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($_))));}function
  470. collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
  471. information_schema($j){return
  472. false;}function
  473. error(){global$g;return
  474. h($g->error);}function
  475. exact_value($W){return
  476. q($W);}function
  477. check_sqlite_name($_){global$g;$ac="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($ac)\$~",$_)){$g->error=lang(10,str_replace("|",", ",$ac));return
  478. false;}return
  479. true;}function
  480. create_database($j,$d){global$g;if(file_exists($j)){$g->error=lang(11);return
  481. false;}if(!check_sqlite_name($j))return
  482. false;$y=new
  483. Min_SQLite($j);$y->query('PRAGMA encoding = "UTF-8"');$y->query('CREATE TABLE adminer (i)');$y->query('DROP TABLE adminer');return
  484. true;}function
  485. drop_databases($i){global$g;$g->Min_SQLite(":memory:");foreach($i
  486. as$j){if(!@unlink($j)){$g->error=lang(11);return
  487. false;}}return
  488. true;}function
  489. rename_database($_,$d){global$g;if(!check_sqlite_name($_))return
  490. false;$g->Min_SQLite(":memory:");$g->error=lang(11);return@rename(DB,$_);}function
  491. auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
  492. alter_table($N,$_,$m,$ic,$Xa,$Jb,$d,$Ba,$le){$ig=($N==""||$ic);foreach($m
  493. as$l){if($l[0]!=""||!$l[1]||$l[2]){$ig=true;break;}}$c=array();$be=array();$ye=false;foreach($m
  494. as$l){if($l[1]){if($l[1][6])$ye=true;$c[]=($ig?" ":"ADD ").implode($l[1]);if($l[0]!="")$be[$l[0]]=$l[1][0];}}if($ig){if($N!=""){queries("BEGIN");foreach(foreign_keys($N)as$n){$f=array();foreach($n["source"]as$e){if(!$be[$e])continue
  495. 2;$f[]=$be[$e];}$ic[]=" FOREIGN KEY (".implode(", ",$f).") REFERENCES ".table($n["table"])." (".implode(", ",array_map('idf_escape',$n["target"])).") ON DELETE $n[on_delete] ON UPDATE $n[on_update]";}$t=array();foreach(indexes($N)as$Rc=>$s){$f=array();foreach($s["columns"]as$e){if(!$be[$e])continue
  496. 2;$f[]=$be[$e];}$f="(".implode(", ",$f).")";if($s["type"]!="PRIMARY")$t[]=array($s["type"],$Rc,$f);elseif(!$ye)$ic[]=" PRIMARY KEY $f";}}$c=array_merge($c,$ic);if(!queries("CREATE TABLE ".table($N!=""?"adminer_$_":$_)." (\n".implode(",\n",$c)."\n)"))return
  497. false;if($N!=""){if($be&&!queries("INSERT INTO ".table("adminer_$_")." (".implode(", ",$be).") SELECT ".implode(", ",array_map('idf_escape',array_keys($be)))." FROM ".table($N)))return
  498. false;$Wf=array();foreach(triggers($N)as$Uf=>$Jf){$Sf=trigger($Uf);$Wf[]="CREATE TRIGGER ".idf_escape($Uf)." ".implode(" ",$Jf)." ON ".table($_)."\n$Sf[Statement]";}if(!queries("DROP TABLE ".table($N)))return
  499. false;queries("ALTER TABLE ".table("adminer_$_")." RENAME TO ".table($_));if(!alter_indexes($_,$t))return
  500. false;foreach($Wf
  501. as$Sf){if(!queries($Sf))return
  502. false;}queries("COMMIT");}}else{foreach($c
  503. as$W){if(!queries("ALTER TABLE ".table($N)." $W"))return
  504. false;}if($N!=$_&&!queries("ALTER TABLE ".table($N)." RENAME TO ".table($_)))return
  505. false;}if($Ba)queries("UPDATE sqlite_sequence SET seq = $Ba WHERE name = ".q($_));return
  506. true;}function
  507. alter_indexes($N,$c){foreach($c
  508. 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
  509. false;}return
  510. true;}function
  511. truncate_tables($P){return
  512. apply_queries("DELETE FROM",$P);}function
  513. drop_views($Y){return
  514. apply_queries("DROP VIEW",$Y);}function
  515. drop_tables($P){return
  516. apply_queries("DROP TABLE",$P);}function
  517. move_tables($P,$Y,$Ef){return
  518. false;}function
  519. trigger($_){global$g;if($_=="")return
  520. 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
  521. array("Timing"=>strtoupper($z[1]),"Event"=>strtoupper($z[2]),"Trigger"=>$_,"Statement"=>$z[3]);}function
  522. 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
  523. trigger_options(){return
  524. array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Type"=>array("FOR EACH ROW"),);}function
  525. routine($_,$S){}function
  526. routines(){}function
  527. routine_languages(){}function
  528. begin(){return
  529. queries("BEGIN");}function
  530. insert_into($N,$K){return
  531. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  532. insert_update($N,$K,$xe){return
  533. queries("REPLACE INTO ".table($N)." (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).")");}function
  534. last_id(){global$g;return$g->result("SELECT LAST_INSERT_ROWID()");}function
  535. explain($g,$D){return$g->query("EXPLAIN $D");}function
  536. found_rows($O,$Z){}function
  537. types(){return
  538. array();}function
  539. schemas(){return
  540. array();}function
  541. get_schema(){return"";}function
  542. set_schema($af){return
  543. true;}function
  544. create_sql($N,$Ba){global$g;return$g->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($N));}function
  545. truncate_sql($N){return"DELETE FROM ".table($N);}function
  546. use_sql($nb){}function
  547. trigger_sql($N,$M){return
  548. implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($N)));}function
  549. 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
  550. show_status(){$F=array();foreach(get_vals("PRAGMA compile_options")as$Qd){list($v,$W)=explode("=",$Qd,2);$F[$v]=$W;}return$F;}function
  551. support($cc){return
  552. ereg('^(view|trigger|variables|status|dump|move_col|drop_col)$',$cc);}$u="sqlite";$T=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$qf=array_keys($T);$fg=array();$Pd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","");$rc=array("hex","length","lower","round","unixepoch","upper");$wc=array("avg","count","count distinct","group_concat","max","min","sum");$Cb=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$xb["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$ue=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
  553. Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error;function
  554. _error($Mb,$k){if(ini_bool("html_errors"))$k=html_entity_decode(strip_tags($k));$k=ereg_replace('^[^:]*: ','',$k);$this->error=$k;}function
  555. 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 dbname='".($j!=""?addcslashes($j,"'\\"):"postgres")."'",PGSQL_CONNECT_FORCE_NEW);if(!$this->_link&&$j!=""){$this->_database=false;$this->_link=@pg_connect("$this->_string dbname='postgres'",PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this->_link){$ng=pg_version($this->_link);$this->server_info=$ng["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
  556. quote($L){return"'".pg_escape_string($this->_link,$L)."'";}function
  557. select_db($nb){global$b;if($nb==$b->database())return$this->_database;$F=@pg_connect("$this->_string dbname='".addcslashes($nb,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($F)$this->_link=$F;return$F;}function
  558. close(){$this->_link=@pg_connect("$this->_string dbname='postgres'");}function
  559. query($D,$Zf=false){$E=@pg_query($this->_link,$D);$this->error="";if(!$E){$this->error=pg_last_error($this->_link);return
  560. false;}elseif(!pg_num_fields($E)){$this->affected_rows=pg_affected_rows($E);return
  561. true;}return
  562. new
  563. Min_Result($E);}function
  564. multi_query($D){return$this->_result=$this->query($D);}function
  565. store_result(){return$this->_result;}function
  566. next_result(){return
  567. false;}function
  568. result($D,$l=0){$E=$this->query($D);if(!$E||!$E->num_rows)return
  569. false;return
  570. pg_fetch_result($E->_result,0,$l);}}class
  571. Min_Result{var$_result,$_offset=0,$num_rows;function
  572. Min_Result($E){$this->_result=$E;$this->num_rows=pg_num_rows($E);}function
  573. fetch_assoc(){return
  574. pg_fetch_assoc($this->_result);}function
  575. fetch_row(){return
  576. pg_fetch_row($this->_result);}function
  577. fetch_field(){$e=$this->_offset++;$F=new
  578. 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
  579. __destruct(){pg_free_result($this->_result);}}}elseif(extension_loaded("pdo_pgsql")){class
  580. Min_DB
  581. extends
  582. Min_PDO{var$extension="PDO_PgSQL";function
  583. 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 dbname='".($j!=""?addcslashes($j,"'\\"):"postgres")."'",$U,$B);return
  584. true;}function
  585. select_db($nb){global$b;return($b->database()==$nb);}function
  586. close(){}}}function
  587. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  588. table($r){return
  589. idf_escape($r);}function
  590. connect(){global$b;$g=new
  591. Min_DB;$jb=$b->credentials();if($g->connect($jb[0],$jb[1],$jb[2])){if($g->server_info>=9)$g->query("SET application_name = 'Adminer'");return$g;}return$g->error;}function
  592. get_databases(){return
  593. get_vals("SELECT datname FROM pg_database ORDER BY datname");}function
  594. limit($D,$Z,$x,$A=0,$ef=" "){return" $D$Z".($x!==null?$ef."LIMIT $x".($A?" OFFSET $A":""):"");}function
  595. limit1($D,$Z){return" $D$Z";}function
  596. db_collation($j,$Ta){global$g;return$g->result("SHOW LC_COLLATE");}function
  597. engines(){return
  598. array();}function
  599. logged_user(){global$g;return$g->result("SELECT user");}function
  600. tables_list(){return
  601. get_key_vals("SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema() ORDER BY table_name");}function
  602. count_tables($i){return
  603. array();}function
  604. table_status($_=""){$F=array();foreach(get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN 'table' 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\", reltuples as \"Rows\"
  605. FROM pg_class
  606. WHERE relkind IN ('r','v')
  607. AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())".($_!=""?" AND relname = ".q($_):""))as$G)$F[$G["Name"]]=$G;return($_!=""?$F[$_]:$F);}function
  608. is_view($O){return$O["Engine"]=="view";}function
  609. fk_support($O){return
  610. true;}function
  611. 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
  612. FROM pg_class c
  613. JOIN pg_namespace n ON c.relnamespace = n.oid
  614. JOIN pg_attribute a ON c.oid = a.attrelid
  615. LEFT JOIN pg_attrdef d ON c.oid = d.adrelid AND a.attnum = d.adnum
  616. WHERE c.relname = ".q($N)."
  617. AND n.nspname = current_schema()
  618. AND NOT a.attisdropped
  619. AND a.attnum > 0
  620. 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
  621. indexes($N,$h=null){global$g;if(!is_object($h))$h=$g;$F=array();$zf=$h->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = ".q($N));$f=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $zf AND attnum > 0",$h);foreach(get_rows("SELECT relname, indisunique, indisprimary, indkey FROM pg_index i, pg_class ci WHERE i.indrelid = $zf 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$Fc)$F[$G["relname"]]["columns"][]=$f[$Fc];$F[$G["relname"]]["lengths"]=array();}return$F;}function
  622. foreign_keys($N){global$Ld;$F=array();foreach(get_rows("SELECT conname, pg_get_constraintdef(oid) AS definition
  623. FROM pg_constraint
  624. WHERE conrelid = (SELECT pc.oid FROM pg_class AS pc INNER JOIN pg_namespace AS pn ON (pn.oid = pc.relnamespace) WHERE pc.relname = ".q($N)." AND pn.nspname = current_schema())
  625. AND contype = 'f'::char
  626. 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],$id)){$G['ns']=$id[1];$G['table']=$id[2];}$G['target']=array_map('trim',explode(',',$z[3]));$G['on_delete']=(preg_match("~ON DELETE ($Ld)~",$z[4],$id)?$id[1]:'NO ACTION');$G['on_update']=(preg_match("~ON UPDATE ($Ld)~",$z[4],$id)?$id[1]:'NO ACTION');$F[$G['conname']]=$G;}}return$F;}function
  627. view($_){global$g;return
  628. array("select"=>$g->result("SELECT pg_get_viewdef(".q($_).")"));}function
  629. collations(){return
  630. array();}function
  631. information_schema($j){return($j=="information_schema");}function
  632. 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
  633. nl_br($F);}function
  634. exact_value($W){return
  635. q($W);}function
  636. create_database($j,$d){return
  637. queries("CREATE DATABASE ".idf_escape($j).($d?" ENCODING ".idf_escape($d):""));}function
  638. drop_databases($i){global$g;$g->close();return
  639. apply_queries("DROP DATABASE",$i,'idf_escape');}function
  640. rename_database($_,$d){return
  641. queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($_));}function
  642. auto_increment(){return"";}function
  643. alter_table($N,$_,$m,$ic,$Xa,$Jb,$d,$Ba,$le){$c=array();$Fe=array();foreach($m
  644. as$l){$e=idf_escape($l[0]);$W=$l[1];if(!$W)$c[]="DROP $e";else{$lg=$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])$Fe[]="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]!=""||$lg!="")$Fe[]="COMMENT ON COLUMN ".table($N).".$W[0] IS ".($lg!=""?substr($lg,9):"''");}}$c=array_merge($c,$ic);if($N=="")array_unshift($Fe,"CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)");elseif($c)array_unshift($Fe,"ALTER TABLE ".table($N)."\n".implode(",\n",$c));if($N!=""&&$N!=$_)$Fe[]="ALTER TABLE ".table($N)." RENAME TO ".table($_);if($N!=""||$Xa!="")$Fe[]="COMMENT ON TABLE ".table($_)." IS ".q($Xa);if($Ba!=""){}foreach($Fe
  645. as$D){if(!queries($D))return
  646. false;}return
  647. true;}function
  648. alter_indexes($N,$c){$gb=array();$yb=array();foreach($c
  649. as$W){if($W[0]!="INDEX")$gb[]=($W[2]=="DROP"?"\nDROP CONSTRAINT ".idf_escape($W[1]):"\nADD $W[0] ".($W[0]=="PRIMARY"?"KEY ":"").$W[2]);elseif($W[2]=="DROP")$yb[]=idf_escape($W[1]);elseif(!queries("CREATE INDEX ".idf_escape($W[1]!=""?$W[1]:uniqid($N."_"))." ON ".table($N)." $W[2]"))return
  650. false;}return((!$gb||queries("ALTER TABLE ".table($N).implode(",",$gb)))&&(!$yb||queries("DROP INDEX ".implode(", ",$yb))));}function
  651. truncate_tables($P){return
  652. queries("TRUNCATE ".implode(", ",array_map('table',$P)));return
  653. true;}function
  654. drop_views($Y){return
  655. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  656. drop_tables($P){return
  657. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  658. move_tables($P,$Y,$Ef){foreach($P
  659. as$N){if(!queries("ALTER TABLE ".table($N)." SET SCHEMA ".idf_escape($Ef)))return
  660. false;}foreach($Y
  661. as$N){if(!queries("ALTER VIEW ".table($N)." SET SCHEMA ".idf_escape($Ef)))return
  662. false;}return
  663. true;}function
  664. trigger($_){if($_=="")return
  665. 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
  666. reset($H);}function
  667. 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
  668. trigger_options(){return
  669. array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW","FOR EACH STATEMENT"),);}function
  670. routines(){return
  671. get_rows('SELECT p.proname AS "ROUTINE_NAME", p.proargtypes AS "ROUTINE_TYPE", pg_catalog.format_type(p.prorettype, NULL) AS "DTD_IDENTIFIER"
  672. FROM pg_catalog.pg_namespace n
  673. JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
  674. WHERE n.nspname = current_schema()
  675. ORDER BY p.proname');}function
  676. routine_languages(){return
  677. get_vals("SELECT langname FROM pg_catalog.pg_language");}function
  678. begin(){return
  679. queries("BEGIN");}function
  680. insert_into($N,$K){return
  681. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  682. insert_update($N,$K,$xe){global$g;$gg=array();$Z=array();foreach($K
  683. as$v=>$W){$gg[]="$v = $W";if(isset($xe[idf_unescape($v)]))$Z[]="$v = $W";}return($Z&&queries("UPDATE ".table($N)." SET ".implode(", ",$gg)." WHERE ".implode(" AND ",$Z))&&$g->affected_rows)||queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).")");}function
  684. last_id(){return
  685. 0;}function
  686. explain($g,$D){return$g->query("EXPLAIN $D");}function
  687. 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):"")),$Ne))return$Ne[1];return
  688. false;}function
  689. types(){return
  690. get_vals("SELECT typname
  691. FROM pg_type
  692. WHERE typnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
  693. AND typtype IN ('b','d','e')
  694. AND typelem = 0");}function
  695. schemas(){return
  696. get_vals("SELECT nspname FROM pg_namespace ORDER BY nspname");}function
  697. get_schema(){global$g;return$g->result("SELECT current_schema()");}function
  698. set_schema($Ze){global$g,$T,$qf;$F=$g->query("SET search_path TO ".idf_escape($Ze));foreach(types()as$S){if(!isset($T[$S])){$T[$S]=0;$qf[lang(12)][]=$S;}}return$F;}function
  699. use_sql($nb){return"\connect ".idf_escape($nb);}function
  700. show_variables(){return
  701. get_key_vals("SHOW ALL");}function
  702. process_list(){return
  703. get_rows("SELECT * FROM pg_stat_activity ORDER BY procpid");}function
  704. show_status(){}function
  705. support($cc){return
  706. ereg('^(comment|view|scheme|processlist|sequence|trigger|type|variables|drop_col)$',$cc);}$u="pgsql";$T=array();$qf=array();foreach(array(lang(13)=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),lang(14)=>array("date"=>13,"time"=>17,"timestamp"=>20,"interval"=>0),lang(15)=>array("character"=>0,"character varying"=>0,"text"=>0,"tsquery"=>0,"tsvector"=>0,"uuid"=>0,"xml"=>0),lang(16)=>array("bit"=>0,"bit varying"=>0,"bytea"=>0),lang(17)=>array("cidr"=>43,"inet"=>43,"macaddr"=>17,"txid_snapshot"=>0),lang(18)=>array("box"=>0,"circle"=>0,"line"=>0,"lseg"=>0,"path"=>0,"point"=>0,"polygon"=>0),)as$v=>$W){$T+=$W;$qf[$v]=array_keys($W);}$fg=array();$Pd=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$rc=array("char_length","lower","round","to_hex","to_timestamp","upper");$wc=array("avg","count","count distinct","max","min","sum");$Cb=array(array("char"=>"md5","date|time"=>"now",),array("int|numeric|real|money"=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$xb["oracle"]="Oracle";if(isset($_GET["oracle"])){$ue=array("OCI8","PDO_OCI");define("DRIVER","oracle");if(extension_loaded("oci8")){class
  707. Min_DB{var$extension="oci8",$_link,$_result,$server_info,$affected_rows,$error;function
  708. _error($Mb,$k){if(ini_bool("html_errors"))$k=html_entity_decode(strip_tags($k));$k=ereg_replace('^[^:]*: ','',$k);$this->error=$k;}function
  709. 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
  710. true;}$k=oci_error();$this->error=$k["message"];return
  711. false;}function
  712. quote($L){return"'".str_replace("'","''",$L)."'";}function
  713. select_db($nb){return
  714. true;}function
  715. query($D,$Zf=false){$E=oci_parse($this->_link,$D);$this->error="";if(!$E){$k=oci_error($this->_link);$this->error=$k["message"];return
  716. false;}set_error_handler(array($this,'_error'));$F=@oci_execute($E);restore_error_handler();if($F){if(oci_num_fields($E))return
  717. new
  718. Min_Result($E);$this->affected_rows=oci_num_rows($E);}return$F;}function
  719. multi_query($D){return$this->_result=$this->query($D);}function
  720. store_result(){return$this->_result;}function
  721. next_result(){return
  722. false;}function
  723. result($D,$l=1){$E=$this->query($D);if(!is_object($E)||!oci_fetch($E->_result))return
  724. false;return
  725. oci_result($E->_result,$l);}}class
  726. Min_Result{var$_result,$_offset=1,$num_rows;function
  727. Min_Result($E){$this->_result=$E;}function
  728. _convert($G){foreach((array)$G
  729. as$v=>$W){if(is_a($W,'OCI-Lob'))$G[$v]=$W->load();}return$G;}function
  730. fetch_assoc(){return$this->_convert(oci_fetch_assoc($this->_result));}function
  731. fetch_row(){return$this->_convert(oci_fetch_row($this->_result));}function
  732. fetch_field(){$e=$this->_offset++;$F=new
  733. 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
  734. __destruct(){oci_free_statement($this->_result);}}}elseif(extension_loaded("pdo_oci")){class
  735. Min_DB
  736. extends
  737. Min_PDO{var$extension="PDO_OCI";function
  738. connect($J,$U,$B){$this->dsn("oci:dbname=//$J;charset=AL32UTF8",$U,$B);return
  739. true;}function
  740. select_db($nb){return
  741. true;}}}function
  742. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  743. table($r){return
  744. idf_escape($r);}function
  745. connect(){global$b;$g=new
  746. Min_DB;$jb=$b->credentials();if($g->connect($jb[0],$jb[1],$jb[2]))return$g;return$g->error;}function
  747. get_databases(){return
  748. get_vals("SELECT tablespace_name FROM user_tablespaces");}function
  749. limit($D,$Z,$x,$A=0,$ef=" "){return($A?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $D$Z) t WHERE rownum <= ".($x+$A).") WHERE rnum > $A":($x!==null?" * FROM (SELECT $D$Z) WHERE rownum <= ".($x+$A):" $D$Z"));}function
  750. limit1($D,$Z){return" $D$Z";}function
  751. db_collation($j,$Ta){global$g;return$g->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
  752. engines(){return
  753. array();}function
  754. logged_user(){global$g;return$g->result("SELECT USER FROM DUAL");}function
  755. tables_list(){return
  756. get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
  757. UNION SELECT view_name, 'view' FROM user_views");}function
  758. count_tables($i){return
  759. array();}function
  760. table_status($_=""){$F=array();$bf=q($_);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine", avg_row_len * num_rows "Data_length", num_rows "Rows" FROM all_tables WHERE tablespace_name = '.q(DB).($_!=""?" AND table_name = $bf":"")."
  761. UNION SELECT view_name, 'view', 0, 0 FROM user_views".($_!=""?" WHERE view_name = $bf":""))as$G){if($_!="")return$G;$F[$G["Name"]]=$G;}return$F;}function
  762. is_view($O){return$O["Engine"]=="view";}function
  763. fk_support($O){return
  764. true;}function
  765. 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
  766. indexes($N,$h=null){$F=array();foreach(get_rows("SELECT uic.*, uc.constraint_type
  767. FROM user_ind_columns uic
  768. LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
  769. WHERE uic.table_name = ".q($N)."
  770. 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
  771. view($_){$H=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($_));return
  772. reset($H);}function
  773. collations(){return
  774. array();}function
  775. information_schema($j){return
  776. false;}function
  777. error(){global$g;return
  778. h($g->error);}function
  779. exact_value($W){return
  780. q($W);}function
  781. explain($g,$D){$g->query("EXPLAIN PLAN FOR $D");return$g->query("SELECT * FROM plan_table");}function
  782. found_rows($O,$Z){}function
  783. alter_table($N,$_,$m,$ic,$Xa,$Jb,$d,$Ba,$le){$c=$yb=array();foreach($m
  784. 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$yb[]=idf_escape($l[0]);}if($N=="")return
  785. queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)");return(!$c||queries("ALTER TABLE ".table($N)."\n".implode("\n",$c)))&&(!$yb||queries("ALTER TABLE ".table($N)." DROP (".implode(", ",$yb).")"))&&($N==$_||queries("ALTER TABLE ".table($N)." RENAME TO ".table($_)));}function
  786. foreign_keys($N){return
  787. array();}function
  788. truncate_tables($P){return
  789. apply_queries("TRUNCATE TABLE",$P);}function
  790. drop_views($Y){return
  791. apply_queries("DROP VIEW",$Y);}function
  792. drop_tables($P){return
  793. apply_queries("DROP TABLE",$P);}function
  794. begin(){return
  795. true;}function
  796. insert_into($N,$K){return
  797. queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")");}function
  798. last_id(){return
  799. 0;}function
  800. schemas(){return
  801. get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");}function
  802. get_schema(){global$g;return$g->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");}function
  803. set_schema($af){global$g;return$g->query("ALTER SESSION SET CURRENT_SCHEMA = ".idf_escape($af));}function
  804. show_variables(){return
  805. get_key_vals('SELECT name, display_value FROM v$parameter');}function
  806. process_list(){return
  807. get_rows('SELECT sess.process AS "process", sess.username AS "user", sess.schemaname AS "schema", sess.status AS "status", sess.wait_class AS "wait_class", sess.seconds_in_wait AS "seconds_in_wait", sql.sql_text AS "sql_text", sess.machine AS "machine", sess.port AS "port"
  808. FROM v$session sess LEFT OUTER JOIN v$sql sql
  809. ON sql.sql_id = sess.sql_id
  810. WHERE sess.type = \'USER\'
  811. ORDER BY PROCESS
  812. ');}function
  813. show_status(){$H=get_rows('SELECT * FROM v$instance');return
  814. reset($H);}function
  815. support($cc){return
  816. ereg("view|scheme|processlist|drop_col|variables|status",$cc);}$u="oracle";$T=array();$qf=array();foreach(array(lang(13)=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),lang(14)=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),lang(15)=>array("char"=>2000,"varchar2"=>4000,"nchar"=>2000,"nvarchar2"=>4000,"clob"=>4294967295,"nclob"=>4294967295),lang(16)=>array("raw"=>2000,"long raw"=>2147483648,"blob"=>4294967295,"bfile"=>4294967296),)as$v=>$W){$T+=$W;$qf[$v]=array_keys($W);}$fg=array();$Pd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","");$rc=array("length","lower","round","upper");$wc=array("avg","count","count distinct","max","min","sum");$Cb=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$xb["mssql"]="MS SQL";if(isset($_GET["mssql"])){$ue=array("SQLSRV","MSSQL");define("DRIVER","mssql");if(extension_loaded("sqlsrv")){class
  817. Min_DB{var$extension="sqlsrv",$_link,$_result,$server_info,$affected_rows,$error;function
  818. _get_error(){$this->error="";foreach(sqlsrv_errors()as$k)$this->error.="$k[message]\n";$this->error=rtrim($this->error);}function
  819. connect($J,$U,$B){$this->_link=@sqlsrv_connect($J,array("UID"=>$U,"PWD"=>$B,"CharacterSet"=>"UTF-8"));if($this->_link){$Gc=sqlsrv_server_info($this->_link);$this->server_info=$Gc['SQLServerVersion'];}else$this->_get_error();return(bool)$this->_link;}function
  820. quote($L){return"'".str_replace("'","''",$L)."'";}function
  821. select_db($nb){return$this->query("USE $nb");}function
  822. query($D,$Zf=false){$E=sqlsrv_query($this->_link,$D);$this->error="";if(!$E){$this->_get_error();return
  823. false;}return$this->store_result($E);}function
  824. multi_query($D){$this->_result=sqlsrv_query($this->_link,$D);$this->error="";if(!$this->_result){$this->_get_error();return
  825. false;}return
  826. true;}function
  827. store_result($E=null){if(!$E)$E=$this->_result;if(sqlsrv_field_metadata($E))return
  828. new
  829. Min_Result($E);$this->affected_rows=sqlsrv_rows_affected($E);return
  830. true;}function
  831. next_result(){return
  832. sqlsrv_next_result($this->_result);}function
  833. result($D,$l=0){$E=$this->query($D);if(!is_object($E))return
  834. false;$G=$E->fetch_row();return$G[$l];}}class
  835. Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
  836. Min_Result($E){$this->_result=$E;}function
  837. _convert($G){foreach((array)$G
  838. as$v=>$W){if(is_a($W,'DateTime'))$G[$v]=$W->format("Y-m-d H:i:s");}return$G;}function
  839. fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC,SQLSRV_SCROLL_NEXT));}function
  840. fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC,SQLSRV_SCROLL_NEXT));}function
  841. fetch_field(){if(!$this->_fields)$this->_fields=sqlsrv_field_metadata($this->_result);$l=$this->_fields[$this->_offset++];$F=new
  842. stdClass;$F->name=$l["Name"];$F->orgname=$l["Name"];$F->type=($l["Type"]==1?254:0);return$F;}function
  843. seek($A){for($p=0;$p<$A;$p++)sqlsrv_fetch($this->_result);}function
  844. __destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
  845. Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
  846. 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
  847. quote($L){return"'".str_replace("'","''",$L)."'";}function
  848. select_db($nb){return
  849. mssql_select_db($nb);}function
  850. query($D,$Zf=false){$E=mssql_query($D,$this->_link);$this->error="";if(!$E){$this->error=mssql_get_last_message();return
  851. false;}if($E===true){$this->affected_rows=mssql_rows_affected($this->_link);return
  852. true;}return
  853. new
  854. Min_Result($E);}function
  855. multi_query($D){return$this->_result=$this->query($D);}function
  856. store_result(){return$this->_result;}function
  857. next_result(){return
  858. mssql_next_result($this->_result);}function
  859. result($D,$l=0){$E=$this->query($D);if(!is_object($E))return
  860. false;return
  861. mssql_result($E->_result,0,$l);}}class
  862. Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
  863. Min_Result($E){$this->_result=$E;$this->num_rows=mssql_num_rows($E);}function
  864. fetch_assoc(){return
  865. mssql_fetch_assoc($this->_result);}function
  866. fetch_row(){return
  867. mssql_fetch_row($this->_result);}function
  868. num_rows(){return
  869. mssql_num_rows($this->_result);}function
  870. fetch_field(){$F=mssql_fetch_field($this->_result);$F->orgtable=$F->table;$F->orgname=$F->name;return$F;}function
  871. seek($A){mssql_data_seek($this->_result,$A);}function
  872. __destruct(){mssql_free_result($this->_result);}}}function
  873. idf_escape($r){return"[".str_replace("]","]]",$r)."]";}function
  874. table($r){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($r);}function
  875. connect(){global$b;$g=new
  876. Min_DB;$jb=$b->credentials();if($g->connect($jb[0],$jb[1],$jb[2]))return$g;return$g->error;}function
  877. get_databases(){return
  878. get_vals("EXEC sp_databases");}function
  879. limit($D,$Z,$x,$A=0,$ef=" "){return($x!==null?" TOP (".($x+$A).")":"")." $D$Z";}function
  880. limit1($D,$Z){return
  881. limit($D,$Z,1);}function
  882. db_collation($j,$Ta){global$g;return$g->result("SELECT collation_name FROM sys.databases WHERE name = ".q($j));}function
  883. engines(){return
  884. array();}function
  885. logged_user(){global$g;return$g->result("SELECT SUSER_NAME()");}function
  886. tables_list(){return
  887. 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
  888. count_tables($i){global$g;$F=array();foreach($i
  889. as$j){$g->select_db($j);$F[$j]=$g->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$F;}function
  890. 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
  891. is_view($O){return$O["Engine"]=="VIEW";}function
  892. fk_support($O){return
  893. true;}function
  894. fields($N){$F=array();foreach(get_rows("SELECT c.*, t.name type, d.definition [default]
  895. FROM sys.all_columns c
  896. JOIN sys.all_objects o ON c.object_id = o.object_id
  897. JOIN sys.types t ON c.user_type_id = t.user_type_id
  898. LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
  899. 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
  900. indexes($N,$h=null){$F=array();foreach(get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name
  901. FROM sys.indexes i
  902. INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
  903. INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
  904. 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
  905. view($_){global$g;return
  906. 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
  907. collations(){$F=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$d)$F[ereg_replace("_.*","",$d)][]=$d;return$F;}function
  908. information_schema($j){return
  909. false;}function
  910. error(){global$g;return
  911. nl_br(h(preg_replace('~^(\\[[^]]*])+~m','',$g->error)));}function
  912. exact_value($W){return
  913. q($W);}function
  914. create_database($j,$d){return
  915. queries("CREATE DATABASE ".idf_escape($j).(eregi('^[a-z0-9_]+$',$d)?" COLLATE $d":""));}function
  916. drop_databases($i){return
  917. queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$i)));}function
  918. 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
  919. true;}function
  920. auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".(+$_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
  921. alter_table($N,$_,$m,$ic,$Xa,$Jb,$d,$Ba,$le){$c=array();foreach($m
  922. 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($ic[$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
  923. queries("CREATE TABLE ".table($_)." (".implode(",",(array)$c["ADD"])."\n)");if($N!=$_)queries("EXEC sp_rename ".q(table($N)).", ".q($_));if($ic)$c[""]=$ic;foreach($c
  924. as$v=>$W){if(!queries("ALTER TABLE ".idf_escape($_)." $v".implode(",",$W)))return
  925. false;}return
  926. true;}function
  927. alter_indexes($N,$c){$s=array();$yb=array();foreach($c
  928. as$W){if($W[2]=="DROP"){if($W[0]=="PRIMARY")$yb[]=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
  929. false;}return(!$s||queries("DROP INDEX ".implode(", ",$s)))&&(!$yb||queries("ALTER TABLE ".table($N)." DROP ".implode(", ",$yb)));}function
  930. begin(){return
  931. queries("BEGIN TRANSACTION");}function
  932. insert_into($N,$K){return
  933. queries("INSERT INTO ".table($N).($K?" (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")":"DEFAULT VALUES"));}function
  934. insert_update($N,$K,$xe){$gg=array();$Z=array();foreach($K
  935. as$v=>$W){$gg[]="$v = $W";if(isset($xe[idf_unescape($v)]))$Z[]="$v = $W";}return
  936. 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(", ",$gg)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($K)).") VALUES (".implode(", ",$K).");");}function
  937. last_id(){global$g;return$g->result("SELECT SCOPE_IDENTITY()");}function
  938. explain($g,$D){$g->query("SET SHOWPLAN_ALL ON");$F=$g->query($D);$g->query("SET SHOWPLAN_ALL OFF");return$F;}function
  939. found_rows($O,$Z){}function
  940. 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
  941. truncate_tables($P){return
  942. apply_queries("TRUNCATE TABLE",$P);}function
  943. drop_views($Y){return
  944. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  945. drop_tables($P){return
  946. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  947. move_tables($P,$Y,$Ef){return
  948. apply_queries("ALTER SCHEMA ".idf_escape($Ef)." TRANSFER",array_merge($P,$Y));}function
  949. trigger($_){if($_=="")return
  950. array();$H=get_rows("SELECT s.name [Trigger],
  951. 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],
  952. CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],
  953. c.text
  954. FROM sysobjects s
  955. JOIN syscomments c ON s.id = c.id
  956. 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
  957. triggers($N){$F=array();foreach(get_rows("SELECT sys1.name,
  958. 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],
  959. CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]
  960. FROM sysobjects sys1
  961. JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id
  962. WHERE sys1.xtype = 'TR' AND sys2.name = ".q($N))as$G)$F[$G["name"]]=array($G["Timing"],$G["Event"]);return$F;}function
  963. trigger_options(){return
  964. array("Timing"=>array("AFTER","INSTEAD OF"),"Type"=>array("AS"),);}function
  965. schemas(){return
  966. get_vals("SELECT name FROM sys.schemas");}function
  967. get_schema(){global$g;if($_GET["ns"]!="")return$_GET["ns"];return$g->result("SELECT SCHEMA_NAME()");}function
  968. set_schema($Ze){return
  969. true;}function
  970. use_sql($nb){return"USE ".idf_escape($nb);}function
  971. show_variables(){return
  972. array();}function
  973. show_status(){return
  974. array();}function
  975. support($cc){return
  976. ereg('^(scheme|trigger|view|drop_col)$',$cc);}$u="mssql";$T=array();$qf=array();foreach(array(lang(13)=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),lang(14)=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),lang(15)=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),lang(16)=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$v=>$W){$T+=$W;$qf[$v]=array_keys($W);}$fg=array();$Pd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$rc=array("len","lower","round","upper");$wc=array("avg","count","count distinct","max","min","sum");$Cb=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$xb=array("server"=>"MySQL")+$xb;if(!defined("DRIVER")){$ue=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
  977. Min_DB
  978. extends
  979. MySQLi{var$extension="MySQLi";function
  980. Min_DB(){parent::init();}function
  981. connect($J,$U,$B){mysqli_report(MYSQLI_REPORT_OFF);list($_c,$qe)=explode(":",$J,2);$F=@$this->real_connect(($J!=""?$_c: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($qe)?$qe:ini_get("mysqli.default_port")),(!is_numeric($qe)?$qe:null));if($F){if(method_exists($this,'set_charset'))$this->set_charset("utf8");else$this->query("SET NAMES utf8");}return$F;}function
  982. result($D,$l=0){$E=$this->query($D);if(!$E)return
  983. false;$G=$E->fetch_array();return$G[$l];}function
  984. quote($L){return"'".$this->escape_string($L)."'";}}}elseif(extension_loaded("mysql")&&!(ini_get("sql.safe_mode")&&extension_loaded("pdo_mysql"))){class
  985. Min_DB{var$extension="MySQL",$server_info,$affected_rows,$error,$_link,$_result;function
  986. 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
  987. quote($L){return"'".mysql_real_escape_string($L,$this->_link)."'";}function
  988. select_db($nb){return
  989. mysql_select_db($nb,$this->_link);}function
  990. query($D,$Zf=false){$E=@($Zf?mysql_unbuffered_query($D,$this->_link):mysql_query($D,$this->_link));$this->error="";if(!$E){$this->error=mysql_error($this->_link);return
  991. false;}if($E===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
  992. true;}return
  993. new
  994. Min_Result($E);}function
  995. multi_query($D){return$this->_result=$this->query($D);}function
  996. store_result(){return$this->_result;}function
  997. next_result(){return
  998. false;}function
  999. result($D,$l=0){$E=$this->query($D);if(!$E||!$E->num_rows)return
  1000. false;return
  1001. mysql_result($E->_result,0,$l);}}class
  1002. Min_Result{var$num_rows,$_result,$_offset=0;function
  1003. Min_Result($E){$this->_result=$E;$this->num_rows=mysql_num_rows($E);}function
  1004. fetch_assoc(){return
  1005. mysql_fetch_assoc($this->_result);}function
  1006. fetch_row(){return
  1007. mysql_fetch_row($this->_result);}function
  1008. 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
  1009. __destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
  1010. Min_DB
  1011. extends
  1012. Min_PDO{var$extension="PDO_MySQL";function
  1013. 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
  1014. true;}function
  1015. select_db($nb){return$this->query("USE ".idf_escape($nb));}function
  1016. query($D,$Zf=false){$this->setAttribute(1000,!$Zf);return
  1017. parent::query($D,$Zf);}}}function
  1018. idf_escape($r){return"`".str_replace("`","``",$r)."`";}function
  1019. table($r){return
  1020. idf_escape($r);}function
  1021. connect(){global$b;$g=new
  1022. Min_DB;$jb=$b->credentials();if($g->connect($jb[0],$jb[1],$jb[2])){$g->query("SET sql_quote_show_create = 1, autocommit = 1");return$g;}$F=$g->error;if(function_exists('iconv')&&!is_utf8($F)&&strlen($Xe=iconv("windows-1250","utf-8",$F))>strlen($F))$F=$Xe;return$F;}function
  1023. get_databases($hc=true){global$g;$F=&get_session("dbs");if($F===null){if($hc){restart_session();ob_flush();flush();}$F=get_vals($g->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");}return$F;}function
  1024. limit($D,$Z,$x,$A=0,$ef=" "){return" $D$Z".($x!==null?$ef."LIMIT $x".($A?" OFFSET $A":""):"");}function
  1025. limit1($D,$Z){return
  1026. limit($D,$Z,1);}function
  1027. db_collation($j,$Ta){global$g;$F=null;$gb=$g->result("SHOW CREATE DATABASE ".idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$gb,$z))$F=$z[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$gb,$z))$F=$Ta[$z[1]][-1];return$F;}function
  1028. engines(){$F=array();foreach(get_rows("SHOW ENGINES")as$G){if(ereg("YES|DEFAULT",$G["Support"]))$F[]=$G["Engine"];}return$F;}function
  1029. logged_user(){global$g;return$g->result("SELECT USER()");}function
  1030. tables_list(){global$g;return
  1031. get_key_vals("SHOW".($g->server_info>=5?" FULL":"")." TABLES");}function
  1032. count_tables($i){$F=array();foreach($i
  1033. as$j)$F[$j]=count(get_vals("SHOW TABLES IN ".idf_escape($j)));return$F;}function
  1034. 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
  1035. is_view($O){return!isset($O["Rows"]);}function
  1036. fk_support($O){return
  1037. eregi("InnoDB|IBMDB2I",$O["Engine"]);}function
  1038. 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
  1039. 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
  1040. foreign_keys($N){global$g,$Ld;static$oe='`(?:[^`]|``)+`';$F=array();$hb=$g->result("SHOW CREATE TABLE ".table($N),1);if($hb){preg_match_all("~CONSTRAINT ($oe) FOREIGN KEY \\(((?:$oe,? ?)+)\\) REFERENCES ($oe)(?:\\.($oe))? \\(((?:$oe,? ?)+)\\)(?: ON DELETE ($Ld))?(?: ON UPDATE ($Ld))?~",$hb,$jd,PREG_SET_ORDER);foreach($jd
  1041. as$z){preg_match_all("~$oe~",$z[2],$jf);preg_match_all("~$oe~",$z[5],$Ef);$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',$jf[0]),"target"=>array_map('idf_unescape',$Ef[0]),"on_delete"=>($z[6]?$z[6]:"RESTRICT"),"on_update"=>($z[7]?$z[7]:"RESTRICT"),);}}return$F;}function
  1042. view($_){global$g;return
  1043. array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$g->result("SHOW CREATE VIEW ".table($_),1)));}function
  1044. 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
  1045. as$v=>$W)asort($F[$v]);return$F;}function
  1046. information_schema($j){global$g;return($g->server_info>=5&&$j=="information_schema");}function
  1047. error(){global$g;return
  1048. h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
  1049. error_line(){global$g;if(ereg(' at line ([0-9]+)$',$g->error,$Ne))return$Ne[1]-1;}function
  1050. exact_value($W){return
  1051. q($W)." COLLATE utf8_bin";}function
  1052. create_database($j,$d){set_session("dbs",null);return
  1053. queries("CREATE DATABASE ".idf_escape($j).($d?" COLLATE ".q($d):""));}function
  1054. drop_databases($i){set_session("dbs",null);return
  1055. apply_queries("DROP DATABASE",$i,'idf_escape');}function
  1056. rename_database($_,$d){if(create_database($_,$d)){$Oe=array();foreach(tables_list()as$N=>$S)$Oe[]=table($N)." TO ".idf_escape($_).".".table($N);if(!$Oe||queries("RENAME TABLE ".implode(", ",$Oe))){queries("DROP DATABASE ".idf_escape(DB));return
  1057. true;}}return
  1058. false;}function
  1059. auto_increment(){$Ca=" 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)){$Ca="";break;}if($s["type"]=="PRIMARY")$Ca=" UNIQUE";}}return" AUTO_INCREMENT$Ca";}function
  1060. alter_table($N,$_,$m,$ic,$Xa,$Jb,$d,$Ba,$le){$c=array();foreach($m
  1061. 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,$ic);$nf="COMMENT=".q($Xa).($Jb?" ENGINE=".q($Jb):"").($d?" COLLATE ".q($d):"").($Ba!=""?" AUTO_INCREMENT=$Ba":"").$le;if($N=="")return
  1062. queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n) $nf");if($N!=$_)$c[]="RENAME TO ".table($_);$c[]=$nf;return
  1063. queries("ALTER TABLE ".table($N)."\n".implode(",\n",$c));}function
  1064. alter_indexes($N,$c){foreach($c
  1065. 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
  1066. queries("ALTER TABLE ".table($N).implode(",",$c));}function
  1067. truncate_tables($P){return
  1068. apply_queries("TRUNCATE TABLE",$P);}function
  1069. drop_views($Y){return
  1070. queries("DROP VIEW ".implode(", ",array_map('table',$Y)));}function
  1071. drop_tables($P){return
  1072. queries("DROP TABLE ".implode(", ",array_map('table',$P)));}function
  1073. move_tables($P,$Y,$Ef){$Oe=array();foreach(array_merge($P,$Y)as$N)$Oe[]=table($N)." TO ".idf_escape($Ef).".".table($N);return
  1074. queries("RENAME TABLE ".implode(", ",$Oe));}function
  1075. copy_tables($P,$Y,$Ef){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($P
  1076. as$N){$_=($Ef==DB?table("copy_$N"):idf_escape($Ef).".".table($N));if(!queries("DROP TABLE IF EXISTS $_")||!queries("CREATE TABLE $_ LIKE ".table($N))||!queries("INSERT INTO $_ SELECT * FROM ".table($N)))return
  1077. false;}foreach($Y
  1078. as$N){$_=($Ef==DB?table("copy_$N"):idf_escape($Ef).".".table($N));$og=view($N);if(!queries("DROP VIEW IF EXISTS $_")||!queries("CREATE VIEW $_ AS $og[select]"))return
  1079. false;}return
  1080. true;}function
  1081. trigger($_){if($_=="")return
  1082. array();$H=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($_));return
  1083. reset($H);}function
  1084. 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
  1085. trigger_options(){return
  1086. array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW"),);}function
  1087. routine($_,$S){global$g,$Lb,$Ic,$T;$va=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$Yf="((".implode("|",array_merge(array_keys($T),$va)).")\\b(?:\\s*\\(((?:[^'\")]*|$Lb)+)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$oe="\\s*(".($S=="FUNCTION"?"":$Ic).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Yf";$gb=$g->result("SHOW CREATE $S ".idf_escape($_),2);preg_match("~\\(((?:$oe\\s*,?)*)\\)\\s*".($S=="FUNCTION"?"RETURNS\\s+$Yf\\s+":"")."(.*)~is",$gb,$z);$m=array();preg_match_all("~$oe\\s*,?~is",$z[1],$jd,PREG_SET_ORDER);foreach($jd
  1088. as$ge){$_=str_replace("``","`",$ge[2]).$ge[3];$m[]=array("field"=>$_,"type"=>strtolower($ge[5]),"length"=>preg_replace_callback("~$Lb~s",'normalize_enum',$ge[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$ge[8] $ge[7]"))),"full_type"=>$ge[4],"inout"=>strtoupper($ge[1]),"collation"=>strtolower($ge[9]),);}if($S!="FUNCTION")return
  1089. array("fields"=>$m,"definition"=>$z[11]);return
  1090. array("fields"=>$m,"returns"=>array("type"=>$z[12],"length"=>$z[13],"unsigned"=>$z[15],"collation"=>$z[16]),"definition"=>$z[17],"language"=>"SQL",);}function
  1091. routines(){return
  1092. get_rows("SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
  1093. routine_languages(){return
  1094. array();}function
  1095. begin(){return
  1096. queries("BEGIN");}function
  1097. insert_into($N,$K){return
  1098. queries("INSERT INTO ".table($N)." (".implode(", ",array_keys($K)).")\nVALUES (".implode(", ",$K).")");}function
  1099. insert_update($N,$K,$xe){foreach($K
  1100. as$v=>$W)$K[$v]="$v = $W";$gg=implode(", ",$K);return
  1101. queries("INSERT INTO ".table($N)." SET $gg ON DUPLICATE KEY UPDATE $gg");}function
  1102. last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
  1103. explain($g,$D){return$g->query("EXPLAIN $D");}function
  1104. found_rows($O,$Z){return($Z||$O["Engine"]!="InnoDB"?null:$O["Rows"]);}function
  1105. types(){return
  1106. array();}function
  1107. schemas(){return
  1108. array();}function
  1109. get_schema(){return"";}function
  1110. set_schema($Ze){return
  1111. true;}function
  1112. create_sql($N,$Ba){global$g;$F=$g->result("SHOW CREATE TABLE ".table($N),1);if(!$Ba)$F=preg_replace('~ AUTO_INCREMENT=\\d+~','',$F);return$F;}function
  1113. truncate_sql($N){return"TRUNCATE ".table($N);}function
  1114. use_sql($nb){return"USE ".idf_escape($nb);}function
  1115. 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
  1116. show_variables(){return
  1117. get_key_vals("SHOW VARIABLES");}function
  1118. process_list(){return
  1119. get_rows("SHOW FULL PROCESSLIST");}function
  1120. show_status(){return
  1121. get_key_vals("SHOW STATUS");}function
  1122. support($cc){global$g;return!ereg("scheme|sequence|type".($g->server_info<5.1?"|event|partitioning".($g->server_info<5?"|view|routine|trigger":""):""),$cc);}$u="sql";$T=array();$qf=array();foreach(array(lang(13)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(14)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(15)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(16)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(19)=>array("enum"=>65535,"set"=>64),)as$v=>$W){$T+=$W;$qf[$v]=array_keys($W);}$fg=array("unsigned","zerofill","unsigned zerofill");$Pd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","");$rc=array("char_length","date","from_unixtime","hex","lower","round","sec_to_time","time_to_sec","upper");$wc=array("avg","count","count distinct","group_concat","max","min","sum");$Cb=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.5.1";class
  1123. Adminer{var$operators;function
  1124. name(){return"<a href='http://www.adminer.org/' id='h1'>Adminer</a>";}function
  1125. credentials(){return
  1126. array(SERVER,$_GET["username"],get_session("pwds"));}function
  1127. permanentLogin(){return
  1128. password_file();}function
  1129. database(){return
  1130. DB;}function
  1131. databases($hc=true){return
  1132. get_databases($hc);}function
  1133. headers(){return
  1134. true;}function
  1135. head(){return
  1136. true;}function
  1137. loginForm(){global$xb;echo'<table cellspacing="0">
  1138. <tr><th>',lang(20),'<td>',html_select("auth[driver]",$xb,DRIVER,"loginDriver(this);"),'<tr><th>',lang(21),'<td><input name="auth[server]" value="',h(SERVER),'" title="hostname[:port]">
  1139. <tr><th>',lang(22),'<td><input id="username" name="auth[username]" value="',h($_GET["username"]),'">
  1140. <tr><th>',lang(23),'<td><input type="password" name="auth[password]">
  1141. <tr><th>',lang(24),'<td><input name="auth[db]" value="',h($_GET["db"]);?>">
  1142. </table>
  1143. <script type="text/javascript">
  1144. var username = document.getElementById('username');
  1145. username.focus();
  1146. username.form['auth[driver]'].onchange();
  1147. </script>
  1148. <?php
  1149. echo"<p><input type='submit' value='".lang(25)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(26))."\n";}function
  1150. login($gd,$B){return
  1151. true;}function
  1152. tableName($xf){return
  1153. h($xf["Name"]);}function
  1154. fieldName($l,$Td=0){return'<span title="'.h($l["full_type"]).'">'.h($l["field"]).'</span>';}function
  1155. selectLinks($xf,$K=""){echo'<p class="tabs">';$ed=array("select"=>lang(27),"table"=>lang(28));if(is_view($xf))$ed["view"]=lang(29);else$ed["create"]=lang(30);if($K!==null)$ed["edit"]=lang(31);foreach($ed
  1156. as$v=>$W)echo" <a href='".h(ME)."$v=".urlencode($xf["Name"]).($v=="edit"?$K:"")."'".bold(isset($_GET[$v])).">$W</a>";echo"\n";}function
  1157. foreignKeys($N){return
  1158. foreign_keys($N);}function
  1159. backwardKeys($N,$wf){return
  1160. array();}function
  1161. backwardKeysPrint($Ea,$G){}function
  1162. selectQuery($D){global$u;return"<p><a href='".h(remove_from_uri("page"))."&amp;page=last' title='".lang(32)."'>&gt;&gt;</a> <code class='jush-$u'>".h(str_replace("\n"," ",$D))."</code> <a href='".h(ME)."sql=".urlencode($D)."'>".lang(33)."</a></p>\n";}function
  1163. rowDescription($N){return"";}function
  1164. rowDescriptions($H,$jc){return$H;}function
  1165. selectVal($W,$y,$l){$F=($W===null?"<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(34,strlen($W));return($y?"<a href='$y'>$F</a>":$F);}function
  1166. editVal($W,$l){return(ereg("binary",$l["type"])?reset(unpack("H*",$W)):$W);}function
  1167. selectColumnsPrint($I,$f){global$rc,$wc;print_fieldset("select",lang(35),$I);$p=0;$qc=array(lang(36)=>$rc,lang(37)=>$wc);foreach($I
  1168. as$v=>$W){$W=$_GET["columns"][$v];echo"<div>".html_select("columns[$p][fun]",array(-1=>"")+$qc,$W["fun"]),"(<select name='columns[$p][col]' onchange='selectFieldChange(this.form);'><option>".optionlist($f,$W["col"],true)."</select>)</div>\n";$p++;}echo"<div>".html_select("columns[$p][fun]",array(-1=>"")+$qc,"","this.nextSibling.nextSibling.onchange();"),"(<select name='columns[$p][col]' onchange='selectAddRow(this);'><option>".optionlist($f,null,true)."</select>)</div>\n","</div></fieldset>\n";}function
  1169. selectSearchPrint($Z,$f,$t){print_fieldset("search",lang(38),$Z);foreach($t
  1170. 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])."' onchange='selectFieldChange(this.form);'>",checkbox("boolean[$p]",1,isset($_GET["boolean"][$p]),"BOOL"),"<br>\n";}}$_GET["where"]=(array)$_GET["where"];reset($_GET["where"]);$Ma="this.nextSibling.onchange();";for($p=0;$p<=count($_GET["where"]);$p++){list(,$W)=each($_GET["where"]);if(!$W||("$W[col]$W[val]"!=""&&in_array($W["op"],$this->operators))){echo"<div><select name='where[$p][col]' onchange='$Ma'><option value=''>(".lang(39).")".optionlist($f,$W["col"],true)."</select>",html_select("where[$p][op]",$this->operators,$W["op"],$Ma),"<input name='where[$p][val]' value='".h($W["val"])."' onchange='".($W?"selectFieldChange(this.form)":"selectAddRow(this)").";'></div>\n";}}echo"</div></fieldset>\n";}function
  1171. selectOrderPrint($Td,$f,$t){print_fieldset("sort",lang(40),$Td);$p=0;foreach((array)$_GET["order"]as$v=>$W){if(isset($f[$W])){echo"<div><select name='order[$p]' onchange='selectFieldChange(this.form);'><option>".optionlist($f,$W,true)."</select>",checkbox("desc[$p]",1,isset($_GET["desc"][$v]),lang(41))."</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(41)."</label></div>\n";echo"</div></fieldset>\n";}function
  1172. selectLimitPrint($x){echo"<fieldset><legend>".lang(42)."</legend><div>";echo"<input name='limit' size='3' value='".h($x)."' onchange='selectFieldChange(this.form);'>","</div></fieldset>\n";}function
  1173. selectLengthPrint($Hf){if($Hf!==null){echo"<fieldset><legend>".lang(43)."</legend><div>",'<input name="text_length" size="3" value="'.h($Hf).'">',"</div></fieldset>\n";}}function
  1174. selectActionPrint($t){echo"<fieldset><legend>".lang(44)."</legend><div>","<input type='submit' value='".lang(35)."'>"," <span id='noindex' title='".lang(45)."'></span>","<script type='text/javascript'>\n","var indexColumns = ";$f=array();foreach($t
  1175. as$s){if($s["type"]!="FULLTEXT")$f[reset($s["columns"])]=1;}$f[""]=1;foreach($f
  1176. as$v=>$W)json_row($v);echo";\n","selectFieldChange(document.getElementById('form'));\n","</script>\n","</div></fieldset>\n";}function
  1177. selectCommandPrint(){return!information_schema(DB);}function
  1178. selectImportPrint(){return
  1179. true;}function
  1180. selectEmailPrint($Fb,$f){}function
  1181. selectColumnsProcess($f,$t){global$rc,$wc;$I=array();$uc=array();foreach((array)$_GET["columns"]as$v=>$W){if($W["fun"]=="count"||(isset($f[$W["col"]])&&(!$W["fun"]||in_array($W["fun"],$rc)||in_array($W["fun"],$wc)))){$I[$v]=apply_sql_function($W["fun"],(isset($f[$W["col"]])?idf_escape($W["col"]):"*"));if(!in_array($W["fun"],$wc))$uc[]=$I[$v];}}return
  1182. array($I,$uc);}function
  1183. selectSearchProcess($m,$t){global$u;$F=array();foreach($t
  1184. 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)){$ab=" $W[op]";if(ereg('IN$',$W["op"])){$Dc=process_length($W["val"]);$ab.=" (".($Dc!=""?$Dc:"NULL").")";}elseif(!$W["op"])$ab.=$W["val"];elseif($W["op"]=="LIKE %%")$ab=" LIKE ".$this->processInput($m[$W["col"]],"%$W[val]%");elseif(!ereg('NULL$',$W["op"]))$ab.=" ".$this->processInput($m[$W["col"]],$W["val"]);if($W["col"]!="")$F[]=idf_escape($W["col"]).$ab;else{$Ua=array();foreach($m
  1185. as$_=>$l){if(is_numeric($W["val"])||!ereg('int|float|double|decimal|bit',$l["type"])){$_=idf_escape($_);$Ua[]=($u=="sql"&&ereg('char|text|enum|set',$l["type"])&&!ereg('^utf8',$l["collation"])?"CONVERT($_ USING utf8)":$_);}}$F[]=($Ua?"(".implode("$ab OR ",$Ua)."$ab)":"0");}}}return$F;}function
  1186. 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
  1187. selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"30");}function
  1188. selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
  1189. selectEmailProcess($Z,$jc){return
  1190. false;}function
  1191. messageQuery($D){global$u;static$fb=0;restart_session();$q="sql-".($fb++);$yc=&get_session("queries");if(strlen($D)>1e6)$D=ereg_replace('[\x80-\xFF]+$','',substr($D,0,1e6))."\n...";$yc[$_GET["db"]][]=array($D,time());return" <span class='time'>".@date("H:i:s")."</span> <a href='#$q' onclick=\"return !toggle('$q');\">".lang(46)."</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($yc[$_GET["db"]])-1)).'">'.lang(33).'</a></div>';}function
  1192. editFunctions($l){global$Cb;$F=($l["null"]?"NULL/":"");foreach($Cb
  1193. as$v=>$rc){if(!$v||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($rc
  1194. as$oe=>$W){if(!$oe||ereg($oe,$l["type"]))$F.="/$W";}if($v&&!ereg('set|blob|bytea|raw|file',$l["type"]))$F.="/=";}}return
  1195. explode("/",$F);}function
  1196. editInput($N,$l,$_a,$X){if($l["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$_a value='-1' checked><i>".lang(5)."</i></label> ":"").($l["null"]?"<label><input type='radio'$_a value=''".($X!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$_a,$l,$X,0);return"";}function
  1197. 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
  1198. dumpOutput(){$F=array('text'=>lang(47),'file'=>lang(48));if(function_exists('gzencode'))$F['gz']='gzip';if(function_exists('bzcompress'))$F['bz2']='bzip2';return$F;}function
  1199. dumpFormat(){return
  1200. array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
  1201. dumpTable($N,$M,$Nc=false){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($M)dump_csv(array_keys(fields($N)));}elseif($M){$gb=create_sql($N,$_POST["auto_increment"]);if($gb){if($M=="DROP+CREATE")echo"DROP ".($Nc?"VIEW":"TABLE")." IF EXISTS ".table($N).";\n";if($Nc)$gb=remove_definer($gb);echo($M!="CREATE+ALTER"?$gb:($Nc?substr_replace($gb," OR REPLACE",6,0):substr_replace($gb," IF NOT EXISTS",12,0))).";\n\n";}if($M=="CREATE+ALTER"&&!$Nc){$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 ;;
  1202. CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
  1203. DECLARE _column_name, _collation_name, after varchar(64) DEFAULT '';
  1204. DECLARE _column_type, _column_default text;
  1205. DECLARE _is_nullable char(3);
  1206. DECLARE _extra varchar(30);
  1207. DECLARE _column_comment varchar(255);
  1208. DECLARE done, set_after bool DEFAULT 0;
  1209. DECLARE add_columns text DEFAULT '";$m=array();$ua="";foreach(get_rows($D)as$G){$qb=$G["COLUMN_DEFAULT"];$G["default"]=($qb!==null?q($qb):"NULL");$G["after"]=q($ua);$G["alter"]=escape_string(idf_escape($G["COLUMN_NAME"])." $G[COLUMN_TYPE]".($G["COLLATION_NAME"]?" COLLATE $G[COLLATION_NAME]":"").($qb!==null?" DEFAULT ".($qb=="CURRENT_TIMESTAMP"?$qb:$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"';
  1210. DECLARE columns CURSOR FOR $D;
  1211. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  1212. SET @alter_table = '';
  1213. OPEN columns;
  1214. REPEAT
  1215. FETCH columns INTO _column_name, _column_default, _is_nullable, _collation_name, _column_type, _extra, _column_comment;
  1216. IF NOT done THEN
  1217. SET set_after = 1;
  1218. CASE _column_name";foreach($m
  1219. as$G)echo"
  1220. WHEN ".q($G["COLUMN_NAME"])." THEN
  1221. SET add_columns = REPLACE(add_columns, ', ADD $G[alter]', IF(
  1222. _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]
  1223. , '', ', MODIFY $G[alter]'));";echo"
  1224. ELSE
  1225. SET @alter_table = CONCAT(@alter_table, ', DROP ', _column_name);
  1226. SET set_after = 0;
  1227. END CASE;
  1228. IF set_after THEN
  1229. SET after = _column_name;
  1230. END IF;
  1231. END IF;
  1232. UNTIL done END REPEAT;
  1233. CLOSE columns;
  1234. IF @alter_table != '' OR add_columns != '' THEN
  1235. SET alter_command = CONCAT(alter_command, 'ALTER TABLE ".table($N)."', SUBSTR(CONCAT(add_columns, @alter_table), 2), ';\\n');
  1236. END IF;
  1237. END;;
  1238. DELIMITER ;
  1239. CALL adminer_alter(@adminer_alter);
  1240. DROP PROCEDURE adminer_alter;
  1241. ";}}}function
  1242. dumpData($N,$M,$D){global$g,$u;$ld=($u=="sqlite"?0:1048576);if($M){if($_POST["format"]=="sql"&&$M=="TRUNCATE+INSERT")echo
  1243. truncate_sql($N).";\n";if($_POST["format"]=="sql")$m=fields($N);$E=$g->query($D,1);if($E){$Kc="";$Ka="";$Sc=array();while($G=$E->fetch_row()){if(!$Sc){foreach($G
  1244. as$W){$l=$E->fetch_field();$Sc[]=$l->name;}}if($_POST["format"]!="sql"){if($M=="table"){dump_csv($Sc);$M="INSERT";}dump_csv($G);}else{if(!$Kc)$Kc="INSERT INTO ".table($N)." (".implode(", ",array_map('idf_escape',$Sc)).") VALUES";foreach($G
  1245. as$v=>$W)$G[$v]=($W!==null?(ereg('int|float|double|decimal|bit',$m[$Sc[$v]]["type"])?$W:q($W)):"NULL");$Xe=implode(",\t",$G);if($M=="INSERT+UPDATE"){$K=array();foreach($G
  1246. as$v=>$W)$K[]=idf_escape($Sc[$v])." = $W";echo"$Kc ($Xe) ON DUPLICATE KEY UPDATE ".implode(", ",$K).";\n";}else{$Xe=($ld?"\n":" ")."($Xe)";if(!$Ka)$Ka=$Kc.$Xe;elseif(strlen($Ka)+4+strlen($Xe)<$ld)$Ka.=",$Xe";else{echo"$Ka;\n";$Ka=$Kc.$Xe;}}}}if($_POST["format"]=="sql"&&$M!="INSERT+UPDATE"&&$Ka){$Ka.=";\n";echo$Ka;}}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
  1247. dumpFilename($Bc){return
  1248. friendly_url($Bc!=""?$Bc:(SERVER!=""?SERVER:"localhost"));}function
  1249. dumpHeaders($Bc,$yd=false){$de=$_POST["output"];$Yb=($_POST["format"]=="sql"?"sql":($yd?"tar":"csv"));header("Content-Type: ".($de=="bz2"?"application/x-bzip":($de=="gz"?"application/x-gzip":($Yb=="tar"?"application/x-tar":($Yb=="sql"||$de!="file"?"text/plain":"text/csv")."; charset=utf-8"))));if($de=="bz2")ob_start('bzcompress',1e6);if($de=="gz")ob_start('gzencode',1e6);return$Yb;}function
  1250. homepage(){echo'<p>'.($_GET["ns"]==""?'<a href="'.h(ME).'database=">'.lang(49)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(50):lang(51))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(52)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(53)."</a>\n":"");return
  1251. true;}function
  1252. navigation($xd){global$ia,$g,$Q,$u,$xb;echo'<h1>
  1253. ',$this->name(),' <span class="version">',$ia,'</span>
  1254. <a href="http://www.adminer.org/#download" id="version">',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
  1255. </h1>
  1256. ';if($xd=="auth"){$gc=true;foreach((array)$_SESSION["pwds"]as$wb=>$hf){foreach($hf
  1257. as$J=>$kg){foreach($kg
  1258. as$U=>$B){if($B!==null){if($gc){echo"<p id='logins' onmouseover='menuOver(this);' onmouseout='menuOut(this);'>\n";$gc=false;}echo"<a href='".h(auth_url($wb,$J,$U))."'>($xb[$wb]) ".h($U.($J!=""?"@$J":""))."</a><br>\n";}}}}}else{$i=$this->databases();echo'<form action="" method="post">
  1259. <p class="logout">
  1260. ';if(DB==""||!$xd){echo"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])).">".lang(46)."</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(54)."</a>\n";}echo'<input type="submit" name="logout" value="',lang(55),'">
  1261. <input type="hidden" name="token" value="',$Q,'">
  1262. </p>
  1263. </form>
  1264. <form action="">
  1265. <p id="dbs">
  1266. ';hidden_fields_get();echo($i?html_select("db",array(""=>"(".lang(56).")")+$i,DB,"this.form.submit();"):'<input name="db" value="'.h(DB).'">'),'<input type="submit" value="',lang(9),'"',($i?" class='hidden'":""),'>
  1267. ';if($xd!="db"&&DB!=""&&$g->select_db(DB)){if(support("scheme")){echo"<br>".html_select("ns",array(""=>"(".lang(57).")")+schemas(),$_GET["ns"],"this.form.submit();");if($_GET["ns"]!="")set_schema($_GET["ns"]);}}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";if($_GET["ns"]!==""&&!$xd&&DB!=""){echo'<p><a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(58)."</a>\n";$P=tables_list();if(!$P)echo"<p class='message'>".lang(6)."\n";else{$this->tablesPrint($P);$ed=array();foreach($P
  1268. as$N=>$S)$ed[]=preg_quote($N,'/');echo"<script type='text/javascript'>\n","var jushLinks = { $u: [ '".js_escape(ME)."table=\$&', /\\b(".implode("|",$ed).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$W)echo"jushLinks.$W = jushLinks.$u;\n";echo"</script>\n";}}}}function
  1269. tablesPrint($P){echo"<p id='tables' onmouseover='menuOver(this);' onmouseout='menuOut(this);'>\n";foreach($P
  1270. as$N=>$S){echo'<a href="'.h(ME).'select='.urlencode($N).'"'.bold($_GET["select"]==$N).">".lang(59)."</a> ",'<a href="'.h(ME).'table='.urlencode($N).'"'.bold($_GET["table"]==$N)." title='".lang(28)."'>".$this->tableName(array("Name"=>$N))."</a><br>\n";}}}$b=(function_exists('adminer_object')?adminer_object():new
  1271. Adminer);if($b->operators===null)$b->operators=$Pd;function
  1272. page_header($Kf,$k="",$Ja=array(),$Lf=""){global$ca,$b,$g,$xb;header("Content-Type: text/html; charset=utf-8");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}$Mf=$Kf.($Lf!=""?": ".h($Lf):"");$Nf=strip_tags($Mf.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  1273. <html lang="',$ca,'" dir="',lang(60),'">
  1274. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  1275. <meta http-equiv="Content-Script-Type" content="text/javascript">
  1276. <meta name="robots" content="noindex">
  1277. <title>',$Nf,'</title>
  1278. <link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME))."?file=default.css&amp;version=3.5.1",'">
  1279. <script type="text/javascript" src="',h(preg_replace("~\\?.*~","",ME))."?file=functions.js&amp;version=3.5.1",'"></script>
  1280. ';if($b->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&amp;version=3.5.1",'" id="favicon">
  1281. ';if(file_exists("adminer.css")){echo'<link rel="stylesheet" type="text/css" href="adminer.css">
  1282. ';}}echo'
  1283. <body class="',lang(60),' nojs" onkeydown="bodyKeydown(event);" onload="bodyLoad(\'',(is_object($g)?substr($g->server_info,0,3):""),'\');',(isset($_COOKIE["adminer_version"])?"":" verifyVersion();"),'">
  1284. <script type="text/javascript">
  1285. document.body.className = document.body.className.replace(/ nojs/, \' js\');
  1286. </script>
  1287. <div id="content">
  1288. ';if($Ja!==null){$y=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($y?$y:".").'">'.$xb[DRIVER].'</a> &raquo; ';$y=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$J=(SERVER!=""?h(SERVER):lang(21));if($Ja===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($Ja)))echo'<a href="'.h($y."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';if(is_array($Ja)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';foreach($Ja
  1289. as$v=>$W){$sb=(is_array($W)?$W[1]:$W);if($sb!="")echo'<a href="'.h(ME."$v=").urlencode(is_array($W)?$W[0]:$W).'">'.h($sb).'</a> &raquo; ';}}echo"$Kf\n";}}echo"<h2>$Mf</h2>\n";restart_session();$hg=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$ud=$_SESSION["messages"][$hg];if($ud){echo"<div class='message'>".implode("</div>\n<div class='message'>",$ud)."</div>\n";unset($_SESSION["messages"][$hg]);}$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
  1290. page_footer($xd=""){global$b;echo'</div>
  1291. ';switch_lang();echo'<div id="menu">
  1292. ';$b->navigation($xd);echo'</div>
  1293. ';}function
  1294. int32($_d){while($_d>=2147483648)$_d-=4294967296;while($_d<=-2147483649)$_d+=4294967296;return(int)$_d;}function
  1295. long2str($V,$qg){$Xe='';foreach($V
  1296. as$W)$Xe.=pack('V',$W);if($qg)return
  1297. substr($Xe,0,end($V));return$Xe;}function
  1298. str2long($Xe,$qg){$V=array_values(unpack('V*',str_pad($Xe,4*ceil(strlen($Xe)/4),"\0")));if($qg)$V[]=strlen($Xe);return$V;}function
  1299. xxtea_mx($ug,$tg,$uf,$Qc){return
  1300. int32((($ug>>5&0x7FFFFFF)^$tg<<2)+(($tg>>3&0x1FFFFFFF)^$ug<<4))^int32(($uf^$tg)+($Qc^$ug));}function
  1301. encrypt_string($pf,$v){if($pf=="")return"";$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($pf,true);$_d=count($V)-1;$ug=$V[$_d];$tg=$V[0];$C=floor(6+52/($_d+1));$uf=0;while($C-->0){$uf=int32($uf+0x9E3779B9);$Bb=$uf>>2&3;for($ee=0;$ee<$_d;$ee++){$tg=$V[$ee+1];$zd=xxtea_mx($ug,$tg,$uf,$v[$ee&3^$Bb]);$ug=int32($V[$ee]+$zd);$V[$ee]=$ug;}$tg=$V[0];$zd=xxtea_mx($ug,$tg,$uf,$v[$ee&3^$Bb]);$ug=int32($V[$_d]+$zd);$V[$_d]=$ug;}return
  1302. long2str($V,false);}function
  1303. decrypt_string($pf,$v){if($pf=="")return"";$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($pf,false);$_d=count($V)-1;$ug=$V[$_d];$tg=$V[0];$C=floor(6+52/($_d+1));$uf=int32($C*0x9E3779B9);while($uf){$Bb=$uf>>2&3;for($ee=$_d;$ee>0;$ee--){$ug=$V[$ee-1];$zd=xxtea_mx($ug,$tg,$uf,$v[$ee&3^$Bb]);$tg=int32($V[$ee]-$zd);$V[$ee]=$tg;}$ug=$V[$_d];$zd=xxtea_mx($ug,$tg,$uf,$v[$ee&3^$Bb]);$tg=int32($V[0]-$zd);$V[0]=$tg;$uf=int32($uf-0x9E3779B9);}return
  1304. long2str($V,true);}$g='';$Q=$_SESSION["token"];if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);$pe=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$W){list($v)=explode(":",$W);$pe[$v]=$W;}}$Aa=$_POST["auth"];if($Aa){session_regenerate_id();$_SESSION["pwds"][$Aa["driver"]][$Aa["server"]][$Aa["username"]]=$Aa["password"];if($Aa["permanent"]){$v=base64_encode($Aa["driver"])."-".base64_encode($Aa["server"])."-".base64_encode($Aa["username"]);$_e=$b->permanentLogin();$pe[$v]="$v:".base64_encode($_e?encrypt_string($Aa["password"],$_e):"");cookie("adminer_permanent",implode(" ",$pe));}if(count($_POST)==1||DRIVER!=$Aa["driver"]||SERVER!=$Aa["server"]||$_GET["username"]!==$Aa["username"]||DB!=$Aa["db"])redirect(auth_url($Aa["driver"],$Aa["server"],$Aa["username"],$Aa["db"]));}elseif($_POST["logout"]){if($Q&&$_POST["token"]!=$Q){page_header(lang(55),lang(61));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($pe[$v]){unset($pe[$v]);cookie("adminer_permanent",implode(" ",$pe));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(62));}}elseif($pe&&!$_SESSION["pwds"]){session_regenerate_id();$_e=$b->permanentLogin();foreach($pe
  1305. as$v=>$W){list(,$Qa)=explode(":",$W);list($wb,$J,$U)=array_map('base64_decode',explode("-",$v));$_SESSION["pwds"][$wb][$J][$U]=decrypt_string(base64_decode($Qa),$_e);}}function
  1306. auth_error($Sb=null){global$g,$b,$Q;$if=session_name();$k="";if(!$_COOKIE[$if]&&$_GET[$if]&&ini_bool("session.use_only_cookies"))$k=lang(63);elseif(isset($_GET["username"])){if(($_COOKIE[$if]||$_GET[$if])&&!$Q)$k=lang(64);else{$B=&get_session("pwds");if($B!==null){$k=h($Sb?$Sb->getMessage():(is_string($g)?$g:lang(65)));$B=null;}}}page_header(lang(25),$k,null);echo"<form action='' method='post'>\n";$b->loginForm();echo"<div>";hidden_fields($_POST,array("auth"));echo"</div>\n","</form>\n";page_footer("auth");}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);page_header(lang(66),lang(67,implode(", ",$ue)),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($Aa&&$_POST["token"])$_POST["token"]=$Q;$k=($_POST?($_POST["token"]==$Q?"":lang(61)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(68,'"post_max_size"')));function
  1307. connect_error(){global$b,$g,$Q,$k,$xb;$i=array();if(DB!="")page_header(lang(24).": ".h(DB),lang(69),true);else{if($_POST["db"]&&!$k)queries_redirect(substr(ME,0,-1),lang(70),drop_databases($_POST["db"]));page_header(lang(71),$k,false);echo"<p><a href='".h(ME)."database='>".lang(72)."</a>\n";foreach(array('privileges'=>lang(53),'processlist'=>lang(73),'variables'=>lang(74),'status'=>lang(75),)as$v=>$W){if(support($v))echo"<a href='".h(ME)."$v='>$W</a>\n";}echo"<p>".lang(76,$xb[DRIVER],"<b>$g->server_info</b>","<b>$g->extension</b>")."\n","<p>".lang(77,"<b>".h(logged_user())."</b>")."\n";if($_GET["refresh"])set_session("dbs",null);$i=$b->databases();if($i){$af=support("scheme");$Ta=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable' onclick='tableClick(event);'>\n","<thead><tr><td>&nbsp;<th>".lang(24)."<td>".lang(78)."<td>".lang(79)."</thead>\n";foreach($i
  1308. as$j){$Se=h(ME)."db=".urlencode($j);echo"<tr".odd()."><td>".checkbox("db[]",$j,in_array($j,(array)$_POST["db"])),"<th><a href='$Se'>".h($j)."</a>","<td><a href='$Se".($af?"&amp;ns=":"")."&amp;database=' title='".lang(49)."'>".nbsp(db_collation($j,$Ta))."</a>","<td align='right'><a href='$Se&amp;schema=' id='tables-".h($j)."' title='".lang(52)."'>?</a>","\n";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n","<p><input type='submit' name='drop' value='".lang(80)."'".confirm("formChecked(this, /db/)").">\n","<input type='hidden' name='token' value='$Q'>\n","<a href='".h(ME)."refresh=1'>".lang(81)."</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(82).": ".h($_GET["ns"]),lang(83),true);page_footer("ns");exit;}}function
  1309. select($E,$h=null,$Ac="",$Wd=array()){$ed=array();$t=array();$f=array();$Ha=array();$T=array();$F=array();odd('');for($p=0;$G=$E->fetch_row();$p++){if(!$p){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($Oc=0;$Oc<count($G);$Oc++){$l=$E->fetch_field();$_=$l->name;$Vd=$l->orgtable;$Ud=$l->orgname;$F[$l->table]=$Vd;if($Ac)$ed[$Oc]=($_=="table"?"table=":($_=="possible_keys"?"indexes=":null));elseif($Vd!=""){if(!isset($t[$Vd])){$t[$Vd]=array();foreach(indexes($Vd,$h)as$s){if($s["type"]=="PRIMARY"){$t[$Vd]=array_flip($s["columns"]);break;}}$f[$Vd]=$t[$Vd];}if(isset($f[$Vd][$Ud])){unset($f[$Vd][$Ud]);$t[$Vd][$Ud]=$Oc;$ed[$Oc]=$Vd;}}if($l->charsetnr==63)$Ha[$Oc]=true;$T[$Oc]=$l->type;$_=h($_);echo"<th".($Vd!=""||$l->name!=$Ud?" title='".h(($Vd!=""?"$Vd.":"").$Ud)."'":"").">".($Ac?"<a href='$Ac".strtolower($_)."' target='_blank' rel='noreferrer'>$_</a>":$_);}echo"</thead>\n";}echo"<tr".odd().">";foreach($G
  1310. as$v=>$W){if($W===null)$W="<i>NULL</i>";elseif($Ha[$v]&&!is_utf8($W))$W="<i>".lang(34,strlen($W))."</i>";elseif(!strlen($W))$W="&nbsp;";else{$W=h($W);if($T[$v]==254)$W="<code>$W</code>";}if(isset($ed[$v])&&!$f[$ed[$v]]){if($Ac){$N=$G[array_search("table=",$ed)];$y=$ed[$v].urlencode($Wd[$N]!=""?$Wd[$N]:$N);}else{$y="edit=".urlencode($ed[$v]);foreach($t[$ed[$v]]as$Ra=>$Oc)$y.="&where".urlencode("[".bracket_escape($Ra)."]")."=".urlencode($G[$Oc]);}$W="<a href='".h(ME.$y)."'>$W</a>";}echo"<td>$W";}}echo($p?"</table>":"<p class='message'>".lang(84))."\n";return$F;}function
  1311. referencable_primary($df){$F=array();foreach(table_status()as$yf=>$N){if($yf!=$df&&fk_support($N)){foreach(fields($yf)as$l){if($l["primary"]){if($F[$yf]){unset($F[$yf]);break;}$F[$yf]=$l;}}}}return$F;}function
  1312. textarea($_,$X,$H=10,$Ua=80){echo"<textarea name='$_' rows='$H' cols='$Ua' class='sqlarea' spellcheck='false' wrap='off' onkeydown='return textareaKeydown(this, event);'>";if(is_array($X)){foreach($X
  1313. as$W)echo
  1314. h($W[0])."\n\n\n";}else
  1315. echo
  1316. h($X);echo"</textarea>";}function
  1317. format_time($mf,$Ib){return" <span class='time'>(".lang(85,max(0,array_sum(explode(" ",$Ib))-array_sum(explode(" ",$mf)))).")</span>";}function
  1318. edit_type($v,$l,$Ta,$kc=array()){global$qf,$T,$fg,$Ld;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"]))+$qf+($kc?array(lang(86)=>$kc):array()),$l["type"]),'</select>
  1319. <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(87).')'.optionlist($Ta,$l["collation"]).'</select>',($fg?"<select name='$v"."[unsigned]'".(!$l["type"]||ereg('(int|float|double|decimal)$',$l["type"])?"":" class='hidden'").'><option>'.optionlist($fg,$l["unsigned"]).'</select>':''),($kc?"<select name='$v"."[on_delete]'".(ereg("`",$l["type"])?"":" class='hidden'")."><option value=''>(".lang(88).")".optionlist(explode("|",$Ld),$l["on_delete"])."</select> ":" ");}function
  1320. process_length($w){global$Lb;return(preg_match("~^\\s*(?:$Lb)(?:\\s*,\\s*(?:$Lb))*\\s*\$~",$w)&&preg_match_all("~$Lb~",$w,$jd)?implode(",",$jd[0]):preg_replace('~[^0-9,+-]~','',$w));}function
  1321. process_type($l,$Sa="COLLATE"){global$fg;return" $l[type]".($l["length"]!=""?"(".process_length($l["length"]).")":"").(ereg('int|float|double|decimal',$l["type"])&&in_array($l["unsigned"],$fg)?" $l[unsigned]":"").(ereg('char|text|enum|set',$l["type"])&&$l["collation"]?" $Sa ".q($l["collation"]):"");}function
  1322. process_field($l,$Xf){return
  1323. array(idf_escape(trim($l["field"])),process_type($Xf),($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
  1324. 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
  1325. edit_fields($m,$Ta,$S="TABLE",$xa=0,$kc=array(),$Ya=false){global$Ic;echo'<thead><tr class="wrap">
  1326. ';if($S=="PROCEDURE"){echo'<td>&nbsp;';}echo'<th>',($S=="TABLE"?lang(89):lang(90)),'<td>',lang(91),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;" onblur="editingLengthBlur(this);"></textarea>
  1327. <td>',lang(92),'<td>',lang(93);if($S=="TABLE"){echo'<td>NULL
  1328. <td><input type="radio" name="auto_increment_col" value=""><acronym title="',lang(94),'">AI</acronym>
  1329. <td',($_POST["defaults"]?"":" class='hidden'"),'>',lang(95),(support("comment")?"<td".($Ya?"":" class='hidden'").">".lang(96):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($m))."]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.5.1' alt='+' title='".lang(97)."'>",'<script type="text/javascript">row_count = ',count($m),';</script>
  1330. </thead>
  1331. <tbody onkeydown="return editingKeydown(event);">
  1332. ';foreach($m
  1333. as$p=>$l){$p++;$Xd=$l[($_POST?"orig":"field")];$ub=(isset($_POST["add"][$p-1])||(isset($l["field"])&&!$_POST["drop_col"][$p]))&&(support("drop_col")||$Xd=="");echo'<tr',($ub?"":" style='display: none;'"),'>
  1334. ',($S=="PROCEDURE"?"<td>".html_select("fields[$p][inout]",explode("|",$Ic),$l["inout"]):""),'<th>';if($ub){echo'<input name="fields[',$p,'][field]" value="',h($l["field"]),'" onchange="',($l["field"]!=""||count($m)>1?"":"editingAddRow(this, $xa); "),'editingNameChange(this);" maxlength="64">';}echo'<input type="hidden" name="fields[',$p,'][orig]" value="',h($Xd),'">
  1335. ';edit_type("fields[$p]",$l,$Ta,$kc);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(); }">
  1336. <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;">
  1337. ',(support("comment")?"<td".($Ya?"":" class='hidden'")."><input name='fields[$p][comment]' value='".h($l["comment"])."' maxlength='255'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.5.1' alt='+' title='".lang(97)."' onclick='return !editingAddRow(this, $xa, 1);'>&nbsp;"."<input type='image' class='icon' name='up[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&amp;version=3.5.1' alt='^' title='".lang(98)."'>&nbsp;"."<input type='image' class='icon' name='down[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&amp;version=3.5.1' alt='v' title='".lang(99)."'>&nbsp;":""),($Xd==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$p]' src='".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&amp;version=3.5.1' alt='x' title='".lang(100)."' onclick='return !editingRemoveRow(this);'>":""),"\n";}}function
  1338. process_fields(&$m){ksort($m);$A=0;if($_POST["up"]){$Wc=0;foreach($m
  1339. as$v=>$l){if(key($_POST["up"])==$v){unset($m[$v]);array_splice($m,$Wc,0,array($l));break;}if(isset($l["field"]))$Wc=$A;$A++;}}if($_POST["down"]){$mc=false;foreach($m
  1340. as$v=>$l){if(isset($l["field"])&&$mc){unset($m[key($_POST["down"])]);array_splice($m,$A,0,array($mc));break;}if(key($_POST["down"])==$v)$mc=$l;$A++;}}$m=array_values($m);if($_POST["add"])array_splice($m,key($_POST["add"]),0,array(array()));}function
  1341. 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
  1342. grant($sc,$Be,$f,$Kd){if(!$Be)return
  1343. true;if($Be==array("ALL PRIVILEGES","GRANT OPTION"))return($sc=="GRANT"?queries("$sc ALL PRIVILEGES$Kd WITH GRANT OPTION"):queries("$sc ALL PRIVILEGES$Kd")&&queries("$sc GRANT OPTION$Kd"));return
  1344. queries("$sc ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$f, ",$Be).$f).$Kd);}function
  1345. drop_create($yb,$gb,$fd,$td,$rd,$sd,$_){if($_POST["drop"])return
  1346. query_redirect($yb,$fd,$td,true,!$_POST["dropped"]);$zb=$_!=""&&($_POST["dropped"]||queries($yb));$ib=queries($gb);if(!queries_redirect($fd,($_!=""?$rd:$sd),$ib)&&$zb)redirect(null,$td);return$zb;}function
  1347. remove_definer($D){return
  1348. preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$D);}function
  1349. tar_file($ec,$cb){$F=pack("a100a8a8a8a12a12",$ec,644,0,0,decoct(strlen($cb)),decoct(time()));$Pa=8*32;for($p=0;$p<strlen($F);$p++)$Pa+=ord($F[$p]);$F.=sprintf("%06o",$Pa)."\0 ";return$F.str_repeat("\0",512-strlen($F)).$cb.str_repeat("\0",511-(strlen($cb)+511)%
  1350. 512);}function
  1351. ini_bytes($Hc){$W=ini_get($Hc);switch(strtolower(substr($W,-1))){case'g':$W*=1024;case'm':$W*=1024;case'k':$W*=1024;}return$W;}session_cache_limiter("");if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false)session_write_close();$Ld="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";$Lb="'(?:''|[^'\\\\]|\\\\.)*+'";$Ic="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(101):lang(102)).": ".h($a),$k);$b->selectLinks($O);$Xa=$O["Comment"];if($Xa!="")echo"<p>".lang(96).": ".h($Xa)."\n";if($m){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(103)."<td>".lang(91).(support("comment")?"<td>".lang(96):"")."</thead>\n";foreach($m
  1352. 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(94)."</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(104)."</h3>\n";$t=indexes($a);if($t){echo"<table cellspacing='0'>\n";foreach($t
  1353. as$_=>$s){ksort($s["columns"]);$ze=array();foreach($s["columns"]as$v=>$W)$ze[]="<i>".h($W)."</i>".($s["lengths"][$v]?"(".$s["lengths"][$v].")":"");echo"<tr title='".h($_)."'><th>$s[type]<td>".implode(", ",$ze)."\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(105)."</a>\n";if(fk_support($O)){echo"<h3>".lang(86)."</h3>\n";$kc=foreign_keys($a);if($kc){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(106)."<td>".lang(107)."<td>".lang(88)."<td>".lang(108).($u!="sqlite"?"<td>&nbsp;":"")."</thead>\n";foreach($kc
  1354. 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",($u=="sqlite"?"":'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($_)).'">'.lang(109).'</a>');}echo"</table>\n";}if($u!="sqlite")echo'<p><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(110)."</a>\n";}if(support("trigger")){echo"<h3>".lang(111)."</h3>\n";$Wf=triggers($a);if($Wf){echo"<table cellspacing='0'>\n";foreach($Wf
  1355. 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(109)."</a>\n";echo"</table>\n";}echo'<p><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(112)."</a>\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(52),"",array(),DB.($_GET["ns"]?".$_GET[ns]":""));$_f=array();$Af=array();$_="adminer_schema";$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$_-".DB]?"$_-".DB:$_)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$jd,PREG_SET_ORDER);foreach($jd
  1356. as$p=>$z){$_f[$z[1]]=array($z[2],$z[3]);$Af[]="\n\t'".js_escape($z[1])."': [ $z[2], $z[3] ]";}$Of=0;$Ga=-1;$Ze=array();$Le=array();$ad=array();foreach(table_status()as$O){if(!isset($O["Engine"]))continue;$re=0;$Ze[$O["Name"]]["fields"]=array();foreach(fields($O["Name"])as$_=>$l){$re+=1.25;$l["pos"]=$re;$Ze[$O["Name"]]["fields"][$_]=$l;}$Ze[$O["Name"]]["pos"]=($_f[$O["Name"]]?$_f[$O["Name"]]:array($Of,0));foreach($b->foreignKeys($O["Name"])as$W){if(!$W["db"]){$Yc=$Ga;if($_f[$O["Name"]][1]||$_f[$W["table"]][1])$Yc=min(floatval($_f[$O["Name"]][1]),floatval($_f[$W["table"]][1]))-1;else$Ga-=.1;while($ad[(string)$Yc])$Yc-=.0001;$Ze[$O["Name"]]["references"][$W["table"]][(string)$Yc]=array($W["source"],$W["target"]);$Le[$W["table"]][$O["Name"]][(string)$Yc]=$W["target"];$ad[(string)$Yc]=true;}}$Of=max($Of,$Ze[$O["Name"]]["pos"][0]+2.5+$re);}echo'<div id="schema" style="height: ',$Of,'em;" onselectstart="return false;">
  1357. <script type="text/javascript">
  1358. var tablePos = {',implode(",",$Af)."\n",'};
  1359. var em = document.getElementById(\'schema\').offsetHeight / ',$Of,';
  1360. document.onmousemove = schemaMousemove;
  1361. document.onmouseup = function (ev) {
  1362. schemaMouseup(ev, \'',js_escape(DB),'\');
  1363. };
  1364. </script>
  1365. ';foreach($Ze
  1366. 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>";foreach($N["fields"]as$l){$W='<span'.type_class($l["type"]).' title="'.h($l["full_type"].($l["null"]?" NULL":'')).'">'.h($l["field"]).'</span>';echo"<br>".($l["primary"]?"<i>$W</i>":$W);}foreach((array)$N["references"]as$Ff=>$Me){foreach($Me
  1367. as$Yc=>$Ie){$Zc=$Yc-$_f[$_][1];$p=0;foreach($Ie[0]as$jf)echo"\n<div class='references' title='".h($Ff)."' id='refs$Yc-".($p++)."' style='left: $Zc"."em; top: ".$N["fields"][$jf]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$Zc)."em;'></div></div>";}}foreach((array)$Le[$_]as$Ff=>$Me){foreach($Me
  1368. as$Yc=>$f){$Zc=$Yc-$_f[$_][1];$p=0;foreach($f
  1369. as$Ef)echo"\n<div class='references' title='".h($Ff)."' id='refd$Yc-".($p++)."' style='left: $Zc"."em; top: ".$N["fields"][$Ef]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME))."?file=arrow.gif) no-repeat right center;&amp;version=3.5.1'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$Zc)."em;'></div></div>";}}echo"\n</div>\n";}foreach($Ze
  1370. as$_=>$N){foreach((array)$N["references"]as$Ff=>$Me){foreach($Me
  1371. as$Yc=>$Ie){$wd=$Of;$nd=-10;foreach($Ie[0]as$v=>$jf){$se=$N["pos"][0]+$N["fields"][$jf]["pos"];$te=$Ze[$Ff]["pos"][0]+$Ze[$Ff]["fields"][$Ie[1][$v]]["pos"];$wd=min($wd,$se,$te);$nd=max($nd,$se,$te);}echo"<div class='references' id='refl$Yc' style='left: $Yc"."em; top: $wd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($nd-$wd)."em;'></div></div>\n";}}}echo'</div>
  1372. <p><a href="',h(ME."schema=".urlencode($ea)),'" id="schema-link">',lang(113),'</a>
  1373. ';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST){$eb="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$v)$eb.="&$v=".urlencode($_POST[$v]);cookie("adminer_export",substr($eb,1));$Yb=dump_headers(($a!=""?$a:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));$Mc=($_POST["format"]=="sql");if($Mc)echo"-- Adminer $ia ".$xb[DRIVER]." dump
  1374. ".($u!="sql"?"":"SET NAMES utf8;
  1375. SET foreign_key_checks = 0;
  1376. SET time_zone = ".q($g->result("SELECT @@time_zone")).";
  1377. SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
  1378. ");$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
  1379. as$j){if($g->select_db($j)){if($Mc&&ereg('CREATE',$M)&&($gb=$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 ',$gb):$gb).";\n";}if($Mc){if($M)echo
  1380. use_sql($j).";\n\n";if(in_array("CREATE+ALTER",array($M,$_POST["table_style"])))echo"SET @adminer_alter = '';\n\n";$ce="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Te){foreach(get_rows("SHOW $Te STATUS WHERE Db = ".q($j),null,"-- ")as$G)$ce.=($M!='DROP+CREATE'?"DROP $Te IF EXISTS ".idf_escape($G["Name"]).";;\n":"").remove_definer($g->result("SHOW CREATE $Te ".idf_escape($G["Name"]),2)).";;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$G)$ce.=($M!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($G["Name"]).";;\n":"").remove_definer($g->result("SHOW CREATE EVENT ".idf_escape($G["Name"]),3)).";;\n\n";}if($ce)echo"DELIMITER ;;\n\n$ce"."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"]));$lb=(DB==""||in_array($O["Name"],(array)$_POST["data"]));if($N||$lb){if(!is_view($O)){if($Yb=="tar")ob_start();$b->dumpTable($O["Name"],($N?$_POST["table_style"]:""));if($lb)$b->dumpData($O["Name"],$_POST["data_style"],"SELECT * FROM ".table($O["Name"]));if($Mc&&$_POST["triggers"]&&$N&&($Wf=trigger_sql($O["Name"],$_POST["table_style"])))echo"\nDELIMITER ;;\n$Wf\nDELIMITER ;\n";if($Yb=="tar")echo
  1381. tar_file((DB!=""?"":"$j/")."$O[Name].csv",ob_get_clean());elseif($Mc)echo"\n";}elseif($Mc)$Y[]=$O["Name"];}}foreach($Y
  1382. as$og)$b->dumpTable($og,$_POST["table_style"],true);if($Yb=="tar")echo
  1383. pack("x512");}if($M=="CREATE+ALTER"&&$Mc){$D="SELECT TABLE_NAME, ENGINE, TABLE_COLLATION, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE()";echo"DELIMITER ;;
  1384. CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
  1385. DECLARE _table_name, _engine, _table_collation varchar(64);
  1386. DECLARE _table_comment varchar(64);
  1387. DECLARE done bool DEFAULT 0;
  1388. DECLARE tables CURSOR FOR $D;
  1389. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  1390. OPEN tables;
  1391. REPEAT
  1392. FETCH tables INTO _table_name, _engine, _table_collation, _table_comment;
  1393. IF NOT done THEN
  1394. CASE _table_name";foreach(get_rows($D)as$G){$Xa=q($G["ENGINE"]=="InnoDB"?preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$G["TABLE_COMMENT"]):$G["TABLE_COMMENT"]);echo"
  1395. WHEN ".q($G["TABLE_NAME"])." THEN
  1396. ".(isset($G["ENGINE"])?"IF _engine != '$G[ENGINE]' OR _table_collation != '$G[TABLE_COLLATION]' OR _table_comment != $Xa THEN
  1397. ALTER TABLE ".idf_escape($G["TABLE_NAME"])." ENGINE=$G[ENGINE] COLLATE=$G[TABLE_COLLATION] COMMENT=$Xa;
  1398. END IF":"BEGIN END").";";}echo"
  1399. ELSE
  1400. SET alter_command = CONCAT(alter_command, 'DROP TABLE `', REPLACE(_table_name, '`', '``'), '`;\\n');
  1401. END CASE;
  1402. END IF;
  1403. UNTIL done END REPEAT;
  1404. CLOSE tables;
  1405. END;;
  1406. DELIMITER ;
  1407. CALL adminer_alter(@adminer_alter);
  1408. DROP PROCEDURE adminer_alter;
  1409. ";}if(in_array("CREATE+ALTER",array($M,$_POST["table_style"]))&&$Mc)echo"SELECT @adminer_alter;\n";}}if($Mc)echo"-- ".$g->result("SELECT NOW()")."\n";exit;}page_header(lang(114),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
  1410. <form action="" method="post">
  1411. <table cellspacing="0">
  1412. ';$ob=array('','USE','DROP+CREATE','CREATE');$Bf=array('','DROP+CREATE','CREATE');$mb=array('','TRUNCATE+INSERT','INSERT');if($u=="sql"){$ob[]='CREATE+ALTER';$Bf[]='CREATE+ALTER';$mb[]='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(115)."<td>".html_select("output",$b->dumpOutput(),$G["output"],0)."\n";echo"<tr><th>".lang(116)."<td>".html_select("format",$b->dumpFormat(),$G["format"],0)."\n";echo($u=="sqlite"?"":"<tr><th>".lang(24)."<td>".html_select('db_style',$ob,$G["db_style"]).(support("routine")?checkbox("routines",1,$G["routines"],lang(117)):"").(support("event")?checkbox("events",1,$G["events"],lang(118)):"")),"<tr><th>".lang(79)."<td>".html_select('table_style',$Bf,$G["table_style"]).checkbox("auto_increment",1,$G["auto_increment"],lang(94)).(support("trigger")?checkbox("triggers",1,$G["triggers"],lang(111)):""),"<tr><th>".lang(119)."<td>".html_select('data_style',$mb,$G["data_style"]),'</table>
  1413. <p><input type="submit" value="',lang(114),'">
  1414. <table cellspacing="0">
  1415. ';$we=array();if(DB!=""){$Oa=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label><input type='checkbox' id='check-tables'$Oa onclick='formCheck(this, /^tables\\[/);'>".lang(79)."</label>","<th style='text-align: right;'><label>".lang(119)."<input type='checkbox' id='check-data'$Oa onclick='formCheck(this, /^data\\[/);'></label>","</thead>\n";$Y="";foreach(table_status()as$O){$_=$O["Name"];$ve=ereg_replace("_.*","",$_);$Oa=($a==""||$a==(substr($a,-1)=="%"?"$ve%":$_));$ze="<tr><td>".checkbox("tables[]",$_,$Oa,$_,"checkboxClick(event, this); formUncheck('check-tables');");if(is_view($O))$Y.="$ze\n";else
  1416. echo"$ze<td align='right'><label>".($O["Engine"]=="InnoDB"&&$O["Rows"]?"~ ":"").$O["Rows"].checkbox("data[]",$_,$Oa,"","checkboxClick(event, this); formUncheck('check-data');")."</label>\n";$we[$ve]++;}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(24)."</label></thead>\n";$i=$b->databases();if($i){foreach($i
  1417. as$j){if(!information_schema($j)){$ve=ereg_replace("_.*","",$j);echo"<tr><td>".checkbox("databases[]",$j,$a==""||$a=="$ve%",$j,"formUncheck('check-databases');")."</label>\n";$we[$ve]++;}}}else
  1418. echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
  1419. </form>
  1420. ';$gc=true;foreach($we
  1421. as$v=>$W){if($v!=""&&$W>1){echo($gc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$v%")."'>".h($v)."</a>";$gc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(53));$E=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$sc=$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",($sc?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(22)."<th>".lang(21)."<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(33)."</a>\n";if(!$sc||DB!="")echo"<tr".odd()."><td><input name='user'><td><input name='host' value='localhost'><td><input type='submit' value='".lang(33)."'>\n";echo"</table>\n","</form>\n",'<p><a href="'.h(ME).'user=">'.lang(120)."</a>";}elseif(isset($_GET["sql"])){if(!$k&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$zc=&get_session("queries");$yc=&$zc[DB];if(!$k&&$_POST["clear"]){$yc=array();redirect(remove_from_uri("history"));}page_header(lang(46),$k);if(!$k&&$_POST){$oc=false;$D=$_POST["query"];if($_POST["webfile"]){$oc=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$D=($oc?fread($oc,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"]!=UPLOAD_ERR_NO_FILE)$D=get_file("sql_file",true);if(is_string($D)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($D)+memory_get_usage()+8e6));if($D!=""&&strlen($D)<1e6){$C=$D.(ereg(";[ \t\r\n]*\$",$D)?"":";");if(!$yc||reset(end($yc))!=$C)$yc[]=array($C,time());}$kf="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies"))session_write_close();$rb=";";$A=0;$Hb=true;$h=connect();if(is_object($h)&&DB!="")$h->select_db(DB);$Wa=0;$Ob=array();$dd=0;$ie='[\'"'.($u=="sql"?'`#':($u=="sqlite"?'`[':($u=="mssql"?'[':''))).']|/\\*|-- |$'.($u=="pgsql"?'|\\$[^$]*\\$':'');$Pf=microtime();parse_str($_COOKIE["adminer_export"],$qa);$Ab=$b->dumpFormat();unset($Ab["sql"]);while($D!=""){if(!$A&&preg_match("~^$kf*DELIMITER\\s+(\\S+)~i",$D,$z)){$rb=$z[1];$D=substr($D,strlen($z[0]));}else{preg_match('('.preg_quote($rb)."\\s*|$ie)",$D,$z,PREG_OFFSET_CAPTURE,$A);list($mc,$re)=$z[0];if(!$mc&&$oc&&!feof($oc))$D.=fread($oc,1e5);else{if(!$mc&&rtrim($D)=="")break;$A=$re+strlen($mc);if($mc&&rtrim($mc)!=$rb){while(preg_match('('.($mc=='/*'?'\\*/':($mc=='['?']':(ereg('^-- |^#',$mc)?"\n":preg_quote($mc)."|\\\\."))).'|$)s',$D,$z,PREG_OFFSET_CAPTURE,$A)){$Xe=$z[0][0];if(!$Xe&&$oc&&!feof($oc))$D.=fread($oc,1e5);else{$A=$z[0][1]+strlen($Xe);if($Xe[0]!="\\")break;}}}else{$Hb=false;$C=substr($D,0,$re);$Wa++;$ze="<pre id='sql-$Wa'><code class='jush-$u'>".shorten_utf8(trim($C),1000)."</code></pre>\n";if(!$_POST["only_errors"]){echo$ze;ob_flush();flush();}$mf=microtime();if($g->multi_query($C)&&is_object($h)&&preg_match("~^$kf*USE\\b~isU",$C))$h->query($C);do{$E=$g->store_result();$Ib=microtime();$If=format_time($mf,$Ib).(strlen($C)<1000?" <a href='".h(ME)."sql=".urlencode(trim($C))."'>".lang(33)."</a>":"");if($g->error){echo($_POST["only_errors"]?$ze:""),"<p class='error'>".lang(121).": ".error()."\n";$Ob[]=" <a href='#sql-$Wa'>$Wa</a>";if($_POST["error_stops"])break
  1422. 2;}elseif(is_object($E)){$Wd=select($E,$h);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n","<p>".($E->num_rows?lang(122,$E->num_rows):"").$If;$q="export-$Wa";$Xb=", <a href='#$q' onclick=\"return !toggle('$q');\">".lang(114)."</a><span id='$q' class='hidden'>: ".html_select("output",$b->dumpOutput(),$qa["output"])." ".html_select("format",$Ab,$qa["format"])."<input type='hidden' name='query' value='".h($C)."'>"." <input type='submit' name='export' value='".lang(114)."'><input type='hidden' name='token' value='$Q'></span>\n";if($h&&preg_match("~^($kf|\\()*SELECT\\b~isU",$C)&&($Wb=explain($h,$C))){$q="explain-$Wa";echo", <a href='#$q' onclick=\"return !toggle('$q');\">EXPLAIN</a>$Xb","<div id='$q' class='hidden'>\n";select($Wb,$h,($u=="sql"?"http://dev.mysql.com/doc/refman/".substr($g->server_info,0,3)."/en/explain-output.html#explain_":""),$Wd);echo"</div>\n";}else
  1423. echo$Xb;echo"</form>\n";}}else{if(preg_match("~^$kf*(CREATE|DROP|ALTER)$kf+(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(123,$g->affected_rows)."$If\n";}$mf=$Ib;}while($g->next_result());$dd+=substr_count($C.$mc,"\n");$D=substr($D,$A);$A=0;}}}}if($Hb)echo"<p class='message'>".lang(124)."\n";elseif($_POST["only_errors"])echo"<p class='message'>".lang(125,$Wa-count($Ob)).format_time($Pf,microtime())."\n";elseif($Ob&&$Wa>1)echo"<p class='error'>".lang(121).": ".implode("",$Ob)."\n";}else
  1424. echo"<p class='error'>".upload_error($D)."\n";}echo'
  1425. <form action="" method="post" enctype="multipart/form-data" id="form">
  1426. <p>';$C=$_GET["sql"];if($_POST)$C=$_POST["query"];elseif($_GET["history"]=="all")$C=$yc;elseif($_GET["history"]!="")$C=$yc[$_GET["history"]][0];textarea("query",$C,20);echo($_POST?"":"<script type='text/javascript'>document.getElementsByTagName('textarea')[0].focus();</script>\n"),"<p>".(ini_bool("file_uploads")?lang(126).': <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(127)),'<p>
  1427. <input type="submit" value="',lang(128),'" title="Ctrl+Enter">
  1428. <input type="hidden" name="token" value="',$Q,'">
  1429. ',checkbox("error_stops",1,$_POST["error_stops"],lang(129))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(130))."\n";print_fieldset("webfile",lang(131),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");$Za=array();foreach(array("gz"=>"zlib","bz2"=>"bz2")as$v=>$W){if(extension_loaded($W))$Za[]=".$v";}echo
  1430. lang(132,"<code>adminer.sql".($Za?"[".implode("|",$Za)."]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(133).'">',"</div></fieldset>\n";if($yc){print_fieldset("history",lang(134),$_GET["history"]!="");foreach($yc
  1431. as$v=>$W){list($C,$If)=$W;echo'<a href="'.h(ME."sql=&history=$v").'">'.lang(33)."</a> <span class='time'>".@date("H:i:s",$If)."</span> <code class='jush-$u'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$C)))),80,"</code>")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(135)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(136)."</a>\n","</div></fieldset>\n";}echo'
  1432. </form>
  1433. ';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$gg=(isset($_GET["select"])?$_POST["edit"]:$Z);$m=fields($a);foreach($m
  1434. as$_=>$l){if(!isset($l["privileges"][$gg?"update":"insert"])||$b->fieldName($l)=="")unset($m[$_]);}if($_POST&&!$k&&!isset($_GET["select"])){$fd=$_POST["referer"];if($_POST["insert"])$fd=($gg?null:$_SERVER["REQUEST_URI"]);elseif(!ereg('^.+&select=.+$',$fd))$fd=ME."select=".urlencode($a);if(isset($_POST["delete"]))query_redirect("DELETE".limit1("FROM ".table($a)," WHERE $Z"),$fd,lang(137));else{$K=array();foreach($m
  1435. as$_=>$l){$W=process_input($l);if($W!==false&&$W!==null)$K[idf_escape($_)]=($gg?"\n".idf_escape($_)." = $W":$W);}if($gg){if(!$K)redirect($fd);query_redirect("UPDATE".limit1(table($a)." SET".implode(",",$K),"\nWHERE $Z"),$fd,lang(138));}else{$E=insert_into($a,$K);$Xc=($E?last_id():0);queries_redirect($fd,lang(139,($Xc?" $Xc":"")),$E);}}}$yf=$b->tableName(table_status($a));page_header(($gg?lang(33):lang(140)),$k,array("select"=>array($a,$yf)),$yf);$G=null;if($_POST["save"])$G=(array)$_POST["fields"];elseif($Z){$I=array();foreach($m
  1436. as$_=>$l){if(isset($l["privileges"]["select"]))$I[]=($_POST["clone"]&&$l["auto_increment"]?"'' AS ":($u=="sql"&&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(84)."\n";echo'
  1437. <form action="" method="post" enctype="multipart/form-data" id="form">
  1438. ';if($m){echo"<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";foreach($m
  1439. as$_=>$l){echo"<tr><th>".$b->fieldName($l);$qb=$_GET["set"][bracket_escape($_)];$X=($G!==null?($G[$_]!=""&&$u=="sql"&&ereg("enum|set",$l["type"])?(is_array($G[$_])?array_sum($G[$_]):+$G[$_]):$G[$_]):(!$gg&&$l["auto_increment"]?"":(isset($_GET["select"])?false:($qb!==null?$qb:$l["default"]))));if(!$_POST["save"]&&is_string($X))$X=$b->editVal($X,$l);$o=($_POST["save"]?(string)$_POST["function"][$_]:($gg&&$l["on_update"]=="CURRENT_TIMESTAMP"?"now":($X===false?null:($X!==null?'':'NULL'))));if($l["type"]=="timestamp"&&$X=="CURRENT_TIMESTAMP"){$X="";$o="now";}input($l,$X,$o);echo"\n";}echo"</table>\n";}echo'<p>
  1440. ';if($m){echo"<input type='submit' value='".lang(141)."'>\n";if(!isset($_GET["select"]))echo"<input type='submit' name='insert' value='".($gg?lang(142):lang(143))."' title='Ctrl+Shift+Enter'>\n";}echo($gg?"<input type='submit' name='delete' value='".lang(144)."' 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"]),'">
  1441. <input type="hidden" name="save" value="1">
  1442. <input type="hidden" name="token" value="',$Q,'">
  1443. </form>
  1444. ';}elseif(isset($_GET["create"])){$a=$_GET["create"];$je=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$Ke=referencable_primary($a);$kc=array();foreach($Ke
  1445. as$yf=>$l)$kc[str_replace("`","``",$yf)."`".str_replace("`","``",$l["field"])]=$yf;$Zd=array();$ae=array();if($a!=""){$Zd=fields($a);$ae=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(145));else{$m=array();$wa=array();$ig=false;$ic=array();ksort($_POST["fields"]);$Yd=reset($Zd);$ua=" FIRST";foreach($_POST["fields"]as$v=>$l){$n=$kc[$l["type"]];$Xf=($n!==null?$Ke[$n]:$l);if($l["field"]!=""){if(!$l["has_default"])$l["default"]=null;$qb=eregi_replace(" *on update CURRENT_TIMESTAMP","",$l["default"]);if($qb!=$l["default"]){$l["on_update"]="CURRENT_TIMESTAMP";$l["default"]=$qb;}if($v==$_POST["auto_increment_col"])$l["auto_increment"]=true;$De=process_field($l,$Xf);$wa[]=array($l["orig"],$De,$ua);if($De!=process_field($Yd,$Yd)){$m[]=array($l["orig"],$De,$ua);if($l["orig"]!=""||$ua)$ig=true;}if($n!==null)$ic[idf_escape($l["field"])]=($a!=""&&$u!="sqlite"?"ADD":" ")." FOREIGN KEY (".idf_escape($l["field"]).") REFERENCES ".table($kc[$l["type"]])." (".idf_escape($Xf["field"]).")".(ereg("^($Ld)\$",$l["on_delete"])?" ON DELETE $l[on_delete]":"");$ua=" AFTER ".idf_escape($l["field"]);}elseif($l["orig"]!=""){$ig=true;$m[]=array($l["orig"]);}if($l["orig"]!=""){$Yd=next($Zd);if(!$Yd)$ua="";}}$le="";if(in_array($_POST["partition_by"],$je)){$me=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$v=>$W){$X=$_POST["partition_values"][$v];$me[]="\nPARTITION ".idf_escape($W)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($X!=""?" ($X)":" MAXVALUE");}}$le.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($me?" (".implode(",",$me)."\n)":($_POST["partitions"]?" PARTITIONS ".(+$_POST["partitions"]):""));}elseif($a!=""&&support("partitioning"))$le.="\nREMOVE PARTITIONING";$qd=lang(146);if($a==""){cookie("adminer_engine",$_POST["Engine"]);$qd=lang(147);}$_=trim($_POST["name"]);queries_redirect(ME."table=".urlencode($_),$qd,alter_table($a,$_,($u=="sqlite"&&($ig||$ic)?$wa:$m),$ic,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$ae["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$ae["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?+$_POST["Auto_increment"]:""),$le));}}page_header(($a!=""?lang(30):lang(148)),$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=$ae;$G["name"]=$a;$G["fields"]=array();if(!$_GET["auto_increment"])$G["Auto_increment"]="";foreach($Zd
  1446. 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")){$pc="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 $pc 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 $pc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$We){$G["partition_names"][]=$We["PARTITION_NAME"];$G["partition_values"][]=$We["PARTITION_DESCRIPTION"];}$G["partition_names"][]="";}}$Ta=collations();$tf=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($tf&&count($G["fields"])>$tf)echo"<p class='error'>".h(lang(149,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";$Kb=engines();foreach($Kb
  1447. as$Jb){if(!strcasecmp($Jb,$G["Engine"])){$G["Engine"]=$Jb;break;}}echo'
  1448. <form action="" method="post" id="form">
  1449. <p>
  1450. ',lang(150),': <input name="name" maxlength="64" value="',h($G["name"]),'">
  1451. ';if($a==""&&!$_POST){?><script type='text/javascript'>document.getElementById('form')['name'].focus();</script><?php }echo($Kb?html_select("Engine",array(""=>"(".lang(151).")")+$Kb,$G["Engine"]):""),' ',($Ta&&!ereg("sqlite|mssql",$u)?html_select("Collation",array(""=>"(".lang(87).")")+$Ta,$G["Collation"]):""),' <input type="submit" value="',lang(141),'">
  1452. <table cellspacing="0" id="edit-fields" class="nowrap">
  1453. ';$Ya=($_POST?$_POST["comments"]:$G["Comment"]!="");if(!$_POST&&!$Ya){foreach($G["fields"]as$l){if($l["comment"]!=""){$Ya=true;break;}}}edit_fields($G["fields"],$Ta,"TABLE",$tf,$kc,$Ya);echo'</table>
  1454. <p>
  1455. ',lang(94),': <input name="Auto_increment" size="6" value="',h($G["Auto_increment"]),'">
  1456. <label class="jsonly"><input type="checkbox" name="defaults" value="1"',($_POST["defaults"]?" checked":""),' onclick="columnShow(this.checked, 5);">',lang(95),'</label>
  1457. ',(support("comment")?checkbox("comments",1,$Ya,lang(96),"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"'.($Ya?'':' class="hidden"').'>':''),'<p>
  1458. <input type="submit" value="',lang(141),'">
  1459. ';if($_GET["create"]!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1460. ';if(support("partitioning")){$ke=ereg('RANGE|LIST',$G["partition_by"]);print_fieldset("partition",lang(152),$G["partition_by"]);echo'<p>
  1461. ',html_select("partition_by",array(-1=>"")+$je,$G["partition_by"],"partitionByChange(this);"),'(<input name="partition" value="',h($G["partition"]),'">)
  1462. ',lang(153),': <input name="partitions" size="2" value="',h($G["partitions"]),'"',($ke||!$G["partition_by"]?" class='hidden'":""),'>
  1463. <table cellspacing="0" id="partition-table"',($ke?"":" class='hidden'"),'>
  1464. <thead><tr><th>',lang(154),'<th>',lang(155),'</thead>
  1465. ';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>
  1466. </div></fieldset>
  1467. ';}echo'</form>
  1468. ';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Ec=array("PRIMARY","UNIQUE","INDEX");$O=table_status($a);if(eregi("MyISAM|M?aria",$O["Engine"]))$Ec[]="FULLTEXT";$t=indexes($a);if($u=="sqlite"){unset($Ec[0]);unset($t[""]);}if($_POST&&!$k&&!$_POST["add"]){$c=array();foreach($_POST["indexes"]as$s){$_=$s["name"];if(in_array($s["type"],$Ec)){$f=array();$cd=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;$cd[]=($w?$w:null);}}if($f){$Vb=$t[$_];if($Vb){ksort($Vb["columns"]);ksort($Vb["lengths"]);if($s["type"]==$Vb["type"]&&array_values($Vb["columns"])===$f&&(!$Vb["lengths"]||array_values($Vb["lengths"])===$cd)){unset($t[$_]);continue;}}$c[]=array($s["type"],$_,"(".implode(", ",$K).")");}}}foreach($t
  1469. as$_=>$Vb)$c[]=array($Vb["type"],$_,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(156),alter_indexes($a,$c));}page_header(lang(104),$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'
  1470. <form action="" method="post">
  1471. <table cellspacing="0" class="nowrap">
  1472. <thead><tr><th>',lang(157),'<th>',lang(158),'<th>',lang(159),'</thead>
  1473. ';$Oc=1;foreach($G["indexes"]as$s){echo"<tr><td>".html_select("indexes[$Oc][type]",array(-1=>"")+$Ec,$s["type"],($Oc==count($G["indexes"])?"indexesAddRow(this);":1))."<td>";ksort($s["columns"]);$p=1;foreach($s["columns"]as$v=>$e){echo"<span>".html_select("indexes[$Oc][columns][$p]",array(-1=>"")+$m,$e,($p==count($s["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($u=="sql"?"":$_GET["indexes"]."_")."');"),"<input name='indexes[$Oc][lengths][$p]' size='2' value='".h($s["lengths"][$v])."'> </span>";$p++;}echo"<td><input name='indexes[$Oc][name]' value='".h($s["name"])."'>\n";$Oc++;}echo'</table>
  1474. <p>
  1475. <input type="submit" value="',lang(141),'">
  1476. <noscript><p><input type="submit" name="add" value="',lang(97),'"></noscript>
  1477. <input type="hidden" name="token" value="',$Q,'">
  1478. </form>
  1479. ';}elseif(isset($_GET["database"])){if($_POST&&!$k&&!isset($_POST["add_x"])){restart_session();$_=trim($_POST["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(160),drop_databases(array(DB)));}elseif(DB!==$_){if(DB!=""){$_GET["db"]=$_;queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($_),lang(161),rename_database($_,$_POST["collation"]));}else{$i=explode("\n",str_replace("\r","",$_));$rf=true;$Wc="";foreach($i
  1480. as$j){if(count($i)==1||$j!=""){if(!create_database($j,$_POST["collation"]))$rf=false;$Wc=$j;}}queries_redirect(ME."db=".urlencode($Wc),lang(162),$rf);}}else{if(!$_POST["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($_).(eregi('^[a-z0-9_]+$',$_POST["collation"])?" COLLATE $_POST[collation]":""),substr(ME,0,-1),lang(163));}}page_header(DB!=""?lang(49):lang(164),$k,array(),DB);$Ta=collations();$_=DB;$Sa=null;if($_POST){$_=$_POST["name"];$Sa=$_POST["collation"];}elseif(DB!="")$Sa=db_collation(DB,$Ta);elseif($u=="sql"){foreach(get_vals("SHOW GRANTS")as$sc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$sc,$z)&&$z[1]){$_=stripcslashes(idf_unescape("`$z[2]`"));break;}}}echo'
  1481. <form action="" method="post">
  1482. <p>
  1483. ',($_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".($Ta?html_select("collation",array(""=>"(".lang(87).")")+$Ta,$Sa):"");?>
  1484. <script type='text/javascript'>document.getElementById('name').focus();</script>
  1485. <input type="submit" value="<?php echo
  1486. lang(141),'">
  1487. ';if(DB!="")echo"<input type='submit' name='drop' value='".lang(80)."'".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.5.1' alt='+' title='".lang(97)."'>\n";echo'<input type="hidden" name="token" value="',$Q,'">
  1488. </form>
  1489. ';}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(165));else{$_=trim($_POST["name"]);$y.=urlencode($_);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($_),$y,lang(166));elseif($_GET["ns"]!=$_)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_),$y,lang(167));else
  1490. redirect($y);}}page_header($_GET["ns"]!=""?lang(50):lang(51),$k);$G=$_POST;if(!$G)$G=array("name"=>$_GET["ns"]);echo'
  1491. <form action="" method="post">
  1492. <p><input id="name" name="name" value="',h($G["name"]);?>">
  1493. <script type='text/javascript'>document.getElementById('name').focus();</script>
  1494. <input type="submit" value="<?php echo
  1495. lang(141),'">
  1496. ';if($_GET["ns"]!="")echo"<input type='submit' name='drop' value='".lang(80)."'".confirm().">\n";echo'<input type="hidden" name="token" value="',$Q,'">
  1497. </form>
  1498. ';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(168).": ".h($da),$k);$Te=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Dc=array();$ce=array();foreach($Te["fields"]as$p=>$l){if(substr($l["inout"],-3)=="OUT")$ce[$p]="@".idf_escape($l["field"])." AS ".idf_escape($l["field"]);if(!$l["inout"]||substr($l["inout"],0,2)=="IN")$Dc[]=$p;}if(!$k&&$_POST){$La=array();foreach($Te["fields"]as$v=>$l){if(in_array($v,$Dc)){$W=process_input($l);if($W===false)$W="''";if(isset($ce[$v]))$g->query("SET @".idf_escape($l["field"])." = $W");}$La[]=(isset($ce[$v])?"@".idf_escape($l["field"]):$W);}$D=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$La).")";echo"<p><code class='jush-$u'>".h($D)."</code> <a href='".h(ME)."sql=".urlencode($D)."'>".lang(33)."</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
  1499. echo"<p class='message'>".lang(169,$g->affected_rows)."\n";}while($g->next_result());if($ce)select($g->query("SELECT ".implode(", ",$ce)));}}echo'
  1500. <form action="" method="post">
  1501. ';if($Dc){echo"<table cellspacing='0'>\n";foreach($Dc
  1502. as$v){$l=$Te["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>
  1503. <input type="submit" value="',lang(168),'">
  1504. <input type="hidden" name="token" value="',$Q,'">
  1505. </form>
  1506. ';}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(170));else{$jf=array_filter($_POST["source"],'strlen');ksort($jf);$Ef=array();foreach($jf
  1507. as$v=>$W)$Ef[$v]=$_POST["target"][$v];query_redirect("ALTER TABLE ".table($a).($_GET["name"]!=""?"\nDROP ".($u=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$jf)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$Ef)).")".(ereg("^($Ld)\$",$_POST["on_delete"])?" ON DELETE $_POST[on_delete]":"").(ereg("^($Ld)\$",$_POST["on_update"])?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($a),($_GET["name"]!=""?lang(171):lang(172)));$k=lang(173)."<br>$k";}}page_header(lang(174),$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"]!=""){$kc=foreign_keys($a);$G=$kc[$_GET["name"]];$G["source"][]="";}$jf=array_keys(fields($a));$Ef=($a===$G["table"]?$jf:array_keys(fields($G["table"])));$Je=array();foreach(table_status()as$_=>$O){if(fk_support($O))$Je[]=$_;}echo'
  1508. <form action="" method="post">
  1509. <p>
  1510. ';if($G["db"]==""&&$G["ns"]==""){echo
  1511. lang(175),':
  1512. ',html_select("table",$Je,$G["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'<input type="hidden" name="change-js" value="">
  1513. <noscript><p><input type="submit" name="change" value="',lang(176),'"></noscript>
  1514. <table cellspacing="0">
  1515. <thead><tr><th>',lang(106),'<th>',lang(107),'</thead>
  1516. ';$Oc=0;foreach($G["source"]as$v=>$W){echo"<tr>","<td>".html_select("source[".(+$v)."]",array(-1=>"")+$jf,$W,($Oc==count($G["source"])-1?"foreignAddRow(this);":1)),"<td>".html_select("target[".(+$v)."]",$Ef,$G["target"][$v]);$Oc++;}echo'</table>
  1517. <p>
  1518. ',lang(88),': ',html_select("on_delete",array(-1=>"")+explode("|",$Ld),$G["on_delete"]),' ',lang(108),': ',html_select("on_update",array(-1=>"")+explode("|",$Ld),$G["on_update"]),'<p>
  1519. <input type="submit" value="',lang(141),'">
  1520. <noscript><p><input type="submit" name="add" value="',lang(177),'"></noscript>
  1521. ';}if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1522. </form>
  1523. ';}elseif(isset($_GET["view"])){$a=$_GET["view"];$zb=false;if($_POST&&!$k){$_=trim($_POST["name"]);$zb=drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($_)." AS\n$_POST[select]",($_POST["drop"]?substr(ME,0,-1):ME."table=".urlencode($_)),lang(178),lang(179),lang(180),$a);}page_header(($a!=""?lang(29):lang(181)),$k,array("table"=>$a),$a);$G=$_POST;if(!$G&&$a!=""){$G=view($a);$G["name"]=$a;}echo'
  1524. <form action="" method="post">
  1525. <p>',lang(159),': <input name="name" value="',h($G["name"]),'" maxlength="64">
  1526. <p>';textarea("select",$G["select"]);echo'<p>
  1527. ';if($zb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="submit" value="',lang(141),'">
  1528. ';if($_GET["view"]!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1529. </form>
  1530. ';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Lc=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$of=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(182));elseif(in_array($_POST["INTERVAL_FIELD"],$Lc)&&isset($of[$_POST["STATUS"]])){$Ye="\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(183):lang(184)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Ye.($aa!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$Ye)."\n".$of[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"]).rtrim(" DO\n$_POST[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(185).": ".h($aa):lang(186)),$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'
  1531. <form action="" method="post">
  1532. <table cellspacing="0">
  1533. <tr><th>',lang(159),'<td><input name="EVENT_NAME" value="',h($G["EVENT_NAME"]),'" maxlength="64">
  1534. <tr><th>',lang(187),'<td><input name="STARTS" value="',h("$G[EXECUTE_AT]$G[STARTS]"),'">
  1535. <tr><th>',lang(188),'<td><input name="ENDS" value="',h($G["ENDS"]),'">
  1536. <tr><th>',lang(189),'<td><input name="INTERVAL_VALUE" value="',h($G["INTERVAL_VALUE"]),'" size="6"> ',html_select("INTERVAL_FIELD",$Lc,$G["INTERVAL_FIELD"]),'<tr><th>',lang(75),'<td>',html_select("STATUS",$of,$G["STATUS"]),'<tr><th>',lang(96),'<td><input name="EVENT_COMMENT" value="',h($G["EVENT_COMMENT"]),'" maxlength="64">
  1537. <tr><th>&nbsp;<td>',checkbox("ON_COMPLETION","PRESERVE",$G["ON_COMPLETION"]=="PRESERVE",lang(190)),'</table>
  1538. <p>';textarea("EVENT_DEFINITION",$G["EVENT_DEFINITION"]);echo'<p>
  1539. <input type="submit" value="',lang(141),'">
  1540. ';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1541. </form>
  1542. ';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$Te=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$Ue=routine_languages();$zb=false;if($_POST&&!$k&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$K=array();$m=(array)$_POST["fields"];ksort($m);foreach($m
  1543. as$l){if($l["field"]!="")$K[]=(ereg("^($Ic)\$",$l["inout"])?"$l[inout] ":"").idf_escape($l["field"]).process_type($l,"CHARACTER SET");}$zb=drop_create("DROP $Te ".idf_escape($da),"CREATE $Te ".idf_escape(trim($_POST["name"]))." (".implode(", ",$K).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"").(in_array($_POST["language"],$Ue)?" LANGUAGE $_POST[language]":"").rtrim("\n$_POST[definition]",";").";",substr(ME,0,-1),lang(191),lang(192),lang(193),$da);}page_header(($da!=""?(isset($_GET["function"])?lang(194):lang(195)).": ".h($da):(isset($_GET["function"])?lang(196):lang(197))),$k);$Ta=get_vals("SHOW CHARACTER SET");sort($Ta);$G=array("fields"=>array());if($_POST){$G=$_POST;$G["fields"]=(array)$G["fields"];process_fields($G["fields"]);}elseif($da!=""){$G=routine($da,$Te);$G["name"]=$da;}echo'
  1544. <form action="" method="post" id="form">
  1545. <p>',lang(159),': <input name="name" value="',h($G["name"]),'" maxlength="64">
  1546. ',($Ue?lang(8).": ".html_select("language",$Ue,$G["language"]):""),'<table cellspacing="0" class="nowrap">
  1547. ';edit_fields($G["fields"],$Ta,$Te);if(isset($_GET["function"])){echo"<tr><td>".lang(198);edit_type("returns",$G["returns"],$Ta);}echo'</table>
  1548. <p>';textarea("definition",$G["definition"]);echo'<p>
  1549. <input type="submit" value="',lang(141),'">
  1550. ';if($da!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}if($zb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$Q,'">
  1551. </form>
  1552. ';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];if($_POST&&!$k){$y=substr(ME,0,-1);$_=trim($_POST["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$y,lang(199));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($_),$y,lang(200));elseif($fa!=$_)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($_),$y,lang(201));else
  1553. redirect($y);}page_header($fa!=""?lang(202).": ".h($fa):lang(203),$k);$G=$_POST;if(!$G)$G=array("name"=>$fa);echo'
  1554. <form action="" method="post">
  1555. <p><input name="name" value="',h($G["name"]),'">
  1556. <input type="submit" value="',lang(141),'">
  1557. ';if($fa!="")echo"<input type='submit' name='drop' value='".lang(80)."'".confirm().">\n";echo'<input type="hidden" name="token" value="',$Q,'">
  1558. </form>
  1559. ';}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(204));else
  1560. query_redirect("CREATE TYPE ".idf_escape(trim($_POST["name"]))." $_POST[as]",$y,lang(205));}page_header($ga!=""?lang(206).": ".h($ga):lang(207),$k);$G=$_POST;if(!$G)$G=array("as"=>"AS ");echo'
  1561. <form action="" method="post">
  1562. <p>
  1563. ';if($ga!="")echo"<input type='submit' name='drop' value='".lang(80)."'".confirm().">\n";else{echo"<input name='name' value='".h($G['name'])."'>\n";textarea("as",$G["as"]);echo"<p><input type='submit' value='".lang(141)."'>\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1564. </form>
  1565. ';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$Vf=trigger_options();$Tf=array("INSERT","UPDATE","DELETE");$zb=false;if($_POST&&!$k&&in_array($_POST["Timing"],$Vf["Timing"])&&in_array($_POST["Event"],$Tf)&&in_array($_POST["Type"],$Vf["Type"])){$Jf=" $_POST[Timing] $_POST[Event]";$Kd=" ON ".table($a);$zb=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($u=="pgsql"?$Kd:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($u=="mssql"?$Kd.$Jf:$Jf.$Kd).rtrim(" $_POST[Type]\n$_POST[Statement]",";").";",ME."table=".urlencode($a),lang(208),lang(209),lang(210),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(211).": ".h($_GET["name"]):lang(212)),$k,array("table"=>$a));$G=$_POST;if(!$G)$G=trigger($_GET["name"])+array("Trigger"=>$a."_bi");echo'
  1566. <form action="" method="post" id="form">
  1567. <table cellspacing="0">
  1568. <tr><th>',lang(213),'<td>',html_select("Timing",$Vf["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(214),'<td>',html_select("Event",$Tf,$G["Event"],"this.form['Timing'].onchange();"),'<tr><th>',lang(91),'<td>',html_select("Type",$Vf["Type"],$G["Type"]),'</table>
  1569. <p>',lang(159),': <input name="Trigger" value="',h($G["Trigger"]),'" maxlength="64">
  1570. <p>';textarea("Statement",$G["Statement"]);echo'<p>
  1571. <input type="submit" value="',lang(141),'">
  1572. ';if($_GET["name"]!=""){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}if($zb){echo'<input type="hidden" name="dropped" value="1">';}echo'<input type="hidden" name="token" value="',$Q,'">
  1573. </form>
  1574. ';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$Be=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$G){foreach(explode(",",($G["Privilege"]=="Grant option"?"":$G["Context"]))as$db)$Be[$db][$G["Privilege"]]=$G["Comment"];}$Be["Server Admin"]+=$Be["File access on server"];$Be["Databases"]["Create routine"]=$Be["Procedures"]["Create routine"];unset($Be["Procedures"]["Create routine"]);$Be["Columns"]=array();foreach(array("Select","Insert","Update","References")as$W)$Be["Columns"][$W]=$Be["Tables"][$W];unset($Be["Server Admin"]["Usage"]);foreach($Be["Tables"]as$v=>$W)unset($Be["Databases"][$v]);$Bd=array();if($_POST){foreach($_POST["objects"]as$v=>$W)$Bd[$W]=(array)$Bd[$W]+(array)$_POST["grants"][$v];}$tc=array();$Id="";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],$jd,PREG_SET_ORDER)){foreach($jd
  1575. as$W){if($W[1]!="USAGE")$tc["$z[2]$W[2]"][$W[1]]=true;if(ereg(' WITH GRANT OPTION',$G[0]))$tc["$z[2]$W[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$G[0],$z))$Id=$z[1];}}if($_POST&&!$k){$Jd=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");$Cd=q($_POST["user"])."@".q($_POST["host"]);$ne=q($_POST["pass"]);if($_POST["drop"])query_redirect("DROP USER $Jd",ME."privileges=",lang(215));else{$ib=false;if($Jd!=$Cd){$ib=queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $Cd IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $ne");$k=!$ib;}elseif($_POST["pass"]!=$Id||!$_POST["hashed"])queries("SET PASSWORD FOR $Cd = ".($_POST["hashed"]?$ne:"PASSWORD($ne)"));if(!$k){$Qe=array();foreach($Bd
  1576. as$Fd=>$sc){if(isset($_GET["grant"]))$sc=array_filter($sc);$sc=array_keys($sc);if(isset($_GET["grant"]))$Qe=array_diff(array_keys(array_filter($Bd[$Fd],'strlen')),$sc);elseif($Jd==$Cd){$Hd=array_keys((array)$tc[$Fd]);$Qe=array_diff($Hd,$sc);$sc=array_diff($sc,$Hd);unset($tc[$Fd]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Fd,$z)&&(!grant("REVOKE",$Qe,$z[2]," ON $z[1] FROM $Cd")||!grant("GRANT",$sc,$z[2]," ON $z[1] TO $Cd"))){$k=true;break;}}}if(!$k&&isset($_GET["host"])){if($Jd!=$Cd)queries("DROP USER $Jd");elseif(!isset($_GET["grant"])){foreach($tc
  1577. as$Fd=>$Qe){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Fd,$z))grant("REVOKE",array_keys($Qe),$z[2]," ON $z[1] FROM $Cd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(216):lang(217)),!$k);if($ib)$g->query("DROP USER $Cd");}}page_header((isset($_GET["host"])?lang(22).": ".h("$ha@$_GET[host]"):lang(120)),$k,array("privileges"=>array('',lang(53))));if($_POST){$G=$_POST;$tc=$Bd;}else{$G=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$G["pass"]=$Id;if($Id!="")$G["hashed"]=true;$tc[(DB!=""&&!isset($_GET["host"])?idf_escape(addcslashes(DB,"%_")):"").".*"]=array();}echo'<form action="" method="post">
  1578. <table cellspacing="0">
  1579. <tr><th>',lang(21),'<td><input name="host" maxlength="60" value="',h($G["host"]),'">
  1580. <tr><th>',lang(22),'<td><input name="user" maxlength="16" value="',h($G["user"]),'">
  1581. <tr><th>',lang(23),'<td><input id="pass" name="pass" value="',h($G["pass"]),'">
  1582. ';if(!$G["hashed"]){echo'<script type="text/javascript">typePassword(document.getElementById(\'pass\'));</script>';}echo
  1583. checkbox("hashed",1,$G["hashed"],lang(218),"typePassword(this.form['pass'], this.checked);"),'</table>
  1584. ';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(53)."</a>";$p=0;foreach($tc
  1585. as$Fd=>$sc){echo'<th>'.($Fd!="*.*"?"<input name='objects[$p]' value='".h($Fd)."' size='10'>":"<input type='hidden' name='objects[$p]' value='*.*' size='10'>*.*");$p++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(21),"Databases"=>lang(24),"Tables"=>lang(102),"Columns"=>lang(103),"Procedures"=>lang(219),)as$db=>$sb){foreach((array)$Be[$db]as$Ae=>$Xa){echo"<tr".odd()."><td".($sb?">$sb<td":" colspan='2'").' lang="en" title="'.h($Xa).'">'.h($Ae);$p=0;foreach($tc
  1586. as$Fd=>$sc){$_="'grants[$p][".h(strtoupper($Ae))."]'";$X=$sc[strtoupper($Ae)];if($db=="Server Admin"&&$Fd!=(isset($tc["*.*"])?"*.*":".*"))echo"<td>&nbsp;";elseif(isset($_GET["grant"]))echo"<td><select name=$_><option><option value='1'".($X?" selected":"").">".lang(220)."<option value='0'".($X=="0"?" selected":"").">".lang(221)."</select>";else
  1587. echo"<td align='center'><input type='checkbox' name=$_ value='1'".($X?" checked":"").($Ae=="All privileges"?" id='grants-$p-all'":($Ae=="Grant option"?"":" onclick=\"if (this.checked) formUncheck('grants-$p-all');\"")).">";$p++;}}}echo"</table>\n",'<p>
  1588. <input type="submit" value="',lang(141),'">
  1589. ';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(80),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$Q,'">
  1590. </form>
  1591. ';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$k){$Tc=0;foreach((array)$_POST["kill"]as$W){if(queries("KILL ".(+$W)))$Tc++;}queries_redirect(ME."processlist=",lang(222,$Tc),$Tc||!$_POST["kill"]);}page_header(lang(73),$k);echo'
  1592. <form action="" method="post">
  1593. <table cellspacing="0" onclick="tableClick(event);" class="nowrap checkable">
  1594. ';$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
  1595. as$v=>$W)echo"<td>".(($u=="sql"&&$v=="Info"&&ereg("Query|Killed",$G["Command"])&&$W!="")||($u=="pgsql"&&$v=="current_query"&&$W!="<IDLE>")||($u=="oracle"&&$v=="sql_text"&&$W!="")?"<code class='jush-$u'>".shorten_utf8($W,100,"</code>").' <a href="'.h(ME.($G["db"]!=""?"db=".urlencode($G["db"])."&":"")."sql=".urlencode($W)).'">'.lang(33).'</a>':nbsp($W));echo"\n";}echo'</table>
  1596. <script type=\'text/javascript\'>tableCheck();</script>
  1597. <p>
  1598. ';if(support("kill")){echo($p+1)."/".lang(223,$g->result("SELECT @@max_connections")),"<p><input type='submit' value='".lang(224)."'>\n";}echo'<input type="hidden" name="token" value="',$Q,'">
  1599. </form>
  1600. ';}elseif(isset($_GET["select"])){$a=$_GET["select"];$O=table_status($a);$t=indexes($a);$m=fields($a);$kc=column_foreign_keys($a);$Gd="";if($O["Oid"]=="t"){$Gd=($u=="sqlite"?"rowid":"oid");$t[]=array("type"=>"PRIMARY","columns"=>array($Gd));}parse_str($_COOKIE["adminer_import"],$ra);$Re=array();$f=array();$Hf=null;foreach($m
  1601. as$v=>$l){$_=$b->fieldName($l);if(isset($l["privileges"]["select"])&&$_!=""){$f[$v]=html_entity_decode(strip_tags($_));if(ereg('text|lob',$l["type"]))$Hf=$b->selectLengthProcess();}$Re+=$l["privileges"];}list($I,$uc)=$b->selectColumnsProcess($f,$t);$Z=$b->selectSearchProcess($m,$t);$Td=$b->selectOrderProcess($m,$t);$x=$b->selectLimitProcess();$pc=($I?implode(", ",$I):($Gd?"$Gd, ":"")."*")."\nFROM ".table($a);$vc=($uc&&count($uc)<count($I)?"\nGROUP BY ".implode(", ",$uc):"").($Td?"\nORDER BY ".implode(", ",$Td):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$cg=>$G)echo$g->result("SELECT".limit(idf_escape(key($G))." FROM ".table($a)," WHERE ".where_check($cg).($Z?" AND ".implode(" AND ",$Z):"").($Td?" ORDER BY ".implode(", ",$Td):""),1));exit;}if($_POST&&!$k){$sg="(".implode(") OR (",array_map('where_check',(array)$_POST["check"])).")";$xe=$eg=null;foreach($t
  1602. as$s){if($s["type"]=="PRIMARY"){$xe=array_flip($s["columns"]);$eg=($I?$xe:array());break;}}foreach((array)$eg
  1603. as$v=>$W){if(in_array(idf_escape($v),$I))unset($eg[$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"])||$eg===array()){$rg=$Z;if(is_array($_POST["check"]))$rg[]="($sg)";$D="SELECT $pc".($rg?"\nWHERE ".implode(" AND ",$rg):"").$vc;}else{$ag=array();foreach($_POST["check"]as$W)$ag[]="(SELECT".limit($pc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($W).$vc,1).")";$D=implode(" UNION ALL ",$ag);}$b->dumpData($a,"table",$D);exit;}if(!$b->selectEmailProcess($Z,$kc)){if($_POST["save"]||$_POST["delete"]){$E=true;$sa=0;$D=table($a);$K=array();if(!$_POST["delete"]){foreach($f
  1604. 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){$Va="UPDATE";if($_POST["delete"]){$Va="DELETE";$D="FROM $D";}if($_POST["clone"]){$Va="INSERT";$D="INTO $D";}if($_POST["all"]||($eg===array()&&$_POST["check"])||count($uc)<count($I)){$E=queries("$Va $D".($_POST["all"]?($Z?"\nWHERE ".implode(" AND ",$Z):""):"\nWHERE $sg"));$sa=$g->affected_rows;}else{foreach((array)$_POST["check"]as$W){$E=queries($Va.limit1($D,"\nWHERE ".where_check($W)));if(!$E)break;$sa+=$g->affected_rows;}}}$qd=lang(225,$sa);if($_POST["clone"]&&$E&&$sa==1){$Xc=last_id();if($Xc)$qd=lang(139," $Xc");}queries_redirect(remove_from_uri("page"),$qd,$E);}elseif(!$_POST["import"]){if(!$_POST["val"])$k=lang(226);else{$E=true;$sa=0;foreach($_POST["val"]as$cg=>$G){$K=array();foreach($G
  1605. 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);$rg=" WHERE ".where_check($cg).($Z?" AND ".implode(" AND ",$Z):"");$E=queries("UPDATE".(count($uc)<count($I)?" $D$rg":limit1($D,$rg)));if(!$E)break;$sa+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(225,$sa),$E);}}elseif(is_string($dc=get_file("csv_file",true))){cookie("adminer_import","output=".urlencode($ra["output"])."&format=".urlencode($_POST["separator"]));$E=true;$Ua=array_keys($m);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$dc,$jd);$sa=count($jd[0]);begin();$ef=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($jd[0]as$v=>$W){preg_match_all("~((\"[^\"]*\")+|[^$ef]*)$ef~",$W.$ef,$kd);if(!$v&&!array_diff($kd[1],$Ua)){$Ua=$kd[1];$sa--;}else{$K=array();foreach($kd[1]as$p=>$Ra)$K[idf_escape($Ua[$p])]=($Ra==""&&$m[$Ua[$p]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Ra))));$E=insert_update($a,$K,$xe);if(!$E)break;}}if($E)queries("COMMIT");queries_redirect(remove_from_uri("page"),lang(227,$sa),$E);queries("ROLLBACK");}else$k=upload_error($dc);}}$yf=$b->tableName($O);page_header(lang(35).": $yf",$k);session_write_close();$K=null;if(isset($Re["insert"])){$K="";foreach((array)$_GET["where"]as$W){if(count($kc[$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(228).($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($Td,$f,$t);$b->selectLimitPrint($x);$b->selectLengthPrint($Hf);$b->selectActionPrint($t);echo"</form>\n";$fe=$_GET["page"];if($fe=="last"){$nc=$g->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));$fe=floor(max(0,$nc-1)/$x);}$D="SELECT".limit((+$x&&$uc&&count($uc)<count($I)&&$u=="sql"?"SQL_CALC_FOUND_ROWS ":"").$pc,($Z?"\nWHERE ".implode(" AND ",$Z):"").$vc,($x!=""?+$x:null),($fe?$x*$fe: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*$fe);$Gb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$H=array();while($G=$E->fetch_assoc()){if($fe&&$u=="oracle")unset($G["RNUM"]);$H[]=$G;}if($_GET["page"]!="last")$nc=(+$x&&$uc&&count($uc)<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(84)."\n";else{$Fa=$b->backwardKeys($a,$yf);echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' onkeydown='return editingKeydown(event);'>\n","<thead><tr>".(!$uc&&$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(229)."</a>");$Ad=array();$rc=array();reset($I);$Ge=1;foreach($H[0]as$v=>$W){if($v!=$Gd){$W=$_GET["columns"][key($I)];$l=$m[$I?($W?$W["col"]:current($I)):$v];$_=($l?$b->fieldName($l,$Ge):"*");if($_!=""){$Ge++;$Ad[$v]=$_;$e=idf_escape($v);$Ac=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($v);$sb="&desc%5B0%5D=1";echo'<th onmouseover="columnMouse(this);" onmouseout="columnMouse(this, \' hidden\');">','<a href="'.h($Ac.($Td[0]==$e||$Td[0]==$v||(!$Td&&count($uc)<count($I)&&$uc[0]==$e)?$sb:'')).'">';echo(!$I||$W?apply_sql_function($W["fun"],$_):h(current($I)))."</a>";echo"<span class='column hidden'>","<a href='".h($Ac.$sb)."' title='".lang(41)."' class='text'> ?</a>";if(!$W["fun"])echo'<a href="#fieldset-search" onclick="selectSearch(\''.h(js_escape($v)).'\'); return false;" title="'.lang(38).'" class="text jsonly"> =</a>';echo"</span>";}$rc[$v]=$W["fun"];next($I);}}$cd=array();if($_GET["modify"]){foreach($H
  1606. as$G){foreach($G
  1607. as$v=>$W)$cd[$v]=max($cd[$v],min(40,strlen(utf8_decode($W))));}}echo($Fa?"<th>".lang(230):"")."</thead>\n";foreach($b->rowDescriptions($H,$kc)as$_d=>$G){$bg=unique_array($H[$_d],$t);$cg="";foreach($bg
  1608. as$v=>$W)$cg.="&".($W!==null?urlencode("where[".bracket_escape($v)."]")."=".urlencode($W):"null%5B%5D=".urlencode($v));echo"<tr".odd().">".(!$uc&&$I?"":"<td>".checkbox("check[]",substr($cg,1),in_array(substr($cg,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($uc)<count($I)||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$cg)."'>".lang(229)."</a>"));foreach($G
  1609. as$v=>$W){if(isset($Ad[$v])){$l=$m[$v];if($W!=""&&(!isset($Gb[$v])||$Gb[$v]!=""))$Gb[$v]=(is_mail($W)?$Ad[$v]:"");$y="";$W=$b->editVal($W,$l);if($W!==null){if(ereg('blob|bytea|raw|file',$l["type"])&&$W!="")$y=h(ME.'download='.urlencode($a).'&field='.urlencode($v).$cg);if($W==="")$W="&nbsp;";elseif(is_utf8($W)){if($Hf!=""&&ereg('text|blob',$l["type"]))$W=shorten_utf8($W,max(0,+$Hf));else$W=h($W);}if(!$y){foreach((array)$kc[$v]as$n){if(count($kc[$v])==1||end($n["source"])==$v){$y="";foreach($n["source"]as$p=>$jf)$y.=where_link($p,$n["target"][$p],$H[$_d][$jf]);$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"],$bg))$y.=h(where_link($p++,$V["col"],$V["val"],$V["op"]));}foreach($bg
  1610. as$Qc=>$V)$y.=h(where_link($p++,$Qc,$V));}}if(!$y){if(is_mail($W))$y="mailto:$W";if($Ee=is_url($G[$v]))$y=($Ee=="http"&&$ba?$G[$v]:"$Ee://www.adminer.org/redirect/?url=".urlencode($G[$v]));}$q=h("val[$cg][".bracket_escape($v)."]");$X=$_POST["val"][$cg][bracket_escape($v)];$xc=h($X!==null?$X:$G[$v]);$hd=strpos($W,"<i>...</i>");$Db=is_utf8($W)&&$H[$_d][$v]==$G[$v]&&!$rc[$v];$Gf=ereg('text|lob',$l["type"]);echo(($_GET["modify"]&&$Db)||$X!==null?"<td>".($Gf?"<textarea name='$q' cols='30' rows='".(substr_count($G[$v],"\n")+1)."'>$xc</textarea>":"<input name='$q' value='$xc' size='$cd[$v]'>"):"<td id='$q' ondblclick=\"".($Db?"selectDblClick(this, event".($hd?", 2":($Gf?", 1":"")).")":"alert('".h(lang(231))."')").";\">".$b->selectVal($W,$y,$l));}}if($Fa)echo"<td>";$b->backwardKeysPrint($Fa,$H[$_d]);echo"</tr>\n";}echo"</table>\n",(!$uc&&$I?"":"<script type='text/javascript'>tableCheck();</script>\n");}if($H||$fe){$Rb=true;if($_GET["page"]!="last"&&+$x&&count($uc)>=count($I)&&($nc>=$x||$fe)){$nc=found_rows($O,$Z);if($nc<max(1e4,2*($fe+1)*$x)){ob_flush();flush();$nc=$g->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));}else$Rb=false;}echo"<p class='pages'>";if(+$x&&$nc>$x){$md=floor(($nc-1)/$x);echo'<a href="'.h(remove_from_uri("page"))."\" onclick=\"pageClick(this.href, +prompt('".lang(232)."', '".($fe+1)."'), event); return false;\">".lang(232)."</a>:",pagination(0,$fe).($fe>5?" ...":"");for($p=max(1,$fe-4);$p<min($md,$fe+5);$p++)echo
  1611. pagination($p,$fe);echo($fe+5<$md?" ...":"").($Rb?pagination($md,$fe):' <a href="'.h(remove_from_uri()."&page=last").'">'.lang(233)."</a>");}echo" (".($Rb?"":"~ ").lang(122,$nc).") ".checkbox("all",1,0,lang(234))."\n";if($b->selectCommandPrint()){echo'<fieldset><legend>',lang(33),'</legend><div>
  1612. <input type="submit" value="',lang(141),'"',($_GET["modify"]?'':' title="'.lang(226).'" class="jsonly"'),'>
  1613. <input type="submit" name="edit" value="',lang(33),'">
  1614. <input type="submit" name="clone" value="',lang(235),'">
  1615. <input type="submit" name="delete" value="',lang(144),'" onclick="return confirm(\'',lang(0);?> (' + (this.form['all'].checked ? <?php echo$nc,' : formChecked(this, /check/)) + \')\');">
  1616. </div></fieldset>
  1617. ';}$lc=$b->dumpFormat();if($lc){print_fieldset("export",lang(114));$de=$b->dumpOutput();echo($de?html_select("output",$de,$ra["output"])." ":""),html_select("format",$lc,$ra["format"])," <input type='submit' name='export' value='".lang(114)."'>\n","</div></fieldset>\n";}}if($b->selectImportPrint()){print_fieldset("import",lang(236),!$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(236)."'>","<input type='hidden' name='token' value='$Q'>\n","</div></fieldset>\n";}$b->selectEmailPrint(array_filter($Gb,'strlen'),$f);echo"</form>\n";}}}elseif(isset($_GET["variables"])){$nf=isset($_GET["status"]);page_header($nf?lang(75):lang(74));$mg=($nf?show_status():show_variables());if(!$mg)echo"<p class='message'>".lang(84)."\n";else{echo"<table cellspacing='0'>\n";foreach($mg
  1618. as$v=>$W){echo"<tr>","<th><code class='jush-".$u.($nf?"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"){$vf=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($vf+array("Auto_increment"=>0,"Rows"=>0)as$v=>$W){if($O[$v]!=""){$W=number_format($O[$v],0,'.',lang(7));json_row("$v-$q",($v=="Rows"&&$W&&$O["Engine"]==($lf=="pgsql"?"table":"InnoDB")?"~ $W":$W));if(isset($vf[$v]))$vf[$v]+=($O["Engine"]!="InnoDB"||$v!="Data_free"?$O[$v]:0);}elseif(array_key_exists($v,$O))json_row("$v-$q");}}}foreach($vf
  1619. as$v=>$W)json_row("sum-$v",number_format($W,0,'.',lang(7)));json_row("");}else{foreach(count_tables($b->databases())as$j=>$W)json_row("tables-".js_escape($j),$W);json_row("");}exit;}else{$Df=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Df&&!$k&&!$_POST["search"]){$E=true;$qd="";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"]);$qd=lang(237);}elseif($_POST["move"]){$E=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$qd=lang(238);}elseif($_POST["copy"]){$E=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$qd=lang(239);}elseif($_POST["drop"]){if($_POST["views"])$E=drop_views($_POST["views"]);if($E&&$_POST["tables"])$E=drop_tables($_POST["tables"]);$qd=lang(240);}elseif($u!="sql"){$E=($u=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$qd=lang(241);}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())$qd.="<b>".h($G["Table"])."</b>: ".h($G["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$qd,$E);}page_header(($_GET["ns"]==""?lang(24).": ".h(DB):lang(82).": ".h($_GET["ns"])),$k,true);if($b->homepage()){if($_GET["ns"]!==""){echo"<h3>".lang(242)."</h3>\n";$Cf=tables_list();if(!$Cf)echo"<p class='message'>".lang(6)."\n";else{echo"<form action='' method='post'>\n","<p>".lang(243).": <input name='query' value='".h($_POST["query"])."'> <input type='submit' name='search' value='".lang(38)."'>\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(102),'<td>'.lang(244),'<td>'.lang(78),'<td>'.lang(245),'<td>'.lang(246),'<td>'.lang(247),'<td>'.lang(94),'<td>'.lang(248),(support("comment")?'<td>'.lang(96):''),"</thead>\n";foreach($Cf
  1620. as$_=>$S){$og=($S!==null&&!eregi("table",$S));echo'<tr'.odd().'><td>'.checkbox(($og?"views[]":"tables[]"),$_,in_array($_,$Df,true),"","formUncheck('check-all');"),'<th><a href="'.h(ME).'table='.urlencode($_).'" title="'.lang(28).'">'.h($_).'</a>';if($og){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($_).'" title="'.lang(29).'">'.lang(101).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($_).'" title="'.lang(27).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(30)),"Index_length"=>array("indexes",lang(105)),"Data_free"=>array("edit",lang(31)),"Auto_increment"=>array("auto_increment=1&create",lang(30)),"Rows"=>array("select",lang(27)),)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(223,count($Cf)),"<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>".(ereg('^(sql|sqlite|pgsql)$',$u)?($u!="sqlite"?"<input type='submit' value='".lang(249)."'> ":"")."<input type='submit' name='optimize' value='".lang(250)."'> ":"").($u=="sql"?"<input type='submit' name='check' value='".lang(251)."'> <input type='submit' name='repair' value='".lang(252)."'> ":"")."<input type='submit' name='truncate' value='".lang(253)."'".confirm("formChecked(this, /tables/)")."> <input type='submit' name='drop' value='".lang(80)."'".confirm("formChecked(this, /tables|views/)").">\n";$i=(support("scheme")?schemas():$b->databases());if(count($i)!=1&&$u!="sqlite"){$j=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(254).": ",($i?html_select("target",$i,$j):'<input name="target" value="'.h($j).'">')," <input type='submit' name='move' value='".lang(255)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(256)."'>":""),"\n";}echo"<input type='hidden' name='token' value='$Q'>\n";}echo"</form>\n";}echo'<p><a href="'.h(ME).'create=">'.lang(148)."</a>\n";if(support("view"))echo'<a href="'.h(ME).'view=">'.lang(181)."</a>\n";if(support("routine")){echo"<h3>".lang(117)."</h3>\n";$Ve=routines();if($Ve){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(159).'<td>'.lang(91).'<td>'.lang(198)."<td>&nbsp;</thead>\n";odd('');foreach($Ve
  1621. 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(109)."</a>";}echo"</table>\n";}echo'<p>'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(197).'</a> ':'').'<a href="'.h(ME).'function=">'.lang(196)."</a>\n";}if(support("sequence")){echo"<h3>".lang(257)."</h3>\n";$ff=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($ff){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(159)."</thead>\n";odd('');foreach($ff
  1622. 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(203)."</a>\n";}if(support("type")){echo"<h3>".lang(12)."</h3>\n";$T=types();if($T){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(159)."</thead>\n";odd('');foreach($T
  1623. 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(207)."</a>\n";}if(support("event")){echo"<h3>".lang(118)."</h3>\n";$H=get_rows("SHOW EVENTS");if($H){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(159)."<td>".lang(258)."<td>".lang(187)."<td>".lang(188)."</thead>\n";foreach($H
  1624. as$G){echo"<tr>",'<th><a href="'.h(ME).'event='.urlencode($G["Name"]).'">'.h($G["Name"])."</a>","<td>".($G["Execute at"]?lang(259)."<td>".$G["Execute at"]:lang(189)." ".$G["Interval value"]." ".$G["Interval field"]."<td>$G[Starts]"),"<td>$G[Ends]";}echo"</table>\n";$Qb=$g->result("SELECT @@event_scheduler");if($Qb&&$Qb!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($Qb)."\n";}echo'<p><a href="'.h(ME).'event=">'.lang(186)."</a>\n";}if($Cf)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}}}page_footer();