digest: ajax loading for zoom()
This commit is contained in:
parent
41de958121
commit
d8ea9902b6
2 changed files with 42 additions and 31 deletions
36
digest.js
36
digest.js
|
@ -102,24 +102,28 @@ function set_selected_feed(feed_id) {
|
|||
}
|
||||
}
|
||||
|
||||
function zoom(article_id) {
|
||||
function zoom(elem, article_id) {
|
||||
try {
|
||||
var elem = $('A-' + article_id);
|
||||
//alert(elem + "/" + article_id);
|
||||
|
||||
if (elem) {
|
||||
var divs = elem.getElementsByTagName('DIV');
|
||||
|
||||
for (var i = 0; i < divs.length; i++) {
|
||||
if (divs[i].className == 'excerpt')
|
||||
Element.hide(divs[i]);
|
||||
elem.innerHTML = "<img src='images/indicator_tiny.gif'> " +
|
||||
__("Loading, please wait...");
|
||||
|
||||
if (divs[i].className == 'content')
|
||||
Element.show(divs[i]);
|
||||
}
|
||||
}
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: "?op=rpc&subop=digest-get-contents&article_id=" +
|
||||
article_id,
|
||||
onComplete: function(transport) {
|
||||
fatal_error_check(transport);
|
||||
|
||||
if (transport.responseXML) {
|
||||
var article = transport.responseXML.getElementsByTagName('article')[0];
|
||||
elem.innerHTML = article.firstChild.nodeValue;
|
||||
} else {
|
||||
elem.innerHTML = __("Error: unable to load article.");
|
||||
}
|
||||
|
||||
} });
|
||||
|
||||
//catchup_article(article_id,
|
||||
// function() { update(); });
|
||||
|
||||
} catch (e) {
|
||||
exception_error("zoom", e);
|
||||
|
@ -346,10 +350,8 @@ function add_headline_entry(article, feed, no_effects) {
|
|||
"onclick=\"return view("+article.id+")\" class='title'>" +
|
||||
article.title + "</a>" +
|
||||
"<div class='body'>" +
|
||||
"<div title=\""+__("Click to expand article")+"\" onclick=\"zoom("+article.id+")\" class='excerpt'>" +
|
||||
"<div title=\""+__("Click to expand article")+"\" onclick=\"zoom(this, "+article.id+")\" class='excerpt'>" +
|
||||
article.excerpt + "</div>" +
|
||||
"<div style='display : none' class='content'>" +
|
||||
article.content + "</div>" +
|
||||
"<div class='info'><a href=\#\" onclick=\"viewfeed("+feed.id+")\">" +
|
||||
feed.title + "</a> " + tags_part + " @ " +
|
||||
new Date(article.updated * 1000) + "</div>" +
|
||||
|
|
|
@ -978,6 +978,28 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if ($subop == "digest-get-contents") {
|
||||
$article_id = db_escape_string($_REQUEST['article_id']);
|
||||
|
||||
$result = db_query($link, "SELECT content
|
||||
FROM ttrss_entries, ttrss_user_entries
|
||||
WHERE id = '$article_id' AND ref_id = id AND owner_uid = ".$_SESSION['uid']);
|
||||
|
||||
print "<rpc-reply>";
|
||||
|
||||
print "<article id=\"$article_id\"><![CDATA[";
|
||||
|
||||
$content = sanitize_rss($link, db_fetch_result($result, 0, "content"));
|
||||
|
||||
print $content;
|
||||
|
||||
print "]]></article>";
|
||||
|
||||
print "</rpc-reply>";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($subop == "digest-update") {
|
||||
$feed_id = db_escape_string($_REQUEST['feed_id']);
|
||||
$offset = db_escape_string($_REQUEST['offset']);
|
||||
|
@ -987,7 +1009,7 @@
|
|||
print "<rpc-reply>";
|
||||
|
||||
$headlines = api_get_headlines($link, $feed_id, 10, $offset,
|
||||
'', ($feed_id == -4), true, true, "unread", "updated DESC");
|
||||
'', ($feed_id == -4), true, false, "unread", "updated DESC");
|
||||
|
||||
//function api_get_headlines($link, $feed_id, $limit, $offset,
|
||||
// $filter, $is_cat, $show_excerpt, $show_content, $view_mode) {
|
||||
|
@ -1011,19 +1033,6 @@
|
|||
if ($f['id'] > 0 || $f['id'] == -4) array_push($feeds, $f);
|
||||
}
|
||||
|
||||
function feeds_sort_by_unread_rev($a, $b) {
|
||||
$a = $a['unread'];
|
||||
$b = $b['unread'];
|
||||
|
||||
if ($a == $b) {
|
||||
return 0;
|
||||
}
|
||||
return ($a < $b) ? 1 : -1;
|
||||
}
|
||||
|
||||
//uasort($feeds, 'feeds_sort_by_unread_rev');
|
||||
//$feeds = array_slice($feeds, 0, 10);
|
||||
|
||||
print "<feeds><![CDATA[" . json_encode($feeds) . "]]></feeds>";
|
||||
|
||||
print "</rpc-reply>";
|
||||
|
|
Loading…
Reference in a new issue