merge of '36ced261cec8f0a229c4466b8b7c0a78dd1a408e'

and '9c818b369358da0b25cfcd319b9f6f2d319fb99d'

Monotone-Parent: 36ced261cec8f0a229c4466b8b7c0a78dd1a408e
Monotone-Parent: 9c818b369358da0b25cfcd319b9f6f2d319fb99d
Monotone-Revision: 3351ea272262d02bca8c04d35cc8b34b0a42118e

Monotone-Author: crobert@inverse.ca
Monotone-Date: 2009-03-25T15:15:20
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
C Robert
2009-03-25 15:15:20 +00:00
56 changed files with 1028 additions and 597 deletions
+103 -3
View File
@@ -1,9 +1,109 @@
2009-03-25 Francis Lachapelle <flachapelle@inverse.ca>
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): must retain
the ivar language to avoid a crash if the language is retrieved
from the user agent header returned by the browser.
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
-takeValuesFromRequest:_rqinContext:_ctx]): ensure the values
meant to construct the custom recurrence rule are consistent.
* UI/Scheduler/UIxCalMainView.m: if the module settings key
exists, do not reset it.
2009-03-24 Ludovic Marcotte <lmarcotte@inverse.ca>
* UI/MailerUI/UIxMailListView.m
([UIxMailListView messages)]:
Adjusted the sort so it's a little bit faster
and correctly work in case the server returns us
the FETCH response in an order different that what
we asked for.
2009-03-24 Francis Lachapelle <flachapelle@inverse.ca>
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -invalidateLanguage]):
new method to invalidate the language ivar.
* UI/MainUI/SOGoRootPage.m ([SOGoRootPage -connectAction]): must
invalidate user's language ivar when it changes.
* SoObjects/SOGo/SOGoCache.m ([SOGoCache
-_userDefaultsHaveChanged:]): must invalidate the user's language
ivar when the defaults change.
* SoObjects/Appointments/SOGoCalendarComponent.m
([SOGoCalendarComponent
-sendEMailUsingTemplateNamed:forObject:previousObject:toAttendees:]):
no longer send a deletion notification to an attendee who already
declined the meeting.
* UI/MailPartViewers/UIxMailPartICalActions.m
([UIxMailPartICalActions -_eventObjectWithUID:forUser:]): when
looking for an event for a specific user, we now search into all
the user's calendar folders.
* UI/MailPartViewers/UIxMailPartICalViewer.m
([UIxMailPartICalViewer -startCalendarDate]): new method that returns
the start date with the proper timezone.
([-endCalendarDate]): idem for the end date.
([-startDate]): new method that returns a formatted string of the
start date.
([-endDate]): idem for the end date. Also take care of all-day events.
([-startTime]): new method that returns a formatted string ot the
start time.
([-endTime]): idem for the end time.
([-isEndDateOnSameDay]): must subtract 1 second from end date when
it's a all-day event.
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
-_loadAttendees]): make use of autoreleased strings to avoid a leak.
([UIxComponentEditor -dealloc]): release componentCalendar.
* SoObjects/SOGo/SOGoUser.m ([SOGoUser
-_prepareDefaultMailAccounts]): return an autoreleased array to
avoid a leak.
* UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
-initWithRequest:newRequest]): retain dateFormatter, since it is
released in -dealloc.
([UIxCalListingActions -dealloc]): do not release startDate and
endDate since they are not retained.
2009-03-23 Francis Lachapelle <flachapelle@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentObject.m
([SOGoAppointmentObject -_lookupEvent:forUID:]): when looking for
an event for a specific user, we now search into all the user's
calendar folders.
* SoObjects/Appointments/SOGoAppointmentFolder.m
([SOGoAppointmentFolder -lookupCalendarFoldersForUID:]): new
method that returns an array of a user's calendar folders
excluding the subscriptions.
2009-03-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder
-subscribe:reallyDoinTheNamesOf:delegatedUsersfromMailInvitation:isMailInvitationinContext:localContext]):
when the user preferences didn't already contain a key matching
the current module name, the subscriptions would not work. We thus
create one if none exists yet.
* SoObjects/Contacts/SOGoContactFolders.m ([SOGoContactFolders
-appendSystemSources]): modified the return type and returns nil,
to match the new SOGoParentFolder definition of the method.
Otherwise, a confusion is created on the stack.
2009-03-23 Ludovic Marcotte <lmarcotte@inverse.ca>
* SoObjects/SOGo/SOGoUser.m:
Don't retain/release the language ivar.
2009-03-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): cache the
@@ -79,8 +179,8 @@
* UI/MainUI/SOGoRootPage.m ([SOGoRootPage -version]): new method
that returns the application version.
* iCalDateTime.m ([iCalDateTime -dateTime]): when not defined, the
timezone is now guessed from the date of the current object.
* SOPE/NGCards/iCalDateTime.m ([iCalDateTime -dateTime]): when not
defined, the timezone is now guessed from the date of the current object.
2009-03-18 Ludovic Marcotte <lmarcotte@inverse.ca>
+6 -2
View File
@@ -1,5 +1,9 @@
1.0-20090317
-----------
1.0-2009
--------
- when the status of an attendee changes, the event of an organizer is now updated correctly if it doesn't reside in the personal folder
1.0-20090317 (1.0.0)
---------------
- when double-clicking in the all-day zone (day & week views), the "All Day event" checkbox is now automatically checked
- replaced the JavaScript FastInit class by the dom:loaded event of Prototype JS
- also updated Prototype JS to fix issues with IE7
+7
View File
@@ -1,3 +1,10 @@
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* GCSFolderType.m ([GCSFolderType +folderTypeWithName:_typeName]):
autorelease the returned GCSFolderType.
([GCSFolderType -initWithFolderTypeName:_path]): removed useless
method.
2009-03-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* GCSChannelManager.m ([GCSChannelManager
+2 -3
View File
@@ -161,12 +161,11 @@ static NSLock *lock;
GCSFolderType *typeObject;
type = [[types objectAtIndex:i] stringByDeletingPathExtension];
typeObject = [[GCSFolderType alloc] initWithFolderTypeName:type];
typeObject = [GCSFolderType folderTypeWithName: type];
[self logWithFormat:@" %@: %s",
type, [typeObject isNotNull] ? "OK" : "FAIL"];
[typeMap setObject:typeObject forKey:type];
[typeObject release];
[typeMap setObject: typeObject forKey:type];
}
return typeMap;
-1
View File
@@ -57,7 +57,6 @@
- (id)initWithPropertyList:(id)_plist;
- (id)initWithContentsOfFile:(NSString *)_path;
- (id)initWithFolderTypeName:(NSString *)_typeName;
/* operations */
+127 -110
View File
@@ -10,11 +10,11 @@
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OGo; see the file COPYING. If not, write to the
License along with OGo; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
@@ -39,148 +39,164 @@
@implementation GCSFolderType
- (id)initWithPropertyList:(id)_plist {
if ((self = [super init])) {
NSDictionary *plist = _plist;
blobTablePattern = [[plist objectForKey:@"blobTablePattern"] copy];
quickTablePattern = [[plist objectForKey:@"quickTablePattern"]copy];
extractorClassName =
[[plist objectForKey:@"extractorClassName"] copy];
// TODO: qualifier;
fields = [[GCSFieldInfo fieldsForPropertyList:
[plist objectForKey:@"fields"]] retain];
}
return self;
}
- (id)initWithContentsOfFile:(NSString *)_path {
NSDictionary *plist;
plist = [NSDictionary dictionaryWithContentsOfFile:_path];
if (plist == nil) {
NSLog(@"ERROR(%s): could not read dictionary at path %@",
__PRETTY_FUNCTION__, _path);
[self release];
return nil;
}
return [self initWithPropertyList:plist];
}
+ (NGResourceLocator *)resourceLocator {
NGResourceLocator *loc;
// TODO: fix me, GCS instead of OCS
loc = [NGResourceLocator resourceLocatorForGNUstepPath:
@"OCSTypeModels"
fhsPath:@"share/ocs"];
return loc;
}
+ (id)folderTypeWithName:(NSString *)_typeName {
+ (id) folderTypeWithName: (NSString *) _typeName
{
NSString *filename, *path;
GCSFolderType *folderType;
// TODO: fix me, GCS instead of OCS
filename = [_typeName stringByAppendingPathExtension:@"ocs"];
path = [[self resourceLocator] lookupFileWithName:filename];
if (path != nil)
return [[self alloc] initWithContentsOfFile:path];
path = [[self resourceLocator] lookupFileWithName: filename];
if (path)
{
folderType = [[self alloc] initWithContentsOfFile: path];
[folderType autorelease];
}
else
{
folderType = nil;
NSLog(@"ERROR(%s): did not find model for type: '%@'",
__PRETTY_FUNCTION__, _typeName);
}
NSLog(@"ERROR(%s): did not find model for type: '%@'",
__PRETTY_FUNCTION__, _typeName);
return nil;
return folderType;
}
- (id)initWithFolderTypeName:(NSString *)_typeName {
// DEPRECATED
[self release];
return [[GCSFolderType folderTypeWithName:_typeName] retain];
- (id) initWithPropertyList: (id) _plist
{
NSDictionary *plist = _plist;
if ((self = [super init]))
{
blobTablePattern = [[plist objectForKey:@"blobTablePattern"] copy];
quickTablePattern = [[plist objectForKey:@"quickTablePattern"] copy];
extractorClassName =
[[plist objectForKey: @"extractorClassName"] copy];
// TODO: qualifier;
fields = [[GCSFieldInfo fieldsForPropertyList:
[plist objectForKey:@"fields"]] retain];
}
return self;
}
- (void)dealloc {
[extractor release];
- (id) initWithContentsOfFile: (NSString *) _path
{
NSDictionary *plist;
plist = [NSDictionary dictionaryWithContentsOfFile: _path];
if (plist)
[self initWithPropertyList: plist];
else
{
NSLog(@"ERROR(%s): could not read dictionary at path %@",
__PRETTY_FUNCTION__, _path);
[self release];
self = nil;
}
return self;
}
+ (NGResourceLocator *) resourceLocator
{
NGResourceLocator *loc;
// TODO: fix me, GCS instead of OCS
loc = [NGResourceLocator resourceLocatorForGNUstepPath:
@"OCSTypeModels"
fhsPath:@"share/ocs"];
return loc;
}
- (void) dealloc
{
[extractor release];
[extractorClassName release];
[blobTablePattern release];
[quickTablePattern release];
[fields release];
[folderQualifier release];
[blobTablePattern release];
[quickTablePattern release];
[fields release];
[folderQualifier release];
[super dealloc];
}
/* operations */
- (NSString *)blobTableNameForFolder:(GCSFolder *)_folder {
- (NSString *) blobTableNameForFolder: (GCSFolder *) _folder
{
return [blobTablePattern
stringByReplacingVariablesWithBindings:_folder];
}
- (NSString *)quickTableNameForFolder:(GCSFolder *)_folder {
return [quickTablePattern
stringByReplacingVariablesWithBindings:_folder];
stringByReplacingVariablesWithBindings:_folder];
}
- (EOQualifier *)qualifierForFolder:(GCSFolder *)_folder {
NSArray *keys;
- (NSString *) quickTableNameForFolder: (GCSFolder *) _folder
{
return [quickTablePattern
stringByReplacingVariablesWithBindings:_folder];
}
- (EOQualifier *) qualifierForFolder: (GCSFolder *) _folder
{
NSArray *keys;
NSDictionary *bindings;
keys = [[folderQualifier allQualifierKeys] allObjects];
if ([keys count] == 0)
return folderQualifier;
bindings = [_folder valuesForKeys:keys];
return [folderQualifier qualifierWithBindings:bindings
requiresAllVariables:NO];
requiresAllVariables:NO];
}
/* generating SQL */
- (NSString *)sqlQuickCreateWithTableName:(NSString *)_tabName {
- (NSString *) sqlQuickCreateWithTableName: (NSString *) _tabName
{
NSMutableString *sql;
unsigned i, count;
sql = [NSMutableString stringWithCapacity:512];
[sql appendString:@"CREATE TABLE "];
[sql appendString:_tabName];
[sql appendString:@" (\n"];
sql = [NSMutableString stringWithFormat: @"CREATE TABLE %@ (", _tabName];
count = [fields count];
for (i = 0; i < count; i++) {
if (i > 0) [sql appendString:@",\n"];
[sql appendString:@" "];
[sql appendString:[[fields objectAtIndex:i] sqlCreateSection]];
}
for (i = 0; i < count; i++)
{
if (i > 0) [sql appendString:@", "];
[sql appendFormat: @" %@", [[fields objectAtIndex:i] sqlCreateSection]];
}
[sql appendString:@"\n)"];
return sql;
}
/* quick support */
- (GCSFieldExtractor *)quickExtractor {
- (GCSFieldExtractor *) quickExtractor
{
Class clazz;
if (extractor != nil) {
return [extractor isNotNull]
? extractor : (GCSFieldExtractor *)nil;
}
GCSFieldExtractor *quickExtractor;
clazz = extractorClassName
? NSClassFromString(extractorClassName)
: [GCSFieldExtractor class];
if (clazz == Nil) {
[self logWithFormat:@"ERROR: did not find field extractor class!"];
return nil;
}
if ((extractor = [[clazz alloc] init]) == nil) {
[self logWithFormat:@"ERROR: could not create field extractor of class %@",
clazz];
return nil;
}
if (!extractor)
{
clazz = (extractorClassName
? NSClassFromString (extractorClassName)
: [GCSFieldExtractor class]);
if (clazz)
{
extractor = [clazz new];
if (!extractor)
[self logWithFormat:@"ERROR: could not create field extractor of class %@",
clazz];
}
else
[self logWithFormat:@"ERROR: did not find field extractor class!"];
}
if ([extractor isNotNull])
quickExtractor = extractor;
else
quickExtractor = nil;
return extractor;
}
@@ -191,20 +207,21 @@
/* description */
- (NSString *)description {
- (NSString *) description
{
NSMutableString *ms;
ms = [NSMutableString stringWithCapacity:256];
[ms appendFormat:@"<0x%p[%@]:", self, NSStringFromClass([self class])];
[ms appendFormat:@" blobtable='%@'", blobTablePattern];
[ms appendFormat:@" blobtable='%@'", blobTablePattern];
[ms appendFormat:@" quicktable='%@'", quickTablePattern];
[ms appendFormat:@" fields=%@", fields];
[ms appendFormat:@" extractor=%@", extractorClassName];
[ms appendFormat:@" fields=%@", fields];
[ms appendFormat:@" extractor=%@", extractorClassName];
if (folderQualifier)
[ms appendFormat:@" qualifier=%@", folderQualifier];
[ms appendString:@">"];
return ms;
}
+16
View File
@@ -1,3 +1,19 @@
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalWeeklyRecurrenceCalculator.m
([iCalWeeklyRecurrenceCalculator
-recurrenceRangesWithinCalendarDateRange:_r]): same as below.
* iCalDailyRecurrenceCalculator.m ([iCalDailyRecurrenceCalculator
-recurrenceRangesWithinCalendarDateRange:_r]): autorelease
currentStartDate when instantiated from a copy of firDate, to
avoid a leak.
2009-03-18 Francis Lachapelle <flachapelle@inverse.ca>
* iCalDateTime.m ([iCalDateTime -dateTime]): when not defined, the
timezone is now guessed from the date of the current object.
2009-02-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m ([CardElement -setParent:aParent]): no longer
@@ -80,6 +80,7 @@
}
currentStartDate = [firStart copy];
[currentStartDate autorelease];
ranges = [NSMutableArray array];
i = 1;
@@ -87,6 +87,7 @@
}
currentStartDate = [firStart copy];
[currentStartDate autorelease];
ranges = [NSMutableArray array];
byDayMask = [rrule byDayMask];
i = 1;
@@ -1,3 +1,7 @@
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* VSStringFormatter.[hm]: removed useless module.
2007-08-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* VSSaxDriver.m ([VSSaxDriver
@@ -14,8 +14,7 @@ versitCardsSaxDriver_PCH_FILE = common.h
versitCardsSaxDriver_OBJC_FILES = \
VSSaxDriver.m \
VSCardSaxDriver.m \
VSStringFormatter.m \
VSCardSaxDriver.m
versitCardsSaxDriver_RESOURCE_FILES = bundle-info.plist
@@ -29,7 +29,6 @@
are not expected in a sax handler... this is all wrong. */
#import "VSSaxDriver.h"
#import "VSStringFormatter.h"
#import <SaxObjC/SaxException.h>
#import <NGExtensions/NGQuotedPrintableCoding.h>
#import <NGCards/NSString+NGCards.h>
@@ -164,8 +163,6 @@ static NSCharacterSet *colonAndSemicolonCharSet = nil;
static NSCharacterSet *colonSemicolonAndDquoteCharSet = nil;
static NSCharacterSet *whitespaceCharSet = nil;
static VSStringFormatter *stringFormatter = nil;
+ (void) initialize
{
static BOOL didInit = NO;
@@ -190,8 +187,6 @@ static VSStringFormatter *stringFormatter = nil;
[[NSCharacterSet characterSetWithCharactersInString: @":;\""] retain];
whitespaceCharSet =
[[NSCharacterSet whitespaceCharacterSet] retain];
stringFormatter = [VSStringFormatter sharedFormatter];
}
- (id) init {
@@ -382,7 +377,6 @@ static VSStringFormatter *stringFormatter = nil;
*attr_ = attrName;
*value_ = [attrValue unescapedFromCard];
// *value_ = [stringFormatter stringByUnescapingRFC2445Text: attrValue];
}
- (SaxAttributes *) _mapAttrs: (NSArray *) _attrs
@@ -1,38 +0,0 @@
/*
Copyright (C) 2004-2005 OpenGroupware.org
This file is part of versitCardsSaxDriver, written for the OpenGroupware.org
project (OGo).
SOPE is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with SOPE; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#ifndef __VSStringFormatter_H_
#define __VSStringFormatter_H_
#import <Foundation/Foundation.h>
@interface VSStringFormatter : NSObject
{
}
+ (id)sharedFormatter;
- (NSString *)stringByUnescapingRFC2445Text:(NSString *)_s;
@end
#endif /* __VSStringFormatter_H_ */
@@ -1,94 +0,0 @@
/*
Copyright (C) 2004-2005 OpenGroupware.org
This file is part of versitCardsSaxDriver, written for the OpenGroupware.org
project (OGo).
SOPE is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with SOPE; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#include "VSStringFormatter.h"
#include "common.h"
@implementation VSStringFormatter
static NSCharacterSet *escSet = nil;
+ (void)initialize {
static BOOL didInit = NO;
if(didInit)
return;
didInit = YES;
escSet = [[NSCharacterSet characterSetWithCharactersInString:@"\\"] retain];
}
+ (id)sharedFormatter {
static id sharedInstance = nil;
if(!sharedInstance) {
sharedInstance = [[self alloc] init];
}
return sharedInstance;
}
- (NSString *)stringByUnescapingRFC2445Text:(NSString *)_s {
NSMutableString *safeString;
unsigned length;
NSRange prevRange, escRange;
NSRange todoRange;
BOOL needsEscaping;
length = [_s length];
prevRange = NSMakeRange(0, length);
escRange = [_s rangeOfCharacterFromSet:escSet options:0 range:prevRange];
needsEscaping = escRange.length > 0 ? YES : NO;
if (!needsEscaping)
return _s; /* cheap */
safeString = [NSMutableString stringWithCapacity:length];
do {
prevRange.length = escRange.location - prevRange.location;
if (prevRange.length > 0)
[safeString appendString:[_s substringWithRange:prevRange]];
/* test edge case */
if(NSMaxRange(escRange) < length) {
unichar c = [_s characterAtIndex:escRange.location + 1];
if(c == 'n' || c == 'N') {
[safeString appendString:@"\n"];
escRange.length += 1; /* skip the 'n' */
}
}
prevRange.location = NSMaxRange(escRange);
todoRange.location = prevRange.location;
todoRange.length = length - prevRange.location;
escRange = [_s rangeOfCharacterFromSet:escSet
options:0
range:todoRange];
}
while(escRange.length > 0);
if (todoRange.length > 0)
[safeString appendString:[_s substringWithRange:todoRange]];
return safeString;
}
@end /* VSStringFormatter */
+29
View File
@@ -0,0 +1,29 @@
Index: sope-appserver/NGObjWeb/WOCoreApplication.m
===================================================================
--- sope-appserver/NGObjWeb/WOCoreApplication.m (révision 1632)
+++ sope-appserver/NGObjWeb/WOCoreApplication.m (copie de travail)
@@ -157,6 +157,10 @@
NSUserDefaults *ud;
NGLoggerManager *lm;
+ GSDebugAllocationActive (YES);
+ GSDebugAllocationList (NO);
+
+// GSDebugAllocationActiveRecordingObjects
[self registerUserDefaults];
ud = [NSUserDefaults standardUserDefaults];
lm = [NGLoggerManager defaultLoggerManager];
@@ -535,10 +539,12 @@
if ([self isTerminating])
break;
-
+
[self activateApplication];
[loop runMode:NSDefaultRunLoopMode beforeDate:limitDate];
[self deactivateApplication];
+
+ NSLog (@"allocated classes:\n%s", GSDebugAllocationList (YES));
}
[pool release];
+121 -131
View File
@@ -1,6 +1,6 @@
Index: configure
===================================================================
--- configure (révision 1608)
--- configure (révision 1632)
+++ configure (copie de travail)
@@ -1,4 +1,4 @@
-#!/bin/bash
@@ -316,7 +316,7 @@ Index: configure
fi
Index: sope-ldap/samples/GNUmakefile
===================================================================
--- sope-ldap/samples/GNUmakefile (révision 1608)
--- sope-ldap/samples/GNUmakefile (révision 1632)
+++ sope-ldap/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -345,7 +345,7 @@ Index: sope-ldap/samples/GNUmakefile
--include fhs.make
Index: sope-ldap/NGLdap/GNUmakefile
===================================================================
--- sope-ldap/NGLdap/GNUmakefile (révision 1608)
--- sope-ldap/NGLdap/GNUmakefile (révision 1632)
+++ sope-ldap/NGLdap/GNUmakefile (copie de travail)
@@ -1,11 +1,9 @@
# GNUstep makefile
@@ -386,7 +386,7 @@ Index: sope-ldap/NGLdap/GNUmakefile
--include fhs.make
Index: sope-ldap/GNUmakefile
===================================================================
--- sope-ldap/GNUmakefile (révision 1608)
--- sope-ldap/GNUmakefile (révision 1632)
+++ sope-ldap/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -398,7 +398,7 @@ Index: sope-ldap/GNUmakefile
PACKAGE_NAME=sope-ldap
Index: GNUmakefile
===================================================================
--- GNUmakefile (révision 1608)
--- GNUmakefile (révision 1632)
+++ GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -419,7 +419,7 @@ Index: GNUmakefile
distclean ::
Index: sope-gdl1/PostgreSQL/GNUmakefile.preamble
===================================================================
--- sope-gdl1/PostgreSQL/GNUmakefile.preamble (révision 1608)
--- sope-gdl1/PostgreSQL/GNUmakefile.preamble (révision 1632)
+++ sope-gdl1/PostgreSQL/GNUmakefile.preamble (copie de travail)
@@ -27,7 +27,7 @@
ifeq ($(frameworks),yes)
@@ -432,7 +432,7 @@ Index: sope-gdl1/PostgreSQL/GNUmakefile.preamble
Index: sope-gdl1/PostgreSQL/GNUmakefile
===================================================================
--- sope-gdl1/PostgreSQL/GNUmakefile (révision 1608)
--- sope-gdl1/PostgreSQL/GNUmakefile (révision 1632)
+++ sope-gdl1/PostgreSQL/GNUmakefile (copie de travail)
@@ -22,7 +22,7 @@
# If not, write to the Free Software Foundation,
@@ -450,7 +450,7 @@ Index: sope-gdl1/PostgreSQL/GNUmakefile
-include fhs.make
Index: sope-gdl1/SQLite3/GNUmakefile.preamble
===================================================================
--- sope-gdl1/SQLite3/GNUmakefile.preamble (révision 1608)
--- sope-gdl1/SQLite3/GNUmakefile.preamble (révision 1632)
+++ sope-gdl1/SQLite3/GNUmakefile.preamble (copie de travail)
@@ -27,7 +27,7 @@
ifeq ($(frameworks),yes)
@@ -463,7 +463,7 @@ Index: sope-gdl1/SQLite3/GNUmakefile.preamble
Index: sope-gdl1/SQLite3/GNUmakefile
===================================================================
--- sope-gdl1/SQLite3/GNUmakefile (révision 1608)
--- sope-gdl1/SQLite3/GNUmakefile (révision 1632)
+++ sope-gdl1/SQLite3/GNUmakefile (copie de travail)
@@ -22,7 +22,7 @@
# If not, write to the Free Software Foundation,
@@ -481,7 +481,7 @@ Index: sope-gdl1/SQLite3/GNUmakefile
-include fhs.make
Index: sope-gdl1/FrontBase2/GNUmakefile
===================================================================
--- sope-gdl1/FrontBase2/GNUmakefile (révision 1608)
--- sope-gdl1/FrontBase2/GNUmakefile (révision 1632)
+++ sope-gdl1/FrontBase2/GNUmakefile (copie de travail)
@@ -22,7 +22,7 @@
# If not, write to the Free Software Foundation,
@@ -512,7 +512,7 @@ Index: sope-gdl1/FrontBase2/GNUmakefile
BUNDLE_EXTENSION = .gdladaptor
Index: sope-gdl1/MySQL/GNUmakefile.preamble
===================================================================
--- sope-gdl1/MySQL/GNUmakefile.preamble (révision 1608)
--- sope-gdl1/MySQL/GNUmakefile.preamble (révision 1632)
+++ sope-gdl1/MySQL/GNUmakefile.preamble (copie de travail)
@@ -27,7 +27,7 @@
ifeq ($(frameworks),yes)
@@ -525,7 +525,7 @@ Index: sope-gdl1/MySQL/GNUmakefile.preamble
Index: sope-gdl1/MySQL/GNUmakefile
===================================================================
--- sope-gdl1/MySQL/GNUmakefile (révision 1608)
--- sope-gdl1/MySQL/GNUmakefile (révision 1632)
+++ sope-gdl1/MySQL/GNUmakefile (copie de travail)
@@ -22,7 +22,7 @@
# If not, write to the Free Software Foundation,
@@ -543,7 +543,7 @@ Index: sope-gdl1/MySQL/GNUmakefile
-include fhs.make
Index: sope-gdl1/GNUmakefile
===================================================================
--- sope-gdl1/GNUmakefile (révision 1608)
--- sope-gdl1/GNUmakefile (révision 1632)
+++ sope-gdl1/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -555,7 +555,7 @@ Index: sope-gdl1/GNUmakefile
PACKAGE_NAME=sope-gdl1
Index: sope-gdl1/GDLAccess/GNUmakefile.preamble
===================================================================
--- sope-gdl1/GDLAccess/GNUmakefile.preamble (révision 1608)
--- sope-gdl1/GDLAccess/GNUmakefile.preamble (révision 1632)
+++ sope-gdl1/GDLAccess/GNUmakefile.preamble (copie de travail)
@@ -21,17 +21,12 @@
-I$(SOPE_ROOT)/sope-core/NGExtensions/
@@ -579,7 +579,7 @@ Index: sope-gdl1/GDLAccess/GNUmakefile.preamble
libGDLAccess_LIBRARIES_DEPEND_UPON += -lEOControl
Index: sope-gdl1/GDLAccess/GNUmakefile
===================================================================
--- sope-gdl1/GDLAccess/GNUmakefile (révision 1608)
--- sope-gdl1/GDLAccess/GNUmakefile (révision 1632)
+++ sope-gdl1/GDLAccess/GNUmakefile (copie de travail)
@@ -1,12 +1,10 @@
# GNUstep makefile
@@ -631,7 +631,7 @@ Index: sope-gdl1/GDLAccess/GNUmakefile
-include fhs.make
Index: sope-gdl1/GDLAccess/EOAdaptor.h
===================================================================
--- sope-gdl1/GDLAccess/EOAdaptor.h (révision 1608)
--- sope-gdl1/GDLAccess/EOAdaptor.h (révision 1632)
+++ sope-gdl1/GDLAccess/EOAdaptor.h (copie de travail)
@@ -62,11 +62,14 @@
+ (id)adaptorWithModel:(EOModel *)aModel;
@@ -650,7 +650,7 @@ Index: sope-gdl1/GDLAccess/EOAdaptor.h
- (NSDictionary*)connectionDictionary;
Index: sope-gdl1/GDLAccess/EOAdaptor.m
===================================================================
--- sope-gdl1/GDLAccess/EOAdaptor.m (révision 1608)
--- sope-gdl1/GDLAccess/EOAdaptor.m (révision 1632)
+++ sope-gdl1/GDLAccess/EOAdaptor.m (copie de travail)
@@ -53,14 +53,23 @@
+ (NSArray *)adaptorSearchPathes {
@@ -718,7 +718,7 @@ Index: sope-gdl1/GDLAccess/EOAdaptor.m
"Database URLs"
Index: sope-gdl1/GDLAccess/FoundationExt/GNUmakefile
===================================================================
--- sope-gdl1/GDLAccess/FoundationExt/GNUmakefile (révision 1608)
--- sope-gdl1/GDLAccess/FoundationExt/GNUmakefile (révision 1632)
+++ sope-gdl1/GDLAccess/FoundationExt/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -730,7 +730,7 @@ Index: sope-gdl1/GDLAccess/FoundationExt/GNUmakefile
include ../Version
Index: sope-gdl1/GDLAccess/common.h
===================================================================
--- sope-gdl1/GDLAccess/common.h (révision 1608)
--- sope-gdl1/GDLAccess/common.h (révision 1632)
+++ sope-gdl1/GDLAccess/common.h (copie de travail)
@@ -42,7 +42,7 @@
#import <Foundation/NSZone.h>
@@ -743,7 +743,7 @@ Index: sope-gdl1/GDLAccess/common.h
Index: sope-gdl1/Oracle8/GNUmakefile
===================================================================
--- sope-gdl1/Oracle8/GNUmakefile (révision 1608)
--- sope-gdl1/Oracle8/GNUmakefile (révision 1632)
+++ sope-gdl1/Oracle8/GNUmakefile (copie de travail)
@@ -19,7 +19,7 @@
# License along with this library; if not, write to the Free Software
@@ -765,7 +765,7 @@ Index: sope-gdl1/Oracle8/GNUmakefile
Oracle8_OBJC_FILES = \
Index: sope-mime/NGImap4/GNUmakefile
===================================================================
--- sope-mime/NGImap4/GNUmakefile (révision 1608)
--- sope-mime/NGImap4/GNUmakefile (révision 1632)
+++ sope-mime/NGImap4/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -789,7 +789,7 @@ Index: sope-mime/NGImap4/GNUmakefile
else
Index: sope-mime/samples/GNUmakefile
===================================================================
--- sope-mime/samples/GNUmakefile (révision 1608)
--- sope-mime/samples/GNUmakefile (révision 1632)
+++ sope-mime/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -827,7 +827,7 @@ Index: sope-mime/samples/GNUmakefile
--include fhs.make
Index: sope-mime/NGMail/GNUmakefile
===================================================================
--- sope-mime/NGMail/GNUmakefile (révision 1608)
--- sope-mime/NGMail/GNUmakefile (révision 1632)
+++ sope-mime/NGMail/GNUmakefile (copie de travail)
@@ -1,10 +1,8 @@
# GNUstep makefile
@@ -853,7 +853,7 @@ Index: sope-mime/NGMail/GNUmakefile
else
Index: sope-mime/GNUmakefile
===================================================================
--- sope-mime/GNUmakefile (révision 1608)
--- sope-mime/GNUmakefile (révision 1632)
+++ sope-mime/GNUmakefile (copie de travail)
@@ -1,11 +1,9 @@
# GNUstep makefile
@@ -898,7 +898,7 @@ Index: sope-mime/GNUmakefile
# package
Index: sope-mime/NGMime/GNUmakefile.preamble
===================================================================
--- sope-mime/NGMime/GNUmakefile.preamble (révision 1608)
--- sope-mime/NGMime/GNUmakefile.preamble (révision 1632)
+++ sope-mime/NGMime/GNUmakefile.preamble (copie de travail)
@@ -5,6 +5,15 @@
-DLIBRARY_MINOR_VERSION=${MINOR_VERSION} \
@@ -918,7 +918,7 @@ Index: sope-mime/NGMime/GNUmakefile.preamble
-I../../sope-core/NGStreams/ \
Index: sope-mime/NGMime/GNUmakefile
===================================================================
--- sope-mime/NGMime/GNUmakefile (révision 1608)
--- sope-mime/NGMime/GNUmakefile (révision 1632)
+++ sope-mime/NGMime/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -939,7 +939,7 @@ Index: sope-mime/NGMime/GNUmakefile
-include GNUmakefile.postamble
Index: sope-core/NGExtensions/NGExtensions/NGResourceLocator.h
===================================================================
--- sope-core/NGExtensions/NGExtensions/NGResourceLocator.h (révision 1608)
--- sope-core/NGExtensions/NGExtensions/NGResourceLocator.h (révision 1632)
+++ sope-core/NGExtensions/NGExtensions/NGResourceLocator.h (copie de travail)
@@ -52,23 +52,54 @@
int reserved:29;
@@ -999,7 +999,7 @@ Index: sope-core/NGExtensions/NGExtensions/NGResourceLocator.h
Index: sope-core/NGExtensions/NGBundleManager.m
===================================================================
--- sope-core/NGExtensions/NGBundleManager.m (révision 1608)
--- sope-core/NGExtensions/NGBundleManager.m (révision 1632)
+++ sope-core/NGExtensions/NGBundleManager.m (copie de travail)
@@ -332,10 +332,7 @@
}
@@ -1036,7 +1036,7 @@ Index: sope-core/NGExtensions/NGBundleManager.m
- (void)_setupBundleSearchPathes {
Index: sope-core/NGExtensions/FdExt.subproj/GNUmakefile
===================================================================
--- sope-core/NGExtensions/FdExt.subproj/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/FdExt.subproj/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/FdExt.subproj/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1048,7 +1048,7 @@ Index: sope-core/NGExtensions/FdExt.subproj/GNUmakefile
SUBPROJECT_NAME = FdExt
Index: sope-core/NGExtensions/XmlExt.subproj/GNUmakefile
===================================================================
--- sope-core/NGExtensions/XmlExt.subproj/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/XmlExt.subproj/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/XmlExt.subproj/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1060,7 +1060,7 @@ Index: sope-core/NGExtensions/XmlExt.subproj/GNUmakefile
SUBPROJECT_NAME = XmlExt
Index: sope-core/NGExtensions/EOExt.subproj/GNUmakefile
===================================================================
--- sope-core/NGExtensions/EOExt.subproj/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/EOExt.subproj/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/EOExt.subproj/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1072,7 +1072,7 @@ Index: sope-core/NGExtensions/EOExt.subproj/GNUmakefile
SUBPROJECT_NAME = EOExt
Index: sope-core/NGExtensions/GNUmakefile
===================================================================
--- sope-core/NGExtensions/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1108,7 +1108,7 @@ Index: sope-core/NGExtensions/GNUmakefile
--include fhs.make
Index: sope-core/NGExtensions/NGResourceLocator.m
===================================================================
--- sope-core/NGExtensions/NGResourceLocator.m (révision 1608)
--- sope-core/NGExtensions/NGResourceLocator.m (révision 1632)
+++ sope-core/NGExtensions/NGResourceLocator.m (copie de travail)
@@ -43,7 +43,11 @@
return self;
@@ -1166,7 +1166,7 @@ Index: sope-core/NGExtensions/NGResourceLocator.m
e = ([self->fhsSubPath length] > 0)
Index: sope-core/NGExtensions/NGLogging.subproj/GNUmakefile
===================================================================
--- sope-core/NGExtensions/NGLogging.subproj/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/NGLogging.subproj/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/NGLogging.subproj/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1178,7 +1178,7 @@ Index: sope-core/NGExtensions/NGLogging.subproj/GNUmakefile
SUBPROJECT_NAME = NGLogging
Index: sope-core/NGExtensions/NGRuleEngine.subproj/GNUmakefile
===================================================================
--- sope-core/NGExtensions/NGRuleEngine.subproj/GNUmakefile (révision 1608)
--- sope-core/NGExtensions/NGRuleEngine.subproj/GNUmakefile (révision 1632)
+++ sope-core/NGExtensions/NGRuleEngine.subproj/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1190,7 +1190,7 @@ Index: sope-core/NGExtensions/NGRuleEngine.subproj/GNUmakefile
SUBPROJECT_NAME = NGRuleEngine
Index: sope-core/GNUmakefile
===================================================================
--- sope-core/GNUmakefile (révision 1608)
--- sope-core/GNUmakefile (révision 1632)
+++ sope-core/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1208,7 +1208,7 @@ Index: sope-core/GNUmakefile
+ ../maintenance/make-osxpkg.sh $(PACKAGE_NAME)
Index: sope-core/NGStreams/GNUmakefile.preamble
===================================================================
--- sope-core/NGStreams/GNUmakefile.preamble (révision 1608)
--- sope-core/NGStreams/GNUmakefile.preamble (révision 1632)
+++ sope-core/NGStreams/GNUmakefile.preamble (copie de travail)
@@ -38,7 +38,11 @@
endif
@@ -1224,7 +1224,7 @@ Index: sope-core/NGStreams/GNUmakefile.preamble
endif
Index: sope-core/NGStreams/GNUmakefile
===================================================================
--- sope-core/NGStreams/GNUmakefile (révision 1608)
--- sope-core/NGStreams/GNUmakefile (révision 1632)
+++ sope-core/NGStreams/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1260,7 +1260,7 @@ Index: sope-core/NGStreams/GNUmakefile
--include fhs.make
Index: sope-core/samples/GNUmakefile
===================================================================
--- sope-core/samples/GNUmakefile (révision 1608)
--- sope-core/samples/GNUmakefile (révision 1632)
+++ sope-core/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1277,7 +1277,7 @@ Index: sope-core/samples/GNUmakefile
--include fhs.make
Index: sope-core/EOControl/GNUmakefile
===================================================================
--- sope-core/EOControl/GNUmakefile (révision 1608)
--- sope-core/EOControl/GNUmakefile (révision 1632)
+++ sope-core/EOControl/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1313,7 +1313,7 @@ Index: sope-core/EOControl/GNUmakefile
--include fhs.make
Index: sope-core/common.make
===================================================================
--- sope-core/common.make (révision 1608)
--- sope-core/common.make (révision 1632)
+++ sope-core/common.make (copie de travail)
@@ -6,8 +6,6 @@
include $(SKYROOT)/Version
@@ -1326,7 +1326,7 @@ Index: sope-core/common.make
ADDITIONAL_CPPFLAGS += -D_REENTRANT=1
Index: sope-core/EOCoreData/GNUmakefile
===================================================================
--- sope-core/EOCoreData/GNUmakefile (révision 1608)
--- sope-core/EOCoreData/GNUmakefile (révision 1632)
+++ sope-core/EOCoreData/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1362,7 +1362,7 @@ Index: sope-core/EOCoreData/GNUmakefile
--include fhs.make
Index: sopex/GNUmakefile
===================================================================
--- sopex/GNUmakefile (révision 1608)
--- sopex/GNUmakefile (révision 1632)
+++ sopex/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1374,7 +1374,7 @@ Index: sopex/GNUmakefile
ifeq ($(FOUNDATION_LIB),apple)
Index: sopex/SOPEX/GNUmakefile
===================================================================
--- sopex/SOPEX/GNUmakefile (révision 1608)
--- sopex/SOPEX/GNUmakefile (révision 1632)
+++ sopex/SOPEX/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1386,7 +1386,7 @@ Index: sopex/SOPEX/GNUmakefile
Index: xmlrpc_call/GNUmakefile
===================================================================
--- xmlrpc_call/GNUmakefile (révision 1608)
--- xmlrpc_call/GNUmakefile (révision 1632)
+++ xmlrpc_call/GNUmakefile (copie de travail)
@@ -1,10 +1,11 @@
# GNUstep makefile
@@ -1411,7 +1411,7 @@ Index: xmlrpc_call/GNUmakefile
# do not build a pkg just for this tool
Index: xmlrpc_call/GNUmakefile.preamble
===================================================================
--- xmlrpc_call/GNUmakefile.preamble (révision 1608)
--- xmlrpc_call/GNUmakefile.preamble (révision 1632)
+++ xmlrpc_call/GNUmakefile.preamble (copie de travail)
@@ -1,5 +1,6 @@
# compilation settings
@@ -1440,7 +1440,7 @@ Index: xmlrpc_call/GNUmakefile.preamble
endif
Index: sope-xml/libxmlSAXDriver/GNUmakefile
===================================================================
--- sope-xml/libxmlSAXDriver/GNUmakefile (révision 1608)
--- sope-xml/libxmlSAXDriver/GNUmakefile (révision 1632)
+++ sope-xml/libxmlSAXDriver/GNUmakefile (copie de travail)
@@ -1,13 +1,13 @@
# GNUstep makefile
@@ -1465,7 +1465,7 @@ Index: sope-xml/libxmlSAXDriver/GNUmakefile
--include fhs.make
Index: sope-xml/DOM/GNUmakefile.preamble
===================================================================
--- sope-xml/DOM/GNUmakefile.preamble (révision 1608)
--- sope-xml/DOM/GNUmakefile.preamble (révision 1632)
+++ sope-xml/DOM/GNUmakefile.preamble (copie de travail)
@@ -1,10 +1,13 @@
# compilation settings
@@ -1485,7 +1485,7 @@ Index: sope-xml/DOM/GNUmakefile.preamble
Index: sope-xml/DOM/GNUmakefile
===================================================================
--- sope-xml/DOM/GNUmakefile (révision 1608)
--- sope-xml/DOM/GNUmakefile (révision 1632)
+++ sope-xml/DOM/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1511,7 +1511,7 @@ Index: sope-xml/DOM/GNUmakefile
--include fhs.make
Index: sope-xml/ChangeLogSaxDriver/GNUmakefile
===================================================================
--- sope-xml/ChangeLogSaxDriver/GNUmakefile (révision 1608)
--- sope-xml/ChangeLogSaxDriver/GNUmakefile (révision 1632)
+++ sope-xml/ChangeLogSaxDriver/GNUmakefile (copie de travail)
@@ -1,13 +1,13 @@
# GNUstep makefile
@@ -1536,7 +1536,7 @@ Index: sope-xml/ChangeLogSaxDriver/GNUmakefile
--include fhs.make
Index: sope-xml/GNUmakefile
===================================================================
--- sope-xml/GNUmakefile (révision 1608)
--- sope-xml/GNUmakefile (révision 1632)
+++ sope-xml/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1548,7 +1548,7 @@ Index: sope-xml/GNUmakefile
PACKAGE_NAME=sope-xml
Index: sope-xml/SaxObjC/SaxXMLReaderFactory.m
===================================================================
--- sope-xml/SaxObjC/SaxXMLReaderFactory.m (révision 1608)
--- sope-xml/SaxObjC/SaxXMLReaderFactory.m (révision 1632)
+++ sope-xml/SaxObjC/SaxXMLReaderFactory.m (copie de travail)
@@ -137,11 +137,19 @@
@@ -1594,7 +1594,7 @@ Index: sope-xml/SaxObjC/SaxXMLReaderFactory.m
#endif
Index: sope-xml/SaxObjC/SaxObjectModel.h
===================================================================
--- sope-xml/SaxObjC/SaxObjectModel.h (révision 1608)
--- sope-xml/SaxObjC/SaxObjectModel.h (révision 1632)
+++ sope-xml/SaxObjC/SaxObjectModel.h (copie de travail)
@@ -34,6 +34,7 @@
@@ -1606,7 +1606,7 @@ Index: sope-xml/SaxObjC/SaxObjectModel.h
Index: sope-xml/SaxObjC/SaxObjectModel.m
===================================================================
--- sope-xml/SaxObjC/SaxObjectModel.m (révision 1608)
--- sope-xml/SaxObjC/SaxObjectModel.m (révision 1632)
+++ sope-xml/SaxObjC/SaxObjectModel.m (copie de travail)
@@ -67,12 +67,12 @@
if (searchPathes == nil) {
@@ -1652,7 +1652,7 @@ Index: sope-xml/SaxObjC/SaxObjectModel.m
NSEnumerator *pathes;
Index: sope-xml/SaxObjC/GNUmakefile.preamble
===================================================================
--- sope-xml/SaxObjC/GNUmakefile.preamble (révision 1608)
--- sope-xml/SaxObjC/GNUmakefile.preamble (révision 1632)
+++ sope-xml/SaxObjC/GNUmakefile.preamble (copie de travail)
@@ -1,9 +1,12 @@
# compilation settings
@@ -1682,7 +1682,7 @@ Index: sope-xml/SaxObjC/GNUmakefile.preamble
# Apple
Index: sope-xml/SaxObjC/GNUmakefile
===================================================================
--- sope-xml/SaxObjC/GNUmakefile (révision 1608)
--- sope-xml/SaxObjC/GNUmakefile (révision 1632)
+++ sope-xml/SaxObjC/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1708,7 +1708,7 @@ Index: sope-xml/SaxObjC/GNUmakefile
--include fhs.make
Index: sope-xml/common.make
===================================================================
--- sope-xml/common.make (révision 1608)
--- sope-xml/common.make (révision 1632)
+++ sope-xml/common.make (copie de travail)
@@ -1,13 +1,7 @@
# GNUstep makefile
@@ -1726,7 +1726,7 @@ Index: sope-xml/common.make
ADDITIONAL_INCLUDE_DIRS += -I..
Index: sope-xml/samples/PlistSaxDriver/GNUmakefile
===================================================================
--- sope-xml/samples/PlistSaxDriver/GNUmakefile (révision 1608)
--- sope-xml/samples/PlistSaxDriver/GNUmakefile (révision 1632)
+++ sope-xml/samples/PlistSaxDriver/GNUmakefile (copie de travail)
@@ -1,11 +1,11 @@
# GNUstep Makefile
@@ -1744,7 +1744,7 @@ Index: sope-xml/samples/PlistSaxDriver/GNUmakefile
PlistSaxDriver.m
Index: sope-xml/samples/GNUmakefile
===================================================================
--- sope-xml/samples/GNUmakefile (révision 1608)
--- sope-xml/samples/GNUmakefile (révision 1632)
+++ sope-xml/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1778,7 +1778,7 @@ Index: sope-xml/samples/GNUmakefile
--include fhs.make
Index: sope-xml/samples/GNUmakefile.preamble
===================================================================
--- sope-xml/samples/GNUmakefile.preamble (révision 1608)
--- sope-xml/samples/GNUmakefile.preamble (révision 1632)
+++ sope-xml/samples/GNUmakefile.preamble (copie de travail)
@@ -1,5 +1,6 @@
# compilation settings
@@ -1800,7 +1800,7 @@ Index: sope-xml/samples/GNUmakefile.preamble
endif
Index: sope-xml/XmlRpc/GNUmakefile.preamble
===================================================================
--- sope-xml/XmlRpc/GNUmakefile.preamble (révision 1608)
--- sope-xml/XmlRpc/GNUmakefile.preamble (révision 1632)
+++ sope-xml/XmlRpc/GNUmakefile.preamble (copie de travail)
@@ -1,10 +1,13 @@
# compilation settings
@@ -1820,7 +1820,7 @@ Index: sope-xml/XmlRpc/GNUmakefile.preamble
Index: sope-xml/XmlRpc/GNUmakefile
===================================================================
--- sope-xml/XmlRpc/GNUmakefile (révision 1608)
--- sope-xml/XmlRpc/GNUmakefile (révision 1632)
+++ sope-xml/XmlRpc/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1846,7 +1846,7 @@ Index: sope-xml/XmlRpc/GNUmakefile
--include fhs.make
Index: sope-xml/STXSaxDriver/ExtraSTX/GNUmakefile
===================================================================
--- sope-xml/STXSaxDriver/ExtraSTX/GNUmakefile (révision 1608)
--- sope-xml/STXSaxDriver/ExtraSTX/GNUmakefile (révision 1632)
+++ sope-xml/STXSaxDriver/ExtraSTX/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1858,7 +1858,7 @@ Index: sope-xml/STXSaxDriver/ExtraSTX/GNUmakefile
SUBPROJECT_NAME = ExtraSTX
Index: sope-xml/STXSaxDriver/GNUmakefile
===================================================================
--- sope-xml/STXSaxDriver/GNUmakefile (révision 1608)
--- sope-xml/STXSaxDriver/GNUmakefile (révision 1632)
+++ sope-xml/STXSaxDriver/GNUmakefile (copie de travail)
@@ -1,13 +1,13 @@
# GNUstep makefile
@@ -1883,7 +1883,7 @@ Index: sope-xml/STXSaxDriver/GNUmakefile
--include fhs.make
Index: sope-xml/STXSaxDriver/Model/GNUmakefile
===================================================================
--- sope-xml/STXSaxDriver/Model/GNUmakefile (révision 1608)
--- sope-xml/STXSaxDriver/Model/GNUmakefile (révision 1632)
+++ sope-xml/STXSaxDriver/Model/GNUmakefile (copie de travail)
@@ -6,7 +6,7 @@
# Date: 24 November 2003
@@ -1896,7 +1896,7 @@ Index: sope-xml/STXSaxDriver/Model/GNUmakefile
SUBPROJECT_NAME = Model
Index: sope-xml/pyxSAXDriver/GNUmakefile
===================================================================
--- sope-xml/pyxSAXDriver/GNUmakefile (révision 1608)
--- sope-xml/pyxSAXDriver/GNUmakefile (révision 1632)
+++ sope-xml/pyxSAXDriver/GNUmakefile (copie de travail)
@@ -1,17 +1,16 @@
# GNUstep makefile
@@ -1920,7 +1920,7 @@ Index: sope-xml/pyxSAXDriver/GNUmakefile
--include fhs.make
Index: sope-appserver/GNUmakefile
===================================================================
--- sope-appserver/GNUmakefile (révision 1608)
--- sope-appserver/GNUmakefile (révision 1632)
+++ sope-appserver/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -1930,17 +1930,7 @@ Index: sope-appserver/GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make
PACKAGE_NAME=sope-appserver
@@ -13,7 +13,8 @@
WOXML \
SoOFS \
NGXmlRpc \
- WEPrototype
+ WEPrototype \
+ mod_ngobjweb
ifeq ($(frameworks),yes)
@@ -38,4 +39,4 @@
@@ -38,4 +38,4 @@
# package
macosx-pkg :: all
@@ -1948,7 +1938,7 @@ Index: sope-appserver/GNUmakefile
+ ../maintenance/make-osxpkg.sh $(PACKAGE_NAME)
Index: sope-appserver/SoOFS/GNUmakefile.preamble
===================================================================
--- sope-appserver/SoOFS/GNUmakefile.preamble (révision 1608)
--- sope-appserver/SoOFS/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/SoOFS/GNUmakefile.preamble (copie de travail)
@@ -76,17 +76,9 @@
$(foreach dir,$(DEP_DIRS),-F$(GNUSTEP_BUILD_DIR)/$(dir))
@@ -1979,7 +1969,7 @@ Index: sope-appserver/SoOFS/GNUmakefile.preamble
endif
Index: sope-appserver/SoOFS/GNUmakefile
===================================================================
--- sope-appserver/SoOFS/GNUmakefile (révision 1608)
--- sope-appserver/SoOFS/GNUmakefile (révision 1632)
+++ sope-appserver/SoOFS/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2029,7 +2019,7 @@ Index: sope-appserver/SoOFS/GNUmakefile
--include fhs.make
Index: sope-appserver/NGXmlRpc/GNUmakefile
===================================================================
--- sope-appserver/NGXmlRpc/GNUmakefile (révision 1608)
--- sope-appserver/NGXmlRpc/GNUmakefile (révision 1632)
+++ sope-appserver/NGXmlRpc/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2066,7 +2056,7 @@ Index: sope-appserver/NGXmlRpc/GNUmakefile
--include fhs.make
Index: sope-appserver/WEExtensions/GNUmakefile.preamble
===================================================================
--- sope-appserver/WEExtensions/GNUmakefile.preamble (révision 1608)
--- sope-appserver/WEExtensions/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/WEExtensions/GNUmakefile.preamble (copie de travail)
@@ -21,7 +21,8 @@
cp ../bundle-info.plist .)
@@ -2080,7 +2070,7 @@ Index: sope-appserver/WEExtensions/GNUmakefile.preamble
Index: sope-appserver/WEExtensions/GNUmakefile
===================================================================
--- sope-appserver/WEExtensions/GNUmakefile (révision 1608)
--- sope-appserver/WEExtensions/GNUmakefile (révision 1632)
+++ sope-appserver/WEExtensions/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2116,7 +2106,7 @@ Index: sope-appserver/WEExtensions/GNUmakefile
--include fhs.make
Index: sope-appserver/WEExtensions/WEResourceManager.m
===================================================================
--- sope-appserver/WEExtensions/WEResourceManager.m (révision 1608)
--- sope-appserver/WEExtensions/WEResourceManager.m (révision 1632)
+++ sope-appserver/WEExtensions/WEResourceManager.m (copie de travail)
@@ -53,28 +53,43 @@
@@ -2194,7 +2184,7 @@ Index: sope-appserver/WEExtensions/WEResourceManager.m
Index: sope-appserver/WEExtensions/WETableView/GNUmakefile
===================================================================
--- sope-appserver/WEExtensions/WETableView/GNUmakefile (révision 1608)
--- sope-appserver/WEExtensions/WETableView/GNUmakefile (révision 1632)
+++ sope-appserver/WEExtensions/WETableView/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2206,7 +2196,7 @@ Index: sope-appserver/WEExtensions/WETableView/GNUmakefile
SUBPROJECT_NAME = WETableView
Index: sope-appserver/NGObjWeb/WOCoreApplication+Bundle.m
===================================================================
--- sope-appserver/NGObjWeb/WOCoreApplication+Bundle.m (révision 1608)
--- sope-appserver/NGObjWeb/WOCoreApplication+Bundle.m (révision 1632)
+++ sope-appserver/NGObjWeb/WOCoreApplication+Bundle.m (copie de travail)
@@ -50,8 +50,6 @@
}
@@ -2240,7 +2230,7 @@ Index: sope-appserver/NGObjWeb/WOCoreApplication+Bundle.m
tmp = [tmp componentsSeparatedByString:@":"];
Index: sope-appserver/NGObjWeb/wobundle-gs.make
===================================================================
--- sope-appserver/NGObjWeb/wobundle-gs.make (révision 1608)
--- sope-appserver/NGObjWeb/wobundle-gs.make (révision 1632)
+++ sope-appserver/NGObjWeb/wobundle-gs.make (copie de travail)
@@ -85,7 +85,7 @@
endif
@@ -2266,7 +2256,7 @@ Index: sope-appserver/NGObjWeb/wobundle-gs.make
endif
Index: sope-appserver/NGObjWeb/GNUmakefile.preamble
===================================================================
--- sope-appserver/NGObjWeb/GNUmakefile.preamble (révision 1608)
--- sope-appserver/NGObjWeb/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/NGObjWeb/GNUmakefile.preamble (copie de travail)
@@ -50,9 +50,6 @@
$(foreach dir,$(DEP_DIRS),-F$(GNUSTEP_BUILD_DIR)/$(dir))
@@ -2305,7 +2295,7 @@ Index: sope-appserver/NGObjWeb/GNUmakefile.preamble
endif
Index: sope-appserver/NGObjWeb/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/GNUmakefile (copie de travail)
@@ -1,11 +1,9 @@
# GNUstep makefile
@@ -2374,7 +2364,7 @@ Index: sope-appserver/NGObjWeb/GNUmakefile
--include fhs.make
Index: sope-appserver/NGObjWeb/WebDAV/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/WebDAV/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/WebDAV/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/WebDAV/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2386,7 +2376,7 @@ Index: sope-appserver/NGObjWeb/WebDAV/GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make
Index: sope-appserver/NGObjWeb/DynamicElements/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/DynamicElements/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/DynamicElements/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/DynamicElements/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2398,7 +2388,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/GNUmakefile
SUBPROJECT_NAME = DynamicElements
Index: sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m (révision 1608)
--- sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m (révision 1632)
+++ sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m (copie de travail)
@@ -74,6 +74,14 @@
}
@@ -2425,7 +2415,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m
- (void)_addFHSPathesToArray:(NSMutableArray *)ma {
Index: sope-appserver/NGObjWeb/SoObjects/SoProductRegistry.m
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/SoProductRegistry.m (révision 1608)
--- sope-appserver/NGObjWeb/SoObjects/SoProductRegistry.m (révision 1632)
+++ sope-appserver/NGObjWeb/SoObjects/SoProductRegistry.m (copie de travail)
@@ -231,7 +231,7 @@
@@ -2502,7 +2492,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/SoProductRegistry.m
#endif
Index: sope-appserver/NGObjWeb/SoObjects/GNUmakefile.preamble
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/GNUmakefile.preamble (révision 1608)
--- sope-appserver/NGObjWeb/SoObjects/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/NGObjWeb/SoObjects/GNUmakefile.preamble (copie de travail)
@@ -1,5 +1,7 @@
# compilation settings
@@ -2523,7 +2513,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/GNUmakefile.preamble
endif
Index: sope-appserver/NGObjWeb/SoObjects/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/SoObjects/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/SoObjects/GNUmakefile (copie de travail)
@@ -1,7 +1,7 @@
# GNUstep makefile
@@ -2536,7 +2526,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/GNUmakefile
Index: sope-appserver/NGObjWeb/Templates/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/Templates/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/Templates/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/Templates/GNUmakefile (copie de travail)
@@ -1,7 +1,7 @@
# GNUmakefile makefile
@@ -2549,7 +2539,7 @@ Index: sope-appserver/NGObjWeb/Templates/GNUmakefile
Index: sope-appserver/NGObjWeb/Templates/WOApplication+Builders.m
===================================================================
--- sope-appserver/NGObjWeb/Templates/WOApplication+Builders.m (révision 1608)
--- sope-appserver/NGObjWeb/Templates/WOApplication+Builders.m (révision 1632)
+++ sope-appserver/NGObjWeb/Templates/WOApplication+Builders.m (copie de travail)
@@ -76,7 +76,7 @@
@@ -2610,7 +2600,7 @@ Index: sope-appserver/NGObjWeb/Templates/WOApplication+Builders.m
[FHS_INSTALL_ROOT stringByAppendingString:relPath],
Index: sope-appserver/NGObjWeb/Templates/GNUmakefile.preamble
===================================================================
--- sope-appserver/NGObjWeb/Templates/GNUmakefile.preamble (révision 1608)
--- sope-appserver/NGObjWeb/Templates/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/NGObjWeb/Templates/GNUmakefile.preamble (copie de travail)
@@ -6,6 +6,6 @@
ADDITIONAL_CPPFLAGS += -DFHS_INSTALL_ROOT=\@\"$(FHS_INSTALL_ROOT)\"
@@ -2623,7 +2613,7 @@ Index: sope-appserver/NGObjWeb/Templates/GNUmakefile.preamble
endif
Index: sope-appserver/NGObjWeb/Associations/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/Associations/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/Associations/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/Associations/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2635,7 +2625,7 @@ Index: sope-appserver/NGObjWeb/Associations/GNUmakefile
SUBPROJECT_NAME = Associations
Index: sope-appserver/NGObjWeb/WOHttpAdaptor/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/WOHttpAdaptor/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/WOHttpAdaptor/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/WOHttpAdaptor/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2647,7 +2637,7 @@ Index: sope-appserver/NGObjWeb/WOHttpAdaptor/GNUmakefile
SUBPROJECT_NAME = WOHttpAdaptor
Index: sope-appserver/NGObjWeb/woapp-gs.make
===================================================================
--- sope-appserver/NGObjWeb/woapp-gs.make (révision 1608)
--- sope-appserver/NGObjWeb/woapp-gs.make (révision 1632)
+++ sope-appserver/NGObjWeb/woapp-gs.make (copie de travail)
@@ -103,7 +103,7 @@
# Determine the application directory extension
@@ -2672,7 +2662,7 @@ Index: sope-appserver/NGObjWeb/woapp-gs.make
endif
Index: sope-appserver/NGObjWeb/WOCoreApplication.m
===================================================================
--- sope-appserver/NGObjWeb/WOCoreApplication.m (révision 1608)
--- sope-appserver/NGObjWeb/WOCoreApplication.m (révision 1632)
+++ sope-appserver/NGObjWeb/WOCoreApplication.m (copie de travail)
@@ -730,9 +730,15 @@
[self sopeMajorVersion], [self sopeMinorVersion]];
@@ -2692,7 +2682,7 @@ Index: sope-appserver/NGObjWeb/WOCoreApplication.m
+ (NSArray *)resourcesSearchPathes {
Index: sope-appserver/NGObjWeb/NGHttp/GNUmakefile
===================================================================
--- sope-appserver/NGObjWeb/NGHttp/GNUmakefile (révision 1608)
--- sope-appserver/NGObjWeb/NGHttp/GNUmakefile (révision 1632)
+++ sope-appserver/NGObjWeb/NGHttp/GNUmakefile (copie de travail)
@@ -1,10 +1,8 @@
# GNUstep makefile
@@ -2717,7 +2707,7 @@ Index: sope-appserver/NGObjWeb/NGHttp/GNUmakefile
-include GNUmakefile.postamble
Index: sope-appserver/WEPrototype/GNUmakefile
===================================================================
--- sope-appserver/WEPrototype/GNUmakefile (révision 1608)
--- sope-appserver/WEPrototype/GNUmakefile (révision 1632)
+++ sope-appserver/WEPrototype/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2753,7 +2743,7 @@ Index: sope-appserver/WEPrototype/GNUmakefile
--include fhs.make
Index: sope-appserver/WEPrototype/doc/GNUmakefile
===================================================================
--- sope-appserver/WEPrototype/doc/GNUmakefile (révision 1608)
--- sope-appserver/WEPrototype/doc/GNUmakefile (révision 1632)
+++ sope-appserver/WEPrototype/doc/GNUmakefile (copie de travail)
@@ -2,7 +2,7 @@
@@ -2766,7 +2756,7 @@ Index: sope-appserver/WEPrototype/doc/GNUmakefile
Index: sope-appserver/WEPrototype/GNUmakefile.preamble
===================================================================
--- sope-appserver/WEPrototype/GNUmakefile.preamble (révision 1608)
--- sope-appserver/WEPrototype/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/WEPrototype/GNUmakefile.preamble (copie de travail)
@@ -1,4 +1,4 @@
-# compiler flags
@@ -2786,7 +2776,7 @@ Index: sope-appserver/WEPrototype/GNUmakefile.preamble
libWEPrototype_LIBRARIES_DEPEND_UPON += \
Index: sope-appserver/common.make
===================================================================
--- sope-appserver/common.make (révision 1608)
--- sope-appserver/common.make (révision 1632)
+++ sope-appserver/common.make (copie de travail)
@@ -4,8 +4,6 @@
include ../Version
@@ -2799,7 +2789,7 @@ Index: sope-appserver/common.make
ADDITIONAL_INCLUDE_DIRS += \
Index: sope-appserver/samples/CoreDataBlog/GNUmakefile
===================================================================
--- sope-appserver/samples/CoreDataBlog/GNUmakefile (révision 1608)
--- sope-appserver/samples/CoreDataBlog/GNUmakefile (révision 1632)
+++ sope-appserver/samples/CoreDataBlog/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2811,7 +2801,7 @@ Index: sope-appserver/samples/CoreDataBlog/GNUmakefile
WOAPP_NAME = CoreDataBlog
Index: sope-appserver/samples/HelloForm/GNUmakefile
===================================================================
--- sope-appserver/samples/HelloForm/GNUmakefile (révision 1608)
--- sope-appserver/samples/HelloForm/GNUmakefile (révision 1632)
+++ sope-appserver/samples/HelloForm/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2823,7 +2813,7 @@ Index: sope-appserver/samples/HelloForm/GNUmakefile
WOAPP_NAME = HelloForm
Index: sope-appserver/samples/GNUmakefile
===================================================================
--- sope-appserver/samples/GNUmakefile (révision 1608)
--- sope-appserver/samples/GNUmakefile (révision 1632)
+++ sope-appserver/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2835,7 +2825,7 @@ Index: sope-appserver/samples/GNUmakefile
SUBPROJECTS += \
Index: sope-appserver/samples/iCalPortal/GNUmakefile.preamble
===================================================================
--- sope-appserver/samples/iCalPortal/GNUmakefile.preamble (révision 1608)
--- sope-appserver/samples/iCalPortal/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/samples/iCalPortal/GNUmakefile.preamble (copie de travail)
@@ -7,7 +7,9 @@
-lEOControl \
@@ -2849,7 +2839,7 @@ Index: sope-appserver/samples/iCalPortal/GNUmakefile.preamble
SYSTEM_LIB_DIR += -L/usr/local/lib -L/usr/lib
Index: sope-appserver/samples/iCalPortal/GNUmakefile
===================================================================
--- sope-appserver/samples/iCalPortal/GNUmakefile (révision 1608)
--- sope-appserver/samples/iCalPortal/GNUmakefile (révision 1632)
+++ sope-appserver/samples/iCalPortal/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2861,7 +2851,7 @@ Index: sope-appserver/samples/iCalPortal/GNUmakefile
WOAPP_NAME = iCalPortal
Index: sope-appserver/samples/iCalPortal/Pages/GNUmakefile
===================================================================
--- sope-appserver/samples/iCalPortal/Pages/GNUmakefile (révision 1608)
--- sope-appserver/samples/iCalPortal/Pages/GNUmakefile (révision 1632)
+++ sope-appserver/samples/iCalPortal/Pages/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2873,7 +2863,7 @@ Index: sope-appserver/samples/iCalPortal/Pages/GNUmakefile
SUBPROJECT_NAME = Pages
Index: sope-appserver/samples/iCalPortal/WebDAV/GNUmakefile
===================================================================
--- sope-appserver/samples/iCalPortal/WebDAV/GNUmakefile (révision 1608)
--- sope-appserver/samples/iCalPortal/WebDAV/GNUmakefile (révision 1632)
+++ sope-appserver/samples/iCalPortal/WebDAV/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2885,7 +2875,7 @@ Index: sope-appserver/samples/iCalPortal/WebDAV/GNUmakefile
SUBPROJECT_NAME = DAV
Index: sope-appserver/samples/SoCookieAuth/GNUmakefile
===================================================================
--- sope-appserver/samples/SoCookieAuth/GNUmakefile (révision 1608)
--- sope-appserver/samples/SoCookieAuth/GNUmakefile (révision 1632)
+++ sope-appserver/samples/SoCookieAuth/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2897,7 +2887,7 @@ Index: sope-appserver/samples/SoCookieAuth/GNUmakefile
WOAPP_NAME = SoCookieAuth
Index: sope-appserver/samples/WOxExtTest/GNUmakefile
===================================================================
--- sope-appserver/samples/WOxExtTest/GNUmakefile (révision 1608)
--- sope-appserver/samples/WOxExtTest/GNUmakefile (révision 1632)
+++ sope-appserver/samples/WOxExtTest/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2909,7 +2899,7 @@ Index: sope-appserver/samples/WOxExtTest/GNUmakefile
WOAPP_NAME = WOxExtTest
Index: sope-appserver/samples/TestPages/GNUmakefile
===================================================================
--- sope-appserver/samples/TestPages/GNUmakefile (révision 1608)
--- sope-appserver/samples/TestPages/GNUmakefile (révision 1632)
+++ sope-appserver/samples/TestPages/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2921,7 +2911,7 @@ Index: sope-appserver/samples/TestPages/GNUmakefile
WOAPP_NAME = TestPages
Index: sope-appserver/samples/parsedav/GNUmakefile
===================================================================
--- sope-appserver/samples/parsedav/GNUmakefile (révision 1608)
--- sope-appserver/samples/parsedav/GNUmakefile (révision 1632)
+++ sope-appserver/samples/parsedav/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2933,7 +2923,7 @@ Index: sope-appserver/samples/parsedav/GNUmakefile
TOOL_NAME = parsedav
Index: sope-appserver/samples/xmlrpc/GNUmakefile
===================================================================
--- sope-appserver/samples/xmlrpc/GNUmakefile (révision 1608)
--- sope-appserver/samples/xmlrpc/GNUmakefile (révision 1632)
+++ sope-appserver/samples/xmlrpc/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2945,7 +2935,7 @@ Index: sope-appserver/samples/xmlrpc/GNUmakefile
TOOL_NAME = \
Index: sope-appserver/samples/TestPrototype/GNUmakefile
===================================================================
--- sope-appserver/samples/TestPrototype/GNUmakefile (révision 1608)
--- sope-appserver/samples/TestPrototype/GNUmakefile (révision 1632)
+++ sope-appserver/samples/TestPrototype/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2957,7 +2947,7 @@ Index: sope-appserver/samples/TestPrototype/GNUmakefile
WOAPP_NAME = TestPrototype
Index: sope-appserver/samples/HelloWorld/GNUmakefile
===================================================================
--- sope-appserver/samples/HelloWorld/GNUmakefile (révision 1608)
--- sope-appserver/samples/HelloWorld/GNUmakefile (révision 1632)
+++ sope-appserver/samples/HelloWorld/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2969,7 +2959,7 @@ Index: sope-appserver/samples/HelloWorld/GNUmakefile
WOAPP_NAME = HelloWorld
Index: sope-appserver/samples/davpropget/GNUmakefile
===================================================================
--- sope-appserver/samples/davpropget/GNUmakefile (révision 1608)
--- sope-appserver/samples/davpropget/GNUmakefile (révision 1632)
+++ sope-appserver/samples/davpropget/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -2981,7 +2971,7 @@ Index: sope-appserver/samples/davpropget/GNUmakefile
TOOL_NAME = davpropget
Index: sope-appserver/WOExtensions/GNUmakefile.preamble
===================================================================
--- sope-appserver/WOExtensions/GNUmakefile.preamble (révision 1608)
--- sope-appserver/WOExtensions/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/WOExtensions/GNUmakefile.preamble (copie de travail)
@@ -12,7 +12,8 @@
-I$(SOPE_ROOT)/sope-xml
@@ -2995,7 +2985,7 @@ Index: sope-appserver/WOExtensions/GNUmakefile.preamble
Index: sope-appserver/WOExtensions/GNUmakefile
===================================================================
--- sope-appserver/WOExtensions/GNUmakefile (révision 1608)
--- sope-appserver/WOExtensions/GNUmakefile (révision 1632)
+++ sope-appserver/WOExtensions/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -3031,7 +3021,7 @@ Index: sope-appserver/WOExtensions/GNUmakefile
--include fhs.make
Index: sope-appserver/WOXML/GNUmakefile
===================================================================
--- sope-appserver/WOXML/GNUmakefile (révision 1608)
--- sope-appserver/WOXML/GNUmakefile (révision 1632)
+++ sope-appserver/WOXML/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -3065,7 +3055,7 @@ Index: sope-appserver/WOXML/GNUmakefile
--include fhs.make
Index: sope-appserver/WOXML/GNUmakefile.preamble
===================================================================
--- sope-appserver/WOXML/GNUmakefile.preamble (révision 1608)
--- sope-appserver/WOXML/GNUmakefile.preamble (révision 1632)
+++ sope-appserver/WOXML/GNUmakefile.preamble (copie de travail)
@@ -2,7 +2,7 @@
@@ -3078,7 +3068,7 @@ Index: sope-appserver/WOXML/GNUmakefile.preamble
libWOXML_INCLUDE_DIRS += -I. -I..
Index: sope-ical/samples/GNUmakefile
===================================================================
--- sope-ical/samples/GNUmakefile (révision 1608)
--- sope-ical/samples/GNUmakefile (révision 1632)
+++ sope-ical/samples/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -3095,7 +3085,7 @@ Index: sope-ical/samples/GNUmakefile
--include fhs.make
Index: sope-ical/versitSaxDriver/GNUmakefile
===================================================================
--- sope-ical/versitSaxDriver/GNUmakefile (révision 1608)
--- sope-ical/versitSaxDriver/GNUmakefile (révision 1632)
+++ sope-ical/versitSaxDriver/GNUmakefile (copie de travail)
@@ -1,13 +1,13 @@
# GNUstep makefile
@@ -3120,7 +3110,7 @@ Index: sope-ical/versitSaxDriver/GNUmakefile
--include fhs.make
Index: sope-ical/GNUmakefile
===================================================================
--- sope-ical/GNUmakefile (révision 1608)
--- sope-ical/GNUmakefile (révision 1632)
+++ sope-ical/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -3132,7 +3122,7 @@ Index: sope-ical/GNUmakefile
PACKAGE_NAME=sope-ical
Index: sope-ical/NGiCal/GNUmakefile.postamble
===================================================================
--- sope-ical/NGiCal/GNUmakefile.postamble (révision 1608)
--- sope-ical/NGiCal/GNUmakefile.postamble (révision 1632)
+++ sope-ical/NGiCal/GNUmakefile.postamble (copie de travail)
@@ -1,10 +1,6 @@
# compilation settings
@@ -3148,7 +3138,7 @@ Index: sope-ical/NGiCal/GNUmakefile.postamble
$(MKDIRS) $(MAPDIR)
Index: sope-ical/NGiCal/GNUmakefile
===================================================================
--- sope-ical/NGiCal/GNUmakefile (révision 1608)
--- sope-ical/NGiCal/GNUmakefile (révision 1632)
+++ sope-ical/NGiCal/GNUmakefile (copie de travail)
@@ -1,6 +1,6 @@
# GNUstep makefile
@@ -3608,6 +3608,23 @@ Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m
}
static char *iconv_wrapper(id self, char *_src, unsigned _srcLen,
Index: sope-core/NGExtensions/NGCalendarDateRange.m
===================================================================
--- sope-core/NGExtensions/NGCalendarDateRange.m (revision 1632)
+++ sope-core/NGExtensions/NGCalendarDateRange.m (working copy)
@@ -50,6 +50,12 @@
return self;
}
+- (void)dealloc {
+ [self->startDate release];
+ [self->endDate release];
+ [super dealloc];
+}
+
/* NSCopying */
- (id)copyWithZone:(NSZone *)zone {
Index: sope-core/NGExtensions/NGQuotedPrintableCoding.m
===================================================================
--- sope-core/NGExtensions/NGQuotedPrintableCoding.m (revision 1632)
@@ -3638,6 +3655,19 @@ Index: sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m
#import <EOControl/EOGlobalID.h>
#import <Foundation/NSString.h>
Index: sope-core/NGExtensions/ChangeLog
===================================================================
--- sope-core/NGExtensions/ChangeLog (revision 1632)
+++ sope-core/NGExtensions/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * NGCalendarDateRange.m ([NGCalendarDateRange -dealloc]): release
+ endDate and startDate.
+
2008-03-11 Helge Hess <helge.hess@opengroupware.org>
* FdExt.subproj/NSArray+enumerator.m: fixed for MacOS 10.5 (v4.7.201)
Index: sope-core/NGStreams/GNUmakefile.preamble
===================================================================
--- sope-core/NGStreams/GNUmakefile.preamble (revision 1632)
@@ -3653,6 +3683,19 @@ Index: sope-core/NGStreams/GNUmakefile.preamble
-INGStreams \
-I../NGExtensions \
-I..
Index: sope-xml/libxmlSAXDriver/ChangeLog
===================================================================
--- sope-xml/libxmlSAXDriver/ChangeLog (revision 1632)
+++ sope-xml/libxmlSAXDriver/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * libxmlSAXDriver.m (_startElement): autorelease "nsDict" when its
+ instantiated from a copy of "ns".
+
2006-07-03 Helge Hess <helge.hess@opengroupware.org>
* libXMLSaxDriver.m: fixed last changes for libFoundation (v4.5.24)
Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h
===================================================================
--- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (revision 1632)
@@ -3757,6 +3800,14 @@ Index: sope-xml/libxmlSAXDriver/libxmlSAXDriver.m
((xmlParserCtxtPtr)self->ctxt)->sax = NULL;
xmlFreeParserCtxt(self->ctxt);
@@ -872,6 +872,7 @@
}
nsDict = [ns copy];
+ [nsDict autorelease];
[ns release];
}
Index: sope-appserver/mod_ngobjweb/config.c
===================================================================
--- sope-appserver/mod_ngobjweb/config.c (revision 1632)
@@ -3881,8 +3932,17 @@ Index: sope-appserver/NGObjWeb/ChangeLog
===================================================================
--- sope-appserver/NGObjWeb/ChangeLog (revision 1632)
+++ sope-appserver/NGObjWeb/ChangeLog (working copy)
@@ -3,6 +3,11 @@
@@ -1,3 +1,9 @@
+2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/SoActionInvocation.m ([SoActionInvocation
+ -bindToObject:inContext:]): do not retain methodObject when
+ instantiated since it is not autoreleased.
+
2008-12-11 Helge Hess <helge.hess@opengroupware.org>
* WOHttpAdaptor/WOHttpAdaptor.m: properly embed threaded request
@@ -3,4 +9,9 @@
handler in a top-level pool (v4.7.27)
+2008-09-01 Ludovic Marcotte <lmarcotte@inverse.ca>
@@ -3892,7 +3952,6 @@ Index: sope-appserver/NGObjWeb/ChangeLog
+
2008-05-21 Sebastian Reitenbach <reitenbach@rapideye.de>
* WOHTTPURLHandle.m: add 'query' component of URL to request path
Index: sope-appserver/NGObjWeb/DAVPropMap.plist
===================================================================
--- sope-appserver/NGObjWeb/DAVPropMap.plist (revision 1632)
@@ -4353,6 +4412,19 @@ Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m
}
}
Index: sope-appserver/NGObjWeb/SoObjects/SoActionInvocation.m
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/SoActionInvocation.m (revision 1632)
+++ sope-appserver/NGObjWeb/SoObjects/SoActionInvocation.m (working copy)
@@ -338,7 +338,7 @@
inv->actionName = [self->actionName copy];
inv->argumentSpecifications = [self->argumentSpecifications copy];
- inv->methodObject = [[inv instantiateMethodInContext:_ctx] retain];
+ inv->methodObject = [inv instantiateMethodInContext:_ctx];
if (inv->methodObject == nil) {
[self errorWithFormat:@"did not find method '%@'", [self actionClassName]];
return nil;
Index: sope-appserver/NGObjWeb/SoObjects/SoObject+Traversal.m
===================================================================
--- sope-appserver/NGObjWeb/SoObjects/SoObject+Traversal.m (revision 1632)
+104 -24
View File
@@ -30,8 +30,9 @@
# sogod Scalable OpenGroupware.org (Inverse edition)
PREFORK=3
PREFORK=1
SOGO_ARGS=""
USER=sogo
PATH=/sbin:/bin:/usr/sbin:/usr/bin
@@ -44,7 +45,7 @@ fi
REAL_DAEMON=sogod
DAEMON=/usr/sbin/sogod
NAME=sogo
NAME=sogod
DESC="Scalable OpenGroupware.Org (Inverse edition)"
PIDFILE=/var/run/sogo/sogod.
@@ -58,20 +59,23 @@ 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."
exit 1
fi
checkDir() {
directory="$1"
if [ ! -d "$directory" ]
then
echo "$directory does not exist."
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."
exit 1
fi
if [ `/usr/bin/stat "$directory" -c %U` != "$USER" ]
then
echo "$directory is not owned by the sogo 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."
exit 1
fi
checkDir /var/run/sogo
checkDir /var/spool/sogo
#set -e
@@ -79,22 +83,99 @@ start() {
echo $"Starting $DESC: "
for ((a=1; a <= PREFORK ; a++))
do
daemon --user=sogo $DAEMON $a
echo "$DAEMON $a"
ppid="`cat ${PIDFILE}${a} 2> /dev/null`"
if [ -n "$ppid" ]
then
ppid="`ps --pid ${ppid} -o pid=`"
if [ -n "$ppid" ]
then
echo " $DAEMON $a already running. Skipped."
else
rm -f ${PIDFILE}${a}
daemon --user="$USER" "$DAEMON" $a
echo " $DAEMON $a (stale pid file removed)"
fi
else
daemon --user="$USER" "$DAEMON" $a
echo " $DAEMON $a"
fi
done
}
stop() {
echo $"Stopping $DESC: "
/usr/bin/killall -u sogo gdnc
su "$USER" -c '/usr/bin/killall gdnc >& /dev/null'
# We kill the parent processes with SIGTERM so that they
# can exit gracefully.
for ((a=1; a <= PREFORK ; a++))
do
pid="`cat ${PIDFILE}${a}`"
ppid="`ps --ppid ${pid} -o pid=`"
kill -9 $pid
kill -9 $ppid
ppid="`cat ${PIDFILE}${a} 2> /dev/null`"
if [ -n "$ppid" ]
then
ppid="`ps --pid ${ppid} -o pid=`"
if [ -n "$ppid" ]
then
if kill $ppid >& /dev/null
then
echo " $DAEMON $a stopped"
fi
else
echo " $DAEMON $a not running"
fi
else
echo " $DAEMON $a not running"
fi
done
sleep 1
# We kill the parent and child processes with SIGKILL to make sure they
# really are shutdown, and then we remove their pidfile.
for ((a=1; a <= PREFORK ; a++))
do
ppid="`cat ${PIDFILE}${a} 2> /dev/null`"
if [ -n "$ppid" ]
then
ppid="`ps --pid ${ppid} -o pid= 2> /dev/null`"
if [ -n "$ppid" ]
then
kill -9 $ppid >& /dev/null
pid="`ps --ppid ${ppid} -o pid= 2> /dev/null`"
if [ -n "$pid" ]
then
kill -9 $pid >& /dev/null
fi
echo " $DAEMON $a killed"
fi
fi
rm -f ${PIDFILE}${a}
echo "$DAEMON $a stopped"
done
}
restart() {
echo $"Restarting $DESC: "
su "$USER" -c '/usr/bin/killall gdnc >& /dev/null'
for ((a=1; a <= PREFORK ; a++))
do
ppid="`cat ${PIDFILE}${a} 2> /dev/null`"
if [ -n "$ppid" ]
then
ppid="`ps --pid ${ppid} -o pid=`"
if [ -n "$ppid" ]
then
kill $ppid >& /dev/null
sleep 1
fi
ppid="`ps --pid ${ppid} -o pid=`"
if [ -n "$ppid" ]
then
pid="`ps --ppid ${ppid} -o pid=`"
kill -9 $ppid >& /dev/null
kill -9 $pid >& /dev/null
fi
rm -f ${PIDFILE}${a}
fi
daemon --user="$USER" "$DAEMON" $a
echo " $DAEMON $a"
done
}
@@ -106,8 +187,7 @@ case "$1" in
stop
;;
restart|force-reload)
stop
start
restart
;;
status)
status $REAL_DAEMON
@@ -107,6 +107,7 @@
inContext: (id) _ctx;
- (SOGoAppointmentFolder *) lookupCalendarFolderForUID: (NSString *) uid;
- (NSArray *) lookupCalendarFoldersForUID: (NSString *) theUID;
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
inContext: (id) _ctx;
- (NSArray *) lookupFreeBusyObjectsForUIDs: (NSArray *) _uids
@@ -2406,6 +2406,37 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
return (SOGoAppointmentFolder *) currentContainer;
}
//
// This method returns an array containing all the calendar folders
// of a specific user, excluding her/his subscriptions.
//
- (NSArray *) lookupCalendarFoldersForUID: (NSString *) theUID
{
NSArray *aFolders;
NSEnumerator *e;
NSMutableArray *aUserFolders;
SOGoAppointmentFolders *aParent;
SOGoFolder *aContainer, *aFolder;
aUserFolders = [NSMutableArray arrayWithCapacity: 16];
aContainer = [[container container] container];
aContainer = [aContainer lookupName: theUID
inContext: context
acquire: NO];
aParent = [aContainer lookupName: @"Calendar"
inContext: context
acquire: NO];
aFolders = [aParent subFolders];
e = [aFolders objectEnumerator];
while ( (aFolder = [e nextObject]) )
{
if (![aFolder isSubscription])
[aUserFolders addObject: aFolder];
}
return aUserFolders;
}
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
inContext: (id)_ctx
{
+26 -17
View File
@@ -173,28 +173,36 @@
{
SOGoAppointmentFolder *folder;
SOGoAppointmentObject *object;
NSArray *folders;
NSEnumerator *e;
NSString *possibleName;
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
folder = [container lookupCalendarFolderForUID: uid];
object = [folder lookupName: nameInContainer
inContext: context acquire: NO];
if ([object isKindOfClass: [NSException class]])
object = nil;
folders = [container lookupCalendarFoldersForUID: uid];
e = [folders objectEnumerator];
while ( object == nil && (folder = [e nextObject]) )
{
possibleName = [folder resourceNameForEventUID: eventUID];
if (possibleName)
object = [folder lookupName: nameInContainer
inContext: context
acquire: NO];
if ([object isKindOfClass: [NSException class]])
{
object = [folder lookupName: possibleName
inContext: context acquire: NO];
if ([object isKindOfClass: [NSException class]])
possibleName = [folder resourceNameForEventUID: eventUID];
if (possibleName)
{
object = [folder lookupName: possibleName
inContext: context acquire: NO];
if ([object isKindOfClass: [NSException class]])
object = nil;
}
else
object = nil;
}
else
object = nil;
}
if (!object)
{
folder = [container lookupCalendarFolderForUID: uid];
object = [SOGoAppointmentObject objectWithName: nameInContainer
inContainer: folder];
[object setIsNew: YES];
@@ -281,8 +289,9 @@
NSCalendarDate *currentId;
NSString *calendarContent;
int max, count;
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
// Invitations are always written to the personal folder; it's not necessay
// to look into all folders of the user
folder = [container lookupCalendarFolderForUID: theUID];
object = [folder lookupName: nameInContainer
inContext: context acquire: NO];
@@ -293,7 +302,7 @@
else
{
calendar = [object calendar: NO secure: NO];
// If recurrenceId is defined, remove the occurence from
// the repeating event.
occurences = [calendar events];
@@ -314,9 +323,9 @@
// Add an date exception.
event = (iCalRepeatableEntityObject*)[calendar firstChildWithTag: [object componentTag]];
[event addToExceptionDates: recurrenceId];
[event increaseSequence];
// We generate the updated iCalendar file and we save it
// in the database.
calendarContent = [calendar versitString];
@@ -1,5 +1,5 @@
<#IsSubject>The appointment "<#Summary />" for the <#OldAptStartDate /> at <#OldAptStartTime /> has changed</#IsSubject>
<#IsBody>
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /> at <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /> at <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /><#IsNotOldAllDay> at <#OldAptStartTime /></#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /><#IsNotNewAllDay> at <#NewAptStartTime /></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Please make a decision for these new settings.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -1,5 +1,5 @@
<#IsSubject>The appointment "<#Summary />" for the <#OldAptStartDate /> at <#OldAptStartTime /> has changed</#IsSubject>
<#IsBody>
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /> at <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /> at <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /><#IsNotOldAllDay> at <#OldAptStartTime /></#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /><#IsNotNewAllDay> at <#NewAptStartTime /></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Please make a decision for these new settings.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -1,5 +1,5 @@
<#IsSubject>Le rendez-vous "<#Summary />" du <#OldAptStartDate /> à <#OldAptStartTime /> est modifié</#IsSubject>
<#IsBody>
La réunion<#HasSentBy> (envoyé par <#sentBy/>)</#HasSentBy> qui devait se dérouler le <#OldAptStartDate /> à <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> est maintenant prévue le <#NewAptStartDate /> à <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
La réunion<#HasSentBy> (envoyé par <#sentBy/>)</#HasSentBy> qui devait se dérouler le <#OldAptStartDate /><#IsNotOldAllDay> à <#OldAptStartTime /></#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> est maintenant prévue le <#NewAptStartDate /><#IsNotNewAllDay> à <#NewAptStartTime /></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Vous êtes invité à accepter ou refuser de participer à la réunion pour cette nouvelle date.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -1,5 +1,5 @@
<#IsSubject>Der Termin "<#Summary />" am <#OldAptStartDate /> um <#OldAptStartTime /> hat sich geändert</#IsSubject>
<#IsBody>
Dieser Termin <#HasSentBy>(sent by <#sentBy/>)</#HasSentBy>, ursprünglich geplant am <#OldAptStartDate /> um <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation>, ist nun verschoben auf den <#NewAptStartDate /> um <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Dieser Termin <#HasSentBy>(sent by <#sentBy/>)</#HasSentBy>, ursprünglich geplant am <#OldAptStartDate /><#IsNotOldAllDay> um <#OldAptStartTime /></#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation>, ist nun verschoben auf den <#NewAptStartDate /><#IsNotNewAllDay> um <#NewAptStartTime /></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Bitte treffen Sie eine Entscheidung über diese Änderung.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -1,5 +1,5 @@
<#IsSubject>L'appuntamento "<#Summary />" fissato in data <#OldAptStartDate /> alle ore <#OldAptStartTime /> &egrave; stato modificato </#IsSubject>
<#IsBody>
Questo appuntamento<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, fissato precedentemete in data <#OldAptStartDate /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> alle ore <#OldAptStartTime /> &egrave; ora programmato il <#NewAptStartDate /> alle ore <#NewAptStartTime/><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Questo appuntamento<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, fissato precedentemete in data <#OldAptStartDate /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation><#IsNotOldAllDay> alle ore <#OldAptStartTime /></#IsNotOldAllDay> &egrave; ora programmato il <#NewAptStartDate /><#IsNotNewAllDay> alle ore <#NewAptStartTime/></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Per confermare o disdire.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -1,5 +1,5 @@
<#IsSubject>The appointment "<#Summary />" for the <#OldAptStartDate /> at <#OldAptStartTime /> has changed</#IsSubject>
<#IsBody>
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /> at <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /> at <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
This appointment<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, previously set for <#OldAptStartDate /><#IsNotOldAllDay> at <#OldAptStartTime /></#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> is now scheduled for <#NewAptStartDate /><#IsNotNewAllDay> at <#NewAptStartTime /></#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)</#HasNewLocation>.
Please make a decision for these new settings.
</#IsBody>
@@ -10,6 +10,11 @@ OldAptStartTime: WOString {
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
@@ -22,6 +27,11 @@ NewAptStartTime: WOString {
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
@@ -570,7 +570,11 @@ _occurenceHasID (iCalRepeatableEntityObject *occurence, NSString *recID)
for (i = 0; i < count; i++)
{
attendee = [attendees objectAtIndex: i];
if (![[attendee uid] isEqualToString: owner])
// Don't send a notification to the event organizer nor a deletion
// notification to an attendee who already declined the invitation.
if (![[attendee uid] isEqualToString: owner] &&
!([[attendee partStat] compare: @"DECLINED"] == NSOrderedSame &&
[newPageName compare: @"Deletion"] == NSOrderedSame))
{
/* construct recipient */
recipient = [attendee mailAddress];
+3 -1
View File
@@ -50,7 +50,7 @@
return [SOGoContactGCSFolder class];
}
- (void) appendSystemSources
- (NSException *) appendSystemSources
{
LDAPUserManager *um;
NSEnumerator *sourceIDs;
@@ -68,6 +68,8 @@
[currentFolder setLDAPSource: [um sourceWithID: currentSourceID]];
[subFolders setObject: currentFolder forKey: currentSourceID];
}
return nil;
}
- (NSString *) defaultFolderName
+8
View File
@@ -416,10 +416,18 @@ static NSLock *lock;
//
- (void) _userDefaultsHaveChanged: (NSNotification *) theNotification
{
SOGoUser *user;
SOGoUserDefaults *defaults;
NSString *uid;
uid = [[theNotification userInfo] objectForKey: @"uid"];
// When the user defaults changed, we must invalidate the
// ivar language for the user object.
user = [self userNamed: uid];
if (user)
[user invalidateLanguage];
//NSLog(@"Updating user defaults for UID: %@", uid);
defaults = (SOGoUserDefaults *)[self userDefaultsForLogin: uid];
if (defaults)
+9 -3
View File
@@ -621,9 +621,6 @@ static NSArray *childRecordFields = nil;
NSUserDefaults *ud;
NSMutableDictionary *moduleSettings;
ud = [subscribingUser userSettings];
moduleSettings = [ud objectForKey: [container nameInContainer]];
if ([owner isEqualToString: [subscribingUser login]])
{
[response setStatus: 403];
@@ -632,6 +629,15 @@ static NSArray *childRecordFields = nil;
}
else
{
ud = [subscribingUser userSettings];
moduleSettings = [ud objectForKey: [container nameInContainer]];
if (!(moduleSettings
&& [moduleSettings isKindOfClass: [NSMutableDictionary class]]))
{
moduleSettings = [NSMutableDictionary dictionary];
[ud setObject: moduleSettings forKey: [container nameInContainer]];
}
folderSubscription
= [moduleSettings objectForKey: @"SubscribedFolders"];
if (!(folderSubscription
+1 -1
View File
@@ -561,8 +561,8 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
[self _davPrivilegesFromRoles: roles]);
[currentAce addObject: currentGrant];
[aces addObject: davElementWithContent (@"ace", @"DAV:", currentAce)];
[currentAce release];
}
[currentAce release];
}
- (void) _fillAcesWithRolesForPseudoPrincipals: (NSMutableArray *) aces
+1
View File
@@ -93,6 +93,7 @@ extern NSString *SOGoWeekStartFirstFullWeek;
- (NSUserDefaults *) userDefaults;
- (NSUserDefaults *) userSettings;
- (void) invalidateLanguage;
- (NSString *) language;
- (NSTimeZone *) timeZone;
- (NSTimeZone *) serverTimeZone;
+11 -3
View File
@@ -280,6 +280,7 @@ _timeValue (NSString *key)
[allEmails release];
[currentPassword release];
[cn release];
[language release];
[super dealloc];
}
@@ -465,7 +466,7 @@ _timeValue (NSString *key)
if (values)
{
// See explanation in -language
language = nil;
[self invalidateLanguage];
// Required parameters for the Web interface. This will trigger the
// preferences to load so it's important to leave those calls here.
@@ -522,7 +523,7 @@ _timeValue (NSString *key)
if (values)
{
// See explanation in -language
language = nil;
[self invalidateLanguage];
// We propagate the loaded user settings to other sogod instances
// which will cache them in SOGoCache (including for the instance
@@ -548,6 +549,11 @@ _timeValue (NSString *key)
return (NSUserDefaults *) settings;
}
- (void) invalidateLanguage
{
DESTROY(language);
}
- (NSString *) language
{
if (![language length])
@@ -558,6 +564,8 @@ _timeValue (NSString *key)
// many times when the DB is down, causing a huge delay.
if (![language length])
language = [SOGoUser language];
[language retain];
}
return language;
@@ -740,7 +748,7 @@ _timeValue (NSString *key)
[mailAccount setObject: identities forKey: @"identities"];
mailAccounts = [NSMutableArray new];
mailAccounts = [NSMutableArray array];
[mailAccounts addObject: mailAccount];
return mailAccounts;
+19 -11
View File
@@ -21,6 +21,7 @@
*/
#import <Foundation/NSCalendarDate.h>
#import <Foundation/NSEnumerator.h>
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGObjWeb/WOResponse.h>
@@ -41,6 +42,7 @@
#import <SoObjects/Appointments/SOGoAppointmentObject.h>
#import <SoObjects/Appointments/SOGoAppointmentFolder.h>
#import <SoObjects/Mailer/SOGoMailObject.h>
#import <SoObjects/SOGo/SOGoParentFolder.h>
#import <SoObjects/SOGo/SOGoUser.h>
#import <SoObjects/SOGo/iCalEntityObject+Utilities.h>
#import <SoObjects/Mailer/SOGoMailBodyPart.h>
@@ -69,27 +71,33 @@
- (SOGoAppointmentObject *) _eventObjectWithUID: (NSString *) uid
forUser: (SOGoUser *) user
{
SOGoAppointmentFolder *personalFolder;
SOGoAppointmentFolder *folder;
SOGoAppointmentObject *eventObject;
NSArray *folders;
NSEnumerator *e;
NSString *cname;
eventObject = nil;
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
personalFolder = [user personalCalendarFolderInContext: context];
cname = [personalFolder resourceNameForEventUID: uid];
if (cname)
folders = [[user calendarsFolderInContext: context] subFolders];
e = [folders objectEnumerator];
while ( eventObject == nil && (folder = [e nextObject]) )
{
eventObject = [personalFolder lookupName: cname
inContext: context acquire: NO];
if (![eventObject isKindOfClass: [SOGoAppointmentObject class]])
eventObject = nil;
cname = [folder resourceNameForEventUID: uid];
if (cname)
{
eventObject = [folder lookupName: cname
inContext: context acquire: NO];
if (![eventObject isKindOfClass: [SOGoAppointmentObject class]])
eventObject = nil;
}
}
if (!eventObject)
{
folder = [user personalCalendarFolderInContext: context];
eventObject = [SOGoAppointmentObject objectWithName: uid
inContainer: personalFolder];
inContainer: folder];
[eventObject setIsNew: YES];
}
+36 -5
View File
@@ -164,7 +164,7 @@
return item;
}
- (NSCalendarDate *) startTime
- (NSCalendarDate *) startCalendarDate
{
NSCalendarDate *date;
NSTimeZone *timeZone;
@@ -172,11 +172,21 @@
date = [[self inEvent] startDate];
timeZone = [[context activeUser] timeZone];
[date setTimeZone: timeZone];
return date;
}
- (NSCalendarDate *) endTime
- (NSString *) startDate
{
return [[self dateFormatter] formattedDate: [self startCalendarDate]];
}
- (NSString *) startTime
{
return [[self dateFormatter] formattedTime: [self startCalendarDate]];
}
- (NSCalendarDate *) endCalendarDate
{
NSCalendarDate *date;
NSTimeZone *timeZone;
@@ -188,14 +198,35 @@
return date;
}
- (NSString *) endDate
{
NSCalendarDate *aDate;
if ([[self inEvent] isAllDay])
aDate = [[self endCalendarDate] dateByAddingYears:0 months:0 days:0 hours:0 minutes:0 seconds:-1];
else
aDate = [self endCalendarDate];
return [[self dateFormatter] formattedDate: aDate];
}
- (NSString *) endTime
{
return [[self dateFormatter] formattedTime: [self endCalendarDate]];
}
- (BOOL) isEndDateOnSameDay
{
return [[self startTime] isDateOnSameDay:[self endTime]];
NSCalendarDate *aDate;
if ([[self inEvent] isAllDay])
aDate = [[self endCalendarDate] dateByAddingYears:0 months:0 days:0 hours:0 minutes:0 seconds:-1];
else
aDate = [self endCalendarDate];
return [[self startCalendarDate] isDateOnSameDay: aDate];
}
- (NSTimeInterval) duration
{
return [[self endTime] timeIntervalSinceDate:[self startTime]];
return [[self endCalendarDate] timeIntervalSinceDate:[self startCalendarDate]];
}
/* calendar folder support */
+31 -18
View File
@@ -1,14 +1,15 @@
/*
Copyright (C) 2004-2005 SKYRIX Software AG
Copyright (C) 2006-2009 Inverse inc.
This file is part of OpenGroupware.org.
This file is part of SOGo
OGo is free software; you can redistribute it and/or modify it under
SOGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
SOGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
@@ -459,21 +460,26 @@
- (NSArray *) messages
{
NSMutableArray *unsortedMsgs;
NSMutableDictionary *map;
NSDictionary *msgs;
NSArray *uids;
NSDictionary *msgs, *msg;
NSEnumerator *msgsList;
NSMutableArray *unsortedMsgs, *sortedMsgs;
unsigned len, i, count;
NSRange r;
unsigned len, index;
if (!messages)
{
r = [self fetchBlock];
r = [self fetchBlock];
uids = [self sortedUIDs];
len = [uids count];
// only need to restrict if we have a lot
if (len > r.length)
/* only need to restrict if we have a lot */
{
uids = [uids subarrayWithRange: r];
len = [uids count];
}
// Don't assume the IMAP server return the messages in the
// same order as the specified list of UIDs (specially true for
@@ -481,17 +487,24 @@
msgs = (NSDictionary *) [[self clientObject] fetchUIDs: uids
parts: [self fetchKeys]];
unsortedMsgs = [msgs objectForKey: @"fetch"];
sortedMsgs = [NSMutableArray arrayWithCapacity: [unsortedMsgs count]];
msgsList = [unsortedMsgs objectEnumerator];
while ( (msg = [msgsList nextObject]) )
count = [unsortedMsgs count];
messages = [NSMutableArray arrayWithCapacity: count];
// We build our uid->message map from our FETCH response
map = [[NSMutableDictionary alloc] initWithCapacity: count];
for (i = 0; i < count; i++)
[map setObject: [unsortedMsgs objectAtIndex: i]
forKey: [[unsortedMsgs objectAtIndex: i] objectForKey: @"uid"]];
for (i = 0; i < len; i++)
{
index = [uids indexOfObject: [msg objectForKey: @"uid"]];
if (index < [sortedMsgs count])
[sortedMsgs insertObject: msg atIndex: index];
else
[sortedMsgs addObject: msg];
[(NSMutableArray *)messages addObject: [map objectForKey: [uids objectAtIndex: i]]];
}
messages = [[NSArray arrayWithArray: sortedMsgs] retain];
RELEASE(map);
RETAIN(messages);
}
return messages;
+1
View File
@@ -96,6 +96,7 @@ static NSArray *supportedLanguages = nil;
user = [SOGoUser userWithLogin: userName roles: nil];
[[user userDefaults] setObject: language forKey: @"Language"];
[[user userDefaults] synchronize];
[user invalidateLanguage];
}
}
else
+1 -1
View File
@@ -1,5 +1,5 @@
# Version file
SUBMINOR_VERSION:=0
SUBMINOR_VERSION:=1
# v0.9.1 requires Main v0.9.59
+1 -3
View File
@@ -90,7 +90,7 @@ static NSArray *tasksFields = nil;
endDate = nil;
ASSIGN (request, newRequest);
user = [[self context] activeUser];
dateFormatter = [user dateFormatterInContext: context];
ASSIGN (dateFormatter, [user dateFormatterInContext: context]);
ASSIGN (userTimeZone, [user timeZone]);
dayBasedView = NO;
}
@@ -103,8 +103,6 @@ static NSArray *tasksFields = nil;
[dateFormatter release];
[request release];
[componentsData release];
[startDate release];
[endDate release];
[userTimeZone release];
[super dealloc];
}
+6 -11
View File
@@ -40,9 +40,6 @@
#import <Appointments/SOGoAppointmentFolder.h>
static NSMutableArray *monthMenuItems = nil;
static NSMutableArray *yearMenuItems = nil;
@implementation UIxCalMainView
- (void) _setupContext
@@ -60,24 +57,22 @@ static NSMutableArray *yearMenuItems = nil;
moduleSettings = [ud objectForKey: module];
if (!moduleSettings)
{
moduleSettings = [NSMutableDictionary new];
[moduleSettings autorelease];
moduleSettings = [NSMutableDictionary dictionary];
[ud setObject: moduleSettings forKey: module];
}
[ud setObject: moduleSettings forKey: module];
}
- (NSArray *) monthMenuItems
{
static NSMutableArray *monthMenuItems = nil;
unsigned int count;
if (!monthMenuItems)
{
monthMenuItems = [NSMutableArray arrayWithCapacity: 12];
monthMenuItems = [[NSMutableArray alloc] initWithCapacity: 12];
for (count = 1; count < 13; count++)
[monthMenuItems addObject:
[NSString stringWithFormat: @"%.2d", count]];
[monthMenuItems retain];
}
return monthMenuItems;
@@ -100,15 +95,15 @@ static NSMutableArray *yearMenuItems = nil;
- (NSArray *) yearMenuItems
{
static NSMutableArray *yearMenuItems = nil;
int count, year;
if (!yearMenuItems)
{
year = [[NSCalendarDate date] yearOfCommonEra];
yearMenuItems = [NSMutableArray arrayWithCapacity: 11];
yearMenuItems = [[NSMutableArray alloc] initWithCapacity: 11];
for (count = -5; count < 6; count++)
[yearMenuItems addObject: [NSNumber numberWithInt: year + count]];
[yearMenuItems retain];
}
return yearMenuItems;
+81 -60
View File
@@ -94,16 +94,18 @@ iRANGE(2);
- (id) init
{
UIxDatePicker *datePicker;
if ((self = [super init]))
{
UIxDatePicker *datePicker;
// We must instanciate a UIxDatePicker object to retrieve
// the proper date format to use.
datePicker = [[UIxDatePicker alloc] initWithContext: context];
dateFormat = [datePicker dateFormat];
[datePicker release];
component = nil;
componentCalendar = nil;
[self setPrivacy: @"PUBLIC"];
[self setIsCycleEndNever];
componentOwner = @"";
@@ -126,8 +128,6 @@ iRANGE(2);
repeat7 = nil;
range1 = nil;
range2 = nil;
[datePicker release];
}
return self;
@@ -166,8 +166,9 @@ iRANGE(2);
[repeat7 release];
[range1 release];
[range2 release];
[component release];
[componentCalendar release];
[super dealloc];
}
@@ -180,10 +181,10 @@ iRANGE(2);
NSString *uid;
LDAPUserManager *um;
names = [NSMutableString new];
uids = [NSMutableString new];
emails = [NSMutableString new];
states = [NSMutableString new];
names = [NSMutableString string];
uids = [NSMutableString string];
emails = [NSMutableString string];
states = [NSMutableString string];
um = [LDAPUserManager sharedUserManager];
attendees = [[component attendees] objectEnumerator];
@@ -193,7 +194,7 @@ iRANGE(2);
[names appendFormat: @"%@,", [currentAttendee cn]];
else
[names appendFormat: @"%@,", [currentAttendee rfc822Email]];
[emails appendFormat: @"%@,", [currentAttendee rfc822Email]];
uid = [um getUIDForEmail: [currentAttendee rfc822Email]];
if (uid != nil)
@@ -212,9 +213,6 @@ iRANGE(2);
[emails substringToIndex: [emails length] - 1]);
ASSIGN (attendeesStates, [states substringToIndex: [states length] - 1]);
}
[names release];
[emails release];
}
- (void) _loadCategories
@@ -364,7 +362,12 @@ iRANGE(2);
[self setRange1: @"0"];
}
else
DESTROY(repeat);
{
DESTROY(repeat);
repeatType = @"0";
repeat1 = @"0";
repeat2 = @"1";
}
}
/* warning: we use this method which will be triggered by the template system
@@ -397,7 +400,7 @@ iRANGE(2);
[self _loadAttendees];
[self _loadRRules];
[componentCalendar release];
[componentCalendar release];
componentCalendar = [co container];
if ([componentCalendar isKindOfClass: [SOGoCalendarComponent class]])
componentCalendar = [componentCalendar container];
@@ -1435,19 +1438,22 @@ RANGE(2);
//
case 0:
{
[theRule setFrequency: iCalRecurrenceFrequenceDaily];
if ([[self repeat2] intValue] > 0)
{
[theRule setFrequency: iCalRecurrenceFrequenceDaily];
if ([[self repeat1] intValue] == 0)
{
[theRule setInterval: [self repeat2]];
}
else
{
[theRule setByDayMask: (iCalWeekDayMonday
|iCalWeekDayTuesday
|iCalWeekDayWednesday
|iCalWeekDayThursday
|iCalWeekDayFriday)];
if ([[self repeat1] intValue] == 0)
{
[theRule setInterval: [self repeat2]];
}
else
{
[theRule setByDayMask: (iCalWeekDayMonday
|iCalWeekDayTuesday
|iCalWeekDayWednesday
|iCalWeekDayThursday
|iCalWeekDayFriday)];
}
}
}
break;
@@ -1462,20 +1468,23 @@ RANGE(2);
// The list is separated by commas, like: 1,3,4
case 1:
{
NSArray *v;
int c, mask;
if ([[self repeat1] intValue] > 0)
{
NSArray *v;
int c, mask;
[theRule setFrequency: iCalRecurrenceFrequenceWeekly];
[theRule setInterval: [self repeat1]];
[theRule setFrequency: iCalRecurrenceFrequenceWeekly];
[theRule setInterval: [self repeat1]];
v = [[self repeat2] componentsSeparatedByString: @","];
c = [v count];
mask = 0;
v = [[self repeat2] componentsSeparatedByString: @","];
c = [v count];
mask = 0;
while (c--)
mask |= 1 << ([[v objectAtIndex: c] intValue]);
while (c--)
mask |= 1 << ([[v objectAtIndex: c] intValue]);
[theRule setByDayMask: mask];
[theRule setByDayMask: mask];
}
}
break;
@@ -1501,17 +1510,21 @@ RANGE(2);
//
case 2:
{
[theRule setFrequency: iCalRecurrenceFrequenceMonthly];
[theRule setInterval: [self repeat1]];
if ([[self repeat1] intValue] > 0)
{
[theRule setFrequency: iCalRecurrenceFrequenceMonthly];
[theRule setInterval: [self repeat1]];
// We recur on specific days...
if ([[self repeat2] intValue] == 1)
{
[theRule setNamedValue: @"bymonthday" to: [self repeat5]];
}
else
{
// TODO
// We recur on specific days...
if ([[self repeat2] intValue] == 1
&& [[self repeat5] intValue] > 0)
{
[theRule setNamedValue: @"bymonthday" to: [self repeat5]];
}
else
{
// TODO
}
}
}
break;
@@ -1535,19 +1548,27 @@ RANGE(2);
case 3:
default:
{
[theRule setFrequency: iCalRecurrenceFrequenceYearly];
[theRule setInterval: [self repeat1]];
if ([[self repeat1] intValue] > 0)
{
[theRule setFrequency: iCalRecurrenceFrequenceYearly];
[theRule setInterval: [self repeat1]];
// We recur Every .. of ..
if ([[self repeat2] intValue] == 1)
{
// TODO
}
else
{
[theRule setNamedValue: @"bymonthday" to: [self repeat3]];
[theRule setNamedValue: @"bymonth"
to: [NSString stringWithFormat: @"%d", ([[self repeat4] intValue]+1)]];
// We recur Every .. of ..
if ([[self repeat2] intValue] == 1)
{
// TODO
}
else
{
if ([[self repeat3] intValue] > 0
&& [[self repeat4] intValue] > 0)
{
[theRule setNamedValue: @"bymonthday"
to: [self repeat3]];
[theRule setNamedValue: @"bymonth"
to: [NSString stringWithFormat: @"%d", ([[self repeat4] intValue]+1)]];
}
}
}
}
break;
+1 -8
View File
@@ -29,13 +29,6 @@
@implementation UIxRecurrenceEditor
- (id) defaultAction
{
[[self parent] setToolbar: @""];
return self;
}
- (NSArray *) monthlyRepeatList
{
static NSArray *monthlyRepeatList = nil;
@@ -43,7 +36,7 @@
if (!monthlyRepeatList)
{
monthlyRepeatList = [NSArray arrayWithObjects: @"First", @"Second", @"Third",
@"Fourth", @"Fift", @"Last", nil];
@"Fourth", @"Fift", @"Last", nil];
[monthlyRepeatList retain];
}
@@ -167,9 +167,23 @@
<td><var:string label:value="Time"/>:</td>
<td>
<!-- TODO: we need a better viewer for that -->
<var:string value="startTime" formatter="dateFormatter" />
<var:string label:value="to" />
<var:string value="endTime" formatter="dateFormatter" />
<var:string value="startDate" />
<var:if condition="inEvent.isAllDay" const:negate="YES">
<var:string value="startTime" />
</var:if>
<var:if condition="isEndDateOnSameDay">
<var:if condition="inEvent.isAllDay" const:negate="YES">
<var:string label:value="to" />
<var:string value="endTime" />
</var:if>
</var:if>
<var:if condition="isEndDateOnSameDay" const:negate="YES">
<var:string label:value="to" />
<var:string value="endDate" />
<var:if condition="inEvent.isAllDay" const:negate="YES">
<var:string value="endTime" />
</var:if>
</var:if>
</td>
</tr>
+1 -1
View File
@@ -2,7 +2,7 @@
include ../common.make
WEBSERVER_RESOURCE_FILES = $(shell ls *css *ico *js *.jpg *gif *png *html *txt)
WEBSERVER_RESOURCE_FILES = $(shell ls *css *ico *js *gif *png *html *txt)
all ::
+68 -23
View File
@@ -86,10 +86,20 @@ function initializeFormValues() {
$("repeatType").value = repeatType;
// Default values
var startTimeDate = parent$("startTime_date").value.asDate();
$('yearlyDayField').value = startTimeDate.getDate();
$('yearlyMonth1').value = startTimeDate.getMonth();
$("weekDay"+startTimeDate.getDay()).addClassName("_selected");
$("monthDay"+startTimeDate.getDate()).addClassName("_selected");
$('recurrence_form').setRadioValue('dailyRadioButtonName', 0);
$('recurrence_form').setRadioValue('monthlyRadioButtonName', 0);
$('recurrence_form').setRadioValue('monthlyRadioButtonName', 1);
$('recurrence_form').setRadioValue('yearlyRadioButtonName', 0);
$('endDate_date').disabled = true;
$('dailyDaysField').value = "1";
$('weeklyWeeksField').value = "1";
$('monthlyMonthsField').value = "1";
$('yearlyYearsField').value = "1";
if (repeatType == 0) {
// Repeat daily
@@ -101,6 +111,9 @@ function initializeFormValues() {
$('weeklyWeeksField').value = parent$("repeat1").value;
// log ("div: " + weekDiv);
// log ("days: " + parent$("repeat2").value);
for (var i = 0; i < 7; i++) {
$("weekDay" + i).removeClassName("_selected");
}
var days = "" + parent$("repeat2").value;
if (days.length > 0) {
var daysArray = days.split(",");
@@ -116,6 +129,10 @@ function initializeFormValues() {
$('monthlyRepeat').value = parent$("repeat3").value;
$('monthlyDay').value = parent$("repeat4").value;
var days = "" + parent$("repeat5").value;
for (var i = 0; i < 31; i++) {
$("monthDay" + (i + 1)).removeClassName("_selected");
}
if (days.length > 0) {
var daysArray = days.split(",");
daysArray.each(function(index) {
@@ -253,37 +270,65 @@ function handleMonthlyRecurrence() {
return validate;
}
function validateYearlyRecurrence() {
var errors = ["Please specify a numerical value in the Year(s)"
+ " field greater or equal to 1.",
"Please specify a numerical value in the month day"
+ " field greater or equal to 1."];
var errorToShow = 0;
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = 1;
fieldValue = "" + $('yearlyDayField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = -1;
}
}
}
}
if (errorToShow > -1)
window.alert(errors[errorToShow]);
return (errorToShow == -1);
}
function handleYearlyRecurrence() {
var validate = false;
var radioValue = $('recurrence_form').getRadioValue('yearlyRadioButtonName');
// FIXME - right now we do not support rules
// such as Every Second Tuesday of February
if (radioValue == 1)
window.alert("This type of recurrence is currently unsupported.");
else {
var showError = true;
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
parent$("repeat3").value = $('yearlyDayField').value;
parent$("repeat4").value = $('yearlyMonth1').value;
parent$("repeat5").value = $('yearlyRepeat').value;
parent$("repeat6").value = $('yearlyDay').value;
parent$("repeat7").value = $('yearlyMonth2').value;
}
}
if (showError)
window.alert("Please specify a numerical value in the Year(s) field greater or equal to 1.");
if (validateYearlyRecurrence()) {
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
parent$("repeat3").value = $('yearlyDayField').value;
parent$("repeat4").value = $('yearlyMonth1').value;
parent$("repeat5").value = $('yearlyRepeat').value;
parent$("repeat6").value = $('yearlyDay').value;
parent$("repeat7").value = $('yearlyMonth2').value;
}
}
}
else
validate = false;
}
return validate;
+1
View File
@@ -1461,6 +1461,7 @@ function configureSortableTableHeaders(table) {
var headers = $(table).getElementsByClassName("sortableTableHeader");
for (var i = 0; i < headers.length; i++) {
var header = $(headers[i]);
header.stopObserving("click", onHeaderClick);
header.observe("click", onHeaderClick);
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

+6 -5
View File
@@ -97,9 +97,7 @@ rm -fr ${RPM_BUILD_ROOT}
# ****************************** build ********************************
%build
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
./configure \
--enable-strip \
--disable-debug
./configure
case %{_target_platform} in
ppc64-*)
@@ -222,8 +220,11 @@ if ! id sogo >& /dev/null; then /usr/sbin/adduser sogo > /dev/null 2>&1; fi
/sbin/chkconfig --add sogod
%preun
/sbin/chkconfig --del sogod
/sbin/service sogod stop > /dev/null 2>&1
if [ "$1" == "0" ]
then
/sbin/chkconfig --del sogod
/sbin/service sogod stop > /dev/null 2>&1
fi
%postun
if test "$1" = "0"