diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-05-03 12:28:29 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-05-03 17:26:03 +0200 |
commit | cd516eedcd4cca1abb92d8781749a6f152d34319 (patch) | |
tree | 855647c569e930df5f404a3fd56983db57343361 | |
parent | 9f76b8b3563e7f001b2adf46dcedf0e2f37c0ffc (diff) | |
download | nextcloud-server-cd516eedcd4cca1abb92d8781749a6f152d34319.tar.gz nextcloud-server-cd516eedcd4cca1abb92d8781749a6f152d34319.zip |
Use OC.Notification for update notifications
* instead of a static rendering inside PHP use the
JS OC.Notification.showTemporary to hide the
notification after 7 seconds automatically
* fixes #14811
-rw-r--r-- | core/js/update-notification.js | 30 | ||||
-rw-r--r-- | core/templates/layout.user.php | 9 | ||||
-rw-r--r-- | lib/private/templatelayout.php | 1 |
3 files changed, 36 insertions, 4 deletions
diff --git a/core/js/update-notification.js b/core/js/update-notification.js new file mode 100644 index 00000000000..42baa7f4c28 --- /dev/null +++ b/core/js/update-notification.js @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2015 ownCloud Inc + * + * @author Morris Jobke <hey@morrisjobke.de> + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +/** + * this gets only loaded if an update is available and then shows a temporary notification + */ +$(document).ready(function(){ + var head = $('html > head'), + version = head.data('update-version'), + docLink = head.data('update-link'), + text = t('core', '{version} is available. Get more information on how to update.', {version: version}), + element = $('<a>').attr('href', docLink).text(text); + + OC.Notification.showTemporary( + element, + { + isHTML: true + } + ); +}); + diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 87a6a9216d2..bcf47316a73 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -2,7 +2,11 @@ <!--[if lte IE 8]><html class="ng-csp ie ie8 lte9 lte8" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><![endif]--> <!--[if IE 9]><html class="ng-csp ie ie9 lte9" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><![endif]--> <!--[if (gt IE 9)|!(IE)]><!--><html class="ng-csp" data-placeholder-focus="false" lang="<?php p($_['language']); ?>" ><!--<![endif]--> - <head data-user="<?php p($_['user_uid']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>"> + <head data-user="<?php p($_['user_uid']); ?>" data-requesttoken="<?php p($_['requesttoken']); ?>" + <?php if ($_['updateAvailable']): ?> + data-update-version="<?php print($_['updateVersion']); ?>" data-update-link="<?php print_unescaped($_['updateLink']); ?>" + <?php endif; ?> + > <meta charset="utf-8"> <title> <?php @@ -31,9 +35,6 @@ <?php include('layout.noscript.warning.php'); ?> <div id="notification-container"> <div id="notification"></div> - <?php if ($_['updateAvailable']): ?> - <div id="update-notification" style="display: inline;"><a href="<?php print_unescaped($_['updateLink']); ?>"><?php p($l->t('%s is available. Get more information on how to update.', array($_['updateVersion']))); ?></a></div> - <?php endif; ?> </div> <header role="banner"><div id="header"> <a href="<?php print_unescaped(link_to('', 'index.php')); ?>" diff --git a/lib/private/templatelayout.php b/lib/private/templatelayout.php index 448276ca7fe..0e1a8f33c45 100644 --- a/lib/private/templatelayout.php +++ b/lib/private/templatelayout.php @@ -85,6 +85,7 @@ class OC_TemplateLayout extends OC_Template { $this->assign('updateAvailable', true); $this->assign('updateVersion', $data['versionstring']); $this->assign('updateLink', $data['web']); + \OCP\Util::addScript('core', 'update-notification'); } else { $this->assign('updateAvailable', false); // No update available or not an admin user } |