public function create(Request $request) { $validator = Validator::make($request->all(), ['startDate' => 'required', 'endDate' => 'required', 'startTime' => 'required|regex:/^[0-9]{2}:[0-9]{2}$/', 'endTime' => 'required|regex:/^[0-9]{2}:[0-9]{2}$/', 'subscriber' => 'required']); if ($validator->fails()) { Session::flash('breakCreateError', 'Ошибка при добавлении перерыва'); return redirect()->back(); } $subscriber = $request->input('subscriber'); $startDate = Carbon::createFromFormat('d.m.Y H:i', $request->input('startDate') . ' ' . trim($request->input('startTime'))); $endDate = Carbon::createFromFormat('d.m.Y H:i', $request->input('endDate') . ' ' . trim($request->input('endTime'))); if (Schedule::createBreak($subscriber, $startDate, $endDate)) { return redirect('/subscribers/' . $subscriber); } else { Session::flash('breakCreateError', 'Ошибка при добавлении перерыва'); return redirect()->back(); } }
public function parseMessage(Request $request) { $phone = $request->input('phone'); $message = trim($request->input('message')); $subscriberId = Subscriber::getByPhoneNumber($phone)->id; if (preg_match('/Уш[оеё]л$/ui', $message)) { //создать новую запись if (Schedule::createBreak($subscriberId, Carbon::now('Europe/Moscow'), null)) { echo 'Created!'; } } else { if (preg_match('/Пр[ие]ш[еёо]л$/ui', $message)) { //обновить существующую $breakId = Schedule::getLastBreak($subscriberId)->id; Schedule::updateEndDate($breakId, Carbon::now('Europe/Moscow')); } } }