AlexeyUna 2 лет назад
Родитель
Сommit
ac89f5cc5a

+ 5 - 1
inc/classes/BxDolVoteReactions.php

@@ -134,7 +134,11 @@ class BxDolVoteReactions extends BxTemplVote
     {
         $aReaction = isset($this->_aDataList[$sReaction]) ? $this->_aDataList[$sReaction] : $this->_aDataList[$this->_sDefault];
 
-    	return $aReaction['image'];
+        list($sIconFont, $sIconUrl, $sIconA, $sIconHtml) = BxTemplFunctions::getInstanceWithTemplate($this->_oTemplate)->getIcon($aReaction['image']);
+        if ($sIconUrl)
+            return $this->_oTemplate->parseImage($sIconUrl, ['class' => 'sys-icon-image']);
+
+    	return $sIconHtml;
     }
 
     /**

+ 1 - 1
inc/js/classes/BxDolVoteReactions.js

@@ -88,7 +88,7 @@ BxDolVoteReactions.prototype.onVote = function (oLink, oData, onComplete)
         if(oData && oData.label_use)
             switch(oData.label_use) {
                 case 'icon':
-                    if($(this).find('.sys-action-do-icon .sys-icon').length != 0)
+                    if($(this).find('.sys-action-do-icon .sys-icon').length && !$(oData.label_icon).hasClass('sys-icon'))
                         $(this).find('.sys-action-do-icon .sys-icon').attr('class', 'sys-icon ' + oData.label_icon).html('');
                     else
                         $(this).find('.sys-action-do-icon').html(oData.label_icon);

+ 2 - 0
modules/boonex/artificer/data/template/system/css/menu.css

@@ -210,6 +210,7 @@ div.bx-popup-menu-main.sys-add-content ul {
 }
 
 /*--- Profiles meta menu ---*/
+.sys-action-counter-icon .sys-icon-image,
 .sys-action-counter-icon .sys-icon{
     width: 1rem;
     height: 1rem;
@@ -217,6 +218,7 @@ div.bx-popup-menu-main.sys-add-content ul {
     line-height: 1.1rem;
     text-align: center;
 }
+.sys-action-counter-icon .sys-icon-image,
 .sys-action-counter-icon .sys-icon.sys-icon-emoji{
     line-height: 1rem;
 }

+ 22 - 15
template/scripts/BxBaseFunctions.php

@@ -188,24 +188,31 @@ class BxBaseFunctions extends BxDolFactory implements iBxDolSingleton
                 $sIconUrl = $oStorage ? $oStorage->getFileUrlById((int)$sCode) : false;
             } 
             else {
-                //--- Process Inline SVG
-                if (strpos($sCode, '&lt;svg') !== false || strpos($sCode, '<svg') !== false) {
-                    if(strpos($sCode, '&lt;svg') !== false)
+
+                if (strpos($sCode, '&lt;img') !== false || strpos($sCode, '<img') !== false) {
+                    if(strpos($sCode, '&lt;img') !== false)
                         $sIconHtml = htmlspecialchars_decode($sCode);
                     else
-                        $sIconHtml = $sCode;    
-
-                    $sClass .= 'sys-icon sys-icon-svg ';
-                    
-                    
-                    $sIconHtmlClear = strip_tags($sIconHtml, '<svg>');
-                    if ($sClass != '' && strpos($sIconHtmlClear, 'class="') !== false)
-                        $sIconHtml = str_replace('class="', 'class="' . $sClass, $sIconHtml);
-                    else
-                        $sIconHtml = str_replace('<svg', '<svg class="' . $sClass . '" ', $sIconHtml);
+                        $sIconHtml = $sCode;
+
+                    //--- Process Inline SVG
+                } else if (strpos($sCode, '&lt;svg') !== false || strpos($sCode, '<svg') !== false) {
+                        if(strpos($sCode, '&lt;svg') !== false)
+                            $sIconHtml = htmlspecialchars_decode($sCode);
+                        else
+                            $sIconHtml = $sCode;
+
+                        $sClass .= 'sys-icon sys-icon-svg ';
+
+
+                        $sIconHtmlClear = strip_tags($sIconHtml, '<svg>');
+                        if ($sClass != '' && strpos($sIconHtmlClear, 'class="') !== false)
+                            $sIconHtml = str_replace('class="', 'class="' . $sClass, $sIconHtml);
+                        else
+                            $sIconHtml = str_replace('<svg', '<svg class="' . $sClass . '" ', $sIconHtml);
 
-                    if ($sAttrs != '')
-                        $sIconHtml = str_replace('<svg', '<svg ' . $sAttrs . ' ', $sIconHtml);
+                        if ($sAttrs != '')
+                            $sIconHtml = str_replace('<svg', '<svg ' . $sAttrs . ' ', $sIconHtml);
                 }
                 else {
                     $sEmojIsRegex =