is_ad_email() * no javascript; only onload="bodyLoad();" * line 35: no sourceforge-url, change: in var jushRoot='' * line 968: remove: header("X-Frame-Options: deny"); * Change String Optimisieren to Optimieren */ /** Adminer - Compact database management * @link http://www.adminer.org/ * @author Jakub Vrana, http://php.vrana.cz/ * @copyright 2007 Jakub Vrana * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 */error_reporting(6135);$ye=(!ereg('^(unsafe_raw)?$',ini_get("filter.default"))||ini_get("filter.default_flags"));if($ye){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$b){$oe=filter_input_array(constant("INPUT$b"),FILTER_UNSAFE_RAW);if($oe){$$b=$oe;}}}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/wBhTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAETMzEQAAAAATERExAAAAABMRETEAAAAAExERMQAAAAATERExAAAAABMRETEAAAAAETMzEREREQATERExEhEhABEzMxEhEREAAREREhERIRAAAAARIRESEAAAAAESEiEQAAAAABEREQAAAAAAAAAAD///8BwP//AYB//wGAf/8BgH//AYB//wGAf/8BgH//AYAB/wGAAf8BgAH/AcAA/wH+AP8B/wD/Af+B/wH///8B");}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{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;}#menu{position:absolute;margin:10px 0 0;padding:0 0 30px 0;top:2em;left:0;width:19em;overflow:auto;overflow-y:hidden;white-space:nowrap;}#menu p{padding:.8em 1em;margin:0;border-bottom:1px solid #ccc;}#content{margin:2em 0 0 21em;padding:10px 20px 20px 0;}#lang{position:absolute;top:0;left:0;line-height:1.8em;padding:.3em 1em;}#breadcrumb{white-space:nowrap;position:absolute;top:0;left:21em;background:#eee;height:2em;line-height:1.8em;padding:0 1em;margin:0 0 0 -18px;}#h1{color:#777;text-decoration:none;font-style:italic;}#version{font-size:67%;color:red;}#schema{margin-left:60px;position:relative;}#schema .table{border:1px solid silver;padding:0 2px;cursor:move;position:absolute;}#schema .references{position:absolute;}@media print{#lang,#menu{display:none;}#content{margin-left:1em;}#breadcrumb{left:1em;}}';}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");?> document.body.className='js';function toggle(id){var el=document.getElementById(id);el.className=(el.className=='hidden'?'':'hidden');return true;} function cookie(assign,days,params){var date=new Date();date.setDate(date.getDate()+days);document.cookie=assign+'; expires='+date+(params||'');} function verifyVersion(protocol){cookie('adminer_version=0',1);var script=document.createElement('script');script.src=protocol+'://www.adminer.org/version.php';document.body.appendChild(script);} function formCheck(el,name){var elems=el.form.elements;for(var i=0;i=allowed){return false;} var match=/([0-9]+)(\.[0-9]+)?/.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(/^....(.+)-[0-9]+$/,'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){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;} cookie('adminer_schema='+encodeURIComponent(s.substr(1)),30,'; path="'+location.pathname+location.search+'"');}} function textareaKeydown(target,event){if(event.keyCode==9&&!event.shiftKey&&!event.altKey&&!event.ctrlKey&&!event.metaKey){if(target.setSelectionRange){var start=target.selectionStart;target.value=target.value.substr(0,start)+'\t'+target.value.substr(target.selectionEnd);target.setSelectionRange(start+1,start+1);return false;}else if(target.createTextRange){document.selection.createRange().text='\t';return false;}} if(event.ctrlKey&&(event.keyCode==13||event.keyCode==10)&&!event.altKey&&!event.metaKey){target.form.submit();} return true;}$v){unset($tb[$c][$La]);if(is_array($v)){$tb[$c][stripslashes($La)]=$v;$tb[]=&$tb[$c][stripslashes($La)];}else{$tb[$c][stripslashes($La)]=($ye?$v:stripslashes($v));}}}}}function bracket_escape($M,$Ze=false){static$Ce=array(':'=>':1',']'=>':2','['=>':3');return strtr($M,($Ze?array_flip($Ce):$Ce));}function h($G){return htmlspecialchars($G,ENT_QUOTES);}function nbsp($G){return(trim($G)!=""?h($G):" ");}function nl_br($G){return str_replace("\n","
",$G);}function checkbox($f,$p,$Ga,$Ne="",$Qe=""){static$U=0;$U++;$e="";return($Ne!=""?"":$e);}function optionlist($bd,$Ye=null,$fe=false){$e="";foreach($bd as$La=>$v){if(is_array($v)){$e.='';}foreach((is_array($v)?$v:array($La=>$v))as$c=>$b){$e.=''.h($b);}if(is_array($v)){$e.='';}}return$e;}function html_select($f,$bd,$p="",$Gb=true){if($Gb){return"";}$e="";foreach($bd as$c=>$b){$e.="";}return$e;}function ini_bool($af){$b=ini_get($af);return(eregi('^(on|true|yes)$',$b)||(int)$b);}function q($G){global$g;return$g->quote($G);}function get_vals($j,$J=0){global$g;$e=array();$i=$g->query($j);if(is_object($i)){while($a=$i->fetch_row()){$e[]=$a[$J];}}return$e;}function get_key_vals($j,$H=null){global$g;if(!is_object($H)){$H=$g;}$e=array();$i=$H->query($j);while($a=$i->fetch_row()){$e[$a[0]]=$a[1];}return$e;}function get_rows($j,$H=null,$n="

"){global$g;if(!is_object($H)){$H=$g;}$e=array();$i=$H->query($j);if(is_object($i)){while($a=$i->fetch_assoc()){$e[]=$a;}}elseif(!$i&&$n&&(headers_sent()||ob_get_level())){echo$n.error()."\n";}return$e;}function unique_array($a,$K){foreach($K as$w){if(ereg("PRIMARY|UNIQUE",$w["type"])){$e=array();foreach($w["columns"]as$c){if(!isset($a[$c])){continue 2;}$e[$c]=$a[$c];}return$e;}}$e=array();foreach($a as$c=>$b){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$c)){$e[$c]=$b;}}return$e;}function where($s){$e=array();foreach((array)$s["where"]as$c=>$b){$e[]=idf_escape(bracket_escape($c,1)).(ereg('\\.',$b)?" LIKE ".exact_value(addcslashes($b,"%_")):" = ".exact_value($b));}foreach((array)$s["null"]as$c){$e[]=idf_escape($c)." IS NULL";}return implode(" AND ",$e);}function where_check($b){parse_str($b,$Ld);remove_slashes(array(&$Ld));return where($Ld);}function where_link($l,$J,$p,$Xe="="){return"&where%5B$l%5D%5Bcol%5D=".urlencode($J)."&where%5B$l%5D%5Bop%5D=".urlencode($Xe)."&where%5B$l%5D%5Bval%5D=".urlencode($p);}function cookie($f,$p){global$ec;$oc=array($f,(ereg("\n",$p)?"":$p),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ec);if(version_compare(PHP_VERSION,'5.2.0')>=0){$oc[]=true;}return call_user_func_array('setcookie',$oc);}function restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($c){return$_SESSION[$c][DRIVER][SERVER][$_GET["username"]];}function set_session($c,$b){$_SESSION[$c][DRIVER][SERVER][$_GET["username"]]=$b;}function auth_url($Kb,$D,$Q){global$ja;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($ja))."|username|".session_name()),$k);return"$k[1]?".(SID&&!$_COOKIE?SID."&":"").($Kb!="server"||$D!=""?urlencode($Kb)."=".urlencode($D)."&":"")."username=".urlencode($Q).($k[2]?"&$k[2]":"");}function redirect($ka,$Ba=null){if(isset($Ba)){restart_session();$_SESSION["messages"][]=$Ba;}if(isset($ka)){header("Location: ".($ka!=""?$ka:"."));exit;}}function query_redirect($j,$ka,$Ba,$Wc=true,$Ff=true,$Od=false){global$g,$n,$r;if($Ff){$Od=!$g->query($j);}$Dd="";if($j){$Dd=$r->messageQuery($j);}if($Od){$n=error().$Dd;return false;}if($Wc){redirect($ka,$Ba.$Dd);}return true;}function queries($j=null){global$g;static$nb=array();if(!isset($j)){return implode(";\n",$nb);}$nb[]=$j;return$g->query($j);}function apply_queries($j,$E,$wf='table'){foreach($E as$h){if(!queries("$j ".$wf($h))){return false;}}return true;}function queries_redirect($ka,$Ba,$Wc){return query_redirect(queries(),$ka,$Ba,$Wc,false,!$Wc);}function remove_from_uri($cb=""){return substr(preg_replace("~(?<=[?&])($cb".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function pagination($Y,$xf){return" ".($Y==$xf?$Y+1:''.($Y+1)."");}function get_file($c,$Jd=false){$pa=$_FILES[$c];if(!$pa||$pa["error"]){return$pa["error"];}return file_get_contents($Jd&&ereg('\\.gz$',$pa["name"])?"compress.zlib://$pa[tmp_name]":($Jd&&ereg('\\.bz2$',$pa["name"])?"compress.bzip2://$pa[tmp_name]":$pa["tmp_name"]));}function upload_error($n){$ae=($n==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($n?lang(0).($ae?" ".lang(1,$ae):""):lang(2));}function odd($e=' class="odd"'){static$l=0;if(!$e){$l=-1;}return($l++% 2?$e:'');}function is_utf8($b){return(preg_match('~~u',$b)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$b));}function shorten_utf8($G,$ca=80,$vf=""){if(!preg_match("(^([\t\r\n -\x{FFFF}]{0,$ca})($)?)u",$G,$k)){preg_match("(^([\t\r\n -~]{0,$ca})($)?)",$G,$k);}return h($k[1]).$vf.(isset($k[2])?"":"...");}function friendly_url($b){return preg_replace('~[^a-z0-9_]~i','-',$b);}function hidden_fields($tb,$uf=array()){while(list($c,$b)=each($tb)){if(is_array($b)){foreach($b as$La=>$v){$tb[$c."[$La]"]=$v;}}elseif(!in_array($c,$uf)){echo'';}}}function hidden_fields_get(){echo(SID&&!$_COOKIE?'':''),(SERVER!==null?'':""),'';}function column_foreign_keys($h){$e=array();foreach(foreign_keys($h)as$B){foreach($B["source"]as$b){$e[$b][]=$B;}}return$e;}function enum_input($y,$Sa,$d,$p){preg_match_all("~'((?:[^']|'')*)'~",$d["length"],$la);foreach($la[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$Ga=(is_int($p)?$p==$l+1:(is_array($p)?in_array($l+1,$p):$p===$b));echo" ';}}function input($d,$p,$O){global$T,$r,$_;$f=h(bracket_escape($d["field"]));echo"";$V=(isset($_GET["select"])?array("orig"=>lang(3)):array())+$r->editFunctions($d);$Sa=" name='fields[$f]'";if($d["type"]=="enum"){echo nbsp($V[""])."".($V["orig"]?" ":""),$r->editInput($_GET["edit"],$d,$Sa,$p);enum_input("radio",$Sa,$d,$p);}else{$gb=0;foreach($V as$c=>$b){if($c===""||!$b){break;}$gb++;}$Gb=($gb?" onchange=\"var f = this.form['function[".addcslashes($f,"\r\n'\\")."]']; if ($gb > f.selectedIndex) f.selectedIndex = $gb;\"":"");$Sa.=$Gb;echo(count($V)>1?html_select("function[$f]",$V,!isset($O)||in_array($O,$V)||isset($V[$O])?$O:""):nbsp(reset($V))).'';$Xd=$r->editInput($_GET["edit"],$d,$Sa,$p);if($Xd!=""){echo$Xd;}elseif($d["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$d["length"],$la);foreach($la[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$Ga=(is_int($p)?($p>>$l)&1:in_array($b,explode(",",$p),true));echo" ';}}elseif(ereg('blob|bytea|raw|file',$d["type"])&&ini_bool("file_uploads")){echo"";}elseif(ereg('text|lob',$d["type"])){echo"';}else{$jd=(!ereg('int',$d["type"])&&preg_match('~^([0-9]+)(,([0-9]+))?$~',$d["length"],$k)?((ereg("binary",$d["type"])?2:1)*$k[1]+($k[3]?1:0)+($k[2]&&!$d["unsigned"]?1:0)):($T[$d["type"]]?$T[$d["type"]]+($d["unsigned"]?0:1):0));echo"20?" size='40'":"")."$Sa>";}}}function process_input($d){global$r;$M=bracket_escape($d["field"]);$O=$_POST["function"][$M];$p=$_POST["fields"][$M];if($d["type"]=="enum"){if($p==-1){return false;}if($p==""){return"NULL";}return intval($p);}if($d["auto_increment"]&&$p==""){return null;}if($O=="orig"){return false;}if($O=="NULL"){return"NULL";}if($d["type"]=="set"){return array_sum((array)$p);}if(ereg('blob|bytea|raw|file',$d["type"])&&ini_bool("file_uploads")){$pa=get_file("fields-$M");if(!is_string($pa)){return false;}return q($pa);}return$r->processInput($d,$p,$O);}function search_tables(){global$r,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$sa=false;foreach(table_status()as$h=>$I){$f=$r->tableName($I);if(isset($I["Engine"])&&$f!=""&&(!$_POST["tables"]||in_array($h,$_POST["tables"]))){$i=$g->query("SELECT".limit("1 FROM ".table($h)," WHERE ".implode(" AND ",$r->selectSearchProcess(fields($h),array())),1));if($i->fetch_row()){if(!$sa){echo"

":"

".lang(4))."\n";}function dump_csv($a){foreach($a as$c=>$b){if(preg_match("~[\"\n,;]~",$b)||$b===""){$a[$c]='"'.str_replace('"','""',$b).'"';}}echo implode(($_POST["format"]=="csv"?",":";"),$a)."\n";}function apply_sql_function($O,$J){return($O?($O=="unixepoch"?"DATETIME($J, '$O')":($O=="count distinct"?"COUNT(DISTINCT ":strtoupper("$O("))."$J)"):$J);}function password_file(){$Yc=ini_get("upload_tmp_dir");if(!$Yc){if(function_exists('sys_get_temp_dir')){$Yc=sys_get_temp_dir();}else{$aa=@tempnam("","");if(!$aa){return false;}$Yc=dirname($aa);unlink($aa);}}$aa="$Yc/adminer.key";$e=@file_get_contents($aa);if($e){return$e;}$Ka=@fopen($aa,"w");if($Ka){$e=md5(uniqid(mt_rand(),true));fwrite($Ka,$e);fclose($Ka);}return$e;}function is_ad_email($sf){$ge='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$mc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ia="$ge+(\\.$ge+)*@($mc?\\.)+$mc";return preg_match("(^$ia(,\\s*$ia)*\$)i",$sf);}function is_url($G){$mc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($mc?\\.)+$mc(:[0-9]+)?(/.*)?(\\?.*)?(#.*)?\$~i",$G,$k)?strtolower($k[1]):"");}function print_fieldset($U,$tf,$yf=false){echo"

$tf
\n";}function selectSearchPrint($s,$A,$K){print_fieldset("search",lang(34),$s);foreach($K as$l=>$w){if($w["type"]=="FULLTEXT"){echo"(".implode(", ",array_map('h',$w["columns"])).") AGAINST"," ",checkbox("boolean[$l]",1,isset($_GET["boolean"][$l]),"BOOL"),"
\n";}}$l=0;foreach((array)$_GET["where"]as$b){if("$b[col]$b[val]"!=""&&in_array($b["op"],$this->operators)){echo"
",html_select("where[$l][op]",$this->operators,$b["op"]),"
\n";$l++;}}echo"
",html_select("where[$l][op]",$this->operators),"
\n","\n";}function selectOrderPrint($ub,$A,$K){print_fieldset("sort",lang(36),$ub);$l=0;foreach((array)$_GET["order"]as$c=>$b){if(isset($A[$b])){echo"
",checkbox("desc[$l]",1,isset($_GET["desc"][$c]),lang(37))."
\n";$l++;}}echo"
",checkbox("desc[$l]",1,0,lang(37))."
\n","\n";}function selectLimitPrint($N){echo"
".lang(38)."
";echo"","
\n";}function selectLengthPrint($Db){if(isset($Db)){echo"
".lang(39)."
",'',"
\n";}}function selectActionPrint(){echo"
".lang(40)."
","","
\n";}function selectEmailPrint($Lf,$A){}function selectColumnsProcess($A,$K){global$V,$wb;$C=array();$va=array();foreach((array)$_GET["columns"]as$c=>$b){if($b["fun"]=="count"||(isset($A[$b["col"]])&&(!$b["fun"]||in_array($b["fun"],$V)||in_array($b["fun"],$wb)))){$C[$c]=apply_sql_function($b["fun"],(isset($A[$b["col"]])?idf_escape($b["col"]):"*"));if(!in_array($b["fun"],$wb)){$va[]=$C[$c];}}}return array($C,$va);}function selectSearchProcess($o,$K){global$_;$e=array();foreach($K as$l=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$l]!=""){$e[]="MATCH (".implode(", ",array_map('idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$l]).(isset($_GET["boolean"][$l])?" IN BOOLEAN MODE":"").")";}}foreach((array)$_GET["where"]as$b){if("$b[col]$b[val]"!=""&&in_array($b["op"],$this->operators)){$cc=" $b[op]";if(ereg('IN$',$b["op"])){$Mb=process_length($b["val"]);$cc.=" (".($Mb!=""?$Mb:"NULL").")";}elseif($b["op"]=="LIKE %%"){$cc=" LIKE ".$this->processInput($o[$b["col"]],"%$b[val]%");}elseif(!ereg('NULL$',$b["op"])){$cc.=" ".$this->processInput($o[$b["col"]],$b["val"]);}if($b["col"]!=""){$e[]=idf_escape($b["col"]).$cc;}else{$eb=array();foreach($o as$f=>$d){if(is_numeric($b["val"])||!ereg('int|float|double|decimal',$d["type"])){$f=idf_escape($f);$eb[]=($_=="sql"&&ereg('char|text|enum|set',$d["type"])&&!ereg('^utf8',$d["collation"])?"CONVERT($f USING utf8)":$f);}}$e[]=($eb?"(".implode("$cc OR ",$eb)."$cc)":"0");}}}return$e;}function selectOrderProcess($o,$K){$e=array();foreach((array)$_GET["order"]as$c=>$b){if(isset($o[$b])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$b)){$e[]=(isset($o[$b])?idf_escape($b):$b).(isset($_GET["desc"][$c])?" DESC":"");}}return$e;}function selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"30");}function selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function selectEmailProcess($s,$nf){return false;}function messageQuery($j){global$_;restart_session();$U="sql-".count($_SESSION["messages"]);$fb=&get_session("queries");$fb[$_GET["db"]][]=(strlen($j)>1e6?ereg_replace('[\x80-\xFF]+$','',substr($j,0,1e6))."\n...":$j);return" ".lang(41)."';}function editFunctions($d){global$bc;$e=($d["null"]?"NULL/":"");foreach($bc as$c=>$V){if(!$c||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($V as$ia=>$b){if(!$ia||ereg($ia,$d["type"])){$e.="/$b";}}}}return explode("/",$e);}function editInput($h,$d,$Sa,$p){if($d["type"]=="enum"){return($d["null"]?" ":"")."";}return"";}function processInput($d,$p,$O=""){$f=$d["field"];$e=q($p);if(ereg('^(now|getdate|uuid)$',$O)){$e="$O()";}elseif(ereg('^current_(date|timestamp)$',$O)){$e=$O;}elseif(ereg('^([+-]|\\|\\|)$',$O)){$e=idf_escape($f)." $O $e";}elseif(ereg('^[+-] interval$',$O)){$e=idf_escape($f)." $O ".(preg_match("~^([0-9]+|'[0-9.: -]') [A-Z_]+$~i",$p)?$p:$e);}elseif(ereg('^(addtime|subtime|concat)$',$O)){$e="$O(".idf_escape($f).", $e)";}elseif(ereg('^(md5|sha1|password|encrypt|hex)$',$O)){$e="$O($e)";}if(ereg("binary",$d["type"])){$e="unhex($e)";}return$e;}function dumpOutput($C,$p=""){$e=array('text'=>lang(43),'file'=>lang(44));if(function_exists('gzencode')){$e['gz']='gzip';}if(function_exists('bzcompress')){$e['bz2']='bzip2';}return html_select("output",$e,$p,$C);}function dumpFormat($C,$p=""){return html_select("format",array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;'),$p,$C);}function navigation($cd){global$Vc,$g,$P,$_,$ja;echo'

',$this->name(),' ',$Vc,' ',(version_compare($Vc,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'

';if($cd=="auth"){$gb=true;foreach((array)$_SESSION["pwds"]as$Kb=>$kf){foreach($kf as$D=>$lf){foreach($lf as$Q=>$S){if(isset($S)){if($gb){echo"

\n";$gb=false;}echo"($ja[$Kb]) ".h($Q.($D!=""?"@$D":""))."
\n";}}}}}else{$z=get_databases();echo'

',bold(lang(41),isset($_GET["sql"])),' ';if(support("dump")){echo'',bold(lang(45),isset($_GET["dump"])),' ';}echo'

';hidden_fields_get();echo($z?html_select("db",array(""=>"(".lang(47).")")+$z,DB,"this.form.submit();"):''),' ';if($cd!="db"&&DB!=""&&$g->select_db(DB)){if(support("scheme")){echo"
".html_select("ns",array(""=>"(".lang(48).")")+schemas(),$_GET["ns"],"this.form.submit();");if($_GET["ns"]!=""){set_schema($_GET["ns"]);}}if($_GET["ns"]!==""){$E=tables_list();if(!$E){echo"

".lang(4)."\n";}else{$this->tablesPrint($E);$Ja=array();foreach($E as$h=>$y){$Ja[]=preg_quote($h,'/');}echo"\n";}echo'

'.bold(lang(49),$_GET["create"]==="")."\n";}}echo(isset($_GET["sql"])?'':(isset($_GET["schema"])?'':(isset($_GET["dump"])?'':""))),"

\n";}}function tablesPrint($E){echo"

\n";foreach($E as$h=>$y){echo''.bold(lang(50),$_GET["select"]==$h).' ',''.bold($this->tableName(array("Name"=>$h)),$_GET["table"]==$h)."
\n";}}}$r=(function_exists('adminer_object')?adminer_object():new Adminer);if(!isset($r->operators)){$r->operators=$dc;}function page_header($Je,$n="",$sc=array(),$Ke=""){global$Wa,$ec,$r,$g,$ja;header("Content-Type: text/html; charset=utf-8");$Td=$Je.($Ke!=""?": ".h($Ke):"");$nc=($ec?"https":"http");echo' ',$Td.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$r->name(),' ';if(file_exists("adminer.css")){echo' ';}echo'

';if(isset($sc)){$x=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'

$Td

\n";restart_session();if($_SESSION["messages"]){echo"
".implode("
\n
",$_SESSION["messages"])."
\n";$_SESSION["messages"]=array();}$z=&get_session("dbs");if(DB!=""&&$z&&!in_array(DB,$z,true)){$z=null;}if($n){echo"
$n
\n";}}function page_footer($cd=""){global$r;echo'
';switch_lang();echo' ';}function int32($ba){while($ba>=2147483648){$ba-=4294967296;}while($ba<=-2147483649){$ba+=4294967296;}return(int)$ba;}function long2str($v,$qd){$ha='';foreach($v as$b){$ha.=pack('V',$b);}if($qd){return substr($ha,0,end($v));}return$ha;}function str2long($ha,$qd){$v=array_values(unpack('V*',str_pad($ha,4*ceil(strlen($ha)/4),"\0")));if($qd){$v[]=strlen($ha);}return$v;}function xxtea_mx($za,$Aa,$Ea,$La){return int32((($za>>5&0x7FFFFFF)^$Aa<<2)+(($Aa>>3&0x1FFFFFFF)^$za<<4))^int32(($Ea^$Aa)+($La^$za));}function encrypt_string($jc,$c){if($jc==""){return"";}$c=array_values(unpack("V*",pack("H*",md5($c))));$v=str2long($jc,true);$ba=count($v)-1;$za=$v[$ba];$Aa=$v[0];$ta=floor(6+52/($ba+1));$Ea=0;while($ta-->0){$Ea=int32($Ea+0x9E3779B9);$lc=$Ea>>2&3;for($_a=0;$_a<$ba;$_a++){$Aa=$v[$_a+1];$Eb=xxtea_mx($za,$Aa,$Ea,$c[$_a&3^$lc]);$za=int32($v[$_a]+$Eb);$v[$_a]=$za;}$Aa=$v[0];$Eb=xxtea_mx($za,$Aa,$Ea,$c[$_a&3^$lc]);$za=int32($v[$ba]+$Eb);$v[$ba]=$za;}return long2str($v,false);}function decrypt_string($jc,$c){if($jc==""){return"";}$c=array_values(unpack("V*",pack("H*",md5($c))));$v=str2long($jc,false);$ba=count($v)-1;$za=$v[$ba];$Aa=$v[0];$ta=floor(6+52/($ba+1));$Ea=int32($ta*0x9E3779B9);while($Ea){$lc=$Ea>>2&3;for($_a=$ba;$_a>0;$_a--){$za=$v[$_a-1];$Eb=xxtea_mx($za,$Aa,$Ea,$c[$_a&3^$lc]);$Aa=int32($v[$_a]-$Eb);$v[$_a]=$Aa;}$za=$v[$ba];$Eb=xxtea_mx($za,$Aa,$Ea,$c[$_a&3^$lc]);$Aa=int32($v[0]-$Eb);$v[0]=$Aa;$Ea=int32($Ea-0x9E3779B9);}return long2str($v,true);}$g='';if(!$ja){page_header(lang(51),lang(52,implode(", ",$Ma)),null);page_footer("auth");exit;}$P=$_SESSION["token"];if(!$_SESSION["token"]){$_SESSION["token"]=rand(1,1e6);}$_b=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$b){list($c)=explode(":",$b);$_b[$c]=$b;}}if(isset($_POST["server"])){session_regenerate_id();$_SESSION["pwds"][$_POST["driver"]][$_POST["server"]][$_POST["username"]]=$_POST["password"];if($_POST["permanent"]){$c=base64_encode($_POST["driver"])."-".base64_encode($_POST["server"])."-".base64_encode($_POST["username"]);$_c=$r->permanentLogin();$_b[$c]="$c:".base64_encode($_c?encrypt_string($_POST["password"],$_c):"");cookie("adminer_permanent",implode(" ",$_b));}if(count($_POST)==($_POST["permanent"]?5:4)||DRIVER!=$_POST["driver"]||SERVER!=$_POST["server"]||$_GET["username"]!==$_POST["username"]){redirect(auth_url($_POST["driver"],$_POST["server"],$_POST["username"]));}}elseif($_POST["logout"]){if($P&&$_POST["token"]!=$P){page_header(lang(46),lang(53));page_footer("db");exit;}else{foreach(array("pwds","dbs","queries")as$c){set_session($c,null);}$c=base64_encode(DRIVER)."-".base64_encode(SERVER)."-".base64_encode($_GET["username"]);if($_b[$c]){unset($_b[$c]);cookie("adminer_permanent",implode(" ",$_b));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(54));}}elseif($_b&&!$_SESSION["pwds"]){session_regenerate_id();$_c=$r->permanentLogin();foreach($_b as$c=>$b){list(,$mf)=explode(":",$b);list($Kb,$D,$Q)=array_map('base64_decode',explode("-",$c));$_SESSION["pwds"][$Kb][$D][$Q]=decrypt_string(base64_decode($mf),$_c);}}function auth_error($Fe=null){global$g,$r,$P;$Rc=session_name();$n="";if(!$_COOKIE[$Rc]&&$_GET[$Rc]&&ini_bool("session.use_only_cookies")){$n=lang(55);}elseif(isset($_GET["username"])){if(($_COOKIE[$Rc]||$_GET[$Rc])&&!$P){$n=lang(56);}else{$S=&get_session("pwds");if(isset($S)){$n=h($Fe?$Fe->getMessage():(is_string($g)?$g:lang(57)));$S=null;}}}page_header(lang(20),$n,null);echo"
\n";$r->loginForm();echo"
";hidden_fields($_POST,array("driver","server","username","password","permanent"));echo"
\n","
\n";page_footer("auth");}if(isset($_GET["username"])&&class_exists("Min_DB")){$g=connect();}if(is_string($g)||!$r->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$P=$_SESSION["token"];if(isset($_POST["server"])&&$_POST["token"]){$_POST["token"]=$P;}$n=($_POST?($_POST["token"]==$P?"":lang(53)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(58,'"post_max_size"')));function connect_error(){global$g,$P,$n,$ja;$z=array();if(DB!=""){page_header(lang(59).": ".h(DB),lang(60),true);}else{if($_POST["db"]&&!$n){set_session("dbs",null);queries_redirect(substr(ME,0,-1),lang(61),drop_databases($_POST["db"]));}page_header(lang(62),$n,false);echo"

".lang(63)."\n";foreach(array('privileges'=>lang(64),'processlist'=>lang(65),'variables'=>lang(66),'status'=>lang(67),)as$c=>$b){if(support($c)){echo"$b\n";}}echo"

".lang(68,$ja[DRIVER],"$g->server_info","$g->extension")."\n","

".lang(69,"".h(logged_user())."")."\n";$z=get_databases();if($z){$X=collations();echo"

\n","\n","\n";foreach($z as$t){$Gd=h(ME)."db=".urlencode($t);echo"
 ".lang(59)."".lang(70)."".lang(71)."
".checkbox("db[]",$t,in_array($t,(array)$_POST["db"])),"".h($t)."","".nbsp(db_collation($t,$X))."","?","\n";}echo"
\n","

\n","

\n";}}page_footer("db");echo"\n";}if(isset($_GET["status"])){$_GET["variables"]=$_GET["status"];}if(!(DB!=""?$g->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect")){if(DB!=""){set_session("dbs",null);}connect_error();exit;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""&&(!isset($_GET["ns"])||!set_schema($_GET["ns"]))){redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());}function select($i,$H=null){$Ja=array();$K=array();$A=array();$xe=array();$T=array();odd('');for($l=0;$a=$i->fetch_row();$l++){if(!$l){echo"\n","";for($oa=0;$oafetch_field();$Fa=$d->orgtable;$gc=$d->orgname;if($Fa!=""){if(!isset($K[$Fa])){$K[$Fa]=array();foreach(indexes($Fa,$H)as$w){if($w["type"]=="PRIMARY"){$K[$Fa]=array_flip($w["columns"]);break;}}$A[$Fa]=$K[$Fa];}if(isset($A[$Fa][$gc])){unset($A[$Fa][$gc]);$K[$Fa][$gc]=$oa;$Ja[$oa]=$Fa;}}if($d->charsetnr==63){$xe[$oa]=true;}$T[$oa]=$d->type;echo"name!=$gc?" title='".h(($Fa!=""?"$Fa.":"").$gc)."'":"").">".h($d->name);}echo"\n";}echo"";foreach($a as$c=>$b){if(!isset($b)){$b="NULL";}else{if($xe[$c]&&!is_utf8($b)){$b="".lang(30,strlen($b))."";}elseif(!strlen($b)){$b=" ";}else{$b=h($b);if($T[$c]==254){$b="$b";}}if(isset($Ja[$c])&&!$A[$Ja[$c]]){$x="edit=".urlencode($Ja[$c]);foreach($K[$Ja[$c]]as$Mc=>$oa){$x.="&where".urlencode("[".bracket_escape($Mc)."]")."=".urlencode($a[$oa]);}$b="$b";}}echo"
$b";}}echo($l?"
":"

".lang(74))."\n";}function referencable_primary($pf){$e=array();foreach(table_status()as$Ha=>$h){if($Ha!=$pf&&fk_support($h)){foreach(fields($Ha)as$d){if($d["primary"]){if($e[$Ha]){unset($e[$Ha]);break;}$e[$Ha]=$d;}}}}return$e;}function textarea($f,$p,$F=10,$eb=80){echo"";}function edit_type($c,$d,$X,$ea=array()){global$Qa,$T,$sb,$ib;echo' ',"',($sb?"':''),($ea?" ":" ");}function process_length($ca){global$Ib;return(preg_match("~^\\s*(?:$Ib)(?:\\s*,\\s*(?:$Ib))*\\s*\$~",$ca)&&preg_match_all("~$Ib~",$ca,$la)?implode(",",$la[0]):preg_replace('~[^0-9,+-]~','',$ca));}function process_type($d,$fc="COLLATE"){global$sb;return" $d[type]".($d["length"]!=""?"(".process_length($d["length"]).")":"").(ereg('int|float|double|decimal',$d["type"])&&in_array($d["unsigned"],$sb)?" $d[unsigned]":"").(ereg('char|text|enum|set',$d["type"])&&$d["collation"]?" $fc ".q($d["collation"]):"");}function process_field($d,$Lc){return array(idf_escape($d["field"]),process_type($Lc),($d["null"]?" NULL":" NOT NULL"),(isset($d["default"])?" DEFAULT ".($d["type"]=="timestamp"&&eregi("^CURRENT_TIMESTAMP$",$d["default"])?$d["default"]:q($d["default"])):""),($d["on_update"]?" ON UPDATE $d[on_update]":""),(support("comment")&&$d["comment"]!=""?" COMMENT ".q($d["comment"]):""),($d["auto_increment"]?auto_increment():null),);}function type_class($y){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$c=>$b){if(ereg("$c|$b",$y)){return" class='$c'";}}}function edit_fields($o,$X,$y="TABLE",$_e=0,$ea=array(),$Jb=false){global$hc;foreach($o as$d){if($d["comment"]!=""){$Jb=true;break;}}echo' ';if($y=="PROCEDURE"){echo' ';}echo'',($y=="TABLE"?lang(78):lang(79)),'',lang(80),' ',lang(81),'',lang(82);if($y=="TABLE"){echo'NULL AI ',lang(84),(support("comment")?"

".lang(85).": ".h($xa)."\n";}if($o){echo"\n","\n";foreach($o as$d){echo"
".lang(92)."".lang(80).(support("comment")?"".lang(85):"")."
".h($d["field"]),"".h($d["full_type"]).($d["null"]?" NULL":"").($d["auto_increment"]?" ".lang(83)."":""),(support("comment")?"".nbsp($d["comment"]):""),"\n";}echo"
\n";if(!is_view($I)){echo"

".lang(93)."

\n";$K=indexes($m);if($K){echo"\n";foreach($K as$f=>$w){ksort($w["columns"]);$tc=array();foreach($w["columns"]as$c=>$b){$tc[]="".h($b)."".($w["lengths"][$c]?"(".$w["lengths"][$c].")":"");}echo"
$w[type]".implode(", ",$tc)."\n";}echo"
\n";}echo'

'.lang(94)."\n";if(fk_support($I)){echo"

".lang(75)."

\n";$ea=foreign_keys($m);if($ea){echo"\n","\n";foreach($ea as$f=>$B){$x=($B["db"]!=""?"".h($B["db"]).".":"").h($B["table"]);echo"","
".lang(95)."".lang(96)."".lang(77)."".lang(97).($_!="sqlite"?" ":"")."
".implode(", ",array_map('h',$B["source"]))."","$x","(".implode(", ",array_map('h',$B["target"])).")","$B[on_delete]\n","$B[on_update]\n";if($_!="sqlite"){echo''.lang(98).'';}}echo"
\n";}if($_!="sqlite"){echo'

'.lang(99)."\n";}}if(support("trigger")){echo"

".lang(100)."

\n";$vc=triggers($m);if($vc){echo"\n";foreach($vc as$c=>$b){echo"
$b[0]$b[1]".h($c)."".lang(98)."\n";}echo"
\n";}echo'

'.lang(101)."\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(102),"",array(),DB);$ob=array();$Ve=array();preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$_COOKIE["adminer_schema"],$la,PREG_SET_ORDER);foreach($la as$l=>$k){$ob[$k[1]]=array($k[2],$k[3]);$Ve[]="\n\t'".addcslashes($k[1],"\r\n'\\/")."': [ $k[2], $k[3] ]";}$Pb=0;$Ue=-1;$Na=array();$Se=array();$Oe=array();foreach(table_status()as$a){if(!isset($a["Engine"])){continue;}$rc=0;$Na[$a["Name"]]["fields"]=array();foreach(fields($a["Name"])as$f=>$d){$rc+=1.25;$d["pos"]=$rc;$Na[$a["Name"]]["fields"][$f]=$d;}$Na[$a["Name"]]["pos"]=($ob[$a["Name"]]?$ob[$a["Name"]]:array($Pb,0));if(fk_support($a)){foreach(foreign_keys($a["Name"])as$b){if(!$b["db"]){$ua=$Ue;if($ob[$a["Name"]][1]||$ob[$b["table"]][1]){$ua=min(floatval($ob[$a["Name"]][1]),floatval($ob[$b["table"]][1]))-1;}else{$Ue-=.1;}while($Oe[(string)$ua]){$ua-=.0001;}$Na[$a["Name"]]["references"][$b["table"]][(string)$ua]=array($b["source"],$b["target"]);$Se[$b["table"]][$a["Name"]][(string)$ua]=$b["target"];$Oe[(string)$ua]=true;}}}$Pb=max($Pb,$Na[$a["Name"]]["pos"][0]+2.5+$rc);}echo'

';foreach($Na as$f=>$h){echo"
",''.h($f)."
\n";foreach($h["fields"]as$d){$b=''.h($d["field"]).'';echo($d["primary"]?"$b":$b)."
\n";}foreach((array)$h["references"]as$Vb=>$yc){foreach($yc as$ua=>$Pc){$xc=$ua-$ob[$f][1];$l=0;foreach($Pc[0]as$Da){echo"
\n";}}}foreach((array)$Se[$f]as$Vb=>$yc){foreach($yc as$ua=>$A){$xc=$ua-$ob[$f][1];$l=0;foreach($A as$qa){echo"
\n";}}}echo"
\n";}foreach($Na as$f=>$h){foreach((array)$h["references"]as$Vb=>$yc){foreach($yc as$ua=>$Pc){$Kc=$Pb;$sd=-10;foreach($Pc[0]as$c=>$Da){$ie=$h["pos"][0]+$h["fields"][$Da]["pos"];$Ee=$Na[$Vb]["pos"][0]+$Na[$Vb]["fields"][$Pc[1][$c]]["pos"];$Kc=min($Kc,$ie,$Ee);$sd=max($sd,$ie,$Ee);}echo"
\n";}}}echo'
';}elseif(isset($_GET["dump"])){$m=$_GET["dump"];if($_POST){$Ie="";foreach(array("output","format","db_style","table_style","data_style")as$c){$Ie.="&$c=".urlencode($_POST[$c]);}cookie("adminer_export",substr($Ie,1));$Ab=dump_headers(($m!=""?$m:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));if($_POST["format"]=="sql"){echo"-- Adminer $Vc ".$ja[DRIVER]." dump ".($_!="sql"?"":"SET NAMES utf8; SET foreign_key_checks = 0; SET time_zone = ".q($g->result("SELECT @@time_zone"))."; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; ");}$W=$_POST["db_style"];$z=array(DB);if(DB==""){$z=$_POST["databases"];if(is_string($z)){$z=explode("\n",rtrim(str_replace("\r","",$z),"\n"));}}foreach((array)$z as$t){if($g->select_db($t)){if($_POST["format"]=="sql"&&ereg('CREATE',$W)&&($ga=$g->result("SHOW CREATE DATABASE ".idf_escape($t),1))){if($W=="DROP+CREATE"){echo"DROP DATABASE IF EXISTS ".idf_escape($t).";\n";}echo($W=="CREATE+ALTER"?preg_replace('~^CREATE DATABASE ~','\\0IF NOT EXISTS ',$ga):$ga).";\n";}if($_POST["format"]=="sql"){if($W){echo use_sql($t).";\n\n";}if(in_array("CREATE+ALTER",array($W,$_POST["table_style"]))){echo"SET @adminer_alter = '';\n\n";}$kb="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ra){foreach(get_rows("SHOW $Ra STATUS WHERE Db = ".q($t),null,"-- ")as$a){$kb.=($W!='DROP+CREATE'?"DROP $Ra IF EXISTS ".idf_escape($a["Name"]).";;\n":"").$g->result("SHOW CREATE $Ra ".idf_escape($a["Name"]),2).";;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$a){$kb.=($W!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($a["Name"]).";;\n":"").$g->result("SHOW CREATE EVENT ".idf_escape($a["Name"]),3).";;\n\n";}}if($kb){echo"DELIMITER ;;\n\n$kb"."DELIMITER ;\n\n";}}if($_POST["table_style"]||$_POST["data_style"]){$Z=array();foreach(table_status()as$a){$h=(DB==""||in_array($a["Name"],(array)$_POST["tables"]));$Le=(DB==""||in_array($a["Name"],(array)$_POST["data"]));if($h||$Le){if(!is_view($a)){if($Ab=="tar"){ob_start();}dump_table($a["Name"],($h?$_POST["table_style"]:""));if($Le){dump_data($a["Name"],$_POST["data_style"]);}if($_POST["format"]=="sql"&&$_POST["triggers"]){$vc=trigger_sql($a["Name"],$_POST["table_style"]);if($vc){echo"\nDELIMITER ;;\n$vc\nDELIMITER ;\n";}}if($Ab=="tar"){echo tar_file((DB!=""?"":"$t/")."$a[Name].csv",ob_get_clean());}elseif($_POST["format"]=="sql"){echo"\n";}}elseif($_POST["format"]=="sql"){$Z[]=$a["Name"];}}}foreach($Z as$Jc){dump_table($Jc,$_POST["table_style"],true);}if($Ab=="tar"){echo pack("x512");}}if($W=="CREATE+ALTER"&&$_POST["format"]=="sql"){$j="SELECT TABLE_NAME, ENGINE, TABLE_COLLATION, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE()";echo"DELIMITER ;; CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN DECLARE _table_name, _engine, _table_collation varchar(64); DECLARE _table_comment varchar(64); DECLARE done bool DEFAULT 0; DECLARE tables CURSOR FOR $j; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; OPEN tables; REPEAT FETCH tables INTO _table_name, _engine, _table_collation, _table_comment; IF NOT done THEN CASE _table_name";foreach(get_rows($j)as$a){$xa=q($a["ENGINE"]=="InnoDB"?preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$a["TABLE_COMMENT"]):$a["TABLE_COMMENT"]);echo" WHEN ".q($a["TABLE_NAME"])." THEN ".(isset($a["ENGINE"])?"IF _engine != '$a[ENGINE]' OR _table_collation != '$a[TABLE_COLLATION]' OR _table_comment != $xa THEN ALTER TABLE ".idf_escape($a["TABLE_NAME"])." ENGINE=$a[ENGINE] COLLATE=$a[TABLE_COLLATION] COMMENT=$xa; END IF":"BEGIN END").";";}echo" ELSE SET alter_command = CONCAT(alter_command, 'DROP TABLE `', REPLACE(_table_name, '`', '``'), '`;\\n'); END CASE; END IF; UNTIL done END REPEAT; CLOSE tables; END;; DELIMITER ; CALL adminer_alter(@adminer_alter); DROP PROCEDURE adminer_alter; ";}if(in_array("CREATE+ALTER",array($W,$_POST["table_style"]))&&$_POST["format"]=="sql"){echo"SELECT @adminer_alter;\n";}}}exit;}page_header(lang(103),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
';$pe=array('','USE','DROP+CREATE','CREATE');$Wd=array('','DROP+CREATE','CREATE');$Nd=array('','TRUNCATE+INSERT','INSERT');if($_=="sql"){$pe[]='CREATE+ALTER';$Wd[]='CREATE+ALTER';$Nd[]='INSERT+UPDATE';}parse_str($_COOKIE["adminer_export"],$a);if(!$a){$a=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");}$Ga=($_GET["dump"]=="");echo"
".lang(104)."".$r->dumpOutput(0,$a["output"])."\n","
".lang(105)."".$r->dumpFormat(0,$a["format"])."\n",($_=="sqlite"?"":"
".lang(59)."".html_select('db_style',$pe,$a["db_style"]).(support("routine")?checkbox("routines",1,$Ga,lang(106)):"").(support("event")?checkbox("events",1,$Ga,lang(107)):"")),"
".lang(71)."".html_select('table_style',$Wd,$a["table_style"]).checkbox("auto_increment",1,$a["table_style"],lang(83)).(support("trigger")?checkbox("triggers",1,$a["table_style"],lang(100)):""),"
".lang(108)."".html_select('data_style',$Nd,$a["data_style"]),'

';$rd=array();if(DB!=""){$Ga=($m!=""?"":" checked");echo"","\n";$Z="";foreach(table_status()as$a){$f=$a["Name"];$kc=ereg_replace("_.*","",$f);$Ga=($m==""||$m==(substr($m,-1)=="%"?"$kc%":$f));$tc="\n";$z=get_databases();if($z){foreach($z as$t){if(!information_schema($t)){$kc=ereg_replace("_.*","",$t);echo"
","","
".checkbox("tables[]",$f,$Ga,$f,"formUncheck('check-tables');");if(is_view($a)){$Z.="$tc\n";}else{echo"$tc\n";}$rd[$kc]++;}echo$Z;}else{echo"
".checkbox("databases[]",$t,$m==""||$m=="$kc%",$t,"formUncheck('check-databases');")."\n";$rd[$kc]++;}}}else{echo"
";}}echo'

';$gb=true;foreach($rd as$c=>$b){if($c!=""&&$b>1){echo($gb?"

":" ")."".h($c)."";$gb=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(64));$i=$g->query("SELECT User, Host FROM mysql.user ORDER BY Host, User");if(!$i){echo'

';hidden_fields_get();echo lang(18),': ',lang(17),':

';$i=$g->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");}echo"\n","\n";while($a=$i->fetch_assoc()){echo'
 ".lang(18)."".lang(17)."
'.lang(109).''.h($a["User"])."".h($a["Host"])."\n";}echo"
\n",'

'.lang(110)."";}elseif(isset($_GET["sql"])){restart_session();$zf=&get_session("queries");$fb=&$zf[DB];if(!$n&&$_POST["clear"]){$fb=array();redirect(remove_from_uri("history"));}page_header(lang(41),$n);if(!$n&&$_POST){$Ka=false;$j=$_POST["query"];if($_POST["webfile"]){$Ka=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$j=($Ka?fread($Ka,1e6):false);}elseif($_FILES["sql_file"]["error"]!=4){$j=get_file("sql_file",true);}if(is_string($j)){if(function_exists('memory_get_usage')){@ini_set("memory_limit",2*strlen($j)+memory_get_usage()+8e6);}if($j!=""&&strlen($j)<1e6&&(!$fb||end($fb)!=$j)){$fb[]=$j;}$Ec="(\\s|/\\*.*\\*/|(#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies")){session_write_close();}$od=";";$L=0;$Md=true;$H=connect();if(is_object($H)&&DB!=""){$H->select_db(DB);}$Ub=0;$td="";while($j!=""){if(!$L&&preg_match('~^\\s*DELIMITER\\s+(.+)~i',$j,$k)){$od=$k[1];$j=substr($j,strlen($k[0]));}else{preg_match('('.preg_quote($od).'|[\'`"]|/\\*|-- |#|$)',$j,$k,PREG_OFFSET_CAPTURE,$L);$sa=$k[0][0];$L=$k[0][1]+strlen($sa);if(!$sa&&$Ka&&!feof($Ka)){$j.=fread($Ka,1e5);}else{if(!$sa&&rtrim($j)==""){break;}if(!$sa||$sa==$od){$Md=false;$ta=substr($j,0,$k[0][1]);$Ub++;echo"

".shorten_utf8(trim($ta),1000)."
\n";ob_flush();flush();$vd=explode(" ",microtime());if(!$g->multi_query($ta)){echo"

".lang(111).": ".error()."\n";$td.=" $Ub";if($_POST["error_stops"]){break;}}else{if(is_object($H)&&preg_match("~^$Ec*(USE)\\b~isU",$ta)){$H->query($ta);}do{$i=$g->store_result();$md=explode(" ",microtime());$he=" (".lang(112,max(0,$md[0]-$vd[0]+$md[1]-$vd[1])).")";if(is_object($i)){select($i,$H);echo"

".($i->num_rows?lang(113,$i->num_rows):"").$he;if($H&&preg_match("~^($Ec|\\()*SELECT\\b~isU",$ta)){$U="explain-$Ub";echo", EXPLAIN\n","

\n";}}else{if(preg_match("~^$Ec*(CREATE|DROP|ALTER)$Ec+(DATABASE|SCHEMA)\\b~isU",$ta)){restart_session();set_session("dbs",null);session_write_close();}echo"

".lang(114,$g->affected_rows)."$he\n";}$vd=$md;}while($g->next_result());}$j=substr($j,$L);$L=0;}else{while(preg_match('~'.($sa=='/*'?'\\*/':(ereg('-- |#',$sa)?"\n":"$sa|\\\\.")).'|$~s',$j,$k,PREG_OFFSET_CAPTURE,$L)){$ha=$k[0][0];$L=$k[0][1]+strlen($ha);if(!$ha&&$Ka&&!feof($Ka)){$j.=fread($Ka,1e6);}elseif($ha[0]!="\\"){break;}}}}}}if($td&&$Ub>1){echo"

".lang(111).": $td\n";}if($Md){echo"

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

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

';$ta=$_GET["sql"];if($_POST){$ta=$_POST["query"];}elseif($_GET["history"]!=""){$ta=$fb[$_GET["history"]];}textarea("query",$ta,20);echo($_POST?"":"\n"),"

".(ini_bool("file_uploads")?lang(116).': ':lang(117)),'

',checkbox("error_stops",1,$_POST["error_stops"],lang(119));print_fieldset("webfile",lang(120),$_POST["webfile"]);$fd=array();foreach(array("gz"=>"zlib","bz2"=>"bz2")as$c=>$b){if(extension_loaded($b)){$fd[]=".$c";}}echo lang(121,"adminer.sql".($fd?"[".implode("|",$fd)."]":"").""),' ',"\n";if($fb){print_fieldset("history",lang(123),$_GET["history"]!="");foreach($fb as$c=>$b){echo''.lang(29)." ".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$b)))),80,"")."
\n";}echo"\n","\n";}echo'

';}elseif(isset($_GET["edit"])){$m=$_GET["edit"];$s=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$ma=(isset($_GET["select"])?$_POST["edit"]:$s);$o=fields($m);foreach($o as$f=>$d){if(!isset($d["privileges"][$ma?"update":"insert"])||$r->fieldName($d)==""){unset($o[$f]);}}if($_POST&&!$n&&!isset($_GET["select"])){$ka=$_POST["referer"];if($_POST["insert"]){$ka=($ma?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$ka)){$ka=ME."select=".urlencode($m);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($m)," WHERE $s"),$ka,lang(125));}else{$q=array();foreach($o as$f=>$d){$b=process_input($d);if($b!==false&&$b!==null){$q[idf_escape($f)]=($ma?"\n".idf_escape($f)." = $b":$b);}}if($ma){if(!$q){redirect($ka);}query_redirect("UPDATE".limit1(table($m)." SET".implode(",",$q),"\nWHERE $s"),$ka,lang(126));}else{$i=insert_into($m,$q);$Sd=($i?last_id():0);queries_redirect($ka,lang(127,($Sd?" $Sd":"")),$i);}}}$Ha=$r->tableName(table_status($m));page_header(($ma?lang(29):lang(128)),$n,array("select"=>array($m,$Ha)),$Ha);$a=null;if($_POST["save"]){$a=(array)$_POST["fields"];}elseif($s){$C=array();foreach($o as$f=>$d){if(isset($d["privileges"]["select"])){$C[]=($_POST["clone"]&&$d["auto_increment"]?"'' AS ":(ereg("enum|set",$d["type"])?"1*".idf_escape($f)." AS ":"")).idf_escape($f);}}$a=array();if($C){$F=get_rows("SELECT".limit(implode(", ",$C)." FROM ".table($m)," WHERE $s",(isset($_GET["select"])?2:1)));$a=(isset($_GET["select"])&&count($F)!=1?null:reset($F));}}echo'
';if($o){echo"\n";foreach($o as$f=>$d){echo"
".$r->fieldName($d);$wa=$_GET["set"][bracket_escape($f)];$p=(isset($a)?($a[$f]!=""&&ereg("enum|set",$d["type"])?intval($a[$f]):$a[$f]):(!$ma&&$d["auto_increment"]?"":(isset($_GET["select"])?false:(isset($wa)?$wa:$d["default"]))));if(!$_POST["save"]&&is_string($p)){$p=$r->editVal($p,$d);}$O=($_POST["save"]?(string)$_POST["function"][$f]:($s&&$d["on_update"]=="CURRENT_TIMESTAMP"?"now":($p===false?null:(isset($p)?'':'NULL'))));if($d["type"]=="timestamp"&&$p=="CURRENT_TIMESTAMP"){$p="";$O="now";}input($d,$p,$O);echo"\n";}echo"
\n";}echo'

';if(isset($_GET["select"])){hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));}if($o){echo"\n";if(!isset($_GET["select"])){echo'\n";}}if($ma){echo"\n";}echo'

';}elseif(isset($_GET["create"])){$m=$_GET["create"];$de=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$ee=referencable_primary($m);$ea=array();foreach($ee as$Ha=>$d){$ea[str_replace("`","``",$Ha)."`".str_replace("`","``",$d["field"])]=$Ha;}$Dc=array();$Cc=array();if($m!=""){$Dc=fields($m);$Cc=table_status($m);}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(133));}else{$o=array();$db=array();ksort($_POST["fields"]);$dd=reset($Dc);$Hb="FIRST";foreach($_POST["fields"]as$c=>$d){$B=$ea[$d["type"]];$Lc=(isset($B)?$ee[$B]:$d);if($d["field"]!=""){if(!$d["has_default"]){$d["default"]=null;}$wa=eregi_replace(" *on update CURRENT_TIMESTAMP","",$d["default"]);if($wa!=$d["default"]){$d["on_update"]="CURRENT_TIMESTAMP";$d["default"]=$wa;}if($c==$_POST["auto_increment_col"]){$d["auto_increment"]=true;}$Zd=process_field($d,$Lc);if($Zd!=process_field($dd,$dd)){$o[]=array($d["orig"],$Zd,$Hb);}if(isset($B)){$db[]=($m!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($d["field"]).") REFERENCES ".idf_escape($ea[$d["type"]])." (".idf_escape($Lc["field"]).")".(in_array($d["on_delete"],$ib)?" ON DELETE $d[on_delete]":"");}$Hb="AFTER ".idf_escape($d["field"]);}elseif($d["orig"]!=""){$o[]=array($d["orig"]);}if($d["orig"]!=""){$dd=next($Dc);}}$vb="";if(in_array($_POST["partition_by"],$de)){$hd=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$c=>$b){$p=$_POST["partition_values"][$c];$hd[]="\nPARTITION ".idf_escape($b)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($p!=""?" ($p)":" MAXVALUE");}}$vb.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($hd?" (".implode(",",$hd)."\n)":($_POST["partitions"]?" PARTITIONS ".intval($_POST["partitions"]):""));}elseif($m!=""&&support("partitioning")){$vb.="\nREMOVE PARTITIONING";}$Ba=lang(134);if($m==""){cookie("adminer_engine",$_POST["Engine"]);$Ba=lang(135);}queries_redirect(ME."table=".urlencode($_POST["name"]),$Ba,alter_table($m,$_POST["name"],$o,$db,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$Cc["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$Cc["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?preg_replace('~\\D+~','',$_POST["Auto_increment"]):""),$vb));}}page_header(($m!=""?lang(25):lang(136)),$n,array("table"=>$m),$m);$a=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"")),"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=$Cc;$a["name"]=$m;$a["fields"]=array();if(!$_GET["auto_increment"]){$a["Auto_increment"]="";}foreach($Dc as$d){$d["has_default"]=isset($d["default"]);if($d["on_update"]){$d["default"].=" ON UPDATE $d[on_update]";}$a["fields"][]=$d;}if(support("partitioning")){$Wb="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 $Wb ORDER BY PARTITION_ORDINAL_POSITION 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 $Wb AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$Tc){$a["partition_names"][]=$Tc["PARTITION_NAME"];$a["partition_values"][]=$Tc["PARTITION_DESCRIPTION"];}$a["partition_names"][]="";}}$X=collations();$ld=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($ld&&count($a["fields"])>$ld){echo"

".h(lang(137,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";}$kd=engines();foreach($kd as$yb){if(!strcasecmp($yb,$a["Engine"])){$a["Engine"]=$yb;break;}}echo'

',lang(138),': ',($kd?html_select("Engine",array(""=>"(".lang(139).")")+$kd,$a["Engine"]):""),' ',($X&&!ereg("sqlite|mssql",$_)?html_select("Collation",array(""=>"(".lang(76).")")+$X,$a["Collation"]):""),' ';$Jb=edit_fields($a["fields"],$X,"TABLE",$ld,$ea,$a["Comment"]!="");echo'

',lang(83),': ',(support("comment")?checkbox("","",$Jb,lang(85),"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();").' ':''),'

';if(strlen($_GET["create"])){echo'';}if(support("partitioning")){$Yd=ereg('RANGE|LIST',$a["partition_by"]);print_fieldset("partition",lang(140),$a["partition_by"]);echo'

',html_select("partition_by",array(-1=>"")+$de,$a["partition_by"],"partitionByChange(this);"),'() ',lang(141),': ';foreach($a["partition_names"]as$c=>$b){echo'',' ';}echo'

';}elseif(isset($_GET["indexes"])){$m=$_GET["indexes"];$Fc=array("PRIMARY","UNIQUE","INDEX");$I=table_status($m);if(ereg("MyISAM|Maria",$I["Engine"])){$Fc[]="FULLTEXT";}$K=indexes($m);if($_=="sqlite"){unset($Fc[0]);unset($K[""]);}if($_POST&&!$n&&!$_POST["add"]){$u=array();foreach($_POST["indexes"]as$w){if(in_array($w["type"],$Fc)){$A=array();$Zb=array();$q=array();ksort($w["columns"]);foreach($w["columns"]as$c=>$J){if($J!=""){$ca=$w["lengths"][$c];$q[]=idf_escape($J).($ca?"(".intval($ca).")":"");$A[]=$J;$Zb[]=($ca?$ca:null);}}if($A){foreach($K as$f=>$zb){ksort($zb["columns"]);ksort($zb["lengths"]);if($w["type"]==$zb["type"]&&array_values($zb["columns"])===$A&&(!$zb["lengths"]||array_values($zb["lengths"])===$Zb)){unset($K[$f]);continue 2;}}$u[]=array($w["type"],"(".implode(", ",$q).")");}}}foreach($K as$f=>$zb){$u[]=array($zb["type"],idf_escape($f),"DROP");}if(!$u){redirect(ME."table=".urlencode($m));}queries_redirect(ME."table=".urlencode($m),lang(144),alter_indexes($m,$u));}page_header(lang(93),$n,array("table"=>$m),$m);$o=array_keys(fields($m));$a=array("indexes"=>$K);if($_POST){$a=$_POST;if($_POST["add"]){foreach($a["indexes"]as$c=>$w){if($w["columns"][count($w["columns"])]!=""){$a["indexes"][$c]["columns"][]="";}}$w=end($a["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen')||array_filter($w["lengths"],'strlen')){$a["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($a["indexes"]as$c=>$w){$a["indexes"][$c]["columns"][]="";}$a["indexes"][]=array("columns"=>array(1=>""));}echo'
';$oa=1;foreach($a["indexes"]as$w){echo"
',lang(145),'',lang(146),'
".html_select("indexes[$oa][type]",array(-1=>"")+$Fc,$w["type"],($oa==count($a["indexes"])?"indexesAddRow(this);":1))."";ksort($w["columns"]);$l=1;foreach($w["columns"]as$J){echo"".html_select("indexes[$oa][columns][$l]",array(-1=>"")+$o,$J,($l==count($w["columns"])?"indexesAddColumn(this);":1))," ";$l++;}$oa++;}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(147),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(148),rename_database($_POST["name"],$_POST["collation"]));}else{$z=explode("\n",str_replace("\r","",$_POST["name"]));$be=true;$qb="";foreach($z as$t){if(count($z)==1||$t!=""){if(!create_database($t,$_POST["collation"])){$be=false;}$qb=$t;}}queries_redirect(ME."db=".urlencode($qb),lang(149),$be);}}else{if(!$_POST["collation"]){redirect(substr(ME,0,-1));}query_redirect("ALTER DATABASE ".idf_escape($_POST["name"])." COLLATE ".q($_POST["collation"]),substr(ME,0,-1),lang(150));}}page_header(DB!=""?lang(151):lang(152),$n,array(),DB);$X=collations();$f=DB;$fc=null;if($_POST){$f=$_POST["name"];$fc=$_POST["collation"];}elseif(DB!=""){$fc=db_collation(DB,$X);}elseif($_=="sql"){foreach(get_vals("SHOW GRANTS")as$fa){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$fa,$k)&&$k[1]){$f=stripcslashes(idf_unescape("`$k[2]`"));break;}}}echo'

',($_POST["add_x"]||strpos($f,"\n")?'
':'')."\n".($X?html_select("collation",array(""=>"(".lang(76).")")+$X,$fc):""),' ';if(DB!=""){echo"\n";}elseif(!$_POST["add_x"]&&$_GET["db"]==""){echo"\n";}echo'

';}elseif(isset($_GET["scheme"])){if($_POST&&!$n){$x=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"]){query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$x,lang(153));}else{$x.=urlencode($_POST["name"]);if($_GET["ns"]==""){query_redirect("CREATE SCHEMA ".idf_escape($_POST["name"]),$x,lang(154));}elseif($_GET["ns"]!=$_POST["name"]){query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_POST["name"]),$x,lang(155));}else{redirect($x);}}}page_header($_GET["ns"]!=""?lang(156):lang(157),$n);$a=array("name"=>$_GET["ns"]);if($_POST){$a=$_POST;}echo'

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

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

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

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

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

';if($Mb){echo"\n";foreach($Mb as$c){$d=$Ra["fields"][$c];$f=$d["field"];echo"
".$r->fieldName($d);$p=$_POST["fields"][$f];if($p!=""&&ereg("enum|set",$d["type"])){$p=intval($p);}input($d,$p,(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 ".($_=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]),ME."table=".urlencode($m),lang(160));}else{$Da=array_filter($_POST["source"],'strlen');ksort($Da);$qa=array();foreach($Da as$c=>$b){$qa[$c]=$_POST["target"][$c];}query_redirect("ALTER TABLE ".table($m).($_GET["name"]!=""?"\nDROP FOREIGN KEY ".idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$Da)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$qa)).")".(in_array($_POST["on_delete"],$ib)?" ON DELETE $_POST[on_delete]":"").(in_array($_POST["on_update"],$ib)?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($m),($_GET["name"]!=""?lang(161):lang(162)));$n=lang(163)."
$n";}}page_header(lang(164),$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"]!=""){$ea=foreign_keys($m);$a=$ea[$_GET["name"]];$a["source"][]="";}$Da=array_keys(fields($m));$qa=($m===$a["table"]?$Da:array_keys(fields($a["table"])));$Ud=array();foreach(table_status()as$f=>$I){if(fk_support($I)){$Ud[]=$f;}}echo'

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

';$oa=0;foreach($a["source"]as$c=>$b){echo"","
',lang(95),'',lang(96),'
".html_select("source[".intval($c)."]",array(-1=>"")+$Da,$b,($oa==count($a["source"])-1?"foreignAddRow(this);":1)),"".html_select("target[".intval($c)."]",$qa,$a["target"][$c]);$oa++;}echo'

',lang(77),': ',html_select("on_delete",array(-1=>"")+$ib,$a["on_delete"]),' ',lang(97),': ',html_select("on_update",array(-1=>"")+$ib,$a["on_update"]),'

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

';}elseif(isset($_GET["view"])){$m=$_GET["view"];$Xa=false;if($_POST&&!$n){$Xa=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(168),lang(169),lang(170),$m);}page_header(($m!=""?lang(24):lang(171)),$n,array("table"=>$m),$m);$a=array();if($_POST){$a=$_POST;}elseif($m!=""){$a=view($m);$a["name"]=$m;}echo'

',lang(172),':

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

';if($Xa){echo'';}echo'

';}elseif(isset($_GET["event"])){$jb=$_GET["event"];$ce=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$zd=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");if($_POST&&!$n){if($_POST["drop"]){query_redirect("DROP EVENT ".idf_escape($jb),substr(ME,0,-1),lang(173));}elseif(in_array($_POST["INTERVAL_FIELD"],$ce)&&isset($zd[$_POST["STATUS"]])){$Kd="\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";query_redirect(($jb!=""?"ALTER EVENT ".idf_escape($jb).$Kd.($jb!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$Kd)."\n".$zd[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"])." DO\n$_POST[EVENT_DEFINITION]",substr(ME,0,-1),($jb!=""?lang(174):lang(175)));}}page_header(($jb!=""?lang(176).": ".h($jb):lang(177)),$n);$a=array();if($_POST){$a=$_POST;}elseif($jb!=""){$F=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($jb));$a=reset($F);}echo'
',lang(172),'
',lang(178),'
',lang(179),'
',lang(180),' ',html_select("INTERVAL_FIELD",$ce,$a["INTERVAL_FIELD"]),'
',lang(67),'',html_select("STATUS",$zd,$a["STATUS"]),'
',lang(85),'
 ',checkbox("ON_COMPLETION","PRESERVE",$a["ON_COMPLETION"]=="PRESERVE",lang(181)),'

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

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

';}elseif(isset($_GET["procedure"])){$Ta=$_GET["procedure"];$Ra=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$Xa=false;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$q=array();$o=(array)$_POST["fields"];ksort($o);foreach($o as$d){if($d["field"]!=""){$q[]=(in_array($d["inout"],$hc)?"$d[inout] ":"").idf_escape($d["field"]).process_type($d,"CHARACTER SET");}}$Xa=drop_create("DROP $Ra ".idf_escape($Ta),"CREATE $Ra ".idf_escape($_POST["name"])." (".implode(", ",$q).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"")."\n$_POST[definition]",substr(ME,0,-1),lang(182),lang(183),lang(184),$Ta);}page_header(($Ta!=""?(isset($_GET["function"])?lang(185):lang(186)).": ".h($Ta):(isset($_GET["function"])?lang(187):lang(188))),$n);$X=get_vals("SHOW CHARACTER SET");sort($X);$a=array("fields"=>array());if($_POST){$a=$_POST;$a["fields"]=(array)$a["fields"];process_fields($a["fields"]);}elseif($Ta!=""){$a=routine($Ta,$Ra);$a["name"]=$Ta;}echo'

',lang(172),': ';edit_fields($a["fields"],$X,$Ra);if(isset($_GET["function"])){echo"
".lang(189);edit_type("returns",$a["returns"],$X);}echo'

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

';if($Xa){echo'';}echo' ';if($Ta!=""){echo'';}echo'

';}elseif(isset($_GET["sequence"])){$Cb=$_GET["sequence"];if($_POST&&!$n){$x=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP SEQUENCE ".idf_escape($Cb),$x,lang(190));}elseif($Cb==""){query_redirect("CREATE SEQUENCE ".idf_escape($_POST["name"]),$x,lang(191));}elseif($Cb!=$_POST["name"]){query_redirect("ALTER SEQUENCE ".idf_escape($Cb)." RENAME TO ".idf_escape($_POST["name"]),$x,lang(192));}else{redirect($x);}}page_header($Cb!=""?lang(193).": ".h($Cb):lang(194),$n);$a=array("name"=>$Cb);if($_POST){$a=$_POST;}echo'

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

';}elseif(isset($_GET["type"])){$Gc=$_GET["type"];if($_POST&&!$n){$x=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP TYPE ".idf_escape($Gc),$x,lang(195));}else{query_redirect("CREATE TYPE ".idf_escape($_POST["name"])." $_POST[as]",$x,lang(196));}}page_header($Gc!=""?lang(197).": ".h($Gc):lang(198),$n);$a["as"]="AS ";if($_POST){$a=$_POST;}echo'

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

\n";}echo'

';}elseif(isset($_GET["trigger"])){$m=$_GET["trigger"];$Ic=trigger_options();$Rd=array("INSERT","UPDATE","DELETE");$Xa=false;if($_POST&&!$n&&in_array($_POST["Timing"],$Ic["Timing"])&&in_array($_POST["Event"],$Rd)&&in_array($_POST["Type"],$Ic["Type"])){$Qd=" $_POST[Timing] $_POST[Event]";$Bb=" ON ".table($m);$Xa=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($_=="pgsql"?$Bb:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($_=="mssql"?$Bb.$Qd:$Qd.$Bb)." $_POST[Type]\n$_POST[Statement]",ME."table=".urlencode($m),lang(199),lang(200),lang(201),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(202).": ".h($_GET["name"]):lang(203)),$n,array("table"=>$m));$a=array("Trigger"=>$m."_bi");if($_POST){$a=$_POST;}elseif($_GET["name"]!=""){$a=trigger($_GET["name"]);}echo'
',lang(204),'',html_select("Timing",$Ic["Timing"],$a["Timing"],"if (/^".h(preg_quote($m,"/"))."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".h(addcslashes($m,"\r\n'\\"))."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'
',lang(205),'',html_select("Event",$Rd,$a["Event"],"this.form['Timing'].onchange();"),'
',lang(80),'',html_select("Type",$Ic["Type"],$a["Type"]),'

',lang(172),':

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

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

';}elseif(isset($_GET["user"])){$_d=$_GET["user"];$na=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$a){foreach(explode(",",($a["Privilege"]=="Grant option"?"":$a["Context"]))as$Hc){$na[$Hc][$a["Privilege"]]=$a["Comment"];}}$na["Server Admin"]+=$na["File access on server"];$na["Databases"]["Create routine"]=$na["Procedures"]["Create routine"];unset($na["Procedures"]["Create routine"]);$na["Columns"]=array();foreach(array("Select","Insert","Update","References")as$b){$na["Columns"][$b]=$na["Tables"][$b];}unset($na["Server Admin"]["Usage"]);foreach($na["Tables"]as$c=>$b){unset($na["Databases"][$c]);}$wc=array();if($_POST){foreach($_POST["objects"]as$c=>$b){$wc[$b]=(array)$wc[$b]+(array)$_POST["grants"][$c];}}$mb=array();$Oc="";if(isset($_GET["host"])&&($i=$g->query("SHOW GRANTS FOR ".q($_d)."@".q($_GET["host"])))){while($a=$i->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$a[0],$k)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$k[1],$la,PREG_SET_ORDER)){foreach($la as$b){if($b[1]!="USAGE"){$mb["$k[2]$b[2]"][$b[1]]=true;}if(ereg(' WITH GRANT OPTION',$a[0])){$mb["$k[2]$b[2]"]["GRANT OPTION"]=true;}}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$a[0],$k)){$Oc=$k[1];}}}if($_POST&&!$n){$ac=(isset($_GET["host"])?q($_d)."@".q($_GET["host"]):"''");$lb=q($_POST["user"])."@".q($_POST["host"]);$Id=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $ac",ME."privileges=",lang(206));}else{if($ac!=$lb){$n=!queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $lb IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $Id");}elseif($_POST["pass"]!=$Oc||!$_POST["hashed"]){queries("SET PASSWORD FOR $lb = ".($_POST["hashed"]?$Id:"PASSWORD($Id)"));}if(!$n){$pc=array();foreach($wc as$Za=>$fa){if(isset($_GET["grant"])){$fa=array_filter($fa);}$fa=array_keys($fa);if(isset($_GET["grant"])){$pc=array_diff(array_keys(array_filter($wc[$Za],'strlen')),$fa);}elseif($ac==$lb){$Pd=array_keys((array)$mb[$Za]);$pc=array_diff($Pd,$fa);$fa=array_diff($fa,$Pd);unset($mb[$Za]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Za,$k)&&(!grant("REVOKE",$pc,$k[2]," ON $k[1] FROM $lb")||!grant("GRANT",$fa,$k[2]," ON $k[1] TO $lb"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($ac!=$lb){queries("DROP USER $ac");}elseif(!isset($_GET["grant"])){foreach($mb as$Za=>$pc){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Za,$k)){grant("REVOKE",array_keys($pc),$k[2]," ON $k[1] FROM $lb");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(207):lang(208)),!$n);if($ac!=$lb){$g->query("DROP USER $lb");}}}page_header((isset($_GET["host"])?lang(18).": ".h("$_d@$_GET[host]"):lang(110)),$n,array("privileges"=>array('',lang(64))));if($_POST){$a=$_POST;$mb=$wc;}else{$a=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$a["pass"]=$Oc;if($Oc!=""){$a["hashed"]=true;}$mb[""]=true;}echo'
',lang(18),'
',lang(17),'
',lang(19),' ';if(!$a["hashed"]){echo'';}echo checkbox("hashed",1,$a["hashed"],lang(209),"typePassword(this.form['pass'], this.checked);"),'
';echo"\n","\n";foreach(array(""=>"","Server Admin"=>lang(17),"Databases"=>lang(59),"Tables"=>lang(91),"Columns"=>lang(92),"Procedures"=>lang(210),)as$Hc=>$qc){foreach((array)$na[$Hc]as$zc=>$xa){echo"$qc'.h($zc);$l=0;foreach($mb as$Za=>$fa){$f="'grants[$l][".h(strtoupper($zc))."]'";$p=$fa[strtoupper($zc)];if($Hc=="Server Admin"&&$Za!=(isset($mb["*.*"])?"*.*":"")){echo"
".lang(64)."";$l=0;foreach($mb as$Za=>$fa){echo''.($Za!="*.*"?"":"*.*");$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){$pd=0;foreach((array)$_POST["kill"]as$b){if(queries("KILL ".ereg_replace("[^0-9]+","",$b))){$pd++;}}queries_redirect(ME."processlist=",lang(213,$pd),$pd||!$_POST["kill"]);}page_header(lang(65),$n);echo'
';foreach(get_rows("SHOW FULL PROCESSLIST")as$l=>$a){if(!$l){echo"\n";}echo"
 ".implode("",array_keys($a))."
".checkbox("kill[]",$a["Id"],0)."".implode("",array_map('nbsp',$a))."\n";}echo'

';}elseif(isset($_GET["select"])){$m=$_GET["select"];$I=table_status($m);$K=indexes($m);$o=fields($m,1);$ea=column_foreign_keys($m);$Ge=array();$A=array();$Db=null;foreach($o as$c=>$d){$f=$r->fieldName($d);if(isset($d["privileges"]["select"])&&$f!=""){$A[$c]=html_entity_decode(strip_tags($f));if(ereg('text|lob',$d["type"])){$Db=$r->selectLengthProcess();}}$Ge+=$d["privileges"];}list($C,$va)=$r->selectColumnsProcess($A,$K);$s=$r->selectSearchProcess($o,$K);$ub=$r->selectOrderProcess($o,$K);$N=$r->selectLimitProcess();$Wb=($C?implode(", ",$C):"*")."\nFROM ".table($m);$wd=($va&&count($va)$b){$b=$_GET["columns"][$c];if(!$b["fun"]){unset($Qc[$b["col"]]);}}if($_POST["export"]){dump_headers($m);dump_table($m,"");if($_POST["format"]!="sql"){$a=array_keys($o);if($C){$a=array();foreach($C as$b){$a[]=(ereg('^`.*`$',$b)?idf_unescape($b):$b);}}dump_csv($a);}if(!is_array($_POST["check"])||$Qc===array()){$ed=$s;if(is_array($_POST["check"])){$ed[]="($He)";}dump_data($m,"INSERT","SELECT $Wb".($ed?"\nWHERE ".implode(" AND ",$ed):"").$wd);}else{$We=array();foreach($_POST["check"]as$b){$We[]="(SELECT".limit($Wb,"\nWHERE ".($s?implode(" AND ",$s)." AND ":"").where_check($b).$wd,1).")";}dump_data($m,"INSERT",implode(" UNION ALL ",$We));}exit;}if(!$r->selectEmailProcess($s,$ea)){if($_POST["save"]||$_POST["delete"]){$i=true;$xb=0;$j=table($m);$q=array();if(!$_POST["delete"]){foreach($A as$f=>$b){$b=process_input($o[$f]);if($b!==null){if($_POST["clone"]){$q[idf_escape($f)]=($b!==false?$b:idf_escape($f));}elseif($b!==false){$q[]=idf_escape($f)." = $b";}}}$j.=($_POST["clone"]?" (".implode(", ",array_keys($q)).")\nSELECT ".implode(", ",$q)."\nFROM ".table($m):" SET\n".implode(",\n",$q));}if($_POST["delete"]||$q){$Bc="UPDATE";if($_POST["delete"]){$Bc="DELETE";$j="FROM $j";}if($_POST["clone"]){$Bc="INSERT";$j="INTO $j";}if($_POST["all"]||($Qc===array()&&$_POST["check"])||count($va)affected_rows;}else{foreach((array)$_POST["check"]as$b){$i=queries($Bc.limit1($j,"\nWHERE ".where_check($b)));if(!$i){break;}$xb+=$g->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(215,$xb),$i);}elseif(!$_POST["import"]){if(!$_POST["val"]){$n=lang(216);}else{$i=true;$xb=0;foreach($_POST["val"]as$pb=>$a){$q=array();foreach($a as$c=>$b){$c=bracket_escape($c,1);$q[]=idf_escape($c)." = ".$r->processInput($o[$c],$b);}$i=queries("UPDATE".limit1(table($m)." SET ".implode(", ",$q)," WHERE ".where_check($pb).($s?" AND ".implode(" AND ",$s):"")));if(!$i){break;}$xb+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(215,$xb),$i);}}elseif(is_string($pa=get_file("csv_file",true))){$pa=preg_replace("~^\xEF\xBB\xBF~",'',$pa);$i=true;$eb=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$pa,$la);$xb=count($la[0]);begin();$Oa=($_POST["separator"]=="csv"?",":";");foreach($la[0]as$c=>$b){preg_match_all("~((\"[^\"]*\")+|[^$Oa]*)$Oa~",$b.$Oa,$yd);if(!$c&&!array_diff($yd[1],$eb)){$eb=$yd[1];$xb--;}else{$q=array();foreach($yd[1]as$l=>$Mc){$q[idf_escape($eb[$l])]=($Mc==""&&$o[$eb[$l]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Mc))));}$i=insert_update($m,$q,$Ia);if(!$i){break;}}}if($i){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(217,$xb),$i);queries("ROLLBACK");}else{$n=upload_error($pa);}}}$Ha=$r->tableName($I);page_header(lang(31).": $Ha",$n);session_write_close();$q=null;if(isset($Ge["insert"])){$q="";foreach((array)$_GET["where"]as$b){if(count($ea[$b["col"]])==1&&($b["op"]=="="||(!$b["op"]&&!ereg('[_%]',$b["val"])))){$q.="&set".urlencode("[".bracket_escape($b["col"])."]")."=".urlencode($b["val"]);}}}$r->selectLinks($I,$q);if(!$A){echo"

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

\n","
";hidden_fields_get();echo(DB!=""?''.(isset($_GET["ns"])?'':""):"");echo'',"
\n";$r->selectColumnsPrint($C,$A);$r->selectSearchPrint($s,$A,$K);$r->selectOrderPrint($ub,$A,$K);$r->selectLimitPrint($N);$r->selectLengthPrint($Db);$r->selectActionPrint($Db);echo"
\n";$Y=$_GET["page"];if($Y=="last"){$Ua=$g->result("SELECT COUNT(*) FROM ".table($m).($s?" WHERE ".implode(" AND ",$s):""));$Y=floor(($Ua-1)/$N);}$j="SELECT".limit((intval($N)&&$va&&count($va)selectQuery($j);$i=$g->query($j);if(!$i){echo"

".error()."\n";}else{if($_=="mssql"){$i->seek($N*$Y);}$Ac=array();echo"

\n";$F=array();while($a=$i->fetch_assoc()){$F[]=$a;}if($_GET["page"]!="last"){$Ua=(intval($N)&&$va&&count($va)result(" SELECT FOUND_ROWS()"):$g->result("SELECT COUNT(*) FROM ($j) x")):count($F));}if(!$F){echo"

".lang(74)."\n";}else{$je=$r->backwardKeys($m,$Ha);echo"\n","".(!$va&&$C?"":"\n";foreach($r->rowDescriptions($F,$ea)as$ba=>$a){$Hd=unique_array($F[$ba],$K);$pb="";foreach($Hd as$c=>$b){$pb.="&".(isset($b)?urlencode("where[".bracket_escape($c)."]")."=".urlencode($b):"null%5B%5D=".urlencode($c));}echo"".(!$va&&$C?"":"\n";}echo"
".lang(109)."");$Fd=array();$V=array();reset($C);$ub=1;foreach($F[0]as$c=>$b){$b=$_GET["columns"][key($C)];$d=$o[$C?$b["col"]:$c];$f=($d?$r->fieldName($d,$ub):"*");if($f!=""){$ub++;$Fd[$c]=$f;echo''.apply_sql_function($b["fun"],$f)."";}$V[$c]=$b["fun"];next($C);}$Zb=array();if($_GET["modify"]){foreach($F as$a){foreach($a as$c=>$b){$Zb[$c]=max($Zb[$c],min(40,strlen(utf8_decode($b))));}}}echo($je?"".lang(219):"")."
".checkbox("check[]",substr($pb,1),in_array(substr($pb,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($va)".lang(109).""));foreach($a as$c=>$b){if(isset($Fd[$c])){$d=$o[$c];if($b!=""&&(!isset($Ac[$c])||$Ac[$c]!="")){$Ac[$c]=(is_ad_email($b)?$Fd[$c]:"");}$x="";$b=$r->editVal($b,$d);if(!isset($b)){$b="NULL";}else{if(ereg('blob|bytea|raw|file',$d["type"])&&$b!=""){$x=h(ME.'download='.urlencode($m).'&field='.urlencode($c).$pb);}if($b==""){$b=" ";}elseif($Db!=""&&ereg('text|blob',$d["type"])&&is_utf8($b)){$b=shorten_utf8($b,max(0,intval($Db)));}else{$b=h($b);}if(!$x){foreach((array)$ea[$c]as$B){if(count($ea[$c])==1||count($B["source"])==1){foreach($B["source"]as$l=>$Da){$x.=where_link($l,$B["target"][$l],$F[$ba][$Da]);}$x=h(($B["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($B["db"]),ME):ME).'select='.urlencode($B["table"]).$x);break;}}}if($c=="COUNT(*)"){$x=h(ME."select=".urlencode($m));$l=0;foreach((array)$_GET["where"]as$v){if(!array_key_exists($v["col"],$Hd)){$x.=h(where_link($l++,$v["col"],$v["val"],$v["op"]));}}foreach($Hd as$La=>$v){$x.=h(where_link($l++,$La,$v,(isset($v)?"=":"IS NULL")));}}}if(!$x){if(is_ad_email($b)){$x="mailto:$b";}if($nc=is_url($a[$c])){$x=($nc=="http"&&$ec?$a[$c]:"$nc://www.adminer.org/redirect/?url=".urlencode($a[$c]));}}$U=h("val[$pb][".bracket_escape($c)."]");$p=$_POST["val"][$pb][bracket_escape($c)];$le=h(isset($p)?$p:$a[$c]);$te=strpos($b,"...");$ze=is_utf8($b)&&!$te&&$F[$ba][$c]==$a[$c]&&!$V[$c];$ve=ereg('text|lob',$d["type"]);echo(($_GET["modify"]&&$ze)||isset($p)?"".($ve?"":""):"".$r->selectVal($b,$x,$d));}}$r->backwardKeysPrint($je,$F[$ba]);echo"
\n";}parse_str($_COOKIE["adminer_export"],$Bd);if($F||$Y){$xd=true;if($_GET["page"]!="last"&&intval($N)&&count($va)>=count($C)&&($Ua>=$N||$Y)){$Ua=$I["Rows"];if(!isset($Ua)||$s||2*$Y*$N>$Ua||($I["Engine"]=="InnoDB"&&$Ua<1e4)){ob_flush();flush();$Ua=$g->result("SELECT COUNT(*) FROM ".table($m).($s?" WHERE ".implode(" AND ",$s):""));}else{$xd=false;}}echo"

";if(intval($N)&&$Ua>$N){$ud=floor(($Ua-1)/$N);echo'".lang(27).":".pagination(0,$Y).($Y>5?" ...":"");for($l=max(1,$Y-4);$l'.lang(28)."");}echo" (".($xd?"":"~ ").lang(113,$Ua).") ".checkbox("all",1,0,lang(222))."\n";if(!information_schema(DB)){echo'

',lang(29),'
';}print_fieldset("export",lang(103));echo$r->dumpOutput(1,$Bd["output"])." ".$r->dumpFormat(1,$Bd["format"]);echo" \n","\n";}print_fieldset("import",lang(224),!$F);echo" ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;"),$Bd["format"],1);echo" \n","\n";$r->selectEmailPrint(array_filter($Ac,'strlen'),$A);echo"\n";}}}elseif(isset($_GET["variables"])){$Qb=isset($_GET["status"]);page_header($Qb?lang(67):lang(66));$Be=($Qb?show_status():show_variables());if(!$Be){echo"

".lang(74)."\n";}else{echo"\n";foreach($Be as$c=>$b){echo"","
".h($c)."","".nbsp($b);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$ad=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$a){$U=addcslashes($a["Name"],"\\'/");echo"setHtml('Comment-$U', '".nbsp($a["Comment"])."');\n";if(!is_view($a)){foreach(array("Engine","Collation")as$c){echo"setHtml('$c-$U', '".nbsp($a[$c])."');\n";}foreach($ad+array("Auto_increment"=>0,"Rows"=>0)as$c=>$b){if($a[$c]!=""){$b=number_format($a[$c],0,'.',lang(226));echo"setHtml('$c-$U', '".($c=="Rows"&&$a["Engine"]=="InnoDB"&&$b?"~ $b":$b)."');\n";if(isset($ad[$c])){$ad[$c]+=($a["Engine"]!="InnoDB"||$c!="Data_free"?$a[$c]:0);}}elseif(array_key_exists($c,$a)){echo"setHtml('$c-$U');\n";}}}}foreach($ad as$c=>$b){echo"setHtml('sum-$c', '".number_format($b,0,'.',lang(226))."');\n";}}else{foreach(count_tables(get_databases())as$t=>$b){echo"setHtml('tables-".addcslashes($t,"\\'/")."', '$b');\n";}}exit;}else{$ue=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($ue&&!$n&&!$_POST["search"]){$i=true;$Ba="";if($_=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"])){queries("SET foreign_key_checks = 0");}if($_POST["truncate"]){if($_POST["tables"]){$i=truncate_tables($_POST["tables"]);}$Ba=lang(227);}elseif($_POST["move"]){$i=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Ba=lang(228);}elseif($_POST["drop"]){if($_POST["views"]){$i=drop_views($_POST["views"]);}if($i&&$_POST["tables"]){$i=drop_tables($_POST["tables"]);}$Ba=lang(229);}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()){$Ba.="".h($a["Table"]).": ".h($a["Msg_text"])."
";}}queries_redirect(substr(ME,0,-1),$Ba,$i);}page_header(($_GET["ns"]==""?lang(59).": ".h(DB):lang(230).": ".h($_GET["ns"])),$n,true);echo'

'.($_GET["ns"]==""?''.lang(151)."\n":"");if(support("scheme")){echo"".($_GET["ns"]!=""?lang(156):lang(157))."\n";}if($_GET["ns"]!==""){echo''.lang(102)."\n","

".lang(231)."

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

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

\n","

".lang(232).": \n";if($_POST["search"]&&$_POST["query"]!=""){search_tables();}echo"\n",'\n";foreach($Cd as$f=>$y){$Jc=(isset($y)&&!eregi("table",$y));echo'
'.lang(91).''.lang(233).''.lang(70).''.lang(234).''.lang(235).''.lang(236).''.lang(83).''.lang(237).(support("comment")?''.lang(85):'')."
'.checkbox(($Jc?"views[]":"tables[]"),$f,in_array($f,$ue,true),"","formUncheck('check-all');"),''.h($f).'';if($Jc){echo''.lang(90).'','?';}else{echo"  ";foreach(array("Data_length"=>"create","Index_length"=>"indexes","Data_free"=>"edit","Auto_increment"=>"auto_increment=1&create","Rows"=>"select")as$c=>$x){echo"?";}}echo(support("comment")?" ":"");}echo"
 ".lang(238,count($Cd)),"".nbsp($g->result("SELECT @@storage_engine")),"".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$c){echo" ";}echo"
\n";if(!information_schema(DB)){echo"

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

".lang(244).($z?": ".html_select("target",$z,$t):': ')." \n";}}echo"

\n";}echo'

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

".lang(106)."

\n";$Pe=routines();if($Pe){echo"\n",'\n";odd('');foreach($Pe as$a){echo'','
'.lang(172).''.lang(80).''.lang(189)." 
'.h($a["ROUTINE_NAME"]).'',''.h($a["ROUTINE_TYPE"]),''.h($a["DTD_IDENTIFIER"]),''.lang(98)."";}echo"
\n";}echo'

'.lang(188).' '.lang(187)."\n";}if(support("sequence")){echo"

".lang(246)."

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

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

".lang(8)."

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

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

".lang(107)."

\n";$F=get_rows("SHOW EVENTS");if($F){echo"\n","\n";foreach($F as$a){echo"",'
".lang(172)."".lang(247)."".lang(178)."".lang(179)."
'.h($a["Name"])."","".($a["Execute at"]?lang(248)."".$a["Execute at"]:lang(180)." ".$a["Interval value"]." ".$a["Interval field"]."$a[Starts]"),"$a[Ends]";}echo"
\n";}echo'

'.lang(177)."\n";}page_footer();echo"\n";exit;}}page_footer();