bugFix #0002616 : change the behavior of ApplicationBaseURL. Now the object return a standard path(without a slash at the end of the path) That means every string added the URL ApplicationBaseURL must start with a Slash.
parent
31ace947cb
commit
6ad87052ba
|
@ -11,3 +11,4 @@ SoObjects/SOGo/SOGo.framework/
|
|||
SoObjects/SOGo/derived_src/
|
||||
Tests/*/config.py
|
||||
*.pyc
|
||||
._*
|
||||
|
|
|
@ -359,6 +359,7 @@ static SoProduct *commonProduct = nil;
|
|||
{
|
||||
SOGoObject *currentClient, *parent;
|
||||
BOOL found;
|
||||
NSString *hostLessURL;
|
||||
Class objectClass, userFolderClass;
|
||||
// , groupFolderClass
|
||||
|
||||
|
@ -387,7 +388,9 @@ static SoProduct *commonProduct = nil;
|
|||
else
|
||||
currentClient = [WOApplication application];
|
||||
|
||||
return [[currentClient baseURLInContext: context] hostlessURL];
|
||||
hostLessURL = [[currentClient baseURLInContext: context] hostlessURL];
|
||||
|
||||
return [hostLessURL substringToIndex: [hostLessURL length] - 1];
|
||||
}
|
||||
|
||||
- (NSString *) ownPath
|
||||
|
|
|
@ -258,7 +258,7 @@ function _onContactMenuAction(folderItem, action, refresh) {
|
|||
}
|
||||
}
|
||||
|
||||
var url = ApplicationBaseURL + selectedFolderId + "/" + action;
|
||||
var url = ApplicationBaseURL + "/" + selectedFolderId + "/" + action;
|
||||
var uids = contactIds.collect(function (s) {
|
||||
return encodeURIComponent(s.unescapeHTML());
|
||||
}).join('&uid=');
|
||||
|
@ -290,7 +290,7 @@ function onMenuExportContact (event) {
|
|||
var contactIds = document.menuTarget.collect(function(row) {
|
||||
return row.readAttribute("id");
|
||||
});
|
||||
var url = ApplicationBaseURL + selectedFolderId + "/export"
|
||||
var url = ApplicationBaseURL + "/" + selectedFolderId + "/export"
|
||||
+ "?uid=" + contactIds.join("&uid=");
|
||||
window.location.href = url;
|
||||
}
|
||||
|
@ -469,7 +469,7 @@ function onToolbarWriteToSelectedContacts(event) {
|
|||
showAlertDialog(_("Please select a contact."));
|
||||
}
|
||||
else {
|
||||
openMailComposeWindow(ApplicationBaseURL + "../Mail/compose"
|
||||
openMailComposeWindow(ApplicationBaseURL + "/../Mail/compose"
|
||||
+ "?folder=" + Contact.currentAddressBook.substring(1)
|
||||
+ "&uid=" + rows.join("&uid="));
|
||||
if (document.body.hasClassName("popup"))
|
||||
|
@ -777,7 +777,7 @@ function onAddressBookImport(event) {
|
|||
var node = $("contactFolders").getSelectedNodes().first();
|
||||
var folderId = node.getAttribute("id");
|
||||
|
||||
var url = ApplicationBaseURL + folderId + "/import";
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/import";
|
||||
$("uploadForm").action = url;
|
||||
$("contactsFile").value = "";
|
||||
|
||||
|
@ -853,7 +853,7 @@ function onAddressBookRemove(event) {
|
|||
}
|
||||
else {
|
||||
var folderId = node.getAttribute("id");
|
||||
var folderUrl = ApplicationBaseURL + folderId;
|
||||
var folderUrl = ApplicationBaseURL + "/" + folderId;
|
||||
unsubscribeFromFolder(folderUrl, owner, onFolderUnsubscribeCB, folderId);
|
||||
}
|
||||
}
|
||||
|
@ -879,7 +879,7 @@ function deletePersonalAddressBookConfirm(folderId) {
|
|||
document.deletePersonalABAjaxRequest.aborted = true;
|
||||
document.deletePersonalABAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + folderId + "/delete";
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/delete";
|
||||
document.deletePersonalABAjaxRequest
|
||||
= triggerAjaxRequest(url, deletePersonalAddressBookCallback, folderId);
|
||||
|
||||
|
@ -1596,7 +1596,7 @@ function dropSelectedContacts(action, toId) {
|
|||
if ((!currentFolderIsRemote() || action != "move")
|
||||
&& fromId.substring(1) != toId) {
|
||||
|
||||
var url = ApplicationBaseURL + fromId + "/" + action;
|
||||
var url = ApplicationBaseURL + "/" + fromId + "/" + action;
|
||||
var uids = contactIds.collect(function (s) {
|
||||
return encodeURIComponent(s.unescapeHTML());
|
||||
}).join('&uid=');
|
||||
|
|
|
@ -40,7 +40,8 @@ function URLForFolderID(folderID, application) {
|
|||
application = UserFolderURL + application + "/";
|
||||
else
|
||||
application = ApplicationBaseURL;
|
||||
var url = application + encodeURI(folderID.substr(1));
|
||||
|
||||
var url = application + encodeURI(folderID);
|
||||
|
||||
if (url[url.length-1] == '/')
|
||||
url = url.substr(0, url.length-1);
|
||||
|
@ -563,7 +564,7 @@ function deleteSelectedMessagesCallback(http) {
|
|||
}
|
||||
|
||||
function deleteMessagesWithoutTrash(data) {
|
||||
var url = ApplicationBaseURL + encodeURI(data["mailbox"]) + "/batchDelete";
|
||||
var url = ApplicationBaseURL + encodeURI(data["/mailbox"]) + "/batchDelete";
|
||||
var parameters = "uid=" + data["id"].join(",") + '&withoutTrash=1';
|
||||
data["withoutTrash"] = true;
|
||||
triggerAjaxRequest(url, deleteSelectedMessagesCallback, data, parameters,
|
||||
|
@ -767,7 +768,7 @@ function composeNewMessage() {
|
|||
else
|
||||
account = null;
|
||||
if (account) {
|
||||
var url = ApplicationBaseURL + encodeURI(account) + "/compose";
|
||||
var url = ApplicationBaseURL + encodeURI("/" + account) + "/compose";
|
||||
openMailComposeWindow(url);
|
||||
}
|
||||
}
|
||||
|
@ -1601,7 +1602,7 @@ function onReadMessageConfirmMDN(event) {
|
|||
var messageURL;
|
||||
if (window.opener && window.opener.Mailer) {
|
||||
/* from UIxMailPopupView */
|
||||
messageURL = (ApplicationBaseURL + encodeURI(mailboxName)
|
||||
messageURL = (ApplicationBaseURL + encodeURI("/" + mailboxName)
|
||||
+ "/" + messageName);
|
||||
}
|
||||
else {
|
||||
|
@ -2020,7 +2021,7 @@ function initMailboxTree() {
|
|||
|
||||
var chainRq = new AjaxRequestsChain(initMailboxTreeCB);
|
||||
for (var i = 0; i < mailAccounts.length; i++) {
|
||||
var url = ApplicationBaseURL + i + "/mailboxes";
|
||||
var url = ApplicationBaseURL + "/" + i + "/mailboxes";
|
||||
chainRq.requests.push([url, onLoadMailboxesCallback, i]);
|
||||
}
|
||||
chainRq.start();
|
||||
|
@ -2255,7 +2256,7 @@ function buildMailboxes(accountIdx, encoded) {
|
|||
|
||||
function getFoldersState() {
|
||||
if (mailAccounts.length > 0) {
|
||||
var urlstr = ApplicationBaseURL + "foldersState";
|
||||
var urlstr = ApplicationBaseURL + "/foldersState";
|
||||
triggerAjaxRequest(urlstr, getFoldersStateCallback);
|
||||
}
|
||||
}
|
||||
|
@ -2279,7 +2280,7 @@ function getFoldersStateCallback(http) {
|
|||
function saveFoldersState() {
|
||||
if (mailAccounts.length > 0) {
|
||||
var foldersState = mailboxTree.getFoldersState();
|
||||
var urlstr = ApplicationBaseURL + "saveFoldersState";
|
||||
var urlstr = ApplicationBaseURL + "/saveFoldersState";
|
||||
var parameters = "expandedFolders=" + foldersState;
|
||||
triggerAjaxRequest(urlstr, saveFoldersStateCallback, null, parameters,
|
||||
{ "Content-type": "application/x-www-form-urlencoded" });
|
||||
|
|
|
@ -186,7 +186,7 @@ var SOGoDragHandlesInterface = {
|
|||
},
|
||||
saveDragHandleState: function (type, position, fcn) {
|
||||
if (!$(document.body).hasClassName("popup")) {
|
||||
var urlstr = ApplicationBaseURL + "saveDragHandleState"
|
||||
var urlstr = ApplicationBaseURL + "/saveDragHandleState"
|
||||
+ "?" + type + "=" + position;
|
||||
var callbackFunction = fcn || this.saveDragHandleStateCallback;
|
||||
triggerAjaxRequest(urlstr, callbackFunction);
|
||||
|
|
|
@ -73,7 +73,7 @@ var SOGoResizableTableInterface = {
|
|||
saveColumnsState: function() {
|
||||
this.computeColumnsWidths();
|
||||
if (!$(document.body).hasClassName("popup")) {
|
||||
var url = ApplicationBaseURL + "saveColumnsState";
|
||||
var url = ApplicationBaseURL + "/saveColumnsState";
|
||||
var data = this.ratios;
|
||||
var columns = data.keys();
|
||||
var params = "columns=" + columns.join(",")
|
||||
|
|
|
@ -158,7 +158,7 @@ function redirectToUserPage() {
|
|||
&& !userName.endsWith(loginSuffix))
|
||||
userName += loginSuffix;
|
||||
var address = "" + window.location.href;
|
||||
var baseAddress = ApplicationBaseURL + encodeURIComponent(userName);
|
||||
var baseAddress = ApplicationBaseURL + "/" + encodeURIComponent(userName);
|
||||
var altBaseAddress;
|
||||
if (baseAddress[0] == "/") {
|
||||
var parts = address.split("/");
|
||||
|
|
|
@ -112,7 +112,7 @@ function updateEventFromDragging(controller, eventCells, eventDelta) {
|
|||
_editRecurrenceDialog(eventCell, "confirmAdjustment", params);
|
||||
else {
|
||||
var urlstr = (ApplicationBaseURL
|
||||
+ eventCell.calendar + "/" + eventCell.cname);
|
||||
+ "/" + eventCell.calendar + "/" + eventCell.cname);
|
||||
if (eventCell.recurrenceTime)
|
||||
urlstr += "/occurence" + eventCell.recurrenceTime;
|
||||
urlstr += ("/adjust?" + params);
|
||||
|
@ -123,7 +123,7 @@ function updateEventFromDragging(controller, eventCells, eventDelta) {
|
|||
}
|
||||
|
||||
function performEventAdjustment(folder, event, recurrence, params) {
|
||||
var urlstr = ApplicationBaseURL + folder + "/" + event;
|
||||
var urlstr = ApplicationBaseURL + "/" + folder + "/" + event;
|
||||
if (recurrence)
|
||||
urlstr += "/" + recurrence;
|
||||
urlstr += "/adjust" + generateQueryString(params);
|
||||
|
@ -170,7 +170,7 @@ function onMenuNewTaskClick(event) {
|
|||
|
||||
function _editEventId(id, calendar, recurrence) {
|
||||
var targetname = "SOGo_edit_" + id;
|
||||
var urlstr = ApplicationBaseURL + calendar + "/" + id;
|
||||
var urlstr = ApplicationBaseURL + "/" + calendar + "/" + id;
|
||||
if (recurrence) {
|
||||
urlstr += "/" + recurrence;
|
||||
targetname += recurrence;
|
||||
|
@ -211,7 +211,7 @@ function _batchDeleteEvents() {
|
|||
// Delete the events of the next calendar
|
||||
var calendar = calendarsOfEventsToDelete.shift();
|
||||
var events = eventsToDelete.shift();
|
||||
var urlstr = (ApplicationBaseURL + calendar
|
||||
var urlstr = (ApplicationBaseURL + "/" + calendar
|
||||
+ "/batchDelete?ids=" + events.join(','));
|
||||
document.deleteEventAjaxRequest = triggerAjaxRequest(urlstr,
|
||||
deleteEventCallback,
|
||||
|
@ -439,7 +439,7 @@ function copyEventToPersonalCalendar(event) {
|
|||
|
||||
function copyEvents() {
|
||||
var path = eventsToCopy.shift();
|
||||
var urlstr = ApplicationBaseURL + path; log (urlstr);
|
||||
var urlstr = ApplicationBaseURL + "/" + path; log (urlstr);
|
||||
triggerAjaxRequest(urlstr,
|
||||
copyEventCallback);
|
||||
}
|
||||
|
@ -469,7 +469,7 @@ function onMenuRawEvent(event) {
|
|||
var calendar = selectedCalendarCell[0].calendar;
|
||||
var cname = selectedCalendarCell[0].cname;
|
||||
|
||||
var url = ApplicationBaseURL + calendar + "/" + cname + "/raw";
|
||||
var url = ApplicationBaseURL + "/" + calendar + "/" + cname + "/raw";
|
||||
openGenericWindow(url);
|
||||
}
|
||||
|
||||
|
@ -706,7 +706,7 @@ function getEventById(cname, owner) {
|
|||
|
||||
function _editRecurrenceDialog(eventCell, method, params) {
|
||||
var targetname = "SOGo_edit_" + eventCell.cname + eventCell.recurrenceTime;
|
||||
var urlstr = (ApplicationBaseURL + eventCell.calendar + "/" + eventCell.cname
|
||||
var urlstr = (ApplicationBaseURL + "/" + eventCell.calendar + "/" + eventCell.cname
|
||||
+ "/occurence" + eventCell.recurrenceTime + "/" + method);
|
||||
if (params && params.length) {
|
||||
urlstr += "?" + params;
|
||||
|
@ -719,7 +719,7 @@ function _editRecurrenceDialog(eventCell, method, params) {
|
|||
|
||||
function onViewEvent(event) {
|
||||
if (event.detail == 2) return;
|
||||
var url = ApplicationBaseURL + this.calendar + "/" + this.cname;
|
||||
var url = ApplicationBaseURL + "/" + this.calendar + "/" + this.cname;
|
||||
|
||||
if (typeof this.recurrenceTime != "undefined")
|
||||
url += "/occurence" + this.recurrenceTime;
|
||||
|
@ -846,7 +846,7 @@ function performEventDeletion(folder, event, recurrence) {
|
|||
// Only one recurrence
|
||||
var occurenceTime = recurrence.substring(9);
|
||||
var nodes = _eventBlocksMatching(folder, event, occurenceTime);
|
||||
var urlstr = ApplicationBaseURL + folder + "/" + event + "/" + recurrence + "/delete";
|
||||
var urlstr = ApplicationBaseURL + "/" + folder + "/" + event + "/" + recurrence + "/delete";
|
||||
|
||||
if (nodes)
|
||||
document.deleteEventAjaxRequest = triggerAjaxRequest(urlstr,
|
||||
|
@ -1224,7 +1224,7 @@ function loadNextView(event) {
|
|||
}
|
||||
|
||||
function changeDateSelectorDisplay(day, keepCurrentDay) {
|
||||
var url = ApplicationBaseURL + "dateselector";
|
||||
var url = ApplicationBaseURL + "/dateselector";
|
||||
if (day) {
|
||||
if (day.length < 8)
|
||||
day += "01";
|
||||
|
@ -1254,7 +1254,7 @@ function changeDateSelectorDisplay(day, keepCurrentDay) {
|
|||
|
||||
function changeCalendarDisplay(data, newView) {
|
||||
newView = ((newView) ? newView : currentView);
|
||||
var url = ApplicationBaseURL + newView;
|
||||
var url = ApplicationBaseURL + "/" + newView;
|
||||
var day = null;
|
||||
var scrollEvent = null;
|
||||
if (data) {
|
||||
|
@ -1591,7 +1591,7 @@ function refreshCalendarEvents(scrollEvent) {
|
|||
document.refreshCalendarEventsAjaxRequest.aborted = true;
|
||||
document.refreshCalendarEventsAjaxRequest.abort();
|
||||
}
|
||||
var url = (ApplicationBaseURL + "eventsblocks?sd=" + sd + "&ed=" + ed
|
||||
var url = (ApplicationBaseURL + "/eventsblocks?sd=" + sd + "&ed=" + ed
|
||||
+ "&view=" + currentView);
|
||||
document.refreshCalendarEventsAjaxRequest
|
||||
= triggerAjaxRequest(url, refreshCalendarEventsCallback,
|
||||
|
@ -2156,7 +2156,7 @@ function _loadEventHref(href) {
|
|||
document.eventsListAjaxRequest.aborted = true;
|
||||
document.eventsListAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + href;
|
||||
var url = ApplicationBaseURL + "/" + href;
|
||||
document.eventsListAjaxRequest
|
||||
= triggerAjaxRequest(url, eventsListCallback, href);
|
||||
|
||||
|
@ -2168,7 +2168,7 @@ function _loadTasksHref(href) {
|
|||
document.tasksListAjaxRequest.aborted = true;
|
||||
document.tasksListAjaxRequest.abort();
|
||||
}
|
||||
url = ApplicationBaseURL + href;
|
||||
url = ApplicationBaseURL + "/" + href;
|
||||
|
||||
var tasksList = $("tasksList");
|
||||
var selectedIds;
|
||||
|
@ -2788,7 +2788,7 @@ function marksTasksAsCompleted () {
|
|||
}
|
||||
|
||||
function _updateTaskCompletion (task, value) {
|
||||
url = (ApplicationBaseURL + task.calendar
|
||||
url = (ApplicationBaseURL + "/" + task.calendar
|
||||
+ "/" + task.cname + "/changeStatus?status=" + value);
|
||||
|
||||
triggerAjaxRequest(url, refreshTasks, null);
|
||||
|
@ -2802,7 +2802,7 @@ function onMenuRawTask(event) {
|
|||
return;
|
||||
}
|
||||
|
||||
var url = ApplicationBaseURL + selectedTasks[0].calendar + "/" + selectedTasks[0].cname + "/raw"
|
||||
var url = ApplicationBaseURL + "/" + selectedTasks[0].calendar + "/" + selectedTasks[0].cname + "/raw"
|
||||
openGenericWindow(url);
|
||||
}
|
||||
|
||||
|
@ -3221,7 +3221,7 @@ function deletePersonalCalendarConfirm() {
|
|||
this.deselect();
|
||||
this.hide();
|
||||
removeFolderRequestCount++;
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/delete";
|
||||
var url = ApplicationBaseURL + folderId + "/delete";
|
||||
triggerAjaxRequest(url, deletePersonalCalendarCallback, this);
|
||||
disposeDialog();
|
||||
}
|
||||
|
@ -3366,7 +3366,7 @@ function onListCollapse(event, element) {
|
|||
});
|
||||
}
|
||||
|
||||
var url = ApplicationBaseURL + "saveListState";
|
||||
var url = ApplicationBaseURL + "/saveListState";
|
||||
var params = "state=" + state;
|
||||
triggerAjaxRequest(url, null, null, params,
|
||||
{ "Content-type": "application/x-www-form-urlencoded" });
|
||||
|
@ -3411,7 +3411,7 @@ function onDocumentKeydown(event) {
|
|||
function saveTabState(event) {
|
||||
var tab = $(event).memo;
|
||||
|
||||
var url = ApplicationBaseURL + "saveSelectedList";
|
||||
var url = ApplicationBaseURL + "/saveSelectedList";
|
||||
var params = "list=" + tab;
|
||||
triggerAjaxRequest(url, null, null, params,
|
||||
{ "Content-type": "application/x-www-form-urlencoded" });
|
||||
|
|
|
@ -347,7 +347,7 @@ function onPopupRecurrenceWindow(event) {
|
|||
if (ComponentEditor.recurrenceWindow && ComponentEditor.recurrenceWindow.open && !ComponentEditor.recurrenceWindow.closed)
|
||||
ComponentEditor.recurrenceWindow.focus();
|
||||
else
|
||||
ComponentEditor.recurrenceWindow = window.open(ApplicationBaseURL + "editRecurrence",
|
||||
ComponentEditor.recurrenceWindow = window.open(ApplicationBaseURL + "/editRecurrence",
|
||||
sanitizeWindowName(activeCalendar + activeComponent + "Recurrence"),
|
||||
"width=500,height=400");
|
||||
}
|
||||
|
@ -373,7 +373,7 @@ function onPopupReminderWindow(event) {
|
|||
else {
|
||||
var height = (emailAlarmsEnabled ? 235 : 150);
|
||||
ComponentEditor.reminderWindow
|
||||
= window.open(ApplicationBaseURL + "editReminder",
|
||||
= window.open(ApplicationBaseURL + "/editReminder",
|
||||
sanitizeWindowName(activeCalendar + activeComponent + "Reminder"),
|
||||
"width=255,height=" + height);
|
||||
}
|
||||
|
@ -400,7 +400,7 @@ function onOkButtonClick (e) {
|
|||
else if (value == 3)
|
||||
action = 'tentative';
|
||||
else if (value == 4) {
|
||||
var url = ApplicationBaseURL + activeCalendar + '/' + activeComponent;
|
||||
var url = ApplicationBaseURL + "/" + activeCalendar + "/" + activeComponent;
|
||||
delegateInvitation(url, modifyEventCallback);
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ function onLoadHandler() {
|
|||
}
|
||||
|
||||
function loadMailboxes() {
|
||||
var url = ApplicationBaseURL + "Mail/0/mailboxes";
|
||||
var url = ApplicationBaseURL + "/Mail/0/mailboxes";
|
||||
triggerAjaxRequest(url, onLoadMailboxesCallback);
|
||||
}
|
||||
|
||||
|
|
|
@ -328,7 +328,7 @@ function updateSieveFilterRow(filterTable, number, filter) {
|
|||
}
|
||||
|
||||
function _editFilter(filterId) {
|
||||
var urlstr = ApplicationBaseURL + "editFilter?filter=" + filterId;
|
||||
var urlstr = ApplicationBaseURL + "/editFilter?filter=" + filterId;
|
||||
var win = window.open(urlstr, "sieve_filter_" + filterId,
|
||||
"width=560,height=380,resizable=0");
|
||||
if (win)
|
||||
|
|
|
@ -91,6 +91,7 @@ function createElement(tagName, id, classes, attributes, htmlAttributes, parentN
|
|||
function URLForFolderID(folderID) {
|
||||
var folderInfos = folderID.split(":");
|
||||
var url;
|
||||
|
||||
if (folderInfos.length > 1) {
|
||||
url = UserFolderURL + "../" + encodeURI(folderInfos[0]);
|
||||
if (!(folderInfos[0].endsWith('/')
|
||||
|
@ -100,9 +101,8 @@ function URLForFolderID(folderID) {
|
|||
}
|
||||
else {
|
||||
var folderInfo = folderInfos[0];
|
||||
if (ApplicationBaseURL.endsWith('/')
|
||||
&& folderInfo.startsWith('/'))
|
||||
folderInfo = folderInfo.substr(1);
|
||||
if (!(folderInfo.startsWith('/')))
|
||||
folderInfo = "/" + folderInfo;
|
||||
url = ApplicationBaseURL + encodeURI(folderInfo);
|
||||
}
|
||||
|
||||
|
@ -173,9 +173,7 @@ function sanitizeWindowName(dirtyWindowName) {
|
|||
|
||||
function openUserFolderSelector(callback, type) {
|
||||
var urlstr = ApplicationBaseURL;
|
||||
if (! urlstr.endsWith('/'))
|
||||
urlstr += '/';
|
||||
urlstr += ("../../" + UserLogin + "/Contacts/userFolders");
|
||||
urlstr += ("/../../" + UserLogin + "/Contacts/userFolders");
|
||||
|
||||
var div = $("popupFrame");
|
||||
if (div) {
|
||||
|
@ -328,7 +326,7 @@ function openMailTo(senderMailTo) {
|
|||
|
||||
if (sanitizedAddresses.length > 0)
|
||||
openMailComposeWindow(ApplicationBaseURL
|
||||
+ "../Mail/compose?mailto=" + encodeURIComponent(Object.toJSON(sanitizedAddresses))
|
||||
+ "/../Mail/compose?mailto=" + encodeURIComponent(Object.toJSON(sanitizedAddresses))
|
||||
+ ((subject.length > 0)?"?subject=" + encodeURIComponent(subject):""));
|
||||
|
||||
return false; /* stop following the link */
|
||||
|
@ -1803,13 +1801,8 @@ function CurrentModule() {
|
|||
if (ApplicationBaseURL) {
|
||||
var parts = ApplicationBaseURL.split("/");
|
||||
var last = parts.length - 1;
|
||||
while (last > -1 && parts[last] == "") {
|
||||
last--;
|
||||
}
|
||||
if (last > -1) {
|
||||
module = parts[last];
|
||||
}
|
||||
}
|
||||
|
||||
return module;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue