Răsfoiți Sursa

Ticket #3877 - Logo displaying improvement: Usage in templates.

AntonLV 4 ani în urmă
părinte
comite
40f8fa2121
36 a modificat fișierele cu 447 adăugiri și 113 ștergeri
  1. 60 0
      modules/base/template/classes/BxBaseModTemplateAlertsResponse.php
  2. 115 20
      modules/base/template/classes/BxBaseModTemplateConfig.php
  3. 14 13
      modules/boonex/artificer/classes/BxArtificerAlertsResponse.php
  4. 2 0
      modules/boonex/artificer/classes/BxArtificerConfig.php
  5. 28 9
      modules/boonex/artificer/data/template/system/scripts/BxTemplFunctions.php
  6. 4 4
      modules/boonex/artificer/install/sql/disable.sql
  7. 1 1
      modules/boonex/artificer/install/sql/enable.sql
  8. 1 2
      modules/boonex/artificer/install/sql/install.sql
  9. 22 0
      modules/boonex/decorous/classes/BxDecorousAlertsResponse.php
  10. 0 2
      modules/boonex/decorous/install/langs/en.xml
  11. 7 1
      modules/boonex/decorous/install/sql/disable.sql
  12. 11 1
      modules/boonex/decorous/install/sql/enable.sql
  13. 12 9
      modules/boonex/decorous/install/sql/install.sql
  14. 1 1
      modules/boonex/decorous/install/sql/uninstall.sql
  15. 22 0
      modules/boonex/lucid/classes/BxLucidAlertsResponse.php
  16. 0 2
      modules/boonex/lucid/install/langs/en.xml
  17. 6 0
      modules/boonex/lucid/install/sql/disable.sql
  18. 10 0
      modules/boonex/lucid/install/sql/enable.sql
  19. 12 11
      modules/boonex/lucid/install/sql/install.sql
  20. 1 1
      modules/boonex/lucid/install/sql/uninstall.sql
  21. 33 0
      modules/boonex/ocean/classes/BxOceanAlertsResponse.php
  22. 3 1
      modules/boonex/ocean/classes/BxOceanConfig.php
  23. 8 5
      modules/boonex/ocean/data/template/system/css/general.css
  24. 7 1
      modules/boonex/ocean/install/sql/disable.sql
  25. 10 1
      modules/boonex/ocean/install/sql/enable.sql
  26. 1 2
      modules/boonex/ocean/install/sql/install.sql
  27. 3 1
      modules/boonex/ocean/install/sql/uninstall.sql
  28. 22 0
      modules/boonex/protean/classes/BxProteanAlertsResponse.php
  29. 0 2
      modules/boonex/protean/install/langs/en.xml
  30. 7 1
      modules/boonex/protean/install/sql/disable.sql
  31. 11 1
      modules/boonex/protean/install/sql/enable.sql
  32. 12 15
      modules/boonex/protean/install/sql/install.sql
  33. 1 0
      modules/boonex/protean/install/sql/uninstall.sql
  34. 0 2
      modules/boonex/russian/data/langs/bx_decorous/ru.xml
  35. 0 2
      modules/boonex/russian/data/langs/bx_lucid/ru.xml
  36. 0 2
      modules/boonex/russian/data/langs/bx_protean/ru.xml

+ 60 - 0
modules/base/template/classes/BxBaseModTemplateAlertsResponse.php

@@ -0,0 +1,60 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    BaseTemplate Base classes for template modules
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxBaseModTemplateAlertsResponse extends BxDolAlertsResponse
+{
+    protected $_sModule;
+    protected $_oModule;
+
+    function __construct()
+    {
+        parent::__construct();
+
+    	$this->_oModule = BxDolModule::getInstance($this->_sModule);
+    }
+
+    public function response($oAlert)
+    {
+        $sMethod = '_process' . bx_gen_method_name($oAlert->sUnit . '_' . $oAlert->sAction);           	
+        if(!method_exists($this, $sMethod))
+            return;
+
+        $this->$sMethod($oAlert);
+    }
+
+    protected function _processSystemSaveSetting($oAlert)
+    {
+        $sPrefix = $this->_oModule->_oConfig->getPrefix('option');
+
+        switch($oAlert->aExtras['option']) {
+            case $sPrefix . 'site_logo':
+                setParam($sPrefix . 'site_logo_aspect_ratio', '');
+                break;
+        }
+    }
+
+    protected function _processSystemChangeLogo($oAlert)
+    {
+        $sPrefix = $this->_oModule->_oConfig->getPrefix('option');
+
+        if(!in_array($oAlert->aExtras['option'], ['sys_site_logo']))
+            return;
+
+        setParam($sPrefix . 'site_logo_aspect_ratio', '');
+    }
+
+    protected function _isActive()
+    {
+        return BxDolTemplate::getInstance()->getCode() == $this->_oModule->_oConfig->getUri();
+    }
+}
+
+/** @} */

+ 115 - 20
modules/base/template/classes/BxBaseModTemplateConfig.php

@@ -9,43 +9,68 @@
  * @{
  */
 
+bx_import('BxDolDesigns');
 bx_import('BxBaseModGeneralConfig');
 
 class BxBaseModTemplateConfig extends BxBaseModGeneralConfig
 {
-	protected $_oDb;
+    protected $_oDb;
 
-	protected $_iLogo;
-	protected $_sLogoAlt;
-	protected $_iLogoWidth;
-	protected $_iLogoHeight;
+    protected $_iLogo;
+    protected $_sLogoAlt;
+    protected $_iLogoWidth;
+    protected $_iLogoHeight;
+    protected $_fLogoAspectRatio;
+    protected $_fLogoAspectRatioDefault;
+
+    protected $_sKeyLogoAspectRatio;
 
     function __construct($aModule)
     {
         parent::__construct($aModule);
+
+        $this->_iLogoWidth = 0;
+        $this->_iLogoHeight = 0;
+        $this->_fLogoAspectRatioDefault = BxDolDesigns::$fLogoAspectRatioDefault;
     }
 
-	public function init(&$oDb)
+    public function init(&$oDb)
     {
         $this->_oDb = &$oDb;
-        $sOptionPrefix = $this->getPrefix('option');
+        $sPrefix = $this->getPrefix('option');
 
-        $this->_iLogo = (int)$this->_oDb->getParam($sOptionPrefix . 'site_logo');
-        $this->_sLogoAlt = $this->_oDb->getParam($sOptionPrefix . 'site_logo_alt');
-        $this->_iLogoWidth = (int)$this->_oDb->getParam($sOptionPrefix . 'site_logo_width');
-        $this->_iLogoHeight = (int)$this->_oDb->getParam($sOptionPrefix . 'site_logo_height');
+        $this->_sKeyLogoAspectRatio = $sPrefix . 'site_logo_aspect_ratio';
+
+        $this->_iLogo = (int)$this->_oDb->getParam($sPrefix . 'site_logo');
+        $this->_sLogoAlt = $this->_oDb->getParam($sPrefix . 'site_logo_alt');
+        $this->_fLogoAspectRatio = (float)$this->_oDb->getParam($this->_sKeyLogoAspectRatio);
     }
 
     public function getLogoParams()
     {
     	$sPrefix = $this->getPrefix('option');
 
-    	return array(
-    		$sPrefix . 'site_logo',
-    		$sPrefix . 'site_logo_alt',
-    		$sPrefix . 'site_logo_width',
-    		$sPrefix . 'site_logo_height'
-    	);
+    	return [
+            $sPrefix . 'site_logo',
+            $sPrefix . 'site_logo_alt'
+    	];
+    }
+
+    public function getLogoValues($sUrl, $aInfo)
+    {
+        if(empty($this->_iLogoHeight))
+            $this->_iLogoHeight = $this->_calculateLogoValuesHeight();
+
+        if(!$this->_fLogoAspectRatio)
+            $this->_fLogoAspectRatio = $this->_calculateLogoValuesAspectRatio($sUrl, $aInfo);
+
+        $this->_iLogoWidth = (int)ceil($this->_iLogoHeight * $this->_fLogoAspectRatio);
+
+        return [
+            $this->_iLogoWidth,
+            $this->_iLogoHeight,
+            $this->_fLogoAspectRatio
+        ];
     }
 
     public function getLogo()
@@ -53,20 +78,90 @@ class BxBaseModTemplateConfig extends BxBaseModGeneralConfig
     	return $this->_iLogo;
     }
 
-	public function getLogoAlt()
+    public function getLogoAlt()
     {
     	return $this->_sLogoAlt;
     }
 
-	public function getLogoWidth()
+    public function getLogoWidth()
     {
     	return $this->_iLogoWidth;
     }
 
-	public function getLogoHeight()
+    public function getLogoHeight()
     {
     	return $this->_iLogoHeight;
     }
+    
+    protected function _calculateLogoValuesHeight()
+    {
+        $sPrefix = $this->getPrefix('option');
+
+        $sHeaderHeight = $this->_oDb->getParam($sPrefix . 'header_height');
+        if(!$sHeaderHeight)
+            return 0;
+
+        $iHeaderHeight = $this->_str2px($sHeaderHeight);
+        if(!$iHeaderHeight)
+            return 0;
+        
+        $sHeaderPaddings = $this->_oDb->getParam($sPrefix . 'header_content_padding');
+        if(!$sHeaderPaddings)
+            return $iHeaderHeight;
+
+        $aHeaderPaddings = explode(' ', $sHeaderPaddings);
+        if(empty($aHeaderPaddings) || !is_array($aHeaderPaddings))
+            return $iHeaderHeight;
+
+        switch(count($aHeaderPaddings)) {
+            case 1;
+            case 2;
+                $iPTop = $iPBottom = $this->_str2px($aHeaderPaddings[0]);
+                break;
+
+            case 3;
+            case 4;
+                $iPTop = $this->_str2px($aHeaderPaddings[0]);
+                $iPBottom = $this->_str2px($aHeaderPaddings[2]);
+                break;
+        }
+
+        return $iHeaderHeight - $iPTop - $iPBottom;
+    }
+    
+    protected function _calculateLogoValuesAspectRatio($sUrl, $aInfo)
+    {
+        if(!$sUrl)
+            return $this->_fLogoAspectRatioDefault;
+
+        $iWidth = $iHeight = 0;
+        if(strpos($sUrl, '.svg') !== false)
+            list($iWidth, $iHeight) = bx_get_svg_image_size($sUrl);
+        else if(isset($aInfo['mime_type']) && strncmp($aInfo['mime_type'], 'image/', 6) === 0)
+            list($iWidth, $iHeight) = getimagesize($sUrl);
+
+        if(!$iHeight) 
+            return $this->_fLogoAspectRatioDefault;
+
+        $fResult = $iWidth / $iHeight;
+        $this->_oDb->setParam($this->_sKeyLogoAspectRatio, $fResult);
+
+        return $fResult;
+    }
+
+    protected function _str2px($sValue)
+    {
+        if(!$sValue)
+            return 0;
+
+        if(($iPosition = strpos($sValue, 'px')) !== false)
+            return (int)substr($sValue, 0, $iPosition);
+
+        if(($iPosition = strpos($sValue, 'rem')) !== false)
+            return (int)ceil(16 * (float)substr($sValue, 0, $iPosition));
+
+        return (int)$sValue;
+    }
 }
 
 /** @} */

+ 14 - 13
modules/boonex/artificer/classes/BxArtificerAlertsResponse.php

@@ -10,33 +10,30 @@
  */
 
 
-class BxArtificerAlertsResponse extends BxDolAlertsResponse
+class BxArtificerAlertsResponse extends BxBaseModTemplateAlertsResponse
 {
-    protected $_sModule;
-    protected $_oModule;
-
     function __construct()
     {
-        parent::__construct();
-
         $this->_sModule = 'bx_artificer';
-    	$this->_oModule = BxDolModule::getInstance($this->_sModule);
+
+        parent::__construct();
     }
 
-    public function response($oAlert)
+    protected function _processSystemChangeLogo($oAlert)
     {
-        $sMethod = '_process' . bx_gen_method_name($oAlert->sUnit . '_' . $oAlert->sAction);           	
-        if(!method_exists($this, $sMethod))
-            return;
+        $sPrefix = $this->_oModule->_oConfig->getPrefix('option');
 
-        if(BxDolTemplate::getInstance()->getCode() != $this->_oModule->_oConfig->getUri())
+        if(!in_array($oAlert->aExtras['option'], ['sys_site_logo', $sPrefix . 'site_logo']))
             return;
 
-        $this->$sMethod($oAlert);
+        setParam($sPrefix . 'site_logo_aspect_ratio', '');
     }
 
     protected function _processSystemGetObject($oAlert)
     {
+        if(!$this->_isActive())
+            return;
+
         if(empty($oAlert->aExtras['type']))
             return;
 
@@ -52,10 +49,14 @@ class BxArtificerAlertsResponse extends BxDolAlertsResponse
 
     protected function _processProfileUnit($oAlert)
     {
+        if(!$this->_isActive())
+            return;
+
         $sModule = $oAlert->aExtras['module'];
         $oModule = BxDolModule::getInstance($sModule);
         if(!$oModule)
             return;
+
         $sTemplate = !empty($oAlert->aExtras['template']) && is_array($oAlert->aExtras['template']) ? $oAlert->aExtras['template'][0] : $oAlert->aExtras['template'];
         $sClassSize = $this->_oModule->_oConfig->getThumbSize(isset($oAlert->aExtras['template'][1]) ? $oAlert->aExtras['template'][1] : '', $sTemplate);
 

+ 2 - 0
modules/boonex/artificer/classes/BxArtificerConfig.php

@@ -23,6 +23,8 @@ class BxArtificerConfig extends BxBaseModTemplateConfig
     {
         parent::__construct($aModule);
 
+        $this->_iLogoHeight = 48;
+
         $this->_aPrefixes = [
             'option' => 'bx_artificer_'
         ];

+ 28 - 9
modules/boonex/artificer/data/template/system/scripts/BxTemplFunctions.php

@@ -7,6 +7,8 @@
  * @{
  */
 
+bx_import('BxDolDesigns');
+
 class BxTemplFunctions extends BxBaseFunctions
 {
     public function __construct($oTemplate = null)
@@ -32,31 +34,48 @@ class BxTemplFunctions extends BxBaseFunctions
 
         $bDefault = false;
         if(($sFileUrl = $this->getMainLogoUrl()) !== false || ($bDefault = (!$bTitle && ($sFileUrl = $this->_oTemplate->getImageUrl('logo-generic.svg')) != ''))) {
-            $iLogoWidth = (int)$oDesigns->getSiteLogoWidth();
-            $sMaxWidth = $iLogoWidth > 0 ? 'max-width:' . round($iLogoWidth/16, 3) . 'rem;' : '';
-
-            $iLogoHeight = (int)$oDesigns->getSiteLogoHeight();
-            $sMaxHeight = $iLogoHeight > 0 ? 'max-height:' . round($iLogoHeight/16, 3) . 'rem;' : '';
-
             $bTmplVarsShowTitle = false;
             $aTmplVarsShowImage = [
                 'class' => '',
-                'style' => $sMaxWidth . $sMaxHeight,
+                'style' => '',
                 'src' => $sFileUrl,
                 'alt' => $sAltAttr
             ];
 
+            $iLogoHeight = (int)$oDesigns->getSiteLogoHeight();
+            $sHeight = $iLogoHeight > 0 ? 'height:' . round($iLogoHeight/16, 3) . 'rem;' : '';
+
             if($bDefault) {
+                //--- Default Logo
+                list($iDlWidth, $iDlHeight) = bx_get_svg_image_size($sFileUrl);
+                $fDlAspectRation = $iDlHeight ? $iDlWidth / $iDlHeight : BxDolDesigns::$fLogoAspectRatioDefault;
+
+                $iLogoWidth = $iLogoHeight * $fDlAspectRation;
+
+                //--- Default Logo Mini
                 $aTmplVarsShowImage['class'] = 'hidden lg:block';
 
-                if(($sFileUrl = $this->_oTemplate->getImageUrl('mark-generic.svg')) != '')
+                if(($sFileUrl = $this->_oTemplate->getImageUrl('mark-generic.svg')) != '') {
+                    list($iMlWidth, $iMlHeight) = bx_get_svg_image_size($sFileUrl);
+                    $fMlAspectRation = $iMlHeight ? $iMlWidth / $iMlHeight : BxDolDesigns::$fLogoAspectRatioDefault;
+                    
+                    $imlLogoWidth = $iLogoHeight * $fMlAspectRation;
+                    $sMlWidth = $imlLogoWidth > 0 ? 'width:' . round($imlLogoWidth/16, 3) . 'rem;' : '';
+
                     $aTmplVarsShowImageMini = [
                         'class' => 'block lg:hidden',
-                        'style' => $sMaxWidth . $sMaxHeight,
+                        'style' => $sMlWidth . ' ' . $sHeight,
                         'src' => $sFileUrl,
                         'alt' => $sAltAttr
                     ];
+                }
             }
+            else
+                $iLogoWidth = $oDesigns->getSiteLogoWidth();
+
+            $sWidth = $iLogoWidth > 0 ? 'width:' . round($iLogoWidth/16, 3) . 'rem;' : '';
+
+            $aTmplVarsShowImage['style'] = $sWidth . ' ' . $sHeight;
         }
 
         $aAttrs = [

+ 4 - 4
modules/boonex/artificer/install/sql/disable.sql

@@ -1,22 +1,22 @@
 SET @sName = 'bx_artificer';
 
 
--- pages
+-- PAGES
 DELETE FROM `sys_objects_page` WHERE `module` = @sName;
 DELETE FROM `sys_pages_blocks` WHERE `module` = @sName; -- OR `object` IN ();
 
 
--- menu: dropdown menu
+-- MENU: dropdown menu
 DELETE FROM `sys_menu_templates` WHERE `template`='menu_sidebar_site.html' AND `title`='_bx_artificer_menu_template_title_sidebar_site';
 
 DELETE FROM `sys_objects_menu` WHERE `object`='bx_artificer_sidebar_site';
 
 
--- alerts
+-- ALERTS
 SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = @sName LIMIT 1);
 DELETE FROM `sys_alerts` WHERE `handler_id` = @iHandler;
 DELETE FROM `sys_alerts_handlers` WHERE `id` = @iHandler;
 
 
--- injections
+-- INJECTIONS
 DELETE FROM `sys_injections` WHERE `name` LIKE 'bx_artificer_%';

Fișier diff suprimat deoarece este prea mare
+ 1 - 1
modules/boonex/artificer/install/sql/enable.sql


+ 1 - 2
modules/boonex/artificer/install/sql/install.sql

@@ -30,8 +30,7 @@ SET @iSystemCategoryOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_options` W
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 (@iSystemCategoryId, CONCAT(@sName, '_site_logo'), '', '0', 'digit', '', '', '', @iSystemCategoryOrder + 1),
 (@iSystemCategoryId, CONCAT(@sName, '_site_logo_alt'), '', '', 'text', '', '', '', @iSystemCategoryOrder + 2),
-(@iSystemCategoryId, CONCAT(@sName, '_site_logo_width'), '', '240', 'digit', '', '', '', @iSystemCategoryOrder + 3),
-(@iSystemCategoryId, CONCAT(@sName, '_site_logo_height'), '', '32', 'digit', '', '', '', @iSystemCategoryOrder + 4);
+(@iSystemCategoryId, CONCAT(@sName, '_site_logo_aspect_ratio'), '', '', 'digit', '', '', '', @iSystemCategoryOrder + 3);
 
 
 -- STUDIO PAGE & WIDGET

+ 22 - 0
modules/boonex/decorous/classes/BxDecorousAlertsResponse.php

@@ -0,0 +1,22 @@
+<?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
+ *
+ * @{
+ */
+
+class BxDecorousAlertsResponse extends BxBaseModTemplateAlertsResponse
+{
+    function __construct()
+    {
+        $this->_sModule = 'bx_decorous';
+
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 0 - 2
modules/boonex/decorous/install/langs/en.xml

@@ -22,8 +22,6 @@
 	<string name="_bx_decorous_stg_cpt_option_header_bg_image_size"><![CDATA[Background image size]]></string>	
 	<string name="_bx_decorous_stg_cpt_option_site_logo"><![CDATA[Logo image]]></string>
 	<string name="_bx_decorous_stg_cpt_option_site_logo_alt"><![CDATA[Logo ALT]]></string>
-	<string name="_bx_decorous_stg_cpt_option_site_logo_width"><![CDATA[Logo width]]></string>
-	<string name="_bx_decorous_stg_cpt_option_site_logo_height"><![CDATA[Logo height]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_border_color"><![CDATA[Header border color]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_border_size"><![CDATA[Header border size]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_shadow"><![CDATA[Shadow]]></string>

+ 7 - 1
modules/boonex/decorous/install/sql/disable.sql

@@ -1,5 +1,11 @@
 SET @sName = 'bx_decorous';
 
 
--- injections
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = @sName LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `handler_id` = @iHandler;
+DELETE FROM `sys_alerts_handlers` WHERE `id` = @iHandler;
+
+
+-- INJECTIONS
 DELETE FROM `sys_injections` WHERE `name` = @sName;

+ 11 - 1
modules/boonex/decorous/install/sql/enable.sql

@@ -1,6 +1,16 @@
 SET @sName = 'bx_decorous';
 
 
--- injections
+-- ALERTS
+INSERT INTO `sys_alerts_handlers` (`name`, `class`, `file`, `service_call`) VALUES 
+(@sName, 'BxDecorousAlertsResponse', 'modules/boonex/decorous/classes/BxDecorousAlertsResponse.php', '');
+SET @iHandler := LAST_INSERT_ID();
+
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('system', 'save_setting', @iHandler),
+('system', 'change_logo', @iHandler);
+
+
+-- INJECTIONS
 INSERT INTO `sys_injections` (`name`, `page_index`, `key`, `type`, `data`, `replace`, `active`) VALUES
 (@sName, 0, 'injection_head', 'service', 'a:2:{s:6:"module";s:11:"bx_decorous";s:6:"method";s:14:"include_css_js";}', 0, 1);

+ 12 - 9
modules/boonex/decorous/install/sql/install.sql

@@ -2,6 +2,11 @@ SET @sName = 'bx_decorous';
 
 
 -- SETTINGS
+SET @iSystemCategoryId = (SELECT `id` FROM `sys_options_categories` WHERE `name`='system' LIMIT 1);
+SET @iSystemCategoryOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_options` WHERE `category_id`=@iSystemCategoryId LIMIT 1);
+INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
+(@iSystemCategoryId, CONCAT(@sName, '_site_logo_aspect_ratio'), '', '', 'digit', '', '', '', @iSystemCategoryOrder + 1);
+
 INSERT INTO `sys_options_types`(`group`, `name`, `caption`, `icon`, `order`) VALUES 
 ('templates', @sName, '_bx_decorous_stg_cpt_type', 'bx_decorous@modules/boonex/decorous/|std-icon.svg', 2);
 SET @iTypeId = LAST_INSERT_ID();
@@ -42,15 +47,13 @@ INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `ex
 (@iCategoryId, CONCAT(@sName, '_header_bg_image_size'), '_bx_decorous_stg_cpt_option_header_bg_image_size', 'cover', 'select', 'auto,cover,contain', '', '', 7),
 (@iCategoryId, CONCAT(@sName, '_site_logo'), '_bx_decorous_stg_cpt_option_site_logo', '', 'image', '', '', '', 8),
 (@iCategoryId, CONCAT(@sName, '_site_logo_alt'), '_bx_decorous_stg_cpt_option_site_logo_alt', '', 'text', '', '', '', 9),
-(@iCategoryId, CONCAT(@sName, '_site_logo_width'), '_bx_decorous_stg_cpt_option_site_logo_width', '240', 'digit', '', '', '', 10),
-(@iCategoryId, CONCAT(@sName, '_site_logo_height'), '_bx_decorous_stg_cpt_option_site_logo_height', '64', 'digit', '', '', '', 11),
-(@iCategoryId, CONCAT(@sName, '_header_border_color'), '_bx_decorous_stg_cpt_option_header_border_color', 'rgba(0, 0, 0, 0.1)', 'rgba', '', '', '', 12),
-(@iCategoryId, CONCAT(@sName, '_header_border_size'), '_bx_decorous_stg_cpt_option_header_border_size', '1px', 'digit', '', '', '', 13),
-(@iCategoryId, CONCAT(@sName, '_header_shadow'), '_bx_decorous_stg_cpt_option_header_shadow', '', 'digit', '', '', '', 14),
-(@iCategoryId, CONCAT(@sName, '_header_icon_color'), '_bx_decorous_stg_cpt_option_header_icon_color', 'rgba(89, 89, 89, 1)', 'rgba', '', '', '', 15),
-(@iCategoryId, CONCAT(@sName, '_header_icon_color_hover'), '_bx_decorous_stg_cpt_option_header_icon_color_hover', 'rgba(24, 144, 255, 1)', 'rgba', '', '', '', 16),
-(@iCategoryId, CONCAT(@sName, '_header_link_color'), '_bx_decorous_stg_cpt_option_header_link_color', 'rgba(89, 89, 89, 1)', 'rgba', '', '', '', 17),
-(@iCategoryId, CONCAT(@sName, '_header_link_color_hover'), '_bx_decorous_stg_cpt_option_header_link_color_hover', 'rgba(24, 144, 255, 1)', 'rgba', '', '', '', 18);
+(@iCategoryId, CONCAT(@sName, '_header_border_color'), '_bx_decorous_stg_cpt_option_header_border_color', 'rgba(0, 0, 0, 0.1)', 'rgba', '', '', '', 10),
+(@iCategoryId, CONCAT(@sName, '_header_border_size'), '_bx_decorous_stg_cpt_option_header_border_size', '1px', 'digit', '', '', '', 11),
+(@iCategoryId, CONCAT(@sName, '_header_shadow'), '_bx_decorous_stg_cpt_option_header_shadow', '', 'digit', '', '', '', 12),
+(@iCategoryId, CONCAT(@sName, '_header_icon_color'), '_bx_decorous_stg_cpt_option_header_icon_color', 'rgba(89, 89, 89, 1)', 'rgba', '', '', '', 13),
+(@iCategoryId, CONCAT(@sName, '_header_icon_color_hover'), '_bx_decorous_stg_cpt_option_header_icon_color_hover', 'rgba(24, 144, 255, 1)', 'rgba', '', '', '', 14),
+(@iCategoryId, CONCAT(@sName, '_header_link_color'), '_bx_decorous_stg_cpt_option_header_link_color', 'rgba(89, 89, 89, 1)', 'rgba', '', '', '', 15),
+(@iCategoryId, CONCAT(@sName, '_header_link_color_hover'), '_bx_decorous_stg_cpt_option_header_link_color_hover', 'rgba(24, 144, 255, 1)', 'rgba', '', '', '', 16);
 
 -- SETTINGS: Decorous template Styles Footer
 INSERT INTO `sys_options_categories`(`type_id`, `name`, `caption`, `order`) VALUES 

+ 1 - 1
modules/boonex/decorous/install/sql/uninstall.sql

@@ -3,7 +3,7 @@ SET @sName = 'bx_decorous';
 
 -- SETTINGS
 DELETE FROM `top`, `toc`, `to` USING `sys_options_types` AS `top` LEFT JOIN `sys_options_categories` AS `toc` ON `top`.`id`=`toc`.`type_id` LEFT JOIN `sys_options` AS `to` ON `toc`.`id`=`to`.`category_id` WHERE `top`.`name`=@sName;
-
+DELETE FROM `sys_options` WHERE `name` LIKE 'bx_decorous_site_%';
 
 -- MIXES
 DELETE FROM `tom`, `tomo` USING `sys_options_mixes` AS `tom` LEFT JOIN `sys_options_mixes2options` AS `tomo` ON `tom`.`id`=`tomo`.`mix_id` WHERE `tom`.`type`=@sName;

+ 22 - 0
modules/boonex/lucid/classes/BxLucidAlertsResponse.php

@@ -0,0 +1,22 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Lucid Lucid template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxLucidAlertsResponse extends BxBaseModTemplateAlertsResponse
+{
+    function __construct()
+    {
+        $this->_sModule = 'bx_lucid';
+
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 0 - 2
modules/boonex/lucid/install/langs/en.xml

@@ -22,8 +22,6 @@
 	<string name="_bx_lucid_stg_cpt_option_header_bg_image_size"><![CDATA[Background image size]]></string>	
 	<string name="_bx_lucid_stg_cpt_option_site_logo"><![CDATA[Logo image]]></string>
 	<string name="_bx_lucid_stg_cpt_option_site_logo_alt"><![CDATA[Logo ALT]]></string>
-	<string name="_bx_lucid_stg_cpt_option_site_logo_width"><![CDATA[Logo width]]></string>
-	<string name="_bx_lucid_stg_cpt_option_site_logo_height"><![CDATA[Logo height]]></string>
 	<string name="_bx_lucid_stg_cpt_option_header_border_color"><![CDATA[Header border color]]></string>
 	<string name="_bx_lucid_stg_cpt_option_header_border_size"><![CDATA[Header border size]]></string>
 	<string name="_bx_lucid_stg_cpt_option_header_shadow"><![CDATA[Shadow]]></string>

+ 6 - 0
modules/boonex/lucid/install/sql/disable.sql

@@ -8,3 +8,9 @@ DELETE FROM `sys_objects_menu` WHERE `object`='bx_lucid_dropdown_site';
 
 -- MENU: member toolbar
 DELETE FROM `sys_menu_items` WHERE `set_name`='sys_toolbar_member' AND `name` IN ('bx_lucid_search');
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = @sName LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `handler_id` = @iHandler;
+DELETE FROM `sys_alerts_handlers` WHERE `id` = @iHandler;

+ 10 - 0
modules/boonex/lucid/install/sql/enable.sql

@@ -13,3 +13,13 @@ INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `templat
 SET @iMIOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_menu_items` WHERE `set_name` = 'sys_toolbar_member' LIMIT 1);
 INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `submenu_popup`, `visible_for_levels`, `hidden_on`, `active`, `copyable`, `order`) VALUES
 ('sys_toolbar_member', 'system', 'bx_lucid_search', '_bx_lucid_menu_item_title_system_search', '', 'javascript:void(0);', 'bx_menu_slide_inline(''#bx-sliding-menu-search'', this, ''site'');', '', 'search', '', '', 0, 2147483647, 7, 1, 0, 0);
+
+
+-- ALERTS
+INSERT INTO `sys_alerts_handlers` (`name`, `class`, `file`, `service_call`) VALUES 
+(@sName, 'BxLucidAlertsResponse', 'modules/boonex/lucid/classes/BxLucidAlertsResponse.php', '');
+SET @iHandler := LAST_INSERT_ID();
+
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('system', 'save_setting', @iHandler),
+('system', 'change_logo', @iHandler);

+ 12 - 11
modules/boonex/lucid/install/sql/install.sql

@@ -2,6 +2,11 @@ SET @sName = 'bx_lucid';
 
 
 -- SETTINGS
+SET @iSystemCategoryId = (SELECT `id` FROM `sys_options_categories` WHERE `name`='system' LIMIT 1);
+SET @iSystemCategoryOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_options` WHERE `category_id`=@iSystemCategoryId LIMIT 1);
+INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
+(@iSystemCategoryId, CONCAT(@sName, '_site_logo_aspect_ratio'), '', '', 'digit', '', '', '', @iSystemCategoryOrder + 1);
+
 INSERT INTO `sys_options_types`(`group`, `name`, `caption`, `icon`, `order`) VALUES 
 ('templates', @sName, '_bx_lucid_stg_cpt_type', 'bx_lucid@modules/boonex/lucid/|std-icon.svg', 2);
 SET @iTypeId = LAST_INSERT_ID();
@@ -42,15 +47,13 @@ INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `ex
 (@iCategoryId, CONCAT(@sName, '_header_bg_image_size'), '_bx_lucid_stg_cpt_option_header_bg_image_size', 'cover', 'select', 'auto,cover,contain', '', '', 6),
 (@iCategoryId, CONCAT(@sName, '_site_logo'), '_bx_lucid_stg_cpt_option_site_logo', '', 'image', '', '', '', 7),
 (@iCategoryId, CONCAT(@sName, '_site_logo_alt'), '_bx_lucid_stg_cpt_option_site_logo_alt', '', 'text', '', '', '', 8),
-(@iCategoryId, CONCAT(@sName, '_site_logo_width'), '_bx_lucid_stg_cpt_option_site_logo_width', '240', 'digit', '', '', '', 9),
-(@iCategoryId, CONCAT(@sName, '_site_logo_height'), '_bx_lucid_stg_cpt_option_site_logo_height', '48', 'digit', '', '', '', 10),
-(@iCategoryId, CONCAT(@sName, '_header_border_color'), '_bx_lucid_stg_cpt_option_header_border_color', 'rgba(255, 255, 255, 1.0)', 'rgba', '', '', '', 11),
-(@iCategoryId, CONCAT(@sName, '_header_border_size'), '_bx_lucid_stg_cpt_option_header_border_size', '1px', 'digit', '', '', '', 12),
-(@iCategoryId, CONCAT(@sName, '_header_shadow'), '_bx_lucid_stg_cpt_option_header_shadow', 'none', 'digit', '', '', '', 13),
-(@iCategoryId, CONCAT(@sName, '_header_icon_color'), '_bx_lucid_stg_cpt_option_header_icon_color', 'rgba(255, 255, 255, 0.8)', 'rgba', '', '', '', 14),
-(@iCategoryId, CONCAT(@sName, '_header_icon_color_hover'), '_bx_lucid_stg_cpt_option_header_icon_color_hover', 'rgba(255, 255, 255, 1)', 'rgba', '', '', '', 15),
-(@iCategoryId, CONCAT(@sName, '_header_link_color'), '_bx_lucid_stg_cpt_option_header_link_color', 'rgba(215, 235, 255, 1)', 'rgba', '', '', '', 16),
-(@iCategoryId, CONCAT(@sName, '_header_link_color_hover'), '_bx_lucid_stg_cpt_option_header_link_color_hover', 'rgba(255, 255, 255, 1)', 'rgba', '', '', '', 17);
+(@iCategoryId, CONCAT(@sName, '_header_border_color'), '_bx_lucid_stg_cpt_option_header_border_color', 'rgba(255, 255, 255, 1.0)', 'rgba', '', '', '', 9),
+(@iCategoryId, CONCAT(@sName, '_header_border_size'), '_bx_lucid_stg_cpt_option_header_border_size', '1px', 'digit', '', '', '', 10),
+(@iCategoryId, CONCAT(@sName, '_header_shadow'), '_bx_lucid_stg_cpt_option_header_shadow', 'none', 'digit', '', '', '', 11),
+(@iCategoryId, CONCAT(@sName, '_header_icon_color'), '_bx_lucid_stg_cpt_option_header_icon_color', 'rgba(255, 255, 255, 0.8)', 'rgba', '', '', '', 12),
+(@iCategoryId, CONCAT(@sName, '_header_icon_color_hover'), '_bx_lucid_stg_cpt_option_header_icon_color_hover', 'rgba(255, 255, 255, 1)', 'rgba', '', '', '', 13),
+(@iCategoryId, CONCAT(@sName, '_header_link_color'), '_bx_lucid_stg_cpt_option_header_link_color', 'rgba(215, 235, 255, 1)', 'rgba', '', '', '', 14),
+(@iCategoryId, CONCAT(@sName, '_header_link_color_hover'), '_bx_lucid_stg_cpt_option_header_link_color_hover', 'rgba(255, 255, 255, 1)', 'rgba', '', '', '', 15);
 
 -- SETTINGS: Lucid template Styles Footer
 INSERT INTO `sys_options_categories`(`type_id`, `name`, `caption`, `order`) VALUES 
@@ -731,8 +734,6 @@ INSERT INTO `sys_options_mixes2options` (`option`, `mix_id`, `value`) VALUES
 ('bx_lucid_header_icon_color_hover', @iMixId, 'rgba(24, 144, 255, 1)'),
 ('bx_lucid_site_logo_alt', @iMixId, ''),
 ('bx_lucid_header_link_color_hover', @iMixId, 'rgba(24, 144, 255, 1)'),
-('bx_lucid_site_logo_height', @iMixId, '28'),
-('bx_lucid_site_logo_width', @iMixId, '0'),
 ('bx_lucid_header_border_color', @iMixId, 'rgba(245, 245, 245, 1)'),
 ('bx_lucid_header_bg_image_size', @iMixId, 'cover'),
 ('bx_lucid_header_bg_image_repeat', @iMixId, 'no-repeat'),

+ 1 - 1
modules/boonex/lucid/install/sql/uninstall.sql

@@ -3,7 +3,7 @@ SET @sName = 'bx_lucid';
 
 -- SETTINGS
 DELETE FROM `top`, `toc`, `to` USING `sys_options_types` AS `top` LEFT JOIN `sys_options_categories` AS `toc` ON `top`.`id`=`toc`.`type_id` LEFT JOIN `sys_options` AS `to` ON `toc`.`id`=`to`.`category_id` WHERE `top`.`name`=@sName;
-
+DELETE FROM `sys_options` WHERE `name` LIKE 'bx_lucid_site_%';
 
 -- MIXES
 DELETE FROM `tom`, `tomo` USING `sys_options_mixes` AS `tom` LEFT JOIN `sys_options_mixes2options` AS `tomo` ON `tom`.`id`=`tomo`.`mix_id` WHERE `tom`.`type`=@sName;

+ 33 - 0
modules/boonex/ocean/classes/BxOceanAlertsResponse.php

@@ -0,0 +1,33 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Ocean Ocean Template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+
+class BxOceanAlertsResponse extends BxBaseModTemplateAlertsResponse
+{
+    function __construct()
+    {
+        $this->_sModule = 'bx_ocean';
+
+        parent::__construct();
+    }
+
+    protected function _processSystemChangeLogo($oAlert)
+    {
+        $sPrefix = $this->_oModule->_oConfig->getPrefix('option');
+
+        if(!in_array($oAlert->aExtras['option'], ['sys_site_logo', $sPrefix . 'site_logo']))
+            return;
+
+        setParam($sPrefix . 'site_logo_aspect_ratio', '');
+    }
+}
+
+/** @} */

+ 3 - 1
modules/boonex/ocean/classes/BxOceanConfig.php

@@ -17,8 +17,10 @@ class BxOceanConfig extends BxBaseModTemplateConfig
     {
         parent::__construct($aModule);
 
+        $this->_iLogoHeight = 48;
+
         $this->_aPrefixes = array(
-        	'option' => 'bx_ocean_'
+            'option' => 'bx_ocean_'
         );
     }
 }

+ 8 - 5
modules/boonex/ocean/data/template/system/css/general.css

@@ -13,20 +13,23 @@
     box-shadow: 0px 1px 3px #888;
 }
 #bx-logo-container {
-    height: 64px;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+
     height: 4rem;
 }
 #bx-logo-container,
 #bx-logo-container a span {
-    line-height: 64px;
     line-height: 4rem;
 }
 
 /* --------------- content */
 #bx-content-wrapper {
-	background-image: url(../images/bg-page.png);
-	background-repeat: repeat-x;
-	border-top: 1px solid #3498bf;
+    background-image: url(../images/bg-page.png);
+    background-repeat: repeat-x;
+    border-top: 1px solid #3498bf;
 }
 
 /* --------------- footer */

+ 7 - 1
modules/boonex/ocean/install/sql/disable.sql

@@ -1 +1,7 @@
-SET @sName = 'bx_ocean';
+SET @sName = 'bx_ocean';
+
+
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = @sName LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `handler_id` = @iHandler;
+DELETE FROM `sys_alerts_handlers` WHERE `id` = @iHandler;

+ 10 - 1
modules/boonex/ocean/install/sql/enable.sql

@@ -1 +1,10 @@
-SET @sName = 'bx_ocean';
+SET @sName = 'bx_ocean';
+
+
+-- ALERTS
+INSERT INTO `sys_alerts_handlers` (`name`, `class`, `file`, `service_call`) VALUES 
+(@sName, 'BxOceanAlertsResponse', 'modules/boonex/ocean/classes/BxOceanAlertsResponse.php', '');
+SET @iHandler := LAST_INSERT_ID();
+
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('system', 'change_logo', @iHandler);

+ 1 - 2
modules/boonex/ocean/install/sql/install.sql

@@ -18,8 +18,7 @@ SET @iSystemCategoryOrder = (SELECT IFNULL(MAX(`order`), 0) FROM `sys_options` W
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 (@iSystemCategoryId, CONCAT(@sName, '_site_logo'), '', '0', 'digit', '', '', '', @iSystemCategoryOrder + 1),
 (@iSystemCategoryId, CONCAT(@sName, '_site_logo_alt'), '', '', 'text', '', '', '', @iSystemCategoryOrder + 2),
-(@iSystemCategoryId, CONCAT(@sName, '_site_logo_width'), '', '240', 'digit', '', '', '', @iSystemCategoryOrder + 3),
-(@iSystemCategoryId, CONCAT(@sName, '_site_logo_height'), '', '48', 'digit', '', '', '', @iSystemCategoryOrder + 4);
+(@iSystemCategoryId, CONCAT(@sName, '_site_logo_aspect_ratio'), '', '', 'digit', '', '', '', @iSystemCategoryOrder + 3);
 
 
 -- STUDIO PAGE & WIDGET

+ 3 - 1
modules/boonex/ocean/install/sql/uninstall.sql

@@ -1,8 +1,10 @@
 SET @sName = 'bx_ocean';
 
+
 -- SETTINGS
 DELETE FROM `top`, `toc`, `to` USING `sys_options_types` AS `top` LEFT JOIN `sys_options_categories` AS `toc` ON `top`.`id`=`toc`.`type_id` LEFT JOIN `sys_options` AS `to` ON `toc`.`id`=`to`.`category_id` WHERE `top`.`name`=@sName;
-DELETE FROM `sys_options` WHERE `name` IN (CONCAT(@sName, '_site_logo'), CONCAT(@sName, '_site_logo_alt'), CONCAT(@sName, '_site_logo_width'), CONCAT(@sName, '_site_logo_height'));
+DELETE FROM `sys_options` WHERE `name` LIKE 'bx_ocean_site_%';
+
 
 -- STUDIO PAGE & WIDGET
 DELETE FROM `tp`, `tw`, `twb`, `tpw` 

+ 22 - 0
modules/boonex/protean/classes/BxProteanAlertsResponse.php

@@ -0,0 +1,22 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Protean Protean template
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxProteanAlertsResponse extends BxBaseModTemplateAlertsResponse
+{
+    function __construct()
+    {
+        $this->_sModule = 'bx_protean';
+
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 0 - 2
modules/boonex/protean/install/langs/en.xml

@@ -22,8 +22,6 @@
 	<string name="_bx_protean_stg_cpt_option_header_bg_image_size"><![CDATA[Background image size]]></string>	
 	<string name="_bx_protean_stg_cpt_option_site_logo"><![CDATA[Logo image]]></string>
 	<string name="_bx_protean_stg_cpt_option_site_logo_alt"><![CDATA[Logo ALT]]></string>
-	<string name="_bx_protean_stg_cpt_option_site_logo_width"><![CDATA[Logo width]]></string>
-	<string name="_bx_protean_stg_cpt_option_site_logo_height"><![CDATA[Logo height]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_border_color"><![CDATA[Header border color]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_border_size"><![CDATA[Header border size]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_shadow"><![CDATA[Shadow]]></string>

+ 7 - 1
modules/boonex/protean/install/sql/disable.sql

@@ -1,5 +1,11 @@
 SET @sName = 'bx_protean';
 
 
--- injections
+-- ALERTS
+SET @iHandler := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = @sName LIMIT 1);
+DELETE FROM `sys_alerts` WHERE `handler_id` = @iHandler;
+DELETE FROM `sys_alerts_handlers` WHERE `id` = @iHandler;
+
+
+-- INJECTIONS
 DELETE FROM `sys_injections` WHERE `name` = @sName;

+ 11 - 1
modules/boonex/protean/install/sql/enable.sql

@@ -1,6 +1,16 @@
 SET @sName = 'bx_protean';
 
 
--- injections
+-- ALERTS
+INSERT INTO `sys_alerts_handlers` (`name`, `class`, `file`, `service_call`) VALUES 
+(@sName, 'BxProteanAlertsResponse', 'modules/boonex/protean/classes/BxProteanAlertsResponse.php', '');
+SET @iHandler := LAST_INSERT_ID();
+
+INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
+('system', 'save_setting', @iHandler),
+('system', 'change_logo', @iHandler);
+
+
+-- INJECTIONS
 INSERT INTO `sys_injections` (`name`, `page_index`, `key`, `type`, `data`, `replace`, `active`) VALUES
 (@sName, 0, 'injection_head', 'service', 'a:2:{s:6:"module";s:10:"bx_protean";s:6:"method";s:14:"include_css_js";}', 0, 1);

Fișier diff suprimat deoarece este prea mare
+ 12 - 15
modules/boonex/protean/install/sql/install.sql


+ 1 - 0
modules/boonex/protean/install/sql/uninstall.sql

@@ -3,6 +3,7 @@ SET @sName = 'bx_protean';
 
 -- SETTINGS
 DELETE FROM `top`, `toc`, `to` USING `sys_options_types` AS `top` LEFT JOIN `sys_options_categories` AS `toc` ON `top`.`id`=`toc`.`type_id` LEFT JOIN `sys_options` AS `to` ON `toc`.`id`=`to`.`category_id` WHERE `top`.`name`=@sName;
+DELETE FROM `sys_options` WHERE `name` LIKE 'bx_protean_site_%';
 
 
 -- MIXES

+ 0 - 2
modules/boonex/russian/data/langs/bx_decorous/ru.xml

@@ -22,8 +22,6 @@
 	<string name="_bx_decorous_stg_cpt_option_header_bg_image_size"><![CDATA[Размер изображения фона]]></string>
 	<string name="_bx_decorous_stg_cpt_option_site_logo"><![CDATA[Эмблема]]></string>
 	<string name="_bx_decorous_stg_cpt_option_site_logo_alt"><![CDATA[Эмблема ALT]]></string>
-	<string name="_bx_decorous_stg_cpt_option_site_logo_width"><![CDATA[Ширина эмблемы]]></string>
-	<string name="_bx_decorous_stg_cpt_option_site_logo_height"><![CDATA[Высота эмблемы]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_border_color"><![CDATA[Цвет границы заголовка]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_border_size"><![CDATA[Размер границы заголовка]]></string>
 	<string name="_bx_decorous_stg_cpt_option_header_shadow"><![CDATA[Тень]]></string>

+ 0 - 2
modules/boonex/russian/data/langs/bx_lucid/ru.xml

@@ -22,8 +22,6 @@
     <string name="_bx_lucid_stg_cpt_option_header_bg_image_size"><![CDATA[Размер изображения фона]]></string>	
     <string name="_bx_lucid_stg_cpt_option_site_logo"><![CDATA[Эмблема]]></string>
     <string name="_bx_lucid_stg_cpt_option_site_logo_alt"><![CDATA[Эмблема ALT]]></string>
-    <string name="_bx_lucid_stg_cpt_option_site_logo_width"><![CDATA[Ширина эмблемы]]></string>
-    <string name="_bx_lucid_stg_cpt_option_site_logo_height"><![CDATA[Высота эмблемы]]></string>
     <string name="_bx_lucid_stg_cpt_option_header_border_color"><![CDATA[Цвет границы заголовка]]></string>
     <string name="_bx_lucid_stg_cpt_option_header_border_size"><![CDATA[Размер границы заголовка]]></string>
     <string name="_bx_lucid_stg_cpt_option_header_shadow"><![CDATA[Тень]]></string>

+ 0 - 2
modules/boonex/russian/data/langs/bx_protean/ru.xml

@@ -22,8 +22,6 @@
 	<string name="_bx_protean_stg_cpt_option_header_bg_image_size"><![CDATA[Размер изображения фона]]></string>
 	<string name="_bx_protean_stg_cpt_option_site_logo"><![CDATA[Эмблема]]></string>
 	<string name="_bx_protean_stg_cpt_option_site_logo_alt"><![CDATA[Эмблема ALT]]></string>
-	<string name="_bx_protean_stg_cpt_option_site_logo_width"><![CDATA[Ширина эмблемы]]></string>
-	<string name="_bx_protean_stg_cpt_option_site_logo_height"><![CDATA[Высота эмблемы]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_border_color"><![CDATA[Цвет границы заголовка]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_border_size"><![CDATA[Размер границы заголовка]]></string>
 	<string name="_bx_protean_stg_cpt_option_header_shadow"><![CDATA[Тень]]></string>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff