mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-16 17:05:25 +00:00
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:
@@ -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>
|
||||
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -57,7 +57,6 @@
|
||||
|
||||
- (id)initWithPropertyList:(id)_plist;
|
||||
- (id)initWithContentsOfFile:(NSString *)_path;
|
||||
- (id)initWithFolderTypeName:(NSString *)_typeName;
|
||||
|
||||
/* operations */
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
@@ -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
@@ -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
@@ -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
|
||||
{
|
||||
|
||||
@@ -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 /> è stato modificato </#IsSubject>
|
||||
<#IsBody>
|
||||
Questo appuntamento<#HasSentBy> (sent by <#sentBy/>)</#HasSentBy>, fissato precedentemete in data <#OldAptStartDate /><#HasOldLocation> (<#OldAptLocation />)</#HasOldLocation> alle ore <#OldAptStartTime /> è 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> è 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];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -93,6 +93,7 @@ extern NSString *SOGoWeekStartFirstFullWeek;
|
||||
- (NSUserDefaults *) userDefaults;
|
||||
- (NSUserDefaults *) userSettings;
|
||||
|
||||
- (void) invalidateLanguage;
|
||||
- (NSString *) language;
|
||||
- (NSTimeZone *) timeZone;
|
||||
- (NSTimeZone *) serverTimeZone;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -1,5 +1,5 @@
|
||||
# Version file
|
||||
|
||||
SUBMINOR_VERSION:=0
|
||||
SUBMINOR_VERSION:=1
|
||||
|
||||
# v0.9.1 requires Main v0.9.59
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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 ::
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user