<?php

namespace App\Helpers\Backoffice;

use Mcamara\LaravelLocalization\Facades\LaravelLocalization;

class LanguageHelper
{
    public static function generateLangRules($rules, $locales, $subField = null)
    {
        $langRules = array();
        foreach ($rules as $field => $rule) {
            foreach ($locales as $locale) {
                if ($subField) {
                    $langRules[$field.'.'.$locale.'.'.$subField] = $rule;
                } else {
                    $langRules[$field.'.'.$locale] = $rule;
                }
            }
        }
        return $langRules;
    }

    public static function generateLangLabels($field, $label, $locales, $subField = null)
    {
        $labels = array();
        foreach ($locales as $locale) {
            if ($subField) {
                $labels[$field.'.'.$locale.'.'.$subField] = $label;
            } else {
                $labels[$field.'.'.$locale] = $label;
            }
        }

        return $labels;
    }

    public static function getLangField($model, $field, $lang)
    {
        if (!$model || !$model->languages) {
            return '';
        }
        $modelLanguages = $model->languages;
        foreach ($modelLanguages as $modelLanguage) {
            if ($modelLanguage->language_id == $lang) {
                return $modelLanguage->$field;
            }
        }
        return '';
    }

    public static function lang_url($url = null, $locale = null)
    {
        $langUrl = LaravelLocalization::getLocalizedURL($locale, $url);
        return rtrim($langUrl, '/');
    }

    public static function getActiveLanguage()
    {
        return LaravelLocalization::getCurrentLocale();
    }
}
