Initial import
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
|
||||
namespace app\services\navigation;
|
||||
|
||||
class NavigationAdminGlobal extends NavigationBase
|
||||
{
|
||||
public static function top()
|
||||
{
|
||||
|
||||
|
||||
$bl['index'] = ['Начало', 'dashboard'];
|
||||
//$bl['nomenclature-register'] = ['Номенклатури', 'nomenclatures'];
|
||||
//$bl['nomenclature'] = ['Номенклатури', 'categories'];
|
||||
$bl['web-portal'] = ['Публичен портал', 'expositions'];
|
||||
$bl['products'] = ['Дигитален магазин', 'subscriptions'];
|
||||
|
||||
$bl['tour'] = ['Туристическа информация', 'tour-objects'];
|
||||
$bl['mobile-app'] = ['Мобилно приложение', 'become-an-explorer-objects'];
|
||||
$bl['user'] = ['Потребители', 'admin-global'];
|
||||
$bl['orders'] = ['Поръчки', 'subscriptions'];
|
||||
|
||||
|
||||
|
||||
|
||||
return self::stringButtons($bl, 'top');
|
||||
}
|
||||
|
||||
public static function left()
|
||||
{
|
||||
|
||||
$bl['index'] = [
|
||||
['Начално табло', 'dashboard'],
|
||||
['Ръководство на потребителя', 'guide-cms'],
|
||||
['Ръководство портал', 'guide-portal'],
|
||||
['Въпроси и отговори', 'qa-cms'],
|
||||
['Въпроси и отговори портал', 'qa-portal'],
|
||||
['Хронология', 'history'],
|
||||
['Помощна информация', 'help'],
|
||||
['Запитвания', 'inquiries'],
|
||||
['За проекта (текст и лога)', 'about-project'],
|
||||
['divider', 'Външни връзки'],
|
||||
['Мрежа знания', 'knowledge-network', 'https://im1.nasledstvo.bg/?option=oauthredirect&app_name=keycloak'],
|
||||
['Център знания', 'online-education', 'https://el.nasledstvo.bg/index.php/apps/sociallogin/custom_oidc/keycloak'],
|
||||
['Практическа общност', 'practical-network', 'https://im.nasledstvo.bg/?option=oauthredirect&app_name=Nasledstvo.bg'],
|
||||
['Е-обучение', 'e-learning', 'https://ed.nasledstvo.bg/auth/oidc/']
|
||||
];
|
||||
|
||||
$bl['web-portal'] = [
|
||||
['Експозиции', 'expositions'],
|
||||
//['Обекти cms', 'objects'],
|
||||
['Обекти', 'objects-register'],
|
||||
['Колекции', 'collections'],
|
||||
['Е-библиотека', 'e-library'],
|
||||
['Проекти', 'projects'],
|
||||
['Новини', 'news'],
|
||||
['Събития', 'events'],
|
||||
['Кампании', 'campaigns'],
|
||||
['divider'],
|
||||
['Страници', 'pages'],
|
||||
['Навигация', 'navigation'],
|
||||
['Тематични зони', 'positions'],
|
||||
|
||||
//['Членсто в Наследство.БГ', 'join-to-us'],
|
||||
['Слайдер', 'slider'],
|
||||
['Статични преводи', 'tslist'],
|
||||
['SEO управление', 'seo']
|
||||
];
|
||||
|
||||
$bl['tour'] = [
|
||||
['Туристически обекти', 'tour-objects']
|
||||
];
|
||||
|
||||
$bl['mobile-app'] = [
|
||||
['Стани изследовател обекти', 'become-an-explorer-objects'],
|
||||
['Потребители', 'users']
|
||||
];
|
||||
|
||||
$bl['nomenclature'] = [
|
||||
['Категории', 'categories'],
|
||||
['Общи номенклатури', 'common-fields'],
|
||||
['Видове обекти', 'object-templates'],
|
||||
['Колекции на обекти', 'collections']
|
||||
];
|
||||
|
||||
$bl['nomenclature-register'] = [
|
||||
['Номенклатури', 'nomenclatures'],
|
||||
];
|
||||
|
||||
|
||||
$bl['products'] = [
|
||||
['Абонаменти', 'subscriptions'],
|
||||
['Колекции', 'paid-collections'],
|
||||
['Публикации', 'paid-publications']
|
||||
];
|
||||
|
||||
|
||||
$bl['user'] = [
|
||||
//['Управление на глобален администратор', 'admin-global'],
|
||||
['Управление администратори публичен портал', 'admin-global'],
|
||||
['Управление на потребител на партньор', 'partner'],
|
||||
['Управление на партньори', 'partner-org'],
|
||||
|
||||
//['Управление на потребители от регистъра', 'register'],
|
||||
['Управление на права', 'rights'],
|
||||
['Управление на роли / групи', 'roles'],
|
||||
['divider'],
|
||||
['Управление на потребители публичен портал', 'public']
|
||||
];
|
||||
$bl['orders'] = [
|
||||
['Абонаменти', 'subscriptions'],
|
||||
['Резервации', 'reservations'],
|
||||
['Колекции', 'products-collections'],
|
||||
['Публикации', 'products-publications']
|
||||
];
|
||||
return self::stringButtons($bl, 'left');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\services\navigation;
|
||||
|
||||
define('URI', explode('?', $_SERVER['REQUEST_URI'])[0]);
|
||||
|
||||
class NavigationBase
|
||||
{
|
||||
protected static function stringButtons($bl, $navType)
|
||||
{
|
||||
$uri_parts = explode('/', URI);
|
||||
$uriType = $uri_parts[1] ?? null;
|
||||
$uriTab = $uri_parts[2] ?? null;
|
||||
$uriPage = $uri_parts[3] ?? null;
|
||||
$prepareHtml = '';
|
||||
if ($uriType && $uriTab && $uriPage) {
|
||||
if ($navType == 'top') {
|
||||
foreach ($bl as $tab => $data) {
|
||||
if (!empty($data[2])) {
|
||||
$prepareHtml .= '<a target="_blank" href="' . $data[2] . '">' . $data[0] . '</a>';
|
||||
} else {
|
||||
$s = $tab == $uriTab ? 'class="selected"' : '';
|
||||
$b = '/' . $uriType . '/' . $tab . '/' . $data[1] . '/';
|
||||
$prepareHtml .= '<a ' . $s . ' href="' . $b . '">' . $data[0] . '</a>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isset($bl[$uriTab])) {
|
||||
foreach ($bl[$uriTab] as $data) {
|
||||
if (isset($data[0])) {
|
||||
if ($data[0] == 'divider') {
|
||||
if(!empty($data[1])) {
|
||||
$prepareHtml .= '<div class="divider-title">'.$data[1].'</div>';
|
||||
}
|
||||
$prepareHtml .= '<div class="divider"></div>';
|
||||
} else {
|
||||
if (!empty($data[2])) {
|
||||
$prepareHtml .= '<a href="' . $data[2] . '" target="_blank">' . $data[0] . '</a>';
|
||||
} else {
|
||||
$s = $data[1] == $uriPage ? 'class="selected"' : '';
|
||||
$b = '/' . $uri_parts[1] . '/' . $uriTab . '/' . $data[1] . '/';
|
||||
$prepareHtml .= '<a ' . $s . ' href="' . $b . '">' . $data[0] . '</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $prepareHtml;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace app\services\navigation;
|
||||
|
||||
use app\models\UserPartner;
|
||||
use app\services\Auth;
|
||||
use app\widgets\services\UserRight;
|
||||
|
||||
class NavigationPartner extends NavigationBase
|
||||
{
|
||||
public static function top()
|
||||
{
|
||||
$bl['index'] = ['Начало', 'dashboard'];
|
||||
$bl['website'] = ['Публичен портал', 'expositions'];
|
||||
|
||||
$bl['knowledge-network'] = ['Мрежа знания', 'knowledge-network', 'https://im1.nasledstvo.bg/?option=oauthredirect&app_name=keycloak'];
|
||||
$bl['online-education'] = ['Център знания', 'online-education', 'https://el.nasledstvo.bg/index.php/apps/sociallogin/custom_oidc/keycloak'];
|
||||
$bl['practical-network'] = ['Практическа общност', 'practical-network', 'https://im.nasledstvo.bg/?option=oauthredirect&app_name=Nasledstvo.bg'];
|
||||
$bl['e-learning'] = ['Е-обучение', 'e-learning', 'https://ed.nasledstvo.bg/auth/oidc/'];
|
||||
return self::stringButtons($bl, 'top');
|
||||
}
|
||||
|
||||
public static function left()
|
||||
{
|
||||
$user = \Yii::$app->controller->partner;
|
||||
$bl['index'] = [
|
||||
['Начално табло', 'dashboard'],
|
||||
['Ръководство на потребителя', 'guide-cms'],
|
||||
['Въпроси и отговори', 'qa-cms'],
|
||||
];
|
||||
$bl['website'] = [
|
||||
['Експозиции', 'expositions'],
|
||||
['Колекции', 'collections'],
|
||||
['Е-библиотека', 'e-library'],
|
||||
['Обекти', 'objects'],
|
||||
['Проекти', 'projects'],
|
||||
['Страници', 'pages'],
|
||||
['Новини', 'news'],
|
||||
['Събития', 'events'],
|
||||
['Кампании', 'campaigns'],
|
||||
['Данни на партньор', 'partner-data']
|
||||
];
|
||||
|
||||
if(UserRight::isAdmin()) {
|
||||
$bl['website'][] = ['Потребители партньор', 'users'];
|
||||
if(Auth::userPartner() && Auth::userPartner()->role_id == 1) {
|
||||
$bl['website'][] = ['Потребители публичен портал', 'public'];
|
||||
}
|
||||
}
|
||||
return self::stringButtons($bl, 'left');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user