PageRenderTime 66ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 1ms

/adminer.php

https://bitbucket.org/kucing2k/ediassoc
PHP | 1568 lines | 1558 code | 3 blank | 7 comment | 11 complexity | 9bde22146a4f04cdafff2ddd8462aa25 MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.1, BSD-2-Clause, GPL-2.0

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.4.0
  9. */error_reporting(6135);$cc=!ereg('^(unsafe_raw)?$',ini_get("filter.default"));if($cc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$W){$Tf=filter_input_array(constant("INPUT$W"),FILTER_UNSAFE_RAW);if($Tf)$$W=$Tf;}}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;}.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;}#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. trCheck(el){var
  21. tr=el.parentNode.parentNode;tr.className=tr.className.replace(/(^|\s)checked(\s|$)/,'$2')+(el.checked?' checked':'');}function
  22. formCheck(el,name){var
  23. elems=el.form.elements;for(var
  24. i=0;i<elems.length;i++){if(name.test(elems[i].name)){elems[i].checked=el.checked;trCheck(elems[i]);}}}function
  25. tableCheck(){var
  26. tables=document.getElementsByTagName('table');for(var
  27. i=0;i<tables.length;i++){if(/(^|\s)checkable(\s|$)/.test(tables[i].className)){var
  28. trs=tables[i].getElementsByTagName('tr');for(var
  29. j=0;j<trs.length;j++){trCheck(trs[j].firstChild.firstChild);}}}}function
  30. formUncheck(id){var
  31. el=document.getElementById(id);el.checked=false;trCheck(el);}function
  32. formChecked(el,name){var
  33. checked=0;var
  34. elems=el.form.elements;for(var
  35. i=0;i<elems.length;i++){if(name.test(elems[i].name)&&elems[i].checked){checked++;}}return checked;}function
  36. tableClick(event){var
  37. click=(!window.getSelection||getSelection().isCollapsed);var
  38. 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
  39. lastChecked;function
  40. checkboxClick(event,el){if(!el.name){return;}if(event.shiftKey&&(!lastChecked||lastChecked.name==el.name)){var
  41. checked=(lastChecked?lastChecked.checked:true);var
  42. inputs=el.parentNode.parentNode.parentNode.getElementsByTagName('input');var
  43. checking=!lastChecked;for(var
  44. i=0;i<inputs.length;i++){var
  45. 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;}}}}lastChecked=el;}function
  46. setHtml(id,html){var
  47. el=document.getElementById(id);if(el){if(html==undefined){el.parentNode.innerHTML='&nbsp;';}else{el.innerHTML=html;}}}function
  48. nodePosition(el){var
  49. pos=0;while(el=el.previousSibling){pos++;}return pos;}function
  50. pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');location.href=href;}}function
  51. selectAddRow(field){field.onchange=function(){selectFieldChange(field.form);};field.onchange();var
  52. row=field.parentNode.cloneNode(true);var
  53. selects=row.getElementsByTagName('select');for(var
  54. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/[a-z]\[\d+/,'$&1');selects[i].selectedIndex=0;}var
  55. 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
  56. selectFieldChange(form){var
  57. ok=(function(){var
  58. inputs=form.getElementsByTagName('input');for(var
  59. i=0;i<inputs.length;i++){var
  60. input=inputs[i];if(/^fulltext/.test(input.name)&&input.value){return true;}}var
  61. ok=true;var
  62. selects=form.getElementsByTagName('select');for(var
  63. i=0;i<selects.length;i++){var
  64. select=selects[i];var
  65. col=selectValue(select);var
  66. match=/^(where.+)col\]/.exec(select.name);if(match){var
  67. op=selectValue(form[match[1]+'op]']);var
  68. val=form[match[1]+'val]'].value;if(col
  69. in
  70. indexColumns&&(!/LIKE|REGEXP/.test(op)||(op=='LIKE'&&val.charAt(0)!='%'))){return true;}else
  71. if(col||val){ok=false;}}if(col&&/^order/.test(select.name)){if(!(col
  72. in
  73. indexColumns)){ok=false;}break;}}return ok;})();setHtml('noindex',(ok?'':'!'));}function
  74. bodyKeydown(event,button){var
  75. 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
  76. editingKeydown(event){if((event.keyCode==40||event.keyCode==38)&&event.ctrlKey&&!event.altKey&&!event.metaKey){var
  77. target=event.target||event.srcElement;var
  78. sibling=(event.keyCode==40?'nextSibling':'previousSibling');var
  79. 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
  80. functionChange(select){var
  81. input=select.form[select.name.replace(/^function/,'fields')];if(selectValue(select)){if(input.origMaxLength===undefined){input.origMaxLength=input.maxLength;}input.removeAttribute('maxlength');}else
  82. if(input.origMaxLength>=0){input.maxLength=input.origMaxLength;}}function
  83. ajax(url,callback,data){var
  84. request=(window.XMLHttpRequest?new
  85. XMLHttpRequest():(window.ActiveXObject?new
  86. 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
  87. ajaxSetHtml(url){return ajax(url,function(request){if(request.status){var
  88. data=eval('('+request.responseText+')');for(var
  89. key
  90. in
  91. data){setHtml(key,data[key]);}}});}function
  92. selectDblClick(td,event,text){if(/input|textarea/i.test(td.firstChild.tagName)){return;}var
  93. original=td.innerHTML;var
  94. 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
  95. pos=event.rangeOffset;var
  96. value=td.firstChild.alt||td.textContent||td.innerText;input.style.width=Math.max(td.clientWidth-14,20)+'px';if(text){var
  97. rows=1;value.replace(/\n/g,function(){rows++;});input.rows=rows;}if(value=='\u00A0'||td.getElementsByTagName('i').length){value='';}if(document.selection){var
  98. range=document.selection.createRange();range.moveToPoint(event.clientX,event.clientY);var
  99. 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
  100. range=document.selection.createRange();range.moveEnd('character',-input.value.length+pos);range.select();}}function
  101. eventStop(event){if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}}var
  102. jushRoot=location.protocol + '//www.adminer.org/static/';function
  103. bodyLoad(version){if(jushRoot){var
  104. link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=jushRoot+'jush.css';document.getElementsByTagName('head')[0].appendChild(link);var
  105. 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
  106. 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
  107. formField(form,name){for(var
  108. i=0;i<form.length;i++){if(form[i].name==name){return form[i];}}}function
  109. typePassword(el,disable){try{el.type=(disable?'text':'password');}catch(e){}}function
  110. loginDriver(driver){var
  111. trs=driver.parentNode.parentNode.parentNode.rows;for(var
  112. i=1;i<trs.length-1;i++){trs[i].className=(/sqlite/.test(driver.value)?'hidden':'');}}function
  113. textareaKeydown(target,event){if(!event.shiftKey&&!event.altKey&&!event.ctrlKey&&!event.metaKey){if(event.keyCode==9){if(target.setSelectionRange){var
  114. start=target.selectionStart;var
  115. 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
  116. if(target.createTextRange){document.selection.createRange().text='\t';return false;}}if(event.keyCode==27){var
  117. els=target.form.elements;for(var
  118. i=1;i<els.length;i++){if(els[i-1]==target){els[i].focus();break;}}return false;}}return true;}var
  119. added='.',rowCount;function
  120. delimiterEqual(val,a,b){return(val==a+'_'+b||val==a+b||val==a+b.charAt(0).toUpperCase()+b.substr(1));}function
  121. idfEscape(s){return s.replace(/`/,'``');}function
  122. editingNameChange(field){var
  123. name=field.name.substr(0,field.name.length-7);var
  124. type=formField(field.form,name+'[type]');var
  125. opts=type.options;var
  126. candidate;var
  127. val=field.value;for(var
  128. i=opts.length;i--;){var
  129. match=/(.+)`(.+)/.exec(opts[i].value);if(!match){if(candidate&&i==opts.length-2&&val==opts[candidate].value.replace(/.+`/,'')&&name=='fields[1]'){return;}break;}var
  130. table=match[1];var
  131. column=match[2];var
  132. tables=[table,table.replace(/s$/,''),table.replace(/es$/,'')];for(var
  133. 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
  134. editingAddRow(button,allowed,focus){if(allowed&&rowCount>=allowed){return false;}var
  135. match=/(\d+)(\.\d+)?/.exec(button.name);var
  136. x=match[0]+(match[2]?added.substr(match[2].length):added)+'1';var
  137. row=button.parentNode.parentNode;var
  138. row2=row.cloneNode(true);var
  139. tags=row.getElementsByTagName('select');var
  140. tags2=row2.getElementsByTagName('select');for(var
  141. 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
  142. input=tags2[0];for(var
  143. 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
  144. editingRemoveRow(button){var
  145. field=formField(button.form,button.name.replace(/drop_col(.+)/,'fields$1[field]'));field.parentNode.removeChild(field);button.parentNode.parentNode.style.display='none';return true;}var
  146. lastType='';function
  147. editingTypeChange(type){var
  148. name=type.name.substr(0,type.name.length-6);var
  149. text=selectValue(type);for(var
  150. i=0;i<type.form.elements.length;i++){var
  151. 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
  152. editingLengthFocus(field){var
  153. td=field.parentNode;if(/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))){var
  154. edit=document.getElementById('enum-edit');var
  155. 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
  156. editingLengthBlur(edit){var
  157. field=edit.parentNode.firstChild;var
  158. 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
  159. columnShow(checked,column){var
  160. trs=document.getElementById('edit-fields').getElementsByTagName('tr');for(var
  161. i=0;i<trs.length;i++){trs[i].getElementsByTagName('td')[column].className=(checked?'':'hidden');}}function
  162. partitionByChange(el){var
  163. partitionTable=/RANGE|LIST/.test(selectValue(el));el.form['partitions'].className=(partitionTable||!el.selectedIndex?'hidden':'');document.getElementById('partition-table').className=(partitionTable?'':'hidden');}function
  164. partitionNameChange(el){var
  165. row=el.parentNode.parentNode.cloneNode(true);row.firstChild.firstChild.value='';el.parentNode.parentNode.parentNode.appendChild(row);el.onchange=function(){};}function
  166. foreignAddRow(field){field.onchange=function(){};var
  167. row=field.parentNode.parentNode.cloneNode(true);var
  168. selects=row.getElementsByTagName('select');for(var
  169. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/\]/,'1$&');selects[i].selectedIndex=0;}field.parentNode.parentNode.parentNode.appendChild(row);}function
  170. indexesAddRow(field){field.onchange=function(){};var
  171. parent=field.parentNode.parentNode;var
  172. row=parent.cloneNode(true);var
  173. selects=row.getElementsByTagName('select');for(var
  174. i=0;i<selects.length;i++){selects[i].name=selects[i].name.replace(/indexes\[\d+/,'$&1');selects[i].selectedIndex=0;}var
  175. inputs=row.getElementsByTagName('input');for(var
  176. i=0;i<inputs.length;i++){inputs[i].name=inputs[i].name.replace(/indexes\[\d+/,'$&1');inputs[i].value='';}parent.parentNode.appendChild(row);}function
  177. indexesChangeColumn(field,prefix){var
  178. columns=field.parentNode.parentNode.getElementsByTagName('select');var
  179. names=[];for(var
  180. i=0;i<columns.length;i++){var
  181. value=selectValue(columns[i]);if(value){names.push(value);}}field.form[field.name.replace(/\].*/,'][name]')].value=prefix+names.join('_');}function
  182. indexesAddColumn(field,prefix){field.onchange=function(){indexesChangeColumn(field,prefix);};var
  183. select=field.form[field.name.replace(/\].*/,'][type]')];if(!select.selectedIndex){select.selectedIndex=3;select.onchange();}var
  184. column=field.parentNode.cloneNode(true);select=column.getElementsByTagName('select')[0];select.name=select.name.replace(/\]\[\d+/,'$&1');select.selectedIndex=0;var
  185. input=column.getElementsByTagName('input')[0];input.name=input.name.replace(/\]\[\d+/,'$&1');input.value='';field.parentNode.parentNode.appendChild(column);field.onchange();}var
  186. that,x,y;function
  187. schemaMousedown(el,event){if((event.which?event.which:event.button)==1){that=el;x=event.clientX-el.offsetLeft;y=event.clientY-el.offsetTop;}}function
  188. schemaMousemove(ev){if(that!==undefined){ev=ev||event;var
  189. left=(ev.clientX-x)/em;var
  190. top=(ev.clientY-y)/em;var
  191. divs=that.getElementsByTagName('div');var
  192. lineSet={};for(var
  193. i=0;i<divs.length;i++){if(divs[i].className=='references'){var
  194. div2=document.getElementById((/^refs/.test(divs[i].id)?'refd':'refs')+divs[i].id.substr(4));var
  195. ref=(tablePos[divs[i].title]?tablePos[divs[i].title]:[div2.parentNode.offsetTop/em,0]);var
  196. left1=-1;var
  197. 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
  198. 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
  199. line=document.getElementById(divs[i].id.replace(/^....(.+)-.+$/,'refl$1'));var
  200. top1=top+divs[i].offsetTop/em;var
  201. 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
  202. 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
  203. s='';for(var
  204. key
  205. in
  206. tablePos){s+='_'+key+':'+Math.round(tablePos[key][0]*10000)/10000+'x'+Math.round(tablePos[key][1]*10000)/10000;}s=encodeURIComponent(s.substr(1));var
  207. link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}<?php
  208. }else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo
  209. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIYSPqcvtD00I8cwqKb5v+q8pIAhxlRmhZYi17iPE8kzLBQA7");break;case"cross.gif":echo
  210. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACI4SPqcvtDyMKYdZGb355wy6BX3dhlOEx57FK7gtHwkzXNl0AADs=");break;case"up.gif":echo
  211. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00IUU4K730T9J5hFTiKEXmaYcW2rgDH8hwXADs=");break;case"down.gif":echo
  212. base64_decode("R0lGODdhEgASAKEAAO7u7gAAAJmZmQAAACwAAAAAEgASAAACIISPqcvtD00I8cwqKb5bV/5cosdMJtmcHca2lQDH8hwXADs=");break;case"arrow.gif":echo
  213. base64_decode("R0lGODlhCAAKAIAAAICAgP///yH5BAEAAAEALAAAAAAIAAoAAAIPBIJplrGLnpQRqtOy3rsAADs=");break;}}exit;}function
  214. connection(){global$g;return$g;}function
  215. adminer(){global$b;return$b;}function
  216. idf_unescape($r){$Rc=substr($r,-1);return
  217. str_replace($Rc.$Rc,$Rc,substr($r,1,-1));}function
  218. escape_string($W){return
  219. substr(q($W),1,-1);}function
  220. remove_slashes($ue,$cc=false){if(get_magic_quotes_gpc()){while(list($v,$W)=each($ue)){foreach($W
  221. as$Nc=>$V){unset($ue[$v][$Nc]);if(is_array($V)){$ue[$v][stripslashes($Nc)]=$V;$ue[]=&$ue[$v][stripslashes($Nc)];}else$ue[$v][stripslashes($Nc)]=($cc?$V:stripslashes($V));}}}}function
  222. bracket_escape($r,$Aa=false){static$Hf=array(':'=>':1',']'=>':2','['=>':3');return
  223. strtr($r,($Aa?array_flip($Hf):$Hf));}function
  224. h($M){return
  225. htmlspecialchars(str_replace("\0","",$M),ENT_QUOTES);}function
  226. nbsp($M){return(trim($M)!=""?h($M):"&nbsp;");}function
  227. nl_br($M){return
  228. str_replace("\n","<br>",$M);}function
  229. checkbox($_,$X,$La,$Pc="",$Hd="",$Mc=false){static$q=0;$q++;$G="<input type='checkbox' name='$_' value='".h($X)."'".($La?" checked":"").($Hd?' onclick="'.h($Hd).'"':'').($Mc?" class='jsonly'":"")." id='checkbox-$q'>";return($Pc!=""?"<label for='checkbox-$q'>$G".h($Pc)."</label>":$G);}function
  230. optionlist($Ld,$Te=null,$Yf=false){$G="";foreach($Ld
  231. as$Nc=>$V){$Md=array($Nc=>$V);if(is_array($V)){$G.='<optgroup label="'.h($Nc).'">';$Md=$V;}foreach($Md
  232. as$v=>$W)$G.='<option'.($Yf||is_string($v)?' value="'.h($v).'"':'').(($Yf||is_string($v)?(string)$v:$W)===$Te?' selected':'').'>'.h($W);if(is_array($V))$G.='</optgroup>';}return$G;}function
  233. html_select($_,$Ld,$X="",$Gd=true){if($Gd)return"<select name='".h($_)."'".(is_string($Gd)?' onchange="'.h($Gd).'"':"").">".optionlist($Ld,$X)."</select>";$G="";foreach($Ld
  234. as$v=>$W)$G.="<label><input type='radio' name='".h($_)."' value='".h($v)."'".($v==$X?" checked":"").">".h($W)."</label>";return$G;}function
  235. confirm($cb=""){return" onclick=\"return confirm('".'Are you sure?'.($cb?" (' + $cb + ')":"")."');\"";}function
  236. print_fieldset($q,$Wc,$eg=false,$Hd=""){echo"<fieldset><legend><a href='#fieldset-$q' onclick=\"".h($Hd)."return !toggle('fieldset-$q');\">$Wc</a></legend><div id='fieldset-$q'".($eg?"":" class='hidden'").">\n";}function
  237. bold($Fa){return($Fa?" class='active'":"");}function
  238. odd($G=' class="odd"'){static$p=0;if(!$G)$p=-1;return($p++%
  239. 2?$G:'');}function
  240. js_escape($M){return
  241. addcslashes($M,"\r\n'\\/");}function
  242. json_row($v,$W=null){static$dc=true;if($dc)echo"{";if($v!=""){echo($dc?"":",")."\n\t\"".addcslashes($v,"\r\n\"\\").'": '.($W!==null?'"'.addcslashes($W,"\r\n\"\\").'"':'undefined');$dc=false;}else{echo"\n}\n";$dc=true;}}function
  243. ini_bool($Ec){$W=ini_get($Ec);return(eregi('^(on|true|yes)$',$W)||(int)$W);}function
  244. sid(){static$G;if($G===null)$G=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$G;}function
  245. q($M){global$g;return$g->quote($M);}function
  246. get_vals($E,$e=0){global$g;$G=array();$F=$g->query($E);if(is_object($F)){while($H=$F->fetch_row())$G[]=$H[$e];}return$G;}function
  247. get_key_vals($E,$h=null){global$g;if(!is_object($h))$h=$g;$G=array();$F=$h->query($E);if(is_object($F)){while($H=$F->fetch_row())$G[$H[0]]=$H[1];}return$G;}function
  248. get_rows($E,$h=null,$k="<p class='error'>"){global$g;$Ya=(is_object($h)?$h:$g);$G=array();$F=$Ya->query($E);if(is_object($F)){while($H=$F->fetch_assoc())$G[]=$H;}elseif(!$F&&!is_object($h)&&$k&&defined("PAGE_HEADER"))echo$k.error()."\n";return$G;}function
  249. unique_array($H,$t){foreach($t
  250. as$s){if(ereg("PRIMARY|UNIQUE",$s["type"])){$G=array();foreach($s["columns"]as$v){if(!isset($H[$v]))continue
  251. 2;$G[$v]=$H[$v];}return$G;}}$G=array();foreach($H
  252. as$v=>$W){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$v))$G[$v]=$W;}return$G;}function
  253. where($Z){global$u;$G=array();foreach((array)$Z["where"]as$v=>$W)$G[]=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)$G[]=idf_escape($v)." IS NULL";return
  254. implode(" AND ",$G);}function
  255. where_check($W){parse_str($W,$Ka);remove_slashes(array(&$Ka));return
  256. where($Ka);}function
  257. where_link($p,$e,$X,$Id="="){return"&where%5B$p%5D%5Bcol%5D=".urlencode($e)."&where%5B$p%5D%5Bop%5D=".urlencode(($X!==null?$Id:"IS NULL"))."&where%5B$p%5D%5Bval%5D=".urlencode($X);}function
  258. cookie($_,$X){global$ba;$Zd=array($_,(ereg("\n",$X)?"":$X),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Zd[]=true;return
  259. call_user_func_array('setcookie',$Zd);}function
  260. restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function&get_session($v){return$_SESSION[$v][DRIVER][SERVER][$_GET["username"]];}function
  261. set_session($v,$W){$_SESSION[$v][DRIVER][SERVER][$_GET["username"]]=$W;}function
  262. auth_url($tb,$K,$U,$j=null){global$ub;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($ub))."|username|".($j!==null?"db|":"").session_name()),$z);return"$z[1]?".(sid()?SID."&":"").($tb!="server"||$K!=""?urlencode($tb)."=".urlencode($K)."&":"")."username=".urlencode($U).($j!=""?"&db=".urlencode($j):"").($z[2]?"&$z[2]":"");}function
  263. is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
  264. redirect($ad,$ld=null){if($ld!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($ad!==null?$ad:$_SERVER["REQUEST_URI"]))][]=$ld;}if($ad!==null){if($ad=="")$ad=".";header("Location: $ad");exit;}}function
  265. query_redirect($E,$ad,$ld,$ze=true,$Rb=true,$Yb=false){global$g,$k,$b;if($Rb)$Yb=!$g->query($E);$cf="";if($E)$cf=$b->messageQuery("$E;");if($Yb){$k=error().$cf;return
  266. false;}if($ze)redirect($ad,$ld.$cf);return
  267. true;}function
  268. queries($E=null){global$g;static$xe=array();if($E===null)return
  269. implode(";\n",$xe);$xe[]=(ereg(';$',$E)?"DELIMITER ;;\n$E;\nDELIMITER ":$E);return$g->query($E);}function
  270. apply_queries($E,$Q,$Mb='table'){foreach($Q
  271. as$O){if(!queries("$E ".$Mb($O)))return
  272. false;}return
  273. true;}function
  274. queries_redirect($ad,$ld,$ze){return
  275. query_redirect(queries(),$ad,$ld,$ze,false,!$ze);}function
  276. remove_from_uri($Yd=""){return
  277. substr(preg_replace("~(?<=[?&])($Yd".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
  278. pagination($B,$hb){return" ".($B==$hb?$B+1:'<a href="'.h(remove_from_uri("page").($B?"&page=$B":"")).'">'.($B+1)."</a>");}function
  279. get_file($v,$mb=false){$ac=$_FILES[$v];if(!$ac||$ac["error"])return$ac["error"];$G=file_get_contents($mb&&ereg('\\.gz$',$ac["name"])?"compress.zlib://$ac[tmp_name]":($mb&&ereg('\\.bz2$',$ac["name"])?"compress.bzip2://$ac[tmp_name]":$ac["tmp_name"]));if($mb){$df=substr($G,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$df,$Ee))$G=iconv("utf-16","utf-8",$G);elseif($df=="\xEF\xBB\xBF")$G=substr($G,3);}return$G;}function
  280. upload_error($k){$jd=($k==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($k?'Unable to upload a file.'.($jd?" ".sprintf('Maximum allowed file size is %sB.',$jd):""):'File does not exist.');}function
  281. repeat_pattern($ge,$w){return
  282. str_repeat("$ge{0,65535}",$w/65535)."$ge{0,".($w
  283. %
  284. 65535)."}";}function
  285. is_utf8($W){return(preg_match('~~u',$W)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$W));}function
  286. shorten_utf8($M,$w=80,$jf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$w).")($)?)u",$M,$z))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$w).")($)?)",$M,$z);return
  287. h($z[1]).$jf.(isset($z[2])?"":"<i>...</i>");}function
  288. friendly_url($W){return
  289. preg_replace('~[^a-z0-9_]~i','-',$W);}function
  290. hidden_fields($ue,$_c=array()){while(list($v,$W)=each($ue)){if(is_array($W)){foreach($W
  291. as$Nc=>$V)$ue[$v."[$Nc]"]=$V;}elseif(!in_array($v,$_c))echo'<input type="hidden" name="'.h($v).'" value="'.h($W).'">';}}function
  292. 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
  293. column_foreign_keys($O){global$b;$G=array();foreach($b->foreignKeys($O)as$n){foreach($n["source"]as$W)$G[$W][]=$n;}return$G;}function
  294. enum_input($S,$xa,$l,$X,$Eb=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ed);$G=($Eb!==null?"<label><input type='$S'$xa value='$Eb'".((is_array($X)?in_array($Eb,$X):$X===0)?" checked":"")."><i>".'empty'."</i></label>":"");foreach($ed[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));$G.=" <label><input type='$S'$xa value='".($p+1)."'".($La?' checked':'').'>'.h($b->editVal($W,$l)).'</label>';}return$G;}function
  295. input($l,$X,$o){global$T,$b,$u;$_=h(bracket_escape($l["field"]));echo"<td class='function'>";$Ge=($u=="mssql"&&$l["auto_increment"]);if($Ge&&!$_POST["save"])$o=null;$oc=(isset($_GET["select"])||$Ge?array("orig"=>'original'):array())+$b->editFunctions($l);$xa=" name='fields[$_]'";if($l["type"]=="enum")echo
  296. nbsp($oc[""])."<td>".$b->editInput($_GET["edit"],$l,$xa,$X);else{$dc=0;foreach($oc
  297. as$v=>$W){if($v===""||!$W)break;$dc++;}$Gd=($dc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($l["field"])))."]']; if ($dc > f.selectedIndex) f.selectedIndex = $dc;\"":"");$xa.=$Gd;echo(count($oc)>1?html_select("function[$_]",$oc,$o===null||in_array($o,$oc)||isset($oc[$o])?$o:"","functionChange(this);"):nbsp(reset($oc))).'<td>';$Gc=$b->editInput($_GET["edit"],$l,$xa,$X);if($Gc!="")echo$Gc;elseif($l["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$l["length"],$ed);foreach($ed[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':'')."$Gd>".h($b->editVal($W,$l)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$_'$Gd>";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;'")."$xa>".h($X).'</textarea>';else{$kd=(!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)."'".($kd?" maxlength='$kd'":"").(ereg('char|binary',$l["type"])&&$kd>20?" size='40'":"")."$xa>";}}}function
  298. 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
  299. false;if($X=="")return"NULL";return+$X;}if($l["auto_increment"]&&$X=="")return
  300. 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
  301. array_sum((array)$X);if(ereg('blob|bytea|raw|file',$l["type"])&&ini_bool("file_uploads")){$ac=get_file("fields-$r");if(!is_string($ac))return
  302. false;return
  303. q($ac);}return$b->processInput($l,$X,$o);}function
  304. search_tables(){global$b,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$jc=false;foreach(table_status()as$O=>$P){$_=$b->tableName($P);if(isset($P["Engine"])&&$_!=""&&(!$_POST["tables"]||in_array($O,$_POST["tables"]))){$F=$g->query("SELECT".limit("1 FROM ".table($O)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($O),array())),1));if($F->fetch_row()){if(!$jc){echo"<ul>\n";$jc=true;}echo"<li><a href='".h(ME."select=".urlencode($O)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$_</a>\n";}}}echo($jc?"</ul>":"<p class='message'>".'No tables.')."\n";}function
  305. dump_headers($zc,$td=false){global$b;$G=$b->dumpHeaders($zc,$td);$Wd=$_POST["output"];if($Wd!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($zc).".$G".($Wd!="file"&&!ereg('[^0-9a-z]',$Wd)?".$Wd":""));session_write_close();return$G;}function
  306. dump_csv($H){foreach($H
  307. as$v=>$W){if(preg_match("~[\"\n,;\t]~",$W)||$W==="")$H[$v]='"'.str_replace('"','""',$W).'"';}echo
  308. implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$H)."\r\n";}function
  309. apply_sql_function($o,$e){return($o?($o=="unixepoch"?"DATETIME($e, '$o')":($o=="count distinct"?"COUNT(DISTINCT ":strtoupper("$o("))."$e)"):$e);}function
  310. password_file(){$qb=ini_get("upload_tmp_dir");if(!$qb){if(function_exists('sys_get_temp_dir'))$qb=sys_get_temp_dir();else{$bc=@tempnam("","");if(!$bc)return
  311. false;$qb=dirname($bc);unlink($bc);}}$bc="$qb/adminer.key";$G=@file_get_contents($bc);if($G)return$G;$lc=@fopen($bc,"w");if($lc){$G=md5(uniqid(mt_rand(),true));fwrite($lc,$G);fclose($lc);}return$G;}function
  312. is_mail($Bb){$wa='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$sb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ge="$wa+(\\.$wa+)*@($sb?\\.)+$sb";return
  313. preg_match("(^$ge(,\\s*$ge)*\$)i",$Bb);}function
  314. is_url($M){$sb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($sb?\\.)+$sb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$M,$z)?strtolower($z[1]):"");}global$b,$g,$ub,$_b,$Ib,$k,$oc,$tc,$ba,$Fc,$u,$ca,$Qc,$Fd,$hf,$R,$Jf,$T,$Vf,$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");$Zd=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Zd[]=true;call_user_func_array('session_set_cookie_params',$Zd);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$cc);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);function
  315. get_lang(){return'en';}function
  316. lang($If,$_d){$je=($_d==1?0:1);$If=str_replace("%d","%s",$If[$je]);$_d=number_format($_d,0,".",',');return
  317. sprintf($If,$_d);}if(extension_loaded('pdo')){class
  318. Min_PDO
  319. extends
  320. PDO{var$_result,$server_info,$affected_rows,$error;function
  321. __construct(){global$b;$je=array_search("",$b->operators);if($je!==false)unset($b->operators[$je]);}function
  322. dsn($xb,$U,$C,$Qb='auth_error'){set_exception_handler($Qb);parent::__construct($xb,$U,$C);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
  323. query($E,$Pf=false){$F=parent::query($E);if(!$F){$Kb=$this->errorInfo();$this->error=$Kb[2];return
  324. false;}$this->store_result($F);return$F;}function
  325. multi_query($E){return$this->_result=$this->query($E);}function
  326. store_result($F=null){if(!$F)$F=$this->_result;if($F->columnCount()){$F->num_rows=$F->rowCount();return$F;}$this->affected_rows=$F->rowCount();return
  327. true;}function
  328. next_result(){$this->_result->_offset=0;return@$this->_result->nextRowset();}function
  329. result($E,$l=0){$F=$this->query($E);if(!$F)return
  330. false;$H=$F->fetch();return$H[$l];}}class
  331. Min_PDOStatement
  332. extends
  333. PDOStatement{var$_offset=0,$num_rows;function
  334. fetch_assoc(){return$this->fetch(2);}function
  335. fetch_row(){return$this->fetch(3);}function
  336. fetch_field(){$H=(object)$this->getColumnMeta($this->_offset++);$H->orgtable=$H->table;$H->orgname=$H->name;$H->charsetnr=(in_array("blob",(array)$H->flags)?63:0);return$H;}}}$ub=array();$ub["sqlite"]="SQLite 3";$ub["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$me=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
  337. Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$error,$_link;function
  338. Min_SQLite($bc){$this->_link=new
  339. SQLite3($bc);$cg=$this->_link->version();$this->server_info=$cg["versionString"];}function
  340. query($E){$F=@$this->_link->query($E);if(!$F){$this->error=$this->_link->lastErrorMsg();return
  341. false;}elseif($F->numColumns())return
  342. new
  343. Min_Result($F);$this->affected_rows=$this->_link->changes();return
  344. true;}function
  345. quote($M){return(is_utf8($M)?"'".$this->_link->escapeString($M)."'":"x'".reset(unpack('H*',$M))."'");}function
  346. store_result(){return$this->_result;}function
  347. result($E,$l=0){$F=$this->query($E);if(!is_object($F))return
  348. false;$H=$F->_result->fetchArray();return$H[$l];}}class
  349. Min_Result{var$_result,$_offset=0,$num_rows;function
  350. Min_Result($F){$this->_result=$F;}function
  351. fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
  352. fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
  353. 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
  354. __desctruct(){return$this->_result->finalize();}}}else{class
  355. Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
  356. Min_SQLite($bc){$this->server_info=sqlite_libversion();$this->_link=new
  357. SQLiteDatabase($bc);}function
  358. query($E,$Pf=false){$qd=($Pf?"unbufferedQuery":"query");$F=@$this->_link->$qd($E,SQLITE_BOTH,$k);if(!$F){$this->error=$k;return
  359. false;}elseif($F===true){$this->affected_rows=$this->changes();return
  360. true;}return
  361. new
  362. Min_Result($F);}function
  363. quote($M){return"'".sqlite_escape_string($M)."'";}function
  364. store_result(){return$this->_result;}function
  365. result($E,$l=0){$F=$this->query($E);if(!is_object($F))return
  366. false;$H=$F->_result->fetch();return$H[$l];}}class
  367. Min_Result{var$_result,$_offset=0,$num_rows;function
  368. Min_Result($F){$this->_result=$F;if(method_exists($F,'numRows'))$this->num_rows=$F->numRows();}function
  369. fetch_assoc(){$H=$this->_result->fetch(SQLITE_ASSOC);if(!$H)return
  370. false;$G=array();foreach($H
  371. as$v=>$W)$G[($v[0]=='"'?idf_unescape($v):$v)]=$W;return$G;}function
  372. fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
  373. fetch_field(){$_=$this->_result->fieldName($this->_offset++);$ge='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($ge\\.)?$ge\$~",$_,$z)){$O=($z[3]!=""?$z[3]:idf_unescape($z[2]));$_=($z[5]!=""?$z[5]:idf_unescape($z[4]));}return(object)array("name"=>$_,"orgname"=>$_,"orgtable"=>$O,);}}}}elseif(extension_loaded("pdo_sqlite")){class
  374. Min_SQLite
  375. extends
  376. Min_PDO{var$extension="PDO_SQLite";function
  377. Min_SQLite($bc){$this->dsn(DRIVER.":$bc","","");}}}if(class_exists("Min_SQLite")){class
  378. Min_DB
  379. extends
  380. Min_SQLite{function
  381. Min_DB(){$this->Min_SQLite(":memory:");}function
  382. select_db($bc){if(is_readable($bc)&&$this->query("ATTACH ".$this->quote(ereg("(^[/\\\\]|:)",$bc)?$bc:dirname($_SERVER["SCRIPT_FILENAME"])."/$bc")." AS a")){$this->Min_SQLite($bc);return
  383. true;}return
  384. false;}function
  385. multi_query($E){return$this->_result=$this->query($E);}function
  386. next_result(){return
  387. false;}}}function
  388. idf_escape($r){return'"'.str_replace('"','""',$r).'"';}function
  389. table($r){return
  390. idf_escape($r);}function
  391. connect(){return
  392. new
  393. Min_DB;}function
  394. get_databases(){return
  395. array();}function
  396. limit($E,$Z,$x,$A=0,$Ve=" "){return" $E$Z".($x!==null?$Ve."LIMIT $x".($A?" OFFSET $A":""):"");}function
  397. limit1($E,$Z){global$g;return($g->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($E,$Z,1):" $E$Z");}function
  398. db_collation($j,$Qa){global$g;return$g->result("PRAGMA encoding");}function
  399. engines(){return
  400. array();}function
  401. logged_user(){return
  402. get_current_user();}function
  403. tables_list(){return
  404. get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name",1);}function
  405. count_tables($i){return
  406. array();}function
  407. table_status($_=""){$G=array();foreach(get_rows("SELECT name AS Name, type AS Engine FROM sqlite_master WHERE type IN ('table', 'view')".($_!=""?" AND name = ".q($_):""))as$H){$H["Auto_increment"]="";$G[$H["Name"]]=$H;}foreach(get_rows("SELECT * FROM sqlite_sequence",null,"")as$H)$G[$H["name"]]["Auto_increment"]=$H["seq"];return($_!=""?$G[$_]:$G);}function
  408. is_view($P){return$P["Engine"]=="view";}function
  409. fk_support($P){global$g;return$_GET["create"]==""&&!$g->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
  410. fields($O){$G=array();foreach(get_rows("PRAGMA table_info(".table($O).")")as$H){$S=strtolower($H["type"]);$nb=$H["dflt_value"];$G[$H["name"]]=array("field"=>$H["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("'(.*)'",$nb,$z)?str_replace("''","'",$z[1]):($nb=="NULL"?null:$nb)),"null"=>!$H["notnull"],"auto_increment"=>eregi('^integer$',$S)&&$H["pk"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$H["pk"],);}return$G;}function
  411. indexes($O,$h=null){$G=array();$pe=array();foreach(fields($O)as$l){if($l["primary"])$pe[]=$l["field"];}if($pe)$G[""]=array("type"=>"PRIMARY","columns"=>$pe,"lengths"=>array());foreach(get_rows("PRAGMA index_list(".table($O).")")as$H){$G[$H["name"]]["type"]=($H["unique"]?"UNIQUE":"INDEX");$G[$H["name"]]["lengths"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($H["name"]).")")as$Ne)$G[$H["name"]]["columns"][]=$Ne["name"];}return$G;}function
  412. foreign_keys($O){$G=array();foreach(get_rows("PRAGMA foreign_key_list(".table($O).")")as$H){$n=&$G[$H["id"]];if(!$n)$n=$H;$n["source"][]=$H["from"];$n["target"][]=$H["to"];}return$G;}function
  413. view($_){global$g;return
  414. array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$g->result("SELECT sql FROM sqlite_master WHERE name = ".q($_))));}function
  415. collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
  416. information_schema($j){return
  417. false;}function
  418. error(){global$g;return
  419. h($g->error);}function
  420. exact_value($W){return
  421. q($W);}function
  422. check_sqlite_name($_){global$g;$Xb="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($Xb)\$~",$_)){$g->error=sprintf('Please use one of the extensions %s.',str_replace("|",", ",$Xb));return
  423. false;}return
  424. true;}function
  425. create_database($j,$d){global$g;if(file_exists($j)){$g->error='File exists.';return
  426. false;}if(!check_sqlite_name($j))return
  427. false;$y=new
  428. Min_SQLite($j);$y->query('PRAGMA encoding = "UTF-8"');$y->query('CREATE TABLE adminer (i)');$y->query('DROP TABLE adminer');return
  429. true;}function
  430. drop_databases($i){global$g;$g->Min_SQLite(":memory:");foreach($i
  431. as$j){if(!@unlink($j)){$g->error='File exists.';return
  432. false;}}return
  433. true;}function
  434. rename_database($_,$d){global$g;if(!check_sqlite_name($_))return
  435. false;$g->Min_SQLite(":memory:");$g->error='File exists.';return@rename(DB,$_);}function
  436. auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
  437. alter_table($O,$_,$m,$fc,$Ua,$Gb,$d,$za,$de){$c=array();foreach($m
  438. as$l){if($l[1])$c[]=($O!=""&&$l[0]==""?"ADD ":" ").implode($l[1]);}$c=array_merge($c,$fc);if($O!=""){foreach($c
  439. as$W){if(!queries("ALTER TABLE ".table($O)." $W"))return
  440. false;}if($O!=$_&&!queries("ALTER TABLE ".table($O)." RENAME TO ".table($_)))return
  441. false;}elseif(!queries("CREATE TABLE ".table($_)." (\n".implode(",\n",$c)."\n)"))return
  442. false;if($za)queries("UPDATE sqlite_sequence SET seq = $za WHERE name = ".q($_));return
  443. true;}function
  444. alter_indexes($O,$c){foreach($c
  445. 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($O."_"))." ON ".table($O)." $W[2]"))return
  446. false;}return
  447. true;}function
  448. truncate_tables($Q){return
  449. apply_queries("DELETE FROM",$Q);}function
  450. drop_views($Y){return
  451. apply_queries("DROP VIEW",$Y);}function
  452. drop_tables($Q){return
  453. apply_queries("DROP TABLE",$Q);}function
  454. move_tables($Q,$Y,$wf){return
  455. false;}function
  456. trigger($_){global$g;if($_=="")return
  457. 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
  458. array("Timing"=>strtoupper($z[1]),"Event"=>strtoupper($z[2]),"Trigger"=>$_,"Statement"=>$z[3]);}function
  459. triggers($O){$G=array();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($O))as$H){preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s*([a-z]+)~i',$H["sql"],$z);$G[$H["name"]]=array($z[1],$z[2]);}return$G;}function
  460. trigger_options(){return
  461. array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Type"=>array("FOR EACH ROW"),);}function
  462. routine($_,$S){}function
  463. routines(){}function
  464. routine_languages(){}function
  465. begin(){return
  466. queries("BEGIN");}function
  467. insert_into($O,$L){return
  468. queries("INSERT INTO ".table($O).($L?" (".implode(", ",array_keys($L)).")\nVALUES (".implode(", ",$L).")":"DEFAULT VALUES"));}function
  469. insert_update($O,$L,$pe){return
  470. queries("REPLACE INTO ".table($O)." (".implode(", ",array_keys($L)).") VALUES (".implode(", ",$L).")");}function
  471. last_id(){global$g;return$g->result("SELECT LAST_INSERT_ROWID()");}function
  472. explain($g,$E){return$g->query("EXPLAIN $E");}function
  473. found_rows($P,$Z){}function
  474. types(){return
  475. array();}function
  476. schemas(){return
  477. array();}function
  478. get_schema(){return"";}function
  479. set_schema($Re){return
  480. true;}function
  481. create_sql($O,$za){global$g;return$g->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ".q($O));}function
  482. truncate_sql($O){return"DELETE FROM ".table($O);}function
  483. use_sql($kb){}function
  484. trigger_sql($O,$N){return
  485. implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($O)));}function
  486. show_variables(){global$g;$G=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)$G[$v]=$g->result("PRAGMA $v");return$G;}function
  487. show_status(){$G=array();foreach(get_vals("PRAGMA compile_options")as$Kd){list($v,$W)=explode("=",$Kd,2);$G[$v]=$W;}return$G;}function
  488. support($Zb){return
  489. ereg('^(view|trigger|variables|status|dump)$',$Zb);}$u="sqlite";$T=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$hf=array_keys($T);$Vf=array();$Jd=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","");$oc=array("hex","length","lower","round","unixepoch","upper");$tc=array("avg","count","count distinct","group_concat","max","min","sum");$_b=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$ub["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$me=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
  490. Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error;function
  491. _error($Jb,$k){if(ini_bool("html_errors"))$k=html_entity_decode(strip_tags($k));$k=ereg_replace('^[^:]*: ','',$k);$this->error=$k;}function
  492. connect($K,$U,$C){global$b;$j=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($K,"'\\"))."' user='".addcslashes($U,"'\\")."' password='".addcslashes($C,"'\\")."'";$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){$cg=pg_version($this->_link);$this->server_info=$cg["server"];pg_set_client_encoding($this->_link,"UTF8");}retur

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