diff options
author | benakamoorthi <benaka.moorthi@gmail.com> | 2012-09-02 15:14:40 +0400 |
---|---|---|
committer | benakamoorthi <benaka.moorthi@gmail.com> | 2012-09-02 15:14:40 +0400 |
commit | 8e7cc3c95530187f39dc9edbe45cf2a26aa435e8 (patch) | |
tree | 1874dd52df5c7974b36e64fd6a7a22b875f09692 | |
parent | aeaf2ab3471d24a5a074dd523ab30a12060991e8 (diff) |
Fixes #3334, redesigned the reset password functionality.
Notes:
* Resetting password is done through AJAX and the reset token does not need to be entered in a form.
* Moved password related utility functions in UsersManager_API to UsersManager as static functions.
* Added hidden _isPasswordHashed parameter to UsersManager::updateUser.
* Make sure superuser login is set in Access instance when setSuperUser(true) is used.
* Add ability to get rendered form data as array in QuickForm2 (moved existing logic in Piwik_View into new function).
git-svn-id: http://dev.piwik.org/svn/trunk@6900 59fd770c-687e-43c8-a1e3-f5a4ff64c105
65 files changed, 496 insertions, 807 deletions
diff --git a/core/Access.php b/core/Access.php index acf6980181..0205c408fd 100644 --- a/core/Access.php +++ b/core/Access.php @@ -189,6 +189,7 @@ class Piwik_Access { $this->isSuperUser = true; $this->idsitesByAccess['superuser'] = Piwik_SitesManager_API::getInstance()->getAllSitesId(); + $this->login = Piwik_Config::getInstance()->superuser['login']; return true; } diff --git a/core/QuickForm2.php b/core/QuickForm2.php index 71cf9ef4a8..7ca6446c43 100644 --- a/core/QuickForm2.php +++ b/core/QuickForm2.php @@ -108,4 +108,29 @@ abstract class Piwik_QuickForm2 extends HTML_QuickForm2 $value = $this->getValue(); return isset($value[$elementName]) ? $value[$elementName] : null; } + + /** + * Returns the rendered form as an array. + * + * @param bool $groupErrors Whether to group errors together or not. + * @return array + */ + public function getFormData( $groupErrors = true ) + { + static $registered = false; + if(!$registered) + { + HTML_QuickForm2_Renderer::register('smarty', 'HTML_QuickForm2_Renderer_Smarty'); + $registered = true; + } + + // Create the renderer object + $renderer = HTML_QuickForm2_Renderer::factory('smarty'); + $renderer->setOption('group_errors', $groupErrors); + + // build the HTML for the form + $this->render($renderer); + + return $renderer->toArray(); + } } diff --git a/core/View.php b/core/View.php index 2d74f7673a..3b06b03e5d 100644 --- a/core/View.php +++ b/core/View.php @@ -170,22 +170,8 @@ class Piwik_View implements Piwik_View_Interface { if($form instanceof Piwik_QuickForm2) { - static $registered = false; - if(!$registered) - { - HTML_QuickForm2_Renderer::register('smarty', 'HTML_QuickForm2_Renderer_Smarty'); - $registered = true; - } - - // Create the renderer object - $renderer = HTML_QuickForm2_Renderer::factory('smarty'); - $renderer->setOption('group_errors', true); - - // build the HTML for the form - $form->render($renderer); - // assign array with form data - $this->smarty->assign('form_data', $renderer->toArray()); + $this->smarty->assign('form_data', $form->getFormData()); $this->smarty->assign('element_list', $form->getElementList()); } } diff --git a/lang/am.php b/lang/am.php index dca7fd0249..15feb609c4 100644 --- a/lang/am.php +++ b/lang/am.php @@ -244,11 +244,7 @@ $translations = array( 'Login_LogIn' => 'ግባ', 'Login_Logout' => 'ውጣ', 'Login_LostYourPassword' => 'የይለፍ ቃል ጠፋብህ?', - 'Login_RemindPassword' => 'የይለፍ ቃል አስታውስ', - 'Login_PasswordReminder' => 'እባክህ የተጠቃሚ ስም ወይም የኢ-ሜይል አድራሻ አስገባ. አዲስ የይለፍ ቃል በኢ-ሜይል ይላካል።', 'Login_InvalidUsernameEmail' => 'የተሳሳት የተጠቃሚ ስም እና/ወይም ኢ-ሜይል አድራሻ', - 'Login_MailTopicPasswordRecovery' => 'የይለፍ ቃል ማግኛ', - 'Login_PasswordSent' => 'የይለፍ ቃል አሁን ተልኳል። ኢ-ሜይልዎን አሁን ይመልከቱ', 'Login_ContactAdmin' => 'ተገቢው ምክንያት: አስተናጋጅዎ የ ሜይል() ተግባርን አቦዝኖት ሊሆን ይችላል። <br />እባክዎ የፒዊክ መናጅዎን ያነጋግሩ', 'Provider_WidgetProviders' => 'አቅራቢዎች', 'Provider_ColumnProvider' => 'አቅራቢ', diff --git a/lang/ar.php b/lang/ar.php index b635988494..9d352301f3 100644 --- a/lang/ar.php +++ b/lang/ar.php @@ -677,17 +677,10 @@ $translations = array( 'Login_LogIn' => 'تسجيل الدخول', 'Login_Logout' => 'تسجيل الخروج', 'Login_LostYourPassword' => 'فقدت كلمة المرور؟', - 'Login_RemindPassword' => 'أرسل طلب تنضيد كلمة المرور', - 'Login_PasswordResetToken' => 'شفرة تنضيد كلمة المرور', - 'Login_PasswordReminder' => 'الرجاء إدخال اسم المستخدم أو عنوان البريد الإلكتروني. سيصلك رسالة بريد إلكتروني بمعلومات حول كيفية إعادة تنضيد كلمة مرورك.', 'Login_PasswordsDoNotMatch' => 'كلمتي المرور غير متطابقتين.', - 'Login_PasswordSuccessfullyChanged' => 'تم تغيير كلمة المرور بنجاح!', 'Login_InvalidUsernameEmail' => 'اسم المستخدم/البريد الإلكتروني غير صالح', 'Login_InvalidNonceOrHeadersOrReferer' => 'فشل نموذج الأمن. الرجاء إعادة تحديث النموذج وفحص ما إذا كانت الكوكيز مفعلة لديك. إذا كنت تستخدم ملقم بروكسي، يتوجب عليك %s ضبط Piwik ليقبل ترويسات البروكسي %s والتي ترسل ترويسة المضيف. أيضاً افحص ما إذا كان يتم إرسال ترويسة المرسل بشكل صحيح.', 'Login_InvalidOrExpiredToken' => 'الشفرة غير صالحة أو انتهت صلاحيتها', - 'Login_MailTopicPasswordRecovery' => 'استعادة كلمة المرور', - 'Login_MailPasswordRecoveryBody' => 'مرحباً %1$s، تم طلب إعادة تنضيد كلمة المرةر من %2$s. لإعادة تنضيد كلمة المرور: 1) اذهب إلى نموذج تنضيد كلمة المرور في %3$s 2) أدخل الشفرة التالية: %4$s 3)إملأ النموذج (بإدخال كلمة المرور الجديدة مرتين) ثم أرسلها. ملاحظة: ستنتهي صلاحية الشفرة خلال 24 ساعة.', - 'Login_PasswordSent' => 'تم إرسال معلومات إعادة تنضيد كلمة مرورك. راجع بريدك الإلكتروني.', 'Login_ContactAdmin' => 'الأسباب المحتملة: قد يكون مستضيف الموقع قد عطل خاصية mail().<br/> الرجاء الاتصال بمدير Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'باراميتر كلمة المرور كان يتوقع أن يكون MD5 hash لكلمة المرور.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'لا يمكن المصادقة على دخول المدير العام باستخدام آلية \'%s\'.', diff --git a/lang/be.php b/lang/be.php index c5c29f92aa..9c366b7b41 100644 --- a/lang/be.php +++ b/lang/be.php @@ -788,17 +788,10 @@ $translations = array( 'Login_LogIn' => 'Увайсці', 'Login_Logout' => 'Выйсці', 'Login_LostYourPassword' => 'Страцілі пароль?', - 'Login_RemindPassword' => 'Успомніць пароль', - 'Login_PasswordResetToken' => 'Токэн для скідка паролю', - 'Login_PasswordReminder' => 'Калі ласка, увядзіце свой лагін ці e-mail. Вы атрымаеце па электроннай пошце інфармацыю для аднаўлення пароля.', 'Login_PasswordsDoNotMatch' => 'Паролі не супадаюць.', - 'Login_PasswordSuccessfullyChanged' => 'Пароль паспяхова зменены!', 'Login_InvalidUsernameEmail' => 'Няслушнае імя карыстача і/ці e-mail', 'Login_InvalidNonceOrHeadersOrReferer' => 'Бяспека формы не атрымалася. Калі ласка, перазагрузіце форму і пераканаецеся, што вашы cookies ўключаны. Калі вы выкарыстоўваеце проксі-сервер, то неабходна %s наладзіць Piwik да прыняцця проксі загалоўкаў%s, якія перанакіроўваюць да загалоўкаў вузлоў. Акрамя таго, праверце, што ваш Referer загаловак перадаецца правільна.', 'Login_InvalidOrExpiredToken' => 'Токэн з\'яўляецца несапраўдным або мінуў.', - 'Login_MailTopicPasswordRecovery' => 'Аднаўленне пароля', - 'Login_MailPasswordRecoveryBody' => 'Прывітанне %1$s, быў атрыманы запыт скіда пароля ад %2$s. Каб скінуць пароль: 1) Перайдзіце да форме скіда пароля па: %3$s 2) Калі ласка, увядзіце наступны токэн: %4$s 3) Запоўніце форму (увядзіце ваш новы пароль двойчы) і адпраўце. Заўважце: гэты токэн заканчваецца праз 24 гадзіны.', - 'Login_PasswordSent' => 'Пароль ужо высланы, праверце сваю пошту.', 'Login_ContactAdmin' => 'Магчымы чыннік: функцыя mail() адключана. <br />Калі ласка, звяжыцеся з адміністратарам.', 'Login_ExceptionPasswordMD5HashExpected' => 'Параметр пароля апынуўся MD5-хэшаваным паролям.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Супер Карыстальнік не можа аўтарызавацца з дапамогай \'%s\' механізму.', diff --git a/lang/bg.php b/lang/bg.php index 09d7b15d63..584539eb86 100644 --- a/lang/bg.php +++ b/lang/bg.php @@ -901,17 +901,10 @@ $translations = array( 'Login_LogIn' => 'Вход', 'Login_Logout' => 'Изход', 'Login_LostYourPassword' => 'Забравена парола?', - 'Login_RemindPassword' => 'Изпрати', - 'Login_PasswordResetToken' => 'Паролата възстанови token', - 'Login_PasswordReminder' => 'Въведете Вашето потребителско име или имейл. Ние ще изпратим информация как да смените паролата си.', 'Login_PasswordsDoNotMatch' => 'Паролите не съвпадат.', - 'Login_PasswordSuccessfullyChanged' => 'Паролата успешно е сменена!', 'Login_InvalidUsernameEmail' => 'Грешно потребителско име и/или имейл адрес', 'Login_InvalidNonceOrHeadersOrReferer' => 'Сигурността на формата е нарушена. Моля презаредете формата и проверете отново дали бисквитките са включени. Ако използвате прокси сървър, трябва да %s конфигурирате Piwik да приема хеадъра%s на проксито, който препраща хост хеадъра. Също така проверете, дали вашият хеадър за прапращане(Referer header) е изпратен правилно.', 'Login_InvalidOrExpiredToken' => 'Token е грешен или изтекъл', - 'Login_MailTopicPasswordRecovery' => 'Възстановяване на парола', - 'Login_MailPasswordRecoveryBody' => 'Здравей %1$s,Искането за възстановяване на парола генерира формуляр, който трябва да попълните %2$s.За да възстановите паролата си:1) Отидете на Възстановяване на парола от тук: %3$s2) Въведете следния token: %4$s3) Попълнете формуляра (въведете паролата си) и изпратете.Забележка: този token ще изтече след 24 часа.', - 'Login_PasswordSent' => 'Информацията относно възстановяването на паролата в изпратена. Проверете електронната си поща.', 'Login_ContactAdmin' => 'Възможни причини: функцията mail() е липсваща или забранена на сървъра. <br />Свържете се с вашия Piwik администратор.', 'Login_ExceptionPasswordMD5HashExpected' => 'Параметърът на паролата се очаква да бъде MD5 хеш на парола.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Супер Потребителите не могат да бъдат удостоверени като се използва \'%s\' механизъм.', diff --git a/lang/ca.php b/lang/ca.php index d05018fe19..622dd8c9fd 100644 --- a/lang/ca.php +++ b/lang/ca.php @@ -448,16 +448,9 @@ $translations = array( 'Login_LogIn' => 'Inicia la sessió', 'Login_Logout' => 'Surt', 'Login_LostYourPassword' => 'Heu perdut la contrasenya?', - 'Login_RemindPassword' => 'Recorda la contrasenya', - 'Login_PasswordResetToken' => 'Codi de reinicialització de la contrasenya.', - 'Login_PasswordReminder' => 'Si us plau, inseriu el vostre nom d\'usuari o el vostre correu-e. Rebreu una contrasenya nova al vostre correu-e.', 'Login_PasswordsDoNotMatch' => 'Les contrasenyes no coincideixen', - 'Login_PasswordSuccessfullyChanged' => 'La contrasenya ha estat canviada amb èxit!', 'Login_InvalidUsernameEmail' => 'Aquest usuari i/o direcció de correu-e és invàlid.', 'Login_InvalidOrExpiredToken' => 'El codi és invàlid o ha caducat', - 'Login_MailTopicPasswordRecovery' => 'Recuperació de la contrasenya', - 'Login_MailPasswordRecoveryBody' => 'Hola %1$s, una petició de reinicialització de la contrasenya ha estat rebuda de %2$s. Per a reiniciar-la: 1)Aneu al formulari de reinicialització de contrasenyes a %3$s 2)Introduïu el següent codi: %4$s 3)Ompliu el formulari (introduint la nova contrasenya dos cops) i envieu-lo. Nota: el codi caduca en 24 hores.', - 'Login_PasswordSent' => 'La informació per a canviar la contrasenya s\'ha enviat. Reviseu el vostre correu-e', 'Login_ContactAdmin' => 'Possiblement sigui perquè el vostre proveïdor d\'allotjament ha desactivat la funció mail().<br />Contacteu amb l\'administrador del lloc.', 'Provider_WidgetProviders' => 'Proveïdors', 'Provider_ColumnProvider' => 'Proveïdor', diff --git a/lang/cs.php b/lang/cs.php index da1edbfba7..6522bdbbda 100644 --- a/lang/cs.php +++ b/lang/cs.php @@ -742,16 +742,9 @@ $translations = array( 'Login_LogIn' => 'Přihlásit', 'Login_Logout' => 'Odhlásit', 'Login_LostYourPassword' => 'Zapomněli jste vaše heslo?', - 'Login_RemindPassword' => 'Připomenout heslo', - 'Login_PasswordResetToken' => 'Token pro změnu hesla', - 'Login_PasswordReminder' => 'Prosím zadejte vaše uživatelské jméno, nebo e-mailovou adresu. Nové heslo dostanete e-mailem.', 'Login_PasswordsDoNotMatch' => 'Hesla si neodpovídají', - 'Login_PasswordSuccessfullyChanged' => 'Heslo bylo úspěšně změněno', 'Login_InvalidUsernameEmail' => 'Neplatné uživatelské jméno a/nebo e-mailová adresa', 'Login_InvalidOrExpiredToken' => 'Klíč je neplatný, nebo vypršel', - 'Login_MailTopicPasswordRecovery' => 'Záchrana hesla', - 'Login_MailPasswordRecoveryBody' => 'Ahoj %1$s,A požadavek na reset hesla byl obdržen z %2$s.Ke změně hesla:1) Jdi na formulář pro reset hesla na: %3$s2) Volžte následující klíč: %4$s3) Vyplňte formulář(zadejte vaše nové heslo dvakrát) a odešlete jej.Poznámka: tento klíč expiruje za 24 hodin.', - 'Login_PasswordSent' => 'Heslo bylo právě odesláno. Zkontrolujte si váš e-mail.', 'Login_ContactAdmin' => 'Možná příčina: Váš hosting zakázal funkci mail().. <br />Prosím kontaktujte vašeho administrátora Piwiku.', 'Login_ExceptionPasswordMD5HashExpected' => 'Parametr hesla je očekáván jako MD5 hash hesla', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => '\'Super uživatel\' nemůže být přihlášení pomocí mechanismu \'%s\'', diff --git a/lang/da.php b/lang/da.php index 58a0bbf148..f582f9f31d 100644 --- a/lang/da.php +++ b/lang/da.php @@ -900,31 +900,10 @@ $translations = array( 'Login_LogIn' => 'Log på', 'Login_Logout' => 'Log af', 'Login_LostYourPassword' => 'Glemt adgangskoden?', - 'Login_RemindPassword' => 'Send adgangskode nulstilling', - 'Login_PasswordResetToken' => 'Token til nulstilling af adgangskode', - 'Login_PasswordReminder' => 'Indtaste brugernavn eller e-mail-adresse. Du vil modtage en e-mail med oplysninger til at nulstille adgangskoden.', 'Login_PasswordsDoNotMatch' => 'Adgangskoder er ikke ens.', - 'Login_PasswordSuccessfullyChanged' => 'Adgangskode er ændret!', 'Login_InvalidUsernameEmail' => 'Fejl i brugernavn og/eller e-mailadresse.', 'Login_InvalidNonceOrHeadersOrReferer' => 'Formularsikkerhed fejlede. Genindlæs formularen og kontroller, at dine cookies er aktiveret. Hvis du bruger en proxyserver, skal du %s konfigurere Piwik til at acceptere proxyheaderen%s, der videresender hostheaderen. Kontroller også, at din Referer header er sendt korrekt', 'Login_InvalidOrExpiredToken' => 'Nøglen er forkert eller udløbet', - 'Login_MailTopicPasswordRecovery' => 'Genopret adgangskode', - 'Login_MailPasswordRecoveryBody' => 'Hej %1$s, - -Anmodning om nulstilling af adgangskode er modtaget fra %2$s. - -For at nulstille adgangskode: - -1) Gå til nulstil adgangskode formularen: -%3$s - -2) Indtast følgende nøgle: -%4$s - -3) Udfyld formularen (indtast ny adgangskode 2 gange) og send. - -Obs: nøglen udløber efter 24 timer.', - 'Login_PasswordSent' => 'Oplysninger til at nulstille din adgangskode er blevet sendt. Tjek din e-mail.', 'Login_ContactAdmin' => 'Mulig årsag: udbyderen har måske deaktiveret mail()-funktionen. <br />Kontakt Piwik administrator.', 'Login_ExceptionPasswordMD5HashExpected' => 'Adgangskode parameteren forventes at være en MD5 hash af adgangskoden.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Superbrugeren kan ikke bekræftes ved hjælp af \'%s\' metoden.', diff --git a/lang/de.php b/lang/de.php index 14a019c1e5..cdb69afaed 100644 --- a/lang/de.php +++ b/lang/de.php @@ -920,17 +920,10 @@ $translations = array( 'Login_LogIn' => 'Anmelden', 'Login_Logout' => 'Abmelden', 'Login_LostYourPassword' => 'Passwort vergessen?', - 'Login_RemindPassword' => 'Neues Passwort zusenden?', - 'Login_PasswordResetToken' => 'Token, um das Passwort zu ändern.', - 'Login_PasswordReminder' => 'Bitte geben Sie Ihren Benutzernamen oder Ihre E-Mail-Adresse ein, um weitere Informationen zum Zurücksetzen Ihres Passworts per E-Mail zu erhalten.', 'Login_PasswordsDoNotMatch' => 'Die Passwörter stimmen nicht überein.', - 'Login_PasswordSuccessfullyChanged' => 'Das Passwort wurde erfolgreich geändert.', 'Login_InvalidUsernameEmail' => 'Ungültiger Bernutzername und/oder E-Mail-Adresse', 'Login_InvalidNonceOrHeadersOrReferer' => 'Sicherheitschecks fehlgeschlagen. Bitte laden Sie das Formular erneut und prüfen Sie, ob Ihr Browser Cookies zulässt. Wenn Sie einen Proxy Server verwenden, müssen Sie %sPiwik so einrichten, dass es Proxy Header akzeptiert%s.', 'Login_InvalidOrExpiredToken' => 'Der Token ist ungültig oder dessen Gültigkeitsdauer ist bereits abgelaufen.', - 'Login_MailTopicPasswordRecovery' => 'Passwort wiederherstellen', - 'Login_MailPasswordRecoveryBody' => 'Hallo %1$s, von %2$s wurde eine Anfrage für das Zurücksetzen des Passwortes gestellt. <br/>Um das Passwort zu ändern: <br/>1) Gehen Sie zum Formular, um das Passwort neuzusetzen: %3$s <br/>2) Geben Sie den folgenden Token ein: %4$s <br/>3)Füllen Sie das Formular aus (das neue Passwort muss zweimal eingegeben werden) und speichern es ab. <br/><br/>Hinweis: Der Token wird nach 24 Stunden ungültig.', - 'Login_PasswordSent' => 'Die Informationen zum Zurücksetzen des Passwortes wurden versandt. Bitte überprüfen Sie Ihr Postfach auf neue E-Mails.', 'Login_ContactAdmin' => 'Möglicher Grund: Der Server könnte die mail()-Funktion deaktiviert haben.<br/>Bitte sprechen Sie mit Ihrem Piwik-Administrator.', 'Login_ExceptionPasswordMD5HashExpected' => 'Der \'password\'-Parameter wird als MD5-Hash des Passworts erwartet.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Ein Administrator kann nicht über den \'%s\' Mechanismus authentifiziert werden.', diff --git a/lang/el.php b/lang/el.php index 9e08b34ea3..543adcd8c8 100644 --- a/lang/el.php +++ b/lang/el.php @@ -907,17 +907,10 @@ $translations = array( 'Login_LogIn' => 'Σύνδεση', 'Login_Logout' => 'Αποσύνδεση', 'Login_LostYourPassword' => 'Ξεχάσατε τον κωδικό σας;', - 'Login_RemindPassword' => 'Υπενθύμιση κωδικού', - 'Login_PasswordResetToken' => 'Τεκμήριο επαναφοράς κωδικού', - 'Login_PasswordReminder' => 'Παρακαλώ συμπληρώστε το όνομα χρήστη και την ηλεκτρονική σας διεύθυνση. Θα λάβετε ένα μήνυμα που θα περιέχει ένα νέο κωδικό.', 'Login_PasswordsDoNotMatch' => 'Οι κωδικοί δεν ταιριάζουν.', - 'Login_PasswordSuccessfullyChanged' => 'Ο κωδικός άλλαξε με επιτυχία!', 'Login_InvalidUsernameEmail' => 'Λανθασμένο όνομα χρήστη ή/και λάθος ηλεκτρονική διεύθυνση', 'Login_InvalidNonceOrHeadersOrReferer' => 'Η ασφάλεια της Φόρμας απέτυχε. Επαναφορτώστε τη φόρμα και ελέγξτε ότι είναι ενεργοποιημένα τα cookies. Αν χρησιμοποιείτε διακομιστή proxy, πρέπει να %sρυθμίσετε το Piwik να δέχεται την κεφαλίδα proxy%s που προωθεί την κεφαλίδα του φιλοξενητή. Επίσης, ελέγξτε ότι η κεφαλίδα Αναφορέα στέλνεται σωστά.', 'Login_InvalidOrExpiredToken' => 'Το τεκμήριο είναι άκυρο ή έχει λήξει', - 'Login_MailTopicPasswordRecovery' => 'Ανάκτηση κωδικού', - 'Login_MailPasswordRecoveryBody' => 'Γεια %1$s, Ελήφθη αίτημα ανάκτησης κωδικού πρόσβασης από %2$s. Για να ανακτήσετε τον κωδικό πρόσβασής σας:1) Μεταβείτε στη Φόρμα Ανάκτησης Κωδικού Πρόσβασης στο: %3$s2) Εισάγετε το ακόλουθο τεκμήριο: %4$s 3) Συμπληρώστε τη φόρμα (εισάγοντας τον νέο κωδικό πρόσβασης δύο φορές) και υποβάλετε τη φόρμα. Σημείωση: αυτό το τεκμήριο θα εκπνεύσει σε 24 ώρες.', - 'Login_PasswordSent' => 'Ο κωδικός σας μόλις απεστάλη. Ελέγξτε την αλληλογραφία σας.', 'Login_ContactAdmin' => 'Πιθανή αιτία: ο διακομιστής έχει απενεργοποιημένη τη συνάρτηση mail() <br />Επικοινωνήστε με τον διαχειριστή.', 'Login_ExceptionPasswordMD5HashExpected' => 'Η παράμετρος του κωδικού πρόσβασης αναμενόταν να είναι ο αριθμός MD5 του κωδικού πρόσβασης.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Ο Υπερχρήστης δεν μπορεί να πιστοποιηθεί με χρήση του μηχανισμού «%s».', diff --git a/lang/en.php b/lang/en.php index 77c6b61107..98cc58002d 100644 --- a/lang/en.php +++ b/lang/en.php @@ -428,7 +428,7 @@ $translations = array( 'PrivacyManager_DeleteLogsOlderThan' => 'Delete logs older than', 'PrivacyManager_DeleteDataInterval' => 'Delete old data every', 'PrivacyManager_DeleteMaxRows' => 'Maximum number of rows to delete in one run:', - 'PrivacyManager_DeleteMaxRowsNoLimit' => 'no limit', + 'PrivacyManager_DeleteMaxRowsNoLimit' => 'no limit', 'PrivacyManager_LastDelete' => 'Last deletion was on', 'PrivacyManager_NextDelete' => 'Next scheduled deletion in', 'PrivacyManager_ClickHereSettings' => 'Click here to access the %s settings.', @@ -483,10 +483,10 @@ $translations = array( 'CoreHome_FlattenDataTable_js' => 'The report is hierarchical %s Make it flat', 'CoreHome_UnFlattenDataTable_js' => 'The report is flat %s Make it hierarchical', 'CoreHome_DateFormat' => '%longDay% %day% %longMonth% %longYear%', - 'CoreHome_ShortDateFormat' => '%shortDay% %day% %shortMonth%', - 'CoreHome_ShortDateFormatWithYear' => '%day% %shortMonth% %shortYear%', - 'CoreHome_ShortMonthFormat' => '%shortMonth% %longYear%', - 'CoreHome_LongMonthFormat' => '%longYear%, %longMonth%', + 'CoreHome_ShortDateFormat' => '%shortDay% %day% %shortMonth%', + 'CoreHome_ShortDateFormatWithYear' => '%day% %shortMonth% %shortYear%', + 'CoreHome_ShortMonthFormat' => '%shortMonth% %longYear%', + 'CoreHome_LongMonthFormat' => '%longYear%, %longMonth%', 'CoreHome_ShortWeekFormat' => '%dayFrom% %shortMonthFrom% - %dayTo% %shortMonthTo% %shortYearTo%', 'CoreHome_LongWeekFormat' => '%dayFrom% %longMonthFrom% - %dayTo% %longMonthTo% %longYearTo%', 'CoreHome_PeriodDay' => 'Day', @@ -934,34 +934,26 @@ $translations = array( 'Login_LogIn' => 'Sign in', 'Login_Logout' => 'Sign out', 'Login_LostYourPassword' => 'Lost your password?', - 'Login_RemindPassword' => 'Send password reset', - 'Login_PasswordResetToken' => 'Password reset token', - 'Login_PasswordReminder' => 'Please enter your username or e-mail address. You will receive an e-mail with information to reset your password.', 'Login_PasswordsDoNotMatch' => 'Passwords do not match.', - 'Login_PasswordSuccessfullyChanged' => 'Password successfully changed!', - 'Login_InvalidUsernameEmail' => 'Invalid username and/or e-mail address', + 'Login_InvalidUsernameEmail' => 'Invalid username or e-mail address.', 'Login_InvalidNonceOrHeadersOrReferer' => 'Form security failed. Please reload the form and check that your cookies are enabled. If you use a proxy server, you must %s configure Piwik to accept the proxy header%s that forwards the Host header. Also, check that your Referer header is sent correctly.', 'Login_InvalidOrExpiredToken' => 'Token is invalid or has expired.', - 'Login_MailTopicPasswordRecovery' => 'Password recovery', - 'Login_MailPasswordRecoveryBody' => 'Hi %1$s, + 'Login_MailTopicPasswordChange' => 'Confirm Password Change', + 'Login_MailPasswordChangeBody' => 'Hi %1$s, -A password reset request was received from %2$s. +A password reset request was received from %2$s. To confirm this password change so you can login with your new credentials, visit the following link: -To reset your password: +%3$s -1) Go to the Password Reset Form at: - %3$s +Note: this token will expire in 24 hours. -2) Enter the following token: - %4$s - -3) Fill out the form (entering your new password twice) and submit. - -Note: this token will expire in 24 hrs.', - 'Login_PasswordSent' => 'Information to reset your password has been sent. Check your e-mail.', +And thank you for using Piwik!', + 'Login_ConfirmationLinkSent' => 'A confirmation link has been sent to your inbox. Check your e-mail and visit this link to authorize your password change request.', + 'Login_PasswordChanged' => 'Your password has been changed.', 'Login_ContactAdmin' => 'Possible reason: your host may have disabled the mail() function. <br />Please contact your Piwik administrator.', 'Login_ExceptionPasswordMD5HashExpected' => 'The password parameter is expected to be a MD5 hash of the password.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'The Super User cannot be authenticated using the \'%s\' mechanism.', + 'Login_ResetPasswordInstructions' => 'Enter a new password for your account.', 'Mobile_Accounts' => 'Accounts', 'Mobile_AddAccount' => 'Add account', 'Mobile_AddPiwikDemo' => 'Add Piwik Demo', @@ -978,8 +970,8 @@ Note: this token will expire in 24 hrs.', 'Mobile_LoginUseHttps' => 'Use https', 'Mobile_PullDownToRefresh' => 'Pull down to refresh...', 'Mobile_RatingNotNow' => 'Not now', - 'Mobile_RatingNow' => "OK, I'll rate it now", - 'Mobile_RatingDontRemindMe' => "Don't remind me", + 'Mobile_RatingNow' => 'OK, I\'ll rate it now', + 'Mobile_RatingDontRemindMe' => 'Don\'t remind me', 'Mobile_RatingPleaseRateUs' => 'Piwik Mobile App is a Free Software, we would really appreciate if you took 1 minute to rate the app in the %s. If you have suggestions of new features or bug reports, please contact %s', 'Mobile_Refresh' => 'Refresh', 'Mobile_Reloading' => 'Reloading...', @@ -1367,7 +1359,7 @@ Note: this token will expire in 24 hrs.', 'UserCountry_country_sn' => 'Senegal', 'UserCountry_country_so' => 'Somalia', 'UserCountry_country_sr' => 'Suriname', - 'UserCountry_country_ss' => 'South Sudan', + 'UserCountry_country_ss' => 'South Sudan', 'UserCountry_country_st' => 'Sao Tome and Principe', 'UserCountry_country_su' => 'Old U.S.S.R', 'UserCountry_country_sx' => 'Sint Maarten (Dutch part)', @@ -1684,7 +1676,6 @@ Note: this token will expire in 24 hrs.', 'Transitions_FromWebsitesInline' => '%s from websites', 'Transitions_FromCampaigns' => 'From Campaigns', 'Transitions_FromCampaignsInline' => '%s from campaigns', - 'Transitions_DirectEntries' => 'Direct Entries', 'Transitions_ExitsInline' => '%s exits', 'Transitions_BouncesInline' => '%s bounces', ); diff --git a/lang/es.php b/lang/es.php index b5430060c8..7c09dafde7 100644 --- a/lang/es.php +++ b/lang/es.php @@ -808,17 +808,10 @@ $translations = array( 'Login_LogIn' => 'Conectar', 'Login_Logout' => 'Desconectar', 'Login_LostYourPassword' => '¿Olvidó la contraseña?', - 'Login_RemindPassword' => 'Recordar Contraseña', - 'Login_PasswordResetToken' => 'Indicio de restablecimiento de contraseña', - 'Login_PasswordReminder' => 'Por favor, introduzca su nombre de usuario o dirección de email. Recibirá una nueva contraseña por email', 'Login_PasswordsDoNotMatch' => 'Las contraseñas no coinciden.', - 'Login_PasswordSuccessfullyChanged' => '¡Contraseña cambiada correctamente!', 'Login_InvalidUsernameEmail' => 'Nombre de usuario y/o email incorrectos', 'Login_InvalidNonceOrHeadersOrReferer' => 'La seguridad del formulario ha fallado. Por favor actualice el formulario y compruebe que sus cookies están habilitadas. Si usa un proxy, debe %s configurar Piwik para aceptar la cabecera proxy%s que precede la cabecera Host. Compruebe también que su cabecera Referer se envía correctamente.', 'Login_InvalidOrExpiredToken' => 'El indicio no es válido o ha caducado', - 'Login_MailTopicPasswordRecovery' => 'Recuperar contraseña', - 'Login_MailPasswordRecoveryBody' => 'Hola %1$s, recibimos una petición de restablecimiento de contraseña desde %2$s. Para restablecer su contraseña: 1) Ir al formulario para restablecer una contraseña en: %3$s 2) Introduzca el token: %4$s 3) Complete el formulario (escribir la nueva contraseña dos veces) y envíelo. Nota: este token expirará en 24 horas.', - 'Login_PasswordSent' => 'La contraseña acaba de ser enviada. Comprueba tu email.', 'Login_ContactAdmin' => 'Posible razón: su hosting puede tener deshabilitado la función mail(). <br />Por favor contacte con su administrador de Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'Se espera que el parámetro contraseña sea un hash MD5 de la contraseña.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'El Super Usuario no puede ser autenticado usando el mecanismo\'%s\' .', diff --git a/lang/et.php b/lang/et.php index f8f9d0d29d..5cdbb84725 100644 --- a/lang/et.php +++ b/lang/et.php @@ -176,11 +176,7 @@ $translations = array( 'Login_LogIn' => 'Sisene', 'Login_Logout' => 'Välju', 'Login_LostYourPassword' => 'Kaotasid oma salasõna?', - 'Login_RemindPassword' => 'Meenuta salasõna', - 'Login_PasswordReminder' => 'Palun sisesta kasutaja või e-mail address. Sulle saadetakse salasõna e-mailiga.', 'Login_InvalidUsernameEmail' => 'Vale kasutajanimi ja/või e-maili address', - 'Login_MailTopicPasswordRecovery' => 'Salasõna taastamine', - 'Login_PasswordSent' => 'Salasõna saadetud. Kontrolli oma e-maili.', 'Login_ContactAdmin' => 'Võimalik põhjus: sinu majutusel on mail() funktsioon välja lülitatud. <br />Palun kontakteeru administraatoriga.', 'Provider_WidgetProviders' => 'Pakkujad', 'Provider_SubmenuLocationsProvider' => 'Asukoht & pakkuja', diff --git a/lang/eu.php b/lang/eu.php index 40ac79d661..ffbe871b0a 100644 --- a/lang/eu.php +++ b/lang/eu.php @@ -427,44 +427,9 @@ $translations = array( 'Login_LogIn' => 'Hasi saioa', 'Login_Logout' => 'Amaitu saioa', 'Login_LostYourPassword' => 'Pasahitza galdu duzu?', - 'Login_RemindPassword' => 'Bidali pasahitz berrezartzea', - 'Login_PasswordResetToken' => 'Pasahitza berrezartzeko tokena', - 'Login_PasswordReminder' => 'Idatzi zure erabiltzaile-izen edo e-posta. Mezu elektroniko bat jasoko duzu zure pasahitza berrezartzeko informazioarekin.', 'Login_PasswordsDoNotMatch' => 'Pasahitzak ez datoz bat.', - 'Login_PasswordSuccessfullyChanged' => 'Pasahitza ondo aldatu da!', 'Login_InvalidUsernameEmail' => 'Erabiltzaile-izen edo helbide elektroniko baliogabea', 'Login_InvalidOrExpiredToken' => 'Tokena baliogabea da edo iraungi egin da', - 'Login_MailTopicPasswordRecovery' => 'Pasahitza berreskuratzea', - 'Login_MailPasswordRecoveryBody' => 'Kaixo %1$s, - - - -Pasahitza berrezartzeko eskaria jaso da %2$s helbidetik. - - - -Zure pasahitza berrezartzeko: - - - -1) Zoaz pasahitza berrezartzeko inprimakira: - - %3$s - - - -2) Idatz ezazu ondorengo tokena: - - %4$s - - - -3) Bete eta bidal ezazu inprimakia (zure pasahitz berria birritan sartuz) inprimakia. - - - -Oharra: tokena 24 ordutan iraungiko da.', - 'Login_PasswordSent' => 'Zure pasahitza berrezartzeko informazioa bidali da. Begira ezazu zure posta elektronikoa.', 'Login_ContactAdmin' => 'Arrazoi posiblea: zure ostalariak mail() funtzioa ezgaituta izan dezake.<br />Jar zaitez harremanetan zure Piwik kudeatzailearekin.', 'Provider_WidgetProviders' => 'Hornitzaileak', 'Provider_ColumnProvider' => 'Hornitzailea', diff --git a/lang/fa.php b/lang/fa.php index b5eae7573b..8a388fa30c 100644 --- a/lang/fa.php +++ b/lang/fa.php @@ -746,16 +746,9 @@ $translations = array( 'Login_LogIn' => 'ورود', 'Login_Logout' => 'خروج', 'Login_LostYourPassword' => 'کلمه عبور خود را گم کرده اید؟', - 'Login_RemindPassword' => 'ارسال رمز بازیابی', - 'Login_PasswordResetToken' => 'رمز رمز تنظیم مجدد', - 'Login_PasswordReminder' => 'لطفا نام کاربری خود و یا آدرس ایمیل را وارد کنید. شما یک ایمیل با اطلاعات دریافت رمز عبور خود را تنظیم مجدد کنید.', 'Login_PasswordsDoNotMatch' => 'کلمه عبور مطابقت ندارد', - 'Login_PasswordSuccessfullyChanged' => 'رمز عبور با موفقیت تغییر!', 'Login_InvalidUsernameEmail' => 'نام کاربری نامعتبر و / یا آدرس پست الکترونیکی', 'Login_InvalidOrExpiredToken' => 'رمز نامعتبر است و یا تمام شده است.', - 'Login_MailTopicPasswordRecovery' => 'بازیابی رمز عبور', - 'Login_MailPasswordRecoveryBody' => 'Hi %1$s,A password reset request was received from %2$s.To reset your password:1) Go to the Password Reset Form at: %3$s2) Enter the following token: %4$s3) Fill out the form (entering your new password twice) and submit.Note: this token will expire in 24 hrs.', - 'Login_PasswordSent' => 'اطلاعات به تنظیم مجدد رمز عبور خود را فرستاده شده است. ایمیل خود را بررسی کنید.', 'Login_ContactAdmin' => 'دلیل احتمالی: میزبان شما ممکن است تابع () mail را غیر فعال نموده است. <br /> لطفا با مدیر Piwik خود تماس بگیرید.', 'Login_ExceptionPasswordMD5HashExpected' => 'پارامتر رمز عبور انتظار می رود به یک رشته هش MD5 از رمز عبور است.', 'Mobile_Accounts' => 'حسابها', diff --git a/lang/fi.php b/lang/fi.php index b35c75c880..3d8889c3fd 100644 --- a/lang/fi.php +++ b/lang/fi.php @@ -859,17 +859,10 @@ $translations = array( 'Login_LogIn' => 'Kirjaudu sisään', 'Login_Logout' => 'Kirjaudu ulos', 'Login_LostYourPassword' => 'Unohtuiko salasana?', - 'Login_RemindPassword' => 'Salasanamuistutus', - 'Login_PasswordResetToken' => 'Salasanan nollaus', - 'Login_PasswordReminder' => 'Kirjoita käyttäjätunnus tai sähköpostiosoite. Saat uuden salasanan sähköpostilla.', 'Login_PasswordsDoNotMatch' => 'Salasanat eivät täsmää.', - 'Login_PasswordSuccessfullyChanged' => 'Salasana vaihdettiin onnistuneesti!', 'Login_InvalidUsernameEmail' => 'Virheellinen käyttäjätunnus ja/tai sähköpostiosoite', 'Login_InvalidNonceOrHeadersOrReferer' => 'Lomakkeen turvatarkastus epäonnistui. Lataa lomake uudelleen, ja tarkista että evästeet on sallittu. Jos käytät välityspalvelinta, sinun täytyy %s säätää Piwik sallimaan välityspalvelimen otsake %s joka välittää Host-otsakkeen. Tarkista, että "Referer"-otsake lähetetään oikein.', 'Login_InvalidOrExpiredToken' => 'Virheellinen tai vanhentunut tunnistautuminen', - 'Login_MailTopicPasswordRecovery' => 'Salasanan palautus', - 'Login_MailPasswordRecoveryBody' => 'Hei %1$s, salasanan nollauspyyntö vastaanotettiin %2$s:ltä. Voit nollata salasanasi noudattamalla ohjeita: 1) Mene salasanan nollauslomakkeelle: %3$s 2) Avaimesi on %4$s 3) Täytä lomake ja lähetä. Huomioi: tämä avain vanhenee 24 tunnissa.', - 'Login_PasswordSent' => 'Salasana on lähetetty. Tarkista sähköpostisi.', 'Login_ContactAdmin' => 'Mahdollisia syitä: palvelin ei välttämättä salli sähköpostien lähetystä (mail()-funktiota).<br/>Ota yhteyttä Piwikin ylläpitäjään.', 'Login_ExceptionPasswordMD5HashExpected' => 'Salasanaparametrin kuuluu olla MD5-tiiviste salasanasta.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Ylläpitäjä ei voi autentikoitua menetelmällä \'%s\'.', diff --git a/lang/fr.php b/lang/fr.php index 5fbea6c193..95098d5cde 100644 --- a/lang/fr.php +++ b/lang/fr.php @@ -903,17 +903,10 @@ $translations = array( 'Login_LogIn' => 'Connexion', 'Login_Logout' => 'Déconnexion', 'Login_LostYourPassword' => 'Mot de passe perdu ?', - 'Login_RemindPassword' => 'Rappeler le mot de passe', - 'Login_PasswordResetToken' => 'Clef de remise à zéro du mot de passe', - 'Login_PasswordReminder' => 'Entrez un nom d\'utilisateur ou un courriel valide, vous recevrez votre nouveau mot de passe par courriel.', 'Login_PasswordsDoNotMatch' => 'Les mots de passe ne correspondent pas.', - 'Login_PasswordSuccessfullyChanged' => 'Mot de passe modifié avec succès!', 'Login_InvalidUsernameEmail' => 'Nom d\'utilisateur et/ou courriel invalide.', 'Login_InvalidNonceOrHeadersOrReferer' => 'La sécurité du formulaire a échoué. Veuillez recharger le formulaire et vérifier que vos cookies sont activés. Si vous utilisez un serveur proxy, vous devez %s configurer Piwik pour accepter les en-têtes du proxy %s qui relaient les en-têtes de l\'hôte. Vérifiez aussi que l\'en-tête de votre référant est correctement transmis.', 'Login_InvalidOrExpiredToken' => 'La clef est invalide ou a expiré', - 'Login_MailTopicPasswordRecovery' => 'Récupération du mot de passe', - 'Login_MailPasswordRecoveryBody' => 'Bonjour %1$s, Une requête de remise à zéro du mot de passe a été reçue depuis %2$s. Pour remettre à zéro le mot de passe: 1) Rendez vous au formulaire de remise à zéro du mot de passe à l\'adresse : %3$s 2) Entrez la clef suivante: %4$s 3) Remplissez le formulaire (en entrant deux fois votre nouveaux mot de passe) et soumettez le.Note: cette clef expirera dans 24h.', - 'Login_PasswordSent' => 'Le mot de passe vient juste d\'être envoyé. Veuillez vérifier vos courriels.', 'Login_ContactAdmin' => 'Raison possible : Votre hébergeur peut avoir désactivé la fonction mail(). <br /> Veuillez contacter votre administrateur Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'Le paramètre mot de passe doit être le hash MD5 du mot de passe.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Le Super Utilisateur ne peut pas être authentifié en utilisant le mécanisme \'%s\'.', diff --git a/lang/gl.php b/lang/gl.php index fd9c20ad64..7057795b50 100644 --- a/lang/gl.php +++ b/lang/gl.php @@ -237,11 +237,7 @@ $translations = array( 'Login_LogIn' => 'Conectar', 'Login_Logout' => 'Desconectar', 'Login_LostYourPassword' => 'Esqueceu o contrasinal?', - 'Login_RemindPassword' => 'Lembrar contrasinal', - 'Login_PasswordReminder' => 'Por favor, introduzca o seu nome de usuario ou enderezo de correo electrónico. Recibirá un novo contrasinal por correo electrónico', 'Login_InvalidUsernameEmail' => 'O nome do usuario ou o enderezo de correo electrónicoo son incorrectos', - 'Login_MailTopicPasswordRecovery' => 'Recuperar contrasinal', - 'Login_PasswordSent' => 'O contrasinal acaba de ser enviado. Comprobe o seu correo electrónico.', 'Login_ContactAdmin' => 'Posible razón: o seu aloxamento pode ter deshabilitado a función mail().<br>Por favor contacte co seu administrador de piwik.', 'Provider_WidgetProviders' => 'Provedores', 'Provider_SubmenuLocationsProvider' => 'Localizacións e provedor', diff --git a/lang/he.php b/lang/he.php index cef4fe3bd5..8aea983202 100644 --- a/lang/he.php +++ b/lang/he.php @@ -456,12 +456,8 @@ $translations = array( 'Login_LogIn' => 'התחברות', 'Login_Logout' => 'התנתקות', 'Login_LostYourPassword' => 'שכחת סיסמה?', - 'Login_RemindPassword' => 'שליחת איפוס סיסמה', - 'Login_PasswordResetToken' => 'כרטיס איפוס סיסמה', 'Login_PasswordsDoNotMatch' => 'הסיסמאות אינן תואמות.', - 'Login_PasswordSuccessfullyChanged' => 'סיסמה שונתה בהצלחה!', 'Login_InvalidUsernameEmail' => 'שם משתמש ו/או אימייל לא תקניים', - 'Login_MailTopicPasswordRecovery' => 'שחזור סיסמה', 'TranslationsAdmin_PluginDescription' => 'עזרו לתרגם את Piwik לשפה שלכם.', 'TranslationsAdmin_MenuTranslations' => 'תרגומים', 'TranslationsAdmin_MenuLanguages' => 'שפות', diff --git a/lang/hu.php b/lang/hu.php index 667f1c47eb..d117a56c16 100644 --- a/lang/hu.php +++ b/lang/hu.php @@ -681,16 +681,9 @@ $translations = array( 'Login_LogIn' => 'Bejelentkezés', 'Login_Logout' => 'Kijelentkezés', 'Login_LostYourPassword' => 'Elfelejtetted jelszavad?', - 'Login_RemindPassword' => 'Jelszó-visszaállítás kezdeményezése', - 'Login_PasswordResetToken' => 'Jelszó-visszaállító kód', - 'Login_PasswordReminder' => 'Kérjük, add meg a felhasználói neved vagy e-mail címed. A jelszó visszaállításához szükséges adatokat e-mailben küldjük el.', 'Login_PasswordsDoNotMatch' => 'Nem egyeznek a jelszavak', - 'Login_PasswordSuccessfullyChanged' => 'Jelszó sikeresen megváltoztatva!', 'Login_InvalidUsernameEmail' => 'Helytelen felhasználói név és/vagy e-mail cím', 'Login_InvalidOrExpiredToken' => 'A kód érvénytelen vagy lejárt.', - 'Login_MailTopicPasswordRecovery' => 'Jelszó visszaállítása', - 'Login_MailPasswordRecoveryBody' => 'Kedves %1$s! Jelszó-visszaállításra irányuló kérés érkezett innen: %2$s. A jelszó visszaállításához kérjük: 1) Látogassa meg a jelszó-visszaállító űrlapot itt: %3$s 2) Adja meg a következő kódot: %4$s 3) Töltse ki az űrlapot (megadva az új jelszót kétszer), majd küldje el. Megjegyzés: ez a kód csak 24 óráig érvényes.', - 'Login_PasswordSent' => 'A jelszó visszaállításához szükséges információkat elküldtük. Kérjük, ellenőrizd postaládád.', 'Login_ContactAdmin' => 'Lehetséges ok: talán a szolgáltatód tiltja a mail() funkciót. <br /> Kérjük, lépj kapcsolatba a Piwik adminisztrátoroddal.', 'Login_ExceptionPasswordMD5HashExpected' => 'A jelszóparaméternek egyeznie kellene a jelszó MD5 hash értékével.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Adminisztrátor (Super User) autentikációja nem lehetséges a \'%s\' módszerrel.', diff --git a/lang/id.php b/lang/id.php index 3fd66e6903..ca1908d355 100644 --- a/lang/id.php +++ b/lang/id.php @@ -877,31 +877,10 @@ $translations = array( 'Login_LogIn' => 'Masuk-log', 'Login_Logout' => 'Keluar', 'Login_LostYourPassword' => 'Lupa sandi?', - 'Login_RemindPassword' => 'Kirim ulang sandi', - 'Login_PasswordResetToken' => 'Kepingan Pemulihan Sandi', - 'Login_PasswordReminder' => 'Silakan masukkan nama-id atau surel Anda. Anda akan menerima surat elektronik yang berisi informasi pemulihan sandi Anda.', 'Login_PasswordsDoNotMatch' => 'Sandi tak sesuai.', - 'Login_PasswordSuccessfullyChanged' => 'Sandi berhasil diubah!', 'Login_InvalidUsernameEmail' => 'Nama-id dan/atau alamat surel tak sahih', 'Login_InvalidNonceOrHeadersOrReferer' => 'Borang keamanan gagal. Silkan muat ulang borang dan periksa apakah kuki Anda telah aktif. Bila Anda menggunakan peladen wali, Anda harus %s mengkonfigurasi Piwik untuk menerima `header` wali%s yang meneruskan `header` Inang. Serta, periksa apakah `header` Pengarah telah terkirim dengan benar.', 'Login_InvalidOrExpiredToken' => 'Kepingan tak sahih atau telah kedaluwarsa.', - 'Login_MailTopicPasswordRecovery' => 'Pemulihan sandi', - 'Login_MailPasswordRecoveryBody' => 'Hai %1$s, - -Permintaan pemulihan sandi telah dikirim dari %2$s. - -Untuk memulihkan sandi Anda:: - -1) Kunjungi Borang Pemulihan Sandi di: - %3$s - -2) Masukkan kepingan berikut: - %4$s - -3) Isi borang (masukkan sandi baru Anda dua kali) dan kirim. - -Catatan: kepingan ini akan kedaluwarsa dalam 24 jam.', - 'Login_PasswordSent' => 'Informasi untuk memulihkan sandi Anda telah dikirim. Perikasa surel Anda.', 'Login_ContactAdmin' => 'Kemungkinan: inang Anda kemungkinan mematikan fungsi mail(). <br />Silakan hubungi pengelola Piwik Anda.', 'Login_ExceptionPasswordMD5HashExpected' => 'Parameter sandi diperkirakan menjadi hash MD5 dari sandi.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Pengguna super tidak dapat diotentikasi menggunakan mekanisme \'%s\'.', diff --git a/lang/is.php b/lang/is.php index 2259b02164..f0d6132a2e 100644 --- a/lang/is.php +++ b/lang/is.php @@ -376,13 +376,8 @@ $translations = array( 'Login_LogIn' => 'Innskrá', 'Login_Logout' => 'Útskrá', 'Login_LostYourPassword' => 'Tapaðirðu lykilroðinu?', - 'Login_RemindPassword' => 'Senda lykilorðs endurnýjun', - 'Login_PasswordReminder' => 'Vinsamlegast sláðu inn notendanafn eða tölvupóstfang. Þú munt fá sendan tóölvupóst með upplýsingum til að endurnýja lykilorðið þitt.', 'Login_PasswordsDoNotMatch' => 'Lykilorðin stemma ekki.', - 'Login_PasswordSuccessfullyChanged' => 'Lykilorði hefur verið breytt.', 'Login_InvalidUsernameEmail' => 'Ekki gilt notendanafn og/eða tölvupóstfang', - 'Login_MailTopicPasswordRecovery' => 'Endurheimta lykilroð', - 'Login_PasswordSent' => 'Upplýsingar til að endurnýja lykilorðið hava verið sendar. Skoðaðu tölvupóstinn þinn.', 'Login_ContactAdmin' => 'Möguleg ástæða: þjónninn þinn gæti hafa slökkt á mail() fallinu. <br/>Vinsamlegast hafðu samband við umsjónarmann Piwik þjónsins.', 'Login_ExceptionPasswordMD5HashExpected' => 'Búist er við að lykilorðs færibreytan sé MD5 dulmál af lykilorðinu.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Ekki er hægt að auðkenna yfirnotandan með \'%s\' aðferðinni.', diff --git a/lang/it.php b/lang/it.php index 9912eaae1f..760c47d7a4 100644 --- a/lang/it.php +++ b/lang/it.php @@ -737,16 +737,9 @@ $translations = array( 'Login_LogIn' => 'Entra', 'Login_Logout' => 'Esci', 'Login_LostYourPassword' => 'Hai perso la password?', - 'Login_RemindPassword' => 'Ricorda password', - 'Login_PasswordResetToken' => 'Azzeramento token della password', - 'Login_PasswordReminder' => 'Per favore, inserisci il tuo username o l\'indirizzo e-mail. Riceverai una nuova password via e-mail.', 'Login_PasswordsDoNotMatch' => 'La password non combacia.', - 'Login_PasswordSuccessfullyChanged' => 'Password cambiata correttamente.', 'Login_InvalidUsernameEmail' => 'Username e/o indirizzo e-mail non validi', 'Login_InvalidOrExpiredToken' => 'Il token non è valido o è scaduto', - 'Login_MailTopicPasswordRecovery' => 'Recupero Password', - 'Login_MailPasswordRecoveryBody' => 'Ciao %1$s, una richiesta di reset della password è stata ricevuta da %2$s. Per resettare la tua password: 1) Vai al form per resettare la password qui: %3$s 2) Inserisci il seguente token %4$s 3) Completa il form (inserendo la tua passowrd due volte) e invia.Nota: questo token scadrà in 24 ore.', - 'Login_PasswordSent' => 'La password è stata inviata. Controlla la tua casella e-mail.', 'Login_ContactAdmin' => 'Possibile ragione: il tuo host potrebbe non avere attive le funzionalità di e-mail.<br />Per favore, contatta l\'amministratore del server.', 'Login_ExceptionPasswordMD5HashExpected' => 'I parametri della password sono seguiti da un hash MD5 della password.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Il Super User non può essere autenticato usando il \'%s\' meccanismo.', diff --git a/lang/ja.php b/lang/ja.php index 7c51d52521..630e80e61e 100644 --- a/lang/ja.php +++ b/lang/ja.php @@ -902,16 +902,9 @@ $translations = array( 'Login_LogIn' => 'ログイン', 'Login_Logout' => 'ログアウト', 'Login_LostYourPassword' => 'パスワードをお忘れですか?', - 'Login_RemindPassword' => 'パスワードの再発行', - 'Login_PasswordResetToken' => 'パスワード再発行のトークン', - 'Login_PasswordReminder' => 'ユーザー名またはメールアドレスを入力してください。 パスワードをリセットするための案内をメールで送信します。', 'Login_PasswordsDoNotMatch' => 'パスワードが一致しません。', - 'Login_PasswordSuccessfullyChanged' => 'パスワードは正常に変更されました!', 'Login_InvalidUsernameEmail' => 'ユーザー名またはメールアドレスが無効です', 'Login_InvalidOrExpiredToken' => 'トークンが無効または期限切れです。', - 'Login_MailTopicPasswordRecovery' => 'パスワードの再発行', - 'Login_MailPasswordRecoveryBody' => '%1$s さん、%2$s さんからパスワードリセットのリクエストを受け取りました。\n\nあなたのパスワードをリセットするには、以下の説明に従ってください。\n\n\n\n1) 以下のパスワードリセットフォームへ行きます\n\n %3$s\n\n\n\n2) 以下のトークンを入力します\n\n %4$s\n\n\n\n3) フォームに記入(新しいパスワードを2回)し、送信します\n\n\n\n注意:このトークンは24時間で期限が切れます。', - 'Login_PasswordSent' => 'パスワードをリセットするための案内を送信しました。 メールを確認してください。', 'Login_ContactAdmin' => '考えられる理由: ホストで mail() 関数が無効にされている可能性があります。<br />Piwik 管理者にご連絡ください。', 'Login_ExceptionPasswordMD5HashExpected' => 'パスワードパラメータは、パスワードの MD5 ハッシュ値であることを想定されています。', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'スーパーユーザーは、\'%s\'メカニズムを使用した認証はできません。', diff --git a/lang/ka.php b/lang/ka.php index 8c4a58be5a..68dec265e4 100644 --- a/lang/ka.php +++ b/lang/ka.php @@ -599,16 +599,9 @@ $translations = array( 'Login_LogIn' => 'სისტემაში შესვლა', 'Login_Logout' => 'სისტემიდან გასვლა', 'Login_LostYourPassword' => 'დაგავიწყდათ პაროლი?', - 'Login_RemindPassword' => 'გამოგზავნეთ პაროლის აღდგენის მონაცემები', - 'Login_PasswordResetToken' => 'პაროლის აღდგენის მარკერი', - 'Login_PasswordReminder' => 'გთხოვთ, ჩაწეროთ მომხმარებლის სახელი ან ელ.ფოსტის მისამართი. თქვენ მიიღებთ წერილს ელ.ფოსტაზე პაროლის აღდგენისთვის საჭირო ინფორმაციით.', 'Login_PasswordsDoNotMatch' => 'პაროლები არ ემთხვევა', - 'Login_PasswordSuccessfullyChanged' => 'პაროლი წარმატებით შეიცვალა', 'Login_InvalidUsernameEmail' => 'არასწორი მომხმარებლის სახელი და/ან ელ.ფოსტის მისამართი', 'Login_InvalidOrExpiredToken' => 'მარკერი არასწორია ან ვადაგასული.', - 'Login_MailTopicPasswordRecovery' => 'პაროლის აღდგენა', - 'Login_MailPasswordRecoveryBody' => 'სალამი %1$s, პაროლის აღდგენის მოთხოვნა მიღებული იქნა %2$s–სგან. თქვენი პაროლის აღდგენისათვის: 1) გადადით პაროლის აღდგენის ფორმაზე: %3$s 2) ჩაწერეთ შემდეგი მარკერი: %4$s 3) შეავსეთ ფორმა (თქვენი ახალი პაროლის ორჯერ ჩაწერით) და გამოგზავნეთ. შენიშვნა: ამ მარკერის ვადა 24 საათში გავა.', - 'Login_PasswordSent' => 'თქვენი პაროლის აღდგენისთვის საჭირო ინფორმაცია გაიგზავნა. შეამოწმეთ ელ.ფოსტის ყუთი.', 'Login_ContactAdmin' => 'შესაძლო მიზეზი: შეიძლება თქვენ ჰოსტს გამორთული აქვს mail() ფუნქცია. <br />გთხოვთ, დაუკავშირდეთ თქვენს Piwik ადმინისტრატორს.', 'Login_ExceptionPasswordMD5HashExpected' => 'პაროლის პარამეტრი საჭიროა რომ იყოს პაროლის MD5 ჰეშირება', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'თქვენს სუპერ მომხმარებელს არ შეუძლია აუტენთიფიკაცია \'%s\' მექანიზმის გამოყენებით.', diff --git a/lang/ko.php b/lang/ko.php index 00dcd71b87..9452d688f9 100644 --- a/lang/ko.php +++ b/lang/ko.php @@ -279,11 +279,7 @@ $translations = array( 'Login_LogIn' => '로그인', 'Login_Logout' => '로그아웃', 'Login_LostYourPassword' => '비밀번호를 잊으셨습니까?', - 'Login_RemindPassword' => '비밀번호 떠올리기', - 'Login_PasswordReminder' => '사용자명 또는 이메일 주소를 입력하세요. 새 비밀번호를 이메일을 통해 받게될 것입니다.', 'Login_InvalidUsernameEmail' => '잘못된 사용자명 그리고/또는 이메일 주소', - 'Login_MailTopicPasswordRecovery' => '비밀번호 복구', - 'Login_PasswordSent' => '비밀번호는 방금 전송되었습니다. 이메일을 확인하세요.', 'Login_ContactAdmin' => '가능한 이유: 호스트가 메일 기능을 비활성화했을 수 있습니다. <br />당신의 Piwik 관리자에게 연락해보세요.', 'Provider_WidgetProviders' => '공급자', 'Provider_ColumnProvider' => '공급자', diff --git a/lang/lt.php b/lang/lt.php index 459f8504ac..683fee7a12 100644 --- a/lang/lt.php +++ b/lang/lt.php @@ -634,16 +634,9 @@ $translations = array( 'Login_LogIn' => 'Prisijungti', 'Login_Logout' => 'Atsijungti', 'Login_LostYourPassword' => 'Pamiršote slaptažodį?', - 'Login_RemindPassword' => 'Priminti slaptažodį', - 'Login_PasswordResetToken' => 'Slaptažodžio keitimo talonas', - 'Login_PasswordReminder' => 'Prašome įvesti naudotojo vardą arba el. pašto adresą. Naują slaptažodį gausite el. paštu.', 'Login_PasswordsDoNotMatch' => 'Slaptažodžiai nesutampa', - 'Login_PasswordSuccessfullyChanged' => 'Slaptažodis pakeistas sėkmingai!', 'Login_InvalidUsernameEmail' => 'Netinkamas naudotojo vardas ir/arba el. pašto adresas', 'Login_InvalidOrExpiredToken' => 'Netinkamas arba pasibaigęs talonas', - 'Login_MailTopicPasswordRecovery' => 'Slaptažodžio atkūrimas', - 'Login_MailPasswordRecoveryBody' => 'Sveiki, %1$s, Iš %2$s buvo gautas slaptažodžio nustatymo iš naujo prašymas. Slaptažodžio nustatymui iš naujo: 1) Eikite į slaptažodžio nustatymo formą: %3$s 2) Įveskite šią žymą: %4$s 3) Užpildykite formą (dukart pakartojant slaptažodį) ir išsiųskite. Pastaba: ši žymas nustos galioti po 24 val.', - 'Login_PasswordSent' => 'Slaptažodis nusiųstas. Pasitikrinkite el. paštą.', 'Login_ContactAdmin' => 'Galima priežastis: Jūsų pagr. kompiuteryje (serveryje) gali būti išjungta mail() funkcija.<br />Prašome susisiekti su savo Piwik administratoriumi.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Super naudojas negali būti patikrintas naudojantis \'%s\' mechanizmu.', 'MultiSites_Evolution' => 'Raida', diff --git a/lang/lv.php b/lang/lv.php index 4cec538ebf..d4e1f33b52 100644 --- a/lang/lv.php +++ b/lang/lv.php @@ -643,16 +643,10 @@ $translations = array( 'Login_LogIn' => 'Pieteikties', 'Login_Logout' => 'Beigt darbu', 'Login_LostYourPassword' => 'Pazaudēji savu paroli?', - 'Login_RemindPassword' => 'Sūtīt paroles atjaunošanas info', - 'Login_PasswordResetToken' => 'Paroles atjaunošanas kods', - 'Login_PasswordReminder' => 'Lūdzu ievadiet savu lietotājvārdu vai e-pasta adresi. Jūs saņemsiet e-pastu ar informāciju kā atjaunot savu paroli.', 'Login_PasswordsDoNotMatch' => 'Paroles nesakrīt.', - 'Login_PasswordSuccessfullyChanged' => 'Parole veiksmīgi nomainīta!', 'Login_InvalidUsernameEmail' => 'Nepareizs lietotājvārds un/vai e-pasta adrese', 'Login_InvalidNonceOrHeadersOrReferer' => 'Formas drošība nenostrādāja. Lūdzu pārlādējiet formu un pārbaudiet vai sīkfailu atbalsts ir ieslēgts. Ja lietojat starpniekserveri, Jums %s jāiestata Piwik lai pieņemtu starpniekservera galveni %s, kas pārsūta resursdatora galveni. Papildus pārbaudiet vai Jūsu iepriekšējās vietnes galvene ir nosūtīta pareizi.', 'Login_InvalidOrExpiredToken' => 'Kods ir nepareizs vai tam ir beidzies termiņš.', - 'Login_MailTopicPasswordRecovery' => 'Paroles atjaunošana', - 'Login_PasswordSent' => 'Informācija, kas palīdzēs atjaunot Jūsu paroli, ir nosūtīta. Pārbaudiet savu e-pastu.', 'Login_ContactAdmin' => 'Iespējams, ka Jūsu resursdatoram ir atslēgta mail() metode. <br />Sazinieties ar savu Piwik administrātoru.', 'Login_ExceptionPasswordMD5HashExpected' => 'Paroles parametram ir jābūt paroles MD5 summai.', 'Mobile_AddAccount' => 'Pievienot kontu', diff --git a/lang/nb.php b/lang/nb.php index ea36a1142c..0ba7fdc749 100644 --- a/lang/nb.php +++ b/lang/nb.php @@ -510,13 +510,8 @@ $translations = array( 'Login_LogIn' => 'Logg inn', 'Login_Logout' => 'Logg ut', 'Login_LostYourPassword' => 'Glemt passord?', - 'Login_RemindPassword' => 'Husk passord', - 'Login_PasswordReminder' => 'Vennligst skriv inn ditt brukernavn eller epost-adresse. Du vil få et nytt passord på epost.', 'Login_PasswordsDoNotMatch' => 'Passordene stemmer ikke overens.', - 'Login_PasswordSuccessfullyChanged' => 'Passord endret.', 'Login_InvalidUsernameEmail' => 'Feil brukernavn og/eller epost-adresse.', - 'Login_MailTopicPasswordRecovery' => 'Gjennoppretting av passord', - 'Login_PasswordSent' => 'Passordet har nettopp blitt sendt. Sjekk din e-post.', 'Login_ContactAdmin' => 'Mulig grunn: Din tjener har kanskje deaktivert mail()-funksjonen. <br />Kontakt din Piwik administrator.', 'MultiSites_Evolution' => 'Utvikling', 'Provider_PluginDescription' => 'Rapporterer tilbyderen for de besøkende.', diff --git a/lang/nl.php b/lang/nl.php index 07c1d6d992..93df6e97be 100644 --- a/lang/nl.php +++ b/lang/nl.php @@ -905,17 +905,10 @@ $translations = array( 'Login_LogIn' => 'Log in', 'Login_Logout' => 'Uitloggen', 'Login_LostYourPassword' => 'Wachtwoord vergeten?', - 'Login_RemindPassword' => 'Stuur wachtwoord reset', - 'Login_PasswordResetToken' => 'Wachtwoord reset token', - 'Login_PasswordReminder' => 'Vul uw gebruikersnaam of e-mail adres in. U zal middels een e-mail een nieuw wachtwoord ontvangen.', 'Login_PasswordsDoNotMatch' => 'Wachtwoorden komen niet overeen', - 'Login_PasswordSuccessfullyChanged' => 'Wachtwoord succesvol aangepast!', 'Login_InvalidUsernameEmail' => 'Ongeldige gebruikersnaam en/of e-mail adres', 'Login_InvalidNonceOrHeadersOrReferer' => 'Securityformulier gefaald. Herlaad het formulier en controleer dat cookies worden toegestaan. Als u een proxyserver gebruikt, %s configureer Piwik dan zodanig dat deze proxy headers%s accepteert, die de Hostheaders doorstuurt. Controleer tevens dat de refererheader correct wordt verzonden.', 'Login_InvalidOrExpiredToken' => 'Token is ongeldig of is verlopen', - 'Login_MailTopicPasswordRecovery' => 'Wachtwoord terughalen', - 'Login_MailPasswordRecoveryBody' => 'Hallo %1$s, een wachtwoord reset aanvraag was ontvangen van %2$s. Om uw wachtwoord te resetten: 1) Ga naar het wachtwoord reset formulier op %3$s 2) Vul het volgende token in: %4$s 3) Vul het formulier in (uw wachtwoord twee maal invoeren) en verzend. Opmerking: Deze token vervalt na 24 uur.', - 'Login_PasswordSent' => 'Uw wachtwoord is verzonden. Controleer uw e-mail.', 'Login_ContactAdmin' => 'Mogelijke reden: uw host heeft mogelijk de mail() functie geblokkeerd. <br />Neem contact op met uw Piwik beheerder.', 'Login_ExceptionPasswordMD5HashExpected' => 'De wachtwoord parameter moet een MD5 hash zijn van het wachtwoord.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'De Superuserr kan niet worden toegelaten met het \'%s\' mechanisme.', diff --git a/lang/nn.php b/lang/nn.php index bc9dad01ec..0193820157 100644 --- a/lang/nn.php +++ b/lang/nn.php @@ -757,13 +757,8 @@ $translations = array( 'Login_LogIn' => 'Logg på', 'Login_Logout' => 'Logg ut', 'Login_LostYourPassword' => 'Hev du gløymd passordet?', - 'Login_RemindPassword' => 'Minn meg på passordet', - 'Login_PasswordReminder' => 'Skriv inn enten ditt brukarnamn eller din epost-adresse. Du vil få eit nytt passord via epost.', 'Login_PasswordsDoNotMatch' => 'Passorda stemmer ikkje', - 'Login_PasswordSuccessfullyChanged' => 'Passordbytte vart vellykka!', 'Login_InvalidUsernameEmail' => 'Ugyldig brukarnamn og/eller epost-adresse', - 'Login_MailTopicPasswordRecovery' => 'Passordpåminning', - 'Login_PasswordSent' => 'Passordet har akkurat blitt sendt. Sjekk eposten din.', 'Login_ContactAdmin' => 'Mulig grunn: tenaren din hev slått av mail() funksjonen. <br />Kontakt din Piwik administrator.', 'MultiSites_Evolution' => 'Evolusjon', 'Referers_Referers' => 'Referansar', diff --git a/lang/pl.php b/lang/pl.php index 0f98f54d6e..8489ddac87 100644 --- a/lang/pl.php +++ b/lang/pl.php @@ -751,30 +751,9 @@ $translations = array( 'Login_LogIn' => 'Zaloguj się', 'Login_Logout' => 'Wyloguj się', 'Login_LostYourPassword' => 'Nie pamiętam hasła', - 'Login_RemindPassword' => 'Wyślij sekwencję kasowania hasła', - 'Login_PasswordResetToken' => 'Token kasowania hasła', - 'Login_PasswordReminder' => 'Proszę, wprowadź nazwę użytkownika lub adres e-mail. Otrzymasz e-mail z informacją pomocną do zmiany twojego hasła.', 'Login_PasswordsDoNotMatch' => 'Hasła nie pasują.', - 'Login_PasswordSuccessfullyChanged' => 'Hasło zmieniono pomyślnie!', 'Login_InvalidUsernameEmail' => 'Błędna nazwa użytkownika i/lub adres e-mail', 'Login_InvalidOrExpiredToken' => 'Token jest błędny lub już wygasł.', - 'Login_MailTopicPasswordRecovery' => 'Odzyskiwanie hasła', - 'Login_MailPasswordRecoveryBody' => 'Cześć %1$s, - -Żądanie zmiany hasła zostało otrzymane z %2$s. - -Aby zmienić hasło: - -1) Przejdź do formularza zmiany haseł w: - %3$s - -2) Wprowadź następujące token: - %4$s - -3) Wypełnij formularz (wpisując nowe hasło dwa razy) i zatwierdź zmianę. - -Uwaga: token ten utraci swoją ważność w ciągu 24 godzin.', - 'Login_PasswordSent' => 'Informacje potrzebne do zmiany hasła zostały wysłane. Sprawdź zawartość skrzynki e-mail.', 'Login_ContactAdmin' => 'Prawdopodobny powód: twój host mógł wyłączyć działanie funkcji mail(). <br />Skontaktuj się w tej sprawie ze swoim administratorem statystyk Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'Oczekiwanym parametrem hasła jest hash z MD5 uzyskany z hasła.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Osoba o uprawnieniach Super Użytkownika nie może być uwierzytelniona stosując mechanizm \'%s\'.', diff --git a/lang/pt-br.php b/lang/pt-br.php index c7f07c74bf..52cc6c089e 100644 --- a/lang/pt-br.php +++ b/lang/pt-br.php @@ -650,16 +650,9 @@ $translations = array( 'Login_LogIn' => 'Entrar', 'Login_Logout' => 'Sair', 'Login_LostYourPassword' => 'Esqueceu a sua senha?', - 'Login_RemindPassword' => 'Lembrar senha', - 'Login_PasswordResetToken' => 'Token de lembrança de senha', - 'Login_PasswordReminder' => 'Por favor digite o seu nome de usuário ou endereço de e-mail. Você receberá uma nova senha via e-mail com informações para resetar a sua senha.', 'Login_PasswordsDoNotMatch' => 'Senhas não conferem.', - 'Login_PasswordSuccessfullyChanged' => 'Senha trocada com sucesso!', 'Login_InvalidUsernameEmail' => 'Nome de usuário e/ou e-mail inválido', 'Login_InvalidOrExpiredToken' => 'Token inválido ou expirado', - 'Login_MailTopicPasswordRecovery' => 'Recuperação de senha', - 'Login_MailPasswordRecoveryBody' => 'Olá %1$s, um pedido de recuperação de senha foi recebido de %2$s. Para resetar sua senha: 1) Vá até o formulário de recuperação de senha em: %3$s 2) Entre com o seguinte token: %4$s 3) Preencha o formulário (colocando sua nova senha duas vezes) e envie. Observação: este token irá expirar em 24 horas.', - 'Login_PasswordSent' => 'Informações para resetar sua senha foram enviadas. Verifique seu e-mail.', 'Login_ContactAdmin' => 'Possível razão: o seu host desabilitou a função mail(). <br />Por favor contacte o administrador do Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'É esperado que o parâmetro da senha seja um hash MD5 da senha.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'O Super Usuário não pode ser autenticado usando o mecanismo "%s".', diff --git a/lang/pt.php b/lang/pt.php index 39ab4b0d01..cc69d13a4f 100644 --- a/lang/pt.php +++ b/lang/pt.php @@ -794,17 +794,10 @@ $translations = array( 'Login_LogIn' => 'Entrar', 'Login_Logout' => 'Sair', 'Login_LostYourPassword' => 'Perdeu a sua palavra-passe?', - 'Login_RemindPassword' => 'Enviar reposição de palavra-passe', - 'Login_PasswordResetToken' => 'Chave para repor palavra-passe', - 'Login_PasswordReminder' => 'Por favor introduza o seu nome de utilizador ou endereço de e-mail. Irá receber um e-mail com a informação sobre como repor a sua palavra-passe.', 'Login_PasswordsDoNotMatch' => 'As palavras-passe não coincidem.', - 'Login_PasswordSuccessfullyChanged' => 'A palavra-passe foi alterada com sucesso!', 'Login_InvalidUsernameEmail' => 'Nome de utilizador e/ou endereço de e-mail inválido', 'Login_InvalidNonceOrHeadersOrReferer' => 'Erro de Segurança do formulário. Por favor, recarregar o formulário e verificar se os cookies estão activos. Se você usar um servidor proxy, você deve configurar %s Piwik para aceitar os cabeçalhos proxy %s que encaminha o cabeçalho do Host. Além disso, verifique se o cabeçalho Referer é enviado corretamente.', 'Login_InvalidOrExpiredToken' => 'A chave é inválida ou expirou.', - 'Login_MailTopicPasswordRecovery' => 'Recuperação de palavra-passe', - 'Login_MailPasswordRecoveryBody' => 'Olá %1$s,Um pedido para repor a sua palavra-passe foi recebido de %2$s. Para repor a sua palavra-passe:1) Vá ao Formulário de Reposição da Palavra-Passe em: %3$s2) Introduza a seguinte chave: %4$s3) Preencha o formulário (introduzindo a sua nova palavra-passe duas vezes) e envie-o. Nota: esta chave expira em 24 horas.', - 'Login_PasswordSent' => 'Informação para repor a sua palavra-passe foi enviada. Verifique o seu e-mail.', 'Login_ContactAdmin' => 'Razão possível: o seu administrador desactivou a função mail(). <br />Por favor contacte o seu administrador Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'Espera-se que o parâmetro da palavra-passe seja uma hash MD5 da palavra-passe.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'O Super Utilizador não se pode autenticar com o mecanismo \'%s\'.', diff --git a/lang/ro.php b/lang/ro.php index 49f3cb1ff7..a0c9ce069c 100644 --- a/lang/ro.php +++ b/lang/ro.php @@ -547,15 +547,9 @@ $translations = array( 'Login_LogIn' => 'Intrare', 'Login_Logout' => 'Iesire', 'Login_LostYourPassword' => 'Ai pierdut parola?', - 'Login_RemindPassword' => 'Reaminteste-mi parola', - 'Login_PasswordResetToken' => 'Resetează jeton parolă', - 'Login_PasswordReminder' => 'Introduce-ti nume si adresa de mail. Vei primi parola pe adresa de mail indicata.', 'Login_PasswordsDoNotMatch' => 'Parolele nu se potrivesc.', - 'Login_PasswordSuccessfullyChanged' => 'Parola a fost schimbată cu succes!', 'Login_InvalidUsernameEmail' => 'Nume/adresa mail invalida', 'Login_InvalidOrExpiredToken' => 'Jetonul este invalid sau expirat.', - 'Login_MailTopicPasswordRecovery' => 'Recuperare parola', - 'Login_PasswordSent' => 'Parola a fost trimisa. Verifica emailul.', 'Login_ContactAdmin' => 'Motiv posibil: gazda ta poate avea dezactivata functia email . <br/>Contactati adminstratorul.', 'Login_ExceptionPasswordMD5HashExpected' => 'Parametrul parolei este aşteptat să fie un hash MD5 al parolei.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Super Userul nu poate fi autentificat folosind \'%s\' mecanism.', diff --git a/lang/ru.php b/lang/ru.php index 8cc1a04bb7..8df110e4ba 100644 --- a/lang/ru.php +++ b/lang/ru.php @@ -901,31 +901,10 @@ $translations = array( 'Login_LogIn' => 'Войти', 'Login_Logout' => 'Выйти', 'Login_LostYourPassword' => 'Потеряли пароль?', - 'Login_RemindPassword' => 'Вспомнить пароль', - 'Login_PasswordResetToken' => 'Обозначение изменения пароля', - 'Login_PasswordReminder' => 'Пожалуйста, введите свой логин или e-mail. Новый пароль прийдет вам по e-mail.', 'Login_PasswordsDoNotMatch' => 'Пароли не совпадают.', - 'Login_PasswordSuccessfullyChanged' => 'Пароль изменен!', 'Login_InvalidUsernameEmail' => 'Неверное имя пользователя и/или e-mail', 'Login_InvalidNonceOrHeadersOrReferer' => 'Ошибка при загрузки формы безопасности. Пожалуйста, обновите форму и проверьте, что ваши cookies включены. Если вы используете прокси-сервер, вы должны %s настроить принятие прокси-заголовков в Piwik%s, которые следуют за названием хоста. Также убедитесь, что заголовки источника трафика отправляются верно.', 'Login_InvalidOrExpiredToken' => 'Код неправильный или просрочен.', - 'Login_MailTopicPasswordRecovery' => 'Восстановление пароля', - 'Login_MailPasswordRecoveryBody' => 'Здравствуйте %1$s, - - От пользователя %2$s получен запрос на восстановление пароля. - - Чтоб восстановить ваш пароль: - - 1) Перейдите к форме сброса пароля здесь: - %3$s - - 2) введите следующий ключ: - %4$s - - 3) Заполните форму (введите ваш новый пароль дважды) и отправьте. - - Примечание: ключ действителен в течении 24 часов.', - 'Login_PasswordSent' => 'Пароль выслан, проверьте свою почту.', 'Login_ContactAdmin' => 'Возможная причина: функция mail() отключена. <br />Пожалуйста, свяжитесь с администратором.', 'Login_ExceptionPasswordMD5HashExpected' => 'Параметр пароля вероятно является MD5-хэшем пароля.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Суперпользователь не может быть идентифицирован с помощью механизма \'%s\'.', diff --git a/lang/sk.php b/lang/sk.php index 4182cff8aa..fe527b450c 100644 --- a/lang/sk.php +++ b/lang/sk.php @@ -552,16 +552,9 @@ $translations = array( 'Login_LogIn' => 'Prihlásiť sa', 'Login_Logout' => 'Odhlásiť sa', 'Login_LostYourPassword' => 'Zabudli ste heslo?', - 'Login_RemindPassword' => 'Pripomenúť heslo', - 'Login_PasswordResetToken' => 'Token pre obnovenie hesla', - 'Login_PasswordReminder' => 'Vložte prosím svoje meno používateľa alebo e-mailovú adresu. E-mailom Vám bude doručené nové heslo.', 'Login_PasswordsDoNotMatch' => 'Heslá sa nezhodujú.', - 'Login_PasswordSuccessfullyChanged' => 'Heslo úspešne zmenené!', 'Login_InvalidUsernameEmail' => 'Neplatné meno používateľa alebo e-mailová adresa', 'Login_InvalidOrExpiredToken' => 'Token je neplatný, alebo už vypršal.', - 'Login_MailTopicPasswordRecovery' => 'Obnova hesla', - 'Login_MailPasswordRecoveryBody' => 'Ahoj %1$s, heslo bolo zmenené a žiadosť bola doručená %2$s. Ak chcete obnoviť vaše heslo: 1) Choďte na formulár Obnovenie hesla na adrese: %3$s 2) Zadajte nasledujúci token: %4$s 3) Vyplňte formulár (zadajte nové heslo dvakrát) a odošlite. Poznámka: tento token vyprší za 24 hodín.', - 'Login_PasswordSent' => 'Heslo bolo práve odoslané. Skontrolujte si e-mail.', 'Login_ContactAdmin' => 'Možné dôvody: Váš server ma zakázanú funkciu mail().<br /> Skontaktujte svojho administrátora Piwik.', 'Login_ExceptionPasswordMD5HashExpected' => 'Očakávajte že heslo bude v MD5 hash.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Super používateľ nemôže overiť pomocou \'%s\' mechanizmu.', diff --git a/lang/sl.php b/lang/sl.php index 2d79b88395..d072d537e9 100644 --- a/lang/sl.php +++ b/lang/sl.php @@ -565,10 +565,7 @@ $translations = array( 'Login_LogIn' => 'Vpis', 'Login_Logout' => 'Izpis', 'Login_LostYourPassword' => 'Ste pozabili geslo?', - 'Login_RemindPassword' => 'Ponovno pošlji geslo', 'Login_PasswordsDoNotMatch' => 'Gesli se ne ujemata.', - 'Login_PasswordSuccessfullyChanged' => 'Geslo je bilo uspešno spremenjeno!', - 'Login_MailTopicPasswordRecovery' => 'Povrnitev gesla', 'Mobile_LastUpdated' => 'Zadnje posodobljeno: %s', 'Mobile_PullDownToRefresh' => 'Potegnite navzdol za osvežitev...', 'Mobile_Refresh' => 'Osveži', diff --git a/lang/sq.php b/lang/sq.php index cfa48bd8f5..2a02fd9021 100644 --- a/lang/sq.php +++ b/lang/sq.php @@ -814,17 +814,10 @@ $translations = array( 'Login_LogIn' => 'Hyni', 'Login_Logout' => 'Dilni', 'Login_LostYourPassword' => 'Humbët fjalëkalimin tuaj?', - 'Login_RemindPassword' => 'Dërgo ricaktim fjalëkalimi', - 'Login_PasswordResetToken' => '"Token" ricaktimi fjalëkalimi', - 'Login_PasswordReminder' => 'Ju lutem, jepni emrin tuaj të përdoruesit ose e-mail-in tuaj. Do të merrni një fjalëkalim të ri përmes e-mail-it.', 'Login_PasswordsDoNotMatch' => 'Fjalëkalimet nuk përputhen.', - 'Login_PasswordSuccessfullyChanged' => 'Fjalëkalimi u ndryshua me sukses!', 'Login_InvalidUsernameEmail' => 'Emër përdoruesi dhe/ose vendndodhje e-mail e pavlefshme', 'Login_InvalidNonceOrHeadersOrReferer' => 'Siguria e formularit dështoi. Ju lutem, ringarkoni formularin dhe kontrolloni nëse janë të aktivizuara "cookie"-et tuaja. Nëse përdorni një shërbyes ndërmjetës, duhet ta formësoni %s Piwik-un që të pranojë titull ndërmjetësi%s i cili përcjell titull Strehe. Kontrolloni gjithashtu që titulli i Referuesit dërgohet saktë.', 'Login_InvalidOrExpiredToken' => 'Elementi është i pavlefshëm ose ka skaduar', - 'Login_MailTopicPasswordRecovery' => 'Ricaktim fjalëkalimi', - 'Login_MailPasswordRecoveryBody' => 'Tungjatjeta %1$s,Kërkesa për ricaktim fjalëkalimi erdhi prej %2$s.Për ricaktimin e fjalëkalimit tuaj:1) Shkoni te Formulari për Ricaktim Fjalëkalimesh te: %3$s2) Jepni elementin vijues: %4$s3) Plotësoni formularin (duke e dhënë fjalëkalimin tuaj të ri dy herë) dhe parashtrojeni. Shënim: ky element do të skadojë brenda 24 orësh.', - 'Login_PasswordSent' => 'Hollësitë se si të ricaktoni fjalëkalimin tuaj u dërguan. Kontrolloni e-mail-et tuaj.', 'Login_ContactAdmin' => 'Arsye e mundshme: streha juaj mund të ketë çaktivizuar funksionin mail(). <br />Ju lutem, lidhuni me përgjegjësin e Piwik-ut tuaj.', 'Login_ExceptionPasswordMD5HashExpected' => 'Parametri i fjalëkalimit pritet të jetë një hash MD5 fjalëkalimi.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Super Përdoruesi nuk mund të kalojë mirëfilltësimin duke përdorur mekanizmin \'%s\'.', diff --git a/lang/sr.php b/lang/sr.php index 49704c66de..b4f8794de1 100644 --- a/lang/sr.php +++ b/lang/sr.php @@ -684,16 +684,9 @@ $translations = array( 'Login_LogIn' => 'Prijavljivanje', 'Login_Logout' => 'Odjavljivanje', 'Login_LostYourPassword' => 'Zaboravili ste lozinku?', - 'Login_RemindPassword' => 'Pošalji novu lozinku', - 'Login_PasswordResetToken' => 'Token za novu lozinku', - 'Login_PasswordReminder' => 'Molimo vas da upišete vaše korisničko ime ili elektronsku adresu. Elektronskom poštom ćete dobiti informaciju o novoj lozinki', 'Login_PasswordsDoNotMatch' => 'Lozinka se ne poklapa', - 'Login_PasswordSuccessfullyChanged' => 'Lozinka je uspešno promenjena!', 'Login_InvalidUsernameEmail' => 'Pogrešno korisničko ime i/ili elektronska adresa', 'Login_InvalidOrExpiredToken' => 'Token ili nije validan ili je istekao.', - 'Login_MailTopicPasswordRecovery' => 'Oporavak lozinke', - 'Login_MailPasswordRecoveryBody' => 'Pozdrav %1$s. Primljen je zahtev za promenu lozinke od strane %2$s. Ukoliko zaista želite da promenite lozinku: 1) Idite na stranicu %3$s 2) Upišite sledeći token: %4$s 3) Popunite formu (upišite novu lozinku dva puta) i pošaljite je. Pažnja: ovaj token je validan narednih 24 sata.', - 'Login_PasswordSent' => 'Lozinka vam je upravo poslata. Proverite vašu elektronsku poštu.', 'Login_ContactAdmin' => 'Moguć razlog: vaš hosting provajder je možda onemogućio mail() funkciju. <br />Molimo vas da kontaktirate vašeg Piwik administratora.', 'Login_ExceptionPasswordMD5HashExpected' => 'Parametar za lozinku bi trebalo da bude MD5 hash lozinke.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Superkorisnik ne može biti proveren putem \'%s\' mehanizma.', diff --git a/lang/sv.php b/lang/sv.php index 2c4a9227c0..d065083386 100644 --- a/lang/sv.php +++ b/lang/sv.php @@ -913,17 +913,10 @@ $translations = array( 'Login_LogIn' => 'Logga in', 'Login_Logout' => 'Logga ut', 'Login_LostYourPassword' => 'Glömt ditt lösenord?', - 'Login_RemindPassword' => 'Skicka ut återställning av lösenord', - 'Login_PasswordResetToken' => 'Återställning av lösenordsbevis', - 'Login_PasswordReminder' => 'Vänligen skriv in ditt användarnamn eller din e-postadress. Du kommer få ett e-postmeddelande med instruktioner om hur du återställer ditt lösenord.', 'Login_PasswordsDoNotMatch' => 'Lösenorden matchar inte.', - 'Login_PasswordSuccessfullyChanged' => 'Lösenord byttes utan problem!', 'Login_InvalidUsernameEmail' => 'Felaktigt användarnamn och/eller e-postadress', 'Login_InvalidNonceOrHeadersOrReferer' => 'Formulärets säkerhet misslyckades. Vänligen ladda formuläret och kontrollera att cookies är aktiverade. Om du använder en proxyserver måste du %s konfigurera Piwik att acceptera proxy huvuden %s som överför Host-huvuden. Kontrollera också att din Referer header skickas korrekt.', 'Login_InvalidOrExpiredToken' => 'Lösenordsbevis är felaktigt eller har utgått.', - 'Login_MailTopicPasswordRecovery' => 'Återställning av lösenord', - 'Login_MailPasswordRecoveryBody' => 'Hej %1$s, En lösenordsåterställning mottogs ifrån %2$s. För att återställa ditt lösenord: 1) Gå till Återställning av lösenord på: %3$s 2) Skriv in följande tecken: %4$s 3) Fyll i formuläret (ange ditt nya lösenord två gånger) och slutför genom att klicka på "Submit".Notering: detta bevis kommer att gälla under 24 timmar.', - 'Login_PasswordSent' => 'Information för att återställa ditt lösenord har skickats. Kontrollera din e-post.', 'Login_ContactAdmin' => 'Möjlig orsak: din värd kan ha inaktiverat mail() funktionen. <br/>Kontakta din Piwik administratör.', 'Login_ExceptionPasswordMD5HashExpected' => 'Lösenordsparametern förväntas bli en MD5-hash av lösenordet.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Administratören kan inte verifieras med hjälp av \'%s\' mekanismen.', diff --git a/lang/th.php b/lang/th.php index 036865e373..53d94a4d7b 100644 --- a/lang/th.php +++ b/lang/th.php @@ -758,17 +758,10 @@ $translations = array( 'Login_LogIn' => 'เข้าสู่ระบบ', 'Login_Logout' => 'ออกจากระบบ', 'Login_LostYourPassword' => 'ลืมรหัสผ่าน?', - 'Login_RemindPassword' => 'ขอรหัสผ่านใหม่', - 'Login_PasswordResetToken' => 'รหัสผ่านถูกรีเซ็ต', - 'Login_PasswordReminder' => 'กรุณากรอกชื่อผู้ใช้หรืออีเมล์ของคุณ คุณจะได้รับอีเมล์พร้อมรายละเอียดสำหรับการรีเซ็ตรหัสผ่านของคุณ', 'Login_PasswordsDoNotMatch' => 'รหัสผ่านไม่ตรงกัน', - 'Login_PasswordSuccessfullyChanged' => 'เปลี่ยนรหัสผ่านเรียบร้อยแล้ว!', 'Login_InvalidUsernameEmail' => 'ไม่มี ชื่อผู้ใช้ และ/หรือ ที่อยู่อีเมลล์ดังกล่าว', 'Login_InvalidNonceOrHeadersOrReferer' => 'แบบฟอร์มการรักษาความปลอดภัยความล้มเหลว โปรดโหลดแบบฟอร์มและตรวจสอบว่าคุกกี้ของคุณำได้เปิดใช้งานแล้ว ถ้าคุณใช้พร็อกซี่เซิร์ฟเวอร์, คุณจะต้องกำหนดค่า %s ของ Piwik เพื่อที่จะยอมรับส่วนหัวของพร็อกซี่ %s ที่ส่งต่อส่วนหัวของโฮสต์ นอกจากนี้ตรวจสอบว่าส่วนหัวการอ้างอิงของคุณจะถูกส่งอย่างถูกต้อง', 'Login_InvalidOrExpiredToken' => 'Token ไม่ถูกต้องหรือหมดอายุ', - 'Login_MailTopicPasswordRecovery' => 'การกู้คืนรหัสผ่าน', - 'Login_MailPasswordRecoveryBody' => 'สวัสดี %1$s รหัสผ่านร้องขอใหม่ได้รับจาก %2$s เมื่อต้องการตั้งค่ารหัสผ่านของคุณ: 1) ไปยังฟอร์มการตั้งค่ารหัสผ่านที่: %3$s 2) ป้อนโทเค็นการดังต่อไปนี้: %4$s 3) เติมออกจากแบบฟอร์ม (ป้อนรหัสผ่านของคุณใหม่สองครั้ง) และทำการกดส่ง หมายเหตุ: ตรวจสอบกลุ่มนี้จะหมดอายุภายใน 24 ชั่วโมง', - 'Login_PasswordSent' => 'รหัสผ่านได้ส่งไปให้คุณแล้ว กรุณาเช็คอีเมล์ของคุณ', 'Login_ContactAdmin' => 'เหตุผลที่อาจเป็นไปได้: โฮสต์ของคุณอาจปิดการใช้งานฟังก์ชัน mail()<br />กรุณาติดต่อผู้ดูแล Piwik ของคุณ', 'Login_ExceptionPasswordMD5HashExpected' => 'พารามิเตอร์รหัสผ่านจะคาดว่าจะ เป็น MD5 hash ของรหัสผ่าน', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'แบบผู้ใช้ไม่สามารถรับรอง \'%s\' ได้', diff --git a/lang/tr.php b/lang/tr.php index 5e8e1cbcde..77cd610cba 100644 --- a/lang/tr.php +++ b/lang/tr.php @@ -529,15 +529,9 @@ $translations = array( 'Login_LogIn' => 'Oturum aç', 'Login_Logout' => 'Oturumu kapat', 'Login_LostYourPassword' => 'Şifrenizi mi unuttunuz?', - 'Login_RemindPassword' => 'Parola sıfırlama gönder', - 'Login_PasswordResetToken' => 'Parola sıfırlama kodu', - 'Login_PasswordReminder' => 'Lütfen kullanıcı adınızı veya e-posta adresinizi giriniz. Şifrenizi sıfırlamak için bilgi e-postası alacaksınız.', 'Login_PasswordsDoNotMatch' => 'Şifre eşleşmedi', - 'Login_PasswordSuccessfullyChanged' => 'Şifre başarıyla değiştirildi!', 'Login_InvalidUsernameEmail' => 'Geçersiz kullanıcı adı ve/veya e-posta adresi', 'Login_InvalidOrExpiredToken' => 'Güvenlik kodu yanlış yada süresi dolmuş.', - 'Login_MailTopicPasswordRecovery' => 'Şifre kurtarma', - 'Login_PasswordSent' => 'Sizin parolanızın sıfırlama bilgilendirmesi gönderildi. Lütfen e-postanızı kontrol ediniz.', 'Provider_PluginDescription' => 'Ziyaretciden Sağlayıcının Rapoarları', 'Provider_WidgetProviders' => 'Sağlayıcılar', 'Provider_ColumnProvider' => 'Sağlayıcı', diff --git a/lang/uk.php b/lang/uk.php index 153745517f..bd8d81ae7d 100644 --- a/lang/uk.php +++ b/lang/uk.php @@ -601,16 +601,9 @@ $translations = array( 'Login_LogIn' => 'Увійти', 'Login_Logout' => 'Вийти', 'Login_LostYourPassword' => 'Забули свій пароль?', - 'Login_RemindPassword' => 'Нагадати пароль', - 'Login_PasswordResetToken' => 'Код скидання паролю', - 'Login_PasswordReminder' => 'Будь ласка, вкажіть ваші Ім\'я користувача або E-mail. Ви отримаєте новий пароль на Ваш e-mail.', 'Login_PasswordsDoNotMatch' => 'Паролі не співпадають', - 'Login_PasswordSuccessfullyChanged' => 'Пароль успішно змінено!', 'Login_InvalidUsernameEmail' => 'Невірне ім\'я користувача та/або E-mail', 'Login_InvalidOrExpiredToken' => 'Код невірний або прострочений.', - 'Login_MailTopicPasswordRecovery' => 'Відновлення пароля', - 'Login_MailPasswordRecoveryBody' => 'Привіт %1$s, Запит на зміну паролю отриманий від %2$s. Щоб змінити пароль: 1) Відкрити форму зміни паролю: %3$s 2) Ввести наступний код: %4$s 3) Заповнити форму (ввівши новий пароль двічі). Примітка: цей код дійсний протягом 24 години.', - 'Login_PasswordSent' => 'Пароль було надіслано. Перевірте ваш e-mail.', 'Login_ContactAdmin' => 'Можлива причина: функція mail() відключена в налаштуваннях вашого хостингу.<br/>Зверніться, будь ласка, до вашого Piwik-адміністратора.', 'Login_ExceptionPasswordMD5HashExpected' => 'Очікується що параметр паролю буде MD5() хеш від введеного паролю.', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => 'Супер користоувач не може бути аутентифікований використовуючи \'%s\' механізм.', diff --git a/lang/zh-cn.php b/lang/zh-cn.php index 0a710b0bcd..f9c81c97a5 100644 --- a/lang/zh-cn.php +++ b/lang/zh-cn.php @@ -563,17 +563,10 @@ $translations = array( 'Login_LogIn' => '登录', 'Login_Logout' => '注销', 'Login_LostYourPassword' => '遗失了您的密码吗?', - 'Login_RemindPassword' => '记忆密码', - 'Login_PasswordResetToken' => '密码重置凭证', - 'Login_PasswordReminder' => '请输入您的用户名称或 E-mail 地址! 您将透过 E-mail 接收到一组新密码!', 'Login_PasswordsDoNotMatch' => '密码不相符。', - 'Login_PasswordSuccessfullyChanged' => '密码已成功变更!', 'Login_InvalidUsernameEmail' => '无效的使用者名称 和/或 E-mail 地址', 'Login_InvalidNonceOrHeadersOrReferer' => '表单安全检查失败,请重新打开表单,检查是否启用cookie。如果配置了代理服务器,需要 %s 设置Piwik接收代理头信息 %s ,同时检查Referer头是否正确', 'Login_InvalidOrExpiredToken' => '凭证无效或已经过期。', - 'Login_MailTopicPasswordRecovery' => '重取得密码', - 'Login_MailPasswordRecoveryBody' => '%1$s 您好,%2$s 收到了一个密码重置请求。若要重新设定您的密码:1) 前往密码重设表单: %3$s 2) 输入以下凭证:%4$s 3) 填妥表单(输入您的新密码两次)然后送出。注意:凭证将在 24 小时后过期。', - 'Login_PasswordSent' => '密码刚刚已经发送! 请检查您的 E-mail 信箱!', 'Login_ContactAdmin' => '可能的原因:您的主机可能已经停用了 mail() 函数! <br />请联络您的 Piwik 管理员!', 'Login_ExceptionPasswordMD5HashExpected' => '密码参数是一个 MD5 加密的密码。', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => '超级使用者无法以 \'%s\' 机制通过身份验证。', diff --git a/lang/zh-tw.php b/lang/zh-tw.php index f7b47768b1..7689728598 100644 --- a/lang/zh-tw.php +++ b/lang/zh-tw.php @@ -569,16 +569,9 @@ $translations = array( 'Login_LogIn' => '登入', 'Login_Logout' => '登出', 'Login_LostYourPassword' => '遺失了您的密碼嗎?', - 'Login_RemindPassword' => '傳送重置密碼', - 'Login_PasswordResetToken' => '重置密碼權杖', - 'Login_PasswordReminder' => '請輸入您的使用者名稱或 E-mail 位址! 您將收到一封含有您重置密碼資訊的 E-mail!', 'Login_PasswordsDoNotMatch' => '密碼並不相符!', - 'Login_PasswordSuccessfullyChanged' => '密碼成功變更!', 'Login_InvalidUsernameEmail' => '無效的使用者名稱 和/或 E-mail 位址', 'Login_InvalidOrExpiredToken' => '權杖不正確或已過期!', - 'Login_MailTopicPasswordRecovery' => '重取得密碼', - 'Login_MailPasswordRecoveryBody' => '%1$s 你好,%2$s 收到了一個密碼重置請求。若要重新設定你的密碼:1) 前往密碼重設表單: %3$s 2) 輸入以下憑證:%4$s 3) 填妥表單(輸入你的新密碼兩次)然後送出。注意:憑證將在 24 小時後過期。', - 'Login_PasswordSent' => '重置密碼訊息已經寄出。請檢查你的 E-mail 信箱。', 'Login_ContactAdmin' => '可能原因:您的伺服主機可能已經停用了 mail() 函式。<br />請聯絡您的 Piwik 管理員!', 'Login_ExceptionPasswordMD5HashExpected' => '密碼參數會是一個 MD5 雜湊加密的密碼!', 'Login_ExceptionInvalidSuperUserAuthenticationMethod' => '超級使用者無法以 \'%s\' 機制通過身份驗證。', diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php index d33bc4e451..d706538d74 100644 --- a/plugins/Login/Controller.php +++ b/plugins/Login/Controller.php @@ -53,7 +53,7 @@ class Piwik_Login_Controller extends Piwik_Controller * @param string $currentUrl Current URL * @return void */ - function login($messageNoAccess = null) + function login($messageNoAccess = null, $infoMessage = false) { self::checkForceSslLogin(); @@ -81,6 +81,7 @@ class Piwik_Login_Controller extends Piwik_Controller $view = Piwik_View::factory('login'); $view->AccessErrorString = $messageNoAccess; + $view->infoMessage = $infoMessage; $view->addForm( $form ); $this->configureView($view); echo $view->render(); @@ -158,68 +159,118 @@ class Piwik_Login_Controller extends Piwik_Controller Piwik_Url::redirectToUrl($urlToRedirect); } + protected function getMessageExceptionNoAccess() + { + $message = Piwik_Translate('Login_InvalidNonceOrHeadersOrReferer', array('<a href="?module=Proxy&action=redirect&url='.urlencode('http://piwik.org/faq/how-to-install/#faq_98').'" target="_blank">', '</a>')); + // Should mention trusted_hosts or link to FAQ + return $message; + } + /** - * Lost password form. Email password reset information. + * Reset password action. Stores new password as hash and sends email + * to confirm use. * * @param none * @return void */ - function lostPassword() + function resetPassword() { self::checkForceSslLogin(); - $messageNoAccess = null; + $infoMessage = null; + $formErrors = null; - $form = new Piwik_Login_FormPassword(); + $form = new Piwik_Login_FormResetPassword(); if($form->validate()) { $nonce = $form->getSubmitValue('form_nonce'); if(Piwik_Nonce::verifyNonce('Piwik_Login.login', $nonce)) { - $loginMail = $form->getSubmitValue('form_login'); - $messageNoAccess = $this->lostPasswordFormValidated($loginMail); + $formErrors = $this->resetPasswordFirstStep($form); + if (empty($formErrors)) + { + $infoMessage = Piwik_Translate('Login_ConfirmationLinkSent'); + } } else { - $messageNoAccess = $this->getMessageExceptionNoAccess(); + $formErrors = array($this->getMessageExceptionNoAccess()); } } - - $view = Piwik_View::factory('lostPassword'); - $view->AccessErrorString = $messageNoAccess; - $view->addForm( $form ); - $this->configureView($view); + else + { + // if invalid, display error + $formData = $form->getFormData(); + $formErrors = $formData['errors']; + } + + $view = Piwik_View::factory('message'); + $view->infoMessage = $infoMessage; + $view->formErrors = $formErrors; echo $view->render(); } - - protected function getMessageExceptionNoAccess() - { - $message = Piwik_Translate('Login_InvalidNonceOrHeadersOrReferer', array('<a href="?module=Proxy&action=redirect&url='.urlencode('http://piwik.org/faq/how-to-install/#faq_98').'" target="_blank">', '</a>')); - // Should mention trusted_hosts or link to FAQ - return $message; - } - + /** - * Validate user (by username or email address). - * - * @param string $loginMail user name or email address - * @return string failure message if unable to validate + * Saves password reset info and sends confirmation email. + * + * @return array Error message(s) if an error occurs. */ - protected function lostPasswordFormValidated($loginMail) + private function resetPasswordFirstStep( $form ) { - if( $loginMail === 'anonymous' ) + $loginMail = $form->getSubmitValue('form_login'); + $token = $form->getSubmitValue('form_token'); + $password = $form->getSubmitValue('form_password'); + + // check the password + try + { + Piwik_UsersManager::checkPassword($password); + } + catch (Exception $ex) { - return Piwik_Translate('Login_InvalidUsernameEmail'); + return array($ex->getMessage()); + } + + // get the user's login + if ($loginMail === 'anonymous') + { + return array(Piwik_Translate('Login_InvalidUsernameEmail')); } $user = self::getUserInformation($loginMail); - if( $user === null ) + if ($user === null) { - return Piwik_Translate('Login_InvalidUsernameEmail'); + return array(Piwik_Translate('Login_InvalidUsernameEmail')); } - - $view = Piwik_View::factory('passwordsent'); - + + $login = $user['login']; + + // if valid, store password information in options table, then... + Piwik_Login::savePasswordResetInfo($login, $password); + + // ... send email with confirmation link + try + { + $this->sendEmailConfirmationLink($user); + } + catch (Exception $ex) + { + // remove password reset info + Piwik_Login::removePasswordResetInfo($login); + + return array($ex->getMessage().'<br/>'.Piwik_Translate('Login_ContactAdmin')); + } + + return null; + } + + /** + * Sends email confirmation link for a password reset request. + * + * @param array $user User info for the requested password reset. + */ + private function sendEmailConfirmationLink( $user ) + { $login = $user['login']; $email = $user['email']; @@ -227,122 +278,113 @@ class Piwik_Login_Controller extends Piwik_Controller $resetToken = self::generatePasswordResetToken($user); $ip = Piwik_IP::getIpFromHeader(); - $url = Piwik_Url::getCurrentUrlWithoutQueryString() . "?module=Login&action=resetPassword"; + $url = Piwik_Url::getCurrentUrlWithoutQueryString() + . "?module=Login&action=confirmResetPassword&login=".urlencode($login) + . "&resetToken=".urlencode($resetToken); // send email with new password - try - { - $mail = new Piwik_Mail(); - $mail->addTo($email, $login); - $mail->setSubject(Piwik_Translate('Login_MailTopicPasswordRecovery')); - $bodyText = str_replace( - '\n', - "\n", - sprintf(Piwik_Translate('Login_MailPasswordRecoveryBody'), $login, $ip, $url, $resetToken) - ) . "\n"; - $mail->setBodyText($bodyText); - - - $fromEmailName = Piwik_Config::getInstance()->General['login_password_recovery_email_name']; - $fromEmailAddress = Piwik_Config::getInstance()->General['login_password_recovery_email_address']; - $mail->setFrom($fromEmailAddress, $fromEmailName); - @$mail->send(); - } - catch(Exception $e) - { - $view->ErrorString = $e->getMessage(); - } - $this->configureView($view); - echo $view->render(); - exit; + $mail = new Piwik_Mail(); + $mail->addTo($email, $login); + $mail->setSubject(Piwik_Translate('Login_MailTopicPasswordChange')); + $bodyText = str_replace( + '\n', + "\n", + sprintf(Piwik_Translate('Login_MailPasswordChangeBody'), $login, $ip, $url) + ) . "\n"; + $mail->setBodyText($bodyText); + + $fromEmailName = Piwik_Config::getInstance()->General['login_password_recovery_email_name']; + $fromEmailAddress = Piwik_Config::getInstance()->General['login_password_recovery_email_address']; + $mail->setFrom($fromEmailAddress, $fromEmailName); + @$mail->send(); } - + /** - * Reset password form. Enter new password here. - * - * @param none - * @return void + * Password reset confirmation action. Finishes the password reset process. + * Users visit this action from a link supplied in an email. */ - function resetPassword() + public function confirmResetPassword() { - self::checkForceSslLogin(); - - $messageNoAccess = null; - - $form = new Piwik_Login_FormResetPassword(); - if($form->validate()) + $errorMessage = null; + + $login = Piwik_Common::getRequestVar('login', ''); + $resetToken = Piwik_Common::getRequestVar('resetToken', ''); + + try { - $nonce = $form->getSubmitValue('form_nonce'); - if(Piwik_Nonce::verifyNonce('Piwik_Login.login', $nonce)) + // get password reset info & user info + $user = self::getUserInformation($login); + if ($user === null) { - $loginMail = $form->getSubmitValue('form_login'); - $token = $form->getSubmitValue('form_token'); - $password = $form->getSubmitValue('form_password'); - $messageNoAccess = $this->resetPasswordFormValidated($loginMail, $token, $password); + throw new Exception(Piwik_Translate('Login_InvalidUsernameEmail')); } - else + + // check that the reset token is valid + $resetPassword = Piwik_Login::getPasswordToResetTo($login); + if ($resetPassword === false || !self::isValidToken($resetToken, $user)) { - $messageNoAccess = $this->getMessageExceptionNoAccess(); + throw new Exception(Piwik_Translate('Login_InvalidOrExpiredToken')); } + + // reset password of user + $this->setNewUserPassword($user, $resetPassword); + } + catch (Exception $ex) + { + $errorMessage = $ex->getMessage(); + } + + if (is_null($errorMessage)) // if success, show login w/ success message + { + $this->redirectToIndex('Login', 'resetPasswordSuccess'); + } + else + { + // show login page w/ error. this will keep the token in the URL + return $this->login($errorMessage); } - - $view = Piwik_View::factory('resetPassword'); - $view->AccessErrorString = $messageNoAccess; - $view->forceSslLogin = Piwik_Config::getInstance()->General['force_ssl_login']; - $view->addForm( $form ); - $this->configureView($view); - echo $view->render(); } - + /** - * Validate password reset request. If successful, set new password and redirect. - * - * @param string $loginMail user name or email address - * @param string $token password reset token - * @param string $password new password - * @throws Exception - * @return string failure message + * Sets the password for a user. + * + * @param array $user User info. + * @param string $passwordHash The hashed password to use. */ - protected function resetPasswordFormValidated($loginMail, $token, $password) + private function setNewUserPassword( $user, $passwordHash ) { - $user = self::getUserInformation($loginMail); - if( $user === null ) + if (strlen($passwordHash) !== 32) // sanity check { - return Piwik_Translate('Login_InvalidUsernameEmail'); + throw new Exception( + "setNewUserPassword called w/ incorrect password hash. Something has gone terribly wrong."); } - - if(!self::isValidToken($token, $user)) + + if( $user['email'] == Piwik::getSuperUserEmail() ) { - return Piwik_Translate('Login_InvalidOrExpiredToken'); - } - - $view = Piwik_View::factory('passwordchanged'); - try - { - if( $user['email'] == Piwik::getSuperUserEmail() ) + if(!Piwik_Config::getInstance()->isFileWritable()) { - if(!Piwik_Config::getInstance()->isFileWritable()) - { - throw new Exception(Piwik_Translate('General_ConfigFileIsNotWritable', array("(config/config.ini.php)","<br/>"))); - } - - $user['password'] = md5($password); - Piwik_Config::getInstance()->superuser = $user; - Piwik_Config::getInstance()->forceSave(); - } - else - { - Piwik_UsersManager_API::getInstance()->updateUser($user['login'], $password); + throw new Exception(Piwik_Translate('General_ConfigFileIsNotWritable', array("(config/config.ini.php)","<br/>"))); } + + $user['password'] = $passwordHash; + Piwik_Config::getInstance()->superuser = $user; + Piwik_Config::getInstance()->forceSave(); } - catch(Exception $e) + else { - $view->ErrorString = $e->getMessage(); + Piwik_UsersManager_API::getInstance()->updateUser( + $user['login'], $passwordHash, $email = false, $alias = false, $isPasswordHashed = true); } - - $this->configureView($view); - echo $view->render(); - exit; + } + + /** + * The action used after a password is successfully reset. Displays the login + * screen with an extra message. A separate action is used instead of returning + * the HTML in confirmResetPassword so the resetToken won't be in the URL. + */ + public function resetPasswordSuccess() + { + return $this->login($errorMessage = null, $infoMessage = Piwik_Translate('Login_PasswordChanged')); } /** diff --git a/plugins/Login/FormPassword.php b/plugins/Login/FormPassword.php deleted file mode 100644 index 095b0c8d4b..0000000000 --- a/plugins/Login/FormPassword.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Piwik - Open source web analytics - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * @version $Id$ - * - * @category Piwik_Plugins - * @package Piwik_Login - */ - -/** - * - * @package Piwik_Login - */ -class Piwik_Login_FormPassword extends Piwik_QuickForm2 -{ - function __construct( $id = 'lostpasswordform', $method = 'post', $attributes = null, $trackSubmit = false) - { - parent::__construct($id, $method, $attributes, $trackSubmit); - } - - function init() - { - $this->addElement('text', 'form_login') - ->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Login_LoginOrEmail'))); - - $this->addElement('hidden', 'form_nonce'); - - $this->addElement('submit', 'submit'); - } -} diff --git a/plugins/Login/FormResetPassword.php b/plugins/Login/FormResetPassword.php index 49d63cf7a4..fb050ba274 100644 --- a/plugins/Login/FormResetPassword.php +++ b/plugins/Login/FormResetPassword.php @@ -33,21 +33,8 @@ class Piwik_Login_FormResetPassword extends Piwik_QuickForm2 $passwordBis->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Login_PasswordRepeat'))); $passwordBis->addRule('eq', Piwik_Translate( 'Login_PasswordsDoNotMatch'), $password); - $this->addElement('text', 'form_token') - ->addRule('required', Piwik_Translate('General_Required', Piwik_Translate('Login_PasswordResetToken'))); - $this->addElement('hidden', 'form_nonce'); $this->addElement('submit', 'submit'); - - $resetToken = Piwik_Common::getRequestVar('token', '', 'string'); - if(!empty($resetToken)) { - // default values - $this->addDataSource(new HTML_QuickForm2_DataSource_Array(array( - 'form_token' => $resetToken, - ))); - - $this->attributes['action'] = 'index.php' . Piwik_Url::getCurrentQueryStringWithParametersModified( array('token' => null) ); - } } } diff --git a/plugins/Login/Login.php b/plugins/Login/Login.php index 7c8bcbe994..0925045fda 100644 --- a/plugins/Login/Login.php +++ b/plugins/Login/Login.php @@ -138,5 +138,57 @@ class Piwik_Login extends Piwik_Plugin $cookie->save(); @Piwik_Session::regenerateId(); + + // remove password reset entry if it exists + self::removePasswordResetInfo($login); + } + + /** + * Stores password reset info for a specific login. + * + * @param string $login The user login for whom a password change was requested. + * @param string $password The new password to set. + */ + public static function savePasswordResetInfo( $login, $password ) + { + $optionName = self::getPasswordResetInfoOptionName($login); + $optionData = Piwik_UsersManager::getPasswordHash($password); + + Piwik_SetOption($optionName, $optionData); + } + + /** + * Removes stored password reset info if it exists. + * + * @param string $login The user login to check for. + */ + public static function removePasswordResetInfo( $login ) + { + $optionName = self::getPasswordResetInfoOptionName($login); + Piwik_Option::getInstance()->delete($optionName); + } + + /** + * Gets password hash stored in password reset info. + * + * @param string $login The user login to check for. + * @return string|false The hashed password or false if no reset info exists. + */ + public static function getPasswordToResetTo( $login ) + { + $optionName = self::getPasswordResetInfoOptionName($login); + return Piwik_GetOption($optionName); + } + + /** + * Gets the option name for the option that will store a user's password change + * request. + * + * @param string $login The user login for whom a password change was requested. + * @return string + */ + public static function getPasswordResetInfoOptionName( $login ) + { + return $login.'_reset_password_info'; } } diff --git a/plugins/Login/templates/header.tpl b/plugins/Login/templates/header.tpl index 3cd9011b46..1fbb563c67 100644 --- a/plugins/Login/templates/header.tpl +++ b/plugins/Login/templates/header.tpl @@ -34,6 +34,7 @@ </script> {/literal} <script type="text/javascript" src="libs/jquery/jquery.js"></script> + <script type="text/javascript" src="plugins/Login/templates/login.js"></script> {if 'General_LayoutDirection'|translate =='rtl'} <link rel="stylesheet" type="text/css" href="themes/default/rtl.css" /> {/if} diff --git a/plugins/Login/templates/login.css b/plugins/Login/templates/login.css index 7a80a3733c..6f7454812e 100644 --- a/plugins/Login/templates/login.css +++ b/plugins/Login/templates/login.css @@ -24,7 +24,7 @@ form .forgetmenot { margin-bottom: 0; } -#login form .submit input { +#login form input.submit { font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif; padding: 3px 5px; @@ -67,7 +67,8 @@ form p { padding: 16px; } -#form_password,#form_password_bis,#form_login,#user_email,#form_token { +#login_form_password,#reset_form_password,#reset_form_password_bis, +#login_form_login,#reset_form_login { font-size: 20px; width: 97%; padding: 3px; @@ -82,7 +83,7 @@ form p { background-color: #eaf3fa; } -#login form .submit input { +#login form input.submit { background-color: #cee1ef !important; } @@ -91,17 +92,14 @@ form p { border-color: #c00; } -#login form .submit input { +#login form input.submit { background-color: #e5e5e5; color: #246; border-color: #80b5d0; } -#login form .submit input:hover { +#login form input.submit:hover { color: #d54e21; -} - -#login form .submit input:hover { border-color: #328ab2; } @@ -156,3 +154,8 @@ a { margin-left:50px; margin-bottom:30px; } + +.loadingPiwik { + float: left; + margin-left: 16px; +} diff --git a/plugins/Login/templates/login.js b/plugins/Login/templates/login.js new file mode 100755 index 0000000000..28171b47ab --- /dev/null +++ b/plugins/Login/templates/login.js @@ -0,0 +1,107 @@ +/*! + * Piwik - Web Analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +(function($) { + +$(document).ready(function() { + var switchForm = function(fromFormId, toFormId, message, callback) { + var fromLoginInputId = '#'+fromFormId+'_login', + toLoginInputId = '#'+toFormId+'_login', + toPasswordInputId = '#'+toFormId+'_password', + fromLoginNavId = '#'+fromFormId+'_nav', + toLoginNavId = '#'+toFormId+'_nav'; + + if ($(toLoginInputId).val() === '') + { + $(toLoginInputId).val($(fromLoginInputId).val()); + } + + // hide the bottom portion of the login screen & show the password reset bits + $('#'+fromFormId+',#message_container').fadeOut(500, function() { + // show lost password instructions + $('#message_container').html(message); + + $(fromLoginNavId).hide(); + $(toLoginNavId).show(); + $('#'+toFormId+',#message_container').fadeIn(500, function() { + // focus on login or password control based on whether a login exists + if ($(toLoginInputId).val() === '') + { + $(toLoginInputId).focus(); + } + else + { + $(toPasswordInputId).focus(); + } + + if (callback) + { + callback(); + } + }); + }); + }; + + // 'lost your password?' on click + $('#login_form_nav').click(function(e) { + e.preventDefault(); + switchForm('login_form', 'reset_form', $('#lost_password_instructions').html()); + return false; + }); + + // 'cancel' on click + $('#reset_form_nav,#alternate_reset_nav').click(function(e) { + e.preventDefault(); + $('#alternate_reset_nav').hide(); + switchForm('reset_form', 'login_form', ''); + return false; + }); + + // password reset on submit + $('#reset_form_submit').click(function(e) { + e.preventDefault(); + + var ajaxDone = function(response) + { + $('.loadingPiwik').hide(); + + var isSuccess = response.indexOf('id="login_error"') === -1, + fadeOutIds = '#message_container'; + if (isSuccess) + { + fadeOutIds += ',#reset_form,#reset_form_nav'; + } + + $(fadeOutIds).fadeOut(300, function() { + if (isSuccess) + { + $('#alternate_reset_nav').show(); + } + + $('#message_container').html(response).fadeIn(300); + }); + }; + + $('.loadingPiwik').show(); + + // perform reset password request + $.ajax({ + type: 'POST', + url: 'index.php', + dataType: 'html', + async: true, + error: function() { ajaxDone('<div id="login_error"><strong>HTTP Error</strong></div>'); }, + success: ajaxDone, // Callback when the request succeeds + data: $('#reset_form').serialize() + }); + + return false; + }); + + $('#login_form_login').focus(); +}); + +}(jQuery)); diff --git a/plugins/Login/templates/login.tpl b/plugins/Login/templates/login.tpl index fb0b93e58b..cdcef19db3 100644 --- a/plugins/Login/templates/login.tpl +++ b/plugins/Login/templates/login.tpl @@ -2,39 +2,74 @@ <div id="login"> -{if $form_data.errors} -<div id="login_error"> - {foreach from=$form_data.errors item=data} - <strong>{'General_Error'|translate}</strong>: {$data}<br /> - {/foreach} -</div> -{/if} +<div id="message_container"> + {if $form_data.errors} + <div id="login_error"> + {foreach from=$form_data.errors item=data} + <strong>{'General_Error'|translate}</strong>: {$data}<br /> + {/foreach} + </div> + {/if} -{if $AccessErrorString} -<div id="login_error"><strong>{'General_Error'|translate}</strong>: {$AccessErrorString}<br /></div> -{/if} + {if $AccessErrorString} + <div id="login_error"><strong>{'General_Error'|translate}</strong>: {$AccessErrorString}<br /></div> + {/if} -<form {$form_data.attributes}> + {if $infoMessage} + <p class="message">{$infoMessage}</p> + {/if} +</div> + +<form id="login_form" {$form_data.attributes}> <p> - <label>{'General_Username'|translate}:<br /> - <input type="text" name="form_login" id="form_login" class="input" value="" size="20" tabindex="10" /> - <input type="hidden" name="form_nonce" id="form_nonce" value="{$nonce}" /></label> + <label>{'General_Username'|translate}:<br/> + <input type="text" name="form_login" id="login_form_login" class="input" value="" size="20" tabindex="10" /> + <input type="hidden" name="form_nonce" id="login_form_nonce" value="{$nonce}" /></label> </p> <p> <label>{'Login_Password'|translate}:<br /> - <input type="password" name="form_password" id="form_password" class="input" value="" size="20" tabindex="20" /></label> + <input type="password" name="form_password" id="login_form_password" class="input" value="" size="20" tabindex="20" /></label> </p> + <p class="forgetmenot"> - <label><input name="form_rememberme" type="checkbox" id="form_rememberme" value="1" tabindex="90" {if $form_data.form_rememberme.value}checked="checked" {/if}/> {'Login_RememberMe'|translate} </label> + <label><input name="form_rememberme" type="checkbox" id="login_form_rememberme" value="1" tabindex="90" {if $form_data.form_rememberme.value}checked="checked" {/if}/> {'Login_RememberMe'|translate} </label> </p> - <p class="submit"> - <input type="submit" value="{'Login_LogIn'|translate}" tabindex="100" /> + <p> + <input class="submit" id='login_form_submit' type="submit" value="{'Login_LogIn'|translate}" tabindex="100" /> </p> </form> +<form id="reset_form" style="display:none;"> + <p> + <label>{'Login_LoginOrEmail'|translate}:<br /> + <input type="text" name="form_login" id="reset_form_login" class="input" value="" size="20" tabindex="10" /> + <input type="hidden" name="form_nonce" id="reset_form_nonce" value="{$nonce}" /></label> + </p> + + <p> + <label>{'Login_Password'|translate}:<br /> + <input type="password" name="form_password" id="reset_form_password" class="input" value="" size="20" tabindex="20" /></label> + </p> + + <p> + <label>{'Login_PasswordRepeat'|translate}:<br /> + <input type="password" name="form_password_bis" id="reset_form_password_bis" class="input" value="" size="20" tabindex="30" /></label> + </p> + + <p> + <span class="loadingPiwik" style="display:none;"><img src="themes/default/images/loading-blue.gif" /></span> + <input class="submit" id='reset_form_submit' type="submit" value="{'Login_ChangePassword'|translate}" tabindex="100"/> + </p> + + <input type="hidden" name="module" value="Login"/> + <input type="hidden" name="action" value="resetPassword"/> +</form> + <p id="nav"> -<a href="index.php?module=Login&action=lostPassword" title="{'Login_LostYourPassword'|translate}">{'Login_LostYourPassword'|translate}</a> +<a id="login_form_nav" href="#" title="{'Login_LostYourPassword'|translate}">{'Login_LostYourPassword'|translate}</a> +<a id="reset_form_nav" href="#" style="display:none;" title="{'Mobile_NavigationBack'|translate}">{'General_Cancel'|translate}</a> +<a id="alternate_reset_nav" href="#" style="display:none;" title="{'Login_LogIn'|translate}">{'Login_LogIn'|translate}</a> </p> {if isset($smarty.capture.poweredByPiwik)} <p id="piwik"> @@ -42,9 +77,10 @@ </p> {/if} - +<div id="lost_password_instructions" style="display:none;"> + <p class="message">{'Login_ResetPasswordInstructions'|translate}</p> </div> - +</div> </body> </html> diff --git a/plugins/Login/templates/lostPassword.tpl b/plugins/Login/templates/lostPassword.tpl deleted file mode 100644 index 3898e5034a..0000000000 --- a/plugins/Login/templates/lostPassword.tpl +++ /dev/null @@ -1,39 +0,0 @@ -{include file="Login/templates/header.tpl"} - -<div id="login"> - -{if $form_data.errors} -<div id="login_error"> - {foreach from=$form_data.errors item=data} - <strong>{'General_Error'|translate}</strong>: {$data}<br /> - {/foreach} -</div> -{/if} - -{if $AccessErrorString} -<div id="login_error"><strong>{'General_Error'|translate}</strong>: {$AccessErrorString}<br /></div> -{/if} - -<p class="message"> -{'Login_PasswordReminder'|translate} -</p> - -<form {$form_data.attributes}> - <p> - <label>{'Login_LoginOrEmail'|translate}:<br /> - <input type="text" name="form_login" id="form_login" class="input" value="" size="20" tabindex="10" /></label> - <input type="hidden" name="form_nonce" id="form_nonce" value="{$nonce}" /></label> - </p> - <p class="submit"> - <input type="submit" value="{'Login_RemindPassword'|translate}" tabindex="100" /> - </p> -</form> - -<p id="nav"> -<a href="index.php?module=Login" title="{'Login_LogIn'|translate}">{'Login_LogIn'|translate}</a> -</p> - -</div> - -</body> -</html> diff --git a/plugins/Login/templates/message.tpl b/plugins/Login/templates/message.tpl new file mode 100755 index 0000000000..7b85147d8f --- /dev/null +++ b/plugins/Login/templates/message.tpl @@ -0,0 +1,11 @@ +{if isset($infoMessage)} +<p class="message">{$infoMessage}</p> +{/if} +{if isset($formErrors)} +<p id="login_error"> + {foreach from=$formErrors item=data} + <strong>{'General_Error'|translate}</strong>: {$data}<br /> + {/foreach} +</p> +{/if} + diff --git a/plugins/Login/templates/passwordchanged.tpl b/plugins/Login/templates/passwordchanged.tpl deleted file mode 100644 index bc55d94f15..0000000000 --- a/plugins/Login/templates/passwordchanged.tpl +++ /dev/null @@ -1,21 +0,0 @@ -{include file="Login/templates/header.tpl"} - -<div id="login"> - -{if isset($ErrorString)} - <div id="login_error"><strong>{'General_Error'|translate}</strong>: {$ErrorString}<br /> - </div> -{else} - <p class="message"> - {'Login_PasswordSuccessfullyChanged'|translate} - </p> -{/if} - -<p id="nav"> -<a href="index.php?module=Login" title="{'Login_LogIn'|translate}">{'Login_LogIn'|translate}</a> -</p> - -</div> - -</body> -</html> diff --git a/plugins/Login/templates/passwordsent.tpl b/plugins/Login/templates/passwordsent.tpl deleted file mode 100644 index 7529c57f24..0000000000 --- a/plugins/Login/templates/passwordsent.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{include file="Login/templates/header.tpl"} - -<div id="login"> - -{if isset($ErrorString)} - <div id="login_error"><strong>{'General_Error'|translate}</strong>: {$ErrorString}<br /> - {'Login_ContactAdmin'|translate} - </div> -{else} - <p class="message"> - {'Login_PasswordSent'|translate} - </p> -{/if} - -<p id="nav"> -<a href="index.php?module=Login" title="{'Login_LogIn'|translate}">{'Login_LogIn'|translate}</a> -</p> - -</div> - -</body> -</html> diff --git a/plugins/Login/templates/resetPassword.tpl b/plugins/Login/templates/resetPassword.tpl deleted file mode 100644 index 36a3ff8aa5..0000000000 --- a/plugins/Login/templates/resetPassword.tpl +++ /dev/null @@ -1,51 +0,0 @@ -{include file="Login/templates/header.tpl"} - -<div id="login"> - -{if $form_data.errors} -<div id="login_error"> - {foreach from=$form_data.errors item=data} - <strong>{'General_Error'|translate}</strong>: {$data}<br /> - {/foreach} -</div> -{/if} - -{if $AccessErrorString} -<div id="login_error"><strong>{'General_Error'|translate}</strong>: {$AccessErrorString}<br /></div> -{/if} - -<form {$form_data.attributes}> - <p> - <label>{'Login_LoginOrEmail'|translate}:<br /> - <input type="text" name="form_login" id="form_login" class="input" value="" size="20" tabindex="10" /></label> - <input type="hidden" name="form_nonce" id="form_nonce" value="{$nonce}" /></label> - </p> - - <p> - <label>{'Login_Password'|translate}:<br /> - <input type="password" name="form_password" id="form_password" class="input" value="" size="20" tabindex="20" /></label> - </p> - - <p> - <label>{'Login_PasswordRepeat'|translate}:<br /> - <input type="password" name="form_password_bis" id="form_password_bis" class="input" value="" size="20" tabindex="30" /></label> - </p> - - <p> - <label>{'Login_PasswordResetToken'|translate}:<br /> - <input type="text" name="form_token" id="form_token" class="input" value="{$form_data.form_token.value}" size="20" tabindex="40" /></label> - </p> - - <p class="submit"> - <input type="submit" value="{'Login_ChangePassword'|translate}" tabindex="100" /> - </p> -</form> - -<p id="nav"> -<a href="index.php?module=Login&action=lostPassword" title="{'Login_LostYourPassword'|translate}">{'Login_LostYourPassword'|translate}</a> -</p> - -</div> - -</body> -</html> diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php index ee28df7216..5daded88c2 100644 --- a/plugins/UsersManager/API.php +++ b/plugins/UsersManager/API.php @@ -315,16 +315,6 @@ class Piwik_UsersManager_API Piwik::checkValidLoginString($userLogin); } - private function checkPassword($password) - { - if(!$this->isValidPasswordString($password)) - { - throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidPassword', array(self::PASSWORD_MIN_LENGTH, self::PASSWORD_MAX_LENGTH))); - } - } - const PASSWORD_MIN_LENGTH = 6; - const PASSWORD_MAX_LENGTH = 26; - private function checkEmail($email) { if($this->userEmailExists($email)) @@ -347,13 +337,6 @@ class Piwik_UsersManager_API return $alias; } - private function getCleanPassword($password) - { - // if change here, should also edit the installation process - // to change how the root pwd is saved in the config file - return md5($password); - } - /** * Add a user in the database. * A user is defined by @@ -378,10 +361,10 @@ class Piwik_UsersManager_API $this->checkEmail($email); $password = Piwik_Common::unsanitizeInputValue($password); - $this->checkPassword($password); + Piwik_UsersManager::checkPassword($password); $alias = $this->getCleanAlias($alias,$userLogin); - $passwordTransformed = $this->getCleanPassword($password); + $passwordTransformed = Piwik_UsersManager::getPasswordHash($password); $token_auth = $this->getTokenAuth($userLogin, $passwordTransformed); @@ -412,7 +395,8 @@ class Piwik_UsersManager_API * * @see addUser() for all the parameters */ - public function updateUser( $userLogin, $password = false, $email = false, $alias = false ) + public function updateUser( $userLogin, $password = false, $email = false, $alias = false, + $_isPasswordHashed = false ) { Piwik::checkUserIsSuperUserOrTheUser($userLogin); $this->checkUserIsNotAnonymous( $userLogin ); @@ -426,8 +410,11 @@ class Piwik_UsersManager_API else { $password = Piwik_Common::unsanitizeInputValue($password); - $this->checkPassword($password); - $password = $this->getCleanPassword($password); + if (!$_isPasswordHashed) + { + Piwik_UsersManager::checkPassword($password); + $password = Piwik_UsersManager::getPasswordHash($password); + } } if(empty($alias)) @@ -704,21 +691,4 @@ class Piwik_UsersManager_API } return md5($userLogin . $md5Password ); } - - /** - * Returns true if the password is complex enough (at least 6 characters and max 26 characters) - * - * @param string email - * @return bool - */ - private function isValidPasswordString( $input ) - { - if(!Piwik::isChecksEnabled() - && !empty($input)) - { - return true; - } - $l = strlen($input); - return $l >= self::PASSWORD_MIN_LENGTH && $l <= self::PASSWORD_MAX_LENGTH; - } } diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php index 0ffb7336ab..05aa24050b 100644 --- a/plugins/UsersManager/UsersManager.php +++ b/plugins/UsersManager/UsersManager.php @@ -17,6 +17,9 @@ */ class Piwik_UsersManager extends Piwik_Plugin { + const PASSWORD_MIN_LENGTH = 6; + const PASSWORD_MAX_LENGTH = 26; + /** * Plugin information * @@ -118,4 +121,36 @@ class Piwik_UsersManager extends Piwik_Plugin Piwik::isUserHasSomeViewAccess(), $order = 1); } + + /** + * Returns true if the password is complex enough (at least 6 characters and max 26 characters) + * + * @param string email + * @return bool + */ + public static function isValidPasswordString( $input ) + { + if(!Piwik::isChecksEnabled() + && !empty($input)) + { + return true; + } + $l = strlen($input); + return $l >= self::PASSWORD_MIN_LENGTH && $l <= self::PASSWORD_MAX_LENGTH; + } + + public static function checkPassword($password) + { + if(!self::isValidPasswordString($password)) + { + throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidPassword', array(self::PASSWORD_MIN_LENGTH, self::PASSWORD_MAX_LENGTH))); + } + } + + public static function getPasswordHash($password) + { + // if change here, should also edit the installation process + // to change how the root pwd is saved in the config file + return md5($password); + } } diff --git a/tests/PHPUnit/Plugins/LanguagesManagerTest.php b/tests/PHPUnit/Plugins/LanguagesManagerTest.php index 4bd0d655b3..1ff2be3ecc 100755 --- a/tests/PHPUnit/Plugins/LanguagesManagerTest.php +++ b/tests/PHPUnit/Plugins/LanguagesManagerTest.php @@ -127,7 +127,7 @@ class Test_LanguagesManager extends PHPUnit_Framework_TestCase if(!empty($cleanedStrings[$stringLabel])) { $stringNoLineBreak = trim($cleanedStrings[$stringLabel]); - if($stringLabel != 'Login_MailPasswordRecoveryBody') + if($stringLabel != 'Login_MailPasswordChangeBody') { $stringNoLineBreak = str_replace(array("\n", "\r"), " ", $stringNoLineBreak); } diff --git a/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml b/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml index 73d111aec8..b353eb5bb7 100644 --- a/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml +++ b/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml @@ -3613,26 +3613,10 @@ <value>Mot de passe perdu ?</value> </row> <row> - <label>Login_RemindPassword</label> - <value>Rappeler le mot de passe</value> - </row> - <row> - <label>Login_PasswordResetToken</label> - <value>Clef de remise à zéro du mot de passe</value> - </row> - <row> - <label>Login_PasswordReminder</label> - <value>Entrez un nom d'utilisateur ou un courriel valide, vous recevrez votre nouveau mot de passe par courriel.</value> - </row> - <row> <label>Login_PasswordsDoNotMatch</label> <value>Les mots de passe ne correspondent pas.</value> </row> <row> - <label>Login_PasswordSuccessfullyChanged</label> - <value>Mot de passe modifié avec succès!</value> - </row> - <row> <label>Login_InvalidUsernameEmail</label> <value>Nom d'utilisateur et/ou courriel invalide.</value> </row> @@ -3645,18 +3629,6 @@ <value>La clef est invalide ou a expiré</value> </row> <row> - <label>Login_MailTopicPasswordRecovery</label> - <value>Récupération du mot de passe</value> - </row> - <row> - <label>Login_MailPasswordRecoveryBody</label> - <value>Bonjour %1$s, Une requête de remise à zéro du mot de passe a été reçue depuis %2$s. Pour remettre à zéro le mot de passe: 1) Rendez vous au formulaire de remise à zéro du mot de passe à l'adresse : %3$s 2) Entrez la clef suivante: %4$s 3) Remplissez le formulaire (en entrant deux fois votre nouveaux mot de passe) et soumettez le.Note: cette clef expirera dans 24h.</value> - </row> - <row> - <label>Login_PasswordSent</label> - <value>Le mot de passe vient juste d'être envoyé. Veuillez vérifier vos courriels.</value> - </row> - <row> <label>Login_ContactAdmin</label> <value>Raison possible : Votre hébergeur peut avoir désactivé la fonction mail(). <br /> Veuillez contacter votre administrateur Piwik.</value> </row> |