implement a simple pseudo-dashboard feed; display feeds having update errors there instead of client-based 'no feed selected' whiteBox plug (closes #189)

This commit is contained in:
Andrew Dolgov 2010-11-04 19:11:54 +03:00
parent 85a922895f
commit fe1087fbb7
5 changed files with 45 additions and 6 deletions

View file

@ -289,6 +289,15 @@
$csync = $_REQUEST["csync"];
$order_by = db_escape_string($_REQUEST["order_by"]);
/* Feed -5 is a special case: it is used to display auxiliary information
* when there's nothing to load - e.g. no stuff in fresh feed */
if ($feed == -5) {
generate_dashboard_feed($link);
print "</reply>";
return;
}
/* Updating a label ccache means recalculating all of the caches
* so for performance reasons we don't do that here */

View file

@ -429,6 +429,7 @@ function feedlist_init() {
notify_silent_next();
setTimeout("viewfeed(-3)", 100);
} else {
setTimeout("viewfeed(-5)", 100);
remove_splash();
}
}

View file

@ -6828,4 +6828,31 @@
return $headlines;
}
function generate_dashboard_feed($link) {
print "<headlines id=\"-5\" is_cat=\"\">";
print '<![CDATA[<div id="headlinesContainer">';
print "<div class='whiteBox'>".__('No feed selected.');
$result = db_query($link, "SELECT COUNT(id) AS num_errors
FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
$num_errors = db_fetch_result($result, 0, "num_errors");
if ($num_errors > 0) {
print "<p><a class=\"insensitive\" href=\"#\" onclick=\"showFeedsWithErrors()\">".
__('Some feeds have update errors (click for details)')."</a>";
}
print "</div>]]>";
print "</headlines>";
print "<headlines-count value=\"0\"/>";
print "<vgroup-last-feed value=\"0\"/>";
print "<headlines-unread value=\"0\"/>";
print "<disable-cache value=\"1\"/>";
}
?>

View file

@ -87,10 +87,7 @@ function toggleTags(show_all) {
function dlg_frefresh_callback(transport, deleted_feed) {
if (getActiveFeedId() == deleted_feed) {
var h = $("headlines-frame");
if (h) {
h.innerHTML = "<div class='whiteBox'>" + __('No feed selected.') + "</div>";
}
setTimeout("viewfeed(-5)", 100);
}
setTimeout('updateFeedList(false, false)', 50);
@ -1327,3 +1324,8 @@ function reverseHeadlineOrder() {
exception_error("reverseHeadlineOrder", e);
}
}
function showFeedsWithErrors() {
displayDlg('feedUpdateErrors');
}

View file

@ -242,7 +242,7 @@
<?php if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) { ?>
<div id="headlines-frame" class="headlines_normal">
<div class="whiteBox"><?php echo __('No feed selected.') ?></div></div>
<div class="whiteBox"><?php echo __('Loading, please wait...') ?></div></div>
<div id="content-frame">
<div id="resize-grabber"
onmouseover="enable_resize(true)" onmouseout="enable_resize(false)"
@ -256,7 +256,7 @@
<!-- <div class="whiteBox">&nbsp;</div> --> </div>
<?php } else { ?>
<div id="headlines-frame" class="headlines_cdm">
<div class="whiteBox"><?php echo __('No feed selected.') ?></div></div>
<div class="whiteBox"><?php echo __('Loading, please wait...') ?></div></div>
<?php } ?>
<div id="footer">