]> git.joonet.de Git - adminer.git/commitdiff
Hide window.opener from pages opened in a new window (bug #561)
authorJakub Vrana <jakub@vrana.cz>
Tue, 23 Jan 2018 11:53:22 +0000 (12:53 +0100)
committerJakub Vrana <jakub@vrana.cz>
Tue, 23 Jan 2018 11:53:22 +0000 (12:53 +0100)
22 files changed:
adminer/include/adminer.inc.php
adminer/include/auth.inc.php
adminer/include/editing.inc.php
adminer/include/functions.inc.php
adminer/lang/bg.inc.php
adminer/lang/cs.inc.php
adminer/lang/da.inc.php
adminer/lang/de.inc.php
adminer/lang/el.inc.php
adminer/lang/fa.inc.php
adminer/lang/fi.inc.php
adminer/lang/fr.inc.php
adminer/lang/gl.inc.php
adminer/lang/he.inc.php
adminer/lang/no.inc.php
adminer/lang/pl.inc.php
adminer/lang/ru.inc.php
adminer/lang/vi.inc.php
adminer/lang/xx.inc.php
adminer/static/editing.js
changes.txt
editor/include/adminer.inc.php

index 7029e2cdb418c063b0581fe0ec59a02e272096bd..89ad937ac2eac564fa3c39adfc3f1eb85905143b 100644 (file)
@@ -9,7 +9,7 @@ class Adminer {
        * @return string HTML code
        */
        function name() {
-               return "<a href='https://www.adminer.org/' target='_blank' id='h1'>Adminer</a>";
+               return "<a href='https://www.adminer.org/'" . target_blank() . " id='h1'>Adminer</a>";
        }
 
        /** Connection parameters
@@ -126,7 +126,7 @@ class Adminer {
        function login($login, $password) {
                global $jush;
                if ($jush == "sqlite") {
-                       return lang('<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.', '<code>login()</code>');
+                       return lang('<a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to use SQLite.', target_blank(), '<code>login()</code>');
                }
                return true;
        }
@@ -889,7 +889,7 @@ class Adminer {
                ?>
 <h1>
 <?php echo $this->name(); ?> <span class="version"><?php echo $VERSION; ?></span>
-<a href="https://www.adminer.org/#download" target="_blank" id="version"><?php echo (version_compare($VERSION, $_COOKIE["adminer_version"]) < 0 ? h($_COOKIE["adminer_version"]) : ""); ?></a>
+<a href="https://www.adminer.org/#download"<?php echo target_blank(); ?> id="version"><?php echo (version_compare($VERSION, $_COOKIE["adminer_version"]) < 0 ? h($_COOKIE["adminer_version"]) : ""); ?></a>
 </h1>
 <?php
                if ($missing == "auth") {
index a9d6e9fde02cd28623068a0eba27f0a3767afa99..22ff2403a53e563db146a22e1b393fca36370a1d 100644 (file)
@@ -134,7 +134,7 @@ function auth_error($error) {
                        $password = get_password();
                        if ($password !== null) {
                                if ($password === false) {
-                                       $error .= '<br>' . lang('Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.', '<code>permanentLogin()</code>');
+                                       $error .= '<br>' . lang('Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.', target_blank(), '<code>permanentLogin()</code>');
                                }
                                set_password(DRIVER, SERVER, $_GET["username"], null);
                        }
index e525a540cf4fc1550fea948fc29b9d56e6ac8bc3..94197287e824a64290e59db019ff42c10e39ee03 100644 (file)
@@ -498,7 +498,7 @@ function doc_link($paths) {
                'mssql' => "https://msdn.microsoft.com/library/",
                'oracle' => "https://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",
        );
-       return ($paths[$jush] ? "<a href='$urls[$jush]$paths[$jush]' target='_blank' rel='noreferrer'><sup>?</sup></a>" : "");
+       return ($paths[$jush] ? "<a href='$urls[$jush]$paths[$jush]'" . target_blank() . "><sup>?</sup></a>" : "");
 }
 
 /** Wrap gzencode() for usage in ob_start()
index e0ded6ba6b146b758d68faaae75e7a2d5011a17a..1d3ecf7569662b4808a645985c4131ba0d0b7005 100644 (file)
@@ -105,6 +105,13 @@ function nonce() {
        return ' nonce="' . get_nonce() . '"';
 }
 
+/** Get a target="_blank" attribute
+* @return string
+*/
+function target_blank() {
+       return ' target="_blank" rel="noopener"';
+}
+
 /** Escape for HTML
 * @param string
 * @return string
index d46651ca8ca43b8ac87fd18d2869b52e1bb06f44..5fcbb1913b2c873762d881f5c9017b2ec1ad647d 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        'Logout successful.' => 'Излизането е успешно.',
        'Invalid credentials.' => 'Невалидни потребителски данни.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Прекалено много неуспешни опити за вход, опитайте пак след %d минута.', 'Прекалено много неуспешни опити за вход, опитайте пак след %d минути.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Главната парола вече е невалидна. <a href="https://www.adminer.org/en/extension/" target="_blank">Изберете</a> %s метод, за да я направите постоянна.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Главната парола вече е невалидна. <a href="https://www.adminer.org/en/extension/"%s>Изберете</a> %s метод, за да я направите постоянна.',
        'Language' => 'Език',
        'Invalid CSRF token. Send the form again.' => 'Невалиден шифроващ ключ. Попълнете и изпратете формуляра отново.',
        'If you did not send this request from Adminer then close this page.' => 'Ако не сте изпратили тази заявка през Adminer, затворете тази страница.',
index 7944df8dbb80d0c08e7492a3f225579333818b91..54d999d0c0336d015d2e73a9500bb792135c804f 100644 (file)
@@ -12,9 +12,9 @@ $translations = array(
        'Logout successful.' => 'Odhlášení proběhlo v pořádku.',
        'Thanks for using Adminer, consider <a href="%s">donating</a>.' => 'Díky za použití Admineru, zvažte <a href="%s">příspěvek</a>.',
        'Invalid credentials.' => 'Neplatné přihlašovací údaje.',
-       '<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.' => 'Pro přihlášení k SQLite <a href="https://www.adminer.org/cs/extension/" target="_blank">implementujte</a> metodu %s.',
+       '<a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to use SQLite.' => 'Pro přihlášení k SQLite <a href="https://www.adminer.org/cs/extension/"%s>implementujte</a> metodu %s.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Příliš mnoho pokusů o přihlášení, zkuste to znovu za %d minutu.', 'Příliš mnoho pokusů o přihlášení, zkuste to znovu za %d minuty.', 'Příliš mnoho pokusů o přihlášení, zkuste to znovu za %d minut.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Platnost hlavního hesla vypršela. <a href="https://www.adminer.org/cs/extension/" target="_blank">Implementujte</a> metodu %s, aby platilo stále.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Platnost hlavního hesla vypršela. <a href="https://www.adminer.org/cs/extension/"%s>Implementujte</a> metodu %s, aby platilo stále.',
        'Language' => 'Jazyk',
        'Invalid CSRF token. Send the form again.' => 'Neplatný token CSRF. Odešlete formulář znovu.',
        'If you did not send this request from Adminer then close this page.' => 'Pokud jste tento požadavek neposlali z Adminera, tak tuto stránku zavřete.',
index bf13d4c3588d19af5b7de971784db680011e1632..6700b29c191efd9a17e20c1b9376f7b466cc6628 100644 (file)
@@ -10,7 +10,7 @@ $translations = array(
        'Logged as: %s' => 'Logget ind som: %s',
        'Logout successful.' => 'Log af vellykket.',
        'Invalid credentials.' => 'Ugyldige log ind oplysninger.',
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Master-kodeordet er udløbet. <a href="https://www.adminer.org/en/extension/" target="_blank">Implementer</a> en metode for %s for at gøre det permanent.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Master-kodeordet er udløbet. <a href="https://www.adminer.org/en/extension/"%s>Implementer</a> en metode for %s for at gøre det permanent.',
        'Language' => 'Sprog',
        'Invalid CSRF token. Send the form again.' => 'Ugyldigt CSRF-token - Genindsend formen.',
        'No extension' => 'Ingen udvidelse',
index f838248444a08fafc5315e0af6dab20a136f54a7..2cf80dcd8a6f51ed37cce13c05171b3793d211cc 100644 (file)
@@ -283,6 +283,6 @@ $translations = array(
        'Saving' => 'Speichere',
        'yes' => 'ja',
        'no' => 'nein',
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Das Master-Passwort ist abgelaufen. <a href="https://www.adminer.org/de/extension/" target="_blank">Implementieren</a> Sie die %s Methode, um es permanent zu machen.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Das Master-Passwort ist abgelaufen. <a href="https://www.adminer.org/de/extension/"%s>Implementieren</a> Sie die %s Methode, um es permanent zu machen.',
        '%d / ' => '%d / ',
 );
index 181a03c941241ba9481896ac7e0069d038a2c358..6c2030487c31f3805e8a606ec8450de774481e3b 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        'Logout successful.' => 'Αποσυνδεθήκατε με επιτυχία.',
        'Invalid credentials.' => 'Εσφαλμένα Διαπιστευτήρια.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Επανηλημμένες ανεπιτυχείς προσπάθειες σύνδεσης, δοκιμάστε ξανά σε %s λεπτό.', 'Επανηλημμένες ανεπιτυχείς προσπάθειες σύνδεσης, δοκιμάστε ξανά σε %s λεπτά.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Έλειξε ο Κύριος Κωδικός. <a href="https://www.adminer.org/en/extension/" target="_blank">Ενεργοποιήστε</a> τη μέθοδο %s για να τον κάνετε μόνιμο.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Έλειξε ο Κύριος Κωδικός. <a href="https://www.adminer.org/en/extension/"%s>Ενεργοποιήστε</a> τη μέθοδο %s για να τον κάνετε μόνιμο.',
        'Language' => 'Γλώσσα',
        'Invalid CSRF token. Send the form again.' => 'Άκυρο κουπόνι CSRF. Στείλτε τη φόρμα ξανά.',
        'If you did not send this request from Adminer then close this page.' => 'Αν δε στείλατε αυτό το αίτημα από το Adminer, τότε κλείστε αυτή τη σελίδα.',
index 3f48b11128a5d8b8fe08dc190f275382d6bfb2d2..51238d60fa1cd9dbf288ea7c3296d3eb240dc716 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        'Logout successful.' => 'با موفقیت خارج شدید.',
        'Invalid credentials.' => 'اعتبار سنجی نامعتبر.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('ورودهای ناموفق بیش از حد، %d دقیقه دیگر تلاش نمایید.', 'ورودهای ناموفق بیش از حد، %d دقیقه دیگر تلاش نمایید.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'رمز اصلی باطل شده است. روش %s را <a href="https://www.adminer.org/en/extension/" target="_blank">پیاده سازی</a> کرده تا آن را دائمی سازید.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'رمز اصلی باطل شده است. روش %s را <a href="https://www.adminer.org/en/extension/"%s>پیاده سازی</a> کرده تا آن را دائمی سازید.',
        'Language' => 'زبان',
        'Invalid CSRF token. Send the form again.' => 'CSRF token نامعتبر است. دوباره سعی کنید.',
        'No extension' => 'پسوند نامعتبر',
index d2be47d79a1d76668fc50cff4109c28d771d1c82..f0fe450c6d3395bbf67e79067f943eb858ac5735 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        '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.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Master-salasana ei ole enää voimassa. <a href="https://www.adminer.org/en/extension/"%s>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.',
index c4b5135a99ff5905726c1b2a8563dda81742d3d3..4aca37762640d0c5fb5f83c478b5a9037346286a 100644 (file)
@@ -274,7 +274,7 @@ $translations = array(
        'File must be in UTF-8 encoding.' => 'Les fichiers doivent être encodés en UTF-8.',
        'Full table scan' => 'Scan de toute la table',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Trop de connexions échouées, essayez à nouveau dans %d minute.', 'Trop de connexions échouées, essayez à nouveau dans %d minutes.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Le mot de passe a expiré. <a href="https://www.adminer.org/en/extension/" target="_blank">Implémentez</a> la méthode %s afin de le rendre permanent.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Le mot de passe a expiré. <a href="https://www.adminer.org/en/extension/"%s>Implémentez</a> la méthode %s afin de le rendre permanent.',
        'You can upload a big SQL file via FTP and import it from server.' => 'Vous pouvez uploader un gros fichier SQL par FTP et ensuite l\'importer depuis le serveur.',
        'Size' => 'Taille',
        'Compute' => 'Calcul',
index ca1a431336be103e0cc7a8c14cc4f5bae5aa126d..6ac0850bc4b2833d9f0ed9bb699ea198d9f68b7a 100644 (file)
@@ -278,7 +278,7 @@ $translations = array(
        'Default value' => 'Valor por defecto',
        'Full table scan' => 'Escaneo completo da táboa',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Demasiados intentos de conexión, intentao de novo en %d minuto', 'Demasiados intentos de conexión, intentao de novo en %d minutos'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'O contrasinal principal caducou. <a href="https://www.adminer.org/en/extension/" target="_blank">Implementa</a> o método %s para facelo permanente.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'O contrasinal principal caducou. <a href="https://www.adminer.org/en/extension/"%s>Implementa</a> o método %s para facelo permanente.',
        'If you did not send this request from Adminer then close this page.' => 'Se non enviaches esta petición dende o Adminer entón pecha esta páxina',
        'You can upload a big SQL file via FTP and import it from server.' => 'Podes subir un ficheiro SQL de gran tamaño vía FTP e importalo dende o servidor',
        'Size' => 'Tamaño',
index 8356a12a7b59329cc218eacfd9189c0a1bfec02e..f750db4bb2aaa534421f0770a5f9f267bc99339b 100644 (file)
@@ -276,12 +276,12 @@ $translations = array(
        'ATTACH queries are not supported.' => 'שאילתת ATTACH אינה נתמכת',
        '%d / ' => '%d / ',
        'Limit rows' => 'הגבל שורות',
-       '<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.' => '<a href="https://www.adminer.org/en/extension/" target="_blank">התקן</a> את תוסף SQLite בשביל להתחבר',
+       '<a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to use SQLite.' => '<a href="https://www.adminer.org/en/extension/"%s>התקן</a> את תוסף SQLite בשביל להתחבר',
        'Default value' => 'ערך ברירת מחדל',
        'Full table scan' => 'סריקה טבלה מלאה',
        'Too many unsuccessful logins, try again in %d minute(s).' => 'יותר מידי נסיונות כניסה נכשלו, אנא נסה עוד %d דקות',
        'Thanks for using Adminer, consider <a href="%s">donating</a>.' => 'תודה שהשתמש ב-adminer אנא שקול <a href="%s">לתרום</a>.',
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'סיסמת המאסטר פגה <a href="https://www.adminer.org/en/extension/" target="_blank">התקן תוסף</a> על מנת להפוך את זה לתמידי',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'סיסמת המאסטר פגה <a href="https://www.adminer.org/en/extension/"%s>התקן תוסף</a> על מנת להפוך את זה לתמידי',
        'If you did not send this request from Adminer then close this page.' => 'אם לא אתה שלחת בקשה ל-Adminer הינך יכול לסגור חלון זה',
        'You can upload a big SQL file via FTP and import it from server.' => 'ניתן לעלות קבצים ב-FTP ואז למשוך אותם מהשרת',
        'Size' => 'גודל',
index 1368e4a38b44be20f5283fb4ce46bbce113ae1e6..651057b189c036a1bb81df8259e4becff8d33a89 100644 (file)
@@ -10,7 +10,7 @@ $translations = array(
        'Logged as: %s' => 'Logget inn som: %s',
        'Logout successful.' => 'Utlogging vellykket.',
        'Invalid credentials.' => 'Ugylding innloggingsinformasjon.',
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Master-passord er utløpt. <a href="https://www.adminer.org/en/extension/" target="_blank">Implementer</a> en metode for %s for å gjøre det permanent.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Master-passord er utløpt. <a href="https://www.adminer.org/en/extension/"%s>Implementer</a> en metode for %s for å gjøre det permanent.',
        'Language' => 'Språk',
        'Invalid CSRF token. Send the form again.' => 'Ugylding CSRF-token - Send inn skjemaet igjen.',
        'No extension' => 'Ingen utvidelse',
index ecb4e1a710ef452d41c29c969138bb915f0e11b9..25e383a1d4757a8397afdb6cb58fdb458c1bd145 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        'Logout successful.' => 'Wylogowano pomyślnie.',
        'Invalid credentials.' => 'Nieprawidłowe dane logowania.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Za dużo nieudanych prób logowania, spróbuj ponownie za %d minutę.', 'Za dużo nieudanych prób logowania, spróbuj ponownie za %d minuty.', 'Za dużo nieudanych prób logowania, spróbuj ponownie za %d minut.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Ważność hasła głównego wygasła. <a href="https://www.adminer.org/pl/extension/" target="_blank">Zaimplementuj</a> własną metodę %s, aby ustawić je na stałe.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Ważność hasła głównego wygasła. <a href="https://www.adminer.org/pl/extension/"%s>Zaimplementuj</a> własną metodę %s, aby ustawić je na stałe.',
        'Language' => 'Język',
        'Invalid CSRF token. Send the form again.' => 'Nieprawidłowy token CSRF. Spróbuj wysłać formularz ponownie.',
        'If you did not send this request from Adminer then close this page.' => 'Jeżeli nie wywołałeś tej strony z Adminera, zamknij to okno.',
index 4d7309c40bd4f462bec9c25d89474ada032d88fe..066853828ae7fd063e67d783634639be11bbf612 100644 (file)
@@ -276,11 +276,11 @@ $translations = array(
        'ATTACH queries are not supported.' => 'ATTACH-запросы не поддерживаются.',
        '%d / ' => '%d / ',
        'Limit rows' => 'Лимит строк',
-       '<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.' => '<a href="https://www.adminer.org/en/extension/" target="_blank">Реализуйте</a> метод %s, чтобы использовать SQLite.',
+       '<a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to use SQLite.' => '<a href="https://www.adminer.org/en/extension/"%s>Реализуйте</a> метод %s, чтобы использовать SQLite.',
        'Default value' => 'Значение по умолчанию',
        'Full table scan' => 'Анализ полной таблицы',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Слишком много неудачных попыток входа. Попробуйте снова через %d минуту.', 'Слишком много неудачных попыток входа. Попробуйте снова через %d минуты.', 'Слишком много неудачных попыток входа. Попробуйте снова через %d минут.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Мастер-пароль истёк. <a href="https://www.adminer.org/en/extension/" target="_blank">Реализуйте</a> метод %s, чтобы сделать его постоянным.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Мастер-пароль истёк. <a href="https://www.adminer.org/en/extension/"%s>Реализуйте</a> метод %s, чтобы сделать его постоянным.',
        'If you did not send this request from Adminer then close this page.' => 'Если вы не посылали этот запрос из Adminer, закройте эту страницу.',
        'You can upload a big SQL file via FTP and import it from server.' => 'Вы можете закачать большой SQL-файл по FTP и затем импортировать его с сервера.',
        'Size' => 'Размер',
index 3038fe91b6c91a48688502b3a3786361ae322449..d6192e216ceff035b80f37b892787203764f55e4 100644 (file)
@@ -12,7 +12,7 @@ $translations = array(
        'Logout successful.' => 'Đã thoát xong.',
        'Invalid credentials.' => 'Tài khoản sai.',
        'Too many unsuccessful logins, try again in %d minute(s).' => 'Bạn gõ sai tài khoản quá nhiều lần, hãy thử lại sau %d phút nữa.',
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Mật khẩu đã hết hạn. <a href="https://www.adminer.org/en/extension/" target="_blank">Thử cách làm</a> để giữ cố định.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Mật khẩu đã hết hạn. <a href="https://www.adminer.org/en/extension/"%s>Thử cách làm</a> để giữ cố định.',
        'Language' => 'Ngôn ngữ',
        'Invalid CSRF token. Send the form again.' => 'Mã kiểm tra CSRF sai, hãy nhập lại biểu mẫu.',
        'No extension' => 'Không có phần mở rộng',
index 932fc87941902eb304828a7f246784da159204da..71afb3ddbdf3c922802e05ba1808304b1bbcfaba 100644 (file)
@@ -12,9 +12,9 @@ $translations = array(
        'Logout successful.' => 'Xx.',
        'Thanks for using Adminer, consider <a href="%s">donating</a>.' => 'Xx.',
        'Invalid credentials.' => 'Xx.',
-       '<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.' => 'Xx.',
+       '<a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to use SQLite.' => 'Xx.',
        'Too many unsuccessful logins, try again in %d minute(s).' => array('Xx.', 'Xx.'),
-       'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Xx.',
+       'Master password expired. <a href="https://www.adminer.org/en/extension/"%s>Implement</a> %s method to make it permanent.' => 'Xx.',
        'Language' => 'Xx',
        'Invalid CSRF token. Send the form again.' => 'Xx.',
        'If you did not send this request from Adminer then close this page.' => 'Xx.',
index 85308ef77a8a070d4e1fa1c36a0eeda215605090..ab5f5f32f10f5ecee8da513b17cc764084cb5b4f 100644 (file)
@@ -5,7 +5,7 @@
 */
 function bodyLoad(version) {
        if (window.jush) {
-               jush.create_links = ' target="_blank" rel="noreferrer"';
+               jush.create_links = ' target="_blank" rel="noopener"';
                if (version) {
                        for (var key in jush.urls) {
                                var obj = jush.urls;
index fdbcf68c0210c636095677862810a51d09db9405..a567972b2605f3c05a6d284d840c378f5cee57b2 100644 (file)
@@ -1,6 +1,7 @@
 Adminer 4.4.1-dev:
 Display newlines in column comments (bug #573)
 Support current_timestamp() as default of time fields (bug #572)
+Hide window.opener from pages opened in a new window (bug #561)
 Adminer: Fix Search data in tables (regression from 4.4.0)
 CSP: Allow any styles, images, media and fonts, disallow base-uri
 MySQL: Support geometry in MySQL 8 (bug #574)
index 12442f976b88c6a507b5ea96ebaf1af9b9b677a5..519615952f663466f2cc754b1daff8e77e7ef15a 100644 (file)
@@ -4,7 +4,7 @@ class Adminer {
        var $_values = array();
 
        function name() {
-               return "<a href='https://www.adminer.org/editor/' target='_blank' id='h1'>" . lang('Editor') . "</a>";
+               return "<a href='https://www.adminer.org/editor/'" . target_blank() . " id='h1'>" . lang('Editor') . "</a>";
        }
 
        //! driver, ns
@@ -570,7 +570,7 @@ qsl('div').onclick = whisperClick;", "")
                ?>
 <h1>
 <?php echo $this->name(); ?> <span class="version"><?php echo $VERSION; ?></span>
-<a href="https://www.adminer.org/editor/#download" target="_blank" id="version"><?php echo (version_compare($VERSION, $_COOKIE["adminer_version"]) < 0 ? h($_COOKIE["adminer_version"]) : ""); ?></a>
+<a href="https://www.adminer.org/editor/#download"<?php echo target_blank(); ?> id="version"><?php echo (version_compare($VERSION, $_COOKIE["adminer_version"]) < 0 ? h($_COOKIE["adminer_version"]) : ""); ?></a>
 </h1>
 <?php
                if ($missing == "auth") {