File: /var/www/ipsremont-demo/app/Repository/Email/EmailTemplatesRepository.php
<?php
namespace App\Repository\Email;
use App\Http\Requests\Email\UpdateEmailTemplatesRequest;
use App\Models\EmailTemplates;
class EmailTemplatesRepository
{
public static function getTplForLetter($event, $lang, $recipient)
{
return EmailTemplates::where('event', $event)->where('recipient', $recipient)->where('lang', $lang)->first();
}
public static function getTemplate($event, $lang, $recipient)
{
$model = EmailTemplates::where('event', $event)->where('recipient', $recipient)->where('lang', $lang)->first();
if(!$model) {
$model = new EmailTemplates();
$model->event = $event;
$model->lang = $lang;
$model->recipient = $recipient;
$model->subject = '';
$model->body = '';
$model->active = false;
$model->save();
}
return $model;
}
public function update(UpdateEmailTemplatesRequest $request)
{
$request->validate($request->rules());
$admin = self::getTemplate($request->event, $request->lang, 'admin');
$admin->subject = ($request->admin_subject) ? $request->admin_subject : '';
$admin->body = ($request->admin_body) ? html_entity_decode($request->admin_body) : '';
$admin->active = (isset($request->admin_active)) ? $request->admin_active : 0;
$admin->update();
$manager = self::getTemplate($request->event, $request->lang, 'manager');
$manager->subject = ($request->manager_subject) ? $request->manager_subject : '';
$manager->body = ($request->manager_body) ? $request->manager_body : '';
$manager->active = (isset($request->manager_active)) ? $request->manager_active : 0;
$manager->update();
$service = self::getTemplate($request->event, $request->lang, 'service');
$service->subject = ($request->service_subject) ? $request->service_subject : '';
$service->body = ($request->service_body) ? $request->service_body : '';
$service->active = (isset($request->service_active)) ? $request->service_active : 0;
$service->update();
}
public function updateColumntitle(UpdateEmailTemplatesRequest $request)
{
$request->validate($request->rules());
$header = self::getTemplate('layout', $request->lang, 'header');
$header->subject = '';
$header->body = ($request->header_body) ? html_entity_decode($request->header_body) : '';
$header->active = 1;
$header->update();
$footer = self::getTemplate('layout', $request->lang, 'footer');
$footer->subject = '';
$footer->body = ($request->footer_body) ? html_entity_decode($request->footer_body) : '';
$footer->active = 1;
$footer->update();
}
}