summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/ldap/resourceldap.cpp
Unidiff
Diffstat (limited to 'kabc/plugins/ldap/resourceldap.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kabc/plugins/ldap/resourceldap.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/kabc/plugins/ldap/resourceldap.cpp b/kabc/plugins/ldap/resourceldap.cpp
index 55c43af..c3097de 100644
--- a/kabc/plugins/ldap/resourceldap.cpp
+++ b/kabc/plugins/ldap/resourceldap.cpp
@@ -11,96 +11,103 @@
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28#include <kdebug.h> 28#include <kdebug.h>
29#include <kglobal.h> 29#include <kglobal.h>
30#include <klineedit.h> 30#include <klineedit.h>
31#include <klocale.h> 31#include <klocale.h>
32#include <kconfig.h> 32#include <kconfig.h>
33#include <kstringhandler.h> 33#include <kstringhandler.h>
34 34
35#include <stdlib.h> 35#include <stdlib.h>
36 36
37#include "resourceldap.h" 37#include "resourceldap.h"
38#include "resourceldapconfig.h" 38#include "resourceldapconfig.h"
39 39
40using namespace KABC; 40using namespace KABC;
41 41
42extern "C" 42extern "C"
43{ 43{
44//US void *init_kabc_ldap() 44//US void *init_kabc_ldap()
45 void *init_microkabc_ldap() 45 void *init_microkabc_ldap()
46 { 46 {
47 return new KRES::PluginFactory<ResourceLDAP,ResourceLDAPConfig>(); 47 return new KRES::PluginFactory<ResourceLDAP,ResourceLDAPConfig>();
48 } 48 }
49} 49}
50 50
51void addModOp( LDAPMod ***pmods, const QString &attr, const QString &value ); 51void addModOp( LDAPMod ***pmods, const QString &attr, const QString &value );
52 52
53 53
54ResourceLDAP::ResourceLDAP( const KConfig *config ) 54ResourceLDAP::ResourceLDAP( const KConfig *config )
55 : Resource( config ), mPort( 389 ), mLdap( 0 ) 55 : Resource( config ), mPort( 389 ), mLdap( 0 )
56{ 56{
57 KConfig *cfg = (KConfig *)config; 57 KConfig *cfg = (KConfig *)config;
58 if ( cfg ) { 58 if ( cfg ) {
59#ifdef _WIN32_
60 // we use plugins on win32. the group is stored in a static variable
61 // such that group info not available on win32 plugins
62 // to fix that, it would be a looooot of work
63 if ( !cfg->tempGroup().isEmpty() )
64 cfg->setGroup( cfg->tempGroup() );
65#endif
59 mUser = cfg->readEntry( "LdapUser" ); 66 mUser = cfg->readEntry( "LdapUser" );
60 mPassword = KStringHandler::obscure( cfg->readEntry( "LdapPassword" ) ); 67 mPassword = KStringHandler::obscure( cfg->readEntry( "LdapPassword" ) );
61 mDn = cfg->readEntry( "LdapDn" ); 68 mDn = cfg->readEntry( "LdapDn" );
62 mHost = cfg->readEntry( "LdapHost" ); 69 mHost = cfg->readEntry( "LdapHost" );
63 mPort = cfg->readNumEntry( "LdapPort", 389 ); 70 mPort = cfg->readNumEntry( "LdapPort", 389 );
64 mFilter = cfg->readEntry( "LdapFilter" ); 71 mFilter = cfg->readEntry( "LdapFilter" );
65 mAnonymous = cfg->readBoolEntry( "LdapAnonymous" ); 72 mAnonymous = cfg->readBoolEntry( "LdapAnonymous" );
66 73
67 QStringList attributes = cfg->readListEntry( "LdapAttributes" ); 74 QStringList attributes = cfg->readListEntry( "LdapAttributes" );
68 for ( uint pos = 0; pos < attributes.count(); pos += 2 ) 75 for ( uint pos = 0; pos < attributes.count(); pos += 2 )
69 mAttributes.insert( attributes[ pos ], attributes[ pos + 1 ] ); 76 mAttributes.insert( attributes[ pos ], attributes[ pos + 1 ] );
70 } 77 }
71 78
72 /** 79 /**
73 If you want to add new attributes, append them here, add a 80 If you want to add new attributes, append them here, add a
74 translation string in the ctor of AttributesDialog and 81 translation string in the ctor of AttributesDialog and
75 handle them in the load() method below. 82 handle them in the load() method below.
76 These are the default values from 83 These are the default values from
77 */ 84 */
78 if ( mAttributes.count() == 0 ) { 85 if ( mAttributes.count() == 0 ) {
79 mAttributes.insert( "commonName", "cn" ); 86 mAttributes.insert( "commonName", "cn" );
80 mAttributes.insert( "formattedName", "displayName" ); 87 mAttributes.insert( "formattedName", "displayName" );
81 mAttributes.insert( "familyName", "sn" ); 88 mAttributes.insert( "familyName", "sn" );
82 mAttributes.insert( "givenName", "givenName" ); 89 mAttributes.insert( "givenName", "givenName" );
83 mAttributes.insert( "mail", "mail" ); 90 mAttributes.insert( "mail", "mail" );
84 mAttributes.insert( "mailAlias", "" ); 91 mAttributes.insert( "mailAlias", "" );
85 mAttributes.insert( "phoneNumber", "telephoneNumber" ); 92 mAttributes.insert( "phoneNumber", "telephoneNumber" );
86 mAttributes.insert( "uid", "uid" ); 93 mAttributes.insert( "uid", "uid" );
87 } 94 }
88} 95}
89 96
90void ResourceLDAP::writeConfig( KConfig *config ) 97void ResourceLDAP::writeConfig( KConfig *config )
91{ 98{
92 Resource::writeConfig( config ); 99 Resource::writeConfig( config );
93 100
94 config->writeEntry( "LdapUser", mUser ); 101 config->writeEntry( "LdapUser", mUser );
95 config->writeEntry( "LdapPassword", KStringHandler::obscure( mPassword ) ); 102 config->writeEntry( "LdapPassword", KStringHandler::obscure( mPassword ) );
96 config->writeEntry( "LdapDn", mDn ); 103 config->writeEntry( "LdapDn", mDn );
97 config->writeEntry( "LdapHost", mHost ); 104 config->writeEntry( "LdapHost", mHost );
98 config->writeEntry( "LdapPort", mPort ); 105 config->writeEntry( "LdapPort", mPort );
99 config->writeEntry( "LdapFilter", mFilter ); 106 config->writeEntry( "LdapFilter", mFilter );
100 config->writeEntry( "LdapAnonymous", mAnonymous ); 107 config->writeEntry( "LdapAnonymous", mAnonymous );
101 108
102 QStringList attributes; 109 QStringList attributes;
103 QMap<QString, QString>::Iterator it; 110 QMap<QString, QString>::Iterator it;
104 for ( it = mAttributes.begin(); it != mAttributes.end(); ++it ) 111 for ( it = mAttributes.begin(); it != mAttributes.end(); ++it )
105 attributes << it.key() << it.data(); 112 attributes << it.key() << it.data();
106 113