getMessage()); } if ($ldapconn) { $ldapbind = @ldap_bind($ldapconn, "uid=" . ldap_escape($id) . ',' . $ini["basedn"], $passwd); if ($ldapbind) { return true; } else { return false; } } } function change_password($current_password, $new_passwd) { $ini = parse_ini_file('../includes/config.ini'); try { $ldapconn = ldap_connect($ini['hostname'], $ini['port']); ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); } catch (Exception $e) { die ('ERROR: ' . $e->getMessage()); } $dn = "uid=" . ldap_escape($_SESSION['user']) . ',' . $ini["basedn"]; $ldap_bind = @ldap_bind($ldapconn, $dn, $current_password); if (!$ldap_bind) { return array(false, "Wrong current password"); } if (!ldap_exop_passwd($ldapconn, $dn, "",$new_passwd)) { return array(false, "A problem occured, contact admins"); } return array(true); }