aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2019-09-13 17:33:18 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2019-09-17 09:21:23 +0200
commita2ed6626c2f4e85878f775abcac897a1fd3a1f42 (patch)
tree6a12718165c7d054107c587e2b34cdc25c3cc7e7 /app
parent80590daeb3627e5712be15fdc4bd98f0e2c40ea5 (diff)
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.
Diffstat (limited to 'app')
-rw-r--r--app/Controllers/authController.php1
-rwxr-xr-xapp/Controllers/indexController.php17
-rw-r--r--app/Controllers/userController.php10
-rw-r--r--app/i18n/cz/gen.php1
-rw-r--r--app/i18n/cz/index.php3
-rw-r--r--app/i18n/cz/user.php5
-rw-r--r--app/i18n/de/gen.php1
-rw-r--r--app/i18n/de/index.php3
-rw-r--r--app/i18n/de/user.php5
-rw-r--r--app/i18n/en/gen.php1
-rw-r--r--app/i18n/en/index.php3
-rw-r--r--app/i18n/en/user.php5
-rwxr-xr-xapp/i18n/es/gen.php1
-rwxr-xr-xapp/i18n/es/index.php3
-rw-r--r--app/i18n/es/user.php5
-rw-r--r--app/i18n/fr/gen.php1
-rw-r--r--app/i18n/fr/index.php3
-rw-r--r--app/i18n/fr/user.php5
-rw-r--r--app/i18n/he/gen.php1
-rw-r--r--app/i18n/he/index.php3
-rw-r--r--app/i18n/he/user.php5
-rw-r--r--app/i18n/it/gen.php1
-rw-r--r--app/i18n/it/index.php3
-rw-r--r--app/i18n/it/user.php5
-rw-r--r--app/i18n/kr/gen.php1
-rw-r--r--app/i18n/kr/index.php3
-rw-r--r--app/i18n/kr/user.php5
-rw-r--r--app/i18n/nl/gen.php1
-rw-r--r--app/i18n/nl/index.php3
-rw-r--r--app/i18n/nl/user.php5
-rw-r--r--app/i18n/oc/gen.php1
-rw-r--r--app/i18n/oc/index.php3
-rw-r--r--app/i18n/oc/user.php5
-rw-r--r--app/i18n/pt-br/gen.php1
-rw-r--r--app/i18n/pt-br/index.php3
-rw-r--r--app/i18n/pt-br/user.php5
-rw-r--r--app/i18n/ru/gen.php1
-rw-r--r--app/i18n/ru/index.php3
-rw-r--r--app/i18n/ru/user.php5
-rw-r--r--app/i18n/sk/gen.php1
-rw-r--r--app/i18n/sk/index.php3
-rw-r--r--app/i18n/sk/user.php37
-rw-r--r--app/i18n/tr/gen.php1
-rw-r--r--app/i18n/tr/index.php3
-rw-r--r--app/i18n/tr/user.php5
-rw-r--r--app/i18n/zh-cn/gen.php1
-rw-r--r--app/i18n/zh-cn/index.php3
-rw-r--r--app/i18n/zh-cn/user.php5
-rw-r--r--app/views/auth/register.phtml9
-rw-r--r--app/views/index/tos.phtml13
50 files changed, 217 insertions, 0 deletions
diff --git a/app/Controllers/authController.php b/app/Controllers/authController.php
index a8b21b886..70adaa5d3 100644
--- a/app/Controllers/authController.php
+++ b/app/Controllers/authController.php
@@ -205,6 +205,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
Minz_Error::error(403);
}
+ $this->view->show_tos_checkbox = file_exists(join_path(DATA_PATH, 'tos.html'));
$this->view->show_email_field = FreshRSS_Context::$system_conf->force_email_validation;
Minz_View::prependTitle(_t('gen.auth.registration.title') . ' · ');
}
diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php
index 4023492d2..2d791ce1d 100755
--- a/app/Controllers/indexController.php
+++ b/app/Controllers/indexController.php
@@ -260,6 +260,23 @@ class FreshRSS_index_Controller extends Minz_ActionController {
}
/**
+ * This action displays the EULA page of FreshRSS.
+ * This page is enabled only if admin created a data/tos.html file.
+ * The content of the page is the content of data/tos.html.
+ * It returns 404 if there is no EULA.
+ */
+ public function tosAction() {
+ $terms_of_service = file_get_contents(join_path(DATA_PATH, 'tos.html'));
+ if (!$terms_of_service) {
+ Minz_Error::error(404);
+ }
+
+ $this->view->terms_of_service = $terms_of_service;
+ $this->view->can_register = !max_registrations_reached();
+ Minz_View::prependTitle(_t('index.tos.title') . ' · ');
+ }
+
+ /**
* This action displays logs of FreshRSS for the current user.
*/
public function logsAction() {
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'] = '';
diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php
index 78229afaa..c6dabd555 100644
--- a/app/i18n/cz/gen.php
+++ b/app/i18n/cz/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email',
'keep_logged_in' => 'Zapamatovat přihlášení <small>(%s dny)</small>',
'login' => 'Login',
diff --git a/app/i18n/cz/index.php b/app/i18n/cz/index.php
index 00f424fe8..b20a75c79 100644
--- a/app/i18n/cz/index.php
+++ b/app/i18n/cz/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Verze',
'website' => 'Webové stránka',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Můžete přidat kanály.',
'empty' => 'Žádné články k zobrazení.',
diff --git a/app/i18n/cz/user.php b/app/i18n/cz/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/cz/user.php
+++ b/app/i18n/cz/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php
index a4108775d..6cc791d5e 100644
--- a/app/i18n/de/gen.php
+++ b/app/i18n/de/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Aktualisieren',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'E-Mail-Adresse',
'keep_logged_in' => 'Eingeloggt bleiben <small>(%s Tage)</small>',
'login' => 'Anmelden',
diff --git a/app/i18n/de/index.php b/app/i18n/de/index.php
index 10172e6f5..11fa370a3 100644
--- a/app/i18n/de/index.php
+++ b/app/i18n/de/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Version',
'website' => 'Webseite',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Sie können Feeds hinzufügen.',
'empty' => 'Es gibt keinen Artikel zum Anzeigen.',
diff --git a/app/i18n/de/user.php b/app/i18n/de/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/de/user.php
+++ b/app/i18n/de/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php
index 8f1d8d19e..a6ddcbb60 100644
--- a/app/i18n/en/gen.php
+++ b/app/i18n/en/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.',
'email' => 'Email address',
'keep_logged_in' => 'Keep me logged in <small>(%s days)</small>',
'login' => 'Login',
diff --git a/app/i18n/en/index.php b/app/i18n/en/index.php
index 46c415816..ea2c6620b 100644
--- a/app/i18n/en/index.php
+++ b/app/i18n/en/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Version',
'website' => 'Website',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service',
+ ),
'feed' => array(
'add' => 'You may add some feeds.',
'empty' => 'There is no article to show.',
diff --git a/app/i18n/en/user.php b/app/i18n/en/user.php
index 5b4cd4fcb..54d8dfa4d 100644
--- a/app/i18n/en/user.php
+++ b/app/i18n/en/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation',
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.',
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account',
diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php
index b394d292e..4affecc51 100755
--- a/app/i18n/es/gen.php
+++ b/app/i18n/es/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Correo electrónico',
'keep_logged_in' => 'Mantenerme identificado <small>(%s días)</small>',
'login' => 'Conectar',
diff --git a/app/i18n/es/index.php b/app/i18n/es/index.php
index d7a42537b..5142ae1f5 100755
--- a/app/i18n/es/index.php
+++ b/app/i18n/es/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Versión',
'website' => 'Web',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Puedes añadir fuentes.',
'empty' => 'No hay artículos a mostrar.',
diff --git a/app/i18n/es/user.php b/app/i18n/es/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/es/user.php
+++ b/app/i18n/es/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php
index 4c4070685..01b66d316 100644
--- a/app/i18n/fr/gen.php
+++ b/app/i18n/fr/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Mettre à jour',
),
'auth' => array(
+ 'accept_tos' => 'Accepter les <a href="%s">Conditions Générales d’Utilisation</a>.',
'email' => 'Adresse courriel',
'keep_logged_in' => 'Rester connecté <small>(%s jours)</small>',
'login' => 'Connexion',
diff --git a/app/i18n/fr/index.php b/app/i18n/fr/index.php
index c9595e449..f8f451473 100644
--- a/app/i18n/fr/index.php
+++ b/app/i18n/fr/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Version',
'website' => 'Site Internet',
),
+ 'tos' => array(
+ 'title' => 'Conditions Générales d’Utilisation',
+ ),
'feed' => array(
'add' => 'Vous pouvez ajouter des flux.',
'empty' => 'Il n’y a aucun article à afficher.',
diff --git a/app/i18n/fr/user.php b/app/i18n/fr/user.php
index 01d3ad1af..7b531c749 100644
--- a/app/i18n/fr/user.php
+++ b/app/i18n/fr/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Validation de l’adresse email',
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'Vous devez accepter les conditions générales d’utilisation pour pouvoir vous inscrire.',
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'Vous devez valider votre compte',
diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php
index 1aee24742..158f11e5b 100644
--- a/app/i18n/he/gen.php
+++ b/app/i18n/he/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email address', //TODO - Translation
'keep_logged_in' => 'השאר מחובר <small>חודש</small>',
'login' => 'כניסה לחשבון',
diff --git a/app/i18n/he/index.php b/app/i18n/he/index.php
index e01a02773..b4b99e583 100644
--- a/app/i18n/he/index.php
+++ b/app/i18n/he/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'גרסה',
'website' => 'אתר',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'ניתן להוסיף הזנות חדשות.',
'empty' => 'אין מאמר להצגה.',
diff --git a/app/i18n/he/user.php b/app/i18n/he/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/he/user.php
+++ b/app/i18n/he/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php
index 1d4fa4cdc..604cc6941 100644
--- a/app/i18n/it/gen.php
+++ b/app/i18n/it/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', // TODO
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Indirizzo email',
'keep_logged_in' => 'Ricorda i dati <small>(%s giorni)</small>',
'login' => 'Accedi',
diff --git a/app/i18n/it/index.php b/app/i18n/it/index.php
index 8162b1639..b4f7bc8d7 100644
--- a/app/i18n/it/index.php
+++ b/app/i18n/it/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Versione',
'website' => 'Sito',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Aggiungi un Feed RSS',
'empty' => 'Non ci sono articoli da mostrare.',
diff --git a/app/i18n/it/user.php b/app/i18n/it/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/it/user.php
+++ b/app/i18n/it/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php
index cd38bc9f8..55fea3d66 100644
--- a/app/i18n/kr/gen.php
+++ b/app/i18n/kr/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => '변경',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => '메일 주소',
'keep_logged_in' => '로그인 유지 <small>(%s 일)</small>',
'login' => '로그인',
diff --git a/app/i18n/kr/index.php b/app/i18n/kr/index.php
index bebc8bdec..cc8df32f6 100644
--- a/app/i18n/kr/index.php
+++ b/app/i18n/kr/index.php
@@ -15,6 +15,9 @@ return array(
'version' => '버전',
'website' => '웹사이트',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => '피드를 추가하세요.',
'empty' => '글이 없습니다.',
diff --git a/app/i18n/kr/user.php b/app/i18n/kr/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/kr/user.php
+++ b/app/i18n/kr/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php
index 419d8b36c..0dcb3010a 100644
--- a/app/i18n/nl/gen.php
+++ b/app/i18n/nl/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Updaten',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email adres',
'keep_logged_in' => 'Ingelogd blijven voor <small>(%s dagen)</small>',
'login' => 'Log in',
diff --git a/app/i18n/nl/index.php b/app/i18n/nl/index.php
index 5f71a180f..115e31b5d 100644
--- a/app/i18n/nl/index.php
+++ b/app/i18n/nl/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Versie',
'website' => 'Website',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'U kunt wat feeds toevoegen.',
'empty' => 'Er is geen artikel om te laten zien.',
diff --git a/app/i18n/nl/user.php b/app/i18n/nl/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/nl/user.php
+++ b/app/i18n/nl/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php
index 8bbe04aec..57e783395 100644
--- a/app/i18n/oc/gen.php
+++ b/app/i18n/oc/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Actualizar',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Adreça de corrièl',
'keep_logged_in' => 'Demorar connectat <small>(%s jorns) </small>',
'login' => 'Connexion',
diff --git a/app/i18n/oc/index.php b/app/i18n/oc/index.php
index 5cc71c9a9..338d13a8e 100644
--- a/app/i18n/oc/index.php
+++ b/app/i18n/oc/index.php
@@ -15,6 +15,9 @@ return array(
'website' => 'Site internet',
'version' => 'Version',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Podètz ajustar de fluxes.',
'empty' => 'I a pas cap de flux de mostrar.',
diff --git a/app/i18n/oc/user.php b/app/i18n/oc/user.php
index 4bcfebaf9..8f948e61d 100644
--- a/app/i18n/oc/user.php
+++ b/app/i18n/oc/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Validacion de l’adreça electronica',
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'Vos cal validar vòstra adreça electronica',
diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php
index d6d0d9b33..b327937d5 100644
--- a/app/i18n/pt-br/gen.php
+++ b/app/i18n/pt-br/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Endereço de e-mail',
'keep_logged_in' => 'Mantenha logado por <small>(%s days)</small>',
'login' => 'Login',
diff --git a/app/i18n/pt-br/index.php b/app/i18n/pt-br/index.php
index e5807ed95..17c80f4fc 100644
--- a/app/i18n/pt-br/index.php
+++ b/app/i18n/pt-br/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Versão',
'website' => 'Site',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Você pode adicionar alguns feeds.',
'empty' => 'Não há nenhum artigo para mostrar.',
diff --git a/app/i18n/pt-br/user.php b/app/i18n/pt-br/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/pt-br/user.php
+++ b/app/i18n/pt-br/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php
index dec454eae..cc1d7e00e 100644
--- a/app/i18n/ru/gen.php
+++ b/app/i18n/ru/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email address', //TODO - Translation
'keep_logged_in' => 'Keep me logged in <small>(%s дней)</small>', //TODO - Translation
'login' => 'Login', //TODO - Translation
diff --git a/app/i18n/ru/index.php b/app/i18n/ru/index.php
index 977777178..185350432 100644
--- a/app/i18n/ru/index.php
+++ b/app/i18n/ru/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Version', //TODO - Translation
'website' => 'Website', //TODO - Translation
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'You may add some feeds.', //TODO - Translation
'empty' => 'There is no article to show.', //TODO - Translation
diff --git a/app/i18n/ru/user.php b/app/i18n/ru/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/ru/user.php
+++ b/app/i18n/ru/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php
index 00a03736e..7303ffa9f 100644
--- a/app/i18n/sk/gen.php
+++ b/app/i18n/sk/gen.php
@@ -22,6 +22,7 @@ return array(
'update' => 'Aktualizovať',
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'E-mailová adresa',
'keep_logged_in' => 'Zostať prihlásený <small>(počet dní: %s)</small>',
'login' => 'Prihlásiť',
diff --git a/app/i18n/sk/index.php b/app/i18n/sk/index.php
index 19e63e720..5bbcbdc21 100644
--- a/app/i18n/sk/index.php
+++ b/app/i18n/sk/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Verzia',
'website' => 'Webová stránka',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Môžete pridať kanály.',
'empty' => 'Žiadne články.',
diff --git a/app/i18n/sk/user.php b/app/i18n/sk/user.php
new file mode 100644
index 000000000..3a8343c11
--- /dev/null
+++ b/app/i18n/sk/user.php
@@ -0,0 +1,37 @@
+<?php
+
+return array(
+ 'email' => array(
+ 'feedback' => array(
+ 'invalid' => 'The email address is invalid.', //TODO - Translation
+ 'required' => 'The email address is required.', //TODO - Translation
+ ),
+ 'validation' => array(
+ 'change_email' => 'You can change your email address <a href="%s">on the profile page</a>.', //TODO - Translation
+ 'email_sent_to' => 'We sent you an email at <strong>%s</strong>, please follow its indications to validate your address.', //TODO - Translation
+ 'feedback' => array(
+ 'email_failed' => 'We couldn’t send you an email because of a misconfiguration of the server.', //TODO - Translation
+ 'email_sent' => 'An email has been sent to your address.', //TODO - Translation
+ 'error' => 'The email address failed to be validated.', //TODO - Translation
+ 'ok' => 'The email address has been validated.', //TODO - Translation
+ 'unneccessary' => 'The email address was already validated.', //TODO - Translation
+ 'wrong_token' => 'The email address failed to be validated due to a wrong token.', //TODO - Translation
+ ),
+ 'need_to' => 'You need to validate your email address before being able to use %s.', //TODO - Translation
+ 'resend_email' => 'Resend the email', //TODO - Translation
+ 'title' => 'Email address validation', //TODO - Translation
+ ),
+ ),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
+ 'mailer' => array(
+ 'email_need_validation' => array(
+ 'title' => 'You need to validate your account', //TODO - Translation
+ 'welcome' => 'Welcome %s,', //TODO - Translation
+ 'body' => 'You’ve just registered on %s but you still need to validate your email. For that, just follow the link:', //TODO - Translation
+ ),
+ ),
+);
diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php
index 561cee7cd..5e361affb 100644
--- a/app/i18n/tr/gen.php
+++ b/app/i18n/tr/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => 'Update', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email adresleri',
'keep_logged_in' => '<small>(%s günler)</small> oturumu açık tut',
'login' => 'Giriş',
diff --git a/app/i18n/tr/index.php b/app/i18n/tr/index.php
index d6db514dd..6f1b596cf 100644
--- a/app/i18n/tr/index.php
+++ b/app/i18n/tr/index.php
@@ -15,6 +15,9 @@ return array(
'version' => 'Versiyon',
'website' => 'Website',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => 'Akış ekleyebilirsin.',
'empty' => 'Gösterilecek makale yok.',
diff --git a/app/i18n/tr/user.php b/app/i18n/tr/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/tr/user.php
+++ b/app/i18n/tr/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php
index 863917f54..7ae156573 100644
--- a/app/i18n/zh-cn/gen.php
+++ b/app/i18n/zh-cn/gen.php
@@ -23,6 +23,7 @@ return array(
'update' => '更新', //TODO - Translation
),
'auth' => array(
+ 'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.', // TODO - Translation
'email' => 'Email 地址',
'keep_logged_in' => '自动登录<small>(%s 天)</small>',
'login' => '登录',
diff --git a/app/i18n/zh-cn/index.php b/app/i18n/zh-cn/index.php
index 018813c3e..659f16b7c 100644
--- a/app/i18n/zh-cn/index.php
+++ b/app/i18n/zh-cn/index.php
@@ -15,6 +15,9 @@ return array(
'version' => '版本',
'website' => '网站',
),
+ 'tos' => array(
+ 'title' => 'Terms of Service', // TODO - Translation
+ ),
'feed' => array(
'add' => '你可以添加一些 RSS 源。',
'empty' => '暂时没有文章可显示。',
diff --git a/app/i18n/zh-cn/user.php b/app/i18n/zh-cn/user.php
index 4f2cfcda2..3a8343c11 100644
--- a/app/i18n/zh-cn/user.php
+++ b/app/i18n/zh-cn/user.php
@@ -22,6 +22,11 @@ return array(
'title' => 'Email address validation', //TODO - Translation
),
),
+ 'tos' => array(
+ 'feedback' => array(
+ 'invalid' => 'You must accept the Terms of Service to be able to register.', // TODO - Translation
+ ),
+ ),
'mailer' => array(
'email_need_validation' => array(
'title' => 'You need to validate your account', //TODO - Translation
diff --git a/app/views/auth/register.phtml b/app/views/auth/register.phtml
index 87582a2d0..b90950510 100644
--- a/app/views/auth/register.phtml
+++ b/app/views/auth/register.phtml
@@ -26,6 +26,15 @@
<noscript><b><?php echo _t('gen.js.should_be_activated'); ?></b></noscript>
</div>
+ <?php if ($this->show_tos_checkbox) { ?>
+ <div>
+ <label class="checkbox" for="accept-tos">
+ <input type="checkbox" name="accept_tos" id="accept-tos" value="1" required />
+ <?php echo _t('gen.auth.accept_tos', _url('index', 'tos')); ?>
+ </label>
+ </div>
+ <?php } ?>
+
<div>
<?php
$redirect_url = urlencode(Minz_Url::display(
diff --git a/app/views/index/tos.phtml b/app/views/index/tos.phtml
new file mode 100644
index 000000000..79c597244
--- /dev/null
+++ b/app/views/index/tos.phtml
@@ -0,0 +1,13 @@
+<div class="post content">
+ <?php if ($this->can_register) { ?>
+ <a href="<?php echo _url('auth', 'register'); ?>">
+ <?php echo _t('gen.action.back'); ?>
+ </a>
+ <?php } else { ?>
+ <a href="<?php echo _url('index', 'index'); ?>">
+ <?php echo _t('gen.action.back'); ?>
+ </a>
+ <?php } ?>
+
+ <?php echo $this->terms_of_service; ?>
+</div>