Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/Access.php1
-rw-r--r--core/QuickForm2.php25
-rw-r--r--core/View.php16
-rw-r--r--lang/am.php4
-rw-r--r--lang/ar.php7
-rw-r--r--lang/be.php7
-rw-r--r--lang/bg.php7
-rw-r--r--lang/ca.php7
-rw-r--r--lang/cs.php7
-rw-r--r--lang/da.php21
-rw-r--r--lang/de.php7
-rw-r--r--lang/el.php7
-rw-r--r--lang/en.php45
-rw-r--r--lang/es.php7
-rw-r--r--lang/et.php4
-rw-r--r--lang/eu.php35
-rw-r--r--lang/fa.php7
-rw-r--r--lang/fi.php7
-rw-r--r--lang/fr.php7
-rw-r--r--lang/gl.php4
-rw-r--r--lang/he.php4
-rw-r--r--lang/hu.php7
-rw-r--r--lang/id.php21
-rw-r--r--lang/is.php5
-rw-r--r--lang/it.php7
-rw-r--r--lang/ja.php7
-rw-r--r--lang/ka.php7
-rw-r--r--lang/ko.php4
-rw-r--r--lang/lt.php7
-rw-r--r--lang/lv.php6
-rw-r--r--lang/nb.php5
-rw-r--r--lang/nl.php7
-rw-r--r--lang/nn.php5
-rw-r--r--lang/pl.php21
-rw-r--r--lang/pt-br.php7
-rw-r--r--lang/pt.php7
-rw-r--r--lang/ro.php6
-rw-r--r--lang/ru.php21
-rw-r--r--lang/sk.php7
-rw-r--r--lang/sl.php3
-rw-r--r--lang/sq.php7
-rw-r--r--lang/sr.php7
-rw-r--r--lang/sv.php7
-rw-r--r--lang/th.php7
-rw-r--r--lang/tr.php6
-rw-r--r--lang/uk.php7
-rw-r--r--lang/zh-cn.php7
-rw-r--r--lang/zh-tw.php7
-rw-r--r--plugins/Login/Controller.php292
-rw-r--r--plugins/Login/FormPassword.php33
-rw-r--r--plugins/Login/FormResetPassword.php13
-rw-r--r--plugins/Login/Login.php52
-rw-r--r--plugins/Login/templates/header.tpl1
-rw-r--r--plugins/Login/templates/login.css19
-rwxr-xr-xplugins/Login/templates/login.js107
-rw-r--r--plugins/Login/templates/login.tpl78
-rw-r--r--plugins/Login/templates/lostPassword.tpl39
-rwxr-xr-xplugins/Login/templates/message.tpl11
-rw-r--r--plugins/Login/templates/passwordchanged.tpl21
-rw-r--r--plugins/Login/templates/passwordsent.tpl22
-rw-r--r--plugins/Login/templates/resetPassword.tpl51
-rw-r--r--plugins/UsersManager/API.php48
-rw-r--r--plugins/UsersManager/UsersManager.php35
-rwxr-xr-xtests/PHPUnit/Plugins/LanguagesManagerTest.php2
-rw-r--r--tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml28
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&amp;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&amp;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(). &lt;br /&gt; Veuillez contacter votre administrateur Piwik.</value>
</row>