From 1a88d44e7aa28efc59cd465f1ade25016554d496 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Tue, 5 Nov 2019 04:50:24 +0000 Subject: [PATCH] adminer.php update --- app/adminer/adminer.php | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/adminer/adminer.php b/app/adminer/adminer.php index 139f5bc238..e53134e80d 100644 --- a/app/adminer/adminer.php +++ b/app/adminer/adminer.php @@ -1615,7 +1615,7 @@ as$C=>$w){ksort($w["columns"]);$og=array();foreach($w["columns"]as$z=>$X)$og[]=" selectColumnsPrint($L,$f){global$ld,$rd;print_fieldset("select",lang(54),$L);$t=0;$L[""]=array();foreach($L as$z=>$X){$X=$_GET["columns"][$z];$e=select_input(" name='columns[$t][col]'",$f,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"
".($ld||$rd?"".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($e)":$e)."
\n";$t++;}echo"\n";}function selectSearchPrint($Z,$f,$x){print_fieldset("search",lang(57),$Z);foreach($x -as$t=>$w){if($w["type"]=="FULLTEXT"){echo"
(".implode(", ",array_map('h',$w["columns"])).") AGAINST"," ",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"
\n";}}$cb="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"
".select_input(" name='where[$t][col]'",$f,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(58).")"),html_select("where[$t][op]",$this->operators,$X["op"],$cb),"",script("mixin(qsl('input'), {oninput: function () { $cb }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"
\n";}}echo"\n";}function +as$t=>$w){if($w["type"]=="FULLTEXT"){echo"
(".implode(", ",array_map('h',$w["columns"])).") AGAINST"," ",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"
\n";}}$cb="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"
".select_input(" name='where[$t][col]'",$f,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(58).")"),adminer_html_select("where[$t][op]",$this->operators,$X["op"],$cb),"",script("mixin(qsl('input'), {oninput: function () { $cb }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"
\n";}}echo"\n";}function selectOrderPrint($Bf,$f,$x){print_fieldset("sort",lang(59),$Bf);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"
".select_input(" name='order[$t]'",$f,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(60))."
\n";$t++;}}echo"
".select_input(" name='order[$t]'",$f,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(60))."
\n","\n";}function selectLimitPrint($_){echo"
".lang(61)."
";echo"",script("qsl('input').oninput = selectFieldChange;",""),"
\n";}function selectLengthPrint($gi){if($gi!==null){echo"
".lang(62)."
","","
\n";}}function @@ -1775,7 +1775,7 @@ edit_fields($q,$qb,$T="TABLE",$fd=array()){global$Sd;$q=array_values($q);echo' ',script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($q as$t=>$p){$t++;$Ff=$p[($_POST?"orig":"field")];$cc=(isset($_POST["add"][$t-1])||(isset($p["field"])&&!$_POST["drop_col"][$t]))&&(support("drop_col")||$Ff=="");echo' -',($T=="PROCEDURE"?"".html_select("fields[$t][inout]",explode("|",$Sd),$p["inout"]):""),'';if($cc){echo'',script("qsl('input').oninput = function () { editingNameChange.call(this);".($p["field"]!=""||count($q)>1?"":" editingAddRow.call(this);")." };","");}echo' +',($T=="PROCEDURE"?"".adminer_html_select("fields[$t][inout]",explode("|",$Sd),$p["inout"]):""),'';if($cc){echo'',script("qsl('input').oninput = function () { editingNameChange.call(this);".($p["field"]!=""||count($q)>1?"":" editingAddRow.call(this);")." };","");}echo' ';edit_type("fields[$t]",$p,$qb,$fd);if($T=="TABLE"){echo'',checkbox("fields[$t][null]",1,$p["null"],"","","block","label-null"),'',checkbox("fields[$t][has_default]",1,$p["has_default"],"","","","label-default"),'',(support("comment")?"":"");}echo"",(support("move_col")?" "." "." ":""),($Ff==""||support("drop_col")?"":"");}}function process_fields(&$q){$D=0;if($_POST["up"]){$pe=0;foreach($q as$z=>$p){if(key($_POST["up"])==$z){unset($q[$z]);array_splice($q,$pe,0,array($p));break;}if(isset($p["field"]))$pe=$D;$D++;}}elseif($_POST["down"]){$hd=false;foreach($q @@ -1840,7 +1840,7 @@ as$cj)$b->dumpTable($cj,$_POST["table_style"],1);if($Jc=="tar")echo pack("x512");}}}if($ae)echo"-- ".$h->result("SELECT NOW()")."\n";exit;}page_header(lang(74),$o,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
-';$Rb=array('','USE','DROP+CREATE','CREATE');$Wh=array('','DROP+CREATE','CREATE');$Ob=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$Ob[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$J);if(!$J)$J=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($J["events"])){$J["routines"]=$J["events"]=($_GET["dump"]=="");$J["triggers"]=$J["table_style"];}echo"
".lang(141)."".html_select("output",$b->dumpOutput(),$J["output"],0)."\n";echo"
".lang(142)."".html_select("format",$b->dumpFormat(),$J["format"],0)."\n";echo($y=="sqlite"?"":"
".lang(38)."".html_select('db_style',$Rb,$J["db_style"]).(support("routine")?checkbox("routines",1,$J["routines"],lang(143)):"").(support("event")?checkbox("events",1,$J["events"],lang(144)):"")),"
".lang(123)."".html_select('table_style',$Wh,$J["table_style"]).checkbox("auto_increment",1,$J["auto_increment"],lang(52)).(support("trigger")?checkbox("triggers",1,$J["triggers"],lang(138)):""),"
".lang(145)."".html_select('data_style',$Ob,$J["data_style"]),'
+';$Rb=array('','USE','DROP+CREATE','CREATE');$Wh=array('','DROP+CREATE','CREATE');$Ob=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$Ob[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$J);if(!$J)$J=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($J["events"])){$J["routines"]=$J["events"]=($_GET["dump"]=="");$J["triggers"]=$J["table_style"];}echo"".lang(141)."".adminer_html_select("output",$b->dumpOutput(),$J["output"],0)."\n";echo"".lang(142)."".adminer_html_select("format",$b->dumpFormat(),$J["format"],0)."\n";echo($y=="sqlite"?"":"".lang(38)."".adminer_html_select('db_style',$Rb,$J["db_style"]).(support("routine")?checkbox("routines",1,$J["routines"],lang(143)):"").(support("event")?checkbox("events",1,$J["events"],lang(144)):"")),"".lang(123)."".adminer_html_select('table_style',$Wh,$J["table_style"]).checkbox("auto_increment",1,$J["auto_increment"],lang(52)).(support("trigger")?checkbox("triggers",1,$J["triggers"],lang(138)):""),"".lang(145)."".adminer_html_select('data_style',$Ob,$J["data_style"]),'

@@ -1854,7 +1854,7 @@ echo"";}echo'<

';$Xc=true;foreach($lg as$z=>$X){if($z!=""&&$X>1){echo($Xc?"

":" ")."".h($z)."";$Xc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(72));echo'

\n";hidden_fields_get();echo"\n",($md?"":"\n"),"\n","\n";while($J=$H->fetch_assoc())echo'
".lang(36)."".lang(35)."
'.h($J["User"])."".h($J["Host"]).''.lang(10)."\n";if(!$md||DB!="")echo"\n";echo"
\n","

\n";}elseif(isset($_GET["sql"])){if(!$o&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$_d=&get_session("queries");$zd=&$_d[DB];if(!$o&&$_POST["clear"]){$zd=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?lang(73):lang(65)),$o);if(!$o&&$_POST){$jd=false;if(!isset($_GET["import"]))$G=$_POST["query"];elseif($_POST["webfile"]){$Bh=$b->importServerPath();$jd=@fopen((file_exists($Bh)?$Bh:"compress.zlib://$Bh.gz"),"rb");$G=($jd?fread($jd,1e6):false);}else$G=get_file("sql_file",true);if(is_string($G)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($G)+memory_get_usage()+8e6));if($G!=""&&strlen($G)<1e6){$wg=$G.(preg_match("~;[ \t\r\n]*\$~",$G)?"":";");if(!$zd||reset(end($zd))!=$wg){restart_session();$zd[]=array($wg,time());set_session("queries",$_d);stop_session();}}$zh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Xb=";";$D=0;$uc=true;$i=connect();if(is_object($i)&&DB!="")$i->select_db(DB);$ub=0;$zc=array();$Sf='[\'"'.($y=="sql"?'`#':($y=="sqlite"?'`[':($y=="mssql"?'[':''))).']|/\*|-- |$'.($y=="pgsql"?'|\$[^$]*\$':'');$ti=microtime(true);parse_str($_COOKIE["adminer_export"],$ya);$lc=$b->dumpFormat();unset($lc["sql"]);while($G!=""){if(!$D&&preg_match("~^$zh*+DELIMITER\\s+(\\S+)~i",$G,$B)){$Xb=$B[1];$G=substr($G,strlen($B[0]));}else{preg_match('('.preg_quote($Xb)."\\s*|$Sf)",$G,$B,PREG_OFFSET_CAPTURE,$D);list($hd,$gg)=$B[0];if(!$hd&&$jd&&!feof($jd))$G.=fread($jd,1e5);else{if(!$hd&&rtrim($G)=="")break;$D=$gg+strlen($hd);if($hd&&rtrim($hd)!=$Xb){while(preg_match('('.($hd=='/*'?'\*/':($hd=='['?']':(preg_match('~^-- |^#~',$hd)?"\n":preg_quote($hd)."|\\\\."))).'|$)s',$G,$B,PREG_OFFSET_CAPTURE,$D)){$ah=$B[0][0];if(!$ah&&$jd&&!feof($jd))$G.=fread($jd,1e5);else{$D=$B[0][1]+strlen($ah);if($ah[0]!="\\")break;}}}else{$uc=false;$wg=substr($G,0,$gg);$ub++;$og="
".$b->sqlCommandQuery($wg)."
\n";if($y=="sqlite"&&preg_match("~^$zh*+ATTACH\\b~i",$wg,$B)){echo$og,"

".lang(147)."\n";$zc[]=" $ub";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$og;ob_flush();flush();}$Fh=microtime(true);if($h->multi_query($wg)&&is_object($i)&&preg_match("~^$zh*+USE\\b~i",$wg))$i->query($wg);do{$H=$h->store_result();if($h->error){echo($_POST["only_errors"]?$og:""),"

".lang(148).($h->errno?" ($h->errno)":"").": ".error()."\n";$zc[]=" $ub";if($_POST["error_stops"])break -2;}else{$hi=" (".format_time($Fh).")".(strlen($wg)<1000?" ".lang(10)."":"");$_a=$h->affected_rows;$gj=($_POST["only_errors"]?"":$n->warnings());$hj="warnings-$ub";if($gj)$hi.=", ".lang(47)."".script("qsl('a').onclick = partial(toggle, '$hj');","");$Gc=null;$Hc="explain-$ub";if(is_object($H)){$_=$_POST["limit"];$Ef=select($H,$i,array(),$_);if(!$_POST["only_errors"]){echo"

\n";$if=$H->num_rows;echo"

".($if?($_&&$if>$_?lang(149,$_):"").lang(150,$if):""),$hi;if($i&&preg_match("~^($zh|\\()*+SELECT\\b~i",$wg)&&($Gc=explain($i,$wg)))echo", Explain".script("qsl('a').onclick = partial(toggle, '$Hc');","");$u="export-$ub";echo", ".lang(74)."".script("qsl('a').onclick = partial(toggle, '$u');","")."\n"."

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

".lang(151,$_a)."$hi\n";}echo($gj?"

\n":"");if($Gc){echo"\n";}}$Fh=microtime(true);}while($h->next_result());}$G=substr($G,$D);$D=0;}}}}if($uc)echo"

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

".lang(153,$ub-count($zc))," (".format_time($ti).")\n";}elseif($zc&&$ub>1)echo"

".lang(148).": ".implode("",$zc)."\n";}else +2;}else{$hi=" (".format_time($Fh).")".(strlen($wg)<1000?" ".lang(10)."":"");$_a=$h->affected_rows;$gj=($_POST["only_errors"]?"":$n->warnings());$hj="warnings-$ub";if($gj)$hi.=", ".lang(47)."".script("qsl('a').onclick = partial(toggle, '$hj');","");$Gc=null;$Hc="explain-$ub";if(is_object($H)){$_=$_POST["limit"];$Ef=select($H,$i,array(),$_);if(!$_POST["only_errors"]){echo"

\n";$if=$H->num_rows;echo"

".($if?($_&&$if>$_?lang(149,$_):"").lang(150,$if):""),$hi;if($i&&preg_match("~^($zh|\\()*+SELECT\\b~i",$wg)&&($Gc=explain($i,$wg)))echo", Explain".script("qsl('a').onclick = partial(toggle, '$Hc');","");$u="export-$ub";echo", ".lang(74)."".script("qsl('a').onclick = partial(toggle, '$u');","")."\n"."

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

".lang(151,$_a)."$hi\n";}echo($gj?"

\n":"");if($Gc){echo"\n";}}$Fh=microtime(true);}while($h->next_result());}$G=substr($G,$D);$D=0;}}}}if($uc)echo"

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

".lang(153,$ub-count($zc))," (".format_time($ti).")\n";}elseif($zc&&$ub>1)echo"

".lang(148).": ".implode("",$zc)."\n";}else echo"

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

';$Dc="";if(!isset($_GET["import"])){$wg=$_GET["sql"];if($_POST)$wg=$_POST["query"];elseif($_GET["history"]=="all")$wg=$zd;elseif($_GET["history"]!="")$wg=$zd[$_GET["history"]][0];echo"

";textarea("query",$wg,20);echo @@ -1903,7 +1903,7 @@ as$z=>$w){$x[$z]["name"]=$z;$x[$z]["columns"][]="";}$x[]=array("columns"=>array( ',lang(181),'',lang(182),'',lang(183),' ';if($mg){echo"PRIMARY";foreach($mg["columns"]as$z=>$e){echo -select_input(" disabled",$q,$e)," ";}echo"\n";}$de=1;foreach($J["indexes"]as$w){if(!$_POST["drop_col"]||$de!=key($_POST["drop_col"])){echo"".html_select("indexes[$de][type]",array(-1=>"")+$Kd,$w["type"],($de==count($J["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$e){echo"".select_input(" name='indexes[$de][columns][$t]' title='".lang(49)."'",($q?array_combine($q,$q):$q),$e,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."')"),($y=="sql"||$y=="mssql"?"":""),(support("descidx")?checkbox("indexes[$de][descs][$t]",1,$w["descs"][$z],lang(60)):"")," ";$t++;}echo"\n","".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$de++;}echo' +select_input(" disabled",$q,$e)," ";}echo"\n";}$de=1;foreach($J["indexes"]as$w){if(!$_POST["drop_col"]||$de!=key($_POST["drop_col"])){echo"".adminer_html_select("indexadminer_es[$de][type]",array(-1=>"")+$Kd,$w["type"],($de==count($J["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$e){echo"".select_input(" name='indexes[$de][columns][$t]' title='".lang(49)."'",($q?array_combine($q,$q):$q),$e,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."')"),($y=="sql"||$y=="mssql"?"":""),(support("descidx")?checkbox("indexes[$de][descs][$t]",1,$w["descs"][$z],lang(60)):"")," ";$t++;}echo"\n","".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$de++;}echo'

@@ -1913,7 +1913,7 @@ select_input(" disabled",$q,$e),"

-',($_POST["add_x"]||strpos($C,"\n")?'
':'')."\n".($qb?html_select("collation",array(""=>"(".lang(101).")")+$qb,$J["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",'mssql'=>"ms187963.aspx",)):""),script("focus(qs('#name'));"),' +',($_POST["add_x"]||strpos($C,"\n")?'
':'')."\n".($qb?adminer_html_select("collation",array(""=>"(".lang(101).")")+$qb,$J["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",'mssql'=>"ms187963.aspx",)):""),script("focus(qs('#name'));"),' ';if(DB!="")echo"".confirm(lang(175,DB))."\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"\n";echo'

';}elseif(isset($_GET["scheme"])){$J=$_POST;if($_POST&&!$o){$A=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$A,lang(188));else{$C=trim($J["name"]);$A.=urlencode($C);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($C),$A,lang(189));elseif($_GET["ns"]!=$C)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($C),$A,lang(190));else @@ -1933,15 +1933,15 @@ as$z){$p=$Wg["fields"][$z];$C=$p["field"];echo"".$b->fieldName($p);$Y=$_ ';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$C=$_GET["name"];$J=$_POST;if($_POST&&!$o&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$Ne=($_POST["drop"]?lang(193):($C!=""?lang(194):lang(195)));$ze=ME."table=".urlencode($a);if(!$_POST["drop"]){$J["source"]=array_filter($J["source"],'strlen');ksort($J["source"]);$ai=array();foreach($J["source"]as$z=>$X)$ai[$z]=$J["target"][$z];$J["target"]=$ai;}if($y=="sqlite")queries_redirect($ze,$Ne,recreate_table($a,$a,array(),array(),array(" $C"=>($_POST["drop"]?"":" ".format_foreign_key($J)))));else{$c="ALTER TABLE ".table($a);$gc="\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($C);if($_POST["drop"])query_redirect($c.$gc,$ze,$Ne);else{query_redirect($c.($C!=""?"$gc,":"")."\nADD".format_foreign_key($J),$ze,$Ne);$o=lang(196)."
$o";}}}page_header(lang(197),$o,array("table"=>$a),h($a));if($_POST){ksort($J["source"]);if($_POST["add"])$J["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$J["target"]=array();}elseif($C!=""){$fd=foreign_keys($a);$J=$fd[$C];$J["source"][]="";}else{$J["table"]=$a;$J["source"]=array("");}echo'
-';$yh=array_keys(fields($a));if($J["db"]!="")$h->select_db($J["db"]);if($J["ns"]!="")set_schema($J["ns"]);$Fg=array_keys(array_filter(table_status('',true),'fk_support'));$ai=($a===$J["table"]?$yh:array_keys(fields(in_array($J["table"],$Fg)?$J["table"]:reset($Fg))));$tf="this.form['change-js'].value = '1'; this.form.submit();";echo"

".lang(198).": ".html_select("table",$Fg,$J["table"],$tf)."\n";if($y=="pgsql")echo -lang(78).": ".html_select("ns",$b->schemas(),$J["ns"]!=""?$J["ns"]:$_GET["ns"],$tf);elseif($y!="sqlite"){$Sb=array();foreach($b->databases()as$m){if(!information_schema($m))$Sb[]=$m;}echo -lang(77).": ".html_select("db",$Sb,$J["db"]!=""?$J["db"]:$_GET["db"],$tf);}echo' +';$yh=array_keys(fields($a));if($J["db"]!="")$h->select_db($J["db"]);if($J["ns"]!="")set_schema($J["ns"]);$Fg=array_keys(array_filter(table_status('',true),'fk_support'));$ai=($a===$J["table"]?$yh:array_keys(fields(in_array($J["table"],$Fg)?$J["table"]:reset($Fg))));$tf="this.form['change-js'].value = '1'; this.form.submit();";echo"

".lang(198).": ".adminer_html_select("table",$Fg,$J["table"],$tf)."\n";if($y=="pgsql")echo +lang(78).": ".adminer_html_select("ns",$b->schemas(),$J["ns"]!=""?$J["ns"]:$_GET["ns"],$tf);elseif($y!="sqlite"){$Sb=array();foreach($b->databases()as$m){if(!information_schema($m))$Sb[]=$m;}echo +lang(77).": ".adminer_html_select("db",$Sb,$J["db"]!=""?$J["db"]:$_GET["db"],$tf);}echo'

-';$de=0;foreach($J["source"]as$z=>$X){echo"","
',lang(134),'',lang(135),'
".html_select("source[".(+$z)."]",array(-1=>"")+$yh,$X,($de==count($J["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"".html_select("target[".(+$z)."]",$ai,$J["target"][$z],1,"label-target");$de++;}echo'
+';$de=0;foreach($J["source"]as$z=>$X){echo"","".adminer_html_select("source[".(+$z)."]",array(-1=>"")+$yh,$X,($de==count($J["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"".adminer_html_select("target[".(+$z)."]",$ai,$J["target"][$z],1,"label-target");$de++;}echo'

-',lang(103),': ',html_select("on_delete",array(-1=>"")+explode("|",$sf),$J["on_delete"]),' ',lang(102),': ',html_select("on_update",array(-1=>"")+explode("|",$sf),$J["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm#sthref2903",)),'

+',lang(103),': ',adminer_html_select("on_delete",array(-1=>"")+explode("|",$sf),$J["on_delete"]),' ',lang(102),': ',adminer_html_select("on_update",array(-1=>"")+explode("|",$sf),$J["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"https://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm#sthref2903",)),'

';if($C!=""){echo'',confirm(lang(175,$C));}echo' @@ -1959,7 +1959,7 @@ lang(77).": ".html_select("db",$Sb,$J["db"]!=""?$J["db"]:$_GET["db"],$tf);}echo' ',lang(183),' ',lang(210),' ',lang(211),' -',lang(212),' ',html_select("INTERVAL_FIELD",$Vd,$J["INTERVAL_FIELD"]),'',lang(118),'',html_select("STATUS",$Ih,$J["STATUS"]),'',lang(51),' +',lang(212),' ',adminer_html_select("INTERVAL_FIELD",$Vd,$J["INTERVAL_FIELD"]),'',lang(118),'',adminer_html_select("STATUS",$Ih,$J["STATUS"]),'',lang(51),' ',checkbox("ON_COMPLETION","PRESERVE",$J["ON_COMPLETION"]=="PRESERVE",lang(213)),'

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

@@ -1968,7 +1968,7 @@ lang(77).": ".html_select("db",$Sb,$J["db"]!=""?$J["db"]:$_GET["db"],$tf);}echo' ';}elseif(isset($_GET["procedure"])){$da=($_GET["name"]?$_GET["name"]:$_GET["procedure"]);$Wg=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$J=$_POST;$J["fields"]=(array)$J["fields"];if($_POST&&!process_fields($J["fields"])&&!$o){$Ff=routine($_GET["procedure"],$Wg);$ci="$J[name]_adminer_".uniqid();drop_create("DROP $Wg ".routine_id($da,$Ff),create_routine($Wg,$J),"DROP $Wg ".routine_id($J["name"],$J),create_routine($Wg,array("name"=>$ci)+$J),"DROP $Wg ".routine_id($ci,$J),substr(ME,0,-1),lang(214),lang(215),lang(216),$da,$J["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(217):lang(218)).": ".h($da):(isset($_GET["function"])?lang(219):lang(220))),$o);if(!$_POST&&$da!=""){$J=routine($_GET["procedure"],$Wg);$J["name"]=$da;}$qb=get_vals("SHOW CHARACTER SET");sort($qb);$Xg=routine_languages();echo'

',lang(183),': -',($Xg?lang(19).": ".html_select("language",$Xg,$J["language"])."\n":""),' +',($Xg?lang(19).": ".adminer_html_select("language",$Xg,$J["language"])."\n":""),'

';edit_fields($J["fields"],$qb,$Wg);if(isset($_GET["function"])){echo"
".lang(221);edit_type("returns",$J["returns"],$qb,array(),($y=="pgsql"?array("void","trigger"):array()));}echo'
@@ -1993,7 +1993,7 @@ query_redirect("CREATE TYPE ".idf_escape(trim($J["name"]))." $J[as]",$A,lang(228 ';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$C=$_GET["name"];$Bi=trigger_options();$J=(array)trigger($C)+array("Trigger"=>$a."_bi");if($_POST){if(!$o&&in_array($_POST["Timing"],$Bi["Timing"])&&in_array($_POST["Event"],$Bi["Event"])&&in_array($_POST["Type"],$Bi["Type"])){$rf=" ON ".table($a);$gc="DROP TRIGGER ".idf_escape($C).($y=="pgsql"?$rf:"");$ze=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($gc,$ze,lang(231));else{if($C!="")queries($gc);queries_redirect($ze,($C!=""?lang(232):lang(233)),queries(create_trigger($rf,$_POST)));if($C!="")queries(create_trigger($rf,$J+array("Type"=>reset($Bi["Type"]))));}}$J=$_POST;}page_header(($C!=""?lang(234).": ".h($C):lang(235)),$o,array("table"=>$a));echo' -
',lang(236),'',html_select("Timing",$Bi["Timing"],$J["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'
',lang(237),'',html_select("Event",$Bi["Event"],$J["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$Bi["Event"])?" ":""),'
',lang(50),'',html_select("Type",$Bi["Type"],$J["Type"]),'
+',lang(236),'',adminer_html_select("Timing",$Bi["Timing"],$J["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'',lang(237),'',adminer_html_select("Event",$Bi["Event"],$J["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$Bi["Event"])?" ":""),'',lang(50),'',adminer_html_select("Type",$Bi["Type"],$J["Type"]),'

',lang(183),': ',script("qs('#form')['Timing'].onchange();"),'

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

@@ -2051,10 +2051,10 @@ checkbox("all",1,0,($id!==false?($Cc?"":"~ ").lang(150,$id):""),"var checked = f ',confirm(),'

-';}$gd=$b->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($gd['sql']);break;}}if($gd){print_fieldset("export",lang(74)." ");$Mf=$b->dumpOutput();echo($Mf?html_select("output",$Mf,$za["output"])." ":""),html_select("format",$gd,$za["format"])," \n","\n";}$b->selectEmailPrint(array_filter($tc,'strlen'),$f);}echo"\n";if($b->selectImportPrint()){echo"
","".lang(73)."",script("qsl('a').onclick = partial(toggle, 'import');",""),"","
";}echo"\n","
\n",(!$od&&$L?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Hh=isset($_GET["status"]);page_header($Hh?lang(118):lang(117));$Zi=($Hh?show_status():show_variables());if(!$Zi)echo"

".lang(12)."\n";else{echo"\n";foreach($Zi +';}$gd=$b->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($gd['sql']);break;}}if($gd){print_fieldset("export",lang(74)." ");$Mf=$b->dumpOutput();echo($Mf?adminer_html_select("output",$Mf,$za["output"])." ":""),adminer_html_select("format",$gd,$za["format"])," \n","\n";}$b->selectEmailPrint(array_filter($tc,'strlen'),$f);}echo"\n";if($b->selectImportPrint()){echo"
","".lang(73)."",script("qsl('a').onclick = partial(toggle, 'import');",""),"","
";}echo"\n","\n",(!$od&&$L?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Hh=isset($_GET["status"]);page_header($Hh?lang(118):lang(117));$Zi=($Hh?show_status():show_variables());if(!$Zi)echo"

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

\n";foreach($Zi as$z=>$X){echo"","
".h($z)."","".h($X);}echo"
\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Ph=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$C=>$R){json_row("Comment-$C",h($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$z)json_row("$z-$C",h($R[$z]));foreach($Ph+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($R[$z]!=""){$X=format_number($R[$z]);json_row("$z-$C",($z=="Rows"&&$X&&$R["Engine"]==($Ah=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Ph[$z]))$Ph[$z]+=($R["Engine"]!="InnoDB"||$z!="Data_free"?$R[$z]:0);}elseif(array_key_exists($z,$R))json_row("$z-$C");}}}foreach($Ph as$z=>$X)json_row("sum-$z",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$h->query("KILL ".number($_POST["kill"]));else{foreach(count_tables($b->databases())as$m=>$X){json_row("tables-$m",$X);json_row("size-$m",db_size($m));}json_row("");}exit;}else{$Yh=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Yh&&!$o&&!$_POST["search"]){$H=true;$Ne="";if($y=="sql"&&$_POST["tables"]&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$H=truncate_tables($_POST["tables"]);$Ne=lang(263);}elseif($_POST["move"]){$H=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Ne=lang(264);}elseif($_POST["copy"]){$H=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Ne=lang(265);}elseif($_POST["drop"]){if($_POST["views"])$H=drop_views($_POST["views"]);if($H&&$_POST["tables"])$H=drop_tables($_POST["tables"]);$Ne=lang(266);}elseif($y!="sql"){$H=($y=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$Ne=lang(267);}elseif(!$_POST["tables"])$Ne=lang(9);elseif($H=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($J=$H->fetch_assoc())$Ne.="".h($J["Table"]).": ".h($J["Msg_text"])."
";}queries_redirect(substr(ME,0,-1),$Ne,$H);}page_header(($_GET["ns"]==""?lang(38).": ".h(DB):lang(78).": ".h($_GET["ns"])),$o,true);if($b->homepage()){if($_GET["ns"]!==""){echo"

".lang(268)."

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

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

\n";if(support("table")){echo"
".lang(269)."
","",script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');","")," \n","
\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]="LIKE %%";search_tables();}}echo"
\n","\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),'','\n";$S=0;foreach($Xh -as$C=>$T){$cj=($T!==null&&!preg_match('~table~i',$T));$u=h("Table-".$C);echo'
'.script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);",""),''.lang(131),''.lang(270).doc_link(array('sql'=>'storage-engines.html')),''.lang(122).doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')),''.lang(271).doc_link(array('sql'=>'show-table-status.html','pgsql'=>'functions-admin.html#FUNCTIONS-ADMIN-DBOBJECT','oracle'=>'REFRN20286')),''.lang(272).doc_link(array('sql'=>'show-table-status.html','pgsql'=>'functions-admin.html#FUNCTIONS-ADMIN-DBOBJECT')),''.lang(273).doc_link(array('sql'=>'show-table-status.html')),''.lang(52).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),''.lang(274).doc_link(array('sql'=>'show-table-status.html','pgsql'=>'catalog-pg-class.html#CATALOG-PG-CLASS','oracle'=>'REFRN20286')),(support("comment")?''.lang(51).doc_link(array('sql'=>'show-table-status.html','pgsql'=>'functions-info.html#FUNCTIONS-INFO-COMMENT-TABLE')):''),"
'.checkbox(($cj?"views[]":"tables[]"),$C,in_array($C,$Yh,true),"","","",$u),''.(support("table")||support("indexes")?"".h($C).'':h($C));if($cj){echo''.(preg_match('~materialized~i',$T)?lang(129):lang(130)).'','?';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(45)),"Index_length"=>array("indexes",lang(133)),"Data_free"=>array("edit",lang(46)),"Auto_increment"=>array("auto_increment=1&create",lang(45)),"Rows"=>array("select",lang(42)),)as$z=>$A){$u=" id='$z-".h($C)."'";echo($A?"".(support("table")||$z=="Rows"||(support("indexes")&&$z!="Data_length")?"?":"?"):"");}$S++;}echo(support("comment")?"":"");}echo"
".lang(247,count($Xh)),"".h($y=="sql"?$h->result("SELECT @@storage_engine"):""),"".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo"";echo"
\n","
\n";if(!information_schema(DB)){echo"