search dialog improvements, main toolbar overhaul
This commit is contained in:
parent
ea0e4caf80
commit
86b682ce2f
106
backend.php
106
backend.php
|
@ -146,7 +146,9 @@
|
||||||
|
|
||||||
$script_dt_add = get_script_dt_add();
|
$script_dt_add = get_script_dt_add();
|
||||||
|
|
||||||
print "<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
print "
|
||||||
|
<script type=\"text/javascript\" src=\"prototype.js\"></script>
|
||||||
|
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
||||||
<script type=\"text/javascript\" src=\"feedlist.js?$script_dt_add\"></script>
|
<script type=\"text/javascript\" src=\"feedlist.js?$script_dt_add\"></script>
|
||||||
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
||||||
<!--[if gte IE 5.5000]>
|
<!--[if gte IE 5.5000]>
|
||||||
|
@ -552,7 +554,9 @@
|
||||||
|
|
||||||
$script_dt_add = get_script_dt_add();
|
$script_dt_add = get_script_dt_add();
|
||||||
|
|
||||||
print "<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
print "
|
||||||
|
<script type=\"text/javascript\" src=\"prototype.js\"></script>
|
||||||
|
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
||||||
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
||||||
</head><body $rtl_tag>";
|
</head><body $rtl_tag>";
|
||||||
|
|
||||||
|
@ -673,15 +677,12 @@
|
||||||
if ($op == "viewfeed") {
|
if ($op == "viewfeed") {
|
||||||
|
|
||||||
$feed = db_escape_string($_GET["feed"]);
|
$feed = db_escape_string($_GET["feed"]);
|
||||||
$skip = db_escape_string($_GET["skip"]);
|
|
||||||
$subop = db_escape_string($_GET["subop"]);
|
$subop = db_escape_string($_GET["subop"]);
|
||||||
$view_mode = db_escape_string($_GET["view"]);
|
$view_mode = db_escape_string($_GET["view_mode"]);
|
||||||
$limit = db_escape_string($_GET["limit"]);
|
$limit = db_escape_string($_GET["limit"]);
|
||||||
$cat_view = db_escape_string($_GET["cat"]);
|
$cat_view = db_escape_string($_GET["cat"]);
|
||||||
$next_unread_feed = db_escape_string($_GET["nuf"]);
|
$next_unread_feed = db_escape_string($_GET["nuf"]);
|
||||||
|
|
||||||
if (!$skip) $skip = 0;
|
|
||||||
|
|
||||||
if ($subop == "undefined") $subop = "";
|
if ($subop == "undefined") $subop = "";
|
||||||
|
|
||||||
print "<html><head>
|
print "<html><head>
|
||||||
|
@ -741,6 +742,7 @@
|
||||||
$script_dt_add = get_script_dt_add();
|
$script_dt_add = get_script_dt_add();
|
||||||
|
|
||||||
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
||||||
|
<script type=\"text/javascript\" src=\"prototype.js\"></script>
|
||||||
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
||||||
<script type=\"text/javascript\" src=\"viewfeed.js?$script_dt_add\"></script>
|
<script type=\"text/javascript\" src=\"viewfeed.js?$script_dt_add\"></script>
|
||||||
<!--[if gte IE 5.5000]>
|
<!--[if gte IE 5.5000]>
|
||||||
|
@ -755,19 +757,33 @@
|
||||||
window.onload = init;
|
window.onload = init;
|
||||||
</script>";
|
</script>";
|
||||||
|
|
||||||
$search = db_escape_string($_GET["search"]);
|
// print_r($_GET);
|
||||||
$search_mode = db_escape_string($_GET["smode"]);
|
|
||||||
|
$search = db_escape_string($_GET["query"]);
|
||||||
|
$search_mode = db_escape_string($_GET["search_mode"]);
|
||||||
|
$match_on = db_escape_string($_GET["match_on"]);
|
||||||
|
|
||||||
|
if (!$match_on) {
|
||||||
|
$match_on = "both";
|
||||||
|
}
|
||||||
|
|
||||||
if ($search) {
|
if ($search) {
|
||||||
|
if ($match_on == "both") {
|
||||||
$search_query_part = "(upper(ttrss_entries.title) LIKE upper('%$search%')
|
$search_query_part = "(upper(ttrss_entries.title) LIKE upper('%$search%')
|
||||||
OR ttrss_entries.content LIKE '%$search%') AND";
|
OR upper(ttrss_entries.content) LIKE '%$search%') AND";
|
||||||
|
} else if ($match_on == "title") {
|
||||||
|
$search_query_part = "upper(ttrss_entries.title) LIKE upper('%$search%')
|
||||||
|
AND";
|
||||||
|
} else if ($match_on == "content") {
|
||||||
|
$search_query_part = "upper(ttrss_entries.content) LIKE upper('%$search%') AND";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$search_query_part = "";
|
$search_query_part = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
$view_query_part = "";
|
$view_query_part = "";
|
||||||
|
|
||||||
if ($view_mode == "Adaptive") {
|
if ($view_mode == "adaptive") {
|
||||||
if ($search) {
|
if ($search) {
|
||||||
$view_query_part = " ";
|
$view_query_part = " ";
|
||||||
} else if ($feed != -1) {
|
} else if ($feed != -1) {
|
||||||
|
@ -778,29 +794,29 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($view_mode == "Starred") {
|
if ($view_mode == "marked") {
|
||||||
$view_query_part = " marked = true AND ";
|
$view_query_part = " marked = true AND ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($view_mode == "Unread") {
|
if ($view_mode == "unread") {
|
||||||
$view_query_part = " unread = true AND ";
|
$view_query_part = " unread = true AND ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($limit && $limit != "All") {
|
if ($limit > 0) {
|
||||||
$limit_query_part = "LIMIT " . $limit;
|
$limit_query_part = "LIMIT " . $limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$vfeed_query_part = "";
|
$vfeed_query_part = "";
|
||||||
|
|
||||||
// override query strategy and enable feed display when searching globally
|
// override query strategy and enable feed display when searching globally
|
||||||
if ($search && $search_mode == "All feeds") {
|
if ($search && $search_mode == "all_feeds") {
|
||||||
$query_strategy_part = "ttrss_entries.id > 0";
|
$query_strategy_part = "ttrss_entries.id > 0";
|
||||||
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
|
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
|
||||||
} else if (preg_match("/^-?[0-9][0-9]*$/", $feed) == false) {
|
} else if (preg_match("/^-?[0-9][0-9]*$/", $feed) == false) {
|
||||||
$query_strategy_part = "ttrss_entries.id > 0";
|
$query_strategy_part = "ttrss_entries.id > 0";
|
||||||
$vfeed_query_part = "(SELECT title FROM ttrss_feeds WHERE
|
$vfeed_query_part = "(SELECT title FROM ttrss_feeds WHERE
|
||||||
id = feed_id) as feed_title,";
|
id = feed_id) as feed_title,";
|
||||||
} else if ($feed >= 0 && $search && $search_mode == "This category") {
|
} else if ($feed >= 0 && $search && $search_mode == "this_cat") {
|
||||||
|
|
||||||
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
|
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
|
||||||
|
|
||||||
|
@ -878,7 +894,7 @@
|
||||||
|
|
||||||
$feed_title = "";
|
$feed_title = "";
|
||||||
|
|
||||||
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 = "Feed search results ($search, $feed)";
|
||||||
|
@ -1360,7 +1376,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($subop == "editfeed") {
|
if ($subop == "editfeed") {
|
||||||
$feed_id = db_escape_string($_GET["id"]);
|
$feed_id = db_escape_string($_REQUEST["id"]);
|
||||||
|
|
||||||
$result = db_query($link,
|
$result = db_query($link,
|
||||||
"SELECT * FROM ttrss_feeds WHERE id = '$feed_id' AND
|
"SELECT * FROM ttrss_feeds WHERE id = '$feed_id' AND
|
||||||
|
@ -2581,6 +2597,7 @@
|
||||||
print "<html><head>
|
print "<html><head>
|
||||||
<title>Tiny Tiny RSS : Help</title>
|
<title>Tiny Tiny RSS : Help</title>
|
||||||
<link rel=\"stylesheet\" href=\"tt-rss.css\" type=\"text/css\">
|
<link rel=\"stylesheet\" href=\"tt-rss.css\" type=\"text/css\">
|
||||||
|
<script type=\"text/javascript\" src=\"prototype.js\"></script>
|
||||||
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
<script type=\"text/javascript\" src=\"functions.js?$script_dt_add\"></script>
|
||||||
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
||||||
</head><body>";
|
</head><body>";
|
||||||
|
@ -2655,39 +2672,63 @@
|
||||||
print "<div id=\"infoBoxTitle\">Search</div>";
|
print "<div id=\"infoBoxTitle\">Search</div>";
|
||||||
print "<div class=\"infoBoxContents\">";
|
print "<div class=\"infoBoxContents\">";
|
||||||
|
|
||||||
|
print "<form id='search_form'>";
|
||||||
|
|
||||||
$active_feed_id = db_escape_string($_GET["param"]);
|
$active_feed_id = db_escape_string($_GET["param"]);
|
||||||
|
|
||||||
print "<table width='100%'><tr><td>Search:</td><td>";
|
print "<table width='100%'><tr><td>Search:</td><td>";
|
||||||
|
|
||||||
print "<input id=\"searchbox\" class=\"extSearch\"
|
print "<input name=\"query\" class=\"iedit\"
|
||||||
onblur=\"javascript:enableHotkeys()\"
|
onkeypress=\"return filterCR(event)\"
|
||||||
onfocus=\"javascript:disableHotkeys()\"
|
|
||||||
onkeyup=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
|
onkeyup=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
|
||||||
onchange=\"javascript:search()\">
|
value=\"\">
|
||||||
</td></tr><tr><td>Where:</td><td>
|
</td></tr>";
|
||||||
<select id=\"searchmodebox\">
|
|
||||||
<option selected>All feeds</option>";
|
print "<tr><td>Where:</td><td>";
|
||||||
|
|
||||||
|
print "<select name=\"search_mode\">
|
||||||
|
<option value=\"all_feeds\">All feeds</option>";
|
||||||
|
|
||||||
|
$feed_title = getFeedTitle($link, $active_feed_id);
|
||||||
|
$feed_cat_title = getFeedCatTitle($link, $active_feed_id);
|
||||||
|
|
||||||
if ($active_feed_id) {
|
if ($active_feed_id) {
|
||||||
print "<option>This feed</option>";
|
print "<option selected value=\"this_feed\">This feed ($feed_title)</option>";
|
||||||
} else {
|
} else {
|
||||||
print "<option disabled>This feed</option>";
|
print "<option disabled>This feed</option>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_pref($link, 'ENABLE_FEED_CATS')) {
|
if (get_pref($link, 'ENABLE_FEED_CATS') && $active_feed_id && $active_feed_id > 0) {
|
||||||
print "<option>This category</option>";
|
print "<option value=\"this_cat\">This category ($feed_cat_title)</option>";
|
||||||
|
} else {
|
||||||
|
print "<option disabled>This category</option>";
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</select></td></tr>
|
print "</select></td></tr>";
|
||||||
|
|
||||||
<tr><td colspan='2' align='right'>
|
print "<tr><td>Match on:</td><td>";
|
||||||
|
|
||||||
|
$search_fields = array(
|
||||||
|
"title" => "Title",
|
||||||
|
"content" => "Content",
|
||||||
|
"both" => "Title or content");
|
||||||
|
|
||||||
|
print_select_hash("match_on", 3, $search_fields);
|
||||||
|
|
||||||
|
print "</td></tr></table>";
|
||||||
|
|
||||||
|
print "</form>";
|
||||||
|
|
||||||
|
print "<div align=\"right\">
|
||||||
<input type=\"submit\"
|
<input type=\"submit\"
|
||||||
class=\"button\" onclick=\"javascript:search()\"
|
class=\"button\" onclick=\"javascript:search()\"
|
||||||
id=\"search_submit_btn\" disabled=\"true\"
|
id=\"search_submit_btn\" disabled=\"true\"
|
||||||
value=\"Search\">
|
value=\"Search\">
|
||||||
<input class=\"button\"
|
<input class=\"button\"
|
||||||
type=\"submit\" onclick=\"javascript:closeInfoBox()\"
|
type=\"submit\" onclick=\"javascript:searchCancel()\"
|
||||||
value=\"Cancel\"></td></tr></table>";
|
value=\"Cancel\"></div>";
|
||||||
|
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2717,7 +2758,8 @@
|
||||||
print "<table width='100%'>";
|
print "<table width='100%'>";
|
||||||
|
|
||||||
print "<tr><td>Match:</td>
|
print "<tr><td>Match:</td>
|
||||||
<td><input onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
|
<td><input onkeypress=\"return filterCR(event)\"
|
||||||
|
onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
|
||||||
name=\"reg_exp\" size=\"30\"> ";
|
name=\"reg_exp\" size=\"30\"> ";
|
||||||
|
|
||||||
print_select_hash("match_id", 1, $filter_types);
|
print_select_hash("match_id", 1, $filter_types);
|
||||||
|
|
45
feedlist.js
45
feedlist.js
|
@ -35,12 +35,13 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
|
|
||||||
enableHotkeys();
|
enableHotkeys();
|
||||||
|
|
||||||
var searchbox = doc.getElementById("searchbox");
|
/* var searchbox = doc.getElementById("searchbox");
|
||||||
|
|
||||||
|
var search_query = "";
|
||||||
|
var search_mode = "";
|
||||||
|
|
||||||
if (searchbox) {
|
if (searchbox) {
|
||||||
search_query = searchbox.value;
|
search_query = searchbox.value;
|
||||||
} else {
|
|
||||||
search_query = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var searchmodebox = doc.getElementById("searchmodebox");
|
var searchmodebox = doc.getElementById("searchmodebox");
|
||||||
|
@ -49,12 +50,8 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
|
|
||||||
if (searchmodebox) {
|
if (searchmodebox) {
|
||||||
search_mode = searchmodebox[searchmodebox.selectedIndex].text;
|
search_mode = searchmodebox[searchmodebox.selectedIndex].text;
|
||||||
} else {
|
|
||||||
search_mode = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setCookie("ttrss_vf_smode", search_mode);
|
|
||||||
|
|
||||||
var viewbox = doc.getElementById("viewbox");
|
var viewbox = doc.getElementById("viewbox");
|
||||||
|
|
||||||
var view_mode;
|
var view_mode;
|
||||||
|
@ -78,7 +75,18 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
limit = "All";
|
limit = "All";
|
||||||
}
|
}
|
||||||
|
|
||||||
// document.getElementById("ACTFEEDID").innerHTML = feed;
|
// document.getElementById("ACTFEEDID").innerHTML = feed; */
|
||||||
|
|
||||||
|
var toolbar_query = parent.Form.serialize("main_toolbar_form");
|
||||||
|
|
||||||
|
var query = "backend.php?op=viewfeed&feed=" + feed + "&" +
|
||||||
|
toolbar_query + "&subop=" + param_escape(subop);
|
||||||
|
|
||||||
|
if (parent.document.getElementById("search_form")) {
|
||||||
|
var search_query = parent.Form.serialize("search_form");
|
||||||
|
query = query + "&" + search_query;
|
||||||
|
parent.closeInfoBox(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (getActiveFeedId() != feed) {
|
if (getActiveFeedId() != feed) {
|
||||||
cat_view_mode = is_cat;
|
cat_view_mode = is_cat;
|
||||||
|
@ -92,10 +100,10 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
|
|
||||||
setActiveFeedId(feed);
|
setActiveFeedId(feed);
|
||||||
|
|
||||||
var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
|
/* var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
|
||||||
"&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) +
|
"&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) +
|
||||||
"&view=" + param_escape(view_mode) + "&limit=" + limit +
|
"&view=" + param_escape(view_mode) + "&limit=" + limit +
|
||||||
"&smode=" + param_escape(search_mode);
|
"&smode=" + param_escape(search_mode); */
|
||||||
|
|
||||||
if (subop == "MarkAllRead") {
|
if (subop == "MarkAllRead") {
|
||||||
|
|
||||||
|
@ -122,10 +130,10 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (search_query != "") {
|
// if (search_query != "") {
|
||||||
query = query + "&search=" + param_escape(search_query);
|
// query = query + "&search=" + param_escape(search_query);
|
||||||
// searchbox.value = "";
|
// searchbox.value = "";
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (cat_view_mode) {
|
if (cat_view_mode) {
|
||||||
query = query + "&cat=1";
|
query = query + "&cat=1";
|
||||||
|
@ -133,8 +141,6 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
|
|
||||||
var headlines_frame = parent.frames["headlines-frame"];
|
var headlines_frame = parent.frames["headlines-frame"];
|
||||||
|
|
||||||
// alert(headlines_frame)
|
|
||||||
|
|
||||||
if (navigator.userAgent.match("Opera")) {
|
if (navigator.userAgent.match("Opera")) {
|
||||||
var date = new Date();
|
var date = new Date();
|
||||||
var timestamp = Math.round(date.getTime() / 1000);
|
var timestamp = Math.round(date.getTime() / 1000);
|
||||||
|
@ -152,14 +158,9 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
||||||
feedr.className = feedr.className + "Selected";
|
feedr.className = feedr.className + "Selected";
|
||||||
}
|
}
|
||||||
|
|
||||||
disableContainerChildren("headlinesToolbar", false, doc);
|
parent.disableContainerChildren("headlinesToolbar", false);
|
||||||
|
parent.Form.enable("main_toolbar_form");
|
||||||
|
|
||||||
/* var btnMarkAsRead = doc.getElementById("btnMarkFeedAsRead");
|
|
||||||
|
|
||||||
if (btnMarkAsRead && !isNumeric(feed)) {
|
|
||||||
btnMarkAsRead.disabled = true;
|
|
||||||
btnMarkAsRead.className = "disabledButton";
|
|
||||||
} */
|
|
||||||
|
|
||||||
// notify("");
|
// notify("");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
19
functions.js
19
functions.js
|
@ -920,7 +920,7 @@ function leading_zero(p) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeInfoBox() {
|
function closeInfoBox(cleanup) {
|
||||||
var box = document.getElementById('infoBox');
|
var box = document.getElementById('infoBox');
|
||||||
var shadow = document.getElementById('infoBoxShadow');
|
var shadow = document.getElementById('infoBoxShadow');
|
||||||
|
|
||||||
|
@ -930,6 +930,8 @@ function closeInfoBox() {
|
||||||
box.style.display = "none";
|
box.style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cleanup) box.innerHTML = " ";
|
||||||
|
|
||||||
enableHotkeys();
|
enableHotkeys();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1032,3 +1034,18 @@ function qafAdd() {
|
||||||
xmlhttp.send(null);
|
xmlhttp.send(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function filterCR(e)
|
||||||
|
{
|
||||||
|
var key;
|
||||||
|
|
||||||
|
if(window.event)
|
||||||
|
key = window.event.keyCode; //IE
|
||||||
|
else
|
||||||
|
key = e.which; //firefox
|
||||||
|
|
||||||
|
if(key == 13)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1639,4 +1639,49 @@
|
||||||
function checkbox_to_sql_bool($val) {
|
function checkbox_to_sql_bool($val) {
|
||||||
return ($val == "on") ? "true" : "false";
|
return ($val == "on") ? "true" : "false";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getFeedCatTitle($link, $id) {
|
||||||
|
if ($id == -1) {
|
||||||
|
return "Special";
|
||||||
|
} else if ($id < -10) {
|
||||||
|
return "Labels";
|
||||||
|
} else if ($id > 0) {
|
||||||
|
$result = db_query($link, "SELECT ttrss_feed_categories.title
|
||||||
|
FROM ttrss_feeds, ttrss_feed_categories WHERE ttrss_feeds.id = '$id' AND
|
||||||
|
cat_id = ttrss_feed_categories.id");
|
||||||
|
if (db_num_rows($result) == 1) {
|
||||||
|
return db_fetch_result($result, 0, "title");
|
||||||
|
} else {
|
||||||
|
return "Unknown category ($id)";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "getFeedCatTitle($id) failed";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFeedTitle($link, $id) {
|
||||||
|
if ($id == -1) {
|
||||||
|
return "Starred articles";
|
||||||
|
} else if ($id < -10) {
|
||||||
|
$label_id = -10 - $id;
|
||||||
|
$result = db_query($link, "SELECT description FROM ttrss_labels WHERE id = '$label_id'");
|
||||||
|
if (db_num_rows($result) == 1) {
|
||||||
|
return db_fetch_result($result, 0, "description");
|
||||||
|
} else {
|
||||||
|
return "Unknown label ($label_id)";
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if ($id > 0) {
|
||||||
|
$result = db_query($link, "SELECT title FROM ttrss_feeds WHERE id = '$id'");
|
||||||
|
if (db_num_rows($result) == 1) {
|
||||||
|
return db_fetch_result($result, 0, "title");
|
||||||
|
} else {
|
||||||
|
return "Unknown feed ($id)";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "getFeedTitle($id) failed";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -1107,3 +1107,7 @@ form {
|
||||||
margin : 0px;
|
margin : 0px;
|
||||||
padding : 0px;
|
padding : 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#main_toolbar_form {
|
||||||
|
display : inline;
|
||||||
|
}
|
||||||
|
|
12
tt-rss.js
12
tt-rss.js
|
@ -274,6 +274,10 @@ function resetSearch() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function searchCancel() {
|
||||||
|
closeInfoBox(true);
|
||||||
|
}
|
||||||
|
|
||||||
function search() {
|
function search() {
|
||||||
closeInfoBox();
|
closeInfoBox();
|
||||||
viewCurrentFeed(0, "");
|
viewCurrentFeed(0, "");
|
||||||
|
@ -375,6 +379,8 @@ function init() {
|
||||||
|
|
||||||
disableContainerChildren("headlinesToolbar", true);
|
disableContainerChildren("headlinesToolbar", true);
|
||||||
|
|
||||||
|
Form.disable("main_toolbar_form");
|
||||||
|
|
||||||
if (!genericSanityCheck())
|
if (!genericSanityCheck())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -414,11 +420,11 @@ function init_second_stage() {
|
||||||
updateFeedList(false, false);
|
updateFeedList(false, false);
|
||||||
document.onkeydown = hotkey_handler;
|
document.onkeydown = hotkey_handler;
|
||||||
|
|
||||||
var viewbox = document.getElementById("viewbox");
|
/* var viewbox = document.getElementById("viewbox");
|
||||||
var limitbox = document.getElementById("limitbox");
|
var limitbox = document.getElementById("limitbox");
|
||||||
|
|
||||||
dropboxSelect(viewbox, getCookie("ttrss_vf_vmode"));
|
dropboxSelect(viewbox, getCookie("ttrss_vf_vmode"));
|
||||||
dropboxSelect(limitbox, getCookie("ttrss_vf_limit"));
|
dropboxSelect(limitbox, getCookie("ttrss_vf_limit")); */
|
||||||
|
|
||||||
daemon_enabled = getCookie("ttrss_vf_daemon");
|
daemon_enabled = getCookie("ttrss_vf_daemon");
|
||||||
|
|
||||||
|
@ -449,7 +455,7 @@ function init_second_stage() {
|
||||||
|
|
||||||
function quickMenuChange() {
|
function quickMenuChange() {
|
||||||
var chooser = document.getElementById("quickMenuChooser");
|
var chooser = document.getElementById("quickMenuChooser");
|
||||||
var opid = chooser[chooser.selectedIndex].id;
|
var opid = chooser[chooser.selectedIndex].value;
|
||||||
|
|
||||||
chooser.selectedIndex = 0;
|
chooser.selectedIndex = 0;
|
||||||
quickMenuGo(opid);
|
quickMenuGo(opid);
|
||||||
|
|
78
tt-rss.php
78
tt-rss.php
|
@ -150,16 +150,16 @@ window.onload = init;
|
||||||
|
|
||||||
<tr><td class="headlinesToolbar" id="headlinesToolbar">
|
<tr><td class="headlinesToolbar" id="headlinesToolbar">
|
||||||
|
|
||||||
<? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?>
|
<!-- <? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?>
|
||||||
|
|
||||||
<input id="searchbox"
|
<input id="searchbox"
|
||||||
onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();">
|
onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();">
|
||||||
<select id="searchmodebox">
|
<select id="searchmodebox">
|
||||||
<option>This feed</option>
|
<option value="all_feeds">All feeds</option>
|
||||||
|
<option value="this_feed" selected>This feed</option>
|
||||||
<? if (get_pref($link, 'ENABLE_FEED_CATS')) { ?>
|
<? if (get_pref($link, 'ENABLE_FEED_CATS')) { ?>
|
||||||
<option>This category</option>
|
<option value="this_cat">This category</option>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
<option>All feeds</option>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<input type="submit"
|
<input type="submit"
|
||||||
|
@ -167,23 +167,19 @@ window.onload = init;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<? } ?>
|
<? } ?> -->
|
||||||
|
|
||||||
|
<form id="main_toolbar_form">
|
||||||
View:
|
View:
|
||||||
|
<select name="view_mode" onchange="viewCurrentFeed(0, '')">
|
||||||
<select id="viewbox" onchange="javascript:viewCurrentFeed(0, '')">
|
<option selected value="adaptive">Adaptive</option>
|
||||||
<option selected>Adaptive</option>
|
<option value="all_articles">All Articles</option>
|
||||||
<option>All Articles</option>
|
<option value="marked">Starred</option>
|
||||||
<option>Starred</option>
|
<option value="unread">Unread</option>
|
||||||
<option>Unread</option>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
Limit:
|
Limit:
|
||||||
|
|
||||||
<select id="limitbox" onchange="javascript:viewCurrentFeed(0, '')">
|
|
||||||
|
|
||||||
<?
|
<?
|
||||||
$limits = array(15 => 15, 30 => 30, 60 => 60);
|
$limits = array(15 => 15, 30 => 30, 60 => 60, 0 => "All");
|
||||||
|
|
||||||
$def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT');
|
$def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT');
|
||||||
|
|
||||||
|
@ -192,59 +188,47 @@ window.onload = init;
|
||||||
}
|
}
|
||||||
|
|
||||||
asort($limits);
|
asort($limits);
|
||||||
array_push($limits, 0);
|
|
||||||
|
|
||||||
if (!$def_art_limit) {
|
if (!$def_art_limit) {
|
||||||
$def_art_limit = 30;
|
$def_art_limit = 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($limits as $key) {
|
print_select_hash("limit", $def_art_limit, $limits,
|
||||||
print "<option";
|
'onchange="viewCurrentFeed(0, \'\')"');
|
||||||
if ($key == $def_art_limit) { print " selected"; }
|
|
||||||
print ">";
|
|
||||||
|
|
||||||
if ($limits[$key] == 0) { print "All"; } else { print $limits[$key]; }
|
?>
|
||||||
|
</form>
|
||||||
|
|
||||||
print "</option>";
|
<!-- <input class="button" type="submit"
|
||||||
} ?>
|
onclick="quickMenuGo('qmcSearch')" value="Search (tmp)"> -->
|
||||||
|
|
||||||
</select>
|
<input class="button" type="submit"
|
||||||
|
onclick="viewCurrentFeed(0, 'ForceUpdate')" value="Update">
|
||||||
|
|
||||||
<!-- Selection:
|
<input class="button" type="submit"
|
||||||
|
onclick="viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read">
|
||||||
<select id="headopbox">
|
|
||||||
<option id="hopToggleRead">Toggle (un)read</option>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<input class="button" type="submit" onclick="headopGo()" value="Go"> -->
|
|
||||||
|
|
||||||
Feed: <input class="button" type="submit"
|
|
||||||
onclick="javascript:viewCurrentFeed(0, 'ForceUpdate')" value="Update">
|
|
||||||
|
|
||||||
<input class="button" type="submit" id="btnMarkFeedAsRead"
|
|
||||||
onclick="javascript:viewCurrentFeed(0, 'MarkAllRead')" value="Mark as read">
|
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td align="right">
|
<td align="right">
|
||||||
<select id="quickMenuChooser" onchange="quickMenuChange()">
|
<select id="quickMenuChooser" onchange="quickMenuChange()">
|
||||||
<option id="qmcDefault" selected>Actions...</option>
|
<option value="qmcDefault" selected>Actions...</option>
|
||||||
<option id="qmcPrefs">Preferences</option>
|
<option value="qmcPrefs">Preferences</option>
|
||||||
<option id="qmcSearch">Search</option>
|
<option value="qmcSearch">Search</option>
|
||||||
<option disabled>--------</option>
|
<option disabled>--------</option>
|
||||||
<option style="color : #5050aa" disabled>Feed actions:</option>
|
<option style="color : #5050aa" disabled>Feed actions:</option>
|
||||||
<option id="qmcAddFeed"> Subscribe to feed</option>
|
<option value="qmcAddFeed"> Subscribe to feed</option>
|
||||||
<option id="qmcRemoveFeed"> Unsubscribe</option>
|
<option value="qmcRemoveFeed"> Unsubscribe</option>
|
||||||
<!-- <option>Edit this feed</option> -->
|
<!-- <option>Edit this feed</option> -->
|
||||||
<option disabled>--------</option>
|
<option disabled>--------</option>
|
||||||
<option style="color : #5050aa" disabled>All feeds:</option>
|
<option style="color : #5050aa" disabled>All feeds:</option>
|
||||||
<? if (!ENABLE_UPDATE_DAEMON) { ?>
|
<? if (!ENABLE_UPDATE_DAEMON) { ?>
|
||||||
<option id="qmcUpdateFeeds"> Update</option>
|
<option value="qmcUpdateFeeds"> Update</option>
|
||||||
<? } ?>
|
<? } ?>
|
||||||
<option id="qmcCatchupAll"> Mark as read</option>
|
<option value="qmcCatchupAll"> Mark as read</option>
|
||||||
<option id="qmcShowOnlyUnread"> Show only unread</option>
|
<option value="qmcShowOnlyUnread"> Show only unread</option>
|
||||||
<option disabled>--------</option>
|
<option disabled>--------</option>
|
||||||
<option style="color : #5050aa" disabled>Other actions:</option>
|
<option style="color : #5050aa" disabled>Other actions:</option>
|
||||||
<option id="qmcAddFilter"> Create filter</option>
|
<option value="qmcAddFilter"> Create filter</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Loading…
Reference in New Issue