Alexandre Alapetite
2017-03-02 22:57:02 +01:00
parent c67180530b
commit 9c012e6c81
2 changed files with 7 additions and 9 deletions

View File

@@ -115,6 +115,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
}
$ok = self::checkUsername($new_user_name);
$homeDir = join_path(DATA_PATH, 'users', $new_user_name);
if ($ok) {
$languages = Minz_Translate::availableLanguages();
@@ -124,7 +125,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
$ok &= !in_array(strtoupper($new_user_name), array_map('strtoupper', listUsers())); //Not an existing user, case-insensitive
$configPath = join_path(DATA_PATH, 'users', $new_user_name, 'config.php');
$configPath = join_path($homeDir, 'config.php');
$ok &= !file_exists($configPath);
}
if ($ok) {
@@ -141,7 +142,9 @@ class FreshRSS_user_Controller extends Minz_ActionController {
}
}
if ($ok) {
mkdir(join_path(DATA_PATH, 'users', $new_user_name));
if (!is_dir($homeDir)) {
mkdir($homeDir);
}
$userConfig['passwordHash'] = $passwordHash;
$userConfig['apiPasswordHash'] = $apiPasswordHash;
$ok &= (file_put_contents($configPath, "<?php\n return " . var_export($userConfig, true) . ';') !== false);

View File

@@ -295,17 +295,12 @@ function invalidateHttpCache($username = '') {
function listUsers() {
$final_list = array();
$base_path = join_path(DATA_PATH, 'users');
$dir_list = array_values(array_diff(
scandir($base_path),
array('..', '.', '_')
));
$dir_list = scandir($base_path);
foreach ($dir_list as $file) {
if (is_dir(join_path($base_path, $file))) {
if ($file[0] !== '.' && is_dir(join_path($base_path, $file)) && file_exists(join_path($base_path, $file, 'config.php'))) {
$final_list[] = $file;
}
}
return $final_list;
}