예제 #1
0
 public function doCreate(CreateMessageRequest $request)
 {
     $message = new Message();
     $message->sender = \Auth::user()->id;
     $message->receiver = $request->employee;
     $message->subject = $request->subject;
     $message->time = \Carbon\Carbon::now()->toTimeString();
     try {
         if ($message->save()) {
             $messageReply = new MessageReply();
             $messageReply->sender = \Auth::user()->id;
             $messageReply->msg_id = $message->id;
             $messageReply->text = $request->message;
             $messageReply->time = \Carbon\Carbon::now()->toTimeString();
             if ($messageReply->save()) {
                 if ($request->file('attachment')) {
                     $messageReply->is_attachment = 1;
                     $messageReply->save();
                     $extension = $request->file('attachment')->getClientOriginalExtension();
                     $request->file('attachment')->move(public_path('uploads/inbox/' . $message->id . '/'), $messageReply->id . '.' . $extension);
                 }
             }
         }
         return redirect()->back()->with('message', 'Message has been sent successfully !');
     } catch (ParseException $ex) {
         echo 'Failed to send message , with error message: ' . $ex->getMessage();
     }
 }
예제 #2
0
 public function doCreate(CreateMessageRequest $request)
 {
     $uploaded = false;
     foreach ($request->employees as $key => $singleEmployee) {
         $user = Employee::findOrFail($singleEmployee);
         $message = new Message();
         $message->sender = \Auth::user()->id;
         $message->receiver = $singleEmployee;
         $message->subject = $request->subject;
         $message->time = \Carbon\Carbon::now()->toTimeString();
         if ($message->save()) {
             $messageReply = new MessageReply();
             $messageReply->sender = \Auth::user()->id;
             $messageReply->msg_id = $message->id;
             $messageReply->text = $request->message;
             $messageReply->time = \Carbon\Carbon::now()->toTimeString();
             \File::makeDirectory(public_path('uploads/inbox/') . $message->id);
             if ($messageReply->save()) {
                 if ($request->file('attachment')) {
                     $file = $request->file('attachment');
                     $messageReply->is_attachment = 1;
                     $messageReply->save();
                     $extension = $file->getClientOriginalExtension();
                     if ($file->isValid()) {
                         if ($uploaded) {
                             copy($uploaded, public_path('uploads/inbox/' . $this->originalDir));
                         } else {
                             if ($file->move(public_path('uploads/inbox/' . $message->id), $messageReply->id . '.' . $extension)) {
                                 $uploaded = public_path('uploads/inbox/' . $message->id) . '/' . $messageReply->id . '.' . $extension;
                                 $this->originalDir = $message->id;
                             }
                         }
                     }
                 }
             }
             \Mail::send('admin.emails.new_message', ['user' => $user], function ($m) use($user) {
                 $m->from('*****@*****.**', 'CloudsCRM');
                 $m->to($user->email, $user->name)->subject('New Message!');
             });
         }
     }
     return redirect()->back()->with('message', 'Message has been sent successfully !');
 }