You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
#!/usr/bin/php |
|
<?php |
|
require('_cli.php'); |
|
|
|
$options = getopt('', array( |
|
'user:', |
|
'password::', |
|
'api-password::', |
|
'language::', |
|
'email::', |
|
'token::', |
|
)); |
|
|
|
if (empty($options['user'])) { |
|
fail('Usage: ' . basename(__FILE__) . " --user=username --password='password' --api-password='api_password'" . |
|
" --language=en --email=user@example.net --token='longRandomString'"); |
|
} |
|
$username = $options['user']; |
|
if (!ctype_alnum($username)) { |
|
fail('FreshRSS error: invalid username “' . $username . '”'); |
|
} |
|
|
|
$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['password']) ? '' : $options['password'], |
|
empty($options['api-password']) ? '' : $options['api-password'], |
|
array( |
|
'language' => empty($options['language']) ? '' : $options['language'], |
|
'token' => empty($options['token']) ? '' : $options['token'], |
|
)); |
|
|
|
invalidateHttpCache(FreshRSS_Context::$system_conf->default_user); |
|
|
|
done($ok);
|
|
|