Merge pull request #736 from pixelfed/frontend-ui-refactor

Frontend ui refactor
This commit is contained in:
daniel 2019-01-03 23:09:26 -07:00 committed by GitHub
commit d3b3ef49fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 9 deletions

View file

@ -5,6 +5,7 @@ namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\{Profile, User};
use DB;
use App\Util\Lexer\RestrictedNames;
class FixUsernames extends Command
{
@ -43,8 +44,13 @@ class FixUsernames extends Command
$affected = collect([]);
$users = User::chunk(100, function($users) use($affected) {
$restricted = RestrictedNames::get();
$users = User::chunk(100, function($users) use($affected, $restricted) {
foreach($users as $user) {
if(in_array($user->username, $restricted)) {
$affected->push($user);
}
$val = str_replace(['-', '_'], '', $user->username);
if(!ctype_alnum($val)) {
$this->info('Found invalid username: ' . $user->username);
@ -58,11 +64,13 @@ class FixUsernames extends Command
$opts = [
'Random replace (assigns random username)',
'Best try replace (assigns alpha numeric username)',
'Manual replace (manually set username)'
'Manual replace (manually set username)',
'Skip (do not replace. Use at your own risk)'
];
foreach($affected as $u) {
$old = $u->username;
$this->info("Found user: {$old}");
$opt = $this->choice('Select fix method:', $opts, 0);
switch ($opt) {
@ -84,11 +92,16 @@ class FixUsernames extends Command
$this->info('New username: ' . $new);
break;
case $opts[3]:
$new = false;
break;
default:
$new = "user_" . str_random(6);
break;
}
if($new) {
DB::transaction(function() use($u, $new) {
$profile = $u->profile;
$profile->username = $new;
@ -96,10 +109,13 @@ class FixUsernames extends Command
$u->save();
$profile->save();
});
}
$this->info('Selected: ' . $opt);
}
$this->info('Fixed ' . $affected->count() . ' usernames!');
} else {
$this->info('No affected usernames found!');
}
}
}

View file

@ -171,6 +171,8 @@ class RestrictedNames
'tour',
'user',
'users',
'username',
'usernames',
'vendor',
'ws',
'wss',