HEX
Server: LiteSpeed
System: Linux my-kul-web2054.main-hosting.eu 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: u665686179 (665686179)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: /home/u665686179/domains/dealkr.com/public_html/app/Services/BusinessSettingService.php
<?php

namespace App\Services;

use App\Events\MaintenanceModeNotificationEvent;

class BusinessSettingService
{

    public function getLanguageData(object $request, object $language): array
    {
        $languageArray = [];
        foreach (json_decode($language['value'], true) as $key => $data) {
            if ($data['code'] == $request['language']) {
                $lang = [
                    'id' => $data['id'],
                    'name' => $data['name'],
                    'direction' => $data['direction'] ?? 'ltr',
                    'code' => $data['code'],
                    'status' => 1,
                    'default' => true,
                ];
            } else {
                $lang = [
                    'id' => $data['id'],
                    'name' => $data['name'],
                    'direction' => $data['direction'] ?? 'ltr',
                    'code' => $data['code'],
                    'status' => $data['status'],
                    'default' => false,
                ];
            }
            $languageArray[] = $lang;
        }
        return $languageArray;
    }

    public function getInvoiceSettingsData(object|null $request, array|null $imageArray): array
    {
        return [
            'business_identity_status' => $request['business_identity_status'] ?? 0,
            'invoice_logo_status' => $request['invoice_logo_status'] ?? 0,
            'invoice_logo_type' => $request['invoice_logo_type'] ?? 'default',
            'terms_and_condition' => $request['terms_and_condition'] ?? null,
            'business_identity' => $request['business_identity'] ?? null,
            'business_identity_value' => $request['business_identity_value'] ?? null,
            'image' => $imageArray,
        ];
    }

    public function sendMaintenanceModeNotification($status, $topic): void
    {
        $mailData = $this->getMaintenanceModeMessagesInfo(status: $status, topic: $topic, type: 'maintenance_mode');
        event(new MaintenanceModeNotificationEvent(data: $mailData));
    }

    public function getMaintenanceModeMessagesInfo($status, $topic, $user = null, $type = null): array
    {
        return [
            'topic' => $topic,
            'key' => $topic,
            'subject' => translate('Maintenance_Mode'),
            'title' => $status == 'on' ? translate('Maintenance_Mode_start') : translate('Maintenance_Mode_End'),
            'description' => $status == 'on' ? translate('we_are_currently_undergoing_maintenance') : translate('Maintenance_mode_turned_off'),
            'type' => $type,
            'user_name' => $user ? $user?->f_name : null,
            'userData' => $user,
        ];
    }
}