]> git.wh0rd.org - tt-rss.git/blobdiff - viewfeed.js
daemon: fallback automatically when pcntl_signal() is not present
[tt-rss.git] / viewfeed.js
index d0c325d2d7445d79184d7987208b3c0e0033ab6f..d51323553b2e28ea9231e738888341728f30bba4 100644 (file)
@@ -15,39 +15,6 @@ var post_under_pointer = false;
 
 var last_requested_article = false;
 
-function toggle_published_callback(transport) {
-       try {
-               if (transport.responseXML) {
-
-                       all_counters_callback2(transport);
-
-                       var note = transport.responseXML.getElementsByTagName("note")[0];
-
-                       if (note) {
-                               var note_id = note.getAttribute("id");
-                               var note_size = note.getAttribute("size");
-                               var note_content = note.firstChild.nodeValue;
-
-                               var container = $('POSTNOTE-' + note_id);
-
-                               cache_invalidate(note_id);
-
-                               if (container) {
-                                       if (note_size == "0") {
-                                               Element.hide(container);
-                                       } else {
-                                               container.innerHTML = note_content;
-                                               Element.show(container);
-                                       }
-                               }
-                       }       
-               }
-
-       } catch (e) {
-               exception_error("toggle_published_callback", e, transport);
-       }
-}
-
 function catchup_callback2(transport, callback) {
        try {
                debug("catchup_callback2 " + transport + ", " + callback);
@@ -363,7 +330,7 @@ function showArticleInHeadlines(id) {
        }
 }
 
-function article_callback2(transport, id, feed_id) {
+function article_callback2(transport, id) {
        try {
                debug("article_callback2 " + id);
 
@@ -392,7 +359,6 @@ function article_callback2(transport, id, feed_id) {
                                return;
                        }
 
-                       active_real_feed_id = feed_id;
                        active_post_id = id; 
 
                        debug("looking for articles to cache...");
@@ -457,13 +423,11 @@ function article_callback2(transport, id, feed_id) {
        }
 }
 
-function view(id, feed_id) {
+function view(id) {
        try {
-               if (!feed_id) feed_id = 0;
+               debug("loading article: " + id);
 
-               debug("loading article: " + id + "/" + feed_id);
-
-               if (offline_mode) return view_offline(id, feed_id);
+               if (offline_mode) return view_offline(id);
 
                var cached_article = cache_find(id);
 
@@ -472,12 +436,7 @@ function view(id, feed_id) {
                enableHotkeys();
                hideAuxDlg();
 
-               //setActiveFeedId(feed_id);
-
-               var query = "?op=view&id=" + param_escape(id) +
-                       "&feed=" + param_escape(feed_id);
-
-               var date = new Date();
+               var query = "?op=view&id=" + param_escape(id);
 
                var neighbor_ids = getRelativePostIds(active_post_id);
 
@@ -501,10 +460,6 @@ function view(id, feed_id) {
                        query = query + "&omode=flc";
                }
 
-               var date = new Date();
-               var timestamp = Math.round(date.getTime() / 1000);
-               query = query + "&ts=" + timestamp;
-
                query = query + "&cids=" + cids_to_request.toString();
 
                var crow = $("RROW-" + id);
@@ -518,25 +473,10 @@ function view(id, feed_id) {
 
                if (!cached_article) {
 
-//                     notify_progress("Loading, please wait...", true);
-
-/*                     var content = $('HLC-' + id);
-
-                       if (content && !$('LL-' + id)) {
-                               var ll = document.createElement('img');
-               
-                               ll.src = 'images/indicator_tiny.gif';
-                               ll.className = 'hlLoading';
-                               ll.id = 'LL-' + id;
-
-                               content.appendChild(ll);
-
-                       } */
-
                        var upic = $('FUPDPIC-' + id);
 
                        if (upic) {     
-                               upic.src = 'images/indicator_white.gif'; 
+                               upic.src = getInitParam("sign_progress");
                        }
 
                } else if (cached_article && article_is_unread) {
@@ -559,7 +499,7 @@ function view(id, feed_id) {
                new Ajax.Request("backend.php", {
                        parameters: query,
                        onComplete: function(transport) { 
-                               article_callback2(transport, id, feed_id); 
+                               article_callback2(transport, id); 
                        } });
 
                return false;
@@ -642,7 +582,6 @@ function toggleMark(id, client_only, no_effects) {
                        }
 
                } else {
-                       //mark_img.src = "images/mark_unset.png";
                        mark_img.alt = __("Please wait...");
                        query = query + "&mark=0";
        
@@ -710,7 +649,6 @@ function togglePub(id, client_only, no_effects, note) {
                        query = query + "&pub=1";
 
                } else {
-                       //mark_img.src = "images/pub_unset.png";
                        mark_img.alt = __("Please wait...");
                        query = query + "&pub=0";
        
@@ -726,12 +664,33 @@ function togglePub(id, client_only, no_effects, note) {
                        new Ajax.Request("backend.php", {
                                parameters: query,
                                onComplete: function(transport) { 
-                                       toggle_published_callback(transport); 
+                                       all_counters_callback2(transport);
+               
+                                       var note = transport.responseXML.getElementsByTagName("note")[0];
+               
+                                       if (note) {
+                                               var note_id = note.getAttribute("id");
+                                               var note_size = note.getAttribute("size");
+                                               var note_content = note.firstChild.nodeValue;
+               
+                                               var container = $('POSTNOTE-' + note_id);
+               
+                                               cache_invalidate(note_id);
+               
+                                               if (container) {
+                                                       if (note_size == "0") {
+                                                               Element.hide(container);
+                                                       } else {
+                                                               container.innerHTML = note_content;
+                                                               Element.show(container);
+                                                       }
+                                               }
+                                       }       
+
                                } });
                }
 
        } catch (e) {
-
                exception_error("togglePub", e);
        }
 }
@@ -1152,12 +1111,6 @@ function selectionToggleMarked(cdm_mode) {
 
                        query = query + "&afid=" + getActiveFeedId();
 
-/*                     if (tagsAreDisplayed()) {
-                               query = query + "&omode=tl";
-                       } else {
-                               query = query + "&omode=flc";
-                       } */
-
                        query = query + "&omode=lc";
 
                        new Ajax.Request("backend.php", {
@@ -1200,12 +1153,6 @@ function selectionTogglePublished(cdm_mode) {
 
                        query = query + "&afid=" + getActiveFeedId();
 
-/*                     if (tagsAreDisplayed()) {
-                               query = query + "&omode=tl";
-                       } else {
-                               query = query + "&omode=flc";
-                       } */
-
                        query = query + "&omode=lc";
 
                        new Ajax.Request("backend.php", {
@@ -1462,10 +1409,8 @@ function catchupSelection() {
        
                if ($("headlinesList")) {
                        selectionToggleUnread(false, false, 'viewCurrentFeed()', true);
-       //              selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
                } else {
                        selectionToggleUnread(true, false, 'viewCurrentFeed()', true)
-       //              cdmSelectArticles('none');
                }
 
        } catch (e) {
@@ -1474,40 +1419,12 @@ function catchupSelection() {
 }
 
 function editArticleTags(id, feed_id, cdm_enabled) {
-       displayDlg('editArticleTags', id);
-}
-
-
-function tag_saved_callback(transport) {
-       try {
-               debug("in tag_saved_callback");
-
-               closeInfoBox();
-               notify("");
-
-               if (tagsAreDisplayed()) {
-                       _reload_feedlist_after_view = true;
-               }
-
-
-               if (transport.responseXML) {
-                       var tags_str = transport.responseXML.getElementsByTagName("tags-str")[0];
-                       
-                       if (tags_str) {
-                               var id = tags_str.getAttribute("id");
-
-                               if (id) {
-                                       var tags = $("ATSTR-" + id);
-                                       if (tags) {
-                                               tags.innerHTML = tags_str.firstChild.nodeValue;
-                                       }
-                               }
-                       }
-               }
-
-       } catch (e) {
-               exception_error("tag_saved_callback", e);
-       }
+       displayDlg('editArticleTags', id,
+                          function () {
+                                  new Ajax.Autocompleter('tags_str', 'tags_choices',
+                                          "backend.php?op=rpc&subop=completeTags",
+                                          { tokens: ',', paramName: "search" });
+                          });
 }
 
 function editTagsSave() {
@@ -1525,9 +1442,37 @@ function editTagsSave() {
        new Ajax.Request("backend.php", {
                parameters: query,
                onComplete: function(transport) {
-                               tag_saved_callback(transport);
+                               try {
+                                       debug("tags saved...");
+                       
+                                       closeInfoBox();
+                                       notify("");
+                       
+                                       if (tagsAreDisplayed()) {
+                                               _reload_feedlist_after_view = true;
+                                       }                       
+                       
+                                       if (transport.responseXML) {
+                                               var tags_str = transport.responseXML.getElementsByTagName("tags-str")[0];
+                                               
+                                               if (tags_str) {
+                                                       var id = tags_str.getAttribute("id");
+                       
+                                                       if (id) {
+                                                               var tags = $("ATSTR-" + id);
+                                                               if (tags) {
+                                                                       tags.innerHTML = tags_str.firstChild.nodeValue;
+                                                               }
+
+                                                               cache_invalidate(id);
+                                                       }
+                                               }
+                                       }
+                       
+                               } catch (e) {
+                                       exception_error("editTagsSave", e);
+                               }
                        } });
-
 }
 
 function editTagsInsert() {
@@ -1739,7 +1684,6 @@ function cache_inject(id, article, param) {
                if (!cache_check_param(id, param)) {
                        debug("cache_article: miss: " + id + " [p=" + param + "]");
        
-       
                        if (db) {
 
                           var date = new Date();
@@ -1882,7 +1826,7 @@ function cache_expire() {
        }
 }
 
-function cache_empty() {
+function cache_flush() {
        article_cache = new Array();
 }
 
@@ -1935,24 +1879,6 @@ function cdmClicked(id) {
        } 
 }
 
-function preload_article_callback(transport) {
-       try {
-               if (transport.responseXML) {
-                       var articles = transport.responseXML.getElementsByTagName("article");
-
-                       for (var i = 0; i < articles.length; i++) {
-                               var id = articles[i].getAttribute("id");
-                               if (!cache_check(id)) {
-                                       cache_inject(id, articles[i].firstChild.nodeValue);                             
-                                       debug("preloaded article: " + id);
-                               }
-                       }
-               }
-       } catch (e) {
-               exception_error("preload_article_callback", e);
-       }
-}
-
 function preloadArticleUnderPointer(id) {
        try {
                if (getInitParam("bw_limit") == "1") return;
@@ -1982,7 +1908,15 @@ function preloadArticleUnderPointer(id) {
                        new Ajax.Request("backend.php", {
                                parameters: query,
                                onComplete: function(transport) { 
-                                       preload_article_callback(transport);
+                                       var articles = transport.responseXML.getElementsByTagName("article");
+
+                                       for (var i = 0; i < articles.length; i++) {
+                                               var id = articles[i].getAttribute("id");
+                                               if (!cache_check(id)) {
+                                                       cache_inject(id, articles[i].firstChild.nodeValue);                             
+                                                       debug("preloaded article: " + id);
+                                               }
+                                       }
                        } });
                }
        } catch (e) {
@@ -2017,21 +1951,15 @@ function headlines_scroll_handler() {
 
                var e = $("headlinesInnerContainer");
 
-               // don't do infinite scrolling when Limit == All
-
                var toolbar_form = document.forms["main_toolbar_form"];
 
-               var limit = toolbar_form.limit[toolbar_form.limit.selectedIndex];
-               if (limit.value != 0) {
-               
-                       debug((e.scrollTop + e.offsetHeight) + " vs " + e.scrollHeight + " dis? " +
-                               _infscroll_disable);
+               debug((e.scrollTop + e.offsetHeight) + " vs " + e.scrollHeight + " dis? " +
+                       _infscroll_disable);
 
-                       if (e.scrollTop + e.offsetHeight > e.scrollHeight - 100) {
-                               if (!_infscroll_disable) {
-                                       debug("more cowbell!");
-                                       viewNextFeedPage();
-                               }
+               if (e.scrollTop + e.offsetHeight > e.scrollHeight - 100) {
+                       if (!_infscroll_disable) {
+                               debug("more cowbell!");
+                               viewNextFeedPage();
                        }
                }
 
@@ -2253,43 +2181,6 @@ function zoomToArticle(id) {
        }
 }
 
-function showOriginalArticleInline(id) {
-       try {
-
-               var query = "?op=rpc&subop=getArticleLink&id=" + id;
-
-               notify_progress("Loading, please wait...", true);
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) { 
-
-                               if (transport.responseXML) {
-                       
-                                       var link = transport.responseXML.getElementsByTagName("link")[0];
-                                       var id = transport.responseXML.getElementsByTagName("id")[0];
-
-                                       notify("");
-
-                                       if (link && id) {
-                                               link = link.firstChild.nodeValue;
-
-                                               var ci = $("content-insert");
-
-                                               var tmp = "<iframe id=\"inline_orig_article\" width=\""+ci.offsetWidth+"\" height=\""+ci.offsetHeight+"\" style=\"border-width : 0px;\" src=\""+link+"\"></iframe>";
-
-                                               render_article(tmp);
-
-                                       }
-                               }
-                       } });
-
-       } catch (e) {
-               exception_error("showOriginalArticleInline", e);
-       }
-}
-
-
 function scrollArticle(offset) {
        try {
                if (!isCdmMode()) {