diff options
| author | 2019-08-29 12:02:05 +0200 | |
|---|---|---|
| committer | 2019-08-29 12:02:05 +0200 | |
| commit | 75632e70f0d49048f4ce72a0fa8bbcbcd7b2d312 (patch) | |
| tree | 09c2f637ceedb76a30ad833555f02c2d50ee4863 /app/layout/simple.phtml | |
| parent | ad44ff81694ff4cbcccc514a17351476a38aadd8 (diff) | |
Provide email address verification feature (#2481)
* Add an email field to the profile page
I reuse the `mail_login` from the configuration. I'm not sure if it's
useful today (I would say it was used when Persona login was available).
A good improvement would be to rename `mail_login` into `email` so it
would be more intuitive to use.
* Add boolean to the conf to force email validation
This commit only adds a configuration item.
* Add email during registration if email must be validated
* Set email token to validate when email changes
* Block access to FreshRSS if email is not validated
* Send email when address is changed
* Allow to resend the validation email
* Allow the user to change its email while blocked
* Document the email validation feature
* fixup! Allow the user to change its email while blocked
* tec: Autoload PHPMailer lib
* Validate email address format
* Add feedback on validation email resend action
* Allow to logout when user is blocked
* fix: Change default email "from"
* Reorganize i18n keys
* Complete all the locales with default english
* Hide sidebar (profile page) if email is not validated
* Check email requirements on registration
* Allow admin to specify email when creating users
* Don't check email format if value is empty
* Remove trailing comma in userController
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Set PHPMailer validator to html5 before sending email
* fixup! Remove trailing comma in userController
Diffstat (limited to 'app/layout/simple.phtml')
| -rw-r--r-- | app/layout/simple.phtml | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/app/layout/simple.phtml b/app/layout/simple.phtml new file mode 100644 index 000000000..5546966be --- /dev/null +++ b/app/layout/simple.phtml @@ -0,0 +1,66 @@ +<?php FreshRSS::preLayout(); ?> +<!DOCTYPE html> +<html lang="<?php echo FreshRSS_Context::$user_conf->language; ?>" xml:lang="<?php echo FreshRSS_Context::$user_conf->language; ?>"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="initial-scale=1.0" /> + <?php echo self::headStyle(); ?> + <?php echo self::headScript(); ?> + <link rel="shortcut icon" id="favicon" type="image/x-icon" sizes="16x16 64x64" href="<?php echo Minz_Url::display('/favicon.ico'); ?>" /> + <link rel="icon msapplication-TileImage apple-touch-icon" type="image/png" sizes="256x256" href="<?php echo Minz_Url::display('/themes/icons/favicon-256.png'); ?>" /> + <link rel="apple-touch-icon" href="<?php echo Minz_Url::display('/themes/icons/apple-touch-icon.png'); ?>" /> + <meta name="apple-mobile-web-app-capable" content="yes" /> + <meta name="apple-mobile-web-app-status-bar-style" content="black" /> + <meta name="apple-mobile-web-app-title" content="<?php echo FreshRSS_Context::$system_conf->title; ?>"> + <meta name="msapplication-TileColor" content="#FFF" /> + <meta name="referrer" content="never" /> + <meta name="robots" content="noindex,nofollow" /> + <?php echo self::headTitle(); ?> + </head> + <body> + +<?php flush(); ?> +<div class="app-layout app-layout-simple"> + <div class="header"> + <div class="item title"> + <h1> + <a href="<?php echo _url('index', 'index'); ?>"> + <img class="logo" src="<?php echo _i('icon', true); ?>" alt="" /> + <?php echo FreshRSS_Context::$system_conf->title; ?> + </a> + </h1> + </div> + + <div class="item"></div> + + <div class="item"> + <?php if (FreshRSS_Auth::accessNeedsAction()) { ?> + <a class="signout" href="<?php echo _url('auth', 'logout'); ?>"> + <?php echo _i('logout') . _t('gen.auth.logout'); ?> + + (<?php echo htmlspecialchars(Minz_Session::param('currentUser', '_'), ENT_NOQUOTES, 'UTF-8'); ?>) + </a> + <?php } ?> + </div> + </div> + + <?php $this->render(); ?> +</div> + +<?php + $msg = ''; + $status = 'closed'; + if (isset($this->notification)) { + $msg = $this->notification['content']; + $status = $this->notification['type']; + + invalidateHttpCache(); + } +?> +<div id="notification" class="notification <?php echo $status; ?>"> + <span class="msg"><?php echo $msg; ?></span> + <a class="close" href=""><?php echo _i('close'); ?></a> +</div> + + </body> +</html> |
