PageRenderTime 75ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 2ms

/www/adminer/index.php

https://github.com/nella/framework-sandbox
PHP | 1501 lines | 1489 code | 5 blank | 7 comment | 30 complexity | 0c9035835c7d6eb624d5cbe2c5cec92c MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /** Adminer - Compact database management
  3. * @link http://www.adminer.org/
  4. * @author Jakub Vrana, http://www.vrana.cz/
  5. * @copyright 2007 Jakub Vrana
  6. * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
  7. * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
  8. * @version 3.3.3
  9. */error_reporting(6135);$ac=(!ereg('^(unsafe_raw)?$',ini_get("filter.default")));if($ac||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$W){$Pf=filter_input_array(constant("INPUT$W"),FILTER_UNSAFE_RAW);if($Pf){$$W=$Pf;}}}if(isset($_GET["file"])){header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
  10. base64_decode("AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAEzMzMREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD//9UAwP/VAIB/AACAf/AAgH+kAIB/gACAfwAAgH8AAIABAACAAf8AgAH/AMAA/wD+AP8A/wAIAf+B1QD//9UA");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo'body{color:#000;background:#fff;font:90%/1.25 Verdana,Arial,Helvetica,sans-serif;margin:0;}a{color:blue;}a:visited{color:navy;}a:hover{color:red;}h1{font-size:150%;margin:0;padding:.8em 1em;border-bottom:1px solid #999;font-weight:normal;color:#777;background:#eee;}h2{font-size:150%;margin:0 0 20px -18px;padding:.8em 1em;border-bottom:1px solid #000;color:#000;font-weight:normal;background:#ddf;}h3{font-weight:normal;font-size:130%;margin:1em 0 0;}form{margin:0;}table{margin:1em 20px 0 0;border:0;border-top:1px solid #999;border-left:1px solid #999;font-size:90%;}td,th{border:0;border-right:1px solid #999;border-bottom:1px solid #999;padding:.2em .3em;}th{background:#eee;text-align:left;}thead th{text-align:center;}thead td,thead th{background:#ddf;}fieldset{display:inline;vertical-align:top;padding:.5em .8em;margin:.8em .5em 0 0;border:1px solid #999;}p{margin:.8em 20px 0 0;}img{vertical-align:middle;border:0;}td img{max-width:200px;max-height:200px;}code{background:#eee;}tbody tr:hover td,tbody tr:hover th{background:#eee;}pre{margin:1em 0 0;}input[type=image]{vertical-align:middle;}.version{color:#777;font-size:67%;}.js .hidden,.nojs .jsonly{display:none;}.nowrap td,.nowrap th,td.nowrap{white-space:pre;}.wrap td{white-space:normal;}.error{color:red;background:#fee;}.error b{background:#fff;font-weight:normal;}.message{color:green;background:#efe;}.error,.message{padding:.5em .8em;margin:1em 20px 0 0;}.char{color:#007F00;}.date{color:#7F007F;}.enum{color:#007F7F;}.binary{color:red;}.odd td{background:#F5F5F5;}.js .checked td,.js .checked th{background:#ddf;}.time{color:silver;font-size:70%;}.function{text-align:right;}.number{text-align:right;}.datetime{text-align:right;}.type{width:15ex;width:auto\\9;}.options select{width:20ex;width:auto\\9;}.active{font-weight:bold;}.sqlarea{width:98%;}#menu{position:absolute;margin:10px 0 0;padding:0 0 30px 0;top:2em;left:0;width:19em;overflow:auto;overflow-y:hidden;white-space:nowrap;}#menu p{padding:.8em 1em;margin:0;border-bottom:1px solid #ccc;}#content{margin:2em 0 0 21em;padding:10px 20px 20px 0;}#lang{position:absolute;top:0;left:0;line-height:1.8em;padding:.3em 1em;}#breadcrumb{white-space:nowrap;position:absolute;top:0;left:21em;background:#eee;height:2em;line-height:1.8em;padding:0 1em;margin:0 0 0 -18px;}#loader{position:fixed;top:0;left:18em;z-index:1;}#h1{color:#777;text-decoration:none;font-style:italic;}#version{font-size:67%;color:red;}#schema{margin-left:60px;position:relative;}#schema .table{border:1px solid silver;padding:0 2px;cursor:move;position:absolute;}#schema .references{position:absolute;}.rtl h2{margin:0 -18px 20px 0;}.rtl p,.rtl table,.rtl .error,.rtl .message{margin:1em 0 0 20px;}.rtl #content{margin:2em 21em 0 0;padding:10px 0 20px 20px;}.rtl #breadcrumb{left:auto;right:21em;margin:0 -18px 0 0;}.rtl #lang,.rtl #menu{left:auto;right:0;}@media print{#lang,#menu{display:none;}#content{margin-left:1em;}#breadcrumb{left:1em;}.nowrap td,.nowrap th,td.nowrap{white-space:normal;}}';}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");?>
  11. function toggle(id){var el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;}
  12. function cookie(assign,days){var date=new Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date;}
  13. function verifyVersion(){cookie('adminer_version=0',1);var script=document.createElement('script');script.src=location.protocol+'//www.adminer.org/version.php';document.body.appendChild(script);}
  14. function selectValue(select){var selected=select.options[select.selectedIndex];return((selected.attributes.value||{}).specified?selected.value:selected.text);}
  15. function trCheck(el){var tr=el.parentNode.parentNode;tr.className=tr.className.replace(/(^|\s)checked(\s|$)/,'$2')+(el.checked?' checked':'');}
  16. function formCheck(el,name){var elems=el.form.elements;for(var i=0;i<elems.length;i++){if(name.test(elems[i].name)){elems[i].checked=el.checked;trCheck(elems[i]);}}}
  17. function tableCheck(){var tables=document.getElementsByTagName('table');for(var i=0;i<tables.length;i++){if(/(^|\s)checkable(\s|$)/.test(tables[i].className)){var trs=tables[i].getElementsByTagName('tr');for(var j=0;j<trs.length;j++){trCheck(trs[j].firstChild.firstChild);}}}}
  18. function formUncheck(id){var el=document.getElementById(id);el.checked=false;trCheck(el);}
  19. function formChecked(el,name){var checked=0;var elems=el.form.elements;for(var i=0;i<elems.length;i++){if(name.test(elems[i].name)&&elems[i].checked){checked++;}}
  20. return checked;}
  21. function tableClick(event){var click=true;var el=event.target||event.srcElement;while(!/^tr$/i.test(el.tagName)){if(/^table$/i.test(el.tagName)){return;}
  22. if(/^(a|input|textarea)$/i.test(el.tagName)){click=false;}
  23. el=el.parentNode;}
  24. el=el.firstChild.firstChild;if(click){el.click&&el.click();el.onclick&&el.onclick();}
  25. trCheck(el);}
  26. function setHtml(id,html){var el=document.getElementById(id);if(el){if(html==undefined){el.parentNode.innerHTML='&nbsp;';}else{el.innerHTML=html;}}}
  27. function nodePosition(el){var pos=0;while(el=el.previousSibling){pos++;}
  28. return pos;}
  29. function pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');if(!ajaxSend(href)){location.href=href;}}}
  30. function selectAddRow(field){field.onchange=function(){};var row=field.parentNode.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/[a-z]\[\d+/,'$&1');selects[i].selectedIndex=0;}
  31. var inputs=row.getElementsByTagName('input');if(inputs.length){inputs[0].name=inputs[0].name.replace(/[a-z]\[\d+/,'$&1');inputs[0].value='';inputs[0].className='';}
  32. field.parentNode.parentNode.appendChild(row);}
  33. function bodyKeydown(event,button){var target=event.target||event.srcElement;if(event.ctrlKey&&(event.keyCode==13||event.keyCode==10)&&!event.altKey&&!event.metaKey&&/select|textarea|input/i.test(target.tagName)){target.blur();if(!ajaxForm(target.form,(button?button+'=1':''))){if(button){target.form[button].click();}else{target.form.submit();}}
  34. return false;}
  35. return true;}
  36. function editingKeydown(event){if((event.keyCode==40||event.keyCode==38)&&event.ctrlKey&&!event.altKey&&!event.metaKey){var target=event.target||event.srcElement;var sibling=(event.keyCode==40?'nextSibling':'previousSibling');var el=target.parentNode.parentNode[sibling];if(el&&(/^tr$/i.test(el.tagName)||(el=el[sibling]))&&/^tr$/i.test(el.tagName)&&(el=el.childNodes[nodePosition(target.parentNode)])&&(el=el.childNodes[nodePosition(target)])){el.focus();}
  37. return false;}
  38. if(event.shiftKey&&!bodyKeydown(event,'insert')){eventStop(event);return false;}
  39. return true;}
  40. function functionChange(select){var input=select.form[select.name.replace(/^function/,'fields')];if(selectValue(select)){if(input.origMaxLength===undefined){input.origMaxLength=input.maxLength;}
  41. input.removeAttribute('maxlength');}else if(input.origMaxLength>=0){input.maxLength=input.origMaxLength;}}
  42. function ajax(url,callback,data){var xmlhttp=(window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject('Microsoft.XMLHTTP'):false));if(xmlhttp){xmlhttp.open((data?'POST':'GET'),url);if(data){xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
  43. xmlhttp.setRequestHeader('X-Requested-With','XMLHttpRequest');xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){callback(xmlhttp);}};xmlhttp.send(data);}
  44. return xmlhttp;}
  45. function ajaxSetHtml(url){return ajax(url,function(xmlhttp){if(xmlhttp.status){var data=eval('('+xmlhttp.responseText+')');for(var key in data){setHtml(key,data[key]);}}});}
  46. var originalFavicon;function replaceFavicon(href){var favicon=document.getElementById('favicon');if(favicon){favicon.href=href;favicon.parentNode.appendChild(favicon);}}
  47. var ajaxState=0;function ajaxSend(url,data,popState,noscroll){if(!history.pushState){return false;}
  48. var currentState=++ajaxState;onblur=function(){if(!originalFavicon){originalFavicon=(document.getElementById('favicon')||{}).href;}
  49. replaceFavicon(location.pathname+'?file=loader.gif&amp;version=3.3.3');};setHtml('loader','<img src="'+location.pathname+'?file=loader.gif&amp;version=3.3.3" alt="">');return ajax(url,function(xmlhttp){if(currentState==ajaxState){var title=xmlhttp.getResponseHeader('X-AJAX-Title');if(title){document.title=decodeURIComponent(title);}
  50. var redirect=xmlhttp.getResponseHeader('X-AJAX-Redirect');if(redirect){return ajaxSend(redirect,'',popState);}
  51. onblur=function(){};if(originalFavicon){replaceFavicon(originalFavicon);}
  52. if(!xmlhttp.status){setHtml('loader','');}else{if(!popState){if(data||url!=location.href){history.pushState(data,'',url);}}
  53. if(!noscroll&&!/&order/.test(url)){scrollTo(0,0);}
  54. setHtml('content',xmlhttp.responseText);var content=document.getElementById('content');var scripts=content.getElementsByTagName('script');var length=scripts.length;for(var i=0;i<length;i++){var script=document.createElement('script');script.text=scripts[i].text;content.appendChild(script);}
  55. var as=document.getElementById('menu').getElementsByTagName('a');var href=location.href.replace(/(&(sql=|dump=|(select|table)=[^&]*)).*/,'$1');for(var i=0;i<as.length;i++){as[i].className=(href==as[i].href?'active':'');}
  56. var dump=document.getElementById('dump');if(dump){var match=/&(select|table)=([^&]+)/.exec(href);dump.href=dump.href.replace(/[^=]+$/,'')+(match?match[2]:'');}
  57. if(window.jush){jush.highlight_tag('code',0);}}}},data);}
  58. onpopstate=function(event){if((ajaxState||event.state)&&!/#/.test(location.href)){ajaxSend(location.href,(event.state&&confirm(areYouSure)?event.state:''),1);}else{ajaxState++;}};function ajaxForm(form,data,noscroll){if((/&(database|scheme|create|view|sql|user|dump|call)=/.test(location.href)&&!/\./.test(data))||(form.onsubmit&&form.onsubmit()===false)){return false;}
  59. var params=[];for(var i=0;i<form.elements.length;i++){var el=form.elements[i];if(/file/i.test(el.type)&&el.value){return false;}else if(el.name&&(!/checkbox|radio|submit|file/i.test(el.type)||el.checked)){params.push(encodeURIComponent(el.name)+'='+encodeURIComponent(/select/i.test(el.tagName)?selectValue(el):el.value));}}
  60. if(data){params.push(data);}
  61. if(form.method=='post'){return ajaxSend((/\?/.test(form.action)?form.action:location.href),params.join('&'),false,noscroll);}
  62. return ajaxSend((form.action||location.href).replace(/\?.*/,'')+'?'+params.join('&'),'',false,noscroll);}
  63. function selectDblClick(td,event,text){if(/input|textarea/i.test(td.firstChild.tagName)){return;}
  64. var original=td.innerHTML;var input=document.createElement(text?'textarea':'input');input.onkeydown=function(event){if(!event){event=window.event;}
  65. if(event.keyCode==27&&!(event.ctrlKey||event.shiftKey||event.altKey||event.metaKey)){td.innerHTML=original;}};var pos=event.rangeOffset;var value=td.firstChild.alt||td.textContent||td.innerText;input.style.width=Math.max(td.clientWidth-14,20)+'px';if(text){var rows=1;value.replace(/\n/g,function(){rows++;});input.rows=rows;}
  66. if(value=='\u00A0'||td.getElementsByTagName('i').length){value='';}
  67. if(document.selection){var range=document.selection.createRange();range.moveToPoint(event.clientX,event.clientY);var range2=range.duplicate();range2.moveToElementText(td);range2.setEndPoint('EndToEnd',range);pos=range2.text.length;}
  68. td.innerHTML='';td.appendChild(input);input.focus();if(text==2){return ajax(location.href+'&'+encodeURIComponent(td.id)+'=',function(xmlhttp){if(xmlhttp.status){input.value=xmlhttp.responseText;input.name=td.id;}});}
  69. input.value=value;input.name=td.id;input.selectionStart=pos;input.selectionEnd=pos;if(document.selection){var range=document.selection.createRange();range.moveEnd('character',-input.value.length+pos);range.select();}}
  70. function bodyClick(event,db,ns){if(event.button||event.ctrlKey||event.shiftKey||event.altKey||event.metaKey){return;}
  71. if(event.getPreventDefault?event.getPreventDefault():event.returnValue===false||event.defaultPrevented){return false;}
  72. var el=event.target||event.srcElement;if(/^a$/i.test(el.parentNode.tagName)){el=el.parentNode;}
  73. if(/^a$/i.test(el.tagName)&&!/:|#|&download=/i.test(el.getAttribute('href'))&&/[&?]username=/.test(el.href)){var match=/&db=([^&]*)/.exec(el.href);var match2=/&ns=([^&]*)/.exec(el.href);return!(db==(match?match[1]:'')&&ns==(match2?match2[1]:'')&&ajaxSend(el.href));}
  74. if(/^input$/i.test(el.tagName)&&/image|submit/.test(el.type)){return!ajaxForm(el.form,(el.name?encodeURIComponent(el.name)+(el.type=='image'?'.x':'')+'=1':''),el.type=='image');}
  75. return true;}
  76. function eventStop(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}}
  77. var jushRoot=location.protocol + '//www.adminer.org/static/';function bodyLoad(version){if(history.state!==undefined){onpopstate(history);}
  78. if(jushRoot){var script=document.createElement('script');script.src=jushRoot+'jush.js';script.onload=function(){if(window.jush){jush.create_links=' target="_blank" rel="noreferrer"';jush.urls.sql_sqlset=jush.urls.sql[0]=jush.urls.sqlset[0]=jush.urls.sqlstatus[0]='http://dev.mysql.com/doc/refman/'+version+'/en/$key';var pgsql='http://www.postgresql.org/docs/'+version+'/static/';jush.urls.pgsql_pgsqlset=jush.urls.pgsql[0]=pgsql+'$key';jush.urls.pgsqlset[0]=pgsql+'runtime-config-$key.html#GUC-$1';jush.style(jushRoot+'jush.css');if(window.jushLinks){jush.custom_links=jushLinks;}
  79. jush.highlight_tag('code',0);}};script.onreadystatechange=function(){if(/^(loaded|complete)$/.test(script.readyState)){script.onload();}};document.body.appendChild(script);}}
  80. function formField(form,name){for(var i=0;i<form.length;i++){if(form[i].name==name){return form[i];}}}
  81. function typePassword(el,disable){try{el.type=(disable?'text':'password');}catch(e){}}
  82. function loginDriver(driver){var trs=driver.parentNode.parentNode.parentNode.rows;for(var i=1;i<trs.length;i++){trs[i].className=(/sqlite/.test(driver.value)?'hidden':'');}}
  83. function textareaKeydown(target,event){if(!event.shiftKey&&!event.altKey&&!event.ctrlKey&&!event.metaKey){if(event.keyCode==9){if(target.setSelectionRange){var start=target.selectionStart;var scrolled=target.scrollTop;target.value=target.value.substr(0,start)+'\t'+target.value.substr(target.selectionEnd);target.setSelectionRange(start+1,start+1);target.scrollTop=scrolled;return false;}else if(target.createTextRange){document.selection.createRange().text='\t';return false;}}
  84. if(event.keyCode==27){var els=target.form.elements;for(var i=1;i<els.length;i++){if(els[i-1]==target){els[i].focus();break;}}
  85. return false;}}
  86. return true;}
  87. var added='.',rowCount;function delimiterEqual(val,a,b){return(val==a+'_'+b||val==a+b||val==a+b.charAt(0).toUpperCase()+b.substr(1));}
  88. function idfEscape(s){return s.replace(/`/,'``');}
  89. function editingNameChange(field){var name=field.name.substr(0,field.name.length-7);var type=formField(field.form,name+'[type]');var opts=type.options;var candidate;var val=field.value;for(var i=opts.length;i--;){var match=/(.+)`(.+)/.exec(opts[i].value);if(!match){if(candidate&&i==opts.length-2&&val==opts[candidate].value.replace(/.+`/,'')&&name=='fields[1]'){return;}
  90. break;}
  91. var table=match[1];var column=match[2];var tables=[table,table.replace(/s$/,''),table.replace(/es$/,'')];for(var j=0;j<tables.length;j++){table=tables[j];if(val==column||val==table||delimiterEqual(val,table,column)||delimiterEqual(val,column,table)){if(candidate){return;}
  92. candidate=i;break;}}}
  93. if(candidate){type.selectedIndex=candidate;type.onchange();}}
  94. function editingAddRow(button,allowed,focus){if(allowed&&rowCount>=allowed){return false;}
  95. var match=/(\d+)(\.\d+)?/.exec(button.name);var x=match[0]+(match[2]?added.substr(match[2].length):added)+'1';var row=button.parentNode.parentNode;var row2=row.cloneNode(true);var tags=row.getElementsByTagName('select');var tags2=row2.getElementsByTagName('select');for(var i=0;i<tags.length;i++){tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);tags2[i].selectedIndex=tags[i].selectedIndex;}
  96. tags=row.getElementsByTagName('input');tags2=row2.getElementsByTagName('input');var input=tags2[0];for(var i=0;i<tags.length;i++){if(tags[i].name=='auto_increment_col'){tags2[i].value=x;tags2[i].checked=false;}
  97. tags2[i].name=tags[i].name.replace(/([0-9.]+)/,x);if(/\[(orig|field|comment|default)/.test(tags[i].name)){tags2[i].value='';}
  98. if(/\[(has_default)/.test(tags[i].name)){tags2[i].checked=false;}}
  99. tags[0].onchange=function(){editingNameChange(tags[0]);};row.parentNode.insertBefore(row2,row.nextSibling);if(focus){input.onchange=function(){editingNameChange(input);};input.focus();}
  100. added+='0';rowCount++;return true;}
  101. function editingRemoveRow(button){var field=formField(button.form,button.name.replace(/drop_col(.+)/,'fields$1[field]'));field.parentNode.removeChild(field);button.parentNode.parentNode.style.display='none';return true;}
  102. var lastType='';function editingTypeChange(type){var name=type.name.substr(0,type.name.length-6);var text=selectValue(type);for(var i=0;i<type.form.elements.length;i++){var el=type.form.elements[i];if(el.name==name+'[length]'&&!((/(char|binary)$/.test(lastType)&&/(char|binary)$/.test(text))||(/(enum|set)$/.test(lastType)&&/(enum|set)$/.test(text)))){el.value='';}
  103. if(lastType=='timestamp'&&el.name==name+'[has_default]'&&/timestamp/i.test(formField(type.form,name+'[default]').value)){el.checked=false;}
  104. if(el.name==name+'[collation]'){el.className=(/(char|text|enum|set)$/.test(text)?'':'hidden');}
  105. if(el.name==name+'[unsigned]'){el.className=(/(int|float|double|decimal)$/.test(text)?'':'hidden');}
  106. if(el.name==name+'[on_delete]'){el.className=(/`/.test(text)?'':'hidden');}}}
  107. function editingLengthFocus(field){var td=field.parentNode;if(/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))){var edit=document.getElementById('enum-edit');var val=field.value;edit.value=(/^'.+','.+'$/.test(val)?val.substr(1,val.length-2).replace(/','/g,"\n").replace(/''/g,"'"):val);td.appendChild(edit);field.style.display='none';edit.style.display='inline';edit.focus();}}
  108. function editingLengthBlur(edit){var field=edit.parentNode.firstChild;var val=edit.value;field.value=(/\n/.test(val)?"'"+val.replace(/\n+$/,'').replace(/'/g,"''").replace(/\n/g,"','")+"'":val);field.style.display='inline';edit.style.display='none';}
  109. function columnShow(checked,column){var trs=document.getElementById('edit-fields').getElementsByTagName('tr');for(var i=0;i<trs.length;i++){trs[i].getElementsByTagName('td')[column].className=(checked?'':'hidden');}}
  110. function partitionByChange(el){var partitionTable=/RANGE|LIST/.test(selectValue(el));el.form['partitions'].className=(partitionTable||!el.selectedIndex?'hidden':'');document.getElementById('partition-table').className=(partitionTable?'':'hidden');}
  111. function partitionNameChange(el){var row=el.parentNode.parentNode.cloneNode(true);row.firstChild.firstChild.value='';el.parentNode.parentNode.parentNode.appendChild(row);el.onchange=function(){};}
  112. function foreignAddRow(field){field.onchange=function(){};var row=field.parentNode.parentNode.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/\]/,'1$&');selects[i].selectedIndex=0;}
  113. field.parentNode.parentNode.parentNode.appendChild(row);}
  114. function indexesAddRow(field){field.onchange=function(){};var parent=field.parentNode.parentNode;var row=parent.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/indexes\[\d+/,'$&1');selects[i].selectedIndex=0;}
  115. var inputs=row.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){inputs[i].name=inputs[i].name.replace(/indexes\[\d+/,'$&1');inputs[i].value='';}
  116. parent.parentNode.appendChild(row);}
  117. function indexesChangeColumn(field,prefix){var columns=field.parentNode.parentNode.getElementsByTagName('select');var names=[];for(var i=0;i<columns.length;i++){var value=selectValue(columns[i]);if(value){names.push(value);}}
  118. field.form[field.name.replace(/\].*/,'][name]')].value=prefix+names.join('_');}
  119. function indexesAddColumn(field,prefix){field.onchange=function(){indexesChangeColumn(field,prefix);};var select=field.form[field.name.replace(/\].*/,'][type]')];if(!select.selectedIndex){select.selectedIndex=3;select.onchange();}
  120. var column=field.parentNode.cloneNode(true);select=column.getElementsByTagName('select')[0];select.name=select.name.replace(/\]\[\d+/,'$&1');select.selectedIndex=0;var input=column.getElementsByTagName('input')[0];input.name=input.name.replace(/\]\[\d+/,'$&1');input.value='';field.parentNode.parentNode.appendChild(column);field.onchange();}
  121. var that,x,y,em,tablePos;function schemaMousedown(el,event){that=el;x=event.clientX-el.offsetLeft;y=event.clientY-el.offsetTop;}
  122. function schemaMousemove(ev){if(that!==undefined){ev=ev||event;var left=(ev.clientX-x)/em;var top=(ev.clientY-y)/em;var divs=that.getElementsByTagName('div');var lineSet={};for(var i=0;i<divs.length;i++){if(divs[i].className=='references'){var div2=document.getElementById((divs[i].id.substr(0,4)=='refs'?'refd':'refs')+divs[i].id.substr(4));var ref=(tablePos[divs[i].title]?tablePos[divs[i].title]:[div2.parentNode.offsetTop/em,0]);var left1=-1;var isTop=true;var id=divs[i].id.replace(/^ref.(.+)-.+/,'$1');if(divs[i].parentNode!=div2.parentNode){left1=Math.min(0,ref[1]-left)-1;divs[i].style.left=left1+'em';divs[i].getElementsByTagName('div')[0].style.width=-left1+'em';var left2=Math.min(0,left-ref[1])-1;div2.style.left=left2+'em';div2.getElementsByTagName('div')[0].style.width=-left2+'em';isTop=(div2.offsetTop+ref[0]*em>divs[i].offsetTop+top*em);}
  123. if(!lineSet[id]){var line=document.getElementById(divs[i].id.replace(/^....(.+)-\d+$/,'refl$1'));var shift=ev.clientY-y-that.offsetTop;line.style.left=(left+left1)+'em';if(isTop){line.style.top=(line.offsetTop+shift)/em+'em';}
  124. if(divs[i].parentNode!=div2.parentNode){line=line.getElementsByTagName('div')[0];line.style.height=(line.offsetHeight+(isTop?-1:1)*shift)/em+'em';}
  125. lineSet[id]=true;}}}
  126. that.style.left=left+'em';that.style.top=top+'em';}}
  127. function schemaMouseup(ev,db){if(that!==undefined){ev=ev||event;tablePos[that.firstChild.firstChild.firstChild.data]=[(ev.clientY-y)/em,(ev.clientX-x)/em];that=undefined;var s='';for(var key in tablePos){s+='_'+key+':'+Math.round(tablePos[key][0]*10000)/10000+'x'+Math.round(tablePos[key][1]*10000)/10000;}
  128. s=encodeURIComponent(s.substr(1));var link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}<?php
  129. }else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo
  130. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIYSPqcvtD00I8cwqKb5v+q8pIAhxlRmhZYi17iPE8kzLBQA7");break;case"cross.gif":echo
  131. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACI4SPqcvtDyMKYdZGb355wy6BX3dhlOEx57FK7gtHwkzXNl0AADs=");break;case"up.gif":echo
  132. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00IUU4K730T9J5hFTiKEXmaYcW2rgDH8hwXADs=");break;case"down.gif":echo
  133. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00I8cwqKb5bV/5cosdMJtmcHca2lQDH8hwXADs=");break;case"arrow.gif":echo
  134. base64_decode("R0lGODlhCAAKAIAAAICAgP///yH5BAEAAAEALAAAAAAIAAoAAAIPBIJplrGLnpQRqtOy3rsAADs=");break;case"loader.gif":echo
  135. base64_decode("R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==");break;}}exit;}function
  136. connection(){global$g;return$g;}function
  137. adminer(){global$b;return$b;}function
  138. idf_unescape($r){$Oc=substr($r,-1);return
  139. str_replace($Oc.$Oc,$Oc,substr($r,1,-1));}function
  140. escape_string($W){return
  141. substr(q($W),1,-1);}function
  142. remove_slashes($qe,$ac=false){if(get_magic_quotes_gpc()){while(list($v,$W)=each($qe)){foreach($W
  143. as$Kc=>$V){unset($qe[$v][$Kc]);if(is_array($V)){$qe[$v][stripslashes($Kc)]=$V;$qe[]=&$qe[$v][stripslashes($Kc)];}else{$qe[$v][stripslashes($Kc)]=($ac?$V:stripslashes($V));}}}}}function
  144. bracket_escape($r,$Ba=false){static$Ef=array(':'=>':1',']'=>':2','['=>':3');return
  145. strtr($r,($Ba?array_flip($Ef):$Ef));}function
  146. h($L){return
  147. htmlspecialchars(str_replace("\0","",$L),ENT_QUOTES);}function
  148. nbsp($L){return(trim($L)!=""?h($L):"&nbsp;");}function
  149. nl_br($L){return
  150. str_replace("\n","<br>",$L);}function
  151. checkbox($_,$X,$La,$Mc="",$Dd="",$Jc=false){static$q=0;$q++;$F="<input type='checkbox' name='$_' value='".h($X)."'".($La?" checked":"").($Dd?' onclick="'.h($Dd).'"':'').($Jc?" class='jsonly'":"")." id='checkbox-$q'>";return($Mc!=""?"<label for='checkbox-$q'>$F".h($Mc)."</label>":$F);}function
  152. optionlist($Hd,$Pe=null,$Uf=false){$F="";foreach($Hd
  153. as$Kc=>$V){$Id=array($Kc=>$V);if(is_array($V)){$F.='<optgroup label="'.h($Kc).'">';$Id=$V;}foreach($Id
  154. as$v=>$W){$F.='<option'.($Uf||is_string($v)?' value="'.h($v).'"':'').(($Uf||is_string($v)?(string)$v:$W)===$Pe?' selected':'').'>'.h($W);}if(is_array($V)){$F.='</optgroup>';}}return$F;}function
  155. html_select($_,$Hd,$X="",$Cd=true){if($Cd){return"<select name='".h($_)."'".(is_string($Cd)?' onchange="'.h($Cd).'"':"").">".optionlist($Hd,$X)."</select>";}$F="";foreach($Hd
  156. as$v=>$W){$F.="<label><input type='radio' name='".h($_)."' value='".h($v)."'".($v==$X?" checked":"").">".h($W)."</label>";}return$F;}function
  157. confirm($bb="",$cf=false){return" onclick=\"".($cf?"eventStop(event); ":"")."return confirm('".lang(0).($bb?" (' + $bb + ')":"")."');\"";}function
  158. print_fieldset($q,$Tc,$ag=false,$Dd=""){echo"<fieldset><legend><a href='#fieldset-$q' onclick=\"".h($Dd)."return !toggle('fieldset-$q');\">$Tc</a></legend><div id='fieldset-$q'".($ag?"":" class='hidden'").">\n";}function
  159. bold($Ga){return($Ga?" class='active'":"");}function
  160. odd($F=' class="odd"'){static$p=0;if(!$F){$p=-1;}return($p++%
  161. 2?$F:'');}function
  162. js_escape($L){return
  163. addcslashes($L,"\r\n'\\/");}function
  164. json_row($v,$W=null){static$bc=true;if($bc){echo"{";}if($v!=""){echo($bc?"":",")."\n\t\"".addcslashes($v,"\r\n\"\\").'": '.(isset($W)?'"'.addcslashes($W,"\r\n\"\\").'"':'undefined');$bc=false;}else{echo"\n}\n";$bc=true;}}function
  165. ini_bool($Bc){$W=ini_get($Bc);return(eregi('^(on|true|yes)$',$W)||(int)$W);}function
  166. sid(){static$F;if(!isset($F)){$F=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));}return$F;}function
  167. q($L){global$g;return$g->quote($L);}function
  168. get_vals($D,$e=0){global$g;$F=array();$E=$g->query($D);if(is_object($E)){while($G=$E->fetch_row()){$F[]=$G[$e];}}return$F;}function
  169. get_key_vals($D,$h=null){global$g;if(!is_object($h)){$h=$g;}$F=array();$E=$h->query($D);if(is_object($E)){while($G=$E->fetch_row()){$F[$G[0]]=$G[1];}}return$F;}function
  170. get_rows($D,$h=null,$k="<p class='error'>"){global$g;if(!is_object($h)){$h=$g;}$F=array();$E=$h->query($D);if(is_object($E)){while($G=$E->fetch_assoc()){$F[]=$G;}}elseif(!$E&&$g->error&&$k&&defined("PAGE_HEADER")){echo$k.error()."\n";}return$F;}function
  171. unique_array($G,$t){foreach($t
  172. as$s){if(ereg("PRIMARY|UNIQUE",$s["type"])){$F=array();foreach($s["columns"]as$v){if(!isset($G[$v])){continue
  173. 2;}$F[$v]=$G[$v];}return$F;}}$F=array();foreach($G
  174. as$v=>$W){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$v)){$F[$v]=$W;}}return$F;}function
  175. where($Z){global$u;$F=array();foreach((array)$Z["where"]as$v=>$W){$F[]=idf_escape(bracket_escape($v,1)).(ereg('\\.',$W)||$u=="mssql"?" LIKE ".exact_value(addcslashes($W,"%_\\")):" = ".exact_value($W));}foreach((array)$Z["null"]as$v){$F[]=idf_escape($v)." IS NULL";}return
  176. implode(" AND ",$F);}function
  177. where_check($W){parse_str($W,$Ka);remove_slashes(array(&$Ka));return
  178. where($Ka);}function
  179. where_link($p,$e,$X,$Ed="="){return"&where%5B$p%5D%5Bcol%5D=".urlencode($e)."&where%5B$p%5D%5Bop%5D=".urlencode((isset($X)?$Ed:"IS NULL"))."&where%5B$p%5D%5Bval%5D=".urlencode($X);}function
  180. cookie($_,$X){global$ba;$Vd=array($_,(ereg("\n",$X)?"":$X),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Vd[]=true;}return
  181. call_user_func_array('setcookie',$Vd);}function
  182. restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($v){return$_SESSION[$v][DRIVER][SERVER][$_GET["username"]];}function
  183. set_session($v,$W){$_SESSION[$v][DRIVER][SERVER][$_GET["username"]]=$W;}function
  184. auth_url($sb,$J,$U){global$tb;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($tb))."|username|".session_name()),$z);return"$z[1]?".(sid()?SID."&":"").($sb!="server"||$J!=""?urlencode($sb)."=".urlencode($J)."&":"")."username=".urlencode($U).($z[2]?"&$z[2]":"");}function
  185. is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
  186. redirect($Wc,$hd=null){if(isset($hd)){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',(isset($Wc)?$Wc:$_SERVER["REQUEST_URI"]))][]=$hd;}if(isset($Wc)){if($Wc==""){$Wc=".";}header((is_ajax()?"X-AJAX-Redirect":"Location").": $Wc");exit;}}function
  187. query_redirect($D,$Wc,$hd,$ve=true,$Pb=true,$Wb=false){global$g,$k,$b;if($Pb){$Wb=!$g->query($D);}$Ye="";if($D){$Ye=$b->messageQuery("$D;");}if($Wb){$k=error().$Ye;return
  188. false;}if($ve){redirect($Wc,$hd.$Ye);}return
  189. true;}function
  190. queries($D=null){global$g;static$te=array();if(!isset($D)){return
  191. implode(";\n",$te);}$te[]=(ereg(';$',$D)?"DELIMITER ;;\n$D;\nDELIMITER ":$D);return$g->query($D);}function
  192. apply_queries($D,$P,$Lb='table'){foreach($P
  193. as$N){if(!queries("$D ".$Lb($N))){return
  194. false;}}return
  195. true;}function
  196. queries_redirect($Wc,$hd,$ve){return
  197. query_redirect(queries(),$Wc,$hd,$ve,false,!$ve);}function
  198. remove_from_uri($Ud=""){return
  199. substr(preg_replace("~(?<=[?&])($Ud".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
  200. pagination($Td,$gb){return" ".($Td==$gb?$Td+1:'<a href="'.h(remove_from_uri("page").($Td?"&page=$Td":"")).'">'.($Td+1)."</a>");}function
  201. get_file($v,$lb=false){$Yb=$_FILES[$v];if(!$Yb||$Yb["error"]){return$Yb["error"];}$F=file_get_contents($lb&&ereg('\\.gz$',$Yb["name"])?"compress.zlib://$Yb[tmp_name]":($lb&&ereg('\\.bz2$',$Yb["name"])?"compress.bzip2://$Yb[tmp_name]":$Yb["tmp_name"]));if($lb){$Ze=substr($F,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$Ze,$Ae)){$F=iconv("utf-16","utf-8",$F);}elseif($Ze=="\xEF\xBB\xBF"){$F=substr($F,3);}}return$F;}function
  202. upload_error($k){$fd=($k==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($k?lang(1).($fd?" ".lang(2,$fd):""):lang(3));}function
  203. repeat_pattern($ce,$w){return
  204. str_repeat("$ce{0,65535}",$w/65535)."$ce{0,".($w
  205. %
  206. 65535)."}";}function
  207. is_utf8($W){return(preg_match('~~u',$W)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$W));}function
  208. shorten_utf8($L,$w=80,$gf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$w).")($)?)u",$L,$z)){preg_match("(^(".repeat_pattern("[\t\r\n -~]",$w).")($)?)",$L,$z);}return
  209. h($z[1]).$gf.(isset($z[2])?"":"<i>...</i>");}function
  210. friendly_url($W){return
  211. preg_replace('~[^a-z0-9_]~i','-',$W);}function
  212. hidden_fields($qe,$xc=array()){while(list($v,$W)=each($qe)){if(is_array($W)){foreach($W
  213. as$Kc=>$V){$qe[$v."[$Kc]"]=$V;}}elseif(!in_array($v,$xc)){echo'<input type="hidden" name="'.h($v).'" value="'.h($W).'">';}}}function
  214. hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
  215. column_foreign_keys($N){global$b;$F=array();foreach($b->foreignKeys($N)as$n){foreach($n["source"]as$W){$F[$W][]=$n;}}return$F;}function
  216. enum_input($S,$za,$l,$X,$Db=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ad);$F=(isset($Db)?"<label><input type='$S'$za value='$Db'".((is_array($X)?in_array($Db,$X):$X===0)?" checked":"")."><i>".lang(4)."</i></label>":"");foreach($ad[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$La=(is_int($X)?$X==$p+1:(is_array($X)?in_array($p+1,$X):$X===$W));$F.=" <label><input type='$S'$za value='".($p+1)."'".($La?' checked':'').'>'.h($b->editVal($W,$l)).'</label>';}return$F;}function
  217. input($l,$X,$o){global$T,$b,$u;$_=h(bracket_escape($l["field"]));echo"<td class='function'>";$Ce=($u=="mssql"&&$l["auto_increment"]);if($Ce&&!$_POST["save"]){$o=null;}$lc=(isset($_GET["select"])||$Ce?array("orig"=>lang(5)):array())+$b->editFunctions($l);$za=" name='fields[$_]'";if($l["type"]=="enum"){echo
  218. nbsp($lc[""])."<td>".$b->editInput($_GET["edit"],$l,$za,$X);}else{$bc=0;foreach($lc
  219. as$v=>$W){if($v===""||!$W){break;}$bc++;}$Cd=($bc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($l["field"])))."]']; if ($bc > f.selectedIndex) f.selectedIndex = $bc;\"":"");$za.=$Cd;echo(count($lc)>1?html_select("function[$_]",$lc,!isset($o)||in_array($o,$lc)||isset($lc[$o])?$o:"","functionChange(this);"):nbsp(reset($lc))).'<td>';$Dc=$b->editInput($_GET["edit"],$l,$za,$X);if($Dc!=""){echo$Dc;}elseif($l["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ad);foreach($ad[1]as$p=>$W){$W=stripcslashes(str_replace("''","'",$W));$La=(is_int($X)?($X>>$p)&1:in_array($W,explode(",",$X),true));echo" <label><input type='checkbox' name='fields[$_][$p]' value='".(1<<$p)."'".($La?' checked':'')."$Cd>".h($b->editVal($W,$l)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){echo"<input type='file' name='fields-$_'$Cd>";}elseif(ereg('text|lob',$l["type"])){echo"<textarea ".($u!="sqlite"||ereg("\n",$X)?"cols='50' rows='12'":"cols='30' rows='1' style='height: 1.2em;'")."$za>".h($X).'</textarea>';}else{$gd=(!ereg('int',$l["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$l["length"],$z)?((ereg("binary",$l["type"])?2:1)*$z[1]+($z[3]?1:0)+($z[2]&&!$l["unsigned"]?1:0)):($T[$l["type"]]?$T[$l["type"]]+($l["unsigned"]?0:1):0));echo"<input value='".h($X)."'".($gd?" maxlength='$gd'":"").(ereg('char|binary',$l["type"])&&$gd>20?" size='40'":"")."$za>";}}}function
  220. process_input($l){global$b;$r=bracket_escape($l["field"]);$o=$_POST["function"][$r];$X=$_POST["fields"][$r];if($l["type"]=="enum"){if($X==-1){return
  221. false;}if($X==""){return"NULL";}return+$X;}if($l["auto_increment"]&&$X==""){return
  222. null;}if($o=="orig"){return($l["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($l["field"]):false);}if($o=="NULL"){return"NULL";}if($l["type"]=="set"){return
  223. array_sum((array)$X);}if(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){$Yb=get_file("fields-$r");if(!is_string($Yb)){return
  224. false;}return
  225. q($Yb);}return$b->processInput($l,$X,$o);}function
  226. search_tables(){global$b,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$gc=false;foreach(table_status()as$N=>$O){$_=$b->tableName($O);if(isset($O["Engine"])&&$_!=""&&(!$_POST["tables"]||in_array($N,$_POST["tables"]))){$E=$g->query("SELECT".limit("1 FROM ".table($N)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($N),array())),1));if($E->fetch_row()){if(!$gc){echo"<ul>\n";$gc=true;}echo"<li><a href='".h(ME."select=".urlencode($N)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$_</a>\n";}}}echo($gc?"</ul>":"<p class='message'>".lang(6))."\n";}function
  227. dump_headers($wc,$pd=false){global$b;$F=$b->dumpHeaders($wc,$pd);$Rd=$_POST["output"];if($Rd!="text"){header("Content-Disposition: attachment; filename=".friendly_url($wc!=""?$wc:(SERVER!=""?SERVER:"localhost")).".$F".($Rd!="file"&&!ereg('[^0-9a-z]',$Rd)?".$Rd":""));}session_write_close();return$F;}function
  228. dump_csv($G){foreach($G
  229. as$v=>$W){if(preg_match("~[\"\n,;\t]~",$W)||$W===""){$G[$v]='"'.str_replace('"','""',$W).'"';}}echo
  230. implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$G)."\r\n";}function
  231. apply_sql_function($o,$e){return($o?($o=="unixepoch"?"DATETIME($e, '$o')":($o=="count distinct"?"COUNT(DISTINCT ":strtoupper("$o("))."$e)"):$e);}function
  232. password_file(){$pb=ini_get("upload_tmp_dir");if(!$pb){if(function_exists('sys_get_temp_dir')){$pb=sys_get_temp_dir();}else{$Zb=@tempnam("","");if(!$Zb){return
  233. false;}$pb=dirname($Zb);unlink($Zb);}}$Zb="$pb/adminer.key";$F=@file_get_contents($Zb);if($F){return$F;}$ic=@fopen($Zb,"w");if($ic){$F=md5(uniqid(mt_rand(),true));fwrite($ic,$F);fclose($ic);}return$F;}function
  234. is_mail($Ab){$ya='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$rb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ce="$ya+(\\.$ya+)*@($rb?\\.)+$rb";return
  235. preg_match("(^$ce(,\\s*$ce)*\$)i",$Ab);}function
  236. is_url($L){$rb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($rb?\\.)+$rb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$L,$z)?strtolower($z[1]):"");}global$b,$g,$tb,$zb,$Hb,$k,$lc,$qc,$ba,$Cc,$u,$ca,$Nc,$Bd,$ef,$Q,$R,$T,$Rf,$ia;if(!isset($_SERVER["REQUEST_URI"])){$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"].($_SERVER["QUERY_STRING"]!=""?"?$_SERVER[QUERY_STRING]":"");}$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_name("adminer_sid");$Vd=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Vd[]=true;}call_user_func_array('session_set_cookie_params',$Vd);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$ac);if(function_exists("set_magic_quotes_runtime")){set_magic_quotes_runtime(false);}@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",20);$Nc=array('en'=>'English','cs'=>'Čeština','sk'=>'Slovenčina','nl'=>'Nederlands','es'=>'Español','de'=>'Deutsch','fr'=>'Français','it'=>'Italiano','et'=>'Eesti','hu'=>'Magyar','pl'=>'Polski','ca'=>'Català','pt'=>'Português','sl'=>'Slovenski','lt'=>'Lietuvių','tr'=>'Türkçe','ro'=>'Limba Română','ru'=>'Русский язык','zh'=>'简体中文','zh-tw'=>'繁體中文','ja'=>'日本語','ta'=>'த‌மிழ்','ar'=>'العربية',);function
  237. get_lang(){global$ca;return$ca;}function
  238. lang($r,$wd=null){global$ca,$R;$Ff=$R[$r];if(is_array($Ff)){$fe=($wd==1?0:($ca=='cs'||$ca=='sk'?($wd&&$wd<5?1:2):($ca=='fr'?(!$wd?0:1):($ca=='pl'?($wd
  239. %
  240. 10>1&&$wd
  241. %
  242. 10<5&&$wd/10
  243. %
  244. 10!=1?1:2):($ca=='sl'?($wd
  245. %
  246. 100==1?0:($wd
  247. %
  248. 100==2?1:($wd
  249. %
  250. 100==3||$wd
  251. %
  252. 100==4?2:3))):($ca=='lt'?($wd
  253. %
  254. 10==1&&$wd
  255. %
  256. 100!=11?0:($wd
  257. %
  258. 10>1&&$wd/10
  259. %
  260. 10!=1?1:2)):($ca=='ru'?($wd
  261. %
  262. 10==1&&$wd
  263. %
  264. 100!=11?0:($wd
  265. %
  266. 10>1&&$wd
  267. %
  268. 10<5&&$wd/10
  269. %
  270. 10!=1?1:2)):1)))))));$Ff=$Ff[$fe];}$xa=func_get_args();array_shift($xa);return
  271. vsprintf((isset($Ff)?$Ff:$r),$xa);}function
  272. switch_lang(){global$ca,$Nc;echo"<form action=''>\n<div id='lang'>";hidden_fields($_GET,array('lang'));echo
  273. lang(7).": ".html_select("lang",$Nc,$ca,"var loc = location.search.replace(/[?&]lang=[^&]*/, ''); location.search = loc + (loc ? '&' : '') + 'lang=' + this.value;")," <input type='submit' value='".lang(8)."' class='hidden'>\n","</div>\n</form>\n";}if(isset($_GET["lang"])){$_COOKIE["adminer_lang"]=$_GET["lang"];$_SESSION["lang"]=$_GET["lang"];}$ca="en";if(isset($Nc[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ca=$_COOKIE["adminer_lang"];}elseif(isset($Nc[$_SESSION["lang"]])){$ca=$_SESSION["lang"];}else{$pa=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$ad,PREG_SET_ORDER);foreach($ad
  274. as$z){$pa[$z[1]]=(isset($z[3])?$z[3]:1);}arsort($pa);foreach($pa
  275. as$v=>$C){if(isset($Nc[$v])){$ca=$v;break;}$v=preg_replace('~-.*~','',$v);if(!isset($pa[$v])&&isset($Nc[$v])){$ca=$v;break;}}}switch($ca){case"en":$R=array('Are you sure?','Unable to upload a file.','Maximum allowed file size is %sB.','File does not exist.','empty','original','No tables.','Language','Use','Please use one of the extensions %s.','File exists.','User types','Numbers','Date and time','Strings','Binary','Network','Geometry','Lists','System','Server','Username','Password','Login','Permanent login','Select data','Show structure','Alter view','Alter table','New item','Last page','Edit',array('%d byte','%d bytes'),'Select','Functions','Aggregation','Search','anywhere','Sort','descending','Limit','Text length','Action','SQL command','open','save','Alter database','Alter schema','Create schema','Database schema','Privileges','Dump','Logout','database','schema','Create new table','select','ltr','Resend POST data?','Invalid CSRF token. Send the form again.','Logout successful.','Session support must be enabled.','Session expired, please login again.','Invalid credentials.','No extension','None of the supported PHP extensions (%s) are available.','Too big POST data. Reduce the data or increase the %s configuration directive.','Database','Invalid database.','Databases have been dropped.','Select database','Create new database','Process list','Variables','Status','%s version: %s through PHP extension %s','Logged as: %s','Collation','Tables','Drop','Refresh','Schema','Invalid schema.','No rows.','%.3f s','Foreign keys','collation','ON DELETE','Column name','Parameter name','Type','Length','Options','Auto Increment','Default values','Comment','Add next','Move up','Move down','Remove','View','Table','Column','Indexes','Alter indexes','Source','Target','ON UPDATE','Alter','Add foreign key','Triggers','Add trigger','Permanent link','Export','Output','Format','Routines','Events','Data','Create user','Error in query',array('%d row','%d rows'),array('Query executed OK, %d row affected.','Query executed OK, %d rows affected.'),'No commands to execute.',array('%d query executed OK.','%d queries executed OK.'),'File upload','File uploads are disabled.','Execute','Stop on error','Show only errors','From server','Webserver file %s','Run file','History','Clear','Edit all','Item has been deleted.','Item has been updated.','Item%s has been inserted.','Insert','Save','Save and continue edit','Save and insert next','Delete','Table has been dropped.','Table has been altered.','Table has been created.','Create table','Maximum number of allowed fields exceeded. Please increase %s and %s.','Table name','engine','Partition by','Partitions','Partition name','Values','Indexes have been altered.','Index Type','Column (length)','Name','Database has been dropped.','Database has been renamed.','Database has been created.','Database has been altered.','Create database','Schema has been dropped.','Schema has been created.','Schema has been altered.','Call',array('Routine has been called, %d row affected.','Routine has been called, %d rows affected.'),'Foreign key has been dropped.','Foreign key has been altered.','Foreign key has been created.','Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.','Foreign key','Target table','Change','Add column','View has been dropped.','View has been altered.','View has been created.','Create view','Event has been dropped.','Event has been altered.','Event has been created.','Alter event','Create event','Start','End','Every','On completion preserve','Routine has been dropped.','Routine has been altered.','Routine has been created.','Alter function','Alter procedure','Create function','Create procedure','Return type','Sequence has been dropped.','Sequence has been created.','Sequence has been altered.','Alter sequence','Create sequence','Type has been dropped.','Type has been created.','Alter type','Create type','Trigger has been dropped.','Trigger has been altered.','Trigger has been created.','Alter trigger','Create trigger','Time','Event','User has been dropped.','User has been altered.','User has been created.','Hashed','Routine','Grant','Revoke',array('%d process has been killed.','%d processes have been killed.'),'%d in total','Kill',array('%d item has been affected.','%d items have been affected.'),'Double click on a value to modify it.',array('%d row has been imported.','%d rows have been imported.'),'Unable to select the table','edit','Relations','Use edit link to modify this value.','Page','last','whole result','Clone','Import',',','Tables have been truncated.','Tables have been moved.','Tables have been copied.','Tables have been dropped.','Tables and views','Search data in tables','Engine','Data Length','Index Length','Data Free','Rows','Analyze','Optimize','Check','Repair','Truncate','Move to other database','Move','Copy','Sequences','Schedule','At given time',array('%d e-mail has been sent.','%d e-mails have been sent.'));break;case"cs":$R=array('Opravdu?','Nepodařilo se nahrát soubor.','Maximální povolená velikost souboru je %sB.','Soubor neexistuje.','prázdné','původní','Žádné tabulky.','Jazyk','Vybrat','Prosím použijte jednu z koncovek %s.','Soubor existuje.','Uživatelské typy','Čísla','Datum a čas','Řetězce','Binární','Síť','Geometrie','Seznamy','Systém','Server','Uživatel','Heslo','Přihlásit se','Trvalé přihlášení','Vypsat data','Zobrazit strukturu','Pozměnit pohled','Pozměnit tabulku','Nová položka','Poslední stránka','Upravit',array('%d bajt','%d bajty','%d bajtů'),'Vypsat','Funkce','Agregace','Vyhledat','kdekoliv','Seřadit','sestupně','Limit','Délka textů','Akce','SQL příkaz','otevřít','uložit','Pozměnit databázi','Pozměnit schéma','Vytvořit schéma','Schéma databáze','Oprávnění','Export','Odhlásit','databáze','schéma','Vytvořit novou tabulku','vypsat','ltr','Znovu odeslat POST data?','Neplatný token CSRF. Odešlete formulář znovu.','Odhlášení proběhlo v pořádku.','Session proměnné musí být povolené.','Session vypršela, přihlašte se prosím znovu.','Neplatné přihlašovací údaje.','Žádná extenze','Není dostupná žádná z podporovaných PHP extenzí (%s).','Příliš velká POST data. Zmenšete data nebo zvyšte hodnotu konfigurační direktivy %s.','Databáze','Nesprávná databáze.','Databáze byly odstraněny.','Vybrat databázi','Vytvořit novou databázi','Seznam procesů','Proměnné','Stav','Verze %s: %s přes PHP extenzi %s','Přihlášen jako: %s','Porovnávání','Tabulky','Odstranit','Obnovit','Schéma','Nesprávné schéma.','Žádné řádky.','%.3f s','Cizí klíče','porovnávání','Při smazání','Název sloupce','Název parametru','Typ','Délka','Volby','Auto Increment','Výchozí hodnoty','Komentář','Přidat další','Přesunout nahoru','Přesunout dolů','Odebrat','Pohled','Tabulka','Sloupec','Indexy','Pozměnit indexy','Zdroj','Cíl','Při změně','Změnit','Přidat cizí klíč','Triggery','Přidat trigger','Trvalý odkaz','Export','Výstup','Formát','Procedury a funkce','Události','Data','Vytvořit uživatele','Chyba v dotazu',array('%d řádek','%d řádky','%d řádků'),array('Příkaz proběhl v pořádku, byl změněn %d záznam.','Příkaz proběhl v pořádku, byly změněny %d záznamy.','Příkaz proběhl v pořádku, bylo změněno %d záznamů.'),'Žádné příkazy k vykonání.',array('%d příkaz proběhl v pořádku.','%d příkazy proběhly v pořádku.','%d příkazů proběhlo v pořádku.'),'Nahrání souboru','Nahrávání souborů není povoleno.','Provést','Zastavit při chybě','Zobrazit pouze chyby','Ze serveru','Soubor %s na webovém serveru','Spustit soubor','Historie','Vyčistit','Upravit vše','Položka byla smazána.','Položka byla aktualizována.','Položka%s byla vložena.','Vložit','Uložit','Uložit a pokračovat v editaci','Uložit a vložit další','Smazat','Tabulka byla odstraněna.','Tabulka byla změněna.','Tabulka byla vytvořena.','Vytvořit tabulku','Byl překročen maximální povolený počet polí. Zvyšte prosím %s a %s.','Název tabulky','úložiště','Rozdělit podle','Oddíly','Název oddílu','Hodnoty','Indexy byly změněny.','Typ indexu','Sloupec (délka)','Název','Databáze byla odstraněna.','Databáze byla přejmenována.','Databáze byla vytvořena.','Databáze byla změněna.','Vytvořit databázi','Schéma bylo odstraněno.','Schéma bylo vytvořeno.','Schéma bylo změněno.','Zavolat',array('Procedura byla zavolána, byl změněn %d záznam.','Procedura byla zavolána, byly změněny %d záznamy.','Procedura byla zavolána, bylo změněno %d záznamů.'),'Cizí klíč byl odstraněn…

Large files files are truncated, but you can click here to view the full file