HEX
Server: Apache
System: Linux server3230.server-vps.com 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: lzgqnjwu (1002)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/lzgqnjwu/sites/bot.sgt.com.ua/common/helpers/NavigationHelper.php
<?php

namespace common\helpers;

use common\models\Contacts;
use common\models\Languages;
use common\models\Navigation;
use common\models\NavigationItems;
use common\models\Page;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii;

/**
 * Class PostHelper
 * @package common\helpers
 */
class NavigationHelper
{
    public static function typeList(): array
    {
        return [
            NavigationItems::STANDARD_LINK => Yii::t('common', 'Standard Page Link'),
            NavigationItems::STAT_LINK => Yii::t('common', 'Static link'),
            NavigationItems::STAT_FULL_LINK => Yii::t('common', 'Static full link'),
            NavigationItems::CATEGORY_LINK => Yii::t('common', 'Category link'),
        ];
    }

    public static function typeName($status): string
    {
        return ArrayHelper::getValue(self::typeList(), $status);
    }

    public static function typeLabel($status): string
    {
        switch ($status) {
            case NavigationItems::STANDARD_LINK:
                $class = 'badge badge-dark';
                break;
            case NavigationItems::STAT_LINK:
                $class = 'badge badge-warning';
                break;
            case NavigationItems::STAT_FULL_LINK:
                $class = 'badge badge-danger';
                break;
            case NavigationItems::CATEGORY_LINK:
                $class = 'badge badge-info';
                break;
        }

        return Html::tag('span', ArrayHelper::getValue(self::typeList(), $status), ['class' => $class]);
    }

    /**
     * Navigation
     */

    public static function navigationList(): array
    {
        $arr_data = [];
        $data_list = Navigation::find()->orderBy(['sort' => SORT_ASC])->all();
        if($data_list){
            foreach($data_list as $data){
                $arr_data[$data->id] = $data->title;
            }
        }
        return $arr_data;
    }

    public static function navigationName($name): string
    {
        return ArrayHelper::getValue(self::navigationList(), $name);
    }

    /**
     * Page
     */

    public static function pageList(): array
    {
        $arr_data = [];
        $lang = Yii::$app->language;
        $data_list = Page::find()->orderBy(['sort' => SORT_ASC])->all();
        if($data_list){
            foreach($data_list as $data){
                $name = $data->translateTo($lang)->title;
                if($name){
                    $name_data = $name;
                }
                else{
                    $name_data = $data->translateTo('ru-RU')->title;
                }
                $arr_data[$data->id] = $name_data;
            }
        }
        return $arr_data;
    }

    public static function pageName($name): string
    {
        return ArrayHelper::getValue(self::pageList(), $name);
    }
}