first(); $library->library_values = json_decode($library->library_values); $content_id = $request->input('id', false); if (!$content_id) { $content_id = $library->library_values[0]->id; } $library = (object)$library->toArray(); $library->session_code = ''; $code = ''; if ($library->session_id > 0) { $session = Session::find($library->session_id); $session->dates = json_decode($session->dates); $library->session_code = $session->code; $code = $session->code; } $content = LambdaRequest::getrequest('mag', 'magazine/details', ['id' => $content_id], env('LAMBDA_ACCESS_TOKEN', 'default_value')); $islogged = false; if ($request->session()->has('content_' . $code . '_user_id')) { $islogged = true; $library->contact_id = $request->session()->get('content_' . $code . '_user_id'); } //echo '
'; print_r($content); exit;
return view('road.contentlibrary', ['library' => $library, 'content' => $content->data, 'islogged' => $islogged, 'session' => $session]);
}
public function contentlibrarylogin(Request $request)
{
$post = $request->except('_token');
$code = $post['session_code'];
$phone = $post['phone'];
$response = LambdaRequest::getrequest('contact', 'contact/get_all', ['source' => 'dynamodb', 'search' => json_encode(['session_code' => $code, 'phone' => $phone]), 'fields' => json_encode(['session_code', 'present'])], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
if (sizeof($response->data->items) > 0) {
$request->session()->put('content_' . $code . '_user_id', $response->data->items[0]->id);
return response()->json(['status' => 'success', 'id' => $response->data->items[0]->id]);
} else {
return response()->json(['status' => 'failed']);
}
//echo ''; echo json_encode(['session_code' => $code, 'phone' => $phone]); print_r($response); print_r($post); exit;
}
public function analytics_view(Request $request)
{
$post = $request->except('_token');
$post['ip'] = $request->ip();
$content = LambdaRequest::postrequest('mag', 'mag_media_views/create_multiple', $post, env('LAMBDA_ACCESS_TOKEN', 'default_value'));
return response()->json($content);
}
public function microsite($code, Request $request)
{
list($type, $code) = explode('-', $code);
$session = (object)Session::where('code', $code)->first()->toArray();
$session->dates = json_decode($session->dates);
$session->faculty = explode('|', $session->faculty);
$session->faculty = array_filter($session->faculty, function ($value) {
return !is_null($value) && $value !== '';
});
$faculties = Faculty::whereIn('id', $session->faculty)->orderby('sort_order')->get();
$agendas = Sessionagenda::where('session_id', $session->id)->get();
//echo ''; print_r(['session' => $session, 'faculties' => $faculties]); exit;
return view($session->type . '.microsite', ['session' => $session, 'faculties' => $faculties, 'agendas' => $agendas]);
}
//
public function brochure($code, Request $request)
{
$fresh = $request->input('fresh', 0);
if (!$fresh && Storage::disk('local')->has('public/brochure/' . $code . '.pdf')) {
$headers = array('Content-Type: application/pdf',);
//echo storage_path().'/storage/brochure/'.$code.'.pdf'; exit;
return Response::download(storage_path() . '/app/public/brochure/' . $code . '.pdf', 'brochure.pdf', $headers);
} else {
$session = (object)Session::where('code', $code)->first()->toArray();
$session->dates = json_decode($session->dates);
$session->faculty = explode('|', $session->faculty);
$session->faculty = array_filter($session->faculty, function ($value) {
return !is_null($value) && $value !== '';
});
$faculties = Faculty::whereIn('id', $session->faculty)->orderby('sort_order')->get();
$agendas = Sessionagenda::where('session_id', $session->id)->get();
//echo ''; print_r(['session' => $session, 'faculties' => $faculties]); exit;
//return view($session->type.'.brochure', ['session' => $session, 'faculties' => $faculties, 'agendas' => $agendas]);
$pdf = PDF::loadView($session->type . '.brochure', ['session' => $session, 'faculties' => $faculties, 'agendas' => $agendas])->setOptions(['defaultFont' => 'sans-serif', 'isHtml5ParserEnabled' => true, 'isRemoteEnabled' => true]);
if ($session->type == 'casper' || $session->type == 'casper_clinic') {
$customPaper = array(0, 0, 500, 750);
$pdf->setPaper($customPaper);
}
if ($session->type == 'ecampus') {
$customPaper = array(0, 0, 650, 950);
$pdf->setPaper($customPaper);
}
Storage::put('public/brochure/' . $code . '.pdf', $pdf->output());
//return $pdf->download('brochure.pdf');
return $pdf->stream();
}
}
public function register($code, Request $request)
{
$sessionModel = Session::where('code', $code)->first();
$session = (object) $sessionModel->toArray();
$linked_user = $request->input('linked_user', false);
$session->dates = json_decode($session->dates);
$request->session()->put('session_type', $session->type);
$request->session()->put('linked_user', $linked_user);
$comm = app(SessionCommunicationService::class);
return view($session->type . '.register', [
'session' => $session,
'communication_mode' => $comm->resolveMode($sessionModel),
]);
}
public function postregister($code, Request $request)
{
$post = $request->except('_token');
$post['type_of_setup'] = isset($post['type_of_setup']) ? implode(',', $post['type_of_setup']) : [];
$linked_user = $request->session()->get('linked_user');
$post['session_code'] = $code;
$request->session()->put('session_code', $code);
$request->session()->put('is_linked_user', $linked_user ? 'yes': 'no');
if($linked_user) {
$post['user_id'] = $linked_user;
$post['is_verified'] = true;
$response = LambdaRequest::postrequest('contact', 'contact/createforcrest', $post, env('LAMBDA_ACCESS_TOKEN', 'default_value'));
$session_type = $request->session()->get('session_type');
LambdaRequest::getrequest('detailing', 'group/addusertogroup', ['group_id' => '1725877244-41845d6e-9948-4bdf-a254-'.$session_type, 'user_id' => $linked_user], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
} else {
$post['position'] = 'india';
$response = LambdaRequest::postrequest('contact', 'contact/create', $post, env('LAMBDA_ACCESS_TOKEN', 'default_value'));
}
Log::debug(print_r($response, true));
if ($response->status == 'success') {
Session::where('code', $code)->increment('reg_count');
if($linked_user) {
Session::where('code', $code)->increment('reg_confirmed');
}
// $session = (object)Session::where('code', $code)->first()->toArray();
// $client = new \GuzzleHttp\Client();
// $text = 'Greetings ' . $post['name']."\n";
// $text .= 'You have Successfully registered for Crest session "'.$session->number.' ('.$session->type.') "'."\n";
// $text .= 'Please find the details below'."\n";
// $text .= 'Venue: ' . $session->venue . "\n";
// $text .= 'Address: ' . $session->address . "\n";
// $text .= 'Timings:' . "\n";
// $dates = json_decode($session->dates);
// foreach($dates->date as $i => $date){
// $text .= date("d M, Y", strtotime($date) ) . ' at ' . date("h:iA", strtotime($dates->start[$i]) ) .' - ' . date("h:iA", strtotime($dates->end[$i]) ) . "\n";
// }
// $text .= "\n" . 'You can use this chat as your self assistance for getting details, download your certificate etc.';
// $res = $client->get('https://panel.rapiwha.com/send_message.php', ['query' => ['apikey' => 'Z4NXQUTBGV3P7D7W8OHX', 'number' => '91'.$post['phone'], 'text' => $text], 'timeout' => 10]);
// $res = $res->getBody();
$contactId = $response->data->item->id ?? null;
$request->session()->put('session_user_id', $contactId);
if (!empty($post['email'])) {
$request->session()->put('session_user_email', $post['email']);
}
if (!empty($post['name'])) {
$request->session()->put('session_user_name', $post['name']);
}
$request->session()->save();
$session = Session::where('code', $code)->first();
$comm = app(SessionCommunicationService::class);
if ($session && !$linked_user && $comm->shouldSendEmail($comm->resolveMode($session))) {
$this->sendRegistrationVerificationEmail($session, $response->data->item->id, $post['email'], $post['name'] ?? '');
}
if($linked_user) {
return redirect('/registersuccess')->withSuccess('Successfully registered for Session!!');
} else {
return redirect('/registersuccess')->withSuccess('Successfully registered!!');
}
} else {
return redirect('/register/' . $code)->withError('Some error occured, please try again later');
}
}
public function registersuccess(Request $request)
{
$code = $request->session()->get('session_code');
$type = $request->session()->get('session_type');
$linked_user = $request->session()->get('linked_user');
$user_id = $request->session()->get('session_user_id');
$user_email = $request->session()->get('session_user_email');
$session = $code ? Session::where('code', $code)->first() : null;
$comm = app(SessionCommunicationService::class);
$communication_mode = $comm->resolveMode($session);
return view('road.success', [
'code' => $code,
'type' => $type,
'user_id' => $user_id,
'linked_user' => $linked_user,
'communication_mode' => $communication_mode,
'user_email' => $user_email,
'email_verified' => $request->session()->get('email_verified', false),
'microsite_url' => ($type && $code) ? url('/microsite/' . $type . '-' . $code) : null,
]);
}
public function verifyRegistration(Request $request, $code, $user_id)
{
$session = Session::where('code', $code)->first();
if (!$session) {
return redirect('/')->withError('Invalid verification link.');
}
LambdaRequest::postrequest(
'contact',
'contact/update',
['id' => $user_id, 'position' => 'india', 'is_verified' => true],
env('LAMBDA_ACCESS_TOKEN', 'default_value')
);
Session::where('code', $code)->increment('reg_confirmed');
$request->session()->put('session_code', $code);
$request->session()->put('session_type', $session->type);
$request->session()->put('email_verified', true);
$request->session()->put('is_linked_user', 'no');
return redirect('/registersuccess')
->withSuccess('Your email has been confirmed successfully.');
}
public function resendVerificationEmail(Request $request)
{
$code = $request->input('code') ?: $request->session()->get('session_code');
$user_id = $request->input('user_id') ?: $request->session()->get('session_user_id');
$email = $request->input('email') ?: $request->session()->get('session_user_email');
$name = $request->input('name') ?: $request->session()->get('session_user_name', '');
if ($code) {
$request->session()->put('session_code', $code);
}
if ($user_id) {
$request->session()->put('session_user_id', $user_id);
}
if ($email) {
$request->session()->put('session_user_email', $email);
}
$session = $code ? Session::where('code', $code)->first() : null;
if ($user_id && !$email) {
$contactResponse = LambdaRequest::getrequest(
'contact',
'contact/get_one',
['id' => $user_id],
env('LAMBDA_ACCESS_TOKEN', 'default_value')
);
if (!empty($contactResponse->data->item->email)) {
$email = $contactResponse->data->item->email;
$request->session()->put('session_user_email', $email);
}
if ($name === '' && !empty($contactResponse->data->item->name)) {
$name = $contactResponse->data->item->name;
}
}
if (!$session || !$user_id || !$email) {
Log::warning('Resend verification missing data', [
'code' => $code,
'user_id' => $user_id,
'email' => $email,
]);
return redirect('/registersuccess')->withError('Unable to resend verification email. Please register again.');
}
$sent = $this->sendRegistrationVerificationEmail($session, (string) $user_id, $email, $name);
if (!$sent) {
return redirect('/registersuccess')->withError('Could not send verification email. Please check the email address and try again.');
}
return redirect('/registersuccess')->withSuccess('Verification email sent again. Please check your inbox.');
}
protected function sendRegistrationVerificationEmail(Session $session, string $userId, string $email, string $name): bool
{
$email = trim($email);
if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
return false;
}
$verifyUrl = url('/verify-registration/' . $session->code . '/' . $userId);
$greeting = $name !== '' ? 'Hello ' . $name . ',' : 'Hello,';
$bodyHtml = '' . e($greeting) . '
'
. 'Thank you for registering for ' . e($session->number) . '.
'
. 'Please confirm your email address by clicking the button below:
'
. ''
. 'Confirm your email'
. '
'
. 'Or copy this link into your browser:
' . e($verifyUrl) . '
'
. 'If you did not register for this session, you can ignore this email.
'
. 'Regards,
CREST Team
';
$subject = 'Crest – Please confirm your email';
try {
Mail::to($email)->send(new SessionMessage($subject, $bodyHtml));
return true;
} catch (\Throwable $e) {
Log::error('Registration verification email failed: ' . $e->getMessage());
return false;
}
}
public function attendance($code, Request $request)
{
$session = (object)Session::where('code', $code)->first()->toArray();
$session->dates = json_decode($session->dates);
$response = LambdaRequest::getrequest('contact', 'contact/get_all', ['source' => 'dynamodb', 'search' => json_encode(['session_code' => $code]), 'fields' => json_encode(['session_code', 'present'])], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
// echo env('LAMBDA_ACCESS_TOKEN', 'default_value');
//echo ''; print_r(['source' => 'dynamodb', 'search' => json_encode(['session_code' => $code]), 'fields' => json_encode(['session_code', 'present'])]); print_r($response); print_r($session); exit;
return view($session->type . '.attendance', ['session' => $session, 'doctors' => $response->data->items]);
}
public function attendancemark(Request $request)
{
$post = $request->input();
$response = LambdaRequest::postrequest('contact', 'contact/update', ['id' => $post['doctor'], 'present' => $post['present'], 'position' => 'india'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
echo '';
print_r($response);
exit;
}
public function joinmeeting($code, Request $request)
{
$session = (object)Session::where('code', $code)->first()->toArray();
return redirect($session->join_link);
}
public function feedbackform($code, Request $request)
{
list($code, $recipient) = explode('_', $code);
$session = (object)Session::where('code', $code)->first()->toArray();
if (empty($session->feedback_link)) {
$forsms = ['road' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391', 'casper' => '1752837484-717ff050-cf05-4e93-86b0-d9e76bbf7e3f', 'casper_clinic' => '1671763322-62ba6179-fb51-4350-bed3-bbc4e15f4393', 'spirometry_simplified' => '1671763323-62ba6179-fb51-4350-bed3-bbc4e15f4394', 'APFT' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391', 'casper_clinic_new' => '1723004438-58ea6609-6672-436a-97ad-681e5463d27d', 'ecampus' => '1724666803-7c16a3f1-f294-4a4d-b068-0b829ecd8d37'];
$logos = ['road' => '/images/road-logo.jpg', 'casper' => '/casper/images/logo-left.png', 'casper_clinic' => '/casper_clinic/images/logo.png', 'spirometry_simplified' => '/spirometry_simplified/images/logo.png', 'APFT' => '/APFT/images/logo-left.png', 'casper_clinic_new' => '/casper_clinic_new/images/logo.png', 'ecampus' => '/ecampus/images/main-logo.png'];
$titles = ['road' => 'Refresher course on Obstructive Airways Diseases (ROAD)', 'casper' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER)', 'casper_clinic' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'spirometry_simplified' => 'SPIROMETRY SIMPLIFIED', 'casper_clinic_new' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'ecampus' => 'Online COPD & Asthma Module for Post Graduate Students'];
$session->dates = json_decode($session->dates);
$forinfo = LambdaRequest::postrequest('form', 'survey/getrawform', ['partition' => 'rapport-crestroad', 'form_id' => $forsms[$session->type]], env('LAMBDA_ACCESS_TOKEN', 'default_value') );
// echo ''; print_r($forinfo); exit;
$forinfo = $forinfo->data;
$request->session()->put('forinfo', $forinfo->form);
// echo ''; print_r($session); print_r($forinfo); exit;
$data = [
'session' => $session, 'questions' => $forinfo->questions, 'form' => $forinfo->form, 'form_id' => $forinfo->form->id,
'logo' => $logos[$session->type], 'title' => $titles[$session->type], 'recipient' => $recipient
];
if (\View::exists($session->type.'.feedbackform-'.$forinfo->form->id)) {
return view($session->type.'.feedbackform-'.$forinfo->form->id)->with($data);
} else if (\View::exists($session->type.'.feedbackform')) {
return view($session->type.'.feedbackform')->with($data);
} else {
return view('road.feedbackform')->with($data);
}
//return view('road.feedbackform')->with($data);
} else {
return redirect($session->feedback_link);
}
}
public function feedbackformassessment($code, Request $request)
{
// list($code, $recipient) = explode('_', $code);
$session = (object)Session::where('code', $code)->first()->toArray();
if (empty($session->feedback_link)) {
$forsms = [
'road' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391',
// 'casper' => '1671763321-62ba6179-fb51-4350-bed3-bbc4e15f4392',
'casper' => '1752837484-717ff050-cf05-4e93-86b0-d9e76bbf7e3f',
'casper_clinic' => '1671763322-62ba6179-fb51-4350-bed3-bbc4e15f4393',
'spirometry_simplified' => '1671763323-62ba6179-fb51-4350-bed3-bbc4e15f4394',
'APFT' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391',
'casper_clinic_new' => '1723004438-58ea6609-6672-436a-97ad-681e5463d27d',
'ecampus' => '1724666803-7c16a3f1-f294-4a4d-b068-0b829ecd8d37'
];
$logos = ['road' => '/images/road-logo.jpg', 'casper' => '/casper/images/logo-left.png', 'casper_clinic' => '/casper_clinic/images/logo.png', 'spirometry_simplified' => '/spirometry_simplified/images/logo.png', 'APFT' => '/APFT/images/logo-left.png', 'casper_clinic_new' => '/casper_clinic_new/images/logo.png', 'ecampus' => '/ecampus/images/main-logo.png'];
$titles = ['road' => 'Refresher course on Obstructive Airways Diseases (ROAD)', 'casper' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER)', 'casper_clinic' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'spirometry_simplified' => 'SPIROMETRY SIMPLIFIED', 'casper_clinic_new' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'ecampus' => 'Online COPD & Asthma Module for Post Graduate Students'];
$session->dates = json_decode($session->dates);
$forinfo = LambdaRequest::postrequest('form', 'survey/getrawform', ['partition' => 'rapport-crestroad', 'form_id' => $forsms[$session->type]], env('LAMBDA_ACCESS_TOKEN', 'default_value') );
//echo ''; print_r($forinfo); exit;
$forinfo = $forinfo->data;
$request->session()->put('forinfo', $forinfo->form);
// echo ''; print_r($session); print_r($forinfo); exit;
$data = [
'session' => $session, 'questions' => $forinfo->questions, 'form' => $forinfo->form, 'form_id' => $forinfo->form->id,
'logo' => $logos[$session->type], 'title' => $titles[$session->type], 'recipient' => '$recipient'
];
if (\View::exists($session->type.'.feedbackform')) {
return view($session->type.'.feedbackform')->with($data);
} else {
return view('road.feedbackform')->with($data);
}
//return view('road.feedbackform')->with($data);
} else {
return redirect($session->feedback_link);
}
}
public function postfeedbackform($code, Request $request)
{
$post = $request->except('_token');
$forinfo = $request->session()->get('forinfo');
$response = LambdaRequest::postrequest('contact', 'contact/update', ['id' => $post['recipient'], 'feedback' => 'yes', 'position' => 'india'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
//echo ''; print_r($post); print_r($response); exit;
$finfo = LambdaRequest::postrequest('form', 'survey/submitform', ['formdata' => $post, 'entity_id' => $forinfo->id, 'partition' => 'rapport-crestroad', 'user_id' => '1658768001-5e2d6e6b-16c7-40b2-93c7-68bf55772ff3'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
// dd($finfo);
//echo ''; print_r($forinfo); print_r(json_encode($post)); print_r($finfo); exit;
$session_code = $finfo->data->submission->formdata->session_code;
$recipient = $finfo->data->submission->formdata->recipient;
$logos = ['road' => '/images/road-logo.jpg', 'casper' => '/casper/images/logo-left.png', 'casper_clinic' => '/casper_clinic/images/logo.png', 'spirometry_simplified' => '/spirometry_simplified/images/logo.png', 'APFT' => '/APFT/images/logo-left.png', 'casper_clinic_new' => '/casper_clinic_new/images/logo.png', 'ecampus' => '/ecampus/images/logo.png'];
// echo ''; print_r($session_code); print_r($recipient); exit;
$session_type = DB::table('sessions')->where('code', $session_code)->pluck('type');
// return $session_type[0];
$logo = $logos[$session_type[0]];
return view('road.feedbackformsuccess', compact('session_code', 'recipient', 'session_type', 'logo'));
//echo ''; print_r($finfo); print_r($post); print_r($forinfo); exit;
}
public function pre_impact_assessment($code, Request $request)
{
$parts = explode('_', $code, 2);
$code = $parts[0];
$recipient = $parts[1] ?? null;
// list($code, $recipient) = explode('_', $code);
$session = (object)Session::where('code', $code)->first()->toArray();
if (empty($session->feedback_link)) {
$forsms = ['road' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391', 'casper' => '1752828215-ed1f07b7-6355-4ce0-88d6-8fb48cea62d1', 'casper_clinic' => '1671763322-62ba6179-fb51-4350-bed3-bbc4e15f4393', 'spirometry_simplified' => '1671763323-62ba6179-fb51-4350-bed3-bbc4e15f4394', 'APFT' => '1671763320-62ba6179-fb51-4350-bed3-bbc4e15f4391', 'casper_clinic_new' => '1723004438-58ea6609-6672-436a-97ad-681e5463d27d', 'ecampus' => '1724666803-7c16a3f1-f294-4a4d-b068-0b829ecd8d37'];
$logos = ['road' => '/images/road-logo.jpg', 'casper' => '/casper/images/logo-left.png', 'casper_clinic' => '/casper_clinic/images/logo.png', 'spirometry_simplified' => '/spirometry_simplified/images/logo.png', 'APFT' => '/APFT/images/logo-left.png', 'casper_clinic_new' => '/casper_clinic_new/images/logo.png', 'ecampus' => '/ecampus/images/main-logo.png'];
$titles = ['road' => 'Refresher course on Obstructive Airways Diseases (ROAD)', 'casper' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER)', 'casper_clinic' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'spirometry_simplified' => 'SPIROMETRY SIMPLIFIED', 'casper_clinic_new' => 'Controlling Asthma in Pediatric Population through Education and Research (CASPER Clinics)', 'ecampus' => 'Online COPD & Asthma Module for Post Graduate Students'];
$session->dates = json_decode($session->dates);
$forinfo = LambdaRequest::postrequest('form', 'survey/getrawform', ['partition' => 'rapport-crestroad', 'form_id' => $forsms[$session->type]], env('LAMBDA_ACCESS_TOKEN', 'default_value') );
//echo ''; print_r($forinfo); exit;
$forinfo = $forinfo->data;
$request->session()->put('forinfo', $forinfo->form);
//echo ''; print_r($session); print_r($forinfo); exit;
$data = [
'session' => $session, 'questions' => $forinfo->questions, 'form' => $forinfo->form, 'form_id' => $forinfo->form->id,
'logo' => $logos[$session->type], 'title' => $titles[$session->type], 'recipient' => $recipient
];
if (\View::exists($session->type.'.feedbackform')) {
return view($session->type.'.feedbackform')->with($data);
} else {
return view('road.feedbackform')->with($data);
}
//return view('road.feedbackform')->with($data);
} else {
return redirect($session->feedback_link);
}
}
public function postpre_impact_assessment($code, Request $request)
{
$post = $request->except('_token');
$forinfo = $request->session()->get('forinfo');
$response = LambdaRequest::postrequest('contact', 'contact/update', ['id' => $post['recipient'], 'feedback' => 'yes', 'position' => 'india'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
//echo ''; print_r($post); print_r($response); exit;
$finfo = LambdaRequest::postrequest('form', 'survey/submitform', ['formdata' => $post, 'entity_id' => $forinfo->id, 'partition' => 'rapport-crestroad', 'user_id' => '1658768001-5e2d6e6b-16c7-40b2-93c7-68bf55772ff3'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
// dd($finfo);
//echo ''; print_r($forinfo); print_r(json_encode($post)); print_r($finfo); exit;
$session_code = $finfo->data->submission->formdata->session_code;
$recipient = $finfo->data->submission->formdata->recipient;
$logos = ['road' => '/images/road-logo.jpg', 'casper' => '/casper/images/logo-left.png', 'casper_clinic' => '/casper_clinic/images/logo.png', 'spirometry_simplified' => '/spirometry_simplified/images/logo.png', 'APFT' => '/APFT/images/logo-left.png', 'casper_clinic_new' => '/casper_clinic_new/images/logo.png', 'ecampus' => '/ecampus/images/logo.png'];
// echo ''; print_r($session_code); print_r($recipient); exit;
$session_type = DB::table('sessions')->where('code', $session_code)->pluck('type');
// return $session_type[0];
$logo = $logos[$session_type[0]];
return view('road.pre_impact_assessmentsuccess', compact('session_code', 'recipient', 'session_type', 'logo'));
//echo ''; print_r($finfo); print_r($post); print_r($forinfo); exit;
}
public function surveyform($code, Request $request)
{
$session = (object)Session::where('code', $code)->first()->toArray();
return redirect($session->survey_link);
}
public function certificate(Request $request)
{
$code = $request->input('code');
$session = Session::where('code', $code)->first();
$doctor = $request->input('doctor');
$response = LambdaRequest::getrequest('contact', 'contact/get_one', ['id' => $doctor], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
$doctor = $response->data->item;
//echo ''; print_r($doctor); exit;
$output = Creation::certificate($session, $doctor);
$filename = $output['filename'];
$folder = $output['folder'];
$headers = array('Content-Type: image/png',);
return Response::download($folder . '/' . $filename, 'certificate.png', $headers);
}
}