diff --git a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini index 2b5f0af9d4fe6..745c372c79f91 100644 --- a/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini +++ b/administrator/language/en-GB/en-GB.plg_quickicon_extensionupdate.ini @@ -9,6 +9,7 @@ PLG_QUICKICON_EXTENSIONUPDATE_ERROR="Unknown extensions..." PLG_QUICKICON_EXTENSIONUPDATE_GROUP_DESC="The group of this plugin (this value is compared with the group value used in Quick Icons modules to inject icons)" PLG_QUICKICON_EXTENSIONUPDATE_GROUP_LABEL="Group" PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND="Updates are available! %s" +PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND_BUTTON="Update now" +PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND_MESSAGE="%s Extension Update(s) are available:" PLG_QUICKICON_EXTENSIONUPDATE_UPTODATE="All extensions are up-to-date" PLG_QUICKICON_EXTENSIONUPDATE_XML_DESCRIPTION="Checks for updates of your installed third-party extensions and notifies you when you visit the Control Panel page" - diff --git a/administrator/templates/isis/css/template-rtl.css b/administrator/templates/isis/css/template-rtl.css index 99e10d713b2d1..a500f214a2e08 100644 --- a/administrator/templates/isis/css/template-rtl.css +++ b/administrator/templates/isis/css/template-rtl.css @@ -7618,6 +7618,12 @@ html[dir=rtl] .quick-icons .nav-list [class*=" icon-"] { opacity: 0.3; filter: alpha(opacity=30); } +.alert-joomlaupdate { + text-align: center; +} +.alert-joomlaupdate button { + vertical-align: baseline; +} .form-horizontal .control-label { width: auto; padding-right: 5px; diff --git a/administrator/templates/isis/css/template.css b/administrator/templates/isis/css/template.css index 598e21a142284..144a784fc684d 100644 --- a/administrator/templates/isis/css/template.css +++ b/administrator/templates/isis/css/template.css @@ -7618,6 +7618,12 @@ html[dir=rtl] .quick-icons .nav-list [class*=" icon-"] { opacity: 0.3; filter: alpha(opacity=30); } +.alert-joomlaupdate { + text-align: center; +} +.alert-joomlaupdate button { + vertical-align: baseline; +} .form-horizontal .control-label { width: auto; padding-right: 5px; diff --git a/administrator/templates/isis/less/template.less b/administrator/templates/isis/less/template.less index 4c83d1cc1ce73..d9804caeacf11 100644 --- a/administrator/templates/isis/less/template.less +++ b/administrator/templates/isis/less/template.less @@ -747,6 +747,14 @@ html[dir=rtl] .quick-icons .nav-list [class^="icon-"],html[dir=rtl] .quick-icons filter: alpha(opacity=30); } +/* Joomla and Extension update message */ +.alert-joomlaupdate { + text-align: center; + button { + vertical-align: baseline; + } +} + // Normalize LTR Label (JBS request) // -------------------------- diff --git a/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js b/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js index 1c11663e64717..b23f656db58bd 100644 --- a/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js +++ b/media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js @@ -13,10 +13,31 @@ jQuery(document).ready(function() { jQuery('#plg_quickicon_extensionupdate').find('span').html(plg_quickicon_extensionupdate_text.ERROR); } if (updateInfoList instanceof Array) { - if (updateInfoList.length < 1) { + if (updateInfoList.length == 0) { // No updates jQuery('#plg_quickicon_extensionupdate').find('span').html(plg_quickicon_extensionupdate_text.UPTODATE); } else { + var updateString = plg_quickicon_extensionupdate_text.UPDATEFOUND_MESSAGE.replace("%s", updateInfoList.length); + if (jQuery('.alert-joomlaupdate').length == 0) + { + jQuery('#system-message-container').prepend( + '
' + + updateString + + ' ' + + '
' + ); + } + else + { + jQuery('#system-message-container').prepend( + '
' + + updateString + + ' ' + + '
' + ); + } var updateString = plg_quickicon_extensionupdate_text.UPDATEFOUND.replace("%s", updateInfoList.length); jQuery('#plg_quickicon_extensionupdate').find('span').html(updateString); } diff --git a/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js b/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js index bf127b7c25cb9..70d6dd825ec5f 100644 --- a/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js +++ b/media/plg_quickicon_joomlaupdate/js/jupdatecheck.js @@ -26,14 +26,27 @@ jQuery(document).ready(function() var updateString = plg_quickicon_joomlaupdate_text.UPDATEFOUND.replace("%s", updateInfo.version + ""); jQuery('#plg_quickicon_joomlaupdate').find('span').html(updateString); var updateString = plg_quickicon_joomlaupdate_text.UPDATEFOUND_MESSAGE.replace("%s", updateInfo.version + ""); - jQuery('#system-message-container').prepend( - '
' - + updateString - + ' ' - + '
' - ); - } else { + if (jQuery('.alert-joomlaupdate').length == 0) + { + jQuery('#system-message-container').prepend( + '
' + + updateString + + ' ' + + '
' + ); + } + else + { + jQuery('#system-message-container').prepend( + '
' + + updateString + + ' ' + + '
' + ); + } + } else { jQuery('#plg_quickicon_joomlaupdate').find('span').html(plg_quickicon_joomlaupdate_text.UPTODATE); } } diff --git a/plugins/quickicon/extensionupdate/extensionupdate.php b/plugins/quickicon/extensionupdate/extensionupdate.php index 69493d6338b5d..bc591350d129f 100644 --- a/plugins/quickicon/extensionupdate/extensionupdate.php +++ b/plugins/quickicon/extensionupdate/extensionupdate.php @@ -45,15 +45,20 @@ public function onGetIcons($context) } JHtml::_('jquery.framework'); - + + $url = JUri::base() . 'index.php?option=com_installer&view=update'; $ajax_url = JUri::base() . 'index.php?option=com_installer&view=update&task=update.ajax'; - $script = "var plg_quickicon_extensionupdate_ajax_url = '$ajax_url';\n"; - $script .= 'var plg_quickicon_extensionupdate_text = {"UPTODATE" : "' - . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPTODATE', true) . '", "UPDATEFOUND": "' - . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND', true) . '", "ERROR": "' - . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_ERROR', true) . "\"};\n"; - $document = JFactory::getDocument(); - $document->addScriptDeclaration($script); + $script = array(); + $script[] = 'var plg_quickicon_extensionupdate_url = \'' . $url . '\';'; + $script[] = 'var plg_quickicon_extensionupdate_ajax_url = \'' . $ajax_url . '\';'; + $script[] = 'var plg_quickicon_extensionupdate_text = {' + . '"UPTODATE" : "' . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPTODATE', true) . '",' + . '"UPDATEFOUND": "' . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND', true) . '",' + . '"UPDATEFOUND_MESSAGE": "' . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND_MESSAGE', true) . '",' + . '"UPDATEFOUND_BUTTON": "' . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_UPDATEFOUND_BUTTON', true) . '",' + . '"ERROR": "' . JText::_('PLG_QUICKICON_EXTENSIONUPDATE_ERROR', true) . '",' + . '};'; + JFactory::getDocument()->addScriptDeclaration(implode("\n", $script)); JHtml::_('script', 'plg_quickicon_extensionupdate/extensionupdatecheck.js', false, true); return array(