/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(QARequest $request)
 {
     $webinar = decodeWebinar($request->input('webinars_hash'));
     $subscriber = decodeSubscriber($request->input('subscribers_hash'));
     QA::create(['webinar_id' => $webinar->id, 'subscriber_id' => $subscriber->id, 'question' => $request->input('question'), 'public' => $request->input('public')]);
     return response("Created", 201);
 }
 /**
  * Determine if the user is authorized to make this request.
  *
  * @return bool
  */
 public function authorize(\Illuminate\Http\Request $request)
 {
     $subscriber = decodeSubscriber($request->input('subscribers_hash'));
     $webinar = decodeWebinar($request->input('webinars_hash'));
     if ($webinar == null || $subscriber == null) {
         return false;
     }
     foreach ($webinar->subscribers_lists()->get() as $subscriberList) {
         if ($subscriberList->subscribers->contains($subscriber->id)) {
             return true;
         }
     }
     return false;
 }
 function index($webinar_uuid = null, $hash)
 {
     $subscriber = decodeSubscriber($hash);
     if (!$subscriber) {
         return redirect()->route("site.webinar.lp", [$webinar_uuid]);
     }
     $webinar = Webinar::where('uuid', '=', $webinar_uuid)->first();
     if (!$webinar) {
         abort(404);
     }
     $streamingServer = $webinar->streaming_server()->first();
     //$ownQas = $subscriber->qas($webinar->id)->get();
     $ownQas = DB::table('qas')->join('subscribers', 'subscribers.id', '=', 'qas.subscriber_id')->select('qas.question as question', 'qas.created_at as question_datetime', 'subscribers.first_name as first_name', 'subscribers.last_name as last_name', DB::raw('NOW() - UNIX_TIMESTAMP(qas.created_at) as question_ask_before'), 'qas.answer as answer')->where('qas.webinar_id', '=', $webinar['id'])->where('qas.subscriber_id', '=', $subscriber->id)->get();
     $publicQA = DB::table('qas')->join('subscribers', 'subscribers.id', '=', 'qas.subscriber_id')->select('qas.question as question', 'qas.created_at as question_datetime', 'subscribers.first_name as first_name', 'subscribers.last_name as last_name', DB::raw('NOW() - UNIX_TIMESTAMP(qas.created_at) as question_ask_before'), 'qas.answer as answer')->where('qas.webinar_id', '=', $webinar['id'])->where('qas.subscriber_id', '<>', $subscriber->id)->where('qas.public', '=', 1)->get();
     $is_panelist = false;
     return view('layouts.webinar.index', compact('publicQA', 'webinar', 'subscriber', 'ownQas', 'is_panelist', 'streamingServer'));
 }