Sfoglia il codice sorgente

Ticket #642 - Template itself.

AntonLV 9 anni fa
parent
commit
e44d72663e
100 ha cambiato i file con 3908 aggiunte e 0 eliminazioni
  1. 26 0
      modules/boonex/decorous/classes/BxDecorousConfig.php
  2. 25 0
      modules/boonex/decorous/classes/BxDecorousDb.php
  3. 28 0
      modules/boonex/decorous/classes/BxDecorousModule.php
  4. 73 0
      modules/boonex/decorous/classes/BxDecorousStudioPage.php
  5. 23 0
      modules/boonex/decorous/classes/BxDecorousTemplate.php
  6. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPage.php
  7. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPageUploaderHTML5.php
  8. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPageUploaderSimple.php
  9. 20 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioConfig.php
  10. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDashboard.php
  11. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesign.php
  12. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesignServices.php
  13. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesigner.php
  14. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesigns.php
  15. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormView.php
  16. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioForms.php
  17. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsDisplays.php
  18. 124 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsField.php
  19. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsFields.php
  20. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsForms.php
  21. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsPreLists.php
  22. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsPreValues.php
  23. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFunctions.php
  24. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGrid.php
  25. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGridNavigation.php
  26. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGridStorages.php
  27. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLanguage.php
  28. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLanguages.php
  29. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLauncher.php
  30. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioMenu.php
  31. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioMenuTop.php
  32. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioModule.php
  33. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioModules.php
  34. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigation.php
  35. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationImport.php
  36. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationItems.php
  37. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationMenus.php
  38. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationSets.php
  39. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPage.php
  40. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissions.php
  41. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissionsActions.php
  42. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissionsLevels.php
  43. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglot.php
  44. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglotEtemplates.php
  45. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglotKeys.php
  46. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettings.php
  47. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettingsServices.php
  48. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettingsUploaderHTML5.php
  49. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStorages.php
  50. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStoragesFiles.php
  51. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStoragesImages.php
  52. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStore.php
  53. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioUploaderCropCover.php
  54. 19 0
      modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioWidgets.php
  55. 120 0
      modules/boonex/decorous/data/template/system/_header.html
  56. 52 0
      modules/boonex/decorous/data/template/system/_sub_footer.html
  57. 53 0
      modules/boonex/decorous/data/template/system/_sub_header.html
  58. 18 0
      modules/boonex/decorous/data/template/system/css/account.css
  59. 5 0
      modules/boonex/decorous/data/template/system/css/auth.css
  60. 802 0
      modules/boonex/decorous/data/template/system/css/default.less
  61. 2 0
      modules/boonex/decorous/data/template/system/css/editor.less
  62. 452 0
      modules/boonex/decorous/data/template/system/css/general.css
  63. 5 0
      modules/boonex/decorous/data/template/system/css/homepage.css
  64. 7 0
      modules/boonex/decorous/data/template/system/css/media-phone.css
  65. 140 0
      modules/boonex/decorous/data/template/system/css/menu.css
  66. 7 0
      modules/boonex/decorous/data/template/system/designbox_1.html
  67. 7 0
      modules/boonex/decorous/data/template/system/designbox_11.html
  68. 7 0
      modules/boonex/decorous/data/template/system/designbox_13.html
  69. 7 0
      modules/boonex/decorous/data/template/system/designbox_14.html
  70. 7 0
      modules/boonex/decorous/data/template/system/designbox_3.html
  71. 7 0
      modules/boonex/decorous/data/template/system/designbox_4.html
  72. 10 0
      modules/boonex/decorous/data/template/system/menu_account_notifications.html
  73. 15 0
      modules/boonex/decorous/data/template/system/menu_account_popup.html
  74. 7 0
      modules/boonex/decorous/data/template/system/menu_toolbar.html
  75. 5 0
      modules/boonex/decorous/data/template/system/scripts/.htaccess
  76. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplAccountForms.php
  77. 20 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplAcl.php
  78. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplAclServices.php
  79. 17 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCalendar.php
  80. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCaptchaReCAPTCHA.php
  81. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCaptchaReCAPTCHANew.php
  82. 17 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCategory.php
  83. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmts.php
  84. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsForm.php
  85. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsMenuActions.php
  86. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsMenuManage.php
  87. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsServices.php
  88. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsUploaderSimple.php
  89. 466 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplConfig.php
  90. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplCover.php
  91. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplEditorTinyMCE.php
  92. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFavorite.php
  93. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFeature.php
  94. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerCodeViewer.php
  95. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerGoogleViewer.php
  96. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerImagesViewer.php
  97. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerMsViewer.php
  98. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFormAccount.php
  99. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFormConfirmEmail.php
  100. 21 0
      modules/boonex/decorous/data/template/system/scripts/BxTemplFormForgotPassword.php

+ 26 - 0
modules/boonex/decorous/classes/BxDecorousConfig.php

@@ -0,0 +1,26 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Decorous Decorous template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+bx_import('BxBaseModTemplateConfig');
+
+class BxDecorousConfig extends BxBaseModTemplateConfig
+{
+    function __construct($aModule)
+    {
+        parent::__construct($aModule);
+
+        $this->_aPrefixes = array(
+        	'option' => 'bx_decorous_'
+        );
+    }
+}
+
+/** @} */

+ 25 - 0
modules/boonex/decorous/classes/BxDecorousDb.php

@@ -0,0 +1,25 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Decorous Decorous template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+bx_import('BxBaseModGeneralDb');
+
+/*
+ * Module database queries
+ */
+class BxDecorousDb extends BxBaseModGeneralDb
+{
+    function __construct(&$oConfig)
+    {
+        parent::__construct($oConfig);
+    }
+}
+
+/** @} */

+ 28 - 0
modules/boonex/decorous/classes/BxDecorousModule.php

@@ -0,0 +1,28 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Decorous Decorous template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+bx_import ('BxBaseModTemplateModule');
+
+class BxDecorousModule extends BxBaseModTemplateModule
+{
+    function __construct(&$aModule)
+    {
+        parent::__construct($aModule);
+    }
+
+	function serviceIncludeCssJs()
+    {
+    	$sCss = trim(getParam($this->_oConfig->getName() . '_styles_custom'));
+        return !empty($sCss) ? $this->_oTemplate->_wrapInTagCssCode($sCss) : '';
+    }
+}
+
+/** @} */

+ 73 - 0
modules/boonex/decorous/classes/BxDecorousStudioPage.php

@@ -0,0 +1,73 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Decorous Decorous template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+define('BX_DECOROUS_STUDIO_TEMPL_TYPE_STYLES', 'styles');
+
+class BxDecorousStudioPage extends BxTemplStudioDesign
+{
+    function __construct($sModule = "", $sPage = "")
+    {
+    	$this->MODULE = 'bx_decorous';
+        parent::__construct($sModule, $sPage);
+
+        $this->aMenuItems[BX_DECOROUS_STUDIO_TEMPL_TYPE_STYLES] = array('caption' => '_bx_decorous_lmi_cpt_styles', 'icon' => 'paint-brush');
+        unset($this->aMenuItems[BX_DOL_STUDIO_TEMPL_TYPE_LOGO]);
+    }
+
+    protected function getSettings($mixedCategory = '', $sMix = '')
+    {
+    	return parent::getSettings('bx_decorous_system', $sMix);
+    }
+
+	protected function getStyles($sMix = '')
+    {
+    	$oTemplate = BxDolStudioTemplate::getInstance();
+
+    	$sPrefix = $this->MODULE;
+    	$aCategories = array(
+    		$sPrefix . '_styles_general',
+			$sPrefix . '_styles_header',
+			$sPrefix . '_styles_footer',
+			$sPrefix . '_styles_body',
+			$sPrefix . '_styles_cover',
+			$sPrefix . '_styles_block',
+			$sPrefix . '_styles_card',
+			$sPrefix . '_styles_popup',
+			$sPrefix . '_styles_menu_main',
+			$sPrefix . '_styles_menu_account',
+			$sPrefix . '_styles_menu_add',
+			$sPrefix . '_styles_menu_page',
+			$sPrefix . '_styles_menu_slide',
+			$sPrefix . '_styles_form',
+			$sPrefix . '_styles_large_button',
+			$sPrefix . '_styles_small_button',
+			$sPrefix . '_styles_font',
+			$sPrefix . '_styles_custom',
+			$sPrefix . '_viewport_tablet',
+			$sPrefix . '_viewport_mobile'
+		);
+    	$oPage = new BxTemplStudioSettings($this->sTemplate, $aCategories, $sMix);
+    	$oPage->enableReadOnly(true);
+    	$oPage->enableMixes(true);
+
+    	$oTemplate->addJs(array('codemirror/codemirror.min.js'));
+        $oTemplate->addCss(BX_DIRECTORY_PATH_PLUGINS_PUBLIC . 'codemirror/|codemirror.css');
+
+        return BxDolStudioTemplate::getInstance()->parseHtmlByName('design.html', array(
+            'content' => $oPage->getPageCode(),
+        	'js_content' => $this->getPageJsCode(array(
+				"sCodeMirror" => "textarea[name='" . $sPrefix . "_styles_custom']"
+			))
+        ));
+    }
+}
+
+/** @} */

+ 23 - 0
modules/boonex/decorous/classes/BxDecorousTemplate.php

@@ -0,0 +1,23 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Decorous Decorous template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+bx_import('BxBaseModGeneralTemplate');
+
+class BxDecorousTemplate extends BxBaseModGeneralTemplate
+{
+    function __construct(&$oConfig, &$oDb)
+    {
+        $this->MODULE = 'bx_decorous';
+        parent::__construct($oConfig, $oDb);
+    }
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPage.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioBuilderPage extends BxBaseStudioBuilderPage
+{
+    function __construct($sType = '', $sPage = '')
+    {
+        parent::__construct($sType, $sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPageUploaderHTML5.php

@@ -0,0 +1,19 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+
+class BxTemplStudioBuilderPageUploaderHTML5 extends BxBaseStudioBuilderPageUploaderHTML5
+{
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
+    {
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
+    }
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioBuilderPageUploaderSimple.php

@@ -0,0 +1,19 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+
+class BxTemplStudioBuilderPageUploaderSimple extends BxBaseStudioBuilderPageUploaderSimple
+{
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
+    {
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
+    }
+}
+
+/** @} */

+ 20 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioConfig.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioConfig extends BxBaseStudioConfig
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDashboard.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioDashboard extends BxBaseStudioDashboard
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesign.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioDesign extends BxBaseStudioDesign
+{
+    function __construct($sTemplate = "", $sPage = "")
+    {
+        parent::__construct($sTemplate, $sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesignServices.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioDesignServices extends BxBaseStudioDesignServices
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesigner.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioDesigner extends BxBaseStudioDesigner
+{
+    function __construct($sPage = '')
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioDesigns.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioDesigns extends BxBaseStudioDesigns
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormView.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormView extends BxBaseStudioFormView
+{
+    function __construct($aInfo, $oTemplate = false)
+    {
+        parent::__construct($aInfo, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioForms.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioForms extends BxBaseStudioForms
+{
+    function __construct($sPage = '')
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsDisplays.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsDisplays extends BxBaseStudioFormsDisplays
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 124 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsField.php

@@ -0,0 +1,124 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsField extends BxBaseStudioFormsField
+{
+}
+
+class BxTemplStudioFormsFieldBlockHeader extends BxBaseStudioFormsFieldBlockHeader
+{
+}
+
+class BxTemplStudioFormsFieldValue extends BxBaseStudioFormsFieldValue
+{
+}
+
+class BxTemplStudioFormsFieldText extends BxBaseStudioFormsFieldText
+{
+}
+
+class BxTemplStudioFormsFieldPassword extends BxBaseStudioFormsFieldPassword
+{
+}
+
+class BxTemplStudioFormsFieldTextarea extends BxBaseStudioFormsFieldTextarea
+{
+}
+
+class BxTemplStudioFormsFieldNumber extends BxBaseStudioFormsFieldNumber
+{
+}
+
+class BxTemplStudioFormsFieldDatepicker extends BxBaseStudioFormsFieldDatepicker
+{
+}
+
+class BxTemplStudioFormsFieldDatetime extends BxBaseStudioFormsFieldDatetime
+{
+}
+
+class BxTemplStudioFormsFieldCheckbox extends BxBaseStudioFormsFieldCheckbox
+{
+}
+
+class BxTemplStudioFormsFieldSwitcher extends BxBaseStudioFormsFieldSwitcher
+{
+}
+
+class BxTemplStudioFormsFieldFile extends BxBaseStudioFormsFieldFile
+{
+}
+
+class BxTemplStudioFormsFieldFiles extends BxBaseStudioFormsFieldFiles
+{
+}
+
+class BxTemplStudioFormsFieldSlider extends BxBaseStudioFormsFieldSlider
+{
+}
+
+class BxTemplStudioFormsFieldDoublerange extends BxBaseStudioFormsFieldDoublerange
+{
+}
+
+class BxTemplStudioFormsFieldHidden extends BxBaseStudioFormsFieldHidden
+{
+}
+
+class BxTemplStudioFormsFieldButton extends BxBaseStudioFormsFieldButton
+{
+}
+
+class BxTemplStudioFormsFieldReset extends BxBaseStudioFormsFieldReset
+{
+}
+
+class BxTemplStudioFormsFieldSubmit extends BxBaseStudioFormsFieldSubmit
+{
+}
+
+class BxTemplStudioFormsFieldImage extends BxBaseStudioFormsFieldImage
+{
+}
+
+class BxTemplStudioFormsFieldSelect extends BxBaseStudioFormsFieldSelect
+{
+}
+
+class BxTemplStudioFormsFieldSelectMultiple extends BxBaseStudioFormsFieldSelectMultiple
+{
+}
+
+class BxTemplStudioFormsFieldCheckboxSet extends BxBaseStudioFormsFieldCheckboxSet
+{
+}
+
+class BxTemplStudioFormsFieldRadioSet extends BxBaseStudioFormsFieldRadioSet
+{
+}
+
+class BxTemplStudioFormsFieldCustom extends BxBaseStudioFormsFieldCustom
+{
+}
+
+class BxTemplStudioFormsFieldInputSet extends BxBaseStudioFormsFieldInputSet
+{
+}
+
+class BxTemplStudioFormsFieldCaptcha extends BxBaseStudioFormsFieldCaptcha
+{
+}
+
+class BxTemplStudioFormsFieldLocation extends BxBaseStudioFormsFieldLocation
+{
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsFields.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsFields extends BxBaseStudioFormsFields
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsForms.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsForms extends BxBaseStudioFormsForms
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsPreLists.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsPreLists extends BxBaseStudioFormsPreLists
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFormsPreValues.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFormsPreValues extends BxBaseStudioFormsPreValues
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioFunctions.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioFunctions extends BxBaseStudioFunctions
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGrid.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioGrid extends BxBaseStudioGrid
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGridNavigation.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioGridNavigation extends BxBaseStudioGridNavigation
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioGridStorages.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioGridStorages extends BxBaseStudioGridStorages
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLanguage.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioLanguage extends BxBaseStudioLanguage
+{
+    function __construct($sLanguage="", $sPage = "")
+    {
+        parent::__construct($sLanguage, $sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLanguages.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioLanguages extends BxBaseStudioLanguages
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioLauncher.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioLauncher extends BxBaseStudioLauncher
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioMenu.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioMenu extends BxBaseStudioMenu
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioMenuTop.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioMenuTop extends BxBaseStudioMenuTop
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioModule.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioModule extends BxBaseStudioModule
+{
+    function __construct($sModule = "", $sPage = "")
+    {
+        parent::__construct($sModule, $sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioModules.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioModules extends BxBaseStudioModules
+{
+    function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigation.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioNavigation extends BxBaseStudioNavigation
+{
+    function __construct($sPage = '')
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationImport.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioNavigationImport extends BxBaseStudioNavigationImport
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationItems.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioNavigationItems extends BxBaseStudioNavigationItems
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationMenus.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioNavigationMenus extends BxBaseStudioNavigationMenus
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioNavigationSets.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioNavigationSets extends BxBaseStudioNavigationSets
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPage.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPage extends BxBaseStudioPage
+{
+    function __construct($mixedPageName)
+    {
+        parent::__construct($mixedPageName);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissions.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPermissions extends BxBaseStudioPermissions
+{
+    function __construct($sPage = '')
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissionsActions.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPermissionsActions extends BxBaseStudioPermissionsActions
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPermissionsLevels.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPermissionsLevels extends BxBaseStudioPermissionsLevels
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglot.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPolyglot extends BxBaseStudioPolyglot
+{
+    function __construct($sPage = '')
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglotEtemplates.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPolyglotEtemplates extends BxBaseStudioPolyglotEtemplates
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioPolyglotKeys.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioPolyglotKeys extends BxBaseStudioPolyglotKeys
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettings.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioSettings extends BxBaseStudioSettings
+{
+    function __construct($sType = '', $sCategory = '')
+    {
+        parent::__construct($sType, $sCategory);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettingsServices.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioSettingsServices extends BxBaseStudioSettingsServices
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioSettingsUploaderHTML5.php

@@ -0,0 +1,19 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+
+class BxTemplStudioSettingsUploaderHTML5 extends BxBaseStudioSettingsUploaderHTML5
+{
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
+    {
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
+    }
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStorages.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioStorages extends BxBaseStudioStorages
+{
+    function __construct($sType = '', $sPage = '')
+    {
+        parent::__construct($sType, $sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStoragesFiles.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioStoragesFiles extends BxBaseStudioStoragesFiles
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStoragesImages.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioStoragesImages extends BxBaseStudioStoragesImages
+{
+    function __construct($aOptions, $oTemplate = false)
+    {
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioStore.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioStore extends BxBaseStudioStore
+{
+    function __construct($sPage = "")
+    {
+        parent::__construct($sPage);
+    }
+}
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioUploaderCropCover.php

@@ -0,0 +1,19 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+
+class BxTemplStudioUploaderCropCover extends BxBaseStudioUploaderCropCover
+{
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
+    {
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
+    }
+}
+
+/** @} */

+ 19 - 0
modules/boonex/decorous/data/template/studio/scripts/BxTemplStudioWidgets.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    UnaStudioView UNA Studio Representation classes
+ * @ingroup     UnaStudio
+ * @{
+ */
+defined('BX_DOL') or die('hack attempt');
+
+class BxTemplStudioWidgets extends BxBaseStudioWidgets
+{
+    function __construct($mixedPageName)
+    {
+        parent::__construct($mixedPageName);
+    }
+}
+/** @} */

+ 120 - 0
modules/boonex/decorous/data/template/system/_header.html

@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html lang="__lang__">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=__page_charset__" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
+    <title>__page_header__</title>
+    <base href="<bx_url_root />" />
+
+    __meta_info__
+    __page_robots__
+
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+
+    <bx_include_css_system />
+    <bx_include_css />
+
+    __dol_images__
+    __dol_lang__
+    __dol_options__
+
+    <bx_include_js_system />
+    <bx_include_js />
+    <script type="text/javascript" language="javascript">
+
+        var sUrlRoot = '<bx_url_root />';
+
+        var aSpinnerOpts = {
+            lines: 7, // The number of lines to draw
+            length: 0, // The length of each line
+            width: 8, // The line thickness
+            radius: 7, // The radius of the inner circle
+            corners: 1, // Corner roundness (0..1)
+            rotate: 0, // The rotation offset
+            direction: 1, // 1: clockwise, -1: counterclockwise
+            color: '#3a8686', // #rgb or #rrggbb or array of colors
+            speed: 1, // Rounds per second
+            trail: 60, // Afterglow percentage
+            shadow: false, // Whether to render a shadow
+            hwaccel: false, // Whether to use hardware acceleration
+            className: 'bx-sys-spinner', // The CSS class to assign to the spinner
+            zIndex: 2e9, // The z-index (defaults to 2000000000)
+            top: '50%', // Top position relative to parent in px
+            left: '50%' // Left position relative to parent in px
+        };
+
+        var aSpinnerSmallOpts = $.extend({}, aSpinnerOpts, {
+            lines: 6,
+            width: 6,
+            radius: 4,
+            color: '#333',
+            top: '50%',
+            left: 'calc(100% - 20px)'
+        });
+
+        $(document).ready(function () {
+            bx_time('__lang__');            
+
+            bx_activate_anim_icons('#3e8685');
+
+            // init Embed.ly support
+            $('a.bx-link-embed').dolEmbedly();
+
+            //responsive template
+            var mainContent = $('.cd-main-content'),
+                header = $('.cd-main-header'),
+                sidebar = $('.cd-side-nav'),
+                sidebarTrigger = $('.cd-nav-trigger');
+
+            //on window scrolling - fix sidebar nav
+            var scrolling = false;
+            checkScrollbarPosition();
+            $(window).on('scroll', function(){
+                if( !scrolling ) {
+                    (!window.requestAnimationFrame) ? setTimeout(checkScrollbarPosition, 300) : window.requestAnimationFrame(checkScrollbarPosition);
+                    scrolling = true;
+                }
+            });
+
+            //mobile only - open sidebar when user clicks the hamburger menu
+            sidebarTrigger.on('click', function(event){
+                event.preventDefault();
+                $([sidebar, sidebarTrigger]).toggleClass('nav-is-visible');
+            });
+
+            function checkMQ() {
+                //check if mobile or desktop device
+                return window.getComputedStyle(document.querySelector('.cd-main-content'), '::before').getPropertyValue('content').replace(/'/g, "").replace(/"/g, "");
+            }
+
+            function checkScrollbarPosition() {
+                var mq = checkMQ();
+                
+                if( mq != 'mobile' ) {
+                    var sidebarHeight = sidebar.outerHeight(),
+                        windowHeight = $(window).height(),
+                        mainContentHeight = mainContent.outerHeight(),
+                        scrollTop = $(window).scrollTop();
+
+                    ( ( scrollTop + windowHeight > sidebarHeight ) && ( mainContentHeight - sidebarHeight != 0 ) ) ? sidebar.addClass('is-fixed').css('bottom', 0) : sidebar.removeClass('is-fixed').attr('style', '');
+                }
+                scrolling = false;
+            }
+        });
+
+        (function(w) {
+            var dpr = (w.devicePixelRatio === undefined ? 1 : w.devicePixelRatio);
+            if ($.cookie('devicePixelRatio') == dpr || dpr < 2)
+                return;
+            $.cookie('devicePixelRatio', dpr, {expires: 365, path: '/'});
+            window.location.reload();
+        })(window);
+    </script>
+    __extra_js__
+
+    <bx_injection:injection_head />
+
+</head>
+
+<body class="bx-def-font bx-def-image-bg-page bx-def-color-bg-page" <bx_injection:injection_body /> >
+    <bx_injection:injection_header />    

+ 52 - 0
modules/boonex/decorous/data/template/system/_sub_footer.html

@@ -0,0 +1,52 @@
+						
+						                <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" 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>
+				                    <div id="bx-footer-copyright">
+				                        <i title="__copyright_attr__" class="sys-icon copyright"></i>
+				                    </div>
+				                    <div class="bx-clear"></div>
+				                    <div class="bx-menu-switch-language-inline bx-def-margin-sec-top">
+				                        <bx_menu:sys_switch_language_inline />
+				                    </div>
+				        
+				                    <bx_injection:injection_footer_after />
+				                </div>
+				            </div>
+				        </div>
+	                </div>
+	
+		        </div> <!-- .content-wrapper -->
+	
+	        </div> <!-- .content-wrapper-wrp -->
+	
+	    </div> <!-- .cd-main-content -->
+
+    </div> <!-- .cd-main-content-wrp -->
+
+	<bx_menu:sys_site_action />
+</div>
+
+<bx_include_auto:_footer.html />

+ 53 - 0
modules/boonex/decorous/data/template/system/_sub_header.html

@@ -0,0 +1,53 @@
+<bx_include_auto:_header.html />
+
+<div class="bx-main">
+
+	<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-clearfix">
+                    <a href="#0" class="cd-nav-trigger">Menu<span></span></a>
+                    <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" class="cd-nav">
+		                <bx_menu:sys_toolbar_member />
+		            </div>
+		        </div>
+			</div>
+	    </div>
+	</div>
+
+	<div class="cd-main-content-wrp">
+		<div class="cd-main-content bx-clearfix">
+	        <div class="cd-side-nav bx-def-box-sizing">
+	            <bx_menu:sys_site />
+	        </div>
+	        <div class="content-wrapper-wrp">
+		        <div class="content-wrapper">
+					<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 bx-def-color-bg-sec">
+					    <div id="bx-menu-main-bar" class="bx-menu-main-bar 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>
+					
+					<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">
+						        <bx_injection:injection_content_before />
+						        <div id="bx-content-main" class="bx-def-margin-top">

+ 18 - 0
modules/boonex/decorous/data/template/system/css/account.css

@@ -0,0 +1,18 @@
+@import url(../../../../../../../template/css/account.css);
+
+
+/*-- My Prpfiles: Switch Profile --*/
+.sys-profile-switch-row {
+    white-space: nowrap;
+}
+.sys-profile-switch-row.bx-def-color-bg-box {
+	background-color: transparent;
+}
+.sys-profile-switch-row.bx-def-margin-leftright-neg {
+	margin-left: 0px;
+	margin-right: 0px;
+}
+.sys-profile-switch-row.bx-def-padding-leftright {
+	padding-left: 0px;
+	padding-right: 0px;
+}

+ 5 - 0
modules/boonex/decorous/data/template/system/css/auth.css

@@ -0,0 +1,5 @@
+@import url(../../../../../../../template/css/auth.css);
+
+.sys-auth .bx-btn {
+    width: auto;
+}

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

@@ -0,0 +1,802 @@
+@import '../../../../../../../template/css/default.less';
+
+/* viewport */
+@media (min-width:720px) and (max-width:1024px) {
+	html {
+	    font-size: @bx-viewport-font-tablet !important;
+	}
+}
+@media (max-width:720px) {
+	html {
+	    font-size: @bx-viewport-font-mobile !important;
+	}
+}
+
+/* height */
+.bx-header {
+	height: @bx-height-header !important;
+}
+.cd-side-nav,
+.cd-main-content .content-wrapper {
+    padding-top: @bx-height-header;
+}
+
+
+/* content paddings */
+.bx-content-padding-header {
+	padding: @bx-content-padding-header;
+}
+.bx-content-padding-footer {
+	padding: @bx-content-padding-footer;
+}
+.bx-content-padding-block {
+	padding: @bx-content-padding-block;
+}
+
+#bx-logo {
+    margin-top:-@bx-content-padding-header;
+}
+
+/* shadow */
+.bx-shadow-header {
+	-webkit-box-shadow: @bx-shadow-header;
+	-moz-box-shadow: @bx-shadow-header;
+	box-shadow: @bx-shadow-header;
+}
+.bx-shadow-footer {
+	-webkit-box-shadow: @bx-shadow-footer;
+	-moz-box-shadow: @bx-shadow-footer;
+	box-shadow: @bx-shadow-footer;
+}
+.bx-shadow-block {
+	-webkit-box-shadow: @bx-shadow-block;
+	-moz-box-shadow: @bx-shadow-block;
+	box-shadow: @bx-shadow-block;
+}
+.bx-def-box {
+	-webkit-box-shadow: @bx-shadow-card;
+	-moz-box-shadow: @bx-shadow-card;
+	box-shadow: @bx-shadow-card;
+}
+.bx-popup-applied {
+	.radius(@bx-border-radius-popup);
+
+	-webkit-box-shadow: @bx-shadow-popup;
+	-moz-box-shadow: @bx-shadow-popup;
+	box-shadow: @bx-shadow-popup;
+}
+.bx-popup-wrapper.bx-popup-slide-wrapper {
+	-webkit-box-shadow: @bx-shadow-menu-slide;
+	-moz-box-shadow: @bx-shadow-menu-slide;
+	box-shadow: @bx-shadow-menu-slide;
+}
+.bx-btn {
+	-webkit-box-shadow: @bx-shadow-button;
+	-moz-box-shadow: @bx-shadow-button;
+	box-shadow: @bx-shadow-button;
+}
+.bx-btn.bx-btn-small {
+	-webkit-box-shadow: @bx-shadow-button-small;
+	-moz-box-shadow: @bx-shadow-button-small;
+	box-shadow: @bx-shadow-button-small;
+}
+
+
+/* background images */
+.bx-def-image-bg-header,
+.bx-def-image-bg-footer,
+.bx-def-image-bg-page,
+.bx-def-image-bg-block,
+.bx-def-box,
+.bx-popup-color-bg,
+.bx-popup-wrapper.bx-popup-slide-wrapper,
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main,
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main,
+#bx-sliding-menu-account.bx-sliding-menu-main,
+.bx-menu-main-bar-wrapper {
+    background-position: center center;
+}
+.bx-def-image-bg-header {
+	background-image: url(@bx-image-bg-header);
+	background-repeat: @bx-image-bg-header-repeat;
+    background-size: @bx-image-bg-header-size;
+}
+.bx-def-image-bg-footer {
+	background-image: url(@bx-image-bg-footer);
+	background-repeat: @bx-image-bg-footer-repeat;
+    background-size: @bx-image-bg-footer-size;
+}
+.bx-def-image-bg-page {
+	background-image: url(@bx-image-bg-page);
+	background-repeat: @bx-image-bg-page-repeat;
+    background-size: @bx-image-bg-page-size;
+}
+.bx-def-image-bg-block {
+	background-image: url(@bx-image-bg-block);
+	background-repeat: @bx-image-bg-block-repeat;
+    background-size: @bx-image-bg-block-size;
+}
+.bx-def-box {
+	background-image: url(@bx-image-bg-box);
+	background-repeat: @bx-image-bg-box-repeat;
+    background-size: @bx-image-bg-box-size;
+}
+
+/* body */
+a {
+	color: @bx-color-link-body; 
+}
+a:hover {
+	color: @bx-color-link-body-hover; 
+}
+.sys-icon,
+.sys-icon-a {
+	color: @bx-color-icon-body; 
+}
+a:hover > .sys-icon,
+a:hover > .sys-icon-a {
+	color: @bx-color-icon-body-hover; 
+}
+.sys-icon-a i {
+	.background-color (@bx-color-icon-body) !important;
+	color: @bx-color-icon-body;
+}
+a:hover > .sys-icon-a i {
+	.background-color (@bx-color-icon-body-hover) !important;
+	color: @bx-color-icon-body-hover;
+}
+
+/* header */
+.bx-header.bx-def-color-bg-header {
+    .background-color (@bx-color-header);
+}
+.bx-header.bx-def-border-header {
+    border-bottom-width: @bx-border-width-header;
+    border-bottom-style: @bx-border-type;
+    border-bottom-color: @bx-color-border-header;
+}
+.bx-header a {
+	color: @bx-color-link-header; 
+}
+.bx-header a:hover {
+	color: @bx-color-link-header-hover;
+}
+.bx-header .sys-icon,
+.bx-header .sys-icon-a {
+	color: @bx-color-icon-header; 
+}
+.bx-header a:hover .sys-icon,
+.bx-header a:hover .sys-icon-a {
+	color: @bx-color-icon-header-hover; 
+} 
+.bx-header .sys-icon-a i {
+	.background-color (@bx-color-icon-header) !important;
+	color: @bx-color-icon-header;
+}
+.bx-header a:hover .sys-icon-a i {
+	.background-color (@bx-color-icon-header-hover) !important;
+	color: @bx-color-icon-header-hover;
+}
+
+/* footer */
+.bx-footer-wrapper.bx-def-color-bg-footer {
+    .background-color (@bx-color-footer);    
+}
+.bx-footer-wrapper.bx-def-border-footer {
+    border-top-width: @bx-border-width-footer;
+    border-top-style: @bx-border-type;
+    border-top-color: @bx-color-border-footer;
+}
+
+.bx-footer {
+	color: @bx-font-color-footer;
+}
+.bx-footer a {
+	color: @bx-color-link-footer; 
+}
+.bx-footer a:hover {
+	color: @bx-color-link-footer-hover; 
+}
+.bx-footer .sys-icon,
+.bx-footer .sys-icon-a {
+	color: @bx-color-icon-footer; 
+}
+.bx-footer a:hover .sys-icon,
+.bx-footer a:hover .sys-icon-a {
+	color: @bx-color-icon-footer-hover; 
+}
+.bx-footer .sys-icon-a i {
+	.background-color (@bx-color-icon-footer) !important;
+	color: @bx-color-icon-footer;
+}
+.bx-footer a:hover .sys-icon-a i {
+	.background-color (@bx-color-icon-footer-hover) !important;
+	color: @bx-color-icon-footer-hover;
+}
+
+/* fonts */
+.bx-def-font-inputs {
+	font-family: @bx-font-family-form-input;
+	font-size: @bx-font-size-form-input;
+	color: @bx-font-color-form-input;
+}
+
+h1,
+.bx-def-font-h1 {
+	font-weight: @bx-font-weight-h1;
+	color: @bx-font-color-default-h1;
+}
+h1.bx-def-font-grayed,
+h1 .bx-def-font-grayed,
+.bx-def-font-h1.bx-def-font-grayed,
+.bx-def-font-h1 .bx-def-font-grayed {
+	color: @bx-font-color-grayed-h1;
+}
+h1.bx-def-font-contrasted,
+h1.bx-def-font-contrasted:after,
+h1.bx-def-font-contrasted:before,
+h1 .bx-def-font-contrasted,
+h1 .bx-def-font-contrasted:after,
+h1 .bx-def-font-contrasted:before,
+.bx-def-font-h1.bx-def-font-contrasted,
+.bx-def-font-h1.bx-def-font-contrasted:after,
+.bx-def-font-h1.bx-def-font-contrasted:before,
+.bx-def-font-h1 .bx-def-font-contrasted,
+.bx-def-font-h1 .bx-def-font-contrasted:after,
+.bx-def-font-h1 .bx-def-font-contrasted:before {
+	color: @bx-font-color-contrasted-h1;
+}
+h1 a,
+.bx-def-font-h1 a,
+a.bx-def-font-h1 {
+	color: @bx-font-color-link-h1;
+}
+h1 a:hover,
+.bx-def-font-h1 a:hover,
+a.bx-def-font-h1:hover {
+	color: @bx-font-color-link-h1-hover;
+}
+
+h2,
+.bx-def-font-h2 {
+	font-weight: @bx-font-weight-h2;
+	color: @bx-font-color-default-h2;
+}
+h2.bx-def-font-grayed,
+h2 .bx-def-font-grayed,
+.bx-def-font-h2.bx-def-font-grayed,
+.bx-def-font-h2 .bx-def-font-grayed {
+	color: @bx-font-color-grayed-h2;
+}
+h2.bx-def-font-contrasted,
+h2.bx-def-font-contrasted:after,
+h2.bx-def-font-contrasted:before,
+h2 .bx-def-font-contrasted,
+h2 .bx-def-font-contrasted:after,
+h2 .bx-def-font-contrasted:before,
+.bx-def-font-h2.bx-def-font-contrasted,
+.bx-def-font-h2.bx-def-font-contrasted:after,
+.bx-def-font-h2.bx-def-font-contrasted:before,
+.bx-def-font-h2 .bx-def-font-contrasted,
+.bx-def-font-h2 .bx-def-font-contrasted:after,
+.bx-def-font-h2 .bx-def-font-contrasted:before {
+	color: @bx-font-color-contrasted-h2;
+}
+h2 a,
+.bx-def-font-h2 a,
+a.bx-def-font-h2 {
+	color: @bx-font-color-link-h2;
+}
+h2 a:hover,
+.bx-def-font-h2 a:hover,
+a.bx-def-font-h2:hover {
+	color: @bx-font-color-link-h2-hover;
+}
+
+h3,
+.bx-def-font-h3 {
+	font-weight: @bx-font-weight-h3;
+	color: @bx-font-color-default-h3;
+}
+h3.bx-def-font-grayed,
+h3 .bx-def-font-grayed,
+.bx-def-font-h3.bx-def-font-grayed,
+.bx-def-font-h3 .bx-def-font-grayed {
+	color: @bx-font-color-grayed-h3;
+}
+h3.bx-def-font-contrasted,
+h3.bx-def-font-contrasted:after,
+h3.bx-def-font-contrasted:before,
+h3 .bx-def-font-contrasted,
+h3 .bx-def-font-contrasted:after,
+h3 .bx-def-font-contrasted:before,
+.bx-def-font-h3.bx-def-font-contrasted,
+.bx-def-font-h3.bx-def-font-contrasted:after,
+.bx-def-font-h3.bx-def-font-contrasted:before,
+.bx-def-font-h3 .bx-def-font-contrasted,
+.bx-def-font-h3 .bx-def-font-contrasted:after,
+.bx-def-font-h3 .bx-def-font-contrasted:before {
+	color: @bx-font-color-contrasted-h3;
+}
+h3 a,
+.bx-def-font-h3 a,
+a.bx-def-font-h3 {
+	color: @bx-font-color-link-h3;
+}
+h3 a:hover,
+.bx-def-font-h3 a:hover,
+a.bx-def-font-h3:hover {
+	color: @bx-font-color-link-h3-hover;
+}
+
+/* cover */
+.bx-menu-toolbar-padding,
+.bx-menu-toolbar-padding .bx-cover-wrapper {
+    background-color: @bx-color-cover;
+}
+
+.bx-menu-toolbar-padding .bx-cover-wrapper {
+    border-width: @bx-border-width-cover;
+    border-style: @bx-border-type;
+    border-color: @bx-color-border-cover;
+
+    .radius(@bx-border-radius-cover);
+
+    -webkit-box-shadow: @bx-shadow-cover;
+    -moz-box-shadow: @bx-shadow-cover;
+    box-shadow: @bx-shadow-cover;
+}
+.bx-cover-wrapper .bx-cover {
+    min-height: @bx-height-cover;
+}
+.bx-cover-wrapper .bx-cover,
+.bx-cover-wrapper .bx-cover .bx-cover-actions .bx-menu-btns-hor {
+    text-align: @bx-text-align-cover;
+}
+.bx-cover-wrapper .bx-cover.bx-def-padding {
+    padding: @bx-content-padding-cover;
+}
+.bx-cover-wrapper .bx-cover .bx-cover-image img {
+    border-width: @bx-border-width-cover-icon;
+    border-style: @bx-border-type;
+    border-color: @bx-color-border-cover-icon;
+
+    .radius(@bx-border-radius-cover-icon);
+
+    -webkit-box-shadow: @bx-shadow-cover-icon;
+    -moz-box-shadow: @bx-shadow-cover-icon;
+    box-shadow: @bx-shadow-cover-icon;
+}
+
+.bx-cover-wrapper .bx-cover .bx-cover-title {
+    text-shadow: @bx-shadow-text-cover;
+
+    font-family: @bx-font-family-cover;
+}
+.bx-cover-wrapper .bx-cover .bx-cover-title,
+.bx-cover-wrapper .bx-cover .bx-cover-title .bx-def-font-contrasted {
+    color: @bx-color-font-cover;
+}
+.bx-cover-wrapper .bx-cover .bx-cover-title,
+.bx-cover-wrapper .bx-cover .bx-cover-title.bx-def-font-h1 {
+    font-size: @bx-font-size-cover;
+    font-weight: @bx-font-weight-cover;
+}
+
+
+/* block */
+.bx-def-border-block {
+	border-width: @bx-border-width-block;
+	border-style: @bx-border-type;
+	border-color: @bx-color-border-block;
+
+	.radius(@bx-border-radius-block);
+}
+.bx-db-header {
+	padding: @bx-title-padding-block;
+
+	border-width: @bx-border-width-block-title;
+	border-style: solid;
+	border-color: @bx-color-border-block-title;
+
+	.radius(@bx-border-radius-block-title);
+
+	background-color: @bx-color-block-title;
+}
+.bx-db-header .bx-db-title {
+	font-family: @bx-font-family-block-title;
+	font-weight: @bx-font-weight-block-title;
+	color: @bx-color-font-block-title;
+}
+.bx-db-header .bx-db-title.bx-def-font-h2 {
+	font-size: @bx-font-size-block-title;
+}
+.bx-db-divider {
+	border-top:@bx-height-block-title-div @bx-border-type @bx-color-block-title-div;
+}
+
+
+/* box */
+.bx-def-box {
+	border-width: @bx-border-width-box;
+	border-style: @bx-border-type;
+	border-color: @bx-color-border-box;
+}
+.bx-def-box.bx-def-padding {
+	padding: @bx-content-padding-card;
+}
+.bx-def-box.bx-def-color-bg-box {
+	.background-color (@bx-color-box);
+}
+.bx-def-box.bx-def-round-corners {
+	.radius(@bx-border-radius-box);
+}
+
+/* popup */
+.bx-popup-border {
+	border-width: @bx-border-width-popup;
+	border-style: solid;
+	border-color: @bx-color-border-popup;
+
+	.radius(@bx-border-radius-popup);
+}
+.bx-popup-color-bg {
+	background-color: @bx-color-popup;
+
+	background-image: url(@bx-image-bg-popup);
+	background-repeat: @bx-image-bg-popup-repeat;
+    background-size: @bx-image-bg-popup-size;
+}
+.bx-popup-content-indent {
+	padding: @bx-content-padding-popup;
+}
+.bx-popup-header {
+	padding: @bx-title-padding-popup;
+}
+.bx-popup-header-color-bg {
+	background-color: @bx-color-popup-title;
+}
+.bx-popup-header h2 {
+	font-family: @bx-font-family-popup-title;
+	font-size: @bx-font-size-popup-title;
+}
+.bx-popup-header h2,
+.bx-popup-header.bx-def-font-contrasted h2 {
+	color: @bx-color-font-popup-title;
+}
+
+/* slide menu */
+.bx-popup-wrapper.bx-popup-slide-wrapper {
+	border-width: @bx-border-width-menu-slide;
+	border-style: solid;
+	border-color: @bx-color-border-menu-slide;
+
+	.background-color (@bx-color-menu-slide);
+
+	background-image: url(@bx-image-bg-menu-slide);
+	background-repeat: @bx-image-bg-menu-slide-repeat;
+    background-size: @bx-image-bg-menu-slide-size;
+}
+.bx-popup-wrapper.bx-popup-slide-wrapper.bx-def-padding {
+	padding: @bx-content-padding-menu-slide;
+}
+.bx-popup-wrapper.bx-popup-slide-wrapper li a {
+	text-shadow: @bx-shadow-font-menu-slide;
+
+	font-family: @bx-font-family-menu-slide;
+	font-size: @bx-font-size-menu-slide;
+	font-weight: @bx-font-weight-menu-slide;
+	color: @bx-font-color-menu-slide;
+}
+.bx-popup-wrapper.bx-popup-slide-wrapper li a:hover {
+	color: @bx-font-color-menu-slide-hover;
+}
+.bx-popup-wrapper.bx-popup-slide-wrapper li.bx-menu-tab-active a,
+.bx-popup-wrapper.bx-popup-slide-wrapper li.bx-menu-inter-act {
+	color: @bx-font-color-menu-slide-active;
+}
+
+/* main menu */
+.cd-main-content .cd-side-nav {
+	-webkit-box-shadow: @bx-shadow-menu-main;
+	-moz-box-shadow: @bx-shadow-menu-main;
+	box-shadow: @bx-shadow-menu-main;
+
+	border-width: @bx-border-width-menu-main;
+	border-style: solid;
+	border-color: @bx-color-border-menu-main;
+
+	background-color: @bx-color-menu-main;
+
+	background-image: url(@bx-image-bg-menu-main);
+	background-repeat: @bx-image-bg-menu-main-repeat;
+    background-size: @bx-image-bg-menu-main-size;
+}
+
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-sliding-menu-main-cnt {
+	padding: @bx-content-padding-menu-main;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-sliding-menu-main-cnt li a {
+	text-shadow: @bx-shadow-font-menu-main;
+
+	font-family: @bx-font-family-menu-main;
+	font-size: @bx-font-size-menu-main;
+	font-weight: @bx-font-weight-menu-main;
+	color: @bx-font-color-menu-main;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-sliding-menu-main-cnt li.bx-menu-tab-active a {
+	color: @bx-font-color-menu-main-active;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-sliding-menu-main-cnt li a:hover {
+	color: @bx-font-color-menu-main-hover;
+}
+
+
+/* account menu */
+#bx-sliding-menu-account.bx-sliding-menu-main {
+    -webkit-box-shadow: @bx-shadow-menu-account;
+    -moz-box-shadow: @bx-shadow-menu-account;
+    box-shadow: @bx-shadow-menu-account;
+
+    border-width: @bx-border-width-menu-account;
+    border-style: solid;
+    border-color: @bx-color-border-menu-account;
+
+    background-color: @bx-color-menu-account;
+
+    background-image: url(@bx-image-bg-menu-account);
+    background-repeat: @bx-image-bg-menu-account-repeat;
+    background-size: @bx-image-bg-menu-account-size;
+}
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt {
+    padding: @bx-content-padding-menu-account;
+}
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt,
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt .bx-def-font-h1,
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt .bx-def-font-h2,
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt a,
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-sliding-menu-main-cnt .sys-icon {
+    color: @bx-font-color-menu-account;
+}
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-menu-account-popup li a,
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-menu-account-popup li a .bx-menu-floating-blocks-title {
+    text-shadow: @bx-shadow-font-menu-account;
+
+    font-family: @bx-font-family-menu-account;
+    font-size: @bx-font-size-menu-account;
+    font-weight: @bx-font-weight-menu-account;
+}
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-menu-account-popup li.bx-menu-tab-active a {
+    color: @bx-font-color-menu-account-active;
+}
+#bx-sliding-menu-account.bx-sliding-menu-main .bx-menu-account-popup li a:hover {
+    color: @bx-font-color-menu-account-hover;
+}
+
+/* add menu */
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main {
+    -webkit-box-shadow: @bx-shadow-menu-add;
+    -moz-box-shadow: @bx-shadow-menu-add;
+    box-shadow: @bx-shadow-menu-add;
+
+    border-width: @bx-border-width-menu-add;
+    border-style: solid;
+    border-color: @bx-color-border-menu-add;
+
+    background-color: @bx-color-menu-add;
+
+    background-image: url(@bx-image-bg-menu-add);
+    background-repeat: @bx-image-bg-menu-add-repeat;
+    background-size: @bx-image-bg-menu-add-size;
+}
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main .bx-sliding-menu-main-cnt {
+    padding: @bx-content-padding-menu-add;
+}
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main .bx-sliding-menu-main-cnt li a {
+    text-shadow: @bx-shadow-font-menu-add;
+
+    font-family: @bx-font-family-menu-add;
+    font-size: @bx-font-size-menu-add;
+    font-weight: @bx-font-weight-menu-add;
+    color: @bx-font-color-menu-add;
+}
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main .bx-sliding-menu-main-cnt li.bx-menu-tab-active a {
+    color: @bx-font-color-menu-add-active;
+}
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main .bx-sliding-menu-main-cnt li a:hover {
+    color: @bx-font-color-menu-add-hover;
+}
+
+/* page menu */
+.bx-menu-main-bar-wrapper {
+	-webkit-box-shadow: @bx-shadow-menu-page;
+	-moz-box-shadow: @bx-shadow-menu-page;
+	box-shadow: @bx-shadow-menu-page;
+
+	border-width: @bx-border-width-menu-page;
+	border-style: solid;
+	border-color: @bx-color-border-menu-page;
+
+	background-color: @bx-color-menu-page;
+
+	background-image: url(@bx-image-bg-menu-page);
+	background-repeat: @bx-image-bg-menu-page-repeat;
+    background-size: @bx-image-bg-menu-page-size;
+}
+.bx-menu-main-bar-wrapper .bx-menu-main-submenu {
+	padding: @bx-content-padding-menu-page;
+}
+.bx-menu-main-bar-wrapper .bx-menu-main-submenu li a {
+	text-shadow: @bx-shadow-font-menu-page;
+
+	font-family: @bx-font-family-menu-page;
+	font-size: @bx-font-size-menu-page;
+	font-weight: @bx-font-weight-menu-page;
+	color: @bx-font-color-menu-page;
+}
+.bx-menu-main-bar-wrapper .bx-menu-main-submenu li a:hover {
+	color: @bx-font-color-menu-page-hover;
+}
+.bx-menu-main-bar-wrapper .bx-menu-main-submenu li.bx-menu-tab-active a {
+	color: @bx-font-color-menu-page-active;
+}
+
+/* form */
+.bx-form-value .bx-form-input-slider,
+.bx-form-value .bx-form-input-doublerange,
+.bx-form-value .bx-form-input-select_multiple,
+.bx-form-value .bx-form-input-select,
+.bx-form-value .bx-form-input-radio_set,
+.bx-form-value .bx-form-input-checkbox_set,
+.bx-form-value .bx-form-input-number,
+.bx-form-value .bx-form-input-datepicker,
+.bx-form-value .bx-form-input-datetime,
+.bx-form-value .bx-form-input-textarea,
+.bx-form-value .bx-form-input-password,
+.bx-form-value .bx-form-input-text {
+	border-color: @bx-color-border-form-input;
+	border-width: @bx-border-width-form-input;
+
+	background-color: @bx-color-form-input;
+
+	-webkit-box-shadow: @bx-shadow-form-input;
+	-moz-box-shadow: @bx-shadow-form-input;
+	box-shadow: @bx-shadow-form-input;
+}
+.bx-form-value .bx-form-input-slider,
+.bx-form-value .bx-form-input-doublerange,
+.bx-form-value .bx-form-input-select,
+.bx-form-value .bx-form-input-number,
+.bx-form-value .bx-form-input-datepicker,
+.bx-form-value .bx-form-input-datetime,
+.bx-form-value .bx-form-input-password,
+.bx-form-value .bx-form-input-text {
+	height: @bx-height-form-input;
+}
+.bx-form-value .bx-form-input-text.bx-form-input-autotoken b {
+    line-height: @bx-height-form-input;
+}
+.bx-form-value .bx-form-input-slider:focus,
+.bx-form-value .bx-form-input-doublerange:focus,
+.bx-form-value .bx-form-input-number:focus,
+.bx-form-value .bx-form-input-datepicker:focus,
+.bx-form-value .bx-form-input-datetime:focus,
+.bx-form-value .bx-form-input-textarea:focus,
+.bx-form-value .bx-form-input-password:focus,
+.bx-form-value .bx-form-input-text:focus {
+	border-color: @bx-color-border-form-input-active;
+	background-color: @bx-color-form-input-active;
+}
+.bx-form-value .bx-switcher-cont {
+	border-color: @bx-color-border-form-input;
+	border-width: @bx-border-width-form-input;
+
+	background-color: @bx-color-form-input;
+
+	-webkit-box-shadow: @bx-shadow-form-input;
+	-moz-box-shadow: @bx-shadow-form-input;
+	box-shadow: @bx-shadow-form-input;
+}
+
+/* button large */
+.bx-btn,
+.bx-btn.bx-btn-primary {
+	.box-sizing(content-box);
+
+	height: @bx-height-button;
+	line-height: @bx-height-button;
+
+	.background-color (@bx-color-button);
+
+	border-width: @bx-border-width-button;
+	border-style: solid;
+	border-color: @bx-color-border-button;
+
+	.radius(@bx-border-radius-button);
+
+	text-shadow: @bx-shadow-font-button;
+
+	font-family: @bx-font-family-button;
+	font-size: @bx-font-size-button;
+	font-weight: @bx-font-weight-button;
+	color: @bx-font-color-button;
+}
+.bx-btn-height {
+	height: @bx-height-button;
+	line-height: @bx-height-button;
+}
+.bx-btn-border {
+	border-width: @bx-border-width-button;
+	border-style: solid;
+	border-color: transparent;
+}
+.bx-btn:hover,
+.bx-btn:active,
+.bx-btn.bx-btn-primary:hover,
+.bx-btn.bx-btn-primary:active {
+	border-width: @bx-border-width-button;
+	border-style: solid;
+	border-color: @bx-color-border-button-hover;
+
+	.background-color (@bx-color-button-hover);
+
+	color: @bx-font-color-button-hover;
+}
+.bx-btn .sys-icon {
+	color: @bx-font-color-button;
+}
+.bx-btn:hover .sys-icon,
+.bx-btn:active .sys-icon,
+.bx-btn.bx-btn-primary:hover .sys-icon,
+.bx-btn.bx-btn-primary:active .sys-icon {
+	color: @bx-font-color-button-hover;
+}
+
+/* button small */
+.bx-btn.bx-btn-small {
+	.box-sizing(content-box);
+
+	height: @bx-height-button-small;
+	line-height: @bx-height-button-small;
+
+	.background-color (@bx-color-button-small);
+
+	border-width: @bx-border-width-button-small;
+	border-style: solid;
+	border-color: @bx-color-border-button-small;
+
+	.radius(@bx-border-radius-button-small);
+
+	text-shadow: @bx-shadow-font-button-small;
+
+	font-family: @bx-font-family-button-small;
+	font-size: @bx-font-size-button-small;
+	font-weight: @bx-font-weight-button-small;
+	color: @bx-font-color-button-small;
+}
+.bx-btn-small-height {
+	height: @bx-height-button-small;
+	line-height: @bx-height-button-small;
+}
+.bx-btn-small-border {
+	border-width: @bx-border-width-button-small;
+	border-style: solid;
+	border-color: transparent;
+}
+.bx-btn.bx-btn-small:hover,
+.bx-btn.bx-btn-small:active {
+	border-width: @bx-border-width-button-small;
+	border-style: solid;
+	border-color: @bx-color-border-button-small-hover;
+
+	.background-color (@bx-color-button-small-hover);
+
+	color: @bx-font-color-button-small-hover;
+}
+.bx-btn.bx-btn-small .sys-icon {
+	color: @bx-font-color-button-small;
+}
+.bx-btn.bx-btn-small:hover .sys-icon,
+.bx-btn.bx-btn-small:active .sys-icon {
+	color: @bx-font-color-button-small-hover;
+}

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

@@ -0,0 +1,2 @@
+@import 'default.less';
+@import '../../../../../../../template/css/editor.less';

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

@@ -0,0 +1,452 @@
+@import url(../../../../../../../template/css/general.css);
+
+
+/*--- Overwrite Defaults ---*/
+#bx-toolbar {
+	z-index: 500;
+}
+#bx-logo-container {
+    margin-left: 0px;
+    text-align: left;
+}
+#bx-footer-wrapper {
+	position: relative;
+}
+
+
+/*--- Main Page Content ---*/
+.cd-main-content-wrp {
+    overflow: hidden;
+    width: 100%;
+}
+.cd-main-content {
+	width: 200%;
+}
+.content-wrapper-wrp {
+	float: right;
+    position: relative;
+    width: 50%;	
+}
+.cd-main-content .content-wrapper {
+    position: relative;
+    right: 100%;
+}
+.cd-main-content .content-wrapper h1 {
+  text-align: center;
+  padding: 3em 0;
+  font-size: 2rem;
+}
+.cd-main-content::before {
+  /* never visible - used to check MQ in jQuery */
+  display: none;
+  content: 'mobile';
+}
+@media only screen and (min-width: 720px) {
+  .cd-main-content .content-wrapper {
+    margin-left: 110px;
+  }
+  .cd-main-content .content-wrapper h1 {
+    padding: 4em 0;
+    font-size: 3.2rem;
+    font-weight: 300;
+  }
+  .cd-main-content::before {
+    content: 'tablet';
+  }
+}
+@media only screen and (min-width: 1024px) {
+  .cd-main-content .content-wrapper {
+    margin-left: 200px;
+  }
+  .cd-main-content::before {
+    content: 'desktop';
+  }
+}
+
+/*--- Header ---*/
+.cd-main-header {
+  position: absolute;
+  z-index: 2;
+  top: 0;
+  left: 0;
+  height: 45px;
+  width: 100%;
+  background: #3e454c;
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.cd-main-header::after {
+  clear: both;
+  content: "";
+  display: table;
+}
+@media only screen and (min-width: 720px) {
+  .cd-main-header {
+    position: fixed;
+    height: 55px;
+  }
+}
+
+.cd-logo {
+  float: left;
+  display: block;
+  margin: 11px 0 0 5%;
+}
+.cd-logo img {
+  display: block;
+}
+@media only screen and (min-width: 720px) {
+  .cd-logo {
+    margin: 16px 0 0 36px;
+  }
+}
+
+.cd-nav-trigger {
+  /* navigation trigger - visible on mobile devices only */
+  position: absolute;
+  display: block;
+  top: 0px;
+  left: 0px;
+  width: 3rem;
+  height: 3rem;
+  margin-right: 0px;
+  /* hide text */
+  overflow: hidden;
+  white-space: nowrap;
+  color: transparent !important;
+}
+.cd-nav-trigger span, 
+.cd-nav-trigger span::before, 
+.cd-nav-trigger span::after {
+  /* hamburger icon in CSS */
+  position: absolute;
+  display: inline-block;
+  height: 3px;
+  width: 24px;
+  background: #ffffff;
+}
+.cd-nav-trigger span {
+  /* line in the center */
+  position: absolute;
+  top: 50%;
+  right: 5px;
+  margin-top: -2px;
+  -webkit-transition: background 0.2s;
+  -moz-transition: background 0.2s;
+  transition: background 0.2s;
+}
+.cd-nav-trigger span::before, 
+.cd-nav-trigger span::after {
+  /* other 2 lines */
+  content: '';
+  right: 0;
+  /* Force Hardware Acceleration in WebKit */
+  -webkit-transform: translateZ(0);
+  -moz-transform: translateZ(0);
+  -ms-transform: translateZ(0);
+  -o-transform: translateZ(0);
+  transform: translateZ(0);
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+  -webkit-transform-origin: 0% 50%;
+  -moz-transform-origin: 0% 50%;
+  -ms-transform-origin: 0% 50%;
+  -o-transform-origin: 0% 50%;
+  transform-origin: 0% 50%;
+  -webkit-transition: -webkit-transform 0.2s;
+  -moz-transition: -moz-transform 0.2s;
+  transition: transform 0.2s;
+}
+.cd-nav-trigger span::before {
+  /* menu icon top line */
+  top: -6px;
+}
+.cd-nav-trigger span::after {
+  /* menu icon bottom line */
+  top: 6px;
+}
+.cd-nav-trigger.nav-is-visible span {
+  /* hide line in the center */
+  background: rgba(255, 255, 255, 0);
+}
+.cd-nav-trigger.nav-is-visible span::before, .cd-nav-trigger.nav-is-visible span::after {
+  /* keep visible other 2 lines */
+  background: white;
+}
+.cd-nav-trigger.nav-is-visible span::before {
+  -webkit-transform: translateX(4px) translateY(-3px) rotate(45deg);
+  -moz-transform: translateX(4px) translateY(-3px) rotate(45deg);
+  -ms-transform: translateX(4px) translateY(-3px) rotate(45deg);
+  -o-transform: translateX(4px) translateY(-3px) rotate(45deg);
+  transform: translateX(4px) translateY(-3px) rotate(45deg);
+}
+.cd-nav-trigger.nav-is-visible span::after {
+  -webkit-transform: translateX(4px) translateY(2px) rotate(-45deg);
+  -moz-transform: translateX(4px) translateY(2px) rotate(-45deg);
+  -ms-transform: translateX(4px) translateY(2px) rotate(-45deg);
+  -o-transform: translateX(4px) translateY(2px) rotate(-45deg);
+  transform: translateX(4px) translateY(2px) rotate(-45deg);
+}
+@media only screen and (min-width: 720px) {
+  .cd-nav-trigger {
+    display: none;
+  }
+}
+
+
+/*--- Top Navigation ---*/
+@media only screen and (min-width: 720px) {
+  .cd-nav {
+    display: block;
+    float: right;
+    height: 100%;
+  }
+}
+
+/*--- Sidebar ---*/
+.cd-side-nav {
+  position: absolute;
+  z-index: 400;
+  left: 0;
+  width: 100%;
+  visibility: hidden;
+  opacity: 0;
+  max-height: 100vh;
+  overflow: hidden;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-transition: opacity 0.2s 0s, visibility 0s 0.2s;
+  -moz-transition: opacity 0.2s 0s, visibility 0s 0.2s;
+  transition: opacity 0.2s 0s, visibility 0s 0.2s;
+}
+.cd-side-nav.nav-is-visible {
+  opacity: 1;
+  visibility: visible;
+  overflow: visible;
+  -webkit-overflow-scrolling: touch;
+  -webkit-transition: opacity 0.2s 0s, visibility 0s 0s;
+  -moz-transition: opacity 0.2s 0s, visibility 0s 0s;
+  transition: opacity 0.2s 0s, visibility 0s 0s;
+  max-height: none;
+  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
+}
+.cd-side-nav .bx-sliding-smenu-main {
+	display: block  !important;
+}
+.cd-side-nav > ul {
+  padding: 0.6em 0;
+}
+.cd-side-nav > ul:last-of-type {
+  padding-bottom: 0;
+}
+.cd-side-nav .cd-label, .cd-side-nav a {
+  display: block;
+  padding: 0px;
+}
+.cd-side-nav .cd-label {
+  text-transform: uppercase;
+  font-weight: bold;
+  color: #646a6f;
+  font-size: 1rem;
+  letter-spacing: .1em;
+}
+.cd-side-nav a {
+  position: relative;
+  color: #ffffff;
+  font-size: 1.4rem;
+}
+
+@media only screen and (min-width: 720px) {
+  .cd-side-nav {
+    position: relative;
+    float: left;
+    top: auto;
+    width: 110px;
+    min-height: 100vh;
+    /* reset style */
+    visibility: visible;
+    opacity: 1;
+    overflow: visible;
+    max-height: none;
+  }
+  .cd-side-nav.nav-is-visible {
+    box-shadow: none;
+  }
+  .cd-side-nav.is-fixed {
+    position: fixed;
+  }
+  .cd-side-nav > ul {
+    /* reset style */
+    padding: 0;
+  }
+  .cd-side-nav .cd-label {
+    /* remove labels on minified version of the sidebar */
+    display: none;
+  }
+  .cd-side-nav a {
+    font-size: 1.2rem;
+  }
+  .cd-side-nav > ul > li > a {
+    padding: calc(2.2em + 24px) 0 2.4em;
+  }
+  .cd-side-nav > ul > li > a::before {
+    left: 50%;
+    right: auto;
+    -webkit-transform: translateX(-50%);
+    -moz-transform: translateX(-50%);
+    -ms-transform: translateX(-50%);
+    -o-transform: translateX(-50%);
+    transform: translateX(-50%);
+    top: 2.4em;
+  }
+  .cd-side-nav .active > a {
+    /* current page */
+    box-shadow: inset 3px 0 0 #1784c7;
+    background-color: #33383e;
+  }
+  .cd-side-nav .action-btn a {
+    margin: 1em 10% 0;
+  }
+}
+
+@media only screen and (min-width: 1024px) {
+  .cd-side-nav {
+    width: 200px;
+  }
+  .cd-side-nav > ul {
+    padding: 0.6em 0;
+  }
+  .cd-side-nav > ul > li:not(.action-btn):hover > a {
+    background-color: #33383e;
+  }
+  .cd-side-nav > ul > li > a {
+    padding: 1em 1em 1em 42px;
+    text-align: left;
+    border-bottom: none;
+  }
+  .cd-side-nav > ul > li > a::before {
+    top: 50%;
+    bottom: auto;
+    -webkit-transform: translateY(-50%);
+    -moz-transform: translateY(-50%);
+    -ms-transform: translateY(-50%);
+    -o-transform: translateY(-50%);
+    transform: translateY(-50%);
+    left: 18px;
+  }
+  .cd-side-nav .cd-label {
+    display: block;
+    padding: 1em 18px;
+  }
+}
+
+.has-children ul {
+  position: relative;
+  width: 100%;
+  display: none;
+  background-color: #1c1f22;
+}
+.has-children > a::after {
+  /* arrow icon */
+  position: absolute;
+  content: '';
+  height: 16px;
+  width: 16px;
+  right: 5%;
+  top: 50%;
+  bottom: auto;
+  -webkit-transform: translateY(-50%);
+  -moz-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  -o-transform: translateY(-50%);
+  transform: translateY(-50%);
+  background: url(../img/cd-arrow.svg);
+}
+.has-children.selected > ul {
+  display: block;
+}
+.has-children.selected > a::after {
+  -webkit-transform: translateY(-50%) rotate(180deg);
+  -moz-transform: translateY(-50%) rotate(180deg);
+  -ms-transform: translateY(-50%) rotate(180deg);
+  -o-transform: translateY(-50%) rotate(180deg);
+  transform: translateY(-50%) rotate(180deg);
+}
+
+@media only screen and (min-width: 720px) {
+  .has-children {
+    position: relative;
+  }
+  .has-children ul {
+    position: absolute;
+    top: 0;
+    left: 100%;
+    width: 160px;
+    padding: 0;
+    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
+  }
+  .has-children ul a {
+    text-align: left;
+    border: none;
+    padding: 1em;
+  }
+  .no-touch .has-children ul a:hover {
+    color: #1784c7;
+  }
+  .has-children > a::after {
+    display: none;
+  }
+  .cd-side-nav .has-children.selected > a {
+    /* focus state -> show sub pages */
+    background-color: #33383e;
+  }
+  .cd-top-nav .has-children {
+    position: relative;
+    background-color: #2c3136;
+  }
+  .cd-top-nav .has-children > a {
+    height: 100%;
+    padding: 0 calc(1.8em + 22px) 0 calc(1.8em + 26px) !important;
+    line-height: 55px;
+  }
+  .cd-top-nav .has-children > a::after {
+    display: block;
+    right: 1.8em;
+  }
+  .cd-top-nav .has-children ul {
+    background-color: #1c1f22;
+    width: 200px;
+    top: 100%;
+    right: 0;
+    left: auto;
+    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
+  }
+  .cd-top-nav .has-children ul a {
+    padding-left: 18px !important;
+  }
+}
+
+@media only screen and (min-width: 1024px) {
+  .has-children > ul {
+    width: 100%;
+    z-index: 1;
+  }
+  .has-children ul a {
+    padding-left: 18px;
+  }
+  .has-children.active > ul {
+    /* if the item is active, make the subnavigation visible */
+    position: relative;
+    display: block;
+    /* reset style */
+    left: 0;
+    box-shadow: none;
+  }
+  .no-touch .cd-side-nav .has-children:hover > ul, .cd-side-nav .has-children.hover > ul {
+    /* show subnavigation on hover */
+    display: block;
+    opacity: 1;
+    visibility: visible;
+  }
+}

+ 5 - 0
modules/boonex/decorous/data/template/system/css/homepage.css

@@ -0,0 +1,5 @@
+@import url(../../../../../../../template/css/homepage.css);
+
+html .shepherd-step.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button {
+    background: #55a892; 
+}

+ 7 - 0
modules/boonex/decorous/data/template/system/css/media-phone.css

@@ -0,0 +1,7 @@
+@import url(../../../../../../../template/css/media-phone.css);
+
+@media (max-width:720px) {
+	#bx-logo-container {
+        text-align: center;
+    }
+}

+ 140 - 0
modules/boonex/decorous/data/template/system/css/menu.css

@@ -0,0 +1,140 @@
+@import url(../../../../../../../template/css/menu.css);
+
+.bx-menu-toolbar-padding {
+    padding-top: 0;
+}
+
+
+/*--- Main (Side) Menu ---*/
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main ul.bx-menu-floating-blocks-big {
+	display: block;
+    white-space: normal;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li {
+	display: block;
+	width: auto;
+	height: auto;
+
+	padding: 0.3rem 0.625rem;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-icon, 
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-title {
+    display: inline-block;
+    vertical-align: top;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-title {
+    line-height: 2rem;
+}
+#bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .sys-icon {
+    width: 2rem;
+    height: 2rem;
+
+    margin: 0px;
+
+    line-height: 2rem;
+    font-size: 1.2rem;
+    color: rgba(255, 255, 255, 0.5);
+}
+
+@media (min-width: 720px) and (max-width:1170px) {
+    #bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li {
+       padding-left: 0px;
+    }
+
+    #bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-icon, 
+    #bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-title {
+        display: block;
+        text-align: center;
+    }
+
+    #bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .bx-menu-floating-blocks-title {
+        padding-left: 0px;
+    }
+
+    #bx-sliding-menu-sys_site.bx-sliding-smenu-main .bx-menu-floating-blocks-big li .sys-icon {
+        width: 100%;
+        font-size: 1.5rem;
+    }
+}
+
+
+/*--- Account Popup ---*/
+@media (min-width:720px) {
+	#bx-sliding-menu-account.bx-sliding-menu-main {
+		left: auto !important;
+		right: 0px !important;
+		width: auto !important;
+	}
+}
+#bx-sliding-menu-account.bx-sliding-menu-main.bx-sliding-menu-fullheight {
+    height: calc(100% - 4rem);
+}
+.bx-menu-account-popup .bx-menu-account-popup-profile {
+	margin-right: 4rem;
+}
+
+
+/*--- Account Popup Submenu & Add Content Menu ---*/
+.bx-menu-account-popup-profile,
+.bx-menu-account-popup-menu {
+	text-align: left;
+}
+.bx-menu-floating-blocks.bx-menu-object-sys_account li,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li {
+	display: block;
+	width: 100%;
+	height: auto;
+}
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-icon,
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-title,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-icon,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-title {
+	display: inline-block;
+	vertical-align: top;
+}
+.bx-menu-notif.bx-menu-object-sys_account_notifications li a,
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-title,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-title {
+	line-height: 2rem;
+}
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-title,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-title {
+	padding-right: 0.5rem;
+}
+.bx-menu-notif.bx-menu-object-sys_account_notifications li img,
+.bx-menu-notif.bx-menu-object-sys_account_notifications li .sys-icon,
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-icon img,
+.bx-menu-floating-blocks.bx-menu-object-sys_account li .bx-menu-floating-blocks-icon .sys-icon,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-icon img,
+.bx-menu-floating-blocks-big.bx-menu-object-sys_add_content li .bx-menu-floating-blocks-icon .sys-icon {
+	height: 2rem;
+    width: 2rem;
+	margin: 0px;
+
+	background-size: 2rem 2rem;
+
+	line-height: 2rem;
+    font-size: 1.2rem;
+    color: rgba(255, 255, 255, 0.5);
+}
+
+.bx-menu-notif.bx-menu-object-sys_account_notifications li .bx-def-unit-alert-middle {
+	top: 4px;
+	right: 4px;
+}
+.bx-menu-notif.bx-menu-object-sys_account_notifications li:hover {
+    opacity:0.8;
+}
+
+/*--- Add Content Menu ---*/
+@media (min-width:720px) {
+	#bx-sliding-menu-sys_add_content.bx-sliding-menu-main {
+	    left: auto !important;
+	    right: 0px !important;
+	    width: auto !important;
+	}
+}
+#bx-sliding-menu-sys_add_content.bx-sliding-menu-main .bx-menu-floating-blocks-big.bx-menu-object-sys_add_content {
+	display: block;
+    width: 100%;
+}

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_1.html

@@ -0,0 +1,7 @@
+<!-- Design Box 1 [start]: Content + title + background -->
+<div class="bx-db-container bx-def-image-bg-block bx-def-color-bg-block bx-def-border-block bx-shadow-block">
+    <div class="bx-db-header"><div class="bx-db-title bx-def-font-h2">__title__</div>__caption_item__<div class="bx-clear"></div></div>
+    <div class="bx-db-divider bx-def-hr"></div>
+    <div class="bx-db-content bx-content-padding-block bx-clearfix">__designbox_content__</div>
+</div>
+<!-- Design Box 1 [ end ] -->

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_11.html

@@ -0,0 +1,7 @@
+<!-- Design Box 11 [start]: Content + title + background + padding -->
+<div class="bx-db-container bx-def-image-bg-block bx-def-color-bg-block bx-def-border-block bx-shadow-block">
+    <div class="bx-db-header"><div class="bx-db-title bx-def-font-h2">__title__</div>__caption_item__<div class="bx-clear"></div></div>
+    <div class="bx-db-divider bx-def-hr"></div>
+    <div class="bx-db-content bx-def-padding-top bx-content-padding-block bx-clearfix">__designbox_content__</div>
+</div>
+<!-- Design Box 11 [ end ] -->

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_13.html

@@ -0,0 +1,7 @@
+<!-- Design Box 13 [start]: Content + background + padding -->
+<div class="bx-db-container bx-def-image-bg-block bx-def-color-bg-block bx-def-border-block bx-shadow-block">
+    <div class="bx-db-content bx-def-padding-top bx-content-padding-block bx-clearfix">
+            __designbox_content__
+    </div>
+</div>
+<!-- Design Box 13 [ end ] -->

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_14.html

@@ -0,0 +1,7 @@
+<!-- Design Box 14 [start]: Content + title + padding -->
+<div class="bx-db-container bx-dbc-nobg bx-def-border-block bx-shadow-block">
+    <div class="bx-db-header"><div class="bx-db-title bx-def-font-h2">__title__</div>__caption_item__<div class="bx-clear"></div></div>
+    <div class="bx-db-divider bx-def-hr"></div>
+    <div class="bx-db-content bx-def-padding-top bx-content-padding-block bx-clearfix">__designbox_content__</div>
+</div>
+<!-- Design Box 14 [ end ] -->

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_3.html

@@ -0,0 +1,7 @@
+<!-- Design Box 3 [start]: Content + background -->
+<div class="bx-db-container bx-def-image-bg-block bx-def-color-bg-block bx-def-border-block bx-shadow-block">
+    <div class="bx-db-content bx-content-padding-block bx-clearfix">
+            __designbox_content__
+    </div>
+</div>
+<!-- Design Box 3 [ end ] -->

+ 7 - 0
modules/boonex/decorous/data/template/system/designbox_4.html

@@ -0,0 +1,7 @@
+<!-- Design Box 4 [start]: Content + title -->
+<div class="bx-db-container bx-dbc-nobg bx-def-border-block bx-shadow-block">
+    <div class="bx-db-header"><div class="bx-db-title bx-def-font-h2">__title__</div>__caption_item__<div class="bx-clear"></div></div>
+    <div class="bx-db-divider bx-def-hr"></div>
+    <div class="bx-db-content bx-content-padding-block bx-clearfix">__designbox_content__</div>
+</div>
+<!-- Design Box 4 [ end ] -->

+ 10 - 0
modules/boonex/decorous/data/template/system/menu_account_notifications.html

@@ -0,0 +1,10 @@
+<ul class="bx-menu-notif bx-menu-object-__object__ bx-clearfix">
+    <bx_repeat:menu_items>
+        <li class="bx-def-round-corners bx-def-color-bg-hl-hover __class_add__">
+            <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
+            <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
+            <a href="__link__" target="__target__" onclick="__onclick__"><span>__title__</span></a>
+            <bx_if:addon><span class="bx-def-unit-alert-middle bg-col-red2">__addon__</span></bx_if:addon>
+        </li>
+    </bx_repeat:menu_items>
+</ul>

+ 15 - 0
modules/boonex/decorous/data/template/system/menu_account_popup.html

@@ -0,0 +1,15 @@
+<div id="bx-sliding-menu-account" class="bx-sliding-menu-main bx-sliding-menu-fullheight bx-def-z-index-nav bx-def-color-bg-block bx-def-border-bottom bx-def-box-sizing bx-search-site" style="display:none; opacity:1;">
+	<div class="bx-sliding-menu-main-cnt">
+        <a class="bx-sliding-menu-close bx-def-margin bx-def-font-h2" href="javascript:void(0);" onclick="bx_menu_slide('#bx-sliding-menu-account')"><i class="sys-icon times"></i></a>
+	
+        <div class="bx-menu-account-popup bx-menu-object-__object__">
+		     <div class="bx-menu-account-popup-profile bx-def-font-h2">__profile_display_name__</div>
+		     <div class="bx-menu-account-popup-menu bx-def-padding-topbottom">__menu_account__</div>
+		     <div class="bx-def-border-top bx-def-border-bottom bx-def-padding-topbottom">__menu_notifications__</div>     
+		 </div>
+		 <div class="bx-menu-account-popup-profile-switcher bx-def-box-sizing">__profile_switcher__</div>
+		 <bx_if:multiple_profiles_mode>
+		     <div class="bx-menu-account-popup-profile-switcher-link"><a href="__url_switch_profile__"><bx_text:_sys_txt_my_profiles /></div>
+		 </bx_if:multiple_profiles_mode>
+	</div>
+</div>

+ 7 - 0
modules/boonex/decorous/data/template/system/menu_toolbar.html

@@ -0,0 +1,7 @@
+<ul class="bx-menu-toolbar bx-menu-object-__object__">
+    <bx_repeat:menu_items>
+        <li id="bx-menu-toolbar-item-__name__" class="bx-menu-toolbar-item __class_add__">
+            <a href="__link__" target="__target__" onclick="__onclick__" class="bx-def-font-contrasted"><bx_if:title><span class="bx-menu-toolbar-item-title bx-def-margin-sec-leftright">__title__</span></bx_if:title><bx_if:icon><i class="sys-icon __icon__ bx-def-margin-sec-leftright"></i></bx_if:icon><bx_if:icon-a><i class="sys-icon-a" data-rotate="down" data-icon="__icon-a__" data-color="#fff"></i></bx_if:icon-a><bx_if:image><img class="bx-def-thumb bx-def-thumb-size bx-def-margin-sec-leftright" src="__icon_url__" /></bx_if:image><bx_if:addon><span class="bx-menu-toolbar-item-addon bx-def-unit-alert-middle bg-col-red2">__addon__</span></bx_if:addon></a>
+        </li>
+    </bx_repeat:menu_items>
+</ul>

+ 5 - 0
modules/boonex/decorous/data/template/system/scripts/.htaccess

@@ -0,0 +1,5 @@
+Deny from all
+<FilesMatch "^.*\.php|.*\.html|.*\.pl$">
+ForceType application/x-httpd-php-source
+</FilesMatch>
+

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplAccountForms.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 BxBaseAccountForms
+ */
+class BxTemplAccountForms extends BxBaseAccountForms
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 20 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplAcl.php

@@ -0,0 +1,20 @@
+<?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 BxDolAcl
+ */
+class BxTemplAcl extends BxBaseAcl
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplAclServices.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 BxBaseAclServices
+ */
+class BxTemplAclServices extends BxBaseAclServices
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 17 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCalendar.php

@@ -0,0 +1,17 @@
+<?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 BxDolCalendar
+ */
+class BxTemplCalendar extends BxBaseCalendar
+{
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCaptchaReCAPTCHA.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 BxDolCaptcha
+ */
+class BxTemplCaptchaReCAPTCHA extends BxBaseCaptchaReCAPTCHA
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCaptchaReCAPTCHANew.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 BxDolCaptcha
+ */
+class BxTemplCaptchaReCAPTCHANew extends BxBaseCaptchaReCAPTCHANew
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 17 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCategory.php

@@ -0,0 +1,17 @@
+<?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 BxDolCategory
+ */
+class BxTemplCategory extends BxBaseCategory
+{
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmts.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 BxDolCmts
+ */
+class BxTemplCmts extends BxBaseCmts
+{
+    function __construct($sSystem, $iId, $iInit = true, $oTemplate = false)
+    {
+        parent::__construct($sSystem, $iId, $iInit, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsForm.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 BxBaseCmtsForm
+ */
+class BxTemplCmtsForm extends BxBaseCmtsForm
+{
+    public function __construct($aInfo, $oTemplate = false)
+    {
+        parent::__construct($aInfo, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsMenuActions.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 BxTemplCmtsMenuActions extends BxBaseCmtsMenuActions
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsMenuManage.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 BxTemplCmtsMenuManage extends BxBaseCmtsMenuManage
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsServices.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 BxBaseCmtsServices
+ */
+class BxTemplCmtsServices extends BxBaseCmtsServices
+{
+    public function __construct()
+    {
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCmtsUploaderSimple.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 BxDolUploader
+ */
+class BxTemplCmtsUploaderSimple extends BxBaseCmtsUploaderSimple
+{
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
+    {
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
+    }
+}
+
+/** @} */

+ 466 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplConfig.php

@@ -0,0 +1,466 @@
+<?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
+ * @{
+ */
+
+class BxTemplConfig extends BxBaseConfig
+{
+	protected $_isModule;
+	
+    function __construct()
+    {
+        parent::__construct();
+
+        $sName = 'bx_decorous';
+        $this->_isModule = BxDolModuleQuery::getInstance()->isModuleByName($sName);
+
+
+        //--- Images
+        $oStorage = BxDolStorage::getObjectInstance('sys_images_custom');
+
+        $this->_aConfig['aLessConfig']['bx-image-bg-header'] = $this->_setBgUrl($sName . '_header_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-header-repeat'] = $this->_setBgRepeat($sName . '_header_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-header-size'] = $this->_setBgSize($sName . '_header_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-footer'] = $this->_setBgUrl($sName . '_footer_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-footer-repeat'] = $this->_setBgRepeat($sName . '_footer_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-footer-size'] = $this->_setBgSize($sName . '_footer_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-page'] = $this->_setBgUrl($sName . '_body_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-page-repeat'] = $this->_setBgRepeat($sName . '_body_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-page-size'] = $this->_setBgSize($sName . '_body_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-block'] = $this->_setBgUrl($sName . '_block_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-block-repeat'] = $this->_setBgRepeat($sName . '_block_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-block-size'] = $this->_setBgSize($sName . '_block_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-box'] = $this->_setBgUrl($sName . '_card_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-box-repeat'] = $this->_setBgRepeat($sName . '_card_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-box-size'] = $this->_setBgSize($sName . '_card_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-popup'] = $this->_setBgUrl($sName . '_popup_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-popup-repeat'] = $this->_setBgRepeat($sName . '_popup_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-popup-size'] = $this->_setBgSize($sName . '_popup_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-main'] = $this->_setBgUrl($sName . '_menu_main_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-main-repeat'] = $this->_setBgRepeat($sName . '_menu_main_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-main-size'] = $this->_setBgSize($sName . '_menu_main_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-account'] = $this->_setBgUrl($sName . '_menu_account_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-account-repeat'] = $this->_setBgRepeat($sName . '_menu_account_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-account-size'] = $this->_setBgSize($sName . '_menu_account_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-add'] = $this->_setBgUrl($sName . '_menu_add_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-add-repeat'] = $this->_setBgRepeat($sName . '_menu_add_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-add-size'] = $this->_setBgSize($sName . '_menu_add_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-page'] = $this->_setBgUrl($sName . '_menu_page_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-page-repeat'] = $this->_setBgRepeat($sName . '_menu_page_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-page-size'] = $this->_setBgSize($sName . '_menu_page_bg_image_size', 'cover');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-slide'] = $this->_setBgUrl($sName . '_menu_slide_bg_image', $oStorage);
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-slide-repeat'] = $this->_setBgRepeat($sName . '_menu_slide_bg_image_repeat', 'no-repeat');
+        $this->_aConfig['aLessConfig']['bx-image-bg-menu-slide-size'] = $this->_setBgSize($sName . '_menu_slide_bg_image_size', 'cover');
+        
+
+        //--- Shadow
+        $this->_aConfig['aLessConfig']['bx-shadow-header'] = $this->_setShadow($sName . '_header_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-footer'] = $this->_setShadow($sName . '_footer_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-cover'] = $this->_setShadow($sName . '_cover_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-cover-icon'] = $this->_setShadow($sName . '_cover_icon_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-block'] = $this->_setShadow($sName . '_block_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-card'] = $this->_setShadow($sName . '_card_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-popup'] = $this->_setShadow($sName . '_popup_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-menu-main'] = $this->_setShadow($sName . '_menu_main_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-menu-account'] = $this->_setShadow($sName . '_menu_account_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-menu-add'] = $this->_setShadow($sName . '_menu_add_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-menu-page'] = $this->_setShadow($sName . '_menu_page_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-menu-slide'] = $this->_setShadow($sName . '_menu_slide_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-form-input'] = $this->_setShadow($sName . '_form_input_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-button'] = $this->_setShadow($sName . '_button_lg_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-button-small'] = $this->_setShadow($sName . '_button_sm_shadow');
+
+        $this->_aConfig['aLessConfig']['bx-shadow-text-cover'] = $this->_setShadowFont($sName . '_cover_text_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-menu-main'] = $this->_setShadowFont($sName . '_menu_main_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-menu-account'] = $this->_setShadowFont($sName . '_menu_account_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-menu-add'] = $this->_setShadowFont($sName . '_menu_add_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-menu-page'] = $this->_setShadowFont($sName . '_menu_page_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-menu-slide'] = $this->_setShadowFont($sName . '_menu_slide_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-button'] = $this->_setShadowFont($sName . '_button_lg_font_shadow');
+        $this->_aConfig['aLessConfig']['bx-shadow-font-button-small'] = $this->_setShadowFont($sName . '_button_sm_font_shadow');
+
+        //--- Height
+        $this->_aConfig['aLessConfig']['bx-height-header'] = $this->_setSize($sName . '_header_height', '3rem');
+        $this->_aConfig['aLessConfig']['bx-height-cover'] = $this->_setSize($sName . '_cover_height', '40vh');
+        $this->_aConfig['aLessConfig']['bx-height-block-title-div'] = $this->_setSize($sName . '_block_title_div_height', '1px');
+        $this->_aConfig['aLessConfig']['bx-height-form-input'] = $this->_setSize($sName . '_form_input_height', '2.2rem');
+		$this->_aConfig['aLessConfig']['bx-height-button'] = $this->_setSize($sName . '_button_lg_height', '2.25rem');
+		$this->_aConfig['aLessConfig']['bx-height-button-small'] = $this->_setSize($sName . '_button_sm_height', '1.5rem');
+		
+
+        //--- Title/Content Margins
+        $this->_aConfig['aLessConfig']['bx-content-padding-header'] = $this->_setMargin($sName . '_header_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-footer'] = $this->_setMargin($sName . '_footer_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-cover'] = $this->_setMargin($sName . '_cover_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-block'] = $this->_setMargin($sName . '_block_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-card'] = $this->_setMargin($sName . '_card_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-popup'] = $this->_setMargin($sName . '_popup_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-menu-main'] = $this->_setMargin($sName . '_menu_main_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-menu-account'] = $this->_setMargin($sName . '_menu_account_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-menu-add'] = $this->_setMargin($sName . '_menu_add_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-menu-page'] = $this->_setMargin($sName . '_menu_page_content_padding');
+        $this->_aConfig['aLessConfig']['bx-content-padding-menu-slide'] = $this->_setMargin($sName . '_menu_slide_content_padding');
+
+		$this->_aConfig['aLessConfig']['bx-title-padding-block'] = $this->_setMargin($sName . '_block_title_padding');
+		$this->_aConfig['aLessConfig']['bx-title-padding-popup'] = $this->_setMargin($sName . '_popup_title_padding');
+
+
+        //--- Colors
+		if($this->_isModule) {
+	        $this->_aConfig['aLessConfig']['bx-color-hl'] = $this->_setColorRgba($sName . '_general_item_bg_color_hover', 'rgba(196, 248, 156, 0.2)');
+			$this->_aConfig['aLessConfig']['bx-color-active'] = $this->_setColorRgba($sName . '_general_item_bg_color_active', 'rgba(196, 248, 156, 0.4)');
+		}
+
+        $this->_aConfig['aLessConfig']['bx-color-header'] = $this->_setColorRgba($sName . '_header_bg_color', 'rgba(59, 134, 134, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-footer'] = $this->_setColorRgba($sName . '_footer_bg_color', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-page'] = $this->_setColorRgb($sName . '_body_bg_color', 'rgb(255, 255, 255)');
+        $this->_aConfig['aLessConfig']['bx-color-cover'] = $this->_setColorRgba($sName . '_cover_bg_color', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-block'] = $this->_setColorRgba($sName . '_block_bg_color', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-block-title'] = $this->_setColorRgba($sName . '_block_title_bg_color', 'rgba(255, 255, 255, 1.0)');
+        $this->_aConfig['aLessConfig']['bx-color-block-title-div'] = $this->_setColorRgba($sName . '_block_title_div_bg_color', 'rgba(208, 208, 208, 1)');        
+        $this->_aConfig['aLessConfig']['bx-color-box'] = $this->_setColorRgba($sName . '_card_bg_color', 'rgba(242, 242, 242, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-popup'] = $this->_setColorRgba($sName . '_popup_bg_color', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-popup-title'] = $this->_setColorRgba($sName . '_popup_title_bg_color', 'rgba(40, 60, 80, 0.9)');
+        $this->_aConfig['aLessConfig']['bx-color-menu-main'] = $this->_setColorRgba($sName . '_menu_main_bg_color', 'rgba(255, 255, 255, 0.9)');
+        $this->_aConfig['aLessConfig']['bx-color-menu-account'] = $this->_setColorRgba($sName . '_menu_account_bg_color', 'rgba(255, 255, 255, 0.9)');
+        $this->_aConfig['aLessConfig']['bx-color-menu-add'] = $this->_setColorRgba($sName . '_menu_add_bg_color', 'rgba(255, 255, 255, 0.9)');
+        $this->_aConfig['aLessConfig']['bx-color-menu-page'] = $this->_setColorRgba($sName . '_menu_page_bg_color', 'rgba(242, 242, 242, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-menu-slide'] = $this->_setColorRgba($sName . '_menu_slide_bg_color', 'rgba(255, 255, 255, 0.9)');
+		$this->_aConfig['aLessConfig']['bx-color-form-input'] = $this->_setColorRgba($sName . '_form_input_bg_color', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-form-input-active'] = $this->_setColorRgba($sName . '_form_input_bg_color_active', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-button'] = $this->_setColorRgba($sName . '_button_lg_bg_color', 'rgba(108, 170, 138, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-button-hover'] = $this->_setColorRgba($sName . '_button_lg_bg_color_hover', 'rgba(58, 134, 134, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-button-small'] = $this->_setColorRgba($sName . '_button_sm_bg_color', 'rgba(108, 170, 138, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-button-small-hover'] = $this->_setColorRgba($sName . '_button_sm_bg_color_hover', 'rgba(58, 134, 134, 1)');
+
+		$this->_aConfig['aLessConfig']['bx-color-font-cover'] = $this->_setColorRgba($sName . '_cover_font_color', 'rgba(255, 255, 255, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-font-block-title'] = $this->_setColorRgba($sName . '_block_title_font_color', 'rgba(0, 0, 20, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-font-popup-title'] = $this->_setColorRgba($sName . '_popup_title_font_color', 'rgba(255, 255, 255, 1.0)');
+
+        $sDefColBorder = 'rgba(208, 208, 208, 1)';
+        $this->_aConfig['aLessConfig']['bx-color-border-header'] = $this->_setColorRgba($sName . '_header_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-footer'] = $this->_setColorRgba($sName . '_footer_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-cover'] = $this->_setColorRgba($sName . '_cover_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-cover-icon'] = $this->_setColorRgba($sName . '_cover_icon_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-block'] = $this->_setColorRgba($sName . '_block_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-block-title'] = $this->_setColorRgba($sName . '_block_title_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-box'] = $this->_setColorRgba($sName . '_card_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-popup'] = $this->_setColorRgba($sName . '_popup_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-menu-main'] = $this->_setColorRgba($sName . '_menu_main_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-menu-account'] = $this->_setColorRgba($sName . '_menu_account_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-menu-add'] = $this->_setColorRgba($sName . '_menu_add_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-menu-page'] = $this->_setColorRgba($sName . '_menu_page_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-menu-slide'] = $this->_setColorRgba($sName . '_menu_slide_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-form-input'] = $this->_setColorRgba($sName . '_form_input_border_color', 'rgba(121, 189, 154, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-border-form-input-active'] = $this->_setColorRgba($sName . '_form_input_border_color_active', 'rgba(108, 170, 138, 1)');
+        $this->_aConfig['aLessConfig']['bx-color-border-button'] = $this->_setColorRgba($sName . '_button_lg_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-button-hover'] = $this->_setColorRgba($sName . '_button_lg_border_color_hover', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-button-small'] = $this->_setColorRgba($sName . '_button_sm_border_color', $sDefColBorder);
+        $this->_aConfig['aLessConfig']['bx-color-border-button-small-hover'] = $this->_setColorRgba($sName . '_button_sm_border_color_hover', $sDefColBorder);
+
+		$this->_aConfig['aLessConfig']['bx-color-icon-header'] = $this->_setColorRgba($sName . '_header_icon_color', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-icon-header-hover'] = $this->_setColorRgba($sName . '_header_icon_color_hover', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-icon-footer'] = $this->_setColorRgba($sName . '_footer_icon_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-icon-footer-hover'] = $this->_setColorRgba($sName . '_footer_icon_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-icon-body'] = $this->_setColorRgba($sName . '_body_icon_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-icon-body-hover'] = $this->_setColorRgba($sName . '_body_icon_color_hover', 'rgba(62, 134, 133, 1)');
+
+		$this->_aConfig['aLessConfig']['bx-color-link-header'] = $this->_setColorRgba($sName . '_header_link_color', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-link-header-hover'] = $this->_setColorRgba($sName . '_header_link_color_hover', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-link-footer'] = $this->_setColorRgba($sName . '_footer_link_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-link-footer-hover'] = $this->_setColorRgba($sName . '_footer_link_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-link-body'] = $this->_setColorRgba($sName . '_body_link_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-color-link-body-hover'] = $this->_setColorRgba($sName . '_body_link_color_hover', 'rgba(62, 134, 133, 1)');
+
+        //--- Borders
+        $this->_aConfig['aLessConfig']['bx-border-width-header'] = $this->_setSize($sName . '_header_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-footer'] = $this->_setSize($sName . '_footer_border_size', '1px');
+        $this->_aConfig['aLessConfig']['bx-border-width-cover'] = $this->_setSize($sName . '_cover_border_size', '0px');
+        $this->_aConfig['aLessConfig']['bx-border-width-cover-icon'] = $this->_setSize($sName . '_cover_icon_border_size', '1px');
+        $this->_aConfig['aLessConfig']['bx-border-width-block'] = $this->_setSize($sName . '_block_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-block-title'] = $this->_setSize($sName . '_block_title_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-box'] = $this->_setSize($sName . '_card_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-popup'] = $this->_setSize($sName . '_popup_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-menu-main'] = $this->_setSize($sName . '_menu_main_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-menu-account'] = $this->_setSize($sName . '_menu_account_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-menu-add'] = $this->_setSize($sName . '_menu_add_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-menu-page'] = $this->_setSize($sName . '_menu_page_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-menu-slide'] = $this->_setSize($sName . '_menu_slide_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-form-input'] = $this->_setSize($sName . '_form_input_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-button'] = $this->_setSize($sName . '_button_lg_border_size');
+        $this->_aConfig['aLessConfig']['bx-border-width-button-small'] = $this->_setSize($sName . '_button_sm_border_size');
+
+        $this->_aConfig['aLessConfig']['bx-border-radius-block'] = $this->_setSize($sName . '_block_border_radius');
+        $this->_aConfig['aLessConfig']['bx-border-radius-cover'] = $this->_setSize($sName . '_cover_border_radius');
+        $this->_aConfig['aLessConfig']['bx-border-radius-cover-icon'] = $this->_setSize($sName . '_cover_icon_border_radius');
+        $this->_aConfig['aLessConfig']['bx-border-radius-block-title'] = $this->_setSize($sName . '_block_title_border_radius');
+        $this->_aConfig['aLessConfig']['bx-border-radius-box'] = $this->_setSize($sName . '_card_border_radius', '3px');
+        $this->_aConfig['aLessConfig']['bx-border-radius-popup'] = $this->_setSize($sName . '_popup_border_radius', '3px');
+        $this->_aConfig['aLessConfig']['bx-border-radius-button'] = $this->_setSize($sName . '_button_lg_border_radius');
+        $this->_aConfig['aLessConfig']['bx-border-radius-button-small'] = $this->_setSize($sName . '_button_sm_border_radius');
+
+        //--- Text
+        $this->_aConfig['aLessConfig']['bx-text-align-cover'] = $this->_setAlign($sName . '_cover_text_align');
+
+		//--- Default Fonts
+		if($this->_isModule) {
+	        $this->_aConfig['aLessConfig']['bx-font-family'] = $this->_setValue($sName . '_font_family', 'Helvetica, Arial, sans-serif');
+	        $this->_aConfig['aLessConfig']['bx-font-size-default'] = $this->_setSize($sName . '_font_size_default', '18px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-small'] = $this->_setSize($sName . '_font_size_small', '14px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-middle'] = $this->_setSize($sName . '_font_size_middle', '16px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-large'] = $this->_setSize($sName . '_font_size_large', '22px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-h1'] = $this->_setSize($sName . '_font_size_h1', '38px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-h2'] = $this->_setSize($sName . '_font_size_h2', '24px');
+	        $this->_aConfig['aLessConfig']['bx-font-size-h3'] = $this->_setSize($sName . '_font_size_h3', '18px');
+
+	        $this->_aConfig['aLessConfig']['bx-font-color-default'] = $this->_setColorRgba($sName . '_font_color_default', 'rgba(51, 51, 51, 1)');
+	        $this->_aConfig['aLessConfig']['bx-font-color-grayed'] = $this->_setColorRgba($sName . '_font_color_grayed', 'rgba(153, 153, 153, 1)');
+	        $this->_aConfig['aLessConfig']['bx-font-color-contrasted'] = $this->_setColorRgba($sName . '_font_color_contrasted', 'rgba(255, 255, 255, 1)');
+		}
+
+		//--- Font Family
+		$this->_aConfig['aLessConfig']['bx-font-family-cover'] = $this->_setValue($sName . '_cover_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-block-title'] = $this->_setValue($sName . '_block_title_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-popup-title'] = $this->_setValue($sName . '_popup_title_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-form-input'] = $this->_setValue($sName . '_form_input_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-menu-main'] = $this->_setValue($sName . '_menu_main_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-menu-account'] = $this->_setValue($sName . '_menu_account_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-menu-add'] = $this->_setValue($sName . '_menu_add_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-menu-page'] = $this->_setValue($sName . '_menu_page_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-menu-slide'] = $this->_setValue($sName . '_menu_slide_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-button'] = $this->_setValue($sName . '_button_lg_font_family');
+		$this->_aConfig['aLessConfig']['bx-font-family-button-small'] = $this->_setValue($sName . '_button_sm_font_family');
+
+		//--- Font Size
+		$this->_aConfig['aLessConfig']['bx-font-size-cover'] = $this->_setSize($sName . '_cover_font_size', '2.0rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-block-title'] = $this->_setSize($sName . '_block_title_font_size', '1.5rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-popup-title'] = $this->_setSize($sName . '_popup_title_font_size', '1.5rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-form-input'] = $this->_setSize($sName . '_form_input_font_size', '1.125rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-menu-main'] = $this->_setSize($sName . '_menu_main_font_size', '1.125rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-menu-account'] = $this->_setSize($sName . '_menu_account_font_size', '1.125rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-menu-add'] = $this->_setSize($sName . '_menu_add_font_size', '1.125rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-menu-page'] = $this->_setSize($sName . '_menu_page_font_size', '1.2rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-menu-slide'] = $this->_setSize($sName . '_menu_slide_font_size', '1.0rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-button'] = $this->_setSize($sName . '_button_lg_font_size', '1rem');
+		$this->_aConfig['aLessConfig']['bx-font-size-button-small'] = $this->_setSize($sName . '_button_sm_font_size', '0.9rem');
+
+		//--- Font Color
+		$sColFontDef = 'rgba(51, 51, 51, 1.0)';		//--- Default
+		$sColFontGrd = 'rgba(153, 153, 153, 1)';	//--- Grayed
+		$sColFontCnt = 'rgba(255, 255, 255, 1)';	//--- Contrasted
+		$sColFontLnk = 'rgba(62, 134, 133, 1)';		//--- Link
+		$sColFontLnkHov = 'rgba(62, 134, 133, 1)';	//--- Link on-hiver
+		$this->_aConfig['aLessConfig']['bx-font-color-footer'] = $this->_setColorRgba($sName . '_footer_font_color', $sColFontDef);
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-main'] = $this->_setColorRgba($sName . '_menu_main_font_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-main-hover'] = $this->_setColorRgba($sName . '_menu_main_font_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-main-active'] = $this->_setColorRgba($sName . '_menu_main_font_color_active', 'rgba(0, 0, 0, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-account'] = $this->_setColorRgba($sName . '_menu_account_font_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-account-hover'] = $this->_setColorRgba($sName . '_menu_account_font_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-account-active'] = $this->_setColorRgba($sName . '_menu_account_font_color_active', 'rgba(0, 0, 0, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-add'] = $this->_setColorRgba($sName . '_menu_add_font_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-add-hover'] = $this->_setColorRgba($sName . '_menu_add_font_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-add-active'] = $this->_setColorRgba($sName . '_menu_add_font_color_active', 'rgba(0, 0, 0, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-page'] = $this->_setColorRgba($sName . '_menu_page_font_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-page-hover'] = $this->_setColorRgba($sName . '_menu_page_font_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-page-active'] = $this->_setColorRgba($sName . '_menu_page_font_color_active', 'rgba(0, 0, 0, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-slide'] = $this->_setColorRgba($sName . '_menu_slide_font_color', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-slide-hover'] = $this->_setColorRgba($sName . '_menu_slide_font_color_hover', 'rgba(62, 134, 133, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-menu-slide-active'] = $this->_setColorRgba($sName . '_menu_slide_font_color_active', 'rgba(0, 0, 0, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-button'] = $this->_setColorRgba($sName . '_button_lg_font_color', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-button-hover'] = $this->_setColorRgba($sName . '_button_lg_font_color_hover', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-button-small'] = $this->_setColorRgba($sName . '_button_sm_font_color', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-button-small-hover'] = $this->_setColorRgba($sName . '_button_sm_font_color_hover', 'rgba(255, 255, 255, 1)');
+		$this->_aConfig['aLessConfig']['bx-font-color-form-input'] = $this->_setColorRgba($sName . '_form_input_font_color', $sColFontDef);
+		$this->_aConfig['aLessConfig']['bx-font-color-default-h1'] = $this->_setColorRgba($sName . '_font_color_default_h1', $sColFontDef);
+        $this->_aConfig['aLessConfig']['bx-font-color-grayed-h1'] = $this->_setColorRgba($sName . '_font_color_grayed_h1', $sColFontGrd);
+        $this->_aConfig['aLessConfig']['bx-font-color-contrasted-h1'] = $this->_setColorRgba($sName . '_font_color_contrasted_h1', $sColFontCnt);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h1'] = $this->_setColorRgba($sName . '_font_color_link_h1', $sColFontLnk);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h1-hover'] = $this->_setColorRgba($sName . '_font_color_link_h1_hover', $sColFontLnkHov);
+        $this->_aConfig['aLessConfig']['bx-font-color-default-h2'] = $this->_setColorRgba($sName . '_font_color_default_h2', $sColFontDef);
+        $this->_aConfig['aLessConfig']['bx-font-color-grayed-h2'] = $this->_setColorRgba($sName . '_font_color_grayed_h2', $sColFontGrd);
+        $this->_aConfig['aLessConfig']['bx-font-color-contrasted-h2'] = $this->_setColorRgba($sName . '_font_color_contrasted_h2', $sColFontCnt);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h2'] = $this->_setColorRgba($sName . '_font_color_link_h2', $sColFontLnk);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h2-hover'] = $this->_setColorRgba($sName . '_font_color_link_h2_hover', $sColFontLnkHov);
+        $this->_aConfig['aLessConfig']['bx-font-color-default-h3'] = $this->_setColorRgba($sName . '_font_color_default_h3', $sColFontDef);
+        $this->_aConfig['aLessConfig']['bx-font-color-grayed-h3'] = $this->_setColorRgba($sName . '_font_color_grayed_h3', $sColFontGrd);
+        $this->_aConfig['aLessConfig']['bx-font-color-contrasted-h3'] = $this->_setColorRgba($sName . '_font_color_contrasted_h3', $sColFontCnt);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h3'] = $this->_setColorRgba($sName . '_font_color_link_h3', $sColFontLnk);
+        $this->_aConfig['aLessConfig']['bx-font-color-link-h3-hover'] = $this->_setColorRgba($sName . '_font_color_link_h3_hover', $sColFontLnkHov);
+
+		//--- Font Weight
+		$this->_aConfig['aLessConfig']['bx-font-weight-cover'] = $this->_setValue($sName . '_cover_font_weight', '700');
+		$this->_aConfig['aLessConfig']['bx-font-weight-block-title'] = $this->_setValue($sName . '_block_title_font_weight', '500');
+		$this->_aConfig['aLessConfig']['bx-font-weight-menu-main'] = $this->_setValue($sName . '_menu_main_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-menu-account'] = $this->_setValue($sName . '_menu_account_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-menu-add'] = $this->_setValue($sName . '_menu_add_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-menu-page'] = $this->_setValue($sName . '_menu_page_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-menu-slide'] = $this->_setValue($sName . '_menu_slide_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-button'] = $this->_setValue($sName . '_button_lg_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-button-small'] = $this->_setValue($sName . '_button_sm_font_weight', '400');
+		$this->_aConfig['aLessConfig']['bx-font-weight-h1'] = $this->_setValue($sName . '_font_weight_h1', '700');
+		$this->_aConfig['aLessConfig']['bx-font-weight-h2'] = $this->_setValue($sName . '_font_weight_h2', '700');
+		$this->_aConfig['aLessConfig']['bx-font-weight-h3'] = $this->_setValue($sName . '_font_weight_h3', '500');
+
+		//--- Viewport 
+		$this->_aConfig['aLessConfig']['bx-viewport-font-tablet'] = $this->_setValue($sName . '_vpt_font_size_scale', '100%');
+		$this->_aConfig['aLessConfig']['bx-viewport-font-mobile'] = $this->_setValue($sName . '_vpm_font_size_scale', '85%');
+
+		if($this->_isModule)
+        	$this->setPageWidth('bx_decorous_page_width');
+    }
+
+    protected function _setValue($sKey, $sDefault = '')
+    {
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue))
+			$sValue = $sDefault;
+
+    	return $sValue;
+    }
+
+	protected function _setSize($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = '0px';
+
+    	$sPattern = "/([0-9\.]+\s*((px)|(rem)|(vh))){1}/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !preg_match($sPattern, $sValue))
+    		$sValue = $sDefault;
+
+    	return $sValue;
+    }
+
+    protected function _setMargin($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = '0px';
+
+    	$sPattern = "/([0-9\.]+\s*((px)|(rem))\s*){1,4}/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || ($sValue != 'inherit' && !preg_match($sPattern, $sValue)))
+    		$sValue = $sDefault;
+
+    	return $sValue;
+    }
+
+	protected function _setColorRgb($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = 'rgb(51, 51, 51)';
+
+    	$sPattern = "/rgb\s*\(\s*[0-9]{1,3}\s*,\s*[0-9]{1,3}\s*,\s*[0-9]{1,3}\s*\)/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !preg_match($sPattern, $sValue))
+    		$sValue = $sDefault;
+
+    	return $sValue;
+    }
+
+    protected function _setColorRgba($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = 'rgba(51, 51, 51, 1.0)';
+
+    	$sPattern = "/rgba?\s*\(\s*([0-9]{1,3}\s*,?\s*){3}\s*([0-9\.]+)?\s*\)/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !preg_match($sPattern, $sValue))
+    		$sValue = $sDefault;
+
+    	return $sValue;
+    }
+
+    protected function _setBgUrl($sKey, $oStorage = null)
+    {
+    	if(empty($oStorage))
+    		$oStorage = BxDolStorage::getObjectInstance('sys_images_custom');
+
+		$iImageId = (int)getParam($sKey);
+		if(empty($iImageId))
+			return "";
+
+		$sImageUrl = $oStorage->getFileUrlById($iImageId);
+		if(empty($sImageUrl))
+			return "";
+
+		return "'" . $sImageUrl . "'";
+    }
+
+    protected function _setBgRepeat($sKey, $sDefault = '')
+    {
+		if(empty($sDefault))
+    		$sDefault = 'repeat';
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !in_array($sValue, array('no-repeat', 'repeat', 'repeat-x', 'repeat-y')))
+    		$sValue = $sDefault;
+
+		return $sValue;
+    }
+
+    protected function _setBgSize($sKey, $sDefault = '')
+    {
+		if(empty($sDefault))
+    		$sDefault = 'auto';
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !in_array($sValue, array('auto', 'cover', 'contain')))
+    		$sValue = $sDefault;
+
+		return $sValue;
+    }
+
+    protected function _setShadow($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = '0px 1px 3px 0px rgba(0, 0, 0, 0.25)';
+
+    	$sPattern = "/(-?[0-9]+\s*px\s*){4}\s*rgba\s*\(\s*([0-9]{1,3}\s*,\s*){3}\s*[0-9\.]+\s*\)/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || $sValue == 'none')
+    		$sValue = 'none';
+    	else if(!preg_match($sPattern, $sValue))
+    		$sValue = $sDefault;
+
+		return $sValue;
+    }
+
+    protected function _setShadowFont($sKey, $sDefault = '')
+    {
+    	if(empty($sDefault))
+    		$sDefault = '0px 1px 3px rgba(0, 0, 0, 0.25)';
+
+    	$sPattern = "/(-?[0-9]+\s*px\s*){3}\s*rgba\s*\(\s*([0-9]{1,3}\s*,\s*){3}\s*[0-9\.]+\s*\)/";
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || $sValue == 'none')
+    		$sValue = 'none';
+    	else if(!preg_match($sPattern, $sValue))
+    		$sValue = $sDefault;
+
+		return $sValue;
+    }
+    
+    protected function _setAlign($sKey, $sDefault = '')
+    {
+		if(empty($sDefault))
+    		$sDefault = 'left';
+
+    	$sValue = trim(getParam($sKey));
+    	if(!$this->_isModule || empty($sValue) || !in_array($sValue, array('left', 'center', 'right')))
+    		$sValue = $sDefault;
+
+		return $sValue;
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplCover.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 BxDolCover
+ */
+class BxTemplCover extends BxBaseCover
+{
+    public function __construct ($oTemplate = false)
+    {
+        parent::__construct ($oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplEditorTinyMCE.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 BxDolEditor
+ */
+class BxTemplEditorTinyMCE extends BxBaseEditorTinyMCE
+{
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFavorite.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 BxDolFavorite
+ */
+class BxTemplFavorite extends BxBaseFavorite
+{
+    function __construct($sSystem, $iId, $iInit = true, $oTemplate = false)
+    {
+        parent::__construct($sSystem, $iId, $iInit, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFeature.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 BxDolFeature
+ */
+class BxTemplFeature extends BxBaseFeature
+{
+    function __construct($sSystem, $iId, $iInit = true, $oTemplate = false)
+    {
+        parent::__construct($sSystem, $iId, $iInit, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerCodeViewer.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 BxDolFileHandler
+ */
+class BxTemplFileHandlerCodeViewer extends BxBaseFileHandlerCodeViewer
+{    
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerGoogleViewer.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 BxDolFileHandler
+ */
+class BxTemplFileHandlerGoogleViewer extends BxBaseFileHandlerGoogleViewer
+{    
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerImagesViewer.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 BxDolFileHandler
+ */
+class BxTemplFileHandlerImagesViewer extends BxBaseFileHandlerImagesViewer
+{    
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFileHandlerMsViewer.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 BxDolFileHandler
+ */
+class BxTemplFileHandlerMsViewer extends BxBaseFileHandlerMsViewer
+{    
+    public function __construct ($aObject, $oTemplate = false)
+    {
+        parent::__construct ($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFormAccount.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 BxBaseFormAccount
+ */
+class BxTemplFormAccount extends BxBaseFormAccount
+{
+    public function __construct($aInfo, $oTemplate = false)
+    {
+        parent::__construct($aInfo, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFormConfirmEmail.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 BxBaseFormConfirmEmail
+ */
+class BxTemplFormConfirmEmail extends BxBaseFormConfirmEmail
+{
+    public function __construct($aInfo, $oTemplate = false)
+    {
+        parent::__construct($aInfo, $oTemplate);
+    }
+}
+
+/** @} */

+ 21 - 0
modules/boonex/decorous/data/template/system/scripts/BxTemplFormForgotPassword.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 BxBaseFormForgotPassword
+ */
+class BxTemplFormForgotPassword extends BxBaseFormForgotPassword
+{
+    public function __construct($aInfo, $oTemplate = false)
+    {
+        parent::__construct($aInfo, $oTemplate);
+    }
+}
+
+/** @} */

Some files were not shown because too many files changed in this diff