AntonLV 4 лет назад
Родитель
Сommit
c178ada6b3
39 измененных файлов с 1137 добавлено и 235 удалено
  1. 8 3
      inc/classes/BxDolPageQuery.php
  2. 24 5
      inc/classes/BxDolTemplate.php
  3. 24 8
      install/sql/system.sql
  4. 11 1
      modules/boonex/artificer/data/template/system/_sub_header.html
  5. 3 0
      modules/boonex/artificer/data/template/system/css/common.css
  6. 92 0
      modules/boonex/artificer/data/template/system/pt_application.html
  7. 21 0
      modules/boonex/artificer/data/template/system/scripts/BxTemplMenuPanel.php
  8. 9 1
      modules/boonex/decorous/data/template/system/_sub_header.html
  9. 33 5
      modules/boonex/decorous/data/template/system/css/common.css
  10. 2 0
      modules/boonex/decorous/data/template/system/css/default.less
  11. 4 4
      modules/boonex/decorous/data/template/system/css/general.css
  12. 85 0
      modules/boonex/decorous/data/template/system/pt_application.html
  13. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplMenuPanel.php
  14. 115 103
      modules/boonex/english/data/langs/system/en.xml
  15. 10 2
      modules/boonex/lucid/data/template/system/_sub_header.html
  16. 1 0
      modules/boonex/lucid/data/template/system/css/default.less
  17. 91 0
      modules/boonex/lucid/data/template/system/pt_application.html
  18. 21 0
      modules/boonex/lucid/data/template/system/scripts/BxTemplMenuPanel.php
  19. 9 1
      modules/boonex/ocean/data/template/system/_sub_header.html
  20. 73 0
      modules/boonex/ocean/data/template/system/pt_application.html
  21. 21 0
      modules/boonex/ocean/data/template/system/scripts/BxTemplMenuPanel.php
  22. 21 13
      modules/boonex/protean/data/template/system/_sub_header.html
  23. 79 0
      modules/boonex/protean/data/template/system/pt_application.html
  24. 21 0
      modules/boonex/protean/data/template/system/scripts/BxTemplMenuPanel.php
  25. 61 49
      modules/boonex/russian/data/langs/system/ru.xml
  26. 1 0
      studio/classes/BxDolStudioNavigationQuery.php
  27. 20 0
      studio/template/scripts/BxBaseStudioNavigationItems.php
  28. 11 5
      template/_sub_header.html
  29. 30 7
      template/css/common.css
  30. 6 0
      template/css/general.css
  31. 7 0
      template/menu_panel.html
  32. 72 0
      template/pt_application.html
  33. 1 0
      template/pt_standard.html
  34. 1 0
      template/pt_wo_hf.html
  35. 9 0
      template/scripts/BxBaseMenu.php
  36. 72 0
      template/scripts/BxBaseMenuPanel.php
  37. 31 26
      template/scripts/BxBaseMenuSubmenu.php
  38. 1 2
      template/scripts/BxBaseServices.php
  39. 15 0
      template/scripts/BxBaseTemplateServices.php

+ 8 - 3
inc/classes/BxDolPageQuery.php

@@ -90,9 +90,14 @@ class BxDolPageQuery extends BxDolDb
 
     static public function getPageType($iId)
     {
-        return BxDolDb::getInstance()->getRow("SELECT * FROM `sys_pages_types` WHERE `id`=:id LIMIT 1", array(
-        	'id' => $iId
-        ));
+        return BxDolDb::getInstance()->getRow("SELECT * FROM `sys_pages_types` WHERE `id`=:id LIMIT 1", [
+            'id' => $iId
+        ]);
+    }
+
+    static public function getPageTypes()
+    {
+        return BxDolDb::getInstance()->getAll("SELECT * FROM `sys_pages_types` WHERE 1");
     }
 
     public function getPageBlocks()

+ 24 - 5
inc/classes/BxDolTemplate.php

@@ -41,8 +41,10 @@ define('BX_PAGE_TRANSITION', 150); ///< transition page with redirect to display
  * which are registered in 'sys_objects_page' table.
  * Changeable in Studio -> Pages Builder -> Settings. 
  */
-define('BX_PAGE_TYPE_DEFAULT', 1); ///< default, regular page
+define('BX_PAGE_TYPE_DEFAULT', 1); ///< default, depends on the settins
 define('BX_PAGE_TYPE_DEFAULT_WO_HF', 2); ///< clear page, without any headers and footers
+define('BX_PAGE_TYPE_STANDARD', 3); ///< regular page divided on columns
+define('BX_PAGE_TYPE_APPLICATION', 4); ///< regular page divided on columns with left vertical menu(s) column
 
 /**
  * Template engine.
@@ -724,7 +726,14 @@ class BxDolTemplate extends BxDolFactory implements iBxDolSingleton
      */
     function getPageType()
     {
-        return isset($this->aPage['type']) ? (int)$this->aPage['type'] : BX_PAGE_TYPE_DEFAULT;
+        $iType = BX_PAGE_TYPE_DEFAULT;
+        if(isset($this->aPage['type']))
+            $iType = (int)$this->aPage['type'];
+
+        if($iType == BX_PAGE_TYPE_DEFAULT) 
+            $iType = (int)getParam('sys_pt_default_' . (isLogged() ? 'member' : 'visitor'));
+
+        return $iType;
     }
 
     /**
@@ -1543,9 +1552,9 @@ class BxDolTemplate extends BxDolFactory implements iBxDolSingleton
 
         $sContent = $this->parseHtmlByName($sName, $aVariables, $this->_sKeyWrapperHtml, BX_DOL_TEMPLATE_CHECK_IN_BOTH);
         if(empty($sContent)) {
-        	$aType = BxDolPageQuery::getPageType($this->getPageType());
-        	if(!empty($aType) && is_array($aType))
-        		$sContent = $this->parseHtmlByName($aType['template'], $aVariables, $this->_sKeyWrapperHtml, BX_DOL_TEMPLATE_CHECK_IN_BOTH);
+            $aType = BxDolPageQuery::getPageType($this->getPageType());
+            if(!empty($aType) && is_array($aType))
+                $sContent = $this->parseHtmlByName($aType['template'], $aVariables, $this->_sKeyWrapperHtml, BX_DOL_TEMPLATE_CHECK_IN_BOTH);
         }
         if(empty($sContent))
             $sContent = $this->parseHtmlByName('default.html', $aVariables, $this->_sKeyWrapperHtml, BX_DOL_TEMPLATE_CHECK_IN_BOTH);
@@ -1674,6 +1683,16 @@ class BxDolTemplate extends BxDolFactory implements iBxDolSingleton
 
                 $sRet = $bCover ? $oCover->display() : $oCover->displayEmpty();
                 break;
+            case 'site_submenu_class':
+                $oMenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+                if($oMenu)
+                    $sRet = $oMenu->getClass();
+                break;
+            case 'site_submenu_hidden':
+                $oMenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+                if($oMenu)
+                    $sRet = $oMenu->getClassHidden();
+                break;
             case 'dol_images':
                 $sRet = $this->_processJsImages();
                 break;

+ 24 - 8
install/sql/system.sql

@@ -389,7 +389,10 @@ INSERT INTO `sys_options_categories`(`type_id`, `name`, `caption`, `hidden`, `or
 SET @iCategoryId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
-(@iCategoryId, 'template', '_adm_stg_cpt_option_template', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:13:"get_templates";s:5:"class";s:21:"TemplTemplateServices";}', 'Template', '_adm_stg_err_option_template', 1);
+(@iCategoryId, 'template', '_adm_stg_cpt_option_template', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:13:"get_templates";s:5:"class";s:21:"TemplTemplateServices";}', 'Template', '_adm_stg_err_option_template', 1),
+
+(@iCategoryId, 'sys_pt_default_visitor', '_adm_stg_cpt_option_sys_pt_default_visitor', '3', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:14:"get_page_types";s:5:"class";s:21:"TemplTemplateServices";}', '', '', 10),
+(@iCategoryId, 'sys_pt_default_member', '_adm_stg_cpt_option_sys_pt_default_member', '3', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:14:"get_page_types";s:5:"class";s:21:"TemplTemplateServices";}', '', '', 11);
 
 --
 -- CATEGORY: Cache
@@ -4209,7 +4212,8 @@ INSERT INTO `sys_menu_templates` (`id`, `template`, `title`, `visible`) VALUES
 (26, 'menu_block_submenu_ver.html', '_sys_menu_template_title_block_submenu_ver', 1),
 (27, 'menu_profile_followings.html', '_sys_menu_template_title_profile_followings', 0),
 (28, 'menu_main.html', '_sys_menu_template_title_main', 0),
-(29, 'menu_add_content.html', '_sys_menu_template_title_add_content', 0);
+(29, 'menu_add_content.html', '_sys_menu_template_title_add_content', 0),
+(30, 'menu_panel.html', '_sys_menu_template_title_panel', 0);
 
 CREATE TABLE IF NOT EXISTS `sys_objects_menu` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
@@ -4231,6 +4235,7 @@ INSERT INTO `sys_objects_menu` (`object`, `title`, `set_name`, `module`, `templa
 ('sys_homepage', '_sys_menu_title_homepage', 'sys_homepage', 'system', 7, 0, 1, 'BxTemplMenuHomepage', ''),
 ('sys_homepage_submenu', '_sys_menu_title_homepage_submenu', 'sys_homepage_submenu', 'system', 8, 0, 1, '', ''),
 ('sys_site_submenu', '_sys_menu_title_submenu', 'sys_site', 'system', 1, 0, 1, 'BxTemplMenuSubmenu', ''),
+('sys_site_panel', '_sys_menu_title_panel', 'sys_site_panel', 'system', 30, 0, 1, 'BxTemplMenuPanel', ''),
 ('sys_footer', '_sys_menu_title_footer', 'sys_footer', 'system', 2, 0, 1, 'BxTemplMenuFooter', ''),
 ('sys_toolbar_site', '_sys_menu_title_toolbar_site', 'sys_toolbar_site', 'system', 5, 0, 1, 'BxTemplMenuToolbar', ''),
 ('sys_toolbar_member', '_sys_menu_title_toolbar_member', 'sys_toolbar_member', 'system', 5, 0, 1, 'BxTemplMenuToolbar', ''),
@@ -4277,6 +4282,7 @@ INSERT INTO `sys_menu_sets` (`set_name`, `module`, `title`, `deletable`) VALUES
 ('sys_site', 'system', '_sys_menu_set_title_site', 0),
 ('sys_homepage', 'system', '_sys_menu_set_title_homepage', 0),
 ('sys_homepage_submenu', 'system', '_sys_menu_set_title_homepage_submenu', 0),
+('sys_site_panel', 'system', '_sys_menu_set_title_panel', 0),
 ('sys_footer', 'system', '_sys_menu_set_title_footer', 0),
 ('sys_toolbar_site', 'system', '_sys_menu_set_title_toolbar_site', 0),
 ('sys_toolbar_member', 'system', '_sys_menu_set_title_toolbar_member', 0),
@@ -4321,6 +4327,7 @@ CREATE TABLE IF NOT EXISTS `sys_menu_items` (
   `visible_for_levels` int(11) NOT NULL DEFAULT '2147483647',
   `visibility_custom` text NOT NULL,
   `hidden_on` varchar(255) NOT NULL DEFAULT '',
+  `hidden_on_pt` int(11) NOT NULL DEFAULT '0',
   `primary` tinyint(4) NOT NULL DEFAULT '0',
   `collapsed` tinyint(4) NOT NULL DEFAULT '0',
   `active` tinyint(4) NOT NULL DEFAULT '1',
@@ -4337,6 +4344,12 @@ INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `tit
 ('sys_site', 'system', 'search', '_sys_menu_item_title_system_search', '_sys_menu_item_title_search', 'javascript:void(0);', 'bx_menu_slide_inline(\'#bx-sliding-menu-search\', this, \'site\');', '', 'search', '', 2147483647, 1, 1, 3),
 ('sys_site', 'system', 'more-auto', '_sys_menu_item_title_system_more_auto', '_sys_menu_item_title_more_auto', 'javascript:void(0)', '', '', 'ellipsis-v', '', 2147483647, 1, 0, 9999);
 
+-- panel menu
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES
+('sys_site_panel', 'system', 'member-avatar', '_sys_menu_item_title_system_member_avatar', '', '', '', '', '', '', 2147483646, 1, 0, 1),
+('sys_site_panel', 'system', 'member-menu', '_sys_menu_item_title_system_member_menu', '', '', '', '', '', 'sys_profile_stats', 2147483646, 1, 0, 2),
+('sys_site_panel', 'system', 'member-followings', '_sys_menu_item_title_system_member_followings', '', '', '', '', '', 'sys_profile_followings', 2147483646, 1, 0, 3);
+
 -- homepage submenu
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `visibility_custom`, `active`, `copyable`, `order`) VALUES
 ('sys_homepage_submenu', 'system', 'home', '_sys_menu_item_title_system_home', '_sys_menu_item_title_home', 'index.php', '', '', 'bolt', '', '', 2147483647, '', 0, 1, 1),
@@ -4360,10 +4373,11 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('sys_toolbar_site', 'system', 'search', '_sys_menu_item_title_system_search', '', 'javascript:void(0);', 'bx_menu_slide_inline(''#bx-sliding-menu-search'', this, ''site'');', '', 'search', '', 2147483647, 1, 1, 2);
 
 -- member toolbar menu
-INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
-('sys_toolbar_member', 'system', 'add-content', '_sys_menu_item_title_system_add_content', '', 'javascript:void(0);', 'bx_menu_slide_inline(\'#bx-sliding-menu-sys_add_content\', this, \'site\');', '', 'plus', '', '', 0, 2147483646, 1, 1, 0),
-('sys_toolbar_member', 'system', 'account', '_sys_menu_item_title_system_account_menu', '_sys_menu_item_title_account_menu', 'javascript:void(0);', 'bx_menu_slide_inline(''#bx-sliding-menu-account'', this, ''site'');', '', 'user',  'a:3:{s:6:"module";s:6:"system";s:6:"method";s:21:"profile_notifications";s:5:"class";s:20:"TemplServiceProfiles";}', 'sys_account_popup', 1, 2147483646, 1, 0, 1),
-('sys_toolbar_member', 'system', 'login', '_sys_menu_item_title_system_login', '', 'page.php?i=login', '', '', 'user',  '', '', 0, 1, 1, 0, 2);
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `hidden_on_pt`, `active`, `copyable`, `order`) VALUES 
+('sys_toolbar_member', 'system', 'add-content', '_sys_menu_item_title_system_add_content', '', 'javascript:void(0);', 'bx_menu_slide_inline(\'#bx-sliding-menu-sys_add_content\', this, \'site\');', '', 'plus', '', '', 0, 2147483646, 0, 1, 1, 0),
+('sys_toolbar_member', 'system', 'apps', '_sys_menu_item_title_system_apps', '', 'javascript:void(0);', 'bx_menu_popup(''sys_homepage'', this);', '', 'qrcode', '', 'sys_homepage', 1, 2147483646, 3, 1, 1, 0),
+('sys_toolbar_member', 'system', 'account', '_sys_menu_item_title_system_account_menu', '_sys_menu_item_title_account_menu', 'javascript:void(0);', 'bx_menu_slide_inline(''#bx-sliding-menu-account'', this, ''site'');', '', 'user',  'a:3:{s:6:"module";s:6:"system";s:6:"method";s:21:"profile_notifications";s:5:"class";s:20:"TemplServiceProfiles";}', 'sys_account_popup', 1, 2147483646, 0, 1, 0, 1),
+('sys_toolbar_member', 'system', 'login', '_sys_menu_item_title_system_login', '', 'page.php?i=login', '', '', 'user',  '', '', 0, 1, 0, 1, 0, 2);
 
 -- notifications menu in account popup
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES
@@ -5176,8 +5190,10 @@ CREATE TABLE IF NOT EXISTS `sys_pages_types` (
 );
 
 INSERT INTO `sys_pages_types` (`id`, `title`, `template`, `order`) VALUES
-(1, '_sys_page_type_default', 'default.html', 1),
-(2, '_sys_page_type_default_wo_hf', 'page_2.html', 2);
+(1, '_sys_page_type_default', '', 1),
+(2, '_sys_page_type_wo_hf', 'pt_wo_hf.html', 2),
+(3, '_sys_page_type_standard', 'pt_standard.html', 3),
+(4, '_sys_page_type_application', 'pt_application.html', 4);
 
 
 CREATE TABLE IF NOT EXISTS `sys_pages_layouts` (

+ 11 - 1
modules/boonex/artificer/data/template/system/_sub_header.html

@@ -43,7 +43,17 @@
     __cover__
     <bx_injection:injection_between_cover_top_menu />
 
-    <bx_menu:sys_site_submenu />
+    <div id="bx-menu-main-bar-wrapper" class="bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-800 __site_submenu_hidden__">
+        <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__ bx-def-page-width mx-auto px-4 sm:px-6 lg:px-8 box-border">
+            <div class="bx-menu-main-bar-cnt relative -mb-px">
+                <div class="absolute w-full">
+                    <bx_injection:injection_top_menu_before />
+                    <bx_menu:sys_site_submenu />
+                    <bx_injection:injection_top_menu_after />
+                </div>
+            </div>
+        </div>
+    </div>
 
     <bx_injection:injection_between_content_menu />
 

+ 3 - 0
modules/boonex/artificer/data/template/system/css/common.css

@@ -21,6 +21,9 @@ import url(../../../../../../../template/css/common.css);
     clear:both;
 }
 
+.bx-main-content .bx-main-column .bx-def-page-width {
+    width: 100%;
+}
 
 /*--- Design Boxes ---*/
 .bx-db-container {

+ 92 - 0
modules/boonex/artificer/data/template/system/pt_application.html

@@ -0,0 +1,92 @@
+<bx_include_auto:_header.html />
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-header bx-def-z-index-nav bg-white dark:bg-gray-800 shadow-sm">
+        <div class="bx-header-cnt bx-def-page-width mx-auto px-3 md:px-4 lg:px-6 box-border">
+            <div class="bx-toolbar-content-wrapper">
+                <div id="bx-toolbar-content" class="bx-toolbar-content relative flex items-center justify-start h-16">
+                    <!-- Mobile: Hamburger -->
+                    <div class="flex-none items-center lg:hidden mr-4">
+                        <bx_menu:sys_toolbar_site />
+                    </div>
+                    <!-- Logo -->
+                    <div id="bx-logo-container" class="bx-toolbar-item bx-ti-left bx-ti-logo flex-none items-center">
+                        <bx_injection:injection_logo_before />
+                        __main_logo__
+                        <bx_injection:injection_logo_after />
+                    </div>
+                    <!-- Menu -->
+                    <div class="bx-toolbar-item bx-ti-menu flex-2 hidden lg:block w-64 ml-4">
+                        <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-menu w-full">
+                            <bx_menu:sys_site />
+                        </div>
+                    </div>
+                    <!-- Search -->
+                    <div class="bx-toolbar-item bx-ti-search flex flex-1 items-center justify-end ml-4 md:min-w-88">
+                        <div class="flex items-start w-full hidden md:block">
+                            <div class="relative w-full">__sys_site_search__</div>
+                        </div>
+                    </div>
+                    <!-- Members Toolbar -->
+                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right flex-none ml-4">
+                        <bx_menu:sys_toolbar_member />
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content bx-def-page-width bx-def-centered flex">
+        <div class="bx-main-column narrow flex-none w-1/4">
+            <div class="bx-main-column-cnt py-2 px-4">
+                <bx_menu:sys_site_panel />
+            </div>
+        </div>
+        <div class="bx-main-column wide flex-1 w-3/4">
+            <bx_injection:injection_between_cover_logo />
+            __cover__
+            <bx_injection:injection_between_cover_top_menu />
+            <div id="bx-menu-main-bar-wrapper" class="bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-800 __site_submenu_hidden__">
+                <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__ mx-auto px-4 sm:px-6 lg:px-8 box-border">
+                    <div class="bx-menu-main-bar-cnt relative -mb-px">
+                        <div class="absolute w-full">
+                            <bx_injection:injection_top_menu_before />
+                            <bx_menu:sys_site_submenu />
+                            <bx_injection:injection_top_menu_after />
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <bx_injection:injection_between_content_menu />
+            <div id="bx-content-wrapper">
+                __informer__
+                <div class="bx-page-wrapper mx-auto px-3 md:px-4 lg:px-6 box-border">
+                    <div id="bx-content-container" class="bx-content-container">
+                        <div id="bx-content-main" class="bx-content-main my-2 lg:my-3">
+                            <bx_injection:injection_content_before />
+                            __page_main_code__
+                            <bx_injection:injection_content_after />
+                            <bx_injection:banner_bottom />
+                        </div> <!-- #bx-content-main -->
+                        <bx_injection:injection_between_content_footer />
+                    </div> <!-- #bx-content-container -->
+                </div> <!-- .bx-page-wrapper -->
+            </div> <!-- #bx-content-wrapper -->
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+
+    <div id="bx-footer-wrapper" class="">
+        <div class="bx-def-page-width mx-auto px-3 md:px-4 lg:px-6 box-border">
+            <div id="bx-footer" class="bx-footer">
+                <div class="bx-footer-cnt mb-4">
+                    <bx_injection:injection_footer_before />
+                    <div id="bx-menu-bottom">
+                        <bx_menu:sys_footer />
+                    </div>
+                    <bx_injection:injection_footer_after />
+                </div>
+            </div>
+        </div>
+    </div>
+    <bx_menu:sys_site_action />
+</div> <!-- .bx-main -->
+<bx_include_auto:_footer.html />

+ 21 - 0
modules/boonex/artificer/data/template/system/scripts/BxTemplMenuPanel.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaTemplate UNA Template Classes
+ * @{
+ */
+
+/**
+ * @see BxDolMenu
+ */
+class BxTemplMenuPanel extends BxBaseMenuPanel
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 9 - 1
modules/boonex/decorous/data/template/system/_sub_header.html

@@ -32,7 +32,15 @@
                         __cover__
                         <bx_injection:injection_between_cover_top_menu />
 
-                        <bx_menu:sys_site_submenu />
+                        <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+                            <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+                                <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                                    <bx_injection:injection_top_menu_before />
+                                    <bx_menu:sys_site_submenu />
+                                    <bx_injection:injection_top_menu_after />
+                                </div>
+                            </div>
+                        </div>
 
                         <bx_injection:injection_between_content_menu />
 

+ 33 - 5
modules/boonex/decorous/data/template/system/css/common.css

@@ -1,11 +1,39 @@
 @import url(../../../../../../../template/css/common.css);
-.bx-btn{
-	transition: all .3s cubic-bezier(.645,.045,.355,1);
+
+.bx-main.bx-pt-application .bx-toolbar-content {
+    position: relative;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
 }
-.bx-btn .sys-icon{
-	font-size: 0.875rem !important;
-	line-height: 1.9rem !important;
+.bx-main.bx-pt-application .bx-toolbar-content .bx-toolbar-1-container {
+    -webkit-flex: 0 0 auto;
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
 }
+.bx-main.bx-pt-application .bx-toolbar-content #bx-logo-container {
+    -webkit-flex: 3 1 auto;
+    -ms-flex: 3 1 auto;
+    flex: 3 1 auto;
+    
+    margin-top: 0;
+    margin-bottom: 0;
+}
+.bx-main.bx-pt-application .bx-toolbar-content .bx-toolbar-2-container {
+    -webkit-flex: 1 1 auto;
+    -ms-flex: 1 1 auto;
+    flex: 1 1 auto;
+}
+
+.bx-btn {
+    transition: all .3s cubic-bezier(.645,.045,.355,1);
+}
+.bx-btn .sys-icon {
+    font-size: 0.875rem !important;
+    line-height: 1.9rem !important;
+}
+
 @keyframes loadingCircle{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}[bx-click-animating='true']{position:relative}html{--bx-wave-shadow-color:#1890ff}
 [bx-click-animating='true']::after,.bx-click-animating{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;-webkit-box-shadow:0 0 0 0 #1890ff;box-shadow:0 0 0 0 #1890ff;-webkit-box-shadow:0 0 0 0 var(--bx-wave-shadow-color);box-shadow:0 0 0 0 var(--bx-wave-shadow-color);opacity:.2;-webkit-animation:fadeEffect 2s cubic-bezier(.08, .82, .17, 1),waveEffect .4s cubic-bezier(.08, .82, .17, 1);animation:fadeEffect 2s cubic-bezier(.08, .82, .17, 1),waveEffect .4s cubic-bezier(.08, .82, .17, 1);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;content:'';pointer-events:none}
 @-webkit-keyframes waveEffect{100%{-webkit-box-shadow:0 0 0 #1890ff;box-shadow:0 0 0 #1890ff;-webkit-box-shadow:0 0 0 6px var(--bx-wave-shadow-color);box-shadow:0 0 0 6px var(--bx-wave-shadow-color)}}

+ 2 - 0
modules/boonex/decorous/data/template/system/css/default.less

@@ -16,10 +16,12 @@ html.bx-media-phone {
     font-size: @bx-viewport-font-mobile !important;
 }
 
+
 /* height */
 .bx-header {
 	height: @bx-height-header !important;
 }
+.bx-main-content .bx-main-column.narrow .bx-menu-toolbar-padding,
 .cd-main-content .content-wrapper {
     padding-top: @bx-height-header;
 }

+ 4 - 4
modules/boonex/decorous/data/template/system/css/general.css

@@ -3,7 +3,7 @@
 
 /*--- Overwrite Defaults ---*/
 #bx-toolbar {
-	z-index: 500;
+    z-index: 500;
 }
 .bx-media-phone #bx-toolbar-content{
     display: flex;
@@ -12,11 +12,11 @@
 #bx-logo-container {
     margin: 0.5rem 1.2rem;
     text-align: left;
-	height: auto;
-	flex-grow: 3
+    height: auto;
+    flex-grow: 3
 }
 .bx-media-phone #bx-logo-container {
-	 margin: 0;
+    margin: 0;
 }
 #bx-logo-container a {
 	color: #595959;

+ 85 - 0
modules/boonex/decorous/data/template/system/pt_application.html

@@ -0,0 +1,85 @@
+<bx_include_auto:_header.html />
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-header bx-def-image-bg-header bx-def-color-bg-header bx-def-border-header bx-shadow-header bx-def-z-index-nav cd-main-header">
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+            <div class="bx-toolbar-content-wrapper bx-content-padding-header">
+                <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
+                    <div id="bx-menu-toolbar-1-container" class="bx-toolbar-1-container">
+                        <bx_menu:sys_toolbar_site />
+                    </div>
+                    <div id="bx-logo-container" class="bx-toolbar-logo-container">
+                        <bx_injection:injection_logo_before />
+                            __main_logo__
+                        <bx_injection:injection_logo_after />
+                    </div>
+                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-2-container cd-nav">
+                        <bx_menu:sys_toolbar_member />
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content bx-def-page-width bx-def-centered">
+        <div class="bx-main-column narrow">
+            <div class="bx-menu-toolbar-padding">
+                <div class="bx-main-column-cnt bx-def-padding-topbottom">
+                    <bx_menu:sys_site_panel />
+                </div>
+            </div>
+        </div>
+        <div class="bx-main-column wide">
+            <div class="cd-main-content-wrp">
+                <div class="cd-main-content bx-clearfix">
+                    <div class="content-wrapper-wrp">
+                        <div class="content-wrapper bx-def-box-sizing">
+                            <bx_injection:injection_between_cover_logo />
+                            __cover__
+                            <bx_injection:injection_between_cover_top_menu />
+                            <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+                                <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+                                    <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                                        <bx_injection:injection_top_menu_before />
+                                        <bx_menu:sys_site_submenu />
+                                        <bx_injection:injection_top_menu_after />
+                                    </div>
+                                </div>
+                            </div>
+                            <bx_injection:injection_between_content_menu />
+                            <div id="bx-content-wrapper">
+                                __informer__
+                                <div class="bx-page-wrapper bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+                                    <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right">
+                                        <div id="bx-content-main" class="bx-def-margin-sec-topbottom">
+                                            <bx_injection:injection_content_before />
+                                            __page_main_code__
+                                            <bx_injection:injection_content_after />
+                                            <div class="bx-clear"></div>
+                                            <bx_injection:banner_bottom />
+                                        </div> <!-- #bx-content-main -->
+                                        <bx_injection:injection_between_content_footer />
+                                    </div> <!-- #bx-content-container -->
+                                </div>
+                            </div> <!-- #bx-content-wrapper -->
+                        </div> <!-- .content-wrapper -->
+                    </div> <!-- .content-wrapper-wrp -->
+                </div> <!-- .cd-main-content -->
+            </div> <!-- .cd-main-content-wrp -->
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+    <div id="bx-footer-wrapper" class="bx-footer-wrapper bx-def-image-bg-footer bx-def-color-bg-footer bx-def-border-footer bx-shadow-footer">    
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+            <div id="bx-footer" class="bx-footer bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
+                <div class="bx-footer-cnt bx-content-padding-footer">
+                    <bx_injection:injection_footer_before />
+                    <div id="bx-menu-bottom">
+                        <bx_menu:sys_footer />
+                    </div>
+                    <bx_injection:injection_footer_after />
+                </div>
+            </div>
+        </div>
+    </div>
+    <bx_menu:sys_site_action />
+</div>
+<bx_include_auto:_footer.html />

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplMenuPanel.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaTemplate UNA Template Classes
+ * @{
+ */
+
+/**
+ * @see BxDolMenu
+ */
+class BxTemplMenuPanel extends BxBaseMenuPanel
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 115 - 103
modules/boonex/english/data/langs/system/en.xml

@@ -585,7 +585,7 @@
 	<string name="_adm_bp_txt_page_title"><![CDATA[Title]]></string>
 	<string name="_adm_bp_txt_page_title_system"><![CDATA[System Name]]></string>
 	<string name="_adm_bp_txt_page_type_id"><![CDATA[Type]]></string>
-	<string name="_adm_bp_dsc_page_type_id"><![CDATA[Page display type]]></string>
+	<string name="_adm_bp_dsc_page_type_id"><![CDATA[Page display type. Default value can be changed in Studio -> Designer -> Settings.]]></string>
 	<string name="_adm_bp_txt_page_uri"><![CDATA[URL]]></string>
 	<string name="_adm_bp_txt_page_url"><![CDATA[Link]]></string>
 	<string name="_adm_bp_txt_page_visible_for_levels"><![CDATA[Select Levels]]></string>
@@ -1253,8 +1253,9 @@
         <string name="_adm_nav_txt_block_hidden_on_tablet"><![CDATA[tablet]]></string>
         <string name="_adm_nav_txt_block_hidden_on_desktop"><![CDATA[desktop]]></string>
         <string name="_adm_nav_txt_block_hidden_on_mobile"><![CDATA[mobile app]]></string>
-  <string name="_adm_page_cpt_audit"><![CDATA[Audit]]></string>
-  <string name="_adm_page_cpt_badges"><![CDATA[Badges]]></string>
+        <string name="_adm_nav_txt_block_hidden_on_pt"><![CDATA[Hidden on page type]]></string>
+        <string name="_adm_page_cpt_audit"><![CDATA[Audit]]></string>
+        <string name="_adm_page_cpt_badges"><![CDATA[Badges]]></string>
 	<string name="_adm_page_cpt_builder_forms"><![CDATA[Forms]]></string>
 	<string name="_adm_page_cpt_builder_menus"><![CDATA[Navigation]]></string>
 	<string name="_adm_page_cpt_builder_mobile"><![CDATA[Mobile Builder]]></string>
@@ -1523,33 +1524,35 @@
 	<string name="_adm_stg_cpt_option_sys_acl_expire_notification_days"><![CDATA[Number of days before membership expiration to notify members (-1 = after expiration)]]></string>
 	<string name="_adm_stg_cpt_option_sys_acl_expire_notify_once"><![CDATA[Notify members about membership expiration only once (every day otherwise)]]></string>
 	<string name="_adm_stg_cpt_option_sys_add_nofollow"><![CDATA[Add "nofollow" attribute for external links]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_enable"><![CDATA[Enable]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_max_records"><![CDATA[Number of log records]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_days_before_expire"><![CDATA[Delete logs older than (days)]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_acl_levels"><![CDATA[Enable for levels]]></string>
-	<string name="_adm_stg_cpt_option_sys_autoupdate_force_modified_files"><![CDATA[Force auto-update, even if some files were modified]]></string>
-	<string name="_adm_stg_cpt_option_sys_autoupdate"><![CDATA[Enable auto-update]]></string>
-	<string name="_adm_stg_cpt_option_sys_cache_memcache_host"><![CDATA[Memcached server host]]></string>
-	<string name="_adm_stg_cpt_option_sys_cache_memcache_port"><![CDATA[Memcached server port]]></string>
-	<string name="_adm_stg_cpt_option_sys_captcha_default"><![CDATA[Default Сaptcha]]></string>
-	<string name="_adm_stg_cpt_option_sys_email_attachable_email_templates"><![CDATA[Attachable email templates list]]></string>
-	<string name="_adm_stg_cpt_option_sys_db_cache_enable"><![CDATA[Enable DB cache]]></string>
-	<string name="_adm_stg_cpt_option_sys_db_cache_engine"><![CDATA[DB cache engine (other than File option may require custom server setup)]]></string>
-	<string name="_adm_stg_cpt_option_sys_default_payment"><![CDATA[Payment module]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_enable"><![CDATA[Enable]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_max_records"><![CDATA[Number of log records]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_days_before_expire"><![CDATA[Delete logs older than (days)]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_acl_levels"><![CDATA[Enable for levels]]></string>
+    <string name="_adm_stg_cpt_option_sys_autoupdate_force_modified_files"><![CDATA[Force auto-update, even if some files were modified]]></string>
+    <string name="_adm_stg_cpt_option_sys_autoupdate"><![CDATA[Enable auto-update]]></string>
+    <string name="_adm_stg_cpt_option_sys_cache_memcache_host"><![CDATA[Memcached server host]]></string>
+    <string name="_adm_stg_cpt_option_sys_cache_memcache_port"><![CDATA[Memcached server port]]></string>
+    <string name="_adm_stg_cpt_option_sys_captcha_default"><![CDATA[Default Сaptcha]]></string>
+    <string name="_adm_stg_cpt_option_sys_email_attachable_email_templates"><![CDATA[Attachable email templates list]]></string>
+    <string name="_adm_stg_cpt_option_sys_db_cache_enable"><![CDATA[Enable DB cache]]></string>
+    <string name="_adm_stg_cpt_option_sys_db_cache_engine"><![CDATA[DB cache engine (other than File option may require custom server setup)]]></string>
+    <string name="_adm_stg_cpt_option_sys_default_payment"><![CDATA[Payment module]]></string>
     <string name="_adm_stg_cpt_option_sys_editor_default"><![CDATA[Default HTML editor]]></string>
-	<string name="_adm_stg_cpt_option_sys_player_default"><![CDATA[Default Player]]></string>
-	<string name="_adm_stg_cpt_option_sys_player_default_quality"><![CDATA[Default video quality]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_date"><![CDATA[Date Format]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_datetime"><![CDATA[Datetime Format]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_time"><![CDATA[Time Format]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_timeago"><![CDATA[Use 'time ago' format for dates less than this number of seconds]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_dir"><![CDATA[Path to the script on FTP server]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_login"><![CDATA[FTP server login]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_password"><![CDATA[FTP server password]]></string>
-	<string name="_adm_stg_cpt_option_sys_cron_time"><![CDATA[Last cron execution time]]></string>
-	<string name="_adm_stg_cpt_option_sys_update_time"><![CDATA[Last update]]></string>
-	<string name="_adm_stg_cpt_option_sys_upgrade_channel"><![CDATA[Update channel]]></string>
-	<string name="_adm_stg_cpt_option_sys_live_updates_interval"><![CDATA[Live updates interval (in milliseconds)]]></string>
+    <string name="_adm_stg_cpt_option_sys_player_default"><![CDATA[Default Player]]></string>
+    <string name="_adm_stg_cpt_option_sys_player_default_quality"><![CDATA[Default video quality]]></string>
+    <string name="_adm_stg_cpt_option_sys_pt_default_visitor"><![CDATA[Default page type for visitor]]></string>
+    <string name="_adm_stg_cpt_option_sys_pt_default_member"><![CDATA[Default page type for member]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_date"><![CDATA[Date Format]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_datetime"><![CDATA[Datetime Format]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_time"><![CDATA[Time Format]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_timeago"><![CDATA[Use 'time ago' format for dates less than this number of seconds]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_dir"><![CDATA[Path to the script on FTP server]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_login"><![CDATA[FTP server login]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_password"><![CDATA[FTP server password]]></string>
+    <string name="_adm_stg_cpt_option_sys_cron_time"><![CDATA[Last cron execution time]]></string>
+    <string name="_adm_stg_cpt_option_sys_update_time"><![CDATA[Last update]]></string>
+    <string name="_adm_stg_cpt_option_sys_upgrade_channel"><![CDATA[Update channel]]></string>
+    <string name="_adm_stg_cpt_option_sys_live_updates_interval"><![CDATA[Live updates interval (in milliseconds)]]></string>
     <string name="_adm_stg_cpt_option_sys_location_field_default"><![CDATA[Location field provider]]></string>
     <string name="_adm_stg_cpt_option_sys_location_map_default"><![CDATA[Location map provider]]></string>
     <string name="_adm_stg_cpt_option_sys_location_map_zoom_default"><![CDATA[Location map zoom]]></string>
@@ -2801,71 +2804,75 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_item_title_system_account_dashboard"><![CDATA[Dashboard]]></string>
     <string name="_sys_menu_item_title_system_account_dashboard_administration"><![CDATA[Administration]]></string>
 
-  <string name="_sys_menu_item_title_system_account_dashboard_content"><![CDATA[Content]]></string>
-  <string name="_sys_menu_item_title_account_dashboard_content"><![CDATA[Content]]></string>
-  <string name="_sys_menu_item_title_system_account_dashboard_reports"><![CDATA[Reports]]></string>
-  <string name="_sys_menu_item_title_account_dashboard_reports"><![CDATA[Reports]]></string>
-  <string name="_sys_menu_item_title_system_account_dashboard_audit"><![CDATA[Audit]]></string>
-  <string name="_sys_menu_item_title_account_dashboard_audit"><![CDATA[Audit]]></string>
+    <string name="_sys_menu_item_title_system_account_dashboard_content"><![CDATA[Content]]></string>
+    <string name="_sys_menu_item_title_account_dashboard_content"><![CDATA[Content]]></string>
+    <string name="_sys_menu_item_title_system_account_dashboard_reports"><![CDATA[Reports]]></string>
+    <string name="_sys_menu_item_title_account_dashboard_reports"><![CDATA[Reports]]></string>
+    <string name="_sys_menu_item_title_system_account_dashboard_audit"><![CDATA[Audit]]></string>
+    <string name="_sys_menu_item_title_account_dashboard_audit"><![CDATA[Audit]]></string>
   
-	<string name="_sys_menu_item_title_system_account_settings"><![CDATA[Settings]]></string>
-	<string name="_sys_menu_item_title_system_account_settings_delete"><![CDATA[Delete]]></string>
-	<string name="_sys_menu_item_title_system_account_settings_email"><![CDATA[Email]]></string>
-	<string name="_sys_menu_item_title_system_account_settings_info"><![CDATA[Account]]></string>
-	<string name="_sys_menu_item_title_system_account_settings_pwd"><![CDATA[Password]]></string>
-	<string name="_sys_menu_item_title_system_add_content"><![CDATA[Add Content]]></string>
-	<string name="_sys_menu_item_title_system_cart"><![CDATA[Shopping Cart]]></string>
-        <string name="_sys_menu_item_title_system_cmts_administration"><![CDATA[Comments]]></string>
-  <string name="_sys_menu_item_title_system_audit_administration"><![CDATA[Audit]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_delete"><![CDATA[Delete]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_edit"><![CDATA[Edit]]></string>
-        <string name="_sys_menu_item_title_system_cmts_item_pin"><![CDATA[Pin]]></string>
-        <string name="_sys_menu_item_title_system_cmts_item_unpin"><![CDATA[Unpin]]></string>
-        <string name="_sys_menu_item_title_system_cmts_item_quote"><![CDATA[Quote]]></string>
-        <string name="_sys_menu_item_title_system_cmts_item_reaction"><![CDATA[Reaction]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_reply"><![CDATA[Reply]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_report"><![CDATA[Report]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_score"><![CDATA[Score]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_vote"><![CDATA[Plus]]></string>
-	<string name="_sys_menu_item_title_system_cmts_item_more"><![CDATA[More]]></string>
-	<string name="_sys_menu_item_title_system_dashboard"><![CDATA[Dashboard]]></string>
-	<string name="_sys_menu_item_title_system_home"><![CDATA[Home]]></string>
-        <string name="_sys_menu_item_title_system_invoices"><![CDATA[Invoices]]></string>
-	<string name="_sys_menu_item_title_system_login"><![CDATA[Log in]]></string>
-	<string name="_sys_menu_item_title_system_logout"><![CDATA[Log out]]></string>
-	<string name="_sys_menu_item_title_system_main_menu"><![CDATA[Main Menu]]></string>
-	<string name="_sys_menu_item_title_system_more"><![CDATA[More]]></string>
-        <string name="_sys_menu_item_title_system_more_auto"><![CDATA[More]]></string>
-	<string name="_sys_menu_item_title_system_orders"><![CDATA[Orders]]></string>
-	<string name="_sys_menu_item_title_system_powered_by"><![CDATA[Powered By]]></string>
-	<string name="_sys_menu_item_title_system_profile"><![CDATA[Profile]]></string>
-	<string name="_sys_menu_item_title_system_search"><![CDATA[Search]]></string>
-	<string name="_sys_menu_item_title_system_set_acl_level"><![CDATA[Set membership]]></string>
-  <string name="_sys_menu_item_title_system_set_badges"><![CDATA[Set badges]]></string>
-	<string name="_sys_menu_item_title_system_studio"><![CDATA[Studio]]></string>
-	<string name="_sys_menu_item_title_system_subscriptions"><![CDATA[Subscriptions]]></string>
-        <string name="_sys_menu_title_view_actions"><![CDATA[View Actions]]></string>
-        <string name="_sys_menu_set_title_view_actions"><![CDATA[View Actions]]></string>
-        <string name="_sys_menu_item_title_system_va_approve"><![CDATA[Approve]]></string>
-        <string name="_sys_menu_item_title_system_va_comment"><![CDATA[Comment]]></string>
-        <string name="_sys_menu_item_title_system_va_view"><![CDATA[View]]></string>
-        <string name="_sys_menu_item_title_system_va_vote"><![CDATA[Vote (for)]]></string>
-        <string name="_sys_menu_item_title_system_va_score"><![CDATA[Vote (for/against)]]></string>
-        <string name="_sys_menu_item_title_system_va_favorite"><![CDATA[Favorite]]></string>
-        <string name="_sys_menu_item_title_system_va_feature"><![CDATA[Feature]]></string>
-        <string name="_sys_menu_item_title_system_va_reaction"><![CDATA[Reaction]]></string>
-        <string name="_sys_menu_item_title_system_va_repost"><![CDATA[Repost]]></string>
-        <string name="_sys_menu_item_title_system_va_report"><![CDATA[Report]]></string>
-        <string name="_sys_menu_item_title_system_va_notes"><![CDATA[Notes]]></string>
-        <string name="_sys_menu_item_title_system_va_audit"><![CDATA[Audit]]></string>
-        <string name="_sys_menu_item_title_system_va_more_auto"><![CDATA[More]]></string>
-        <string name="_sys_menu_item_title_va_approve"><![CDATA[Approve]]></string>
-        <string name="_sys_menu_item_title_va_notes"><![CDATA[Notes]]></string>
-        <string name="_sys_menu_item_title_va_audit"><![CDATA[Audit]]></string>
-        <string name="_sys_menu_item_title_va_more_auto"><![CDATA[More]]></string>
+    <string name="_sys_menu_item_title_system_account_settings"><![CDATA[Settings]]></string>
+    <string name="_sys_menu_item_title_system_account_settings_delete"><![CDATA[Delete]]></string>
+    <string name="_sys_menu_item_title_system_account_settings_email"><![CDATA[Email]]></string>
+    <string name="_sys_menu_item_title_system_account_settings_info"><![CDATA[Account]]></string>
+    <string name="_sys_menu_item_title_system_account_settings_pwd"><![CDATA[Password]]></string>
+    <string name="_sys_menu_item_title_system_add_content"><![CDATA[Add Content]]></string>
+    <string name="_sys_menu_item_title_system_apps"><![CDATA[Apps]]></string>
+    <string name="_sys_menu_item_title_system_cart"><![CDATA[Shopping Cart]]></string>
+    <string name="_sys_menu_item_title_system_cmts_administration"><![CDATA[Comments]]></string>
+    <string name="_sys_menu_item_title_system_audit_administration"><![CDATA[Audit]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_delete"><![CDATA[Delete]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_edit"><![CDATA[Edit]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_pin"><![CDATA[Pin]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_unpin"><![CDATA[Unpin]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_quote"><![CDATA[Quote]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_reaction"><![CDATA[Reaction]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_reply"><![CDATA[Reply]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_report"><![CDATA[Report]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_score"><![CDATA[Score]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_vote"><![CDATA[Plus]]></string>
+    <string name="_sys_menu_item_title_system_cmts_item_more"><![CDATA[More]]></string>
+    <string name="_sys_menu_item_title_system_dashboard"><![CDATA[Dashboard]]></string>
+    <string name="_sys_menu_item_title_system_home"><![CDATA[Home]]></string>
+    <string name="_sys_menu_item_title_system_invoices"><![CDATA[Invoices]]></string>
+    <string name="_sys_menu_item_title_system_login"><![CDATA[Log in]]></string>
+    <string name="_sys_menu_item_title_system_logout"><![CDATA[Log out]]></string>
+    <string name="_sys_menu_item_title_system_main_menu"><![CDATA[Main Menu]]></string>
+    <string name="_sys_menu_item_title_system_member_avatar"><![CDATA[Member Avatar]]></string>
+    <string name="_sys_menu_item_title_system_member_followings"><![CDATA[Member Followed Contexts]]></string>
+    <string name="_sys_menu_item_title_system_member_menu"><![CDATA[Member Menu]]></string>
+    <string name="_sys_menu_item_title_system_more"><![CDATA[More]]></string>
+    <string name="_sys_menu_item_title_system_more_auto"><![CDATA[More]]></string>
+    <string name="_sys_menu_item_title_system_orders"><![CDATA[Orders]]></string>
+    <string name="_sys_menu_item_title_system_powered_by"><![CDATA[Powered By]]></string>
+    <string name="_sys_menu_item_title_system_profile"><![CDATA[Profile]]></string>
+    <string name="_sys_menu_item_title_system_search"><![CDATA[Search]]></string>
+    <string name="_sys_menu_item_title_system_set_acl_level"><![CDATA[Set membership]]></string>
+    <string name="_sys_menu_item_title_system_set_badges"><![CDATA[Set badges]]></string>
+    <string name="_sys_menu_item_title_system_studio"><![CDATA[Studio]]></string>
+    <string name="_sys_menu_item_title_system_subscriptions"><![CDATA[Subscriptions]]></string>
+    <string name="_sys_menu_title_view_actions"><![CDATA[View Actions]]></string>
+    <string name="_sys_menu_set_title_view_actions"><![CDATA[View Actions]]></string>
+    <string name="_sys_menu_item_title_system_va_approve"><![CDATA[Approve]]></string>
+    <string name="_sys_menu_item_title_system_va_comment"><![CDATA[Comment]]></string>
+    <string name="_sys_menu_item_title_system_va_view"><![CDATA[View]]></string>
+    <string name="_sys_menu_item_title_system_va_vote"><![CDATA[Vote (for)]]></string>
+    <string name="_sys_menu_item_title_system_va_score"><![CDATA[Vote (for/against)]]></string>
+    <string name="_sys_menu_item_title_system_va_favorite"><![CDATA[Favorite]]></string>
+    <string name="_sys_menu_item_title_system_va_feature"><![CDATA[Feature]]></string>
+    <string name="_sys_menu_item_title_system_va_reaction"><![CDATA[Reaction]]></string>
+    <string name="_sys_menu_item_title_system_va_repost"><![CDATA[Repost]]></string>
+    <string name="_sys_menu_item_title_system_va_report"><![CDATA[Report]]></string>
+    <string name="_sys_menu_item_title_system_va_notes"><![CDATA[Notes]]></string>
+    <string name="_sys_menu_item_title_system_va_audit"><![CDATA[Audit]]></string>
+    <string name="_sys_menu_item_title_system_va_more_auto"><![CDATA[More]]></string>
+    <string name="_sys_menu_item_title_va_approve"><![CDATA[Approve]]></string>
+    <string name="_sys_menu_item_title_va_notes"><![CDATA[Notes]]></string>
+    <string name="_sys_menu_item_title_va_audit"><![CDATA[Audit]]></string>
+    <string name="_sys_menu_item_title_va_more_auto"><![CDATA[More]]></string>
     <string name="_sys_menu_item_title_social_sharing"><![CDATA[Share]]></string>
     <string name="_sys_menu_item_title_system_social_sharing"><![CDATA[Share]]></string>
-	  <string name="_sys_menu_item_title_system_social_sharing_facebook"><![CDATA[Share in Facebook]]></string>
+    <string name="_sys_menu_item_title_system_social_sharing_facebook"><![CDATA[Share in Facebook]]></string>
     <string name="_sys_menu_item_title_system_social_sharing_twitter"><![CDATA[Share in Twitter]]></string>
     <string name="_sys_menu_item_title_system_social_sharing_pinterest"><![CDATA[Share in Pinterest]]></string>
     <string name="_sys_menu_item_title_system_sm_in_reply_to"><![CDATA[In reply to]]></string>
@@ -2914,6 +2921,7 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_set_title_profile_followings"><![CDATA[Followed Contexts]]></string>
     <string name="_sys_menu_set_title_profile_stats"><![CDATA[Profile Stats]]></string>
     <string name="_sys_menu_set_title_site"><![CDATA[Site]]></string>
+    <string name="_sys_menu_set_title_panel"><![CDATA[Panel]]></string>
     <string name="_sys_menu_set_title_homepage"><![CDATA[Content modules]]></string>
     <string name="_sys_menu_set_title_toolbar_member"><![CDATA[Toolbar Member]]></string>
     <string name="_sys_menu_set_title_toolbar_site"><![CDATA[Toolbar Site]]></string>
@@ -2938,6 +2946,7 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_template_title_main"><![CDATA[Site Navigation Menu]]></string>
     <string name="_sys_menu_template_title_main_submenu"><![CDATA[Site Navigation Submenu]]></string>
     <string name="_sys_menu_template_title_main_submenu_more_auto"><![CDATA[Site Navigation Submenu (with Auto More)]]></string>
+    <string name="_sys_menu_template_title_panel"><![CDATA[Site Panel Menu]]></string>
     <string name="_sys_menu_template_title_toolbar"><![CDATA[Toolbar Buttons]]></string>
     <string name="_sys_menu_template_title_ver"><![CDATA[Vertical Links]]></string>
     <string name="_sys_menu_template_title_ver_lite"><![CDATA[Vertical Links (lite)]]></string>
@@ -2978,18 +2987,19 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_title_social_sharing"><![CDATA[Social Sharing]]></string>
     <string name="_sys_menu_title_create_post"><![CDATA[Create Post Menu]]></string>
   
-   <string name="_sys_menu_title_dashboard_content_manage"><![CDATA[Dashboard content manage]]></string>
-   <string name="_sys_menu_title_dashboard_reports_manage"><![CDATA[Dashboard reports manage]]></string>
+    <string name="_sys_menu_title_dashboard_content_manage"><![CDATA[Dashboard content manage]]></string>
+    <string name="_sys_menu_title_dashboard_reports_manage"><![CDATA[Dashboard reports manage]]></string>
   
-        <string name="_sys_menu_title_add_relation"><![CDATA[Add Relationship Menu]]></string>
-	<string name="_sys_menu_title_submenu"><![CDATA[Site Submenu]]></string>
-	<string name="_sys_menu_title_toolbar_member"><![CDATA[Member Toolbar]]></string>
-	<string name="_sys_menu_title_toolbar_site"><![CDATA[Site Toolbar]]></string>
-	<string name="_sys_menu_title_switch_language_popup"><![CDATA[Language Switcher (popup)]]></string>
-	<string name="_sys_menu_title_switch_language_inline"><![CDATA[Language Switch (inline)]]></string>
-	<string name="_sys_menu_title_switch_template"><![CDATA[Switch Template]]></string>
-	<string name="_sys_menu_title_snippet_meta"><![CDATA[Snippet Meta Info]]></string>
-        <string name="_sys_menu_title_vote_reactions_do"><![CDATA[Do Reaction Vote]]></string>
+    <string name="_sys_menu_title_add_relation"><![CDATA[Add Relationship Menu]]></string>
+    <string name="_sys_menu_title_panel"><![CDATA[Site Panel]]></string>
+    <string name="_sys_menu_title_submenu"><![CDATA[Site Submenu]]></string>
+    <string name="_sys_menu_title_toolbar_member"><![CDATA[Member Toolbar]]></string>
+    <string name="_sys_menu_title_toolbar_site"><![CDATA[Site Toolbar]]></string>
+    <string name="_sys_menu_title_switch_language_popup"><![CDATA[Language Switcher (popup)]]></string>
+    <string name="_sys_menu_title_switch_language_inline"><![CDATA[Language Switch (inline)]]></string>
+    <string name="_sys_menu_title_switch_template"><![CDATA[Switch Template]]></string>
+    <string name="_sys_menu_title_snippet_meta"><![CDATA[Snippet Meta Info]]></string>
+    <string name="_sys_menu_title_vote_reactions_do"><![CDATA[Do Reaction Vote]]></string>
     <string name="_sys_menu_title_wiki"><![CDATA[Wiki]]></string>
     <string name="_sys_menu_set_title_sys_wiki"><![CDATA[Wiki]]></string>
     <string name="_sys_menu_item_title_wiki_edit"><![CDATA[Edit]]></string>
@@ -3169,8 +3179,10 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_page_title_unsubscribe_news"><![CDATA[Unsubscribe From Site Newsletters]]></string>
 	<string name="_sys_page_title_unsubscribe_notifications"><![CDATA[Unsubscribe From Site Notifications]]></string>
 	<string name="_sys_page_title_studio_dashboard"><![CDATA[Studio Dashboard]]></string>
+        <string name="_sys_page_type_application"><![CDATA[Application]]></string>
 	<string name="_sys_page_type_default"><![CDATA[Default]]></string>
-	<string name="_sys_page_type_default_wo_hf"><![CDATA[Without header/footer]]></string>
+        <string name="_sys_page_type_standard"><![CDATA[Standard]]></string>
+	<string name="_sys_page_type_wo_hf"><![CDATA[Without header/footer]]></string>
 	<string name="_sys_paginate_info"><![CDATA[{0}-{1}]]></string>
 	<string name="_sys_paginate_view_all"><![CDATA[View All]]></string>
 	<string name="_sys_please_select"><![CDATA[Please select...]]></string>

+ 10 - 2
modules/boonex/lucid/data/template/system/_sub_header.html

@@ -18,7 +18,7 @@
                             <bx_injection:injection_logo_after />
                         </div>
                         <div id="bx-menu-main-container" class="bx-toolbar-item bx-ti-menu bx-ti-stretcher">
-                                                    <bx_menu:sys_site />
+                            <bx_menu:sys_site />
                         </div>
                         <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right cd-nav">
                             <bx_menu:sys_toolbar_member />
@@ -36,7 +36,15 @@
                     __cover__
                     <bx_injection:injection_between_cover_top_menu />
 
-                    <bx_menu:sys_site_submenu />
+                    <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+                        <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-color-bg-sec">
+                            <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                                <bx_injection:injection_top_menu_before />
+                                <bx_menu:sys_site_submenu />
+                                <bx_injection:injection_top_menu_after />
+                            </div>
+                        </div>
+                    </div>
 
                     <bx_injection:injection_between_content_menu />
 

+ 1 - 0
modules/boonex/lucid/data/template/system/css/default.less

@@ -30,6 +30,7 @@ html.bx-media-phone {
     max-height: @bx-height-header - 2;
 }
 
+.bx-main-content .bx-main-column.narrow .bx-menu-toolbar-padding,
 .cd-main-content .content-wrapper {
     padding-top: @bx-height-header;
 }

+ 91 - 0
modules/boonex/lucid/data/template/system/pt_application.html

@@ -0,0 +1,91 @@
+<bx_include_auto:_header.html />
+
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-header bx-def-image-bg-header bx-def-color-bg-header bx-def-border-header bx-shadow-header bx-def-z-index-nav cd-main-header">
+        <div class="bx-toolbar-content-hgap bx-def-padding-sec-leftright bx-def-box-sizing">
+            <div class="bx-toolbar-content-wrapper bx-content-padding-header">
+                <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
+                    <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left">
+                        <!-- <a href="#0" class="cd-nav-trigger cd-dropdown-trigger">Menu<span></span></a> -->
+
+                        <bx_menu:sys_toolbar_site />
+                    </div>
+                    <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo">
+                        <bx_injection:injection_logo_before />
+                            __main_logo__
+                        <bx_injection:injection_logo_after />
+                    </div>
+                    <div id="bx-menu-main-container" class="bx-toolbar-item bx-ti-menu bx-ti-stretcher">
+                        <bx_menu:sys_site />
+                    </div>
+                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right cd-nav">
+                        <bx_menu:sys_toolbar_member />
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content bx-def-page-width bx-def-centered">
+        <div class="bx-main-column narrow">
+            <div class="bx-menu-toolbar-padding">
+                <div class="bx-main-column-cnt bx-def-padding-topbottom">
+                    <bx_menu:sys_site_panel />
+                </div>
+            </div>
+        </div>
+        <div class="bx-main-column wide">
+            <div class="cd-main-content-wrp">
+                <div class="cd-main-content bx-clearfix">
+                    <div class="content-wrapper-wrp">
+                        <div class="content-wrapper bx-def-box-sizing">
+                            <bx_injection:injection_between_cover_logo />
+                            __cover__
+                            <bx_injection:injection_between_cover_top_menu />
+                            <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+                                <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-color-bg-sec">
+                                    <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                                        <bx_injection:injection_top_menu_before />
+                                        <bx_menu:sys_site_submenu />
+                                        <bx_injection:injection_top_menu_after />
+                                    </div>
+                                </div>
+                            </div>
+                            <bx_injection:injection_between_content_menu />
+                            <div id="bx-content-wrapper" class="bx-content-wrapper">
+                                __informer__
+                                <div class="bx-page-wrapper bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+                                    <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right">
+                                        <div id="bx-content-main" class="bx-def-margin-sec-topbottom">
+                                            <bx_injection:injection_content_before />
+                                            __page_main_code__
+                                            <bx_injection:injection_content_after />
+                                            <div class="bx-clear"></div>
+                                            <bx_injection:banner_bottom />
+                                        </div> <!-- #bx-content-main -->
+                                        <bx_injection:injection_between_content_footer />
+                                    </div> <!-- #bx-content-container -->
+                                </div>
+                            </div> <!-- #bx-content-wrapper -->
+                        </div> <!-- .content-wrapper -->
+                    </div> <!-- .content-wrapper-wrp -->
+                </div> <!-- .cd-main-content -->
+            </div> <!-- .cd-main-content-wrp -->
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+    <div id="bx-footer-wrapper" class="bx-footer-wrapper bx-def-image-bg-footer bx-def-color-bg-footer bx-def-border-footer bx-shadow-footer">    
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+            <div id="bx-footer" class="bx-footer bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
+                <div class="bx-footer-cnt bx-content-padding-footer">
+                    <bx_injection:injection_footer_before />
+                    <div id="bx-menu-bottom" class="bx-def-margin-sec-top-auto">
+                        <bx_menu:sys_footer />
+                    </div>
+                    <bx_injection:injection_footer_after />
+                </div>
+            </div>
+        </div>
+    </div>
+    <bx_menu:sys_site_action />
+</div>
+<bx_include_auto:_footer.html />

+ 21 - 0
modules/boonex/lucid/data/template/system/scripts/BxTemplMenuPanel.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaTemplate UNA Template Classes
+ * @{
+ */
+
+/**
+ * @see BxDolMenu
+ */
+class BxTemplMenuPanel extends BxBaseMenuPanel
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 9 - 1
modules/boonex/ocean/data/template/system/_sub_header.html

@@ -36,7 +36,15 @@
 
 	<bx_injection:injection_between_cover_top_menu />
 
-        <bx_menu:sys_site_submenu />
+        <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+            <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+                <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                    <bx_injection:injection_top_menu_before />
+                    <bx_menu:sys_site_submenu />
+                    <bx_injection:injection_top_menu_after />
+                </div>
+            </div>
+        </div>
 
 	<bx_injection:injection_between_content_menu />
 

+ 73 - 0
modules/boonex/ocean/data/template/system/pt_application.html

@@ -0,0 +1,73 @@
+<bx_include_auto:_header.html />
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-header bx-def-z-index-nav bx-def-shadow">
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+            <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
+                <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left">
+                    <bx_menu:sys_toolbar_site />
+                </div>
+                <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo bx-ti-stretcher">
+                    <bx_injection:injection_logo_before />
+                        __main_logo__
+                    <bx_injection:injection_logo_after />
+                </div>
+                <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right">
+                    <bx_menu:sys_toolbar_member />
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content bx-def-page-width bx-def-centered">
+        <div class="bx-main-column narrow">
+            <div class="bx-menu-toolbar-padding">
+                <div class="bx-main-column-cnt bx-def-padding-topbottom">
+                    <bx_menu:sys_site_panel />
+                </div>
+            </div>
+        </div>
+        <div class="bx-main-column wide">
+            <bx_injection:injection_between_cover_logo />
+            __cover__
+            <bx_injection:injection_between_cover_top_menu />
+            <div class="bx-menu-main-bar-gap bx-def-centered bx-def-padding-leftright bx-def-page-width bx-def-box-sizing __site_submenu_hidden__">
+                <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+                    <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                        <bx_injection:injection_top_menu_before />
+                        <bx_menu:sys_site_submenu />
+                        <bx_injection:injection_top_menu_after />
+                    </div>
+                </div>
+            </div>
+            <bx_injection:injection_between_content_menu />
+            <div id="bx-content-wrapper">
+                __informer__
+                <div class="bx-page-wrapper bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+                    <div id="bx-content-container" class="bx-def-padding-sec-leftright">
+                        <div id="bx-content-main" class="bx-def-margin-sec-topbottom">
+                            <bx_injection:injection_content_before />
+                            __page_main_code__
+                            <bx_injection:injection_content_after />
+                            <div class="bx-clear"></div>
+                            <bx_injection:banner_bottom />
+                        </div> <!-- #bx-content-main -->
+                        <bx_injection:injection_between_content_footer />
+                    </div> <!-- #bx-content-container -->
+                </div>
+            </div> <!-- #bx-content-wrapper -->
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+    <div id="bx-footer-wrapper">
+        <div class="bx-def-centered bx-def-padding-topbottom bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+            <div id="bx-footer" class="bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
+                <bx_injection:injection_footer_before />
+                <div id="bx-menu-bottom">
+                    <bx_menu:sys_footer />
+                </div>
+                <bx_injection:injection_footer_after />
+            </div>
+        </div>
+    </div>
+    <bx_menu:sys_site_action />
+</div>
+<bx_include_auto:_footer.html />

+ 21 - 0
modules/boonex/ocean/data/template/system/scripts/BxTemplMenuPanel.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaTemplate UNA Template Classes
+ * @{
+ */
+
+/**
+ * @see BxDolMenu
+ */
+class BxTemplMenuPanel extends BxBaseMenuPanel
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 13
modules/boonex/protean/data/template/system/_sub_header.html

@@ -6,20 +6,20 @@
     <div id="bx-toolbar" class="bx-header bx-def-image-bg-header bx-def-color-bg-header bx-def-border-header bx-shadow-header bx-def-z-index-nav">
         <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
             <div class="bx-toolbar-content-wrapper bx-content-padding-header">
-                    <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
-                        <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left">
-                            <bx_menu:sys_toolbar_site />
-                        </div>
-                        <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo bx-ti-stretcher">
-                            <bx_injection:injection_logo_before />
-                                __main_logo__
-                            <bx_injection:injection_logo_after />
-                        </div>
-                        <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right">
-                            <bx_menu:sys_toolbar_member />
-                        </div>
+                <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
+                    <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left">
+                        <bx_menu:sys_toolbar_site />
                     </div>
+                    <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo bx-ti-stretcher">
+                        <bx_injection:injection_logo_before />
+                            __main_logo__
+                        <bx_injection:injection_logo_after />
                     </div>
+                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right">
+                        <bx_menu:sys_toolbar_member />
+                    </div>
+                </div>
+            </div>
         </div>
     </div>
 
@@ -27,7 +27,15 @@
     __cover__
     <bx_injection:injection_between_cover_top_menu />
 
-    <bx_menu:sys_site_submenu />
+    <div class="bx-menu-main-bar-gap bx-def-page-width bx-def-centered bx-def-padding-leftright bx-def-box-sizing __site_submenu_hidden__">
+        <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+            <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                <bx_injection:injection_top_menu_before />
+                <bx_menu:sys_site_submenu />
+                <bx_injection:injection_top_menu_after />
+            </div>
+        </div>
+    </div>
 
     <bx_injection:injection_between_content_menu />
 

+ 79 - 0
modules/boonex/protean/data/template/system/pt_application.html

@@ -0,0 +1,79 @@
+<bx_include_auto:_header.html />
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-header bx-def-image-bg-header bx-def-color-bg-header bx-def-border-header bx-shadow-header bx-def-z-index-nav">
+        <div class="bx-def-page-width bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+            <div class="bx-toolbar-content-wrapper bx-content-padding-header">
+                <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
+                    <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left">
+                        <bx_menu:sys_toolbar_site />
+                    </div>
+                    <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo bx-ti-stretcher">
+                        <bx_injection:injection_logo_before />
+                            __main_logo__
+                        <bx_injection:injection_logo_after />
+                    </div>
+                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right">
+                        <bx_menu:sys_toolbar_member />
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content bx-def-page-width bx-def-centered">
+        <div class="bx-main-column narrow">
+            <div class="bx-menu-toolbar-padding">
+                <div class="bx-main-column-cnt bx-def-padding-topbottom">
+                    <bx_menu:sys_site_panel />
+                </div>
+            </div>
+        </div>
+        <div class="bx-main-column wide">
+            <bx_injection:injection_between_cover_logo />
+            __cover__
+            <bx_injection:injection_between_cover_top_menu />
+            <div class="bx-menu-main-bar-gap bx-def-padding-leftright bx-def-box-sizing __site_submenu_hidden__">
+                <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper bx-def-round-corners bx-def-color-bg-sec">
+                    <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__">
+                        <bx_injection:injection_top_menu_before />
+                        <bx_menu:sys_site_submenu />
+                        <bx_injection:injection_top_menu_after />
+                    </div>
+                </div>
+            </div>
+            <bx_injection:injection_between_content_menu />
+            <div id="bx-content-wrapper">
+                __informer__
+                <div class="bx-page-wrapper bx-def-padding-sec-leftright bx-def-box-sizing">
+                    <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right">
+                        <div id="bx-content-main" class="bx-def-margin-top">
+                            <bx_injection:injection_content_before />
+                            __page_main_code__
+                            <bx_injection:injection_content_after />
+                            <div class="bx-clear"></div>
+                            <bx_injection:banner_bottom />
+                        </div> <!-- #bx-content-main -->
+                        <bx_injection:injection_between_content_footer />
+                    </div> <!-- #bx-content-container -->
+                </div>
+            </div> <!-- #bx-content-wrapper -->
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+    <div id="bx-footer-wrapper" class="bx-def-image-bg-footer bx-def-color-bg-footer bx-def-border-footer bx-shadow-footer">	
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+            <div id="bx-footer" class="bx-footer bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
+                <div class="bx-footer-cnt bx-content-padding-footer">
+                    <bx_injection:injection_footer_before />
+
+                    <div id="bx-menu-bottom">
+                        <bx_menu:sys_footer />
+                    </div>
+
+                    <bx_injection:injection_footer_after />
+                </div>
+            </div>
+        </div>
+    </div>
+    <bx_menu:sys_site_action />
+</div>
+<bx_include_auto:_footer.html />

+ 21 - 0
modules/boonex/protean/data/template/system/scripts/BxTemplMenuPanel.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaTemplate UNA Template Classes
+ * @{
+ */
+
+/**
+ * @see BxDolMenu
+ */
+class BxTemplMenuPanel extends BxBaseMenuPanel
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 61 - 49
modules/boonex/russian/data/langs/system/ru.xml

@@ -585,7 +585,7 @@
 	<string name="_adm_bp_txt_page_title"><![CDATA[Заголовок]]></string>
 	<string name="_adm_bp_txt_page_title_system"><![CDATA[Системное имя]]></string>
 	<string name="_adm_bp_txt_page_type_id"><![CDATA[Тип]]></string>
-	<string name="_adm_bp_dsc_page_type_id"><![CDATA[Способ отображения страницы]]></string>
+	<string name="_adm_bp_dsc_page_type_id"><![CDATA[Способ отображения страницы. Значение по умолчанию может быть изменено в Студия -> Дизайнер -> Настройки.]]></string>
 	<string name="_adm_bp_txt_page_uri"><![CDATA[URL]]></string>
 	<string name="_adm_bp_txt_page_url"><![CDATA[Ссылка]]></string>
 	<string name="_adm_bp_txt_page_visible_for_levels"><![CDATA[Выбрать уровни]]></string>
@@ -1238,8 +1238,9 @@
         <string name="_adm_nav_txt_block_hidden_on_tablet"><![CDATA[планшете]]></string>
         <string name="_adm_nav_txt_block_hidden_on_desktop"><![CDATA[настольном компьютере]]></string>
         <string name="_adm_nav_txt_block_hidden_on_mobile"><![CDATA[мобильное приложение]]></string>
-  <string name="_adm_page_cpt_audit"><![CDATA[Аудит]]></string>
-  <string name="_adm_page_cpt_badges"><![CDATA[Бейджи]]></string>
+        <string name="_adm_nav_txt_block_hidden_on_pt"><![CDATA[Скрыть на страницах типа]]></string>
+        <string name="_adm_page_cpt_audit"><![CDATA[Аудит]]></string>
+        <string name="_adm_page_cpt_badges"><![CDATA[Бейджи]]></string>
 	<string name="_adm_page_cpt_builder_forms"><![CDATA[Формы]]></string>
 	<string name="_adm_page_cpt_builder_menus"><![CDATA[Навигация]]></string>
 	<string name="_adm_page_cpt_builder_mobile"><![CDATA[Мобильный построитель]]></string>
@@ -1487,10 +1488,10 @@
 	<string name="_adm_stg_cpt_option_sys_account_confirmation_type"><![CDATA[Аккаунт подтвержден когда]]></string>
     <string name="_adm_stg_cpt_option_sys_account_hide_unconfirmed_accounts"><![CDATA[Скрывать профили у неподтвержденных аккаунтов]]></string>
 	<string name="_adm_stg_cpt_option_sys_account_2fa_enable"><![CDATA[Включить двухфакторную аутентификацию]]></string>
-  <string name="_adm_stg_cpt_option_sys_account_2fa_lifetime"><![CDATA[Срок жизни 2FA кода, в секундах (0 - отправлять код при каждой авторизации)]]></string>
+    <string name="_adm_stg_cpt_option_sys_account_2fa_lifetime"><![CDATA[Срок жизни 2FA кода, в секундах (0 - отправлять код при каждой авторизации)]]></string>
     <string name="_adm_stg_cpt_option_sys_account_autoapproval"><![CDATA[Автоматическая активация аккаунта после создания]]></string>
     <string name="_adm_stg_cpt_option_sys_account_auto_profile_creation"><![CDATA[Автоматическое создание профайла из аккаунта]]></string>
-	<string name="_adm_stg_cpt_option_sys_account_online_time"><![CDATA[Временные рамки статуса "онлайн" (минуты)]]></string>
+    <string name="_adm_stg_cpt_option_sys_account_online_time"><![CDATA[Временные рамки статуса "онлайн" (минуты)]]></string>
     <string name="_adm_stg_err_option_sys_account_online_time"><![CDATA[Вам необходимо ввести значение больше нуля.]]></string>
     <string name="_adm_stg_cpt_option_sys_account_default_profile_type"><![CDATA[Тип профиля по умолчанию]]></string>
     <string name="_adm_stg_cpt_option_sys_account_limit_profiles_number"><![CDATA[Ограничить число профилей (0 - без ограничений)]]></string>
@@ -1505,34 +1506,36 @@
     <string name="_adm_stg_cpt_option_sys_account_disable_login_form"><![CDATA[Скрыть форму авторизации]]></string>
     <string name="_adm_stg_cpt_option_sys_account_disable_join_form"><![CDATA[Скрыть форму регистрации]]></string>
     <string name="_adm_stg_cpt_option_sys_allow_plus_in_email"><![CDATA[Разрешить использование знака плюс ("+") в адресе электронной почты]]></string> 
-	<string name="_adm_stg_cpt_option_sys_acl_expire_notification_days"><![CDATA[За сколько дней до окончания членства оповестить пользователя об окончании (-1 = после окончания)]]></string>
-	<string name="_adm_stg_cpt_option_sys_acl_expire_notify_once"><![CDATA[Оповещать пользователей об окончании членства только одинажды (каждый день в противном случае)]]></string>
-	<string name="_adm_stg_cpt_option_sys_add_nofollow"><![CDATA[Добавить атрибут "nofollow" для внешних ссылок]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_enable"><![CDATA[Активно]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_max_records"><![CDATA[Количество записей в логе]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_days_before_expire"><![CDATA[Удалять записи в логе старше, чем (дней)]]></string>
-  <string name="_adm_stg_cpt_option_sys_audit_acl_levels"><![CDATA[Активно для уровней]]></string>
-	<string name="_adm_stg_cpt_option_sys_autoupdate_force_modified_files"><![CDATA[Инициировать автообновление, даже если какие-то файлы были модифицированы]]></string>
-	<string name="_adm_stg_cpt_option_sys_autoupdate"><![CDATA[Включить автообновление]]></string>
-	<string name="_adm_stg_cpt_option_sys_cache_memcache_host"><![CDATA[Memcached - адрес сервера]]></string>
-	<string name="_adm_stg_cpt_option_sys_cache_memcache_port"><![CDATA[Memcached - порт сервера]]></string>
-	<string name="_adm_stg_cpt_option_sys_captcha_default"><![CDATA[CAPTCHA по умолчанию]]></string>
-	<string name="_adm_stg_cpt_option_sys_email_attachable_email_templates"><![CDATA[Список присоединяемых email темплейтов]]></string>
-	<string name="_adm_stg_cpt_option_sys_db_cache_enable"><![CDATA[Задействовать кэш БД]]></string>
-	<string name="_adm_stg_cpt_option_sys_db_cache_engine"><![CDATA[Кэш-движок для БД (значение, отличное от File, может потребовать дополнительной настройки сервера)]]></string>
-	<string name="_adm_stg_cpt_option_sys_default_payment"><![CDATA[Модуль оплаты]]></string>
-	<string name="_adm_stg_cpt_option_sys_editor_default"><![CDATA[HTML редактор по умолчанию]]></string>
-	<string name="_adm_stg_cpt_option_sys_player_default"><![CDATA[Плеер по умолчанию]]></string>
-	<string name="_adm_stg_cpt_option_sys_player_default_quality"><![CDATA[Качество видео по умолчанию]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_date"><![CDATA[Формат даты]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_datetime"><![CDATA[Формат даты и времени]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_time"><![CDATA[Формат времени]]></string>
-	<string name="_adm_stg_cpt_option_sys_format_timeago"><![CDATA[Использовать формат 'времени назад' для дат, меньших чем данное количество секунд]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_dir"><![CDATA[Путь к скрипту на FTP-сервере]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_login"><![CDATA[FTP-сервер - Логин]]></string>
-	<string name="_adm_stg_cpt_option_sys_ftp_password"><![CDATA[FTP-сервер - Пароль]]></string>
-	<string name="_adm_stg_cpt_option_sys_cron_time"><![CDATA[Дата последнего запуска планировщика]]></string>
-	<string name="_adm_stg_cpt_option_sys_update_time"><![CDATA[Последнее обновление]]></string>
+    <string name="_adm_stg_cpt_option_sys_acl_expire_notification_days"><![CDATA[За сколько дней до окончания членства оповестить пользователя об окончании (-1 = после окончания)]]></string>
+    <string name="_adm_stg_cpt_option_sys_acl_expire_notify_once"><![CDATA[Оповещать пользователей об окончании членства только одинажды (каждый день в противном случае)]]></string>
+    <string name="_adm_stg_cpt_option_sys_add_nofollow"><![CDATA[Добавить атрибут "nofollow" для внешних ссылок]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_enable"><![CDATA[Активно]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_max_records"><![CDATA[Количество записей в логе]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_days_before_expire"><![CDATA[Удалять записи в логе старше, чем (дней)]]></string>
+    <string name="_adm_stg_cpt_option_sys_audit_acl_levels"><![CDATA[Активно для уровней]]></string>
+    <string name="_adm_stg_cpt_option_sys_autoupdate_force_modified_files"><![CDATA[Инициировать автообновление, даже если какие-то файлы были модифицированы]]></string>
+    <string name="_adm_stg_cpt_option_sys_autoupdate"><![CDATA[Включить автообновление]]></string>
+    <string name="_adm_stg_cpt_option_sys_cache_memcache_host"><![CDATA[Memcached - адрес сервера]]></string>
+    <string name="_adm_stg_cpt_option_sys_cache_memcache_port"><![CDATA[Memcached - порт сервера]]></string>
+    <string name="_adm_stg_cpt_option_sys_captcha_default"><![CDATA[CAPTCHA по умолчанию]]></string>
+    <string name="_adm_stg_cpt_option_sys_email_attachable_email_templates"><![CDATA[Список присоединяемых email темплейтов]]></string>
+    <string name="_adm_stg_cpt_option_sys_db_cache_enable"><![CDATA[Задействовать кэш БД]]></string>
+    <string name="_adm_stg_cpt_option_sys_db_cache_engine"><![CDATA[Кэш-движок для БД (значение, отличное от File, может потребовать дополнительной настройки сервера)]]></string>
+    <string name="_adm_stg_cpt_option_sys_default_payment"><![CDATA[Модуль оплаты]]></string>
+    <string name="_adm_stg_cpt_option_sys_editor_default"><![CDATA[HTML редактор по умолчанию]]></string>
+    <string name="_adm_stg_cpt_option_sys_player_default"><![CDATA[Плеер по умолчанию]]></string>
+    <string name="_adm_stg_cpt_option_sys_player_default_quality"><![CDATA[Качество видео по умолчанию]]></string>
+    <string name="_adm_stg_cpt_option_sys_pt_default_visitor"><![CDATA[Тип страницы, используемый по умолчанию для посетителя]]></string>
+    <string name="_adm_stg_cpt_option_sys_pt_default_member"><![CDATA[Тип страницы, используемый по умолчанию для пользователя]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_date"><![CDATA[Формат даты]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_datetime"><![CDATA[Формат даты и времени]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_time"><![CDATA[Формат времени]]></string>
+    <string name="_adm_stg_cpt_option_sys_format_timeago"><![CDATA[Использовать формат 'времени назад' для дат, меньших чем данное количество секунд]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_dir"><![CDATA[Путь к скрипту на FTP-сервере]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_login"><![CDATA[FTP-сервер - Логин]]></string>
+    <string name="_adm_stg_cpt_option_sys_ftp_password"><![CDATA[FTP-сервер - Пароль]]></string>
+    <string name="_adm_stg_cpt_option_sys_cron_time"><![CDATA[Дата последнего запуска планировщика]]></string>
+    <string name="_adm_stg_cpt_option_sys_update_time"><![CDATA[Последнее обновление]]></string>
     <string name="_adm_stg_cpt_option_sys_upgrade_channel"><![CDATA[Канал обновлений]]></string>
     <string name="_adm_stg_cpt_option_sys_live_updates_interval"><![CDATA[Интервал обновлений (в миллисекундах)]]></string>
     <string name="_adm_stg_cpt_option_sys_location_field_default"><![CDATA[Поставщик для поля ввода адреса]]></string>
@@ -2793,6 +2796,7 @@
     <string name="_sys_menu_item_title_system_account_settings_info"><![CDATA[Аккаунт]]></string>
     <string name="_sys_menu_item_title_system_account_settings_pwd"><![CDATA[Пароль]]></string>
     <string name="_sys_menu_item_title_system_add_content"><![CDATA[Добавить Содержимое]]></string>
+    <string name="_sys_menu_item_title_system_apps"><![CDATA[Приложения]]></string>
     <string name="_sys_menu_item_title_system_cart"><![CDATA[Корзина]]></string>
     <string name="_sys_menu_item_title_system_cmts_administration"><![CDATA[Комментарии]]></string>
     <string name="_sys_menu_item_title_system_audit_administration"><![CDATA[Аудит]]></string>
@@ -2812,7 +2816,10 @@
     <string name="_sys_menu_item_title_system_invoices"><![CDATA[Счета]]></string>
     <string name="_sys_menu_item_title_system_login"><![CDATA[Вход]]></string>
     <string name="_sys_menu_item_title_system_logout"><![CDATA[Выйти]]></string>
-    <string name="_sys_menu_item_title_system_main_menu"><![CDATA[Главное Меню]]></string>
+    <string name="_sys_menu_item_title_system_main_menu"><![CDATA[Главное меню]]></string>
+    <string name="_sys_menu_item_title_system_member_avatar"><![CDATA[Аватар пользователя]]></string>
+    <string name="_sys_menu_item_title_system_member_followings"><![CDATA[Отслеживаемые контексты пользователя]]></string>
+    <string name="_sys_menu_item_title_system_member_menu"><![CDATA[Меню пользователя]]></string>
     <string name="_sys_menu_item_title_system_more"><![CDATA[Ещё]]></string>
     <string name="_sys_menu_item_title_system_more_auto"><![CDATA[Ещё]]></string>
     <string name="_sys_menu_item_title_system_orders"><![CDATA[Заказы]]></string>
@@ -2890,6 +2897,7 @@
         <string name="_sys_menu_set_title_profile_followings"><![CDATA[Отслеживаемые контексты]]></string>
 	<string name="_sys_menu_set_title_profile_stats"><![CDATA[Профиль - Статистика]]></string>
 	<string name="_sys_menu_set_title_site"><![CDATA[Сайт]]></string>
+        <string name="_sys_menu_set_title_panel"><![CDATA[Панель]]></string>
 	<string name="_sys_menu_set_title_homepage"><![CDATA[Модули с содержимым]]></string>
 	<string name="_sys_menu_set_title_toolbar_member"><![CDATA[Панель инструментов - Пользователь]]></string>
 	<string name="_sys_menu_set_title_toolbar_site"><![CDATA[Панель инструментов - Сайт]]></string>
@@ -2914,6 +2922,7 @@
         <string name="_sys_menu_template_title_main"><![CDATA[Навигация по сайту - Меню]]></string>
 	<string name="_sys_menu_template_title_main_submenu"><![CDATA[Навигация по сайту - Подменю]]></string>
         <string name="_sys_menu_template_title_main_submenu_more_auto"><![CDATA[Навигация по сайту - Подменю (перестраиваемое)]]></string>
+        <string name="_sys_menu_template_title_panel"><![CDATA[Панель сайта - Меню]]></string>
 	<string name="_sys_menu_template_title_toolbar"><![CDATA[Панель инструментов - Кнопки]]></string>
 	<string name="_sys_menu_template_title_ver"><![CDATA[Вертикальные ссылки]]></string>
 	<string name="_sys_menu_template_title_ver_lite"><![CDATA[Вертикальные ссылки (облегчённые)]]></string>
@@ -2950,20 +2959,21 @@
 	<string name="_sys_menu_title_profile_stats"><![CDATA[Профиль - Статистика]]></string>
 	<string name="_sys_menu_title_rss"><![CDATA[RSS]]></string>
 	<string name="_sys_menu_title_set_acl_level"><![CDATA[Уровни доступа]]></string>
-  <string name="_sys_menu_title_set_badges"><![CDATA[Бейджи]]></string>
-	<string name="_sys_menu_title_social_sharing"><![CDATA[Социальные сети]]></string>
-  <string name="_sys_menu_title_create_post"><![CDATA[Создать пост - Меню]]></string>
-  <string name="_sys_menu_title_dashboard_content_manage"><![CDATA[Панель - Управление контентом]]></string>
-  <string name="_sys_menu_title_dashboard_reports_manage"><![CDATA[Панель - Управление жалобами]]></string>
+    <string name="_sys_menu_title_set_badges"><![CDATA[Бейджи]]></string>
+    <string name="_sys_menu_title_social_sharing"><![CDATA[Социальные сети]]></string>
+    <string name="_sys_menu_title_create_post"><![CDATA[Создать пост - Меню]]></string>
+    <string name="_sys_menu_title_dashboard_content_manage"><![CDATA[Панель - Управление контентом]]></string>
+    <string name="_sys_menu_title_dashboard_reports_manage"><![CDATA[Панель - Управление жалобами]]></string>
 
-  <string name="_sys_menu_title_add_relation"><![CDATA[Добавить связь - Меню]]></string>
-	<string name="_sys_menu_title_submenu"><![CDATA[Подменю сайта]]></string>
-	<string name="_sys_menu_title_toolbar_member"><![CDATA[Панель инструментов - Пользователь]]></string>
-	<string name="_sys_menu_title_toolbar_site"><![CDATA[Панель инструментов - Сайт]]></string>
-	<string name="_sys_menu_title_switch_language_popup"><![CDATA[Переключатель языка (попап)]]></string>
-	<string name="_sys_menu_title_switch_language_inline"><![CDATA[Переключатель языка (встроенный)]]></string>
-	<string name="_sys_menu_title_switch_template"><![CDATA[Переключить тему]]></string>
-	<string name="_sys_menu_title_snippet_meta"><![CDATA[Мета информация в карточке]]></string>
+    <string name="_sys_menu_title_add_relation"><![CDATA[Добавить связь - Меню]]></string>
+    <string name="_sys_menu_title_panel"><![CDATA[Панель сайта]]></string>
+    <string name="_sys_menu_title_submenu"><![CDATA[Подменю сайта]]></string>
+    <string name="_sys_menu_title_toolbar_member"><![CDATA[Панель инструментов - Пользователь]]></string>
+    <string name="_sys_menu_title_toolbar_site"><![CDATA[Панель инструментов - Сайт]]></string>
+    <string name="_sys_menu_title_switch_language_popup"><![CDATA[Переключатель языка (попап)]]></string>
+    <string name="_sys_menu_title_switch_language_inline"><![CDATA[Переключатель языка (встроенный)]]></string>
+    <string name="_sys_menu_title_switch_template"><![CDATA[Переключить тему]]></string>
+    <string name="_sys_menu_title_snippet_meta"><![CDATA[Мета информация в карточке]]></string>
     <string name="_sys_menu_title_vote_reactions_do"><![CDATA[Отреагировать - Меню]]></string>
     <string name="_sys_menu_title_wiki"><![CDATA[Вики]]></string>
     <string name="_sys_menu_set_title_sys_wiki"><![CDATA[Вики]]></string>
@@ -3134,8 +3144,10 @@
 	<string name="_sys_page_title_unsubscribe_news"><![CDATA[Отписаться от новостей сайта]]></string>
 	<string name="_sys_page_title_unsubscribe_notifications"><![CDATA[Отписаться от уведомлений сайта]]></string>
 	<string name="_sys_page_title_studio_dashboard"><![CDATA[Студия - Панель]]></string>
-	<string name="_sys_page_type_default"><![CDATA[Стандартная]]></string>
-	<string name="_sys_page_type_default_wo_hf"><![CDATA[Без заголовка и основания]]></string>
+        <string name="_sys_page_type_application"><![CDATA[Приложение]]></string>
+	<string name="_sys_page_type_default"><![CDATA[Тип по умолчанию]]></string>
+        <string name="_sys_page_type_standard"><![CDATA[Стандартная]]></string>
+	<string name="_sys_page_type_wo_hf"><![CDATA[Без заголовка и основания]]></string>
 	<string name="_sys_paginate_info"><![CDATA[{0}-{1}]]></string>
 	<string name="_sys_paginate_view_all"><![CDATA[Просмотреть все]]></string>
 	<string name="_sys_please_select"><![CDATA[Пожалуйста, выберите...]]></string>

+ 1 - 0
studio/classes/BxDolStudioNavigationQuery.php

@@ -288,6 +288,7 @@ class BxDolStudioNavigationQuery extends BxDolDb
                 `tmi`.`copyable` AS `copyable`,
                 `tmi`.`editable` AS `editable`,
                 `tmi`.`hidden_on` AS `hidden_on`,
+                `tmi`.`hidden_on_pt` AS `hidden_on_pt`,
                 `tmi`.`order` AS `order`" . $sSelectClause . "
             FROM `sys_menu_items` AS `tmi` " . $sJoinClause . "
             WHERE 1 " . $sWhereClause . " " . $sGroupClause . " " . $sOrderClause . " " . $sLimitClause;

+ 20 - 0
studio/template/scripts/BxBaseStudioNavigationItems.php

@@ -719,6 +719,17 @@ class BxBaseStudioNavigationItems extends BxDolStudioNavigationItems
                         'pass' => 'Set',
                     )
                 ),
+                'hidden_on_pt' => array(
+                    'type' => 'select_multiple',
+                    'name' => 'hidden_on_pt',
+                    'caption' => _t('_adm_nav_txt_block_hidden_on_pt'),
+                    'info' => '',
+                    'value' => isset($aItem['hidden_on_pt']) ? (int)$aItem['hidden_on_pt'] : '',
+                    'values' => array(),
+                    'db' => array (
+                        'pass' => 'Set',
+                    )
+                ),
                 'icon' => array(
                     'type' => 'textarea',
                     'name' => 'icon',
@@ -811,6 +822,15 @@ class BxBaseStudioNavigationItems extends BxDolStudioNavigationItems
         asort($aForm['inputs']['submenu_object']['values']);
         $aForm['inputs']['submenu_object']['values'] = array_merge(array('' => _t('_adm_nav_txt_items_submenu_empty')), $aForm['inputs']['submenu_object']['values']);
 
+        $aPageTypes = BxDolPageQuery::getPageTypes();
+        foreach($aPageTypes as $aPageType) {
+            $iPageType = (int)$aPageType['id'];
+            if($iPageType == 1)
+                continue;
+
+            $aForm['inputs']['hidden_on_pt']['values'][$iPageType - 1] = _t($aPageType['title']);
+        }
+
         switch($sAction) {
             case 'add':
                 unset($aForm['inputs']['id']);

+ 11 - 5
template/_sub_header.html

@@ -31,14 +31,20 @@
 	    </div>
 	
 	</div>
-	
-	<bx_injection:injection_between_cover_logo />
 
-    __cover__
-	
+	<bx_injection:injection_between_cover_logo />
+        __cover__
 	<bx_injection:injection_between_cover_top_menu />
 
-        <bx_menu:sys_site_submenu />
+        <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper __site_submenu_hidden__">
+            <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__ bx-def-color-bg-sec">
+                <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+                    <bx_injection:injection_top_menu_before />
+                    <bx_menu:sys_site_submenu />
+                    <bx_injection:injection_top_menu_after />
+                </div>
+            </div>
+        </div>
 
 	<bx_injection:injection_between_content_menu />
 

+ 30 - 7
template/css/common.css

@@ -56,14 +56,37 @@ blockquote {
 }
 
 .bx-main {
-	position: relative;
-	display: -webkit-flex;
-	display: flex;
-	-webkit-flex-direction: column;
-	flex-direction: column;
+    position: relative;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-flex-direction: column;
+    flex-direction: column;
 
-	min-height: 100%;
-	min-height: 100vh;
+    min-height: 100%;
+    min-height: 100vh;
+}
+
+.bx-main-content {
+    position: relative;
+    display: -webkit-flex;
+    display: flex;
+}
+.bx-main-column.narrow {
+    -webkit-flex: 0 0 auto;
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+
+    width: 25%;
+}
+.bx-main-column.wide {
+    -webkit-flex: 1 1 auto;
+    -ms-flex: 1 1 auto;
+    flex: 1 1 auto;
+
+    width: 75%;
+}
+.bx-main-content .bx-main-column .bx-def-page-width {
+    width: 100%;
 }
 
 .bx-clear {

+ 6 - 0
template/css/general.css

@@ -168,6 +168,12 @@
     overflow-x: auto;
 }
 
+.bx-menu-main-bar-gap.bx-menu-main-bar-hidden,
+.bx-menu-main-bar-wrapper.bx-menu-main-bar-hidden,
+.bx-menu-main-bar.bx-menu-main-bar-hidden {
+    display: none;
+}
+
 
 /* --------------- content */
 

+ 7 - 0
template/menu_panel.html

@@ -0,0 +1,7 @@
+<div id="bx-menu-panel" class="bx-menu-panel bx-menu-object-__object__">
+    <bx_repeat:menu_items>
+        <div class="bx-menu-panel-item __class__ bx-def-padding-sec-topbottom">
+            <div class="bx-menu-panel-item-cnt bx-def-box bx-def-round-corners bx-def-color-bg-box">__item__</div>
+        </div>
+    </bx_repeat:menu_items>
+</div>

+ 72 - 0
template/pt_application.html

@@ -0,0 +1,72 @@
+<bx_include_auto:_header.html />
+<div class="bx-main bx-pt-application <bx_injection:injection_main_class />">
+    <bx_injection:top />
+    <div id="bx-toolbar" class="bx-main-toolbar bx-def-z-index-nav">
+        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+            <div id="bx-toolbar-content" class="bx-clearfix">
+                <div id="bx-menu-toolbar-1-container">
+                    <bx_menu:sys_toolbar_site />
+                </div>
+                <div id="bx-logo-container">
+                    <bx_injection:injection_logo_before />
+                    __main_logo__
+                    <bx_injection:injection_logo_after />
+                </div>
+                <div id="bx-menu-toolbar-2-container">
+                    <bx_menu:sys_toolbar_member />
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="bx-main-content">
+        <div class="bx-main-column narrow">
+            <div class="bx-menu-toolbar-padding">
+                <bx_menu:sys_site_panel />
+            </div>
+        </div>
+        <div class="bx-main-column wide">
+            <bx_injection:injection_between_cover_logo />
+            __cover__
+            <bx_injection:injection_between_cover_top_menu />
+            <div id="bx-menu-main-bar-wrapper" class="bx-menu-main-bar-wrapper __site_submenu_hidden__">
+                <div id="bx-menu-main-bar" class="bx-menu-main-bar __site_submenu_class__ bx-def-color-bg-sec">
+                    <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-box-sizing">
+                        <bx_injection:injection_top_menu_before />
+                        <bx_menu:sys_site_submenu />
+                        <bx_injection:injection_top_menu_after />
+                    </div>
+                </div>
+            </div>
+            <bx_injection:injection_between_content_menu />
+            <div id="bx-content-wrapper">
+                __informer__
+                <div class="bx-page-wrapper bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+                    <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right">
+                        <div id="bx-content-main" class="bx-def-margin-top">
+                            <bx_injection:injection_content_before />
+                            __page_main_code__
+                            <bx_injection:injection_content_after />
+                            <div class="bx-clear"></div>
+                            <bx_injection:banner_bottom />
+                        </div> <!-- #bx-content-main -->
+                        <bx_injection:injection_between_content_footer />
+                    </div> <!-- #bx-content-container -->
+                </div>
+            </div> <!-- #bx-content-wrapper -->
+            <div id="bx-footer-wrapper">
+                <hr class="bx-def-hr" />
+                <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
+                    <div id="bx-footer" class="bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
+                        <bx_injection:injection_footer_before />
+                        <div id="bx-menu-bottom">
+                            <bx_menu:sys_footer />
+                        </div>
+                        <bx_injection:injection_footer_after />
+                    </div>
+                </div>
+            </div>
+            <bx_menu:sys_site_action />
+        </div> <!-- .bx-main-column -->
+    </div> <!-- .bx-main-content -->
+</div>
+<bx_include_auto:_footer.html />

+ 1 - 0
template/pt_standard.html

@@ -0,0 +1 @@
+<bx_include_auto:default.html />

+ 1 - 0
template/pt_wo_hf.html

@@ -0,0 +1 @@
+<bx_include_auto:page_2.html />

+ 9 - 0
template/scripts/BxBaseMenu.php

@@ -16,6 +16,7 @@ require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
 class BxBaseMenu extends BxDolMenu
 {
     protected $_oTemplate;
+    protected $_iPageType; 
     protected $_aOptionalParams = array('target' => '', 'onclick' => '');
     protected $_bDisplayAddons = false;
 
@@ -27,6 +28,8 @@ class BxBaseMenu extends BxDolMenu
             $this->_oTemplate = $oTemplate;
         else
             $this->_oTemplate = BxDolTemplate::getInstance();
+
+        $this->_iPageType = false;
     }
 
     public function getDisplayAddons()
@@ -50,6 +53,9 @@ class BxBaseMenu extends BxDolMenu
         $sMenuTitle = isset($this->_aObject['title']) ? _t($this->_aObject['title']) : 'Menu-' . rand(0, PHP_INT_MAX);
         if (isset($GLOBALS['bx_profiler'])) $GLOBALS['bx_profiler']->beginMenu($sMenuTitle);
 
+        if(!$this->_iPageType)
+            $this->_iPageType = BxDolTemplate::getInstance()->getPageType();
+
         $s = '';
         $aVars = $this->_getTemplateVars ();
         if (!empty($aVars['bx_repeat:menu_items'])) {
@@ -157,6 +163,9 @@ class BxBaseMenu extends BxDolMenu
         if (isset($a['visible_for_levels']) && !$this->_isVisible($a))
             return false;
 
+        if($this->_iPageType && !empty($a['hidden_on_pt']) && ((1 << ($this->_iPageType - 2)) & (int)$a['hidden_on_pt']))
+            return false;
+
         $a['title'] = _t($a['title']);
         $a['bx_if:title'] = array(
             'condition' => !empty($a['title']),

+ 72 - 0
template/scripts/BxBaseMenuPanel.php

@@ -0,0 +1,72 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaBaseView UNA Base Representation Classes
+ * @{
+ */
+
+/**
+ * Menu representation.
+ * @see BxDolMenu
+ */
+class BxBaseMenuPanel extends BxTemplMenu
+{
+    public function __construct ($aObject, $oTemplate)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+
+    protected function _getMenuItem ($aItem)
+    {
+        $aHiddenOn = array(
+            pow(2, BX_DB_HIDDEN_PHONE - 1) => 'bx-def-media-phone-hide',
+            pow(2, BX_DB_HIDDEN_TABLET - 1) => 'bx-def-media-tablet-hide',
+            pow(2, BX_DB_HIDDEN_DESKTOP - 1) => 'bx-def-media-desktop-hide',
+            pow(2, BX_DB_HIDDEN_MOBILE - 1) => 'bx-def-mobile-app-hide'
+        );
+
+        if(isset($aItem['active']) && !$aItem['active'])
+            return false;
+
+        if(isset($aItem['visible_for_levels']) && !$this->_isVisible($aItem))
+            return false;
+
+        $sMethod = '_getMenuItemContent' . str_replace(' ', '', ucwords(str_replace(['-', '_'], [' ', ' '], $aItem['name'])));
+        if(method_exists($this, $sMethod))
+            $sTmplItem = $this->$sMethod($aItem);
+        else
+            $sTmplItem = $this->_getMenuItemContent($aItem);
+
+        if(!$sTmplItem)
+            return false;
+
+        $sTmplClass = '';
+        if(!empty($aItem['hidden_on']))
+            foreach($aHiddenOn as $iHiddenOn => $sClass)
+                if((int)$aItem['hidden_on'] & $iHiddenOn)
+                    $sTmplClass .= ' ' . $sClass;
+
+        return [
+            'class' => trim($sTmplClass),
+            'item' => $sTmplItem
+        ];
+    }
+
+    protected function _getMenuItemContent($aItem)
+    {
+        $oSubmenu = null;
+        if(empty($aItem['submenu_object']) || ($oSubmenu = BxDolMenu::getObjectInstance($aItem['submenu_object'])) === false)
+            return false;
+
+        return $oSubmenu->getCode();
+    }
+
+    protected function _getMenuItemContentMemberAvatar($aItem)
+    {
+        return bx_srv('system', 'profile_avatar', [], 'TemplServiceProfiles');
+    }
+}
+
+/** @} */

+ 31 - 26
template/scripts/BxBaseMenuSubmenu.php

@@ -16,8 +16,8 @@ class BxBaseMenuSubmenu extends BxTemplMenu
     protected $_aSocialSharingService = false;
     protected $_sObjectActionsMenu = false;
     protected $_sObjectSubmenu = false;
+    protected $_oObjectSubmenu = null;
     protected $_mixedMainMenuItemSelected = false;
-    protected $_sTemplateWrapper = 'menu_main_submenu_bar.html';
 
     protected $_sJsObject;
 
@@ -32,6 +32,21 @@ class BxBaseMenuSubmenu extends BxTemplMenu
         $this->_iContentId = 0;
     }
 
+    public function isVisible()
+    {
+        if((int)$this->_aObject['active'] == 0)
+            return false;
+
+        $aMenuItemSelected = $this->getSelectedMenuItem();
+        if(isset($aMenuItemSelected['set_name']) && $aMenuItemSelected['set_name'] == 'sys_site' && $aMenuItemSelected['name'] == 'home')
+            return false;
+
+        if(!$this->_oObjectSubmenu || !$this->_oObjectSubmenu->isVisible())
+            return false;
+        
+        return true;
+    }
+
     public function setContentId($iContentId)
     {
         $this->_iContentId = $iContentId;
@@ -54,6 +69,8 @@ class BxBaseMenuSubmenu extends BxTemplMenu
     public function setObjectSubmenu ($sMenuObject, $sForceMainMenuSelection = false)
     {
         $this->_sObjectSubmenu = $sMenuObject;
+        $this->_oObjectSubmenu = BxDolMenu::getObjectInstance($this->_sObjectSubmenu);
+
         $this->_mixedMainMenuItemSelected = $sForceMainMenuSelection;
     }
 
@@ -94,49 +111,37 @@ class BxBaseMenuSubmenu extends BxTemplMenu
     }
 
     /**
-     * Get template wrapper
-     * @return template wrapper
+     * Get class
+     * @return class
      */
-    public function getTemplateWrapper ()
+    public function getClass ()
     {
-        return $this->_sTemplateWrapper;
+        return $this->isVisible() && $this->_oObjectSubmenu->getTemplateId() == BX_MENU_TEMPLATE_SUBMENU_MORE_AUTO ? 'bx-menu-more-auto' : '';
     }
     
     /**
-     * Set template wrapper
-     * @param $s template wrapper
+     * Get class
+     * @return class
      */
-    public function setTemplateWrapper ($s)
+    public function getClassHidden ()
     {
-        $this->_sTemplateWrapper = $s;
+        return !$this->isVisible() ? 'bx-menu-main-bar-hidden' : '';
     }
-    
+
     /**
      * Get menu code.
      * @return string
      */
     public function getCode ()
     {
-        $aMenuItemSelected = $this->getSelectedMenuItem ();
-        if(isset($aMenuItemSelected['set_name']) && 'sys_site' == $aMenuItemSelected['set_name'] && 'home' == $aMenuItemSelected['name'])
-            return '';
-
-        $oMenuSubmenu = BxDolMenu::getObjectInstance($this->_sObjectSubmenu);
-        if(!$oMenuSubmenu || !$oMenuSubmenu->isVisible())
+        if(!$this->isVisible())
             return '';
 
-        if(!empty($this->_iContentId) && method_exists($oMenuSubmenu, 'setContentId'))
-            $oMenuSubmenu->setContentId($this->_iContentId);
-
-        $sCode = $oMenuSubmenu->getCode();
-        if(empty($sCode))
-            return '';
+        if(!empty($this->_iContentId) && method_exists($this->_oObjectSubmenu, 'setContentId'))
+            $this->_oObjectSubmenu->setContentId($this->_iContentId);
 
         $this->_addJsCss();
-        return $this->_oTemplate->parseHtmlByName($this->_sTemplateWrapper, array(
-            'class' => $oMenuSubmenu->getTemplateId() == BX_MENU_TEMPLATE_SUBMENU_MORE_AUTO ? 'bx-menu-more-auto' : '',
-            'code' => $sCode
-        ));
+        return $this->_oObjectSubmenu->getCode();
     }
 
     public function getPageCoverParams ()

+ 1 - 2
template/scripts/BxBaseServices.php

@@ -698,8 +698,7 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
     public function serviceGetSiteSubmenu()
     {
         $oMenu = BxDolMenu::getObjectInstance('sys_site_submenu');
-        $oMenu->setTemplateWrapper('menu_main_submenu_empty.html');
-        return $oMenu ? $oMenu->getCode () : '';
+        return $oMenu ? $oMenu->getCode() : '';
     }
     
     /**

+ 15 - 0
template/scripts/BxBaseTemplateServices.php

@@ -17,6 +17,21 @@ class BxBaseTemplateServices extends BxDol
         parent::__construct();
     }
 
+    public function serviceGetPageTypes()
+    {
+        $aTypes = BxDolPageQuery::getPageTypes();
+
+        $aResult = [];
+        foreach($aTypes as $aType)
+            if($aType['id'] != BX_PAGE_TYPE_DEFAULT)
+                $aResult[] = [
+                    'key' => $aType['id'], 
+                    'value' => _t($aType['title'])
+                ];
+
+        return $aResult;
+    }
+
     public function serviceGetTemplates($bEnabledOnly = true, $bShortInfo = true)
     {
         $aValues = get_templates_array($bEnabledOnly, $bShortInfo);