public function testAll()
 {
     if ($this->config === null) {
         $this->sendMessage('Ldap plugin for jauth is not tested because there isn\'t configuration.' . ' To test it, you should create and configure an auth_ldap.coord.ini.php file.');
         return;
     }
     for ($i = 1; $i <= NB_USERS_LDAP; $i++) {
         $myUser = jAuth::createUserObject("testldap usr {$i}", "pass{$i}");
         $this->assertTrue($myUser instanceof jAuthUserLDAP);
         jAuth::saveNewUser($myUser);
         $myUserLDAP = jAuth::getUser("testldap usr {$i}");
         $user = "******"jAuthUserLDAP\">\n                <string property=\"login\" value=\"testldap usr {$i}\" />\n                <string property=\"email\" value=\"\" />\n                <array property=\"cn\">array('testldap usr {$i}')</array>\n                <array property=\"distinguishedName\">array('CN=testldap usr {$i},{$this->config['ldap']['searchBaseDN']}')</array>\n                <array property=\"name\">array('testldap usr {$i}')</array>\n                <string property=\"password\" value=\"\" />\n            </object>\n            ";
         $this->assertComplexIdenticalStr($myUserLDAP, $user);
         $myUser->email = "usr{$i}.testldap@domain.com";
         jAuth::updateUser($myUser);
         $myUserLDAP = jAuth::getUser("testldap usr {$i}");
         $user = "******"login\" value=\"testldap usr {$i}\" />\n                <array property=\"email\">array('usr{$i}.testldap@domain.com')</array>\n                <array property=\"cn\">array('testldap usr {$i}')</array>\n                <array property=\"distinguishedName\">array('CN=testldap usr {$i},{$this->config['ldap']['searchBaseDN']}')</array>\n                <array property=\"name\">array('testldap usr {$i}')</array>\n                <string property=\"password\" value=\"\" />\n            </object>\n            ";
         $this->assertComplexIdenticalStr($myUserLDAP, $user);
         $this->assertTrue(jAuth::verifyPassword("testldap usr {$i}", "pass{$i}"));
         $this->assertTrue(jAuth::changePassword("testldap usr {$i}", "newpass{$i}"));
     }
     $myUsersLDAP = jAuth::getUserList('testldap usr*');
     $users = "<array>";
     for ($i = 1; $i <= NB_USERS_LDAP; $i++) {
         $users .= "\n            <object>\n                <array property=\"login\">array('testldap usr {$i}')</array>\n                <array property=\"email\">array('usr{$i}.testldap@domain.com')</array>\n                <array property=\"cn\">array('testldap usr {$i}')</array>\n                <array property=\"distinguishedName\">array('CN=testldap usr {$i},{$this->config['ldap']['searchBaseDN']}')</array>\n                <array property=\"name\">array('testldap usr {$i}')</array>\n                <string property=\"password\" value=\"\" />\n            </object>\n            ";
     }
     $users .= "</array>";
     $this->assertComplexIdenticalStr($myUsersLDAP, $users);
     for ($i = 1; $i <= NB_USERS_LDAP; $i++) {
         $this->assertTrue(jAuth::removeUser("testldap usr {$i}"));
     }
     $myUsersLDAP = jAuth::getUserList('testldap usr*');
     $this->assertFalse(count($myUsersLDAP) > 0);
 }
 /**
  *
  */
 function delete()
 {
     $rep = $this->getResponse('json');
     $id = $this->intParam('id', null, true);
     $this->success = false;
     if (!empty($id)) {
         try {
             $user = jDao::get('user')->get($id);
             // instanciation de la factory
             $this->success = jAuth::removeUser($user->login);
             $this->msg = "utilisateur supprimé ";
         } catch (Exception $e) {
             $this->success = false;
             $this->msg = "ERREUR : utilisateur non supprimé ";
         }
     }
     $rep->data = array('success' => $this->success, 'msg' => $this->msg);
     return $rep;
 }
 /**
  * delete a record
  */
 function delete()
 {
     $id = $this->param('id');
     $pwd = $this->param('pwd_confirm');
     $rep = $this->getResponse('redirect');
     if (jAuth::verifyPassword(jAuth::getUserSession()->login, $pwd) == false) {
         jMessage::add(jLocale::get('crud.message.delete.invalid.pwd'), 'error');
         $rep->action = 'default:confirmdelete';
         $rep->params['id'] = $id;
         return $rep;
     }
     if ($id !== null && jAuth::getUserSession()->login != $id) {
         if (jAuth::removeUser($id)) {
             jMessage::add(jLocale::get('crud.message.delete.ok', $id), 'notice');
             $rep->action = 'default:index';
         } else {
             jMessage::add(jLocale::get('crud.message.delete.notok'), 'error');
             $rep->action = 'default:view';
             $rep->params['id'] = $id;
         }
     } else {
         jMessage::add(jLocale::get('crud.message.delete.notok'), 'error');
         $rep->action = 'default:index';
     }
     return $rep;
 }
 function dodestroy()
 {
     $user = $this->param('user');
     $rep = $this->getResponse('redirect');
     $rep->action = 'jcommunity~account:show';
     $rep->params = array('user' => $user);
     if ($user == '' || !jAuth::isConnected() || jAuth::getUserSession()->login != $user) {
         return $rep;
     }
     $rep = $this->getResponse('html');
     $tpl = new jTpl();
     $tpl->assign('username', $user);
     if (jAuth::removeUser($user)) {
         jAuth::logout();
         $rep->body->assign('MAIN', $tpl->fetch('account_destroy_done'));
     } else {
         $rep->body->assign('MAIN', $tpl->fetch('account_destroy_cancel'));
     }
     return $rep;
 }