From c512dca087b932692815cb5524401fbd262b2818 Mon Sep 17 00:00:00 2001 From: oliver Date: Wed, 8 Apr 2015 12:34:13 +0200 Subject: [PATCH] add configuration value to restrict registration to an e?mail address (implements #4) --- configs/AppConfig.inc | 9 +++-- controllers/UsersController.inc | 7 ++++ locale/de_DE/LC_MESSAGES/The Legend of Z.mo | Bin 25124 -> 25233 bytes locale/de_DE/LC_MESSAGES/The Legend of Z.po | 39 +++++++++++--------- views/html/users/register.tpl | 4 +- 5 files changed, 37 insertions(+), 22 deletions(-) diff --git a/configs/AppConfig.inc b/configs/AppConfig.inc index aa637e03..484932c4 100644 --- a/configs/AppConfig.inc +++ b/configs/AppConfig.inc @@ -143,10 +143,11 @@ * @var array */ public static $misc = array( - 'ranking_range' => 2, - 'achievements_range' => 3, - 'title_delimiter' => ' – ', - 'lists_limit' => 10 + 'registration_host' => '', + 'ranking_range' => 2, + 'achievements_range' => 3, + 'title_delimiter' => ' – ', + 'lists_limit' => 10 ); diff --git a/controllers/UsersController.inc b/controllers/UsersController.inc index 39de6cfc..25db38bf 100644 --- a/controllers/UsersController.inc +++ b/controllers/UsersController.inc @@ -207,6 +207,7 @@ $fields = array('username', 'prename', 'surname', 'email', 'password'); $validation = array(); + $emailhost = \nre\configs\AppConfig::$misc['registration_host']; // Register a new user if($this->request->getRequestMethod() == 'POST' && !is_null($this->request->getPostParam('register'))) @@ -220,6 +221,11 @@ $prename = $this->request->getPostParam('prename'); $surname = $this->request->getPostParam('surname'); $email = $this->request->getPostParam('email'); + if(!empty($emailhost)) { + if(substr_compare($email, $emailhost, max(0, strlen($email)-strlen($emailhost)), strlen($emailhost)) !== 0) { + $validation = $this->Validation->addValidationResult($validation, 'email', 'host', 'invalid'); + } + } if($this->Users->emailExists($email)) { $validation = $this->Validation->addValidationResult($validation, 'email', 'exist', true); } @@ -264,6 +270,7 @@ $this->set('prename', $prename); $this->set('surname', $surname); $this->set('email', $email); + $this->set('emailhost', $emailhost); $this->set('validation', $validation); $this->set('validationSettings', $validationSettings); } diff --git a/locale/de_DE/LC_MESSAGES/The Legend of Z.mo b/locale/de_DE/LC_MESSAGES/The Legend of Z.mo index 2376872547aa449f41eb5488fbb41b1f015faa45..629a5b8e3e8eb752c679207111b49c52c81568fe 100644 GIT binary patch delta 8231 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 SX%!f>G`fLb(dMpKtNjP-mo--a diff --git a/locale/de_DE/LC_MESSAGES/The Legend of Z.po b/locale/de_DE/LC_MESSAGES/The Legend of Z.po index f3ca15bb..87815d0f 100644 --- a/locale/de_DE/LC_MESSAGES/The Legend of Z.po +++ b/locale/de_DE/LC_MESSAGES/The Legend of Z.po @@ -1,15 +1,15 @@ msgid "" msgstr "" "Project-Id-Version: The Legend of Z\n" -"POT-Creation-Date: 2015-03-21 14:54+0100\n" -"PO-Revision-Date: 2015-03-21 14:55+0100\n" +"POT-Creation-Date: 2015-04-08 12:28+0100\n" +"PO-Revision-Date: 2015-04-08 12:29+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.7.4\n" +"X-Generator: Poedit 1.7.5\n" "X-Poedit-Basepath: ../../../\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -18,7 +18,7 @@ msgstr "" "X-Poedit-SearchPath-2: controllers\n" #: controllers/CharactersController.inc:402 -#: controllers/UsersController.inc:322 views/ajax/characters/index.tpl:10 +#: controllers/UsersController.inc:329 views/ajax/characters/index.tpl:10 #: views/ajax/users/index.tpl:10 views/html/characters/index.tpl:48 #: views/html/characters/manage.tpl:35 views/html/characters/manage.tpl:50 #: views/html/characters/manage.tpl:58 views/html/userroles/user.tpl:5 @@ -28,7 +28,7 @@ msgid "Admin" msgstr "Administrator" #: controllers/CharactersController.inc:408 -#: controllers/UsersController.inc:328 views/ajax/characters/index.tpl:12 +#: controllers/UsersController.inc:335 views/ajax/characters/index.tpl:12 #: views/ajax/users/index.tpl:12 views/html/characters/index.tpl:49 #: views/html/characters/manage.tpl:36 views/html/characters/manage.tpl:51 #: views/html/characters/manage.tpl:59 views/html/userroles/user.tpl:7 @@ -38,7 +38,7 @@ msgid "Moderator" msgstr "Moderator" #: controllers/CharactersController.inc:414 -#: controllers/UsersController.inc:334 views/ajax/characters/index.tpl:14 +#: controllers/UsersController.inc:341 views/ajax/characters/index.tpl:14 #: views/ajax/users/index.tpl:14 views/html/characters/index.tpl:50 #: views/html/characters/manage.tpl:37 views/html/characters/manage.tpl:53 #: views/html/characters/manage.tpl:61 views/html/userroles/user.tpl:9 @@ -1450,7 +1450,7 @@ msgstr "Login" #: views/html/users/index.tpl:15 views/html/users/index.tpl:19 #: views/html/users/index.tpl:20 views/html/users/login.tpl:12 #: views/html/users/login.tpl:13 views/html/users/manage.tpl:14 -#: views/html/users/register.tpl:83 views/html/users/register.tpl:84 +#: views/html/users/register.tpl:85 views/html/users/register.tpl:86 msgid "Username" msgstr "Benutzername" @@ -1458,8 +1458,8 @@ msgstr "Benutzername" #: views/html/introduction/index.tpl:8 views/html/users/create.tpl:92 #: views/html/users/create.tpl:93 views/html/users/edit.tpl:100 #: views/html/users/edit.tpl:101 views/html/users/login.tpl:14 -#: views/html/users/login.tpl:15 views/html/users/register.tpl:91 -#: views/html/users/register.tpl:92 +#: views/html/users/login.tpl:15 views/html/users/register.tpl:93 +#: views/html/users/register.tpl:94 msgid "Password" msgstr "Passwort" @@ -2031,7 +2031,7 @@ msgstr "Der Nachname ist ungültig" #: views/html/users/create.tpl:54 views/html/users/create.tpl:58 #: views/html/users/edit.tpl:58 views/html/users/edit.tpl:62 -#: views/html/users/register.tpl:54 views/html/users/register.tpl:58 +#: views/html/users/register.tpl:54 views/html/users/register.tpl:60 msgid "E‑mail address invalid" msgstr "Die E‑Mail-Adresse ist ungültig" @@ -2041,37 +2041,37 @@ msgid "E‑mail address already exists" msgstr "E‑Mail-Adresse existiert bereits" #: views/html/users/create.tpl:63 views/html/users/edit.tpl:67 -#: views/html/users/register.tpl:63 +#: views/html/users/register.tpl:65 #, php-format msgid "Password is too short (min. %d chars)" msgstr "Das Passwort ist zu kurz (min. %d Zeichen)" #: views/html/users/create.tpl:65 views/html/users/edit.tpl:69 -#: views/html/users/register.tpl:65 +#: views/html/users/register.tpl:67 #, php-format msgid "Password is too long (max. %d chars)" msgstr "Das Passwort ist zu lang (max. %d Zeichen)" #: views/html/users/create.tpl:67 views/html/users/edit.tpl:71 -#: views/html/users/register.tpl:67 +#: views/html/users/register.tpl:69 msgid "Password invalid" msgstr "Das Passwort ist ungültig" #: views/html/users/create.tpl:86 views/html/users/create.tpl:87 #: views/html/users/edit.tpl:94 views/html/users/edit.tpl:95 -#: views/html/users/register.tpl:85 views/html/users/register.tpl:86 +#: views/html/users/register.tpl:87 views/html/users/register.tpl:88 msgid "Prename" msgstr "Vorname" #: views/html/users/create.tpl:88 views/html/users/create.tpl:89 #: views/html/users/edit.tpl:96 views/html/users/edit.tpl:97 -#: views/html/users/register.tpl:87 views/html/users/register.tpl:88 +#: views/html/users/register.tpl:89 views/html/users/register.tpl:90 msgid "Surname" msgstr "Nachname" #: views/html/users/create.tpl:90 views/html/users/create.tpl:91 #: views/html/users/edit.tpl:98 views/html/users/edit.tpl:99 -#: views/html/users/register.tpl:89 views/html/users/register.tpl:90 +#: views/html/users/register.tpl:91 views/html/users/register.tpl:92 #: views/html/users/user.tpl:24 msgid "E‑mail address" msgstr "E‑Mail-Adresse" @@ -2109,7 +2109,12 @@ msgstr "Benutzer verwalten" msgid "Registration" msgstr "Registrierung" -#: views/html/users/register.tpl:94 +#: views/html/users/register.tpl:58 +#, php-format +msgid "E‑Mail address has to end with @%s" +msgstr "Die E‑Mail-Adresse muss auf @%s enden" + +#: views/html/users/register.tpl:96 msgid "Register" msgstr "Registrieren" diff --git a/views/html/users/register.tpl b/views/html/users/register.tpl index 48fe6f47..78ab8b36 100644 --- a/views/html/users/register.tpl +++ b/views/html/users/register.tpl @@ -55,6 +55,8 @@ break; case 'exist': echo _('E‑mail address already exists'); break; + case 'host': printf(_('E‑Mail address has to end with @%s'), $emailhost); + break; default: echo _('E‑mail address invalid'); } break; @@ -87,7 +89,7 @@ />
- />
+ />
/>