diff --git a/administrator/components/com_cpanel/tmpl/cpanel/default.php b/administrator/components/com_cpanel/tmpl/cpanel/default.php
index 7bce81221ee88..c5475b884d636 100644
--- a/administrator/components/com_cpanel/tmpl/cpanel/default.php
+++ b/administrator/components/com_cpanel/tmpl/cpanel/default.php
@@ -42,18 +42,16 @@
);
?>
quickicons) : ?>
-
modules as $module)
diff --git a/administrator/language/en-GB/en-GB.mod_quickicon.ini b/administrator/language/en-GB/en-GB.mod_quickicon.ini
index 0a5134cad49d3..c971a4250029e 100644
--- a/administrator/language/en-GB/en-GB.mod_quickicon.ini
+++ b/administrator/language/en-GB/en-GB.mod_quickicon.ini
@@ -2,11 +2,20 @@
; Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8
-
+MOD_QUICKICON_TYPE="Icon Type"
+MOD_QUICKICON_SELECT_TYPE="- Select Icon Panel Type -"
+MOD_QUICKICON_UPDATE="Icons Update"
+MOD_QUICKICON_SYSTEM="Icons System"
+MOD_QUICKICON_SITE="Icons Site"
MOD_QUICKICON="Quick Icons"
MOD_QUICKICON_ADD_NEW="New %s"
MOD_QUICKICON_ARTICLE_MANAGER="Articles"
MOD_QUICKICON_ARTICLE_MANAGER_1="Article"
+MOD_QUICKICON="Quick Icons"
+MOD_QUICKICON_CACHE="Cache"
+MOD_QUICKICON_CHECKIN="Checkin"
+MOD_QUICKICON_CHECKIN_ALL="Global Checkin"
+MOD_QUICKICON_CATEGORY_ADD="New Category"
MOD_QUICKICON_CATEGORY_MANAGER="Article Categories"
MOD_QUICKICON_CATEGORY_MANAGER_1="Article Category"
MOD_QUICKICON_CHECKINS="Global Checkin"
@@ -21,8 +30,10 @@ MOD_QUICKICON_INSTALL_EXTENSIONS="Install Extensions"
MOD_QUICKICON_LANGUAGE_MANAGER="Languages"
MOD_QUICKICON_MAINTENANCE="Maintenance"
MOD_QUICKICON_MEDIA_MANAGER="Media"
+MOD_QUICKICON_MENUITEMS_ADD="New Menu Item"
MOD_QUICKICON_MENUITEMS_MANAGER="Menu Items"
MOD_QUICKICON_MENUITEMS_MANAGER_1="Menu Item"
+MOD_QUICKICON_MODULE_ADD="New Module"
MOD_QUICKICON_MODULE_MANAGER="Modules"
MOD_QUICKICON_MODULE_MANAGER_1="Module"
MOD_QUICKICON_NAV_LABEL="Quick Links"
@@ -31,8 +42,10 @@ MOD_QUICKICON_TEMPLATES="Templates"
MOD_QUICKICON_TEMPLATE_MANAGER="Template"
MOD_QUICKICON_TEMPLATE_MANAGER_1="Templates"
MOD_QUICKICON_SHOW_ARTICLES_LABEL="Articles Icon"
-MOD_QUICKICON_SHOW_CATEGORIES_LABEL="Categories Icon"
-MOD_QUICKICON_SHOW_GLOBAL_LABEL="Global Configuration Icon"
+MOD_QUICKICON_SHOW_CACHE_LABEL="Cache Icon"
+MOD_QUICKICON_SHOW_CATEGORIES_LABEL="Categories Icon"
+MOD_QUICKICON_SHOW_CHECKIN_LABEL="Checkin Icon"
+MOD_QUICKICON_SHOW_GLOBAL_LABEL="Global Configuration Icon"
MOD_QUICKICON_SHOW_CHECKINS_LABEL="Checkin Icon"
MOD_QUICKICON_SHOW_MEDIA_LABEL="Media Icon"
MOD_QUICKICON_SHOW_MENUITEMS_LABEL="Menu Items Icon"
@@ -40,6 +53,7 @@ MOD_QUICKICON_SHOW_MODULES_LABEL="Modules Icon"
MOD_QUICKICON_SHOW_PLUGINS_LABEL="Plugins Icon"
MOD_QUICKICON_SHOW_TEMPLATES_LABEL="Templates Icon"
MOD_QUICKICON_SHOW_USERS_LABEL="User Icon"
+MOD_QUICKICON_SITE="Icons Site"
MOD_QUICKICON_STRUCTURE="Structure"
MOD_QUICKICON_TEMPLATE_MANAGER="Templates"
MOD_QUICKICON_USER_MANAGER="Users"
diff --git a/administrator/modules/mod_quickicon/Helper/QuickIconHelper.php b/administrator/modules/mod_quickicon/Helper/QuickIconHelper.php
index dec1275936a4e..d49bfb8eeb45a 100644
--- a/administrator/modules/mod_quickicon/Helper/QuickIconHelper.php
+++ b/administrator/modules/mod_quickicon/Helper/QuickIconHelper.php
@@ -68,15 +68,69 @@ public static function &getButtons(Registry $params, CMSApplication $application
if (!isset(self::$buttons[$key]))
{
- $context = $params->get('context', 'mod_quickicon');
+ // Load mod_quickicon language file in case this method is called before rendering the module
+ $application->getLanguage()->load('mod_quickicon');
- self::$buttons[$key] = [];
+ // Update Panel, icons come from plugins quickicons
+ if ($params->get('icon_type', 'site') === 'update')
+ {
+ // Update Panel, icons come from plugins quickicons
+ $context = $params->get('context', 'mod_quickicon');
+
+ // Include buttons defined by published quickicon plugins
+ PluginHelper::importPlugin('quickicon');
+
+ $arrays = (array) $application->triggerEvent(
+ 'onGetIcons',
+ new QuickIconsEvent('onGetIcons', ['context' => $context])
+ );
- if ($context === 'mod_quickicon')
+ foreach ($arrays as $response)
+ {
+ foreach ($response as $icon)
+ {
+ $default = array(
+ 'link' => null,
+ 'image' => null,
+ 'text' => null,
+ 'access' => true,
+ 'class' => true,
+ 'group' => 'MOD_QUICKICON_EXTENSIONS',
+ );
+ $icon = array_merge($default, $icon);
+
+ if (!is_null($icon['link']) && !is_null($icon['text']))
+ {
+ self::$buttons[$key][] = $icon;
+ }
+ }
+ }
+ }
+ elseif ($params->get('icon_type', 'site') === 'system')
{
// Load mod_quickicon language file in case this method is called before rendering the module
$application->getLanguage()->load('mod_quickicon');
+ if ($params->get('show_checkin', '1'))
+ {
+ self::$buttons[$key][] = [
+ 'amount' => self::countCheckin(),
+ 'link' => Route::_('index.php?option=com_checkin'),
+ 'text' => Text::_('MOD_QUICKICON_CHECKINS'),
+ 'access' => array('core.admin', 'com_checkin'),
+ 'group' => 'MOD_QUICKICON_SYSTEM'
+ ];
+ }
+ if ($params->get('show_cache', '1'))
+ {
+ self::$buttons[$key][] = [
+ 'amount' => '123kB',
+ 'link' => Route::_('index.php?option=com_chache'),
+ 'text' => Text::_('MOD_QUICKICON_CACHE'),
+ 'access' => array('core.admin', 'com_cache'),
+ 'group' => 'MOD_QUICKICON_SYTEM'
+ ];
+ }
if ($params->get('show_global', '1'))
{
self::$buttons[$key][] = [
@@ -84,10 +138,12 @@ public static function &getButtons(Registry $params, CMSApplication $application
'image' => 'fa fa-cog',
'text' => Text::_('MOD_QUICKICON_GLOBAL_CONFIGURATION'),
'access' => array('core.manage', 'com_config', 'core.admin', 'com_config'),
- 'group' => 'MOD_QUICKICON_CONFIGURATION',
+ 'group' => 'MOD_QUICKICON_SYSTEM',
];
}
-
+ }
+ elseif ($params->get('icon_type', 'site') === 'site')
+ {
if ($params->get('show_users', '1'))
{
$amount = self::countUsers();
@@ -99,7 +155,7 @@ public static function &getButtons(Registry $params, CMSApplication $application
'addwhat' => Text::plural('MOD_QUICKICON_USER_MANAGER', 1),
'name' => Text::plural('MOD_QUICKICON_USER_MANAGER', $amount),
'access' => array('core.manage', 'com_users', 'core.create', 'com_users'),
- 'group' => 'MOD_QUICKICON_USERS',
+ 'group' => 'MOD_QUICKICON_SITE',
];
}
@@ -129,10 +185,10 @@ public static function &getButtons(Registry $params, CMSApplication $application
'addwhat' => Text::plural('MOD_QUICKICON_ARTICLE_MANAGER', 1),
'name' => Text::plural('MOD_QUICKICON_ARTICLE_MANAGER', $amount),
'access' => array('core.manage', 'com_content', 'core.create', 'com_content'),
- 'group' => 'MOD_QUICKICON_CONTENT',
+ 'group' => 'MOD_QUICKICON_SITE',
];
}
-
+
if ($params->get('show_categories', '1'))
{
$amount = self::countArticleCategories();
@@ -144,7 +200,7 @@ public static function &getButtons(Registry $params, CMSApplication $application
'linkadd' => Route::_('index.php?option=com_categories&task=category.add'),
'name' => Text::plural('MOD_QUICKICON_CATEGORY_MANAGER', $amount),
'access' => array('core.manage', 'com_categories', 'core.create', 'com_categories'),
- 'group' => 'MOD_QUICKICON_CONTENT',
+ 'group' => 'MOD_QUICKICON_SITE',
];
}
@@ -155,7 +211,7 @@ public static function &getButtons(Registry $params, CMSApplication $application
'link' => Route::_('index.php?option=com_media'),
'text' => Text::_('MOD_QUICKICON_MEDIA_MANAGER'),
'access' => array('core.manage', 'com_media'),
- 'group' => 'MOD_QUICKICON_CONTENT',
+ 'group' => 'MOD_QUICKICON_SITE',
];
}
@@ -168,7 +224,7 @@ public static function &getButtons(Registry $params, CMSApplication $application
'link' => Route::_('index.php?option=com_modules'),
'text' => Text::plural('MOD_QUICKICON_MODULE_MANAGER', $amount),
'access' => array('core.manage', 'com_modules'),
- 'group' => 'MOD_QUICKICON_CONTENT'
+ 'group' => 'MOD_QUICKICON_SITE'
];
}
@@ -181,18 +237,7 @@ public static function &getButtons(Registry $params, CMSApplication $application
'link' => Route::_('index.php?option=com_plugins'),
'text' => Text::plural('MOD_QUICKICON_PLUGIN_MANAGER', $amount),
'access' => array('core.manage', 'com_plugins'),
- 'group' => 'MOD_QUICKICON_MAINTENANCE'
- ];
- }
-
- if ($params->get('show_checkin', '1'))
- {
- self::$buttons[$key][] = [
- 'amount' => self::countCheckin(),
- 'link' => Route::_('index.php?option=com_checkin'),
- 'text' => Text::_('MOD_QUICKICON_CHECKINS'),
- 'access' => array('core.admin', 'com_checkin'),
- 'group' => 'MOD_QUICKICON_CONTENT'
+ 'group' => 'MOD_QUICKICON_SITE'
];
}
@@ -203,47 +248,15 @@ public static function &getButtons(Registry $params, CMSApplication $application
'link' => Route::_('index.php?option=com_templates&client_id=0'),
'text' => Text::_('MOD_QUICKICON_TEMPLATES'),
'access' => array('core.admin', 'com_templates'),
- 'group' => 'MOD_QUICKICON_TEMPLATES'
+ 'group' => 'MOD_QUICKICON_SITE'
];
}
}
-
- // Include buttons defined by published quickicon plugins
- PluginHelper::importPlugin('quickicon');
-
- $arrays = (array) $application->triggerEvent(
- 'onGetIcons',
- new QuickIconsEvent('onGetIcons', ['context' => $context])
- );
-
- foreach ($arrays as $response)
- {
- foreach ($response as $icon)
- {
- $default = array(
- 'amount' => null,
- 'link' => null,
- 'addwhat' => null,
- 'linkadd' => null,
- 'name' => null,
- 'image' => null,
- 'text' => null,
- 'access' => true,
- 'group' => 'MOD_QUICKICON_EXTENSIONS',
- );
- $icon = array_merge($default, $icon);
-
- if (!is_null($icon['link']) && !is_null($icon['text']))
- {
- self::$buttons[$key][] = $icon;
- }
- }
- }
}
return self::$buttons[$key];
}
-
+
/**
* Method to get the number of published modules in frontend.
*
diff --git a/administrator/modules/mod_quickicon/mod_quickicon.xml b/administrator/modules/mod_quickicon/mod_quickicon.xml
index 196509db7d168..e2e134b440c4a 100644
--- a/administrator/modules/mod_quickicon/mod_quickicon.xml
+++ b/administrator/modules/mod_quickicon/mod_quickicon.xml
@@ -23,8 +23,19 @@