<?php

namespace App\Helpers\Backoffice;

use App\Models\Backoffice\MediaItem;

class MediaHelper
{
    public static function getMediaThumbUrl(MediaItem $item, $sizeName = '')
    {
        if (!$item || !$item->path) {
            return "";
        }
        $fullPath = $item->base_folder . '/' . $item->path;
        if ($sizeName) {
            $thumbPath = asset(config('path.frontend.thumbs'));
            return $thumbPath . '/' . self::getFileNameSize($fullPath, $sizeName);
        }
        return $fullPath;
    }

    public static function getProfileImageUrl($fileName = false, $sizeName = '')
    {
        if (!$fileName) {
            return "";
        }
        if ($sizeName) {
            $path = asset(config('path.frontend.profile_thumbs'));
            return $path . '/' . self::getFileNameSize($fileName, $sizeName);
        } else {
            $path = asset(config('path.frontend.profile_images'));
            return $path.'/'.$fileName;
        }
    }

    public static function getCompanyImageUrl($fileName = false, $sizeName = '')
    {
        if (!$fileName) {
            return "";
        }
        if ($sizeName) {
            $path = asset(config('path.frontend.company_thumbs'));
            return $path . '/' . self::getFileNameSize($fileName, $sizeName);
        } else {
            $path = asset(config('path.frontend.company_images'));
            return $path.'/'.$fileName;
        }
    }

    public static function getProjectImageUrl($fileName = false, $sizeName = '')
    {
        if (!$fileName) {
            return "";
        }
        if ($sizeName) {
            $path = asset(config('path.frontend.project_thumbs'));
            return $path . '/' . self::getFileNameSize($fileName, $sizeName);
        } else {
            $path = asset(config('path.frontend.project_images'));
            return $path.'/'.$fileName;
        }
    }

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

        $pos = strrpos($fileName, ".");
        if (!empty($sizeName)) {
            if ($pos === false) {
                return "{$fileName}_{$sizeName}";
            } else {
                return substr($fileName, 0, $pos)."_".$sizeName.substr($fileName, $pos);
            }
        } else {
            return $fileName;
        }
    }
}
