Hello community, here is the log from the commit of package adminer for openSUSE:Factory checked in at 2019-11-27 13:55:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/adminer (Old) and /work/SRC/openSUSE:Factory/.adminer.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "adminer" Wed Nov 27 13:55:35 2019 rev:22 rq:751164 version:4.7.5 Changes: -------- --- /work/SRC/openSUSE:Factory/adminer/adminer.changes 2019-10-23 15:51:14.382719859 +0200 +++ /work/SRC/openSUSE:Factory/.adminer.new.26869/adminer.changes 2019-11-27 13:56:10.864278323 +0100 @@ -1,0 +2,24 @@ +Wed Nov 27 01:35:49 UTC 2019 - [email protected] + +- Update to version 4.7.5: + * Release 4.7.5 + * Re-apply https://github.com/vrana/adminer/pull/363/commits/89b6e9bb + * Update zh-tw.inc.php + * Update zh.inc.php + * Stop using adsrc column + * fixed: SQL command for insert, create table, etc. new: create/rename table, add/drop/change type for column + * Fix brazilian portuguese translation + * Swedish translation + * Update hever design + * Don't overwrite variable + * Add id="" to cells with failed inline edit (bug #708) + * Unify dumpTable declarations (bug #707) + * PostgreSQL, Oracle: Set schema for EXPLAIN queries in SQL command (bug #706) + * Initialize version-noverify sooner (bug #705) + * Make context in qsa() optional + * Delete extra newlines + * correct complement of responsive media query + * update lucas-sandery theme + * Add funding + +------------------------------------------------------------------- Old: ---- adminer-4.7.4.tar.xz New: ---- adminer-4.7.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ adminer.spec ++++++ --- /var/tmp/diff_new_pack.t4Rnl1/_old 2019-11-27 13:56:13.088277384 +0100 +++ /var/tmp/diff_new_pack.t4Rnl1/_new 2019-11-27 13:56:13.092277383 +0100 @@ -22,7 +22,7 @@ %bcond_with mongodb %bcond_with mssql Name: adminer -Version: 4.7.4 +Version: 4.7.5 Release: 0 Summary: Database management in a single PHP file License: GPL-2.0-only OR Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.t4Rnl1/_old 2019-11-27 13:56:13.116277373 +0100 +++ /var/tmp/diff_new_pack.t4Rnl1/_new 2019-11-27 13:56:13.116277373 +0100 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">refs/tags/v4.7.4</param> + <param name="revision">refs/tags/v4.7.5</param> <param name="url">https://github.com/vrana/adminer.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.t4Rnl1/_old 2019-11-27 13:56:13.136277364 +0100 +++ /var/tmp/diff_new_pack.t4Rnl1/_new 2019-11-27 13:56:13.136277364 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/vrana/adminer.git</param> - <param name="changesrevision">b9594d13d6af838760936634a9a234e3d7c70e18</param> + <param name="changesrevision">8706bc7c0fd23b69a882a4e073c12a260b5e54d1</param> </service> </servicedata> ++++++ adminer-4.7.4.tar.xz -> adminer-4.7.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/.github/FUNDING.yml new/adminer-4.7.5/.github/FUNDING.yml --- old/adminer-4.7.4/.github/FUNDING.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/adminer-4.7.5/.github/FUNDING.yml 2019-11-13 08:17:14.000000000 +0100 @@ -0,0 +1,2 @@ +patreon: jakubvrana +custom: ["https://sourceforge.net/p/adminer/donate/"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/drivers/clickhouse.inc.php new/adminer-4.7.5/adminer/drivers/clickhouse.inc.php --- old/adminer-4.7.4/adminer/drivers/clickhouse.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/drivers/clickhouse.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -27,6 +27,10 @@ } $return = json_decode($file, true); if ($return === null) { + if (!$this->isQuerySelectLike($query) && $file === '') { + return true; + } + $this->errno = json_last_error(); if (function_exists('json_last_error_msg')) { $this->error = json_last_error_msg(); @@ -123,6 +127,9 @@ class Min_Driver extends Min_SQL { function delete($table, $queryWhere, $limit = 0) { + if ($queryWhere === '') { + $queryWhere = 'WHERE 1=1'; + } return queries("ALTER TABLE " . table($table) . " DELETE $queryWhere"); } @@ -154,12 +161,43 @@ } function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) { + $alter = $order = array(); foreach ($fields as $field) { if ($field[1][2] === " NULL") { $field[1][1] = " Nullable({$field[1][1]})"; + } elseif ($field[1][2] === ' NOT NULL') { + $field[1][2] = ''; + } + + if ($field[1][3]) { + $field[1][3] = ''; + } + + $alter[] = ($field[1] + ? ($table != "" ? ($field[0] != "" ? "MODIFY COLUMN " : "ADD COLUMN ") : " ") . implode($field[1]) + : "DROP COLUMN " . idf_escape($field[0]) + ); + + $order[] = $field[1][0]; + } + + $alter = array_merge($alter, $foreign); + $status = ($engine ? " ENGINE " . $engine : ""); + if ($table == "") { + return queries("CREATE TABLE " . table($name) . " (\n" . implode(",\n", $alter) . "\n)$status$partitioning" . ' ORDER BY (' . implode(',', $order) . ')'); + } + if ($table != $name) { + $result = queries("RENAME TABLE " . table($table) . " TO " . table($name)); + if ($alter) { + $table = $name; + } else { + return $result; } - unset($field[1][2]); } + if ($status) { + $alter[] = ltrim($status); + } + return ($alter || $partitioning ? queries("ALTER TABLE " . table($table) . "\n" . implode(",\n", $alter) . $partitioning) : true); } function truncate_tables($tables) { @@ -331,7 +369,7 @@ } function support($feature) { - return preg_match("~^(columns|sql|status|table)$~", $feature); + return preg_match("~^(columns|sql|status|table|drop_col)$~", $feature); } $jush = "clickhouse"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/drivers/mysql.inc.php new/adminer-4.7.5/adminer/drivers/mysql.inc.php --- old/adminer-4.7.4/adminer/drivers/mysql.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/drivers/mysql.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -891,9 +891,8 @@ $fields = array(); preg_match_all("~$pattern\\s*,?~is", $match[1], $matches, PREG_SET_ORDER); foreach ($matches as $param) { - $name = str_replace("``", "`", $param[2]) . $param[3]; $fields[] = array( - "field" => $name, + "field" => str_replace("``", "`", $param[2]) . $param[3], "type" => strtolower($param[5]), "length" => preg_replace_callback("~$enum_length~s", 'normalize_enum', $param[6]), "unsigned" => strtolower(preg_replace('~\s+~', ' ', trim("$param[8] $param[7]"))), @@ -986,9 +985,10 @@ /** Set current schema * @param string + * @param Min_DB * @return bool */ - function set_schema($schema) { + function set_schema($schema, $connection2 = null) { return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/drivers/oracle.inc.php new/adminer-4.7.5/adminer/drivers/oracle.inc.php --- old/adminer-4.7.4/adminer/drivers/oracle.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/drivers/oracle.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -367,9 +367,12 @@ return $connection->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual"); } - function set_schema($scheme) { + function set_schema($scheme, $connection2 = null) { global $connection; - return $connection->query("ALTER SESSION SET CURRENT_SCHEMA = " . idf_escape($scheme)); + if (!$connection2) { + $connection2 = $connection; + } + return $connection2->query("ALTER SESSION SET CURRENT_SCHEMA = " . idf_escape($scheme)); } function show_variables() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/drivers/pgsql.inc.php new/adminer-4.7.5/adminer/drivers/pgsql.inc.php --- old/adminer-4.7.4/adminer/drivers/pgsql.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/drivers/pgsql.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -352,7 +352,7 @@ $identity_column = min_version(10) ? "(a.attidentity = 'd')::int" : '0'; - foreach (get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, d.adsrc AS default, a.attnotnull::int, col_description(c.oid, a.attnum) AS comment, $identity_column AS identity + foreach (get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, pg_get_expr(d.adbin, d.adrelid) AS default, a.attnotnull::int, col_description(c.oid, a.attnum) AS comment, $identity_column AS identity FROM pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid JOIN pg_attribute a ON c.oid = a.attrelid @@ -689,9 +689,12 @@ return $connection->result("SELECT current_schema()"); } - function set_schema($schema) { + function set_schema($schema, $connection2 = null) { global $connection, $types, $structured_types; - $return = $connection->query("SET search_path TO " . idf_escape($schema)); + if (!$connection2) { + $connection2 = $connection; + } + $return = $connection2->query("SET search_path TO " . idf_escape($schema)); foreach (types() as $type) { //! get types from current_schemas('t') if (!isset($types[$type])) { $types[$type] = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/include/editing.inc.php new/adminer-4.7.5/adminer/include/editing.inc.php --- old/adminer-4.7.4/adminer/include/editing.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/include/editing.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -177,8 +177,7 @@ $structured_types[lang('Foreign keys')] = $foreign_keys; } echo optionlist(array_merge($extra_types, $structured_types), $type); -?></select> -<?php echo on_help("getTarget(event).value", 1); ?> +?></select><?php echo on_help("getTarget(event).value", 1); ?> <?php echo script("mixin(qsl('select'), {onfocus: function () { lastType = selectValue(this); }, onchange: editingTypeChange});", ""); ?> <td><input name="<?php echo h($key); ?>[length]" value="<?php echo h($field["length"]); ?>" size="3"<?php echo (!$field["length"] && preg_match('~var(char|binary)$~', $type) ? " class='required'" : ""); //! type="number" with enabled JavaScript ?> aria-labelledby="label-length"><?php echo script("mixin(qsl('input'), {onfocus: editingLengthFocus, oninput: editingLengthChange});", ""); ?><td class="options"><?php echo "<select name='" . h($key) . "[collation]'" . (preg_match('~(char|text|enum|set)$~', $type) ? "" : " class='hidden'") . '><option value="">(' . lang('collation') . ')' . optionlist($collations, $field["collation"]) . '</select>'; @@ -298,8 +297,7 @@ <tr<?php echo ($display ? "" : " style='display: none;'"); ?>> <?php echo ($type == "PROCEDURE" ? "<td>" . html_select("fields[$i][inout]", explode("|", $inout), $field["inout"]) : ""); ?> <th><?php if ($display) { ?><input name="fields[<?php echo $i; ?>][field]" value="<?php echo h($field["field"]); ?>" data-maxlength="64" autocapitalize="off" aria-labelledby="label-name"><?php echo script("qsl('input').oninput = function () { editingNameChange.call(this);" . ($field["field"] != "" || count($fields) > 1 ? "" : " editingAddRow.call(this);") . " };", ""); ?><?php } ?> -<input type="hidden" name="fields[<?php echo $i; ?>][orig]" value="<?php echo h($orig); ?>"> -<?php edit_type("fields[$i]", $field, $collations, $foreign_keys); ?> +<input type="hidden" name="fields[<?php echo $i; ?>][orig]" value="<?php echo h($orig); ?>"><?php edit_type("fields[$i]", $field, $collations, $foreign_keys); ?> <?php if ($type == "TABLE") { ?> <td><?php echo checkbox("fields[$i][null]", 1, $field["null"], "", "", "block", "label-null"); ?> <td><label class="block"><input type="radio" name="auto_increment_col" value="<?php echo $i; ?>"<?php if ($field["auto_increment"]) { ?> checked<?php } ?> aria-labelledby="label-ai"></label><td><?php diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/include/lang.inc.php new/adminer-4.7.5/adminer/include/lang.inc.php --- old/adminer-4.7.4/adminer/include/lang.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/include/lang.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -37,6 +37,7 @@ 'sk' => 'Slovenčina', // Ivan Suchy - http://www.ivansuchy.com, Juraj Krivda - http://www.jstudio.cz 'sl' => 'Slovenski', // Matej Ferlan - www.itdinamik.com, [email protected] 'sr' => 'Српски', // Nikola Radovanović - [email protected] + 'sv' => 'Svenska', // rasmusolle - https://github.com/rasmusolle 'ta' => 'தமிழ்', // G. Sampath Kumar, Chennai, India, [email protected] 'th' => 'ภาษาไทย', // Panya Saraphi, [email protected] - http://www.opencart2u.com/ 'tr' => 'Türkçe', // Bilgehan Korkmaz - turktron.com diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/include/version.inc.php new/adminer-4.7.5/adminer/include/version.inc.php --- old/adminer-4.7.4/adminer/include/version.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/include/version.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -1,2 +1,2 @@ <?php -$VERSION = "4.7.4"; +$VERSION = "4.7.5"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/lang/pt-br.inc.php new/adminer-4.7.5/adminer/lang/pt-br.inc.php --- old/adminer-4.7.4/adminer/lang/pt-br.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/lang/pt-br.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -47,7 +47,7 @@ 'Indexes have been altered.' => 'Os Índices foram alterados.', 'Indexes' => 'Índices', 'Alter indexes' => 'Alterar índices', - 'Add next' => 'Adicionar proximo', + 'Add next' => 'Adicionar próximo', 'Language' => 'Idioma', 'Select' => 'Selecionar', 'New item' => 'Novo Registro', @@ -66,19 +66,19 @@ 'Foreign keys' => 'Chaves estrangeiras', 'Triggers' => 'Triggers', 'View' => 'Visão', - 'Unable to select the table' => 'Não é possivel selecionar a Tabela', - 'Invalid CSRF token. Send the form again.' => 'Token CSRF inválido. Enviar o formulario novamente.', + 'Unable to select the table' => 'Não é possível selecionar a Tabela', + 'Invalid CSRF token. Send the form again.' => 'Token CSRF inválido. Enviar o formulário novamente.', 'Comment' => 'Comentário', 'Default values' => 'Valores padrões', '%d byte(s)' => array('%d byte', '%d bytes'), 'No commands to execute.' => 'Nenhum comando para executar.', 'Unable to upload a file.' => 'Não é possível enviar o arquivo.', 'File upload' => 'Importar arquivo', - 'File uploads are disabled.' => 'Importação de arquivos desablilitada.', + 'File uploads are disabled.' => 'Importação de arquivos desabilitada.', 'Routine has been called, %d row(s) affected.' => array('Rotina executada, %d registro afetado.', 'Rotina executada, %d registros afetados.'), 'Call' => 'Chamar', 'No extension' => 'Não há extension', - 'None of the supported PHP extensions (%s) are available.' => 'Nenhuma das extensões PHP suportadas (%s) está disponivel.', + 'None of the supported PHP extensions (%s) are available.' => 'Nenhuma das extensões PHP suportadas (%s) está disponível.', 'Session support must be enabled.' => 'Suporte a sessões deve estar habilitado.', 'Session expired, please login again.' => 'Sessão expirada, por favor logue-se novamente.', 'Text length' => 'Tamanho de texto', @@ -169,7 +169,7 @@ 'Index Length' => 'Tamanho de índice', 'Data Free' => 'Espaço Livre', 'Collation' => 'Colação', - 'Analyze' => 'Analizar', + 'Analyze' => 'Analisar', 'Optimize' => 'Otimizar', 'Check' => 'Verificar', 'Repair' => 'Reparar', @@ -209,7 +209,7 @@ 'Maximum allowed file size is %sB.' => 'Tamanho máximo do arquivo permitido é %sB.', 'Numbers' => 'Números', 'Date and time' => 'Data e hora', - 'Strings' => 'Cadena', + 'Strings' => 'Strings', 'Binary' => 'Binário', 'Lists' => 'Listas', 'Editor' => 'Editor', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/lang/sv.inc.php new/adminer-4.7.5/adminer/lang/sv.inc.php --- old/adminer-4.7.4/adminer/lang/sv.inc.php 1970-01-01 01:00:00.000000000 +0100 +++ new/adminer-4.7.5/adminer/lang/sv.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -0,0 +1,349 @@ +<?php +$translations = array( + // label for database system selection (MySQL, SQLite, ...) + 'System' => 'System', + 'Server' => 'Server', + 'Username' => 'Användarnamn', + 'Password' => 'Lösenord', + 'Permanent login' => 'Permanent inloggning', + 'Login' => 'Logga in', + 'Logout' => 'Logga ut', + 'Logged as: %s' => 'Inloggad som: %s', + 'Logout successful.' => 'Du är nu utloggad.', + 'Thanks for using Adminer, consider <a href="https://www.adminer.org/en/donation/">donating</a>.' => 'Tack för att du använder Adminer, vänligen fundera över att <a href="https://www.adminer.org/en/donation/">donera</a>.', + 'Invalid credentials.' => 'Ogiltiga inloggningsuppgifter.', + 'There is a space in the input password which might be the cause.' => 'Det finns ett mellanslag i lösenordet, vilket kan vara anledningen.', + 'Adminer does not support accessing a database without a password, <a href="https://www.adminer.org/en/password/"%s>more information</a>.' => 'Adminer tillåter inte att ansluta till en databas utan lösenord. <a href="https://www.adminer.org/en/password/"%s>Mer information</a>.', + 'Database does not support password.' => 'Databasen stöder inte lösenord.', + 'Too many unsuccessful logins, try again in %d minute(s).' => array('För många misslyckade inloggningar, försök igen om %d minut.', 'För många misslyckade inloggningar, försök igen om %d minuter.'), + 'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Huvudlösenordet har löpt ut. <a href="https://www.adminer.org/en/extension/"%s>Implementera</a> %s en metod för att göra det permanent.', + 'Language' => 'Språk', + 'Invalid CSRF token. Send the form again.' => 'Ogiltig CSRF-token. Skicka formuläret igen.', + 'If you did not send this request from Adminer then close this page.' => 'Om du inte skickade en förfrågan från Adminer så kan du stänga den här sidan.', + 'No extension' => 'Inget tillägg', + 'None of the supported PHP extensions (%s) are available.' => 'Inga av de PHP-tilläggen som stöds (%s) är tillgängliga.', + 'Connecting to privileged ports is not allowed.' => 'Anslutning till privilegierade portar är inte tillåtet.', + 'Disable %s or enable %s or %s extensions.' => 'Stäng av %s eller sätt på %s eller %s tilläggen.', + 'Session support must be enabled.' => 'Support för sessioner måste vara på.', + 'Session expired, please login again.' => 'Session har löpt ur, vänligen logga in igen.', + 'The action will be performed after successful login with the same credentials.' => 'Åtgärden kommer att utföras efter en lyckad inloggning med samma inloggningsuppgifter.', + '%s version: %s through PHP extension %s' => '%s version: %s genom PHP-tillägg %s', + 'Refresh' => 'Ladda om', + + // text direction - 'ltr' or 'rtl' + 'ltr' => 'ltr', + + 'Privileges' => 'Privilegier', + 'Create user' => 'Skapa användare', + 'User has been dropped.' => 'Användare har blivit borttagen.', + 'User has been altered.' => 'Användare har blivit ändrad.', + 'User has been created.' => 'Användare har blivit skapad.', + 'Hashed' => 'Hashad', + 'Column' => 'Kolumn', + 'Routine' => 'Rutin', + 'Grant' => 'Tillåt', + 'Revoke' => 'Neka', + + 'Process list' => 'Processlista', + '%d process(es) have been killed.' => array('%d process har avslutats.', '%d processer har avslutats.'), + 'Kill' => 'Avsluta', + + 'Variables' => 'Variabler', + 'Status' => 'Status', + + 'SQL command' => 'SQL-kommando', + '%d query(s) executed OK.' => array('%d förfrågan lyckades.', '%d förfrågor lyckades.'), + 'Query executed OK, %d row(s) affected.' => array('Förfrågan lyckades, %d rad påverkades.', 'Förfrågan lyckades, %d rader påverkades.'), + 'No commands to execute.' => 'Inga kommandon att köra.', + 'Error in query' => 'Fel i förfrågan', + 'Unknown error.' => 'Okänt fel.', + 'Warnings' => 'Varningar', + 'ATTACH queries are not supported.' => 'ATTACH-förfrågor stöds inte.', + 'Execute' => 'Kör', + 'Stop on error' => 'Stanna på fel', + 'Show only errors' => 'Visa bara fel', + // sprintf() format for time of the command + '%.3f s' => '%.3f s', + 'History' => 'Historia', + 'Clear' => 'Rensa', + 'Edit all' => 'Redigera alla', + + 'File upload' => 'Ladda upp fil', + 'From server' => 'Från server', + 'Webserver file %s' => 'Serverfil %s', + 'Run file' => 'Kör fil', + 'File does not exist.' => 'Filen finns inte.', + 'File uploads are disabled.' => 'Filuppladdningar är avstängda.', + 'Unable to upload a file.' => 'Det går inte add ladda upp filen.', + 'Maximum allowed file size is %sB.' => 'Högsta tillåtna storlek är %sB.', + 'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'POST-datan är för stor. Minska det eller höj %s-direktivet.', + 'You can upload a big SQL file via FTP and import it from server.' => 'Du kan ladda upp en stor SQL-fil via FTP och importera det från servern.', + 'You are offline.' => 'Du är offline.', + + 'Export' => 'Exportera', + 'Output' => 'Utmatning', + 'open' => 'Öppna', + 'save' => 'Spara', + 'Saving' => 'Sparar', + 'Format' => 'Format', + 'Data' => 'Data', + + 'Database' => 'Databas', + 'database' => 'databas', + 'DB' => 'DB', + 'Use' => 'Använd', + 'Select database' => 'Välj databas', + 'Invalid database.' => 'Ogiltig databas.', + 'Database has been dropped.' => 'Databasen har tagits bort.', + 'Databases have been dropped.' => 'Databaserna har tagits bort.', + 'Database has been created.' => 'Databasen har skapats.', + 'Database has been renamed.' => 'Databasen har fått sitt namn ändrat.', + 'Database has been altered.' => 'Databasen har ändrats.', + 'Alter database' => 'Ändra databas', + 'Create database' => 'Skapa databas', + 'Database schema' => 'Databasschema', + + // link to current database schema layout + 'Permanent link' => 'Permanent länk', + + // thousands separator - must contain single byte + ',' => ',', + '0123456789' => '0123456789', + 'Engine' => 'Motor', + 'Collation' => 'Kollationering', + 'Data Length' => 'Datalängd', + 'Index Length' => 'Indexlängd', + 'Data Free' => 'Ledig data', + 'Rows' => 'Rader', + '%d in total' => 'totalt %d', + 'Analyze' => 'Analysera', + 'Optimize' => 'Optimera', + 'Vacuum' => 'Städa', + 'Check' => 'Kolla', + 'Repair' => 'Reparera', + 'Truncate' => 'Avkorta', + 'Tables have been truncated.' => 'Tabeller har blivit avkortade.', + 'Move to other database' => 'Flytta till en annan databas', + 'Move' => 'Flytta', + 'Tables have been moved.' => 'Tabeller har flyttats.', + 'Copy' => 'Kopiera', + 'Tables have been copied.' => 'Tabeller har kopierats.', + 'overwrite' => 'Skriv över', + + 'Routines' => 'Rutiner', + 'Routine has been called, %d row(s) affected.' => array('Rutin har kallats, %d rad påverkades.', 'Rutin har kallats, %d rader påverkades.'), + 'Call' => 'Kalla', + 'Parameter name' => 'Namn på parameter', + 'Create procedure' => 'Skapa procedur', + 'Create function' => 'Skapa funktion', + 'Routine has been dropped.' => 'Rutin har tagits bort.', + 'Routine has been altered.' => 'Rutin har ändrats.', + 'Routine has been created.' => 'Rutin har skapats.', + 'Alter function' => 'Ändra funktion', + 'Alter procedure' => 'Ändra procedur', + 'Return type' => 'Återvändningstyp', + + 'Events' => 'Event', + 'Event has been dropped.' => 'Event har tagits bort.', + 'Event has been altered.' => 'Event har ändrats.', + 'Event has been created.' => 'Event har skapats.', + 'Alter event' => 'Ändra event', + 'Create event' => 'Skapa event', + 'At given time' => 'Vid en tid', + 'Every' => 'Varje', + 'Schedule' => 'Schemalägga', + 'Start' => 'Start', + 'End' => 'Slut', + 'On completion preserve' => 'Bibehåll vid slutet', + + 'Tables' => 'Tabeller', + 'Tables and views' => 'Tabeller och vyer', + 'Table' => 'Tabell', + 'No tables.' => 'Inga tabeller.', + 'Alter table' => 'Ändra tabell', + 'Create table' => 'Skapa tabell', + 'Table has been dropped.' => 'Tabell har tagits bort.', + 'Tables have been dropped.' => 'Tabeller har tagits bort.', + 'Tables have been optimized.' => 'Tabeller har optimerats.', + 'Table has been altered.' => 'Tabell har ändrats.', + 'Table has been created.' => 'Tabell har skapats.', + 'Table name' => 'Tabellnamn', + 'Show structure' => 'Visa struktur', + 'engine' => 'motor', + 'collation' => 'kollationering', + 'Column name' => 'Kolumnnamn', + 'Type' => 'Typ', + 'Length' => 'Längd', + 'Auto Increment' => 'Automatisk uppräkning', + 'Options' => 'Inställningar', + 'Comment' => 'Kommentar', + 'Default value' => 'Standardvärde', + 'Default values' => 'Standardvärden', + 'Drop' => 'Ta bort', + 'Drop %s?' => 'Ta bort %s?', + 'Are you sure?' => 'Är du säker?', + 'Size' => 'Storlek', + 'Compute' => 'Beräkna', + 'Move up' => 'Flytta upp', + 'Move down' => 'Flytta ner', + 'Remove' => 'Ta bort', + 'Maximum number of allowed fields exceeded. Please increase %s.' => 'Högsta nummer tillåtna fält är överskridet. Vänligen höj %s.', + + 'Partition by' => 'Partitionera om', + 'Partitions' => 'Partitioner', + 'Partition name' => 'Partition', + 'Values' => 'Värden', + + 'View' => 'Vy', + 'Materialized view' => 'Materialiserad vy', + 'View has been dropped.' => 'Vy har tagits bort.', + 'View has been altered.' => 'Vy har ändrats.', + 'View has been created.' => 'Vy har skapats.', + 'Alter view' => 'Ändra vy', + 'Create view' => 'Skapa vy', + + 'Indexes' => 'Index', + 'Indexes have been altered.' => 'Index har ändrats.', + 'Alter indexes' => 'Ändra index', + 'Add next' => 'Lägg till nästa', + 'Index Type' => 'Indextyp', + 'Column (length)' => 'Kolumn (längd)', + + 'Foreign keys' => 'Främmande nycklar', + 'Foreign key' => 'Främmande nyckel', + 'Foreign key has been dropped.' => 'Främmande nyckel har tagits bort.', + 'Foreign key has been altered.' => 'Främmande nyckel har ändrats.', + 'Foreign key has been created.' => 'Främmande nyckel har skapats.', + 'Target table' => 'Måltabell', + 'Change' => 'Ändra', + 'Source' => 'Källa', + 'Target' => 'Mål', + 'Add column' => 'Lägg till kolumn', + 'Alter' => 'Ändra', + 'Add foreign key' => 'Lägg till främmande nyckel', + 'ON DELETE' => 'VID BORTTAGNING', + 'ON UPDATE' => 'VID UPPDATERING', + 'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Käll- och mål-tabellen måste ha samma datatyp, ett index på målkolumnerna och refererad data måste finnas.', + + 'Triggers' => 'Avtryckare', + 'Add trigger' => 'Lägg till avtryckare', + 'Trigger has been dropped.' => 'Avtryckare har tagits bort.', + 'Trigger has been altered.' => 'Avtryckare har ändrats.', + 'Trigger has been created.' => 'Avtryckare har skapats.', + 'Alter trigger' => 'Ändra avtryckare', + 'Create trigger' => 'Skapa avtryckare', + 'Time' => 'Tid', + 'Event' => 'Event', + 'Name' => 'Namn', + + 'select' => 'välj', + 'Select' => 'Välj', + 'Select data' => 'Välj data', + 'Functions' => 'Funktioner', + 'Aggregation' => 'Aggregation', + 'Search' => 'Sök', + 'anywhere' => 'överallt', + 'Search data in tables' => 'Sök data i tabeller', + 'Sort' => 'Sortera', + 'descending' => 'Fallande', + 'Limit' => 'Begränsning', + 'Limit rows' => 'Begränsa rader', + 'Text length' => 'Textlängd', + 'Action' => 'Åtgärd', + 'Full table scan' => 'Full tabellskanning', + 'Unable to select the table' => 'Kunde inte välja tabellen', + 'No rows.' => 'Inga rader.', + '%d / ' => '%d / ', + '%d row(s)' => array('%d rad', '%d rader'), + 'Page' => 'Sida', + 'last' => 'sist', + 'Load more data' => 'Ladda mer data', + 'Loading' => 'Laddar', + 'Whole result' => 'Hela resultatet', + '%d byte(s)' => array('%d byte', '%d bytes'), + + 'Import' => 'Importera', + '%d row(s) have been imported.' => array('%d rad har importerats.', '%d rader har importerats.'), + 'File must be in UTF-8 encoding.' => 'Filer måste vara i UTF-8-format.', + + // in-place editing in select + 'Modify' => 'Ändra', + 'Ctrl+click on a value to modify it.' => 'Ctrl+klicka på ett värde för att ändra det.', + 'Use edit link to modify this value.' => 'Använd redigeringslänken för att ändra värdet.', + + // %s can contain auto-increment value + 'Item%s has been inserted.' => 'Sak%s har skapats.', + 'Item has been deleted.' => 'En sak har tagits bort.', + 'Item has been updated.' => 'En sak har ändrats.', + '%d item(s) have been affected.' => array('%d sak har blivit förändrad.', '%d saker har blivit förändrade.'), + 'New item' => 'Ny sak', + 'original' => 'original', + // label for value '' in enum data type + 'empty' => 'tom', + 'edit' => 'redigera', + 'Edit' => 'Redigera', + 'Insert' => 'Infoga', + 'Save' => 'Spara', + 'Save and continue edit' => 'Spara och fortsätt att redigera', + 'Save and insert next' => 'Spara och infoga nästa', + 'Selected' => 'Vald', + 'Clone' => 'Klona', + 'Delete' => 'Ta bort', + 'You have no privileges to update this table.' => 'Du har inga privilegier för att uppdatera den här tabellen.', + + 'E-mail' => 'Email', + 'From' => 'Från', + 'Subject' => 'Ämne', + 'Attachments' => 'Bilagor', + 'Send' => 'Skicka', + '%d e-mail(s) have been sent.' => array('%d email har blivit skickat.', '%d email har blivit skickade.'), + + // data type descriptions + 'Numbers' => 'Nummer', + 'Date and time' => 'Datum och tid', + 'Strings' => 'Strängar', + 'Binary' => 'Binärt', + 'Lists' => 'Listor', + 'Network' => 'Nätverk', + 'Geometry' => 'Geometri', + 'Relations' => 'Relationer', + + 'Editor' => 'Redigerare', + // date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d + '$1-$3-$5' => '$1-$3-$5', + // hint for date format - use language equivalents for day, month and year shortcuts + '[yyyy]-mm-dd' => 'yyyy-mm-dd', + // hint for time format - use language equivalents for hour, minute and second shortcuts + 'HH:MM:SS' => 'HH:MM:SS', + 'now' => 'nu', + 'yes' => 'ja', + 'no' => 'nej', + + // general SQLite error in create, drop or rename database + 'File exists.' => 'Filen finns redan.', + 'Please use one of the extensions %s.' => 'Vänligen använd en av filändelserna %s.', + + // PostgreSQL and MS SQL schema support + 'Alter schema' => 'Redigera schema', + 'Create schema' => 'Skapa schema', + 'Schema has been dropped.' => 'Schema har tagits bort.', + 'Schema has been created.' => 'Schema har skapats.', + 'Schema has been altered.' => 'Schema har ändrats.', + 'Schema' => 'Schema', + 'Invalid schema.' => 'Ogiltigt schema.', + + // PostgreSQL sequences support + 'Sequences' => 'Sekvenser', + 'Create sequence' => 'Skapa sekvens', + 'Sequence has been dropped.' => 'Sekvens har tagits bort.', + 'Sequence has been created.' => 'Sekvens har skapats.', + 'Sequence has been altered.' => 'Sekvens har ändrats.', + 'Alter sequence' => 'Ändra sekvens', + + // PostgreSQL user types support + 'User types' => 'Användartyper', + 'Create type' => 'Skapa typ', + 'Type has been dropped.' => 'Typ har, typ, tagits bort.', + 'Type has been created.' => 'Typ har skapats.', + 'Alter type' => 'Ändra typ', +); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/lang/zh-tw.inc.php new/adminer-4.7.5/adminer/lang/zh-tw.inc.php --- old/adminer-4.7.4/adminer/lang/zh-tw.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/lang/zh-tw.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -128,6 +128,7 @@ 'Tables have been moved.' => '已轉移資料表。', 'Copy' => '複製', 'Tables have been copied.' => '資料表已經複製', + 'overwrite' => '覆蓋', 'Routines' => '程序', 'Routine has been called, %d row(s) affected.' => '程序已被執行,%d 行被影響', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/lang/zh.inc.php new/adminer-4.7.5/adminer/lang/zh.inc.php --- old/adminer-4.7.4/adminer/lang/zh.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/lang/zh.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -128,6 +128,7 @@ 'Tables have been moved.' => '已转移表。', 'Copy' => '复制', 'Tables have been copied.' => '已复制表。', + 'overwrite' => '覆盖', 'Routines' => '子程序', 'Routine has been called, %d row(s) affected.' => '子程序被调用,%d 行被影响。', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/select.inc.php new/adminer-4.7.5/adminer/select.inc.php --- old/adminer-4.7.4/adminer/select.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/select.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -436,12 +436,13 @@ $value = $_POST["val"][$unique_idf][bracket_escape($key)]; $editable = !is_array($row[$key]) && is_utf8($val) && $rows[$n][$key] == $row[$key] && !$functions[$key]; $text = preg_match('~text|lob~', $field["type"]); + echo "<td id='$id'"; if (($_GET["modify"] && $editable) || $value !== null) { $h_value = h($value !== null ? $value : $row[$key]); - echo "<td>" . ($text ? "<textarea name='$id' cols='30' rows='" . (substr_count($row[$key], "\n") + 1) . "'>$h_value</textarea>" : "<input name='$id' value='$h_value' size='$lengths[$key]'>"); + echo ">" . ($text ? "<textarea name='$id' cols='30' rows='" . (substr_count($row[$key], "\n") + 1) . "'>$h_value</textarea>" : "<input name='$id' value='$h_value' size='$lengths[$key]'>"); } else { $long = strpos($val, "<i>…</i>"); - echo "<td id='$id' data-text='" . ($long ? 2 : ($text ? 1 : 0)) . "'" + echo " data-text='" . ($long ? 2 : ($text ? 1 : 0)) . "'" . ($editable ? "" : " data-warning='" . h(lang('Use edit link to modify this value.')) . "'") . ">$val</td>" ; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/sql.inc.php new/adminer-4.7.5/adminer/sql.inc.php --- old/adminer-4.7.4/adminer/sql.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/sql.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -53,6 +53,9 @@ $connection2 = connect(); // connection for exploring indexes and EXPLAIN (to not replace FOUND_ROWS()) //! PDO - silent error if (is_object($connection2) && DB != "") { $connection2->select_db(DB); + if ($_GET["ns"] != "") { + set_schema($_GET["ns"], $connection2); + } } $commands = 0; $errors = array(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/static/editing.js new/adminer-4.7.5/adminer/static/editing.js --- old/adminer-4.7.4/adminer/static/editing.js 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/static/editing.js 2019-11-13 08:17:14.000000000 +0100 @@ -34,7 +34,7 @@ jush.custom_links = jushLinks; } jush.highlight_tag('code', 0); - var tags = qsa('textarea', document); + var tags = qsa('textarea'); for (var i = 0; i < tags.length; i++) { if (/(^|\s)jush-/.test(tags[i].className)) { var pre = jush.textarea(tags[i]); @@ -75,7 +75,7 @@ * @param [HTMLElement] */ function messagesPrint(el) { - var els = qsa('.toggle', el || document); + var els = qsa('.toggle', el); for (var i = 0; i < els.length; i++) { els[i].onclick = partial(toggle, els[i].getAttribute('href').substr(1)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/adminer/static/functions.js new/adminer-4.7.5/adminer/static/functions.js --- old/adminer-4.7.4/adminer/static/functions.js 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/adminer/static/functions.js 2019-11-13 08:17:14.000000000 +0100 @@ -14,17 +14,17 @@ * @return HTMLElement */ function qsl(selector, context) { - var els = qsa(selector, context || document); + var els = qsa(selector, context); return els[els.length - 1]; } /** Get all elements by selector * @param string -* @param HTMLElement +* @param [HTMLElement] defaults to document * @return NodeList */ function qsa(selector, context) { - return context.querySelectorAll(selector); + return (context || document).querySelectorAll(selector); } /** Return a function calling fn with the next arguments @@ -205,7 +205,7 @@ /** Check all rows in <table class="checkable"> */ function tableCheck() { - var inputs = qsa('table.checkable td:first-child input', document); + var inputs = qsa('table.checkable td:first-child input'); for (var i=0; i < inputs.length; i++) { trCheck(inputs[i]); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/changes.txt new/adminer-4.7.5/changes.txt --- old/adminer-4.7.4/changes.txt 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/changes.txt 2019-11-13 08:17:14.000000000 +0100 @@ -1,3 +1,10 @@ +Adminer 4.7.5 (released 2019-11-13): +Add id="" to cells with failed inline edit (bug #708) +PostgreSQL: Fix getting default value in PostgreSQL 12 (bug #719) +PostgreSQL, Oracle: Set schema for EXPLAIN queries in SQL command (bug #706) +ClickHouse: SQL command +Swedish translation + Adminer 4.7.4 (released 2019-10-22): Fix XSS if Adminer is accessible at URL /data: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/designs/hever/adminer.css new/adminer-4.7.5/designs/hever/adminer.css --- old/adminer-4.7.4/designs/hever/adminer.css 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/designs/hever/adminer.css 2019-11-13 08:17:14.000000000 +0100 @@ -1,11 +1,13 @@ /* -Theme by Hever [http://hev.cz] - January 2014, ver 0.2.1 +Theme by Hever [http://hev.cz] - September 2019, ver 0.2.5 Used Silk icon set 1.3 by Mark James - http://www.famfamfam.com/lab/icons/silk */ .error {background:#FFEEEE url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIsSURBVDjLpVNLSJQBEP7+h6uu62vLVAJDW1KQTMrINQ1vPQzq1GOpa9EppGOHLh0kCEKL7JBEhVCHihAsESyJiE4FWShGRmauu7KYiv6Pma+DGoFrBQ7MzGFmPr5vmDFIYj1mr1WYfrHPovA9VVOqbC7e/1rS9ZlrAVDYHig5WB0oPtBI0TNrUiC5yhP9jeF4X8NPcWfopoY48XT39PjjXeF0vWkZqOjd7LJYrmGasHPCCJbHwhS9/F8M4s8baid764Xi0Ilfp5voorpJfn2wwx/r3l77TwZUvR+qajXVn8PnvocYfXYH6k2ioOaCpaIdf11ivDcayyiMVudsOYqFb60gARJYHG9DbqQFmSVNjaO3K2NpAeK90ZCqtgcrjkP9aUCXp0moetDFEeRXnYCKXhm+uTW0CkBFu4JlxzZkFlbASz4CQGQVBFeEwZm8geyiMuRVntzsL3oXV+YMkvjRsydC1U+lhwZsWXgHb+oWVAEzIwvzyVlk5igsi7DymmHlHsFQR50rjl+981Jy1Fw6Gu0ObTtnU+cgs28AKgDiy+Awpj5OACBAhZ/qh2HOo6i+NeA73jUAML4/qWux8mt6NjW1w599CS9xb0mSEqQBEDAtwqALUmBaG5FV3oYPnTHMjAwetlWksyByaukxQg2wQ9FlccaK/OXA3/uAEUDp3rNIDQ1ctSk6kHh1/jRFoaL4M4snEMeD73gQx4M4PsT1IZ5AfYH68tZY7zv/ApRMY9mnuVMvAAAAAElFTkSuQmCC") no-repeat scroll 0.8em center; padding-left:38px;} .message, #menu p.message {background:#EEFFEE url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKfSURBVDjLpZPrS1NhHMf9O3bOdmwDCWREIYKEUHsVJBI7mg3FvCxL09290jZj2EyLMnJexkgpLbPUanNOberU5taUMnHZUULMvelCtWF0sW/n7MVMEiN64AsPD8/n83uucQDi/id/DBT4Dolypw/qsz0pTMbj/WHpiDgsdSUyUmeiPt2+V7SrIM+bSss8ySGdR4abQQv6lrui6VxsRonrGCS9VEjSQ9E7CtiqdOZ4UuTqnBHO1X7YXl6Daa4yGq7vWO1D40wVDtj4kWQbn94myPGkCDPdSesczE2sCZShwl8CzcwZ6NiUs6n2nYX99T1cnKqA2EKui6+TwphA5k4yqMayopU5mANV3lNQTBdCMVUA9VQh3GuDMHiVcLCS3J4jSLhCGmKCjBEx0xlshjXYhApfMZRP5CyYD+UkG08+xt+4wLVQZA1tzxthm2tEfD3JxARH7QkbD1ZuozaggdZbxK5kAIsf5qGaKMTY2lAU/rH5HW3PLsEwUYy+YCcERmIjJpDcpzb6l7th9KtQ69fi09ePUej9l7cx2DJbD7UrG3r3afQHOyCo+V3QQzE35pvQvnAZukk5zL5qRL59jsKbPzdheXoBZc4saFhBS6AO7V4zqCpiawuptwQG+UAa7Ct3UT0hh9p9EnXT5Vh6t4C22QaUDh6HwnECOmcO7K+6kW49DKqS2DrEZCtfuI+9GrNHg4fMHVSO5kE7nAPVkAxKBxcOzsajpS4Yh4ohUPPWKTUh3PaQEptIOr6BiJjcZXCwktaAGfrRIpwblqOV3YKdhfXOIvBLeREWpnd8ynsaSJoyESFphwTtfjN6X1jRO2+FxWtCWksqBApeiFIR9K6fiTpPiigDoadqCEag5YUFKl6Yrciw0VOlhOivv/Ff8wtn0KzlebrUYwAAAABJRU5ErkJggg==") no-repeat scroll 0.8em center; padding-left:38px;} +h1 {background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIECCYmDoJEqQAAA3lJREFUSMfVlm9olVUcxz/nPH/uvftzd29XWI21Su4spDk3gmU0vGC9sBdLhFlkpdELadibiMQ206CEoUYECWuLXgT9E00FC7FyYVGIxMgMg2c2rrfRNtu93P2793nOc04vTCGR6Op60Q8Ohx98OV++3+/h/I7gEyz+w5KLfeDxIaJnt0bqrvRisRVMPsk6I3jNkmJ0BvniTSsY6E86U5vFYwP9SQfg05bksdItzhoCLlT7+s2bIjjf4ybXn8u/J3zWrZrKxwC2bMsHXtQtGkFW2qb6hgl+3Ww1Jwr+x0aI0YOtiadX7KUIsHPXcqs1N3fCWOZhJXnJBqgfqrcmRlc2E0ktR6lGtIxj4WLwMWIaJ8gS2D/x+kdjVwhi0iyTkiVIMbLngZSCPACv7vo53LqJsfkaXrjzbSaFdVd3exhxe1GBh+2MIEUOFRRx8QlVFGklxIK+3dhOB8g41aU+th/MAeSetVrcUjigpThy5N7EG1u25YNvdlC17ILYPl1lBu8ZJGuHdvR5zMIh2n47RPd3fmZ/Rlxrx3DPsInt7j5cmnN7zKzbBewHaHw3PDvyHOsbZ+hd5edjQLDkj0gEUW6Nl6wUhFnB3Rvfx8hLhGEDjimi5TiWKSCERmkbQwLLakKbKIbfMWaM3R+89W+zstHCxpFDmYaLvwyfjyVJ1TYQ6Dh+KIk4CjssMBsZTz96esb7smM1vl5ZyWWwL2+z5Fpy0ONNA9PXRZ5KC8qBxnZlZU+FMArfymS/bkv8E9A7ed9tCJHBaFWZAiElUsb9ebGP3sddhCyCKWBCH9woopwgtGvQuogkizSyMgJtJCZyNL322z2e12xxsZwgTMapUZIFoQhVgcyBYjqSNt7xjtWosNIMQhB5DcAznyvg0l/r7xbhwWftN5CBlEqIxCbvi9aW2lfWRK4Hiu58pJYdXfcjrCeQlWaglTS2OEcY3TBDqom+DRItFJgSllWFRpZM6ONEPVTpNMJNVGiRIwkWfkivPfOh1+mZ9Km0mDhxh6vLs3KuTYR0f+9fRfdtzOCrCjMwWiNK+qrXnZ6h0ysv1gCyMaWjUPey91X7YY61/sjS1CRLmeehd3T9YL01MdoSQ9Y1Iu12lOqSVXqfroDg8sjc+1QTU8GDSLUCy74VjIsxGmFLLHyUGUcGZyK+OFnuP5CnYoL/06/i2voTrxlsuqTozDgAAAAASUVORK5CYII="); background-repeat:no-repeat; background-position:1em .82em; padding-left:2.3em;} + #dbs span, th a[href*="&db="]:not([href*="&select="]):not([href*="&table="]) {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEYSURBVBgZBcHPio5hGAfg6/2+R980k6wmJgsJ5U/ZOAqbSc2GnXOwUg7BESgLUeIQ1GSjLFnMwsKGGg1qxJRmPM97/1zXFAAAAEADdlfZzr26miup2svnelq7d2aYgt3rebl585wN6+K3I1/9fJe7O/uIePP2SypJkiRJ0vMhr55FLCA3zgIAOK9uQ4MS361ZOSX+OrTvkgINSjS/HIvhjxNNFGgQsbSmabohKDNoUGLohsls6BaiQIMSs2FYmnXdUsygQYmumy3Nhi6igwalDEOJEjPKP7CA2aFNK8Bkyy3fdNCg7r9/fW3jgpVJbDmy5+PB2IYp4MXFelQ7izPrhkPHB+P5/PjhD5gCgCenx+VR/dODEwD+A3T7nqbxwf1HAAAAAElFTkSuQmCC") no-repeat scroll left bottom; padding-left:22px;} .links a {margin-right:8px;} @@ -16,7 +18,7 @@ a[href*="&import="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEJFDQPlDJUDwAAAiNJREFUOMutk0tI1FEUh7//Y9TJghyc1KQ20lMthRAlgoKgVkWte6wid0EICUHUQjdBErRqHYmQghgU5KLQGB8FKVEMCi0G1JmRbPLJ/O89p8XYOAMZBB24HM5dfL/fOfdcB6Aj1j6kqm2qWv/o5NMk/xBOR6z9dVVpzbmQEyKxPMcBc5svbheHs91YK1hRjJWCY7FGsSKT3VcPtviquqaqVJVVY6xlZu0hYpRrpyJ/Vb7fN3sMwAG4965Hw+ElKrzdlPphPqTHaYw0EdiAQEwuW4MRg7GGzrYu7j6L8/hGg+MD7DNXmF7tpDpSg6MOYpWbzbe2VV/dMATGAuADTLt3UFEmU+OICCpK72hqW8CFExGymwAAnrya15X1QJ+PJFVVtW90QQvjRay4TmfW9XrPpOYdBFYQVXwP+mMpPM9lYCyF44K7KTI4kQJVQj4cqd1BNihowVpBAd9zuNQSZXAizcWWPXmH/WPJonp27ifGCEUOVMB34eXHNJ6Xy5C7+w3xHRDg6N4ylEKAEVSVkAfnm6MMTy1y9nhlXvHNpzSthyrYFfYBiCcylJf6WwAjOZrnOgxPLQLks+tAIDDydSkPrIuWYG2BA2NMbgYunGms5O3nRU43bDkYGEtzuTWar+OJDN5ma1szUKVh/07mv69TVxXm28JK/i/U15YQT2SKdkFEpeAV9P2D3pmmrJXywFgCY7FGCKxgrPnjMv1Y3hjif8QvwdlGGi2XXTgAAAAASUVORK5CYII=") no-repeat scroll 2px bottom; padding-left:22px;} a[href$="&import="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEJFDMETKEbQAAAAjZJREFUOMuVkjFoU2EUhc//3gsvptFCIdRHh2CrQ1AcmsUYHTKJDkJrFUdx6uJkpuLspCI4xaJLNik4SMGlOKgEdekQ0EEwFhJqCw+a16RJ//+/x0Heo6XN4B0v537nHLgKAKqNxXckSyTPPyu//IP/GFVtLL6f9INrKZXC791f3UvDysPP3tryjcHt7yTPkRQRaZL8KSKvRGRtbm7OxgCPZJ8kJtOnYaw99ZUfl8UQ5XK5kMlkQBI7OzuzURTNbmxs3Nne3v60srJyd2FhoQ0AztPLtflOv/22tdtCVo3hwvhFUATZbBaO48B1XUxMTCCfz6NUKmF6evqKtfZxnMABgOdXl+c7vTZ87wQUFcRyZOepqSmIyPWkAgA8+HCfFMG3rS8QEVCIvb09pFIpkES/30cYhmi325iZmYGI4BDgReW1Wl1d3apUKrler4coitBqtUASxhh0u10Mh0N4ngeSRwEAQBIk4bou0uk0PM+D53nQWsMYA/JfLRGBtfYoQEQSx/hIKQVrbbJzHGd0ghgQHxhj4LourLXQWkNrDdd1E81IQCy21iaAOEFcU2t9PEBEEvcYeDBZrNvf38ehPwAAay3CMEQul4Pv+4f/XSkEQYBisYhOpzMywb1Go/GmUCiM5fN5+L4PpRRIIggCRFGEZrOJ9fX1TWPMzQR+0Kler58RkUcicstxnPFMJgNjDMIwxGAw2DTG1K21T5aWlraOBRycWq120hhz1hgjWusf1Wp1eJzuL3uxkTGLHB98AAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} -@media all and (min-device-width: 880px) { +@media all and (min-device-width: 881px) { #menu .links {height:22px; transition:.2s;} #menu .links:hover {height:5em;} #menu .links a {color:transparent; transition:.2s; display:block; margin-bottom:-1.25em;} @@ -27,9 +29,8 @@ #menu .links a:hover {color:red;} } -#tables li a[href*="&select="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHISURBVDjLpVPNK0RRFP+9D98syMwUspHkm9I0YkFZWBFKkZ0s7a3Ewh+ilChK7FgoZCJFKYlYKB8zk2+Z5t0P577He29kQU7dd+6575zf+d1zztWklPiPmOozt/U4SThjXIoyIQS4AJjSXO0lGGlvcXAm6Vzsz4xUhm0AIeX4QLig+C+ZpxbOG1wGhGYHr1zMUmZGWRgs0ha3PE1nX/8mWmdgWTzLB+DUYbhm9FfZ35IEyrhXA3VXJfPbsV8B9LQUIeUHYJ8ASobag1jcucNgW8g9W4reYSDi2YnnZDoDiwCokDANct6NwTB0LEdj0HRA/wxa2SN25JNBEdWluUhZ366gqmAaGvrCAXKOozccTGPgt8+vn8GYSGcgyTYp3dpBnBg42nbQPRBTo5bTvqYkmxL6AQhNTWQGBXY3B7BxlEBXozcW64dxRKoKUZBju+P06gl5WaaviMJBM3TNDlbypemIZgHYOnlwASsCmW7nHADGnBoQ3c76YmweJ9BR5zFYjsbRHwm4tmJg6PhWA7pCXXk+bu7fURHKweXtq/sWaksz7SC/CCGFrwtyZ3r+rCnFRZ7qr1qc6mLZj4f9OEyPL8lVpbX/PucPv5QPKHB1TdEAAAAASUVORK5CYII=") no-repeat scroll left bottom; clear:left; display:block; float:left; height:16px; margin-right:8px; padding-top:1px; overflow:hidden; padding-left:16px; width:0; text-decoration:none;} - -#tables li a[href*="&table="], tables li a[href*="&view="] {clear:right; margin-left:24px; display:block; height:17px; padding-bottom:1px; text-decoration:none;} +#menu ul#tables a[href*="&select="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHISURBVDjLpVPNK0RRFP+9D98syMwUspHkm9I0YkFZWBFKkZ0s7a3Ewh+ilChK7FgoZCJFKYlYKB8zk2+Z5t0P577He29kQU7dd+6575zf+d1zztWklPiPmOozt/U4SThjXIoyIQS4AJjSXO0lGGlvcXAm6Vzsz4xUhm0AIeX4QLig+C+ZpxbOG1wGhGYHr1zMUmZGWRgs0ha3PE1nX/8mWmdgWTzLB+DUYbhm9FfZ35IEyrhXA3VXJfPbsV8B9LQUIeUHYJ8ASobag1jcucNgW8g9W4reYSDi2YnnZDoDiwCokDANct6NwTB0LEdj0HRA/wxa2SN25JNBEdWluUhZ366gqmAaGvrCAXKOozccTGPgt8+vn8GYSGcgyTYp3dpBnBg42nbQPRBTo5bTvqYkmxL6AQhNTWQGBXY3B7BxlEBXozcW64dxRKoKUZBju+P06gl5WaaviMJBM3TNDlbypemIZgHYOnlwASsCmW7nHADGnBoQ3c76YmweJ9BR5zFYjsbRHwm4tmJg6PhWA7pCXXk+bu7fURHKweXtq/sWaksz7SC/CCGFrwtyZ3r+rCnFRZ7qr1qc6mLZj4f9OEyPL8lVpbX/PucPv5QPKHB1TdEAAAAASUVORK5CYII=") no-repeat scroll right bottom; display:inline-block; height:16px; margin-right:4px; vertical-align:middle; overflow:hidden; padding-left:16px; width:0;} +#menu ul#tables a.active[href*="&select="] {border-left:2px solid #00f; margin-left:-4px; padding-left:18px;} .links a[href*="&create="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ6SURBVDjLpZNZSNRRGMV//2XGsjFrMg2z0so2K21xIFpepYUiAsGIICLffI8eWiBBeg3qQV+KwBYKLB8qpHUmrahcKLc0QsxldNSxdPz/79LD1ChBUXTh8sG93POdc75zDa01/7NsgGvPR09rzQmpVZZSCqlAKIWUCqk0QqoZWyKFRir1uvxIbsAGUFqXHQqkpP1L57M3Pm5MMJBKpQHUdF9BKIGQAlcJXOlOVykSdye3leO6MmkGQNyHw+uO/1X3bzGBK+S0B1IqAKqDg3986HeCZPffwvJtoNT7lOZLvUdtAPEDAKBkRzo3QwMUb89InN1uGGD3spdE214xe8MRUnM2MfppNW0Pqy7YAK5UKK2xLbhdP4hlmdxpGMQwwQT8ziNiI534c7cT6WrFazikzF2Eb8HS1IQEDdiWwcHAQmpehTkQSAcgNvSMiYFW5uUUMdV3HW+ywefGNqITJsbUUL75k4FWYJtQ+yaMZcXrk1ANk/33mbdiD7EvlRieETy+FJLkMFcjRRSW3emIAwiF1hqPBfu2LGSWbbA1uZ41SfWkrtxPrPcypsfFiWYzFGzGKTjFV28WEJeIUHETLdOgrmkI1VdHpCdEet5enP4qLK9mKrqMgedv6cyrAP+qxOTiUxAi7oEJi8frELoFoTLpa7nI/HQvscgSRt+0kV1SSW7qYtp7xrBMphm4Mi5h/VIfTcEq1u0oJaknSEdNiMYHET7UvcMpPEN31Ed7zxgASmk1I0g6dK66s8CRak5mVxjnfS05+TsZCw/T9baTx1nnGb47DrQksjE6HrsHYPz6nYt3+Sc3L8+wA2tz0J6pF5OD4WP7Kpq7f5fO79DfSxjdtCtDAAAAAElFTkSuQmCC") no-repeat scroll 2px bottom; padding-left:22px;} .links a[href$="&create="] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIpSURBVDjLpZNPSFRRFMZ/749/Kt3IqFTSRoSMmrGIYTTbpEJtjBCCok1Em9JVG1dRC8FFEES5aGFEgRRZWq1iLKKxBiNqLDcltQgmHR9hY6LOu+feFm+YGVsZXbh8nHO53/nud8+xjDH8z3IB7r5avGgMZ8XoBq01okFpjYhGtEGJLtmCKINo/XbgVFPUBdDG9PVEq0P/UvnSvdlwQYFoHQIY/3obpRVKFL5W+OIXUVThrL91AN+XihKCwIeTu85sqPryqsJXUvRARAMwkshsiKB7fw25UgKVJwA40V7H/cl5jh+oL+RGk/P0xIqxl11dr8AXjTYG14HRNxkcx+ZhMoNlg52/ND6VAWMoc6F5+2Zy/l9PMIDrWByL1jI+tcDRaN06BaXxbDqLUnq9AqPBteHpuwUcJ0AIcgBXH93h+/wEyyuLrPk5cmv7gNY8gdIYYyhz4PDeWuIpj85IsS2ujQ2zJAk6DkZpqGnixcwYyU+PifUOX7Eh6DoAx7aIpzwA4imPeMrj+bTH+88PaNkZQWwhsrULsXxie9oAzgcESgUe2NAZCeE6AXZGQhwKh/Cyc5RZVXQ39wFwoeMmjXVhgMqiB8awe0cVP36u0Fi/iW9zvwuzkF3+xUz6Nal0gv6uWww+O02lUwGwmv8FM3l55EtLTvQWXwm+EkRpfNEoUZRXHCE5PUFbuJ0nH4cot1wSH14C3LA2Os6x3m2DwDmgGlgChpLX0/1/AIu8MA7WsWBMAAAAAElFTkSuQmCC") no-repeat scroll left bottom; padding-left:22px;} @@ -59,12 +60,12 @@ table input + a[href*="&edit="][href*="&where"] {width:0; float:left; display:block; height:16px; overflow:hidden; text-decoration:none; padding:0 0 0 18px; background-position:2px bottom;} -table thead #all-page + a {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFUSURBVDjLrZM/SAJxGIZdWwuDlnCplkAEm1zkaIiGFFpyMIwGK5KGoK2lphDKkMDg3LLUSIJsSKhIi+684CokOtTiMizCGuzEU5K3vOEgKvtBDe/2Pc8H3x8NAM1fQlx4H9M3pcOWp6TXWmM8A7j0629v1nraiAVC0IrrwATKIgs5xyG5QiE+Z4iQdoeU2oAsnqCSO1NSTu+D9VhqRLD8nIB8F0Q2MgmJDyipCzjvYJkIfpN2UBLG8MpP4dxvQ3ZzGuyyBQ2H+AnOOCBd9aL6soh81A5hyYSGWyCFvxUcerqI4S+CvYVOFPMHxLAq8I3qdHVY5LbBhJzEsCrwutpRFBlUHy6wO2tEYtWAzLELPN2P03kjfj3luqDycV2F8AgefWbEnVqEHa2IznSD6BdsVDNStB0lfh0FPoQjdx8RrAqGzC0YprSgxzsUMOY2bf37N/6Ud1Vc9yYcH50CAAAAAElFTkSuQmCC") no-repeat scroll right bottom; padding-right:18px;} -table thead #all-page + a {width:0; display:inline-block; height:16px; overflow:hidden; text-decoration:none; padding:0 0 0 16px;} +table thead a[href*="&modify=1"] {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEKDjA70u7s9gAAAMZJREFUOMvtksFpwzAUhr9fcUsWyAQewWDIHt6iLrlriBDIBl4maARPYNH6VtAh2FEuCSQksUV77Qc66Ef63nvw5JyLTNA0DXme03UdVVU9PnDOxWEYJk9d109z733MrqLN/oAkiBEJEAjYfqwJIbzsMLu9vC9XoIgxJ94yEX6+meNOoAXACWPAmEsnqQIBx/CFgEGRo0DEdMHuc81vkPd+soy1lqIoaNsWa+2jYG4PkkYoy/IuHMcx6XPf9xj+yL8gYQ/mOAPpeHRKiIdANAAAAABJRU5ErkJggg==") no-repeat scroll right bottom; } +table thead a[href*="&modify=1"] {width:0; display:inline-block; height:16px; overflow:hidden; text-decoration:none; padding:0 0 0 16px; vertical-align: middle;} table td:first-child {white-space:nowrap;} input[name="delete"], input[name="drop"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHSSURBVHjapFM5bsJQEB2zSIDFJrHYpEtyAyoKJAp6CrqIkBPkNDlBAKXjBEgUpKOBCyQNijFiEZvZl8z7wsjESYpkpNFfPO/Nmz9j6Xg80n/M9fWi3W7fMOnd4XAo8qogAbvO5xKvL6lU6s0aL1kVMDjP5ye/36+Gw2FyOp3EQFqtVtTr9WixWHT5/JhOp6s2ghP4ORaLyaFQiGazGa3Xa0HgdrvJ6/WSpmk0Go0MjnvIZDLVM0Gr1brm/WskEkkA3O/3abvdQjq5XC6xgoiVka7rNB6PNT6ns9nsu+OkpODxeBLBYJAGgwHt9/uzQ8Vms6Hdbie+KYqC+ASTFrARBMx2HwgEaDKZiHqn0yktl0uxtzrMMAyKx+MCc+4Cs13hwQCC1GQy+W3Lms2mUIUygbEqEBLNun8z8zswVgUfLO0WD4Z6kekn8/l8okNM8GFVUMYDoVWQ6HA4bEAzoyzL1O12kbRsJajwhYZhiUajJEnShWSAQaqqKnU6HahEGysXg9RoNPJ8+cwZZLSKp47m8/k5Kxzg4XBocNxDLper2ka5Xq+LUeatilahJLN1mEJ+ZDHKJthGAKvVauJnYi9ysHIqQee1xOsLg3/+mf5inwIMAJMhb74NwG5wAAAAAElFTkSuQmCC") no-repeat scroll left center; padding:1px 5px 1px 18px; border:0; cursor:pointer; font-size:.9em;} input[name="delete"]:hover, input[name="drop"]:hover {color:red; background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==")} input[name="logout"] {background:transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJHSURBVDjLlZPNi81hFMc/z7137p1mTCFvNZfGSzLIWNjZKRvFRoqNhRCSYm8xS3+AxRRZ2JAFJWJHSQqTQkbEzYwIM+6Yid/znJfH4prLXShOnb6r8/nWOd8Tcs78bz0/f+KMu50y05nK/wy+uHDylbutqS5extvGcxaWqtoGDA8PZ3dnrs2srQc2Zko41UXLmLdyDW5OfvsUkUgbYGbU63UAQggdmvMzFmzZCgTi7CQmkZwdEaX0JwDgTnGbTCaE0G4zw80omhPI92lcEtkNkdgJCCHwJX7mZvNaB0A14SaYJlwTrpHsTkoFlV1nt2c3x5YYo1/vM9A/gKpxdfwyu/v3teCayKq4JEwT5EB2R6WgYmrs2bYbcUNNUVfEhIfFYy69uci+1fuRX84mkawFSxd/4nVWUopUVIykwlQxRTJBTIDA4Pp1jBZPuNW4wUAPmCqWIn29X1k4f5Ku8g9mpKCkakRLVEs1auVuauVuyqHMo8ejNCe+sWPVTkQKXCMmkeZUmUZjETF1tc6ooly+fgUVw9So1/tRN6YnZji46QghBFKKuAouERNhMlbAHZFE6e7pB+He8MMw+GGI4xtOMf1+lsl3TQ4NHf19BSlaO1DB9BfMHdX0O0iqSgiBbJkjm491hClJbA1LxCURgpPzXwAHhg63necAIi3XngXLcRU0fof8ETMljIyM5LGxMcbHxzvy/6fuXdWgt6+PWncv1e4euqo1ZmabvHs5+jn8yzufO7hiiZmuNpNBM13rbvVSpbrXJE7/BMkHtU9jFIC/AAAAAElFTkSuQmCC") no-repeat scroll right center; padding:1px 22px 1px 5px; border:0; cursor:pointer; font-size:.9em;} -input[name="logout"]:hover {color:red;} \ No newline at end of file +input[name="logout"]:hover {color:red;} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/designs/lucas-sandery/adminer.css new/adminer-4.7.5/designs/lucas-sandery/adminer.css --- old/adminer-4.7.4/designs/lucas-sandery/adminer.css 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/designs/lucas-sandery/adminer.css 2019-11-13 08:17:14.000000000 +0100 @@ -1,4 +1,7 @@ /* +A colourful RTL-friendly theme. +Update from https://github.com/vrana/adminer/raw/master/designs/lucas-sandery/adminer.css + Icons from http://FlatIcon.com: "Translation" by Freepik "Power" by Vectors Market @@ -16,9 +19,9 @@ height: 100%; } body { + width: 100%; min-height: 100%; display: flex; - align-items: stretch; background: #41658a; } p { @@ -145,52 +148,45 @@ white-space: nowrap; } #content, -#content > form:last-of-type, -#menu { - box-sizing: border-box; - display: flex; - flex-direction: column; -} -#content, #menu, .rtl #content, .rtl #menu { margin: 0; padding: 0 20px 1.5em; + box-sizing: border-box; } #content { order: 2; flex: 1 1 auto; - overflow: auto; - background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340.6 491.8' width='56px' height='81px'%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='229.9,208.7 170.5,243 111,208.7 111,140 170.5,105.7 229.9,140'/%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='0,305.3 59.5,339.6 59.5,408.3 0,442.6'/%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='342.8,442.6 283.3,408.3 283.3,339.6 342.8,305.3'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='91.6,0 0,52.9 0,0'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='340.6,0 340.6,52.9 248.8,0'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='21.4,264.6 102.8,311.6 102.8,431.7 -1.2,491.8 0,544.5 149.7,458.1 149.1,285.1 68.2,236.7 68.2,116.6 172.2,56.5 276.2,116.6 276.2,236.7 192.5,285 192.5,337.1 192.5,337.1 192.5,458.1 342.2,544.5 341,491.8 237,431.7 237,311.6 320.8,263.3 320.8,90.2 171.1,3.8 21.4,90.2'/%3E%3C/svg%3E"); + max-width: calc(100% - 20em); +} +#content, +.footer { + background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340.6 491.8' width='56px' height='81px'%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='229.9,208.7 170.5,243 111,208.7 111,140 170.5,105.7 229.9,140'/%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='0,305.3 59.5,339.6 59.5,408.3 0,442.6'/%3E%3Cpolygon fill='%2370a37f' fill-opacity='0.05' points='342.8,442.6 283.3,408.3 283.3,339.6 342.8,305.3'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='91.6,0 0,52.9 0,0'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='340.6,0 340.6,52.9 248.8,0'/%3E%3Cpolygon fill='%2379b473' fill-opacity='0.05' points='21.4,264.6 102.8,311.6 102.8,431.7 -1.2,491.8 0,544.5 149.7,458.1 149.1,285.1 68.2,236.7 68.2,116.6 172.2,56.5 276.2,116.6 276.2,236.7 192.5,285 192.5,337.1 192.5,337.1 192.5,458.1 342.2,544.5 341,491.8 237,431.7 237,311.6 320.8,263.3 320.8,90.2 171.1,3.8 21.4,90.2'/%3E%3C/svg%3E") fixed; } -#content > *, -#content > form:last-of-type > *, -#menu > * { - flex: 0 0 auto; -} -#content > form:last-of-type { - flex: 1 0 auto; -} -#content > .scrollable, -#content > form:last-of-type > .scrollable { - flex: 1 1 2em; +.scrollable { overflow: auto; } +h1, +h2, #breadcrumb { - position: relative; + position: sticky; + top: 0; z-index: 1; +} +#breadcrumb { + z-index: 2; white-space: normal; background: #70a37f; color: #fff; padding: 0.1em 2.5em 0.1em 20px; height: auto; margin: 0 -20px -2em; - top: auto; left: auto; } .rtl #breadcrumb { right: auto; + left: 0; margin: 0 -20px -2em; padding-right: 20px; padding-left: 2.5em; @@ -222,7 +218,6 @@ } h2 { background: #79b473; - position: relative; } h2 + *, h2 + .hidden + *, @@ -236,7 +231,6 @@ } fieldset { display: inline-block; - align-self: flex-start; } .rtl fieldset { margin-right: 0; @@ -382,9 +376,11 @@ margin-left: -0.4em; } .footer { - position: static; - margin: 0.8em 0 0; + margin: 0; + padding-top: 1em; border-style: none; + -webkit-mask-image: linear-gradient(rgba(255, 255, 255, 0), #fff 1em); + mask-image: linear-gradient(rgba(255, 255, 255, 0), #fff 1em); } .footer > div { background: transparent; @@ -392,6 +388,7 @@ } #lang, .logout { + z-index: 3; margin: 0; padding: 0; overflow: hidden; @@ -400,14 +397,10 @@ } #lang { left: 18em; - z-index: 1; } .rtl #lang { right: 18em; } -.logout { - z-index: 2; -} .rtl .logout { margin: 0; left: 0; @@ -449,8 +442,11 @@ background-color: #ec5f12; } #menu { - position: static; + position: relative; + top: 0; + width: auto; flex: 0 0 20em; + max-width: 20em; } h1 { background: #414073; @@ -479,10 +475,12 @@ #dbs span { display: none; } +#menu p { + margin: 1.5em 0 0; +} #menu p, #logins, #tables { - margin: 1.5em 0 0; padding: 0; border-bottom-style: none; } @@ -543,49 +541,62 @@ clear: both; } #menu .links a { - flex: 1 1 35%; + flex: 1 1 7em; margin: 5px; } #logins, #tables { - flex: 1 1 2em; - overflow: auto !important; + margin: 0.7em -20px -20px; + padding: 0 20px 20px; + overflow: hidden !important; +} +#logins:hover, +#tables:hover { + overflow: visible !important; +} +#logins li, +#tables li { + background: #41658a; } #logins a, #tables a, #tables span { - background: transparent; + background: #41658a; color: #fff; + padding: 0.2em 0.4em 0.3em 0; +} +.rtl #logins a, +.rtl #tables a, +.rtl #tables span { + padding-left: 0.4em; + padding-right: 0; } #logins { line-height: 2; } #tables a.select { display: inline-block; - vertical-align: middle; - width: 1em; - height: 1em; + position: relative; + width: 1.13em; + height: 1.3em; overflow: hidden; background: transparent; color: transparent; - position: relative; - margin: 0.3em; - margin-left: 0; + margin-left: -0.2em; + white-space: nowrap; + padding: 0.1em 0.2em; + top: 0.4em; } .rtl #tables a.select { - margin-left: 0.3em; - margin-right: 0; + margin-left: 0; + margin-right: -0.2em; } -#tables a.select:after { +#tables a.select:before { content: ' '; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='512px' height='512px' viewBox='0 0 16 16'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M0 1v15h16v-15h-16zM5 15h-4v-2h4v2zM5 12h-4v-2h4v2zM5 9h-4v-2h4v2zM5 6h-4v-2h4v2zM10 15h-4v-2h4v2zM10 12h-4v-2h4v2zM10 9h-4v-2h4v2zM10 6h-4v-2h4v2zM15 15h-4v-2h4v2zM15 12h-4v-2h4v2zM15 9h-4v-2h4v2zM15 6h-4v-2h4v2z'/%3E%3C/g%3E%3C/svg%3E") center no-repeat; background-size: contain; display: block; - width: 100%; height: 100%; - position: absolute; - left: 0; - top: -0.1em; } #tables a.select:hover, #tables a.select:focus, @@ -629,7 +640,7 @@ .rtl #menu, #content, #menu { - /*! margin: 0; */ + max-width: none; padding: 0 10px 2em; width: auto; } @@ -680,4 +691,9 @@ margin-left: 0; margin-right: auto; } + #logins, + #tables { + margin: 0.7em -10px -10px; + padding: 0 10px 10px; + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/editor/include/adminer.inc.php new/adminer-4.7.5/editor/include/adminer.inc.php --- old/adminer-4.7.4/editor/include/adminer.inc.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/editor/include/adminer.inc.php 2019-11-13 08:17:14.000000000 +0100 @@ -537,7 +537,7 @@ function dumpDatabase($db) { } - function dumpTable() { + function dumpTable($table, $style, $is_view = 0) { echo "\xef\xbb\xbf"; // UTF-8 byte order mark } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/plugins/dump-alter.php new/adminer-4.7.5/plugins/dump-alter.php --- old/adminer-4.7.4/plugins/dump-alter.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/plugins/dump-alter.php 2019-11-13 08:17:14.000000000 +0100 @@ -67,7 +67,7 @@ } } - function dumpTable($table, $style, $is_view = false) { + function dumpTable($table, $style, $is_view = 0) { if ($_POST["format"] == "sql_alter") { $create = create_sql($table, $_POST["auto_increment"], $style); if ($is_view) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/plugins/dump-json.php new/adminer-4.7.5/plugins/dump-json.php --- old/adminer-4.7.4/plugins/dump-json.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/plugins/dump-json.php 2019-11-13 08:17:14.000000000 +0100 @@ -14,7 +14,7 @@ return array('json' => 'JSON'); } - function dumpTable($table, $style, $is_view = false) { + function dumpTable($table, $style, $is_view = 0) { if ($_POST["format"] == "json") { return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/plugins/dump-php.php new/adminer-4.7.5/plugins/dump-php.php --- old/adminer-4.7.4/plugins/dump-php.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/plugins/dump-php.php 2019-11-13 08:17:14.000000000 +0100 @@ -20,7 +20,7 @@ } } - function dumpTable($table) { + function dumpTable($table, $style, $is_view = 0) { if ($_POST['format'] == 'php') { $this->output[$table] = array(); if (!$this->shutdown_callback) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/plugins/dump-xml.php new/adminer-4.7.5/plugins/dump-xml.php --- old/adminer-4.7.4/plugins/dump-xml.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/plugins/dump-xml.php 2019-11-13 08:17:14.000000000 +0100 @@ -14,7 +14,7 @@ return array('xml' => 'XML'); } - function dumpTable($table, $style, $is_view = false) { + function dumpTable($table, $style, $is_view = 0) { if ($_POST["format"] == "xml") { return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.4/plugins/version-noverify.php new/adminer-4.7.5/plugins/version-noverify.php --- old/adminer-4.7.4/plugins/version-noverify.php 2019-10-22 08:33:20.000000000 +0200 +++ new/adminer-4.7.5/plugins/version-noverify.php 2019-11-13 08:17:14.000000000 +0100 @@ -8,8 +8,9 @@ */ class AdminerVersionNoverify { - function navigation($missing) { + function head() { echo script("verifyVersion = function () {};"); + return true; } }
