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");
 }