diff --git a/administrator/components/com_tags/src/Controller/TagsController.php b/administrator/components/com_tags/src/Controller/TagsController.php
index 4de3ed47183d3..123a8438ac748 100644
--- a/administrator/components/com_tags/src/Controller/TagsController.php
+++ b/administrator/components/com_tags/src/Controller/TagsController.php
@@ -13,6 +13,7 @@
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Controller\AdminController;
+use Joomla\CMS\Response\JsonResponse;
use Joomla\CMS\Router\Route;
/**
@@ -69,4 +70,28 @@ public function rebuild()
return false;
}
}
+
+ /**
+ * Method to get the number of published tags for quickicons
+ *
+ * @return string The JSON-encoded amount of published articles
+ *
+ * @since __DEPLOY_VERSION__
+ */
+ public function getQuickiconContent()
+ {
+ $model = $this->getModel('tags');
+
+ $model->setState('filter.published', 1);
+
+ $amount = (int) $model->getTotal();
+
+ $result = [];
+
+ $result['amount'] = $amount;
+ $result['sronly'] = Text::plural('COM_TAGS_N_QUICKICON_SRONLY', $amount);
+ $result['name'] = Text::plural('COM_TAGS_N_QUICKICON', $amount);
+
+ echo new JsonResponse($result);
+ }
}
diff --git a/administrator/language/en-GB/com_tags.ini b/administrator/language/en-GB/com_tags.ini
index c51f74edc5778..d5901ee466378 100644
--- a/administrator/language/en-GB/com_tags.ini
+++ b/administrator/language/en-GB/com_tags.ini
@@ -92,6 +92,12 @@ COM_TAGS_N_ITEMS_TRASHED="%d tags trashed."
COM_TAGS_N_ITEMS_TRASHED_1="Tag trashed."
COM_TAGS_N_ITEMS_UNPUBLISHED="%d tags unpublished."
COM_TAGS_N_ITEMS_UNPUBLISHED_1="Tag unpublished."
+COM_TAGS_N_QUICKICON="Tags"
+COM_TAGS_N_QUICKICON_0="Tags"
+COM_TAGS_N_QUICKICON_1="Tag"
+COM_TAGS_N_QUICKICON_SRONLY="Tags: %s tags are published."
+COM_TAGS_N_QUICKICON_SRONLY_0="Tags: No tag is published."
+COM_TAGS_N_QUICKICON_SRONLY_1="Tags: One tag is published."
COM_TAGS_NONE="None"
COM_TAGS_NUMBER_TAG_ITEMS_LABEL="Show Number of Items"
COM_TAGS_OPTIONS="Tag Options"
diff --git a/administrator/language/en-GB/mod_quickicon.ini b/administrator/language/en-GB/mod_quickicon.ini
index 509680495a73f..903f97f96fe80 100644
--- a/administrator/language/en-GB/mod_quickicon.ini
+++ b/administrator/language/en-GB/mod_quickicon.ini
@@ -41,12 +41,15 @@ MOD_QUICKICON_SHOW_MODULES_LABEL="Modules Icon"
MOD_QUICKICON_SHOW_OVERRIDEUPDATE_LABEL="Override Update Check"
MOD_QUICKICON_SHOW_PLUGINS_LABEL="Plugins Icon"
MOD_QUICKICON_SHOW_PRIVACYREQUEST_LABEL="Privacy Requests"
+MOD_QUICKICON_SHOW_TAGS_LABEL="Tags Icon"
MOD_QUICKICON_SHOW_TEMPLATE_CODE_LABEL="Template Code Icon"
MOD_QUICKICON_SHOW_TEMPLATE_STYLES_LABEL="Template Styles Icon"
MOD_QUICKICON_SHOW_USERS_LABEL="User Icon"
MOD_QUICKICON_SITE="Icons Site"
MOD_QUICKICON_STRUCTURE="Structure"
MOD_QUICKICON_SYSTEM="Icons System"
+MOD_QUICKICON_TAGS_MANAGER="Tags"
+MOD_QUICKICON_TAGS_MANAGER_ADD="Add Tag"
MOD_QUICKICON_TEMPLATE_CODE="Template Code"
MOD_QUICKICON_TEMPLATE_STYLES="Template Styles"
MOD_QUICKICON_TYPE="Icon Type"
diff --git a/administrator/modules/mod_quickicon/mod_quickicon.xml b/administrator/modules/mod_quickicon/mod_quickicon.xml
index ef6b8eb3661d0..a0d92b5054ca3 100644
--- a/administrator/modules/mod_quickicon/mod_quickicon.xml
+++ b/administrator/modules/mod_quickicon/mod_quickicon.xml
@@ -92,6 +92,19 @@
+
+
+
+
+
+
+
get('show_tags'))
+ {
+ $tmp = [
+ 'image' => 'icon-tag',
+ 'link' => Route::_('index.php?option=com_tags&view=tags'),
+ 'linkadd' => Route::_('index.php?option=com_tags&task=tag.edit'),
+ 'name' => 'MOD_QUICKICON_TAGS_MANAGER',
+ 'access' => array('core.manage', 'com_tags', 'core.create', 'com_tags'),
+ 'group' => 'MOD_QUICKICON_SITE',
+ ];
+
+ if ($params->get('show_tags') == 2)
+ {
+ $tmp['ajaxurl'] = 'index.php?option=com_tags&task=tags.getQuickiconContent&format=json';
+ }
+
+ self::$buttons[$key][] = $tmp;
+ }
+
if ($params->get('show_categories'))
{
$tmp = [