]> git.wh0rd.org - tt-rss.git/blobdiff - js/functions.js
rpc: switch to PDO
[tt-rss.git] / js / functions.js
index ddb27cba156521e3498a85f84ca6e8c23f58bf70..d52fee8944a53bb150bbc9118a6a6adc6a1c77f5 100755 (executable)
@@ -32,31 +32,32 @@ Array.prototype.remove = function(s) {
 
 
 function report_error(message, filename, lineno, colno, error) {
-       exception_error(error);
+       exception_error(error, null, filename, lineno);
 }
 
-function exception_error(e, e_compat) {
+function exception_error(e, e_compat, filename, lineno, colno) {
        if (typeof e == "string") e = e_compat;
 
        if (!e) return; // no exception object, nothing to report.
 
        try {
+               console.error(e);
+               var msg = e.toString();
 
                try {
                        new Ajax.Request("backend.php", {
-                               parameters: {op: "rpc", method: "log", logmsg: msg},
+                               parameters: {op: "rpc", method: "log",
+                                       file: e.fileName ? e.fileName : filename,
+                                       line: e.lineNumber ? e.lineNumber : lineno,
+                                       msg: msg, context: e.stack},
                                onComplete: function (transport) {
-                                       console.log(transport.responseText);
+                                       console.warn(transport.responseText);
                                } });
 
                } catch (e) {
                        console.error("Exception while trying to log the error.", e);
                }
 
-               var msg = e.toString();
-
-               console.error(msg);
-
                var content = "<div class='fatalError'><p>" + msg + "</p>";
 
                if (e.stack) {
@@ -1082,7 +1083,7 @@ function quickAddFilter() {
                                var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) :
                                        getActiveFeedId();
 
-                               var rule = { reg_exp: selectedText, feed_id: feed_id, filter_type: 1 };
+                               var rule = { reg_exp: selectedText, feed_id: [feed_id], filter_type: 1 };
 
                                addFilterRule(null, dojo.toJson(rule));
 
@@ -1106,7 +1107,7 @@ function quickAddFilter() {
                                                var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) :
                                                        getActiveFeedId();
 
-                                               var rule = { reg_exp: title, feed_id: feed_id, filter_type: 1 };
+                                               var rule = { reg_exp: title, feed_id: [feed_id], filter_type: 1 };
 
                                                addFilterRule(null, dojo.toJson(rule));
                                        }
@@ -1122,27 +1123,6 @@ function quickAddFilter() {
 
 }
 
-function resetPubSub(feed_id, title) {
-
-       var msg = __("Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update.").replace("%s", title);
-
-       if (title == undefined || confirm(msg)) {
-               notify_progress("Loading, please wait...");
-
-               var query = "?op=pref-feeds&quiet=1&method=resetPubSub&ids=" + feed_id;
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               dijit.byId("pubsubReset_Btn").attr('disabled', true);
-                               notify_info("Subscription reset.");
-                       } });
-       }
-
-       return false;
-}
-
-
 function unsubscribeFeed(feed_id, title) {
 
        var msg = __("Unsubscribe from %s?").replace("%s", title);
@@ -1220,31 +1200,6 @@ function backend_sanity_check_callback(transport) {
 
 }
 
-function quickAddCat(elem) {
-       var cat = prompt(__("Please enter category title:"));
-
-       if (cat) {
-
-               var query = "?op=rpc&method=quickAddCat&cat=" + param_escape(cat);
-
-               notify_progress("Loading, please wait...", true);
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function (transport) {
-                               var response = transport.responseXML;
-                               var select = response.getElementsByTagName("select")[0];
-                               var options = select.getElementsByTagName("option");
-
-                               dropbox_replace_options(elem, options);
-
-                               notify('');
-
-               } });
-
-       }
-}
-
 function genUrlChangeKey(feed, is_cat) {
        var ok = confirm(__("Generate new syndication address for this feed?"));
 
@@ -1283,34 +1238,6 @@ function genUrlChangeKey(feed, is_cat) {
        return false;
 }
 
-function dropbox_replace_options(elem, options) {
-       while (elem.hasChildNodes())
-               elem.removeChild(elem.firstChild);
-
-       var sel_idx = -1;
-
-       for (var i = 0; i < options.length; i++) {
-               var text = options[i].firstChild.nodeValue;
-               var value = options[i].getAttribute("value");
-
-               if (value == undefined) value = text;
-
-               var issel = options[i].getAttribute("selected") == "1";
-
-               var option = new Option(text, value, issel);
-
-               if (options[i].getAttribute("disabled"))
-                       option.setAttribute("disabled", true);
-
-               elem.insert(option);
-
-               if (issel) sel_idx = i;
-       }
-
-       // Chrome doesn't seem to just select stuff when you pass new Option(x, y, true)
-       if (sel_idx >= 0) elem.selectedIndex = sel_idx;
-}
-
 // mode = all, none, invert
 function selectTableRows(id, mode) {
        var rows = $(id).rows;