Adminer 4.0.0

Školení, která pořádám

Hlavní novinkou právě vydané verze Admineru jsou ovladače pro NoSQL databáze. Konkrétně SimpleDB, MongoDB a Elasticsearch. Poslední dva jsou nedodělané a jsou označené jako beta, i tak jsem se je ale rozhodl zveřejnit – hlavně pro případ, že by je někdo chtěl dokončit. Sám MongoDB a Elasticsearch momentálně nepoužívám, tak k tomu mám malou motivaci.

Dalších novinek je také požehnaně:

Opravil jsem také několik chyb zavlečených v předchozích verzích:

Několik vylepšení se týká také bezpečnosti:

Některé novinky jsou k dispozici jen v některých ovladačích:

Přibyla portugalština používaná v Portugalsku a thajština.

Jakub Vrána, Adminer, 8.1.2014, diskuse: 82 (nové: 0)

Diskuse

Miroslav Hruška:

Díky moc Jakube za novou verzi, zvýrazňování syntaxe je naprosto boží, už jsem delší dobu přemýšlel, že bych na to udělal rozšíření. A najednou BUM, je to tam. Super :)

Jedinou výhradu mám k fungování TAB klávesy v textaree, to, že se chová stejné jako na inputech (přeskakuje na další pole) je naschvál? Nebo nějaké omezení toho highlighteru?

Díky

ikona Jakub Vrána OpenID:

Dřív Tab skutečně vkládal tabulátor, ale zrušil jsem to, protože to je neintuitivní.

Tomáš Lang:

Nedalo by se původní chování tabulátoru zachovat alespoň pomocí pluginu? Osobně jsem byl za tuto funkci velmi rád, obvzláště při vytváření složitějších dotazů.

ikona Jakub Vrána OpenID:

Asi by to šlo, sám se ho ale dělat nechystám.

Miroslav Hruška:

Pokusil jsem se v rychlosti napsat plugin, zasekl jsem se však na nastavení kurzoru v tom editable pre elementu. Pokud by měl někdo zájem dokončit, zde je můj kód, od kterého se snad dá odrazit - http://pastebin.com/udjuS0G2

Honza Marek:

Proč neintuitivní? Tak přece fungují velká textová pole skoro všude kromě prohlížečů.

ikona Jakub Vrána OpenID:

No právě, Adminer běží v prohlížeči.

Petr Procházka:

(Díky za skvělou práci.)

Tabulátory je pro mě zatím důvod zůstat u starší verze, do doby než někdo napíše plugin (nebo budu na to mít čas sám.) Často si v admineru píšu/ladím komplikovanější sql a možnost odsazovat pro mě převažuje zvýrazňování.

Tomáš Lang:

Také bych moc rád poděkoval za výdání nové verze, hlavně pak za (i když experimentální) podporu NoSQL databází :-)

Pokud bude v mých silách, rád pomůžu s doděláním driveru pro ElasticSearch. Chtěl bych reportovat jednu podivnost v driveru pro ES: https://github.com/vrana/adminer/blob/master/….inc.php#L22 - pracuje se zde s proměnnou $http_response_header, která ovšem není nikde definována, a zhlavy teď moc nevím jak by se z fce file_get_contents získala...

Martin:

http://php.net/manual/en/reserved.variables.httpresponseheader.php

Tomáš Lang:

Děkuji, to jsem neznal :-) (a asi ani nechtěl znát :D) - každopádně je tím chyba jasná - mám totiž minifikovanou verzi, a dojde k přejmenování té proměnné $http_response_header na $fd, takže tohle by asi chtělo ošetřit v tom minifikátoru...

ikona Jakub Vrána OpenID:

Díky za upozornění, opravil jsem to.

Miroslav Hruška:

No fuj, naivně jsem si myslel, že tuhle, mírně řečeno magii, už PHP všude zahodilo ...

ikona Vlado:

Zdravim Jakub, zaujíma ma, akú máš prestavu s tým MongoDB driverom a zobrazovaním dát v NoSQL databázach. Chceš to robiť aby to bolo ako napr. RockMongo a zobrazovať celé dokumenty ako JSON alebo tak ako je to momentálne - tabuľkovo. Vďaka.

ikona Jakub Vrána OpenID:

Tabulkově.

ikona Zemistr:

Narazil jsem na dvě nepříjemnosti :/

1) Když něco naedituji přes „Uložit a pokračovat v editaci“, tak se sice data odešlu na server, ale v editoru mi zůstanou data původní. Bylo by dobré, kdyby se i tato data aktualizovala. :)

2) Když chci editovat něco, co je třeba typu INT a přepnu si, že chci použít SQL, tak mi to nedovolí odeslat, protože input je typu  Number :/

Jinak naprostá spokojenost!
Dobrá práce, Jakube :)

ikona Jakub Vrána OpenID:


1) To je záměrně. Když někde použiju třeba NOW(), tak chci, aby mi to tam při pokračování editace zůstalo. Ukládání je navíc asynchronní, takže když dorazí odpověď, ve formuláři už může být něco jiného.

2) Díky za upozornění, opravil jsem to.

ikona Zemistr:

1) Právě proto by se mi líbilo, kdyby se to zaktualizovalo a já pracoval s aktuálními daty
2) Paráda, hned si to jdu stáhnout :)

ikona Michal Hudák:

Libí se mi úpravy designu ;-) super...!

Zdeněk Chládek:

Narazil jsme na drobný problém.

Zdá se mi to nebo ten script pro zvýrazňování syntaxe není odlazen?

Dobře to funguje v Chrome, ale ve FF a Opeře nejde do okna pro sql dotaz nic pastnout a ve FF ani psát. :-(
Všechny prohlížeče jsem testoval na Ubuntu.

Zatím budu muset zůstat na starší verzi.

Jinak jsem spokojen! Adminer je super a nedám na něj dopustit!

Díky

Tharos:

Mám stejný problém ve FF. Všemožným klikáním a změnou focusu se vstupní pole nakonec probudí, ale bezprostředně po načtení stránky do něj skutečně nelze nic napsat/vložit.

Jakube, stačí takovýto popis, anebo mám vystopovat, kde přesně to vázne?

Petr N:

Osobně mám také FF a tento problém nemám.

Jakub Míšek:

Jedná se o bug Firefoxu, už jsem to Jakubovi psal na Twitteru. Pokud má element nastavený contentEditable a autofocus, tak je potřeba začít buď rovnou psát a nebo kliknout mimo (focus out) a pak znovu na textareu, potom to začne fungovat správně.

http://stackoverflow.com/questions/3380376/…-focus-issues

m:

Používam Operu 12.16 a tiež mi nefunguje C&P pre SQL príkaz. Na nových Operách (Blink) to viac-menej funguje.

ikona Jakub Vrána OpenID:

Na pastování v Opeře se podívám. Chybu Firefoxu dokážu reprodukovat, asi to vyřeším zrušením autofocusu.

ikona Jakub Vrána OpenID:

Problém se ztraceným focusem ve Firefoxu jsem vyřešil tak, že textarea nedostane autofocus, takže se na ni musí kliknout. Zkoušel jsem kde co (chvíli počkat, než focus předám; blurnout původní element), ale nepomohlo to.

nahňácanina:

Mě ve FF v SQL okně pastnout i psát jde (mám Windows 7).
Naopak, v Chrome v SQL okně kliknutí na odkaz nic neudělá - ale jde to obejít přes: pravý klik + otevřít odkaz.

Petr N:

Ahoj,
zajímalo by mne, jak má fungovat #help? Ještě nikdy se mi nepovedlo ho zobrazit. Když ho pomocí firebugu zobrazím, tak se jedná jen o čtvereček.

ikona Jakub Vrána OpenID:

Měl by se zobrazit třeba po najetí na výběr SQL funkce, která se má aplikovat.

nik:

Skvělá práce Jakube, chválím a děkuji.

Mira:

Ahoj, především super práce! Velice mě zaujala možnost propojení s Elasticsearchem… Vtomto případě jak se připojit? Když do políčka server vyplním "localhost:9200" tak mi to vrátí defautl odezvu ES ale Adminer to vyhodnotí jako errror. Takže má otázka zní jak se připojit?

Tomáš Lang:

Pokud používáš minifikovanou verzi, je potřeba si stáhnout nejnovější verzi z Githubu, jelikož tam byl problém s minifikací, viz. diskuse výše.

ikona Zemistr:

Google Chrome 31.0.1650.57 on Linux Ubuntu 13.10

Když dám delší sql do pole pro SQL příkaz, tak JUSH totálně zmrazí prohlížeč. :/

Včera se mi dokonce stalo, že jsem ladil SQL dotaz a občas se změna nepromítla. Prostě po odeslání byl jeden a ten samý dotaz. :/

Honza Marek:

Je fakt, že když jsem si teď do textarey vložil malinkatej dumpíček, tak jsem si na to musel taky chvíli počkat.

ikona Jakub Vrána OpenID:

Zakázal jsem zvýrazňování syntaxe u textů delších než 10K znaků.

ikona David Grudl OpenID:

Díky za každý nový Adminer! :-)

Při aktualizaci skinu jsem si uvědomil, že hodně práce dá neutralizace výchozího stylu. Lepší je ho vypnout, čehož lze docílit snadno http://goo.gl/xoCLP8, ale takto vytvořený styl pak nelze používat samostatně.

Co třeba přidat možnost nějaké anotace uvnitř adminer.css, která by výchozí styl vypnula? Třeba něco takového

<?php if (!file_exists("adminer.css") || strpos(file_get_contents("adminer.css"), '@noDefaultCSS') === FALSE) { ?>
<link rel="stylesheet" type="text/css" href="../adminer/static/default.css">
<?php } ?>

ikona Jakub Vrána OpenID:

Anotaci dělat nebudu, to bych spíš vkládání default.css přesunul do metody head(). Ale asi nebudu dělat ani to, protože se bojím, že když v budoucnu něco přidám a bude to bez výchozího stylu, tak to bude ve skinech rozbité víc, než když to bude mít styl alespoň nějaký. Některá pravidla jsou celkem zásadní, např. .js .hidden.

Petr N:

Přesně jak píše "nahňácanina" tohle by bodlo.

nahňácanina:

A nechtělo by to rozdělit CSSko s těmi 'zásadními' (funkčními) styly (definující de facto chování) a CSSko definující ryze defaultní vzhled?

Martin Štekl:

Hraju si s novou verzí a koukám, že i když je cizí klíč NULL, tak se zobrazí jako odkaz na odpovídající řádek. Nejsem si jist, zda je to feature nebo bug, ale osobně se přikláním více k bugu, protože:

-  Ctrl+klik do nového okna, ale v původním okně se otevřela i inline editace (pro jiné cizí klíče s hodnotou to jenom otevře nový panel)
- zobrazení hodnoty NULL v cizím klíči jako odkaz mi přijde divné už jenom proto, že je jasné, že to nikam nevede. Chápu ale, že je i při pohledu na data, ve kterých jsou v daném cizím klíči jen hodnoty NULL, je mnohem jednodušší poznat, že jde o cizí klíč.

V každém případě jsem spokojený se zvýrazňováním syntaxe. Hned se mi píše o něco lépe složitější dotazy, když se nemusím vyznat v jednobarevné změnit znaků.

ikona Jakub Vrána OpenID:

Teoreticky sice v odkazované tabulce může být i hodnota NULL, ale INNER JOIN by ji stejně nespojil, tak jsem zrušil i odkaz. Díky za nakopnutí.

Martin Štekl:

Díky, ve verzi 4.0.1 už je to OK. Nicméně zatím jsem nenarazil na use case, ve kterém bych využil FK na sloupec, nad kterým není PK ale jen obyčejný index. Předpokládám, že to je poměrně málo častý případ a nejsem si jist správností takové vazby vzhledem k normálním formám.

rmaslo:

Občas se to stává ... třeba tabulka "firmy" má jako PK id (autoincrement) a to se používá všude v systému.
Ale je třeba nějaká tabulka vzatá z veřejných zdrojů (firmy v úpadku) a tam je to svázané přes ičo (které ve firmy není PK, ale jen index).

Jiří Petruželka:

Zatím se rozkoukávám. V Opeře 12.16/1860 (nová je zatím nepoužitelná) mi nefunguje ctrl+v do *SQL příkaz*. V konzoli chybové konzoli ani Dragonfly nic není. V Chrome OK.
Přibylo nějaké nové stylování, hádám že se předpokládá upravení šablon

ikona Jakub Vrána OpenID:

Paste v Opeře jsem opravil, zapomněl jsem na to. Díky za připomenutí.

Stanislav:

Dobrý den,
jelikož často migruji data ze starších systémů do nových databázových struktur a oblíbil jsem si Adminer, tak bych uvítal možnost v přehledu tabulek zaškrtat tabulky a hromadně u nich provést změnu znakové sady - jak už u tabulek, tak u sloupců.
Ruční klikání je příliš zdlouhavé, takže jsem si na to byl nucen napsat script. I přesto by bylo jistě pohodlnější nabídnout takovouto hromadnou změnu přímo v Admineru, protože komu se nestalo, že až po vytvoření struktury si všiml špatné znakové sady a musel to všude měnit?

ikona Jakub Vrána OpenID:

O převodu jsem taky kdysi psal: http://php.vrana.cz/prevod-kodovani-mysql.php.

Do Admineru to dávat nebudu, protože to má řadu „gotchas“. Např. indexy s omezenou délkou nad textovými sloupci je potřeba převádět opatrně (co se tak matně vybavuji).

Ale možná by to šlo udělat jako plugin.

Aleš:

Podpora Elasticsearch je chvályhodná činnost, ale nejedná se náhodou o bezpečnostní riziko? ES nepoužívá žádný autentizační protokol, ten je potřeba přidat pomocí nginx a reverní proxy, nicméně málokdo to využívá (už jsme dokonce narazili na známou firmu, která měla port 9200 veřejně přístupný a ES se dal procházet přes webového klienta).

Elasticsearch je totiž v otázce bezpečnosti specifický. Že je potřeba nastavit hesla, omezené účty, atd. u MySQL ví každý, protože se využívá na sdíleném hostingu a je třeba každému klientovi zajistit přístup jen do vlastních databází. Naopak ES se instaluje jen na virtuálních či vlastních serverech a přístup tam má jen správce (často v domění, že jen v rámci skriptů) a otázka zabezpečení už se tolik neřeší.

Pokud si nezkušený vývojář nahraje například na firemní server (veřejně přístupný bez autentizace) Adminer verzi 4.0.2, tedy defaulně s rozšířením Elasticsearch, za účelem správy MySQL, tak automaticky dovolí komukoliv, kdo zná umístění skriptu, přistoupit k Elasticsearch.

Hever:

Obecně vystavovat na serverech adminer (resp. jeho login page) světu jen pod nějakou "tajnou" url není dobrý nápad. Nastavit základní http atentizaci na administrátorský adresář je jednoduché a dostačující. Takto se lze většině následných problémů. (viz. http://devel.cz/otazka/zabezpeceni-administracnic…-webove-aplikace)

ikona Jakub Vrána OpenID:

Přemýšlel jsem nad tím už při přidávání SQLite, které dovoluje pracovat s libovolnými SQLite databázemi dostupnými skriptu. Já Adminer na veřejně dostupné adrese používám pouze ve verzi pro MySQL a s vlastní metodou login(): http://www.adminer.org/cs/extension/. Druhou možností je přidat zabezpečení už na úrovni webového serveru, např. přes .htpasswd.

Petr N:

Nalezel jsem nějaké divné chování poslední verze (všechny db, pouze čeština).

Když kliknu na uložit, tak mi to lagne firefox, tak cca 5-6 vteřin neodpovídá a pak OK.

Bohužel nemohu zjistit důvod, dělá to pokaždé :(

ikona Jakub Vrána OpenID:

Mně to nic takového nedělá. Možná nějaký plugin Firefoxu?

Milsa:

Na stránke sťahovania adminera sa píše:
Alter export pre prenesenie zmien do produkčnej databázy

Pokiaľ viem, toto bolo už vyhodené alebo sa mýlim?

Michal:

Myslím, že byl přesunut do pluginu. Zda to z toho důvodu má či nemá být napsáno na stránce... toť otázka na Jakuba.

ikona Jakub Vrána OpenID:

Ano, tohle bylo přesunuté do pluginu. Díky za upozornění, vyhodil jsem to.

ikona Petr Bugyík:

Nechci prudit, ale nebyla by oprava designu od p. Miroslava Pokorného na poslední verzi? Nemohl jsem na něho ve zdrojácích najít kontakt, jinak bych požádal jeho. Díky :)

ikona Jakub Vrána OpenID:

Já to dělat určitě nebudu, ale když mi pošleš novou verzi, tak ji rád zveřejním.

rmaslo:

Vlastní web-editor rozhodně není drobnost a určitě by stál za rozvedení - touto problematikou se celkem dost zabývám - používám vlastní web-ide. Vyzkoušel jsem několik principů:

1. Odchytávat úhozy na klávesnici a myš v a všechno si od základů spravovat sám v paměti javascriptu. A pak to pouze vykreslit do divu. Problémy které jsme odhalil - na takto nízké urovni je potřeba řešit rozdíly mezi Win a Linux - např. autorepeat klávesnice, rozdíly v kódech některých kláves (CapsLock atd...) Je potřeba "obejít" zákaz přístupu javascriptu do schránky při Ctrl+C a Ctrl+V. Při zjištění pozice kam bylo kliknuto myší (přesun kurzoru) je potřeba myslet na zoom prohlížeče atd... Výhodou je naprostá kontrola - člověk může mít sloupcové bloky, nesouvislé bloky pro kopírování do schránky, vlastní rozložení klávesnice atd... V principu asi nejrychleší = nejvhodnější pro velké soubory.

2. contentEditable Pokud člověl chce vychytat všechny mouchy tohoto řešení podle mě nakonec dojde až k traverzování okolo DOMu a nejvíce se zde ukáží rozdíly mezi prohlížeči. Proto mi tento způsob přijde asi jako nejtěžší - prostě hrabat se v tom co generuje IE(6) mi přišlo někdy dost smutný. Na druhou stranu asi jedinný způsob, pokud by člověk trval na různých fontech (nebo velikostech) v rámci zdrojáku (online formátování a zobrazování dokumentačních komentářů). Taky asi nejpomalejší tj. nejméně vhodný pro rozsáhlé soubory. Problémy s nefunkčním zpět, které contentEditable nabízí pokud se mu do toho člověk hrabe ručně (minimálně ve FF), občas problémy s focusem a pozicí kusoru.

3. Transparentnost - nahoře textarea s průhledností 99% a pod ní DIV s obarvenou syntaxí. Na naprogramování asi nejjednodušší, i když i tady je samozřejmě potřeba řešit pár špeků - třeba kurzor, synchronizaci obarvení vybraných bloků, divný překreslování scrollbarů (na sobě) v Chromu atd... Asi "nejblbuzvzdornější" řešení - s nejméně vyjímkami pro různé browsery a jejich verze. Nevýhoda - ten text je tam fakt 2x - Prohlížečové Ctrl+F funguje divně, je potřeba napsat a používat svoje.

Osobně jsem používal č.1 pak krátce č.2 a nyní č.3.  CodeMirror používal č.2 a pak přešel na č.1.

----------------------------------------------------------------------------------------------

Hrozně moc by mě zajímalo proč jsi zvolil zrovna řešení č.2 - jestli jsi o tom nějak déle uvažoval nebo jestli Ti to přišlo prostě jako přirozené. A na jaké zajímavé problémy jsi narazil a jak je řešil. Hodně věcí se zde podle mě točí okolo rychlosti překreslování - a optimalizace tohoto, Lidsky řečeno - pokud na začátek textu dám třeba víceřádkový komentář tak se mi změní syntaxe třeba až do konce textu - tisíce řádek. Překresluješ to v tomto okamžiku ? (pomalé) nebo až při rolování (pamatování si nepřekreslených řádek? + odchytávaní všemožných scrollovacách událostí - fakt peklo), nebo překresluješ s pauzama kdy hlídáš zda nenastal další vstup...

Skoro si ani nemyslím, že by to bylo na odpověď sem - je to podle mě spíše téma na celý článek (až se Ti někdy bude chtít). Alespiň mě osobně přišlo napsání editoru ještě o něco složitější než napsání vlastního zvýrazňovače.

----------------------------------------------------------------------------------------------

PS: A na závěr nějaké to nápady - třeba něco použiješ
Po drag & drop (ondrop) by se contentEditable mělo přemalovat. Když třeba na demu (sourceforge) označím jako blok to od "SQL příkaz" až po "vypsat songs" a ten blok přesunu do toho contentEditable tak se dějí docela divný věci.

FF - chyba s focusem - mě se podařila vyřešit tak, že jsem na začátku nastavil do toho contentEditable prázdný textový node a focusoval ho přes range funkce - používal jsem http://code.google.com/p/rangy/

Pokud chceš, aby z menu contentEditable prvku zmizelo nefunkční undo (třeba FF) tak asi jediný způsob jak to udělat (dlouho jsem myslel, že to nejde a fakt intezivně experimentoval) je bleskově vypnout a zapnout vlastnost contentEditable. Což, ale zase u Opery rozhodí focus - tak blbě, že si opera myslí, že tam je, ale on tam není. No prostě na konci zobrazení je potřeba napsat:
elm.contentEditable = false;
elm.contentEditable = true;
elm.blur();
elm.focus();
... a undo případně řešit po svém.

V ondblclick naprogramovat, aby dblclick označil text s podrtržítkem - tabulky často mívají nějaký prefix, jednoduchý programování a hodně praktický použití.

Nápadů je spousta - na druhou stranu chápu, že nepíšeš komplexní editor zdrojových textů ... takže radši zabrzdím :-)

ikona Jakub Vrána OpenID:

Pěkný rozbor. Já jsem chtěl, aby se editování chovalo pokud možno přesně tak, jak je v systému zvykem. Např. někde Ctrl+vpravo skáče na konec slova, jinde na začátek dalšího slova. Řešení 1 by vyžadovalo detailní rozbor chování prohlížečů a operačních systémů a jeho emulaci, s čímž jsem se fakt nechtěl babrat. Řešení 3 jsem zkoušel, ale rychle jsem ho opustil kvůli těm špekům, o kterých píšeš. Myslím, že jsem skončil už kvůli synchronizaci posouvání nebo něčemu podobnému. Takže jsem nakonec zakotvil u řešení 2, které mi přijde nejčistší. Kdyby prohlížeče při stisknutí Enter vložily <br>, tak by s tím bylo jen minimum problémů. Bohužel některé vkládají <div>, jiné <p>, prokládají to &nbsp;, některé obalí značkou i úvodní text, jiné ne, spousta babrání.

Přepočítávám celý text tehdy, když se změní. Zakapoval jsem to na 10K znacích, pak se vstup obarvovat přestane.

Zajímavé mi přišlo undo, s tím si ještě trochu pohraju, teď je náročné na paměť. Ukládám vždy celý text, samozřejmě ale jen po souvislých blocích psaní, ne každý znak zvlášť. Daly by se ukládat jen rozdíly, ale nevím, jestli se s tím budu dělat.

Za tipy díky, zkusím je využít.

rmaslo:

Jasný prostě to vždy přepíšeš celé, takže se nemusíš babrat s tím co contentEditable generuje v různých browserech. A špatnou rychlost jsi vyřešil tím, že to omezíš dle počtu znaků - Což je v admineru celkem logické - buď píšu SQL ručně a tam mě syntaxe zajímá anebo vkládám tisíce INSERTů (který jsem vygeneroval někde vedle) a tam to oželím.

Michal:

Zdravím. V případě, že v sqlite DB provedu běžnou selekci pomocí select vedle názvu tabulky (SELECT *, rowid FROM "MISTO" LIMIT 50) tak sloupec rowid není zobrazen. Pokud provedu stejný dotaz ručně pomocí odkazu Edit a následného Execute, tak výpis sloupec obsahuje. Proč to ?

ikona Jakub Vrána OpenID:

Výpis dat defaultně zobrazuje výsledek SELECT *. rowid se přidává jen proto, aby se daly snadněji dělat odkazy na úpravu dat.

Michal:

Nedaří se mi v SQlite vytvořit tabulku. Místo sloupců obsahuje sql příkaz text 'Array'.

Michal:

Ááá už vidím, fixnuto 4.0.3. Díky

Michal:

Dotaz k SQLite. Po vytvoření unikátního indexu na sloupci(sloupcích) už při vytváření tabulky není tento index poté vidět ve struktuře tabulky v tabulce Indexes. Pokud ovšem index vytvořím dodatečně (CREATE UNIQUE INDEX .. ON ..() ) tak vidět je. Jaký je v tom rozdíl ?
Díky

ikona Jakub Vrána OpenID:

SQLite eviduje informace o těchto indexech trochu rozdílně a Adminer jeden z nich ignoroval. Na Gitu už je to opravené.

Michal:

Zdravím, mohl by Adminer zobrazovat čas zpracování i u dotazů sestavovaných v sekci 'Select data' ? Nyní je zobrazuje jen při ručním položení dotazu.

ikona Jakub Vrána OpenID:

Asi by to šlo, doplnil jsem to. Nejsem moc spokojen s tím, jak se čas zobrazuje a že se dostane do SQL příkazu v případě jeho editace, to asi ještě předělám.

Michal:

Díky, i takto už je to fajn.

Jan:

Seká se Vám také adminer při ukládání "Pozměnit tabulku"?
Kompletně mi to zasekne celé FF. Tento problém pocituji až od 4.x verze. Zkusil jsem smazat cookie, cache, zakázat všechny FF pluginy, ale nic nepomohlo :(
Samozřejmě vše zkouším na čístém admineru bez doplnků (only cz), tak jak to poskytuje Jakub.
Při ukládání se využití paměti zvedne o 80mb, ale procesor skočí z klasických 01-02 až na 25 (windows, správce úloh).

Nějaký nápad na řešení a testování? Rád bych poskytl více informací k případnému řešení.

Jan:

Tak problém je lastpass. Založení nového profilu to vyřešilo.
Nicméně je to opruz.

Jan:

Takže finální výsledek. Nový profil nepomůže. Když potřebuji pracovat s adminer musim se z lastpass odhlásit.
Asi jak je na jedná stránce tolik inputů, tak to zkoumá a proto ten lag.

Zkusim dohledat řešení a napsat sem výsledek.

matej:

Je nejaka moznost napisat si plugin ktory prepise "collations()" podla stranky dokumentacie by to malo byt prepisatelne, bohuzial v praxy sa moja metoda nevola. Je to chyba, ficura, alebo sa to robi uplne inak. Vdaka za odpoved.

matej:

V praxi mi ide o to, dat si 'utf8-general-ci' (pripadne par dalsich) uplne na vrch selectu, pouzivam prakticky iba to a hladat ho v tom dlhom zozname nie je velmi pohodlne.

ikona Jakub Vrána OpenID:

Tuto funkci bohužel přepsat nejde. Dokumentace uvádí jen to, že ji je možno zavolat. Jestli se k tomu dostanu, tak ji udělám přepsatelnou.

Michal:

Zdravím,

Adminer neukládá pozice ve schématu DB pro sqlite resp. v cookie to uložené je, ale není to reflektováno. Po obnovení stránky je schéma opět ve výchozím stavu.

Adminer 4.0.3, Windows 7, Chrome Verze 33.0.1750.154 m

Michal:

Oživuji. Projevuje se ti to také ?

ikona Jakub Vrána OpenID:

Díky za upozornění, opravil jsem to.

ikona MartinKoutny:

Zdarec!
Hlasim dalsi bug v Adminerovi. Zkus si vytvorit sloupecek typu SET s 64 ruznymi volbami a upravit radek, kde vyberes nejakou z prvnich 32 voleb. Po ulozeni se chybne ulozi i hodnota posunuta o 32.
Takze pokud vyberes 1. volbu, ulozi se 1. a 33.
Pokud vyberes 3. volbu, ulozi se 3. a 35. volba.
Ocividne ti tam pretika nejaky 32-bitovej integer, pres ktery ukladas kombinaci vybranych hodnot.
Testovano na: Adminer 4.0.3, MySQL: 5.0.77, PHP: 5.3 (x86 i x64 verze)

ikona Jakub Vrána OpenID:

Jo, používá se tam bitová aritmetika. x64 verze je předpokládám na Windows (kde má PHP int taky jen 32 bitů). Pokud mi vyjde čas, tak se na to podívám.

Michal:

Zdravím, dala by se někde stahovat už zkompilovaná dev verze ?

ikona Jakub Vrána OpenID:

Jako jednosouborová verze, ale bez minifikace? To neplánuji, ale mělo by stačit zakomentovat řádek volající php_shrink(): https://github.com/vrana/adminer/blob/03e31ed1/compile.php#L406

Vložit příspěvek

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2016 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.