From 901a40dd1bcd57e1271e62830a66cae004498d4c Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Sat, 27 Jul 2013 15:43:34 +0000 Subject: [PATCH] Update Adminer in the dev branch to Adminer 3.7.1. --- app/adminer/adminer.php | 2146 +++++++++++++++++++-------------------- 1 file changed, 1032 insertions(+), 1114 deletions(-) diff --git a/app/adminer/adminer.php b/app/adminer/adminer.php index 8e9e5ceeb0..5dacdb9ac6 100644 --- a/app/adminer/adminer.php +++ b/app/adminer/adminer.php @@ -20,525 +20,454 @@ * @copyright 2007 Jakub Vrana * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other) -*/ -error_reporting(6135);$_e=(!ereg('^(unsafe_raw)?$',ini_get("filter.default"))||ini_get("filter.default_flags"));if($_e){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$b){$be=filter_input_array(constant("INPUT$b"),FILTER_UNSAFE_RAW);if($be){$$b=$be;}}}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 -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;}tr:hover td,tr:hover th{background:#ddf;}pre{margin:1em 0 0;}.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;}.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");?> -function toggle(id){var el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;} -function cookie(assign,days){var date=new Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date;} -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);} -function selectValue(select){var selected=select.options[select.selectedIndex];return((selected.attributes.value||{}).specified?selected.value:selected.text);} -function formCheck(el,name){var elems=el.form.elements;for(var i=0;i.*<\/noscript>/i,'');}}} -function nodePosition(el){var pos=0;while(el=el.previousSibling){pos++;} -return pos;} -function pageClick(href,page,event){if(!isNaN(page)&&page){href+=(page!=1?'&page='+(page-1):'');if(!ajaxSend(href)){location.href=href;}}} -function selectAddRow(field){field.onchange=function(){};var row=field.parentNode.cloneNode(true);var selects=row.getElementsByTagName('select');for(var i=0;i=0){input.maxLength=input.origMaxLength;}} -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');} -xmlhttp.setRequestHeader('X-Requested-With','XMLHttpRequest');xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){callback(xmlhttp);}};xmlhttp.send(data);} -return xmlhttp;} -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]);}}});} -function replaceFavicon(href){var favicon=document.getElementById('favicon');favicon.href=href;favicon.parentNode.appendChild(favicon);} -var ajaxState=0;function ajaxSend(url,data,popState){if(!history.pushState){return false;} -var currentState=++ajaxState;onblur=function(){replaceFavicon(location.pathname+'?file=loader.gif&version=3.2.2');};setHtml('loader','');return ajax(url,function(xmlhttp){if(currentState==ajaxState){var title=xmlhttp.getResponseHeader('X-AJAX-Title');if(title){document.title=decodeURIComponent(title);} -var redirect=xmlhttp.getResponseHeader('X-AJAX-Redirect');if(redirect){return ajaxSend(redirect,'',popState);} -onblur=function(){};replaceFavicon(location.pathname+'?file=favicon.ico&version=3.2.2');if(!xmlhttp.status){setHtml('loader','');}else{if(!popState){if(data||url!=location.href){history.pushState(data,'',url);} -scrollTo(0,0);} -setHtml('content',xmlhttp.responseText);var content=document.getElementById('content');var scripts=content.getElementsByTagName('script');var length=scripts.length;for(var i=0;i=allowed){return false;} -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;idivs[i].offsetTop+top*em);} -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';} -if(divs[i].parentNode!=div2.parentNode){line=line.getElementsByTagName('div')[0];line.style.height=(line.offsetHeight+(isTop?-1:1)*shift)/em+'em';} -lineSet[id]=true;}}} -that.style.left=left+'em';that.style.top=top+'em';}} -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;} -s=encodeURIComponent(s.substr(1));var link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}$y){unset($ub[$d][$Ma]);if(is_array($y)){$ub[$d][stripslashes($Ma)]=$y;$ub[]=&$ub[$d][stripslashes($Ma)];}else{$ub[$d][stripslashes($Ma)]=($_e?$y:stripslashes($y));}}}}}function -bracket_escape($N,$pf=false){static$Xd=array(':'=>':1',']'=>':2','['=>':3');return -strtr($N,($pf?array_flip($Xd):$Xd));}function -h($I){return -htmlspecialchars($I,ENT_QUOTES);}function -nbsp($I){return(trim($I)!=""?h($I):" ");}function -nl_br($I){return -str_replace("\n","
",$I);}function -checkbox($f,$q,$ab,$Ud="",$ae=""){static$S=0;$S++;$c="";return($Ud!=""?"":$c);}function -optionlist($Wc,$Mf=null,$oe=false){$c="";foreach($Wc -as$Ma=>$y){$ge=array($Ma=>$y);if(is_array($y)){$c.='';$ge=$y;}foreach($ge -as$d=>$b){$c.=''.h($b);}if(is_array($y)){$c.='';}}return$c;}function -adminer_html_select($f,$Wc,$q="",$Qb=true){if($Qb){return"";}$c="";foreach($Wc -as$d=>$b){$c.="";}return$c;}function -confirm($Qc="",$Sf=false){return" onclick=\"".($Sf?"eventStop(event); ":"")."return confirm('".lang(0).($Qc?" (' + $Qc + ')":"")."');\"";}function -js_escape($I){return -addcslashes($I,"\r\n'\\/");}function -ini_bool($Rf){$b=ini_get($Rf);return(eregi('^(on|true|yes)$',$b)||(int)$b);}function -sid(){static$c;if(!isset($c)){$c=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));}return$c;}function -q($I){global$g;return$g->quote($I);}function -get_vals($j,$C=0){global$g;$c=array();$i=$g->query($j);if(is_object($i)){while($a=$i->fetch_row()){$c[]=$a[$C];}}return$c;}function -get_key_vals($j,$G=null){global$g;if(!is_object($G)){$G=$g;}$c=array();$i=$G->query($j);if(is_object($i)){while($a=$i->fetch_row()){$c[$a[0]]=$a[1];}}return$c;}function -get_rows($j,$G=null,$n="

"){global$g;if(!is_object($G)){$G=$g;}$c=array();$i=$G->query($j);if(is_object($i)){while($a=$i->fetch_assoc()){$c[]=$a;}}elseif(!$i&&$g->error&&$n&&defined("PAGE_HEADER")){echo$n.error()."\n";}return$c;}function -unique_array($a,$J){foreach($J -as$x){if(ereg("PRIMARY|UNIQUE",$x["type"])){$c=array();foreach($x["columns"]as$d){if(!isset($a[$d])){continue -2;}$c[$d]=$a[$d];}return$c;}}$c=array();foreach($a -as$d=>$b){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$d)){$c[$d]=$b;}}return$c;}function -where($s){global$v;$c=array();foreach((array)$s["where"]as$d=>$b){$c[]=idf_escape(bracket_escape($d,1)).(ereg('\\.',$b)||$v=="mssql"?" LIKE ".exact_value(addcslashes($b,"%_")):" = ".exact_value($b));}foreach((array)$s["null"]as$d){$c[]=idf_escape($d)." IS NULL";}return -implode(" AND ",$c);}function -where_check($b){parse_str($b,$fe);remove_slashes(array(&$fe));return -where($fe);}function -where_link($l,$C,$q,$If="="){return"&where%5B$l%5D%5Bcol%5D=".urlencode($C)."&where%5B$l%5D%5Bop%5D=".urlencode((isset($q)?$If:"IS NULL"))."&where%5B$l%5D%5Bval%5D=".urlencode($q);}function -cookie($f,$q){global$Ac;$xc=array($f,(ereg("\n",$q)?"":$q),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$Ac);if(version_compare(PHP_VERSION,'5.2.0')>=0){$xc[]=true;}return -call_user_func_array('setcookie',$xc);}function -restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($d){return$_SESSION[$d][DRIVER][SERVER][$_GET["username"]];}function -set_session($d,$b){$_SESSION[$d][DRIVER][SERVER][$_GET["username"]]=$b;}function -auth_url($Ib,$F,$P){global$na;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($na))."|username|".session_name()),$k);return"$k[1]?".(sid()?SID."&":"").($Ib!="server"||$F!=""?urlencode($Ib)."=".urlencode($F)."&":"")."username=".urlencode($P).($k[2]?"&$k[2]":"");}function +* @version 3.7.1 +*/error_reporting(6135);$qc=!ereg('^(unsafe_raw)?$',ini_get("filter.default"));if($qc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$Ig=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($Ig)$$X=$Ig;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo +lzw_decompress("\0\0\0` \0\0\n @\0C\"\0`EQ?tvM'Jdd\\b0\0\"fӈs5AXPaJ08#RTz`#.cXȀ?-\0Im?.M\0ȯ(̉/(%\0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo +lzw_decompress("\n1ٌ̇l7B14vb0fsn2Bѱ٘n:#(b.\rDc)a7El ñi1̎s-4f i7 Féa'3Id!S:4+Mdgǃt cb{H(Ɠєt1)t}Fp0 8\\82DL>9 `'Cۗ889 xQ\0e4QʘlPVbT4 \\W/\n`  7\"hq4ZM6T\rr\\C{h7\rx67J2.39KH,!mƆo\$.[\r&#\$ X:\rܺ3b-8SLK.-ҥ\rH@ml:;J0LR2! A 2 m0eI-:U\r9MWL0GcJv2(F9`C1HRSd9%U1Sna|.ԁ`8:#C2*[o4X~7j\\ 6/09\r;;VnnމvkHB%.k\">[\nlp9cFZs|>6 5l1Vΐ67:\"Azde\\5*մ]p[*Am)Kt[\n8g= ;2z|̣4t8.N#ʲB\"9%HQw qdF\$&VQ#Q'_m ̡ \rh Xrt0j5W4ד m\"CAF!엖h>b007;84Ka \0p aHXF1:8U9HIó;sQ7FcLpXM@e吞+g(73O3pblEE>Chb%DI8E' #)=%CjY1yh;cA6jK\r9Ž\$|g-Zo\0z\$+DVw*WpJ\\FO'ɲa1m,_ڧ\r1Po;\05e\r& 3^\r6MR2T\05?~5 P >85hn1;\rRL8`\\@`;z\n\0ԃ89RyZP@ib?ƭv\$<% A\r?\0Sʥ BÞ4JҨ:`#Hi7ε+}voJVڰ 9W2Q\rTD`f wLI]MKd7*rk*j\nASjF-[ezzrʁfU3~\\ZZ{)>>Ѓp*;zDbw]mC\n訓KBBm@ִ>wU’*N(baƶ@fv)`\0uD)mD@/49jHBm1I5DR uE9Aӗ=1b0ey1s;-]s 5\\\n1;Q^bi;YJ2d!s#kg hށ] W)>VIx]r;6JLcprd{pyM-UVH5'\ntвlpHoeZϨqeXF`Gy\r!Ww*Dut%dQ/p:iht&Pe,J͌t!O76GgRC[skvqU}yhAGV|lFޅL^.]u&w![jnnڏ[kCvkrmOɭJ>WT0\npMCbtVG|oy8c");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo +lzw_decompress("f:gCI\n:saPi2\nOgc e6Le7s)Ћ\rHGI3as'cDi6N2H8uFR#r7#v}@`Qo5aI,2O'8R-q:PS(a*w(%p-C \" XS`\\F֬h83`X:O,) 898c<#0L9 ?(R#e=\n:*0D9C@{ZO8ioVvkAr8&..cHE>H_hWU51r* ^ (bxܡY1&XH6ؓ.9xP\r.`v484daXV6FEHHfc-^=txY\r%xeQ,X=1!svjkQ2 %W? Ů=dY&ٓVX4ـ\\5Xì!}NgvڃWY*Qi&lѵZ#Ց\rA\$ev5o#ޛ5gc3MTCL>vH<`*]_;%;Vi4X'`ij0gOۥi9ƙےdFk/lŞnc\n/ l[ ŠPa8%!1v/SUcoJ:4J+BvJ\rb{,|\0zcYl\ni.!)dmJ!' B\nC\\ i\$J\"2+IkJ \$Gy\$#ܲi/CAbbC(:UX2& , Q;~/Ky9?\r6tV!6CP hYEl䏞(ؖTp'3C<dc?yCe0@&A?= %A:JD&SQ6R)Ab`0@u9(!0R\nF Š wC\\υrܙ #~2'\$ :K`h@Eb[~ Tlf5BR]{\"-\0L>\r\$@\n(&\r9\0vh*ɇ*X!_djpy`jYwJ\$R(uaM+nxspU^Ap`ͤIH\nf02)!4a9 EwC ˩ LPAi)p3Au AIAHu !g͕UZUc *Mxf :^Xp+V KC#+ WhCP! ;[pn\\%k \0,ڨ87xQC\nY\rbXvC d\nA;lF,_wr4RPHA!;&^Ͳ\"6;=#CI 9f':DY!B+sxV8lÓ\"鑃HU%\"Z6u\re0[pa. +^``b5#CM\$ I˚AP5C\r SdWN6H[ SR\\+X=kλ׺Sr^(oo7\\huklHaC(mnRBUup2C1[|ٽbeG0\"CG?\$x7n\$Z=ZӦsi5f&,fhiIyn20DvETxM{`ܤGN#遂Z,ƒ/ R\$#\\I- |0-0NP ;s-v҆nwGtndiH|4(+v&Ņ+KL\nJ\$ԩ:\\Q/F\n?mFj 3 p DHKv Ⱥɜ\0X*\rʚ\n0 e\n%\riOflNM%]UQ QL-S±T4!U5T\nndi0#EMi./U\rZF j;H☎d`mݩ\ntQS e|iQt d12,DY 1UQSUcdE)\\L F\$@V{W6\"LlTA\$6abOdrLp c,esΞ<2`@bXP\$3@˃P,KVխ^MLu1 @ct-(`\09n2sb/ Fm)Hl5@nl\$q+:/ d,\n޵. 4\$ w0\$dV0\"rW4678VtqBaupÀI<\$#x`wd9^*kuofBEp g2f4 L!r=\0 \" \r< hU%ThBk#>'Cp\n (\r2\"3lMԋ7Gx.,Uu%Dt wy^Mf\" (vU3uJ^HC_IUYkSc_ylcc]rF_q%W#]@rkv3-cyVHJG<ZT@V8\$6o2H@\rª\0=ݍ\"39z:K uK >B\$r.J*l'kophxvL`w1 !M4\"I\$\"o\$>˙Bea\"DBoʶ+ B0Pxp&7|p{|}7ְ\$-P@beVYmoMo\0Nzn*>΄)-Hl!hpg &tZ㜤\0!8 ɩZK@DZG F秩. lz%(x}'<Ū(<XZǬњ ɮgwzz{e'{;@噱(&R^Eݛx宛Y\"MܒV\n5zlzr[x˪ G\$OW@Zx, be fdƻ2EËIDYT%k{J\\\rU N '_ɽf|w޵,l7kt1RD>ЋXZЊ|y|Z{|բ\r%;#\0eZ,\rKt\r >>\$>??c?+@  @ʰcqfc+3Ș؀&x]N*|b2R_\$< \rl [*`\n~b]jB\rqˣQ꾼+(W| +ep9j}RiJ6p\r-S0tHJ`7Dcp)\nߢ\\%aQ Cf6\ne\n>@%h%I `\0uAX K `8+ I\\(\rń\0lH#]*y\$,H ?EFC7`țE@rGpLB3H,0+s\r\0\0!9Hua4 0aJ(\0DqgaJ!m~Aa&à/ *p\"IBD\r!9!vL:Ċ!\$AKe\0lb i6%YzKrlRK\"AF{ 6XH&: h~9_2Ws>\$Ћ pC@vz0և8\\vp:s_\\:Y\rB\$|iGR# YR9\0D28?+}YᩇJ#CiVCT6Q9piteLp\$4\$D#@@|gRc\rF8Q&@5r\0XV5\\fh @v, /\0\n&/!d qKRm;aD2d\0002b\$ L/1,E4@<}aی\$1*`>0 :d   - Ä\rDYl(6[6ksf' 8I TJDUD:A2hd\0a\0)2:B3:Z1=@-qN\\!\$kfNw `n\$LCR5pcE3Ca\0=Hjڒg-ژE e.\0!o,'wI`\\s6RE}e0F\\m|F>q ?jД6i p +N9qup2eɑm.+L~\$\"Rs]iqCИjZgx`6t.b,ͩkY\\`'Sljհ!ln\0Wg+:+c6~KFʖĩ-h9-H@SDG;Π_ \n)fnQ-*C֩{MSnZ ED\0)Pg]6b%%Hj&%-* 9}j 43@*(m\$QDۆҹ(m¼ukjO\" ,1Vv%s1kP` /@0>F>#X8%lⴹKS|Yw0u̧bÉX4p\0\n%\0ZQ2WWEkoɇjy .Z\0 PptHR>,%)k `|,prZhZ,P|CFLxn .PReVoB;xDk)M?n`/5Ilqh\0צ5Ehq폴A ˉUdkDOy;ƆëA.OrƄ!H ^ҋD3Ig>ce~Zon_^+!h|*3ޢG[nڶjp 7H/T+3lP{<2ʞЩ)\"ãލYˣA2:&\0ۃ~cK\nD4GNg.`RB1H.j{}n|/o`]f_6y`\r x^@\\R='ς_{ X-\\)L EPl\\\0]hareӝ8NG^I:ܵJ%r~-܍ 1g+gVoσzm>54)mm\$oEbܒ)mEѨK6!* \nӔq 0?wPKg1i~X`\0XY Z *Dh 1El\r\0:?\r>#2@3h2袰Æ&Oе.Ʉ(.LbVEь s:88{>χAoHrySdvmr׃f>jO\nÀ5ֳ͂A002>nf16q3”]+arFx6 S-3e +x̤/jhD\r-\nјG7z2i.A9f`YTx9\"^\\nݣs9{0s83\$:#3Y6{0\nJ \$#D\\ļ@Ў3u0\"*.rs؛5G_ȎDdHKm]\\4\0;d}[ S2ܜ}ޞKd& t rf *j +Px܍\r7M8A[#m\n\n𧀯9+ZH|H[_ź| j5H|U1^u] P L`Xgh _r smZ:l]ihsK>ec 9 p7jCLRp ``");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0##\naFo~y._wa1J GL6]\0\0;";break;case"up.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0 MQN\n}a8yaŶ\0\0;";break;case"down.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0 M*)[W\\L&ٜƶ\0\0;";break;case"arrow.gif":echo"GIF89a\0\n\0\0\0!\0\0\0,\0\0\0\0\0\n\0\0iӲ޻\0\0;";break;}}exit;}function +connection(){global$i;return$i;}function +adminer(){global$b;return$b;}function +idf_unescape($t){$pd=substr($t,-1);return +str_replace($pd.$pd,$pd,substr($t,1,-1));}function +escape_string($X){return +substr(q($X),1,-1);}function +remove_slashes($We,$qc=false){if(get_magic_quotes_gpc()){while(list($x,$X)=each($We)){foreach($X +as$hd=>$W){unset($We[$x][$hd]);if(is_array($W)){$We[$x][stripslashes($hd)]=$W;$We[]=&$We[$x][stripslashes($hd)];}else$We[$x][stripslashes($hd)]=($qc?$W:stripslashes($W));}}}}function +bracket_escape($t,$Ca=false){static$vg=array(':'=>':1',']'=>':2','['=>':3');return +strtr($t,($Ca?array_flip($vg):$vg));}function +h($O){return +htmlspecialchars(str_replace("\0","",$O),ENT_QUOTES);}function +nbsp($O){return(trim($O)!=""?h($O):" ");}function +nl_br($O){return +str_replace("\n","
",$O);}function +checkbox($B,$Y,$Pa,$md="",$je="",$Sa=""){$I="";return($md!=""||$Sa?"$I".h($md)."":$I);}function +optionlist($ne,$Af=null,$Og=false){$I="";foreach($ne +as$hd=>$W){$oe=array($hd=>$W);if(is_array($W)){$I.='';$oe=$W;}foreach($oe +as$x=>$X)$I.=''.h($X);if(is_array($W))$I.='';}return$I;}function +html_select($B,$ne,$Y="",$ie=true){if($ie)return"";$I="";foreach($ne +as$x=>$X)$I.="";return$I;}function +confirm($jb=""){return" onclick=\"return confirm('".lang(0).($jb?" (' + $jb + ')":"")."');\"";}function +print_fieldset($Oc,$ud,$Xg=false,$je=""){echo"

$ud
\n";}echo' - -';}elseif(isset($_GET["edit"])){$m=$_GET["edit"];$s=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$qa=(isset($_GET["select"])?$_POST["edit"]:$s);$p=fields($m);foreach($p -as$f=>$e){if(!isset($e["privileges"][$qa?"update":"insert"])||$o->fieldName($e)==""){unset($p[$f]);}}if($_POST&&!$n&&!isset($_GET["select"])){$ga=$_POST["referer"];if($_POST["insert"]){$ga=($qa?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$ga)){$ga=ME."select=".urlencode($m);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($m)," WHERE $s"),$ga,lang(137));}else{$r=array();foreach($p -as$f=>$e){$b=process_input($e);if($b!==false&&$b!==null){$r[idf_escape($f)]=($qa?"\n".idf_escape($f)." = $b":$b);}}if($qa){if(!$r){redirect($ga);}query_redirect("UPDATE".limit1(table($m)." SET".implode(",",$r),"\nWHERE $s"),$ga,lang(138));}else{$i=insert_into($m,$r);$ue=($i?last_id():0);queries_redirect($ga,lang(139,($ue?" $ue":"")),$i);}}}$Ea=$o->tableName(table_status($m));page_header(($qa?lang(31):lang(140)),$n,array("select"=>array($m,$Ea)),$Ea);$a=null;if($_POST["save"]){$a=(array)$_POST["fields"];}elseif($s){$Q=array();foreach($p -as$f=>$e){if(isset($e["privileges"]["select"])){$Q[]=($_POST["clone"]&&$e["auto_increment"]?"'' AS ":(ereg("enum|set",$e["type"])?"1*".idf_escape($f)." AS ":"")).idf_escape($f);}}$a=array();if($Q){$H=get_rows("SELECT".limit(implode(", ",$Q)." FROM ".table($m)," WHERE $s",(isset($_GET["select"])?2:1)));$a=(isset($_GET["select"])&&count($H)!=1?null:reset($H));}}echo' +';$rc=true;foreach($Pe +as$x=>$X){if($x!=""&&$X>1){echo($rc?"

":" ")."".h($x)."";$rc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(54));$H=$i->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Dc=$H;if(!$H)$H=$i->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"

\n";hidden_fields_get();echo"\n",($Dc?"":"\n"),"\n","\n";while($J=$H->fetch_assoc())echo'
".lang(23)."".lang(22)." 
'.h($J["User"])."".h($J["Host"]).''.lang(34)."\n";if(!$Dc||DB!="")echo"\n";echo"
\n","

\n",'

'.lang(124)."";}elseif(isset($_GET["sql"])){if(!$n&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$Lc=&get_session("queries");$Kc=&$Lc[DB];if(!$n&&$_POST["clear"]){$Kc=array();redirect(remove_from_uri("history"));}page_header(lang(47),$n);if(!$n&&$_POST){$zc=false;$G=$_POST["query"];if($_POST["webfile"]){$zc=@fopen((file_exists("adminer.sql")?"adminer.sql":"compress.zlib://adminer.sql.gz"),"rb");$G=($zc?fread($zc,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"][0]!=4)$G=get_file("sql_file",true);if(is_string($G)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($G)+memory_get_usage()+8e6));if($G!=""&&strlen($G)<1e6){$F=$G.(ereg(";[ \t\r\n]*\$",$G)?"":";");if(!$Kc||reset(end($Kc))!=$F){restart_session();$Kc[]=array($F,time());set_session("queries",$Lc);stop_session();}}$Jf="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";$wb=";";$C=0;$Rb=true;$j=connect();if(is_object($j)&&DB!="")$j->select_db(DB);$ab=0;$Xb=array();$xd=0;$Be='[\'"'.($w=="sql"?'`#':($w=="sqlite"?'`[':($w=="mssql"?'[':''))).']|/\\*|-- |$'.($w=="pgsql"?'|\\$[^$]*\\$':'');$ug=microtime();parse_str($_COOKIE["adminer_export"],$qa);$Jb=$b->dumpFormat();unset($Jb["sql"]);while($G!=""){if(!$C&&preg_match("~^$Jf*DELIMITER\\s+(\\S+)~i",$G,$A)){$wb=$A[1];$G=substr($G,strlen($A[0]));}else{preg_match('('.preg_quote($wb)."\\s*|$Be)",$G,$A,PREG_OFFSET_CAPTURE,$C);list($xc,$Ke)=$A[0];if(!$xc&&$zc&&!feof($zc))$G.=fread($zc,1e5);else{if(!$xc&&rtrim($G)=="")break;$C=$Ke+strlen($xc);if($xc&&rtrim($xc)!=$wb){while(preg_match('('.($xc=='/*'?'\\*/':($xc=='['?']':(ereg('^-- |^#',$xc)?"\n":preg_quote($xc)."|\\\\."))).'|$)s',$G,$A,PREG_OFFSET_CAPTURE,$C)){$wf=$A[0][0];if(!$wf&&$zc&&!feof($zc))$G.=fread($zc,1e5);else{$C=$A[0][1]+strlen($wf);if($wf[0]!="\\")break;}}}else{$Rb=false;$F=substr($G,0,$Ke);$ab++;$Se="

".shorten_utf8(trim($F),1000)."
\n";if(!$_POST["only_errors"]){echo$Se;ob_flush();flush();}$Mf=microtime();if($i->multi_query($F)&&is_object($j)&&preg_match("~^$Jf*USE\\b~isU",$F))$j->query($F);do{$H=$i->store_result();$Sb=microtime();$lg=" (".format_time($Mf,$Sb).")".(strlen($F)<1000?" ".lang(34)."":"");if($i->error){echo($_POST["only_errors"]?$Se:""),"

".lang(125).($i->errno?" ($i->errno)":"").": ".error()."\n";$Xb[]=" $ab";if($_POST["error_stops"])break +2;}elseif(is_object($H)){$se=select($H,$j);if(!$_POST["only_errors"]){echo"

\n","

".($H->num_rows?lang(126,$H->num_rows):"").$lg;$Oc="export-$ab";$gc=", ".lang(118)."\n";if($j&&preg_match("~^($Jf|\\()*SELECT\\b~isU",$F)&&($fc=explain($j,$F))){$Oc="explain-$ab";echo", EXPLAIN$gc","

\n";}else +echo$gc;echo"
\n";}}else{if(preg_match("~^$Jf*(CREATE|DROP|ALTER)$Jf+(DATABASE|SCHEMA)\\b~isU",$F)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"

".lang(127,$i->affected_rows)."$lg\n";}$Mf=$Sb;}while($i->next_result());$xd+=substr_count($F.$xc,"\n");$G=substr($G,$C);$C=0;}}}}if($Rb)echo"

".lang(128)."\n";elseif($_POST["only_errors"]){echo"

".lang(129,$ab-count($Xb))," (".format_time($ug,microtime()).")\n";}elseif($Xb&&$ab>1)echo"

".lang(125).": ".implode("",$Xb)."\n";}else +echo"

".upload_error($G)."\n";}echo'

-';if($p){echo"\n";foreach($p -as$f=>$e){echo"
".$o->fieldName($e);$za=$_GET["set"][bracket_escape($f)];$q=(isset($a)?($a[$f]!=""&&ereg("enum|set",$e["type"])?+$a[$f]:$a[$f]):(!$qa&&$e["auto_increment"]?"":(isset($_GET["select"])?false:(isset($za)?$za:$e["default"]))));if(!$_POST["save"]&&is_string($q)){$q=$o->editVal($q,$e);}$K=($_POST["save"]?(string)$_POST["function"][$f]:($s&&$e["on_update"]=="CURRENT_TIMESTAMP"?"now":($q===false?null:(isset($q)?'':'NULL'))));if($e["type"]=="timestamp"&&$q=="CURRENT_TIMESTAMP"){$q="";$K="now";}input($e,$q,$K);echo"\n";}echo"
\n";}echo'

-';if($p){echo"\n";if(!isset($_GET["select"])){echo'\n";}}echo($qa?"\n":($_POST||!$p?"":"\n"));if(isset($_GET["select"])){hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));}echo' +

';$F=$_GET["sql"];if($_POST)$F=$_POST["query"];elseif($_GET["history"]=="all")$F=$Kc;elseif($_GET["history"]!="")$F=$Kc[$_GET["history"]][0];textarea("query",$F,20);echo($_POST?"":"\n"),"

".(ini_bool("file_uploads")?lang(130).': (< '.ini_get("upload_max_filesize").'B)':lang(131)),'

+ +',checkbox("error_stops",1,$_POST["error_stops"],lang(132))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(133))."\n";print_fieldset("webfile",lang(134),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");echo +lang(135,"adminer.sql".(extension_loaded("zlib")?"[.gz]":"").""),' ',"\n";if($Kc){print_fieldset("history",lang(137),$_GET["history"]!="");for($X=end($Kc);$X;$X=prev($Kc)){$x=key($Kc);list($F,$lg)=$X;echo''.lang(34)." ".@date("H:i:s",$lg)." ".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$F)))),80,"")."
\n";}echo"\n","".lang(139)."\n","\n";}echo' +

+';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$p=fields($a);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$p):""):where($_GET,$p));$Lg=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($p +as$B=>$o){if(!isset($o["privileges"][$Lg?"update":"insert"])||$b->fieldName($o)=="")unset($p[$B]);}if($_POST&&!$n&&!isset($_GET["select"])){$_=$_POST["referer"];if($_POST["insert"])$_=($Lg?null:$_SERVER["REQUEST_URI"]);elseif(!ereg('^.+&select=.+$',$_))$_=ME."select=".urlencode($a);$v=indexes($a);$Gg=unique_array($_GET["where"],$v);$af="\nWHERE $Z";if(isset($_POST["delete"])){$G="FROM ".table($a);query_redirect("DELETE".($Gg?" $G$af":limit1($G,$af)),$_,lang(140));}else{$N=array();foreach($p +as$B=>$o){$X=process_input($o);if($X!==false&&$X!==null)$N[idf_escape($B)]=($Lg?"\n".idf_escape($B)." = $X":$X);}if($Lg){if(!$N)redirect($_);$G=table($a)." SET".implode(",",$N);query_redirect("UPDATE".($Gg?" $G$af":limit1($G,$af)),$_,lang(141));}else{$H=insert_into($a,$N);$qd=($H?last_id():0);queries_redirect($_,lang(142,($qd?" $qd":"")),$H);}}}$Yf=$b->tableName(table_status1($a,true));page_header(($Lg?lang(34):lang(143)),$n,array("select"=>array($a,$Yf)),$Yf);$J=null;if($_POST["save"])$J=(array)$_POST["fields"];elseif($Z){$L=array();foreach($p +as$B=>$o){if(isset($o["privileges"]["select"])){$ya=convert_field($o);if($_POST["clone"]&&$o["auto_increment"])$ya="''";if($w=="sql"&&ereg("enum|set",$o["type"]))$ya="1*".idf_escape($B);$L[]=($ya?"$ya AS ":"").idf_escape($B);}}$J=array();if($L){$K=get_rows("SELECT".limit(implode(", ",$L)." FROM ".table($a)," WHERE $Z",(isset($_GET["select"])?2:1)));$J=(isset($_GET["select"])&&count($K)!=1?null:reset($K));}}if($J===false)echo"

".lang(89)."\n";echo' +

+';if(!$p)echo"

".lang(144)."\n";else{echo"\n";foreach($p +as$B=>$o){echo"
".$b->fieldName($o);$vb=$_GET["set"][bracket_escape($B)];if($vb===null){$vb=$o["default"];if($o["type"]=="bit"&&ereg("^b'([01]*)'\$",$vb,$jf))$vb=$jf[1];}$Y=($J!==null?($J[$B]!=""&&$w=="sql"&&ereg("enum|set",$o["type"])?(is_array($J[$B])?array_sum($J[$B]):+$J[$B]):$J[$B]):(!$Lg&&$o["auto_increment"]?"":(isset($_GET["select"])?false:$vb)));if(!$_POST["save"]&&is_string($Y))$Y=$b->editVal($Y,$o);$r=($_POST["save"]?(string)$_POST["function"][$B]:($Lg&&$o["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(ereg("time",$o["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$r="now";}input($o,$Y,$r);echo"\n";}echo"
\n";}echo'

+';if($p){echo"\n";if(!isset($_GET["select"]))echo"\n";}echo($Lg?"\n":($_POST||!$p?"":"\n"));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo' - +

-';}elseif(isset($_GET["create"])){$m=$_GET["create"];$pe=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$ce=referencable_primary($m);$ha=array();foreach($ce -as$Ea=>$e){$ha[str_replace("`","``",$Ea)."`".str_replace("`","``",$e["field"])]=$Ea;}$Kc=array();$Jc=array();if($m!=""){$Kc=fields($m);$Jc=table_status($m);}if($_POST&&!$_POST["fields"]){$_POST["fields"]=array();}if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){if($_POST["drop"]){query_redirect("DROP TABLE ".table($m),substr(ME,0,-1),lang(145));}else{$p=array();$Oa=array();ksort($_POST["fields"]);$vd=reset($Kc);$Jb="FIRST";foreach($_POST["fields"]as$d=>$e){$A=$ha[$e["type"]];$Uc=(isset($A)?$ce[$A]:$e);if($e["field"]!=""){if(!$e["has_default"]){$e["default"]=null;}$za=eregi_replace(" *on update CURRENT_TIMESTAMP","",$e["default"]);if($za!=$e["default"]){$e["on_update"]="CURRENT_TIMESTAMP";$e["default"]=$za;}if($d==$_POST["auto_increment_col"]){$e["auto_increment"]=true;}$qe=process_field($e,$Uc);if($qe!=process_field($vd,$vd)){$p[]=array($e["orig"],$qe,$Jb);}if(isset($A)){$Oa[idf_escape($e["field"])]=($m!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($e["field"]).") REFERENCES ".table($ha[$e["type"]])." (".idf_escape($Uc["field"]).")".(in_array($e["on_delete"],$fb)?" ON DELETE $e[on_delete]":"");}$Jb="AFTER ".idf_escape($e["field"]);}elseif($e["orig"]!=""){$p[]=array($e["orig"]);}if($e["orig"]!=""){$vd=next($Kc);}}$vb="";if(in_array($_POST["partition_by"],$pe)){$yd=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$d=>$b){$q=$_POST["partition_values"][$d];$yd[]="\nPARTITION ".idf_escape($b)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($q!=""?" ($q)":" MAXVALUE");}}$vb.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($yd?" (".implode(",",$yd)."\n)":($_POST["partitions"]?" PARTITIONS ".(+$_POST["partitions"]):""));}elseif($m!=""&&support("partitioning")){$vb.="\nREMOVE PARTITIONING";}$va=lang(146);if($m==""){cookie("adminer_engine",$_POST["Engine"]);$va=lang(147);}queries_redirect(ME."table=".urlencode($_POST["name"]),$va,alter_table($m,$_POST["name"],$p,$Oa,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$Jc["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$Jc["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?+$_POST["Auto_increment"]:""),$vb));}}page_header(($m!=""?lang(28):lang(148)),$n,array("table"=>$m),$m);$a=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($R["int"])?"int":(isset($R["integer"])?"integer":"")))),"partition_names"=>array(""),);if($_POST){$a=$_POST;if($a["auto_increment_col"]){$a["fields"][$a["auto_increment_col"]]["auto_increment"]=true;}process_fields($a["fields"]);}elseif($m!=""){$a=$Jc;$a["name"]=$m;$a["fields"]=array();if(!$_GET["auto_increment"]){$a["Auto_increment"]="";}foreach($Kc -as$e){$e["has_default"]=isset($e["default"]);if($e["on_update"]){$e["default"].=" ON UPDATE $e[on_update]";}$a["fields"][]=$e;}if(support("partitioning")){$Yb="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($m);$i=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $Yb ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($a["partition_by"],$a["partitions"],$a["partition"])=$i->fetch_row();$a["partition_names"]=array();$a["partition_values"]=array();foreach(get_rows("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Yb AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$dd){$a["partition_names"][]=$dd["PARTITION_NAME"];$a["partition_values"][]=$dd["PARTITION_DESCRIPTION"];}$a["partition_names"][]="";}}$Z=collations();$qd=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($qd&&count($a["fields"])>$qd){echo"

".h(lang(149,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";}$wd=engines();foreach($wd -as$yb){if(!strcasecmp($yb,$a["Engine"])){$a["Engine"]=$yb;break;}}echo' +';}elseif(isset($_GET["create"])){$a=$_GET["create"];$Ce=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$ff=referencable_primary($a);$vc=array();foreach($ff +as$Yf=>$o)$vc[str_replace("`","``",$Yf)."`".str_replace("`","``",$o["field"])]=$Yf;$ve=array();$Q=array();if($a!=""){$ve=fields($a);$Q=table_status($a);if(!$Q)$n=lang(7);}$J=$_POST;$J["fields"]=(array)$J["fields"];if($J["auto_increment_col"])$J["fields"][$J["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($J["fields"])&&!$n){if($_POST["drop"])query_redirect("DROP TABLE ".table($a),substr(ME,0,-1),lang(149));else{$p=array();$wa=array();$Ng=false;$tc=array();ksort($J["fields"]);$ue=reset($ve);$ua=" FIRST";foreach($J["fields"]as$x=>$o){$q=$vc[$o["type"]];$Cg=($q!==null?$ff[$q]:$o);if($o["field"]!=""){if(!$o["has_default"])$o["default"]=null;if($x==$J["auto_increment_col"])$o["auto_increment"]=true;$Xe=process_field($o,$Cg);$wa[]=array($o["orig"],$Xe,$ua);if($Xe!=process_field($ue,$ue)){$p[]=array($o["orig"],$Xe,$ua);if($o["orig"]!=""||$ua)$Ng=true;}if($q!==null)$tc[idf_escape($o["field"])]=($a!=""&&$w!="sqlite"?"ADD":" ")." FOREIGN KEY (".idf_escape($o["field"]).") REFERENCES ".table($vc[$o["type"]])." (".idf_escape($Cg["field"]).")".(ereg("^($he)\$",$o["on_delete"])?" ON DELETE $o[on_delete]":"");$ua=" AFTER ".idf_escape($o["field"]);}elseif($o["orig"]!=""){$Ng=true;$p[]=array($o["orig"]);}if($o["orig"]!=""){$ue=next($ve);if(!$ue)$ua="";}}$Ee="";if(in_array($J["partition_by"],$Ce)){$Fe=array();if($J["partition_by"]=='RANGE'||$J["partition_by"]=='LIST'){foreach(array_filter($J["partition_names"])as$x=>$X){$Y=$J["partition_values"][$x];$Fe[]="\n PARTITION ".idf_escape($X)." VALUES ".($J["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Ee.="\nPARTITION BY $J[partition_by]($J[partition])".($Fe?" (".implode(",",$Fe)."\n)":($J["partitions"]?" PARTITIONS ".(+$J["partitions"]):""));}elseif(support("partitioning")&&ereg("partitioned",$Q["Create_options"]))$Ee.="\nREMOVE PARTITIONING";$Jd=lang(150);if($a==""){cookie("adminer_engine",$J["Engine"]);$Jd=lang(151);}$B=trim($J["name"]);queries_redirect(ME."table=".urlencode($B),$Jd,alter_table($a,$B,($w=="sqlite"&&($Ng||$tc)?$wa:$p),$tc,$J["Comment"],($J["Engine"]&&$J["Engine"]!=$Q["Engine"]?$J["Engine"]:""),($J["Collation"]&&$J["Collation"]!=$Q["Collation"]?$J["Collation"]:""),($J["Auto_increment"]!=""?+$J["Auto_increment"]:""),$Ee));}}page_header(($a!=""?lang(31):lang(152)),$n,array("table"=>$a),$a);if(!$_POST){$J=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($U["int"])?"int":(isset($U["integer"])?"integer":"")))),"partition_names"=>array(""),);if($a!=""){$J=$Q;$J["name"]=$a;$J["fields"]=array();if(!$_GET["auto_increment"])$J["Auto_increment"]="";foreach($ve +as$o){$o["has_default"]=isset($o["default"]);$J["fields"][]=$o;}if(support("partitioning")){$_c="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$H=$i->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $_c ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($J["partition_by"],$J["partitions"],$J["partition"])=$H->fetch_row();$Fe=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $_c AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Fe[""]="";$J["partition_names"]=array_keys($Fe);$J["partition_values"]=array_values($Fe);}}}$Xa=collations();$Ub=engines();foreach($Ub +as$Tb){if(!strcasecmp($Tb,$J["Engine"])){$J["Engine"]=$Tb;break;}}echo'

-',lang(150),': -';if($m==""&&!$_POST){?>"(".lang(151).")")+$wd,$a["Engine"]):""),' ',($Z&&!ereg("sqlite|mssql",$v)?adminer_html_select("Collation",array(""=>"(".lang(85).")")+$Z,$a["Collation"]):""),' +',lang(153),': +';if($a==""&&!$_POST){?>"(".lang(154).")")+$Ub,$J["Engine"]):""),' ',($Xa&&!ereg("sqlite|mssql",$w)?html_select("Collation",array(""=>"(".lang(91).")")+$Xa,$J["Collation"]):""),' -';$Kb=edit_fields($a["fields"],$Z,"TABLE",$qd,$ha,$a["Comment"]!="");echo'
+';$cb=($_POST?$_POST["comments"]:$J["Comment"]!="");if(!$_POST&&!$cb){foreach($J["fields"]as$o){if($o["comment"]!=""){$cb=true;break;}}}edit_fields($J["fields"],$Xa,"TABLE",$vc,$cb);echo'

-',lang(92),': - -',(support("comment")?checkbox("","",$Kb,lang(94),"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();").' ':''),'

- -';if($_GET["create"]!=""){echo'';}echo' -';if(support("partitioning")){$me=ereg('RANGE|LIST',$a["partition_by"]);print_fieldset("partition",lang(152),$a["partition_by"]);echo'

-',adminer_html_select("partition_by",array(-1=>"")+$pe,$a["partition_by"],"partitionByChange(this);"),'() -',lang(153),': - - -';foreach($a["partition_names"]as$d=>$b){echo'',' - -';}echo'

-';}elseif(isset($_GET["indexes"])){$m=$_GET["indexes"];$Nc=array("PRIMARY","UNIQUE","INDEX");$D=table_status($m);if(eregi("MyISAM|M?aria",$D["Engine"])){$Nc[]="FULLTEXT";}$J=indexes($m);if($v=="sqlite"){unset($Nc[0]);unset($J[""]);}if($_POST&&!$n&&!$_POST["add"]){$u=array();foreach($_POST["indexes"]as$x){if(in_array($x["type"],$Nc)){$B=array();$ec=array();$r=array();ksort($x["columns"]);foreach($x["columns"]as$d=>$C){if($C!=""){$W=$x["lengths"][$d];$r[]=idf_escape($C).($W?"(".(+$W).")":"");$B[]=$C;$ec[]=($W?$W:null);}}if($B){foreach($J -as$f=>$Bb){ksort($Bb["columns"]);ksort($Bb["lengths"]);if($x["type"]==$Bb["type"]&&array_values($Bb["columns"])===$B&&(!$Bb["lengths"]||array_values($Bb["lengths"])===$ec)){unset($J[$f]);continue -2;}}$u[]=array($x["type"],"(".implode(", ",$r).")");}}}foreach($J -as$f=>$Bb){$u[]=array($Bb["type"],idf_escape($f),"DROP");}if(!$u){redirect(ME."table=".urlencode($m));}queries_redirect(ME."table=".urlencode($m),lang(156),alter_indexes($m,$u));}page_header(lang(102),$n,array("table"=>$m),$m);$p=array_keys(fields($m));$a=array("indexes"=>$J);if($_POST){$a=$_POST;if($_POST["add"]){foreach($a["indexes"]as$d=>$x){if($x["columns"][count($x["columns"])]!=""){$a["indexes"][$d]["columns"][]="";}}$x=end($a["indexes"]);if($x["type"]||array_filter($x["columns"],'strlen')||array_filter($x["lengths"],'strlen')){$a["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($a["indexes"]as$d=>$x){$a["indexes"][$d]["columns"][]="";}$a["indexes"][]=array("columns"=>array(1=>""));}echo' -
- +',lang(99),': +',checkbox("defaults",1,true,lang(100),"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'';}echo(support("comment")?"".' ':''),'

+ +';if($_GET["create"]!=""){echo'';}if(support("partitioning")){$De=ereg('RANGE|LIST',$J["partition_by"]);print_fieldset("partition",lang(155),$J["partition_by"]);echo'

+',html_select("partition_by",array(-1=>"")+$Ce,$J["partition_by"],"partitionByChange(this);"),'() +',lang(156),': +

-';$ra=1;foreach($a["indexes"]as$x){echo" -

- -

- -

-';}elseif(isset($_GET["database"])){if($_POST&&!$n&&!isset($_POST["add_x"])){restart_session();if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(159),drop_databases(array(DB)));}elseif(DB!==$_POST["name"]){if(DB!=""){$_GET["db"]=$_POST["name"];queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($_POST["name"]),lang(160),rename_database($_POST["name"],$_POST["collation"]));}else{$_=explode("\n",str_replace("\r","",$_POST["name"]));$ee=true;$xb="";foreach($_ -as$t){if(count($_)==1||$t!=""){if(!create_database($t,$_POST["collation"])){$ee=false;}$xb=$t;}}queries_redirect(ME."db=".urlencode($xb),lang(161),$ee);}}else{if(!$_POST["collation"]){redirect(substr(ME,0,-1));}query_redirect("ALTER DATABASE ".idf_escape($_POST["name"]).(eregi('^[a-z0-9_]+$',$_POST["collation"])?" COLLATE $_POST[collation]":""),substr(ME,0,-1),lang(162));}}page_header(DB!=""?lang(46):lang(163),$n,array(),DB);$Z=collations();$f=DB;$Dc=null;if($_POST){$f=$_POST["name"];$Dc=$_POST["collation"];}elseif(DB!=""){$Dc=db_collation(DB,$Z);}elseif($v=="sql"){foreach(get_vals("SHOW GRANTS")as$ka){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$ka,$k)&&$k[1]){$f=stripcslashes(idf_unescape("`$k[2]`"));break;}}}echo' -
-

-',($_POST["add_x"]||strpos($f,"\n")?'
':'')."\n".($Z?adminer_html_select("collation",array(""=>"(".lang(85).")")+$Z,$Dc):"");?> - - -';if(DB!=""){echo"\n";}elseif(!$_POST["add_x"]&&$_GET["db"]==""){echo"\n";}echo' -

-';}elseif(isset($_GET["scheme"])){if($_POST&&!$n){$w=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"]){query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$w,lang(164));}else{$w.=urlencode($_POST["name"]);if($_GET["ns"]==""){query_redirect("CREATE SCHEMA ".idf_escape($_POST["name"]),$w,lang(165));}elseif($_GET["ns"]!=$_POST["name"]){query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_POST["name"]),$w,lang(166));}else{redirect($w);}}}page_header($_GET["ns"]!=""?lang(47):lang(48),$n);$a=array("name"=>$_GET["ns"]);if($_POST){$a=$_POST;}echo' -
-

- -';if($_GET["ns"]!=""){echo"\n";}echo' -

-';}elseif(isset($_GET["call"])){$Va=$_GET["call"];page_header(lang(167).": ".h($Va),$n);$Ta=routine($Va,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Tb=array();$qb=array();foreach($Ta["fields"]as$l=>$e){if(substr($e["inout"],-3)=="OUT"){$qb[$l]="@".idf_escape($e["field"])." AS ".idf_escape($e["field"]);}if(!$e["inout"]||substr($e["inout"],0,2)=="IN"){$Tb[]=$l;}}if(!$n&&$_POST){$de=array();foreach($Ta["fields"]as$d=>$e){if(in_array($d,$Tb)){$b=process_input($e);if($b===false){$b="''";}if(isset($qb[$d])){$g->query("SET @".idf_escape($e["field"])." = $b");}}$de[]=(isset($qb[$d])?"@".idf_escape($e["field"]):$b);}$j=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($Va)."(".implode(", ",$de).")";echo"

".h($j)." ".lang(31)."\n";if(!$g->multi_query($j)){echo"

".error()."\n";}else{do{$i=$g->store_result();if(is_object($i)){select($i);}else{echo"

".lang(168,$g->affected_rows)."\n";}}while($g->next_result());if($qb){select($g->query("SELECT ".implode(", ",$qb)));}}}echo' -

-';if($Tb){echo"\n";foreach($Tb -as$d){$e=$Ta["fields"][$d];$f=$e["field"];echo"
".$o->fieldName($e);$q=$_POST["fields"][$f];if($q!=""){if($e["type"]=="enum"){$q=+$q;}if($e["type"]=="set"){$q=array_sum($q);}}input($e,$q,(string)$_POST["function"][$f]);echo"\n";}echo"
\n";}echo'

- - -

-';}elseif(isset($_GET["foreign"])){$m=$_GET["foreign"];if($_POST&&!$n&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"]){query_redirect("ALTER TABLE ".table($m)."\nDROP ".($v=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]),ME."table=".urlencode($m),lang(169));}else{$Ga=array_filter($_POST["source"],'strlen');ksort($Ga);$ea=array();foreach($Ga -as$d=>$b){$ea[$d]=$_POST["target"][$d];}query_redirect("ALTER TABLE ".table($m).($_GET["name"]!=""?"\nDROP FOREIGN KEY ".idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$Ga)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$ea)).")".(in_array($_POST["on_delete"],$fb)?" ON DELETE $_POST[on_delete]":"").(in_array($_POST["on_update"],$fb)?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($m),($_GET["name"]!=""?lang(170):lang(171)));$n=lang(172)."
$n";}}page_header(lang(173),$n,array("table"=>$m),$m);$a=array("table"=>$m,"source"=>array(""));if($_POST){$a=$_POST;ksort($a["source"]);if($_POST["add"]){$a["source"][]="";}elseif($_POST["change"]||$_POST["change-js"]){$a["target"]=array();}}elseif($_GET["name"]!=""){$ha=foreign_keys($m);$a=$ha[$_GET["name"]];$a["source"][]="";}$Ga=array_keys(fields($m));$ea=($m===$a["table"]?$Ga:array_keys(fields($a["table"])));$je=array();foreach(table_status()as$f=>$D){if(fk_support($D)){$je[]=$f;}}echo' -
-

-';if($a["db"]==""){echo -lang(174),': -',adminer_html_select("table",$je,$a["table"],"this.form['change-js'].value = '1'; this.form.submit();"),' -

- - -';$ra=0;foreach($a["source"]as$d=>$b){echo"","
',lang(104),'',lang(105),'
".adminer_html_select("source[".(+$d)."]",array(-1=>"")+$Ga,$b,($ra==count($a["source"])-1?"foreignAddRow(this);":1)),"".adminer_html_select("target[".(+$d)."]",$ea,$a["target"][$d]);$ra++;}echo'
-

-',lang(86),': ',adminer_html_select("on_delete",array(-1=>"")+$fb,$a["on_delete"]),' ',lang(106),': ',adminer_html_select("on_update",array(-1=>"")+$fb,$a["on_update"]),'

- -

-';}if($_GET["name"]!=""){echo'';}echo' -

-';}elseif(isset($_GET["view"])){$m=$_GET["view"];$hb=false;if($_POST&&!$n){$hb=drop_create("DROP VIEW ".table($m),"CREATE VIEW ".table($_POST["name"])." AS\n$_POST[select]",($_POST["drop"]?substr(ME,0,-1):ME."table=".urlencode($_POST["name"])),lang(177),lang(178),lang(179),$m);}page_header(($m!=""?lang(27):lang(180)),$n,array("table"=>$m),$m);$a=array();if($_POST){$a=$_POST;}elseif($m!=""){$a=view($m);$a["name"]=$m;}echo' -
-

',lang(181),': -

';textarea("select",$a["select"]);echo'

-';if($hb){echo'';}echo' -';if($_GET["view"]!=""){echo'';}echo' -

-';}elseif(isset($_GET["event"])){$ib=$_GET["event"];$ie=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Md=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");if($_POST&&!$n){if($_POST["drop"]){query_redirect("DROP EVENT ".idf_escape($ib),substr(ME,0,-1),lang(182));}elseif(in_array($_POST["INTERVAL_FIELD"],$ie)&&isset($Md[$_POST["STATUS"]])){$he="\nON SCHEDULE ".($_POST["INTERVAL_VALUE"]?"EVERY ".q($_POST["INTERVAL_VALUE"])." $_POST[INTERVAL_FIELD]".($_POST["STARTS"]?" STARTS ".q($_POST["STARTS"]):"").($_POST["ENDS"]?" ENDS ".q($_POST["ENDS"]):""):"AT ".q($_POST["STARTS"]))." ON COMPLETION".($_POST["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($ib!=""?lang(183):lang(184)),queries(($ib!=""?"ALTER EVENT ".idf_escape($ib).$he.($ib!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$he)."\n".$Md[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"]).rtrim(" DO\n$_POST[EVENT_DEFINITION]",";").";"));}}page_header(($ib!=""?lang(185).": ".h($ib):lang(186)),$n);$a=array();if($_POST){$a=$_POST;}elseif($ib!=""){$H=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($ib));$a=reset($H);}echo' -
- -
',lang(181),' -
',lang(187),' -
',lang(188),' -
',lang(189),' ',adminer_html_select("INTERVAL_FIELD",$ie,$a["INTERVAL_FIELD"]),'
',lang(73),'',adminer_html_select("STATUS",$Md,$a["STATUS"]),'
',lang(94),' -
 ',checkbox("ON_COMPLETION","PRESERVE",$a["ON_COMPLETION"]=="PRESERVE",lang(190)),'
-

';textarea("EVENT_DEFINITION",$a["EVENT_DEFINITION"]);echo'

- -';if($ib!=""){echo'';}echo' -

-';}elseif(isset($_GET["procedure"])){$Va=$_GET["procedure"];$Ta=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$hb=false;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$r=array();$p=(array)$_POST["fields"];ksort($p);foreach($p -as$e){if($e["field"]!=""){$r[]=(in_array($e["inout"],$jc)?"$e[inout] ":"").idf_escape($e["field"]).process_type($e,"CHARACTER SET");}}$hb=drop_create("DROP $Ta ".idf_escape($Va),"CREATE $Ta ".idf_escape($_POST["name"])." (".implode(", ",$r).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"").rtrim("\n$_POST[definition]",";").";",substr(ME,0,-1),lang(191),lang(192),lang(193),$Va);}page_header(($Va!=""?(isset($_GET["function"])?lang(194):lang(195)).": ".h($Va):(isset($_GET["function"])?lang(196):lang(197))),$n);$Z=get_vals("SHOW CHARACTER SET");sort($Z);$a=array("fields"=>array());if($_POST){$a=$_POST;$a["fields"]=(array)$a["fields"];process_fields($a["fields"]);}elseif($Va!=""){$a=routine($Va,$Ta);$a["name"]=$Va;}echo' -
-

',lang(181),': - -';edit_fields($a["fields"],$Z,$Ta);if(isset($_GET["function"])){echo"
".lang(198);edit_type("returns",$a["returns"],$Z);}echo'
-

';textarea("definition",$a["definition"]);echo'

- -';if($Va!=""){echo'';}if($hb){echo'';}echo' -

-';}elseif(isset($_GET["sequence"])){$Eb=$_GET["sequence"];if($_POST&&!$n){$w=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP SEQUENCE ".idf_escape($Eb),$w,lang(199));}elseif($Eb==""){query_redirect("CREATE SEQUENCE ".idf_escape($_POST["name"]),$w,lang(200));}elseif($Eb!=$_POST["name"]){query_redirect("ALTER SEQUENCE ".idf_escape($Eb)." RENAME TO ".idf_escape($_POST["name"]),$w,lang(201));}else{redirect($w);}}page_header($Eb!=""?lang(202).": ".h($Eb):lang(203),$n);$a=array("name"=>$Eb);if($_POST){$a=$_POST;}echo' -
-

- -';if($Eb!=""){echo"\n";}echo' -

-';}elseif(isset($_GET["type"])){$Oc=$_GET["type"];if($_POST&&!$n){$w=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP TYPE ".idf_escape($Oc),$w,lang(204));}else{query_redirect("CREATE TYPE ".idf_escape($_POST["name"])." $_POST[as]",$w,lang(205));}}page_header($Oc!=""?lang(206).": ".h($Oc):lang(207),$n);$a["as"]="AS ";if($_POST){$a=$_POST;}echo' -
-

-';if($Oc!=""){echo"\n";}else{echo"\n";textarea("as",$a["as"]);echo"

\n";}echo' -

-';}elseif(isset($_GET["trigger"])){$m=$_GET["trigger"];$Ic=trigger_options();$te=array("INSERT","UPDATE","DELETE");$hb=false;if($_POST&&!$n&&in_array($_POST["Timing"],$Ic["Timing"])&&in_array($_POST["Event"],$te)&&in_array($_POST["Type"],$Ic["Type"])){$re=" $_POST[Timing] $_POST[Event]";$Cb=" ON ".table($m);$hb=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($v=="pgsql"?$Cb:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($v=="mssql"?$Cb.$re:$re.$Cb).rtrim(" $_POST[Type]\n$_POST[Statement]",";").";",ME."table=".urlencode($m),lang(208),lang(209),lang(210),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(211).": ".h($_GET["name"]):lang(212)),$n,array("table"=>$m));$a=array("Trigger"=>$m."_bi");if($_POST){$a=$_POST;}elseif($_GET["name"]!=""){$a=trigger($_GET["name"]);}echo' -
- -
',lang(213),'',adminer_html_select("Timing",$Ic["Timing"],$a["Timing"],"if (/^".h(preg_quote($m,"/"))."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".h(js_escape($m))."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'
',lang(214),'',adminer_html_select("Event",$te,$a["Event"],"this.form['Timing'].onchange();"),'
',lang(89),'',adminer_html_select("Type",$Ic["Type"],$a["Type"]),'
-

',lang(181),': -

';textarea("Statement",$a["Statement"]);echo'

- -';if($_GET["name"]!=""){echo'';}if($hb){echo'';}echo' -

-';}elseif(isset($_GET["user"])){$Fd=$_GET["user"];$sa=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$a){foreach(explode(",",($a["Privilege"]=="Grant option"?"":$a["Context"]))as$Gc){$sa[$Gc][$a["Privilege"]]=$a["Comment"];}}$sa["Server Admin"]+=$sa["File access on server"];$sa["Databases"]["Create routine"]=$sa["Procedures"]["Create routine"];unset($sa["Procedures"]["Create routine"]);$sa["Columns"]=array();foreach(array("Select","Insert","Update","References")as$b){$sa["Columns"][$b]=$sa["Tables"][$b];}unset($sa["Server Admin"]["Usage"]);foreach($sa["Tables"]as$d=>$b){unset($sa["Databases"][$d]);}$nc=array();if($_POST){foreach($_POST["objects"]as$d=>$b){$nc[$b]=(array)$nc[$b]+(array)$_POST["grants"][$d];}}$nb=array();$Xc="";if(isset($_GET["host"])&&($i=$g->query("SHOW GRANTS FOR ".q($Fd)."@".q($_GET["host"])))){while($a=$i->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$a[0],$k)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$k[1],$oa,PREG_SET_ORDER)){foreach($oa -as$b){if($b[1]!="USAGE"){$nb["$k[2]$b[2]"][$b[1]]=true;}if(ereg(' WITH GRANT OPTION',$a[0])){$nb["$k[2]$b[2]"]["GRANT OPTION"]=true;}}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$a[0],$k)){$Xc=$k[1];}}}if($_POST&&!$n){$ac=(isset($_GET["host"])?q($Fd)."@".q($_GET["host"]):"''");$pb=q($_POST["user"])."@".q($_POST["host"]);$Ad=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $ac",ME."privileges=",lang(215));}else{if($ac!=$pb){$n=!queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $pb IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $Ad");}elseif($_POST["pass"]!=$Xc||!$_POST["hashed"]){queries("SET PASSWORD FOR $pb = ".($_POST["hashed"]?$Ad:"PASSWORD($Ad)"));}if(!$n){$qc=array();foreach($nc -as$bb=>$ka){if(isset($_GET["grant"])){$ka=array_filter($ka);}$ka=array_keys($ka);if(isset($_GET["grant"])){$qc=array_diff(array_keys(array_filter($nc[$bb],'strlen')),$ka);}elseif($ac==$pb){$Sd=array_keys((array)$nb[$bb]);$qc=array_diff($Sd,$ka);$ka=array_diff($ka,$Sd);unset($nb[$bb]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$bb,$k)&&(!grant("REVOKE",$qc,$k[2]," ON $k[1] FROM $pb")||!grant("GRANT",$ka,$k[2]," ON $k[1] TO $pb"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($ac!=$pb){queries("DROP USER $ac");}elseif(!isset($_GET["grant"])){foreach($nb -as$bb=>$qc){if(preg_match('~^(.+)(\\(.*\\))?$~U',$bb,$k)){grant("REVOKE",array_keys($qc),$k[2]," ON $k[1] FROM $pb");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(216):lang(217)),!$n);if($ac!=$pb){$g->query("DROP USER $pb");}}}page_header((isset($_GET["host"])?lang(21).": ".h("$Fd@$_GET[host]"):lang(120)),$n,array("privileges"=>array('',lang(70))));if($_POST){$a=$_POST;$nb=$nc;}else{$a=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$a["pass"]=$Xc;if($Xc!=""){$a["hashed"]=true;}$nb[""]=true;}echo'
- -
',lang(21),' -
',lang(20),' -
',lang(22),' -';if(!$a["hashed"]){echo'';}echo -checkbox("hashed",1,$a["hashed"],lang(218),"typePassword(this.form['pass'], this.checked);"),'
- -';echo"\n","\n";foreach(array(""=>"","Server Admin"=>lang(20),"Databases"=>lang(65),"Tables"=>lang(100),"Columns"=>lang(101),"Procedures"=>lang(219),)as$Gc=>$rc){foreach((array)$sa[$Gc]as$mc=>$_a){echo"$rc'.h($mc);$l=0;foreach($nb -as$bb=>$ka){$f="'grants[$l][".h(strtoupper($mc))."]'";$q=$ka[strtoupper($mc)];if($Gc=="Server Admin"&&$bb!=(isset($nb["*.*"])?"*.*":"")){echo"
".lang(70)."";$l=0;foreach($nb -as$bb=>$ka){echo''.($bb!="*.*"?"":"*.*");$l++;}echo"
 ";}elseif(isset($_GET["grant"])){echo"";}else{echo"";}$l++;}}}echo"
\n",'

- -';if(isset($_GET["host"])){echo'';}echo' -

-';}elseif(isset($_GET["processlist"])){if($_POST&&!$n){$Id=0;foreach((array)$_POST["kill"]as$b){if(queries("KILL ".(+$b))){$Id++;}}queries_redirect(ME."processlist=",lang(222,$Id),$Id||!$_POST["kill"]);}page_header(lang(71),$n);echo' -
- -';$l=-1;foreach(get_rows("SHOW FULL PROCESSLIST")as$l=>$a){if(!$l){echo"\n";}echo"
 ".implode("",array_keys($a))."
".checkbox("kill[]",$a["Id"],0);foreach($a -as$d=>$b){echo"".($d=="Info"&&$b!=""?"".shorten_utf8($b,100,"").' '.lang(31).'':nbsp($b));}echo"\n";}echo'
-

',($l+1)."/".lang(223,$g->result("SELECT @@max_connections")),'

- - -

-';}elseif(isset($_GET["select"])){$m=$_GET["select"];$D=table_status($m);$J=indexes($m);$p=fields($m);$ha=column_foreign_keys($m);if($D["Oid"]=="t"){$J[]=array("type"=>"PRIMARY","columns"=>array("oid"));}$Td=array();$B=array();$Db=null;foreach($p -as$d=>$e){$f=$o->fieldName($e);if(isset($e["privileges"]["select"])&&$f!=""){$B[$d]=html_entity_decode(strip_tags($f));if(ereg('text|lob',$e["type"])){$Db=$o->selectLengthProcess();}}$Td+=$e["privileges"];}list($Q,$pa)=$o->selectColumnsProcess($B,$J);$s=$o->selectSearchProcess($p,$J);$Xa=$o->selectOrderProcess($p,$J);$O=$o->selectLimitProcess();$Yb=($Q?implode(", ",$Q):($D["Oid"]=="t"?"oid, ":"")."*")."\nFROM ".table($m);$Ld=($pa&&count($pa)$a){echo$g->result("SELECT".limit(idf_escape(key($a))." FROM ".table($m)," WHERE ".where_check($gb).($s?" AND ".implode(" AND ",$s):"").($Xa?" ORDER BY ".implode(", ",$Xa):""),1));}exit;}if($_POST&&!$n){$ne="(".implode(") OR (",array_map('where_check',(array)$_POST["check"])).")";$Qa=$ad=null;foreach($J -as$x){if($x["type"]=="PRIMARY"){$Qa=array_flip($x["columns"]);$ad=($Q?$Qa:array());break;}}foreach($Q -as$d=>$b){$b=$_GET["columns"][$d];if(!$b["fun"]){unset($ad[$b["col"]]);}}if($_POST["export"]){dump_headers($m);$o->dumpTable($m,"");if(!is_array($_POST["check"])||$ad===array()){$bc=$s;if(is_array($_POST["check"])){$bc[]="($ne)";}$j="SELECT $Yb".($bc?"\nWHERE ".implode(" AND ",$bc):"").$Ld;}else{$Zd=array();foreach($_POST["check"]as$b){$Zd[]="(SELECT".limit($Yb,"\nWHERE ".($s?implode(" AND ",$s)." AND ":"").where_check($b).$Ld,1).")";}$j=implode(" UNION ALL ",$Zd);}$o->dumpData($m,"table",$j);exit;}if(!$o->selectEmailProcess($s,$ha)){if($_POST["save"]||$_POST["delete"]){$i=true;$wb=0;$j=table($m);$r=array();if(!$_POST["delete"]){foreach($B -as$f=>$b){$b=process_input($p[$f]);if($b!==null){if($_POST["clone"]){$r[idf_escape($f)]=($b!==false?$b:idf_escape($f));}elseif($b!==false){$r[]=idf_escape($f)." = $b";}}}$j.=($_POST["clone"]?" (".implode(", ",array_keys($r)).")\nSELECT ".implode(", ",$r)."\nFROM ".table($m):" SET\n".implode(",\n",$r));}if($_POST["delete"]||$r){$id="UPDATE";if($_POST["delete"]){$id="DELETE";$j="FROM $j";}if($_POST["clone"]){$id="INSERT";$j="INTO $j";}if($_POST["all"]||($ad===array()&&$_POST["check"])||count($pa)affected_rows;}else{foreach((array)$_POST["check"]as$b){$i=queries($id.limit1($j,"\nWHERE ".where_check($b)));if(!$i){break;}$wb+=$g->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(225,$wb),$i);}elseif(!$_POST["import"]){if(!$_POST["val"]){$n=lang(226);}else{$i=true;$wb=0;foreach($_POST["val"]as$gb=>$a){$r=array();foreach($a -as$d=>$b){$d=bracket_escape($d,1);$r[]=idf_escape($d)." = ".(ereg('char|text',$p[$d]["type"])||$b!=""?$o->processInput($p[$d],$b):"NULL");}$j=table($m)." SET ".implode(", ",$r);$bc=" WHERE ".where_check($gb).($s?" AND ".implode(" AND ",$s):"");$i=queries("UPDATE".(count($pa)affected_rows;}queries_redirect(remove_from_uri(),lang(225,$wb),$i);}}elseif(is_string($Ia=get_file("csv_file",true))){$i=true;$mb=array_keys($p);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Ia,$oa);$wb=count($oa[0]);begin();$Wa=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($oa[0]as$d=>$b){preg_match_all("~((\"[^\"]*\")+|[^$Wa]*)$Wa~",$b.$Wa,$Gd);if(!$d&&!array_diff($Gd[1],$mb)){$mb=$Gd[1];$wb--;}else{$r=array();foreach($Gd[1]as$l=>$Pc){$r[idf_escape($mb[$l])]=($Pc==""&&$p[$mb[$l]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Pc))));}$i=insert_update($m,$r,$Qa);if(!$i){break;}}}if($i){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(227,$wb),$i);queries("ROLLBACK");}else{$n=upload_error($Ia);}}}$Ea=$o->tableName($D);page_header(lang(33).": $Ea",$n);session_write_close();$r=null;if(isset($Td["insert"])){$r="";foreach((array)$_GET["where"]as$b){if(count($ha[$b["col"]])==1&&($b["op"]=="="||(!$b["op"]&&!ereg('[_%]',$b["val"])))){$r.="&set".urlencode("[".bracket_escape($b["col"])."]")."=".urlencode($b["val"]);}}}$o->selectLinks($D,$r);if(!$B){echo"

".lang(228).($p?".":": ".error())."\n";}else{echo"

\n","
";hidden_fields_get();echo(DB!=""?''.(isset($_GET["ns"])?'':""):"");echo'',"
\n";$o->selectColumnsPrint($Q,$B);$o->selectSearchPrint($s,$B,$J);$o->selectOrderPrint($Xa,$B,$J);$o->selectLimitPrint($O);$o->selectLengthPrint($Db);$o->selectActionPrint($Db);echo"
\n";$ca=$_GET["page"];if($ca=="last"){$Ya=$g->result("SELECT COUNT(*) FROM ".table($m).($s?" WHERE ".implode(" AND ",$s):""));$ca=floor(max(0,$Ya-1)/$O);}$j="SELECT".limit((+$O&&$pa&&count($pa)selectQuery($j);$i=$g->query($j);if(!$i){echo"

".error()."\n";}else{if($v=="mssql"){$i->seek($O*$ca);}$Hc=array();echo"

\n";$H=array();while($a=$i->fetch_assoc()){$H[]=$a;}if($_GET["page"]!="last"){$Ya=(+$O&&$pa&&count($pa)result(" SELECT FOUND_ROWS()"):$g->result("SELECT COUNT(*) FROM ($j) x")):count($H));}if(!$H){echo"

".lang(82)."\n";}else{$Bd=$o->backwardKeys($m,$Ea);echo"\n","".(!$pa&&$Q?"":"\n";foreach($o->rowDescriptions($H,$ha)as$fa=>$a){$pd=unique_array($H[$fa],$J);$gb="";foreach($pd -as$d=>$b){$gb.="&".(isset($b)?urlencode("where[".bracket_escape($d)."]")."=".urlencode($b):"null%5B%5D=".urlencode($d));}echo"".(!$pa&&$Q?"":"\n";}echo"
".lang(119)."");$Cd=array();$da=array();reset($Q);$ke=1;foreach($H[0]as$d=>$b){if($D["Oid"]!="t"||$d!="oid"){$b=$_GET["columns"][key($Q)];$e=$p[$Q?$b["col"]:$d];$f=($e?$o->fieldName($e,$ke):"*");if($f!=""){$ke++;$Cd[$d]=$f;$C=idf_escape($d);echo''.apply_sql_function($b["fun"],$f)."";}$da[$d]=$b["fun"];next($Q);}}$ec=array();if($_GET["modify"]){foreach($H -as$a){foreach($a -as$d=>$b){$ec[$d]=max($ec[$d],min(40,strlen(utf8_decode($b))));}}}echo($Bd?"".lang(229):"")."
".checkbox("check[]",substr($gb,1),in_array(substr($gb,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($pa)".lang(119).""));foreach($a -as$d=>$b){if(isset($Cd[$d])){$e=$p[$d];if($b!=""&&(!isset($Hc[$d])||$Hc[$d]!="")){$Hc[$d]=(is_mail($b)?$Cd[$d]:"");}$w="";$b=$o->editVal($b,$e);if(!isset($b)){$b="NULL";}else{if(ereg('blob|bytea|raw|file',$e["type"])&&$b!=""){$w=h(ME.'download='.urlencode($m).'&field='.urlencode($d).$gb);}if($b===""){$b=" ";}elseif($Db!=""&&ereg('text|blob',$e["type"])&&is_utf8($b)){$b=shorten_utf8($b,max(0,+$Db));}else{$b=h($b);}if(!$w){foreach((array)$ha[$d]as$A){if(count($ha[$d])==1||end($A["source"])==$d){$w="";foreach($A["source"]as$l=>$Ga){$w.=where_link($l,$A["target"][$l],$H[$fa][$Ga]);}$w=h(($A["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($A["db"]),ME):ME).'select='.urlencode($A["table"]).$w);if(count($A["source"])==1){break;}}}}if($d=="COUNT(*)"){$w=h(ME."select=".urlencode($m));$l=0;foreach((array)$_GET["where"]as$y){if(!array_key_exists($y["col"],$pd)){$w.=h(where_link($l++,$y["col"],$y["val"],$y["op"]));}}foreach($pd -as$Ma=>$y){$w.=h(where_link($l++,$Ma,$y));}}}if(!$w){if(is_mail($b)){$w="mailto:$b";}if($le=is_url($a[$d])){$w=($le=="http"&&$Ac?$a[$d]:"$le://www.adminer.org/redirect/?url=".urlencode($a[$d]));}}$S=h("val[$gb][".bracket_escape($d)."]");$q=$_POST["val"][$gb][bracket_escape($d)];$Pd=h(isset($q)?$q:$a[$d]);$uf=strpos($b,"...");$Yd=is_utf8($b)&&$H[$fa][$d]==$a[$d]&&!$da[$d];$Wd=ereg('text|lob',$e["type"]);echo(($_GET["modify"]&&$Yd)||isset($q)?"".($Wd?"":""):"".$o->selectVal($b,$w,$e));}}if($Bd){echo"";}$o->backwardKeysPrint($Bd,$H[$fa]);echo"
\n";}parse_str($_COOKIE["adminer_export"],$Xb);if($H||$ca){$md=true;if($_GET["page"]!="last"&&+$O&&count($pa)>=count($Q)&&($Ya>=$O||$ca)){$Ya=$D["Rows"];if(!isset($Ya)||$s||($D["Engine"]=="InnoDB"&&$Yaresult("SELECT COUNT(*) FROM ".table($m).($s?" WHERE ".implode(" AND ",$s):""));}else{$md=false;}}echo"

";if(+$O&&$Ya>$O){$Nd=floor(($Ya-1)/$O);echo'".lang(231).":",pagination(0,$ca).($ca>5?" ...":"");for($l=max(1,$ca-4);$l'.lang(232)."");}echo" (".($md?"":"~ ").lang(122,$Ya).") ".checkbox("all",1,0,lang(233))."\n";if(!information_schema(DB)){echo'

',lang(31),'
- - - - +';foreach($J["partition_names"]as$x=>$X){echo'','','';}echo'
-';}print_fieldset("export",lang(113));$Na=$o->dumpOutput();echo($Na?adminer_html_select("output",$Na,$Xb["output"])." ":""),adminer_html_select("format",$o->dumpFormat(),$Xb["format"])," \n","\n";}print_fieldset("import",lang(235),!$H);echo" ",adminer_html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$Xb["format"],1);echo" ","\n","\n";$o->selectEmailPrint(array_filter($Hc,'strlen'),$B);echo"\n";}}}elseif(isset($_GET["variables"])){$fc=isset($_GET["status"]);page_header($fc?lang(73):lang(72));$Pe=($fc?show_status():show_variables());if(!$Pe){echo"

".lang(82)."\n";}else{echo"\n";foreach($Pe -as$d=>$b){echo"","
".h($d)."","".nbsp($b);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Yc=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$a){$S=js_escape($a["Name"]);json_row("Comment-$S",nbsp($a["Comment"]));if(!is_view($a)){foreach(array("Engine","Collation")as$d){json_row("$d-$S",nbsp($a[$d]));}foreach($Yc+array("Auto_increment"=>0,"Rows"=>0)as$d=>$b){if($a[$d]!=""){$b=number_format($a[$d],0,'.',lang(236));json_row("$d-$S",($d=="Rows"&&$a["Engine"]=="InnoDB"&&$b?"~ $b":$b));if(isset($Yc[$d])){$Yc[$d]+=($a["Engine"]!="InnoDB"||$d!="Data_free"?$a[$d]:0);}}elseif(array_key_exists($d,$a)){json_row("$d-$S");}}}}foreach($Yc -as$d=>$b){json_row("sum-$d",number_format($b,0,'.',lang(236)));}json_row("");}else{foreach(count_tables(get_databases())as$t=>$b){json_row("tables-".js_escape($t),$b);}json_row("");}exit;}else{$Fe=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Fe&&!$n&&!$_POST["search"]){$i=true;$va="";if($v=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"])){queries("SET foreign_key_checks = 0");}if($_POST["truncate"]){if($_POST["tables"]){$i=truncate_tables($_POST["tables"]);}$va=lang(237);}elseif($_POST["move"]){$i=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$va=lang(238);}elseif($_POST["copy"]){$i=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$va=lang(239);}elseif($_POST["drop"]){if($_POST["views"]){$i=drop_views($_POST["views"]);}if($i&&$_POST["tables"]){$i=drop_tables($_POST["tables"]);}$va=lang(240);}elseif($_POST["tables"]&&($i=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"]))))){while($a=$i->fetch_assoc()){$va.="".h($a["Table"]).": ".h($a["Msg_text"])."
";}}queries_redirect(substr(ME,0,-1),$va,$i);}page_header(($_GET["ns"]==""?lang(65).": ".h(DB):lang(80).": ".h($_GET["ns"])),$n,true);if($o->homepage()){if($_GET["ns"]!==""){echo''.lang(111)."\n","

".lang(241)."

\n";$jd=tables_list();if(!$jd){echo"

".lang(6)."\n";}else{echo"

\n","

".lang(242).": \n";if($_POST["search"]&&$_POST["query"]!=""){search_tables();}echo"\n",'\n";foreach($jd -as$f=>$z){$cc=(isset($z)&&!eregi("table",$z));echo'
'.lang(100).''.lang(243).''.lang(76).''.lang(244).''.lang(245).''.lang(246).''.lang(92).''.lang(247).(support("comment")?''.lang(94):'')."
'.checkbox(($cc?"views[]":"tables[]"),$f,in_array($f,$Fe,true),"","formUncheck('check-all');"),''.h($f).'';if($cc){echo''.lang(99).'','?';}else{foreach(array("Engine"=>"","Collation"=>"","Data_length"=>"create","Index_length"=>"indexes","Data_free"=>"edit","Auto_increment"=>"auto_increment=1&create","Rows"=>"select")as$d=>$w){echo($w?"?":" ");}}echo(support("comment")?" ":"");}echo"
 ".lang(223,count($jd)),"".nbsp($v=="sql"?$g->result("SELECT @@storage_engine"):""),"".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$d){echo" ";}echo"
\n";if(!information_schema(DB)){echo"

".($v=="sql"?" ":"")." \n";$_=(support("scheme")?schemas():get_databases());if(count($_)!=1&&$v!="sqlite"){$t=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"

".lang(253).": ",($_?adminer_html_select("target",$_,$t):'')," ",(support("copy")?" ":""),"\n";}echo"\n";}echo"

\n";}echo'

'.lang(148)."\n";if(support("view")){echo''.lang(180)."\n";}if(support("routine")){echo"

".lang(116)."

\n";$Ue=routines();if($Ue){echo"\n",'\n";odd('');foreach($Ue -as$a){echo'','
'.lang(181).''.lang(89).''.lang(198)." 
'.h($a["ROUTINE_NAME"]).'',''.h($a["ROUTINE_TYPE"]),''.h($a["DTD_IDENTIFIER"]),''.lang(107)."";}echo"
\n";}echo'

'.lang(197).' '.lang(196)."\n";}if(support("sequence")){echo"

".lang(256)."

\n";$ff=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($ff){echo"\n","\n";odd('');foreach($ff -as$b){echo"
".lang(181)."
".h($b)."\n";}echo"
\n";}echo"

".lang(203)."\n";}if(support("type")){echo"

".lang(11)."

\n";$R=types();if($R){echo"\n","\n";odd('');foreach($R -as$b){echo"
".lang(181)."
".h($b)."\n";}echo"
\n";}echo"

".lang(207)."\n";}if(support("event")){echo"

".lang(117)."

\n";$H=get_rows("SHOW EVENTS");if($H){echo"\n","\n";foreach($H -as$a){echo"",'
".lang(181)."".lang(257)."".lang(187)."".lang(188)."
'.h($a["Name"])."","".($a["Execute at"]?lang(258)."".$a["Execute at"]:lang(189)." ".$a["Interval value"]." ".$a["Interval field"]."$a[Starts]"),"$a[Ends]";}echo"
\n";}echo'

'.lang(186)."\n";}if($jd){echo"\n";}}}}page_footer(); \ No newline at end of file +';}echo' + +';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Tc=array("PRIMARY","UNIQUE","INDEX");$Q=table_status($a,true);if(eregi("MyISAM|M?aria".($i->server_info>=5.6?"|InnoDB":""),$Q["Engine"]))$Tc[]="FULLTEXT";$v=indexes($a);if($w=="sqlite"){unset($Tc[0]);unset($v[""]);}$J=$_POST;if($_POST&&!$n&&!$_POST["add"]){$c=array();foreach($J["indexes"]as$u){$B=$u["name"];if(in_array($u["type"],$Tc)){$g=array();$wd=array();$yb=array();$N=array();ksort($u["columns"]);foreach($u["columns"]as$x=>$f){if($f!=""){$vd=$u["lengths"][$x];$xb=$u["descs"][$x];$N[]=idf_escape($f).($vd?"(".(+$vd).")":"").($xb?" DESC":"");$g[]=$f;$wd[]=($vd?$vd:null);$yb[]=$xb;}}if($g){$ec=$v[$B];if($ec){ksort($ec["columns"]);ksort($ec["lengths"]);ksort($ec["descs"]);if($u["type"]==$ec["type"]&&array_values($ec["columns"])===$g&&(!$ec["lengths"]||array_values($ec["lengths"])===$wd)&&array_values($ec["descs"])===$yb){unset($v[$B]);continue;}}$c[]=array($u["type"],$B,"(".implode(", ",$N).")");}}}foreach($v +as$B=>$ec)$c[]=array($ec["type"],$B,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(159),alter_indexes($a,$c));}page_header(lang(109),$n,array("table"=>$a),$a);$p=array_keys(fields($a));if($_POST["add"]){foreach($J["indexes"]as$x=>$u){if($u["columns"][count($u["columns"])]!="")$J["indexes"][$x]["columns"][]="";}$u=end($J["indexes"]);if($u["type"]||array_filter($u["columns"],'strlen')||array_filter($u["lengths"],'strlen')||array_filter($u["descs"]))$J["indexes"][]=array("columns"=>array(1=>""));}if(!$J){foreach($v +as$x=>$u){$v[$x]["name"]=$x;$v[$x]["columns"][]="";}$v[]=array("columns"=>array(1=>""));$J["indexes"]=$v;}echo' +

+ + +';$gd=1;foreach($J["indexes"]as$u){echo"
',lang(160),'',lang(161),'',lang(162),'
".html_select("indexes[$gd][type]",array(-1=>"")+$Tc,$u["type"],($gd==count($J["indexes"])?"indexesAddRow(this);":1))."";ksort($u["columns"]);$s=1;foreach($u["columns"]as$x=>$f){echo"".html_select("indexes[$gd][columns][$s]",array(-1=>"")+$p,$f,($s==count($u["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($w=="sql"?"":$_GET["indexes"]."_")."');"),($w=="sql"||$w=="mssql"?"":""),($w!="sql"?checkbox("indexes[$gd][descs][$s]",1,$u["descs"][$x],lang(42)):"")," ";$s++;}echo"\n";$gd++;}echo'
+

+ +

+ +

+';}elseif(isset($_GET["database"])){$J=$_POST;if($_POST&&!$n&&!isset($_POST["add_x"])){restart_session();$B=trim($J["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(163),drop_databases(array(DB)));}elseif(DB!==$B){if(DB!=""){$_GET["db"]=$B;queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($B),lang(164),rename_database($B,$J["collation"]));}else{$l=explode("\n",str_replace("\r","",$B));$Sf=true;$pd="";foreach($l +as$m){if(count($l)==1||$m!=""){if(!create_database($m,$J["collation"]))$Sf=false;$pd=$m;}}queries_redirect(ME."db=".urlencode($pd),lang(165),$Sf);}}else{if(!$J["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($B).(eregi('^[a-z0-9_]+$',$J["collation"])?" COLLATE $J[collation]":""),substr(ME,0,-1),lang(166));}}page_header(DB!=""?lang(50):lang(167),$n,array(),DB);$Xa=collations();$B=DB;if($_POST)$B=$J["name"];elseif(DB!="")$J["collation"]=db_collation(DB,$Xa);elseif($w=="sql"){foreach(get_vals("SHOW GRANTS")as$Dc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$Dc,$A)&&$A[1]){$B=stripcslashes(idf_unescape("`$A[2]`"));break;}}}echo' +
+

+',($_POST["add_x"]||strpos($B,"\n")?'
':'')."\n".($Xa?html_select("collation",array(""=>"(".lang(91).")")+$Xa,$J["collation"]):"");?> + + +';if(DB!="")echo"\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"\n";echo' +

+';}elseif(isset($_GET["scheme"])){$J=$_POST;if($_POST&&!$n){$z=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$z,lang(168));else{$B=trim($J["name"]);$z.=urlencode($B);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($B),$z,lang(169));elseif($_GET["ns"]!=$B)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($B),$z,lang(170));else +redirect($z);}}page_header($_GET["ns"]!=""?lang(51):lang(52),$n);if(!$J)$J["name"]=$_GET["ns"];echo' +
+

" autocapitalize="off"> + + +';if($_GET["ns"]!="")echo"\n";echo' +

+';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(171).": ".h($da),$n);$sf=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Rc=array();$xe=array();foreach($sf["fields"]as$s=>$o){if(substr($o["inout"],-3)=="OUT")$xe[$s]="@".idf_escape($o["field"])." AS ".idf_escape($o["field"]);if(!$o["inout"]||substr($o["inout"],0,2)=="IN")$Rc[]=$s;}if(!$n&&$_POST){$Ma=array();foreach($sf["fields"]as$x=>$o){if(in_array($x,$Rc)){$X=process_input($o);if($X===false)$X="''";if(isset($xe[$x]))$i->query("SET @".idf_escape($o["field"])." = $X");}$Ma[]=(isset($xe[$x])?"@".idf_escape($o["field"]):$X);}$G=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Ma).")";echo"

".h($G)." ".lang(34)."\n";if(!$i->multi_query($G))echo"

".error()."\n";else{$j=connect();if(is_object($j))$j->select_db(DB);do{$H=$i->store_result();if(is_object($H))select($H,$j);else +echo"

".lang(172,$i->affected_rows)."\n";}while($i->next_result());if($xe)select($i->query("SELECT ".implode(", ",$xe)));}}echo' +

+';if($Rc){echo"\n";foreach($Rc +as$x){$o=$sf["fields"][$x];$B=$o["field"];echo"
".$b->fieldName($o);$Y=$_POST["fields"][$B];if($Y!=""){if($o["type"]=="enum")$Y=+$Y;if($o["type"]=="set")$Y=array_sum($Y);}input($o,$Y,(string)$_POST["function"][$B]);echo"\n";}echo"
\n";}echo'

+ + +

+';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$B=$_GET["name"];$J=$_POST;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"])query_redirect("ALTER TABLE ".table($a)."\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($B),ME."table=".urlencode($a),lang(173));else{$If=array_filter($J["source"],'strlen');ksort($If);$fg=array();foreach($If +as$x=>$X)$fg[$x]=$J["target"][$x];query_redirect("ALTER TABLE ".table($a).($B!=""?"\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($B).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$If)).") REFERENCES ".table($J["table"])." (".implode(", ",array_map('idf_escape',$fg)).")".(ereg("^($he)\$",$J["on_delete"])?" ON DELETE $J[on_delete]":"").(ereg("^($he)\$",$J["on_update"])?" ON UPDATE $J[on_update]":""),ME."table=".urlencode($a),($B!=""?lang(174):lang(175)));$n=lang(176)."
$n";}}page_header(lang(177),$n,array("table"=>$a),$a);if($_POST){ksort($J["source"]);if($_POST["add"])$J["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$J["target"]=array();}elseif($B!=""){$vc=foreign_keys($a);$J=$vc[$B];$J["source"][]="";}else{$J["table"]=$a;$J["source"]=array("");}$If=array_keys(fields($a));$fg=($a===$J["table"]?$If:array_keys(fields($J["table"])));$ef=array_keys(array_filter(table_status('',true),'fk_support'));echo' +
+

+';if($J["db"]==""&&$J["ns"]==""){echo +lang(178),': +',html_select("table",$ef,$J["table"],"this.form['change-js'].value = '1'; this.form.submit();"),' +

+ + +';$gd=0;foreach($J["source"]as$x=>$X){echo"","
',lang(111),'',lang(112),'
".html_select("source[".(+$x)."]",array(-1=>"")+$If,$X,($gd==count($J["source"])-1?"foreignAddRow(this);":1)),"".html_select("target[".(+$x)."]",$fg,$J["target"][$x]);$gd++;}echo'
+

+',lang(93),': ',html_select("on_delete",array(-1=>"")+explode("|",$he),$J["on_delete"]),' ',lang(92),': ',html_select("on_update",array(-1=>"")+explode("|",$he),$J["on_update"]),'

+ +

+';}if($B!=""){echo'';}echo' +

+';}elseif(isset($_GET["view"])){$a=$_GET["view"];$J=$_POST;if($_POST&&!$n){$B=trim($J["name"]);$ya=" AS\n$J[select]";$_=ME."table=".urlencode($B);$Jd=lang(181);if(!$_POST["drop"]&&$a==$B&&$w!="sqlite")query_redirect(($w=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($B).$ya,$_,$Jd);else{$hg=$B."_adminer_".uniqid();drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($B).$ya,"DROP VIEW ".table($B),"CREATE VIEW ".table($hg).$ya,"DROP VIEW ".table($hg),($_POST["drop"]?substr(ME,0,-1):$_),lang(182),$Jd,lang(183),$a,$B);}}if(!$_POST&&$a!=""){$J=view($a);$J["name"]=$a;if(!$n)$n=$i->error;}page_header(($a!=""?lang(30):lang(184)),$n,array("table"=>$a),$a);echo' +
+

',lang(162),': +

';textarea("select",$J["select"]);echo'

+ +';if($_GET["view"]!=""){echo'';}echo' +

+';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$bd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Of=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$J=$_POST;if($_POST&&!$n){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(185));elseif(in_array($J["INTERVAL_FIELD"],$bd)&&isset($Of[$J["STATUS"]])){$xf="\nON SCHEDULE ".($J["INTERVAL_VALUE"]?"EVERY ".q($J["INTERVAL_VALUE"])." $J[INTERVAL_FIELD]".($J["STARTS"]?" STARTS ".q($J["STARTS"]):"").($J["ENDS"]?" ENDS ".q($J["ENDS"]):""):"AT ".q($J["STARTS"]))." ON COMPLETION".($J["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(186):lang(187)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$xf.($aa!=$J["EVENT_NAME"]?"\nRENAME TO ".idf_escape($J["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($J["EVENT_NAME"]).$xf)."\n".$Of[$J["STATUS"]]." COMMENT ".q($J["EVENT_COMMENT"]).rtrim(" DO\n$J[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(188).": ".h($aa):lang(189)),$n);if(!$J&&$aa!=""){$K=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$J=reset($K);}echo' +
+ +
',lang(162),' +
',lang(190),' +
',lang(191),' +
',lang(192),' ',html_select("INTERVAL_FIELD",$bd,$J["INTERVAL_FIELD"]),'
',lang(80),'',html_select("STATUS",$Of,$J["STATUS"]),'
',lang(101),' +
 ',checkbox("ON_COMPLETION","PRESERVE",$J["ON_COMPLETION"]=="PRESERVE",lang(193)),'
+

';textarea("EVENT_DEFINITION",$J["EVENT_DEFINITION"]);echo'

+ +';if($aa!=""){echo'';}echo' +

+';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$sf=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$J=$_POST;$J["fields"]=(array)$J["fields"];if($_POST&&!process_fields($J["fields"])&&!$n){$hg="$J[name]_adminer_".uniqid();drop_create("DROP $sf ".idf_escape($da),create_routine($sf,$J),"DROP $sf ".idf_escape($J["name"]),create_routine($sf,array("name"=>$hg)+$J),"DROP $sf ".idf_escape($hg),substr(ME,0,-1),lang(194),lang(195),lang(196),$da,$J["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(197):lang(198)).": ".h($da):(isset($_GET["function"])?lang(199):lang(200))),$n);if(!$_POST&&$da!=""){$J=routine($da,$sf);$J["name"]=$da;}$Xa=get_vals("SHOW CHARACTER SET");sort($Xa);$tf=routine_languages();echo' +
+

',lang(162),': +',($tf?lang(9).": ".html_select("language",$tf,$J["language"]):""),' +';edit_fields($J["fields"],$Xa,$sf);if(isset($_GET["function"])){echo"
".lang(201);edit_type("returns",$J["returns"],$Xa);}echo'
+

';textarea("definition",$J["definition"]);echo'

+ +';if($da!=""){echo'';}echo' +

+';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$J=$_POST;if($_POST&&!$n){$z=substr(ME,0,-1);$B=trim($J["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$z,lang(202));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($B),$z,lang(203));elseif($fa!=$B)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($B),$z,lang(204));else +redirect($z);}page_header($fa!=""?lang(205).": ".h($fa):lang(206),$n);if(!$J)$J["name"]=$fa;echo' +
+

+ +';if($fa!="")echo"\n";echo' +

+';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$J=$_POST;if($_POST&&!$n){$z=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$z,lang(207));else +query_redirect("CREATE TYPE ".idf_escape(trim($J["name"]))." $J[as]",$z,lang(208));}page_header($ga!=""?lang(209).": ".h($ga):lang(210),$n);if(!$J)$J["as"]="AS ";echo' +
+

+';if($ga!="")echo"\n";else{echo"\n";textarea("as",$J["as"]);echo"

\n";}echo' +

+';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$B=$_GET["name"];$Ag=trigger_options();$zg=array("INSERT","UPDATE","DELETE");$J=(array)trigger($B)+array("Trigger"=>$a."_bi");if($_POST){if(!$n&&in_array($_POST["Timing"],$Ag["Timing"])&&in_array($_POST["Event"],$zg)&&in_array($_POST["Type"],$Ag["Type"])){$ge=" ON ".table($a);$Fb="DROP TRIGGER ".idf_escape($B).($w=="pgsql"?$ge:"");$_=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Fb,$_,lang(211));else{if($B!="")queries($Fb);queries_redirect($_,($B!=""?lang(212):lang(213)),queries(create_trigger($ge,$_POST)));if($B!="")queries(create_trigger($ge,$J+array("Type"=>reset($Ag["Type"]))));}}$J=$_POST;}page_header(($B!=""?lang(214).": ".h($B):lang(215)),$n,array("table"=>$a));echo' +
+ +
',lang(216),'',html_select("Timing",$Ag["Timing"],$J["Timing"],"if (/^".preg_quote($a,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($a)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'
',lang(217),'',html_select("Event",$zg,$J["Event"],"this.form['Timing'].onchange();"),'
',lang(96),'',html_select("Type",$Ag["Type"],$J["Type"]),'
+

',lang(162),': +

';textarea("Statement",$J["Statement"]);echo'

+ +';if($B!=""){echo'';}echo' +

+';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$Ve=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$J){foreach(explode(",",($J["Privilege"]=="Grant option"?"":$J["Context"]))as$hb)$Ve[$hb][$J["Privilege"]]=$J["Comment"];}$Ve["Server Admin"]+=$Ve["File access on server"];$Ve["Databases"]["Create routine"]=$Ve["Procedures"]["Create routine"];unset($Ve["Procedures"]["Create routine"]);$Ve["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$Ve["Columns"][$X]=$Ve["Tables"][$X];unset($Ve["Server Admin"]["Usage"]);foreach($Ve["Tables"]as$x=>$X)unset($Ve["Databases"][$x]);$Vd=array();if($_POST){foreach($_POST["objects"]as$x=>$X)$Vd[$X]=(array)$Vd[$X]+(array)$_POST["grants"][$x];}$Ec=array();$ee="";if(isset($_GET["host"])&&($H=$i->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($J=$H->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$J[0],$A)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$A[1],$Bd,PREG_SET_ORDER)){foreach($Bd +as$X){if($X[1]!="USAGE")$Ec["$A[2]$X[2]"][$X[1]]=true;if(ereg(' WITH GRANT OPTION',$J[0]))$Ec["$A[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$J[0],$A))$ee=$A[1];}}if($_POST&&!$n){$fe=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $fe",ME."privileges=",lang(218));else{$Xd=q($_POST["user"])."@".q($_POST["host"]);$Ge=$_POST["pass"];if($Ge!=''&&!$_POST["hashed"]){$Ge=$i->result("SELECT PASSWORD(".q($Ge).")");$n=!$Ge;}$lb=false;if(!$n){if($fe!=$Xd){$lb=queries(($i->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $Xd IDENTIFIED BY PASSWORD ".q($Ge));$n=!$lb;}elseif($Ge!=$ee)queries("SET PASSWORD FOR $Xd = ".q($Ge));}if(!$n){$pf=array();foreach($Vd +as$ae=>$Dc){if(isset($_GET["grant"]))$Dc=array_filter($Dc);$Dc=array_keys($Dc);if(isset($_GET["grant"]))$pf=array_diff(array_keys(array_filter($Vd[$ae],'strlen')),$Dc);elseif($fe==$Xd){$ce=array_keys((array)$Ec[$ae]);$pf=array_diff($ce,$Dc);$Dc=array_diff($Dc,$ce);unset($Ec[$ae]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$ae,$A)&&(!grant("REVOKE",$pf,$A[2]," ON $A[1] FROM $Xd")||!grant("GRANT",$Dc,$A[2]," ON $A[1] TO $Xd"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($fe!=$Xd)queries("DROP USER $fe");elseif(!isset($_GET["grant"])){foreach($Ec +as$ae=>$pf){if(preg_match('~^(.+)(\\(.*\\))?$~U',$ae,$A))grant("REVOKE",array_keys($pf),$A[2]," ON $A[1] FROM $Xd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(219):lang(220)),!$n);if($lb)$i->query("DROP USER $Xd");}}page_header((isset($_GET["host"])?lang(23).": ".h("$ha@$_GET[host]"):lang(124)),$n,array("privileges"=>array('',lang(54))));if($_POST){$J=$_POST;$Ec=$Vd;}else{$J=$_GET+array("host"=>$i->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$J["pass"]=$ee;if($ee!="")$J["hashed"]=true;$Ec[(DB==""||$Ec?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'
+ +
',lang(22),' +
',lang(23),' +
',lang(24),' +';if(!$J["hashed"]){echo'';}echo +checkbox("hashed",1,$J["hashed"],lang(221),"typePassword(this.form['pass'], this.checked);"),'
+ +';echo"\n","\n";foreach(array(""=>"","Server Admin"=>lang(22),"Databases"=>lang(25),"Tables"=>lang(107),"Columns"=>lang(108),"Procedures"=>lang(222),)as$hb=>$xb){foreach((array)$Ve[$hb]as$Ue=>$bb){echo"$xb'.h($Ue);$s=0;foreach($Ec +as$ae=>$Dc){$B="'grants[$s][".h(strtoupper($Ue))."]'";$Y=$Dc[strtoupper($Ue)];if($hb=="Server Admin"&&$ae!=(isset($Ec["*.*"])?"*.*":".*"))echo"
".lang(54)."";$s=0;foreach($Ec +as$ae=>$Dc){echo''.($ae!="*.*"?"":"*.*");$s++;}echo"
 ";elseif(isset($_GET["grant"]))echo"";else +echo"";$s++;}}}echo"
\n",'

+ +';if(isset($_GET["host"])){echo'';}echo' +

+';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$n){$ld=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X)))$ld++;}queries_redirect(ME."processlist=",lang(225,$ld),$ld||!$_POST["kill"]);}page_header(lang(78),$n);echo' +
+ +';$s=-1;foreach(process_list()as$s=>$J){if(!$s){echo"".(support("kill")?"\n";}echo"".(support("kill")?"
 ":"");foreach($J +as$x=>$X)echo"".($w=="sql"?"$x":$x);echo"
".checkbox("kill[]",$J["Id"],0):"");foreach($J +as$x=>$X)echo"".(($w=="sql"&&$x=="Info"&&ereg("Query|Killed",$J["Command"])&&$X!="")||($w=="pgsql"&&$x=="current_query"&&$X!="")||($w=="oracle"&&$x=="sql_text"&&$X!="")?"".shorten_utf8($X,100,"").' '.lang(226).'':nbsp($X));echo"\n";}echo'
+ +

+';if(support("kill")){echo($s+1)."/".lang(227,$i->result("SELECT @@max_connections")),"

\n";}echo' +

+';}elseif(isset($_GET["select"])){$a=$_GET["select"];$Q=table_status1($a);$v=indexes($a);$p=fields($a);$vc=column_foreign_keys($a);$be="";if($Q["Oid"]){$be=($w=="sqlite"?"rowid":"oid");$v[]=array("type"=>"PRIMARY","columns"=>array($be));}parse_str($_COOKIE["adminer_import"],$ra);$qf=array();$g=array();$kg=null;foreach($p +as$x=>$o){$B=$b->fieldName($o);if(isset($o["privileges"]["select"])&&$B!=""){$g[$x]=html_entity_decode(strip_tags($B),ENT_QUOTES);if(is_shortable($o))$kg=$b->selectLengthProcess();}$qf+=$o["privileges"];}list($L,$Fc)=$b->selectColumnsProcess($g,$v);$cd=count($Fc)selectSearchProcess($p,$v);$pe=$b->selectOrderProcess($p,$v);$y=$b->selectLimitProcess();$_c=($L?implode(", ",$L):"*".($be?", $be":"")).convert_fields($g,$p,$L)."\nFROM ".table($a);$Gc=($Fc&&$cd?"\nGROUP BY ".implode(", ",$Fc):"").($pe?"\nORDER BY ".implode(", ",$pe):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Hg=>$J){$ya=convert_field($p[key($J)]);echo$i->result("SELECT".limit($ya?$ya:idf_escape(key($J))." FROM ".table($a)," WHERE ".where_check($Hg,$p).($Z?" AND ".implode(" AND ",$Z):"").($pe?" ORDER BY ".implode(", ",$pe):""),1));}exit;}if($_POST&&!$n){$ah=$Z;if(is_array($_POST["check"]))$ah[]="((".implode(") OR (",array_map('where_check',$_POST["check"]))."))";$ah=($ah?"\nWHERE ".implode(" AND ",$ah):"");$Qe=$Jg=null;foreach($v +as$u){if($u["type"]=="PRIMARY"){$Qe=array_flip($u["columns"]);$Jg=($L?$Qe:array());break;}}foreach((array)$Jg +as$x=>$X){if(in_array(idf_escape($x),$L))unset($Jg[$x]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$Jg===array())$G="SELECT $_c$ah$Gc";else{$Fg=array();foreach($_POST["check"]as$X)$Fg[]="(SELECT".limit($_c,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p).$Gc,1).")";$G=implode(" UNION ALL ",$Fg);}$b->dumpData($a,"table",$G);exit;}if(!$b->selectEmailProcess($Z,$vc)){if($_POST["save"]||$_POST["delete"]){$H=true;$sa=0;$G=table($a);$N=array();if(!$_POST["delete"]){foreach($g +as$B=>$X){$X=process_input($p[$B]);if($X!==null){if($_POST["clone"])$N[idf_escape($B)]=($X!==false?$X:idf_escape($B));elseif($X!==false)$N[]=idf_escape($B)." = $X";}}$G.=($_POST["clone"]?" (".implode(", ",array_keys($N)).")\nSELECT ".implode(", ",$N)."\nFROM ".table($a):" SET\n".implode(",\n",$N));}if($_POST["delete"]||$N){$Za="UPDATE";if($_POST["delete"]){$Za="DELETE";$G="FROM $G";}if($_POST["clone"]){$Za="INSERT";$G="INTO $G";}if($_POST["all"]||($Jg===array()&&is_array($_POST["check"]))||$cd){$H=queries("$Za $G$ah");$sa=$i->affected_rows;}else{foreach((array)$_POST["check"]as$X){$H=queries($Za.limit1($G,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p)));if(!$H)break;$sa+=$i->affected_rows;}}}$Jd=lang(229,$sa);if($_POST["clone"]&&$H&&$sa==1){$qd=last_id();if($qd)$Jd=lang(142," $qd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$Jd,$H);}elseif(!$_POST["import"]){if(!$_POST["val"])$n=lang(230);else{$H=true;$sa=0;foreach($_POST["val"]as$Hg=>$J){$N=array();foreach($J +as$x=>$X){$x=bracket_escape($x,1);$N[]=idf_escape($x)." = ".(ereg('char|text',$p[$x]["type"])||$X!=""?$b->processInput($p[$x],$X):"NULL");}$G=table($a)." SET ".implode(", ",$N);$Zg=" WHERE ".where_check($Hg,$p).($Z?" AND ".implode(" AND ",$Z):"");$H=queries("UPDATE".($cd||$Jg===array()?" $G$Zg":limit1($G,$Zg)));if(!$H)break;$sa+=$i->affected_rows;}queries_redirect(remove_from_uri(),lang(229,$sa),$H);}}elseif(!is_string($oc=get_file("csv_file",true)))$n=upload_error($oc);elseif(!preg_match('~~u',$oc))$n=lang(231);else{cookie("adminer_import","output=".urlencode($ra["output"])."&format=".urlencode($_POST["separator"]));$H=true;$Ya=array_keys($p);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$oc,$Bd);$sa=count($Bd[0]);begin();$Cf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($Bd[0]as$x=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$Cf]*)$Cf~",$X.$Cf,$Cd);if(!$x&&!array_diff($Cd[1],$Ya)){$Ya=$Cd[1];$sa--;}else{$N=array();foreach($Cd[1]as$s=>$Va)$N[idf_escape($Ya[$s])]=($Va==""&&$p[$Ya[$s]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Va))));$H=insert_update($a,$N,$Qe);if(!$H)break;}}if($H)queries("COMMIT");queries_redirect(remove_from_uri("page"),lang(232,$sa),$H);queries("ROLLBACK");}}}$Yf=$b->tableName($Q);if(is_ajax())ob_start();page_header(lang(36).": $Yf",$n);$N=null;if(isset($qf["insert"])){$N="";foreach((array)$_GET["where"]as$X){if(count($vc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!ereg('[_%]',$X["val"]))))$N.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($Q,$N);if(!$g)echo"

".lang(233).($p?".":": ".error())."\n";else{echo"

\n","
";hidden_fields_get();echo(DB!=""?''.(isset($_GET["ns"])?'':""):"");echo'',"
\n";$b->selectColumnsPrint($L,$g);$b->selectSearchPrint($Z,$g,$v);$b->selectOrderPrint($pe,$g,$v);$b->selectLimitPrint($y);$b->selectLengthPrint($kg);$b->selectActionPrint($v);echo"
\n";$D=$_GET["page"];if($D=="last"){$yc=$i->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));$D=floor(max(0,$yc-1)/$y);}$G=$b->selectQueryBuild($L,$Z,$Fc,$pe,$y,$D);if(!$G)$G="SELECT".limit((+$y&&$Fc&&$cd&&$w=="sql"?"SQL_CALC_FOUND_ROWS ":"").$_c,($Z?"\nWHERE ".implode(" AND ",$Z):"").$Gc,($y!=""?+$y:null),($D?$y*$D:0),"\n");echo$b->selectQuery($G);$H=$i->query($G);if(!$H)echo"

".error()."\n";else{if($w=="mssql"&&$D)$H->seek($y*$D);$Qb=array();echo"

\n";$K=array();while($J=$H->fetch_assoc()){if($D&&$w=="oracle")unset($J["RNUM"]);$K[]=$J;}if($_GET["page"]!="last")$yc=(+$y&&$Fc&&$cd?($w=="sql"?$i->result(" SELECT FOUND_ROWS()"):$i->result("SELECT COUNT(*) FROM ($G) x")):count($K));if(!$K)echo"

".lang(89)."\n";else{$Ea=$b->backwardKeys($a,$Yf);echo"\n","".(!$Fc&&$L?"":"\n";if(is_ajax()){if($y%2==1&&$D%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($K,$vc)as$Td=>$J){$Gg=unique_array($K[$Td],$v);if(!$Gg){$Gg=array();foreach($K[$Td]as$x=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$x))$Gg[$x]=$X;}}$Hg="";foreach($Gg +as$x=>$X){if(strlen($X)>64){$x="MD5(".(strpos($x,'(')?$x:idf_escape($x)).")";$X=md5($X);}$Hg.="&".($X!==null?urlencode("where[".bracket_escape($x)."]")."=".urlencode($X):"null%5B%5D=".urlencode($x));}echo"".(!$Fc&&$L?"":"\n";}if(is_ajax())exit;echo"
".lang(234)."");$Ud=array();$Cc=array();reset($L);$bf=1;foreach($K[0]as$x=>$X){if($x!=$be){$X=$_GET["columns"][key($L)];$o=$p[$L?($X?$X["col"]:current($L)):$x];$B=($o?$b->fieldName($o,$bf):"*");if($B!=""){$bf++;$Ud[$x]=$B;$f=idf_escape($x);$Nc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($x);$xb="&desc%5B0%5D=1";echo'','';echo(!$L||$X?apply_sql_function($X["fun"],$B):h(current($L)))."";echo"";}$Cc[$x]=$X["fun"];next($L);}}$wd=array();if($_GET["modify"]){foreach($K +as$J){foreach($J +as$x=>$X)$wd[$x]=max($wd[$x],min(40,strlen(utf8_decode($X))));}}echo($Ea?"".lang(235):"")."
".checkbox("check[]",substr($Hg,1),in_array(substr($Hg,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").($cd||information_schema(DB)?"":" ".lang(234).""));foreach($J +as$x=>$X){if(isset($Ud[$x])){$o=$p[$x];if($X!=""&&(!isset($Qb[$x])||$Qb[$x]!=""))$Qb[$x]=(is_mail($X)?$Ud[$x]:"");$z="";$X=$b->editVal($X,$o);if($X!==null){if(ereg('blob|bytea|raw|file',$o["type"])&&$X!="")$z=ME.'download='.urlencode($a).'&field='.urlencode($x).$Hg;if($X==="")$X=" ";elseif($kg!=""&&is_shortable($o))$X=shorten_utf8($X,max(0,+$kg));else$X=h($X);if(!$z){foreach((array)$vc[$x]as$q){if(count($vc[$x])==1||end($q["source"])==$x){$z="";foreach($q["source"]as$s=>$If)$z.=where_link($s,$q["target"][$s],$K[$Td][$If]);$z=($q["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($q["db"]),ME):ME).'select='.urlencode($q["table"]).$z;if(count($q["source"])==1)break;}}}if($x=="COUNT(*)"){$z=ME."select=".urlencode($a);$s=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$Gg))$z.=where_link($s++,$W["col"],$W["val"],$W["op"]);}foreach($Gg +as$hd=>$W)$z.=where_link($s++,$hd,$W);}}if(!$z&&($z=$b->selectLink($J[$x],$o))===null){if(is_mail($J[$x]))$z="mailto:$J[$x]";if($Ye=is_url($J[$x]))$z=($Ye=="http"&&$ba?$J[$x]:"$Ye://www.adminer.org/redirect/?url=".urlencode($J[$x]));}$Oc=h("val[$Hg][".bracket_escape($x)."]");$Y=$_POST["val"][$Hg][bracket_escape($x)];$Ic=h($Y!==null?$Y:$J[$x]);$_d=strpos($X,"...");$Mb=is_utf8($X)&&$K[$Td][$x]==$J[$x]&&!$Cc[$x];$jg=ereg('text|lob',$o["type"]);echo(($_GET["modify"]&&$Mb)||$Y!==null?"".($jg?"":""):"".$b->selectVal($X,$z,$o));}}if($Ea)echo"";$b->backwardKeysPrint($Ea,$K[$Td]);echo"
\n",(!$Fc&&$L?"":"\n");}if(($K||$D)&&!is_ajax()){$ac=true;if($_GET["page"]!="last"&&+$y&&!$cd&&($yc>=$y||$D)){$yc=found_rows($Q,$Z);if($yc$y||$D)){echo"

";$Ed=($yc===false?$D+(count($K)>=$y?2:1):floor(($yc-1)/$y));echo'".lang(237).":",pagination(0,$D).($D>5?" ...":"");for($s=max(1,$D-4);$s0){echo($D+5<$Ed?" ...":""),($ac&&$yc!==false?pagination($Ed,$D):" ".lang(238)."");}echo(($yc===false?count($K)+1:$yc-$D*$y)>$y?' '.lang(240).'':'');}echo"

\n",($yc!==false?"(".($ac?"":"~ ").lang(126,$yc).") ":""),checkbox("all",1,0,lang(241))."\n";if($b->selectCommandPrint()){echo'

',lang(34),'
+ + + + +
+';}$wc=$b->dumpFormat();foreach((array)$_GET["columns"]as$f){if($f["fun"]){unset($wc['sql']);break;}}if($wc){print_fieldset("export",lang(118));$ye=$b->dumpOutput();echo($ye?html_select("output",$ye,$ra["output"])." ":""),html_select("format",$wc,$ra["format"])," \n","\n";}}if($b->selectImportPrint()){print_fieldset("import",lang(55),!$K);echo" ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ra["format"],1);echo" ","\n";}$b->selectEmailPrint(array_filter($Qb,'strlen'),$g);echo"

\n","
\n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Nf=isset($_GET["status"]);page_header($Nf?lang(80):lang(79));$Tg=($Nf?show_status():show_variables());if(!$Tg)echo"

".lang(89)."\n";else{echo"\n";foreach($Tg +as$x=>$X){echo"","
".h($x)."","".nbsp($X);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Vf=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$B=>$Q){$Oc=js_escape($B);json_row("Comment-$Oc",nbsp($Q["Comment"]));if(!is_view($Q)){foreach(array("Engine","Collation")as$x)json_row("$x-$Oc",nbsp($Q[$x]));foreach($Vf+array("Auto_increment"=>0,"Rows"=>0)as$x=>$X){if($Q[$x]!=""){$X=number_format($Q[$x],0,'.',lang(8));json_row("$x-$Oc",($x=="Rows"&&$X&&$Q["Engine"]==($Kf=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Vf[$x]))$Vf[$x]+=($Q["Engine"]!="InnoDB"||$x!="Data_free"?$Q[$x]:0);}elseif(array_key_exists($x,$Q))json_row("$x-$Oc");}}}foreach($Vf +as$x=>$X)json_row("sum-$x",number_format($X,0,'.',lang(8)));json_row("");}elseif($_GET["script"]=="kill")$i->query("KILL ".(+$_POST["kill"]));else{foreach(count_tables($b->databases())as$m=>$X)json_row("tables-".js_escape($m),$X);json_row("");}exit;}else{$eg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($eg&&!$n&&!$_POST["search"]){$H=true;$Jd="";if($w=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$H=truncate_tables($_POST["tables"]);$Jd=lang(242);}elseif($_POST["move"]){$H=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Jd=lang(243);}elseif($_POST["copy"]){$H=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Jd=lang(244);}elseif($_POST["drop"]){if($_POST["views"])$H=drop_views($_POST["views"]);if($H&&$_POST["tables"])$H=drop_tables($_POST["tables"]);$Jd=lang(245);}elseif($w!="sql"){$H=($w=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$Jd=lang(246);}elseif(!$_POST["tables"])$Jd=lang(7);elseif($H=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($J=$H->fetch_assoc())$Jd.="".h($J["Table"]).": ".h($J["Msg_text"])."
";}queries_redirect(substr(ME,0,-1),$Jd,$H);}page_header(($_GET["ns"]==""?lang(25).": ".h(DB):lang(87).": ".h($_GET["ns"])),$n,true);if($b->homepage()){if($_GET["ns"]!==""){echo"

".lang(247)."

\n";$dg=tables_list();if(!$dg)echo"

".lang(7)."\n";else{echo"

\n","

".lang(248).": \n";if($_POST["search"]&&$_POST["query"]!="")search_tables();echo"\n",'\n";foreach($dg +as$B=>$T){$Vg=($T!==null&&!eregi("table",$T));echo'
',''.lang(107),''.lang(249),''.lang(84),''.lang(250),''.lang(251),''.lang(252),''.lang(99),''.lang(253),(support("comment")?''.lang(101):''),"
'.checkbox(($Vg?"views[]":"tables[]"),$B,in_array($B,$eg,true),"","formUncheck('check-all');"),''.h($B).'';if($Vg){echo''.lang(106).'','?';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(31)),"Index_length"=>array("indexes",lang(110)),"Data_free"=>array("edit",lang(32)),"Auto_increment"=>array("auto_increment=1&create",lang(31)),"Rows"=>array("select",lang(28)),)as$x=>$z)echo($z?"?":" ");}echo(support("comment")?" ":"");}echo"
 ".lang(227,count($dg)),"".nbsp($w=="sql"?$i->result("SELECT @@storage_engine"):""),"".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$x)echo" ";echo"
\n","\n";if(!information_schema(DB)){echo"

".(ereg('^(sql|sqlite|pgsql)$',$w)?($w!="sqlite"?" ":"")." ":"").($w=="sql"?" ":"")." \n";$l=(support("scheme")?schemas():$b->databases());if(count($l)!=1&&$w!="sqlite"){$m=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"

".lang(259).": ",($l?html_select("target",$l,$m):'')," ",(support("copy")?" ":""),"\n";}echo"\n";}echo"

\n";}echo'

'.lang(152)."\n";if(support("view"))echo''.lang(184)."\n";if(support("routine")){echo"

".lang(121)."

\n";$uf=routines();if($uf){echo"\n",'\n";odd('');foreach($uf +as$J){echo'','
'.lang(162).''.lang(96).''.lang(201)." 
'.h($J["ROUTINE_NAME"]).'',''.h($J["ROUTINE_TYPE"]),''.h($J["DTD_IDENTIFIER"]),''.lang(113)."";}echo"
\n";}echo'

'.(support("procedure")?''.lang(200).' ':'').''.lang(199)."\n";}if(support("sequence")){echo"

".lang(262)."

\n";$Df=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($Df){echo"\n","\n";odd('');foreach($Df +as$X)echo"
".lang(162)."
".h($X)."\n";echo"
\n";}echo"

".lang(206)."\n";}if(support("type")){echo"

".lang(13)."

\n";$Pg=types();if($Pg){echo"\n","\n";odd('');foreach($Pg +as$X)echo"
".lang(162)."
".h($X)."\n";echo"
\n";}echo"

".lang(210)."\n";}if(support("event")){echo"

".lang(122)."

\n";$K=get_rows("SHOW EVENTS");if($K){echo"\n","\n";foreach($K +as$J){echo"","
".lang(162)."".lang(263)."".lang(190)."".lang(191)."
".h($J["Name"]),"".($J["Execute at"]?lang(264)."".$J["Execute at"]:lang(192)." ".$J["Interval value"]." ".$J["Interval field"]."$J[Starts]"),"$J[Ends]",''.lang(113).'';}echo"
\n";$Zb=$i->result("SELECT @@event_scheduler");if($Zb&&$Zb!="ON")echo"

event_scheduler: ".h($Zb)."\n";}echo'

'.lang(189)."\n";}if($dg)echo"\n";}}}page_footer(); \ No newline at end of file