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 = [