summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-02-15 12:25:06 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-02-15 12:25:06 +0100
commitcddec2d76f2c5d25d3008d5e2a60fddad6028a5d (patch)
treebb5003941fcf4dcecf7d0c8c11f9b0a1eb84dece
parenta34941f41875bcc9d260c8dfcf9d44a00f835bc9 (diff)
Improve login page
- if user cannot log in, a 403 error is showed (and it is done in controller) - 403 error message has been changed to match with the error - add blank spaces on persona login page
-rwxr-xr-xapp/Controllers/indexController.php5
-rw-r--r--app/i18n/en.php3
-rw-r--r--app/i18n/fr.php3
-rw-r--r--app/views/error/index.phtml10
-rw-r--r--app/views/index/formLogin.phtml56
-rw-r--r--p/themes/Dark/global.css30
-rw-r--r--p/themes/Flat/global.css30
-rw-r--r--p/themes/Origine/global.css30
8 files changed, 93 insertions, 74 deletions
diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php
index a680c914a..38f4c0e7c 100755
--- a/app/Controllers/indexController.php
+++ b/app/Controllers/indexController.php
@@ -351,6 +351,11 @@ class FreshRSS_index_Controller extends Minz_ActionController {
}
$this->view->_useLayout(false);
Minz_Request::forward(array('c' => 'index', 'a' => 'index'), true);
+ } elseif (!Minz_Configuration::canLogIn()) {
+ Minz_Error::error (
+ 403,
+ array ('error' => array (Minz_Translate::t ('access_denied')))
+ );
}
invalidateHttpCache();
}
diff --git a/app/i18n/en.php b/app/i18n/en.php
index fd51eb1ca..790e853f5 100644
--- a/app/i18n/en.php
+++ b/app/i18n/en.php
@@ -3,6 +3,7 @@
return array (
// LAYOUT
'login' => 'Login',
+ 'login_with_persona' => 'Login with Persona',
'logout' => 'Logout',
'search' => 'Search words or #tags',
'search_short' => 'Search',
@@ -276,7 +277,7 @@ return array (
'logs_empty' => 'Log file is empty',
'clear_logs' => 'Clear the logs',
- 'forbidden_access' => 'Access forbidden! (%s)',
+ 'forbidden_access' => 'Access is forbidden!',
'login_required' => 'Login required:',
'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!',
diff --git a/app/i18n/fr.php b/app/i18n/fr.php
index 17e26f493..572bc1628 100644
--- a/app/i18n/fr.php
+++ b/app/i18n/fr.php
@@ -3,6 +3,7 @@
return array (
// LAYOUT
'login' => 'Connexion',
+ 'login_with_persona' => 'Connexion avec Persona',
'logout' => 'Déconnexion',
'search' => 'Rechercher des mots ou des #tags',
'search_short' => 'Rechercher',
@@ -276,7 +277,7 @@ return array (
'logs_empty' => 'Les logs sont vides',
'clear_logs' => 'Effacer les logs',
- 'forbidden_access' => 'Accès interdit ! (%s)',
+ 'forbidden_access' => 'L’accès vous est interdit !',
'login_required' => 'Accès protégé par mot de passe :',
'confirm_action' => 'Êtes-vous sûr(e) de vouloir continuer ? Cette action ne peut être annulée !',
diff --git a/app/views/error/index.phtml b/app/views/error/index.phtml
index 36fcb56f9..6a09c3aa2 100644
--- a/app/views/error/index.phtml
+++ b/app/views/error/index.phtml
@@ -3,7 +3,15 @@
<h1 class="alert-head"><?php echo $this->code; ?></h1>
<p>
- <?php echo Minz_Translate::t ('page_not_found'); ?><br />
+ <?php
+ switch(Minz_Request::param ('code')) {
+ case 403:
+ echo Minz_Translate::t ('forbidden_access');
+ break;
+ case 404:
+ default:
+ echo Minz_Translate::t ('page_not_found');
+ } ?><br />
<a href="<?php echo _url ('index', 'index'); ?>"><?php echo Minz_Translate::t ('back_to_rss_feeds'); ?></a>
</p>
</div>
diff --git a/app/views/index/formLogin.phtml b/app/views/index/formLogin.phtml
index e4560c1a0..cc925ea59 100644
--- a/app/views/index/formLogin.phtml
+++ b/app/views/index/formLogin.phtml
@@ -1,34 +1,32 @@
<div class="prompt">
-<?php
-if (Minz_Configuration::canLogIn()) {
- ?><h1><?php echo Minz_Translate::t('login'); ?></h1><?php
- switch (Minz_Configuration::authType()) {
+ <h1><?php echo Minz_Translate::t('login'); ?></h1><?php
- case 'form':
- ?><form id="loginForm" method="post" action="<?php echo _url('index', 'formLogin'); ?>">
- <p>
- <label for="username"><?php echo Minz_Translate::t('username'); ?></label>
- <input type="text" id="username" name="username" size="16" required="required" maxlength="16" pattern="[0-9a-zA-Z]{1,16}" autofocus="autofocus" />
- </p><p>
- <label for="passwordPlain"><?php echo Minz_Translate::t('password'); ?></label>
- <input type="password" id="passwordPlain" required="required" />
- <input type="hidden" id="challenge" name="challenge" /><br />
- <noscript><strong><?php echo Minz_Translate::t('javascript_should_be_activated'); ?></strong></noscript>
- </p><p>
- <button id="loginButton" type="submit" class="btn btn-important"><?php echo Minz_Translate::t('login'); ?></button>
- </p>
- </form><?php
- break;
+ switch (Minz_Configuration::authType()) {
+ case 'form':
+ ?><form id="loginForm" method="post" action="<?php echo _url('index', 'formLogin'); ?>">
+ <div>
+ <label for="username"><?php echo Minz_Translate::t('username'); ?></label>
+ <input type="text" id="username" name="username" size="16" required="required" maxlength="16" pattern="[0-9a-zA-Z]{1,16}" autofocus="autofocus" />
+ </div>
+ <div>
+ <label for="passwordPlain"><?php echo Minz_Translate::t('password'); ?></label>
+ <input type="password" id="passwordPlain" required="required" />
+ <input type="hidden" id="challenge" name="challenge" /><br />
+ <noscript><strong><?php echo Minz_Translate::t('javascript_should_be_activated'); ?></strong></noscript>
+ </div>
+ <div>
+ <button id="loginButton" type="submit" class="btn btn-important"><?php echo Minz_Translate::t('login'); ?></button>
+ </div>
+ </form><?php
+ break;
- case 'persona':
- ?><p><?php echo FreshRSS_Themes::icon('login'); ?> <a class="signin" href="#"><?php echo Minz_Translate::t('login'); ?></a></p><?php
- break;
- }
-} else {
- ?><h1>FreshRSS</h1>
- <p><?php echo Minz_Translate::t('forbidden_access', Minz_Configuration::authType()); ?></p><?php
-}
-?>
+ case 'persona':
+ ?><p>
+ <?php echo FreshRSS_Themes::icon('login'); ?>
+ <a class="signin" href="#"><?php echo Minz_Translate::t('login_with_persona'); ?></a>
+ </p><?php
+ break;
+ } ?>
-<p><a href="<?php echo _url('index', 'about'); ?>"><?php echo Minz_Translate::t('about_freshrss'); ?></a></p>
+ <p><a href="<?php echo _url('index', 'about'); ?>"><?php echo Minz_Translate::t('about_freshrss'); ?></a></p>
</div>
diff --git a/p/themes/Dark/global.css b/p/themes/Dark/global.css
index a6acd740a..e296f2188 100644
--- a/p/themes/Dark/global.css
+++ b/p/themes/Dark/global.css
@@ -512,18 +512,20 @@ input, select, textarea {
}
/* Prompt (centré) */
-.prompt > h1, .prompt > p {
- text-align:center;
-}
-.prompt > form {
- margin:1em auto 2.5em auto;
- width:10em;
-}
-.prompt .btn {
- display:block;
- margin:.5em auto;
-}
-.prompt input {
- margin:.4em auto 1.1em auto;
- width:99%;
+.prompt {
+ text-align: center;
}
+ .prompt label {
+ text-align: left;
+ }
+ .prompt form {
+ margin: 1em auto 2.5em auto;
+ width: 10em;
+ }
+ .prompt input {
+ margin: .4em auto 1.1em auto;
+ width: 100%;
+ }
+ .prompt p {
+ margin: 20px 0;
+ }
diff --git a/p/themes/Flat/global.css b/p/themes/Flat/global.css
index 75c328fcb..4044dd781 100644
--- a/p/themes/Flat/global.css
+++ b/p/themes/Flat/global.css
@@ -515,18 +515,20 @@ input, select, textarea {
}
/* Prompt (centré) */
-.prompt > h1, .prompt > p {
- text-align:center;
-}
-.prompt > form {
- margin:1em auto 2.5em auto;
- width:10em;
-}
-.prompt .btn {
- display:block;
- margin:.5em auto;
-}
-.prompt input {
- margin:.4em auto 1.1em auto;
- width:99%;
+.prompt {
+ text-align: center;
}
+ .prompt label {
+ text-align: left;
+ }
+ .prompt form {
+ margin: 1em auto 2.5em auto;
+ width: 10em;
+ }
+ .prompt input {
+ margin: .4em auto 1.1em auto;
+ width: 100%;
+ }
+ .prompt p {
+ margin: 20px 0;
+ }
diff --git a/p/themes/Origine/global.css b/p/themes/Origine/global.css
index c1892d042..5792c9e4d 100644
--- a/p/themes/Origine/global.css
+++ b/p/themes/Origine/global.css
@@ -528,18 +528,20 @@ input, select, textarea {
}
/* Prompt (centré) */
-.prompt > h1, .prompt > p {
- text-align:center;
-}
-.prompt > form {
- margin:1em auto 2.5em auto;
- width:10em;
-}
-.prompt .btn {
- display:block;
- margin:.5em auto;
-}
-.prompt input {
- margin:.4em auto 1.1em auto;
- width:99%;
+.prompt {
+ text-align: center;
}
+ .prompt label {
+ text-align: left;
+ }
+ .prompt form {
+ margin: 1em auto 2.5em auto;
+ width: 10em;
+ }
+ .prompt input {
+ margin: .4em auto 1.1em auto;
+ width: 100%;
+ }
+ .prompt p {
+ margin: 20px 0;
+ }