is_ad_email() * line 983: no javascript; only onload="bodyLoad();" * line 39: no sourceforge-url, change: in var jushRoot='' * line 897: 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);$ie=(!ereg('^(unsafe_raw)?$',ini_get("filter.default"))||ini_get("filter.default_flags"));if($ie){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$b){$Ke=filter_input_array(constant("INPUT$b"),FILTER_UNSAFE_RAW);if($Ke){$$b=$Ke;}}}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+'"');}}$w){unset($xb[$c][$Na]);if(is_array($w)){$xb[$c][stripslashes($Na)]=$w;$xb[]=&$xb[$c][stripslashes($Na)];}else{$xb[$c][stripslashes($Na)]=($ie?$w:stripslashes($w));}}}}}function bracket_escape($N,$Ze=false){static$Te=array(':'=>':1',']'=>':2','['=>':3');return strtr($N,($Ze?array_flip($Te):$Te));}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,$Ea,$Oe="",$Pe=""){static$U=0;$U++;$e="";return($Oe!=""?"":$e);}function optionlist($Fc,$vf=null,$Be=false){$e="";foreach($Fc as$Na=>$w){if(is_array($w)){$e.='';}foreach((is_array($w)?$w:array($Na=>$w))as$c=>$b){$e.=''.h($b);}if(is_array($w)){$e.='';}}return$e;}function html_select($f,$Fc,$p="",$Lb=true){if($Lb){return"";}$e="";foreach($Fc as$c=>$b){$e.="";}return$e;}function ini_bool($wf){$b=ini_get($wf);return(eregi('^(on|true|yes)$',$b)||(int)$b);}function q($G){global$g;return$g->quote($G);}function get_vals($j,$H=0){global$g;$e=array();$i=$g->query($j);if(is_object($i)){while($a=$i->fetch_row()){$e[]=$a[$H];}}return$e;}function get_key_vals($j,$I=null){global$g;if(!is_object($I)){$I=$g;}$e=array();$i=$I->query($j);while($a=$i->fetch_row()){$e[$a[0]]=$a[1];}return$e;}function get_rows($j,$I=null,$n="

"){global$g;if(!is_object($I)){$I=$g;}$e=array();$i=$I->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$v){if(ereg("PRIMARY|UNIQUE",$v["type"])){$e=array();foreach($v["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($t){global$_;$e=array();foreach((array)$t["where"]as$c=>$b){$e[]=idf_escape(bracket_escape($c,1)).(ereg('\\.',$b)||$_=="mssql"?" LIKE ".exact_value(addcslashes($b,"%_")):" = ".exact_value($b));}foreach((array)$t["null"]as$c){$e[]=idf_escape($c)." IS NULL";}return implode(" AND ",$e);}function where_check($b){parse_str($b,$Ae);remove_slashes(array(&$Ae));return where($Ae);}function where_link($l,$H,$p,$Df="="){return"&where%5B$l%5D%5Bcol%5D=".urlencode($H)."&where%5B$l%5D%5Bop%5D=".urlencode($Df)."&where%5B$l%5D%5Bval%5D=".urlencode($p);}function cookie($f,$p){global$Vb;$zc=array($f,(ereg("\n",$p)?"":$p),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$Vb);if(version_compare(PHP_VERSION,'5.2.0')>=0){$zc[]=true;}return call_user_func_array('setcookie',$zc);}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($Ib,$F,$Q){global$ja;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($ja))."|username|".session_name()),$k);return"$k[1]?".(SID&&!$_COOKIE?SID."&":"").($Ib!="server"||$F!=""?urlencode($Ib)."=".urlencode($F)."&":"")."username=".urlencode($Q).($k[2]?"&$k[2]":"");}function redirect($la,$za=null){if(isset($za)){restart_session();$_SESSION["messages"][]=$za;}if(isset($la)){header("Location: ".($la!=""?$la:"."));exit;}}function query_redirect($j,$la,$za,$Nc=true,$hf=true,$se=false){global$g,$n,$r;if($hf){$se=!$g->query($j);}$Id="";if($j){$Id=$r->messageQuery($j);}if($se){$n=error().$Id;return false;}if($Nc){redirect($la,$za.$Id);}return true;}function queries($j=null){global$g;static$eb=array();if(!isset($j)){return implode(";\n",$eb);}$eb[]=$j;return$g->query($j);}function apply_queries($j,$D,$df='table'){foreach($D as$h){if(!queries("$j ".$df($h))){return false;}}return true;}function queries_redirect($la,$za,$Nc){return query_redirect(queries(),$la,$za,$Nc,false,!$Nc);}function remove_from_uri($ab=""){return substr(preg_replace("~(?<=[?&])($ab".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function pagination($aa,$cf){return" ".($aa==$cf?$aa+1:''.($aa+1)."");}function get_file($c,$_e=false){$sa=$_FILES[$c];if(!$sa||$sa["error"]){return$sa["error"];}return file_get_contents($_e&&ereg('\\.gz$',$sa["name"])?"compress.zlib://$sa[tmp_name]":($_e&&ereg('\\.bz2$',$sa["name"])?"compress.bzip2://$sa[tmp_name]":$sa["tmp_name"]));}function upload_error($n){$ye=($n==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($n?lang(0).($ye?" ".lang(1,$ye):""):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,$da=80,$if=""){if(!preg_match("(^([\t\r\n -\x{FFFF}]{0,$da})($)?)u",$G,$k)){preg_match("(^([\t\r\n -~]{0,$da})($)?)",$G,$k);}return h($k[1]).$if.(isset($k[2])?"":"...");}function friendly_url($b){return preg_replace('~[^a-z0-9_]~i','-',$b);}function hidden_fields($xb,$jf=array()){while(list($c,$b)=each($xb)){if(is_array($b)){foreach($b as$Na=>$w){$xb[$c."[$Na]"]=$w;}}elseif(!in_array($c,$jf)){echo'';}}}function hidden_fields_get(){echo(SID&&!$_COOKIE?'':''),(SERVER!==null?'':""),'';}function column_foreign_keys($h){$e=array();foreach(foreign_keys($h)as$A){foreach($A["source"]as$b){$e[$b][]=$A;}}return$e;}function enum_input($y,$Oa,$d,$p){preg_match_all("~'((?:[^']|'')*)'~",$d["length"],$ka);foreach($ka[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$Ea=(is_int($p)?$p==$l+1:(is_array($p)?in_array($l+1,$p):$p===$b));echo" ';}}function input($d,$p,$P){global$T,$r,$_;$f=h(bracket_escape($d["field"]));echo"";$W=(isset($_GET["select"])?array("orig"=>lang(3)):array())+$r->editFunctions($d);$Oa=" name='fields[$f]'";if($d["type"]=="enum"){echo nbsp($W[""])."".($W["orig"]?" ":""),$r->editInput($_GET["edit"],$d,$Oa,$p);enum_input("radio",$Oa,$d,$p);}else{$fb=0;foreach($W as$c=>$b){if($c===""||!$b){break;}$fb++;}$Lb=($fb?" onchange=\"var f = this.form['function[".addcslashes($f,"\r\n'\\")."]']; if ($fb > f.selectedIndex) f.selectedIndex = $fb;\"":"");$Oa.=$Lb;echo(count($W)>1?html_select("function[$f]",$W,!isset($P)||in_array($P,$W)||isset($W[$P])?$P:""):nbsp(reset($W))).'';$fe=$r->editInput($_GET["edit"],$d,$Oa,$p);if($fe!=""){echo$fe;}elseif($d["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$d["length"],$ka);foreach($ka[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$Ea=(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{$od=(!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'":"")."$Oa>";}}}function process_input($d){global$r;$N=bracket_escape($d["field"]);$P=$_POST["function"][$N];$p=$_POST["fields"][$N];if($d["type"]=="enum"){if($p==-1){return false;}if($p==""){return"NULL";}return intval($p);}if($d["auto_increment"]&&$p==""){return null;}if($P=="orig"){return false;}if($P=="NULL"){return"NULL";}if($d["type"]=="set"){return array_sum((array)$p);}if(ereg('blob|bytea|raw|file',$d["type"])&&ini_bool("file_uploads")){$sa=get_file("fields-$N");if(!is_string($sa)){return false;}return q($sa);}return$r->processInput($d,$p,$P);}function search_tables(){global$r,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$qa=false;foreach(table_status()as$h=>$J){$f=$r->tableName($J);if(isset($J["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(!$qa){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($P,$H){return($P?($P=="unixepoch"?"DATETIME($H, '$P')":($P=="count distinct"?"COUNT(DISTINCT ":strtoupper("$P("))."$H)"):$H);}function password_file(){$Xc=ini_get("upload_tmp_dir");if(!$Xc){if(function_exists('sys_get_temp_dir')){$Xc=sys_get_temp_dir();}else{$Z=@tempnam("","");if(!$Z){return false;}$Xc=dirname($Z);unlink($Z);}}$Z="$Xc/adminer.key";$e=@file_get_contents($Z);if($e){return$e;}$Ma=@fopen($Z,"w");if($Ma){$e=md5(uniqid(mt_rand(),true));fwrite($Ma,$e);fclose($Ma);}return$e;}function is_ad_mail($pf){$Se='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$oc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ha="$Se+(\\.$Se+)*@($oc?\\.)+$oc";return preg_match("(^$ha(,\\s*$ha)*\$)i",$pf);}function is_url($G){$oc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($oc?\\.)+$oc(:[0-9]+)?(/.*)?(\\?.*)?(#.*)?\$~i",$G,$k)?strtolower($k[1]):"");}function print_fieldset($U,$qf,$rf=false){echo"

$qf
\n";}function selectSearchPrint($t,$B,$K){print_fieldset("search",lang(35),$t);foreach($K as$l=>$v){if($v["type"]=="FULLTEXT"){echo"(".implode(", ",array_map('h',$v["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($pb,$B,$K){print_fieldset("sort",lang(37),$pb);$l=0;foreach((array)$_GET["order"]as$c=>$b){if(isset($B[$b])){echo"
",checkbox("desc[$l]",1,isset($_GET["desc"][$c]),lang(38))."
\n";$l++;}}echo"
",checkbox("desc[$l]",1,0,lang(38))."
\n","\n";}function selectLimitPrint($M){echo"
".lang(39)."
";echo"","
\n";}function selectLengthPrint($zb){if(isset($zb)){echo"
".lang(40)."
",'',"
\n";}}function selectActionPrint(){echo"
".lang(41)."
","","
\n";}function selectEmailPrint($If,$B){}function selectColumnsProcess($B,$K){global$W,$ob;$C=array();$_a=array();foreach((array)$_GET["columns"]as$c=>$b){if($b["fun"]=="count"||(isset($B[$b["col"]])&&(!$b["fun"]||in_array($b["fun"],$W)||in_array($b["fun"],$ob)))){$C[$c]=apply_sql_function($b["fun"],(isset($B[$b["col"]])?idf_escape($b["col"]):"*"));if(!in_array($b["fun"],$ob)){$_a[]=$C[$c];}}}return array($C,$_a);}function selectSearchProcess($o,$K){global$_;$e=array();foreach($K as$l=>$v){if($v["type"]=="FULLTEXT"&&$_GET["fulltext"][$l]!=""){$e[]="MATCH (".implode(", ",array_map('idf_escape',$v["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)){$Wb=" $b[op]";if(ereg('IN$',$b["op"])){$Fb=process_length($b["val"]);$Wb.=" (".($Fb!=""?$Fb:"NULL").")";}elseif($b["op"]=="LIKE %%"){$Wb=" LIKE ".$this->processInput($o[$b["col"]],"%$b[val]%");}elseif(!ereg('NULL$',$b["op"])){$Wb.=" ".$this->processInput($o[$b["col"]],$b["val"]);}if($b["col"]!=""){$e[]=idf_escape($b["col"]).$Wb;}else{$ib=array();foreach($o as$f=>$d){if(is_numeric($b["val"])||!ereg('int|float|double|decimal',$d["type"])){$f=idf_escape($f);$ib[]=($_=="sql"&&ereg('char|text|enum|set',$d["type"])&&!ereg('^utf8',$d["collation"])?"CONVERT($f USING utf8)":$f);}}$e[]=($ib?"(".implode("$Wb OR ",$ib)."$Wb)":"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($t,$Gf){return false;}function messageQuery($j){global$_;restart_session();$U="sql-".count($_SESSION["messages"]);$gb=&get_session("queries");$gb[$_GET["db"]][]=(strlen($j)>1e6?ereg_replace('[\x80-\xFF]+$','',substr($j,0,1e6))."\n...":$j);return" ".lang(42)."';}function editFunctions($d){global$dc;$e=($d["null"]?"NULL/":"");foreach($dc as$c=>$W){if(!$c||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($W as$ha=>$b){if(!$ha||ereg($ha,$d["type"])){$e.="/$b";}}}}return explode("/",$e);}function editInput($h,$d,$Oa,$p){if($d["type"]=="enum"){return($d["null"]?" ":"")."";}return"";}function processInput($d,$p,$P=""){$f=$d["field"];$e=q($p);if(ereg('^(now|getdate|uuid)$',$P)){$e="$P()";}elseif(ereg('^current_(date|timestamp)$',$P)){$e=$P;}elseif(ereg('^([+-]|\\|\\|)$',$P)){$e=idf_escape($f)." $P $e";}elseif(ereg('^[+-] interval$',$P)){$e=idf_escape($f)." $P ".(preg_match("~^([0-9]+|'[0-9.: -]') [A-Z_]+$~i",$p)?$p:$e);}elseif(ereg('^(addtime|subtime|concat)$',$P)){$e="$P(".idf_escape($f).", $e)";}elseif(ereg('^(md5|sha1|password|encrypt|hex)$',$P)){$e="$P($e)";}if(ereg("binary",$d["type"])){$e="unhex($e)";}return$e;}function dumpOutput($C,$p=""){$e=array('text'=>lang(44),'file'=>lang(45));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($Xb){global$Yc,$g,$L,$_,$ja;echo'

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

';if($Xb=="auth"){$fb=true;foreach((array)$_SESSION["pwds"]as$Ib=>$Cf){foreach($Cf as$F=>$xf){foreach($xf as$Q=>$S){if(isset($S)){if($fb){echo"

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

';if(DB==""||!$Xb){echo"".bold(lang(42),isset($_GET["sql"]))."\n";if(support("dump")){echo"".bold(lang(46),isset($_GET["dump"]))."\n";}}echo'

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

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

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

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

\n";foreach($D as$h=>$y){echo''.bold(lang(51),$_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=$bc;}function page_header($ne,$n="",$ic=array(),$me=""){global$Wa,$Vb,$r,$g,$ja;header("Content-Type: text/html; charset=utf-8");$r->headers();$le=$ne.($me!=""?": ".h($me):"");$gc=($Vb?"https":"http");echo' ',$le.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$r->name(),' ';if(file_exists("adminer.css")){echo' ';}echo'

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

$le

\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($Xb=""){global$r;echo'
';switch_lang();echo' ';}function int32($ca){while($ca>=2147483648){$ca-=4294967296;}while($ca<=-2147483649){$ca+=4294967296;}return(int)$ca;}function long2str($w,$_d){$ia='';foreach($w as$b){$ia.=pack('V',$b);}if($_d){return substr($ia,0,end($w));}return$ia;}function str2long($ia,$_d){$w=array_values(unpack('V*',str_pad($ia,4*ceil(strlen($ia)/4),"\0")));if($_d){$w[]=strlen($ia);}return$w;}function xxtea_mx($ya,$ua,$Ha,$Na){return int32((($ya>>5&0x7FFFFFF)^$ua<<2)+(($ua>>3&0x1FFFFFFF)^$ya<<4))^int32(($Ha^$ua)+($Na^$ya));}function encrypt_string($mc,$c){if($mc==""){return"";}$c=array_values(unpack("V*",pack("H*",md5($c))));$w=str2long($mc,true);$ca=count($w)-1;$ya=$w[$ca];$ua=$w[0];$ra=floor(6+52/($ca+1));$Ha=0;while($ra-->0){$Ha=int32($Ha+0x9E3779B9);$wc=$Ha>>2&3;for($wa=0;$wa<$ca;$wa++){$ua=$w[$wa+1];$Eb=xxtea_mx($ya,$ua,$Ha,$c[$wa&3^$wc]);$ya=int32($w[$wa]+$Eb);$w[$wa]=$ya;}$ua=$w[0];$Eb=xxtea_mx($ya,$ua,$Ha,$c[$wa&3^$wc]);$ya=int32($w[$ca]+$Eb);$w[$ca]=$ya;}return long2str($w,false);}function decrypt_string($mc,$c){if($mc==""){return"";}$c=array_values(unpack("V*",pack("H*",md5($c))));$w=str2long($mc,false);$ca=count($w)-1;$ya=$w[$ca];$ua=$w[0];$ra=floor(6+52/($ca+1));$Ha=int32($ra*0x9E3779B9);while($Ha){$wc=$Ha>>2&3;for($wa=$ca;$wa>0;$wa--){$ya=$w[$wa-1];$Eb=xxtea_mx($ya,$ua,$Ha,$c[$wa&3^$wc]);$ua=int32($w[$wa]-$Eb);$w[$wa]=$ua;}$ya=$w[$ca];$Eb=xxtea_mx($ya,$ua,$Ha,$c[$wa&3^$wc]);$ua=int32($w[0]-$Eb);$w[0]=$ua;$Ha=int32($Ha-0x9E3779B9);}return long2str($w,true);}$g='';if(!$ja){page_header(lang(52),lang(53,implode(", ",$Ja)),null);page_footer("auth");exit;}$L=$_SESSION["token"];if(!$_SESSION["token"]){$_SESSION["token"]=rand(1,1e6);}$Ab=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$b){list($c)=explode(":",$b);$Ab[$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"]);$Ec=$r->permanentLogin();$Ab[$c]="$c:".base64_encode($Ec?encrypt_string($_POST["password"],$Ec):"");cookie("adminer_permanent",implode(" ",$Ab));}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($L&&$_POST["token"]!=$L){page_header(lang(47),lang(54));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($Ab[$c]){unset($Ab[$c]);cookie("adminer_permanent",implode(" ",$Ab));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(55));}}elseif($Ab&&!$_SESSION["pwds"]){session_regenerate_id();$Ec=$r->permanentLogin();foreach($Ab as$c=>$b){list(,$uf)=explode(":",$b);list($Ib,$F,$Q)=array_map('base64_decode',explode("-",$c));$_SESSION["pwds"][$Ib][$F][$Q]=decrypt_string(base64_decode($uf),$Ec);}}function auth_error($Re=null){global$g,$r,$L;$Uc=session_name();$n="";if(!$_COOKIE[$Uc]&&$_GET[$Uc]&&ini_bool("session.use_only_cookies")){$n=lang(56);}elseif(isset($_GET["username"])){if(($_COOKIE[$Uc]||$_GET[$Uc])&&!$L){$n=lang(57);}else{$S=&get_session("pwds");if(isset($S)){$n=h($Re?$Re->getMessage():(is_string($g)?$g:lang(58)));$S=null;}}}page_header(lang(21),$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;}$L=$_SESSION["token"];if(isset($_POST["server"])&&$_POST["token"]){$_POST["token"]=$L;}$n=($_POST?($_POST["token"]==$L?"":lang(54)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(59,'"post_max_size"')));function connect_error(){global$g,$L,$n,$ja;$z=array();if(DB!=""){page_header(lang(60).": ".h(DB),lang(61),true);}else{if($_POST["db"]&&!$n){queries_redirect(substr(ME,0,-1),lang(62),drop_databases($_POST["db"]));}page_header(lang(63),$n,false);echo"

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

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

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

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

\n","

\n";}}page_footer("db");if($z){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"]!==""){if(!isset($_GET["ns"])){redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());}if(!set_schema($_GET["ns"])){page_header(lang(75).": ".h($_GET["ns"]),lang(76),true);page_footer("ns");exit;}}function select($i,$I=null){$La=array();$K=array();$B=array();$Qe=array();$T=array();odd('');for($l=0;$a=$i->fetch_row();$l++){if(!$l){echo"\n","";for($ma=0;$mafetch_field();$Fa=$d->orgtable;$vc=$d->orgname;if($Fa!=""){if(!isset($K[$Fa])){$K[$Fa]=array();foreach(indexes($Fa,$I)as$v){if($v["type"]=="PRIMARY"){$K[$Fa]=array_flip($v["columns"]);break;}}$B[$Fa]=$K[$Fa];}if(isset($B[$Fa][$vc])){unset($B[$Fa][$vc]);$K[$Fa][$vc]=$ma;$La[$ma]=$Fa;}}if($d->charsetnr==63){$Qe[$ma]=true;}$T[$ma]=$d->type;echo"name!=$vc?" title='".h(($Fa!=""?"$Fa.":"").$vc)."'":"").">".h($d->name);}echo"\n";}echo"";foreach($a as$c=>$b){if(!isset($b)){$b="NULL";}else{if($Qe[$c]&&!is_utf8($b)){$b="".lang(31,strlen($b))."";}elseif(!strlen($b)){$b=" ";}else{$b=h($b);if($T[$c]==254){$b="$b";}}if(isset($La[$c])&&!$B[$La[$c]]){$x="edit=".urlencode($La[$c]);foreach($K[$La[$c]]as$Bc=>$ma){$x.="&where".urlencode("[".bracket_escape($Bc)."]")."=".urlencode($a[$ma]);}$b="$b";}}echo"
$b";}}echo($l?"
":"

".lang(77))."\n";}function referencable_primary($yf){$e=array();foreach(table_status()as$Ca=>$h){if($Ca!=$yf&&fk_support($h)){foreach(fields($Ca)as$d){if($d["primary"]){if($e[$Ca]){unset($e[$Ca]);break;}$e[$Ca]=$d;}}}}return$e;}function textarea($f,$p,$E=10,$ib=80){echo"";}function edit_type($c,$d,$X,$ea=array()){global$Sa,$T,$sb,$db;echo' ',"',($sb?"':''),($ea?" ":" ");}function process_length($da){global$Hb;return(preg_match("~^\\s*(?:$Hb)(?:\\s*,\\s*(?:$Hb))*\\s*\$~",$da)&&preg_match_all("~$Hb~",$da,$ka)?implode(",",$ka[0]):preg_replace('~[^0-9,+-]~','',$da));}function process_type($d,$rc="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"]?" $rc ".q($d["collation"]):"");}function process_field($d,$Hc){return array(idf_escape($d["field"]),process_type($Hc),($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",$Xe=0,$ea=array(),$Jb=false){global$_c;foreach($o as$d){if($d["comment"]!=""){$Jb=true;break;}}echo' ';if($y=="PROCEDURE"){echo' ';}echo'',($y=="TABLE"?lang(81):lang(82)),'',lang(83),' ',lang(84),'',lang(85);if($y=="TABLE"){echo'NULL AI ',lang(87),(support("comment")?"

".lang(88).": ".h($Ba)."\n";}if($o){echo"\n","\n";foreach($o as$d){echo"
".lang(95)."".lang(83).(support("comment")?"".lang(88):"")."
".h($d["field"]),"".h($d["full_type"]).($d["null"]?" NULL":"").($d["auto_increment"]?" ".lang(86)."":""),(support("comment")?"".nbsp($d["comment"]):""),"\n";}echo"
\n";if(!is_view($J)){echo"

".lang(96)."

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

'.lang(97)."\n";if(fk_support($J)){echo"

".lang(78)."

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

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

".lang(103)."

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

'.lang(104)."\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(105),"",array(),DB);$qb=array();$Ce=array();preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$_COOKIE["adminer_schema"],$ka,PREG_SET_ORDER);foreach($ka as$l=>$k){$qb[$k[1]]=array($k[2],$k[3]);$Ce[]="\n\t'".addcslashes($k[1],"\r\n'\\/")."': [ $k[2], $k[3] ]";}$cc=0;$Ge=-1;$Ka=array();$He=array();$Le=array();foreach(table_status()as$a){if(!isset($a["Engine"])){continue;}$yc=0;$Ka[$a["Name"]]["fields"]=array();foreach(fields($a["Name"])as$f=>$d){$yc+=1.25;$d["pos"]=$yc;$Ka[$a["Name"]]["fields"][$f]=$d;}$Ka[$a["Name"]]["pos"]=($qb[$a["Name"]]?$qb[$a["Name"]]:array($cc,0));if(fk_support($a)){foreach(foreign_keys($a["Name"])as$b){if(!$b["db"]){$xa=$Ge;if($qb[$a["Name"]][1]||$qb[$b["table"]][1]){$xa=min(floatval($qb[$a["Name"]][1]),floatval($qb[$b["table"]][1]))-1;}else{$Ge-=.1;}while($Le[(string)$xa]){$xa-=.0001;}$Ka[$a["Name"]]["references"][$b["table"]][(string)$xa]=array($b["source"],$b["target"]);$He[$b["table"]][$a["Name"]][(string)$xa]=$b["target"];$Le[(string)$xa]=true;}}}$cc=max($cc,$Ka[$a["Name"]]["pos"][0]+2.5+$yc);}echo'

';foreach($Ka 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$ec=>$lc){foreach($lc as$xa=>$Gc){$jc=$xa-$qb[$f][1];$l=0;foreach($Gc[0]as$Ga){echo"
\n";}}}foreach((array)$He[$f]as$ec=>$lc){foreach($lc as$xa=>$B){$jc=$xa-$qb[$f][1];$l=0;foreach($B as$ta){echo"
\n";}}}echo"
\n";}foreach($Ka as$f=>$h){foreach((array)$h["references"]as$ec=>$lc){foreach($lc as$xa=>$Gc){$Tc=$cc;$Bd=-10;foreach($Gc[0]as$c=>$Ga){$Je=$h["pos"][0]+$h["fields"][$Ga]["pos"];$Ie=$Ka[$ec]["pos"][0]+$Ka[$ec]["fields"][$Gc[1][$c]]["pos"];$Tc=min($Tc,$Je,$Ie);$Bd=max($Bd,$Je,$Ie);}echo"
\n";}}}echo'
';}elseif(isset($_GET["dump"])){$m=$_GET["dump"];if($_POST){$Ye="";foreach(array("output","format","db_style","table_style","data_style")as$c){$Ye.="&$c=".urlencode($_POST[$c]);}cookie("adminer_export",substr($Ye,1));$Db=dump_headers(($m!=""?$m:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));if($_POST["format"]=="sql"){echo"-- Adminer $Yc ".$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'; ");}$V=$_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$s){if($g->select_db($s)){if($_POST["format"]=="sql"&&ereg('CREATE',$V)&&($ga=$g->result("SHOW CREATE DATABASE ".idf_escape($s),1))){if($V=="DROP+CREATE"){echo"DROP DATABASE IF EXISTS ".idf_escape($s).";\n";}echo($V=="CREATE+ALTER"?preg_replace('~^CREATE DATABASE ~','\\0IF NOT EXISTS ',$ga):$ga).";\n";}if($_POST["format"]=="sql"){if($V){echo use_sql($s).";\n\n";}if(in_array("CREATE+ALTER",array($V,$_POST["table_style"]))){echo"SET @adminer_alter = '';\n\n";}$lb="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ra){foreach(get_rows("SHOW $Ra STATUS WHERE Db = ".q($s),null,"-- ")as$a){$lb.=($V!='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){$lb.=($V!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($a["Name"]).";;\n":"").$g->result("SHOW CREATE EVENT ".idf_escape($a["Name"]),3).";;\n\n";}}if($lb){echo"DELIMITER ;;\n\n$lb"."DELIMITER ;\n\n";}}if($_POST["table_style"]||$_POST["data_style"]){$Y=array();foreach(table_status()as$a){$h=(DB==""||in_array($a["Name"],(array)$_POST["tables"]));$Ld=(DB==""||in_array($a["Name"],(array)$_POST["data"]));if($h||$Ld){if(!is_view($a)){if($Db=="tar"){ob_start();}dump_table($a["Name"],($h?$_POST["table_style"]:""));if($Ld){dump_data($a["Name"],$_POST["data_style"]);}if($_POST["format"]=="sql"&&$_POST["triggers"]){$uc=trigger_sql($a["Name"],$_POST["table_style"]);if($uc){echo"\nDELIMITER ;;\n$uc\nDELIMITER ;\n";}}if($Db=="tar"){echo tar_file((DB!=""?"":"$s/")."$a[Name].csv",ob_get_clean());}elseif($_POST["format"]=="sql"){echo"\n";}}elseif($_POST["format"]=="sql"){$Y[]=$a["Name"];}}}foreach($Y as$Ac){dump_table($Ac,$_POST["table_style"],true);}if($Db=="tar"){echo pack("x512");}}if($V=="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){$Ba=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 != $Ba THEN ALTER TABLE ".idf_escape($a["TABLE_NAME"])." ENGINE=$a[ENGINE] COLLATE=$a[TABLE_COLLATION] COMMENT=$Ba; 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($V,$_POST["table_style"]))&&$_POST["format"]=="sql"){echo"SELECT @adminer_alter;\n";}}}exit;}page_header(lang(106),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
';$Nd=array('','USE','DROP+CREATE','CREATE');$Od=array('','DROP+CREATE','CREATE');$Pd=array('','TRUNCATE+INSERT','INSERT');if($_=="sql"){$Nd[]='CREATE+ALTER';$Od[]='CREATE+ALTER';$Pd[]='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");}$Ea=($_GET["dump"]=="");echo"
".lang(107)."".$r->dumpOutput(0,$a["output"])."\n","
".lang(108)."".$r->dumpFormat(0,$a["format"])."\n",($_=="sqlite"?"":"
".lang(60)."".html_select('db_style',$Nd,$a["db_style"]).(support("routine")?checkbox("routines",1,$Ea,lang(109)):"").(support("event")?checkbox("events",1,$Ea,lang(110)):"")),"
".lang(72)."".html_select('table_style',$Od,$a["table_style"]).checkbox("auto_increment",1,$a["table_style"],lang(86)).(support("trigger")?checkbox("triggers",1,$a["table_style"],lang(103)):""),"
".lang(111)."".html_select('data_style',$Pd,$a["data_style"]),'

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

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

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

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

';$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(19)."".lang(18)."
'.lang(112).''.h($a["User"])."".h($a["Host"])."\n";}echo"
\n",'

'.lang(113)."";}elseif(isset($_GET["sql"])){restart_session();$sf=&get_session("queries");$gb=&$sf[DB];if(!$n&&$_POST["clear"]){$gb=array();redirect(remove_from_uri("history"));}page_header(lang(42),$n);if(!$n&&$_POST){$Ma=false;$j=$_POST["query"];if($_POST["webfile"]){$Ma=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$j=($Ma?fread($Ma,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&&(!$gb||end($gb)!=$j)){$gb[]=$j;}$Kc="(\\s|/\\*.*\\*/|(#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies")){session_write_close();}$pd=";";$O=0;$Zd=true;$I=connect();if(is_object($I)&&DB!=""){$I->select_db(DB);}$ac=0;$jd="";while($j!=""){if(!$O&&preg_match('~^\\s*DELIMITER\\s+(.+)~i',$j,$k)){$pd=$k[1];$j=substr($j,strlen($k[0]));}else{preg_match('('.preg_quote($pd).'|[\'`"]|/\\*|-- |#|$)',$j,$k,PREG_OFFSET_CAPTURE,$O);$qa=$k[0][0];$O=$k[0][1]+strlen($qa);if(!$qa&&$Ma&&!feof($Ma)){$j.=fread($Ma,1e5);}else{if(!$qa&&rtrim($j)==""){break;}if(!$qa||$qa==$pd){$Zd=false;$ra=substr($j,0,$k[0][1]);$ac++;echo"

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

".lang(114).": ".error()."\n";$jd.=" $ac";if($_POST["error_stops"]){break;}}else{if(is_object($I)&&preg_match("~^$Kc*(USE)\\b~isU",$ra)){$I->query($ra);}do{$i=$g->store_result();$sd=explode(" ",microtime());$ae=" (".lang(115,max(0,$sd[0]-$Jd[0]+$sd[1]-$Jd[1])).")";if(is_object($i)){select($i,$I);echo"

".($i->num_rows?lang(116,$i->num_rows):"").$ae;if($I&&preg_match("~^($Kc|\\()*SELECT\\b~isU",$ra)){$U="explain-$ac";echo", EXPLAIN\n","

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

".lang(117,$g->affected_rows)."$ae\n";}$Jd=$sd;}while($g->next_result());}$j=substr($j,$O);$O=0;}else{while(preg_match('~'.($qa=='/*'?'\\*/':(ereg('-- |#',$qa)?"\n":"$qa|\\\\.")).'|$~s',$j,$k,PREG_OFFSET_CAPTURE,$O)){$ia=$k[0][0];$O=$k[0][1]+strlen($ia);if(!$ia&&$Ma&&!feof($Ma)){$j.=fread($Ma,1e6);}elseif($ia[0]!="\\"){break;}}}}}}if($jd&&$ac>1){echo"

".lang(114).": $jd\n";}if($Zd){echo"

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

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

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

".(ini_bool("file_uploads")?lang(119).': ':lang(120)),'

',checkbox("error_stops",1,$_POST["error_stops"],lang(122));print_fieldset("webfile",lang(123),$_POST["webfile"]);$Hd=array();foreach(array("gz"=>"zlib","bz2"=>"bz2")as$c=>$b){if(extension_loaded($b)){$Hd[]=".$c";}}echo lang(124,"adminer.sql".($Hd?"[".implode("|",$Hd)."]":"").""),' ',"\n";if($gb){print_fieldset("history",lang(126),$_GET["history"]!="");foreach($gb as$c=>$b){echo''.lang(30)." ".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"];$t=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$oa=(isset($_GET["select"])?$_POST["edit"]:$t);$o=fields($m);foreach($o as$f=>$d){if(!isset($d["privileges"][$oa?"update":"insert"])||$r->fieldName($d)==""){unset($o[$f]);}}if($_POST&&!$n&&!isset($_GET["select"])){$la=$_POST["referer"];if($_POST["insert"]){$la=($oa?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$la)){$la=ME."select=".urlencode($m);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($m)," WHERE $t"),$la,lang(128));}else{$q=array();foreach($o as$f=>$d){$b=process_input($d);if($b!==false&&$b!==null){$q[idf_escape($f)]=($oa?"\n".idf_escape($f)." = $b":$b);}}if($oa){if(!$q){redirect($la);}query_redirect("UPDATE".limit1(table($m)." SET".implode(",",$q),"\nWHERE $t"),$la,lang(129));}else{$i=insert_into($m,$q);$be=($i?last_id():0);queries_redirect($la,lang(130,($be?" $be":"")),$i);}}}$Ca=$r->tableName(table_status($m));page_header(($oa?lang(30):lang(131)),$n,array("select"=>array($m,$Ca)),$Ca);$a=null;if($_POST["save"]){$a=(array)$_POST["fields"];}elseif($t){$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){$E=get_rows("SELECT".limit(implode(", ",$C)." FROM ".table($m)," WHERE $t",(isset($_GET["select"])?2:1)));$a=(isset($_GET["select"])&&count($E)!=1?null:reset($E));}}echo'
';if($o){echo"\n";foreach($o as$f=>$d){echo"
".$r->fieldName($d);$va=$_GET["set"][bracket_escape($f)];$p=(isset($a)?($a[$f]!=""&&ereg("enum|set",$d["type"])?intval($a[$f]):$a[$f]):(!$oa&&$d["auto_increment"]?"":(isset($_GET["select"])?false:(isset($va)?$va:$d["default"]))));if(!$_POST["save"]&&is_string($p)){$p=$r->editVal($p,$d);}$P=($_POST["save"]?(string)$_POST["function"][$f]:($t&&$d["on_update"]=="CURRENT_TIMESTAMP"?"now":($p===false?null:(isset($p)?'':'NULL'))));if($d["type"]=="timestamp"&&$p=="CURRENT_TIMESTAMP"){$p="";$P="now";}input($d,$p,$P);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($oa){echo"\n";}echo'

';}elseif(isset($_GET["create"])){$m=$_GET["create"];$ce=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$Xd=referencable_primary($m);$ea=array();foreach($Xd as$Ca=>$d){$ea[str_replace("`","``",$Ca)."`".str_replace("`","``",$d["field"])]=$Ca;}$Ic=array();$bd=array();if($m!=""){$Ic=fields($m);$bd=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(136));}else{$o=array();$hb=array();ksort($_POST["fields"]);$wd=reset($Ic);$Kb="FIRST";foreach($_POST["fields"]as$c=>$d){$A=$ea[$d["type"]];$Hc=(isset($A)?$Xd[$A]:$d);if($d["field"]!=""){if(!$d["has_default"]){$d["default"]=null;}$va=eregi_replace(" *on update CURRENT_TIMESTAMP","",$d["default"]);if($va!=$d["default"]){$d["on_update"]="CURRENT_TIMESTAMP";$d["default"]=$va;}if($c==$_POST["auto_increment_col"]){$d["auto_increment"]=true;}$Td=process_field($d,$Hc);if($Td!=process_field($wd,$wd)){$o[]=array($d["orig"],$Td,$Kb);}if(isset($A)){$hb[]=($m!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($d["field"]).") REFERENCES ".idf_escape($ea[$d["type"]])." (".idf_escape($Hc["field"]).")".(in_array($d["on_delete"],$db)?" ON DELETE $d[on_delete]":"");}$Kb="AFTER ".idf_escape($d["field"]);}elseif($d["orig"]!=""){$o[]=array($d["orig"]);}if($d["orig"]!=""){$wd=next($Ic);}}$tb="";if(in_array($_POST["partition_by"],$ce)){$Gd=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$c=>$b){$p=$_POST["partition_values"][$c];$Gd[]="\nPARTITION ".idf_escape($b)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($p!=""?" ($p)":" MAXVALUE");}}$tb.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($Gd?" (".implode(",",$Gd)."\n)":($_POST["partitions"]?" PARTITIONS ".intval($_POST["partitions"]):""));}elseif($m!=""&&support("partitioning")){$tb.="\nREMOVE PARTITIONING";}$za=lang(137);if($m==""){cookie("adminer_engine",$_POST["Engine"]);$za=lang(138);}queries_redirect(ME."table=".urlencode($_POST["name"]),$za,alter_table($m,$_POST["name"],$o,$hb,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$bd["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$bd["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?preg_replace('~\\D+~','',$_POST["Auto_increment"]):""),$tb));}}page_header(($m!=""?lang(26):lang(139)),$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=$bd;$a["name"]=$m;$a["fields"]=array();if(!$_GET["auto_increment"]){$a["Auto_increment"]="";}foreach($Ic 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")){$Ub="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 $Ub 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 $Ub AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$cd){$a["partition_names"][]=$cd["PARTITION_NAME"];$a["partition_values"][]=$cd["PARTITION_DESCRIPTION"];}$a["partition_names"][]="";}}$X=collations();$gd=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($gd&&count($a["fields"])>$gd){echo"

".h(lang(140,'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(141),': ',($kd?html_select("Engine",array(""=>"(".lang(142).")")+$kd,$a["Engine"]):""),' ',($X&&!ereg("sqlite|mssql",$_)?html_select("Collation",array(""=>"(".lang(79).")")+$X,$a["Collation"]):""),' ';$Jb=edit_fields($a["fields"],$X,"TABLE",$gd,$ea,$a["Comment"]!="");echo'

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

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

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

';}elseif(isset($_GET["indexes"])){$m=$_GET["indexes"];$dd=array("PRIMARY","UNIQUE","INDEX");$J=table_status($m);if(ereg("MyISAM|Maria",$J["Engine"])){$dd[]="FULLTEXT";}$K=indexes($m);if($_=="sqlite"){unset($dd[0]);unset($K[""]);}if($_POST&&!$n&&!$_POST["add"]){$u=array();foreach($_POST["indexes"]as$v){if(in_array($v["type"],$dd)){$B=array();$Qb=array();$q=array();ksort($v["columns"]);foreach($v["columns"]as$c=>$H){if($H!=""){$da=$v["lengths"][$c];$q[]=idf_escape($H).($da?"(".intval($da).")":"");$B[]=$H;$Qb[]=($da?$da:null);}}if($B){foreach($K as$f=>$Cb){ksort($Cb["columns"]);ksort($Cb["lengths"]);if($v["type"]==$Cb["type"]&&array_values($Cb["columns"])===$B&&(!$Cb["lengths"]||array_values($Cb["lengths"])===$Qb)){unset($K[$f]);continue 2;}}$u[]=array($v["type"],"(".implode(", ",$q).")");}}}foreach($K as$f=>$Cb){$u[]=array($Cb["type"],idf_escape($f),"DROP");}if(!$u){redirect(ME."table=".urlencode($m));}queries_redirect(ME."table=".urlencode($m),lang(147),alter_indexes($m,$u));}page_header(lang(96),$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=>$v){if($v["columns"][count($v["columns"])]!=""){$a["indexes"][$c]["columns"][]="";}}$v=end($a["indexes"]);if($v["type"]||array_filter($v["columns"],'strlen')||array_filter($v["lengths"],'strlen')){$a["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($a["indexes"]as$c=>$v){$a["indexes"][$c]["columns"][]="";}$a["indexes"][]=array("columns"=>array(1=>""));}echo'
';$ma=1;foreach($a["indexes"]as$v){echo"
',lang(148),'',lang(149),'
".html_select("indexes[$ma][type]",array(-1=>"")+$dd,$v["type"],($ma==count($a["indexes"])?"indexesAddRow(this);":1))."";ksort($v["columns"]);$l=1;foreach($v["columns"]as$H){echo"".html_select("indexes[$ma][columns][$l]",array(-1=>"")+$o,$H,($l==count($v["columns"])?"indexesAddColumn(this);":1))," ";$l++;}$ma++;}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(150),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(151),rename_database($_POST["name"],$_POST["collation"]));}else{$z=explode("\n",str_replace("\r","",$_POST["name"]));$Ud=true;$wb="";foreach($z as$s){if(count($z)==1||$s!=""){if(!create_database($s,$_POST["collation"])){$Ud=false;}$wb=$s;}}queries_redirect(ME."db=".urlencode($wb),lang(152),$Ud);}}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(153));}}page_header(DB!=""?lang(154):lang(155),$n,array(),DB);$X=collations();$f=DB;$rc=null;if($_POST){$f=$_POST["name"];$rc=$_POST["collation"];}elseif(DB!=""){$rc=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(79).")")+$X,$rc):""),' ';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(156));}else{$x.=urlencode($_POST["name"]);if($_GET["ns"]==""){query_redirect("CREATE SCHEMA ".idf_escape($_POST["name"]),$x,lang(157));}elseif($_GET["ns"]!=$_POST["name"]){query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_POST["name"]),$x,lang(158));}else{redirect($x);}}}page_header($_GET["ns"]!=""?lang(159):lang(160),$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(161).": ".h($Va),$n);$Ra=routine($Va,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Fb=array();$lb=array();foreach($Ra["fields"]as$l=>$d){if(substr($d["inout"],-3)=="OUT"){$lb[$l]="@".idf_escape($d["field"])." AS ".idf_escape($d["field"]);}if(!$d["inout"]||substr($d["inout"],0,2)=="IN"){$Fb[]=$l;}}if(!$n&&$_POST){$Sd=array();foreach($Ra["fields"]as$c=>$d){if(in_array($c,$Fb)){$b=process_input($d);if($b===false){$b="''";}if(isset($lb[$c])){$g->query("SET @".idf_escape($d["field"])." = $b");}}$Sd[]=(isset($lb[$c])?"@".idf_escape($d["field"]):$b);}$j=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($Va)."(".implode(", ",$Sd).")";echo"

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

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

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

';if($Fb){echo"\n";foreach($Fb 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(163));}else{$Ga=array_filter($_POST["source"],'strlen');ksort($Ga);$ta=array();foreach($Ga as$c=>$b){$ta[$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',$Ga)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$ta)).")".(in_array($_POST["on_delete"],$db)?" ON DELETE $_POST[on_delete]":"").(in_array($_POST["on_update"],$db)?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($m),($_GET["name"]!=""?lang(164):lang(165)));$n=lang(166)."
$n";}}page_header(lang(167),$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"][]="";}$Ga=array_keys(fields($m));$ta=($m===$a["table"]?$Ga:array_keys(fields($a["table"])));$Wd=array();foreach(table_status()as$f=>$J){if(fk_support($J)){$Wd[]=$f;}}echo'

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

';$ma=0;foreach($a["source"]as$c=>$b){echo"","
',lang(98),'',lang(99),'
".html_select("source[".intval($c)."]",array(-1=>"")+$Ga,$b,($ma==count($a["source"])-1?"foreignAddRow(this);":1)),"".html_select("target[".intval($c)."]",$ta,$a["target"][$c]);$ma++;}echo'

',lang(80),': ',html_select("on_delete",array(-1=>"")+$db,$a["on_delete"]),' ',lang(100),': ',html_select("on_update",array(-1=>"")+$db,$a["on_update"]),'

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

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

',lang(175),':

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

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

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

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

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

';}elseif(isset($_GET["procedure"])){$Va=$_GET["procedure"];$Ra=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$Ya=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"],$_c)?"$d[inout] ":"").idf_escape($d["field"]).process_type($d,"CHARACTER SET");}}$Ya=drop_create("DROP $Ra ".idf_escape($Va),"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(185),lang(186),lang(187),$Va);}page_header(($Va!=""?(isset($_GET["function"])?lang(188):lang(189)).": ".h($Va):(isset($_GET["function"])?lang(190):lang(191))),$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($Va!=""){$a=routine($Va,$Ra);$a["name"]=$Va;}echo'

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

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

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

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

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

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

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

\n";}echo'

';}elseif(isset($_GET["trigger"])){$m=$_GET["trigger"];$Cc=trigger_options();$Kd=array("INSERT","UPDATE","DELETE");$Ya=false;if($_POST&&!$n&&in_array($_POST["Timing"],$Cc["Timing"])&&in_array($_POST["Event"],$Kd)&&in_array($_POST["Type"],$Cc["Type"])){$Md=" $_POST[Timing] $_POST[Event]";$_b=" ON ".table($m);$Ya=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($_=="pgsql"?$_b:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($_=="mssql"?$_b.$Md:$Md.$_b)." $_POST[Type]\n$_POST[Statement]",ME."table=".urlencode($m),lang(202),lang(203),lang(204),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(205).": ".h($_GET["name"]):lang(206)),$n,array("table"=>$m));$a=array("Trigger"=>$m."_bi");if($_POST){$a=$_POST;}elseif($_GET["name"]!=""){$a=trigger($_GET["name"]);}echo'
',lang(207),'',html_select("Timing",$Cc["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(208),'',html_select("Event",$Kd,$a["Event"],"this.form['Timing'].onchange();"),'
',lang(83),'',html_select("Type",$Cc["Type"],$a["Type"]),'

',lang(175),':

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

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

';}elseif(isset($_GET["user"])){$yd=$_GET["user"];$pa=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$a){foreach(explode(",",($a["Privilege"]=="Grant option"?"":$a["Context"]))as$Mc){$pa[$Mc][$a["Privilege"]]=$a["Comment"];}}$pa["Server Admin"]+=$pa["File access on server"];$pa["Databases"]["Create routine"]=$pa["Procedures"]["Create routine"];unset($pa["Procedures"]["Create routine"]);$pa["Columns"]=array();foreach(array("Select","Insert","Update","References")as$b){$pa["Columns"][$b]=$pa["Tables"][$b];}unset($pa["Server Admin"]["Usage"]);foreach($pa["Tables"]as$c=>$b){unset($pa["Databases"][$c]);}$qc=array();if($_POST){foreach($_POST["objects"]as$c=>$b){$qc[$b]=(array)$qc[$b]+(array)$_POST["grants"][$c];}}$nb=array();$Rc="";if(isset($_GET["host"])&&($i=$g->query("SHOW GRANTS FOR ".q($yd)."@".q($_GET["host"])))){while($a=$i->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$a[0],$k)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$k[1],$ka,PREG_SET_ORDER)){foreach($ka 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)){$Rc=$k[1];}}}if($_POST&&!$n){$Rb=(isset($_GET["host"])?q($yd)."@".q($_GET["host"]):"''");$jb=q($_POST["user"])."@".q($_POST["host"]);$xd=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $Rb",ME."privileges=",lang(209));}else{if($Rb!=$jb){$n=!queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $jb IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $xd");}elseif($_POST["pass"]!=$Rc||!$_POST["hashed"]){queries("SET PASSWORD FOR $jb = ".($_POST["hashed"]?$xd:"PASSWORD($xd)"));}if(!$n){$xc=array();foreach($qc as$Xa=>$fa){if(isset($_GET["grant"])){$fa=array_filter($fa);}$fa=array_keys($fa);if(isset($_GET["grant"])){$xc=array_diff(array_keys(array_filter($qc[$Xa],'strlen')),$fa);}elseif($Rb==$jb){$oe=array_keys((array)$nb[$Xa]);$xc=array_diff($oe,$fa);$fa=array_diff($fa,$oe);unset($nb[$Xa]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Xa,$k)&&(!grant("REVOKE",$xc,$k[2]," ON $k[1] FROM $jb")||!grant("GRANT",$fa,$k[2]," ON $k[1] TO $jb"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($Rb!=$jb){queries("DROP USER $Rb");}elseif(!isset($_GET["grant"])){foreach($nb as$Xa=>$xc){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Xa,$k)){grant("REVOKE",array_keys($xc),$k[2]," ON $k[1] FROM $jb");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(210):lang(211)),!$n);if($Rb!=$jb){$g->query("DROP USER $jb");}}}page_header((isset($_GET["host"])?lang(19).": ".h("$yd@$_GET[host]"):lang(113)),$n,array("privileges"=>array('',lang(65))));if($_POST){$a=$_POST;$nb=$qc;}else{$a=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$a["pass"]=$Rc;if($Rc!=""){$a["hashed"]=true;}$nb[""]=true;}echo'
',lang(19),'
',lang(18),'
',lang(20),' ';if(!$a["hashed"]){echo'';}echo checkbox("hashed",1,$a["hashed"],lang(212),"typePassword(this.form['pass'], this.checked);"),'
';echo"\n","\n";foreach(array(""=>"","Server Admin"=>lang(18),"Databases"=>lang(60),"Tables"=>lang(94),"Columns"=>lang(95),"Procedures"=>lang(213),)as$Mc=>$hc){foreach((array)$pa[$Mc]as$kc=>$Ba){echo"$hc'.h($kc);$l=0;foreach($nb as$Xa=>$fa){$f="'grants[$l][".h(strtoupper($kc))."]'";$p=$fa[strtoupper($kc)];if($Mc=="Server Admin"&&$Xa!=(isset($nb["*.*"])?"*.*":"")){echo"
".lang(65)."";$l=0;foreach($nb as$Xa=>$fa){echo''.($Xa!="*.*"?"":"*.*");$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){$ed=0;foreach((array)$_POST["kill"]as$b){if(queries("KILL ".ereg_replace("[^0-9]+","",$b))){$ed++;}}queries_redirect(ME."processlist=",lang(216,$ed),$ed||!$_POST["kill"]);}page_header(lang(66),$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"];$J=table_status($m);$K=indexes($m);$o=fields($m,1);$ea=column_foreign_keys($m);$je=array();$B=array();$zb=null;foreach($o as$c=>$d){$f=$r->fieldName($d);if(isset($d["privileges"]["select"])&&$f!=""){$B[$c]=html_entity_decode(strip_tags($f));if(ereg('text|lob',$d["type"])){$zb=$r->selectLengthProcess();}}$je+=$d["privileges"];}list($C,$_a)=$r->selectColumnsProcess($B,$K);$t=$r->selectSearchProcess($o,$K);$pb=$r->selectOrderProcess($o,$K);$M=$r->selectLimitProcess();$Ub=($C?implode(", ",$C):"*")."\nFROM ".table($m);$ld=($_a&&count($_a)$b){$b=$_GET["columns"][$c];if(!$b["fun"]){unset($ad[$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"])||$ad===array()){$Fd=$t;if(is_array($_POST["check"])){$Fd[]="($he)";}dump_data($m,"INSERT","SELECT $Ub".($Fd?"\nWHERE ".implode(" AND ",$Fd):"").$ld);}else{$qe=array();foreach($_POST["check"]as$b){$qe[]="(SELECT".limit($Ub,"\nWHERE ".($t?implode(" AND ",$t)." AND ":"").where_check($b).$ld,1).")";}dump_data($m,"INSERT",implode(" UNION ALL ",$qe));}exit;}if(!$r->selectEmailProcess($t,$ea)){if($_POST["save"]||$_POST["delete"]){$i=true;$rb=0;$j=table($m);$q=array();if(!$_POST["delete"]){foreach($B 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){$Oc="UPDATE";if($_POST["delete"]){$Oc="DELETE";$j="FROM $j";}if($_POST["clone"]){$Oc="INSERT";$j="INTO $j";}if($_POST["all"]||($ad===array()&&$_POST["check"])||count($_a)affected_rows;}else{foreach((array)$_POST["check"]as$b){$i=queries($Oc.limit1($j,"\nWHERE ".where_check($b)));if(!$i){break;}$rb+=$g->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(218,$rb),$i);}elseif(!$_POST["import"]){if(!$_POST["val"]){$n=lang(219);}else{$i=true;$rb=0;foreach($_POST["val"]as$ub=>$a){$q=array();foreach($a as$c=>$b){$c=bracket_escape($c,1);$q[]=idf_escape($c)." = ".(ereg('char|text',$o[$c]["type"])||$b!=""?$r->processInput($o[$c],$b):"NULL");}$i=queries("UPDATE".limit1(table($m)." SET ".implode(", ",$q)," WHERE ".where_check($ub).($t?" AND ".implode(" AND ",$t):"")));if(!$i){break;}$rb+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(218,$rb),$i);}}elseif(is_string($sa=get_file("csv_file",true))){$sa=preg_replace("~^\xEF\xBB\xBF~",'',$sa);$i=true;$ib=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$sa,$ka);$rb=count($ka[0]);begin();$Ta=($_POST["separator"]=="csv"?",":";");foreach($ka[0]as$c=>$b){preg_match_all("~((\"[^\"]*\")+|[^$Ta]*)$Ta~",$b.$Ta,$nd);if(!$c&&!array_diff($nd[1],$ib)){$ib=$nd[1];$rb--;}else{$q=array();foreach($nd[1]as$l=>$Bc){$q[idf_escape($ib[$l])]=($Bc==""&&$o[$ib[$l]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Bc))));}$i=insert_update($m,$q,$Ia);if(!$i){break;}}}if($i){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(220,$rb),$i);queries("ROLLBACK");}else{$n=upload_error($sa);}}}$Ca=$r->tableName($J);page_header(lang(32).": $Ca",$n);session_write_close();$q=null;if(isset($je["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($J,$q);if(!$B){echo"

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

\n","
";hidden_fields_get();echo(DB!=""?''.(isset($_GET["ns"])?'':""):"");echo'',"
\n";$r->selectColumnsPrint($C,$B);$r->selectSearchPrint($t,$B,$K);$r->selectOrderPrint($pb,$B,$K);$r->selectLimitPrint($M);$r->selectLengthPrint($zb);$r->selectActionPrint($zb);echo"
\n";$aa=$_GET["page"];if($aa=="last"){$Qa=$g->result("SELECT COUNT(*) FROM ".table($m).($t?" WHERE ".implode(" AND ",$t):""));$aa=floor(($Qa-1)/$M);}$j="SELECT".limit((intval($M)&&$_a&&count($_a)selectQuery($j);$i=$g->query($j);if(!$i){echo"

".error()."\n";}else{if($_=="mssql"){$i->seek($M*$aa);}$Lc=array();echo"

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

".lang(77)."\n";}else{$te=$r->backwardKeys($m,$Ca);echo"\n","".(!$_a&&$C?"":"\n";foreach($r->rowDescriptions($E,$ea)as$ca=>$a){$md=unique_array($E[$ca],$K);$ub="";foreach($md as$c=>$b){$ub.="&".(isset($b)?urlencode("where[".bracket_escape($c)."]")."=".urlencode($b):"null%5B%5D=".urlencode($c));}echo"".(!$_a&&$C?"":"\n";}echo"
".lang(112)."");$Cd=array();$W=array();reset($C);$pb=1;foreach($E[0]as$c=>$b){$b=$_GET["columns"][key($C)];$d=$o[$C?$b["col"]:$c];$f=($d?$r->fieldName($d,$pb):"*");if($f!=""){$pb++;$Cd[$c]=$f;echo''.apply_sql_function($b["fun"],$f)."";}$W[$c]=$b["fun"];next($C);}$Qb=array();if($_GET["modify"]){foreach($E as$a){foreach($a as$c=>$b){$Qb[$c]=max($Qb[$c],min(40,strlen(utf8_decode($b))));}}}echo($te?"".lang(222):"")."
".checkbox("check[]",substr($ub,1),in_array(substr($ub,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").(count($_a)".lang(112).""));foreach($a as$c=>$b){if(isset($Cd[$c])){$d=$o[$c];if($b!=""&&(!isset($Lc[$c])||$Lc[$c]!="")){$Lc[$c]=(is_ad_mail($b)?$Cd[$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).$ub);}if($b==""){$b=" ";}elseif($zb!=""&&ereg('text|blob',$d["type"])&&is_utf8($b)){$b=shorten_utf8($b,max(0,intval($zb)));}else{$b=h($b);}if(!$x){foreach((array)$ea[$c]as$A){if(count($ea[$c])==1||count($A["source"])==1){foreach($A["source"]as$l=>$Ga){$x.=where_link($l,$A["target"][$l],$E[$ca][$Ga]);}$x=h(($A["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($A["db"]),ME):ME).'select='.urlencode($A["table"]).$x);break;}}}if($c=="COUNT(*)"){$x=h(ME."select=".urlencode($m));$l=0;foreach((array)$_GET["where"]as$w){if(!array_key_exists($w["col"],$md)){$x.=h(where_link($l++,$w["col"],$w["val"],$w["op"]));}}foreach($md as$Na=>$w){$x.=h(where_link($l++,$Na,$w,(isset($w)?"=":"IS NULL")));}}}if(!$x){if(is_ad_mail($b)){$x="mailto:$b";}if($gc=is_url($a[$c])){$x=($gc=="http"&&$Vb?$a[$c]:"$gc://www.adminer.org/redirect/?url=".urlencode($a[$c]));}}$U=h("val[$ub][".bracket_escape($c)."]");$p=$_POST["val"][$ub][bracket_escape($c)];$We=h(isset($p)?$p:$a[$c]);$re=strpos($b,"...");$we=is_utf8($b)&&!$re&&$E[$ca][$c]==$a[$c]&&!$W[$c];$xe=ereg('text|lob',$d["type"]);echo(($_GET["modify"]&&$we)||isset($p)?"".($xe?"":""):"".$r->selectVal($b,$x,$d));}}$r->backwardKeysPrint($te,$E[$ca]);echo"
\n";}parse_str($_COOKIE["adminer_export"],$hd);if($E||$aa){$zd=true;if($_GET["page"]!="last"&&intval($M)&&count($_a)>=count($C)&&($Qa>=$M||$aa)){$Qa=$J["Rows"];if(!isset($Qa)||$t||2*$aa*$M>$Qa||($J["Engine"]=="InnoDB"&&$Qa<1e4)){ob_flush();flush();$Qa=$g->result("SELECT COUNT(*) FROM ".table($m).($t?" WHERE ".implode(" AND ",$t):""));}else{$zd=false;}}echo"

";if(intval($M)&&$Qa>$M){$qd=floor(($Qa-1)/$M);echo'".lang(28).":".pagination(0,$aa).($aa>5?" ...":"");for($l=max(1,$aa-4);$l'.lang(29)."");}echo" (".($zd?"":"~ ").lang(116,$Qa).") ".checkbox("all",1,0,lang(225))."\n";if(!information_schema(DB)){echo'

',lang(30),'
';}print_fieldset("export",lang(106));echo$r->dumpOutput(1,$hd["output"])." ".$r->dumpFormat(1,$hd["format"]);echo" \n","\n";}print_fieldset("import",lang(227),!$E);echo" ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;"),$hd["format"],1);echo" \n","\n";$r->selectEmailPrint(array_filter($Lc,'strlen'),$B);echo"\n";}}}elseif(isset($_GET["variables"])){$Zb=isset($_GET["status"]);page_header($Zb?lang(68):lang(67));$Ve=($Zb?show_status():show_variables());if(!$Ve){echo"

".lang(77)."\n";}else{echo"\n";foreach($Ve as$c=>$b){echo"","
".h($c)."","".nbsp($b);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["token"]!=$L){exit;}if($_GET["script"]=="db"){$Jc=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$a){$U=addcslashes($a["Name"],"\\'/");echo"setHtml('Comment-$U', '".addcslashes(nbsp($a["Comment"]),"'\\")."');\n";if(!is_view($a)){foreach(array("Engine","Collation")as$c){echo"setHtml('$c-$U', '".addcslashes(nbsp($a[$c]),"'\\")."');\n";}foreach($Jc+array("Auto_increment"=>0,"Rows"=>0)as$c=>$b){if($a[$c]!=""){$b=number_format($a[$c],0,'.',lang(229));echo"setHtml('$c-$U', '".($c=="Rows"&&$a["Engine"]=="InnoDB"&&$b?"~ $b":$b)."');\n";if(isset($Jc[$c])){$Jc[$c]+=($a["Engine"]!="InnoDB"||$c!="Data_free"?$a[$c]:0);}}elseif(array_key_exists($c,$a)){echo"setHtml('$c-$U');\n";}}}}foreach($Jc as$c=>$b){echo"setHtml('sum-$c', '".number_format($b,0,'.',lang(229))."');\n";}}else{foreach(count_tables(get_databases())as$s=>$b){echo"setHtml('tables-".addcslashes($s,"\\'/")."', '$b');\n";}}exit;}else{$Ne=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Ne&&!$n&&!$_POST["search"]){$i=true;$za="";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"]);}$za=lang(230);}elseif($_POST["move"]){$i=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$za=lang(231);}elseif($_POST["drop"]){if($_POST["views"]){$i=drop_views($_POST["views"]);}if($i&&$_POST["tables"]){$i=drop_tables($_POST["tables"]);}$za=lang(232);}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()){$za.="".h($a["Table"]).": ".h($a["Msg_text"])."
";}}queries_redirect(substr(ME,0,-1),$za,$i);}page_header(($_GET["ns"]==""?lang(60).": ".h(DB):lang(75).": ".h($_GET["ns"])),$n,true);echo'

'.($_GET["ns"]==""?''.lang(154)."\n":"");if(support("scheme")){echo"".($_GET["ns"]!=""?lang(159):lang(160))."\n";}if($_GET["ns"]!==""){echo''.lang(105)."\n","

".lang(233)."

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

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

\n","

".lang(234).": \n";if($_POST["search"]&&$_POST["query"]!=""){search_tables();}echo"\n",'\n";foreach($Sc as$f=>$y){$Ac=(isset($y)&&!eregi("table",$y));echo'
'.lang(94).''.lang(235).''.lang(71).''.lang(236).''.lang(237).''.lang(238).''.lang(86).''.lang(239).(support("comment")?''.lang(88):'')."
'.checkbox(($Ac?"views[]":"tables[]"),$f,in_array($f,$Ne,true),"","formUncheck('check-all');"),''.h($f).'';if($Ac){echo''.lang(93).'','?';}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(240,count($Sc)),"".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"){$s=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"

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

\n";}echo'

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

".lang(109)."

\n";$De=routines();if($De){echo"\n",'\n";odd('');foreach($De as$a){echo'','
'.lang(175).''.lang(83).''.lang(192)." 
'.h($a["ROUTINE_NAME"]).'',''.h($a["ROUTINE_TYPE"]),''.h($a["DTD_IDENTIFIER"]),''.lang(101)."";}echo"
\n";}echo'

'.lang(191).' '.lang(190)."\n";}if(support("sequence")){echo"

".lang(248)."

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

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

".lang(9)."

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

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

".lang(110)."

\n";$E=get_rows("SHOW EVENTS");if($E){echo"\n","\n";foreach($E as$a){echo"",'
".lang(175)."".lang(249)."".lang(181)."".lang(182)."
'.h($a["Name"])."","".($a["Execute at"]?lang(250)."".$a["Execute at"]:lang(183)." ".$a["Interval value"]." ".$a["Interval field"]."$a[Starts]"),"$a[Ends]";}echo"
\n";}echo'

'.lang(180)."\n";}if($Sc){page_footer();echo"\n";exit;}}}page_footer();