diff options
author | Andrew Dolgov <[email protected]> | 2011-03-18 12:55:45 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-03-18 14:05:20 +0300 |
commit | bd202c3f89af2d0b2d073841408212541d8031df (patch) | |
tree | 767f136e1a5c56a22499f06d7fd493ae31610606 /functions.php | |
parent | 009646d23a166ed1bbb56d75aa27d5fcc719b5ce (diff) |
backend/viewfeed: use JSON
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 404 |
1 files changed, 199 insertions, 205 deletions
diff --git a/functions.php b/functions.php index 3f1d72f97..b0c768ff8 100644 --- a/functions.php +++ b/functions.php @@ -4019,135 +4019,136 @@ mb_strtolower(strip_tags($title), 'utf-8')); } - function print_headline_subtoolbar($link, $feed_site_url, $feed_title, + function format_headline_subtoolbar($link, $feed_site_url, $feed_title, $feed_id, $is_cat, $search, $match_on, $search_mode, $view_mode, $error) { - $page_prev_link = "viewFeedGoPage(-1)"; - $page_next_link = "viewFeedGoPage(1)"; - $page_first_link = "viewFeedGoPage(0)"; + $page_prev_link = "viewFeedGoPage(-1)"; + $page_next_link = "viewFeedGoPage(1)"; + $page_first_link = "viewFeedGoPage(0)"; - $catchup_page_link = "catchupPage()"; - $catchup_feed_link = "catchupCurrentFeed()"; - $catchup_sel_link = "catchupSelection()"; + $catchup_page_link = "catchupPage()"; + $catchup_feed_link = "catchupCurrentFeed()"; + $catchup_sel_link = "catchupSelection()"; - $archive_sel_link = "archiveSelection()"; - $delete_sel_link = "deleteSelection()"; + $archive_sel_link = "archiveSelection()"; + $delete_sel_link = "deleteSelection()"; - $sel_all_link = "selectArticles('all')"; - $sel_unread_link = "selectArticles('unread')"; - $sel_none_link = "selectArticles('none')"; - $sel_inv_link = "selectArticles('invert')"; + $sel_all_link = "selectArticles('all')"; + $sel_unread_link = "selectArticles('unread')"; + $sel_none_link = "selectArticles('none')"; + $sel_inv_link = "selectArticles('invert')"; - $tog_unread_link = "selectionToggleUnread()"; - $tog_marked_link = "selectionToggleMarked()"; - $tog_published_link = "selectionTogglePublished()"; + $tog_unread_link = "selectionToggleUnread()"; + $tog_marked_link = "selectionToggleMarked()"; + $tog_published_link = "selectionTogglePublished()"; - print "<div id=\"subtoolbar_main\">"; + $reply = "<div id=\"subtoolbar_main\">"; - print __('Select:')." - <a href=\"#\" onclick=\"$sel_all_link\">".__('All')."</a>, - <a href=\"#\" onclick=\"$sel_unread_link\">".__('Unread')."</a>, - <a href=\"#\" onclick=\"$sel_inv_link\">".__('Invert')."</a>, - <a href=\"#\" onclick=\"$sel_none_link\">".__('None')."</a></li>"; + $reply .= __('Select:')." + <a href=\"#\" onclick=\"$sel_all_link\">".__('All')."</a>, + <a href=\"#\" onclick=\"$sel_unread_link\">".__('Unread')."</a>, + <a href=\"#\" onclick=\"$sel_inv_link\">".__('Invert')."</a>, + <a href=\"#\" onclick=\"$sel_none_link\">".__('None')."</a></li>"; - print " "; + $reply .= " "; - print "<select dojoType=\"dijit.form.Select\" - onchange=\"headlineActionsChange(this)\">"; - print "<option value=\"false\">".__('Actions...')."</option>"; + $reply .= "<select dojoType=\"dijit.form.Select\" + onchange=\"headlineActionsChange(this)\">"; + $reply .= "<option value=\"false\">".__('Actions...')."</option>"; - print "<option value=\"0\" disabled=\"1\">".__('Selection toggle:')."</option>"; + $reply .= "<option value=\"0\" disabled=\"1\">".__('Selection toggle:')."</option>"; - print "<option value=\"$tog_unread_link\">".__('Unread')."</option> - <option value=\"$tog_marked_link\">".__('Starred')."</option> - <option value=\"$tog_published_link\">".__('Published')."</option>"; + $reply .= "<option value=\"$tog_unread_link\">".__('Unread')."</option> + <option value=\"$tog_marked_link\">".__('Starred')."</option> + <option value=\"$tog_published_link\">".__('Published')."</option>"; - print "<option value=\"0\" disabled=\"1\">".__('Selection:')."</option>"; + $reply .= "<option value=\"0\" disabled=\"1\">".__('Selection:')."</option>"; - print "<option value=\"$catchup_sel_link\">".__('Mark as read')."</option>"; + $reply .= "<option value=\"$catchup_sel_link\">".__('Mark as read')."</option>"; - if ($feed_id != "0") { - print "<option value=\"$archive_sel_link\">".__('Archive')."</option>"; - } else { - print "<option value=\"$archive_sel_link\">".__('Move back')."</option>"; - print "<option value=\"$delete_sel_link\">".__('Delete')."</option>"; - - } + if ($feed_id != "0") { + $reply .= "<option value=\"$archive_sel_link\">".__('Archive')."</option>"; + } else { + $reply .= "<option value=\"$archive_sel_link\">".__('Move back')."</option>"; + $reply .= "<option value=\"$delete_sel_link\">".__('Delete')."</option>"; - print "<option value=\"emailArticle(false)\">".__('Forward by email'). - "</option>"; + } - $rss_link = htmlspecialchars(get_self_url_prefix() . - "/backend.php?op=rss&id=$feed_id&is_cat=$is_cat&view_mode=$view_mode$search_q"); + $reply .= "<option value=\"emailArticle(false)\">".__('Forward by email'). + "</option>"; - print "<option value=\"0\" disabled=\"1\">".__('Feed:')."</option>"; + $rss_link = htmlspecialchars(get_self_url_prefix() . + "/backend.php?op=rss&id=$feed_id&is_cat=$is_cat&view_mode=$view_mode$search_q"); - print "<option value=\"catchupPage()\">".__('Mark as read')."</option>"; + $reply .= "<option value=\"0\" disabled=\"1\">".__('Feed:')."</option>"; - print "<option value=\"displayDlg('generatedFeed', '$feed_id:$is_cat:$rss_link')\">".__('View as RSS')."</option>"; + $reply .= "<option value=\"catchupPage()\">".__('Mark as read')."</option>"; - print "</select>"; + $reply .= "<option value=\"displayDlg('generatedFeed', '$feed_id:$is_cat:$rss_link')\">".__('View as RSS')."</option>"; - print "</div>"; + $reply .= "</select>"; - print "<div id=\"subtoolbar_ftitle\">"; + $reply .= "</div>"; - if ($feed_site_url) { - $target = "target=\"_blank\""; - print "<a title=\"".__("Visit the website")."\" $target href=\"$feed_site_url\">". - truncate_string($feed_title,30)."</a>"; + $reply .= "<div id=\"subtoolbar_ftitle\">"; - if ($error) { - print " (<span class=\"error\" title=\"$error\">Error</span>)"; - } + if ($feed_site_url) { + $target = "target=\"_blank\""; + $reply .= "<a title=\"".__("Visit the website")."\" $target href=\"$feed_site_url\">". + truncate_string($feed_title,30)."</a>"; - } else { - if ($feed_id < -10) { - $label_id = -11-$feed_id; + if ($error) { + $reply .= " (<span class=\"error\" title=\"$error\">Error</span>)"; + } - $result = db_query($link, "SELECT fg_color, bg_color - FROM ttrss_labels2 WHERE id = '$label_id' AND owner_uid = " . - $_SESSION["uid"]); + } else { + if ($feed_id < -10) { + $label_id = -11-$feed_id; - if (db_num_rows($result) != 0) { - $fg_color = db_fetch_result($result, 0, "fg_color"); - $bg_color = db_fetch_result($result, 0, "bg_color"); + $result = db_query($link, "SELECT fg_color, bg_color + FROM ttrss_labels2 WHERE id = '$label_id' AND owner_uid = " . + $_SESSION["uid"]); - print "<span style='background : $bg_color; color : $fg_color'>"; - print $feed_title; - print "</span>"; - } else { - print $feed_title; - } + if (db_num_rows($result) != 0) { + $fg_color = db_fetch_result($result, 0, "fg_color"); + $bg_color = db_fetch_result($result, 0, "bg_color"); + $reply .= "<span style='background : $bg_color; color : $fg_color'>"; + $reply .= $feed_title; + $reply .= "</span>"; } else { - print $feed_title; + $reply .= $feed_title; } - } - if ($search) { - $search_q = "&q=$search&m=$match_on&smode=$search_mode"; } else { - $search_q = ""; + $reply .= $feed_title; } + } - // Adaptive doesn't really make any sense for generated feeds - // All Articles is the default, so no need to insert it either - if ($view_mode == "adaptive" || $view_mode == "all_articles") - $view_mode = ""; - else - $view_mode = "&view-mode=$view_mode"; + if ($search) { + $search_q = "&q=$search&m=$match_on&smode=$search_mode"; + } else { + $search_q = ""; + } - print " - <a href=\"#\" - title=\"".__("View as RSS feed")."\" - onclick=\"displayDlg('generatedFeed', '$feed_id:$is_cat:$rss_link')\"> - <img class=\"noborder\" style=\"vertical-align : middle\" src=\"images/feed-icon-12x12.png\"></a>"; + // Adaptive doesn't really make any sense for generated feeds + // All Articles is the default, so no need to insert it either + if ($view_mode == "adaptive" || $view_mode == "all_articles") + $view_mode = ""; + else + $view_mode = "&view-mode=$view_mode"; - print "</div>"; + $reply .= " + <a href=\"#\" + title=\"".__("View as RSS feed")."\" + onclick=\"displayDlg('generatedFeed', '$feed_id:$is_cat:$rss_link')\"> + <img class=\"noborder\" style=\"vertical-align : middle\" src=\"images/feed-icon-12x12.png\"></a>"; - } + $reply .= "</div>"; + + return $reply; + } function outputFeedList($link, $special = true) { @@ -4730,12 +4731,14 @@ } - function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view, + function format_headlines_list($link, $feed, $subop, $view_mode, $limit, $cat_view, $next_unread_feed, $offset, $vgr_last_feed = false, $override_order = false) { $disable_cache = false; + $reply = array(); + $timing_info = getmicrotime(); $topmost_article_ids = array(); @@ -4780,8 +4783,7 @@ "SELECT id FROM ttrss_feeds WHERE id = '$feed' LIMIT 1"); if (db_num_rows($result) == 0) { - print "<div align='center'>".__('Feed not found.')."</div>"; - return; + $reply['content'] = "<div align='center'>".__('Feed not found.')."</div>"; } } @@ -4837,34 +4839,17 @@ $vgroup_last_feed = $vgr_last_feed; -/* if ($feed == -2) { - $feed_site_url = article_publish_url($link); - } */ - /// STOP ////////////////////////////////////////////////////////////////////////////////// - print "<toolbar><![CDATA["; - if (!$offset) { -// print "<div id=\"headlinesContainer\" $rtl_tag>"; - - if (!$result) { - print "<div align='center'>".__("Could not display feed (query failed). Please check label match syntax or local configuration.")."</div>"; - return; - } if (db_num_rows($result) > 0) { - print_headline_subtoolbar($link, $feed_site_url, $feed_title, + $reply['toolbar'] = format_headline_subtoolbar($link, $feed_site_url, $feed_title, $feed, $cat_view, $search, $match_on, $search_mode, $view_mode, $last_error); - -// print "<div id=\"headlinesInnerContainer\" onscroll=\"headlines_scroll_handler()\">"; - } } - print "]]></toolbar><content><![CDATA["; - $headlines_count = db_num_rows($result); if (db_num_rows($result) > 0) { @@ -5006,7 +4991,7 @@ $vf_catchup_link = "(<a onclick='javascript:catchupFeedInGroup($feed_id);' href='#'>".__('mark as read')."</a>)"; - print "<div class='cdmFeedTitle'>". + $reply['content'] .= "<div class='cdmFeedTitle'>". "<div style=\"float : right\">$feed_icon_img</div>". "<a href=\"#\" onclick=\"viewfeed($feed_id)\">". $line["feed_title"]."</a> $vf_catchup_link</div>"; @@ -5017,36 +5002,36 @@ $mouseover_attrs = "onmouseover='postMouseIn($id)' onmouseout='postMouseOut($id)'"; - print "<div class='$class' id='RROW-$id' $mouseover_attrs>"; + $reply['content'] .= "<div class='$class' id='RROW-$id' $mouseover_attrs>"; - print "<div class='hlUpdPic'>$update_pic</div>"; + $reply['content'] .= "<div class='hlUpdPic'>$update_pic</div>"; - print "<div class='hlLeft'>"; + $reply['content'] .= "<div class='hlLeft'>"; - print "<input type=\"checkbox\" onclick=\"tSR(this)\" + $reply['content'] .= "<input type=\"checkbox\" onclick=\"tSR(this)\" id=\"RCHK-$id\">"; - print "$marked_pic"; - print "$published_pic"; + $reply['content'] .= "$marked_pic"; + $reply['content'] .= "$published_pic"; - print "</div>"; + $reply['content'] .= "</div>"; - print "<div onclick='return hlClicked(event, $id)' + $reply['content'] .= "<div onclick='return hlClicked(event, $id)' class=\"hlTitle\"><span class='hlContent$hlc_suffix'>"; - print "<a id=\"RTITLE-$id\" + $reply['content'] .= "<a id=\"RTITLE-$id\" href=\"" . htmlspecialchars($line["link"]) . "\" onclick=\"return false;\">" . $line["title"]; if (get_pref($link, 'SHOW_CONTENT_PREVIEW')) { if ($content_preview) { - print "<span class=\"contentPreview\"> - $content_preview</span>"; + $reply['content'] .= "<span class=\"contentPreview\"> - $content_preview</span>"; } } - print "</a></span>"; + $reply['content'] .= "</a></span>"; - print $labels_str; + $reply['content'] .= $labels_str; /* if (!get_pref($link, 'VFEED_GROUP_BY_FEED')) { if (@$line["feed_title"]) { @@ -5057,23 +5042,21 @@ } } */ - print "</div>"; - - + $reply['content'] .= "</div>"; - print "<div class=\"hlRight\">"; - print "<span class=\"hlUpdated\">$updated_fmt</span>"; - print $score_pic; + $reply['content'] .= "<div class=\"hlRight\">"; + $reply['content'] .= "<span class=\"hlUpdated\">$updated_fmt</span>"; + $reply['content'] .= $score_pic; if ($line["feed_title"] && !get_pref($link, 'VFEED_GROUP_BY_FEED')) { - print "<span onclick=\"viewfeed($feed_id)\" + $reply['content'] .= "<span onclick=\"viewfeed($feed_id)\" title=\"".htmlspecialchars($line['feed_title'])."\"> $feed_icon_img<span>"; } - print "</div>"; - print "</div>"; + $reply['content'] .= "</div>"; + $reply['content'] .= "</div>"; } else { @@ -5095,7 +5078,7 @@ //$feed_icon_img = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\" alt=\"\">"; } - print "<div class='cdmFeedTitle'>". + $reply['content'] .= "<div class='cdmFeedTitle'>". "<div style=\"float : right\">$feed_icon_img</div>". "<a href=\"#\" onclick=\"viewfeed($feed_id)\">". $line["feed_title"]."</a> $vf_catchup_link</div>"; @@ -5107,31 +5090,31 @@ $mouseover_attrs = "onmouseover='postMouseIn($id)' onmouseout='postMouseOut($id)'"; - print "<div class=\"$class\" + $reply['content'] .= "<div class=\"$class\" id=\"RROW-$id\" $mouseover_attrs'>"; - print "<div class=\"cdmHeader\">"; + $reply['content'] .= "<div class=\"cdmHeader\">"; - print "<div style='float : right'>"; - print "<span class='updated'>$updated_fmt</span>"; - print "$score_pic"; + $reply['content'] .= "<div style='float : right'>"; + $reply['content'] .= "<span class='updated'>$updated_fmt</span>"; + $reply['content'] .= "$score_pic"; if (!get_pref($link, "VFEED_GROUP_BY_FEED") && $line["feed_title"]) { - print "<span style=\"cursor : pointer\" + $reply['content'] .= "<span style=\"cursor : pointer\" title=\"".htmlspecialchars($line["feed_title"])."\" onclick=\"viewfeed($feed_id)\">$feed_icon_img</span>"; } - print "<div class=\"updPic\">$update_pic</div>"; + $reply['content'] .= "<div class=\"updPic\">$update_pic</div>"; - print "</div>"; + $reply['content'] .= "</div>"; - print "<input type=\"checkbox\" onclick=\"toggleSelectRowById(this, + $reply['content'] .= "<input type=\"checkbox\" onclick=\"toggleSelectRowById(this, 'RROW-$id')\" id=\"RCHK-$id\"/>"; - print "$marked_pic"; - print "$published_pic"; + $reply['content'] .= "$marked_pic"; + $reply['content'] .= "$published_pic"; - print "<span id=\"RTITLE-$id\" + $reply['content'] .= "<span id=\"RTITLE-$id\" onclick=\"return cdmClicked(event, $id);\" class=\"titleWrap$hlc_suffix\"> <a class=\"title\" @@ -5141,25 +5124,25 @@ truncate_string($line["title"], 100) . " $entry_author</a>"; - print $labels_str; + $reply['content'] .= $labels_str; if (!$expand_cdm) $content_hidden = "style=\"display : none\""; else $excerpt_hidden = "style=\"display : none\""; - print "<span $excerpt_hidden + $reply['content'] .= "<span $excerpt_hidden id=\"CEXC-$id\" class=\"cdmExcerpt\"> - $content_preview</span>"; - print "</span>"; + $reply['content'] .= "</span>"; - print "</div>"; + $reply['content'] .= "</div>"; - print "<div class=\"cdmContent\" $content_hidden + $reply['content'] .= "<div class=\"cdmContent\" $content_hidden onclick=\"return cdmClicked(event, $id);\" id=\"CICD-$id\">"; - print "<div class=\"cdmContentInner\">"; + $reply['content'] .= "<div class=\"cdmContentInner\">"; if ($line["orig_feed_id"]) { @@ -5168,23 +5151,23 @@ if (db_num_rows($tmp_result) != 0) { - print "<div clear='both'>"; - print __("Originally from:"); + $reply['content'] .= "<div clear='both'>"; + $reply['content'] .= __("Originally from:"); - print " "; + $reply['content'] .= " "; $tmp_line = db_fetch_assoc($tmp_result); - print "<a target='_blank' + $reply['content'] .= "<a target='_blank' href=' " . htmlspecialchars($tmp_line['site_url']) . "'>" . $tmp_line['title'] . "</a>"; - print " "; + $reply['content'] .= " "; - print "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>"; - print "<img title='".__('Feed URL')."'class='tinyFeedIcon' src='images/pub_set.gif'></a>"; + $reply['content'] .= "<a target='_blank' href='" . htmlspecialchars($tmp_line['feed_url']) . "'>"; + $reply['content'] .= "<img title='".__('Feed URL')."'class='tinyFeedIcon' src='images/pub_set.gif'></a>"; - print "</div>"; + $reply['content'] .= "</div>"; } } @@ -5210,13 +5193,13 @@ $article_content = ''; } - print "<div id=\"POSTNOTE-$id\">"; + $reply['content'] .= "<div id=\"POSTNOTE-$id\">"; if ($line['note']) { - print format_article_note($id, $line['note']); + $reply['content'] .= format_article_note($id, $line['note']); } - print "</div>"; + $reply['content'] .= "</div>"; - print "<span id=\"CWRAP-$id\">$article_content</span>"; + $reply['content'] .= "<span id=\"CWRAP-$id\">$article_content</span>"; $tmp_result = db_query($link, "SELECT always_display_enclosures FROM ttrss_feeds WHERE id = ". @@ -5226,24 +5209,24 @@ $always_display_enclosures = sql_bool_to_bool(db_fetch_result($tmp_result, 0, "always_display_enclosures")); - print format_article_enclosures($link, $id, $always_display_enclosures, + $reply['content'] .= format_article_enclosures($link, $id, $always_display_enclosures, $article_content); - print "</div>"; + $reply['content'] .= "</div>"; - print "<div class=\"cdmFooter\">"; + $reply['content'] .= "<div class=\"cdmFooter\">"; $tags_str = format_tags_string(get_article_tags($link, $id), $id); - print "<img src='".theme_image($link, + $reply['content'] .= "<img src='".theme_image($link, 'images/tag.png')."' alt='Tags' title='Tags'> <span id=\"ATSTR-$id\">$tags_str</span> <a title=\"".__('Edit tags for this article')."\" href=\"#\" onclick=\"editArticleTags($id, $feed_id, true)\">(+)</a>"; - print "<div style=\"float : right\">"; + $reply['content'] .= "<div style=\"float : right\">"; - print "<img src=\"images/art-zoom.png\" + $reply['content'] .= "<img src=\"images/art-zoom.png\" onclick=\"zoomToArticle(event, $id)\" style=\"cursor : pointer\" alt='Zoom' @@ -5251,36 +5234,36 @@ //$note_escaped = htmlspecialchars($line['note'], ENT_QUOTES); - print "<img src=\"images/art-pub-note.png\" + $reply['content'] .= "<img src=\"images/art-pub-note.png\" style=\"cursor : pointer\" style=\"cursor : pointer\" onclick=\"editArticleNote($id)\" alt='PubNote' title='".__('Edit article note')."'>"; if (DIGEST_ENABLE) { - print "<img src=\"".theme_image($link, 'images/art-email.png')."\" + $reply['content'] .= "<img src=\"".theme_image($link, 'images/art-email.png')."\" style=\"cursor : pointer\" onclick=\"emailArticle($id)\" alt='Zoom' title='".__('Forward by email')."'>"; } if (ENABLE_TWEET_BUTTON) { - print "<img src=\"".theme_image($link, 'images/art-tweet.png')."\" + $reply['content'] .= "<img src=\"".theme_image($link, 'images/art-tweet.png')."\" class='tagsPic' style=\"cursor : pointer\" onclick=\"tweetArticle($id)\" alt='Zoom' title='".__('Share on Twitter')."'>"; } - print "<img src=\"images/digest_checkbox.png\" + $reply['content'] .= "<img src=\"images/digest_checkbox.png\" style=\"cursor : pointer\" style=\"cursor : pointer\" onclick=\"dismissArticle($id)\" alt='Dismiss' title='".__('Dismiss article')."'>"; - print "</div>"; - print "</div>"; + $reply['content'] .= "</div>"; + $reply['content'] .= "</div>"; - print "</div>"; + $reply['content'] .= "</div>"; - print "</div>"; + $reply['content'] .= "</div>"; } @@ -5309,9 +5292,9 @@ } if (!$offset && $message) { - print "<div class='whiteBox'>$message"; + $reply['content'] .= "<div class='whiteBox'>$message"; - print "<p class=\"small\"><span class=\"insensitive\">"; + $reply['content'] .= "<p class=\"small\"><span class=\"insensitive\">"; $result = db_query($link, "SELECT ".SUBSTRING_FOR_DATE."(MAX(last_updated), 1, 19) AS last_updated FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']); @@ -5319,7 +5302,7 @@ $last_updated = db_fetch_result($result, 0, "last_updated"); $last_updated = make_local_datetime($link, $last_updated, false); - printf(__("Feeds last updated at %s"), $last_updated); + $reply['content'] .= sprintf(__("Feeds last updated at %s"), $last_updated); $result = db_query($link, "SELECT COUNT(id) AS num_errors FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]); @@ -5327,11 +5310,11 @@ $num_errors = db_fetch_result($result, 0, "num_errors"); if ($num_errors > 0) { - print "<br/>"; - print "<a class=\"insensitive\" href=\"#\" onclick=\"showFeedsWithErrors()\">". + $reply['content'] .= "<br/>"; + $reply['content'] .= "<a class=\"insensitive\" href=\"#\" onclick=\"showFeedsWithErrors()\">". __('Some feeds have update errors (click for details)')."</a>"; } - print "</span></p></div>"; + $reply['content'] .= "</span></p></div>"; } } @@ -5340,9 +5323,10 @@ # print "</div>"; # } - print "]]></content>"; + #print "]]></content>"; - return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $vgroup_last_feed); + return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, + $vgroup_last_feed, $reply['content'], $reply['toolbar']); } // from here: http://www.roscripts.com/Create_tag_cloud-71.html @@ -6608,16 +6592,34 @@ return $headlines; } - function generate_dashboard_feed($link) { - print "<headlines id=\"-5\" is_cat=\"\">"; + function generate_error_feed($link, $error) { + $reply = array(); + + $reply['headlines']['id'] = -6; + $reply['headlines']['is_cat'] = false; + + $reply['headlines']['toolbar'] = ''; + $reply['headlines']['content'] = "<div class='whiteBox'>". $error . "</div>"; + + $reply['headlines-info'] = array("count" => 0, + "vgroup_last_feed" => '', + "unread" => 0, + "disable_cache" => true); + + return $reply; + } - print "<toolbar><![CDATA[]]></toolbar>"; - print '<content><![CDATA['; + function generate_dashboard_feed($link) { + $reply = array(); + + $reply['headlines']['id'] = -5; + $reply['headlines']['is_cat'] = false; - print "<div class='whiteBox'>".__('No feed selected.'); + $reply['headlines']['toolbar'] = ''; + $reply['headlines']['content'] = "<div class='whiteBox'>".__('No feed selected.'); - print "<p class=\"small\"><span class=\"insensitive\">"; + $reply['headlines']['content'] .= "<p class=\"small\"><span class=\"insensitive\">"; $result = db_query($link, "SELECT ".SUBSTRING_FOR_DATE."(MAX(last_updated), 1, 19) AS last_updated FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']); @@ -6625,7 +6627,7 @@ $last_updated = db_fetch_result($result, 0, "last_updated"); $last_updated = make_local_datetime($link, $last_updated, false); - printf(__("Feeds last updated at %s"), $last_updated); + $reply['headlines']['content'] .= sprintf(__("Feeds last updated at %s"), $last_updated); $result = db_query($link, "SELECT COUNT(id) AS num_errors FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]); @@ -6633,26 +6635,18 @@ $num_errors = db_fetch_result($result, 0, "num_errors"); if ($num_errors > 0) { - print "<br/>"; - print "<a class=\"insensitive\" href=\"#\" onclick=\"showFeedsWithErrors()\">". + $reply['headlines']['content'] .= "<br/>"; + $reply['headlines']['content'] .= "<a class=\"insensitive\" href=\"#\" onclick=\"showFeedsWithErrors()\">". __('Some feeds have update errors (click for details)')."</a>"; } - print "</span></p>"; - - print "]]></content>"; - print "</headlines>"; + $reply['headlines']['content'] .= "</span></p>"; - print "<headlines-info><![CDATA["; - - $info = array("count" => 0, + $reply['headlines-info'] = array("count" => 0, "vgroup_last_feed" => '', "unread" => 0, "disable_cache" => true); - print json_encode($info); - - print "]]></headlines-info>"; - + return $reply; } function save_email_address($link, $email) { |