Просмотр исходного кода

Ticket #4971 - Build-in API support: Default badges' icons.

AntonLV 1 год назад
Родитель
Сommit
b1bb07598f
1 измененных файлов с 9 добавлено и 2 удалено
  1. 9 2
      modules/base/general/classes/BxBaseModGeneralModule.php

+ 9 - 2
modules/base/general/classes/BxBaseModGeneralModule.php

@@ -3323,9 +3323,16 @@ class BxBaseModGeneralModule extends BxDolModule
         if(empty($aBadges) || !is_array($aBadges))
             return $this->_bIsApi ? [] : '';
 
-        if($this->_bIsApi)
+        if($this->_bIsApi) {
+            foreach($aBadges as &$aBadge)
+                if(($mixedIcon = $aBadge['icon']) && is_numeric($mixedIcon) && (int)$mixedIcon > 0)
+                    $aBadge['icon_url'] = $this->_oTemplate->getIcon($aBadge['icon'], ['wrap_in_tag' => false]);
+                else
+                    $aBadge['icon'] = $mixedIcon;
+
             return $aBadges;
-        
+        }
+
         if($bIsSingle)
             return BxDolService::call('system', 'get_badge', array($aBadges[0], $bIsCompact), 'TemplServices');