/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), ['title' => "required|between:2,30", 'date' => "required|date", 'time' => "required", 'timezone' => "required|timezone"], ['title.required' => 'You need to provide a title!', 'date.required' => 'You need to provide a date!', 'time.required' => 'You need to provide a time!', 'timezone.required' => "The timezone is a required field - please don't remove it...", 'title.between' => 'The title must be between :min - :max characters long.', 'date.date' => 'The date needs to be formatted as a date dd/mm/yyyy', 'timezone.timezone' => 'The timezone was already formatted to your timezone, the one you have changed it to is not a supported timezone...']); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } $userDateTime = \Carbon\Carbon::createFromFormat('Y-m-d H:i', $request->date . $request->time, $request->timezone); $utcDateTime = clone $userDateTime; $utcDateTime->setTimeZone('UTC'); $currentDateTime = \Carbon\Carbon::now()->format('Y-m-d H:i'); if ($utcDateTime < $currentDateTime) { $validator->getMessageBag()->add('oldate', 'The date and time provided is in the past, please provide a future date and time.'); return Redirect::back()->withErrors($validator)->withInput(); } $data = array('title' => $request->title, 'date' => $userDateTime); $reminder = new Reminder(); $reminder->memberid = Auth::user()->id; $reminder->title = $request->title; $reminder->userReminderDate = $userDateTime; $reminder->utcReminderDate = $utcDateTime; $reminder->description = $request->description; $reminder->save(); flash()->success('Your reminder was successfully set.'); return redirect('/remindr'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $user = Auth::user()->id; $note = new Reminder(); $note->user_id = $user; $note->category_id = $request->category; $note->text = $request->text; $note->reminder = $request->date; $note->save(); $note->reminder = DateTime::createFromFormat('Y-m-d H:i:s', $note->reminder)->format('d/m/Y H:i'); return Response::json($note, 200); }
public function update(Request $request, $id) { $a = Alarm::findOrFail($id); $action = $request->input('action', 'update'); switch ($action) { case 'mail': $recipients = $request->input('recipient'); $message = $request->input('message'); Mail::send('emails.reminder', ['alarm' => $a, 'mailmessage' => $message], function ($m) use($recipients, $a) { foreach ($recipients as $r) { $m->to($r); } $m->subject('Avviso: ' . $a->simpleName()); }); break; case 'remind': $r = new Reminder(); $r->alarm_id = $a->id; $r->active = true; $r->notes = $request->input('notes', ''); $interval = $request->input('reminder-offset'); $r->expiry = date('Y-m-d', strtotime('+1 ' . $interval)); $r->save(); break; case 'close': $a->closed = true; $a->closer_id = Auth::user()->id; $a->save(); $a->history()->update(['active' => false]); $a->reIterate(); break; case 'update': $a->date1 = $request->input('date1'); $a->notes = $request->input('notes', ''); $a->save(); $path = $a->filesPath(); if ($request->has('existing_attachments')) { $saved = $request->input('existing_attachments'); } else { $saved = []; } $existing = array_diff(scandir($path), ['.', '..']); foreach ($existing as $e) { if (array_search($e, $saved) === false) { unlink($path . '/' . $e); } } if ($request->hasFile('attachments')) { foreach ($request->file('attachments') as $file) { $file->move($path, $file->getClientOriginalName()); } } break; } return redirect(url('/alarms')); }