add some changes
[Snippets.git] / LDAP.class.php
index b53721adcb1b24b825a38fe1333e4974b538a84b..8063760aedcb874e7b9d1ff456050342ac9fb2f0 100644 (file)
@@ -8,11 +8,13 @@
 class LDAP {
        /**
         * LDAP resource id
+        * @var object
         */
-       protected $ldap = Null; 
+       protected $ldap = null; 
        
        /**
         * LDAP DN
+        * @var string
         */
        protected $dn = '';
        
@@ -49,6 +51,52 @@ class LDAP {
                return false;
        }
        
+       /**
+        * add a user to ldap server
+        *
+        * @param       array   $user
+        * @return      boolean
+        */
+       public function addUser (Array $user) {
+               /*
+               Eampel:
+               $user = array();
+               $user['dn'] = 'uid=testuser,ou=Users,dc=ldap,dc=test,dc=server,dc=com';
+               $user['objectClass'] = array('inetOrgPerson', 'organizationalPerson', 'posixAccount');
+               $user['cn'] = 'Test User';
+               $user['gidNumber'] = '5001';
+               $user['homeDirectory'] = '/home/testuser';
+               $user['sn'] = 'User';
+               $user['uid'] = 'testuser';
+               $user['uidNumber'] = '5001';
+               $user['loginShell'] = '/bin/bash';
+               $user['mail'] = 'test@user.com';
+               $user['userPassword'] = ''; // use ldap hash class to generate a password
+               or see here: http://techiesf1.blogspot.de/2012/03/add-ldap-user-from-php.html
+               */
+               if (is_array($user) && !empty($user)) {
+                       if (ldap_add($this->ldap, "uid=".$user['uid'].",".$this->dn, $user)) {
+                               return true;
+                       }
+               }
+               
+               return false;
+       }
+       
+       /**
+        * delete ldap user
+        *
+        * @param       string  $user
+        * @return      boolean
+        */
+       public function delUser ($user) {
+               if (ldap_delete ($this->ldap, $user.",".$this->dn)) {
+                       return true;
+               }
+               
+               return false;
+       }
+       
        /**
         *      returns ldap user array
         *