diff --git a/plugins/admin/CHANGELOG.md b/plugins/admin/CHANGELOG.md
index 5183336..a7e2136 100644
--- a/plugins/admin/CHANGELOG.md
+++ b/plugins/admin/CHANGELOG.md
@@ -1,3 +1,9 @@
+# v1.10.42
+## 06/14/2023
+
+1. [](#new)
+ * Added a couple of string translations
+
# v1.10.41.2
## 05/11/2023
diff --git a/plugins/admin/blueprints.yaml b/plugins/admin/blueprints.yaml
index ab6f115..41dae90 100644
--- a/plugins/admin/blueprints.yaml
+++ b/plugins/admin/blueprints.yaml
@@ -1,7 +1,7 @@
name: Admin Panel
slug: admin
type: plugin
-version: 1.10.41.2
+version: 1.10.42
description: Adds an advanced administration panel to manage your site
icon: empire
author:
@@ -15,7 +15,7 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md
license: MIT
dependencies:
- - { name: grav, version: '>=1.7.41' }
+ - { name: grav, version: '>=1.7.42' }
- { name: form, version: '>=6.0.1' }
- { name: login, version: '>=3.7.0' }
- { name: email, version: '>=3.1.6' }
diff --git a/plugins/admin/languages/en.yaml b/plugins/admin/languages/en.yaml
index 288c682..1235a11 100644
--- a/plugins/admin/languages/en.yaml
+++ b/plugins/admin/languages/en.yaml
@@ -107,7 +107,6 @@ PLUGIN_ADMIN:
BACKUP_DELETED: "Backup Successfully Deleted"
BACKUP_NOT_FOUND: "Backup Not Found"
BACKUP_DATE: "Backup Date"
-
STATISTICS: "Statistics"
VIEWS_STATISTICS: "Page View Statistics"
TODAY: "Today"
@@ -207,11 +206,13 @@ PLUGIN_ADMIN:
PASSWORD: "Password"
PASSWORD_CONFIRM: "Confirm Password"
TITLE: "Title"
- LANGUAGE: "Language"
ACCOUNT: "Account"
EMAIL_VALIDATION_MESSAGE: "Must be a valid email address"
PASSWORD_VALIDATION_MESSAGE: "Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters"
+ LANGUAGE: "Language"
LANGUAGE_HELP: "Set the favorite language"
+ LANGUAGE_DEBUG: "Debug language"
+ LANGUAGE_DEBUG_HELP: "Enable the debug of languages which are using the |t twig filter by adding a span around them that can be styled to help diagnose issues"
MEDIA: "Media"
DEFAULTS: "Defaults"
SITE_TITLE: "Site Title"
diff --git a/plugins/devtools/CHANGELOG.md b/plugins/devtools/CHANGELOG.md
index bcfb483..21f7dfc 100644
--- a/plugins/devtools/CHANGELOG.md
+++ b/plugins/devtools/CHANGELOG.md
@@ -1,3 +1,9 @@
+# v1.7.1
+## 06/14/2023
+
+1. [](#improved)
+ * Removed platform-config [#81](https://github.com/getgrav/grav-plugin-devtools/pull/81)
+
# v1.7.0
## 02/15/2023
diff --git a/plugins/devtools/blueprints.yaml b/plugins/devtools/blueprints.yaml
index 6f026d0..98eda91 100644
--- a/plugins/devtools/blueprints.yaml
+++ b/plugins/devtools/blueprints.yaml
@@ -1,7 +1,7 @@
name: DevTools
slug: devtools
type: plugin
-version: 1.7.0
+version: 1.7.1
description: Plugin and Theme scaffolding utilities
icon: cogs
author:
diff --git a/plugins/devtools/classes/DevToolsCommand.php b/plugins/devtools/classes/DevToolsCommand.php
index 9d29e5a..ea036f9 100644
--- a/plugins/devtools/classes/DevToolsCommand.php
+++ b/plugins/devtools/classes/DevToolsCommand.php
@@ -308,11 +308,16 @@ class DevToolsCommand extends ConsoleCommand
{
switch ($type) {
case 'name':
- // Check If name
+ // Check if name is empty
if ($value === null || trim($value) === '') {
throw new \RuntimeException('Name cannot be empty');
}
+ // Check if name starts with a numeric character
+ if (is_numeric($value[0])) {
+ throw new \RuntimeException('Name must start with an alphabetic character (A-Z, a-z)');
+ }
+
if (!$this->options['offline']) {
// Check for name collision with online gpm.
if (false !== $this->gpm->findPackage($value)) {
diff --git a/plugins/devtools/components/plugin/blank/composer.json.twig b/plugins/devtools/components/plugin/blank/composer.json.twig
index 14cfe4f..28d8691 100644
--- a/plugins/devtools/components/plugin/blank/composer.json.twig
+++ b/plugins/devtools/components/plugin/blank/composer.json.twig
@@ -21,10 +21,5 @@
"Grav\\Plugin\\{{ component.name|camelize }}\\": "classes/"
},
"classmap": ["{{ component.name|hyphenize }}.php"]
- },
- "config": {
- "platform": {
- "php": "7.1.3"
- }
}
}
diff --git a/plugins/devtools/components/plugin/flex/composer.json.twig b/plugins/devtools/components/plugin/flex/composer.json.twig
index 14cfe4f..28d8691 100644
--- a/plugins/devtools/components/plugin/flex/composer.json.twig
+++ b/plugins/devtools/components/plugin/flex/composer.json.twig
@@ -21,10 +21,5 @@
"Grav\\Plugin\\{{ component.name|camelize }}\\": "classes/"
},
"classmap": ["{{ component.name|hyphenize }}.php"]
- },
- "config": {
- "platform": {
- "php": "7.1.3"
- }
}
}
diff --git a/plugins/login/CHANGELOG.md b/plugins/login/CHANGELOG.md
index 6bc6ad4..bd230d5 100644
--- a/plugins/login/CHANGELOG.md
+++ b/plugins/login/CHANGELOG.md
@@ -1,3 +1,10 @@
+# v3.7.5
+## 06/14/2023
+
+1. [](#bugfix)
+ * Sanitized `email` during the "forgot password" process to protect against XSS attacks
+ * Fixed an account enumeration vulneratiblity in forgot password [#293](https://github.com/getgrav/grav-plugin-login/pull/293)
+
# v3.7.4
## 05/09/2023
diff --git a/plugins/login/blueprints.yaml b/plugins/login/blueprints.yaml
index e6b1b20..bd7b61b 100644
--- a/plugins/login/blueprints.yaml
+++ b/plugins/login/blueprints.yaml
@@ -1,7 +1,7 @@
name: Login
slug: login
type: plugin
-version: 3.7.4
+version: 3.7.5
testing: false
description: Enables user authentication and login screen.
icon: sign-in
diff --git a/plugins/login/classes/Controller.php b/plugins/login/classes/Controller.php
index e5cffda..9421cdd 100644
--- a/plugins/login/classes/Controller.php
+++ b/plugins/login/classes/Controller.php
@@ -351,6 +351,10 @@ class Controller
$users = $this->grav['accounts'];
$email = $data['email'] ?? '';
+
+ // Sanitize $email
+ $email = htmlspecialchars(strip_tags($email), ENT_QUOTES, 'UTF-8');
+
$user = !empty($email) ? $users->find($email, ['email']) : null;
/** @var Language $language */
@@ -364,29 +368,6 @@ class Controller
return true;
}
- if (!$user || !$user->exists()) {
- $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_USERNAME_DOES_NOT_EXIST', $email]), 'error');
- $this->setRedirect($this->login->getRoute('forgot') ?? '/');
-
- return true;
- }
-
- if (empty($user->email)) {
- $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL', $email]),
- 'error');
- $this->setRedirect($this->login->getRoute('forgot') ?? '/');
-
- return true;
- }
-
- if (empty($user->password) && empty($user->hashed_password)) {
- $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD', $email]),
- 'error');
- $this->setRedirect($this->login->getRoute('forgot') ?? '/');
-
- return true;
- }
-
$from = $config->get('plugins.email.from');
if (empty($from)) {
diff --git a/plugins/login/languages/de.yaml b/plugins/login/languages/de.yaml
index 1af8a8b..c353d84 100644
--- a/plugins/login/languages/de.yaml
+++ b/plugins/login/languages/de.yaml
@@ -21,9 +21,6 @@ PLUGIN_LOGIN:
RESET_INVALID_LINK: "Es wurde ein ungültiger Link zum Zurücksetzen verwendet. Bitte erneut versuchen."
FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Die Anweisungen zum Zurücksetzen Ihres Passworts wurden per E-Mail gesendet."
FORGOT_FAILED_TO_EMAIL: "Das Versenden der Anweisung per E-Mail ist fehlgeschlagen. Bitte später erneut versuchen."
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Das Passwort für %s kann nicht zurückgesetzt werden. Es ist keine E-Mail-Adresse hinterlegt."
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Das Passwort für %s kann nicht zurückgesetzt werden. Diese E-Mail ist mit einem Remote-Account verknüpft."
- FORGOT_USERNAME_DOES_NOT_EXIST: "Der Benutzer mit dem Benutzername %s existiert nicht."
FORGOT_EMAIL_NOT_CONFIGURED: "Das Passwort kann nicht zurückgesetzt werden, da die Website ist nicht zum Versenden von E-Mails konfiguriert."
FORGOT_EMAIL_SUBJECT: "Passwort zurückzusetzen für %s"
FORGOT_EMAIL_BODY: "
Passwort Zurücksetzen
Hallo %1$s,
Es wurde ein Anfrage auf %4$s gestellt, um Ihr Passwort zu ändern.
Klicken Sie hier, um Ihr Passwort zurückzusetzen
Alternativ kopieren Sie die folgende URL in die Adresszeile Ihres Browsers:
%2$s
Mit freundlichen Grüßen,
%3$s
"
diff --git a/plugins/login/languages/en.yaml b/plugins/login/languages/en.yaml
index 895ba26..c3eb1f1 100644
--- a/plugins/login/languages/en.yaml
+++ b/plugins/login/languages/en.yaml
@@ -18,11 +18,8 @@ PLUGIN_LOGIN:
RESET_LINK_EXPIRED: "Reset link has expired, please try again"
RESET_PASSWORD_RESET: "Password has been reset"
RESET_INVALID_LINK: "Invalid reset link used, please try again"
- FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instructions to reset your password have been sent via email"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "If an account exists, instructions on resetting your password have been sent via email"
FORGOT_FAILED_TO_EMAIL: "Failed to email instructions, please try again later"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Cannot reset password for %s, no email address is set"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Cannot reset password for %s, this email is associated with a remote account"
- FORGOT_USERNAME_DOES_NOT_EXIST: "User with username %s does not exist"
FORGOT_EMAIL_NOT_CONFIGURED: "Cannot reset password. This site is not configured to send emails"
FORGOT_EMAIL_SUBJECT: "%s Password Reset Request"
FORGOT_EMAIL_BODY: "Password Reset
Dear %1$s,
A request was made on %4$s to reset your password.
Click this to reset your password
Alternatively, copy the following URL into your browser's address bar:
%2$s
Kind regards,
%3$s
"
diff --git a/plugins/login/languages/es.yaml b/plugins/login/languages/es.yaml
index eb9a27d..ed4aa95 100644
--- a/plugins/login/languages/es.yaml
+++ b/plugins/login/languages/es.yaml
@@ -19,10 +19,8 @@ PLUGIN_LOGIN:
RESET_LINK_EXPIRED: "El enlace para la restauración ha caducado, inténtelo de nuevo."
RESET_PASSWORD_RESET: "La contraseña ha sido restaurada"
RESET_INVALID_LINK: "Ha utilizado un enlace de restauración inválido, inténtelo de nuevo."
- FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instructions to reset your password have been sent via email"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "If an account exists, instructions on resetting your password have been sent via email"
FORGOT_FAILED_TO_EMAIL: "No se ha podido enviar el email con instrucciones, inténtelo de nuevo."
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "No se puede restaurar la contraseña para %s, no hay dirección de email."
- FORGOT_USERNAME_DOES_NOT_EXIST: "No existe ningún usuario con el nombre %s."
FORGOT_EMAIL_NOT_CONFIGURED: "No se puede restaurar la contraseña. Este sitio no está configurado para enviar emails."
FORGOT_EMAIL_SUBJECT: "%s solicitud de restauración de contraseña"
FORGOT_EMAIL_BODY: "Restauración de contraseña
Estimado/a %1$s,
Se ha realizado una petición de restauración de contraseña en %4$s.
Pulse aquí para restaurar su contraseña
Como alternativa puede copiar la siguiente URL en la barra de direcciones de su navegador:
%2$s
Saludos cordiales,
%3$s
"
diff --git a/plugins/login/languages/fr.yaml b/plugins/login/languages/fr.yaml
index f98c5ac..8ee745f 100644
--- a/plugins/login/languages/fr.yaml
+++ b/plugins/login/languages/fr.yaml
@@ -19,8 +19,6 @@ PLUGIN_LOGIN:
RESET_INVALID_LINK: "Le lien de réinitialisation utilisé n’est pas valide, veuillez réessayer"
FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Les instructions pour la réinitialisation de votre mot de passe ont été envoyées par e-mail"
FORGOT_FAILED_TO_EMAIL: "Impossible d’envoyer les instructions, veuillez réessayer ultérieurement"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Impossible de réinitialiser le mot de passe pour %s, aucune adresse e-mail n’a été paramétrée"
- FORGOT_USERNAME_DOES_NOT_EXIST: "L’utilisateur avec le nom d’utilisateur %s n’existe pas"
FORGOT_EMAIL_NOT_CONFIGURED: "Impossible de réinitialiser le mot de passe. Ce site n’est pas configuré pour envoyer des e-mails"
FORGOT_EMAIL_SUBJECT: "Demande de réinitialisation de mot de passe %s"
FORGOT_EMAIL_BODY: "Réinitialisation de mot de passe
%1$s,
Une demande a été faite sur %4$s pour la réinitialisation de votre mot de passe.
Cliquez ici pour réinitialiser votre mot de passe
Vous pouvez également copier l’URL suivante dans la barre d’adresse de votre navigateur :
%2$s
Cordialement,
%3$s
"
diff --git a/plugins/login/languages/lt.yaml b/plugins/login/languages/lt.yaml
index 12be54a..b29415e 100644
--- a/plugins/login/languages/lt.yaml
+++ b/plugins/login/languages/lt.yaml
@@ -18,12 +18,9 @@ PLUGIN_LOGIN:
RESET_LINK_EXPIRED: "Atstatymo nuoroda nebegalioja, bandykite dar kartą"
RESET_PASSWORD_RESET: "Slaptažodis atstatytas"
RESET_INVALID_LINK: "Panaudota neteisinga atstatymo nuoroda, bandykite dar kartą"
- FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Slaptažodžio atstatymo instrukcijos buvo išsiųstos el. paštu"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Jeigu vartotojo paskyra egzistuoja, slaptažodžio atstatymo instrukcijos buvo išsiųstos el. paštu"
FORGOT_FAILED_TO_EMAIL: "Instrukcijų išsiuntimas nepavyko, bandykite dar kartą"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Negalima atstatyti %s slaptažodžio, nenurodytas el. paštas"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Negalima atstatyti %s slaptažodžio, šis el. paštas susietas su nuotoline paskyra"
- FORGOT_USERNAME_DOES_NOT_EXIST: "Vartotojas vardu %s neegzistuoja"
- FORGOT_EMAIL_NOT_CONFIGURED: "Negalima tastatyti slaptažodžio. Ši svetainė nenustatyta siųsti el. laiškus"
+ FORGOT_EMAIL_NOT_CONFIGURED: "Negalima atstatyti slaptažodžio. Ši svetainė nenustatyta siųsti el. laiškus"
FORGOT_EMAIL_SUBJECT: "%s slaptažodžio atstatymo užklausa"
FORGOT_EMAIL_BODY: "Slaptažodis atstatytas
Miela(s) %1$s,
%4$s buvo gauta užklausa jūsų slaptažodžio atstatymui.
Paspauskite čia norėdami atstatyti slaptažodį
Taip pat galite nukopijuoti sekančią nuorodą į savo naršyklės adreso juostą:
%2$s
Linkėjimai,
%3$s
"
SESSION: "“Prisiminti mane”-sesija"
diff --git a/plugins/login/languages/no.yaml b/plugins/login/languages/no.yaml
index a8ca03a..098a361 100644
--- a/plugins/login/languages/no.yaml
+++ b/plugins/login/languages/no.yaml
@@ -21,8 +21,6 @@ PLUGIN_LOGIN:
RESET_INVALID_LINK: "Ugyldig ilbakestillingslenke, vennligst prøv igjen"
FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instruksjoner for å tilbakestille passordet ditt er sendt via e-post"
FORGOT_FAILED_TO_EMAIL: "Kunne ikke sende instruksjoner, prøv igjen senere"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Kan ikke tilbakestille passord for %s, ingen e-postadresse er angitt"
- FORGOT_USERNAME_DOES_NOT_EXIST: "Bruker med brukernavn %s b> eksisterer ikke"
FORGOT_EMAIL_NOT_CONFIGURED: "Kan ikke tilbakestille passord. Dette nettstedet er ikke konfigurert til å sende e-post"
FORGOT_EMAIL_SUBJECT: "Forespørsel om tilbakestilling av passord for %s"
FORGOT_EMAIL_BODY: "Tilbekestilling av passord
%1$s,
En forespørsel om tilbakestilling av passord ble gjort på %4$s.
Klikk her for å tilbakestille passordet ditt
Du kan også kopiere følgende nettadresse til nettleserens adressefelt:
%2$s
Vennlig hilsen,
%3$s
"
diff --git a/plugins/login/languages/pt-BR.yaml b/plugins/login/languages/pt-BR.yaml
index c5ee63b..2aca491 100644
--- a/plugins/login/languages/pt-BR.yaml
+++ b/plugins/login/languages/pt-BR.yaml
@@ -17,9 +17,6 @@ PLUGIN_LOGIN:
RESET_INVALID_LINK: "Link de recuperação de senha inválido, tente novamente!"
FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "As instruções para recuperar sua senha foram enviadas para seu e-mail!"
FORGOT_FAILED_TO_EMAIL: "Falha ao tentar recuperar a senha, tente novamente mais tarde!"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Não é possível recuperar a senha para %s, nenhum e-mail inserido!"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Não é possível recuperar a senha para %s, este e-mail já está em uso!"
- FORGOT_USERNAME_DOES_NOT_EXIST: "O usuário %s não existe!"
FORGOT_EMAIL_NOT_CONFIGURED: "Não é possível recuperar a senha. Este site não está configurado para enviar e-mails!"
FORGOT_EMAIL_SUBJECT: "%s requer recuperação da senha"
FORGOT_EMAIL_BODY: "Recuperação da Senha
Olá %1$s,
Foi feito um pedido no %4$s para recuperar sua senha.
Clique aqui para recuperar sua senha
Como alternativa, copie a seguinte URL na barra de endereços do navegador:
%2$s
Atenciosamente,
%3$s
"
diff --git a/plugins/login/languages/ru.yaml b/plugins/login/languages/ru.yaml
index 3ee8b61..528674c 100644
--- a/plugins/login/languages/ru.yaml
+++ b/plugins/login/languages/ru.yaml
@@ -19,11 +19,8 @@ PLUGIN_LOGIN:
RESET_LINK_EXPIRED: "Время ссылки для сброса истекло, повторите попытку"
RESET_PASSWORD_RESET: "Пароль был сброшен"
RESET_INVALID_LINK: "Неверная ссылка сброса, повторите попытку"
- FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Инструкции по сбросу пароля были отправлены по электронной почте"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Eсли имя пользователя существует, инструкции по сбросу пароля были отправлены по электронной почте"
FORGOT_FAILED_TO_EMAIL: "Не удалось отправить инструкции по электронной почте, повторите попытку позже"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Не удается сбросить пароль для %s, адресс электронной почты не установлен"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Невозможно сбросить пароль для %s, этот email связан с удаленной учетной записью"
- FORGOT_USERNAME_DOES_NOT_EXIST: "Пользователь с именем %s не существует"
FORGOT_EMAIL_NOT_CONFIGURED: "Невозможно сбросить пароль. Этот сайт не настроен для отправки писем"
FORGOT_EMAIL_SUBJECT: "%s Запрос на сброс пароля"
FORGOT_EMAIL_BODY: "Восстановление пароля
Уважаемый %1$s,
Был сделан запрос для сброса пароля от %4$s.
Нажмите, чтобы сбросить пароль
Или скопируйте следующий URL-адрес в адресную строку браузера:
%2$s
С уважением,
%3$s
"
diff --git a/plugins/login/languages/uk.yaml b/plugins/login/languages/uk.yaml
index e0a0393..66be594 100644
--- a/plugins/login/languages/uk.yaml
+++ b/plugins/login/languages/uk.yaml
@@ -19,11 +19,8 @@ PLUGIN_LOGIN:
RESET_LINK_EXPIRED: "Час посилання для скидання минув, спробуйте ще раз"
RESET_PASSWORD_RESET: "Пароль був скинутий"
RESET_INVALID_LINK: "Невірне посилання скидання, спробуйте ще раз"
- FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Інструкції щодо скидання пароля були надіслані по електронній пошті"
+ FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Якщо ім'я користувача існує, iнструкції щодо скидання пароля були надіслані по електронній пошті"
FORGOT_FAILED_TO_EMAIL: "Не вдалося надіслати інструкції електронною поштою, повторіть спробу пізніше"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Не вдається скинути пароль для %s, адреса електронної пошти не встановлена"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "Неможливо скинути пароль для %s, цей email пов'язаний з віддаленим обліковим записом"
- FORGOT_USERNAME_DOES_NOT_EXIST: "Користувач з ім'ям %s не існує"
FORGOT_EMAIL_NOT_CONFIGURED: "Неможливо скинути пароль. Цей сайт не налаштований для надіслання листів"
FORGOT_EMAIL_SUBJECT: "%s Запит на скидання пароля"
FORGOT_EMAIL_BODY: "Відновлення паролю
Шановний %1$s,
Був зроблений запит для скидання пароля від %4$s.
Нажмите, чтобы сбросить пароль
Или скопируйте следующий URL-адрес в адресную строку браузера:
%2$s
С уважением,
%3$s
"
diff --git a/plugins/login/languages/zh.yaml b/plugins/login/languages/zh.yaml
index bfca18f..e8f2691 100644
--- a/plugins/login/languages/zh.yaml
+++ b/plugins/login/languages/zh.yaml
@@ -17,9 +17,6 @@ PLUGIN_LOGIN:
RESET_INVALID_LINK: "重置链接已经使用,请重试"
FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "重置密码指引已经发送到您的邮箱。"
FORGOT_FAILED_TO_EMAIL: "发送指引邮件失败,请稍后重试。"
- FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "因尚未设置邮箱,无法为 %s 重置密码"
- FORGOT_CANNOT_RESET_EMAIL_NO_PASSWORD: "因邮箱关联到一个外部帐号,无法为 %s 重置密码。"
- FORGOT_USERNAME_DOES_NOT_EXIST: "用户 %s 不存在。"
FORGOT_EMAIL_NOT_CONFIGURED: "无法重置密码,本站点尚未配置邮件系统。"
FORGOT_EMAIL_SUBJECT: "%s 的密码重置请求"
FORGOT_EMAIL_BODY: "密码充值
尊敬的 %1$s,
我们收到一个重置您的 %4$s 密码的请求。
点击这里进行重置密码
另外,您也可以复制下面的链接到浏览器地址栏中访问:
%2$s
此致
%3$s
"