HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/zuiderbos.komma.pro/app/Komma/Images/ImageService.php
<?php

/**
 * Short description for the file.
 *
 * @author      Komma <support@komma.pro>
 * @copyright   (c) 2012-2015, Komma Mediadesign
 */

namespace Komma\Images;

use Illuminate\Support\Collection;
use Komma\Images\Models\Image;
use Komma\LanguageService;

class ImageService
{
    protected $languageService;

    public function __construct(LanguageService $languageService)
    {
        $this->languageService = $languageService;
    }

    public function getImages($type, $id)
    {
        $imageRecords = Image::where('imageble_type', $type)->where('imageble_id', $id)
            ->orderBy('sort_order', 'asc')
            ->get();
        $images = $imageRecords->toArray();

        return $images;
    }

    public function orderImagesOnLanguage($images)
    {
        $newImages = [];

        foreach ($images as $image) {
            $exploded = explode('_', $image->attribute_key);
            $lang = end($exploded);

            $lang = $this->languageService->getIsoById($lang);
            //var_dump($image);
            if ($lang == null) {
                if (! isset($newImages['global'])) {
                    $newImages['global'] = [];
                }
                array_push($newImages['global'], $image);
                continue;
            }
            if (! isset($newImages[$lang->iso_2])) {
                $newImages[$lang->iso_2] = [];
            }
            array_push($newImages[$lang->iso_2], $image);
        }
        if (! isset($newImages['global'])) {
            $newImages['global'] = [];
        }

        $currentLanguage = \Session::get('lang');
        if (isset($newImages[$currentLanguage])) {
            $newImages = new Collection($newImages[$currentLanguage]);
        } else {
            $newImages = new Collection($newImages['global']);
        }

        return $newImages;
    }
}