if ($op == "pref-feeds") {
$subop = $_GET["subop"];
+ $quiet = $_GET["quiet"];
if ($subop == "editSave") {
$feed_title = db_escape_string($_GET["t"]);
}
+ if ($quiet) return;
+
// print "<h3>Edit Feeds</h3>";
$result = db_query($link, "SELECT id,title,feed_url,last_error
if ($op == "pref-filters") {
$subop = $_GET["subop"];
+ $quiet = $_GET["quiet"];
if ($subop == "editSave") {
}
}
+ if ($quiet) return;
+
$result = db_query($link, "SELECT description
FROM ttrss_filter_types ORDER BY description");
}
+ 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
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");
return;
}
+ if (opid == "qmcAddFilter") {
+ displayDlg("quickAddFilter", getActiveFeedId());
+ }
+
}
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);
}
}
+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);
}
<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>