Adminer 4.2.0

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

Nová verze Admineru opravuje závažnou bezpečnostní chybu (XSS v přihlašovacím formuláři). Všem doporučuji okamžitou aktualizaci. Kromě toho přidává i několik novinek:

Kromě toho bylo opraveno několik dalších chyb popsaných v changes.txt.

Jakub Vrána, Adminer, 7.2.2015, diskuse: 20 (nové: 0)

Diskuse

Jan Tvrdík:

Přechod na utf8mb4 má problém, že najednou přestanou fungovat dotazy jako:

SELECT *
FROM `users`
WHERE (`email` LIKE 'tv%' COLLATE `utf8_czech_ci`)
LIMIT 10

(zdroj: http://forum.nette.org/en/22055-nette-2-3-…-testing#p150710)

ikona Jakub Vrána OpenID:

Je potřeba používat utf8mb4_czech_ci.

Richard:

Neplánuje se funkce, že pokud selectem vyhledám nějaká data, bude tam stejně jako v defaultním vypisu tlačítko na upravení?

ikona Jakub Vrána OpenID:

Všechny hodnoty z primárních klíčů jsou prolinkované na editaci záznamu. Odkaz upravit tam není, protože řádek může být sestaven z více tabulek.

trestná smradlavice:

Ahoj, Jakube,
Co když chci při výpisu/vyhledávání v tabulce použít operátor IN, jehož prvky jsou ne čísla, ale řetězce (navíc obsahující čárky)?

Adminer v tomto případě stringy v IN (v jednoduchých ani dvojitých uvozovkách) nepodporuje, hodí chybu: "Syntax error near ') LIMIT 50' at line 3"

Nechtěl bys použít tuto jednoduchou funkci?
<?php
function safe_in($input)
{
   
preg_match_all('~([-\+]?(0x[0-9a-f]+|(0|[1-9][0-9]*)(\.[0-9]+)?(e[-\+]?[0-9]+)?)|\'(\.|[^\'])*\'|"(\.|[^"])*")~i', $input, $matches);
    return
implode(',', $matches[0]);
}
?>

ikona Jakub Vrána OpenID:

Apostrofy jsou podporované, syntaxe je:

'a','b'

Čárky nevadí.

trestná smradlavice:

Ahoj.
Zdá se, že máš pár nepřeložených textů (pro jiné jazyky než angličtina a čeština):

výpisu tabulky:
* "Modify" v levém horním rohu tabulky
* fieldset "Modify" dole
* fieldset "Selected (0)" dole

výpis databází
* "Size - compute" v záhlaví

pozměnit tabulku:
* "Default value" v záhlaví

ikona Jakub Vrána OpenID:

Ano, nechám to na dobrovolnících.

Adam:

Zdravím,
hlásím drobný bug.
- Ve výpisu tabulky zaškrtnu jeden řádek, zaktivní se tlačítka "Upravit", "Klonovat" a "Smazat". Kliknu na "Klonovat" nebo "Upravit".
- Z nově načtené stránky jdu v prohlížeči zpět.
- Vrátil jsem se na výpis tabulky, kde jsou zaškrtnuté záznamy (prohlížeč si je zapamatoval ), ale tlačítka "Upravit", "Klonovat" a "Smazat" jsou neaktivní.
- odzkoušeno v aktuální verzi Chrome

ikona Jakub Vrána OpenID:

Díky za upozornění, opravil jsem to. Checkboxy se zaškrtnou až po vyrenderování celého <form>, volání funkce jsem proto přesunul tam.

Lukáš Novotný:

Dobrý den,
v PostgreSQL když exportuji data z tabulky tak se mi logické hodnoty typu boolean exportují do dumpu jako 't' pro true a 'f' pro false, nevím zdali je to chyba, každopádně jsem na to chtěl jen upozornit, neb by bylo dle mého soudu kdyby se exportovali podle sql specifikace tj: true/false.
Hezký den...

ikona Jakub Vrána OpenID:

Jde o formát používaný PostgreSQL.

trestná smradlavice:

Zdravím,
popíšu následující případ:
* nechám si vypsat tabulku
* u jednoho řádku kliknu na "upravit" (s Ctrl, do nového okna)
* tento řádek v prvním okně smažu
* v druhém okně kliknu na "Uložit"
* Adminer mi napíše "Položka byla aktualizována", což není pravda

Adam:

Podobný případ (přístup k mezitím smazanému řádku) se děje i při rychlé editaci (ctrl-klick). U textu na více řádků se zobrazí chyba z PHP.

trestná smradlavice:

Zdravím.
Neměl by u pohledu (view) zmizet odkaz "Nová položka"?
(protože do pohledu nelze vložit nový řádek?)

ikona Jakub Vrána OpenID:

Pomocí triggerů to může povolit i pohled.

Martin:

Ahoj. Nevím, jak se pracuje se SOURCEFORGE, píši tedy tuto drobnost sem, třeba to někdo bude potřebovat a na SOURCEFORGE doplní. Nový Adminer má alfa plugin pro Firebird, ale ten padá při zobrazení jakékoli tabulky. Řešením je doplnit několik prázdných funkcí od řádku 311 do souboru firebird.inc.php :

...

    function convert_field($field) {
    }

    function unconvert_field($field, $return) {
        return $return;
    }

    function found_rows($table_status, $where) {
    }

...

Martin:

A ještě

...
    function explain($connection, $query) {
    }
...

Explain se mi bohužel nepodařilo rozchodit, takže jsem jej jen "vypnul", aby běžné dotazy nezpůsobovaly chybu.

Hermiona Frodit:

Zdravím
Na PHP 7 (7.0.1 na win) Adminer hází tuto chybu:

Warning:  Declaration of Min_DB::connect($N, $V, $G) should be compatible with mysqli::connect($host = NULL, $user = NULL, $password = NULL, $database = NULL, $port = NULL, $socket = NULL) in …\index.php on line 1171

ikona Jakub Vrána OpenID:

Díky za upozornění, v Gitu už jsem to opravil a brzy vydám novou verzi.

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 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.