Viewing File: /usr/local/cpanel/whostmgr/docroot/js2/minpwstrength.js
(function() {
var topConstraint = 0;
var bottomConstraint = 200;
var scaleFactor = 0.5;
var keyIncrement = 10;
var tickSize = 2;
var _lock = YAHOO.widget.Slider.prototype.lock;
var _unlock = YAHOO.widget.Slider.prototype.unlock;
YAHOO.lang.augmentObject(YAHOO.widget.Slider.prototype, {
get_real_value: function() {
return Math.round(this.getValue() * scaleFactor);
},
lock: function() {
_lock.apply(this);
DOM.addClass(this.id, "disabled");
},
unlock: function() {
_unlock.apply(this);
DOM.removeClass(this.id, "disabled");
}
});
var sliders = {};
STRENGTHS.forEach(function(key) {
var slider,
enabler = DOM.get(key + "-enabled"),
bg = key + "-slider-bg",
thumb = key + "-slider-thumb",
valuearea = key + "-slider-value",
textfield = key;
EVENT.onDOMReady(function() {
slider = YAHOO.widget.Slider.getHorizSlider(bg,
thumb, topConstraint, bottomConstraint, tickSize);
sliders[key] = slider;
slider.subscribe("change", function(offsetFromStart) {
var fld = DOM.get(textfield);
var actualValue = slider.get_real_value();
fld.value = actualValue;
if (enabler) {
enabler.checked = true;
}
DOM.get(bg).title = LOCALE.maketext("The password strength must be at least [numf,_1].", actualValue);
});
if (enabler) {
EVENT.on(enabler, "click", function(e) {
if (!this.checked) {
var textFieldEl = DOM.get(textfield);
if (textFieldEl.id == "minpwstrength") {
textFieldEl.value = "0";
} else {
textFieldEl.value = "";
}
}
});
}
var copy_text_to_slider = function() {
var v = parseFloat(DOM.get(textfield).value, 10);
if (typeof v === "number") {
if (enabler) {
enabler.checked = true;
}
if (v > MAX_STRENGTH) {
v = MAX_STRENGTH;
}
slider.setValue(Math.round(v / scaleFactor), true);
}
};
if (CPANEL.dom.has_oninput) {
EVENT.on(textfield, "input", copy_text_to_slider);
} else { // IE 8
EVENT.on(textfield, "keyup", copy_text_to_slider);
EVENT.on(textfield, "paste", copy_text_to_slider);
}
if (!enabler || enabler.checked) {
copy_text_to_slider();
}
});
});
window.save = function save() {
var form_data = CPANEL.dom.get_data_from_form("the_form");
var data = {};
STRENGTHS.forEach(function(key) {
data[key] = form_data[key + "-control"] ? form_data[key] : "";
});
data["default"] = form_data["default"];
var overlay = new CPANEL.ajax.Page_Progress_Overlay(null, {
covers: "the_form",
status_html: LOCALE.maketext("Saving …")
});
overlay.show();
CPANEL.api({
func: "setminimumpasswordstrengths",
catch_api_errors: true,
data: data,
callback: CPANEL.ajax.build_page_callback(
function() {
new CPANEL.ajax.Dynamic_Notice({
level: "success",
content: LOCALE.maketext("Success!")
});
}, {
hide_on_return: overlay
}
)
});
};
}());
Back to Directory
File Manager