--- pwdchange.php.old	2009-10-10 09:47:40.000000000 +0200
+++ pwdchange.php	2009-10-26 20:43:20.965918589 +0100
@@ -9,7 +9,11 @@ function getBody() {
     // 2nd string old password
     // 3rd string new password
     // To change this, please modify the below sprintf!
-    $passwd_cmd = "/usr/local/bin/zarafa-passwd -u %s -o %s -p %s";
+    //$passwd_cmd = "/usr/local/bin/zarafa-passwd -u %s -o %s -p %s";
+
+    $ldap_host="192.168.100.1";
+    $base_dn="ou=users,o=borg";
+    $passwd_cmd = "/usr/bin/ldappasswd -x -h $ldap_host -D '%s' -w '%s' -s '%s'";
     
     $username     = (isset($_POST["pwdchange_username"])? $_POST["pwdchange_username"] : null);
     $password     = (isset($_POST["pwdchange_oldpw"])   ? $_POST["pwdchange_oldpw"]    : null);
@@ -20,8 +24,10 @@ function getBody() {
 	$password != null && 
 	$newpassword != null && 
 	$newpassword2 == $newpassword) {
-        $mycmd = sprintf($passwd_cmd, $username, $password, $newpassword);
 
+	exec("/usr/bin/ldapsearch -x -LLL -h $ldap_host -b $base_dn uid=$username dn | sed -e 's/^dn: //'", $result);
+        $mycmd = sprintf($passwd_cmd, $result[0], $password, $newpassword);
+	
         exec($mycmd,$arrayout, $retval);
 	if ($retval == 0) {
             echo _("Password changed successfully");

