| Server IP : 46.62.235.243 / Your IP : 216.73.216.217 Web Server : Apache/2.4.58 (Ubuntu) System : Linux Linkabili3Dicembre 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/linkabili/app/Services/ |
Upload File : |
<?php
namespace App\Services;
use Illuminate\Support\Facades\Mail;
use App\Models\User;
use Auth;
use DB;
class NotificationMailService
{
public function SendEmailAccountActivated($user)
{
self::sleep();
Mail::send('emails.accountactivated', ['title' => 'Account Attivato', 'user' => $user], function ($message) use ($user) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($user->email, $user->name)
->subject('Benvenutə nella community di LinkAbili');
});
}
public function SendEmailAccountDeactivated($user)
{
self::sleep();
Mail::send('emails.accountdeactivated', ['title' => 'Account Disattivato', 'user' => $user], function ($message) use ($user) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($user->email, $user->name)
->subject('Ci dispiace non appartieni più alla community di LinkAbili');
});
}
public function SendEmailBenvenutoProfessionist($userData)
{
self::sleep();
Mail::send('emails.benvenutoprofessionist', ['userData' => $userData], function ($message) use ($userData) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($userData->email, $userData->name);
$message->subject('Benvenutə su Linkabili.it');
});
}
public function SendEmailBenvenutoCareGiver($userData)
{
self::sleep();
Mail::send('emails.benvenutocaregiver', ['userData' => $userData], function ($message) use ($userData) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($userData->email, $userData->name);
$message->subject('Benvenutə nella community di LinkAbili');
});
}
public function SendEmailContactProfessionist($caregiver, $professionista, $testo)
{
self::sleep();
self::sendInfoAdminContact($caregiver, $professionista);
Mail::send('emails.professionist_not_response', ['userData' => $professionista], function ($message) use ($professionista) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($professionista->email, $professionista->name);
$message->subject('Hai ricevuto un messaggio su Linkabili');
});
/* Mail::send('emails.contact_professionist', ['userData' => $professionista, 'testo' => $testo, 'caregiver' => $caregiver], function ($message) use ($professionista) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($professionista->email, $professionista->name);
$message->subject('Congratulazioni: Una persona è interessata al tuo profilo');
});*/
}
public function sendEmailCollaborationAnnullato($collaboration_sender, $collaboration, $status)
{
if ($status == 'reject') {
$status = 'Rifiutato';
} else {
$status = 'Accettato';
}
if ($collaboration->id == Auth::id()) {
Mail::send('emails.request_sending_collaboration_status', ['professionist' => $collaboration, 'userData' => $collaboration_sender, 'status' => 'Annulato'], function ($message) use ($collaboration_sender, $status) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($collaboration_sender->email, $collaboration_sender->name);
$message->subject('Richiesta di Collaborazione Annulato');
});
} else {
Mail::send('emails.request_sending_collaboration_status', ['professionist' => $collaboration_sender, 'userData' => $collaboration, 'status' => $status], function ($message) use ($collaboration, $status) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($collaboration->email, $collaboration->name);
$message->subject('Richiesta di Collaborazione ' . $status);
});
}
}
public function sendEmailCollaboration($profes, $collaboration, $status)
{
if ($status == 'reject') {
$status = 'rifiutato';
} else {
$status = 'accettato';
}
Mail::send('emails.request_sending_collaboration_status', ['professionist' => $profes, 'userData' => $collaboration, 'status' => $status], function ($message) use ($collaboration, $status) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($collaboration->email, $collaboration->name);
$message->subject('Richiesta di Collaborazione ' . $status);
});
}
public function sendEmailPartnership($user, $parnership, $status)
{
if ($status == 'reject') {
$status = 'rifiutato';
} else {
$status = 'accettato';
}
if (Auth::id() == $parnership->id) {
$status = 'annullato';
Mail::send('emails.request_sending_partnership_status_annullato', ['user' => $parnership, 'userData' => $user, 'status' => $status], function ($message) use ($user, $status) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($user->email, $user->name);
$message->subject('Richiesta di Partnership ' . $status);
});
} else {
Mail::send('emails.request_sending_partnership_status', ['user' => $user, 'userData' => $parnership, 'status' => $status], function ($message) use ($parnership, $status) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($parnership->email, $parnership->name);
$message->subject('Richiesta di Partnership ' . $status);
});
}
}
public function sendEmailRequestPartnership($user, $send)
{
Mail::send('emails.request_sending_partnership', ['user' => $user, 'userData' => $send], function ($message) use ($send) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($send->email, $send->name);
$message->subject('Richiesta di Partnership su Linkabili');
});
}
public function sendEmailRequestCollaboration($professionist, $send)
{
Mail::send('emails.request_sending', ['professionist' => $professionist, 'userData' => $send], function ($message) use ($send) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
$message->to($send->email, $send->name);
$message->subject('Richiesta di Collaborazione su Linkabili');
});
}
public function SendFeedBack($feed)
{
self::sleep();
Mail::send('emails.feedback', ['feedback' => $feed], function ($message) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to(env('MAIL_FROM_ADDRESS_RECEIVE'))
->subject('FeedBack Da Platform Linkabili');
});
}
public function RegisterUserEmailForAdmin($data, $type)
{
self::sleep();
self::sendInfoAdmin($data, 'Nuovo Utente su Linkabili', 'Nuovo ' . $type);
}
private function sleep()
{
if (isDevEnv()) {
sleep(2);
}
}
private function sendInfoAdmin($data, $title, $subject)
{
Mail::send('emails.info_admin', ['title' => $title, 'data' => $data], function ($message) use ($subject) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to(env('MAIL_FROM_ADDRESS_RECEIVE'))
->subject($subject);
});
}
private function sendInfoAdminContact($caregiver, $professionista)
{
$caregiver_de = DB::table('user_details')->where('user_id', $caregiver->id)->first();
$professionista_de = DB::table('user_details')->where('user_id', $professionista->id)->first();
$professionista_de->profession = DB::table('professions')->where('id', $professionista_de->profession_principal)->first() ?? null;
if ($professionista_de->profession) {
$professionista_de->profession = $professionista_de->profession->name;
}
if ($caregiver) {
$caregiver->pathologies = $caregiver->pathologies;
}
self::sleep();
Mail::send('emails.info_admin_contact', ['title' => 'Contatto da parte di un caregivers',
'caregivers' => $caregiver,
'professionsta' => $professionista,
'professionista_de' => $professionista_de,
'caregiver_de' => $caregiver_de], function ($message) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to(env('MAIL_FROM_ADDRESS_RECEIVE'))
->subject('Contatto da parte di un caregivers');
});
}
public function sendEmailUploadCV($user)
{
Mail::send('emails.info_curriculum_caricato', ['title' => 'CV caricato',
'user' => $user], function ($message) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to(env('MAIL_FROM_ADDRESS_RECEIVE'))
->subject('CV caricato');
});
}
public function SendEmailReviewInserita($user, $userTo)
{
self::sleep();
Mail::send('emails.info_recensione_inserita', ['user' => $user, 'userTo' => $userTo], function ($message) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to(env('MAIL_FROM_ADDRESS_RECEIVE'))
->subject('Nuova recensione inserita');
});
}
public function sendEmailReviewRicevuta($user, $userTo)
{
Mail::send('emails.recensione_ricevuta', ['user' => $user, 'userTo' => $userTo], function ($message) use ($userTo) {
$message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
->to($userTo->email, $userTo->name)
->subject('Nuova recensione ricevuta!');
});
}
}