diff --git a/UI/MainUI/GNUmakefile b/UI/MainUI/GNUmakefile index b2f8986c4..62837f307 100644 --- a/UI/MainUI/GNUmakefile +++ b/UI/MainUI/GNUmakefile @@ -14,6 +14,7 @@ MainUI_OBJC_FILES += \ SOGoUserHomePage.m \ SOGoBrowsersPanel.m \ UIxLoading.m \ + SOGoMicrosoftActiveSyncActions.m \ ifeq ($(saml2_config), yes) MainUI_OBJC_FILES += SOGoSAML2Actions.m diff --git a/UI/MainUI/SOGoMicrosoftActiveSyncActions.m b/UI/MainUI/SOGoMicrosoftActiveSyncActions.m new file mode 100644 index 000000000..a00344fba --- /dev/null +++ b/UI/MainUI/SOGoMicrosoftActiveSyncActions.m @@ -0,0 +1,67 @@ +/* + Copyright (C) 2014 Inverse inc. + + This file is part of SOGo. + + 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. + + 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. + + You should have received a copy of the GNU Lesser General Public + License along with SOGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ + +#import + +#import + +#import +#import +#import +#import + +@interface SOGoMicrosoftActiveSyncActions : WODirectAction +@end + +@implementation SOGoMicrosoftActiveSyncActions + +// +// Invoked on POST actions +// +- (WOResponse *) microsoftServerActiveSyncAction +{ + WOResponse *response; + WORequest *request; + NSBundle *bundle; + NSException *ex; + id dispatcher; + Class clazz; + + request = [context request]; + response = [self responseWithStatus: 200]; + + bundle = [NSBundle bundleForClass: NSClassFromString(@"ActiveSyncProduct")]; + clazz = [bundle classNamed: @"SOGoActiveSyncDispatcher"]; + dispatcher = [[clazz alloc] init]; + + ex = [dispatcher dispatchRequest: request inResponse: response context: context]; + + if (ex) + { + return [NSException exceptionWithHTTPStatus: 500]; + } + + RELEASE(dispatcher); + + return response; +} + +@end diff --git a/UI/MainUI/product.plist b/UI/MainUI/product.plist index 399eaad05..e5c9d2ec1 100644 --- a/UI/MainUI/product.plist +++ b/UI/MainUI/product.plist @@ -101,8 +101,7 @@ SOGo = { // TODO: move decls to class slots = { toolbar = { - value = "none"; // keep this in order to avoid lookups on username - // "toolbar" + value = "none"; // keep this in order to avoid lookups on username "toolbar" }; }; methods = { @@ -114,6 +113,11 @@ protectedBy = ""; pageName = "SOGoRootPage"; }; + Microsoft-Server-ActiveSync = { + protectedBy = ""; + actionClass = "SOGoMicrosoftActiveSyncActions"; + actionName = "microsoftServerActiveSync"; + }; casProxy = { protectedBy = ""; pageName = "SOGoRootPage"; @@ -229,9 +233,5 @@ }; }; }; - // SOGoCustomGroupFolder = { - // methods = { - // }; - // }; }; }