diff options
-rw-r--r-- | backend.php | 269 | ||||
-rw-r--r-- | functions.php | 71 | ||||
-rw-r--r-- | prefs.js | 27 | ||||
-rw-r--r-- | tt-rss.css | 34 |
4 files changed, 117 insertions, 284 deletions
diff --git a/backend.php b/backend.php index bb4180449..6a3f7ecf3 100644 --- a/backend.php +++ b/backend.php @@ -1426,27 +1426,10 @@ print "<tr class='$row_class'><td>Category:</td>"; print "<td>"; - print "<select id=\"iedit_fcat\">"; - print "<option id=\"0\">Uncategorized</option>"; - - $tmp_result = db_query($link, "SELECT id,title FROM ttrss_feed_categories - WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); - if (db_num_rows($tmp_result) > 0) { - print "<option disabled>--------</option>"; - } + print_feed_cat_select($link, "iedit_fcat", $cat_id); - while ($tmp_line = db_fetch_assoc($tmp_result)) { - if ($tmp_line["id"] == $cat_id) { - $is_selected = "selected"; - } else { - $is_selected = ""; - } - printf("<option $is_selected id='%d'>%s</option>", - $tmp_line["id"], $tmp_line["title"]); - } - - print "</select></td>"; + print "</td>"; print "</td></tr>"; } @@ -1455,8 +1438,6 @@ # $row_class = toggleEvenOdd($row_class); print "<tr class='$row_class'><td>Update Interval:</td>"; -// print "<td><input id=\"iedit_updintl\" -// value=\"$update_interval\"></td></tr>"; print "<td>"; @@ -2008,24 +1989,7 @@ print " | "; - $result = db_query($link, "SELECT title,id FROM ttrss_feed_categories - WHERE owner_uid = ".$_SESSION["uid"]." - ORDER BY title"); - - print "<select id=\"sfeed_set_fcat\" disabled=\"true\">"; - print "<option id=\"0\">Uncategorized</option>"; - - if (db_num_rows($result) != 0) { - - print "<option disabled>--------</option>"; - - while ($line = db_fetch_assoc($result)) { - printf("<option id='%d'>%s</option>", - $line["id"], $line["title"]); - } - } - - print "</select>"; + print_feed_cat_select($link, "sfeed_set_fcat", "", "disabled"); print " <input type=\"submit\" class=\"button\" disabled=\"true\" onclick=\"javascript:categorizeSelectedFeeds()\" value=\"Recategorize\">"; @@ -2047,8 +2011,6 @@ print "<h3>Edit Categories</h3>"; - // print "<h3>Categories</h3>"; - print "<div class=\"prefGenericAddBox\"> <input id=\"fadd_cat\" onkeyup=\"toggleSubmitNotEmpty(this, 'catadd_submit_btn')\" @@ -2240,57 +2202,11 @@ array_push($filter_types, $line["description"]); } -/* print "<div class=\"prefGenericAddBox\"> - <input id=\"fadd_regexp\" size=\"40\"> "; - - print_select("fadd_match", "Title", $filter_types); - - print " <select id=\"fadd_feed\">"; - - print "<option selected id=\"0\">All feeds</option>"; - - $result = db_query($link, "SELECT id,title FROM ttrss_feeds - WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); - - if (db_num_rows($result) > 0) { - print "<option disabled>--------</option>"; - } - - while ($line = db_fetch_assoc($result)) { - printf("<option id='%d'>%s</option>", $line["id"], - db_unescape_string($line["title"])); - } - - print "</select> "; - - print " Action: "; - - print "<select id=\"fadd_action\">"; - - $result = db_query($link, "SELECT id,description FROM ttrss_filter_actions - ORDER BY name"); - - while ($line = db_fetch_assoc($result)) { - printf("<option id='%d'>%s</option>", $line["id"], $line["description"]); - } - - print "</select> "; - -/* print "<input type=\"submit\" - class=\"button\" onclick=\"javascript:testFilter()\" - value=\"Test filter\"> "; */ - -/* print "<input type=\"submit\" - class=\"button\" onclick=\"javascript:addFilter()\" - value=\"Create filter\">"; */ - print "<input type=\"submit\" class=\"button\" onclick=\"javascript:displayDlg('quickAddFilter', false)\" value=\"Create filter\">"; -// print "</div>"; - $result = db_query($link, "SELECT ttrss_filters.id AS id,reg_exp, ttrss_filter_types.name AS filter_type_name, @@ -2383,29 +2299,10 @@ print "<td><input id=\"iedit_regexp\" value=\"".$line["reg_exp"]. "\"></td>"; - print "<td>"; - print "<select id=\"iedit_feed\">"; - print "<option id=\"0\">All feeds</option>"; - - $tmp_result = db_query($link, "SELECT id,title FROM ttrss_feeds - WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); - - if (db_num_rows($tmp_result) > 0) { - print "<option disabled>--------</option>"; - } - - while ($tmp_line = db_fetch_assoc($tmp_result)) { - if ($tmp_line["id"] == $line["feed_id"]) { - $is_selected = "selected"; - } else { - $is_selected = ""; - } - printf("<option $is_selected id='%d'>%s</option>", - $tmp_line["id"], db_unescape_string($tmp_line["title"])); - } - - print "</select></td>"; - + print "<td>"; + print_feed_select($link, "iedit_feed", $line["feed_id"]); + print "</td>"; + print "<td>"; print_select("iedit_match", $line["filter_type_descr"], $filter_types); print "</td>"; @@ -2504,7 +2401,7 @@ if ($num_matches > 0) { - print "<p>Query returned <b>$num_matches</b> matches, first 5 follow:</p>"; + print "<p>Query returned <b>$num_matches</b> matches, showing first 15:</p>"; $result = db_query($link, "SELECT title, @@ -2513,11 +2410,16 @@ WHERE ($expr) AND ttrss_user_entries.ref_id = ttrss_entries.id AND owner_uid = " . $_SESSION["uid"] . " - ORDER BY date_entered DESC LIMIT 5"); + ORDER BY date_entered DESC LIMIT 15"); - print "<ul class=\"nomarks\">"; + print "<ul class=\"filterTestResults\">"; + + $row_class = "even"; + while ($line = db_fetch_assoc($result)) { - print "<li>".$line["title"]. + $row_class = toggleEvenOdd($row_class); + + print "<li class=\"$row_class\">".$line["title"]. " <span class=\"insensitive\">(".$line["feed_title"].")</span></li>"; } print "</ul>"; @@ -2605,7 +2507,7 @@ </td</tr>"; print "<tr class=\"title\"> - <td align='center' width=\"5%\"> </td> + <td width=\"5%\"> </td> <td width=\"40%\">SQL expression <a class=\"helpLink\" href=\"javascript:displayHelpInfobox(1)\">(?)</a> </td> @@ -2649,7 +2551,7 @@ if (!$line["description"]) $line["description"] = "[No description]"; - print "<td><input disabled=\"true\" type=\"checkbox\" + print "<td align='center'><input disabled=\"true\" type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>"; print "<td>".$line["sql_exp"]."</td>"; @@ -2657,7 +2559,7 @@ } else { - print "<td><input disabled=\"true\" type=\"checkbox\" checked></td>"; + print "<td align='center'><input disabled=\"true\" type=\"checkbox\" checked></td>"; print "<td><input id=\"iedit_expr\" value=\"".$line["sql_exp"]. "\"></td>"; @@ -2879,27 +2781,11 @@ print_select("fadd_match", "Title", $filter_types); print "</td></tr>"; - print "<tr><td>Feed:</td><td><select id=\"fadd_feed\">"; - - print "<option selected id=\"0\">All feeds</option>"; - - $result = db_query($link, "SELECT id,title FROM ttrss_feeds - WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); - - if (db_num_rows($result) > 0) { - print "<option disabled>--------</option>"; - } - - while ($line = db_fetch_assoc($result)) { - if ($param == $line["id"]) { - $selected = "selected"; - } else { - $selected = ""; - } - printf("<option id='%d' %s>%s</option>", $line["id"], $selected, $line["title"]); - } - - print "</select></td></tr>"; + print "<tr><td>Feed:</td><td>"; + + print_feed_select($link, "fadd_feed"); + + print "</td></tr>"; print "<tr><td>Action:</td>"; @@ -3700,113 +3586,6 @@ } - if ($op == "feed-details") { - -// $feed_id = $_GET["id"]; - - $feed_ids = split(",", db_escape_string($_GET["id"])); - - print "<div id=\"infoBoxTitle\">Feed details</div>"; - print "<div class=\"infoBoxContents\">"; - - foreach ($feed_ids as $feed_id) { - - $result = db_query($link, - "SELECT - title,feed_url, - SUBSTRING(last_updated,1,16) as last_updated, - icon_url,site_url, - (SELECT COUNT(int_id) FROM ttrss_user_entries - WHERE feed_id = id) AS total, - (SELECT COUNT(int_id) FROM ttrss_user_entries - WHERE feed_id = id AND unread = true) AS unread, - (SELECT COUNT(int_id) FROM ttrss_user_entries - WHERE feed_id = id AND marked = true) AS marked - FROM ttrss_feeds - WHERE id = '$feed_id' AND owner_uid = ".$_SESSION["uid"]); - - if (db_num_rows($result) == 0) return; - - $title = db_unescape_string(db_fetch_result($result, 0, "title")); - $last_updated = date(get_pref($link, 'LONG_DATE_FORMAT'), - strtotime(db_fetch_result($result, 0, "last_updated"))); - $feed_url = db_fetch_result($result, 0, "feed_url"); - $icon_url = db_fetch_result($result, 0, "icon_url"); - $total = db_fetch_result($result, 0, "total"); - $unread = db_fetch_result($result, 0, "unread"); - $marked = db_fetch_result($result, 0, "marked"); - $site_url = db_fetch_result($result, 0, "site_url"); - - $result = db_query($link, "SELECT COUNT(id) AS subscribed - FROM ttrss_feeds WHERE feed_url = '$feed_url' AND private = false"); - - $subscribed = db_fetch_result($result, 0, "subscribed"); - - $icon_file = ICONS_DIR . "/$feed_id.ico"; - - if (file_exists($icon_file) && filesize($icon_file) > 0) { - $feed_icon = "<img width=\"16\" height=\"16\" - src=\"" . ICONS_URL . "/$feed_id.ico\">"; - } else { - $feed_icon = ""; - } - - print "<h1>$feed_icon $title</h1>"; - - print "<table width='100%'>"; - - if ($site_url) { - print "<tr><td width='30%'>Link</td> - <td><a href=\"$site_url\">$site_url</a> - <a href=\"$feed_url\">(feed)</a></td> - </td></tr>"; - } else { - print "<tr><td width='30%'>Feed URL</td> - <td><a href=\"$feed_url\">$feed_url</a></td></tr>"; - } - print "<tr><td>Last updated</td><td>$last_updated</td></tr>"; - print "<tr><td>Total articles</td><td>$total</td></tr>"; - print "<tr><td>Unread articles</td><td>$unread</td></tr>"; - print "<tr><td>Starred articles</td><td>$marked</td></tr>"; - print "<tr><td>Subscribed users</td><td>$subscribed</td></tr>"; - - print "</table>"; - -/* $result = db_query($link, "SELECT title, - SUBSTRING(updated,1,16) AS updated,unread - FROM ttrss_entries,ttrss_user_entries - WHERE ref_id = id AND feed_id = '$feed_id' - ORDER BY date_entered DESC LIMIT 5"); - - if (db_num_rows($result) > 0) { - - print "<h1>Latest headlines</h1>"; - - print "<ul class=\"nomarks\">"; - - while ($line = db_fetch_assoc($result)) { - if ($line["unread"] == "t" || $line["unread"] == "1") { - $line["title"] = "<b>" . $line["title"] . "</b>"; - } - print "<li>" . $line["title"]. - " <span class=\"insensitive\">(" . - date(get_pref($link, 'SHORT_DATE_FORMAT'), - strtotime($line["updated"])). - ")</span></li>"; - } - - print "</ul>"; - - } */ - } - - print "</div>"; - - print "<div align='center'> - <input type='submit' class='button' - onclick=\"closeInfoBox()\" value=\"Close this window\"></div>"; - } - if ($op == "pref-feed-browser") { if (!ENABLE_FEED_BROWSER) { diff --git a/functions.php b/functions.php index 06b142d73..343315eb1 100644 --- a/functions.php +++ b/functions.php @@ -665,6 +665,20 @@ print "</select>"; } + function print_select_hash($id, $values, $default, $attributes = "") { + print "<select id='$id' $attributes>"; + foreach (array_keys($values) as $v) { + if ($v == $default) + $sel = "selected"; + else + $sel = ""; + + print "<option $sel value=\"$v\">".$values[$v]."</option>"; + } + + print "</select>"; + } + function get_filter_name($title, $content, $link, $filters) { if ($filters["title"]) { @@ -1565,4 +1579,61 @@ } } + function print_feed_select($link, $id, $default_id = "", + $attributes = "", $include_all_feeds = true) { + + print "<select id=\"$id\" $attributes>"; + if ($include_all_feeds) { + print "<option id=\"0\">All feeds</option>"; + } + + $result = db_query($link, "SELECT id,title FROM ttrss_feeds + WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); + + if (db_num_rows($result) > 0 && $include_all_feeds) { + print "<option disabled>--------</option>"; + } + + while ($line = db_fetch_assoc($result)) { + if ($line["id"] == $default_id) { + $is_selected = "selected"; + } else { + $is_selected = ""; + } + printf("<option $is_selected id='%d'>%s</option>", + $line["id"], db_unescape_string($line["title"])); + } + + print "</select>"; + } + + function print_feed_cat_select($link, $id, $default_id = "", + $attributes = "", $include_all_cats = true) { + + print "<select id=\"$id\" $attributes>"; + + if ($include_all_cats) { + print "<option id=\"0\">Uncategorized</option>"; + } + + $result = db_query($link, "SELECT id,title FROM ttrss_feed_categories + WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); + + if (db_num_rows($result) > 0 && $include_all_cats) { + print "<option disabled>--------</option>"; + } + + while ($line = db_fetch_assoc($result)) { + if ($line["id"] == $default_id) { + $is_selected = "selected"; + } else { + $is_selected = ""; + } + printf("<option $is_selected id='%d'>%s</option>", + $line["id"], $line["title"]); + } + + print "</select>"; + } + ?> @@ -405,15 +405,8 @@ function editFeed(feed) { active_feed = feed; -/* xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=edit&id=" + - param_escape(feed), true); - xmlhttp.onreadystatechange=feedlist_callback; - xmlhttp.send(null); */ - + // clean selection from all rows & select row being edited selectTableRowsByIdPrefix('prefFeedList', 'FEEDR-', 'FRCHK-', false); -// selectTableRowsByIdPrefix('prefFeedList', 'FEEDR-'+feed, 'FRCHK-'+feed, -// true, false); - selectTableRowById('FEEDR-'+feed, 'FRCHK-'+feed, true); xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editfeed&id=" + @@ -665,14 +658,9 @@ function feedEditCancel() { closeInfoBox(); - active_feed = false; - -// notify("Operation cancelled."); - -/* xmlhttp.open("GET", "backend.php?op=pref-feeds", true); - xmlhttp.onreadystatechange=feedlist_callback; - xmlhttp.send(null); */ + selectPrefRows('feed', false); // cleanup feed selection + active_feed = false; } function feedCatEditCancel() { @@ -764,6 +752,8 @@ function feedEditSave() { "&pfeed=" + param_escape(parent_feed_id) + "&pass=" + param_escape(auth_pass) + "&is_pvt=" + param_escape(is_pvt) + "&is_rtl=" + param_escape(is_rtl); + selectPrefRows('feed', false); // cleanup feed selection + xmlhttp.open("POST", "backend.php", true); xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); @@ -1298,6 +1288,13 @@ function selectTab(id, noupdate) { notify("Loading, please wait...", true); + // clean up all current selections, just in case + active_feed = false; + active_feed_cat = false; + active_filter = false; + active_label = false; + active_user = false; + if (id == "feedConfig") { updateFeedList(); } else if (id == "filterConfig") { diff --git a/tt-rss.css b/tt-rss.css index 3c93b7ff6..43128a7ec 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -807,30 +807,6 @@ table.headlinesList tr td { padding : 2px 0px 2px 0px; } -/* -tr.even td.headlineContent, tr.evenUnread td.headlineContent { - display : block; - overflow : hidden; - height : 1em; - background-color : #f0f0f0; -} - -tr.odd td.headlineContent, tr.oddUnread td.headlineContent { - display : block; - overflow : hidden; - height : 1em; -} - -tr.oddSelected td.headlineContent, -tr.evenSelected td.headlineContent, -tr.oddUnreadSelected td.headlineContent, -tr.evenUnreadSelected td.headlineContent { - display : block; - overflow : hidden; - height : 1em; - background-color : #e0e0ff; -} */ - div.postHeader td.postDate { font-size : x-small; text-align : right; @@ -952,6 +928,16 @@ ul.userFeedList { -moz-border-radius : 5px; } */ +ul.filterTestResults { + height : 300px; + overflow : auto; + list-style-type : none; + margin : 0px 0px 5px 0px; + padding : 0px; + border : 1px solid #88b0f0; + background-color : white; +} + ul.browseFeedList { height : 300px; overflow : auto; |