]> err.no Git - sope/commitdiff
applied patches by Stephane
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 23 Jun 2005 12:19:13 +0000 (12:19 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 23 Jun 2005 12:19:13 +0000 (12:19 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@859 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/NGObjWeb/WOComponent.h
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WEClientCapabilities.m
sope-appserver/NGObjWeb/WOComponent.m

index 59e3c2126cc761d9d3effe3dbb7161acd46fb39b..f10128f395670c2105812f4fae34166871e7aa68 100644 (file)
@@ -1,3 +1,24 @@
+2005-06-23  Stephane Corthesy  <stephane@sente.ch>
+
+       * v4.5.165
+
+       * WOComponent.m: -synchronizesVariablesWithBindings now returns NO if
+         the component is stateless (-isStateless returns YES)
+         
+       * WOComponent.m: -frameworkName now returns 'nil' if the component is
+         located in the main bundle (this might affect resource lookups)
+         
+       * WOComponent.m: +templateWithHTMLString:declarationString:languages:
+         is now a class method like in WO
+         
+       * WOComponent.m: -pathForResourceNamed: now checks whether a session
+         is available and otherwise uses the browserLanguages array to
+         perform a languages lookup
+
+2005-06-10  Helge Hess  <helge.hess@opengroupware.org>
+
+       * WEClientCapabilities.m: fixed a typo (v4.5.164)
+
 2005-06-02  Helge Hess  <helge.hess@opengroupware.org>
 
        * WebDAV/SoObjectWebDAVDispatcher.m: prepared MKCALENDAR method
index 734d4fd10104231fe9b794e15e6a513b2738ea29..a332f6a8ddabd7e2b3b891c2b8f36ae56fcbe8f9 100644 (file)
@@ -89,7 +89,7 @@
 
 - (WOElement *)templateWithName:(NSString *)_name;
 
-- (WOElement *)templateWithHTMLString:(NSString *)_html
++ (WOElement *)templateWithHTMLString:(NSString *)_html
   declarationString:(NSString *)_wod
   languages:(NSArray *)_languages;
   
index be676a9ebdd3bc28fdf1bf4d13d7e69954ccfc0e..c345cf7b9dc0d73e853aa90d32050ac33cbf9507 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=163
+SUBMINOR_VERSION:=165
 
 # v4.5.122 requires libNGExtensions v4.5.153
 # v4.5.91  requires libNGExtensions v4.5.134
index e0b96bbd726560977af1bf1f728e7cf806429a8a..15ed9098e6d5911e3cf4a6186e8944b7e5809fc1 100644 (file)
 
 @end /* WEClientCapabilities */
 
-static NSString *ClientCapsCacheKey = @"WEClientCapabilties";
+static NSString *ClientCapsCacheKey = @"WEClientCapabilities";
 
 @implementation WORequest(ClientCapabilities)
 
index efe54cc3b24a3b0c5a83a2805710e7062ca06e5d..e6360fcd7e9221e421bdd05a93aaeb4608703083 100644 (file)
@@ -350,7 +350,13 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
   return self->wocName;
 }
 - (NSString *)frameworkName {
-  return [[NGBundle bundleForClass:[self class]] bundleName];
+  NSBundle *cbundle;
+  
+  cbundle = [NGBundle bundleForClass:[self class]];
+  if (cbundle == [NSBundle mainBundle])
+    return nil;
+  
+  return [cbundle bundleName];
 }
 - (NSString *)path {
   NSArray *languages = nil;
@@ -596,18 +602,20 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 }
 
 - (NSString *)pathForResourceNamed:(NSString *)_name ofType:(NSString *)_ext {
-  NSFileManager *fm         = [NSFileManager defaultManager];
-  NSEnumerator  *languages  = nil;
-  NSString      *language   = nil;
+  NSFileManager *fm;
+  NSEnumerator  *languages;
+  NSString      *language;
   BOOL          isDirectory = NO;
-  NSString      *cpath      = [self path];
+  NSString      *cpath;
   
   if (_ext) _name = [_name stringByAppendingPathExtension:_ext];
 
-  if (cpath == nil) {
+  if ((cpath = [self path]) == nil) {
     [self warnWithFormat:@"no path set in component %@", [self name]];
     return nil;
   }
+  
+  fm = [NSFileManager defaultManager];
   if (![fm fileExistsAtPath:cpath isDirectory:&isDirectory]) {
     [self warnWithFormat:@"component directory %@ does not exist !", cpath];
     return nil;
@@ -616,20 +624,23 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
     [self warnWithFormat:@"component path %@ is not a directory !", cpath];
     return nil;
   }
+  
+  /* check in language projects */
 
-  // check in language projects
-
-  languages = [[(WOSession *)[self session] languages] objectEnumerator];
-  while ((language = [languages nextObject])) {
-    language = [[cpath stringByAppendingPathComponent:
-                         [language stringByAppendingPathExtension:@"lproj"]]
-                       stringByAppendingPathExtension:_name];
+  languages = [self hasSession]
+    ? [[(WOSession *)[self session] languages] objectEnumerator]
+    : [[[[self context] request] browserLanguages] objectEnumerator];
+  
+  while ((language = [languages nextObject]) != nil) {
+    language = [language stringByAppendingPathExtension:@"lproj"];
+    language = [cpath stringByAppendingPathComponent:language];
+    language = [language stringByAppendingPathExtension:_name];
     
     if ([fm fileExistsAtPath:language])
       return language;
   }
-
-  // check in component
+  
+  /* check in component */
   cpath = [cpath stringByAppendingPathComponent:_name];
   if ([fm fileExistsAtPath:cpath])
     return cpath;
@@ -639,7 +650,7 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 
 /* template */
 
-- (WOElement *)templateWithHTMLString:(NSString *)_html
++ (WOElement *)templateWithHTMLString:(NSString *)_html
   declarationString:(NSString *)_wod
   languages:(NSArray *)_languages
 {
@@ -649,9 +660,9 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
   declarationString:(NSString *)_wod
 {
   IS_DEPRECATED;
-  return [self templateWithHTMLString:_html
-               declarationString:_wod
-               languages:[(WOSession *)[self session] languages]];
+  return [[self class] templateWithHTMLString:_html
+                      declarationString:_wod
+                      languages:[(WOSession *)[self session] languages]];
 }
 
 - (WOElement *)templateWithName:(NSString *)_name {
@@ -715,7 +726,7 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 }
 
 - (BOOL)synchronizesVariablesWithBindings {
-  return YES;
+  return [self isStateless] ? NO : YES;
 }
 
 - (void)setValue:(id)_value forBinding:(NSString *)_name {
@@ -1189,9 +1200,7 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
   return str;
 }
 
-@end /* WOComponent */
-
-@implementation WOComponent(Statistics)
+/* Statistics */
 
 - (NSString *)descriptionForResponse:(WOResponse *)_response
   inContext:(WOContext *)_context
@@ -1199,9 +1208,7 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
   return [self name];
 }
 
-@end /* WOComponent(Statistics) */
-
-@implementation WOComponent(AdvancedBindingAccessors)
+/* AdvancedBindingAccessors */
 
 - (void)setUnsignedIntValue:(unsigned)_value forBinding:(NSString *)_name {
   [self setValue:[NSNumber numberWithUnsignedInt:_value] forBinding:_name];
@@ -1231,4 +1238,4 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 }
 #endif
 
-@end /* WOComponent(AdvancedBindingAccessors) */
+@end /* WOComponent */