category search fixes, search dialog now searches in category view
This commit is contained in:
parent
59e2aab468
commit
0a6c4846cd
24
backend.php
24
backend.php
|
@ -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>";
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -462,6 +462,10 @@ function getActiveFeedId() {
|
|||
}
|
||||
}
|
||||
|
||||
function activeFeedIsCat() {
|
||||
return getMainContext().active_feed_is_cat;
|
||||
}
|
||||
|
||||
function setActiveFeedId(id) {
|
||||
// return setCookie("ttrss_vf_actfeed", id);
|
||||
try {
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue