summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions.js55
-rw-r--r--modules/popup-dialog.php74
-rw-r--r--prefs.js4
-rw-r--r--tt-rss.js4
4 files changed, 104 insertions, 33 deletions
diff --git a/functions.js b/functions.js
index e9a6d928c..3b18b0072 100644
--- a/functions.js
+++ b/functions.js
@@ -1521,4 +1521,59 @@ function feedBrowser() {
}
}
+function showFeedsWithErrors() {
+ try {
+ var query = "backend.php?op=dlg&id=feedsWithErrors";
+
+ if (dijit.byId("errorFeedsDlg"))
+ dijit.byId("errorFeedsDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "errorFeedsDlg",
+ title: __("Feeds with update errors"),
+ style: "width: 600px",
+ getSelectedFeeds: function() {
+ return getSelectedTableRowIds("prefErrorFeedList");
+ },
+ removeSelected: function() {
+ var sel_rows = this.getSelectedFeeds();
+
+ console.log(sel_rows);
+
+ if (sel_rows.length > 0) {
+ var ok = confirm(__("Remove selected feeds?"));
+
+ if (ok) {
+ notify_progress("Removing selected feeds...", true);
+
+ var query = "?op=pref-feeds&subop=remove&ids="+
+ param_escape(sel_rows.toString());
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ notify('');
+ dialog.hide();
+ updateFeedList();
+ } });
+ }
+
+ } else {
+ alert(__("No feeds are selected."));
+ }
+ },
+ execute: function() {
+ if (this.validate()) {
+ }
+ },
+ href: query});
+
+ dialog.show();
+
+ } catch (e) {
+ exception_error("showFeedsWithErrors", e);
+ }
+
+}
+
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index 3192ac57a..dbbd1fb32 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -580,15 +580,13 @@
type=\"checkbox\"></td>";
print "<td>";
- print "<a target=\"_blank\" class=\"visibleLink\" href=\"".
- htmlspecialchars($line["site_url"])."\">".
- htmlspecialchars($line["title"])."</a> (".
- "<a target=\"_blank\" class=\"visibleLink\"
- href=\"".htmlspecialchars($line["feed_url"]).
- "\">".__("feed")."</a>)";
+ print "<a class=\"visibleLink\" href=\"#\" ".
+ "title=\"".__("Click to edit feed")."\" ".
+ "onclick=\"editFeed(".$line["id"].")\">".
+ htmlspecialchars($line["title"])."</a>";
print "</td><td class=\"insensitive\" align='right'>";
- print make_local_datetime($link, $line['last_article']);
+ print make_local_datetime($link, $line['last_article'], false);
print "</td>";
print "</tr>";
@@ -611,39 +609,65 @@
}
- if ($id == "feedUpdateErrors") {
+ if ($id == "feedsWithErrors") {
- print "<title>".__('Feeds with update errors')."</title>";
- print "<content><![CDATA[";
+# print "<title>".__('Feeds with update errors')."</title>";
+# print "<content><![CDATA[";
print __("These feeds have not been updated because of errors:");
$result = db_query($link, "SELECT id,title,feed_url,last_error,site_url
FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
- print "<ul class='feedErrorsList'>";
+ print "<div class=\"inactiveFeedHolder\">";
+
+ print "<table width=\"100%\" cellspacing=\"0\" id=\"prefErrorFeedList\">";
+
+ $lnum = 1;
while ($line = db_fetch_assoc($result)) {
- print "<li><a target=\"_blank\" class=\"visibleLink\" href=\"".
- htmlspecialchars($line["site_url"])."\">".
- htmlspecialchars($line["title"])."</a> (".
- "<a target=\"_blank\" class=\"visibleLink\"
- href=\"".htmlspecialchars($line["feed_url"]).
- "\">".__("feed")."</a>): ".
- $line["last_error"]."</li>";
+
+ $class = ($lnum % 2) ? "even" : "odd";
+ $feed_id = $line["id"];
+ $this_row_id = "id=\"FUPDD-$feed_id\"";
+
+ print "<tr class=\"\" $this_row_id>";
+
+ $edit_title = htmlspecialchars($line["title"]);
+
+ print "<td width='5%' align='center'><input
+ onclick='toggleSelectRow2(this);' dojoType=\"dijit.form.CheckBox\"
+ type=\"checkbox\"></td>";
+ print "<td>";
+
+ print "<a class=\"visibleLink\" href=\"#\" ".
+ "title=\"".__("Click to edit feed")."\" ".
+ "onclick=\"editFeed(".$line["id"].")\">".
+ htmlspecialchars($line["title"])."</a>: ";
+
+ print "<span class=\"insensitive\">";
+ print htmlspecialchars($line["last_error"]);
+ print "</span>";
+
+ print "</td>";
+ print "</tr>";
+
+ ++$lnum;
}
- print "</ul>";
+ print "</table>";
+ print "</div>";
- print "<div align='center'>";
+ print "<div class='dlgButtons'>";
+ print "<div style='float : left'>";
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').removeSelected()\">"
+ .__('Unsubscribe from selected feeds')."</button> ";
+ print "</div>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"return closeInfoBox()\">".
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('errorFeedsDlg').hide()\">".
__('Close this window')."</button>";
- print "]]></content>";
-
- //return;
+ print "</div>";
}
if ($id == "editArticleTags") {
diff --git a/prefs.js b/prefs.js
index 9bca57cd9..05052093d 100644
--- a/prefs.js
+++ b/prefs.js
@@ -1159,10 +1159,6 @@ function editFeedCats() {
}
}
-function showFeedsWithErrors() {
- displayDlg('feedUpdateErrors');
-}
-
function showInactiveFeeds() {
try {
var query = "backend.php?op=dlg&id=inactiveFeeds";
diff --git a/tt-rss.js b/tt-rss.js
index ac85b7821..cb3fa26f8 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -995,10 +995,6 @@ function reverseHeadlineOrder() {
}
}
-function showFeedsWithErrors() {
- displayDlg('feedUpdateErrors');
-}
-
function scheduleFeedUpdate(id, is_cat) {
try {
if (!id) {