diff options
author | Andrew Dolgov <[email protected]> | 2006-07-31 12:55:15 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2006-07-31 12:55:15 +0100 |
commit | e1eb21470e93137adc59e39f6fe093cb1636b83f (patch) | |
tree | 99448527710e11ab02ac53ca7db3d122735ca672 | |
parent | 186649709a15de3b36411ae250d28abb574b1c53 (diff) |
support for generated feeds based on searches
-rw-r--r-- | backend.php | 18 | ||||
-rw-r--r-- | functions.php | 17 |
2 files changed, 27 insertions, 8 deletions
diff --git a/backend.php b/backend.php index 107074fb4..bd53354f2 100644 --- a/backend.php +++ b/backend.php @@ -807,7 +807,8 @@ function print_headline_subtoolbar($link, $feed_site_url, $feed_title, $bottom = false, $rtl_content = false, $feed_id = 0, - $is_cat = false) { + $is_cat = false, $search = false, $match_on = false, + $search_mode = false) { if (!$bottom) { $class = "headlinesSubToolbar"; @@ -864,9 +865,13 @@ print $feed_title; } + if ($search) { + $search_q = "&q=$search&m=$match_on&smode=$search_mode"; + } + print " <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\" alt=\"Generated feed\" src=\"images/feed-icon-12x12.png\"> </a>"; @@ -879,7 +884,7 @@ if (db_num_rows($result) > 0) { 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')) { print "<table class=\"headlinesList\" id=\"headlinesList\" @@ -3662,6 +3667,10 @@ $pass = db_escape_string($_GET["pass"]); $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) { authenticate_user($link, $user, $pass); } @@ -3669,7 +3678,8 @@ if ($_SESSION["uid"] || http_authenticate_user($link)) { - generate_syndicated_feed($link, $feed, $is_cat); + generate_syndicated_feed($link, $feed, $is_cat, + $search, $search_mode, $match_on); } } diff --git a/functions.php b/functions.php index e77f2d5a0..5fd65c1d6 100644 --- a/functions.php +++ b/functions.php @@ -2106,7 +2106,7 @@ if ($search && $search_mode == "all_feeds") { $feed_title = "Global search results ($search)"; } 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) { $feed_title = $feed; } else if (preg_match('/^-?[0-9][0-9]*$/', $feed) != false && $feed >= 0) { @@ -2120,6 +2120,11 @@ } else { $feed_title = "Uncategorized"; } + + if ($search) { + $feed_title = "Category search results ($search, $feed_title)"; + } + } else { $result = db_query($link, "SELECT title,site_url,last_error FROM ttrss_feeds @@ -2128,7 +2133,10 @@ $feed_title = db_fetch_result($result, 0, "title"); $feed_site_url = db_fetch_result($result, 0, "site_url"); $last_error = db_fetch_result($result, 0, "last_error"); - + + if ($search) { + $feed_title = "Feed search results ($search, $feed_title)"; + } } } 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, - 30, false, $is_cat, false, false, false); + 30, false, $is_cat, $search, $search_mode, $match_on); $result = $qfh_ret[0]; $feed_title = $qfh_ret[1]; |