ý4ÍBšä˜„�ˆA±èQtVŽ\0PŽÔ´êoÄI@Úœ1\";\$ƒ8Ò0�ÀP‚2\r¯\\\ný\rã(æú�ñ æ:Ž„#Ç-oZ6¡Œƒè0ŒCæ2„¸ÒŽ�ã¬È�æ;Á XŠÐ9£0z\r è8aÐ^Žô¨\\0Ê’´áxÊ7óèç?Ð!xD¤Ãl:=c46ÍÃHÞ7�xÂ%ÂÀÊñ¿m8ØÔ�îH‘` ƒR¯A†]!¬£´¡©ã¬ra•’�œË1kxÏ3,Ø®0ŽCtÔŠ£#<Žƒ(P9… P‡\$ŽPÞ€”#MÜ‹—I¢`™BÒ¤œ/KávL‚%0Ž£dH;#`ê2�UÓ6!½éÚdœ)ØÝBÉÁ*Ä#Å{•�Öè—ìÛRÄ–1vT¯d‰†Q9,¡tW¥ÃËÉÉx€”òŒ~œi\$t�ÞíI¼4%H;HvË(‰\n*ÿ˜É`¢:˜eL”÷\"Ý�êNÝ™¯b›«Šbˆ˜Ø69àà `DªH!Šb&ÞÌnúÁw½\"i•vËÞƒ\n4p÷u�dŽVZw¾oÀV¶Ýmâ897(,ŠøÇQäKEˆëcÞ*bÅ88(…¸nB Ò9Îdè¤@AOö½¼·Ýw(ñt�ÓMf9¥ÂÑÓ—d½íg/‹æPBYévN�B\$ ™Žx¨ÐB@6Â0µæ�pDÎæ´BÌò\\ Þ3ÕøÜ2©cCÜPÞ-‚˜µ\"a„’BŠI\n{ç1ÆÝ®\"ÂþÒ›K@\rÊ‹Š4\$’ÎÑ)^„‘Ú…ÊŸÂ\$\rƘ0’äj0ßx=è�<+0ÎþR€kKj¸9\0êšLBSJ¯Ü9(0ÆñÃHdJê(u¢Ôj�R*MJ‡u.¦aà.SŠyPEf¬Uš¦ÑX7+4U¹.\n 4¡‚ˆ(ê)¤ì ˆŠyC¤…\ràH¯ãêèICj+¸&¢\$H‰…Ò(f1¹ôHÑÉj„PÊ!E(Ť’”RÊb X¤”êŸSÏ\rO¼e@©Ã˜>3äƒ\neÃl`Î�=cNË„‹‚/Á¡äÁ(@H‰!ŒDdM4+\"Z·¢e’ù:†�ØZtÐʹƒf]0Õ/¦dИI)\ré8‚'b:M£´™ÄDD Ý0ØkÈ3…DÄ�€àŽšãEÀ€´°2Øl YiÍ`]tH@P&Œ ¼á.æÉÃâ&N(¤<•fýÃÃ1ÑÅ\0äOS¶ó=>&4¶ìÒâd˜è\ng”¸èàQ½€�åªÄ¶PÚ}Là€õÎ\nhƒ‚zO‰ù@%Ìã\$§J¡�FÌšlØBs�‘¹“—cÆZ\n|\nA†˜å£ºEƒE`Åš’ï<…Ы¯å”\"Hôè�ÂÆSÄ:GcÂf�p �ñd6.Å\$zÍ7›Ôæë¸�¢e¨ \"EH¸©:ˆÄ\$v‰^/ °‡PRK‚I/¼2DC/ræ#´�D„´‰2Ѳ\\Š¿Fd„Æ’BTKxP áL*@Ã߉̉jµaž˜ÖL¾É™®ä螇ô@E¹;¨àÚ¸øŠµ¸(Œ�®Þ/RŽ» sþX¦*®Hî©D%‡èa¢6‚¥;õe’ƒ¾âƒ+E¢í«ÔdjžK¥�>uê[VÓã…’V§D_ãö´÷¡hÌË’KvœƒoŽ/¯’öð˜Á�ž«�›J;~%Â- ¬\n²/®û'V–«€ä;ÞÄH�Ž–ëz1+ìD«\$PmÅnˆŸÐ3ë´äíÔI)+öÀËt5Oœ?Oà™`ÈË7„¶@Ë#æšnBÚ-§#’O%%ŠÚÅÓ\$d¤aD®pͧ1�(Ü�¨æ¯V(r|È%鮲Œ C&×’ŠÛÍË\"Ÿ(¸Iˆ\0Iå¬`§1\0ΰ.¾Ð](p�,é,Qâ*ò’á’¬Cî’| Ôfª�\r\r&BÆ¥Ž%psxBÍ4�’øJ(>˜cÊÌåª&oš?o7 cÐÀG¢�{\"q1b\\Ðòž/›²ú œGAJ €†- �¿fV�-IÏО¬ª`BA(qtñò|\$�#\0ëŽ1�ö6§–Dâ\n ¨ÀZ\\÷ªÐ¾ŽfF\nÀåƒChæÂ@n&8ñX1 0¦¶JÞ\$À(g²ðƒêYd¼×“XùÒ*óS\nCˆW%v_QCÎÞd 8eèGª -€ÆÈp@lÄÄàÖÞNöiðúhÜùU.‰êòß?ð—AoH1ƺœ'm+\n/Õtqp:¢~�ùmi\r‚��`¼�æ™ BœaHX�¦îV/Ì£RC¦\$ÔŠïê5g]ÇI\$¶tö�•ûc¹áDQ?\r¯c2BçA`Qaï2ãDQ åוå¹Ð@gA2H¨‹Ÿ¸]•’<“%ɲ|£)ʲ¼³-ú2ôÁ1L�xÈ7�Ãè4þ“p|Ë4ea|C@èbÄž‘B-GH�D0DƒÄü À¼GxÙ‹qdêÛÃÔîìÓ¼D:ï�€¸/ñX-àŸ)O‰%\$Äœ”’TJÉ`;¥¤¸ô’úaLi”2‡€è™›øL©¼9§ªÚP•�Éý³‰f^,Ä©6m\"¸AŽa`. ¹£”F fÚ/Ä,/A°—CÅx�E¨½™‘Z)0“¬2Šˆ\0QàaW)æ9‹ƒR'‡0ŽªèXqËÌøçb¾QŠ32d’\0ˆ�¨8Ì�ÈÌ|ƒGh!bþt\rafU\"€^:óU(Åy[‚b^\nñx±E¢4äQ ‰”ZÔè —æLD\0†Â�FœRKiJÝ„T²ŒH¨2j`‡(�„t['a~À‰{•„Øœ¥j9…pµQ+8¥;–'–@ kmµŸ©A8fŽB7™âìG=º§äþv˜Xˆ(4c…š4�Ѿ@ˆU€O\naQ®¤\n)8¤ôUê´±PD‹7DžE‰ÃöOú;i=¶ŠA,{טæôW‹�Âp \n¡@\"¨ký��&[ZEh—¢Õ‘ ”M•\"T_¤1LÕ 5~9ÇBG£cÈÀ¸DT]Ú‘k(§glÈÎÆx�Ä›m‚Êèí ˜áOÁWPmUD\\ZÓ•E·e®sŠ�ßÚ„£8²ˆ£’ YG\"‚\$D02&¥@¼“Ìòµ™8\$˜•kn‚µ’æ-îùG;ÜÓ’ÚöŽëõѨEg“aB9År¼„ÂÊá�c±oNä¶m1uM¸Óº)Ôâž;ª�s\n&H…�Š˜8W’Ñt\$(›F€C²âZ-ËÀЬ•Ú¼\0 †(c\raÏ\$·ìA\0cÆËªá\$Oò\0¹é;ãì€ËH›DM‘&/¥‰�˜í,´W¦�Ìì€�¹·=}¸#žJŠ«Èw¸ºZ‘Ñ…†\n�!„�Ì{Nð¢39ÀWáf˜{Äʲ\0¼g©Ks ¢‘’8ƒÁÌïR(%VzG‰t:,G,r’á >)@¢c&FŠîK4S]¥û@à8òð´ž3:s?°–iL£)µˆ‘k\"Q™nY\r2'E*ÅGédW\0Ã(b؇ó Ö‘mzÍH�´¤”¦¦|ж¢�ŠÕÐIÄ+QÊC<\"Ò#”à�nc˜\\F|aL9‰1ËAä+vvNÝ¡�Æ`ÂjcJi÷Ö\"·BÊÓÎ+Š?·‡l×p<2¨xnýÞìÙTqXk¬®Ž\"9h\"‘\\)šÕávùƒó°§b‘WÅë“ÅÆš\"9FK�–˜-ÃÔΔ� Rì^9`lL�œ:‚ÓÌȨ°æÂË‘Ûö¥px–åCK K•nzŽCêü8_á®¶aPƒk9g-¤1®»YÑ:/Ok¤Do\nßø˜×q)¿Ï7몇º×ŽåÅ2^,îæg·ñÊ\$¤\"¯N±]ŽXÁŒuôG1ú@ �é÷?Wéª/‰ùñÑ„P®´s4Áë\\ø\\ä‘)…ãï˜éþ?Ò›‚«]{²óß~-¨3d³ùÅ~¢ôe¿ô¿ƒƒT÷rÁ _wöŸ„kmæt¾›—Šo\\Ã_`”|åQ÷ I„ø?€ìxÈÉ �n,¢íI‰Óò+Ù ®ÐÂ!…;’OÍ�ç¹çôÒ¢ËKœìÏ´ï�[\0¸ï¼Ép\nì¥î•NöS&–[�bøêËoÊfð\"[¬†up,5/^a<óNXÅìb\rd’M\0@@ÊL€@€ä\ràà\0Ê…Œeæ¹PX'\"D°g¬wÀÑt\rÌrÆÈ„? äÇ0‚úÎæÓNÈ̃\0e2È©ù\n®²úoŸ\nƒÿÌ5~È0.â°§,�Û&ú#tËçÞìÌ�o\nÌ6.+ß0ä*à�M`ŽÉ\0%ö–+º3âÒA>¶�B5‹˜¹Ít7‹ºÛÂÒ‚ pæ\$t�\\'dýq]õ.”mL ÒG~�aág\$\rƒ� 'åÖá 5ŽBp©ø#2Ú‚|ö�v�‚â\n ¨ÀZ‚Äz*íBЋv›Ã˜•B4›K†[¼Ø'ï„¡fƒb/Áíà8cÈyÂ8CÉÌ –OŽéfZ†ÚÅAÐ¥¸4§Zg†×1èÀÊj�%Ð%Â`w\"Z!\0/å\$£Î–Ý�\nšN,éqæ‹Y!¯ûM^0O”á’,ê\"B*l#.. ú¯:5Éœ\\Œ+4n8g‹6³¡t³î{%«<Ì#.šDhnm`éD€�΀\0¬ Æ ê\r¨‚28ÎNRŒ@ÁG £ÚRâb@²šCº² ¶Ih1Í´ŠŽ¯*ò²µ²¦acºÄr”ì2fó¤0u‚\rA.`ƒA";break;case"zh-tw":$f="ä^¨ê%Ó•\\šr¥ÑÎõâ|%ÌÂ:�\$\ns¡.ešUȸE9PK72©(æP¢h)Ê…@º:i %“Êcè§Je åR)Ü«{�º Nd TâPˆ�£\\ªÔÕ8¨CˆÈf4�†ã�ÌaS@/%Èäû•N‹@ît¢¡Ð€BºT)ç*zàæY\$œÉÄK¡f‡s%“.…\n¢W-sîËÅ}5,°r¨“Ô܇ÄâÔ(Ì}5¨À`°“%‹•¯s+NdÚÓ°t .T/\rˆÅc1ÒÉreSLqxõHú™Î¹^9×HÌŽO*åãr9»|Êz>‹� êÔ5Å~�í.²äBªz¤:Ié’â½¹Ýi©ÅS�>R�\$a^ù�+~М¥ÑVs–eÙÎZ–+‰x]0j‘2¬¥Áft(qÊW�ÈÕ±PIVŒ%Ú^R©¥�pr\$)ÏÅ`P‚2\r£HÜ2ŽGI@H&Ej¢s��Z&EQÊJ‘íK=Ä%¢›D�܆�àÂ\r�Ê3¡Ð:ƒ€æáxï5…ÃqG�pÞ9áxÊ7ã€Â9Žc¼æ2á”JHA�§ALE·,YFP‡�xÂÀQÒ@—1&CÊ´±BWœå!u’2ÞóÒ!r’”TQ,áUT«X;ŒÔ}esâV”Ç)\"E!ã @1# ÊaJšVˆO/‹óâTgANQ¾\$<”E’´ºøÍRÑü‚Þ-T½3M¥Ä9zr—„},M�Ç) D)¤�8¡®!v]œÄ!gåítsÄ”w'ª‘UE¼sÝ”ž§è8*£Àè\$©o”Éu¸€‰q\n»4‚g1w\nbˆ˜WÅíôøÄI&t’˃°å¹'!T’…Ì«V:-fÆÔ•6|]Ôe[}”´EF›SèðV®¿¶X¢]F§.ÀC—Iv sêZZ±¬Ä÷54C£1º\nHæÄA-%“û¦í¼o[ý4Z%ä)ÌT0yÒªdº>Y)¤©qÆ©¤¹JÁ“ç12Ag„›ØKÖ#¦Ü–Vr\\\\—È*\rƒ äÓI6Q2\$×DC4±œU²EÜB(‰ÌJ’íŠ7ÉRär€MKF¤¤ØG)C\$‚ª_‡IFÐ¥3K¼§äVûlžùO�a:¹n‘¼sŽ^nÒ@e¤)\\£B„A\"Þ2Ô¸—“bL‰™4&¤Ø›ŸzqNiÕ;‚ðÈÃpa�¦(|9„j¥‚ø†�Ð\"Þ–ãœ[\$| H`‰R*MJ…0ÊŸ nf‚Þæ’Œ{fÝÝ\"³JGÑR DC–<—0cßò]Ké…1¦TΚSXwM©½ø'\$è�“ÃXÁ¸9à Þp‹pc”X‰XVœ–Udtt\ná&A™j.F± cK¡„f‚ü¼Š<(…[|n�|VŠE4#Y!CåXÔ‡Â'ßauâmɉ¨M‡0†*hM;§~9^ÀåâÜÆCˆFHØ“p‚Ã8‡g\rP‰_BíÕ\$DŒ- ¨„@\$ñ*œ+‡q\"ÔBAÒ•\naø¸*DÀÖ‘FÁ+ÒœDª³e(…¹#ODK™2\$G@/|ÓŽ�xäÄ(¥—)AñZg� ¼cœ³Ža@/Â�5ÈA‹ÑÌ&yCà C¸D˜^¤»À-ƒ”MÍ™O6ĬÝ&À€!…0¤�\0t\rá;˜øÂö„l<\"ðÜ“9D°®@ÂØ¼Ãb^LIœë¯WW†.ÑE“p@„ZhóR;£”E\nìã0‚ÂxNcNvÌé„”y÷'\0äŒé €&-HsGH—ŒðDŽi ÇH�F”(ð¦G‰( ˜ö &Êàj�åW—ЇQ[ü¹\\drNAQ>×Ò\0iä„`¨ Ù\"tø¾ˆ¶b Áͪc‘ ¡QÊ…è>8…\0KA|õhµ)¢€P”5žÂp \n¡@\"¨@U°\"„À‹mÖZÍ¥HHÑÎLÉp�e®Iy\\k�ÇXøºd+™[™c0fŽùá5âÐQ.ÇVК ¹ÊyT^e{N9…Ð�#\nåÉ–’.nµC––ÓŽ›R‚h¡Œ5‡<à— �e�9gCâ)ÅÅX³èa³¶� �º-EèÆg*Cã9Ç+¼žÂñv.ë�€ÅÒîtG€]‹câÕ/»h<áºqx)\nEeÂÒÛ@‚Â@æ?굜Md)u¥X.‚}\0 1T|*Âà�`×FK¥¥ÖúÐð––6Ɔ¸KŽQz,GHŸï~¨âñ\"ͅؤŸrŠR7Eñdš7 Í\rîË:Ô–îIJ¥‰óÒÛ+”âtH,–L'%C€;ß ˜è�”@‰ÉhÅñÞ³¢qˆI …\0�³ˆSŠh=ü\"1Vö4|}t‹zæ„©¢´Qå^•¢×¨™1er˜€wå4\\œˆF”æ ,œtˆ6Ö*x¸׿…HãÏïy´6Æ][É:UhᢵÝU\\Ô~°,¸CÒÈb‘µ^Ëôp¯~XU]˜Ðöˆh9t(‹íŒªÃÜ[Ž„r²šË… \n�Z¹2ïnÀüö/΋ݕð£—Ãø¿s{¹.-8ùÒ´5U–ò³¹Ê™X½-át.î×!¶^þÅ|ºý ;›~æÞ¾¿Ü/Ǯްӵ4«Ú‚œ`‘Ò‚=é| \r:o\"›AaJ_ƒµöÈ¿òžŸ\"ZKMj®çò¹gçfÛSô½†¢ú¿BåüÃ�G(’:™�T±µcâ>¼[™é'%hJUó¶U,HΙp-‘ý1úxŠz7¯0Ë£š#á(ÊÆè°KÚÿoÖ*‰qŒÖùìܵOîü¬jmF¶Áf6¬Ò3Cb¸Eží/,h¥XUÄûž�Ì›ƒûãlŸ«G°SìôÐNÓeôϤö¡s\r;‹ñÐt8�yMBjPŒgŒT暢Á^]É Á| @Úc²*�—ï|Ó0w!r*a!¡´°ÆÀF‡ðÀÒ%Ö]¬ÎGÂ~*�Éì]M+Ðä9ê¡‚ø\$oæZLâÎ`ÖK„öX`ÊNà@€ä\ràà\0Ê…+léÆîQ†@Âu¤y1&ϱ\n\rlðXÑ\$FÑ8L÷¶ìe¬Ð*FÐp¾Ë1bцöcŽî1od/\r‘lÐñ|Ð�cM(Ñ.Ps¢âM8ÓÐlìi\".Âñ¥U-MÐ�Ô‚ë㈠öÎ@È#ÔÓ\"šÌ*6FÌKÌÚ)ä—qh^`P…àR®)\0Aê”åƒâ…8az#p]a\n-ÞžB0±ò屨7®¸éaÚ¡3�ÛG¾‰d¡g\\\rƒ·\"ÃÂ;íd'ãz\\‡H”°x{âL° ª\n€Œ p:¤DûÀ�-Þ”©´#b:¾…8ék…,¬AÐæî€:Ãî?&¬è#(Ñ¡jŸ\$ãˆÅÄVêG–S²¤�,‚„ãö§§°<2´g,0†š©�(bd,îÊëáС»ÒÒ%¦Ôàálá1øüòŽÂ8jŽÑï°„”…_/�W*3°ïÅÌ C®m�Ì^Åð%̺ïM>¿O@ºB0ól»2æBJ©èäÁ,\"íø\"—\0ƒ ¬ Æ ê\r¨S+b\0²sðª–ÌEXÖåP”Rç’Îl²×-«ÆšB^Èà¾Ó~»Ñ÷±þQA&/æ\nÒâ\\*á̉ ñ’Ç=‘`";break;}$hh=array();foreach(explode("\n",lzw_decompress($f))as$X)$hh[]=(strpos($X,"\t")?explode("\t",$X):$X);return$hh;}if(!$hh){$hh=get_translations($a);$_SESSION["translations"]=$hh;}if(extension_loaded('pdo')){class
Min_PDO{var$_result,$server_info,$affected_rows,$errno,$error,$pdo;function
__construct(){global$c;$kf=array_search("SQL",$c->operators);if($kf!==false)unset($c->operators[$kf]);}function
dsn($Ub,$V,$df,$Ge=array()){$Ge[PDO::ATTR_ERRMODE]=PDO::ERRMODE_SILENT;$Ge[PDO::ATTR_STATEMENT_CLASS]=array('Min_PDOStatement');try{$this->pdo=new
PDO($Ub,$V,$df,$Ge);}catch(Exception$oc){auth_error(h($oc->getMessage()));}$this->server_info=@$this->pdo->getAttribute(PDO::ATTR_SERVER_VERSION);}function
quote($yg){return$this->pdo->quote($yg);}function
query($I,$oh=false){$J=$this->pdo->query($I);$this->error="";if(!$J){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(22);return
false;}$this->store_result($J);return$J;}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result($J=null){if(!$J){$J=$this->_result;if(!$J)return
false;}if($J->columnCount()){$J->num_rows=$J->rowCount();return$J;}$this->affected_rows=$J->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch();return$L[$n];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(PDO::FETCH_ASSOC);}function
fetch_row(){return$this->fetch(PDO::FETCH_NUM);}function
fetch_field(){$L=(object)$this->getColumnMeta($this->_offset++);$L->orgtable=$L->table;$L->orgname=$L->name;$L->charsetnr=(in_array("blob",(array)$L->flags)?63:0);return$L;}}}$Qb=array();function
add_driver($u,$E){global$Qb;$Qb[$u]=$E;}function
get_driver($u){global$Qb;return$Qb[$u];}class
Min_SQL{var$_conn;function
__construct($g){$this->_conn=$g;}function
select($Q,$N,$Z,$s,$Ie=array(),$_=1,$G=0,$rf=false){global$c,$y;$ud=(count($s)selectQueryBuild($N,$Z,$s,$Ie,$_,$G);if(!$I)$I="SELECT".limit(($_GET["page"]!="last"&&$_!=""&&$s&&$ud&&$y=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$N)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($s&&$ud?"\nGROUP BY ".implode(", ",$s):"").($Ie?"\nORDER BY ".implode(", ",$Ie):""),($_!=""?+$_:null),($G?$_*$G:0),"\n");$ug=microtime(true);$K=$this->_conn->query($I);if($rf)echo$c->selectQuery($I,$ug,!$K);return$K;}function
delete($Q,$zf,$_=0){$I="FROM ".table($Q);return
queries("DELETE".($_?limit1($Q,$I,$zf):" $I$zf"));}function
update($Q,$P,$zf,$_=0,$cg="\n"){$Dh=array();foreach($P
as$z=>$X)$Dh[]="$z = $X";$I=table($Q)." SET$cg".implode(",$cg",$Dh);return
queries("UPDATE".($_?limit1($Q,$I,$zf,$cg):" $I$zf"));}function
insert($Q,$P){return
queries("INSERT INTO ".table($Q).($P?" (".implode(", ",array_keys($P)).")\nVALUES (".implode(", ",$P).")":" DEFAULT VALUES"));}function
insertUpdate($Q,$M,$qf){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($I,$Ug){}function
convertSearch($v,$X,$n){return$v;}function
convertOperator($De){return$De;}function
value($X,$n){return(method_exists($this->_conn,'value')?$this->_conn->value($X,$n):(is_resource($X)?stream_get_contents($X):$X));}function
quoteBinary($Tf){return
q($Tf);}function
warnings(){return'';}function
tableHelp($E){}function
hasCStyleEscapes(){return
false;}}class
Adminer{var$operators;function
name(){return"Adminer";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($i=false){return
password_file($i);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($O){return
h($O);}function
database(){return
DB;}function
databases($Fc=true){return
get_databases($Fc);}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
headers(){}function
csp(){return
csp();}function
head(){return
true;}function
css(){$K=array();$Bc="adminer.css";if(file_exists($Bc))$K[]="$Bc?v=".crc32(file_get_contents($Bc));return$K;}function
loginForm(){global$Qb;echo"\n",$this->loginFormField('driver','| '.lang(23).' | ',html_select("auth[driver]",$Qb,DRIVER,"loginDriver(this);")."\n"),$this->loginFormField('server',' |
|---|
| '.lang(24).' | ',''."\n"),$this->loginFormField('username',' |
|---|
| '.lang(25).' | ',''.script("qs('#username').form['auth[driver]'].onchange();")),$this->loginFormField('password',' |
|---|
| '.lang(26).' | ',''."\n"),$this->loginFormField('db',' |
|---|
| '.lang(27).' | ',''."\n")," |
|---|
\n","\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(29))."\n";}function
loginFormField($E,$bd,$Y){return$bd.$Y;}function
login($Pd,$df){if($df=="")return
lang(30,target_blank());return
true;}function
tableName($Fg){return
h($Fg["Name"]);}function
fieldName($n,$Ie=0){return''.h($n["field"]).'';}function
selectLinks($Fg,$P=""){global$y,$l;echo'
';$Od=array("select"=>lang(31));if(support("table")||support("indexes"))$Od["table"]=lang(32);if(support("table")){if(is_view($Fg))$Od["view"]=lang(33);else$Od["create"]=lang(34);}if($P!==null)$Od["edit"]=lang(35);$E=$Fg["Name"];foreach($Od
as$z=>$X)echo" $X";echo
doc_link(array($y=>$l->tableHelp($E)),"?"),"\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$Eg){return
array();}function
backwardKeysPrint($Ba,$L){}function
selectQuery($I,$ug,$xc=false){global$y,$l;$K="
\n";if(!$xc&&($Lh=$l->warnings())){$u="warnings";$K=", ".lang(36)."".script("qsl('a').onclick = partial(toggle, '$u');","")."$K\n$Lh
\n";}return"".h(str_replace("\n"," ",$I))." (".format_time($ug).")".(support("sql")?" ".lang(11)."":"").$K;}function
sqlCommandQuery($I){return
shorten_utf8(trim($I),1000);}function
rowDescription($Q){return"";}function
rowDescriptions($M,$Ic){return$M;}function
selectLink($X,$n){}function
selectVal($X,$A,$n,$Qe){$K=($X===null?"NULL":(preg_match("~char|binary|boolean~",$n["type"])&&!preg_match("~var~",$n["type"])?"$X":$X));if(preg_match('~blob|bytea|raw|file~',$n["type"])&&!is_utf8($X))$K="".lang(37,strlen($Qe))."";if(preg_match('~json~',$n["type"]))$K="$K";return($A?"$K":$K);}function
editVal($X,$n){return$X;}function
tableStructurePrint($o){global$zg;echo"
\n";}function
tableIndexesPrint($x){echo"\n";foreach($x
as$E=>$w){ksort($w["columns"]);$rf=array();foreach($w["columns"]as$z=>$X)$rf[]="".h($X)."".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"| $w[type] | ".implode(", ",$rf)."\n";}echo" |
|---|
\n";}function
selectColumnsPrint($N,$e){global$Oc,$Uc;print_fieldset("select",lang(43),$N);$t=0;$N[""]=array();foreach($N
as$z=>$X){$X=$_GET["columns"][$z];$d=select_input(" name='columns[$t][col]'",$e,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"".($Oc||$Uc?"".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($d)":$d)."
\n";$t++;}echo"\n";}function
selectSearchPrint($Z,$e,$x){print_fieldset("search",lang(46),$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";}}$Na="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]'",$e,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(47).")"),html_select("where[$t][op]",$this->operators,$X["op"],$Na),"",script("mixin(qsl('input'), {oninput: function () { $Na }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"
\n";}}echo"\n";}function
selectOrderPrint($Ie,$e,$x){print_fieldset("sort",lang(48),$Ie);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"".select_input(" name='order[$t]'",$e,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(49))."
\n";$t++;}}echo"".select_input(" name='order[$t]'",$e,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(49))."
\n","\n";}function
selectLimitPrint($_){echo"\n";}function
selectLengthPrint($Sg){if($Sg!==null){echo"\n";}}function
selectActionPrint($x){echo"\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($cc,$e){}function
selectColumnsProcess($e,$x){global$Oc,$Uc;$N=array();$s=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$Oc)||in_array($X["fun"],$Uc)))){$N[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Uc))$s[]=$N[$z];}}return
array($N,$s);}function
selectSearchProcess($o,$x){global$g,$l;$K=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$K[]="MATCH (".implode(", ",array_map('idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$of="";$ib=" $X[op]";if(preg_match('~IN$~',$X["op"])){$jd=process_length($X["val"]);$ib.=" ".($jd!=""?$jd:"(NULL)");}elseif($X["op"]=="SQL")$ib=" $X[val]";elseif($X["op"]=="LIKE %%")$ib=" LIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$ib=" ILIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$of="$X[op](".q($X["val"]).", ";$ib=")";}elseif(!preg_match('~NULL$~',$X["op"]))$ib.=" ".$this->processInput($o[$X["col"]],$X["val"]);if($X["col"]!="")$K[]=$of.$l->convertSearch(idf_escape($X["col"]),$X,$o[$X["col"]]).$ib;else{$cb=array();foreach($o
as$E=>$n){if((preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$n["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$n["type"]))&&(!preg_match('~date|timestamp~',$n["type"])||preg_match('~^\d+-\d+-\d+~',$X["val"])))$cb[]=$of.$l->convertSearch(idf_escape($E),$X,$n).$ib;}$K[]=($cb?"(".implode(" OR ",$cb).")":"1 = 0");}}}return$K;}function
selectOrderProcess($o,$x){$K=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$K[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$K;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$Ic){return
false;}function
selectQueryBuild($N,$Z,$s,$Ie,$_,$G){return"";}function
messageQuery($I,$Tg,$xc=false){global$y,$l;restart_session();$cd=&get_session("queries");if(!$cd[$_GET["db"]])$cd[$_GET["db"]]=array();if(strlen($I)>1e6)$I=preg_replace('~[\x80-\xFF]+$~','',substr($I,0,1e6))."\n…";$cd[$_GET["db"]][]=array($I,time(),$Tg);$rg="sql-".count($cd[$_GET["db"]]);$K="".lang(54)."\n";if(!$xc&&($Lh=$l->warnings())){$u="warnings-".count($cd[$_GET["db"]]);$K="".lang(36).", $K\n$Lh
\n";}return" ".@date("H:i:s").""." $K".shorten_utf8($I,1000)."
".($Tg?"
($Tg)":'').(support("sql")?'
'.lang(11).'':'').'
';}function
editRowPrint($Q,$o,$L,$vh){}function
editFunctions($n){global$Xb;$K=($n["null"]?"NULL/":"");$vh=isset($_GET["select"])||where($_GET);foreach($Xb
as$z=>$Oc){if(!$z||(!isset($_GET["call"])&&$vh)){foreach($Oc
as$ff=>$X){if(!$ff||preg_match("~$ff~",$n["type"]))$K.="/$X";}}if($z&&!preg_match('~set|blob|bytea|raw|file|bool~',$n["type"]))$K.="/SQL";}if($n["auto_increment"]&&!$vh)$K=lang(41);return
explode("/",$K);}function
editInput($Q,$n,$xa,$Y){if($n["type"]=="enum")return(isset($_GET["select"])?" ":"").($n["null"]?" ":"").enum_input("radio",$xa,$n,$Y,$Y===0?0:null);return"";}function
editHint($Q,$n,$Y){return"";}function
processInput($n,$Y,$r=""){if($r=="SQL")return$Y;$E=$n["field"];$K=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$K="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$K=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$K=idf_escape($E)." $r $K";elseif(preg_match('~^[+-] interval$~',$r))$K=idf_escape($E)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$K);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$K="$r(".idf_escape($E).", $K)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$K="$r($K)";return
unconvert_field($n,$K);}function
dumpOutput(){$K=array('text'=>lang(55),'file'=>lang(56));if(function_exists('gzencode'))$K['gz']='gzip';return$K;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($k){}function
dumpTable($Q,$_g,$wd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($_g)dump_csv(array_keys(fields($Q)));}else{if($wd==2){$o=array();foreach(fields($Q)as$E=>$n)$o[]=idf_escape($E)." $n[full_type]";$i="CREATE TABLE ".table($Q)." (".implode(", ",$o).")";}else$i=create_sql($Q,$_POST["auto_increment"],$_g);set_utf8mb4($i);if($_g&&$i){if($_g=="DROP+CREATE"||$wd==1)echo"DROP ".($wd==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($wd==1)$i=remove_definer($i);echo"$i;\n\n";}}}function
dumpData($Q,$_g,$I){global$g,$y;if($_g){$Vd=($y=="sqlite"?0:1048576);$o=array();if($_POST["format"]=="sql"){if($_g=="TRUNCATE+INSERT")echo
truncate_sql($Q).";\n";$o=fields($Q);}$J=$g->query($I,1);if($J){$pd="";$Ja="";$zd=array();$Pc=array();$Bg="";$_c=($Q!=''?'fetch_assoc':'fetch_row');while($L=$J->$_c()){if(!$zd){$Dh=array();foreach($L
as$X){$n=$J->fetch_field();if($o[$n->name]['generated']){$Pc[$n->name]=true;continue;}$zd[]=$n->name;$z=idf_escape($n->name);$Dh[]="$z = VALUES($z)";}$Bg=($_g=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Dh):"").";\n";}if($_POST["format"]!="sql"){if($_g=="table"){dump_csv($zd);$_g="INSERT";}dump_csv($L);}else{if(!$pd)$pd="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$zd)).") VALUES";foreach($L
as$z=>$X){if($Pc[$z]){unset($L[$z]);continue;}$n=$o[$z];$L[$z]=($X!==null?unconvert_field($n,preg_match(number_type(),$n["type"])&&!preg_match('~\[~',$n["full_type"])&&is_numeric($X)?$X:q(($X===false?0:$X))):"NULL");}$Tf=($Vd?"\n":" ")."(".implode(",\t",$L).")";if(!$Ja)$Ja=$pd.$Tf;elseif(strlen($Ja)+4+strlen($Tf)+strlen($Bg)<$Vd)$Ja.=",$Tf";else{echo$Ja.$Bg;$Ja=$pd.$Tf;}}}if($Ja)echo$Ja.$Bg;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
dumpFilename($gd){return
friendly_url($gd!=""?$gd:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($gd,$ie=false){$Se=$_POST["output"];$uc=(preg_match('~sql~',$_POST["format"])?"sql":($ie?"tar":"csv"));header("Content-Type: ".($Se=="gz"?"application/x-gzip":($uc=="tar"?"application/x-tar":($uc=="sql"||$Se!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Se=="gz")ob_start('ob_gzencode',1e6);return$uc;}function
importServerPath(){return"adminer.sql";}function
homepage(){echo''.($_GET["ns"]==""&&support("database")?''.lang(57)."\n":""),(support("scheme")?"".($_GET["ns"]!=""?lang(58):lang(59))."\n":""),($_GET["ns"]!==""?''.lang(60)."\n":""),(support("privileges")?"".lang(61)."\n":"");return
true;}function
navigation($he){global$fa,$y,$Qb,$g;echo'
';switch_lang();if($he=="auth"){$Se="";foreach((array)$_SESSION["pwds"]as$Fh=>$eg){foreach($eg
as$O=>$Bh){foreach($Bh
as$V=>$df){if($df!==null){$Bb=$_SESSION["db"][$Fh][$O][$V];foreach(($Bb?array_keys($Bb):array(""))as$k)$Se.="($Qb[$Fh]) ".h($V.($O!=""?"@".$this->serverName($O):"").($k!=""?" - $k":""))."\n";}}}}if($Se)echo"\n".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");}else{$S=array();if($_GET["ns"]!==""&&!$he&&DB!=""){$g->select_db(DB);$S=table_status('',true);}echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=4.17.1");if(support("sql")){echo'
';}$this->databasesPrint($he);$la=array();if(DB==""||!$he){if(support("sql")){$la[]="".lang(54)."";$la[]="".lang(62)."";}if(support("dump"))$la[]="".lang(63)."";}$kd=$_GET["ns"]!==""&&!$he&&DB!="";if($kd)$la[]='".lang(64)."";echo($la?"\n".implode("\n",$la)."\n":"");if($kd){if($S)$this->tablesPrint($S);else
echo"
".lang(10)."
\n";}}}function
databasesPrint($he){global$c,$g;$j=$this->databases();if(DB&&$j&&!in_array(DB,$j))array_unshift($j,DB);echo'\n";}function
tablesPrint($S){echo"".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($S
as$Q=>$vg){$E=$this->tableName($vg);if($E!=""){echo'- ".lang(66)." ",(support("table")||support("indexes")?'$E":"$E")."\n";}}echo"
\n";}}$c=(function_exists('adminer_object')?adminer_object():new
Adminer);$Qb=array("server"=>"MySQL")+$Qb;if(!defined("DRIVER")){define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
__construct(){parent::init();}function
connect($O="",$V="",$df="",$zb=null,$jf=null,$mg=null){global$c;mysqli_report(MYSQLI_REPORT_OFF);list($ed,$jf)=explode(":",$O,2);$tg=$c->connectSsl();if($tg)$this->ssl_set($tg['key'],$tg['cert'],$tg['ca'],'','');$K=@$this->real_connect(($O!=""?$ed:ini_get("mysqli.default_host")),($O.$V!=""?$V:ini_get("mysqli.default_user")),($O.$V.$df!=""?$df:ini_get("mysqli.default_pw")),$zb,(is_numeric($jf)?$jf:ini_get("mysqli.default_port")),(!is_numeric($jf)?$jf:$mg),($tg?(empty($tg['cert'])?2048:64):0));$this->options(MYSQLI_OPT_LOCAL_INFILE,false);return$K;}function
set_charset($Oa){if(parent::set_charset($Oa))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $Oa");}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch_array();return$L[$n];}function
quote($yg){return"'".$this->escape_string($yg)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$df){if(ini_bool("mysql.allow_local_infile")){$this->error=lang(67,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");return
false;}$this->_link=@mysql_connect(($O!=""?$O:ini_get("mysql.default_host")),("$O$V"!=""?$V:ini_get("mysql.default_user")),("$O$V$df"!=""?$df:ini_get("mysql.default_password")),true,131072);if($this->_link)$this->server_info=mysql_get_server_info($this->_link);else$this->error=mysql_error();return(bool)$this->_link;}function
set_charset($Oa){if(function_exists('mysql_set_charset')){if(mysql_set_charset($Oa,$this->_link))return
true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $Oa");}function
quote($yg){return"'".mysql_real_escape_string($yg,$this->_link)."'";}function
select_db($zb){return
mysql_select_db($zb,$this->_link);}function
query($I,$oh=false){$J=@($oh?mysql_unbuffered_query($I,$this->_link):mysql_query($I,$this->_link));$this->error="";if(!$J){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($J===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($J);}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($I,$n=0){$J=$this->query($I);if(!$J||!$J->num_rows)return
false;return
mysql_result($J->_result,0,$n);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($J){$this->_result=$J;$this->num_rows=mysql_num_rows($J);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$K=mysql_fetch_field($this->_result,$this->_offset++);$K->orgtable=$K->table;$K->orgname=$K->name;$K->charsetnr=($K->blob?63:0);return$K;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($O,$V,$df){global$c;$Ge=array(PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$tg=$c->connectSsl();if($tg){if(!empty($tg['key']))$Ge[PDO::MYSQL_ATTR_SSL_KEY]=$tg['key'];if(!empty($tg['cert']))$Ge[PDO::MYSQL_ATTR_SSL_CERT]=$tg['cert'];if(!empty($tg['ca']))$Ge[PDO::MYSQL_ATTR_SSL_CA]=$tg['ca'];if(!empty($tg['verify']))$Ge[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$tg['verify'];}$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$O)),$V,$df,$Ge);return
true;}function
set_charset($Oa){$this->query("SET NAMES $Oa");}function
select_db($zb){return$this->query("USE ".idf_escape($zb));}function
query($I,$oh=false){$this->pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$oh);return
parent::query($I,$oh);}}}class
Min_Driver
extends
Min_SQL{function
insert($Q,$P){return($P?parent::insert($Q,$P):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,$M,$qf){$e=array_keys(reset($M));$of="INSERT INTO ".table($Q)." (".implode(", ",$e).") VALUES\n";$Dh=array();foreach($e
as$z)$Dh[$z]="$z = VALUES($z)";$Bg="\nON DUPLICATE KEY UPDATE ".implode(", ",$Dh);$Dh=array();$Ld=0;foreach($M
as$P){$Y="(".implode(", ",$P).")";if($Dh&&(strlen($of)+$Ld+strlen($Y)+strlen($Bg)>1e6)){if(!queries($of.implode(",\n",$Dh).$Bg))return
false;$Dh=array();$Ld=0;}$Dh[]=$Y;$Ld+=strlen($Y)+2;}return
queries($of.implode(",\n",$Dh).$Bg);}function
slowQuery($I,$Ug){if(min_version('5.7.8','10.1.2')){if(preg_match('~MariaDB~',$this->_conn->server_info))return"SET STATEMENT max_statement_time=$Ug FOR $I";elseif(preg_match('~^(SELECT\b)(.+)~is',$I,$C))return"$C[1] /*+ MAX_EXECUTION_TIME(".($Ug*1000).") */ $C[2]";}}function
convertSearch($v,$X,$n){return(preg_match('~char|text|enum|set~',$n["type"])&&!preg_match("~^utf8~",$n["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->_conn).")":$v);}function
warnings(){$J=$this->_conn->query("SHOW WARNINGS");if($J&&$J->num_rows){ob_start();select($J);return
ob_get_clean();}}function
tableHelp($E){$Rd=preg_match('~MariaDB~',$this->_conn->server_info);if(information_schema(DB))return
strtolower("information-schema-".($Rd?"$E-table/":str_replace("_","-",$E)."-table.html"));if(DB=="mysql")return($Rd?"mysql$E-table/":"system-schema.html");}function
hasCStyleEscapes(){static$Ka;if($Ka===null){$sg=$this->_conn->result("SHOW VARIABLES LIKE 'sql_mode'",1);$Ka=(strpos($sg,'NO_BACKSLASH_ESCAPES')===false);}return$Ka;}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
connect(){global$c,$nh,$zg,$Xb;$g=new
Min_DB;$sb=$c->credentials();if($g->connect($sb[0],$sb[1],$sb[2])){$g->set_charset(charset($g));$g->query("SET sql_quote_show_create = 1, autocommit = 1");if(min_version('5.7.8',10.2,$g)){$zg[lang(68)][]="json";$nh["json"]=4294967295;}if(min_version('',10.7,$g)){$zg[lang(68)][]="uuid";$nh["uuid"]=128;$Xb[0]['uuid']='uuid';}if(min_version(9,'',$g)){$zg[lang(69)][]="vector";$nh["vector"]=16383;$Xb[0]['vector']='string_to_vector';}return$g;}$K=$g->error;if(function_exists('iconv')&&!is_utf8($K)&&strlen($Tf=iconv("windows-1250","utf-8",$K))>strlen($K))$K=$Tf;return$K;}function
get_databases($Fc){$K=get_session("dbs");if($K===null){$I=(min_version(5)?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME":"SHOW DATABASES");$K=($Fc?slow_query($I):get_vals($I));restart_session();set_session("dbs",$K);stop_session();}return$K;}function
limit($I,$Z,$_,$ue=0,$cg=" "){return" $I$Z".($_!==null?$cg."LIMIT $_".($ue?" OFFSET $ue":""):"");}function
limit1($Q,$I,$Z,$cg="\n"){return
limit($I,$Z,1,0,$cg);}function
db_collation($k,$bb){global$g;$K=null;$i=$g->result("SHOW CREATE DATABASE ".idf_escape($k),1);if(preg_match('~ COLLATE ([^ ]+)~',$i,$C))$K=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$i,$C))$K=$bb[$C[1]][-1];return$K;}function
engines(){$K=array();foreach(get_rows("SHOW ENGINES")as$L){if(preg_match("~YES|DEFAULT~",$L["Support"]))$K[]=$L["Engine"];}return$K;}function
logged_user(){global$g;return$g->result("SELECT USER()");}function
tables_list(){return
get_key_vals(min_version(5)?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($j){$K=array();foreach($j
as$k)$K[$k]=count(get_vals("SHOW TABLES IN ".idf_escape($k)));return$K;}function
table_status($E="",$yc=false){$K=array();foreach(get_rows($yc&&min_version(5)?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($E!=""?"AND TABLE_NAME = ".q($E):"ORDER BY Name"):"SHOW TABLE STATUS".($E!=""?" LIKE ".q(addcslashes($E,"%_\\")):""))as$L){if($L["Engine"]=="InnoDB")$L["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$L["Comment"]);if(!isset($L["Engine"]))$L["Comment"]="";if($E!=""){$L["Name"]=$E;return$L;}$K[$L["Name"]]=$L;}return$K;}function
is_view($R){return$R["Engine"]===null;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"])||(preg_match('~NDB~i',$R["Engine"])&&min_version(5.6));}function
fields($Q){$K=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$L){preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$L["Type"],$C);$K[$L["Field"]]=array("field"=>$L["Field"],"full_type"=>$L["Type"],"type"=>$C[1],"length"=>$C[2],"unsigned"=>ltrim($C[3].$C[4]),"default"=>($L["Default"]!=""||preg_match("~char|set~",$C[1])?(preg_match('~text~',$C[1])?stripslashes(preg_replace("~^'(.*)'\$~",'\1',$L["Default"])):$L["Default"]):null),"null"=>($L["Null"]=="YES"),"auto_increment"=>($L["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$L["Extra"],$C)?$C[1]:""),"collation"=>$L["Collation"],"privileges"=>array_flip(preg_split('~, *~',$L["Privileges"])),"comment"=>$L["Comment"],"primary"=>($L["Key"]=="PRI"),"generated"=>preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$L["Extra"]),);}return$K;}function
indexes($Q,$h=null){$K=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$h)as$L){$E=$L["Key_name"];$K[$E]["type"]=($E=="PRIMARY"?"PRIMARY":($L["Index_type"]=="FULLTEXT"?"FULLTEXT":($L["Non_unique"]?($L["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$K[$E]["columns"][]=$L["Column_name"];$K[$E]["lengths"][]=($L["Index_type"]=="SPATIAL"?null:$L["Sub_part"]);$K[$E]["descs"][]=null;}return$K;}function
foreign_keys($Q){global$g,$Ae;static$ff='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$K=array();$qb=$g->result("SHOW CREATE TABLE ".table($Q),1);if($qb){preg_match_all("~CONSTRAINT ($ff) FOREIGN KEY ?\\(((?:$ff,? ?)+)\\) REFERENCES ($ff)(?:\\.($ff))? \\(((?:$ff,? ?)+)\\)(?: ON DELETE ($Ae))?(?: ON UPDATE ($Ae))?~",$qb,$Td,PREG_SET_ORDER);foreach($Td
as$C){preg_match_all("~$ff~",$C[2],$ng);preg_match_all("~$ff~",$C[5],$Ng);$K[idf_unescape($C[1])]=array("db"=>idf_unescape($C[4]!=""?$C[3]:$C[4]),"table"=>idf_unescape($C[4]!=""?$C[4]:$C[3]),"source"=>array_map('idf_unescape',$ng[0]),"target"=>array_map('idf_unescape',$Ng[0]),"on_delete"=>($C[6]?$C[6]:"RESTRICT"),"on_update"=>($C[7]?$C[7]:"RESTRICT"),);}}return$K;}function
view($E){global$g;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',$g->result("SHOW CREATE VIEW ".table($E),1)));}function
collations(){$K=array();foreach(get_rows("SHOW COLLATION")as$L){if($L["Default"])$K[$L["Charset"]][-1]=$L["Collation"];else$K[$L["Charset"]][]=$L["Collation"];}ksort($K);foreach($K
as$z=>$X)asort($K[$z]);return$K;}function
information_schema($k){return(min_version(5)&&$k=="information_schema")||(min_version(5.5)&&$k=="performance_schema");}function
error(){global$g;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
create_database($k,$ab){return
queries("CREATE DATABASE ".idf_escape($k).($ab?" COLLATE ".q($ab):""));}function
drop_databases($j){$K=apply_queries("DROP DATABASE",$j,'idf_escape');restart_session();set_session("dbs",null);return$K;}function
rename_database($E,$ab){$K=false;if(create_database($E,$ab)){$S=array();$Ih=array();foreach(tables_list()as$Q=>$U){if($U=='VIEW')$Ih[]=$Q;else$S[]=$Q;}$K=(!$S&&!$Ih)||move_tables($S,$Ih,$E);drop_databases($K?array(DB):array());}return$K;}function
auto_increment(){$_a=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$w){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$w["columns"],true)){$_a="";break;}if($w["type"]=="PRIMARY")$_a=" UNIQUE";}}return" AUTO_INCREMENT$_a";}function
alter_table($Q,$E,$o,$Hc,$fb,$fc,$ab,$za,$af){$ta=array();foreach($o
as$n)$ta[]=($n[1]?($Q!=""?($n[0]!=""?"CHANGE ".idf_escape($n[0]):"ADD"):" ")." ".implode($n[1]).($Q!=""?$n[2]:""):"DROP ".idf_escape($n[0]));$ta=array_merge($ta,$Hc);$vg=($fb!==null?" COMMENT=".q($fb):"").($fc?" ENGINE=".q($fc):"").($ab?" COLLATE ".q($ab):"").($za!=""?" AUTO_INCREMENT=$za":"");if($Q=="")return
queries("CREATE TABLE ".table($E)." (\n".implode(",\n",$ta)."\n)$vg$af");if($Q!=$E)$ta[]="RENAME TO ".table($E);if($vg)$ta[]=ltrim($vg);return($ta||$af?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$ta).$af):true);}function
alter_indexes($Q,$ta){foreach($ta
as$z=>$X)$ta[$z]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($Q).implode(",",$ta));}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($Ih){return
queries("DROP VIEW ".implode(", ",array_map('table',$Ih)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$Ih,$Ng){global$g;$Jf=array();foreach($S
as$Q)$Jf[]=table($Q)." TO ".idf_escape($Ng).".".table($Q);if(!$Jf||queries("RENAME TABLE ".implode(", ",$Jf))){$Gb=array();foreach($Ih
as$Q)$Gb[table($Q)]=view($Q);$g->select_db($Ng);$k=idf_escape(DB);foreach($Gb
as$E=>$Hh){if(!queries("CREATE VIEW $E AS ".str_replace(" $k."," ",$Hh["select"]))||!queries("DROP VIEW $k.$E"))return
false;}return
true;}return
false;}function
copy_tables($S,$Ih,$Ng){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
as$Q){$E=($Ng==DB?table("copy_$Q"):idf_escape($Ng).".".table($Q));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $E"))||!queries("CREATE TABLE $E LIKE ".table($Q))||!queries("INSERT INTO $E SELECT * FROM ".table($Q)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L){$ih=$L["Trigger"];if(!queries("CREATE TRIGGER ".($Ng==DB?idf_escape("copy_$ih"):idf_escape($Ng).".".idf_escape($ih))." $L[Timing] $L[Event] ON $E FOR EACH ROW\n$L[Statement];"))return
false;}}foreach($Ih
as$Q){$E=($Ng==DB?table("copy_$Q"):idf_escape($Ng).".".table($Q));$Hh=view($Q);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $E"))||!queries("CREATE VIEW $E AS $Hh[select]"))return
false;}return
true;}function
trigger($E){if($E=="")return
array();$M=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($E));return
reset($M);}function
triggers($Q){$K=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L)$K[$L["Trigger"]]=array($L["Timing"],$L["Event"]);return$K;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($E,$U){global$g,$hc,$nd,$nh;$ra=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$og="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$mh="((".implode("|",array_merge(array_keys($nh),$ra)).")\\b(?:\\s*\\(((?:[^'\")]|$hc)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$ff="$og*(".($U=="FUNCTION"?"":$nd).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$mh";$i=$g->result("SHOW CREATE $U ".idf_escape($E),2);preg_match("~\\(((?:$ff\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$mh\\s+":"")."(.*)~is",$i,$C);$o=array();preg_match_all("~$ff\\s*,?~is",$C[1],$Td,PREG_SET_ORDER);foreach($Td
as$Ve)$o[]=array("field"=>str_replace("``","`",$Ve[2]).$Ve[3],"type"=>strtolower($Ve[5]),"length"=>preg_replace_callback("~$hc~s",'normalize_enum',$Ve[6]),"unsigned"=>strtolower(preg_replace('~\s+~',' ',trim("$Ve[8] $Ve[7]"))),"null"=>1,"full_type"=>$Ve[4],"inout"=>strtoupper($Ve[1]),"collation"=>strtolower($Ve[9]),);return
array("fields"=>$o,"comment"=>$g->result("SELECT ROUTINE_COMMENT FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB)." AND ROUTINE_NAME = ".q($E)),)+($U!="FUNCTION"?array("definition"=>$C[11]):array("returns"=>array("type"=>$C[12],"length"=>$C[13],"unsigned"=>$C[15],"collation"=>$C[16]),"definition"=>$C[17],"language"=>"SQL",));}function
routines(){return
get_rows("SELECT ROUTINE_NAME AS SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
routine_id($E,$L){return
idf_escape($E);}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
explain($g,$I){return$g->query("EXPLAIN ".(min_version(5.1)&&!min_version(5.7)?"PARTITIONS ":"").$I);}function
found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Vf,$h=null){return
true;}function
create_sql($Q,$za,$_g){global$g;$K=$g->result("SHOW CREATE TABLE ".table($Q),1);if(!$za)$K=preg_replace('~ AUTO_INCREMENT=\d+~','',$K);return$K;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($zb){return"USE ".idf_escape($zb);}function
trigger_sql($Q){$K="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$L)$K.="\nCREATE TRIGGER ".idf_escape($L["Trigger"])." $L[Timing] $L[Event] ON ".table($L["Table"])." FOR EACH ROW\n$L[Statement];;\n";return$K;}function
show_variables(){return
get_key_vals("SHOW VARIABLES");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
show_status(){return
get_key_vals("SHOW STATUS");}function
convert_field($n){if(preg_match("~binary~",$n["type"]))return"HEX(".idf_escape($n["field"]).")";if($n["type"]=="bit")return"BIN(".idf_escape($n["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$n["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($n["field"]).")";}function
unconvert_field($n,$K){if(preg_match("~binary~",$n["type"]))$K="UNHEX($K)";if($n["type"]=="bit")$K="CONVERT(b$K, UNSIGNED)";if(preg_match("~geometry|point|linestring|polygon~",$n["type"])){$of=(min_version(8)?"ST_":"");$K=$of."GeomFromText($K, $of"."SRID($n[field]))";}return$K;}function
support($zc){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(8)?"":"|descidx".(min_version(5.1)?"":"|event|partitioning".(min_version(5)?"":"|routine|trigger|view"))).(min_version('8.0.16','10.2.1')?"":"|check")."~",$zc);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){global$g;return$g->result("SELECT @@max_connections");}function
driver_config(){$nh=array();$zg=array();foreach(array(lang(69)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(70)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(68)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(71)=>array("enum"=>65535,"set"=>64),lang(72)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(73)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$z=>$X){$nh+=$X;$zg[$z]=array_keys($X);}return
array('possible_drivers'=>array("MySQLi","MySQL","PDO_MySQL"),'jush'=>"sql",'types'=>$nh,'structured_types'=>$zg,'unsigned'=>array("unsigned","zerofill","unsigned zerofill"),'operators'=>array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL"),'functions'=>array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper"),'grouping'=>array("avg","count","count distinct","group_concat","max","min","sum"),'edit_functions'=>array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",)),);}}$jb=driver_config();$nf=$jb['possible_drivers'];$y=$jb['jush'];$nh=$jb['types'];$zg=$jb['structured_types'];$uh=$jb['unsigned'];$Ee=$jb['operators'];$Oc=$jb['functions'];$Uc=$jb['grouping'];$Xb=$jb['edit_functions'];if($c->operators===null)$c->operators=$Ee;define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~\?.*~','',relative_uri()).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));function
page_header($Wg,$m="",$Ia=array(),$Xg=""){global$a,$fa,$c,$Qb,$y;page_headers();if(is_ajax()&&$m){page_messages($m);exit;}$Yg=$Wg.($Xg!=""?": $Xg":"");$Zg=strip_tags($Yg.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$c->name());echo'
',$Zg,'
',script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=4.17.1");if($c->head()){echo'
';foreach($c->css()as$ub){echo'
';}}echo'
';$Bc=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($Bc)&&filemtime($Bc)+86400>time()){$Gh=unserialize(file_get_contents($Bc));$xf="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWOVuF5uw7/+Z70djoK
RlHIZFZPO0uYRezq90+7Amk+FDNd7KkL5eDve+vHRJBLAszF/7XKXe11xwliIsFs
DFWQlsABVZB3oisKCBEuI71J4kPH8dKGEWR9jDHFw3cWmoH3PmqImX6FISWbG3B8
h7FIx3jEaw5ckVPVTeo5JRm/1DZzJxjyDenXvBQ/6o9DgZKeNDgxwKzH+sw9/YCO
jHnq1cFpOIISzARlrHMa/43YfeNRAm/tsBXjSxembBPo7aQZLAWHmaj5+K19H10B
nCpz9Y++cipkVEiKRGih4ZEvjoFysEOdRLj6WiD/uUNky4xGeA6LaJqh5XpkFkcQ
fQIDAQAB
-----END PUBLIC KEY-----
";if(openssl_verify($Gh["version"],base64_decode($Gh["signature"]),$xf)==1)$_COOKIE["adminer_version"]=$Gh["version"];}echo'
',script("mixin(qs('#help'), {onmouseover: function () { helpOpen = 1; }, onmouseout: helpMouseout});"),'
';if($Ia!==null){$A=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'
'.$Qb[DRIVER].' » ';$A=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$O=$c->serverName(SERVER);$O=($O!=""?$O:lang(24));if($Ia===false)echo"$O\n";else{echo"$O » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ia)))echo''.h(DB).' » ';if(is_array($Ia)){if($_GET["ns"]!="")echo''.h($_GET["ns"]).' » ';foreach($Ia
as$z=>$X){$Ib=(is_array($X)?$X[1]:h($X));if($Ib!="")echo"$Ib » ";}}echo"$Wg\n";}}echo"
$Yg
\n","
\n";restart_session();page_messages($m);$j=&get_session("dbs");if(DB!=""&&$j&&!in_array(DB,$j,true))$j=null;stop_session();define("PAGE_HEADER",1);}function
page_headers(){global$c;header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");header("X-Frame-Options: deny");header("X-XSS-Protection: 0");header("X-Content-Type-Options: nosniff");header("Referrer-Policy: origin-when-cross-origin");foreach($c->csp()as$tb){$ad=array();foreach($tb
as$z=>$X)$ad[]="$z $X";header("Content-Security-Policy: ".implode("; ",$ad));}$c->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self'","frame-src"=>"https://www.adminer.org","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$qe;if(!$qe)$qe=base64_encode(rand_string());return$qe;}function
page_messages($m){$wh=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$fe=$_SESSION["messages"][$wh];if($fe){echo"
".implode("
\n
",$fe)."
".script("messagesPrint();");unset($_SESSION["messages"][$wh]);}if($m)echo"
$m
\n";}function
page_footer($he=""){global$c,$T;echo'
';if($he!="auth"){echo'
';}echo
script("setupSubmitHighlight(document);");}function
int32($ke){while($ke>=2147483648)$ke-=4294967296;while($ke<=-2147483649)$ke+=4294967296;return(int)$ke;}function
long2str($W,$Kh){$Tf='';foreach($W
as$X)$Tf.=pack('V',$X);if($Kh)return
substr($Tf,0,end($W));return$Tf;}function
str2long($Tf,$Kh){$W=array_values(unpack('V*',str_pad($Tf,4*ceil(strlen($Tf)/4),"\0")));if($Kh)$W[]=strlen($Tf);return$W;}function
xxtea_mx($Rh,$Qh,$Cg,$yd){return
int32((($Rh>>5&0x7FFFFFF)^$Qh<<2)+(($Qh>>3&0x1FFFFFFF)^$Rh<<4))^int32(($Cg^$Qh)+($yd^$Rh));}function
encrypt_string($xg,$z){if($xg=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($xg,true);$ke=count($W)-1;$Rh=$W[$ke];$Qh=$W[0];$H=floor(6+52/($ke+1));$Cg=0;while($H-->0){$Cg=int32($Cg+0x9E3779B9);$Wb=$Cg>>2&3;for($Te=0;$Te<$ke;$Te++){$Qh=$W[$Te+1];$je=xxtea_mx($Rh,$Qh,$Cg,$z[$Te&3^$Wb]);$Rh=int32($W[$Te]+$je);$W[$Te]=$Rh;}$Qh=$W[0];$je=xxtea_mx($Rh,$Qh,$Cg,$z[$Te&3^$Wb]);$Rh=int32($W[$ke]+$je);$W[$ke]=$Rh;}return
long2str($W,false);}function
decrypt_string($xg,$z){if($xg=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($xg,false);$ke=count($W)-1;$Rh=$W[$ke];$Qh=$W[0];$H=floor(6+52/($ke+1));$Cg=int32($H*0x9E3779B9);while($Cg){$Wb=$Cg>>2&3;for($Te=$ke;$Te>0;$Te--){$Rh=$W[$Te-1];$je=xxtea_mx($Rh,$Qh,$Cg,$z[$Te&3^$Wb]);$Qh=int32($W[$Te]-$je);$W[$Te]=$Qh;}$Rh=$W[$ke];$je=xxtea_mx($Rh,$Qh,$Cg,$z[$Te&3^$Wb]);$Qh=int32($W[0]-$je);$W[0]=$Qh;$Cg=int32($Cg-0x9E3779B9);}return
long2str($W,true);}$g='';$Zc=$_SESSION["token"];if(!$Zc)$_SESSION["token"]=rand(1,1e6);$T=get_token();$hf=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$hf[$z]=$X;}}function
add_invalid_login(){global$c;$q=file_open_lock(get_temp_dir()."/adminer.invalid");if(!$q)return;$sd=unserialize(stream_get_contents($q));$Tg=time();if($sd){foreach($sd
as$td=>$X){if($X[0]<$Tg)unset($sd[$td]);}}$rd=&$sd[$c->bruteForceKey()];if(!$rd)$rd=array($Tg+30*60,0);$rd[1]++;file_write_unlock($q,serialize($sd));}function
check_invalid_login(){global$c;$sd=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$rd=($sd?$sd[$c->bruteForceKey()]:array());$pe=($rd[1]>29?$rd[0]-time():0);if($pe>0)auth_error(lang(77,ceil($pe/60)));}$ya=$_POST["auth"];if($ya){session_regenerate_id();$Fh=$ya["driver"];$O=$ya["server"];$V=$ya["username"];$df=(string)$ya["password"];$k=$ya["db"];set_password($Fh,$O,$V,$df);$_SESSION["db"][$Fh][$O][$V][$k]=true;if($ya["permanent"]){$z=base64_encode($Fh)."-".base64_encode($O)."-".base64_encode($V)."-".base64_encode($k);$sf=$c->permanentLogin(true);$hf[$z]="$z:".base64_encode($sf?encrypt_string($df,$sf):"");cookie("adminer_permanent",implode(" ",$hf));}if(count($_POST)==1||DRIVER!=$Fh||SERVER!=$O||$_GET["username"]!==$V||DB!=$k)redirect(auth_url($Fh,$O,$V,$k));}elseif($_POST["logout"]&&(!$Zc||verify_token())){foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(78).' '.lang(79));}elseif($hf&&!$_SESSION["pwds"]){session_regenerate_id();$sf=$c->permanentLogin();foreach($hf
as$z=>$X){list(,$Ua)=explode(":",$X);list($Fh,$O,$V,$k)=array_map('base64_decode',explode("-",$z));set_password($Fh,$O,$V,decrypt_string(base64_decode($Ua),$sf));$_SESSION["db"][$Fh][$O][$V][$k]=true;}}function
unset_permanent(){global$hf;foreach($hf
as$z=>$X){list($Fh,$O,$V,$k)=array_map('base64_decode',explode("-",$z));if($Fh==DRIVER&&$O==SERVER&&$V==$_GET["username"]&&$k==DB)unset($hf[$z]);}cookie("adminer_permanent",implode(" ",$hf));}function
auth_error($m){global$c,$Zc;$fg=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$fg]||$_GET[$fg])&&!$Zc)$m=lang(80);else{restart_session();add_invalid_login();$df=get_password();if($df!==null){if($df===false)$m.=($m?'
':'').lang(81,target_blank(),'permanentLogin()');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$fg]&&$_GET[$fg]&&ini_bool("session.use_only_cookies"))$m=lang(82);$We=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$We["lifetime"]);page_header(lang(28),$m,null);echo"\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(84),lang(85,implode(", ",$nf)),false);page_footer("auth");exit;}stop_session(true);if(isset($_GET["username"])&&is_string(get_password())){list($ed,$jf)=explode(":",SERVER,2);if(preg_match('~^\s*([-+]?\d+)~',$jf,$C)&&($C[1]<1024||$C[1]>65535))auth_error(lang(86));check_invalid_login();$g=connect();$l=new
Min_Driver($g);}$Pd=null;if(!is_object($g)||($Pd=$c->login($_GET["username"],get_password()))!==true){$m=(is_string($g)?nl_br(h($g)):(is_string($Pd)?$Pd:lang(87)));auth_error($m.(preg_match('~^ | $~',get_password())?'
'.lang(88):''));}if($_POST["logout"]&&$Zc&&!verify_token()){page_header(lang(76),lang(89));page_footer("db");exit;}if($ya&&$_POST["token"])$_POST["token"]=$T;$m='';if($_POST){if(!verify_token()){$md="max_input_vars";$Zd=ini_get($md);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$Zd||$X<$Zd)){$md=$z;$Zd=$X;}}}$m=(!$_POST["token"]&&$Zd?lang(90,"'$md'"):lang(89).' '.lang(91));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$m=lang(92,"'post_max_size'");if(isset($_GET["sql"]))$m.=' '.lang(93);}function
select($J,$h=null,$Le=array(),$_=0){global$y;$Od=array();$x=array();$e=array();$Ga=array();$nh=array();$K=array();for($t=0;(!$_||$t<$_)&&($L=$J->fetch_row());$t++){if(!$t){echo"":"".lang(13))."\n";return$K;}function
referencable_primary($ag){$K=array();foreach(table_status('',true)as$Gg=>$Q){if($Gg!=$ag&&fk_support($Q)){foreach(fields($Gg)as$n){if($n["primary"]){if($K[$Gg]){unset($K[$Gg]);break;}$K[$Gg]=$n;}}}}return$K;}function
adminer_settings(){parse_str($_COOKIE["adminer_settings"],$hg);return$hg;}function
adminer_setting($z){$hg=adminer_settings();return$hg[$z];}function
set_adminer_settings($hg){return
cookie("adminer_settings",http_build_query($hg+adminer_settings()));}function
textarea($E,$Y,$M=10,$cb=80){global$y;echo"";}function
select_input($xa,$Ge,$Y="",$Be="",$if=""){$Mg=($Ge?"select":"input");return"<$Mg$xa".($Ge?">