mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-06 13:58:51 +00:00
merge of '1847862dc21a428caed6adc657748916dc782418'
and '90cccbef5388ee00f07794b49092e47c6767a899' Monotone-Parent: 1847862dc21a428caed6adc657748916dc782418 Monotone-Parent: 90cccbef5388ee00f07794b49092e47c6767a899 Monotone-Revision: d0922ce075360a9cfb2cbf684f4b1552ebfdb435 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-06-02T19:45:28 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -44,18 +44,18 @@ if [ ! -x $DAEMON ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ `/usr/bin/stat /var/run/sogo -c %U` != "sogo" ]; then
|
||||
echo "/var/run/sogo is not owned by the sogo user."
|
||||
if [ `/usr/bin/stat /var/run/sogo -c %U` != $USER ]; then
|
||||
echo "/var/run/sogo is not owned by the ${USER}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ `/usr/bin/stat /var/spool/sogo -c %U` != "sogo" ]; then
|
||||
echo "/var/spool/sogo is not owned by the sogo user."
|
||||
if [ `/usr/bin/stat /var/spool/sogo -c %U` != $USER ]; then
|
||||
echo "/var/spool/sogo is not owned by the ${USER}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ `/usr/bin/stat /var/log/sogo -c %U` != "sogo" ]; then
|
||||
echo "/var/log/sogo is not owned by the sogo user."
|
||||
if [ `/usr/bin/stat /var/log/sogo -c %U` != $USER ]; then
|
||||
echo "/var/log/sogo is not owned by the ${USER}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -40,7 +40,9 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -x $GNUSTEP_LOCAL_ADMIN_TOOLS/sogod ]; then
|
||||
if [ -x $HOME/$GNUSTEP_USER_DIR_ADMIN_TOOLS/sogod ]; then
|
||||
sogod="$HOME/$GNUSTEP_USER_DIR_ADMIN_TOOLS/sogod"
|
||||
elif [ -x $GNUSTEP_LOCAL_ADMIN_TOOLS/sogod ]; then
|
||||
sogod="$GNUSTEP_LOCAL_ADMIN_TOOLS/sogod"
|
||||
elif [ -x $GNUSTEP_SYSTEM_ADMIN_TOOLS/sogod ]; then
|
||||
sogod="$GNUSTEP_SYSTEM_ADMIN_TOOLS/sogod"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<meta name="author" content="SKYRIX Software AG/Inverse inc." />
|
||||
<meta name="robots" content="stop" />
|
||||
<meta name="build" var:content="buildDate" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
|
||||
<link href="mailto:support@inverse.ca" rev="made" />
|
||||
<link rel="shortcut icon" var:href="siteFavicon" type="image/x-icon" />
|
||||
<link type="text/css" rel="stylesheet" rsrc:href="generic.css" />
|
||||
|
||||
@@ -176,20 +176,6 @@ function contactsListCallback(http) {
|
||||
log ("ajax problem 1: status = " + http.status);
|
||||
}
|
||||
|
||||
function onAddressBooksContextMenu(event) {
|
||||
var menu = $("contactFoldersMenu");
|
||||
menu.observe("mousedown", onAddressBooksContextMenuHide);
|
||||
popupMenu(event, "contactFoldersMenu", this);
|
||||
|
||||
var topNode = $("contactFolders");
|
||||
var selectedNodes = topNode.getSelectedRows();
|
||||
topNode.menuSelectedRows = selectedNodes;
|
||||
for (var i = 0; i < selectedNodes.length; i++)
|
||||
$(selectedNodes[i]).deselect();
|
||||
topNode.menuSelectedEntry = this;
|
||||
$(this).selectElement();
|
||||
}
|
||||
|
||||
function onContactContextMenu(event) {
|
||||
var contactsList = $("contactsList");
|
||||
var menu = $("contactMenu");
|
||||
@@ -213,21 +199,6 @@ function onContactContextMenuHide(event) {
|
||||
}
|
||||
}
|
||||
|
||||
function onAddressBooksContextMenuHide(event) {
|
||||
var topNode = $("contactFolders");
|
||||
|
||||
if (topNode.menuSelectedEntry) {
|
||||
topNode.menuSelectedEntry.deselect();
|
||||
topNode.menuSelectedEntry = null;
|
||||
}
|
||||
if (topNode.menuSelectedRows) {
|
||||
var nodes = topNode.menuSelectedRows;
|
||||
for (var i = 0; i < nodes.length; i++)
|
||||
nodes[i].selectElement();
|
||||
topNode.menuSelectedRows = null;
|
||||
}
|
||||
}
|
||||
|
||||
function onFolderMenuHide(event) {
|
||||
var topNode = $('d');
|
||||
|
||||
@@ -778,6 +749,7 @@ function configureAddressBooks() {
|
||||
if (contactFolders) {
|
||||
contactFolders.observe("mousedown", listRowMouseDownHandler);
|
||||
contactFolders.observe("click", onFolderSelectionChange);
|
||||
contactFolders.attachMenu("contactFoldersMenu");
|
||||
var lis = contactFolders.childNodesWithTag("li");
|
||||
for (var i = 0; i < lis.length; i++)
|
||||
setEventsOnAddressBook(lis[i]);
|
||||
@@ -851,7 +823,6 @@ function setEventsOnAddressBook(folder) {
|
||||
node.observe("mousedown", listRowMouseDownHandler);
|
||||
node.observe("click", onRowClick);
|
||||
node.observe("dblclick", onAddressBookModify);
|
||||
node.observe("contextmenu", onAddressBooksContextMenu);
|
||||
}
|
||||
|
||||
function onAddressBookModify(event) {
|
||||
@@ -930,7 +901,11 @@ function onAddressBooksMenuPrepareVisibility() {
|
||||
removeOption.addClassName("disabled");
|
||||
else
|
||||
removeOption.removeClassName("disabled");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function onContactMenuPrepareVisibility() {
|
||||
|
||||
@@ -138,15 +138,20 @@ Element.addMethods(
|
||||
if (leftDiff < 0)
|
||||
menuLeft -= popup.offsetWidth;
|
||||
|
||||
var isVisible = true;
|
||||
if (popup.prepareVisibility)
|
||||
popup.prepareVisibility();
|
||||
isVisible = popup.prepareVisibility();
|
||||
|
||||
popup.setStyle( { top: menuTop + "px",
|
||||
left: menuLeft + "px",
|
||||
visibility: "visible" } );
|
||||
|
||||
document.currentPopupMenu = popup;
|
||||
document.body.observe("click", onBodyClickMenuHandler);
|
||||
if (isVisible) {
|
||||
popup.setStyle( { top: menuTop + "px",
|
||||
left: menuLeft + "px",
|
||||
visibility: "visible" } );
|
||||
|
||||
document.currentPopupMenu = popup;
|
||||
document.body.observe("click", onBodyClickMenuHandler);
|
||||
}
|
||||
else
|
||||
log ("Warning: not showing the contextual menu " + element.id);
|
||||
},
|
||||
|
||||
attachMenu: function(element, menuName) {
|
||||
|
||||
@@ -936,7 +936,7 @@ function configureLinksInMessage() {
|
||||
if (anchors[i].href.substring(0,7) == "mailto:") {
|
||||
$(anchors[i]).observe("click", onEmailTo);
|
||||
$(anchors[i]).observe("contextmenu", onEmailAddressClick);
|
||||
}
|
||||
}
|
||||
else
|
||||
$(anchors[i]).observe("click", onMessageAnchorClick);
|
||||
|
||||
@@ -1273,11 +1273,6 @@ function refreshCurrentFolder() {
|
||||
openMailbox(Mailer.currentMailbox, true);
|
||||
}
|
||||
|
||||
function refreshFolderByType(type) {
|
||||
if (Mailer.currentMailboxType == type)
|
||||
refreshCurrentFolder();
|
||||
}
|
||||
|
||||
var mailboxSpanAcceptType = function(type) {
|
||||
return (type == "mailRow");
|
||||
};
|
||||
@@ -1594,13 +1589,13 @@ function updateMailboxTreeInPage() {
|
||||
var valueDiv = new Element('div', { 'class': 'value ' + level, 'style': 'width: ' + ((percents > 100)?100:percents) + '%' });
|
||||
var marksDiv = new Element('div', { 'class': 'marks' });
|
||||
var textP = new Element('p').update(text);
|
||||
marksDiv.appendChild(new Element('div'));
|
||||
marksDiv.appendChild(new Element('div'));
|
||||
marksDiv.appendChild(new Element('div'));
|
||||
levelDiv.appendChild(valueDiv);
|
||||
levelDiv.appendChild(marksDiv);
|
||||
levelDiv.appendChild(textP);
|
||||
quotaDiv.appendChild(levelDiv);
|
||||
marksDiv.insert(new Element('div'));
|
||||
marksDiv.insert(new Element('div'));
|
||||
marksDiv.insert(new Element('div'));
|
||||
levelDiv.insert(valueDiv);
|
||||
levelDiv.insert(marksDiv);
|
||||
levelDiv.insert(textP);
|
||||
quotaDiv.insert(levelDiv);
|
||||
|
||||
treeContent.insertBefore(quotaDiv, tree);
|
||||
}
|
||||
|
||||
@@ -895,8 +895,6 @@ DIV.event._selected > DIV.eventInside
|
||||
DIV.monthView DIV.event,
|
||||
DIV.monthView DIV.event > DIV.eventInside
|
||||
{ bottom: 0px;
|
||||
nopadding: 0px;
|
||||
nomargin: 0px;
|
||||
top: 0px; }
|
||||
|
||||
DIV.monthView DIV.event > DIV.eventInside
|
||||
|
||||
@@ -594,8 +594,8 @@ function eventsListCallback(http) {
|
||||
row.observe("mousedown", onRowClick);
|
||||
row.observe("selectstart", listRowMouseDownHandler);
|
||||
row.observe("dblclick", editDoubleClickedEvent);
|
||||
row.observe("contextmenu", onEventContextMenu);
|
||||
|
||||
row.attachMenu("eventsListMenu");
|
||||
|
||||
var td = $(document.createElement("td"));
|
||||
row.appendChild(td);
|
||||
td.observe("mousedown", listRowMouseDownHandler, true);
|
||||
@@ -973,6 +973,22 @@ function refreshCalendarEventsCallback(http) {
|
||||
}
|
||||
|
||||
function newBaseEventDIV(eventRep, event, eventText) {
|
||||
// log ("0 cname = " + event[0]);
|
||||
// log ("1 calendar = " + event[1]);
|
||||
// log ("2 status = " + event[2]);
|
||||
// log ("3 title = " + event[3]);
|
||||
// log ("4 start = " + event[4]);
|
||||
// log ("5 end = " + event[5]);
|
||||
// log ("6 location = " + event[6]);
|
||||
// log ("7 isallday = " + event[7]);
|
||||
// log ("8 classification = " + event[8]);
|
||||
// log ("9 participants emails = " + event[9]);
|
||||
// log ("10 participants states = " + event[10]);
|
||||
// log ("11 owner = " + event[11]);
|
||||
// log ("12 iscycle = " + event[12]);
|
||||
// log ("13 nextalarm = " + event[13]);
|
||||
// log ("14 recurrenceid = " + event[14]);
|
||||
|
||||
var eventDiv = $(document.createElement("div"));
|
||||
eventDiv.cname = event[0];
|
||||
eventDiv.calendar = event[1];
|
||||
@@ -1167,23 +1183,6 @@ function popupCalendar(node) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function onEventContextMenu(event) {
|
||||
var topNode = $("eventsList");
|
||||
var menu = $("eventsListMenu");
|
||||
|
||||
menu.observe("hideMenu", onEventContextMenuHide);
|
||||
popupMenu(event, "eventsListMenu", this);
|
||||
}
|
||||
|
||||
function onEventContextMenuHide(event) {
|
||||
var topNode = $("eventsList");
|
||||
|
||||
if (topNode.menuSelectedEntry) {
|
||||
topNode.menuSelectedEntry.deselect();
|
||||
topNode.menuSelectedEntry = null;
|
||||
}
|
||||
}
|
||||
|
||||
function onEventsSelectionChange() {
|
||||
listOfSelection = this;
|
||||
this.removeClassName("_unfocused");
|
||||
@@ -1634,7 +1633,6 @@ function browseURL(anchor, event) {
|
||||
function onCalendarsMenuPrepareVisibility() {
|
||||
var folders = $("calendarList");
|
||||
var selected = folders.getSelectedNodes();
|
||||
|
||||
if (selected.length > 0) {
|
||||
var folderOwner = selected[0].getAttribute("owner");
|
||||
var sharingOption = $(this).down("ul").childElements().last();
|
||||
@@ -1643,7 +1641,9 @@ function onCalendarsMenuPrepareVisibility() {
|
||||
sharingOption.removeClassName("disabled");
|
||||
else
|
||||
sharingOption.addClassName("disabled");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function getMenus() {
|
||||
@@ -1815,6 +1815,7 @@ function appendCalendar(folderName, folderPath) {
|
||||
|
||||
var checkBox = createElement("input", null, "checkBox", { checked: 1 },
|
||||
{ type: "checkbox" }, li);
|
||||
|
||||
li.appendChild(document.createTextNode(" "));
|
||||
|
||||
var colorBox = document.createElement("div");
|
||||
@@ -1827,8 +1828,11 @@ function appendCalendar(folderName, folderPath) {
|
||||
$(colorBox).addClassName("colorBox");
|
||||
$(colorBox).addClassName('calendarFolder' + folderPath.substr(1));
|
||||
|
||||
// Check the checkbox (required for IE)
|
||||
$(li).down("input.checkBox").checked = true;
|
||||
|
||||
// Register events (doesn't work with Safari)
|
||||
setEventsOnCalendar(checkBox, li);
|
||||
setEventsOnCalendar($(checkBox), $(li));
|
||||
|
||||
var url = URLForFolderID(folderPath) + "/canAccessContent";
|
||||
triggerAjaxRequest(url, calendarEntryCallback, folderPath);
|
||||
@@ -1865,10 +1869,10 @@ function appendStyleElement(folderPath, color) {
|
||||
function onFolderSubscribeCB(folderData) {
|
||||
var folder = $(folderData["folder"]);
|
||||
if (!folder) {
|
||||
appendCalendar(folderData["folderName"], folderData["folder"]);
|
||||
appendCalendar(folderData["folderName"], folderData["folder"]);
|
||||
refreshEvents();
|
||||
refreshTasks();
|
||||
changeCalendarDisplay();
|
||||
changeCalendarDisplay();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1998,9 +2002,7 @@ function initCalendars() {
|
||||
initCalendarSelector();
|
||||
configureSearchField();
|
||||
configureLists();
|
||||
var selector = $("calendarSelector");
|
||||
if (selector)
|
||||
selector.attachMenu("calendarsMenu");
|
||||
$("calendarList").attachMenu("calendarsMenu");
|
||||
$(document.body).observe("click", onBodyClickHandler);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ function addUser(userName, userID) {
|
||||
}
|
||||
|
||||
function addUserCallback(http) {
|
||||
// Ignore response
|
||||
}
|
||||
|
||||
function setEventsOnUserNode(node) {
|
||||
|
||||
@@ -205,7 +205,7 @@ function onConfirmFolderSelection(event) {
|
||||
.replace("<", "<", "g")
|
||||
.replace(">", ">", "g"));
|
||||
folderName = resource.innerHTML + ' (' + email + ')';
|
||||
}
|
||||
}
|
||||
folderName = folderName.replace(/>,.*(\))?$/, ">)$1", "g");
|
||||
|
||||
var data = { folderName: folderName, folder: folder, window: window };
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
n0DIV#windowButtonz
|
||||
{ position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 2em;
|
||||
margin: 1em;
|
||||
text-align: right; }
|
||||
|
||||
DIV#windowButtons
|
||||
{ position: absolute;
|
||||
bottom: 0px;
|
||||
|
||||
@@ -133,6 +133,7 @@ dTree.prototype.addNode = function(pNode) {
|
||||
dTree.prototype.node = function(node, nodeId) {
|
||||
var str = '';
|
||||
|
||||
this.aNodes[nodeId] = node;
|
||||
if (this.root.id != node.pid || !this.config.hideRoot) {
|
||||
str += '<div class="dTreeNode"';
|
||||
if (node.datatype) str += ' datatype="' + node.datatype + '"';
|
||||
|
||||
@@ -277,6 +277,12 @@ function deleteDraft(url) {
|
||||
});
|
||||
}
|
||||
|
||||
function refreshFolderByType(type) {
|
||||
/* this is called by UIxMailEditor with window.opener */
|
||||
if (Mailer && Mailer.currentMailboxType == type)
|
||||
refreshCurrentFolder();
|
||||
}
|
||||
|
||||
function createHTTPClient() {
|
||||
// http://developer.apple.com/internet/webcontent/xmlhttpreq.html
|
||||
if (typeof XMLHttpRequest != "undefined")
|
||||
@@ -652,17 +658,21 @@ function popupMenu(event, menuId, target) {
|
||||
if (leftDiff < 0)
|
||||
menuLeft -= popup.offsetWidth;
|
||||
|
||||
var isVisible = true;
|
||||
if (popup.prepareVisibility)
|
||||
popup.prepareVisibility();
|
||||
|
||||
popup.setStyle({ top: menuTop + "px",
|
||||
left: menuLeft + "px",
|
||||
visibility: "visible" });
|
||||
|
||||
document.currentPopupMenu = popup;
|
||||
|
||||
$(document.body).observe("click", onBodyClickMenuHandler);
|
||||
if (!popup.prepareVisibility())
|
||||
isVisible = false;
|
||||
|
||||
if (isVisible) {
|
||||
popup.setStyle({ top: menuTop + "px",
|
||||
left: menuLeft + "px",
|
||||
visibility: "visible" });
|
||||
|
||||
document.currentPopupMenu = popup;
|
||||
|
||||
$(document.body).observe("click", onBodyClickMenuHandler);
|
||||
}
|
||||
|
||||
Event.stop(event);
|
||||
}
|
||||
|
||||
@@ -1054,7 +1064,6 @@ function popupToolbarMenu(node, menuId) {
|
||||
hideMenu(document.currentPopupMenu);
|
||||
|
||||
var popup = $(menuId);
|
||||
|
||||
if (popup.prepareVisibility)
|
||||
popup.prepareVisibility();
|
||||
|
||||
|
||||
@@ -31,9 +31,7 @@ A.button,
|
||||
INPUT.button
|
||||
{ border: 1px solid #fff;
|
||||
border-right: 1px solid #666;
|
||||
border-bottom: 1px solid #666;
|
||||
margin: 0px;
|
||||
padding: 0px; }
|
||||
border-bottom: 1px solid #666; }
|
||||
|
||||
A.button
|
||||
{ color: #000;
|
||||
@@ -302,3 +300,10 @@ TABLE
|
||||
/* UIxCalendarProperties */
|
||||
BUTTON#colorButton
|
||||
{ margin-top: 2px; }
|
||||
|
||||
/* UIxMailPartICalViewer */
|
||||
fieldset
|
||||
{ padding: 0.5em 1.0em; }
|
||||
|
||||
fieldset div, fieldset p
|
||||
{ margin: 1.0em; }
|
||||
Reference in New Issue
Block a user