Files
FreshRSS/cli/create-user.php
Marien Fressinaud 75632e70f0 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
2019-08-29 12:02:05 +02:00

40 lines
1.1 KiB
PHP
Executable File

#!/usr/bin/php
<?php
$isUpdate = false;
require(__DIR__ . '/_update-or-create-user.php');
$username = $options['user'];
if (!FreshRSS_user_Controller::checkUsername($username)) {
fail('FreshRSS error: invalid username “' . $username .
'”! Must be matching ' . FreshRSS_user_Controller::USERNAME_PATTERN);
}
$usernames = listUsers();
if (preg_grep("/^$username$/i", $usernames)) {
fail('FreshRSS error: username already taken “' . $username . '”');
}
echo 'FreshRSS creating user “', $username, "”…\n";
$ok = FreshRSS_user_Controller::createUser(
$username,
empty($options['mail_login']) ? '' : $options['mail_login'],
empty($options['password']) ? '' : $options['password'],
empty($options['api_password']) ? '' : $options['api_password'],
$values,
!isset($options['no_default_feeds'])
);
if (!$ok) {
fail('FreshRSS could not create user!');
}
invalidateHttpCache(FreshRSS_Context::$system_conf->default_user);
echo '• Remember to refresh the feeds of the user: ', $username , "\n",
"\t", './cli/actualize-user.php --user ', $username, "\n";
accessRights();
done($ok);