admin) { return redirect("/"); } $mails_db = Roundmail::all(); $mails=array(); foreach($mails_db as $mail_db) { $fields=array(); $fields['id'] = $mail_db->id; $fields['send_date'] = $mail_db->send_date; $fields['topic'] = $mail_db->topic; $sender = User::where('id','=',$mail_db->user_id)->first(); $sender_name="(Gelöschter Anwender)"; if ($sender) { $sender_name=$sender->name; } $fields['sender'] = $sender_name; array_push($mails,$fields); } $mails=array_reverse($mails); return view('roundmails.index',compact('mails')); } public function show($mail_id) { if (Auth::guest()) { return redirect("/"); } if (!Auth::user()->admin) { return redirect("/"); } $user_id=Auth::user()->id; $users = DB::table('users')->where('deleted',null)->orderBy('lastname')->get(); $active_users=array(); $activeMailList=array(); $inactive_users=array(); $inactiveMailList=array(); $missingTippMailList=array(); $missingJokerMailList=array(); $adminMailList=array(); $topic=""; $send_date = date("d.m.Y h:i:s", time()); Log::info("Users to check for missing tipps:" . sizeof($users)); foreach($users as $user) { if (User::is_season_paid($user->id)) { array_push($active_users,$user); array_push($activeMailList,$user->email); } else { array_push($inactive_users, $user); array_push($inactiveMailList,$user->email); } //Log::info("user-id=".$user->id.", ".$user->name); //Log::info("Tipp: ".User::hasMissingTipp($user->id)); if (User::hasMissingTipp($user->id)) { array_push($missingTippMailList,$user->email); } if (User::hasMissingJoker($user->id) ) { array_push($missingJokerMailList,$user->email); } if ($user->admin==true) { array_push($adminMailList,$user->email); } } Log::info("Size of missingMailist=".sizeof($missingTippMailList)); $activeMailList = implode(",",$activeMailList); $inactiveMailList = implode(",",$inactiveMailList); $missingTippMailList = implode(",",$missingTippMailList); $missingJokerMailList = implode(",",$missingJokerMailList); $adminMailList = implode(",",$adminMailList); $topic=""; $mail_message=""; $sender_name=Auth::user()->name; $recipients=""; $viewmode=false; if ($mail_id>-1) { $viewmode=true; $mail = Roundmail::where('id','=',$mail_id)->first(); $send_date = $mail->send_date; $topic = $mail->topic; $mail_message = str_replace('
','\n',$mail->message); $recipients = $mail->recipients; $sender = User::where('id','=',$mail->user_id)->first(); $sender_name = $sender->name; } return view('roundmails.show',compact('mail_id','activeMailList','inactiveMailList','missingTippMailList','missingJokerMailList','adminMailList','send_date','user_id','topic', 'mail_message', 'recipients', 'sender_name','viewmode')); } public function send() { if (Auth::guest()) { return redirect("/"); } if (!Auth::user()->admin) { return redirect("/"); } // Validate form $this->validate(request(), [ 'user_id' => 'required', 'send_date' => 'required', 'topic' => 'required', 'message' => 'required', 'recipients'=> 'required' ]); Log::info("Preparing to send from user_id ".request('user_id')); /* foreach($users as $user) { Log::info("Sending RoundmailMailer to: ".$user->name); \Mail::to($user)->send(new RoundmailMailer); } */ $r = new RoundmailMailer(); $r->user_id = Auth::user()->id; $r->send_date = Carbon\Carbon::now(); $r->recipients = request('recipients'); $r->topic = request('topic'); $r->mail_message = str_replace("\n","
", request('message')); // Die hier ist nur für die DB $rm = new RoundMail(); $rm->send_date=$r->send_date; $rm->recipients=$r->recipients; $rm->user_id=$r->user_id; $rm->topic=$r->topic; $rm->message=$r->mail_message; $rm->save(); \Mail::to(explode(",",$r->recipients))->send($r); // TODO: refactor, loop is also used in index method. // COPY/PASTE, please refactor! $mails_db = Roundmail::all(); $mails=array(); foreach($mails_db as $mail_db) { $fields=array(); $fields['id'] = $mail_db->id; $fields['send_date'] = $mail_db->send_date; $fields['topic'] = $mail_db->topic; $sender = User::where('id','=',$mail_db->user_id)->first(); $sender_name="(Gelöschter Anwender)"; if ($sender) { $sender_name=$sender->name; } $fields['sender'] = $sender_name; array_push($mails,$fields); } $mails=array_reverse($mails); return view('roundmails.index',compact('mails')); } }