quick action to add filter, misc backend improvements
This commit is contained in:
parent
3820a960c6
commit
a24f525cce
71
backend.php
71
backend.php
|
@ -1268,6 +1268,7 @@
|
|||
if ($op == "pref-feeds") {
|
||||
|
||||
$subop = $_GET["subop"];
|
||||
$quiet = $_GET["quiet"];
|
||||
|
||||
if ($subop == "editSave") {
|
||||
$feed_title = db_escape_string($_GET["t"]);
|
||||
|
@ -1442,6 +1443,8 @@
|
|||
|
||||
}
|
||||
|
||||
if ($quiet) return;
|
||||
|
||||
// print "<h3>Edit Feeds</h3>";
|
||||
|
||||
$result = db_query($link, "SELECT id,title,feed_url,last_error
|
||||
|
@ -1896,6 +1899,7 @@
|
|||
if ($op == "pref-filters") {
|
||||
|
||||
$subop = $_GET["subop"];
|
||||
$quiet = $_GET["quiet"];
|
||||
|
||||
if ($subop == "editSave") {
|
||||
|
||||
|
@ -1960,6 +1964,8 @@
|
|||
}
|
||||
}
|
||||
|
||||
if ($quiet) return;
|
||||
|
||||
$result = db_query($link, "SELECT description
|
||||
FROM ttrss_filter_types ORDER BY description");
|
||||
|
||||
|
@ -2529,6 +2535,71 @@
|
|||
|
||||
}
|
||||
|
||||
if ($id == "quickAddFilter") {
|
||||
|
||||
$result = db_query($link, "SELECT description
|
||||
FROM ttrss_filter_types ORDER BY description");
|
||||
|
||||
$filter_types = array();
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
array_push($filter_types, $line["description"]);
|
||||
}
|
||||
|
||||
print "<table>";
|
||||
|
||||
print "<tr><td>Match:</td><td><input id=\"fadd_regexp\" size=\"40\"> ";
|
||||
|
||||
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>Action:</td>";
|
||||
|
||||
print "<td><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 "</td></tr><tr><td colspan=\"2\" align=\"right\">";
|
||||
|
||||
print "<input type=\"submit\"
|
||||
class=\"button\" onclick=\"javascript:qaddFilter()\"
|
||||
value=\"Add filter\"> ";
|
||||
|
||||
print "<input class=\"button\"
|
||||
type=\"submit\" onclick=\"javascript:closeDlg()\"
|
||||
value=\"Close\">";
|
||||
|
||||
print "</td></tr></table>";
|
||||
}
|
||||
}
|
||||
|
||||
// update feeds of all users, may be used anonymously
|
||||
|
|
|
@ -689,3 +689,4 @@ function showBlockElement(id) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
52
tt-rss.js
52
tt-rss.js
|
@ -46,12 +46,20 @@ function toggleTags() {
|
|||
|
||||
function dlg_frefresh_callback() {
|
||||
if (xmlhttp.readyState == 4) {
|
||||
notify(xmlhttp.responseText);
|
||||
updateFeedList(false, false);
|
||||
closeDlg();
|
||||
}
|
||||
}
|
||||
|
||||
function dialog_refresh_callback() {
|
||||
function dlg_submit_callback() {
|
||||
if (xmlhttp.readyState == 4) {
|
||||
notify(xmlhttp.responseText);
|
||||
closeDlg();
|
||||
}
|
||||
}
|
||||
|
||||
function dlg_display_callback() {
|
||||
if (xmlhttp.readyState == 4) {
|
||||
var dlg = document.getElementById("userDlg");
|
||||
var dlg_s = document.getElementById("userDlgShadow");
|
||||
|
@ -450,6 +458,10 @@ function quickMenuGo() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (opid == "qmcAddFilter") {
|
||||
displayDlg("quickAddFilter", getActiveFeedId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function qafAdd() {
|
||||
|
@ -470,7 +482,7 @@ function qafAdd() {
|
|||
|
||||
feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait...";
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&link=" +
|
||||
xmlhttp.open("GET", "backend.php?op=pref-feeds&quiet=1&subop=add&link=" +
|
||||
param_escape(link.value), true);
|
||||
xmlhttp.onreadystatechange=dlg_frefresh_callback;
|
||||
xmlhttp.send(null);
|
||||
|
@ -480,13 +492,47 @@ function qafAdd() {
|
|||
}
|
||||
}
|
||||
|
||||
function qaddFilter() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
var regexp = document.getElementById("fadd_regexp");
|
||||
var match = document.getElementById("fadd_match");
|
||||
var feed = document.getElementById("fadd_feed");
|
||||
var action = document.getElementById("fadd_action");
|
||||
|
||||
if (regexp.value.length == 0) {
|
||||
notify("Missing filter expression.");
|
||||
} else {
|
||||
notify("Adding filter...");
|
||||
|
||||
var v_match = match[match.selectedIndex].text;
|
||||
var feed_id = feed[feed.selectedIndex].id;
|
||||
var action_id = action[action.selectedIndex].id;
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-filters&quiet=1&subop=add®exp=" +
|
||||
param_escape(regexp.value) + "&match=" + v_match +
|
||||
"&fid=" + param_escape(feed_id) + "&aid=" + param_escape(action_id), true);
|
||||
|
||||
xmlhttp.onreadystatechange=dlg_submit_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
regexp.value = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
function displayDlg(id, param) {
|
||||
|
||||
notify("");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=dlg&id=" +
|
||||
param_escape(id) + "¶m=" + param_escape(param), true);
|
||||
xmlhttp.onreadystatechange=dialog_refresh_callback;
|
||||
xmlhttp.onreadystatechange=dlg_display_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
|
|
@ -194,14 +194,17 @@
|
|||
<option id="qmcPrefs" selected>Preferences...</option>
|
||||
<option disabled>--------</option>
|
||||
<option style="color : #5050aa" disabled>Feed actions:</option>
|
||||
<option id="qmcAddFeed"> Add new feed</option>
|
||||
<option id="qmcRemoveFeed"> Remove this feed</option>
|
||||
<option id="qmcAddFeed"> Add new feed...</option>
|
||||
<option id="qmcRemoveFeed"> Remove this feed...</option>
|
||||
<!-- <option>Edit this feed</option> -->
|
||||
<option disabled>--------</option>
|
||||
<option style="color : #5050aa" disabled>All feeds:</option>
|
||||
<option id="qmcUpdateFeeds"> Update</option>
|
||||
<option id="qmcCatchupAll"> Mark as read</option>
|
||||
<option id="qmcShowOnlyUnread"> Show only unread</option>
|
||||
<option disabled>--------</option>
|
||||
<option style="color : #5050aa" disabled>Other actions:</option>
|
||||
<option id="qmcAddFilter"> Add filter...</option>
|
||||
</select>
|
||||
<input type="submit" class="button" onclick="quickMenuGo()" value="Go">
|
||||
</td>
|
||||
|
|
Loading…
Reference in New Issue