MOON
Server: Apache
System: Linux host.sunshiene.com 4.18.0-553.121.1.el8_10.x86_64 #1 SMP Thu Apr 30 09:06:34 EDT 2026 x86_64
User: clientsoftwares (1005)
PHP: 8.2.31
Disabled: system, exec, mail, shell_exec, passthru, popen, proc_open, pcntl_exec, dl, ini_alter, ini_restore, symlink, link, chown, posix_kill
Upload Files
File: /home/clientsoftwares/public_html/stocky.clientsoftwares.com/app/Imports/TranslationImport.php
<?php

namespace App\Imports;

use App\Models\Lang;
use Examyou\RestAPI\Exceptions\ApiException;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\ToArray;

class TranslationImport implements ToArray, WithHeadingRow
{
    public function array(array $langs)
    {
        DB::transaction(function () use ($langs) {

            foreach ($langs as $lang) {

                if (
                    !array_key_exists('lang_key', $lang) || !array_key_exists('group', $lang) ||
                    !array_key_exists('key', $lang) || !array_key_exists('value', $lang)
                ) {
                    throw new ApiException('Field missing from header.');
                }

                $langKey = trim($lang['lang_key']);
                $language = Lang::where('key', $langKey)->first();

                if ($language) {
                    DB::table('translations')
                        ->where('key', trim($lang['key']))
                        ->where('group', trim($lang['group']))
                        ->where('lang_id', $language->id)
                        ->update([
                            'value' => trim($lang['value'])
                        ]);
                } else {
                    throw new ApiException('Language not exists... First create it');
                }
            }
        });
    }
}