Hello community, here is the log from the commit of package adminer for openSUSE:Factory checked in at 2016-02-18 11:07:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/adminer (Old) and /work/SRC/openSUSE:Factory/.adminer.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "adminer" Changes: -------- --- /work/SRC/openSUSE:Factory/adminer/adminer.changes 2016-02-16 09:18:19.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.adminer.new/adminer.changes 2016-02-18 12:36:32.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Feb 9 22:05:41 UTC 2016 - [email protected] + +- Update to 4.2.4. + +------------------------------------------------------------------- Old: ---- adminer-v4.2.3.tar.xz New: ---- adminer-v4.2.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ adminer.spec ++++++ --- /var/tmp/diff_new_pack.oyqUI2/_old 2016-02-18 12:36:33.000000000 +0100 +++ /var/tmp/diff_new_pack.oyqUI2/_new 2016-02-18 12:36:33.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package adminer # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2015 Jimmy Berry <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -20,7 +20,7 @@ # pending php5-pear-Horde_Mongo package submission to Factory %bcond_with mongodb Name: adminer -Version: 4.2.3 +Version: 4.2.4 Release: 0 Summary: Database management in a single PHP file License: GPL-2.0 or Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.oyqUI2/_old 2016-02-18 12:36:33.000000000 +0100 +++ /var/tmp/diff_new_pack.oyqUI2/_new 2016-02-18 12:36:33.000000000 +0100 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">refs/tags/v4.2.3</param> + <param name="revision">refs/tags/v4.2.4</param> <param name="url">https://github.com/vrana/adminer.git</param> <param name="scm">git</param> </service> ++++++ adminer-v4.2.3.tar.xz -> adminer-v4.2.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/drivers/mysql.inc.php new/adminer-v4.2.4/adminer/drivers/mysql.inc.php --- old/adminer-v4.2.3/adminer/drivers/mysql.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/drivers/mysql.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -13,16 +13,16 @@ parent::init(); } - function connect($server, $username, $password) { + function connect($server = "", $username = "", $password = "", $database = null, $port = null, $socket = null) { mysqli_report(MYSQLI_REPORT_OFF); // stays between requests, not required since PHP 5.3.4 list($host, $port) = explode(":", $server, 2); // part after : is used for port or socket $return = @$this->real_connect( ($server != "" ? $host : ini_get("mysqli.default_host")), ($server . $username != "" ? $username : ini_get("mysqli.default_user")), ($server . $username . $password != "" ? $password : ini_get("mysqli.default_pw")), - null, + $database, (is_numeric($port) ? $port : ini_get("mysqli.default_port")), - (!is_numeric($port) ? $port : null) + (!is_numeric($port) ? $port : $socket) ); return $return; } @@ -581,16 +581,6 @@ return h(preg_replace('~^You have an error.*syntax to use~U', "Syntax error", $connection->error)); } - /** Get line of error - * @return int 0 for first line - */ - function error_line() { - global $connection; - if (preg_match('~ at line ([0-9]+)$~', $connection->error, $regs)) { - return $regs[1] - 1; - } - } - /** Create database * @param string * @param string diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/include/lang.inc.php new/adminer-v4.2.4/adminer/include/lang.inc.php --- old/adminer-v4.2.3/adminer/include/lang.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/include/lang.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -6,6 +6,7 @@ 'ar' => 'العربية', // Y.M Amine - Algeria - [email protected] 'bg' => 'Български', // Deyan Delchev 'bn' => 'বাংলা', // Dipak Kumar - [email protected] + 'bs' => 'Bosanski', // Emir Kurtovic 'ca' => 'Català', // Joan Llosas 'cs' => 'Čeština', // Jakub Vrána - http://www.vrana.cz 'da' => 'Dansk', // Jarne W. Beutnagel - [email protected] @@ -14,6 +15,7 @@ 'es' => 'Español', // Klemens Häckel - http://clickdimension.wordpress.com 'et' => 'Eesti', // Priit Kallas 'fa' => 'فارسی', // mojtaba barghbani - Iran - [email protected], Nima Amini - http://nimlog.com + 'fi' => 'Suomi', // Finnish - Kari Eveli - http://www.lexitec.fi/ 'fr' => 'Français', // Francis Gagné, Aurélien Royer 'gl' => 'Galego', // Eduardo Penabad Ramos 'hu' => 'Magyar', // Borsos Szilárd (Borsosfi) - http://www.borsosfi.hu, [email protected] @@ -61,10 +63,10 @@ $pos = ($number == 1 ? 0 : ($LANG == 'cs' || $LANG == 'sk' ? ($number && $number < 5 ? 1 : 2) // different forms for 1, 2-4, other : ($LANG == 'fr' ? (!$number ? 0 : 1) // different forms for 0-1, other - : ($LANG == 'pl' ? ($number % 10 > 1 && $number % 10 < 5 && $number / 10 % 10 != 1 ? 1 : 2) // different forms for 1, 2-4, other + : ($LANG == 'pl' ? ($number % 10 > 1 && $number % 10 < 5 && $number / 10 % 10 != 1 ? 1 : 2) // different forms for 1, 2-4 except 12-14, other : ($LANG == 'sl' ? ($number % 100 == 1 ? 0 : ($number % 100 == 2 ? 1 : ($number % 100 == 3 || $number % 100 == 4 ? 2 : 3))) // different forms for 1, 2, 3-4, other : ($LANG == 'lt' ? ($number % 10 == 1 && $number % 100 != 11 ? 0 : ($number % 10 > 1 && $number / 10 % 10 != 1 ? 1 : 2)) // different forms for 1, 12-19, other - : ($LANG == 'ru' || $LANG == 'sr' || $LANG == 'uk' ? ($number % 10 == 1 && $number % 100 != 11 ? 0 : ($number % 10 > 1 && $number % 10 < 5 && $number / 10 % 10 != 1 ? 1 : 2)) // different forms for 1, 2-4, other + : ($LANG == 'bs' || $LANG == 'ru' || $LANG == 'sr' || $LANG == 'uk' ? ($number % 10 == 1 && $number % 100 != 11 ? 0 : ($number % 10 > 1 && $number % 10 < 5 && $number / 10 % 10 != 1 ? 1 : 2)) // different forms for 1 except 11, 2-4 except 12-14, other : 1 // different forms for 1, other ))))))); // http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html $translation = $translation[$pos]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/include/version.inc.php new/adminer-v4.2.4/adminer/include/version.inc.php --- old/adminer-v4.2.3/adminer/include/version.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/include/version.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -1,2 +1,2 @@ <?php -$VERSION = "4.2.3"; +$VERSION = "4.2.4"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/lang/bs.inc.php new/adminer-v4.2.4/adminer/lang/bs.inc.php --- old/adminer-v4.2.3/adminer/lang/bs.inc.php 1970-01-01 01:00:00.000000000 +0100 +++ new/adminer-v4.2.4/adminer/lang/bs.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -0,0 +1,322 @@ +<?php +$translations = array( + // label for database system selection (MySQL, SQLite, ...) + 'System' => 'Sistem', + 'Server' => 'Server', + 'Username' => 'Korisničko ime', + 'Password' => 'Lozinka', + 'Permanent login' => 'Trajna prijava', + 'Login' => 'Prijava', + 'Logout' => 'Odjava', + 'Logged as: %s' => 'Prijavi se kao: %s', + 'Logout successful.' => 'Uspešna odjava.', + 'Invalid credentials.' => 'Nevažeće dozvole.', + 'Language' => 'Jezik', + 'Invalid CSRF token. Send the form again.' => 'Nevažeći CSRF kod. Proslijedite ponovo formu.', + 'No extension' => 'Bez dodataka', + 'None of the supported PHP extensions (%s) are available.' => 'Nijedan od podržanih PHP dodataka nije dostupan.', + 'Session support must be enabled.' => 'Morate omogućiti podršku za sesije.', + 'Session expired, please login again.' => 'Vaša sesija je istekla, prijavite se ponovo.', + '%s version: %s through PHP extension %s' => '%s verzija: %s pomoću PHP dodatka je %s', + 'Refresh' => 'Osveži', + + // text direction - 'ltr' or 'rtl' + 'ltr' => 'ltr', + + 'Privileges' => 'Dozvole', + 'Create user' => 'Novi korisnik', + 'User has been dropped.' => 'Korisnik je izbrisan.', + 'User has been altered.' => 'Korisnik je izmijenjen.', + 'User has been created.' => 'korisnik je spašen.', + 'Hashed' => 'Heširano', + 'Column' => 'kolumna', + 'Routine' => 'Rutina', + 'Grant' => 'Dozvoli', + 'Revoke' => 'Opozovi', + + 'Process list' => 'Spisak procesa', + '%d process(es) have been killed.' => array('%d proces je ukinut.', '%d procesa su ukinuta.', '%d procesa je ukinuto.'), + 'Kill' => 'Ubij', + + 'Variables' => 'Promijenljive', + 'Status' => 'Status', + + 'SQL command' => 'SQL komanda', + '%d query(s) executed OK.' => array('%d upit je uspiješno izvršen.', '%d upita su uspiješno izvršena.', '%d upita je uspiješno izvršeno.'), + 'Query executed OK, %d row(s) affected.' => array('Upit je uspiješno izvršen, %d red je ažuriran.', 'Upit je uspiješno izvršen, %d reda su ažurirana.', 'Upit je uspiješno izvršen, %d redova je ažurirano.'), + 'No commands to execute.' => 'Bez komandi za izvršavanje.', + 'Error in query' => 'Greška u upitu', + 'Execute' => 'Izvrši', + 'Stop on error' => 'Zaustavi prilikom greške', + 'Show only errors' => 'Prikazuj samo greške', + // sprintf() format for time of the command + '%.3f s' => '%.3f s', + 'History' => 'Historijat', + 'Clear' => 'Očisti', + 'Edit all' => 'Izmijeni sve', + + 'File upload' => 'Slanje datoteka', + 'From server' => 'Sa servera', + 'Webserver file %s' => 'Datoteka %s sa veb servera', + 'Run file' => 'Pokreni datoteku', + 'File does not exist.' => 'Datoteka ne postoji.', + 'File uploads are disabled.' => 'Onemogućeno je slanje datoteka.', + 'Unable to upload a file.' => 'Slanje datoteke nije uspelo.', + 'Maximum allowed file size is %sB.' => 'Najveća dozvoljena veličina datoteke je %sB.', + 'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Preveliki POST podatak. Morate da smanjite podatak ili povećajte vrijednost konfiguracione direktive %s.', + + 'Export' => 'Izvoz', + 'Output' => 'Ispis', + 'open' => 'otvori', + 'save' => 'spasi', + 'Format' => 'Format', + 'Data' => 'Podaci', + + 'Database' => 'Baza podataka', + 'database' => 'baza podataka', + 'Use' => 'Koristi', + 'Select database' => 'Izaberite bazu', + 'Invalid database.' => 'Neispravna baza podataka.', + 'Create new database' => 'Napravi novu bazu podataka', + 'Database has been dropped.' => 'Baza podataka je izbrisana.', + 'Databases have been dropped.' => 'Baze podataka su izbrisane.', + 'Database has been created.' => 'Baza podataka je spašena.', + 'Database has been renamed.' => 'Baza podataka je preimenovana.', + 'Database has been altered.' => 'Baza podataka je izmijenjena.', + 'Alter database' => 'Ažuriraj bazu podataka', + 'Create database' => 'Formiraj bazu podataka', + 'Database schema' => 'Šema baze podataka', + + // link to current database schema layout + 'Permanent link' => 'Trajna veza', + + // thousands separator - must contain single byte + ',' => ',', + '0123456789' => '0123456789', + 'Engine' => 'Stroj', + 'Collation' => 'Sravnjivanje', + 'Data Length' => 'Dužina podataka', + 'Index Length' => 'Dužina indeksa', + 'Data Free' => 'Slobodno podataka', + 'Rows' => 'Redova', + '%d in total' => 'ukupno %d', + 'Analyze' => 'Analiziraj', + 'Optimize' => 'Optimizuj', + 'Check' => 'Provjeri', + 'Repair' => 'Popravi', + 'Truncate' => 'Isprazni', + 'Tables have been truncated.' => 'Tabele su ispražnjene.', + 'Move to other database' => 'Premijesti u drugu bazu podataka', + 'Move' => 'Premijesti', + 'Tables have been moved.' => 'Tabele su premješćene.', + 'Copy' => 'Umnoži', + 'Tables have been copied.' => 'Tabele su umnožene.', + + 'Routines' => 'Rutine', + 'Routine has been called, %d row(s) affected.' => array('Pozvana je rutina, %d red je ažuriran.', 'Pozvana je rutina, %d reda su ažurirani.', 'Pozvana je rutina, %d redova je ažurirano.'), + 'Call' => 'Pozovi', + 'Parameter name' => 'Naziv parametra', + 'Create procedure' => 'Formiraj proceduru', + 'Create function' => 'Formiraj funkciju', + 'Routine has been dropped.' => 'Rutina je izbrisana.', + 'Routine has been altered.' => 'Rutina je izmijenjena.', + 'Routine has been created.' => 'Rutina je spašena.', + 'Alter function' => 'Ažuriraj funkciju', + 'Alter procedure' => 'Ažuriraj proceduru', + 'Return type' => 'Povratni tip', + + 'Events' => 'Događaji', + 'Event has been dropped.' => 'Događaj je izbrisan.', + 'Event has been altered.' => 'Događaj je izmijenjen.', + 'Event has been created.' => 'Događaj je spašen.', + 'Alter event' => 'Ažuriraj događaj', + 'Create event' => 'Napravi događaj', + 'At given time' => 'U zadato vrijeme', + 'Every' => 'Svaki', + 'Schedule' => 'Raspored', + 'Start' => 'Početak', + 'End' => 'Kraj', + 'On completion preserve' => 'Zadrži po završetku', + + 'Tables' => 'Tabele', + 'Tables and views' => 'Tabele i pogledi', + 'Table' => 'Tabela', + 'No tables.' => 'Bez tabela.', + 'Alter table' => 'Ažuriraj tabelu', + 'Create table' => 'Napravi tabelu', + 'Table has been dropped.' => 'Tabela je izbrisana.', + 'Tables have been dropped.' => 'Tabele su izbrisane.', + 'Tables have been optimized.' => 'Tabele su optimizovane.', + 'Table has been altered.' => 'Tabela je izmijenjena.', + 'Table has been created.' => 'Tabela je spašena.', + 'Table name' => 'Naziv tabele', + 'Show structure' => 'Prikaži strukturu', + 'engine' => 'stroj', + 'collation' => 'Sravnjivanje', + 'Column name' => 'Naziv kolumne', + 'Type' => 'Tip', + 'Length' => 'Dužina', + 'Auto Increment' => 'Auto-priraštaj', + 'Options' => 'Opcije', + 'Comment' => 'Komentar', + 'Default values' => 'Podrazumijevane vrijednosti', + 'Drop' => 'Izbriši', + 'Are you sure?' => 'Da li ste sigurni?', + 'Move up' => 'Pomijeri na gore', + 'Move down' => 'Pomijeri na dole', + 'Remove' => 'Ukloni', + 'Maximum number of allowed fields exceeded. Please increase %s.' => 'Premašen je maksimalni broj dozvoljenih polja. Molim uvećajte %s.', + + 'Partition by' => 'Podijeli po', + 'Partitions' => 'Podijele', + 'Partition name' => 'Ime podijele', + 'Values' => 'Vrijednosti', + + 'View' => 'Pogled', + 'View has been dropped.' => 'Pogled je izbrisan.', + 'View has been altered.' => 'Pogled je izmijenjen.', + 'View has been created.' => 'Pogled je spašen.', + 'Alter view' => 'Ažuriraj pogled', + 'Create view' => 'Napravi pogled', + + 'Indexes' => 'Indeksi', + 'Indexes have been altered.' => 'Indeksi su izmijenjeni.', + 'Alter indexes' => 'Ažuriraj indekse', + 'Add next' => 'Dodaj slijedeći', + 'Index Type' => 'Tip indeksa', + 'Column (length)' => 'kolumna (dužina)', + + 'Foreign keys' => 'Strani ključevi', + 'Foreign key' => 'Strani ključ', + 'Foreign key has been dropped.' => 'Strani ključ je izbrisan.', + 'Foreign key has been altered.' => 'Strani ključ je izmijenjen.', + 'Foreign key has been created.' => 'Strani ključ je spašen.', + 'Target table' => 'Ciljna tabela', + 'Change' => 'izmijeni', + 'Source' => 'Izvor', + 'Target' => 'Cilj', + 'Add column' => 'Dodaj kolumnu', + 'Alter' => 'Ažuriraj', + 'Add foreign key' => 'Dodaj strani ključ', + 'ON DELETE' => 'ON DELETE (prilikom brisanja)', + 'ON UPDATE' => 'ON UPDATE (prilikom osvežavanja)', + 'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Izvorne i ciljne kolumne moraju biti istog tipa, ciljna kolumna mora biti indeksirana i izvorna tabela mora sadržati podatke iz ciljne.', + + 'Triggers' => 'Okidači', + 'Add trigger' => 'Dodaj okidač', + 'Trigger has been dropped.' => 'Okidač je izbrisan.', + 'Trigger has been altered.' => 'Okidač je izmijenjen.', + 'Trigger has been created.' => 'Okidač je spašen.', + 'Alter trigger' => 'Ažuriraj okidač', + 'Create trigger' => 'Formiraj okidač', + 'Time' => 'Vrijeme', + 'Event' => 'Događaj', + 'Name' => 'Ime', + + 'select' => 'izaberi', + 'Select' => 'Izaberi', + 'Selected' => 'Izabrano', + 'Select data' => 'Izaberi podatke', + 'Functions' => 'Funkcije', + 'Aggregation' => 'Sakupljanje', + 'Search' => 'Pretraga', + 'anywhere' => 'bilo gdje', + 'Search data in tables' => 'Pretraži podatke u tabelama', + 'Sort' => 'Poređaj', + 'descending' => 'opadajuće', + 'Limit' => 'Granica', + 'Text length' => 'Dužina teksta', + 'Action' => 'Akcija', + 'Full table scan' => 'Skreniranje kompletne tabele', + 'Unable to select the table' => 'Ne mogu da izaberem tabelu', + 'No rows.' => 'Bez redova.', + '%d row(s)' => array('%d red', '%d reda', '%d redova'), + 'Page' => 'Strana', + 'last' => 'poslijednja', + 'Loading' => 'Učitavam', + 'Load more data' => 'Učitavam još podataka', + 'whole result' => 'ceo rezultat', + '%d byte(s)' => array('%d bajt', '%d bajta', '%d bajtova'), + + 'Import' => 'Uvoz', + '%d row(s) have been imported.' => array('%d red je uvežen.', '%d reda su uvežena.', '%d redova je uveženo.'), + + // in-place editing in select + 'Ctrl+click on a value to modify it.' => 'Ctrl+klik na vrijednost za izmijenu.', + 'Use edit link to modify this value.' => 'Koristi vezu za izmijenu ove vrijednosti.', + + // %s can contain auto-increment value + 'Item%s has been inserted.' => 'Stavka %s je spašena.', + 'Item has been deleted.' => 'Stavka je izbrisana.', + 'Item has been updated.' => 'Stavka je izmijenjena.', + '%d item(s) have been affected.' => array('%d stavka je ažurirana.', '%d stavke su ažurirane.', '%d stavki je ažurirano.'), + 'New item' => 'Nova stavka', + 'original' => 'original', + // label for value '' in enum data type + 'empty' => 'prazno', + 'edit' => 'izmijeni', + 'Edit' => 'Izmijeni', + 'Insert' => 'Umetni', + 'Save' => 'Sačuvaj', + 'Save and continue edit' => 'Sačuvaj i nastavi uređenje', + 'Save and insert next' => 'Sačuvaj i umijetni slijedeće', + 'Clone' => 'Dupliraj', + 'Delete' => 'Izbriši', + 'Modify' => 'Izmjene', + + 'E-mail' => 'El. pošta', + 'From' => 'Od', + 'Subject' => 'Naslov', + 'Attachments' => 'Prilozi', + 'Send' => 'Pošalji', + '%d e-mail(s) have been sent.' => array('%d poruka el. pošte je poslata.', '%d poruke el. pošte su poslate.', '%d poruka el. pošte je poslato.'), + + // data type descriptions + 'Numbers' => 'Broj', + 'Date and time' => 'Datum i vrijeme', + 'Strings' => 'Tekst', + 'Binary' => 'Binarno', + 'Lists' => 'Liste', + 'Network' => 'Mreža', + 'Geometry' => 'Geometrija', + 'Relations' => 'Odnosi', + + 'Editor' => 'Uređivač', + // date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d + '$1-$3-$5' => '$5.$3.$1.', + // hint for date format - use language equivalents for day, month and year shortcuts + '[yyyy]-mm-dd' => 'dd.mm.[yyyy].', + // hint for time format - use language equivalents for hour, minute and second shortcuts + 'HH:MM:SS' => 'HH:MM:SS', + 'now' => 'sad', + 'yes' => 'da', + 'no' => 'ne', + + // general SQLite error in create, drop or rename database + 'File exists.' => 'Datoteka već postoji.', + 'Please use one of the extensions %s.' => 'Molim koristite jedan od nastavaka %s.', + + // PostgreSQL and MS SQL schema support + 'Alter schema' => 'Ažuriraj šemu', + 'Create schema' => 'Formiraj šemu', + 'Schema has been dropped.' => 'Šema je izbrisana.', + 'Schema has been created.' => 'Šema je spašena.', + 'Schema has been altered.' => 'Šema je izmijenjena.', + 'Schema' => 'Šema', + 'Invalid schema.' => 'Šema nije ispravna.', + + // PostgreSQL sequences support + 'Sequences' => 'Nizovi', + 'Create sequence' => 'Napravi niz', + 'Sequence has been dropped.' => 'Niz je izbrisan.', + 'Sequence has been created.' => 'Niz je formiran.', + 'Sequence has been altered.' => 'Niz je izmijenjen.', + 'Alter sequence' => 'Ažuriraj niz', + + // PostgreSQL user types support + 'User types' => 'Korisnički tipovi', + 'Create type' => 'Definiši tip', + 'Type has been dropped.' => 'Tip je izbrisan.', + 'Type has been created.' => 'tip je spašen.', + 'Alter type' => 'Ažuriraj tip', +); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/lang/cs.inc.php new/adminer-v4.2.4/adminer/lang/cs.inc.php --- old/adminer-v4.2.3/adminer/lang/cs.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/lang/cs.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -49,6 +49,7 @@ 'Query executed OK, %d row(s) affected.' => array('Příkaz proběhl v pořádku, byl změněn %d záznam.', 'Příkaz proběhl v pořádku, byly změněny %d záznamy.', 'Příkaz proběhl v pořádku, bylo změněno %d záznamů.'), 'No commands to execute.' => 'Žádné příkazy k vykonání.', 'Error in query' => 'Chyba v dotazu', + 'ATTACH queries are not supported.' => 'Dotazy ATTACH nejsou podporované.', 'Execute' => 'Provést', 'Stop on error' => 'Zastavit při chybě', 'Show only errors' => 'Zobrazit pouze chyby', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/lang/fi.inc.php new/adminer-v4.2.4/adminer/lang/fi.inc.php --- old/adminer-v4.2.3/adminer/lang/fi.inc.php 1970-01-01 01:00:00.000000000 +0100 +++ new/adminer-v4.2.4/adminer/lang/fi.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -0,0 +1,338 @@ +<?php +$translations = array( + // label for database system selection (MySQL, SQLite, ...) + 'System' => 'Järjestelmä', + 'Server' => 'Palvelin', + 'Username' => 'Käyttäjänimi', + 'Password' => 'Salasana', + 'Permanent login' => 'Haluan pysyä kirjautuneena', + 'Login' => 'Kirjaudu', + 'Logout' => 'Kirjaudu ulos', + 'Logged as: %s' => 'Olet kirjautunut käyttäjänä: %s', + 'Logout successful.' => 'Uloskirjautuminen onnistui.', + 'Invalid credentials.' => 'Virheelliset kirjautumistiedot.', + 'Too many unsuccessful logins, try again in %d minute(s).' => array('Liian monta epäonnistunutta sisäänkirjautumisyritystä, kokeile uudestaan %d minuutin kuluttua.', 'Liian monta epäonnistunutta sisäänkirjautumisyritystä, kokeile uudestaan %d minuutin kuluttua.'), + 'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Master-salasana ei ole enää voimassa. <a href="https://www.adminer.org/en/extension/" target="_blank">Toteuta</a> %s-metodi sen tekemiseksi pysyväksi.', + 'Language' => 'Kieli', + 'Invalid CSRF token. Send the form again.' => 'Virheellinen CSRF-vastamerkki. Lähetä lomake uudelleen.', + 'If you did not send this request from Adminer then close this page.' => 'Jollet lähettänyt tämä pyyntö Adminerista, sulje tämä sivu.', + 'No extension' => 'Ei laajennusta', + 'None of the supported PHP extensions (%s) are available.' => 'Mitään tuetuista PHP-laajennuksista (%s) ei ole käytettävissä.', + 'Session support must be enabled.' => 'Istuntotuki on oltava päällä.', + 'Session expired, please login again.' => 'Istunto vanhentunut, kirjaudu uudelleen.', + '%s version: %s through PHP extension %s' => '%s versio: %s PHP-laajennuksella %s', + 'Refresh' => 'Virkistä', + + // text direction - 'ltr' or 'rtl' + 'ltr' => 'ltr', + + 'Privileges' => 'Oikeudet', + 'Create user' => 'Luo käyttäjä', + 'User has been dropped.' => 'Käyttäjä poistettiin.', + 'User has been altered.' => 'Käyttäjää muutettiin.', + 'User has been created.' => 'Käyttäjä luotiin.', + 'Hashed' => 'Hashed', + 'Column' => 'Sarake', + 'Routine' => 'Rutiini', + 'Grant' => 'Myönnä', + 'Revoke' => 'Kiellä', + + 'Process list' => 'Prosessilista', + '%d process(es) have been killed.' => array('%d prosessi lopetettu.', '%d prosessia lopetettu..'), + 'Kill' => 'Lopeta', + + 'Variables' => 'Muuttujat', + 'Status' => 'Tila', + + 'SQL command' => 'SQL-komento', + '%d query(s) executed OK.' => array('%d kysely onnistui.', '%d kyselyä onnistui.'), + 'Query executed OK, %d row(s) affected.' => array('Kysely onnistui, kohdistui %d riviin.', 'Kysely onnistui, kohdistui %d riviin.'), + 'No commands to execute.' => 'Ei komentoja suoritettavana.', + 'Error in query' => 'Virhe kyselyssä', + 'Execute' => 'Suorita', + 'Stop on error' => 'Pysähdy virheeseen', + 'Show only errors' => 'Näytä vain virheet', + // sprintf() format for time of the command + '%.3f s' => '%.3f s', + 'History' => 'Historia', + 'Clear' => 'Tyhjennä', + 'Edit all' => 'Muokkaa kaikkia', + + 'File upload' => 'Tiedoston lataus palvelimelle', + 'From server' => 'Verkkopalvelimella Adminer-kansiossa oleva tiedosto', + 'Webserver file %s' => 'Verkkopalvelintiedosto %s', + 'Run file' => 'Suorita tämä', + 'File does not exist.' => 'Tiedostoa ei ole.', + 'File uploads are disabled.' => 'Tiedostojen lataaminen palvelimelle on estetty.', + 'Unable to upload a file.' => 'Tiedostoa ei voida ladata palvelimelle.', + 'Maximum allowed file size is %sB.' => 'Suurin sallittu tiedostokoko on %sB.', + 'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Liian suuri POST-datamäärä. Pienennä dataa tai kasvata arvoa %s konfigurointitiedostossa.', + 'You can upload a big SQL file via FTP and import it from server.' => 'Voit ladata suuren SQL-tiedoston FTP:n kautta ja tuoda sen sitten palvelimelta.', + 'You are offline.' => 'Olet offline-tilassa.', + + 'Export' => 'Vienti', + 'Output' => 'Tulos', + 'open' => 'avaa', + 'save' => 'tallenna', + 'Saving' => 'Tallennetaan', + 'Format' => 'Muoto', + 'Data' => 'Data', + + 'Database' => 'Tietokanta', + 'database' => 'tietokanta', + 'Use' => 'Käytä', + 'Select database' => 'Valitse tietokanta', + 'Invalid database.' => 'Tietokanta ei kelpaa.', + 'Create new database' => 'Luo uusi tietokanta', + 'Database has been dropped.' => 'Tietokanta on poistettu.', + 'Databases have been dropped.' => 'Tietokannat on poistettu.', + 'Database has been created.' => 'Tietokanta on luotu.', + 'Database has been renamed.' => 'Tietokanta on nimetty uudelleen.', + 'Database has been altered.' => 'Tietokantaa on muutettu.', + 'Alter database' => 'Muuta tietokantaa', + 'Create database' => 'Luo tietokanta', + 'Database schema' => 'Tietokantakaava', + + // link to current database schema layout + 'Permanent link' => 'Pysyvä linkki', + + // thousands separator - must contain single byte + ',' => ',', + '0123456789' => '0123456789', + 'Engine' => 'Moottori', + 'Collation' => 'Kollaatio', + 'Data Length' => 'Datan pituus', + 'Index Length' => 'Indeksin pituus', + 'Data Free' => 'Vapaa tila', + 'Rows' => 'Riviä', + '%d in total' => '%d kaikkiaan', + 'Analyze' => 'Analysoi', + 'Optimize' => 'Optimoi', + 'Vacuum' => 'Siivoa', + 'Check' => 'Tarkista', + 'Repair' => 'Korjaa', + 'Truncate' => 'Tyhjennä', + 'Tables have been truncated.' => 'Taulujen sisältö on tyhjennetty.', + 'Move to other database' => 'Siirrä toiseen tietokantaan', + 'Move' => 'Siirrä', + 'Tables have been moved.' => 'Taulut on siirretty.', + 'Copy' => 'Kopioi', + 'Tables have been copied.' => 'Taulut on kopioitu.', + + 'Routines' => 'Rutiinit', + 'Routine has been called, %d row(s) affected.' => array('Rutiini kutsuttu, kohdistui %d riviin.', 'Rutiini kutsuttu, kohdistui %d riviin.'), + 'Call' => 'Kutsua', + 'Parameter name' => 'Parametrin nimi', + 'Create procedure' => 'Luo proseduuri', + 'Create function' => 'Luo funktio', + 'Routine has been dropped.' => 'Rutiini on poistettu.', + 'Routine has been altered.' => 'Rutiinia on muutettu.', + 'Routine has been created.' => 'Rutiini on luotu.', + 'Alter function' => 'Muuta funktiota', + 'Alter procedure' => 'Muuta proseduuria', + 'Return type' => 'Palautustyyppi', + + 'Events' => 'Tapahtumat', + 'Event has been dropped.' => 'Tapahtuma on poistettu.', + 'Event has been altered.' => 'Tapahtumaa on muutettu.', + 'Event has been created.' => 'Tapahtuma on luotu.', + 'Alter event' => 'Muuta tapahtumaa', + 'Create event' => 'Luo tapahtuma', + 'At given time' => 'Tiettynä aikana', + 'Every' => 'Joka', + 'Schedule' => 'Aikataulu', + 'Start' => 'Aloitus', + 'End' => 'Lopetus', + 'On completion preserve' => 'Säilytä, kun valmis', + + 'Tables' => 'Taulut', + 'Tables and views' => 'Taulut ja näkymät', + 'Table' => 'Taulu', + 'No tables.' => 'Ei tauluja.', + 'Alter table' => 'Muuta taulua', + 'Create table' => 'Luo taulu', + 'Table has been dropped.' => 'Taulu on poistettu.', + 'Tables have been dropped.' => 'Tauluja on poistettu.', + 'Tables have been optimized.' => 'Taulut on optimoitu.', + 'Table has been altered.' => 'Taulua on muutettu.', + 'Table has been created.' => 'Taulu on luotu.', + 'Table name' => 'Taulun nimi', + 'Show structure' => 'Näytä rakenne', + 'engine' => 'moottori', + 'collation' => 'kollaatio', + 'Column name' => 'Sarakkeen nimi', + 'Type' => 'Tyyppi', + 'Length' => 'Pituus', + 'Auto Increment' => 'Automaattinen lisäys', + 'Options' => 'Asetukset', + 'Comment' => 'Kommentit', + 'Default value' => 'Oletusarvo', + 'Default values' => 'Oletusarvot', + 'Drop' => 'Poista', + 'Are you sure?' => 'Oletko varma?', + 'Size' => 'Koko', + 'Compute' => 'Laske', + 'Move up' => 'Siirrä ylös', + 'Move down' => 'Siirrä alas', + 'Remove' => 'Poista', + 'Maximum number of allowed fields exceeded. Please increase %s.' => 'Kenttien sallittu enimmäismäärä ylitetty. Kasvata arvoa %s.', + + 'Partition by' => 'Osioi arvolla', + 'Partitions' => 'Osiot', + 'Partition name' => 'Osion nimi', + 'Values' => 'Arvot', + + 'View' => 'Näkymä', + 'Materialized View' => 'Materialisoitunut näkymä', + 'View has been dropped.' => 'Näkymä on poistettu.', + 'View has been altered.' => 'Näkymää on muutettu.', + 'View has been created.' => 'Näkymä on luotu.', + 'Alter view' => 'Muuta näkymää', + 'Create view' => 'Luo näkymä', + 'Create materialized view' => 'Luo materialisoitunut näkymä', + + 'Indexes' => 'Indeksit', + 'Indexes have been altered.' => 'Indeksejä on muutettu.', + 'Alter indexes' => 'Muuta indeksejä', + 'Add next' => 'Lisää seuraava', + 'Index Type' => 'Indeksityyppi', + 'Column (length)' => 'Sarake (pituus)', + + 'Foreign keys' => 'Vieraat avaimet', + 'Foreign key' => 'Vieras avain', + 'Foreign key has been dropped.' => 'Vieras avain on poistettu.', + 'Foreign key has been altered.' => 'Vierasta avainta on muutettu.', + 'Foreign key has been created.' => 'Vieras avain on luotu.', + 'Target table' => 'Kohdetaulu', + 'Change' => 'Muuta', + 'Source' => 'Lähde', + 'Target' => 'Kohde', + 'Add column' => 'Lisää sarake', + 'Alter' => 'Muuta', + 'Add foreign key' => 'Lisää vieras avain', + 'ON DELETE' => 'ON DELETE', + 'ON UPDATE' => 'ON UPDATE', + 'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Lähde- ja kohdesarakkeiden tulee olla samaa tietotyyppiä, kohdesarakkeisiin tulee olla indeksi ja dataa, johon viitataan, täytyy olla.', + + 'Triggers' => 'Liipaisimet', + 'Add trigger' => 'Lisää liipaisin', + 'Trigger has been dropped.' => 'Liipaisin on poistettu.', + 'Trigger has been altered.' => 'Liipaisinta on muutettu.', + 'Trigger has been created.' => 'Liipaisin on luotu.', + 'Alter trigger' => 'Muuta liipaisinta', + 'Create trigger' => 'Luo liipaisin', + 'Time' => 'Aika', + 'Event' => 'Tapahtuma', + 'Name' => 'Nimi', + + 'select' => 'valitse', + 'Select' => 'Valitse', + 'Select data' => 'Valitse data', + 'Functions' => 'Funktiot', + 'Aggregation' => 'Aggregaatiot', + 'Search' => 'Hae', + 'anywhere' => 'kaikkialta', + 'Search data in tables' => 'Hae dataa tauluista', + 'Sort' => 'Lajittele', + 'descending' => 'alenevasti', + 'Limit' => 'Raja', + 'Limit rows' => 'Rajoita rivimäärää', + 'Text length' => 'Tekstin pituus', + 'Action' => 'Toimenpide', + 'Full table scan' => 'Koko taulun läpikäynti', + 'Unable to select the table' => 'Taulua ei voitu valita', + 'No rows.' => 'Ei rivejä.', + '%d / ' => '%d / ', + '%d row(s)' => array('%d rivi', '%d riviä'), + 'Page' => 'Sivu', + 'last' => 'viimeinen', + 'Load more data' => 'Lataa lisää dataa', + 'Loading' => 'Ladataan', + 'whole result' => 'koko tulos', + '%d byte(s)' => array('%d tavu', '%d tavua'), + + 'Import' => 'Tuonti', + '%d row(s) have been imported.' => array('%d rivi tuotiin.', '%d riviä tuotiin.'), + 'File must be in UTF-8 encoding.' => 'Tiedoston täytyy olla UTF-8-muodossa.', + + // in-place editing in select + 'Modify' => 'Muuta', + 'Ctrl+click on a value to modify it.' => 'Ctrl+napsauta arvoa muuttaaksesi.', + 'Use edit link to modify this value.' => 'Käytä muokkaa-linkkiä muuttaaksesi tätä arvoa.', + + // %s can contain auto-increment value + 'Item%s has been inserted.' => 'Tietue%s lisättiin.', + 'Item has been deleted.' => 'Tietue poistettiin.', + 'Item has been updated.' => 'Tietue päivitettiin.', + '%d item(s) have been affected.' => array('Kohdistui %d tietueeseen.', 'Kohdistui %d tietueeseen.'), + 'New item' => 'Uusi tietue', + 'original' => 'alkuperäinen', + // label for value '' in enum data type + 'empty' => 'tyhjä', + 'edit' => 'muokkaa', + 'Edit' => 'Muokkaa', + 'Insert' => 'Lisää', + 'Save' => 'Tallenna', + 'Save and continue edit' => 'Tallenna ja jatka muokkaamista', + 'Save and insert next' => 'Tallenna ja lisää seuraava', + 'Selected' => 'Valitut', + 'Clone' => 'Kloonaa', + 'Delete' => 'Poista', + 'You have no privileges to update this table.' => 'Sinulla ei ole oikeutta päivittää tätä taulua.', + + 'E-mail' => 'S-posti', + 'From' => 'Lähettäjä', + 'Subject' => 'Aihe', + 'Attachments' => 'Liitteet', + 'Send' => 'Lähetä', + '%d e-mail(s) have been sent.' => array('% sähköpostiviestiä lähetetty.', '% sähköpostiviestiä lähetetty.'), + + // data type descriptions + 'Numbers' => 'Numerot', + 'Date and time' => 'Päiväys ja aika', + 'Strings' => 'Merkkijonot', + 'Binary' => 'Binäärinen', + 'Lists' => 'Luettelot', + 'Network' => 'Verkko', + 'Geometry' => 'Geometria', + 'Relations' => 'Suhteet', + + 'Editor' => 'Editori', + // date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d + '$1-$3-$5' => '$5.$3.$1', + // hint for date format - use language equivalents for day, month and year shortcuts + '[yyyy]-mm-dd' => 'pp.kk.[vvvv]', + // hint for time format - use language equivalents for hour, minute and second shortcuts + 'HH:MM:SS' => 'HH:MM:SS', + 'now' => 'nyt', + 'yes' => 'kyllä', + 'no' => 'ei', + + // general SQLite error in create, drop or rename database + 'File exists.' => 'Tiedosto on olemassa.', + 'Please use one of the extensions %s.' => 'Käytä jotain %s-laajennuksista.', + + // PostgreSQL and MS SQL schema support + 'Alter schema' => 'Muuta kaavaa', + 'Create schema' => 'Luo kaava', + 'Schema has been dropped.' => 'Kaava poistettiin.', + 'Schema has been created.' => 'Kaava luotiin.', + 'Schema has been altered.' => 'Kaavaa muutettiin.', + 'Schema' => 'Kaava', + 'Invalid schema.' => 'Kaava ei kelpaa.', + + // PostgreSQL sequences support + 'Sequences' => 'Sekvenssit', + 'Create sequence' => 'Luo sekvenssi', + 'Sequence has been dropped.' => 'Sekvenssi on poistettu.', + 'Sequence has been created.' => 'Sekvenssi on luotu.', + 'Sequence has been altered.' => 'Sekvenssiä on muutettu.', + 'Alter sequence' => 'Muuta sekvenssiä', + + // PostgreSQL user types support + 'User types' => 'Käyttäjän tyypit', + 'Create type' => 'Luo tyyppi', + 'Type has been dropped.' => 'Tyyppi poistettiin.', + 'Type has been created.' => 'Tyyppi luotiin.', + 'Alter type' => 'Muuta tyyppiä', +); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/lang/xx.inc.php new/adminer-v4.2.4/adminer/lang/xx.inc.php --- old/adminer-v4.2.3/adminer/lang/xx.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/lang/xx.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -49,6 +49,7 @@ 'Query executed OK, %d row(s) affected.' => array('Xx.', 'Xx.'), 'No commands to execute.' => 'Xx.', 'Error in query' => 'Xx', + 'ATTACH queries are not supported.' => 'Xx.', 'Execute' => 'Xx', 'Stop on error' => 'Xx', 'Show only errors' => 'Xx', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/adminer/sql.inc.php new/adminer-v4.2.4/adminer/sql.inc.php --- old/adminer-v4.2.3/adminer/sql.inc.php 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/adminer/sql.inc.php 2016-02-09 23:05:14.000000000 +0100 @@ -55,7 +55,6 @@ } $commands = 0; $errors = array(); - $line = 0; $parse = '[\'"' . ($jush == "sql" ? '`#' : ($jush == "sqlite" ? '`[' : ($jush == "mssql" ? '[' : ''))) . ']|/\\*|-- |$' . ($jush == "pgsql" ? '|\\$[^$]*\\$' : ''); $total_start = microtime(true); parse_str($_COOKIE["adminer_export"], $adminer_export); @@ -95,73 +94,82 @@ $q = substr($query, 0, $pos); $commands++; $print = "<pre id='sql-$commands'><code class='jush-$jush'>" . shorten_utf8(trim($q), 1000) . "</code></pre>\n"; - if (!$_POST["only_errors"]) { + if ($jush == "sqlite" && preg_match("~^$space*ATTACH\b~i", $q, $match)) { + // PHP doesn't support setting SQLITE_LIMIT_ATTACHED echo $print; - ob_flush(); - flush(); // can take a long time - show the running query - } - $start = microtime(true); - //! don't allow changing of character_set_results, convert encoding of displayed query - if ($connection->multi_query($q) && is_object($connection2) && preg_match("~^$space*USE\\b~isU", $q)) { - $connection2->query($q); - } + echo "<p class='error'>" . lang('ATTACH queries are not supported.') . "\n"; + $errors[] = " <a href='#sql-$commands'>$commands</a>"; + if ($_POST["error_stops"]) { + break; + } + } else { + if (!$_POST["only_errors"]) { + echo $print; + ob_flush(); + flush(); // can take a long time - show the running query + } + $start = microtime(true); + //! don't allow changing of character_set_results, convert encoding of displayed query + if ($connection->multi_query($q) && is_object($connection2) && preg_match("~^$space*USE\\b~isU", $q)) { + $connection2->query($q); + } - do { - $result = $connection->store_result(); - $time = " <span class='time'>(" . format_time($start) . ")</span>" - . (strlen($q) < 1000 ? " <a href='" . h(ME) . "sql=" . urlencode(trim($q)) . "'>" . lang('Edit') . "</a>" : "") // 1000 - maximum length of encoded URL in IE is 2083 characters - ; - - if ($connection->error) { - echo ($_POST["only_errors"] ? $print : ""); - echo "<p class='error'>" . lang('Error in query') . ($connection->errno ? " ($connection->errno)" : "") . ": " . error() . "\n"; - $errors[] = " <a href='#sql-$commands'>$commands</a>"; - if ($_POST["error_stops"]) { - break 2; - } + do { + $result = $connection->store_result(); + $time = " <span class='time'>(" . format_time($start) . ")</span>" + . (strlen($q) < 1000 ? " <a href='" . h(ME) . "sql=" . urlencode(trim($q)) . "'>" . lang('Edit') . "</a>" : "") // 1000 - maximum length of encoded URL in IE is 2083 characters + ; + + if ($connection->error) { + echo ($_POST["only_errors"] ? $print : ""); + echo "<p class='error'>" . lang('Error in query') . ($connection->errno ? " ($connection->errno)" : "") . ": " . error() . "\n"; + $errors[] = " <a href='#sql-$commands'>$commands</a>"; + if ($_POST["error_stops"]) { + break 2; + } - } elseif (is_object($result)) { - $limit = $_POST["limit"]; - $orgtables = select($result, $connection2, array(), $limit); - if (!$_POST["only_errors"]) { - echo "<form action='' method='post'>\n"; - $num_rows = $result->num_rows; - echo "<p>" . ($num_rows ? ($limit && $num_rows > $limit ? lang('%d / ', $limit) : "") . lang('%d row(s)', $num_rows) : ""); - echo $time; - $id = "export-$commands"; - $export = ", <a href='#$id' onclick=\"return !toggle('$id');\">" . lang('Export') . "</a><span id='$id' class='hidden'>: " - . html_select("output", $adminer->dumpOutput(), $adminer_export["output"]) . " " - . html_select("format", $dump_format, $adminer_export["format"]) - . "<input type='hidden' name='query' value='" . h($q) . "'>" - . " <input type='submit' name='export' value='" . lang('Export') . "'><input type='hidden' name='token' value='$token'></span>\n" - ; - if ($connection2 && preg_match("~^($space|\\()*SELECT\\b~isU", $q) && ($explain = explain($connection2, $q))) { - $id = "explain-$commands"; - echo ", <a href='#$id' onclick=\"return !toggle('$id');\">EXPLAIN</a>$export"; - echo "<div id='$id' class='hidden'>\n"; - select($explain, $connection2, $orgtables); - echo "</div>\n"; - } else { - echo $export; + } elseif (is_object($result)) { + $limit = $_POST["limit"]; + $orgtables = select($result, $connection2, array(), $limit); + if (!$_POST["only_errors"]) { + echo "<form action='' method='post'>\n"; + $num_rows = $result->num_rows; + echo "<p>" . ($num_rows ? ($limit && $num_rows > $limit ? lang('%d / ', $limit) : "") . lang('%d row(s)', $num_rows) : ""); + echo $time; + $id = "export-$commands"; + $export = ", <a href='#$id' onclick=\"return !toggle('$id');\">" . lang('Export') . "</a><span id='$id' class='hidden'>: " + . html_select("output", $adminer->dumpOutput(), $adminer_export["output"]) . " " + . html_select("format", $dump_format, $adminer_export["format"]) + . "<input type='hidden' name='query' value='" . h($q) . "'>" + . " <input type='submit' name='export' value='" . lang('Export') . "'><input type='hidden' name='token' value='$token'></span>\n" + ; + if ($connection2 && preg_match("~^($space|\\()*SELECT\\b~isU", $q) && ($explain = explain($connection2, $q))) { + $id = "explain-$commands"; + echo ", <a href='#$id' onclick=\"return !toggle('$id');\">EXPLAIN</a>$export"; + echo "<div id='$id' class='hidden'>\n"; + select($explain, $connection2, $orgtables); + echo "</div>\n"; + } else { + echo $export; + } + echo "</form>\n"; } - echo "</form>\n"; - } - } else { - if (preg_match("~^$space*(CREATE|DROP|ALTER)$space+(DATABASE|SCHEMA)\\b~isU", $q)) { - restart_session(); - set_session("dbs", null); // clear cache - stop_session(); - } - if (!$_POST["only_errors"]) { - echo "<p class='message' title='" . h($connection->info) . "'>" . lang('Query executed OK, %d row(s) affected.', $connection->affected_rows) . "$time\n"; + } else { + if (preg_match("~^$space*(CREATE|DROP|ALTER)$space+(DATABASE|SCHEMA)\\b~isU", $q)) { + restart_session(); + set_session("dbs", null); // clear cache + stop_session(); + } + if (!$_POST["only_errors"]) { + echo "<p class='message' title='" . h($connection->info) . "'>" . lang('Query executed OK, %d row(s) affected.', $connection->affected_rows) . "$time\n"; + } } - } - $start = microtime(true); - } while ($connection->next_result()); + $start = microtime(true); + } while ($connection->next_result()); + } - $line += substr_count($q.$found, "\n"); $query = substr($query, $offset); $offset = 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/changes.txt new/adminer-v4.2.4/changes.txt --- old/adminer-v4.2.3/changes.txt 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/changes.txt 2016-02-09 23:05:14.000000000 +0100 @@ -1,3 +1,9 @@ +Adminer 4.2.4 (released 2016-02-06): +Fix remote execution in SQLite query +MySQL: Support PHP 7 +Bosnian translation +Finnish translation + Adminer 4.2.3 (released 2015-11-15): Fix XSS in indexes (non-MySQL only) Support PHP 7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-v4.2.3/designs/pappu687/adminer.css new/adminer-v4.2.4/designs/pappu687/adminer.css --- old/adminer-v4.2.3/designs/pappu687/adminer.css 2015-11-16 06:12:44.000000000 +0100 +++ new/adminer-v4.2.4/designs/pappu687/adminer.css 2016-02-09 23:05:14.000000000 +0100 @@ -5,7 +5,7 @@ https://raw.github.com/vrana/adminer/master/designs/ng9/adminer.css */ -@import url(http://fonts.googleapis.com/css?family=Roboto:400,600); +@import url(https://fonts.googleapis.com/css?family=Roboto:400,600); * {
