diff --git a/layouts/joomla/icon/iconclass.php b/layouts/joomla/icon/iconclass.php
index 58d50c8b71f3d..ddf5e00ed4d32 100644
--- a/layouts/joomla/icon/iconclass.php
+++ b/layouts/joomla/icon/iconclass.php
@@ -13,6 +13,12 @@
$icon = $displayData['icon'];
$html = $displayData['html'] ?? true;
+// Allow for custom icon family & prefix
+$iconPrefix = $displayData['prefix'] ?? 'fas fa-';
+
+// Set to wide with if true.
+$iconWide = $displayData['wide'] ? ' fa-fw' : '';
+
switch ($icon)
{
case (strpos($icon, 'fa-') !== false):
@@ -29,11 +35,11 @@
case 'folder-plus-2':
case 'folder-remove':
case 'drawer-2':
- $icon = 'fas fa-folder';
+ $icon = $iconPrefix . 'folder' . $iconWide;
break;
case 'publish':
- $icon = 'fas fa-check';
+ $icon = $iconPrefix . 'check' . $iconWide;
break;
case 'unpublish':
@@ -41,108 +47,108 @@
case 'delete':
case 'remove':
case 'times':
- $icon = 'fas fa-times';
+ $icon = $iconPrefix . 'times' . $iconWide;
break;
case 'new':
case 'save-new':
- $icon = 'fas fa-plus';
+ $icon = $iconPrefix . 'plus' . $iconWide;
break;
case 'apply':
case 'save':
- $icon = 'fas fa-save';
+ $icon = $iconPrefix . 'save' . $iconWide;
break;
case 'mail':
- $icon = 'fas fa-envelope';
+ $icon = $iconPrefix . 'envelope' . $iconWide;
break;
case 'unfeatured':
case 'asterisk':
- $icon = 'fas fa-star';
+ $icon = $iconPrefix . 'star' . $iconWide;
break;
case 'featured':
- $icon = 'fas fa-star featured';
+ $icon = $iconPrefix . 'star featured' . $iconWide;
break;
case 'checkedout':
case 'protected':
- $icon = 'fas fa-lock';
+ $icon = $iconPrefix . 'lock' . $iconWide;
break;
case 'eye-close':
- $icon = 'fas fa-eye-slash';
+ $icon = $iconPrefix . 'eye-slash' . $iconWide;
break;
case 'eye-open':
- $icon = 'fas fa-eye';
+ $icon = $iconPrefix . 'eye' . $iconWide;
break;
case 'loop':
case 'refresh':
case 'unblock':
- $icon = 'fas fa-sync';
+ $icon = $iconPrefix . 'sync' . $iconWide;
break;
case 'contract':
- $icon = 'fas fa-compress';
+ $icon = $iconPrefix . 'compress' . $iconWide;
break;
case 'purge':
case 'trash':
- $icon = 'fas fa-trash';
+ $icon = $iconPrefix . 'trash' . $iconWide;
break;
case 'options':
- $icon = 'fas fa-cog';
+ $icon = $iconPrefix . 'cog' . $iconWide;
break;
case 'expired':
- $icon = 'fas fa-minus-circle';
+ $icon = $iconPrefix . 'minus-circle' . $iconWide;
break;
case 'save-copy':
- $icon = 'fas fa-copy';
+ $icon = $iconPrefix . 'copy' . $iconWide;
break;
case 'checkin':
- $icon = 'fas fa-check-square';
+ $icon = $iconPrefix . 'check-square' . $iconWide;
break;
case 'generic':
- $icon = 'fas fa-dot-circle';
+ $icon = $iconPrefix . 'dot-circle' . $iconWide;
break;
case 'list-2':
- $icon = 'fas fa-list-ul';
+ $icon = $iconPrefix . 'list-ul' . $iconWide;
break;
case 'default':
- $icon = 'fas fa-home';
+ $icon = $iconPrefix . 'home' . $iconWide;
break;
case 'crop':
- $icon = 'fas fa-crop';
+ $icon = $iconPrefix . 'crop' . $iconWide;
break;
case 'chevron-down':
- $icon = 'fas fa-chevron-down';
+ $icon = $iconPrefix . 'chevron-down' . $iconWide;
break;
case 'move':
- $icon = 'fas fa-arrows-alt';
+ $icon = $iconPrefix . 'arrows-alt' . $iconWide;
break;
default:
- $icon = 'icon-' . $icon;
+ $icon = 'icon-' . $icon . $iconWide;
break;
}
if ($html !== false)
{
- $icon = '';
+ $icon = '';
}
echo $icon;