diff --git a/adminer.php b/adminer.php index ebd68d6..e21c4fb 100644 --- a/adminer.php +++ b/adminer.php @@ -8,128 +8,128 @@ * @copyright 2007-2021 Jakub Vrana, 2024 Peter Knut * @license Apache License, Version 2.0 (https://www.apache.org/licenses/LICENSE-2.0) * @license GNU General Public License, version 2 (https://www.gnu.org/licenses/gpl-2.0.html) - * @version 4.12 + * @version 4.13 */ -function adminer_errors($Nc,$Pc){return(bool)preg_match('~^(Trying to access array offset on( value of type)? null|Undefined array key)~',$Pc);}error_reporting(6135);set_error_handler('adminer_errors',E_WARNING);$id=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($id||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$cj=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($cj)$$X=$cj;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit"); +function adminer_errors($Oc,$Qc){return(bool)preg_match('~^(Trying to access array offset on( value of type)? null|Undefined array key)~',$Qc);}error_reporting(6135);set_error_handler('adminer_errors',E_WARNING);$jd=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($jd||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$dj=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($dj)$$X=$dj;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit"); function connection(){global$g;return$g;} function adminer(){global$b;return$b;} function version(){global$ia;return$ia;} -function idf_unescape($u){if(!preg_match('~^[`\'"[]~',$u))return$u;$ye=substr($u,-1);return str_replace($ye.$ye,$ye,substr($u,1,-1));} +function idf_unescape($u){if(!preg_match('~^[`\'"[]~',$u))return$u;$ze=substr($u,-1);return str_replace($ze.$ze,$ze,substr($u,1,-1));} function escape_string($X){return substr(q($X),1,-1);} function number($X){return preg_replace('~[^0-9]+~','',$X);} function number_type(){return'((?$W){unset($Hg[$y][$oe]);if(is_array($W)){$Hg[$y][stripslashes($oe)]=$W;$Hg[]=&$Hg[$y][stripslashes($oe)];}else$Hg[$y][stripslashes($oe)]=($id?$W:stripslashes($W));}}}} -function bracket_escape($u,$Pa=false){static$Mi=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return strtr($u,($Pa?array_flip($Mi):$Mi));} -function min_version($uj,$Me="",$h=null){global$g;if(!$h)$h=$g;$Ch=$h->server_info;if($Me&&preg_match('~([\d.]+)-MariaDB~',$Ch,$A)){$Ch=$A[1];$uj=$Me;}if($uj=="")return false;return(version_compare($Ch,$uj)>=0);} +function remove_slashes($Ig,$jd=false){if(function_exists("get_magic_quotes_gpc")&&get_magic_quotes_gpc()){while(list($y,$X)=each($Ig)){foreach($X as$pe=>$W){unset($Ig[$y][$pe]);if(is_array($W)){$Ig[$y][stripslashes($pe)]=$W;$Ig[]=&$Ig[$y][stripslashes($pe)];}else$Ig[$y][stripslashes($pe)]=($jd?$W:stripslashes($W));}}}} +function bracket_escape($u,$Qa=false){static$Ni=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return strtr($u,($Qa?array_flip($Ni):$Ni));} +function min_version($vj,$Ne="",$h=null){global$g;if(!$h)$h=$g;$Dh=$h->server_info;if($Ne&&preg_match('~([\d.]+)-MariaDB~',$Dh,$A)){$Dh=$A[1];$vj=$Ne;}if($vj=="")return false;return(version_compare($Dh,$vj)>=0);} function charset($g){return(min_version("5.5.3",0,$g)?"utf8mb4":"utf8");} -function script($Qh,$Li="\n"){return"$Qh$Li";} -function script_src($hj){return"\n";} +function script($Rh,$Mi="\n"){return"$Rh$Mi";} +function script_src($ij){return"\n";} function nonce(){return' nonce="'.get_nonce().'"';} function target_blank(){return' target="_blank" rel="noreferrer noopener"';} function h($P){return str_replace("\0","�",htmlspecialchars($P,ENT_QUOTES,'utf-8'));} -function checkbox($C,$Y,$ib,$te="",$Ef="",$mb="",$ue=""){$I="".($Ef?script("qsl('input').onclick = function () { $Ef };",""):"");return($te!=""||$mb?"$I".h($te)."":$I);} -function optionlist($D,$wh=null,$lj=false){$I="";foreach($D as$oe=>$W){$Mf=array($oe=>$W);if(is_array($W)){$I.='';$Mf=$W;}foreach($Mf as$y=>$X)$I.=''.h($X);if(is_array($W))$I.='';}return$I;} -function html_select($C,$D,$Y="",$Df=true,$ue=""){if($Df)return"".(is_string($Df)?script("qsl('select').onchange = function () { $Df };",""):"");$I="";foreach($D as$y=>$X)$I.="";return$I;} -function select_input($Ja,$D,$Y="",$Df="",$tg=""){$ri=($D?"select":"input");return"<$ri $Ja".($D?">