/**
  *
  */
 protected function savePassword()
 {
     /**
      * @var $lng ilLanguage
      */
     global $lng;
     $this->buildPasswordForm();
     if ($this->form->checkInput()) {
         require_once 'Services/User/classes/class.ilUserPasswordEncoderFactory.php';
         $factory = new ilUserPasswordEncoderFactory(array());
         $default_encoder = $factory->getEncoderByName(trim($this->form->getInput('default_encoder')));
         $default_encoder->onSelection();
         if ($default_encoder->validateForm($this->form)) {
             $this->setup->savePasswordSettings(array('default_encoder' => $default_encoder->getName()));
             ilUtil::sendSuccess($lng->txt('saved_successfully'), true);
             ilUtil::redirect("setup.php?cmd=displayPassword");
         } else {
             ilUtil::sendFailure($lng->txt('form_input_not_valid'));
         }
     }
     $this->form->setValuesByPost();
     $this->tpl->setVariable("SETUP_CONTENT", $this->form->getHTML());
     $this->displayPassword(true);
 }
 /**
  *
  */
 public function testFactoryReturnsCorrectEncoderIfAMatchingEncoderWasFound()
 {
     $encoder = $this->getMockBuilder('ilBasePasswordEncoder')->disableOriginalConstructor()->getMock();
     $encoder->expects($this->atLeastOnce())->method('getName')->will($this->returnValue('mockencoder'));
     $factory = new ilUserPasswordEncoderFactory(array('default_password_encoder' => $encoder->getName()));
     $factory->setEncoders(array($encoder));
     $this->assertEquals($encoder, $factory->getEncoderByName('mockencoder', true));
 }