+
+function ldap_autocreateaccount($ldap_autocreateaccount,$username,$password,$email,$name) {
+ if($ldap_autocreateaccount == "true" && !is_existing_account($username)){
+ if (strlen($email) > 0 && strlen($name) > 0){
+ $arr = array('username'=>$name,'nickname'=>$username,'email'=>$email,'password'=>$password,'verified'=>1);
+ $result = create_user($arr);
+ if ($result['success']){
+ logger("ldapauth: account " . $username . " created");
+ }else{
+ logger("ldapauth: account " . $username . " was not created ! : " . implode($result));
+ }
+ }else{
+ logger("ldapauth: unable to create account, no email or nickname found");
+ }
+ }
+}
+
+function is_existing_account($username){
+ $results = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 AND `verified` = 1 LIMIT 1",$username);
+ if(count($results)) {
+ return true;
+ }
+ return false;
+}