HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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();
    }
}