preliminary UI work on date checking filter (refs #225)

This commit is contained in:
Andrew Dolgov 2008-12-13 12:57:53 +01:00
parent 75fa1e3126
commit d0da85c27c
4 changed files with 116 additions and 3 deletions

View File

@ -1523,6 +1523,39 @@ function getFeedName(id, is_cat) {
} }
} }
function filterDlgCheckType(sender) {
try {
var ftype = sender[sender.selectedIndex].value;
var form = document.forms["filter_add_form"];
if (!form) {
form = document.forms["filter_edit_form"];
}
if (!form) {
debug("filterDlgCheckType: can't find form!");
return;
}
// if selected filter type is 5 (Date) enable the modifier dropbox
if (ftype == 5) {
Element.show("filter_dlg_date_mod_box");
Element.show("filter_dlg_date_chk_box");
} else {
Element.hide("filter_dlg_date_mod_box");
Element.hide("filter_dlg_date_chk_box");
}
} catch (e) {
exception_error("filterDlgCheckType", e);
}
}
function filterDlgCheckAction(sender) { function filterDlgCheckAction(sender) {
try { try {
@ -1560,6 +1593,55 @@ function filterDlgCheckAction(sender) {
} }
function filterDlgCheckDate() {
try {
var form = document.forms["filter_add_form"];
if (!form) {
form = document.forms["filter_edit_form"];
}
if (!form) {
debug("filterDlgCheckAction: can't find form!");
return;
}
var reg_exp = form.reg_exp.value;
var query = "backend.php?op=rpc&subop=checkDate&date=" + reg_exp;
new Ajax.Request(query, {
onComplete: function(transport) {
var form = document.forms["filter_add_form"];
if (!form) {
form = document.forms["filter_edit_form"];
}
if (transport.responseXML) {
var result = transport.responseXML.getElementsByTagName("result")[0];
if (result && result.firstChild) {
if (result.firstChild.nodeValue == "1") {
new Effect.Highlight(form.reg_exp, {startcolor : '#00ff00'});
return;
}
}
}
new Effect.Highlight(form.reg_exp, {startcolor : '#ff0000'});
} });
} catch (e) {
exception_error("filterDlgCheckDate", e);
}
}
function explainError(code) { function explainError(code) {
return displayDlg("explainError", code); return displayDlg("explainError", code);
} }

View File

@ -429,6 +429,24 @@
return; return;
} }
if ($subop == "checkDate") {
$date = db_escape_string($_REQUEST["date"]);
$date_parsed = strtotime($date);
print "<rpc-reply>";
if ($date_parsed) {
print "<result>1</result>";
} else {
print "<result>0</result>";
}
print "</rpc-reply>";
return;
}
print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>"; print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>";
} }
?> ?>

View File

@ -358,13 +358,26 @@
print "<div class=\"dlgSecCont\">"; print "<div class=\"dlgSecCont\">";
print "<span id=\"filter_dlg_date_mod_box\" style=\"display : none\">";
print "<select name=\"filter_date_modifier\">";
print "<option name=\"before\">".__('Before')."</option>";
print "<option name=\"after\">".__('After')."</option>";
print "</select>&nbsp;</span>";
print "<input onkeypress=\"return filterCR(event, createFilter)\" print "<input onkeypress=\"return filterCR(event, createFilter)\"
onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\" onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
onchange=\"toggleSubmitNotEmpty(this, 'infobox_submit')\" onchange=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
name=\"reg_exp\" size=\"30\" value=\"$reg_exp\">"; name=\"reg_exp\" size=\"30\" value=\"$reg_exp\">";
print " " . __("on field") . " "; print "<span id=\"filter_dlg_date_chk_box\" style=\"display : none\">";
print_select_hash("filter_type", 1, $filter_types); print "&nbsp;<input class=\"button\"
type=\"submit\" onclick=\"return filterDlgCheckDate()\"
value=\"".__('Check Date')."\">";
print "</span>";
print "<br/> " . __("on field") . " ";
print_select_hash("filter_type", 1, $filter_types,
'onchange="filterDlgCheckType(this)"');
print "<br/>"; print "<br/>";

View File

@ -2,7 +2,7 @@
require_once "functions.php"; require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 17); define('EXPECTED_CONFIG_VERSION', 17);
define('SCHEMA_VERSION', 45); define('SCHEMA_VERSION', 46);
if (!file_exists("config.php")) { if (!file_exists("config.php")) {
print __("<b>Fatal Error</b>: You forgot to copy print __("<b>Fatal Error</b>: You forgot to copy