aboutsummaryrefslogtreecommitdiff
path: root/app/views/user
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-10-31 18:15:47 +0100
committerGravatar GitHub <noreply@github.com> 2019-10-31 18:15:47 +0100
commit3aa66f317b496ccd9a2df914bbc747c52081a7ad (patch)
tree6a3f3f74899801abdca00546e213dfdc141c53cf /app/views/user
parent82611c9622ed23b0e9fcf5f9f651ddffa1fd7706 (diff)
parentfcae48f313d399050cb15f37a8a73ae52fc67796 (diff)
Merge pull request #2599 from FreshRSS/dev1.15.0
FreshRSS 1.15
Diffstat (limited to 'app/views/user')
-rw-r--r--app/views/user/manage.phtml75
-rw-r--r--app/views/user/profile.phtml90
-rw-r--r--app/views/user/validateEmail.phtml22
3 files changed, 119 insertions, 68 deletions
diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml
index d0e5928ef..93d1008b5 100644
--- a/app/views/user/manage.phtml
+++ b/app/views/user/manage.phtml
@@ -1,98 +1,109 @@
<?php $this->partial('aside_configure'); ?>
<div class="post">
- <a href="<?php echo _url('index', 'index'); ?>"><?php echo _t('gen.action.back_to_rss_feeds'); ?></a>
+ <a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
- <form method="post" action="<?php echo _url('user', 'create'); ?>" autocomplete="off">
- <input type="hidden" name="_csrf" value="<?php echo FreshRSS_Auth::csrfToken(); ?>" />
- <legend><?php echo _t('admin.user.create'); ?></legend>
+ <form method="post" action="<?= _url('user', 'create') ?>" autocomplete="off">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <legend><?= _t('admin.user.create') ?></legend>
<div class="form-group">
- <label class="group-name" for="new_user_language"><?php echo _t('admin.user.language'); ?></label>
+ <label class="group-name" for="new_user_language"><?= _t('admin.user.language') ?></label>
<div class="group-controls">
<select name="new_user_language" id="new_user_language">
<?php $languages = Minz_Translate::availableLanguages(); ?>
<?php foreach ($languages as $lang) { ?>
- <option value="<?php echo $lang; ?>"<?php echo FreshRSS_Context::$user_conf->language === $lang ? ' selected="selected"' : ''; ?>><?php echo _t('gen.lang.' . $lang); ?></option>
+ <option value="<?= $lang ?>"<?= FreshRSS_Context::$user_conf->language === $lang ? ' selected="selected"' : '' ?>><?= _t('gen.lang.' . $lang) ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
- <label class="group-name" for="new_user_name"><?php echo _t('admin.user.username'); ?></label>
+ <label class="group-name" for="new_user_name"><?= _t('admin.user.username') ?></label>
<div class="group-controls">
- <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?php echo FreshRSS_user_Controller::USERNAME_PATTERN; ?>" placeholder="demo" />
+ <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" placeholder="demo" />
</div>
</div>
+ <?php if ($this->show_email_field) { ?>
+ <div class="form-group">
+ <label class="group-name" for="new_user_email">
+ <?= _t('gen.auth.email') ?>
+ </label>
+ <div class="group-controls">
+ <input id="new_user_email" name="new_user_email" type="email" required />
+ </div>
+ </div>
+ <?php } ?>
+
<div class="form-group">
- <label class="group-name" for="new_user_passwordPlain"><?php echo _t('admin.user.password_form'); ?></label>
+ <label class="group-name" for="new_user_passwordPlain"><?= _t('admin.user.password_form') ?></label>
<div class="group-controls">
<div class="stick">
<input type="password" id="new_user_passwordPlain" name="new_user_passwordPlain" autocomplete="new-password" pattern=".{7,}" />
- <a class="btn toggle-password" data-toggle="new_user_passwordPlain"><?php echo _i('key'); ?></a>
+ <a class="btn toggle-password" data-toggle="new_user_passwordPlain"><?= _i('key') ?></a>
</div>
- <?php echo _i('help'); ?> <?php echo _t('admin.user.password_format'); ?>
- <noscript><b><?php echo _t('gen.js.should_be_activated'); ?></b></noscript>
+ <?= _i('help') ?> <?= _t('admin.user.password_format') ?>
+ <noscript><b><?= _t('gen.js.should_be_activated') ?></b></noscript>
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
- <button type="submit" class="btn btn-important"><?php echo _t('gen.action.create'); ?></button>
- <button type="reset" class="btn"><?php echo _t('gen.action.cancel'); ?></button>
+ <button type="submit" class="btn btn-important"><?= _t('gen.action.create') ?></button>
+ <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
</div>
</div>
</form>
- <form method="post" action="<?php echo _url('user', 'update'); ?>">
- <input type="hidden" name="_csrf" value="<?php echo FreshRSS_Auth::csrfToken(); ?>" />
- <legend><?php echo _t('admin.user.update_users'); ?></legend>
+ <form method="post" action="<?= _url('user', 'update') ?>">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <legend><?= _t('admin.user.update_users') ?></legend>
<div class="form-group">
- <label class="group-name" for="current_user"><?php echo _t('admin.user.selected'); ?></label>
+ <label class="group-name" for="current_user"><?= _t('admin.user.selected') ?></label>
<div class="group-controls">
<select id="current_user" name="username">
<option selected="selected"> </option>
<?php foreach (listUsers() as $username) { ?>
- <option value="<?php echo $username; ?>"><?php echo $username; ?></option>
+ <option value="<?= $username ?>"><?= $username ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
- <label class="group-name" for="newPasswordPlain"><?php echo _t('admin.user.password_form'); ?></label>
+ <label class="group-name" for="newPasswordPlain"><?= _t('admin.user.password_form') ?></label>
<div class="group-controls">
<div class="stick">
- <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?php echo cryptAvailable() ? '' : 'disabled="disabled" '; ?>/>
- <a class="btn toggle-password" data-toggle="newPasswordPlain"><?php echo _i('key'); ?></a>
+ <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+ <a class="btn toggle-password" data-toggle="newPasswordPlain"><?= _i('key') ?></a>
</div>
- <?php echo _i('help'); ?> <?php echo _t('conf.profile.password_format'); ?>
- <noscript><b><?php echo _t('gen.js.should_be_activated'); ?></b></noscript>
+ <?= _i('help') ?> <?= _t('conf.profile.password_format') ?>
+ <noscript><b><?= _t('gen.js.should_be_activated') ?></b></noscript>
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
- <button type="submit" class="btn btn-important"><?php echo _t('gen.action.update'); ?></button>
- <button type="reset" class="btn"><?php echo _t('gen.action.cancel'); ?></button>
+ <button type="submit" class="btn btn-important"><?= _t('gen.action.update') ?></button>
+ <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
</div>
</div>
</form>
- <form method="post" action="<?php echo _url('user', 'delete'); ?>">
- <input type="hidden" name="_csrf" value="<?php echo FreshRSS_Auth::csrfToken(); ?>" />
- <legend><?php echo _t('admin.user.delete_users'); ?></legend>
+ <form method="post" action="<?= _url('user', 'delete') ?>">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <legend><?= _t('admin.user.delete_users') ?></legend>
<div class="form-group">
- <label class="group-name" for="user-list"><?php echo _t('admin.user.selected'); ?></label>
+ <label class="group-name" for="user-list"><?= _t('admin.user.selected') ?></label>
<div class="group-controls">
<select id="user-list" class="select-change" name="username">
<option selected="selected"> </option>
<?php foreach (listUsers() as $username) { ?>
- <option data-url="<?php echo _url('user', 'manage', 'u', $username); ?>" <?php echo $this->current_user === $username ? 'selected="selected"' : ''; ?> value="<?php echo $username; ?>"><?php echo $username; ?></option>
+ <option data-url="<?= _url('user', 'manage', 'u', $username) ?>" <?= $this->current_user === $username ? 'selected="selected"' : '' ?> value="<?= $username ?>"><?= $username ?></option>
<?php } ?>
</select>
@@ -104,7 +115,7 @@
<div class="form-group form-actions">
<div class="group-controls">
- <button type="submit" class="btn btn-attention confirm"><?php echo _t('gen.action.remove'); ?></button>
+ <button type="submit" class="btn btn-attention confirm"><?= _t('gen.action.remove') ?></button>
</div>
</div>
</form>
diff --git a/app/views/user/profile.phtml b/app/views/user/profile.phtml
index 83140376d..b8bb5cee9 100644
--- a/app/views/user/profile.phtml
+++ b/app/views/user/profile.phtml
@@ -1,82 +1,100 @@
-<?php $this->partial('aside_configure'); ?>
+<?php
+ if (!$this->disable_aside) {
+ $this->partial('aside_configure');
+ }
+?>
<div class="post">
- <a href="<?php echo _url('index', 'index'); ?>"><?php echo _t('gen.action.back_to_rss_feeds'); ?></a>
+ <a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
- <form method="post" action="<?php echo _url('user', 'profile'); ?>">
- <input type="hidden" name="_csrf" value="<?php echo FreshRSS_Auth::csrfToken(); ?>" />
- <legend><?php echo _t('conf.profile'); ?></legend>
+ <form method="post" action="<?= _url('user', 'profile') ?>">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <legend><?= _t('conf.profile') ?></legend>
<div class="form-group">
- <label class="group-name" for="current_user"><?php echo _t('conf.user.current'); ?></label>
+ <label class="group-name" for="current_user"><?= _t('conf.user.current') ?></label>
<div class="group-controls">
- <input id="current_user" type="text" disabled="disabled" value="<?php echo Minz_Session::param('currentUser', '_'); ?>" />
- <label class="checkbox" for="is_admin">
- <input type="checkbox" id="is_admin" disabled="disabled" <?php echo FreshRSS_Auth::hasAccess('admin') ? 'checked="checked" ' : ''; ?>/>
- <?php echo _t('conf.user.is_admin'); ?>
- </label>
+ <input id="current_user" type="text" disabled="disabled" value="<?= Minz_Session::param('currentUser', '_') ?>" />
+ </div>
+ </div>
+
+ <?php if (FreshRSS_Auth::hasAccess('admin')) { ?>
+ <div class="form-group">
+ <div class="group-controls">
+ <label class="checkbox" for="is_admin">
+ <input type="checkbox" id="is_admin" disabled checked />
+ <?= _t('conf.user.is_admin') ?>
+ </label>
+ </div>
+ </div>
+ <?php } ?>
+
+ <div class="form-group">
+ <label class="group-name" for="email"><?= _t('conf.profile.email') ?></label>
+ <div class="group-controls">
+ <input id="email" name="email" type="email" value="<?= FreshRSS_Context::$user_conf->mail_login ?>" />
</div>
</div>
<div class="form-group">
- <label class="group-name" for="newPasswordPlain"><?php echo _t('conf.profile.password_form'); ?></label>
+ <label class="group-name" for="newPasswordPlain"><?= _t('conf.profile.password_form') ?></label>
<div class="group-controls">
<div class="stick">
- <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?php echo cryptAvailable() ? '' : 'disabled="disabled" '; ?>/>
- <a class="btn toggle-password" data-toggle="newPasswordPlain"><?php echo _i('key'); ?></a>
+ <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+ <a class="btn toggle-password" data-toggle="newPasswordPlain"><?= _i('key') ?></a>
</div>
- <?php echo _i('help'); ?> <?php echo _t('conf.profile.password_format'); ?>
- <noscript><b><?php echo _t('gen.js.should_be_activated'); ?></b></noscript>
+ <?= _i('help') ?> <?= _t('conf.profile.password_format') ?>
+ <noscript><b><?= _t('gen.js.should_be_activated') ?></b></noscript>
</div>
</div>
<?php if (FreshRSS_Context::$system_conf->api_enabled) { ?>
<div class="form-group">
- <label class="group-name" for="apiPasswordPlain"><?php echo _t('conf.profile.password_api'); ?></label>
+ <label class="group-name" for="apiPasswordPlain"><?= _t('conf.profile.password_api') ?></label>
<div class="group-controls">
<div class="stick">
- <input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?php echo cryptAvailable() ? '' : 'disabled="disabled" '; ?>/>
- <a class="btn toggle-password" data-toggle="apiPasswordPlain"><?php echo _i('key'); ?></a>
+ <input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+ <a class="btn toggle-password" data-toggle="apiPasswordPlain"><?= _i('key') ?></a>
</div>
- <?php echo _i('help'); ?> <kbd><a href="../api/"><?php echo Minz_Url::display('/api/', 'html', true); ?></a></kbd>
+ <?= _i('help') ?> <kbd><a href="../api/"><?= Minz_Url::display('/api/', 'html', true) ?></a></kbd>
</div>
</div>
<?php } ?>
<?php if (FreshRSS_Auth::accessNeedsAction()) { ?>
<div class="form-group">
- <label class="group-name" for="token"><?php echo _t('admin.auth.token'); ?></label>
+ <label class="group-name" for="token"><?= _t('admin.auth.token') ?></label>
<?php $token = FreshRSS_Context::$user_conf->token; ?>
<div class="group-controls">
- <input type="text" id="token" name="token" value="<?php echo $token; ?>" placeholder="<?php echo _t('gen.short.blank_to_disable'); ?>"<?php
- echo FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?php echo $token; ?>"/>
- <?php echo _i('help'); ?> <?php echo _t('admin.auth.token_help'); ?>
- <kbd><?php echo Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'), 'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true); ?></kbd>
+ <input type="text" id="token" name="token" value="<?= $token ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>"<?php
+ echo FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= $token ?>"/>
+ <?= _i('help') ?> <?= _t('admin.auth.token_help') ?>
+ <kbd><?= Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'), 'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true) ?></kbd>
</div>
</div>
<?php } ?>
<div class="form-group form-actions">
<div class="group-controls">
- <button type="submit" class="btn btn-important"><?php echo _t('gen.action.submit'); ?></button>
- <button type="reset" class="btn"><?php echo _t('gen.action.cancel'); ?></button>
+ <button type="submit" class="btn btn-important"><?= _t('gen.action.submit') ?></button>
+ <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
</div>
</div>
</form>
<?php if (!FreshRSS_Auth::hasAccess('admin')) { ?>
- <form id="crypto-form" method="post" action="<?php echo _url('user', 'delete'); ?>">
- <input type="hidden" name="_csrf" value="<?php echo FreshRSS_Auth::csrfToken(); ?>" />
- <legend><?php echo _t('conf.profile.delete'); ?></legend>
+ <form id="crypto-form" method="post" action="<?= _url('user', 'delete') ?>">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <legend><?= _t('conf.profile.delete') ?></legend>
- <p class="alert alert-warn"><span class="alert-head"><?php echo _t('gen.short.attention'); ?></span> <?php echo _t('conf.profile.delete.warn'); ?></p>
+ <p class="alert alert-warn"><span class="alert-head"><?= _t('gen.short.attention') ?></span> <?= _t('conf.profile.delete.warn') ?></p>
<div class="form-group">
- <label class="group-name" for="passwordPlain"><?php echo _t('gen.auth.password'); ?></label>
+ <label class="group-name" for="passwordPlain"><?= _t('gen.auth.password') ?></label>
<div class="group-controls">
<input type="password" id="passwordPlain" required="required" />
<input type="hidden" id="challenge" name="challenge" /><br />
- <noscript><strong><?php echo _t('gen.js.should_be_activated'); ?></strong></noscript>
+ <noscript><strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
</div>
</div>
@@ -88,9 +106,9 @@
'php', true
));
?>
- <input type="hidden" name="r" value="<?php echo $redirect_url; ?>" />
- <input type="hidden" name="username" id="username" value="<?php echo Minz_Session::param('currentUser', '_'); ?>" />
- <button type="submit" class="btn btn-attention confirm"><?php echo _t('gen.action.remove'); ?></button>
+ <input type="hidden" name="r" value="<?= $redirect_url ?>" />
+ <input type="hidden" name="username" id="username" value="<?= Minz_Session::param('currentUser', '_') ?>" />
+ <button type="submit" class="btn btn-attention confirm"><?= _t('gen.action.remove') ?></button>
</div>
</div>
</form>
diff --git a/app/views/user/validateEmail.phtml b/app/views/user/validateEmail.phtml
new file mode 100644
index 000000000..e525b1b6b
--- /dev/null
+++ b/app/views/user/validateEmail.phtml
@@ -0,0 +1,22 @@
+<div class="post">
+ <p>
+ <?= _t('user.email.validation.need_to', FreshRSS_Context::$system_conf->title) ?>
+ </p>
+
+ <p>
+ <?= _t('user.email.validation.email_sent_to', FreshRSS_Context::$user_conf->mail_login) ?>
+ </p>
+
+ <form action="<?= _url('user', 'sendValidationEmail') ?>" method="post">
+ <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
+ <button type="submit" class="btn">
+ <?= _t('user.email.validation.resend_email') ?>
+ </button>
+ </form>
+
+ <p>
+ <small>
+ <?= _t('user.email.validation.change_email', _url('user', 'profile')) ?>
+ </small>
+ </p>
+</div>