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);
}
}