-var notify_silent = false;
var loading_progress = 0;
var sanity_check_done = false;
var init_params = {};
var _label_base_index = -1024;
+var notify_hide_timerid = false;
Ajax.Base.prototype.initialize = Ajax.Base.prototype.initialize.wrap(
function (callOriginal, options) {
}
}
+ try {
+ new Ajax.Request("backend.php", {
+ parameters: {op: "rpc", method: "log", logmsg: msg},
+ onComplete: function (transport) {
+ console.log(transport.responseText);
+ } });
+
+ } catch (eii) {
+ console.log("Exception while trying to log the error.");
+ console.log(eii);
+ }
+
+ msg += "<p>"+ __("The error will be reported to the configured log destination.") +
+ "</p>";
+
var content = "<div class=\"fatalError\">" +
"<pre>" + msg + "</pre>";
dialog.show();
- } catch (e) {
+ } catch (ei) {
+ console.log("Exception while trying to report an exception. Oh boy.");
+ console.log(ei);
+ console.log("Original exception:");
+ console.log(e);
+
+ msg += "\n\nAdditional exception caught while trying to show the error dialog.\n\n" + format_exception_error('exception_error', ei);
+
+ try {
+ new Ajax.Request("backend.php", {
+ parameters: {op: "rpc", method: "log", logmsg: msg},
+ onComplete: function (transport) {
+ console.log(transport.responseText);
+ } });
+
+ } catch (eii) {
+ console.log("Third exception while trying to log the error! Seriously?");
+ console.log(eii);
+ }
+
+ msg += "\n\nThe error will be reported to the configured log destination.";
+
alert(msg);
}
return unescape(arg);
}
-var notify_hide_timerid = false;
function hide_notify() {
- var n = $("notify");
- if (n) {
- n.style.display = "none";
- }
-}
-
-function notify_silent_next() {
- notify_silent = true;
+ Element.hide('notify');
}
function notify_real(msg, no_hide, n_type) {
- if (notify_silent) {
- notify_silent = false;
- return;
- }
-
var n = $("notify");
- var nb = $("notify_body");
- if (!n || !nb) return;
+ if (!n) return;
if (notify_hide_timerid) {
window.clearTimeout(notify_hide_timerid);
}
if (msg == "") {
- if (n.style.display == "block") {
+ if (Element.visible(n)) {
notify_hide_timerid = window.setTimeout("hide_notify()", 0);
}
return;
} else {
- n.style.display = "block";
+ Element.show(n);
}
/* types:
*/
- msg = __(msg);
+ msg = "<span class=\"msg\"> " + __(msg) + "</span>";
if (n_type == 1) {
n.className = "notify";
} else if (n_type == 2) {
n.className = "notify progress";
- msg = "<img src='images/indicator_white.gif'> " + msg;
+ msg = "<span><img src='images/indicator_white.gif'></span>" + msg;
+ no_hide = true;
} else if (n_type == 3) {
n.className = "notify error";
- msg = "<img src='images/sign_excl.svg'> " + msg;
+ msg = "<span><img src='images/sign_excl.svg'></span>" + msg;
} else if (n_type == 4) {
n.className = "notify info";
- msg = "<img src='images/sign_info.svg'> " + msg;
- }
-
- if (no_hide) {
- msg += " <span>(<a href='#' onclick=\"notify('')\">" +
- __("close") + "</a>)</span>";
+ msg = "<span><img src='images/sign_info.svg'></span>" + msg;
}
+ msg += " <span><img src=\"images/cross.png\" class=\"close\" title=\"" +
+ __("Click to close") + "\" onclick=\"notify('')\"></span>";
// msg = "<img src='images/live_com_loading.gif'> " + msg;
- nb.innerHTML = msg;
+ n.innerHTML = msg;
if (!no_hide) {
- notify_hide_timerid = window.setTimeout("hide_notify()", 3000);
+ notify_hide_timerid = window.setTimeout("hide_notify()", 5*1000);
}
}
row.addClassName('Selected');
else
row.removeClassName('Selected');
+
+ if (typeof updateSelectedPrompt != undefined)
+ updateSelectedPrompt();
}
row.addClassName('Selected');
else
row.removeClassName('Selected');
+
+ if (typeof updateSelectedPrompt != undefined)
+ updateSelectedPrompt();
}
function checkboxToggleElement(elem, id) {
}
-function displayDlg(id, param, callback) {
+function displayDlg(title, id, param, callback) {
notify_progress("Loading, please wait...", true);
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function (transport) {
- infobox_callback2(transport);
+ infobox_callback2(transport, title);
if (callback) callback(transport);
} });
return false;
}
-function infobox_callback2(transport) {
+function infobox_callback2(transport, title) {
try {
var dialog = false;
//console.log("infobox_callback2");
notify('');
- var title = transport.responseXML.getElementsByTagName("title")[0];
- if (title)
- title = title.firstChild.nodeValue;
-
- var content = transport.responseXML.getElementsByTagName("content")[0];
-
- content = content.firstChild.nodeValue;
+ var content = transport.responseText;
if (!dialog) {
dialog = new dijit.Dialog({
if (code == 6) {
window.location.href = "index.php";
} else if (code == 5) {
- window.location.href = "db-updater.php";
+ window.location.href = "public.php?op=dbupdate";
} else {
if (msg == "") msg = "Unknown error";
}
}
-/* function filterDlgCheckType(sender) {
-
- try {
-
- var ftype = sender.value;
-
- // if selected filter type is 5 (Date) enable the modifier dropbox
- if (ftype == 5) {
- Element.show("filterDlg_dateModBox");
- Element.show("filterDlg_dateChkBox");
- } else {
- Element.hide("filterDlg_dateModBox");
- Element.hide("filterDlg_dateChkBox");
-
- }
-
- } catch (e) {
- exception_error("filterDlgCheckType", e);
- }
-
-} */
-
function filterDlgCheckAction(sender) {
try {
}
-function filterDlgCheckDate() {
- try {
- var dialog = dijit.byId("filterEditDlg");
-
- var reg_exp = dialog.attr('value').reg_exp;
-
- var query = "?op=rpc&method=checkDate&date=" + reg_exp;
-
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
-
- var reply = JSON.parse(transport.responseText);
-
- if (reply['result'] == true) {
- alert(__("Date syntax appears to be correct:") + " " + reply['date']);
- return;
- } else {
- alert(__("Date syntax is incorrect."));
- }
-
- } });
-
-
- } catch (e) {
- exception_error("filterDlgCheckDate", e);
- }
-}
function explainError(code) {
- return displayDlg("explainError", code);
+ return displayDlg(__("Error explained"), "explainError", code);
}
function loading_set_progress(p) {
}
}
-function hideAuxDlg() {
- try {
- Element.hide('auxDlg');
- } catch (e) {
- exception_error("hideAuxDlg", e);
- }
-}
-
-
function uploadIconHandler(rc) {
try {
switch (rc) {
function quickAddFeed() {
try {
- var query = "backend.php?op=dlg&method=quickAddFeed";
+ var query = "backend.php?op=feeds&method=quickAddFeed";
// overlapping widgets
if (dijit.byId("batchSubDlg")) dijit.byId("batchSubDlg").destroyRecursive();
notify('');
Element.hide("feed_add_spinner");
- console.log("GOT RC: " + rc);
+ console.log(rc);
switch (parseInt(rc['code'])) {
case 1:
alert(__("Specified URL doesn't seem to contain any feeds."));
break;
case 4:
- /* notify_progress("Searching for feed urls...", true);
-
- new Ajax.Request("backend.php", {
- parameters: 'op=rpc&method=extractfeedurls&url=' + param_escape(feed_url),
- onComplete: function(transport, dialog, feed_url) {
-
- notify('');
-
- var reply = JSON.parse(transport.responseText);
-
- var feeds = reply['urls'];
-
- console.log(transport.responseText);
-
- var select = dijit.byId("feedDlg_feedContainerSelect");
-
- while (select.getOptions().length > 0)
- select.removeOption(0);
-
- var count = 0;
- for (var feedUrl in feeds) {
- select.addOption({value: feedUrl, label: feeds[feedUrl]});
- count++;
- }
-
-// if (count > 5) count = 5;
-// select.size = count;
-
- Effect.Appear('feedDlg_feedsContainer', {duration : 0.5});
- }
- });
- break; */
-
feeds = rc['feeds'];
var select = dijit.byId("feedDlg_feedContainerSelect");
while (select.getOptions().length > 0)
select.removeOption(0);
+ select.addOption({value: '', label: __("Expand to select feed")});
+
var count = 0;
for (var feedUrl in feeds) {
select.addOption({value: feedUrl, label: feeds[feedUrl]});
alert(__("Couldn't download the specified URL: %s").
replace("%s", rc['message']));
break;
+ case 6:
+ alert(__("XML validation failed: %s").
+ replace("%s", rc['message']));
+ break;
+ break;
case 0:
alert(__("You are already subscribed to this feed."));
break;
if (params) {
console.log('reading init-params...');
- if (params) {
- for (k in params) {
- var v = params[k];
- console.log("IP: " + k + " => " + v);
+ for (k in params) {
+ var v = params[k];
+ console.log("IP: " + k + " => " + v);
- if (k == "label_base_index") _label_base_index = parseInt(v);
- }
+ if (k == "label_base_index") _label_base_index = parseInt(v);
}
init_params = params;
+
+ // PluginHost might not be available on non-index pages
+ window.PluginHost && PluginHost.run(PluginHost.HOOK_PARAMS_LOADED, init_params);
}
sanity_check_done = true;
notify_progress("Trying to change address...", true);
- var query = "?op=rpc&method=regenFeedKey&id=" + param_escape(feed) +
+ var query = "?op=pref-feeds&method=regenFeedKey&id=" + param_escape(feed) +
"&is_cat=" + param_escape(is_cat);
new Ajax.Request("backend.php", {
function feedBrowser() {
try {
- var query = "backend.php?op=dlg&method=feedBrowser";
+ var query = "backend.php?op=feeds&method=feedBrowser";
if (dijit.byId("feedAddDlg"))
dijit.byId("feedAddDlg").hide();