From eed6edbbc42e5f01ae105f13e5cfc72d79644172 Mon Sep 17 00:00:00 2001 From: helge Date: Mon, 1 Aug 2005 12:24:29 +0000 Subject: [PATCH] cleaned up bundle sources after copy git-svn-id: http://svn.opengroupware.org/SOGo/trunk@928 d1b88da0-ebda-0310-925b-ed51d893ca5b --- UI/MainUI/ChangeLog | 205 +---------------------- UI/MainUI/GNUmakefile | 23 +-- UI/MainUI/GNUmakefile.preamble | 34 ---- UI/MainUI/SOGo.m | 297 --------------------------------- UI/MainUI/SOGoProductLoader.h | 44 ----- UI/MainUI/SOGoProductLoader.m | 174 ------------------- UI/MainUI/SOGoRootPage.m | 2 +- UI/MainUI/TODO | 1 - UI/MainUI/Version | 6 +- UI/MainUI/product.plist | 6 +- UI/MainUI/sogod.m | 38 ----- 11 files changed, 11 insertions(+), 819 deletions(-) delete mode 100644 UI/MainUI/SOGo.m delete mode 100644 UI/MainUI/SOGoProductLoader.h delete mode 100644 UI/MainUI/SOGoProductLoader.m delete mode 100644 UI/MainUI/TODO delete mode 100644 UI/MainUI/sogod.m diff --git a/UI/MainUI/ChangeLog b/UI/MainUI/ChangeLog index 10f55760..4eb70344 100644 --- a/UI/MainUI/ChangeLog +++ b/UI/MainUI/ChangeLog @@ -1,205 +1,4 @@ -2005-07-21 Helge Hess +2005-08-01 Helge Hess - * product.plist: protect homepage using SOPE access control (v0.9.38) + * created UI/MainUI product bundle from sources in Main (v0.9.1) - * SOGoRootPage.m: redirect authenticated users to their login page - (v0.9.37) - -2005-07-21 Marcus Mueller - - * homepage.js: fixed post to send an empty string instead of null - - this works in Firefox on MacOSX but fails on Windows (v0.9.36) - -2005-07-20 Marcus Mueller - - * v0.9.35 - - * README: updated with new default description - - * SOGoUserHomePage.wox: in case user is not authorized to change the - internet access flag, the rendered text is different now - - * English.lproj/Localizable.strings: provide new label for case that - user is not allowed to change internet access - -2005-07-15 Helge Hess - - * GNUmakefile.preamble: fixed Cocoa compilation (v0.9.34) - -2005-07-14 Helge Hess - - * moved SOGoUser and SOGoAuthenticator to libSOGo (v0.9.33) - -2005-07-14 Marcus Mueller - - * SOGoUserHomePage.m: vacation message state is now properly being - retrieved from AgenorUserManager (v0.9.32) - - * v0.9.31 - - * SOGoUserHomePage.[m, wox]: added internet access lock - display/modification and vacation state (currently only faked) - - * homepage.js: JavaScript in use on the homepage - - * English.lproj/Localizable.strings: removed old labels and added a - bunch of new labels - -2005-07-12 Helge Hess - - * v0.9.30 - - * SOGoAuthenticator.m: create SOGoUser objects - - * added 'SOGoUser' object/class as a subclass of SoUser, using this - object various Agenor properties like cn or email can be determined - (will use the AgenorUserManager to retrieve such) - -2005-07-08 Marcus Mueller - - * README: updated for new default 'SOGoAllowsUnrestrictedAccess' - -2005-07-05 Marcus Mueller - - * v0.9.29 - - * README: updated defaults documentation - - * SOGo.m: added new default 'SOGoEnableDoubleReleaseCheck' for - debugging of NSAutoreleasePool issues - -2005-03-28 Helge Hess - - * SOGoProductLoader.m: do not try to load directories without - extensions (v0.9.28) - -2005-03-23 Marcus Mueller - - * renamed "default.strings" to "Localizable.strings" (v0.9.27) - -2005-02-21 Helge Hess - - * GNUmakefile: properly install bundle in FHS (v0.9.26) - -2005-02-20 Helge Hess - - * SOGoProductLoader.m: fixed product loader for FHS and Cocoa (0.9.25) - -2005-02-17 Helge Hess - - * SOGo.m: added a proper application 'name' for the WEResourceManager, - use WEResourceManager per default (v0.9.24) - -2005-02-12 Marcus Mueller - - * SOGo.m: corrected incorrect use of logging (v0.9.23) - -2005-02-10 Helge Hess - - * GNUmakefile.preamble: fixed linking on MacOSX (v0.9.22) - - * v0.9.21 - - * SOGoProductLoader.m: perform properly versioned plugin lookups (load - bundles from Library/SOGo-0.9 instead of Library/SOGo) - - * sogod is now a tool, not a .woa anymore - - * SOGo.m: minor cleanup in locale code, removed some dead code - (v0.9.20) - - * GNUmakefile: some support for tool compilation (does not work yet) - - * sogod.m: moved application class to own file, started to work on - daemon/product separation (v0.9.19) - -2004-01-07 Marcus Mueller - - * {English/French}.lproj/default.strings: changed encoding from - ISO-Latin-1 to UTF-8, which is now the default (v0.9.18) - -2004-12-15 Marcus Mueller - - * SOGoUserHomePage.m: added defaultAction to redirect to - "Calendar/" (v0.9.17) - -2004-12-08 Marcus Mueller - - * SOGoProductLoader.m, sogod.m: changed to use NGLogging (v0.9.16) - -2004-10-19 Marcus Mueller - - * SOGoUserHomePage.[wox|m]: changed hrefs to be computed dynamically - instead of being static (v0.9.15) - -2004-10-18 Marcus Mueller - - * v0.9.14 - - * SOGoUserHomePage.wox: Changed label for "eMail" to "Mail" for - consistency - - * *.lproj/default.strings: added label "Mail" - -2004-09-26 Helge Hess - - * sogod.m: return 404 for favicon.ico queries (v0.9.13) - - * fixed title bindings to const: in .wox (should be label:?) (v0.9.12) - -2004-09-25 Helge Hess - - * sogod.m: fixed a compile warning on OSX (v0.9.11) - -2004-09-20 Helge Hess - - * SOGoUserHomePage.wox: added link to Mail (v0.9.10) - -2004-08-27 Marcus Mueller - - * v0.9.9 - - * English.lproj/default.strings, French.lproj/default.strings: - dictionaries for labels - - * SOGoUserHomePage.wox: replaced constant strings with labels - -2004-08-26 Helge Hess - - * GNUmakefile.preamble: fixed superflous libjs (v0.9.8) - -2004-08-11 Helge Hess - - * added SOGoGroupPage and SOGoGroupsPage (default views for the group - folders) (v0.9.7) - - * sogod.m: do not set SoRootURL manually (v0.9.6) - -2004-08-10 Marcus Mueller - - * French.lproj/Locale: minor changes to capitalization (v0.9.5) - -2004-07-27 Marcus Mueller - - * sogod.m: added static SoRootURL to context (v0.9.4) - -2004-07-19 Marcus Mueller - - * sogod.m, */Locale: converted to UTF-8 for better editability (v0.9.3) - -2004-07-19 Marcus Mueller - - * v0.9.2 - - * sogod.m: added localization methods. Current locale is put into - WOContext upon first request. All locales are cached in the - application object. - - * [English,French].lproj: created. Put appropriate Locale - representations here. - - * GNUmakefile: added LANGUAGES and LOCALIZED_RESOURCES. - - * SOGoRootPage.wox: some debug code (for locales). - - * created ChangeLog. diff --git a/UI/MainUI/GNUmakefile b/UI/MainUI/GNUmakefile index 8cbc220c..9b48c556 100644 --- a/UI/MainUI/GNUmakefile +++ b/UI/MainUI/GNUmakefile @@ -1,24 +1,8 @@ # GNUstep makefile --include ../config.make -include $(GNUSTEP_MAKEFILES)/common.make -include ../Version -include ./Version +-include ../common.make -SOGOD = sogod-$(MAJOR_VERSION).$(MINOR_VERSION) -TOOL_NAME = $(SOGOD) -BUNDLE_NAME = MainUI -BUNDLE_EXTENSION = .SOGo -BUNDLE_INSTALL_DIR = $(GNUSTEP_USER_ROOT)/Library/SOGo-$(MAJOR_VERSION).$(MINOR_VERSION) - -# daemon tool - -$(SOGOD)_OBJC_FILES += \ - sogod.m \ - SOGo.m \ - SOGoProductLoader.m \ - -# product +BUNDLE_NAME = MainUI MainUI_PRINCIPAL_CLASS = MainUIProduct @@ -47,6 +31,5 @@ MainUI_LOCALIZED_RESOURCE_FILES += \ -include GNUmakefile.preamble include $(GNUSTEP_MAKEFILES)/bundle.make -include $(GNUSTEP_MAKEFILES)/tool.make -include GNUmakefile.postamble -include ../fhsbundle.make +include ../../fhsbundle.make diff --git a/UI/MainUI/GNUmakefile.preamble b/UI/MainUI/GNUmakefile.preamble index dc434140..1f7acaf9 100644 --- a/UI/MainUI/GNUmakefile.preamble +++ b/UI/MainUI/GNUmakefile.preamble @@ -4,37 +4,3 @@ ADDITIONAL_CPPFLAGS += \ -DSOGO_MAJOR_VERSION=$(MAJOR_VERSION) \ -DSOGO_MINOR_VERSION=$(MINOR_VERSION) \ -DSOGO_SUBMINOR_VERSION=$(SUBMINOR_VERSION) - -ADDITIONAL_INCLUDE_DIRS += \ - -I../SoObjects/ \ - -I../.. - -ADDITIONAL_LIB_DIRS += \ - -L../SoObjects/SOGo/$(GNUSTEP_OBJ_DIR)/ \ - -L../OGoContentStore/$(GNUSTEP_OBJ_DIR)/ - -SYSTEM_LIB_DIR += -L/usr/local/lib -L/usr/lib - -MainUI_BUNDLE_LIBS += \ - -lSOGo \ - -lOGoContentStore \ - -lGDLContentStore \ - -lGDLAccess \ - -lNGiCal \ - -lNGObjWeb \ - -lNGMime -lNGLdap \ - -lNGStreams -lNGExtensions -lEOControl \ - -lDOM -lXmlRpc -lSaxObjC - - -$(SOGOD)_TOOL_LIBS += \ - -lSOGo \ - -lOGoContentStore \ - -lGDLContentStore \ - -lGDLAccess \ - -lWEExtensions \ - -lNGiCal \ - -lNGObjWeb \ - -lNGMime -lNGLdap \ - -lNGStreams -lNGExtensions -lEOControl \ - -lDOM -lXmlRpc -lSaxObjC diff --git a/UI/MainUI/SOGo.m b/UI/MainUI/SOGo.m deleted file mode 100644 index d68e81ad..00000000 --- a/UI/MainUI/SOGo.m +++ /dev/null @@ -1,297 +0,0 @@ -/* - Copyright (C) 2004-2005 SKYRIX Software AG - - This file is part of OpenGroupware.org. - - OGo 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 - 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 OGo; see the file COPYING. If not, write to the - Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. -*/ - -#include - -@interface SOGo : SoApplication -{ - NSMutableDictionary *localeLUT; -} - -- (NSDictionary *)currentLocaleConsideringLanguages:(NSArray *)_langs; -- (NSDictionary *)localeForLanguageNamed:(NSString *)_name; - -@end - -#include "SOGoProductLoader.h" -#include -#include -#include -#include "common.h" - -@implementation SOGo - -static unsigned int vMemSizeLimit = 0; -static BOOL doCrashOnSessionCreate = NO; - -+ (void)initialize { - NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; - id tmp; - - doCrashOnSessionCreate = [ud boolForKey:@"SOGoCrashOnSessionCreate"]; - - /* vMem size check - default is 200MB */ - - tmp = [ud objectForKey:@"SxVMemLimit"]; - vMemSizeLimit = (tmp != nil) - ? [tmp intValue] - : 200; - if (vMemSizeLimit > 0) { - NSLog(@"Note: vmem size check enabled: shutting down app when " - @"vmem > %d MB", vMemSizeLimit); - } -#if LIB_FOUNDATION_LIBRARY - if ([ud boolForKey:@"SOGoEnableDoubleReleaseCheck"]) - [NSAutoreleasePool enableDoubleReleaseCheck:YES]; -#endif -} - -- (id)init { - if ((self = [super init])) { - WOResourceManager *rm; - - self->localeLUT = [[NSMutableDictionary alloc] initWithCapacity:2]; - [[SOGoProductLoader productLoader] loadProducts]; - - rm = [[WEResourceManager alloc] init]; - [self setResourceManager:rm]; - } - return self; -} - -- (void)dealloc { - [self->localeLUT release]; - [super dealloc]; -} - -/* authenticator */ - -- (id)authenticatorInContext:(WOContext *)_ctx { - return [SOGoAuthenticator sharedSOGoAuthenticator]; -} - -/* name lookup */ - -- (BOOL)isUserName:(NSString *)_key inContext:(id)_ctx { - if ([_key length] < 1) - return NO; - - if (isdigit([_key characterAtIndex:0])) - return NO; - - return YES; -} - -- (id)lookupUser:(NSString *)_key inContext:(id)_ctx { - return [[[NSClassFromString(@"SOGoUserFolder") alloc] - initWithName:_key inContainer:self] autorelease]; -} - -- (void)_setupLocaleInContext:(WOContext *)_ctx { - NSArray *langs; - NSDictionary *locale; - - if ([[_ctx valueForKey:@"locale"] isNotNull]) - return; - - langs = [[(WOContext *)_ctx request] browserLanguages]; - locale = [self currentLocaleConsideringLanguages:langs]; - [_ctx takeValue:locale forKey:@"locale"]; -} - -- (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag { - id obj; - - /* put locale info into the context in case it's not there */ - [self _setupLocaleInContext:_ctx]; - - /* first check attributes directly bound to the application */ - if ((obj = [super lookupName:_key inContext:_ctx acquire:_flag])) - return obj; - - /* - The problem is, that at this point we still get request for resources, - eg 'favicon.ico'. - - Addition: we also get queries for various other methods, like "GET" if - no method was provided in the query path. - */ - - if ([_key isEqualToString:@"favicon.ico"]) - return nil; - - if ([self isUserName:_key inContext:_ctx]) - return [self lookupUser:_key inContext:_ctx]; - - return nil; -} - -/* WebDAV */ - -- (NSString *)davDisplayName { - /* this is used in the UI, eg in the navigation */ - return @"SOGo"; -} - -/* exception handling */ - -- (WOResponse *)handleException:(NSException *)_exc - inContext:(WOContext *)_ctx -{ - printf("EXCEPTION: %s\n", [[_exc description] cString]); - abort(); -} - -/* runtime maintenance */ - -- (void)checkIfDaemonHasToBeShutdown { - unsigned int limit, vmem; - - if ((limit = vMemSizeLimit) == 0) - return; - - vmem = [[NSProcessInfo processInfo] virtualMemorySize]/1048576; - - if (vmem > limit) { - [self logWithFormat: - @"terminating app, vMem size limit (%d MB) has been reached" - @" (currently %d MB)", - limit, vmem]; - [self terminate]; - } -} - -- (WOResponse *)dispatchRequest:(WORequest *)_request { - static NSArray *runLoopModes = nil; - WOResponse *resp; - - resp = [super dispatchRequest:_request]; - - if ([self isTerminating]) - return resp; - - if (runLoopModes == nil) - runLoopModes = [[NSArray alloc] initWithObjects:NSDefaultRunLoopMode, nil]; - - // TODO: a bit complicated? (-perform:afterDelay: doesn't work?) - [[NSRunLoop currentRunLoop] performSelector: - @selector(checkIfDaemonHasToBeShutdown) - target:self argument:nil - order:1 modes:runLoopModes]; - return resp; -} - -/* session management */ - -- (WOSession *)createSessionForRequest:(WORequest *)_request { - [self warnWithFormat:@"session creation requested!"]; - if (doCrashOnSessionCreate) - abort(); - return [super createSessionForRequest:_request]; -} - -/* localization */ - -- (NSDictionary *)currentLocaleConsideringLanguages:(NSArray *)_langs { - unsigned i, count; - - /* assume _langs is ordered by priority */ - count = [_langs count]; - for (i = 0; i < count; i++) { - NSString *lname; - NSDictionary *locale; - - lname = [_langs objectAtIndex:i]; - locale = [self localeForLanguageNamed:lname]; - if (locale != nil) - return locale; - } - /* no appropriate language, fallback to default */ - return [self localeForLanguageNamed:@"English"]; -} - -- (NSString *)pathToLocaleForLanguageNamed:(NSString *)_name { - static Class MainProduct = Nil; - NSString *lpath; - - lpath = [[self resourceManager] pathForResourceNamed:@"Locale" - inFramework:nil - languages:[NSArray arrayWithObject:_name]]; - if ([lpath isNotNull]) - return lpath; - - if (MainProduct == Nil) { - if ((MainProduct = NSClassFromString(@"MainUIProduct")) == Nil) - [self errorWithFormat:@"did not find MainUIProduct class!"]; - } - - lpath = [(id)MainProduct pathToLocaleForLanguageNamed:_name]; - if ([lpath isNotNull]) - return lpath; - - return nil; -} - -- (NSDictionary *)localeForLanguageNamed:(NSString *)_name { - NSString *lpath; - id data; - NSDictionary *locale; - - if (![_name isNotNull]) { - [self errorWithFormat:@"%s: name parameter must not be nil!", - __PRETTY_FUNCTION__]; - return nil; - } - - if ((locale = [self->localeLUT objectForKey:_name]) != nil) - return locale; - - if ((lpath = [self pathToLocaleForLanguageNamed:_name]) == nil) { - [self errorWithFormat:@"did not find Locale for language: %@", _name]; - return nil; - } - - if ((data = [NSData dataWithContentsOfFile:lpath]) == nil) { - [self logWithFormat:@"%s didn't find locale with name:%@", - __PRETTY_FUNCTION__, - _name]; - return nil; - } - data = [[[NSString alloc] initWithData:data - encoding:NSUTF8StringEncoding] autorelease]; - locale = [data propertyList]; - if (locale == nil) { - [self logWithFormat:@"%s couldn't load locale with name:%@", - __PRETTY_FUNCTION__, - _name]; - return nil; - } - [self->localeLUT setObject:locale forKey:_name]; - return locale; -} - -/* name (used by the WEResourceManager) */ - -- (NSString *)name { - return @"SOGo-0.9"; -} - -@end /* SOGo */ diff --git a/UI/MainUI/SOGoProductLoader.h b/UI/MainUI/SOGoProductLoader.h deleted file mode 100644 index f5941672..00000000 --- a/UI/MainUI/SOGoProductLoader.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2004 SKYRIX Software AG - - This file is part of OpenGroupware.org. - - OGo 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 - 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 OGo; see the file COPYING. If not, write to the - Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. -*/ -// $Id$ - -#ifndef __Main_SOGoProductLoader_H__ -#define __Main_SOGoProductLoader_H__ - -#import - -@class NSString, NSArray; - -@interface SOGoProductLoader : NSObject -{ - NSString *productDirectoryName; - NSArray *searchPathes; -} - -+ (id)productLoader; - -/* operations */ - -- (void)loadProducts; - -@end - -#endif /* __Main_SOGoProductLoader_H__ */ diff --git a/UI/MainUI/SOGoProductLoader.m b/UI/MainUI/SOGoProductLoader.m deleted file mode 100644 index 2d994ea2..00000000 --- a/UI/MainUI/SOGoProductLoader.m +++ /dev/null @@ -1,174 +0,0 @@ -/* - Copyright (C) 2004-2005 SKYRIX Software AG - - This file is part of OpenGroupware.org. - - OGo 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 - 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 OGo; see the file COPYING. If not, write to the - Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. -*/ - -#include "SOGoProductLoader.h" -#include "common.h" - -@implementation SOGoProductLoader - -+ (int)sogoMajorVersion { - return SOGO_MAJOR_VERSION; -} -+ (int)sogoMinorVersion { - return SOGO_MINOR_VERSION; -} - -+ (id)productLoader { - return [[[self alloc] init] autorelease]; -} - -- (id)init { - if ((self = [super init])) { - self->productDirectoryName = - [[NSString alloc] initWithFormat:@"SOGo-%i.%i", - [[self class] sogoMajorVersion], - [[self class] sogoMinorVersion]]; - } - return self; -} - -- (void)dealloc { - [self->productDirectoryName release]; - [self->searchPathes release]; - [super dealloc]; -} - -/* loading */ - -- (void)_addCocoaSearchPathesToArray:(NSMutableArray *)ma { - id tmp; - - tmp = NSSearchPathForDirectoriesInDomains(NSAllLibrariesDirectory, - NSAllDomainsMask, - YES); - if ([tmp count] > 0) { - NSEnumerator *e; - - e = [tmp objectEnumerator]; - while ((tmp = [e nextObject])) { - tmp = [tmp stringByAppendingPathComponent:self->productDirectoryName]; - if (![ma containsObject:tmp]) - [ma addObject:tmp]; - } - } -} - -- (void)_addGNUstepSearchPathesToArray:(NSMutableArray *)ma { - NSDictionary *env; - id tmp; - - env = [[NSProcessInfo processInfo] environment]; - if ((tmp = [env objectForKey:@"GNUSTEP_PATHPREFIX_LIST"]) == nil) - tmp = [env objectForKey:@"GNUSTEP_PATHLIST"]; - - tmp = [tmp componentsSeparatedByString:@":"]; - if ([tmp count] > 0) { - NSEnumerator *e; - - e = [tmp objectEnumerator]; - while ((tmp = [e nextObject])) { - tmp = [tmp stringByAppendingPathComponent:@"Library"]; - tmp = [tmp stringByAppendingPathComponent:self->productDirectoryName]; - if (![ma containsObject:tmp]) - [ma addObject:tmp]; - } - } - else { - NSLog(@"%s: empty library search path !", __PRETTY_FUNCTION__); - } -} - -- (void)_addFHSPathesToArray:(NSMutableArray *)ma { - NSString *s; - - s = @"sogod-0.9"; - [ma addObject:[@"/usr/local/lib/" stringByAppendingString:s]]; - [ma addObject:[@"/usr/lib/" stringByAppendingString:s]]; -} - -- (NSArray *)productSearchPathes { - NSMutableArray *ma; - BOOL hasGNUstepEnv; - - if (self->searchPathes != nil) - return self->searchPathes; - - hasGNUstepEnv = [[[[NSProcessInfo processInfo] environment] - objectForKey:@"GNUSTEP_USER_ROOT"] length] > 0 ? YES : NO; - - ma = [NSMutableArray arrayWithCapacity:6]; - - if (hasGNUstepEnv) - [self _addGNUstepSearchPathesToArray:ma]; -#if COCOA_Foundation_LIBRARY - else - [self _addCocoaSearchPathesToArray:ma]; -#endif - - [self _addFHSPathesToArray:ma]; - - self->searchPathes = [ma copy]; - - if ([self->searchPathes count] == 0) { - [self logWithFormat:@"%s: no search pathes were found !", - __PRETTY_FUNCTION__]; - } - - return self->searchPathes; -} - -- (void)loadProducts { - SoProductRegistry *registry = nil; - NSFileManager *fm; - NSEnumerator *pathes; - NSString *lpath; - - registry = [SoProductRegistry sharedProductRegistry]; - fm = [NSFileManager defaultManager]; - - pathes = [[self productSearchPathes] objectEnumerator]; - while ((lpath = [pathes nextObject]) != nil) { - NSEnumerator *productNames; - NSString *productName; - - [self logWithFormat:@"scanning SOGo products in: %@", lpath]; - - productNames = [[fm directoryContentsAtPath:lpath] objectEnumerator]; - - while ((productName = [productNames nextObject]) != nil) { - NSString *bpath; - - if ([[productName pathExtension] length] == 0) - /* filter out directories without extensions */ - continue; - - bpath = [lpath stringByAppendingPathComponent:productName]; - [self logWithFormat:@" register SOGo product: %@", - [bpath lastPathComponent]]; - [registry registerProductAtPath:bpath]; - } - } - - if (![registry loadAllProducts]) - [self warnWithFormat:@"could not load all products !"]; -} - -@end /* SOGoProductLoader */ diff --git a/UI/MainUI/SOGoRootPage.m b/UI/MainUI/SOGoRootPage.m index 788662f3..a10a6f7d 100644 --- a/UI/MainUI/SOGoRootPage.m +++ b/UI/MainUI/SOGoRootPage.m @@ -75,7 +75,7 @@ static BOOL doNotRedirect = NO; return [self redirectToLocation:url]; } -- (id)defaultAction { +- (id)defaultAction { WOResponse *r; NSString *login, *rhk; id auth, user; diff --git a/UI/MainUI/TODO b/UI/MainUI/TODO deleted file mode 100644 index fbbab2d1..00000000 --- a/UI/MainUI/TODO +++ /dev/null @@ -1 +0,0 @@ -# $Id$ diff --git a/UI/MainUI/Version b/UI/MainUI/Version index 092b6114..5768c75d 100644 --- a/UI/MainUI/Version +++ b/UI/MainUI/Version @@ -1,7 +1,5 @@ # Version file -SUBMINOR_VERSION:=38 +SUBMINOR_VERSION:=1 -# v0.9.32 requires libSOGo v0.9.57 -# v0.9.24 requires libWEExtensions v4.5.67 -# v0.9.16 requires libNGExtensions v4.5.136 +# v0.9.1 requires Main v0.9.59 diff --git a/UI/MainUI/product.plist b/UI/MainUI/product.plist index c989288b..6defc0eb 100644 --- a/UI/MainUI/product.plist +++ b/UI/MainUI/product.plist @@ -5,7 +5,7 @@ ); classes = { - SOGo = { + SOGo = { // TODO: move decls to class superclass = "SoApplication"; protectedBy = "View"; defaultAccess = "allow"; @@ -38,7 +38,7 @@ }; }; - SOGoObject = { + SOGoObject = { // TODO: move decls to class protectedBy = "View"; defaultAccess = "allow"; defaultRoles = { @@ -49,7 +49,7 @@ SOGoContentObject = { superclass = "SOGoObject"; }; - SOGoFolder = { + SOGoFolder = { // TODO: move decls to class superclass = "SOGoObject"; }; diff --git a/UI/MainUI/sogod.m b/UI/MainUI/sogod.m deleted file mode 100644 index 314a248c..00000000 --- a/UI/MainUI/sogod.m +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (C) 2004-2005 SKYRIX Software AG - - This file is part of OpenGroupware.org. - - OGo 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 - 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 OGo; see the file COPYING. If not, write to the - Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. -*/ - -#include -#include "common.h" - -int main(int argc, char **argv, char **env) { - NSAutoreleasePool *pool; - - pool = [[NSAutoreleasePool alloc] init]; -#if LIB_FOUNDATION_LIBRARY - [NSProcessInfo initializeWithArguments:argv count:argc environment:env]; -#endif - [NGBundleManager defaultBundleManager]; - - WOWatchDogApplicationMain(@"SOGo", argc, (void*)argv); - - [pool release]; - return 0; -} -- 2.39.5