diff options
| author | 2019-10-31 18:15:47 +0100 | |
|---|---|---|
| committer | 2019-10-31 18:15:47 +0100 | |
| commit | 3aa66f317b496ccd9a2df914bbc747c52081a7ad (patch) | |
| tree | 6a3f3f74899801abdca00546e213dfdc141c53cf /app/views/user | |
| parent | 82611c9622ed23b0e9fcf5f9f651ddffa1fd7706 (diff) | |
| parent | fcae48f313d399050cb15f37a8a73ae52fc67796 (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.phtml | 75 | ||||
| -rw-r--r-- | app/views/user/profile.phtml | 90 | ||||
| -rw-r--r-- | app/views/user/validateEmail.phtml | 22 |
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> |
