From a2ed6626c2f4e85878f775abcac897a1fd3a1f42 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Fri, 13 Sep 2019 17:33:18 +0200 Subject: Add support for terms of service This feature is optional. It is based on the presence of a `data/tos.html` file that an administrator can create. If this file exists, FreshRSS will automatically add a "ToS" checkbox on the registration page that users must check to be able to create their account. --- app/Controllers/userController.php | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'app/Controllers/userController.php') diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php index 69c1820e5..ab8dfb0b2 100644 --- a/app/Controllers/userController.php +++ b/app/Controllers/userController.php @@ -281,6 +281,9 @@ class FreshRSS_user_Controller extends Minz_ActionController { $passwordPlain = Minz_Request::param('new_user_passwordPlain', '', true); $new_user_language = Minz_Request::param('new_user_language', FreshRSS_Context::$user_conf->language); + $tos_enabled = file_exists(join_path(DATA_PATH, 'tos.html')); + $accept_tos = Minz_Request::param('accept_tos', false); + if ($system_conf->force_email_validation && empty($email)) { Minz_Request::bad( _t('user.email.feedback.required'), @@ -295,6 +298,13 @@ class FreshRSS_user_Controller extends Minz_ActionController { ); } + if ($tos_enabled && !$accept_tos) { + Minz_Request::bad( + _t('user.tos.feedback.invalid'), + array('c' => 'auth', 'a' => 'register') + ); + } + $ok = self::createUser($new_user_name, $email, $passwordPlain, '', array('language' => $new_user_language)); Minz_Request::_param('new_user_passwordPlain'); //Discard plain-text password ASAP $_POST['new_user_passwordPlain'] = ''; -- cgit v1.2.3