+function createNewRuleElement(parentNode, replaceNode) {
+ try {
+ var form = document.forms["filter_new_rule_form"];
+
+ form.reg_exp.value = form.reg_exp.value.replace(/(<([^>]+)>)/ig,"");
+
+ var query = "backend.php?op=pref-filters&method=printrulename&rule="+
+ param_escape(dojo.formToJson(form));
+
+ console.log(query);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function (transport) {
+ try {
+ var li = dojo.create("li");
+
+ var cb = dojo.create("input", { type: "checkbox" }, li);
+
+ new dijit.form.CheckBox({
+ onChange: function() {
+ toggleSelectListRow2(this) },
+ }, cb);
+
+ dojo.create("input", { type: "hidden",
+ name: "rule[]",
+ value: dojo.formToJson(form) }, li);
+
+ dojo.create("span", {
+ onclick: function() {
+ dijit.byId('filterEditDlg').editRule(this);
+ },
+ innerHTML: transport.responseText }, li);
+
+ if (replaceNode) {
+ parentNode.replaceChild(li, replaceNode);
+ } else {
+ parentNode.appendChild(li);
+ }
+ } catch (e) {
+ exception_error("createNewRuleElement", e);
+ }
+ } });
+ } catch (e) {
+ exception_error("createNewRuleElement", e);
+ }
+}
+
+function createNewActionElement(parentNode, replaceNode) {
+ try {
+ var form = document.forms["filter_new_action_form"];
+
+ if (form.action_id.value == 7) {
+ form.action_param.value = form.action_param_label.value;
+ }
+
+ var query = "backend.php?op=pref-filters&method=printactionname&action="+
+ param_escape(dojo.formToJson(form));
+
+ console.log(query);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function (transport) {
+ try {
+ var li = dojo.create("li");
+
+ var cb = dojo.create("input", { type: "checkbox" }, li);
+
+ new dijit.form.CheckBox({
+ onChange: function() {
+ toggleSelectListRow2(this) },
+ }, cb);
+
+ dojo.create("input", { type: "hidden",
+ name: "action[]",
+ value: dojo.formToJson(form) }, li);
+
+ dojo.create("span", {
+ onclick: function() {
+ dijit.byId('filterEditDlg').editAction(this);
+ },
+ innerHTML: transport.responseText }, li);
+
+ if (replaceNode) {
+ parentNode.replaceChild(li, replaceNode);
+ } else {
+ parentNode.appendChild(li);
+ }
+
+ } catch (e) {
+ exception_error("createNewActionElement", e);
+ }
+ } });
+ } catch (e) {
+ exception_error("createNewActionElement", e);
+ }
+}
+
+
+function addFilterRule(replaceNode, ruleStr) {
+ try {
+ if (dijit.byId("filterNewRuleDlg"))
+ dijit.byId("filterNewRuleDlg").destroyRecursive();
+
+ var query = "backend.php?op=pref-filters&method=newrule&rule=" +
+ param_escape(ruleStr);
+
+ var rule_dlg = new dijit.Dialog({
+ id: "filterNewRuleDlg",
+ title: ruleStr ? __("Edit rule") : __("Add rule"),
+ style: "width: 600px",
+ execute: function() {
+ if (this.validate()) {
+ createNewRuleElement($("filterDlg_Matches"), replaceNode);
+ this.hide();
+ }
+ },
+ href: query});
+
+ rule_dlg.show();
+ } catch (e) {
+ exception_error("addFilterRule", e);
+ }
+}
+
+function addFilterAction(replaceNode, actionStr) {
+ try {
+ if (dijit.byId("filterNewActionDlg"))
+ dijit.byId("filterNewActionDlg").destroyRecursive();
+
+ var query = "backend.php?op=pref-filters&method=newaction&action=" +
+ param_escape(actionStr);
+
+ var rule_dlg = new dijit.Dialog({
+ id: "filterNewActionDlg",
+ title: actionStr ? __("Edit action") : __("Add action"),
+ style: "width: 600px",
+ execute: function() {
+ if (this.validate()) {
+ createNewActionElement($("filterDlg_Actions"), replaceNode);
+ this.hide();
+ }
+ },
+ href: query});
+
+ rule_dlg.show();
+ } catch (e) {
+ exception_error("addFilterAction", e);
+ }
+}
+