alertMessage("alert-error", "Request failed");
}
}
- }
+ },
+ statusCode: o.statusCode
};
if (o.method) {
req_params.method = o.method;
// Force options to be an object
var o = options || {};
Object.keys(o).forEach(function (option) {
- if (["data", "error", "errorMessage", "errorOnceId", "headers", "method", "params", "server", "success"]
+ if (["data", "error", "errorMessage", "errorOnceId", "headers", "method", "params", "server", "statusCode",
+ "success"]
.indexOf(option) < 0) {
throw new Error("Unknown option: " + option);
}
} else if (source === "scan") {
url = "scan";
}
- $.ajax({
+ rspamd.query(url, {
data: data,
- dataType: "json",
- type: "POST",
- url: url,
- processData: false,
- jsonp: false,
- beforeSend: function (xhr) {
- xhr.setRequestHeader("Password", rspamd.getPassword());
- $.each(headers, function (name, value) {
- xhr.setRequestHeader(name, value);
- });
+ params: {
+ processData: false,
},
+ method: "POST",
+ headers: headers,
success: function (json) {
cleanTextUpload(source);
- if (json.success) {
+ if (json[0].data.success) {
rspamd.alertMessage("alert-success", "Data successfully uploaded");
}
- },
- error: function (xhr, textStatus, errorThrown) {
- var errorMsg;
-
- try {
- var json = $.parseJSON(xhr.responseText);
- errorMsg = $("<a>").text(json.error).html();
- } catch (err) {
- errorMsg = $("<a>").text("Error: [" + textStatus + "] " + errorThrown).html();
- }
- rspamd.alertMessage("alert-error", errorMsg);
}
});
}
// @upload text
- function scanText(rspamd, data) {
- var url = "scan";
+ function scanText(rspamd, data, server) {
var items = [];
- $.ajax({
+ rspamd.query("scan", {
data: data,
- dataType: "json",
- type: "POST",
- url: url,
- processData: false,
- jsonp: false,
- beforeSend: function (xhr) {
- xhr.setRequestHeader("Password", rspamd.getPassword());
+ params: {
+ processData: false,
},
- success: function (json) {
+ method: "POST",
+ success: function (neighbours_status) {
+ var json = neighbours_status[0].data;
if (json.action) {
rspamd.alertMessage("alert-success", "Data successfully scanned");
var action = "";
503: function () {
rspamd.alertMessage("alert-error", "Cannot tokenize message: no text data");
}
- }
+ },
+ server: server
});
}
ui.setup = function (rspamd) {
+ function getSelector(id) {
+ var e = document.getElementById(id);
+ return e.options[e.selectedIndex].value;
+ }
+
$("textarea").change(function () {
if ($(this).val().length !== "") {
$(this).closest("form").find("button").removeAttr("disabled").removeClass("disabled");
// @init upload
$("[data-upload]").on("click", function () {
var source = $(this).data("upload");
- var data;
- var headers = {};
- data = $("#" + source + "TextSource").val();
- if (source === "fuzzy") {
- // To access the proper
- headers.flag = $("#fuzzyFlagText").val();
- headers.weight = $("#fuzzyWeightText").val();
- } else {
- data = $("#" + source + "TextSource").val();
- }
+ var data = $("#" + source + "TextSource").val();
+ var headers = (source === "fuzzy")
+ ? {
+ flag: $("#fuzzyFlagText").val(),
+ weight: $("#fuzzyWeightText").val()
+ }
+ : {};
if (data.length > 0) {
if (source === "scan") {
- scanText(rspamd, data);
+ var checked_server = getSelector("selSrv");
+ var server = (checked_server === "All SERVERS") ? "local" : checked_server;
+ scanText(rspamd, data, server);
} else {
uploadText(rspamd, data, source, headers);
}
+ } else {
+ rspamd.alertMessage("alert-error", "Message source field cannot be blank");
}
return false;
});