move inactiveFeeds and feedsWithErrors to pref-feeds; fix element id collisions
This commit is contained in:
parent
72d0e9b33f
commit
bc6fa2364b
155
classes/dlg.php
155
classes/dlg.php
|
@ -444,161 +444,6 @@ class Dlg extends Handler_Protected {
|
||||||
</div>";
|
</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
function inactiveFeeds() {
|
|
||||||
|
|
||||||
if (DB_TYPE == "pgsql") {
|
|
||||||
$interval_qpart = "NOW() - INTERVAL '3 months'";
|
|
||||||
} else {
|
|
||||||
$interval_qpart = "DATE_SUB(NOW(), INTERVAL 3 MONTH)";
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = db_query($this->link, "SELECT ttrss_feeds.title, ttrss_feeds.site_url,
|
|
||||||
ttrss_feeds.feed_url, ttrss_feeds.id, MAX(updated) AS last_article
|
|
||||||
FROM ttrss_feeds, ttrss_entries, ttrss_user_entries WHERE
|
|
||||||
(SELECT MAX(updated) FROM ttrss_entries, ttrss_user_entries WHERE
|
|
||||||
ttrss_entries.id = ref_id AND
|
|
||||||
ttrss_user_entries.feed_id = ttrss_feeds.id) < $interval_qpart
|
|
||||||
AND ttrss_feeds.owner_uid = ".$_SESSION["uid"]." AND
|
|
||||||
ttrss_user_entries.feed_id = ttrss_feeds.id AND
|
|
||||||
ttrss_entries.id = ref_id
|
|
||||||
GROUP BY ttrss_feeds.title, ttrss_feeds.id, ttrss_feeds.site_url, ttrss_feeds.feed_url
|
|
||||||
ORDER BY last_article");
|
|
||||||
|
|
||||||
print "<div class=\"dialogNotice\">" . __("These feeds have not been updated with new content for 3 months (oldest first):") . "</div>";
|
|
||||||
|
|
||||||
print "<div dojoType=\"dijit.Toolbar\">";
|
|
||||||
print "<div dojoType=\"dijit.form.DropDownButton\">".
|
|
||||||
"<span>" . __('Select')."</span>";
|
|
||||||
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
|
|
||||||
print "<div onclick=\"selectTableRows('prefInactiveFeedList', 'all')\"
|
|
||||||
dojoType=\"dijit.MenuItem\">".__('All')."</div>";
|
|
||||||
print "<div onclick=\"selectTableRows('prefInactiveFeedList', 'none')\"
|
|
||||||
dojoType=\"dijit.MenuItem\">".__('None')."</div>";
|
|
||||||
print "</div></div>";
|
|
||||||
print "</div>"; #toolbar
|
|
||||||
|
|
||||||
print "<div class=\"inactiveFeedHolder\">";
|
|
||||||
|
|
||||||
print "<table width=\"100%\" cellspacing=\"0\" id=\"prefInactiveFeedList\">";
|
|
||||||
|
|
||||||
$lnum = 1;
|
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
|
||||||
|
|
||||||
$class = ($lnum % 2) ? "even" : "odd";
|
|
||||||
$feed_id = $line["id"];
|
|
||||||
$this_row_id = "id=\"FUPDD-$feed_id\"";
|
|
||||||
|
|
||||||
# class needed for selectTableRows()
|
|
||||||
print "<tr class=\"placeholder\" $this_row_id>";
|
|
||||||
|
|
||||||
$edit_title = htmlspecialchars($line["title"]);
|
|
||||||
|
|
||||||
# id needed for selectTableRows()
|
|
||||||
print "<td width='5%' align='center'><input
|
|
||||||
onclick='toggleSelectRow2(this);' dojoType=\"dijit.form.CheckBox\"
|
|
||||||
type=\"checkbox\" id=\"FUPDC-$feed_id\"></td>";
|
|
||||||
print "<td>";
|
|
||||||
|
|
||||||
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($this->link, $line['last_article'], false);
|
|
||||||
print "</td>";
|
|
||||||
print "</tr>";
|
|
||||||
|
|
||||||
++$lnum;
|
|
||||||
}
|
|
||||||
|
|
||||||
print "</table>";
|
|
||||||
print "</div>";
|
|
||||||
|
|
||||||
print "<div class='dlgButtons'>";
|
|
||||||
print "<div style='float : left'>";
|
|
||||||
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').removeSelected()\">"
|
|
||||||
.__('Unsubscribe from selected feeds')."</button> ";
|
|
||||||
print "</div>";
|
|
||||||
|
|
||||||
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').hide()\">".
|
|
||||||
__('Close this window')."</button>";
|
|
||||||
|
|
||||||
print "</div>";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function feedsWithErrors() {
|
|
||||||
print "<div class=\"dialogNotice\">" . __("These feeds have not been updated because of errors:") . "</div>";
|
|
||||||
|
|
||||||
$result = db_query($this->link, "SELECT id,title,feed_url,last_error,site_url
|
|
||||||
FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
|
|
||||||
|
|
||||||
print "<div dojoType=\"dijit.Toolbar\">";
|
|
||||||
print "<div dojoType=\"dijit.form.DropDownButton\">".
|
|
||||||
"<span>" . __('Select')."</span>";
|
|
||||||
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
|
|
||||||
print "<div onclick=\"selectTableRows('prefErrorFeedList', 'all')\"
|
|
||||||
dojoType=\"dijit.MenuItem\">".__('All')."</div>";
|
|
||||||
print "<div onclick=\"selectTableRows('prefErrorFeedList', 'none')\"
|
|
||||||
dojoType=\"dijit.MenuItem\">".__('None')."</div>";
|
|
||||||
print "</div></div>";
|
|
||||||
print "</div>"; #toolbar
|
|
||||||
|
|
||||||
print "<div class=\"inactiveFeedHolder\">";
|
|
||||||
|
|
||||||
print "<table width=\"100%\" cellspacing=\"0\" id=\"prefErrorFeedList\">";
|
|
||||||
|
|
||||||
$lnum = 1;
|
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
|
||||||
|
|
||||||
$class = ($lnum % 2) ? "even" : "odd";
|
|
||||||
$feed_id = $line["id"];
|
|
||||||
$this_row_id = "id=\"FUPDD-$feed_id\"";
|
|
||||||
|
|
||||||
# class needed for selectTableRows()
|
|
||||||
print "<tr class=\"placeholder\" $this_row_id>";
|
|
||||||
|
|
||||||
$edit_title = htmlspecialchars($line["title"]);
|
|
||||||
|
|
||||||
# id needed for selectTableRows()
|
|
||||||
print "<td width='5%' align='center'><input
|
|
||||||
onclick='toggleSelectRow2(this);' dojoType=\"dijit.form.CheckBox\"
|
|
||||||
type=\"checkbox\" id=\"FUPDC-$feed_id\"></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 "</table>";
|
|
||||||
print "</div>";
|
|
||||||
|
|
||||||
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=\"dijit.byId('errorFeedsDlg').hide()\">".
|
|
||||||
__('Close this window')."</button>";
|
|
||||||
|
|
||||||
print "</div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
function editArticleTags() {
|
function editArticleTags() {
|
||||||
|
|
||||||
print __("Tags for this article (separated by commas):")."<br>";
|
print __("Tags for this article (separated by commas):")."<br>";
|
||||||
|
|
|
@ -3,7 +3,7 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
|
|
||||||
function csrf_ignore($method) {
|
function csrf_ignore($method) {
|
||||||
$csrf_ignored = array("index", "getfeedtree", "add", "editcats", "editfeed",
|
$csrf_ignored = array("index", "getfeedtree", "add", "editcats", "editfeed",
|
||||||
"savefeedorder", "uploadicon");
|
"savefeedorder", "uploadicon", "feedswitherrors", "inactivefeeds");
|
||||||
|
|
||||||
return array_search($method, $csrf_ignored) !== false;
|
return array_search($method, $csrf_ignored) !== false;
|
||||||
}
|
}
|
||||||
|
@ -1547,5 +1547,160 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
return $obj;
|
return $obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function inactiveFeeds() {
|
||||||
|
|
||||||
|
if (DB_TYPE == "pgsql") {
|
||||||
|
$interval_qpart = "NOW() - INTERVAL '3 months'";
|
||||||
|
} else {
|
||||||
|
$interval_qpart = "DATE_SUB(NOW(), INTERVAL 3 MONTH)";
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = db_query($this->link, "SELECT ttrss_feeds.title, ttrss_feeds.site_url,
|
||||||
|
ttrss_feeds.feed_url, ttrss_feeds.id, MAX(updated) AS last_article
|
||||||
|
FROM ttrss_feeds, ttrss_entries, ttrss_user_entries WHERE
|
||||||
|
(SELECT MAX(updated) FROM ttrss_entries, ttrss_user_entries WHERE
|
||||||
|
ttrss_entries.id = ref_id AND
|
||||||
|
ttrss_user_entries.feed_id = ttrss_feeds.id) < $interval_qpart
|
||||||
|
AND ttrss_feeds.owner_uid = ".$_SESSION["uid"]." AND
|
||||||
|
ttrss_user_entries.feed_id = ttrss_feeds.id AND
|
||||||
|
ttrss_entries.id = ref_id
|
||||||
|
GROUP BY ttrss_feeds.title, ttrss_feeds.id, ttrss_feeds.site_url, ttrss_feeds.feed_url
|
||||||
|
ORDER BY last_article");
|
||||||
|
|
||||||
|
print "<div class=\"dialogNotice\">" . __("These feeds have not been updated with new content for 3 months (oldest first):") . "</div>";
|
||||||
|
|
||||||
|
print "<div dojoType=\"dijit.Toolbar\">";
|
||||||
|
print "<div dojoType=\"dijit.form.DropDownButton\">".
|
||||||
|
"<span>" . __('Select')."</span>";
|
||||||
|
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
|
||||||
|
print "<div onclick=\"selectTableRows('prefInactiveFeedList', 'all')\"
|
||||||
|
dojoType=\"dijit.MenuItem\">".__('All')."</div>";
|
||||||
|
print "<div onclick=\"selectTableRows('prefInactiveFeedList', 'none')\"
|
||||||
|
dojoType=\"dijit.MenuItem\">".__('None')."</div>";
|
||||||
|
print "</div></div>";
|
||||||
|
print "</div>"; #toolbar
|
||||||
|
|
||||||
|
print "<div class=\"inactiveFeedHolder\">";
|
||||||
|
|
||||||
|
print "<table width=\"100%\" cellspacing=\"0\" id=\"prefInactiveFeedList\">";
|
||||||
|
|
||||||
|
$lnum = 1;
|
||||||
|
|
||||||
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
|
||||||
|
$class = ($lnum % 2) ? "even" : "odd";
|
||||||
|
$feed_id = $line["id"];
|
||||||
|
$this_row_id = "id=\"FUPDD-$feed_id\"";
|
||||||
|
|
||||||
|
# class needed for selectTableRows()
|
||||||
|
print "<tr class=\"placeholder\" $this_row_id>";
|
||||||
|
|
||||||
|
$edit_title = htmlspecialchars($line["title"]);
|
||||||
|
|
||||||
|
# id needed for selectTableRows()
|
||||||
|
print "<td width='5%' align='center'><input
|
||||||
|
onclick='toggleSelectRow2(this);' dojoType=\"dijit.form.CheckBox\"
|
||||||
|
type=\"checkbox\" id=\"FUPDC-$feed_id\"></td>";
|
||||||
|
print "<td>";
|
||||||
|
|
||||||
|
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($this->link, $line['last_article'], false);
|
||||||
|
print "</td>";
|
||||||
|
print "</tr>";
|
||||||
|
|
||||||
|
++$lnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "</table>";
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
|
print "<div class='dlgButtons'>";
|
||||||
|
print "<div style='float : left'>";
|
||||||
|
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').removeSelected()\">"
|
||||||
|
.__('Unsubscribe from selected feeds')."</button> ";
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
|
print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('inactiveFeedsDlg').hide()\">".
|
||||||
|
__('Close this window')."</button>";
|
||||||
|
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function feedsWithErrors() {
|
||||||
|
print "<div class=\"dialogNotice\">" . __("These feeds have not been updated because of errors:") . "</div>";
|
||||||
|
|
||||||
|
$result = db_query($this->link, "SELECT id,title,feed_url,last_error,site_url
|
||||||
|
FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
|
||||||
|
|
||||||
|
print "<div dojoType=\"dijit.Toolbar\">";
|
||||||
|
print "<div dojoType=\"dijit.form.DropDownButton\">".
|
||||||
|
"<span>" . __('Select')."</span>";
|
||||||
|
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
|
||||||
|
print "<div onclick=\"selectTableRows('prefErrorFeedList', 'all')\"
|
||||||
|
dojoType=\"dijit.MenuItem\">".__('All')."</div>";
|
||||||
|
print "<div onclick=\"selectTableRows('prefErrorFeedList', 'none')\"
|
||||||
|
dojoType=\"dijit.MenuItem\">".__('None')."</div>";
|
||||||
|
print "</div></div>";
|
||||||
|
print "</div>"; #toolbar
|
||||||
|
|
||||||
|
print "<div class=\"inactiveFeedHolder\">";
|
||||||
|
|
||||||
|
print "<table width=\"100%\" cellspacing=\"0\" id=\"prefErrorFeedList\">";
|
||||||
|
|
||||||
|
$lnum = 1;
|
||||||
|
|
||||||
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
|
||||||
|
$class = ($lnum % 2) ? "even" : "odd";
|
||||||
|
$feed_id = $line["id"];
|
||||||
|
$this_row_id = "id=\"FERDD-$feed_id\"";
|
||||||
|
|
||||||
|
# class needed for selectTableRows()
|
||||||
|
print "<tr class=\"placeholder\" $this_row_id>";
|
||||||
|
|
||||||
|
$edit_title = htmlspecialchars($line["title"]);
|
||||||
|
|
||||||
|
# id needed for selectTableRows()
|
||||||
|
print "<td width='5%' align='center'><input
|
||||||
|
onclick='toggleSelectRow2(this);' dojoType=\"dijit.form.CheckBox\"
|
||||||
|
type=\"checkbox\" id=\"FERDC-$feed_id\"></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 "</table>";
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
|
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=\"dijit.byId('errorFeedsDlg').hide()\">".
|
||||||
|
__('Close this window')."</button>";
|
||||||
|
|
||||||
|
print "</div>";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -1751,7 +1751,7 @@ function feedBrowser() {
|
||||||
|
|
||||||
function showFeedsWithErrors() {
|
function showFeedsWithErrors() {
|
||||||
try {
|
try {
|
||||||
var query = "backend.php?op=dlg&method=feedsWithErrors";
|
var query = "backend.php?op=pref-feeds&method=feedsWithErrors";
|
||||||
|
|
||||||
if (dijit.byId("errorFeedsDlg"))
|
if (dijit.byId("errorFeedsDlg"))
|
||||||
dijit.byId("errorFeedsDlg").destroyRecursive();
|
dijit.byId("errorFeedsDlg").destroyRecursive();
|
||||||
|
|
|
@ -1296,7 +1296,7 @@ function createCategory() {
|
||||||
|
|
||||||
function showInactiveFeeds() {
|
function showInactiveFeeds() {
|
||||||
try {
|
try {
|
||||||
var query = "backend.php?op=dlg&method=inactiveFeeds";
|
var query = "backend.php?op=pref-feeds&method=inactiveFeeds";
|
||||||
|
|
||||||
if (dijit.byId("inactiveFeedsDlg"))
|
if (dijit.byId("inactiveFeedsDlg"))
|
||||||
dijit.byId("inactiveFeedsDlg").destroyRecursive();
|
dijit.byId("inactiveFeedsDlg").destroyRecursive();
|
||||||
|
|
Loading…
Reference in New Issue