50 lines
1.6 KiB
PHP
50 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace app\models\parsed;
|
|
|
|
use app\models\Navigation;
|
|
use app\services\Auth;
|
|
use function GuzzleHttp\Psr7\str;
|
|
|
|
class NavigationParsed
|
|
{
|
|
public $name;
|
|
public $relation;
|
|
|
|
public function __construct(Navigation $model)
|
|
{
|
|
$lg = \Yii::$app->language;
|
|
|
|
$urlParams = \Yii::$app->request->get();
|
|
$partnerUrlAddition = '';
|
|
if (\Yii::$app->controller->id == 'partner') {
|
|
$partner = $lg == 'en' ? 'partner' : 'partnjor';
|
|
$partnerUrlAddition = $partner . '/' . $urlParams['partnerSlug'] . '/';
|
|
}
|
|
|
|
switch ($lg) {
|
|
default:
|
|
$this->name = $model->name;
|
|
if ($model->page_id) {
|
|
$this->relation = '/' . $lg . '/' . $partnerUrlAddition . $model->page->slug . '/';
|
|
} else {
|
|
$this->relation = $model->url ?? '#';
|
|
if(!empty($model->url_authorised) && (Auth::getUser() || !empty($_SESSION['register_user']))) {
|
|
$this->relation = $model->url_authorised;
|
|
}
|
|
}
|
|
break;
|
|
case 'en':
|
|
$this->name = $model->ts_en_name;
|
|
if ($model->page_id) {
|
|
$this->relation = '/' . $lg . '/' . $partnerUrlAddition . $model->page->slug_en . '/';
|
|
} else {
|
|
$this->relation = $model->url ?? '#';
|
|
if($model->url_authorised && (Auth::getUser() || !empty($_SESSION['register_user']))) {
|
|
$this->relation = $model->url_authorised;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|