]> git.wh0rd.org - tt-rss.git/commitdiff
subscribeToFeed: add ajax exception handler
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 10 Nov 2010 10:14:40 +0000 (13:14 +0300)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 10 Nov 2010 10:14:40 +0000 (13:14 +0300)
functions.js

index e4deab47ae388d919160d7f9dad28a048f8f71ed..926fda2bbec9ba81ca1be832c5ac5ebca3e0da61 100644 (file)
@@ -1302,54 +1302,60 @@ function subscribeToFeed() {
                onComplete: function(transport) { 
                        //dlg_frefresh_callback(transport); 
 
-                       notify('');
+                       try {
 
-                       var result = transport.responseXML.getElementsByTagName('result')[0];
-                       var rc = parseInt(result.getAttribute('code'));
-
-                       Form.enable("feed_add_form");
-
-                       switch (rc) {
-                       case 1:
-                               closeInfoBox();
-                               notify_info(__("Subscribed to %s").replace("%s", feed_url));
-
-                               if (inPreferences()) {
-                                       updateFeedList();
-                               } else {
-                                       setTimeout('updateFeedList(false, false)', 50);
-                               }
-                               break;
-                       case 2:
-                       case 3:
-                               alert(__("Can't subscribe to the specified URL."));
-                               break;
-                       case 4:
-                               new Ajax.Request("backend.php", {
-                                       parameters: 'op=rpc&subop=extractfeedurls&url=' + encodeURIComponent(feed_url),
-                                       onComplete: function(transport) {
-                                               var result = transport.responseXML.getElementsByTagName('urls')[0];
-                                               var feeds = JSON.parse(result.firstChild.nodeValue);
-                                               var select = document.getElementById("faad_feeds_container_select");
-
-                                               while (select.hasChildNodes()) {
-                                                       select.removeChild(elem.firstChild);
-                                               }
-                                               var count = 0;
-                                               for (var feedUrl in feeds) {
-                                                       select.insert(new Option(feeds[feedUrl], feedUrl, false));
-                                                       count++;
+                               var result = transport.responseXML.getElementsByTagName('result')[0];
+                               var rc = parseInt(result.getAttribute('code'));
+       
+                               Form.enable("feed_add_form");
+       
+                               notify('');
+       
+                               switch (rc) {
+                               case 1:
+                                       closeInfoBox();
+                                       notify_info(__("Subscribed to %s").replace("%s", feed_url));
+       
+                                       if (inPreferences()) {
+                                               updateFeedList();
+                                       } else {
+                                               setTimeout('updateFeedList(false, false)', 50);
+                                       }
+                                       break;
+                               case 2:
+                               case 3:
+                                       alert(__("Can't subscribe to the specified URL."));
+                                       break;
+                               case 4:
+                                       new Ajax.Request("backend.php", {
+                                               parameters: 'op=rpc&subop=extractfeedurls&url=' + encodeURIComponent(feed_url),
+                                               onComplete: function(transport) {
+                                                       var result = transport.responseXML.getElementsByTagName('urls')[0];
+                                                       var feeds = JSON.parse(result.firstChild.nodeValue);
+                                                       var select = document.getElementById("faad_feeds_container_select");
+       
+                                                       while (select.hasChildNodes()) {
+                                                               select.removeChild(elem.firstChild);
+                                                       }
+                                                       var count = 0;
+                                                       for (var feedUrl in feeds) {
+                                                               select.insert(new Option(feeds[feedUrl], feedUrl, false));
+                                                               count++;
+                                                       }
+                                                       if (count > 5) count = 5;
+                                                       select.size = count;
+       
+                                                       Effect.Appear('fadd_feeds_container', {duration : 0.5});
                                                }
-                                               if (count > 5) count = 5;
-                                               select.size = count;
+                                       });
+                                       break;
+                               case 0:
+                                       alert(__("You are already subscribed to this feed."));
+                                       break;
+                               }
 
-                                               Effect.Appear('fadd_feeds_container', {duration : 0.5});
-                                       }
-                               });
-                               break;
-                       case 0:
-                               alert(__("You are already subscribed to this feed."));
-                               break;
+                       } catch (e) {
+                               exception_error("subscribeToFeed", e);
                        }
 
                } });