Viewing File: /usr/local/cpanel/whostmgr/docroot/js/popupbox.js
var popupboxcontainer;
var popupbox_current_title;
var default_iframe_height = 345;
function _isFunction(val) {
return Object.prototype.toString.call(val) === "[object Function]";
}
function do_quick_popupbox(boxname, surl) {
var argv = do_quick_popupbox.arguments;
var argc = argv.length;
var iframe = 0;
var settings = {};
var startarg = 2;
if (boxname.title) {
iframe = boxname.iframe;
startarg = 1;
settings = boxname;
} else {
settings.title = boxname;
settings.url = surl;
}
var inner_container_height = default_iframe_height;
if (boxname.height) {
inner_container_height = boxname.height;
}
var height_style = "height:" + inner_container_height + "px";
var displaycallback = {
success: loadquickpopupbox,
argument: {
boxname: settings.title,
callback: settings.callback,
buttons: settings.buttons,
processOutput: settings.processOutput
}
};
var input_url = settings.url.split("?");
var sFormData = input_url[1] + "&popupbox=1&";
for (var i = startarg; i < argc; i += 2) {
sFormData += argv[i] + "=" + encodeURIComponent(argv[i + 1]) + "&";
}
popupbox_current_title = settings.title;
if (iframe) {
display_quickpopupbox(settings.title, "<iframe id='popupboxiframe' style='" + height_style + "; border:0; width:100%;' src='" + CPANEL.icons.ajax_src + "'></iframe>", settings.buttons);
window.setTimeout(function() {
document.getElementById("popupboxiframe").src = input_url[0] + "?" + sFormData;
}, 200);
} else {
if (settings.showloading && self["show_loading"]) {
show_loading("Loading " + settings.title + "...");
}
YAHOO.util.Connect.asyncRequest("POST", input_url[0], displaycallback, sFormData);
}
return false;
}
function submit_quickpopupbox_callback(o) {
if (self["clear_ui_status"]) {
clear_ui_status();
}
display_quickpopupbox("Saved " + popupbox_current_title + " ...", o.responseText);
}
function display_quickpopupbox(boxname, html, buttonlist) {
if (self["clear_ui_status"]) {
clear_ui_status();
}
var buttons = [];
if (!buttonlist || buttonlist["close_default"]) {
buttons.push({
text: "Close",
handler: function() {
popupboxcontainer.hide();
},
isDefault: true
});
}
if (buttonlist) {
if (buttonlist["close"]) {
buttons.push({
text: "Close",
handler: function() {
popupboxcontainer.hide();
}
});
}
if (buttonlist["save"]) {
buttons.push({
text: "Save",
handler: function() {
popupboxcontainer.submitform();
return false;
},
isDefault: true
});
}
if (buttonlist["save-iframe"]) {
buttons.push({
text: "Save",
handler: function() {
popupboxcontainer.submitiframeform();
return false;
},
isDefault: true
});
}
}
if (!popupboxcontainer) {
popupboxcontainer = new YAHOO.widget.Dialog("popupboxcontainer", {
width: "580px",
height: "auto",
fixedcenter: true,
close: true,
draggable: false,
modal: true,
"buttons": buttons,
visible: false,
zIndex: 2147483647,
});
var stop_popupboxcontainer_propagation = function(e) {
var key_code = YAHOO.util.Event.getCharCode(e);
if (key_code == 13) {
YAHOO.util.Event.preventDefault(e);
}
};
YAHOO.util.Event.addListener("popupboxcontainer", "keypress", stop_popupboxcontainer_propagation);
YAHOO.util.Event.addListener("popupboxcontainer", "keydown", stop_popupboxcontainer_propagation);
// must always recreate in case buttons change
popupboxcontainer.submitiframeform = function() {
var thisIframeEl = document.getElementById("popupboxiframe");
try {
if (thisIframeEl.contentWindow) {
thisIframeEl.contentWindow.submit_form();
} else if (thisIframeEl.window) {
thisIframeEl.window.submit_form();
}
} catch (e) {
};
};
// must always recreate in case buttons change
popupboxcontainer.submitform = function() {
if (CPANEL.validate && CPANEL.validate.form_checkers["submit_button"]) {
CPANEL.validate.form_checkers["submit_button"]();
}
var popupEl = document.getElementById("popupboxcontainer");
var formEl = (popupEl.getElementsByTagName("form"))[0];
var formA = getFormData(formEl);
var uriA = ["popupbox=1"];
for (var i in formA) {
if (i == "module" || i == "viz") {
continue;
}
if (formA[i] == true || formA[i] == false) {
uriA.push(i + "=" + (formA[i] ? 1 : 0));
} else {
uriA.push(i + "=" + encodeURIComponent(formA[i]));
}
}
var sFormData = uriA.join("&");
if (self["show_loading"]) {
show_loading("Saving " + popupbox_current_title + " ...");
}
YAHOO.util.Connect.asyncRequest("POST", formEl.action, {
"success": submit_quickpopupbox_callback
}, sFormData);
};
}
popupboxcontainer.cfg.queueProperty("buttons", buttons);
popupboxcontainer.setHeader("<div class='lt'></div><span>" + boxname + "</span><div class='rt'></div>");
popupboxcontainer.setBody(html);
popupboxcontainer.render(document.body);
popupboxcontainer.show();
popupboxcontainer.render(); /* Safari Fix */
}
function remove_popupbox_buttons() {
popupboxcontainer.cfg.queueProperty("buttons", [{
text: "Close",
handler: function() {
popupboxcontainer.hide();
},
isDefault: true
}]);
popupboxcontainer.show();
popupboxcontainer.render(); /* Safari Fix */
}
function loadquickpopupbox(o) {
var resp = o.responseText;
if (o.argument.processOutput && _isFunction(o.argument.processOutput)) {
resp = o.argument.processOutput(resp);
}
display_quickpopupbox(o.argument.boxname, resp, o.argument.buttons);
if (o.argument.callback) {
o.argument.callback();
}
}
Back to Directory
File Manager