]> git.wh0rd.org - tt-rss.git/blobdiff - js/functions.js
Merge pull request #410 from bram85/master
[tt-rss.git] / js / functions.js
index 9e40ecf51669ad17beb2a9576c08c0f1f6387be4..9915e6808542c57f64be2904afec4be69247e686 100644 (file)
@@ -44,11 +44,8 @@ function exception_error(location, e, ext_info) {
 
        try {
 
-               if (ext_info) {
-                       if (ext_info.responseText) {
-                               ext_info = ext_info.responseText;
-                       }
-               }
+               if (ext_info)
+                       ext_info = JSON.stringify(ext_info);
 
                try {
                        new Ajax.Request("backend.php", {
@@ -88,6 +85,9 @@ function exception_error(location, e, ext_info) {
 
                content += "<div class='dlgButtons'>";
 
+               content += "<button dojoType=\"dijit.form.Button\""+
+                               "onclick=\"dijit.byId('exceptionDlg').report()\">" +
+                               __('Report to tt-rss.org') + "</button> ";
                content += "<button dojoType=\"dijit.form.Button\" "+
                                "onclick=\"dijit.byId('exceptionDlg').hide()\">" +
                                __('Close') + "</button>";
@@ -100,6 +100,22 @@ function exception_error(location, e, ext_info) {
                        id: "exceptionDlg",
                        title: "Unhandled exception",
                        style: "width: 600px",
+                       report: function() {
+                               if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database."))) {
+
+                                       document.forms['exceptionForm'].params.value = $H({
+                                               browserName: navigator.appName,
+                                               browserVersion: navigator.appVersion,
+                                               browserPlatform: navigator.platform,
+                                               browserCookies: navigator.cookieEnabled,
+                                               ttrssVersion: __ttrss_version,
+                                               initParams: JSON.stringify(init_params),
+                                       }).toQueryString();
+
+                                       document.forms['exceptionForm'].submit();
+
+                               }
+                       },
                        content: content});
 
                dialog.show();
@@ -188,6 +204,7 @@ function notify_real(msg, no_hide, n_type) {
                return;
        } else {
                Element.show(n);
+               new Effect.Highlight(n);
        }
 
        /* types:
@@ -1277,10 +1294,8 @@ function backend_sanity_check_callback(transport) {
                        console.log('reading init-params...');
 
                        for (k in params) {
-                               var v = params[k];
-                               console.log("IP: " + k + " => " + v);
-
-                               if (k == "label_base_index") _label_base_index = parseInt(v);
+                               console.log("IP: " + k + " => " + JSON.stringify(params[k]));
+                               if (k == "label_base_index") _label_base_index = parseInt(params[k]);
                        }
 
                        init_params = params;