support for generated feeds based on searches

This commit is contained in:
Andrew Dolgov 2006-07-31 12:55:15 +01:00
parent 186649709a
commit e1eb21470e
2 changed files with 27 additions and 8 deletions

View File

@ -807,7 +807,8 @@
function print_headline_subtoolbar($link, $feed_site_url, $feed_title, function print_headline_subtoolbar($link, $feed_site_url, $feed_title,
$bottom = false, $rtl_content = false, $feed_id = 0, $bottom = false, $rtl_content = false, $feed_id = 0,
$is_cat = false) { $is_cat = false, $search = false, $match_on = false,
$search_mode = false) {
if (!$bottom) { if (!$bottom) {
$class = "headlinesSubToolbar"; $class = "headlinesSubToolbar";
@ -864,9 +865,13 @@
print $feed_title; print $feed_title;
} }
if ($search) {
$search_q = "&q=$search&m=$match_on&smode=$search_mode";
}
print "  print " 
<a target=\"_new\" <a target=\"_new\"
href=\"backend.php?op=rss&id=$feed_id&is_cat=$is_cat\" href=\"backend.php?op=rss&id=$feed_id&is_cat=$is_cat$search_q\"
<img class=\"noborder\" <img class=\"noborder\"
alt=\"Generated feed\" src=\"images/feed-icon-12x12.png\"> alt=\"Generated feed\" src=\"images/feed-icon-12x12.png\">
</a>"; </a>";
@ -879,7 +884,7 @@
if (db_num_rows($result) > 0) { if (db_num_rows($result) > 0) {
print_headline_subtoolbar($link, $feed_site_url, $feed_title, false, print_headline_subtoolbar($link, $feed_site_url, $feed_title, false,
$rtl_content, $feed, $cat_view); $rtl_content, $feed, $cat_view, $search, $match_on, $search_mode);
if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) { if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) {
print "<table class=\"headlinesList\" id=\"headlinesList\" print "<table class=\"headlinesList\" id=\"headlinesList\"
@ -3662,6 +3667,10 @@
$pass = db_escape_string($_GET["pass"]); $pass = db_escape_string($_GET["pass"]);
$is_cat = $_GET["is_cat"] != false; $is_cat = $_GET["is_cat"] != false;
$search = db_escape_string($_GET["q"]);
$match_on = db_escape_string($_GET["m"]);
$search_mode = db_escape_string($_GET["smode"]);
if (!$_SESSION["uid"] && $user && $pass) { if (!$_SESSION["uid"] && $user && $pass) {
authenticate_user($link, $user, $pass); authenticate_user($link, $user, $pass);
} }
@ -3669,7 +3678,8 @@
if ($_SESSION["uid"] || if ($_SESSION["uid"] ||
http_authenticate_user($link)) { http_authenticate_user($link)) {
generate_syndicated_feed($link, $feed, $is_cat); generate_syndicated_feed($link, $feed, $is_cat,
$search, $search_mode, $match_on);
} }
} }

View File

@ -2106,7 +2106,7 @@
if ($search && $search_mode == "all_feeds") { if ($search && $search_mode == "all_feeds") {
$feed_title = "Global search results ($search)"; $feed_title = "Global search results ($search)";
} else if ($search && preg_match('/^-?[0-9][0-9]*$/', $feed) == false) { } else if ($search && preg_match('/^-?[0-9][0-9]*$/', $feed) == false) {
$feed_title = "Feed search results ($search, $feed)"; $feed_title = "Tag search results ($search, $feed)";
} else if (preg_match('/^-?[0-9][0-9]*$/', $feed) == false) { } else if (preg_match('/^-?[0-9][0-9]*$/', $feed) == false) {
$feed_title = $feed; $feed_title = $feed;
} else if (preg_match('/^-?[0-9][0-9]*$/', $feed) != false && $feed >= 0) { } else if (preg_match('/^-?[0-9][0-9]*$/', $feed) != false && $feed >= 0) {
@ -2120,6 +2120,11 @@
} else { } else {
$feed_title = "Uncategorized"; $feed_title = "Uncategorized";
} }
if ($search) {
$feed_title = "Category search results ($search, $feed_title)";
}
} else { } else {
$result = db_query($link, "SELECT title,site_url,last_error FROM ttrss_feeds $result = db_query($link, "SELECT title,site_url,last_error FROM ttrss_feeds
@ -2129,6 +2134,9 @@
$feed_site_url = db_fetch_result($result, 0, "site_url"); $feed_site_url = db_fetch_result($result, 0, "site_url");
$last_error = db_fetch_result($result, 0, "last_error"); $last_error = db_fetch_result($result, 0, "last_error");
if ($search) {
$feed_title = "Feed search results ($search, $feed_title)";
}
} }
} else if ($feed == -1) { } else if ($feed == -1) {
@ -2209,10 +2217,11 @@
} }
function generate_syndicated_feed($link, $feed, $is_cat) { function generate_syndicated_feed($link, $feed, $is_cat,
$search, $search_mode, $match_on) {
$qfh_ret = queryFeedHeadlines($link, $feed, $qfh_ret = queryFeedHeadlines($link, $feed,
30, false, $is_cat, false, false, false); 30, false, $is_cat, $search, $search_mode, $match_on);
$result = $qfh_ret[0]; $result = $qfh_ret[0];
$feed_title = $qfh_ret[1]; $feed_title = $qfh_ret[1];