/** * */ protected function buildPasswordForm() { /** * @var $lng ilLanguage */ global $lng; require_once 'Services/Form/classes/class.ilPropertyFormGUI.php'; $this->form = new ilPropertyFormGUI(); $this->form->setFormAction("setup.php?cmd=gateway"); require_once 'Services/User/classes/class.ilUserPasswordEncoderFactory.php'; $factory = new ilUserPasswordEncoderFactory(array()); $default_encoder = new ilSelectInputGUI($lng->txt('passwd_default_encoder'), 'default_encoder'); $default_encoder->setInfo($lng->txt('passwd_default_encoder_info')); $default_encoder->setRequired(true); $options = array(); foreach ($factory->getEncoders() as $encoder) { $options[$encoder->getName()] = $lng->txt('passwd_encoder_' . $encoder->getName()); } $default_encoder->setOptions($options); $this->form->addItem($default_encoder); foreach ($factory->getEncoders() as $encoder) { if ($encoder instanceof ilPasswordEncoderConfigurationFormAware) { $encoder->buildForm($this->form); } } $this->form->addCommandButton('savePassword', $lng->txt('save')); }
/** * */ public function testGettersOfFactoryShouldReturnWhatWasSetBySetters() { $factory = new ilUserPasswordEncoderFactory(array('default_password_encoder' => 'md5')); $this->assertEquals('md5', $factory->getDefaultEncoder()); $encoder = $this->getMockBuilder('ilBasePasswordEncoder')->disableOriginalConstructor()->getMock(); $encoder->expects($this->atLeastOnce())->method('getName')->will($this->returnValue('mockencoder')); $second_mockencoder = $this->getMockBuilder('ilBasePasswordEncoder')->disableOriginalConstructor()->getMock(); $second_mockencoder->expects($this->atLeastOnce())->method('getName')->will($this->returnValue('second_mockencoder')); $factory->setEncoders(array($encoder, $second_mockencoder)); $this->assertCount(2, $factory->getEncoders()); $this->assertCount(2, $factory->getSupportedEncoderNames()); $this->assertCount(0, array_diff(array('mockencoder', 'second_mockencoder'), $factory->getSupportedEncoderNames())); $this->assertCount(0, array_diff($factory->getSupportedEncoderNames(), array('mockencoder', 'second_mockencoder'))); }