mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Use User model for email queue where possible
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
2018-11-13 DariusIII
|
||||
* Chg: Use User model for email queue where possible
|
||||
* Chg: Update assets
|
||||
* Chg: Update nesbot/carbon to version 1.34.4
|
||||
* Chg: Use laravel queue for sending emails
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Jobs\SendAccountDeletedEmail;
|
||||
use App\Models\User;
|
||||
use App\Models\Invitation;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -140,23 +141,23 @@ class UserController extends BasePageController
|
||||
$ret = User::signUp($request->input('username'), $request->input('password'), $request->input('email'), '', $request->input('notes'), $invites, '', true, $request->input('role'));
|
||||
$this->smarty->assign('role', $request->input('role'));
|
||||
} else {
|
||||
$ret = User::updateUser($request->input('id'), $request->input('username'), $request->input('email'), $request->input('grabs'), $request->input('role'), $request->input('notes'), $request->input('invites'), ($request->has('movieview') ? 1 : 0), ($request->has('musicview') ? 1 : 0), ($request->has('gameview') ? 1 : 0), ($request->has('xxxview') ? 1 : 0), ($request->has('consoleview') ? 1 : 0), ($request->has('bookview') ? 1 : 0));
|
||||
$editedUser = User::find($request->input('id'));
|
||||
$ret = User::updateUser($editedUser->id, $request->input('username'), $request->input('email'), $request->input('grabs'), $request->input('role'), $request->input('notes'), $request->input('invites'), ($request->has('movieview') ? 1 : 0), ($request->has('musicview') ? 1 : 0), ($request->has('gameview') ? 1 : 0), ($request->has('xxxview') ? 1 : 0), ($request->has('consoleview') ? 1 : 0), ($request->has('bookview') ? 1 : 0));
|
||||
if ($request->input('password') !== null) {
|
||||
User::updatePassword($request->input('id'), $request->input('password'));
|
||||
User::updatePassword($editedUser->id, $request->input('password'));
|
||||
}
|
||||
if ($request->input('rolechangedate') !== null) {
|
||||
User::updateUserRoleChangeDate($request->input('id'), $request->input('rolechangedate'));
|
||||
User::updateUserRoleChangeDate($editedUser->id, $request->input('rolechangedate'));
|
||||
}
|
||||
if ($request->input('role') !== null) {
|
||||
$roleName = Role::query()->where('id', $request->input('role'))->value('name');
|
||||
if ($roleName === 'Disabled') {
|
||||
$blockedUser = User::find($request->input('id'));
|
||||
if (env('FIREWALL_ENABLED') === true && \Firewall::isBlacklisted($blockedUser->host) === false) {
|
||||
\Firewall::blacklist($blockedUser->host);
|
||||
if (env('FIREWALL_ENABLED') === true && \Firewall::isBlacklisted($editedUser->host) === false) {
|
||||
\Firewall::blacklist($editedUser->host);
|
||||
}
|
||||
}
|
||||
$email = $request->input('email') ?? $request->input('email');
|
||||
SendAccountChangedEmail::dispatch($email, $request->input('id'));
|
||||
$editedUser->refresh();
|
||||
SendAccountChangedEmail::dispatch($editedUser);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,18 +60,19 @@ class ForgotPasswordController extends Controller
|
||||
if ($ret === null) {
|
||||
app('smarty.view')->assign('error', 'The email or apikey are not recognised.');
|
||||
$sent = true;
|
||||
} else {
|
||||
//
|
||||
// Generate a forgottenpassword guid, store it in the user table
|
||||
//
|
||||
$guid = \Token::random(32);
|
||||
User::updatePassResetGuid($ret['id'], $guid);
|
||||
//
|
||||
// Send the email
|
||||
//
|
||||
$resetLink = url('/').'/resetpassword?guid='.$guid;
|
||||
SendPasswordForgottenEmail::dispatch($ret, $resetLink);
|
||||
$sent = true;
|
||||
}
|
||||
//
|
||||
// Generate a forgottenpassword guid, store it in the user table
|
||||
//
|
||||
$guid = \Token::random(32);
|
||||
User::updatePassResetGuid($ret['id'], $guid);
|
||||
//
|
||||
// Send the email
|
||||
//
|
||||
$resetLink = url('/').'/resetpassword?guid='.$guid;
|
||||
SendPasswordForgottenEmail::dispatch($ret['email'], $resetLink);
|
||||
$sent = true;
|
||||
}
|
||||
|
||||
$theme = Settings::settingValue('site.main.style');
|
||||
|
||||
@@ -49,47 +49,52 @@ class ResetPasswordController extends Controller
|
||||
*/
|
||||
public function reset(Request $request)
|
||||
{
|
||||
$error = '';
|
||||
$confirmed = '';
|
||||
$onscreen = '';
|
||||
if (! $request->has('guid')) {
|
||||
app('smarty.view')->assign('error', 'No reset code provided.');
|
||||
$error = 'No reset code provided.';
|
||||
}
|
||||
|
||||
$ret = User::getByPassResetGuid($request->input('guid'));
|
||||
if ($ret === null) {
|
||||
app('smarty.view')->assign('error', 'Bad reset code provided.');
|
||||
$error = 'Bad reset code provided.';
|
||||
} else {
|
||||
|
||||
//
|
||||
// reset the password, inform the user, send out the email
|
||||
//
|
||||
User::updatePassResetGuid($ret['id'], '');
|
||||
$newpass = User::generatePassword();
|
||||
User::updatePassword($ret['id'], $newpass);
|
||||
|
||||
$onscreen = 'Your password has been reset to <strong>'.$newpass.'</strong> and sent to your e-mail address.';
|
||||
SendPasswordResetEmail::dispatch($ret, $newpass);
|
||||
$confirmed = true;
|
||||
}
|
||||
|
||||
//
|
||||
// reset the password, inform the user, send out the email
|
||||
//
|
||||
User::updatePassResetGuid($ret['id'], '');
|
||||
$newpass = User::generatePassword();
|
||||
User::updatePassword($ret['id'], $newpass);
|
||||
$theme = Settings::settingValue('site.main.style');
|
||||
|
||||
$onscreen = 'Your password has been reset to <strong>'.$newpass.'</strong> and sent to your e-mail address.';
|
||||
SendPasswordResetEmail::dispatch($ret['email'], $ret['id'], $newpass);
|
||||
app('smarty.view')->assign('notice', $onscreen);
|
||||
$confirmed = true;
|
||||
$title = 'Forgotten Password';
|
||||
$meta_title = 'Forgotten Password';
|
||||
$meta_keywords = 'forgotten,password,signup,registration';
|
||||
$meta_description = 'Forgotten Password';
|
||||
|
||||
$theme = Settings::settingValue('site.main.style');
|
||||
$content = app('smarty.view')->fetch($theme.'/forgottenpassword.tpl');
|
||||
|
||||
$title = 'Forgotten Password';
|
||||
$meta_title = 'Forgotten Password';
|
||||
$meta_keywords = 'forgotten,password,signup,registration';
|
||||
$meta_description = 'Forgotten Password';
|
||||
|
||||
$content = app('smarty.view')->fetch($theme.'/forgottenpassword.tpl');
|
||||
|
||||
app('smarty.view')->assign(
|
||||
[
|
||||
'content' => $content,
|
||||
'title' => $title,
|
||||
'meta_title' => $meta_title,
|
||||
'meta_keywords' => $meta_keywords,
|
||||
'meta_description' => $meta_description,
|
||||
'email' => $ret['email'],
|
||||
'confirmed' => $confirmed,
|
||||
]
|
||||
);
|
||||
app('smarty.view')->display($theme.'/basepage.tpl');
|
||||
app('smarty.view')->assign(
|
||||
[
|
||||
'content' => $content,
|
||||
'title' => $title,
|
||||
'meta_title' => $meta_title,
|
||||
'meta_keywords' => $meta_keywords,
|
||||
'meta_description' => $meta_description,
|
||||
'email' => $ret['email'],
|
||||
'confirmed' => $confirmed,
|
||||
'error' => $error,
|
||||
'notice' => $onscreen,
|
||||
]
|
||||
);
|
||||
app('smarty.view')->display($theme.'/basepage.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Jobs\SendAccountDeletedEmail;
|
||||
use App\Models\User;
|
||||
use Blacklight\NZBGet;
|
||||
use Blacklight\SABnzbd;
|
||||
@@ -360,9 +361,10 @@ class ProfileController extends BasePageController
|
||||
$this->setPrefs();
|
||||
$userId = $request->input('id');
|
||||
|
||||
if ($userId !== null && $this->userdata->hasRole('Admin') === false && (int) $userId === Auth::id()) {
|
||||
User::deleteUser($userId);
|
||||
|
||||
if ($userId !== null && (int) $userId === $this->userdata->id && $this->userdata->hasRole('Admin') === false ) {
|
||||
$user = User::find($userId);
|
||||
SendAccountDeletedEmail::dispatch($user);
|
||||
User::deleteUser($user->id);
|
||||
return redirect('login');
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Mail\AccountChange;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
@@ -21,13 +22,12 @@ class SendAccountChangedEmail implements ShouldQueue
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param $email
|
||||
* @param $id
|
||||
* @param \App\Models\User $user
|
||||
*/
|
||||
public function __construct($email, $id)
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->email = $email;
|
||||
$this->id = $id;
|
||||
$this->email = $user->email;
|
||||
$this->id = $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Jobs;
|
||||
|
||||
use App\Models\Settings;
|
||||
use App\Mail\AccountDeleted;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
@@ -20,11 +21,11 @@ class SendAccountDeletedEmail implements ShouldQueue
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param $userId
|
||||
* @param \App\Models\User $user
|
||||
*/
|
||||
public function __construct($userId)
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->userId = $userId;
|
||||
$this->userId = $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Mail\AccountExpired;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
@@ -21,13 +22,12 @@ class SendAccountExpiredEmail implements ShouldQueue
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param $email
|
||||
* @param $userId
|
||||
* @param \App\Models\User $user
|
||||
*/
|
||||
public function __construct($email, $userId)
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->email = $email;
|
||||
$this->userId = $userId;
|
||||
$this->email = $user->email;
|
||||
$this->userId = $user->id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use App\Mail\ForgottenPassword;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
@@ -21,12 +22,12 @@ class SendPasswordForgottenEmail implements ShouldQueue
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param $email
|
||||
* @param \App\Models\User $user
|
||||
* @param $resetLink
|
||||
*/
|
||||
public function __construct($email, $resetLink)
|
||||
public function __construct(User $user, $resetLink)
|
||||
{
|
||||
$this->email = $email;
|
||||
$this->email = $user->email;
|
||||
$this->resetLink = $resetLink;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Mail\PasswordReset;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
@@ -14,23 +15,31 @@ class SendPasswordResetEmail implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $userId;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $newPass;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param $email
|
||||
* @param $userId
|
||||
* @param $newPass
|
||||
* @param \App\Models\User $user
|
||||
* @param string $newPass
|
||||
*/
|
||||
public function __construct($email, $userId, $newPass)
|
||||
public function __construct(User $user, $newPass)
|
||||
{
|
||||
$this->email = $email;
|
||||
$this->userId = $userId;
|
||||
$this->email = $user->email;
|
||||
$this->userId = $user->id;
|
||||
$this->newPass = $newPass;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -423,7 +423,7 @@ class User extends Authenticatable
|
||||
$user = self::find($u['id']);
|
||||
$user->update(['roles_id' => self::ROLE_USER, 'rolechangedate' => null]);
|
||||
$user->syncRoles('User');
|
||||
SendAccountExpiredEmail::dispatch($u['email'], $u['id']);
|
||||
SendAccountExpiredEmail::dispatch($user);
|
||||
}
|
||||
|
||||
return self::SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user