--- /dev/null
+# $Id: GNUmakefile,v 1.2 2003/10/13 08:37:36 helge Exp $
+
+include $(GNUSTEP_MAKEFILES)/common.make
+
+TOOL_NAME = \
+ ldapPersonExporter \
+ findLongestEMailAddress \
+ personalFolderInfoInserts
+
+ldapPersonExporter_OBJC_FILES = lpe.m
+ldapPersonExporter_TOOL_LIBS += -lNGLdap
+
+findLongestEMailAddress_OBJC_FILES = lmail.m
+
+personalFolderInfoInserts_OBJC_FILES = pfinserts.m
+
+-include GNUmakefile.preamble
+include $(GNUSTEP_MAKEFILES)/tool.make
+-include GNUmakefile.postamble
--- /dev/null
+# $Id: GNUmakefile.preamble,v 1.1.1.1 2003/07/09 22:57:26 cvs Exp $
+
+ADDITIONAL_TOOL_LIBS += \
+ -lNGExtensions \
+ -lEOControl
--- /dev/null
+/*
+ @DISCLAIMER@
+*/
+// $Id$
+
+#import <Foundation/Foundation.h>
+
+#define DEBUG 0
+
+#define ALL_RECORDS @"/tmp/all.nsarray"
+
+#ifndef MAX
+#define MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+
+int main(int argc, char **argv, char **env) {
+ NSAutoreleasePool *pool;
+ NSArray *records;
+ unsigned int i, count, maxLength;
+ NSString *longestMailto;
+
+ pool = [[NSAutoreleasePool alloc] init];
+#if LIB_FOUNDATION_LIBRARY
+ [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
+#endif
+
+ records = [NSArray arrayWithContentsOfFile:ALL_RECORDS];
+ count = [records count];
+ maxLength = 0;
+
+ for(i = 0; i < count; i++) {
+ NSString *mailto;
+ unsigned length;
+
+ mailto = [[records objectAtIndex:i] objectForKey:@"mailto"];
+ length = [mailto length];
+ maxLength = MAX(maxLength, length);
+ if(length == maxLength)
+ longestMailto = mailto;
+ }
+ printf("\nTotal: %d\nMaxlength: %d\nlongest: %s\n", count, maxLength, [longestMailto cString]);
+ [pool release];
+ exit(0);
+ return 0;
+}
--- /dev/null
+/*
+ @DISCLAIMER@
+*/
+// $Id$
+
+#include <EOControl/EOControl.h>
+#include <NGLdap/NGLdap.h>
+
+#define DEBUG 0
+
+#define LDAP_HOST @"localhost"
+#if DEBUG
+#define LDAP_BASE_DN @"ou=Informatique,ou=SPAG,ou=DDE 32,ou=DDE,ou=melanie,ou=organisation,dc=equipement,dc=gouv,dc=fr"
+#else
+#define LDAP_BASE_DN @"dc=equipement,dc=gouv,dc=fr"
+#endif
+
+/*
+scope = ldap.SCOPE_SUBTREE
+filter = '(mineqTypeEntree=BALI)'
+attrlist = ["mail", "sn", "givenName"]
+*/
+
+int main(int argc, char **argv, char **env) {
+ NSAutoreleasePool *pool;
+ EOQualifier *q;
+ NSArray *attrs;
+ NGLdapConnection *conn;
+ NSEnumerator *resultEnum;
+ NSMutableArray *allResults;
+ id obj;
+ int totalCount = 0;
+
+ pool = [[NSAutoreleasePool alloc] init];
+#if LIB_FOUNDATION_LIBRARY
+ [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
+#endif
+
+ q = [EOQualifier qualifierWithQualifierFormat:@"mineqTypeEntree = BALI"];
+
+ attrs = [[NSArray alloc] initWithObjects:@"sn", @"givenName", @"mail",
+nil];
+
+ conn = [[NGLdapConnection alloc] initWithHostName:LDAP_HOST];
+ [conn setUseCache:NO];
+ resultEnum = [conn deepSearchAtBaseDN:LDAP_BASE_DN
+ qualifier:q
+ attributes:attrs];
+
+ allResults = [[NSMutableArray alloc] initWithCapacity:60000];
+ while((obj = [resultEnum nextObject]) != nil) {
+ NSAutoreleasePool *lpool;
+ NSMutableDictionary *resultDict;
+ NSDictionary *attrDict;
+ NSString *dir, *cn;
+ NGLdapAttribute *mail, *sn, *givenName;
+
+ lpool = [[NSAutoreleasePool alloc] init];
+ attrDict = [obj attributes];
+ resultDict =
+ [[NSMutableDictionary alloc] initWithCapacity:[attrDict count] + 1];
+ dir = [NSString stringWithFormat:@"SOGo://%@", [obj dn]];
+#if DEBUG
+ NSLog(@"obj = %@", obj);
+#endif
+ [resultDict setObject:dir forKey:@"DIR"];
+ mail = [attrDict objectForKey:@"mail"];
+ [resultDict setObject:[mail stringValueAtIndex:0] forKey:@"mailto"];
+ sn = [attrDict objectForKey:@"sn"];
+ givenName = [attrDict objectForKey:@"givenName"];
+ cn = [NSString stringWithFormat:@"%@ %@",
+ [givenName stringValueAtIndex:0],
+ [sn stringValueAtIndex:0]];
+ [resultDict setObject:cn forKey:@"CN"];
+ [allResults addObject:resultDict];
+ [resultDict release];
+ totalCount += 1;
+ if(totalCount % 10 == 0)
+ printf(".");
+ [lpool release];
+ }
+
+ [allResults writeToFile:@"/tmp/all.nsarray" atomically:NO];
+ [allResults release];
+ printf("\ndone.\n");
+ [attrs release];
+ [conn release];
+ [pool release];
+ exit(0);
+ return 0;
+}
--- /dev/null
+/*
+ @DISCLAIMER@
+*/
+// $Id$
+
+#import <Foundation/Foundation.h>
+
+#define DEBUG 0
+
+#define ALL_RECORDS @"/home/znek/all-BALI.plist"
+
+/*
+ CREATE_TABLE personalfolderinfo (
+ c_email VARCHAR(128) NOT NULL, // index drauf
+ c_tablename VARCHAR(128) NOT NULL,
+ c_dbname VARCHAR(128) NOT NULL,
+ c_dbport INT NOT NULL
+ // kann man spaeter mit condict erweitern (user/login?)
+ );
+ */
+
+#define PREAMBLE @"BEGIN;\n"
+#define INSERT_FORMAT @"INSERT INTO personalfolderinfo VALUES ('%@', 'I%06d', 'SOGo1', 0);\n"
+#define POSTAMBLE @"COMMIT;\n"
+
+
+int main(int argc, char **argv, char **env) {
+ NSAutoreleasePool *pool;
+ NSArray *records;
+ unsigned int i, count, maxLength;
+ NSString *longestMailto;
+ int sequence;
+
+ pool = [[NSAutoreleasePool alloc] init];
+#if LIB_FOUNDATION_LIBRARY
+ [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
+#endif
+
+ records = [NSArray arrayWithContentsOfFile:ALL_RECORDS];
+#if DEBUG
+ count = 5;
+#else
+ count = [records count];
+#endif
+ sequence = 0;
+
+ printf([PREAMBLE cString]);
+ for(i = 0; i < count; i++) {
+ NSString *format, *mailto;
+ NSDictionary *d;
+ d = [records objectAtIndex:i];
+
+ mailto = [d objectForKey:@"mailto"];
+ if([mailto rangeOfString:@"'"].location != NSNotFound) {
+ NSArray *exploded;
+
+ exploded = [mailto componentsSeparatedByString:@"'"];
+ mailto = [exploded componentsJoinedByString:@"\\'"];
+ }
+ format = [[NSString alloc] initWithFormat:INSERT_FORMAT,
+ mailto,
+ sequence++];
+ printf([format cString]);
+ [format release];
+ }
+ printf([POSTAMBLE cString]);
+ [pool release];
+ exit(0);
+ return 0;
+}