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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 TX$lUi#UNu-^ER9Kd=Lcy-~wJq delta 8132 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: />
- />
+ />
/>