public function doCampaignAddStep1(Request $request) { $sms = 0; $email = 0; $email_template_id = 0; if ($request->input('type') == 'email') { $email = 1; } if ($request->input('type') == 'sms') { $sms = 1; } if ($request->input('type') == 'both') { $sms = 1; $email = 1; } if ($request->input('type') == 'email' || $request->input('type') == 'both') { $email_template_id = $request->input('template_id'); } if ($request->input('send_date')) { $send_datetime = Carbon::createFromFormat('d/m/Y H:i', $request->input('send_date') . " " . $request->input('send_time_hour') . ":" . $request->input('send_time_minute')); } else { $send_datetime = null; } if (!isset($this->mode)) { $campaign = Campaign::addNew(['name' => $request->input('name'), 'sms' => $sms, 'email' => $email, 'scheduled_at' => $send_datetime, 'email_template_id' => $email_template_id]); } elseif ($this->mode == 'edit') { $campaign = Campaign::findOrFail($request->campaign_id); $campaign->name = $request->input('name'); $campaign->sms = $sms; $campaign->email = $email; $campaign->scheduled_at = $send_datetime; $campaign->email_template_id = $email_template_id; $campaign->save(); $campaign->removeAllMailingLists(); } foreach ($request->input('mailing_lists') as $id) { $mailing_list = MailingList::findOrFail($id); $campaign->assignMailingList($mailing_list); } if (!isset($this->mode)) { return redirect()->to('marketing/campaign/add/' . $campaign->id . '/content'); } elseif ($this->mode == 'edit') { return redirect()->to('marketing/campaign/edit/' . $campaign->id . '/content'); } }