Files
fckeditor
images
javascript
languages
libs
modules
default
install
news
stats
users
controllers
forms
AccountInfo.php
ChangePassword.php
Login.php
PersonalInfo.php
RecoverPassword.php
Register.php
SigninImage.php
models
views
plugins
resources
setup
styles
views
.htaccess
Acl.php
Application.php
BUGS
CHANGELOG
CONTRIBUTORS
IIS_7_rewrite_config.txt
INSTALL
LICENSE
README
README.md
config.default.php
config.template.php
favicon.ico
index.php
lighttpd_mod_rewrite.txt
CommunityID/modules/users/forms/AccountInfo.php

84 lines
2.9 KiB
PHP

<?php
/*
* @copyright Copyright (C) 2005-2010 Keyboard Monkeys Ltd. http://www.kb-m.com
* @license http://creativecommons.org/licenses/BSD/ BSD License
* @author Keyboard Monkeys Ltd.
* @since CommunityID 0.9
* @package CommunityID
* @packager Keyboard Monkeys
*/
class Users_Form_AccountInfo extends Zend_Form
{
private $_targetUser;
public function __construct($options = null, $user = null)
{
$this->_targetUser = $user;
parent::__construct($options);
}
public function init()
{
$username = new Monkeys_Form_Element_Text('username');
translate('Username');
$username->setLabel('Username')
->addValidator(new Monkeys_Validate_Username())
->setRequired(true);
$firstname = new Monkeys_Form_Element_Text('firstname');
translate('First Name');
$firstname->setLabel('First Name')
->setRequired(true);
$lastname = new Monkeys_Form_Element_Text('lastname');
translate('Last Name');
$lastname->setLabel('Last Name')
->setRequired(true);
$email = new Monkeys_Form_Element_Text('email');
translate('E-mail');
$email->setLabel('E-mail')
->addFilter('StringToLower')
->setRequired(true)
->addValidator('EmailAddress');
$authMethod = new Monkeys_Form_Element_Select('authMethod');
translate('Auth Method');
$authMethod->setLabel('Auth Method')
->addMultiOption(Users_Model_User::AUTH_PASSWORD, 'Password')
->addMultiOption(Users_Model_User::AUTH_YUBIKEY, 'YubiKey')
->setAttrib('onchange', 'COMMID.general.toggleYubikey()');
$yubikey = new Monkeys_Form_Element_Text('yubikey');
translate('Associated YubiKey');
$yubikey->setLabel('Associated YubiKey')
->setAttrib('class', 'yubiKeyInput');
$this->addElements(array($username, $firstname, $lastname, $email, $authMethod, $yubikey));
if (!$this->_targetUser->id) {
$password1 = new Monkeys_Form_Element_Password('password1');
translate('Enter password');
$passwordValidator = new Monkeys_Validate_Password();
$password1->setLabel('Enter password')
->setRequired(true)
->addValidator(new Monkeys_Validate_PasswordConfirmation())
->addValidator($passwordValidator);
if ($restrictions = $passwordValidator->getPasswordRestrictionsDescription()) {
$password1->setDescription($restrictions);
}
$password2 = new Monkeys_Form_Element_Password('password2');
translate('Enter password again');
$password2->setLabel('Enter password again')
->setRequired(true);
$this->addElements(array($password1, $password2));
}
}
}