digest: ajax loading for zoom()
This commit is contained in:
parent
41de958121
commit
d8ea9902b6
34
digest.js
34
digest.js
|
@ -102,24 +102,28 @@ function set_selected_feed(feed_id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function zoom(article_id) {
|
function zoom(elem, article_id) {
|
||||||
try {
|
try {
|
||||||
var elem = $('A-' + article_id);
|
//alert(elem + "/" + article_id);
|
||||||
|
|
||||||
if (elem) {
|
elem.innerHTML = "<img src='images/indicator_tiny.gif'> " +
|
||||||
var divs = elem.getElementsByTagName('DIV');
|
__("Loading, please wait...");
|
||||||
|
|
||||||
for (var i = 0; i < divs.length; i++) {
|
new Ajax.Request("backend.php", {
|
||||||
if (divs[i].className == 'excerpt')
|
parameters: "?op=rpc&subop=digest-get-contents&article_id=" +
|
||||||
Element.hide(divs[i]);
|
article_id,
|
||||||
|
onComplete: function(transport) {
|
||||||
|
fatal_error_check(transport);
|
||||||
|
|
||||||
if (divs[i].className == 'content')
|
if (transport.responseXML) {
|
||||||
Element.show(divs[i]);
|
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) {
|
} catch (e) {
|
||||||
exception_error("zoom", e);
|
exception_error("zoom", e);
|
||||||
|
@ -346,10 +350,8 @@ function add_headline_entry(article, feed, no_effects) {
|
||||||
"onclick=\"return view("+article.id+")\" class='title'>" +
|
"onclick=\"return view("+article.id+")\" class='title'>" +
|
||||||
article.title + "</a>" +
|
article.title + "</a>" +
|
||||||
"<div class='body'>" +
|
"<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>" +
|
article.excerpt + "</div>" +
|
||||||
"<div style='display : none' class='content'>" +
|
|
||||||
article.content + "</div>" +
|
|
||||||
"<div class='info'><a href=\#\" onclick=\"viewfeed("+feed.id+")\">" +
|
"<div class='info'><a href=\#\" onclick=\"viewfeed("+feed.id+")\">" +
|
||||||
feed.title + "</a> " + tags_part + " @ " +
|
feed.title + "</a> " + tags_part + " @ " +
|
||||||
new Date(article.updated * 1000) + "</div>" +
|
new Date(article.updated * 1000) + "</div>" +
|
||||||
|
|
|
@ -978,6 +978,28 @@
|
||||||
return;
|
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") {
|
if ($subop == "digest-update") {
|
||||||
$feed_id = db_escape_string($_REQUEST['feed_id']);
|
$feed_id = db_escape_string($_REQUEST['feed_id']);
|
||||||
$offset = db_escape_string($_REQUEST['offset']);
|
$offset = db_escape_string($_REQUEST['offset']);
|
||||||
|
@ -987,7 +1009,7 @@
|
||||||
print "<rpc-reply>";
|
print "<rpc-reply>";
|
||||||
|
|
||||||
$headlines = api_get_headlines($link, $feed_id, 10, $offset,
|
$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,
|
//function api_get_headlines($link, $feed_id, $limit, $offset,
|
||||||
// $filter, $is_cat, $show_excerpt, $show_content, $view_mode) {
|
// $filter, $is_cat, $show_excerpt, $show_content, $view_mode) {
|
||||||
|
@ -1011,19 +1033,6 @@
|
||||||
if ($f['id'] > 0 || $f['id'] == -4) array_push($feeds, $f);
|
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 "<feeds><![CDATA[" . json_encode($feeds) . "]]></feeds>";
|
||||||
|
|
||||||
print "</rpc-reply>";
|
print "</rpc-reply>";
|
||||||
|
|
Loading…
Reference in New Issue