/** * Send notification email for admin or support. * * @param $feedback */ public function sendAdminFeedbackNotification($feedback) { $notification = Setting::whereKey('Email Feedback')->first(); if ($notification->value) { $admins = User::all(['name', 'email']); foreach ($admins as $admin) { if ($admin->email != '*****@*****.**' && $admin->email != '*****@*****.**') { Mail::send('emails.admin.message', ['admin' => $admin, 'feedback' => $feedback], function ($message) use($admin) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo('*****@*****.**', env('MAIL_NAME', 'Infogue.id')); $message->to($admin->email)->subject('Someone sent feedback message'); }); } } } }
/** * Send notification email for admin or support. * * @param $contributor * @param $article * @param bool|false $doUpdate */ public function sendAdminArticleNotification($contributor, $article, $doUpdate = false) { $notification = Setting::whereKey('Email Article')->first(); if ($notification->value) { $admins = User::all(['name', 'email']); foreach ($admins as $admin) { if ($admin->email != '*****@*****.**' && $admin->email != '*****@*****.**') { Mail::send('emails.admin.article', ['admin' => $admin, 'contributor' => $contributor, 'article' => $article], function ($message) use($admin, $contributor, $doUpdate) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $subject = $contributor->name . ' create new article [PENDING]'; if ($doUpdate) { $subject = $contributor->name . ' updated the article [PENDING UPDATE]'; } $message->to($admin->email)->subject($subject); }); } } } }
/** * Send notification email for admin or support. * * @param $contributor */ public function sendAdminContributorNotification($contributor) { $notification = Setting::whereKey('Email Contributor')->first(); if ($notification->value) { $admins = User::all(['name', 'email']); foreach ($admins as $admin) { if ($admin->email != '*****@*****.**' && $admin->email != '*****@*****.**') { Mail::send('emails.admin.contributor', ['admin' => $admin, 'contributor' => $contributor], function ($message) use($admin, $contributor) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo('*****@*****.**', env('MAIL_NAME', 'Infogue.id')); $message->to($admin->email)->subject($contributor->name . ' joins Infogue.id'); }); } } } }
/** * Delete transaction data before it processes more further. * * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function cancel(Request $request) { $transactionId = $request->input('transaction_id'); $contributor = Auth::user(); $transaction = $contributor->transactions()->findOrFail($transactionId); $transaction->status = Transaction::STATUS_CANCEL; if ($transaction->save()) { // notify the contributor Mail::send('emails.receipt', ['transaction' => $transaction, 'contributor' => $contributor], function ($message) use($transaction, $contributor) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo('*****@*****.**', env('MAIL_NAME', 'Infogue.id')); $message->to($contributor->email)->subject('Withdrawal status transaction ID ' . $transaction->id . ' is cancelled'); }); // notify all admins via email so they could proceed the transaction as soon as possible $admins = User::all(['name', 'email']); foreach ($admins as $admin) { if ($admin->email != '*****@*****.**' && $admin->email != '*****@*****.**') { Mail::send('emails.admin.cancel', ['contributor' => $contributor, 'transaction' => $transaction], function ($message) use($admin, $contributor, $transaction) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo($contributor->email, $contributor->name); $message->to($admin->email)->subject($contributor->name . " cancel their withdrawal ID #" . $transaction->id); }); } } return redirect(route('account.wallet'))->with(['status' => 'warning', 'message' => 'Transaction ' . $transactionId . ' was cancelled']); } return redirect()->back()->withErrors(['error' => Lang::get('alert.error.database')]); }
/** * Display the password reset view for the given token. * * If no token is present, display the link request form. * * @param string|null $token * @return \Illuminate\Http\Response */ public function showResetForm($token = null) { if (is_null($token)) { return $this->getEmail(); } /* * -------------------------------------------------------------------------- * Checking password reset request token * -------------------------------------------------------------------------- * Check if user has been creating request for changing their password * otherwise throw it 404 error page, then retrieve their profile to make * sure they are going to update the correct account. */ $reset = DB::table('password_resets')->whereToken($token)->first(); if ($reset == null) { abort(404); } $user = User::whereEmail($reset->email)->firstOrFail(); return view('admin.auth.reset')->with(compact('token', 'user')); }
/** * As long as the request does not proceed yet by admin, contributor can cancel * their withdrawal application. * * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function cancel(Request $request) { $transactionId = $request->input('id'); $contributorId = $request->input('contributor_id'); $contributor = Contributor::findOrFail($contributorId); $transaction = $contributor->transactions()->findOrFail($transactionId); $transaction->status = Transaction::STATUS_CANCEL; if ($transaction->save()) { // notify the contributor Mail::send('emails.receipt', ['transaction' => $transaction, 'contributor' => $contributor], function ($message) use($transaction, $contributor) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo('*****@*****.**', env('MAIL_NAME', 'Infogue.id')); $message->to($contributor->email)->subject('Withdrawal status transaction ID ' . $transaction->id . ' is ' . $transaction->status); }); // notify all admins via email so they could proceed the transaction as soon as possible $admins = User::all(['name', 'email']); foreach ($admins as $admin) { if ($admin->email != '*****@*****.**' && $admin->email != '*****@*****.**') { Mail::send('emails.admin.cancel', ['contributor' => $contributor, 'transaction' => $transaction], function ($message) use($admin, $contributor, $transaction) { $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id')); $message->replyTo($contributor->email, $contributor->name); $message->to($admin->email)->subject($contributor->name . " cancel their withdrawal ID #" . $transaction->id); }); } } return response()->json(['request_id' => uniqid(), 'status' => 'success', 'message' => 'Transaction ' . $transactionId . ' was cancelled', 'timestamp' => Carbon::now()]); } return response()->json(['request_id' => uniqid(), 'status' => 'failure', 'message' => Lang::get('alert.error.generic'), 'timestamp' => Carbon::now()], 500); }