diff --git a/web/skins/classic/css/base/skin.css b/web/skins/classic/css/base/skin.css
index 838feb6c9..5a4907a75 100644
--- a/web/skins/classic/css/base/skin.css
+++ b/web/skins/classic/css/base/skin.css
@@ -710,6 +710,7 @@ li.search-choice {
display: inline-block;
}
-#dropdown_storage {
+#dropdown_storage,
+#dropdown_bandwidth {
background-color:#485460;
}
diff --git a/web/skins/classic/includes/functions.php b/web/skins/classic/includes/functions.php
index 8baec3451..2bbc2ea54 100644
--- a/web/skins/classic/includes/functions.php
+++ b/web/skins/classic/includes/functions.php
@@ -152,6 +152,11 @@ if ( $css != 'base' )
}
});
}
+ jQuery("#dropdown_bandwidth a").click(function() {
+ var bwval = jQuery(this).data('pdsa-dropdown-val');
+ setCookie("zmBandwidth",bwval,3600);
+ getNavBar();
+ });
jQuery("#flip").click(function() {
jQuery("#panel").slideToggle("slow");
var flip = jQuery("#flip");
@@ -587,11 +592,28 @@ function getConsoleBannerHTML() {
// Returns the html representing the current high,medium,low bandwidth setting
function getBandwidthHTML($bandwidth_options, $user) {
$result = '';
-
- $result .= '
'.
- makePopupLink('?view=bandwidth', 'zmBandwidth', 'bandwidth', "network_check ".$bandwidth_options[$_COOKIE['zmBandwidth']] . ' ', ($user && $user['MaxBandwidth'] != 'low' )).
- ''.PHP_EOL;
-
+
+ # Limit available options to what are available in user
+ if ( $user && !empty($user['MaxBandwidth']) ) {
+ if ( $user['MaxBandwidth'] == 'low' ) {
+ unset($bandwidth_options['high']);
+ unset($bandwidth_options['medium']);
+ } else if ( $user['MaxBandwidth'] == 'medium' ) {
+ unset($bandwidth_options['high']);
+ }
+ }
+
+ $result .= ''.PHP_EOL;
+ $result .= 'network_check'.translate($bandwidth_options[$_COOKIE['zmBandwidth']]).''.PHP_EOL;
+
+ $result .= ''.PHP_EOL;
+
+ $result .= ''.PHP_EOL;
+
return $result;
}
diff --git a/web/skins/classic/js/skin.js b/web/skins/classic/js/skin.js
index f57cf580d..922483ba1 100644
--- a/web/skins/classic/js/skin.js
+++ b/web/skins/classic/js/skin.js
@@ -580,3 +580,17 @@ function setButtonState(element_id, butClass) {
console.log('Element was null or not found in setButtonState. id:'+element_id);
}
}
+
+function setCookie(name,value,days) {
+ var expires = "";
+ if (days) {
+ var date = new Date();
+ date.setTime(date.getTime() + (days*24*60*60*1000));
+ expires = "; expires=" + date.toUTCString();
+ }
+ document.cookie = name + "=" + (value || "") + expires + "; path=/";
+}
+
+function delCookie(name) {
+ document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
+}