<?php
use Illuminate\Support\Facades\Storage;

if (!function_exists('getMediaImg')) {
    function getMediaImg($mediaItem, $size = '', $alt = "", $classes = "", $lazy = false)
    {
        $src = "";
        $filename = "";
        if (is_array($mediaItem)) {
            if (!$alt && isset($mediaItem['alt']) && $mediaItem['alt']) {
                $alt = $mediaItem['alt'];
            }
            $src = getMediaUrl($mediaItem['filename'], $size);
            $filename = $mediaItem['filename'];
        } else {
            if (!empty($mediaItem)) {
                if (!$alt && isset($mediaItem->alt) && $mediaItem->alt) {
                    $alt = $mediaItem->alt;
                }
                $src = getMediaUrl($mediaItem->filename, $size);
                $filename = $mediaItem->filename;
            }
        }
        if (!$alt) {
            $alt = $filename;
        }
        $attrs = " ";
        if (is_array($classes)) {
            foreach ($classes as $attr => $attrValue) {
                $attrs .= $attr.'="'.$attrValue.'" ';
            }
        } else {
            if ($classes) {
                $attrs = ' class="'.$classes.'" ';
            }
        }

        if ($lazy) {
            $attrs .= ' loading="lazy" ';
        }

        return '<img '.$attrs.' src="'.$src.'" alt="'.
            $alt.'" />';
    }
}
if (!function_exists('getMediaUrl')) {
    /**
     * Generates thumb filename and url
     */

    function getMediaUrl($fileName = false, $fileNameSize = '')
    {

        if (!$fileName) {
            return "";
        }
        if ($fileNameSize) {
            return Storage::url(config('path.internal.thumbs') .'/'.getFileNameSize($fileName, $fileNameSize));
        } else {
            return Storage::url(config('path.internal.media').'/'.$fileName);
        }
    }
}

if (!function_exists('getFileNameSize')) {
    function getFileNameSize($fileName = '', $sizeName = '')
    {
        if (empty($fileName)) {
            return "";
        }

        $pos = strrpos($fileName, ".");

        if ($pos === false) {
            return "${fileName}_{$sizeName}";
        } else {
            return mb_substr($fileName, 0, $pos)."_".$sizeName.mb_substr($fileName, $pos);
        }
    }
}
