function decodeWebinar($webinarHash) { $hashids = new Hashids\Hashids(config('gtw.hashid.salts.webinars'), 20, config('gtw.hashid.hash_chars')); $ids = null; try { $ids = $hashids->decode($webinarHash); } catch (\Exception $e) { } if (count($ids) == 0) { return null; } return Webinar::findOrFail($ids[0]); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(WebinarStoreRequest $request, $userId, $webinarId) { $webinar = Webinar::findOrFail($webinarId); $input = $request->input(); if ($input['streaming_server_id'] != 'custom') { $input['streaming_server_code'] = get_server_embed_code($input['streaming_server_id'], $webinar); } $webinar->fill($input); $starts = trim(explode(',', $input['date_starts_on'])[1]) . ' ' . $input['time_starts_on']; $starts = Carbon::createFromFormat('d F Y h:i A', $starts)->toDateTimeString(); $webinar->starts_on = $starts; $webinar->subscribers_lists()->detach(); foreach ($request->input('subscribers_lists') as $listId) { $webinar->subscribers_lists()->attach($listId); } $webinar->panelists()->detach(); if (isset($input['panelists'])) { foreach ($input['panelists'] as $panelist) { $webinar->panelists()->attach($panelist); } } $webinar->excluded_subscribers_lists()->detach(); if (isset($input['excluded_subscribers_lists'])) { foreach ($input['excluded_subscribers_lists'] as $listId) { $webinar->excluded_subscribers_lists()->attach($listId); } } $webinar->signup_subscribers_lists()->detach(); if (isset($input['signup_subscribers'])) { foreach ($input['signup_subscribers'] as $listId) { $webinar->signup_subscribers_lists()->attach($listId); } } $webinar->save(); return redirect()->back()->with('status', "Webinar was updated successfully"); }