category search fixes, search dialog now searches in category view

This commit is contained in:
Andrew Dolgov 2006-08-01 05:13:48 +01:00
parent 59e2aab468
commit 0a6c4846cd
5 changed files with 54 additions and 14 deletions

View File

@ -2537,7 +2537,12 @@
print "<form id='search_form'>";
$active_feed_id = db_escape_string($_GET["param"]);
#$active_feed_id = db_escape_string($_GET["param"]);
$params = split(":", db_escape_string($_GET["param"]));
$active_feed_id = $params[0];
$is_cat = $params[1] == "true";
print "<table width='100%'><tr><td>Search:</td><td>";
@ -2553,16 +2558,25 @@
<option value=\"all_feeds\">All feeds</option>";
$feed_title = getFeedTitle($link, $active_feed_id);
$feed_cat_title = getFeedCatTitle($link, $active_feed_id);
if (!$is_cat) {
$feed_cat_title = getFeedCatTitle($link, $active_feed_id);
} else {
$feed_cat_title = getCategoryTitle($link, $active_feed_id);
}
if ($active_feed_id) {
if ($active_feed_id && !$is_cat) {
print "<option selected value=\"this_feed\">This feed ($feed_title)</option>";
} else {
print "<option disabled>This feed</option>";
}
if (get_pref($link, 'ENABLE_FEED_CATS') && $active_feed_id && $active_feed_id > 0) {
print "<option value=\"this_cat\">This category ($feed_cat_title)</option>";
if ($is_cat) {
$cat_preselected = "selected";
}
if (get_pref($link, 'ENABLE_FEED_CATS') && $active_feed_id >= 0) {
print "<option $cat_preselected value=\"this_cat\">This category ($feed_cat_title)</option>";
} else {
print "<option disabled>This category</option>";
}

View File

@ -12,7 +12,7 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
if (!doc) doc = parent.document;
enableHotkeys();
var toolbar_query = parent.Form.serialize("main_toolbar_form");
var toolbar_form = parent.document.forms["main_toolbar_form"];
@ -55,6 +55,8 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
setActiveFeedId(feed);
getMainContext().active_feed_is_cat = is_cat;
if (subop == "MarkAllRead") {
var feedr = document.getElementById("FEEDR-" + feed);

View File

@ -462,6 +462,10 @@ function getActiveFeedId() {
}
}
function activeFeedIsCat() {
return getMainContext().active_feed_is_cat;
}
function setActiveFeedId(id) {
// return setCookie("ttrss_vf_actfeed", id);
try {

View File

@ -1972,7 +1972,7 @@
OR UPPER(ttrss_entries.content) LIKE UPPER('%$k%'))");
}
$search_query_part = implode("AND", $query_keywords) . "AND";
$search_query_part = implode("AND", $query_keywords) . " AND ";
} else if ($match_on == "title") {
@ -1980,7 +1980,7 @@
array_push($query_keywords, "(UPPER(ttrss_entries.title) LIKE UPPER('%$k%'))");
}
$search_query_part = implode("AND", $query_keywords) . "AND";
$search_query_part = implode("AND", $query_keywords) . " AND ";
} else if ($match_on == "content") {
@ -1988,7 +1988,7 @@
array_push($query_keywords, "(UPPER(ttrss_entries.content) LIKE UPPER('%$k%'))");
}
$search_query_part = implode("AND", $query_keywords) . "AND";
$search_query_part = implode("AND", $query_keywords) . " AND ";
}
} else {
$search_query_part = "";
@ -2032,10 +2032,17 @@
} else if ($feed >= 0 && $search && $search_mode == "this_cat") {
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
$tmp_result = db_query($link, "SELECT id
FROM ttrss_feeds WHERE cat_id =
(SELECT cat_id FROM ttrss_feeds WHERE id = '$feed') AND id != '$feed'");
$tmp_result = false;
if ($cat_view) {
$tmp_result = db_query($link, "SELECT id
FROM ttrss_feeds WHERE cat_id = '$feed'");
} else {
$tmp_result = db_query($link, "SELECT id
FROM ttrss_feeds WHERE cat_id = (SELECT cat_id FROM ttrss_feeds
WHERE id = '$feed') AND id != '$feed'");
}
$cat_siblings = array();
@ -2255,4 +2262,16 @@
}
function getCategoryTitle($link, $cat_id) {
$result = db_query($link, "SELECT title FROM ttrss_feed_categories WHERE
id = '$cat_id'");
if (db_num_rows($result) == 1) {
return db_fetch_result($result, 0, "title");
} else {
return "Uncategorized";
}
}
?>

View File

@ -12,6 +12,7 @@ var firsttime_update = true;
var last_refetch = 0;
var cookie_lifetime = 0;
var active_feed_id = 0;
var active_feed_is_cat = false;
var xmlhttp = Ajax.getTransport();
@ -433,7 +434,7 @@ function quickMenuGo(opid) {
}
if (opid == "qmcSearch") {
displayDlg("search", getActiveFeedId());
displayDlg("search", getActiveFeedId() + ":" + activeFeedIsCat());
return;
}