Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
quiz_tbf_accelerator
/
app
/
Helpers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
general.php
| Size :
5.79
KB
Copy
<?php use Illuminate\Support\Facades\Mail; use App\Mail\QuizResultsMail; use App\Mail\QuizResultsMailToClient; use App\Mail\NotificationReferralMail; use App\Mail\QuizErrorMail; use App\Mail\QuizStepErrorMail; use DrewM\MailChimp\MailChimp; use App\CrmQuestion; use Spatie\Newsletter\Newsletter; function convert_title($quiz_obj, $json_titles){ foreach($json_titles as $title){ if($title['condition']){ if($title['condition'] == true){ return $title['title']; } $condition = eval('return '.$title['condition'].';'); if($condition == true){ return $title['title']; } }else{ return $title['title']; } } } function quiz_results_mail($json,$final_price,$applicant_email){ $subject = $applicant_email . " a completat quiz-ul " . config('app.name'); $data = [ 'entity_json' => $json, 'price' => $final_price, ]; try{ Mail::to(config('app.mail_hr'))->queue(New QuizResultsMail($subject, $data)); }catch(Exception $e){ $data = [ 'error' => $e->getMessage(), ]; Mail::to('logs@sincronizator.ro')->queue(New QuizErrorMail($subject, $data)); } } function quiz_results_mail_to_client($variable_list,$applicant_email){ $subject = "Ai completat quiz-ul " . config('app.name'); $data = $variable_list; try{ Mail::to($applicant_email)->queue(New QuizResultsMailToClient($subject, $data)); }catch(Exception $e){ $data = [ 'error' => $e->getMessage(), ]; Mail::to('logs@sincronizator.ro')->queue(New QuizErrorMail($subject, $data)); } } function notification_referral_mail($referred_by,$referral_email){ $subject = "Ai primit o invitatie la quiz-ul " . config('app.name'); $data = [ 'referred_by' => $referred_by, 'link' => config('app.url'), ]; try{ Mail::to($referral_email)->queue(New NotificationReferralMail($subject, $data)); }catch(Exception $e){ $data = [ 'error' => $e->getMessage(), ]; Mail::to('logs@sincronizator.ro')->queue(New QuizErrorMail($subject, $data)); } } function sync_contacts_with_crm($applicant,$json,$crm_user){ $data = [ 'first_name' => $applicant['first_name'], 'last_name' => $applicant['last_name'], 'email' => $applicant['email'], 'phone' => $applicant['phone'], 'tags' => "Audit Management", 'field[39]' => 'Accept ca numele, numarul de telefon si adresa de email furnizate de mine sa fie folosite pentru a primi date si informatii din partea tbf.ro', 'field[62]' => $applicant['numar_angajati'], 'field[63]' => $applicant['cifra_afaceri'], 'field[64]' => $applicant['punctaj_audit'], ]; try { $url = env('ACTIVE_CAMPAIGN_HOST') . "/admin/api.php?api_action=contact_sync&api_key=" . env('ACTIVE_CAMPAIGN_KEY') . "&api_output=json"; $cURLConnection = curl_init($url); curl_setopt($cURLConnection, CURLOPT_POSTFIELDS, $data); curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true); $apiResponse = curl_exec($cURLConnection); curl_close($cURLConnection); // $apiResponse - available data from the API request $jsonArrayResponse = json_decode($apiResponse, true); } catch (Exception $e) { } } function sync_contacts_with_mailchimp($applicant,$json,$crm_user){ $mailchimp = new MailChimp($crm_user->mailchimp_api_key); $crm_tags = CrmQuestion::all(); $tags = []; foreach($crm_tags as $crm_tag){ if(isset($json[$crm_tag->question_key])){ if(isset($json[$crm_tag->question_key]['answers'][0]['value'])){ $tags[] = $json[$crm_tag->question_key]['answers'][0]['value']; }elseif(isset($json[$crm_tag->question_key]['answers'][0]['fields'][0]['value'])){ $tags[] = $json[$crm_tag->question_key]['answers'][0]['fields'][0]['value']; } } } $result = $mailchimp->post("lists/".$crm_user->mailchimp_listing_id."/members", [ 'email_address' => $applicant['email'], 'status' => 'subscribed', 'merge_fields' => ['FNAME'=>$applicant['first_name'], 'LNAME'=>$applicant['last_name'], 'PHONE' => $applicant['phone']], 'tags' => $tags ]); } function quiz_step_error($data, $session_id){ $subject = "Eroare quiz SessionID: " . $session_id; $email = env('ERROR_EMAIL_ADDRESS'); try{ Mail::to($email)->queue(New QuizStepErrorMail($subject, $data)); }catch(Exception $e){ $data = [ 'error' => $e->getMessage(), ]; Mail::to($email)->queue(New QuizErrorMail($subject, $data)); } } function get_lists_crm($crm_user){ // list_list $client = new \GuzzleHttp\Client(); $url = $crm_user->crm_host . "/admin/api.php?api_action=list_list&api_key=" . $crm_user->crm_api_key . "&api_output=json&ids=all"; try{ $response = $client->get($url,[ "headers" =>[ "Content-Type" => "application/x-www-form-urlencoded", ] ]); $response = (array) json_decode($response->getBody()); if($response['result_code'] == 1){ $filtred_response = Arr::except($response, ['result_code','result_message','result_output']); $list = []; foreach($filtred_response as $value){ $list[] = [ 'id' => $value->id, 'name' => $value->name, ]; } return $list; }else{ return null; } }catch(\Exception $e){ $e->getMessage(); } }
Back