divs[i].offsetTop+top*em);}
if(!lineSet[id]){var line=document.getElementById(divs[i].id.replace(/^....(.+)-\d+$/,'refl$1'));var shift=ev.clientY-y-that.offsetTop;line.style.left=(left+left1)+'em';if(isTop){line.style.top=(line.offsetTop+shift)/em+'em';}
if(divs[i].parentNode!=div2.parentNode){line=line.getElementsByTagName('div')[0];line.style.height=(line.offsetHeight+(isTop?-1:1)*shift)/em+'em';}
lineSet[id]=true;}}}
that.style.left=left+'em';that.style.top=top+'em';}}
function schemaMouseup(ev,db){if(that!==undefined){ev=ev||event;tablePos[that.firstChild.firstChild.firstChild.data]=[(ev.clientY-y)/em,(ev.clientX-x)/em];that=undefined;var s='';for(var key in tablePos){s+='_'+key+':'+Math.round(tablePos[key][0]*10000)/10000+'x'+Math.round(tablePos[key][1]*10000)/10000;}
s=encodeURIComponent(s.substr(1));var link=document.getElementById('schema-link');link.href=link.href.replace(/[^=]+$/,'')+s;cookie('adminer_schema-'+db+'='+s,30);}}$y){unset($vb[$d][$Na]);if(is_array($y)){$vb[$d][stripslashes($Na)]=$y;$vb[]=&$vb[$d][stripslashes($Na)];}else{$vb[$d][stripslashes($Na)]=($ze?$y:stripslashes($y));}}}}}function
bracket_escape($M,$tf=false){static$ae=array(':'=>':1',']'=>':2','['=>':3');return
strtr($M,($tf?array_flip($ae):$ae));}function
h($I){return
htmlspecialchars($I,ENT_QUOTES);}function
nbsp($I){return(trim($I)!=""?h($I):" ");}function
nl_br($I){return
str_replace("\n","
",$I);}function
checkbox($f,$q,$eb,$de="",$me=""){static$R=0;$R++;$c="";return($de!=""?"":$c);}function
optionlist($Nc,$Tf=null,$we=false){$c="";foreach($Nc
as$Na=>$y){$se=array($Na=>$y);if(is_array($y)){$c.='';}}return$c;}function
html_select($f,$Nc,$q="",$Lb=true){if($Lb){return"";}$c="";foreach($Nc
as$d=>$b){$c.="";}return$c;}function
confirm($Zc="",$If=false){return" onclick=\"".($If?"eventStop(event); ":"")."return confirm('".lang(0).($Zc?" (' + $Zc + ')":"")."');\"";}function
js_ad_escape($I){return
addcslashes($I,"\r\n'\\/");}function
ini_bool($Hf){$b=ini_get($Hf);return(eregi('^(on|true|yes)$',$b)||(int)$b);}function
sid(){static$c;if(!isset($c)){$c=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));}return$c;}function
q($I){global$g;return$g->quote($I);}function
get_vals($j,$C=0){global$g;$c=array();$i=$g->query($j);if(is_object($i)){while($a=$i->fetch_row()){$c[]=$a[$C];}}return$c;}function
get_key_vals($j,$H=null){global$g;if(!is_object($H)){$H=$g;}$c=array();$i=$H->query($j);if(is_object($i)){while($a=$i->fetch_row()){$c[$a[0]]=$a[1];}}return$c;}function
get_rows($j,$H=null,$n=""){global$g;if(!is_object($H)){$H=$g;}$c=array();$i=$H->query($j);if(is_object($i)){while($a=$i->fetch_assoc()){$c[]=$a;}}elseif(!$i&&$g->error&&$n&&defined("PAGE_HEADER")){echo$n.error()."\n";}return$c;}function
unique_array($a,$J){foreach($J
as$x){if(ereg("PRIMARY|UNIQUE",$x["type"])){$c=array();foreach($x["columns"]as$d){if(!isset($a[$d])){continue
2;}$c[$d]=$a[$d];}return$c;}}$c=array();foreach($a
as$d=>$b){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$d)){$c[$d]=$b;}}return$c;}function
where($s){global$v;$c=array();foreach((array)$s["where"]as$d=>$b){$c[]=idf_escape(bracket_escape($d,1)).(ereg('\\.',$b)||$v=="mssql"?" LIKE ".exact_value(addcslashes($b,"%_")):" = ".exact_value($b));}foreach((array)$s["null"]as$d){$c[]=idf_escape($d)." IS NULL";}return
implode(" AND ",$c);}function
where_check($b){parse_str($b,$Yd);remove_slashes(array(&$Yd));return
where($Yd);}function
where_link($l,$C,$q,$xf="="){return"&where%5B$l%5D%5Bcol%5D=".urlencode($C)."&where%5B$l%5D%5Bop%5D=".urlencode((isset($q)?$xf:"IS NULL"))."&where%5B$l%5D%5Bval%5D=".urlencode($q);}function
cookie($f,$q){global$Ec;$Dc=array($f,(ereg("\n",$q)?"":$q),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$Ec);if(version_compare(PHP_VERSION,'5.2.0')>=0){$Dc[]=true;}return
call_user_func_array('setcookie',$Dc);}function
restart_session(){if(!ini_bool("session.use_cookies")){session_start();}}function&get_session($d){return$_SESSION[$d][DRIVER][SERVER][$_GET["username"]];}function
set_session($d,$b){$_SESSION[$d][DRIVER][SERVER][$_GET["username"]]=$b;}function
auth_url($Kb,$F,$P){global$ma;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($ma))."|username|".session_name()),$k);return"$k[1]?".(sid()?SID."&":"").($Kb!="server"||$F!=""?urlencode($Kb)."=".urlencode($F)."&":"")."username=".urlencode($P).($k[2]?"&$k[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($fa,$ua=null){if(isset($ua)){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',(isset($fa)?$fa:$_SERVER["REQUEST_URI"]))][]=$ua;}if(isset($fa)){if($fa==""){$fa=".";}header((is_ajax()?"X-AJAX-Redirect":"Location").": $fa");exit;}}function
query_redirect($j,$fa,$ua,$Xc=true,$Gf=true,$hf=false){global$g,$n,$o;if($Gf){$hf=!$g->query($j);}$td="";if($j){$td=$o->messageQuery("$j;");}if($hf){$n=error().$td;return
false;}if($Xc){redirect($fa,$ua.$td);}return
true;}function
queries($j=null){global$g;static$jb=array();if(!isset($j)){return
implode(";\n",$jb);}$jb[]=(ereg(';$',$j)?"DELIMITER ;;\n$j;\nDELIMITER ":$j);return$g->query($j);}function
apply_queries($j,$D,$yf='table'){foreach($D
as$h){if(!queries("$j ".$yf($h))){return
false;}}return
true;}function
queries_redirect($fa,$ua,$Xc){return
query_redirect(queries(),$fa,$ua,$Xc,false,!$Xc);}function
remove_from_uri($db=""){return
substr(preg_replace("~(?<=[?&])($db".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
pagination($da,$zf){return" ".($da==$zf?$da+1:''.($da+1)."");}function
get_file($d,$Fd=false){$Ia=$_FILES[$d];if(!$Ia||$Ia["error"]){return$Ia["error"];}$c=file_get_contents($Fd&&ereg('\\.gz$',$Ia["name"])?"compress.zlib://$Ia[tmp_name]":($Fd&&ereg('\\.bz2$',$Ia["name"])?"compress.bzip2://$Ia[tmp_name]":$Ia["tmp_name"]));if($Fd){if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$c,$Wf)){$c=iconv("utf-16","utf-8",$c);}else{$c=ereg_replace("^\xEF\xBB\xBF","",$c);}}return$c;}function
upload_error($n){$Ge=($n==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):null);return($n?lang(1).($Ge?" ".lang(2,$Ge):""):lang(3));}function
odd($c=' class="odd"'){static$l=0;if(!$c){$l=-1;}return($l++%
2?$c:'');}function
json_row($d,$b=null){static$za=true;if($za){echo"{";}if($d!=""){echo($za?"":",")."\n\t\"".addcslashes($d,"\r\n\"\\").'": '.(isset($b)?'"'.addcslashes($b,"\r\n\"\\").'"':'undefined');$za=false;}else{echo"\n}\n";$za=true;}}function
is_utf8($b){return(preg_match('~~u',$b)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$b));}function
repeat_pattern($ca,$X){return
str_repeat("$ca{0,65535}",$X/65535)."$ca{0,".($X
%
65535)."}";}function
shorten_utf8($I,$X=80,$Qf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$X).")($)?)u",$I,$k)){preg_match("(^(".repeat_pattern("[\t\r\n -~]",$X).")($)?)",$I,$k);}return
h($k[1]).$Qf.(isset($k[2])?"":"...");}function
friendly_url($b){return
preg_replace('~[^a-z0-9_]~i','-',$b);}function
hidden_fields($vb,$Nf=array()){while(list($d,$b)=each($vb)){if(is_array($b)){foreach($b
as$Na=>$y){$vb[$d."[$Na]"]=$y;}}elseif(!in_array($d,$Nf)){echo'';}}}function
hidden_fields_get(){echo(sid()?'':''),(SERVER!==null?'':""),'';}function
column_foreign_keys($h){global$o;$c=array();foreach($o->foreignKeys($h)as$A){foreach($A["source"]as$b){$c[$b][]=$A;}}return$c;}function
enum_input($z,$Va,$e,$q,$fc=null){global$o;preg_match_all("~'((?:[^']|'')*)'~",$e["length"],$oa);$c=(isset($fc)?"":"");foreach($oa[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$eb=(is_int($q)?$q==$l+1:(is_array($q)?in_array($l+1,$q):$q===$b));$c.=" ';}return$c;}function
input($e,$q,$K){global$S,$o,$v;$f=h(bracket_escape($e["field"]));echo"
";$Le=($v=="mssql"&&$e["auto_increment"]);if($Le&&!$_POST["save"]){$K=null;}$ba=(isset($_GET["select"])||$Le?array("orig"=>lang(5)):array())+$o->editFunctions($e);$Va=" name='fields[$f]'";if($e["type"]=="enum"){echo
nbsp($ba[""])." | ".$o->editInput($_GET["edit"],$e,$Va,$q);}else{$za=0;foreach($ba
as$d=>$b){if($d===""||!$b){break;}$za++;}$Lb=($za?" onchange=\"var f = this.form['function[".js_ad_escape($f)."]']; if ($za > f.selectedIndex) f.selectedIndex = $za;\"":"");$Va.=$Lb;echo(count($ba)>1?html_select("function[$f]",$ba,!isset($K)||in_array($K,$ba)||isset($ba[$K])?$K:"","functionChange(this);"):nbsp(reset($ba))).' | ';$_e=$o->editInput($_GET["edit"],$e,$Va,$q);if($_e!=""){echo$_e;}elseif($e["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$e["length"],$oa);foreach($oa[1]as$l=>$b){$b=stripcslashes(str_replace("''","'",$b));$eb=(is_int($q)?($q>>$l)&1:in_array($b,explode(",",$q),true));echo" ';}}elseif(ereg('blob|bytea|raw|file',$e["type"])&&ini_bool("file_uploads")){echo"";}elseif(ereg('text|lob',$e["type"])){echo"';}else{$ld=(!ereg('int',$e["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$e["length"],$k)?((ereg("binary",$e["type"])?2:1)*$k[1]+($k[3]?1:0)+($k[2]&&!$e["unsigned"]?1:0)):($S[$e["type"]]?$S[$e["type"]]+($e["unsigned"]?0:1):0));echo"20?" size='40'":"")."$Va>";}}}function
process_input($e){global$o;$M=bracket_escape($e["field"]);$K=$_POST["function"][$M];$q=$_POST["fields"][$M];if($e["type"]=="enum"){if($q==-1){return
false;}if($q==""){return"NULL";}return+$q;}if($e["auto_increment"]&&$q==""){return
null;}if($K=="orig"){return
false;}if($K=="NULL"){return"NULL";}if($e["type"]=="set"){return
array_sum((array)$q);}if(ereg('blob|bytea|raw|file',$e["type"])&&ini_bool("file_uploads")){$Ia=get_file("fields-$M");if(!is_string($Ia)){return
false;}return
q($Ia);}return$o->processInput($e,$q,$K);}function
search_tables(){global$o,$g;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$pa=false;foreach(table_status()as$h=>$E){$f=$o->tableName($E);if(isset($E["Engine"])&&$f!=""&&(!$_POST["tables"]||in_array($h,$_POST["tables"]))){$i=$g->query("SELECT".limit("1 FROM ".table($h)," WHERE ".implode(" AND ",$o->selectSearchProcess(fields($h),array())),1));if($i->fetch_row()){if(!$pa){echo"\n";$pa=true;}echo"- ".h($f)."\n";}}}echo($pa?"
":"".lang(6))."\n";}function
dump_headers($Yc,$Ad=false){global$o;$c=$o->dumpHeaders($Yc,$Ad);$Ja=$_POST["output"];if($Ja!="text"){header("Content-Disposition: attachment; filename=".($Yc!=""?friendly_url($Yc):"dump").".$c".($Ja!="file"&&!ereg('[^0-9a-z]',$Ja)?".$Ja":""));}session_write_close();return$c;}function
dump_csv($a){foreach($a
as$d=>$b){if(preg_match("~[\"\n,;\t]~",$b)||$b===""){$a[$d]='"'.str_replace('"','""',$b).'"';}}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$a)."\r\n";}function
apply_sql_function($K,$C){return($K?($K=="unixepoch"?"DATETIME($C, '$K')":($K=="count distinct"?"COUNT(DISTINCT ":strtoupper("$K("))."$C)"):$C);}function
password_file(){$Mc=ini_get("upload_tmp_dir");if(!$Mc){if(function_exists('sys_get_temp_dir')){$Mc=sys_get_temp_dir();}else{$ka=@tempnam("","");if(!$ka){return
false;}$Mc=dirname($ka);unlink($ka);}}$ka="$Mc/adminer.key";$c=@file_get_contents($ka);if($c){return$c;}$Pa=@fopen($ka,"w");if($Pa){$c=md5(uniqid(mt_rand(),true));fwrite($Pa,$c);fclose($Pa);}return$c;}function
is_ad_email($uf){$Ae='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$vc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$ca="$Ae+(\\.$Ae+)*@($vc?\\.)+$vc";return
preg_match("(^$ca(,\\s*$ca)*\$)i",$uf);}function
is_url($I){$vc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($vc?\\.)+$vc(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$I,$k)?strtolower($k[1]):"");}function
print_fieldset($R,$mf,$nf=false){echo" \n";}function
selectSearchPrint($s,$B,$J){print_fieldset("search",lang(36),$s);foreach($J
as$l=>$x){if($x["type"]=="FULLTEXT"){echo"(".implode(", ",array_map('h',$x["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($Za,$B,$J){print_fieldset("sort",lang(38),$Za);$l=0;foreach((array)$_GET["order"]as$d=>$b){if(isset($B[$b])){echo"",checkbox("desc[$l]",1,isset($_GET["desc"][$d]),lang(39))." \n";$l++;}}echo""," \n";echo"\n";}function
selectLimitPrint($L){echo"\n";}function
selectLengthPrint($Cb){if(isset($Cb)){echo"\n";}}function
selectActionPrint(){echo"\n";}function
selectEmailPrint($ag,$B){}function
selectColumnsProcess($B,$J){global$ba,$qb;$Q=array();$sa=array();foreach((array)$_GET["columns"]as$d=>$b){if($b["fun"]=="count"||(isset($B[$b["col"]])&&(!$b["fun"]||in_array($b["fun"],$ba)||in_array($b["fun"],$qb)))){$Q[$d]=apply_sql_function($b["fun"],(isset($B[$b["col"]])?idf_escape($b["col"]):"*"));if(!in_array($b["fun"],$qb)){$sa[]=$Q[$d];}}}return
array($Q,$sa);}function
selectSearchProcess($p,$J){global$v;$c=array();foreach($J
as$l=>$x){if($x["type"]=="FULLTEXT"&&$_GET["fulltext"][$l]!=""){$c[]="MATCH (".implode(", ",array_map('idf_escape',$x["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)){$Pb=" $b[op]";if(ereg('IN$',$b["op"])){$Rb=process_length($b["val"]);$Pb.=" (".($Rb!=""?$Rb:"NULL").")";}elseif(!$b["op"]){$Pb.=$b["val"];}elseif($b["op"]=="LIKE %%"){$Pb=" LIKE ".$this->processInput($p[$b["col"]],"%$b[val]%");}elseif(!ereg('NULL$',$b["op"])){$Pb.=" ".$this->processInput($p[$b["col"]],$b["val"]);}if($b["col"]!=""){$c[]=idf_escape($b["col"]).$Pb;}else{$rb=array();foreach($p
as$f=>$e){if(is_numeric($b["val"])||!ereg('int|float|double|decimal',$e["type"])){$f=idf_escape($f);$rb[]=($v=="sql"&&ereg('char|text|enum|set',$e["type"])&&!ereg('^utf8',$e["collation"])?"CONVERT($f USING utf8)":$f);}}$c[]=($rb?"(".implode("$Pb OR ",$rb)."$Pb)":"0");}}}return$c;}function
selectOrderProcess($p,$J){$c=array();foreach((array)$_GET["order"]as$d=>$b){if(isset($p[$b])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$b)){$c[]=(isset($p[$b])?idf_escape($b):$b).(isset($_GET["desc"][$d])?" DESC":"");}}return$c;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"30");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($s,$Jf){return
false;}function
messageQuery($j){global$v;static$Zc=0;restart_session();$R="sql-".($Zc++);$Ya=&get_session("queries");if(strlen($j)>1e6){$j=ereg_replace('[\x80-\xFF]+$','',substr($j,0,1e6))."\n...";}$Ya[$_GET["db"]][]=$j;return" ".lang(43)."';}function
editFunctions($e){global$Nb;$c=($e["null"]?"NULL/":"");foreach($Nb
as$d=>$ba){if(!$d||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($ba
as$ca=>$b){if(!$ca||ereg($ca,$e["type"])){$c.="/$b";}}if($d&&!ereg('set|blob|bytea|raw|file',$e["type"])){$c.="/=";}}}return
explode("/",$c);}function
editInput($h,$e,$Va,$q){if($e["type"]=="enum"){return(isset($_GET["select"])?" ":"").($e["null"]?" ":"").enum_input("radio",$Va,$e,$q,0);}return"";}function
processInput($e,$q,$K=""){if($K=="="){return$q;}$f=$e["field"];$c=($e["type"]=="bit"&&ereg('^[0-9]+$',$q)?$q:q($q));if(ereg('^(now|getdate|uuid)$',$K)){$c="$K()";}elseif(ereg('^current_(date|timestamp)$',$K)){$c=$K;}elseif(ereg('^([+-]|\\|\\|)$',$K)){$c=idf_escape($f)." $K $c";}elseif(ereg('^[+-] interval$',$K)){$c=idf_escape($f)." $K ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$q)?$q:$c);}elseif(ereg('^(addtime|subtime|concat)$',$K)){$c="$K(".idf_escape($f).", $c)";}elseif(ereg('^(md5|sha1|password|encrypt|hex)$',$K)){$c="$K($c)";}if(ereg("binary",$e["type"])){$c="unhex($c)";}return$c;}function
dumpOutput(){$c=array('text'=>lang(44),'file'=>lang(45));if(function_exists('gzencode')){$c['gz']='gzip';}if(function_exists('bzcompress')){$c['bz2']='bzip2';}return$c;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpTable($h,$V,$ed=false){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($V){dump_csv(array_keys(fields($h)));}}elseif($V){$la=create_sql($h,$_POST["auto_increment"]);if($la){if($V=="DROP+CREATE"){echo"DROP ".($ed?"VIEW":"TABLE")." IF EXISTS ".table($h).";\n";}if($ed){$la=preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$la);}echo($V!="CREATE+ALTER"?$la:($ed?substr_replace($la," OR REPLACE",6,0):substr_replace($la," IF NOT EXISTS",12,0))).";\n\n";}if($V=="CREATE+ALTER"&&!$ed){$j="SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE, COLLATION_NAME, COLUMN_TYPE, EXTRA, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($h)." ORDER BY ORDINAL_POSITION";echo"DELIMITER ;;
CREATE PROCEDURE adminer_alter (INOUT alter_command text) BEGIN
DECLARE _column_name, _collation_name, after varchar(64) DEFAULT '';
DECLARE _column_type, _column_default text;
DECLARE _is_nullable char(3);
DECLARE _extra varchar(30);
DECLARE _column_comment varchar(255);
DECLARE done, set_after bool DEFAULT 0;
DECLARE add_columns text DEFAULT '";$p=array();$Mb="";foreach(get_rows($j)as$a){$Ba=$a["COLUMN_DEFAULT"];$a["default"]=(isset($Ba)?q($Ba):"NULL");$a["after"]=q($Mb);$a["alter"]=escape_string(idf_escape($a["COLUMN_NAME"])." $a[COLUMN_TYPE]".($a["COLLATION_NAME"]?" COLLATE $a[COLLATION_NAME]":"").(isset($Ba)?" DEFAULT ".($Ba=="CURRENT_TIMESTAMP"?$Ba:$a["default"]):"").($a["IS_NULLABLE"]=="YES"?"":" NOT NULL").($a["EXTRA"]?" $a[EXTRA]":"").($a["COLUMN_COMMENT"]?" COMMENT ".q($a["COLUMN_COMMENT"]):"").($Mb?" AFTER ".idf_escape($Mb):" FIRST"));echo", ADD $a[alter]";$p[]=$a;$Mb=$a["COLUMN_NAME"];}echo"';
DECLARE columns CURSOR FOR $j;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SET @alter_table = '';
OPEN columns;
REPEAT
FETCH columns INTO _column_name, _column_default, _is_nullable, _collation_name, _column_type, _extra, _column_comment;
IF NOT done THEN
SET set_after = 1;
CASE _column_name";foreach($p
as$a){echo"
WHEN ".q($a["COLUMN_NAME"])." THEN
SET add_columns = REPLACE(add_columns, ', ADD $a[alter]', '');
IF NOT (_column_default <=> $a[default]) OR _is_nullable != '$a[IS_NULLABLE]' OR _collation_name != '$a[COLLATION_NAME]' OR _column_type != ".q($a["COLUMN_TYPE"])." OR _extra != '$a[EXTRA]' OR _column_comment != ".q($a["COLUMN_COMMENT"])." OR after != $a[after] THEN
SET @alter_table = CONCAT(@alter_table, ', MODIFY $a[alter]');
END IF;";}echo"
ELSE
SET @alter_table = CONCAT(@alter_table, ', DROP ', _column_name);
SET set_after = 0;
END CASE;
IF set_after THEN
SET after = _column_name;
END IF;
END IF;
UNTIL done END REPEAT;
CLOSE columns;
IF @alter_table != '' OR add_columns != '' THEN
SET alter_command = CONCAT(alter_command, 'ALTER TABLE ".table($h)."', SUBSTR(CONCAT(add_columns, @alter_table), 2), ';\\n');
END IF;
END;;
DELIMITER ;
CALL adminer_alter(@adminer_alter);
DROP PROCEDURE adminer_alter;
";}}}function
dumpData($h,$V,$j){global$g,$v;$Oe=($v=="sqlite"?0:1048576);if($V){if($_POST["format"]=="sql"&&$V=="TRUNCATE+INSERT"){echo
truncate_sql($h).";\n";}if($_POST["format"]=="sql"){$p=fields($h);}$i=$g->query($j,1);if($i){$xc="";$ob="";while($a=$i->fetch_assoc()){if($_POST["format"]!="sql"){if($V=="table"){dump_csv(array_keys($a));$V="INSERT";}dump_csv($a);}else{if(!$xc){$xc="INSERT INTO ".table($h)." (".implode(", ",array_map('idf_escape',array_keys($a))).") VALUES";}foreach($a
as$d=>$b){$a[$d]=(isset($b)?(ereg('int|float|double|decimal',$p[$d]["type"])?$b:q($b)):"NULL");}$na=implode(",\t",$a);if($V=="INSERT+UPDATE"){$r=array();foreach($a
as$d=>$b){$r[]=idf_escape($d)." = $b";}echo"$xc ($na) ON DUPLICATE KEY UPDATE ".implode(", ",$r).";\n";}else{$na=($Oe?"\n":" ")."($na)";if(!$ob){$ob=$xc.$na;}elseif(strlen($ob)+2+strlen($na)<$Oe){$ob.=",$na";}else{$ob.=";\n";echo$ob;$ob=$xc.$na;}}}}if($_POST["format"]=="sql"&&$V!="INSERT+UPDATE"&&$ob){$ob.=";\n";echo$ob;}}elseif($_POST["format"]=="sql"){echo"-- ".str_replace("\n"," ",$g->error)."\n";}}}function
dumpHeaders($Yc,$Ad=false){$Ja=$_POST["output"];$Ib=($_POST["format"]=="sql"?"sql":($Ad?"tar":"csv"));header("Content-Type: ".($Ja=="bz2"?"application/x-bzip":($Ja=="gz"?"application/x-gzip":($Ib=="tar"?"application/x-tar":($Ib=="sql"||$Ja!="file"?"text/plain":"text/csv")."; charset=utf-8"))));if($Ja=="bz2"){ob_start('bzcompress',1e6);}if($Ja=="gz"){ob_start('gzencode',1e6);}return$Ib;}function
homepage(){echo''.($_GET["ns"]==""?''.lang(46)."\n":"");if(support("scheme")){echo"".($_GET["ns"]!=""?lang(47):lang(48))."\n";}return
true;}function
navigation($Zb){global$wc,$g,$N,$v,$ma;echo'
';if($Zb=="auth"){$za=true;foreach((array)$_SESSION["pwds"]as$Kb=>$rf){foreach($rf
as$F=>$lf){foreach($lf
as$P=>$T){if(isset($T)){if($za){echo"\n";$za=false;}echo"($ma[$Kb]) ".h($P.($F!=""?"@$F":""))." \n";}}}}}else{$_=get_databases();echo'
\n";}}function
tablesPrint($D){echo"\n";foreach($D
as$h=>$z){echo'".lang(54)." ",'".$this->tableName(array("Name"=>$h))." \n";}}}$o=(function_exists('adminer_object')?adminer_object():new
Adminer);if(!isset($o->operators)){$o->operators=$kc;}function
page_header($De,$n="",$uc=array(),$af=""){global$va,$o,$g,$ma;header("Content-Type: text/html; charset=utf-8");$o->headers();$Xe=$De.($af!=""?": ".h($af):"");$We=$Xe.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$o->name();if(is_ajax()){header("X-AJAX-Title: ".rawurlencode($We));}else{echo'
',$We,'
';if($o->head()&&file_exists("adminer.css")){echo'
';}echo'
';}if(isset($uc)){$w=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo' '.$ma[DRIVER].' » ';$w=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$F=(SERVER!=""?h(SERVER):lang(20));if($uc===false){echo"$F\n";}else{echo"$F » ";if($_GET["ns"]!=""||(DB!=""&&is_array($uc))){echo''.h(DB).' » ';}if(is_array($uc)){if($_GET["ns"]!=""){echo''.h($_GET["ns"]).' » ';}foreach($uc
as$d=>$b){$oc=(is_array($b)?$b[1]:$b);if($oc!=""){echo''.h($oc).' » ';}}}echo"$De\n";}}echo"\n"," $Xe\n";restart_session();$Ve=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Ue=$_SESSION["messages"][$Ve];if($Ue){echo" ".implode(" \n ",$Ue)." \n";unset($_SESSION["messages"][$Ve]);}$_=&get_session("dbs");if(DB!=""&&$_&&!in_array(DB,$_,true)){$_=null;}if($n){echo" $n \n";}define("PAGE_HEADER",1);}function
page_footer($Zb=""){global$o;if(!is_ajax()){echo'
';switch_lang();echo'
';}}function
int32($ia){while($ia>=2147483648){$ia-=4294967296;}while($ia<=-2147483649){$ia+=4294967296;}return(int)$ia;}function
long2str($y,$Hd){$na='';foreach($y
as$b){$na.=pack('V',$b);}if($Hd){return
substr($na,0,end($y));}return$na;}function
str2long($na,$Hd){$y=array_values(unpack('V*',str_pad($na,4*ceil(strlen($na)/4),"\0")));if($Hd){$y[]=strlen($na);}return$y;}function
xxtea_mx($_a,$ya,$Ea,$Na){return
int32((($_a>>5&0x7FFFFFF)^$ya<<2)+(($ya>>3&0x1FFFFFFF)^$_a<<4))^int32(($Ea^$ya)+($Na^$_a));}function
encrypt_string($tc,$d){if($tc==""){return"";}$d=array_values(unpack("V*",pack("H*",md5($d))));$y=str2long($tc,true);$ia=count($y)-1;$_a=$y[$ia];$ya=$y[0];$Z=floor(6+52/($ia+1));$Ea=0;while($Z-->0){$Ea=int32($Ea+0x9E3779B9);$sc=$Ea>>2&3;for($xa=0;$xa<$ia;$xa++){$ya=$y[$xa+1];$Jb=xxtea_mx($_a,$ya,$Ea,$d[$xa&3^$sc]);$_a=int32($y[$xa]+$Jb);$y[$xa]=$_a;}$ya=$y[0];$Jb=xxtea_mx($_a,$ya,$Ea,$d[$xa&3^$sc]);$_a=int32($y[$ia]+$Jb);$y[$ia]=$_a;}return
long2str($y,false);}function
decrypt_string($tc,$d){if($tc==""){return"";}$d=array_values(unpack("V*",pack("H*",md5($d))));$y=str2long($tc,false);$ia=count($y)-1;$_a=$y[$ia];$ya=$y[0];$Z=floor(6+52/($ia+1));$Ea=int32($Z*0x9E3779B9);while($Ea){$sc=$Ea>>2&3;for($xa=$ia;$xa>0;$xa--){$_a=$y[$xa-1];$Jb=xxtea_mx($_a,$ya,$Ea,$d[$xa&3^$sc]);$ya=int32($y[$xa]-$Jb);$y[$xa]=$ya;}$_a=$y[$ia];$Jb=xxtea_mx($_a,$ya,$Ea,$d[$xa&3^$sc]);$ya=int32($y[0]-$Jb);$y[0]=$ya;$Ea=int32($Ea-0x9E3779B9);}return
long2str($y,true);}$g='';$N=$_SESSION["token"];if(!$_SESSION["token"]){$_SESSION["token"]=rand(1,1e6);}$Eb=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$b){list($d)=explode(":",$b);$Eb[$d]=$b;}}if(isset($_POST["server"])){session_regenerate_id();$_SESSION["pwds"][$_POST["driver"]][$_POST["server"]][$_POST["username"]]=$_POST["password"];if($_POST["permanent"]){$d=base64_encode($_POST["driver"])."-".base64_encode($_POST["server"])."-".base64_encode($_POST["username"]);$Hc=$o->permanentLogin();$Eb[$d]="$d:".base64_encode($Hc?encrypt_string($_POST["password"],$Hc):"");cookie("adminer_permanent",implode(" ",$Eb));}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($N&&$_POST["token"]!=$N){page_header(lang(50),lang(57));page_footer("db");exit;}else{foreach(array("pwds","dbs","queries")as$d){set_session($d,null);}$d=base64_encode(DRIVER)."-".base64_encode(SERVER)."-".base64_encode($_GET["username"]);if($Eb[$d]){unset($Eb[$d]);cookie("adminer_permanent",implode(" ",$Eb));}redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(58));}}elseif($Eb&&!$_SESSION["pwds"]){session_regenerate_id();$Hc=$o->permanentLogin();foreach($Eb
as$d=>$b){list(,$sf)=explode(":",$b);list($Kb,$F,$P)=array_map('base64_decode',explode("-",$d));$_SESSION["pwds"][$Kb][$F][$P]=decrypt_string(base64_decode($sf),$Hc);}}function
auth_error($Je=null){global$g,$o,$N;$Ic=session_name();$n="";if(!$_COOKIE[$Ic]&&$_GET[$Ic]&&ini_bool("session.use_only_cookies")){$n=lang(59);}elseif(isset($_GET["username"])){if(($_COOKIE[$Ic]||$_GET[$Ic])&&!$N){$n=lang(60);}else{$T=&get_session("pwds");if(isset($T)){$n=h($Je?$Je->getMessage():(is_string($g)?$g:lang(61)));$T=null;}}}page_header(lang(23),$n,null);echo"\n";page_footer("auth");}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);page_header(lang(62),lang(63,implode(", ",$mc)),false);page_footer("auth");exit;}$g=connect();}if(is_string($g)||!$o->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$N=$_SESSION["token"];if(isset($_POST["server"])&&$_POST["token"]){$_POST["token"]=$N;}$n=($_POST?($_POST["token"]==$N?"":lang(57)):($_SERVER["REQUEST_METHOD"]!="POST"?"":lang(64,'"post_max_size"')));function
connect_error(){global$g,$N,$n,$ma;$_=array();if(DB!=""){page_header(lang(65).": ".h(DB),lang(66),true);}else{if($_POST["db"]&&!$n){queries_redirect(substr(ME,0,-1),lang(67),drop_databases($_POST["db"]));}page_header(lang(68),$n,false);echo"".lang(69)."\n";foreach(array('privileges'=>lang(70),'processlist'=>lang(71),'variables'=>lang(72),'status'=>lang(73),)as$d=>$b){if(support($d)){echo"$b\n";}}echo" ".lang(74,$ma[DRIVER],"$g->server_info","$g->extension")."\n"," ".lang(75,"".h(logged_user())."")."\n";if($_GET["refresh"]){set_session("dbs",null);}$_=get_databases();if($_){$yd=support("scheme");$Y=collations();echo" \n";}}page_footer("db");if($_){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(80).": ".h($_GET["ns"]),lang(81),true);page_footer("ns");exit;}}function
select($i,$H=null,$Pe=""){$La=array();$J=array();$B=array();$Ne=array();$S=array();odd('');for($l=0;$a=$i->fetch_row();$l++){if(!$l){echo"\n","";for($ra=0;$rafetch_field();$Ha=$e->orgtable;$zc=$e->orgname;if($Ha!=""){if(!isset($J[$Ha])){$J[$Ha]=array();foreach(indexes($Ha,$H)as$x){if($x["type"]=="PRIMARY"){$J[$Ha]=array_flip($x["columns"]);break;}}$B[$Ha]=$J[$Ha];}if(isset($B[$Ha][$zc])){unset($B[$Ha][$zc]);$J[$Ha][$zc]=$ra;$La[$ra]=$Ha;}}if($e->charsetnr==63){$Ne[$ra]=true;}$S[$ra]=$e->type;$f=h($e->name);echo"| name!=$zc?" title='".h(($Ha!=""?"$Ha.":"").$zc)."'":"").">".($Pe?"$f":$f);}echo" | \n";}echo"";foreach($a
as$d=>$b){if(!isset($b)){$b="NULL";}else{if($Ne[$d]&&!is_utf8($b)){$b="".lang(32,strlen($b))."";}elseif(!strlen($b)){$b=" ";}else{$b=h($b);if($S[$d]==254){$b="$b";}}if(isset($La[$d])&&!$B[$La[$d]]){$w="edit=".urlencode($La[$d]);foreach($J[$La[$d]]as$Pc=>$ra){$w.="&where".urlencode("[".bracket_escape($Pc)."]")."=".urlencode($a[$ra]);}$b="$b";}}echo"$b";}}echo($l?" | ":"".lang(82))."\n";}function
referencable_primary($jf){$c=array();foreach(table_status()as$Ga=>$h){if($Ga!=$jf&&fk_support($h)){foreach(fields($Ga)as$e){if($e["primary"]){if($c[$Ga]){unset($c[$Ga]);break;}$c[$Ga]=$e;}}}}return$c;}function
textarea($f,$q,$G=10,$rb=80){echo"";}function
format_time($qc,$lc){return" (".lang(83,max(0,$lc[0]-$qc[0]+$lc[1]-$qc[1])).")";}function
edit_type($d,$e,$Y,$ea=array()){global$Ma,$S,$ib,$hb;echo' |
| | ',"',($ib?"':''),($ea?" ":" ");}function
process_length($X){global$Fb;return(preg_match("~^\\s*(?:$Fb)(?:\\s*,\\s*(?:$Fb))*\\s*\$~",$X)&&preg_match_all("~$Fb~",$X,$oa)?implode(",",$oa[0]):preg_replace('~[^0-9,+-]~','',$X));}function
process_type($e,$nc="COLLATE"){global$ib;return" $e[type]".($e["length"]!=""?"(".process_length($e["length"]).")":"").(ereg('int|float|double|decimal',$e["type"])&&in_array($e["unsigned"],$ib)?" $e[unsigned]":"").(ereg('char|text|enum|set',$e["type"])&&$e["collation"]?" $nc ".q($e["collation"]):"");}function
process_field($e,$Rc){return
array(idf_escape($e["field"]),process_type($Rc),($e["null"]?" NULL":" NOT NULL"),(isset($e["default"])?" DEFAULT ".($e["type"]=="timestamp"&&eregi("^CURRENT_TIMESTAMP$",$e["default"])?$e["default"]:q($e["default"])):""),($e["on_update"]?" ON UPDATE $e[on_update]":""),(support("comment")&&$e["comment"]!=""?" COMMENT ".q($e["comment"]):""),($e["auto_increment"]?auto_increment():null),);}function
type_class($z){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$d=>$b){if(ereg("$d|$b",$z)){return" class='$d'";}}}function
edit_fields($p,$Y,$z="TABLE",$gf=0,$ea=array(),$Gb=false){global$jc;foreach($p
as$e){if($e["comment"]!=""){$Gb=true;break;}}echo'
';if($z=="PROCEDURE"){echo'| ';}echo' | ',($z=="TABLE"?lang(87):lang(88)),' | ',lang(89),'
| ',lang(90),' | ',lang(91);if($z=="TABLE"){echo' | NULL
| AI
| ',lang(93),(support("comment")?" | ".lang(94):"");}echo' | ',"",'
|
|
';foreach($p
as$l=>$e){$l++;$zd=$e[($_POST?"orig":"field")];$Me=(isset($_POST["add"][$l-1])||(isset($e["field"])&&!$_POST["drop_col"][$l]))&&(support("drop_col")||$zd=="");echo'
',($z=="PROCEDURE"?"| ".html_select("fields[$l][inout]",$jc,$e["inout"]):""),' | ';if($Me){echo'1?"":"editingAddRow(this, $gf); "),'editingNameChange(this);" maxlength="64">';}echo'
';edit_type("fields[$l]",$e,$Y,$ea);if($z=="TABLE"){echo' | ',checkbox("fields[$l][null]",1,$e["null"]),' | onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }">
|
',(support("comment")?" | ":"");}echo" | ",(support("move_col")?" "." "." ":""),($zd==""||support("drop_col")?"":""),"\n";}return$Gb;}function
process_fields(&$p){ksort($p);$O=0;if($_POST["up"]){$yb=0;foreach($p
as$d=>$e){if(key($_POST["up"])==$d){unset($p[$d]);array_splice($p,$yb,0,array($e));break;}if(isset($e["field"])){$yb=$O;}$O++;}}if($_POST["down"]){$pa=false;foreach($p
as$d=>$e){if(isset($e["field"])&&$pa){unset($p[key($_POST["down"])]);array_splice($p,$O,0,array($pa));break;}if(key($_POST["down"])==$d){$pa=$e;}$O++;}}$p=array_values($p);if($_POST["add"]){array_splice($p,key($_POST["add"]),0,array(array()));}}function
normalize_enum($k){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($k[0][0].$k[0][0],$k[0][0],substr($k[0],1,-1))),'\\'))."'";}function
grant($ja,$ta,$B,$Db){if(!$ta){return
true;}if($ta==array("ALL PRIVILEGES","GRANT OPTION")){return($ja=="GRANT"?queries("$ja ALL PRIVILEGES$Db WITH GRANT OPTION"):queries("$ja ALL PRIVILEGES$Db")&&queries("$ja GRANT OPTION$Db"));}return
queries("$ja ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$B, ",$ta).$B).$Db);}function
drop_create($Fa,$la,$fa,$Ie,$Sf,$Rf,$f){if($_POST["drop"]){return
query_redirect($Fa,$fa,$Ie,true,!$_POST["dropped"]);}$bb=$f!=""&&($_POST["dropped"]||queries($Fa));$Pf=queries($la);if(!queries_redirect($fa,($f!=""?$Sf:$Rf),$Pf)&&$bb){redirect(null,$Ie);}return$bb;}function
tar_file($ka,$Id){$c=pack("a100a8a8a8a12a12",$ka,644,0,0,decoct(strlen($Id)),decoct(time()));$He=8*32;for($l=0;$lresult("SELECT".limit(idf_escape($_GET["field"])." FROM ".table($m)," WHERE ".where($_GET),1));exit;}elseif(isset($_GET["table"])){$m=$_GET["table"];$p=fields($m);if(!$p){$n=error();}$E=($p?table_status($m):array());page_header(($p&&is_view($E)?lang(99):lang(100)).": ".h($m),$n);$o->selectLinks($E);$Aa=$E["Comment"];if($Aa!=""){echo" ".lang(94).": ".h($Aa)."\n";}if($p){echo" \n","| ".lang(101)." | ".lang(89).(support("comment")?" | ".lang(94):"")." | \n";foreach($p
as$e){echo"| ".h($e["field"])," | ".h($e["full_type"]).($e["null"]?" NULL":"").($e["auto_increment"]?" ".lang(92)."":""),(support("comment")?" | ".nbsp($e["comment"]):""),"\n";}echo" |
|---|
\n";if(!is_view($E)){echo"".lang(102)."\n";$J=indexes($m);if($J){echo"\n";foreach($J
as$f=>$x){ksort($x["columns"]);$pb=array();foreach($x["columns"]as$d=>$b){$pb[]="".h($b)."".($x["lengths"][$d]?"(".$x["lengths"][$d].")":"");}echo"| $x[type] | ".implode(", ",$pb)."\n";}echo" |
|---|
\n";}echo''.lang(103)."\n";if(fk_support($E)){echo" ".lang(84)."\n";$ea=foreign_keys($m);if($ea){echo"\n","| ".lang(104)." | ".lang(105)." | ".lang(86)." | ".lang(106).($v!="sqlite"?" | ":"")." | \n";foreach($ea
as$f=>$A){$w=($A["db"]!=""?"".h($A["db"]).".":"").h($A["table"]);echo"","| ".implode(", ",array_map('h',$A["source"])).""," | $w","(".implode(", ",array_map('h',$A["target"])).")"," | $A[on_delete]\n"," | $A[on_update]\n";if($v!="sqlite"){echo' | '.lang(107).'';}}echo" | \n";}if($v!="sqlite"){echo''.lang(108)."\n";}}if(support("trigger")){echo" ".lang(109)."\n";$cd=triggers($m);if($cd){echo"\n";foreach($cd
as$d=>$b){echo"| $b[0] | $b[1] | ".h($d)." | ".lang(107)."\n";}echo" |
|---|
\n";}echo''.lang(110)."\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(111),"",array(),DB);$sb=array();$Ce=array();$f="adminer_schema";preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$f-".DB]?"$f-".DB:$f)]),$oa,PREG_SET_ORDER);foreach($oa
as$l=>$k){$sb[$k[1]]=array($k[2],$k[3]);$Ce[]="\n\t'".js_ad_escape($k[1])."': [ $k[2], $k[3] ]";}$Yb=0;$Fe=-1;$Oa=array();$Ee=array();$Qe=array();foreach(table_status()as$a){if(!isset($a["Engine"])){continue;}$rc=0;$Oa[$a["Name"]]["fields"]=array();foreach(fields($a["Name"])as$f=>$e){$rc+=1.25;$e["pos"]=$rc;$Oa[$a["Name"]]["fields"][$f]=$e;}$Oa[$a["Name"]]["pos"]=($sb[$a["Name"]]?$sb[$a["Name"]]:array($Yb,0));foreach($o->foreignKeys($a["Name"])as$b){if(!$b["db"]){$wa=$Fe;if($sb[$a["Name"]][1]||$sb[$b["table"]][1]){$wa=min(floatval($sb[$a["Name"]][1]),floatval($sb[$b["table"]][1]))-1;}else{$Fe-=.1;}while($Qe[(string)$wa]){$wa-=.0001;}$Oa[$a["Name"]]["references"][$b["table"]][(string)$wa]=array($b["source"],$b["target"]);$Ee[$b["table"]][$a["Name"]][(string)$wa]=$b["target"];$Qe[(string)$wa]=true;}}$Yb=max($Yb,$Oa[$a["Name"]]["pos"][0]+2.5+$rc);}echo'
';foreach($Oa
as$f=>$h){echo" ",' '.h($f)."\n";foreach($h["fields"]as$e){$b=' '.h($e["field"]).'';echo($e["primary"]?" $b":$b)." \n";}foreach((array)$h["references"]as$cc=>$pc){foreach($pc
as$wa=>$Sc){$_c=$wa-$sb[$f][1];$l=0;foreach($Sc[0]as$Da){echo" \n";}}}foreach((array)$Ee[$f]as$cc=>$pc){foreach($pc
as$wa=>$B){$_c=$wa-$sb[$f][1];$l=0;foreach($B
as$ha){echo" \n";}}}echo" \n";}foreach($Oa
as$f=>$h){foreach((array)$h["references"]as$cc=>$pc){foreach($pc
as$wa=>$Sc){$Uc=$Yb;$nd=-10;foreach($Sc[0]as$d=>$Da){$cf=$h["pos"][0]+$h["fields"][$Da]["pos"];$bf=$Oa[$cc]["pos"][0]+$Oa[$cc]["fields"][$Sc[1][$d]]["pos"];$Uc=min($Uc,$cf,$bf);$nd=max($nd,$cf,$bf);}echo" \n";}}}echo'
',lang(112),'
';}elseif(isset($_GET["dump"])){$m=$_GET["dump"];if($_POST){$ff="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$d){$ff.="&$d=".urlencode($_POST[$d]);}cookie("adminer_export",substr($ff,1));$Ib=dump_headers(($m!=""?$m:DB),(DB==""||count((array)$_POST["tables"]+(array)$_POST["data"])>1));$ub=($_POST["format"]=="sql");if($ub){echo"-- Adminer $wc ".$ma[DRIVER]." dump
".($v!="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"];$_=array(DB);if(DB==""){$_=$_POST["databases"];if(is_string($_)){$_=explode("\n",rtrim(str_replace("\r","",$_),"\n"));}}foreach((array)$_
as$t){if($g->select_db($t)){if($ub&&ereg('CREATE',$V)&&($la=$g->result("SHOW CREATE DATABASE ".idf_escape($t),1))){if($V=="DROP+CREATE"){echo"DROP DATABASE IF EXISTS ".idf_escape($t).";\n";}echo($V=="CREATE+ALTER"?preg_replace('~^CREATE DATABASE ~','\\0IF NOT EXISTS ',$la):$la).";\n";}if($ub){if($V){echo
use_sql($t).";\n\n";}if(in_array("CREATE+ALTER",array($V,$_POST["table_style"]))){echo"SET @adminer_alter = '';\n\n";}$nb="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Wa){foreach(get_rows("SHOW $Wa STATUS WHERE Db = ".q($t),null,"-- ")as$a){$nb.=($V!='DROP+CREATE'?"DROP $Wa IF EXISTS ".idf_escape($a["Name"]).";;\n":"").$g->result("SHOW CREATE $Wa ".idf_escape($a["Name"]),2).";;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$a){$nb.=($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($nb){echo"DELIMITER ;;\n\n$nb"."DELIMITER ;\n\n";}}if($_POST["table_style"]||$_POST["data_style"]){$W=array();foreach(table_status()as$a){$h=(DB==""||in_array($a["Name"],(array)$_POST["tables"]));$Te=(DB==""||in_array($a["Name"],(array)$_POST["data"]));if($h||$Te){if(!is_view($a)){if($Ib=="tar"){ob_start();}$o->dumpTable($a["Name"],($h?$_POST["table_style"]:""));if($Te){$o->dumpData($a["Name"],$_POST["data_style"],"SELECT * FROM ".table($a["Name"]));}if($ub&&$_POST["triggers"]&&$h&&($cd=trigger_sql($a["Name"],$_POST["table_style"]))){echo"\nDELIMITER ;;\n$cd\nDELIMITER ;\n";}if($Ib=="tar"){echo
tar_file((DB!=""?"":"$t/")."$a[Name].csv",ob_get_clean());}elseif($ub){echo"\n";}}elseif($ub){$W[]=$a["Name"];}}}foreach($W
as$ec){$o->dumpTable($ec,$_POST["table_style"],true);}if($Ib=="tar"){echo
pack("x512");}}if($V=="CREATE+ALTER"&&$ub){$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){$Aa=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 != $Aa THEN
ALTER TABLE ".idf_escape($a["TABLE_NAME"])." ENGINE=$a[ENGINE] COLLATE=$a[TABLE_COLLATION] COMMENT=$Aa;
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"]))&&$ub){echo"SELECT @adminer_alter;\n";}}}if($ub){echo"-- ".$g->result("SELECT NOW()")."\n";}exit;}page_header(lang(113),"",($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
';$za=true;foreach($qd
as$d=>$b){if($d!=""&&$b>1){echo($za?"":" ")."".h($d)."";$za=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(70));$i=$g->query("SELECT User, Host FROM mysql.user ORDER BY Host, User");if(!$i){echo'
';$i=$g->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");}echo"\n","| | ".lang(21)." | ".lang(20)." | \n";while($a=$i->fetch_assoc()){echo'| '.lang(119).' | '.h($a["User"])." | ".h($a["Host"])."\n";}echo" | \n",''.lang(120)."";}elseif(isset($_GET["sql"])){if(!$n&&$_POST["export"]){dump_headers("sql");$o->dumpTable("","");$o->dumpData("","table",$_POST["query"]);exit;}restart_session();$Of=&get_session("queries");$Ya=&$Of[DB];if(!$n&&$_POST["clear"]){$Ya=array();redirect(remove_from_uri("history"));}page_header(lang(43),$n);if(!$n&&$_POST){$Pa=false;$j=$_POST["query"];if($_POST["webfile"]){$Pa=@fopen((file_exists("adminer.sql")?"adminer.sql":(file_exists("adminer.sql.gz")?"compress.zlib://adminer.sql.gz":"compress.bzip2://adminer.sql.bz2")),"rb");$j=($Pa?fread($Pa,1e6):false);}elseif($_FILES&&$_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){$Z=$j.(ereg(';$',$j)?"":";");if(!$Ya||end($Ya)!=$Z){$Ya[]=$Z;}}$Tc="(\\s|/\\*.*\\*/|(#|-- )[^\n]*\n|--\n)";if(!ini_bool("session.use_cookies")){session_write_close();}$kd=";";$O=0;$fc=true;$H=connect();if(is_object($H)&&DB!=""){$H->select_db(DB);}$Bb=0;$Qc=array();$Ef='[\'`"]'.($v=="pgsql"?'|\\$[^$]*\\$':($v=="mssql"||$v=="sqlite"?'|\\[':'')).'|/\\*|-- |#';$Ff=explode(" ",microtime());parse_str($_COOKIE["adminer_export"],$dc);$Sd=$o->dumpFormat();unset($Sd["sql"]);while($j!=""){if(!$O&&$v=="sql"&&preg_match('~^\\s*DELIMITER\\s+(.+)~i',$j,$k)){$kd=$k[1];$j=substr($j,strlen($k[0]));}else{preg_match('('.preg_quote($kd)."|$Ef|\$)",$j,$k,PREG_OFFSET_CAPTURE,$O);$pa=$k[0][0];$O=$k[0][1]+strlen($pa);if(!$pa&&$Pa&&!feof($Pa)){$j.=fread($Pa,1e5);}else{if(!$pa&&rtrim($j)==""){break;}if($pa&&$pa!=$kd){while(preg_match('('.($pa=='/*'?'\\*/':($pa=='['?']':(ereg('^-- |^#',$pa)?"\n":preg_quote($pa)."|\\\\."))).'|$)s',$j,$k,PREG_OFFSET_CAPTURE,$O)){$na=$k[0][0];$O=$k[0][1]+strlen($na);if(!$na&&$Pa&&!feof($Pa)){$j.=fread($Pa,1e6);}elseif($na[0]!="\\"){break;}}}else{$fc=false;$Z=substr($j,0,$k[0][1]);$Bb++;$pb=" ".shorten_utf8(trim($Z),1000)." \n";if(!$_POST["only_errors"]){echo$pb;ob_flush();flush();}$qc=explode(" ",microtime());if($g->multi_query($Z)){if(is_object($H)&&preg_match("~^$Tc*(USE)\\b~isU",$Z)){$H->query($Z);}do{$i=$g->store_result();$lc=explode(" ",microtime());$Ud=format_time($qc,$lc).(strlen($Z)<1000?" ".lang(31)."":"");if(!is_object($i)){if(preg_match("~^$Tc*(CREATE|DROP|ALTER)$Tc+(DATABASE|SCHEMA)\\b~isU",$Z)){restart_session();set_session("dbs",null);session_write_close();}if(!$_POST["only_errors"]){echo"".lang(121,$g->affected_rows)."$Ud\n";}}else{if($_POST["only_errors"]){echo$pb;$pb="";}select($i,$H);echo" \n";}$qc=$lc;}while($g->next_result());}elseif($g->error){echo($_POST["only_errors"]?$pb:""),"".lang(123).": ".error()."\n";$Qc[]=" $Bb";if($_POST["error_stops"]){break;}}$j=substr($j,$O);$O=0;}}}}if($fc){echo" ".lang(124)."\n";}elseif($_POST["only_errors"]){echo" ".lang(125,$Bb-count($Qc)).format_time($Ff,explode(" ",microtime()))."\n";}elseif($Qc&&$Bb>1){echo" ".lang(123).": ".implode("",$Qc)."\n";}}else{echo" ".upload_error($j)."\n";}}echo'
';}elseif(isset($_GET["edit"])){$m=$_GET["edit"];$s=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0]):""):where($_GET));$qa=(isset($_GET["select"])?$_POST["edit"]:$s);$p=fields($m);foreach($p
as$f=>$e){if(!isset($e["privileges"][$qa?"update":"insert"])||$o->fieldName($e)==""){unset($p[$f]);}}if($_POST&&!$n&&!isset($_GET["select"])){$fa=$_POST["referer"];if($_POST["insert"]){$fa=($qa?null:$_SERVER["REQUEST_URI"]);}elseif(!ereg('^.+&select=.+$',$fa)){$fa=ME."select=".urlencode($m);}if(isset($_POST["delete"])){query_redirect("DELETE".limit1("FROM ".table($m)," WHERE $s"),$fa,lang(137));}else{$r=array();foreach($p
as$f=>$e){$b=process_input($e);if($b!==false&&$b!==null){$r[idf_escape($f)]=($qa?"\n".idf_escape($f)." = $b":$b);}}if($qa){if(!$r){redirect($fa);}query_redirect("UPDATE".limit1(table($m)." SET".implode(",",$r),"\nWHERE $s"),$fa,lang(138));}else{$i=insert_into($m,$r);$Xd=($i?last_id():0);queries_redirect($fa,lang(139,($Xd?" $Xd":"")),$i);}}}$Ga=$o->tableName(table_status($m));page_header(($qa?lang(31):lang(140)),$n,array("select"=>array($m,$Ga)),$Ga);$a=null;if($_POST["save"]){$a=(array)$_POST["fields"];}elseif($s){$Q=array();foreach($p
as$f=>$e){if(isset($e["privileges"]["select"])){$Q[]=($_POST["clone"]&&$e["auto_increment"]?"'' AS ":(ereg("enum|set",$e["type"])?"1*".idf_escape($f)." AS ":"")).idf_escape($f);}}$a=array();if($Q){$G=get_rows("SELECT".limit(implode(", ",$Q)." FROM ".table($m)," WHERE $s",(isset($_GET["select"])?2:1)));$a=(isset($_GET["select"])&&count($G)!=1?null:reset($G));}}echo'
';}elseif(isset($_GET["create"])){$m=$_GET["create"];$Wd=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$Rd=referencable_primary($m);$ea=array();foreach($Rd
as$Ga=>$e){$ea[str_replace("`","``",$Ga)."`".str_replace("`","``",$e["field"])]=$Ga;}$Vc=array();$Wc=array();if($m!=""){$Vc=fields($m);$Wc=table_status($m);}if($_POST&&!$_POST["fields"]){$_POST["fields"]=array();}if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){if($_POST["drop"]){query_redirect("DROP TABLE ".table($m),substr(ME,0,-1),lang(145));}else{$p=array();$Qa=array();ksort($_POST["fields"]);$vd=reset($Vc);$Mb="FIRST";foreach($_POST["fields"]as$d=>$e){$A=$ea[$e["type"]];$Rc=(isset($A)?$Rd[$A]:$e);if($e["field"]!=""){if(!$e["has_default"]){$e["default"]=null;}$Ba=eregi_replace(" *on update CURRENT_TIMESTAMP","",$e["default"]);if($Ba!=$e["default"]){$e["on_update"]="CURRENT_TIMESTAMP";$e["default"]=$Ba;}if($d==$_POST["auto_increment_col"]){$e["auto_increment"]=true;}$Qd=process_field($e,$Rc);if($Qd!=process_field($vd,$vd)){$p[]=array($e["orig"],$Qd,$Mb);}if(isset($A)){$Qa[idf_escape($e["field"])]=($m!=""?"ADD":" ")." FOREIGN KEY (".idf_escape($e["field"]).") REFERENCES ".table($ea[$e["type"]])." (".idf_escape($Rc["field"]).")".(in_array($e["on_delete"],$hb)?" ON DELETE $e[on_delete]":"");}$Mb="AFTER ".idf_escape($e["field"]);}elseif($e["orig"]!=""){$p[]=array($e["orig"]);}if($e["orig"]!=""){$vd=next($Vc);}}$xb="";if(in_array($_POST["partition_by"],$Wd)){$Od=array();if($_POST["partition_by"]=='RANGE'||$_POST["partition_by"]=='LIST'){foreach(array_filter($_POST["partition_names"])as$d=>$b){$q=$_POST["partition_values"][$d];$Od[]="\nPARTITION ".idf_escape($b)." VALUES ".($_POST["partition_by"]=='RANGE'?"LESS THAN":"IN").($q!=""?" ($q)":" MAXVALUE");}}$xb.="\nPARTITION BY $_POST[partition_by]($_POST[partition])".($Od?" (".implode(",",$Od)."\n)":($_POST["partitions"]?" PARTITIONS ".(+$_POST["partitions"]):""));}elseif($m!=""&&support("partitioning")){$xb.="\nREMOVE PARTITIONING";}$ua=lang(146);if($m==""){cookie("adminer_engine",$_POST["Engine"]);$ua=lang(147);}queries_redirect(ME."table=".urlencode($_POST["name"]),$ua,alter_table($m,$_POST["name"],$p,$Qa,$_POST["Comment"],($_POST["Engine"]&&$_POST["Engine"]!=$Wc["Engine"]?$_POST["Engine"]:""),($_POST["Collation"]&&$_POST["Collation"]!=$Wc["Collation"]?$_POST["Collation"]:""),($_POST["Auto_increment"]!=""?+$_POST["Auto_increment"]:""),$xb));}}page_header(($m!=""?lang(28):lang(148)),$n,array("table"=>$m),$m);$a=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($S["int"])?"int":(isset($S["integer"])?"integer":"")))),"partition_names"=>array(""),);if($_POST){$a=$_POST;if($a["auto_increment_col"]){$a["fields"][$a["auto_increment_col"]]["auto_increment"]=true;}process_fields($a["fields"]);}elseif($m!=""){$a=$Wc;$a["name"]=$m;$a["fields"]=array();if(!$_GET["auto_increment"]){$a["Auto_increment"]="";}foreach($Vc
as$e){$e["has_default"]=isset($e["default"]);if($e["on_update"]){$e["default"].=" ON UPDATE $e[on_update]";}$a["fields"][]=$e;}if(support("partitioning")){$Xb="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 $Xb ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($a["partition_by"],$a["partitions"],$a["partition"])=$i->fetch_row();$a["partition_names"]=array();$a["partition_values"]=array();foreach(get_rows("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Xb AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION")as$fd){$a["partition_names"][]=$fd["PARTITION_NAME"];$a["partition_values"][]=$fd["PARTITION_DESCRIPTION"];}$a["partition_names"][]="";}}$Y=collations();$Md=floor(extension_loaded("suhosin")?(min(ini_get("suhosin.request.max_vars"),ini_get("suhosin.post.max_vars"))-13)/10:0);if($Md&&count($a["fields"])>$Md){echo"".h(lang(149,'suhosin.post.max_vars','suhosin.request.max_vars'))."\n";}$Cd=engines();foreach($Cd
as$zb){if(!strcasecmp($zb,$a["Engine"])){$a["Engine"]=$zb;break;}}echo'
';}elseif(isset($_GET["indexes"])){$m=$_GET["indexes"];$ad=array("PRIMARY","UNIQUE","INDEX");$E=table_status($m);if(eregi("MyISAM|M?aria",$E["Engine"])){$ad[]="FULLTEXT";}$J=indexes($m);if($v=="sqlite"){unset($ad[0]);unset($J[""]);}if($_POST&&!$n&&!$_POST["add"]){$u=array();foreach($_POST["indexes"]as$x){if(in_array($x["type"],$ad)){$B=array();$Ub=array();$r=array();ksort($x["columns"]);foreach($x["columns"]as$d=>$C){if($C!=""){$X=$x["lengths"][$d];$r[]=idf_escape($C).($X?"(".(+$X).")":"");$B[]=$C;$Ub[]=($X?$X:null);}}if($B){foreach($J
as$f=>$Ab){ksort($Ab["columns"]);ksort($Ab["lengths"]);if($x["type"]==$Ab["type"]&&array_values($Ab["columns"])===$B&&(!$Ab["lengths"]||array_values($Ab["lengths"])===$Ub)){unset($J[$f]);continue
2;}}$u[]=array($x["type"],"(".implode(", ",$r).")");}}}foreach($J
as$f=>$Ab){$u[]=array($Ab["type"],idf_escape($f),"DROP");}if(!$u){redirect(ME."table=".urlencode($m));}queries_redirect(ME."table=".urlencode($m),lang(156),alter_indexes($m,$u));}page_header(lang(102),$n,array("table"=>$m),$m);$p=array_keys(fields($m));$a=array("indexes"=>$J);if($_POST){$a=$_POST;if($_POST["add"]){foreach($a["indexes"]as$d=>$x){if($x["columns"][count($x["columns"])]!=""){$a["indexes"][$d]["columns"][]="";}}$x=end($a["indexes"]);if($x["type"]||array_filter($x["columns"],'strlen')||array_filter($x["lengths"],'strlen')){$a["indexes"][]=array("columns"=>array(1=>""));}}}else{foreach($a["indexes"]as$d=>$x){$a["indexes"][$d]["columns"][]="";}$a["indexes"][]=array("columns"=>array(1=>""));}echo'
';}elseif(isset($_GET["database"])){if($_POST&&!$n&&!isset($_POST["add_x"])){restart_session();if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(159),drop_databases(array(DB)));}elseif(DB!==$_POST["name"]){if(DB!=""){$_GET["db"]=$_POST["name"];queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($_POST["name"]),lang(160),rename_database($_POST["name"],$_POST["collation"]));}else{$_=explode("\n",str_replace("\r","",$_POST["name"]));$ye=true;$yb="";foreach($_
as$t){if(count($_)==1||$t!=""){if(!create_database($t,$_POST["collation"])){$ye=false;}$yb=$t;}}queries_redirect(ME."db=".urlencode($yb),lang(161),$ye);}}else{if(!$_POST["collation"]){redirect(substr(ME,0,-1));}query_redirect("ALTER DATABASE ".idf_escape($_POST["name"]).(eregi('^[a-z0-9_]+$',$_POST["collation"])?" COLLATE $_POST[collation]":""),substr(ME,0,-1),lang(162));}}page_header(DB!=""?lang(46):lang(163),$n,array(),DB);$Y=collations();$f=DB;$nc=null;if($_POST){$f=$_POST["name"];$nc=$_POST["collation"];}elseif(DB!=""){$nc=db_collation(DB,$Y);}elseif($v=="sql"){foreach(get_vals("SHOW GRANTS")as$ja){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$ja,$k)&&$k[1]){$f=stripcslashes(idf_unescape("`$k[2]`"));break;}}}echo'
';}elseif(isset($_GET["scheme"])){if($_POST&&!$n){$w=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"]){query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$w,lang(164));}else{$w.=urlencode($_POST["name"]);if($_GET["ns"]==""){query_redirect("CREATE SCHEMA ".idf_escape($_POST["name"]),$w,lang(165));}elseif($_GET["ns"]!=$_POST["name"]){query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($_POST["name"]),$w,lang(166));}else{redirect($w);}}}page_header($_GET["ns"]!=""?lang(47):lang(48),$n);$a=array("name"=>$_GET["ns"]);if($_POST){$a=$_POST;}echo'
';}elseif(isset($_GET["call"])){$Ra=$_GET["call"];page_header(lang(167).": ".h($Ra),$n);$Wa=routine($Ra,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Rb=array();$nb=array();foreach($Wa["fields"]as$l=>$e){if(substr($e["inout"],-3)=="OUT"){$nb[$l]="@".idf_escape($e["field"])." AS ".idf_escape($e["field"]);}if(!$e["inout"]||substr($e["inout"],0,2)=="IN"){$Rb[]=$l;}}if(!$n&&$_POST){$re=array();foreach($Wa["fields"]as$d=>$e){if(in_array($d,$Rb)){$b=process_input($e);if($b===false){$b="''";}if(isset($nb[$d])){$g->query("SET @".idf_escape($e["field"])." = $b");}}$re[]=(isset($nb[$d])?"@".idf_escape($e["field"]):$b);}$j=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($Ra)."(".implode(", ",$re).")";echo"".h($j)." ".lang(31)."\n";if(!$g->multi_query($j)){echo"
".error()."\n";}else{do{$i=$g->store_result();if(is_object($i)){select($i);}else{echo" ".lang(168,$g->affected_rows)."\n";}}while($g->next_result());if($nb){select($g->query("SELECT ".implode(", ",$nb)));}}}echo'
';}elseif(isset($_GET["foreign"])){$m=$_GET["foreign"];if($_POST&&!$n&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"]){query_redirect("ALTER TABLE ".table($m)."\nDROP ".($v=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($_GET["name"]),ME."table=".urlencode($m),lang(169));}else{$Da=array_filter($_POST["source"],'strlen');ksort($Da);$ha=array();foreach($Da
as$d=>$b){$ha[$d]=$_POST["target"][$d];}query_redirect("ALTER TABLE ".table($m).($_GET["name"]!=""?"\nDROP FOREIGN KEY ".idf_escape($_GET["name"]).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$Da)).") REFERENCES ".table($_POST["table"])." (".implode(", ",array_map('idf_escape',$ha)).")".(in_array($_POST["on_delete"],$hb)?" ON DELETE $_POST[on_delete]":"").(in_array($_POST["on_update"],$hb)?" ON UPDATE $_POST[on_update]":""),ME."table=".urlencode($m),($_GET["name"]!=""?lang(170):lang(171)));$n=lang(172)." $n";}}page_header(lang(173),$n,array("table"=>$m),$m);$a=array("table"=>$m,"source"=>array(""));if($_POST){$a=$_POST;ksort($a["source"]);if($_POST["add"]){$a["source"][]="";}elseif($_POST["change"]||$_POST["change-js"]){$a["target"]=array();}}elseif($_GET["name"]!=""){$ea=foreign_keys($m);$a=$ea[$_GET["name"]];$a["source"][]="";}$Da=array_keys(fields($m));$ha=($m===$a["table"]?$Da:array_keys(fields($a["table"])));$qe=array();foreach(table_status()as$f=>$E){if(fk_support($E)){$qe[]=$f;}}echo'
';}elseif(isset($_GET["view"])){$m=$_GET["view"];$bb=false;if($_POST&&!$n){$bb=drop_create("DROP VIEW ".table($m),"CREATE VIEW ".table($_POST["name"])." AS\n$_POST[select]",($_POST["drop"]?substr(ME,0,-1):ME."table=".urlencode($_POST["name"])),lang(177),lang(178),lang(179),$m);}page_header(($m!=""?lang(27):lang(180)),$n,array("table"=>$m),$m);$a=array();if($_POST){$a=$_POST;}elseif($m!=""){$a=view($m);$a["name"]=$m;}echo'
';}elseif(isset($_GET["event"])){$mb=$_GET["event"];$ne=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$_d=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(182));}elseif(in_array($_POST["INTERVAL_FIELD"],$ne)&&isset($_d[$_POST["STATUS"]])){$oe="\nON SCHEDULE ".($_POST["INTERVAL_VALUE"]?"EVERY ".q($_POST["INTERVAL_VALUE"])." $_POST[INTERVAL_FIELD]".($_POST["STARTS"]?" STARTS ".q($_POST["STARTS"]):"").($_POST["ENDS"]?" ENDS ".q($_POST["ENDS"]):""):"AT ".q($_POST["STARTS"]))." ON COMPLETION".($_POST["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($mb!=""?lang(183):lang(184)),queries(($mb!=""?"ALTER EVENT ".idf_escape($mb).$oe.($mb!=$_POST["EVENT_NAME"]?"\nRENAME TO ".idf_escape($_POST["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($_POST["EVENT_NAME"]).$oe)."\n".$_d[$_POST["STATUS"]]." COMMENT ".q($_POST["EVENT_COMMENT"]).rtrim(" DO\n$_POST[EVENT_DEFINITION]",";").";"));}}page_header(($mb!=""?lang(185).": ".h($mb):lang(186)),$n);$a=array();if($_POST){$a=$_POST;}elseif($mb!=""){$G=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($mb));$a=reset($G);}echo'
';}elseif(isset($_GET["procedure"])){$Ra=$_GET["procedure"];$Wa=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$bb=false;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["drop_col"]&&!$_POST["up"]&&!$_POST["down"]){$r=array();$p=(array)$_POST["fields"];ksort($p);foreach($p
as$e){if($e["field"]!=""){$r[]=(in_array($e["inout"],$jc)?"$e[inout] ":"").idf_escape($e["field"]).process_type($e,"CHARACTER SET");}}$bb=drop_create("DROP $Wa ".idf_escape($Ra),"CREATE $Wa ".idf_escape($_POST["name"])." (".implode(", ",$r).")".(isset($_GET["function"])?" RETURNS".process_type($_POST["returns"],"CHARACTER SET"):"").rtrim("\n$_POST[definition]",";").";",substr(ME,0,-1),lang(191),lang(192),lang(193),$Ra);}page_header(($Ra!=""?(isset($_GET["function"])?lang(194):lang(195)).": ".h($Ra):(isset($_GET["function"])?lang(196):lang(197))),$n);$Y=get_vals("SHOW CHARACTER SET");sort($Y);$a=array("fields"=>array());if($_POST){$a=$_POST;$a["fields"]=(array)$a["fields"];process_fields($a["fields"]);}elseif($Ra!=""){$a=routine($Ra,$Wa);$a["name"]=$Ra;}echo'
';}elseif(isset($_GET["sequence"])){$_b=$_GET["sequence"];if($_POST&&!$n){$w=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP SEQUENCE ".idf_escape($_b),$w,lang(199));}elseif($_b==""){query_redirect("CREATE SEQUENCE ".idf_escape($_POST["name"]),$w,lang(200));}elseif($_b!=$_POST["name"]){query_redirect("ALTER SEQUENCE ".idf_escape($_b)." RENAME TO ".idf_escape($_POST["name"]),$w,lang(201));}else{redirect($w);}}page_header($_b!=""?lang(202).": ".h($_b):lang(203),$n);$a=array("name"=>$_b);if($_POST){$a=$_POST;}echo'
';}elseif(isset($_GET["type"])){$bd=$_GET["type"];if($_POST&&!$n){$w=substr(ME,0,-1);if($_POST["drop"]){query_redirect("DROP TYPE ".idf_escape($bd),$w,lang(204));}else{query_redirect("CREATE TYPE ".idf_escape($_POST["name"])." $_POST[as]",$w,lang(205));}}page_header($bd!=""?lang(206).": ".h($bd):lang(207),$n);$a["as"]="AS ";if($_POST){$a=$_POST;}echo'
';}elseif(isset($_GET["trigger"])){$m=$_GET["trigger"];$Gc=trigger_options();$te=array("INSERT","UPDATE","DELETE");$bb=false;if($_POST&&!$n&&in_array($_POST["Timing"],$Gc["Timing"])&&in_array($_POST["Event"],$te)&&in_array($_POST["Type"],$Gc["Type"])){$Zd=" $_POST[Timing] $_POST[Event]";$Db=" ON ".table($m);$bb=drop_create("DROP TRIGGER ".idf_escape($_GET["name"]).($v=="pgsql"?$Db:""),"CREATE TRIGGER ".idf_escape($_POST["Trigger"]).($v=="mssql"?$Db.$Zd:$Zd.$Db).rtrim(" $_POST[Type]\n$_POST[Statement]",";").";",ME."table=".urlencode($m),lang(208),lang(209),lang(210),$_GET["name"]);}page_header(($_GET["name"]!=""?lang(211).": ".h($_GET["name"]):lang(212)),$n,array("table"=>$m));$a=array("Trigger"=>$m."_bi");if($_POST){$a=$_POST;}elseif($_GET["name"]!=""){$a=trigger($_GET["name"]);}echo'
';}elseif(isset($_GET["user"])){$xd=$_GET["user"];$ta=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$a){foreach(explode(",",($a["Privilege"]=="Grant option"?"":$a["Context"]))as$Fc){$ta[$Fc][$a["Privilege"]]=$a["Comment"];}}$ta["Server Admin"]+=$ta["File access on server"];$ta["Databases"]["Create routine"]=$ta["Procedures"]["Create routine"];unset($ta["Procedures"]["Create routine"]);$ta["Columns"]=array();foreach(array("Select","Insert","Update","References")as$b){$ta["Columns"][$b]=$ta["Tables"][$b];}unset($ta["Server Admin"]["Usage"]);foreach($ta["Tables"]as$d=>$b){unset($ta["Databases"][$d]);}$Cc=array();if($_POST){foreach($_POST["objects"]as$d=>$b){$Cc[$b]=(array)$Cc[$b]+(array)$_POST["grants"][$d];}}$kb=array();$Kc="";if(isset($_GET["host"])&&($i=$g->query("SHOW GRANTS FOR ".q($xd)."@".q($_GET["host"])))){while($a=$i->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$a[0],$k)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$k[1],$oa,PREG_SET_ORDER)){foreach($oa
as$b){if($b[1]!="USAGE"){$kb["$k[2]$b[2]"][$b[1]]=true;}if(ereg(' WITH GRANT OPTION',$a[0])){$kb["$k[2]$b[2]"]["GRANT OPTION"]=true;}}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$a[0],$k)){$Kc=$k[1];}}}if($_POST&&!$n){$Vb=(isset($_GET["host"])?q($xd)."@".q($_GET["host"]):"''");$lb=q($_POST["user"])."@".q($_POST["host"]);$md=q($_POST["pass"]);if($_POST["drop"]){query_redirect("DROP USER $Vb",ME."privileges=",lang(215));}else{if($Vb!=$lb){$n=!queries(($g->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $lb IDENTIFIED BY".($_POST["hashed"]?" PASSWORD":"")." $md");}elseif($_POST["pass"]!=$Kc||!$_POST["hashed"]){queries("SET PASSWORD FOR $lb = ".($_POST["hashed"]?$md:"PASSWORD($md)"));}if(!$n){$Bc=array();foreach($Cc
as$fb=>$ja){if(isset($_GET["grant"])){$ja=array_filter($ja);}$ja=array_keys($ja);if(isset($_GET["grant"])){$Bc=array_diff(array_keys(array_filter($Cc[$fb],'strlen')),$ja);}elseif($Vb==$lb){$le=array_keys((array)$kb[$fb]);$Bc=array_diff($le,$ja);$ja=array_diff($ja,$le);unset($kb[$fb]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$fb,$k)&&(!grant("REVOKE",$Bc,$k[2]," ON $k[1] FROM $lb")||!grant("GRANT",$ja,$k[2]," ON $k[1] TO $lb"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($Vb!=$lb){queries("DROP USER $Vb");}elseif(!isset($_GET["grant"])){foreach($kb
as$fb=>$Bc){if(preg_match('~^(.+)(\\(.*\\))?$~U',$fb,$k)){grant("REVOKE",array_keys($Bc),$k[2]," ON $k[1] FROM $lb");}}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(216):lang(217)),!$n);if($Vb!=$lb){$g->query("DROP USER $lb");}}}page_header((isset($_GET["host"])?lang(21).": ".h("$xd@$_GET[host]"):lang(120)),$n,array("privileges"=>array('',lang(70))));if($_POST){$a=$_POST;$kb=$Cc;}else{$a=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$a["pass"]=$Kc;if($Kc!=""){$a["hashed"]=true;}$kb[""]=true;}echo'
';}elseif(isset($_GET["processlist"])){if($_POST&&!$n){$pd=0;foreach((array)$_POST["kill"]as$b){if(queries("KILL ".(+$b))){$pd++;}}queries_redirect(ME."processlist=",lang(222,$pd),$pd||!$_POST["kill"]);}page_header(lang(71),$n);echo'
';}elseif(isset($_GET["select"])){$m=$_GET["select"];$E=table_status($m);$J=indexes($m);$p=fields($m);$ea=column_foreign_keys($m);if($E["Oid"]=="t"){$J[]=array("type"=>"PRIMARY","columns"=>array("oid"));}$ee=array();$B=array();$Cb=null;foreach($p
as$d=>$e){$f=$o->fieldName($e);if(isset($e["privileges"]["select"])&&$f!=""){$B[$d]=html_entity_decode(strip_tags($f));if(ereg('text|lob',$e["type"])){$Cb=$o->selectLengthProcess();}}$ee+=$e["privileges"];}list($Q,$sa)=$o->selectColumnsProcess($B,$J);$s=$o->selectSearchProcess($p,$J);$Za=$o->selectOrderProcess($p,$J);$L=$o->selectLimitProcess();$Xb=($Q?implode(", ",$Q):($E["Oid"]=="t"?"oid, ":"")."*")."\nFROM ".table($m);$Kd=($sa&&count($sa)$a){echo$g->result("SELECT".limit(idf_escape(key($a))." FROM ".table($m)," WHERE ".where_check($cb).($s?" AND ".implode(" AND ",$s):"").($Za?" ORDER BY ".implode(", ",$Za):""),1));}exit;}if($_POST&&!$n){$ce="(".implode(") OR (",array_map('where_check',(array)$_POST["check"])).")";$Ka=$Oc=null;foreach($J
as$x){if($x["type"]=="PRIMARY"){$Ka=array_flip($x["columns"]);$Oc=($Q?$Ka:array());break;}}foreach($Q
as$d=>$b){$b=$_GET["columns"][$d];if(!$b["fun"]){unset($Oc[$b["col"]]);}}if($_POST["export"]){dump_headers($m);$o->dumpTable($m,"");if(!is_array($_POST["check"])||$Oc===array()){$Wb=$s;if(is_array($_POST["check"])){$Wb[]="($ce)";}$j="SELECT $Xb".($Wb?"\nWHERE ".implode(" AND ",$Wb):"").$Kd;}else{$be=array();foreach($_POST["check"]as$b){$be[]="(SELECT".limit($Xb,"\nWHERE ".($s?implode(" AND ",$s)." AND ":"").where_check($b).$Kd,1).")";}$j=implode(" UNION ALL ",$be);}$o->dumpData($m,"table",$j);exit;}if(!$o->selectEmailProcess($s,$ea)){if($_POST["save"]||$_POST["delete"]){$i=true;$tb=0;$j=table($m);$r=array();if(!$_POST["delete"]){foreach($B
as$f=>$b){$b=process_input($p[$f]);if($b!==null){if($_POST["clone"]){$r[idf_escape($f)]=($b!==false?$b:idf_escape($f));}elseif($b!==false){$r[]=idf_escape($f)." = $b";}}}$j.=($_POST["clone"]?" (".implode(", ",array_keys($r)).")\nSELECT ".implode(", ",$r)."\nFROM ".table($m):" SET\n".implode(",\n",$r));}if($_POST["delete"]||$r){$Lc="UPDATE";if($_POST["delete"]){$Lc="DELETE";$j="FROM $j";}if($_POST["clone"]){$Lc="INSERT";$j="INTO $j";}if($_POST["all"]||($Oc===array()&&$_POST["check"])||count($sa)affected_rows;}else{foreach((array)$_POST["check"]as$b){$i=queries($Lc.limit1($j,"\nWHERE ".where_check($b)));if(!$i){break;}$tb+=$g->affected_rows;}}}queries_redirect(remove_from_uri("page"),lang(225,$tb),$i);}elseif(!$_POST["import"]){if(!$_POST["val"]){$n=lang(226);}else{$i=true;$tb=0;foreach($_POST["val"]as$cb=>$a){$r=array();foreach($a
as$d=>$b){$d=bracket_escape($d,1);$r[]=idf_escape($d)." = ".(ereg('char|text',$p[$d]["type"])||$b!=""?$o->processInput($p[$d],$b):"NULL");}$j=table($m)." SET ".implode(", ",$r);$Wb=" WHERE ".where_check($cb).($s?" AND ".implode(" AND ",$s):"");$i=queries("UPDATE".(count($sa)affected_rows;}queries_redirect(remove_from_uri(),lang(225,$tb),$i);}}elseif(is_string($Ia=get_file("csv_file",true))){$i=true;$rb=array_keys($p);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$Ia,$oa);$tb=count($oa[0]);begin();$Ta=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($oa[0]as$d=>$b){preg_match_all("~((\"[^\"]*\")+|[^$Ta]*)$Ta~",$b.$Ta,$Bd);if(!$d&&!array_diff($Bd[1],$rb)){$rb=$Bd[1];$tb--;}else{$r=array();foreach($Bd[1]as$l=>$Pc){$r[idf_escape($rb[$l])]=($Pc==""&&$p[$rb[$l]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Pc))));}$i=insert_update($m,$r,$Ka);if(!$i){break;}}}if($i){queries("COMMIT");}queries_redirect(remove_from_uri("page"),lang(227,$tb),$i);queries("ROLLBACK");}else{$n=upload_error($Ia);}}}$Ga=$o->tableName($E);page_header(lang(33).": $Ga",$n);session_write_close();$r=null;if(isset($ee["insert"])){$r="";foreach((array)$_GET["where"]as$b){if(count($ea[$b["col"]])==1&&($b["op"]=="="||(!$b["op"]&&!ereg('[_%]',$b["val"])))){$r.="&set".urlencode("[".bracket_escape($b["col"])."]")."=".urlencode($b["val"]);}}}$o->selectLinks($E,$r);if(!$B){echo"".lang(228).($p?".":": ".error())."\n";}else{echo" \n";$da=$_GET["page"];if($da=="last"){$gb=$g->result("SELECT COUNT(*) FROM ".table($m).($s?" WHERE ".implode(" AND ",$s):""));$da=floor(max(0,$gb-1)/$L);}$j="SELECT".limit((+$L&&$sa&&count($sa)selectQuery($j);$i=$g->query($j);if(!$i){echo"".error()."\n";}else{if($v=="mssql"){$i->seek($L*$da);}$Jc=array();echo" \n";}}}elseif(isset($_GET["variables"])){$ac=isset($_GET["status"]);page_header($ac?lang(73):lang(72));$Ze=($ac?show_status():show_variables());if(!$Ze){echo"".lang(82)."\n";}else{echo" \n";foreach($Ze
as$d=>$b){echo"","".h($d).""," | ".nbsp($b);}echo" | \n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$gd=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$a){$R=js_ad_escape($a["Name"]);json_row("Comment-$R",nbsp($a["Comment"]));if(!is_view($a)){foreach(array("Engine","Collation")as$d){json_row("$d-$R",nbsp($a[$d]));}foreach($gd+array("Auto_increment"=>0,"Rows"=>0)as$d=>$b){if($a[$d]!=""){$b=number_format($a[$d],0,'.',lang(236));json_row("$d-$R",($d=="Rows"&&$a["Engine"]=="InnoDB"&&$b?"~ $b":$b));if(isset($gd[$d])){$gd[$d]+=($a["Engine"]!="InnoDB"||$d!="Data_free"?$a[$d]:0);}}elseif(array_key_exists($d,$a)){json_row("$d-$R");}}}}foreach($gd
as$d=>$b){json_row("sum-$d",number_format($b,0,'.',lang(236)));}json_row("");}else{foreach(count_tables(get_databases())as$t=>$b){json_row("tables-".js_ad_escape($t),$b);}json_row("");}exit;}else{$ef=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($ef&&!$n&&!$_POST["search"]){$i=true;$ua="";if($v=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"])){queries("SET foreign_key_checks = 0");}if($_POST["truncate"]){if($_POST["tables"]){$i=truncate_tables($_POST["tables"]);}$ua=lang(237);}elseif($_POST["move"]){$i=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$ua=lang(238);}elseif($_POST["copy"]){$i=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$ua=lang(239);}elseif($_POST["drop"]){if($_POST["views"]){$i=drop_views($_POST["views"]);}if($i&&$_POST["tables"]){$i=drop_tables($_POST["tables"]);}$ua=lang(240);}elseif($_POST["tables"]&&($i=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"]))))){while($a=$i->fetch_assoc()){$ua.="".h($a["Table"]).": ".h($a["Msg_text"])." ";}}queries_redirect(substr(ME,0,-1),$ua,$i);}page_header(($_GET["ns"]==""?lang(65).": ".h(DB):lang(80).": ".h($_GET["ns"])),$n,true);if($o->homepage()){if($_GET["ns"]!==""){echo''.lang(111)."\n","".lang(241)."\n";$dd=tables_list();if(!$dd){echo"".lang(6)."\n";}else{echo" \n";}echo''.lang(148)."\n";if(support("view")){echo''.lang(180)."\n";}if(support("routine")){echo" ".lang(116)."\n";$ue=routines();if($ue){echo"\n";}echo''.lang(197).' '.lang(196)."\n";}if(support("sequence")){echo" ".lang(256)."\n";$Be=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($Be){echo"\n","| ".lang(181)." | \n";odd('');foreach($Be
as$b){echo"| ".h($b)."\n";}echo" |
|---|
\n";}echo"".lang(203)."\n";}if(support("type")){echo" ".lang(11)."\n";$S=types();if($S){echo"\n","| ".lang(181)." | \n";odd('');foreach($S
as$b){echo"| ".h($b)."\n";}echo" |
|---|
\n";}echo"".lang(207)."\n";}if(support("event")){echo" ".lang(117)."\n";$G=get_rows("SHOW EVENTS");if($G){echo"\n","| ".lang(181)." | ".lang(257)." | ".lang(187)." | ".lang(188)." | \n";foreach($G
as$a){echo"",'| '.h($a["Name"]).""," | ".($a["Execute at"]?lang(258)." | ".$a["Execute at"]:lang(189)." ".$a["Interval value"]." ".$a["Interval field"]." | $a[Starts]")," | $a[Ends]";}echo" | \n";}echo''.lang(186)."\n";}if($dd){echo"\n";}}}}page_footer();
|