👁 查看:sfOpenPNEPasswordForm.class.php
路径:/virtual/bigbrother/sns/lib/form/sfOpenPNEPasswordForm.class.php
大小:1.15 KB · 修改:2010-08-10 13:59:42 · 权限:0644 · 可写
<?php
/**
* This file is part of the OpenPNE package.
* (c) OpenPNE Project (http://www.openpne.jp/)
*
* For the full copyright and license information, please view the LICENSE
* file and the NOTICE file that were distributed with this source code.
*/
/**
* sfOpenPNEPassword form.
*
* @package OpenPNE
* @subpackage form
* @author Kousuke Ebihara <ebihara@tejimaya.com>
*/
class sfOpenPNEPasswordForm extends sfForm
{
public function configure()
{
$this->setWidgets(array(
'password' => new sfWidgetFormInputPassword(),
));
$this->setValidators(array(
'password' => new sfValidatorAnd(array(
new sfValidatorString(),
new sfValidatorCallback(array('callback' => array($this, 'isValidPassword')))
))
));
$this->widgetSchema->setNameFormat('password[%s]');
}
public function isValidPassword($validator, $value)
{
$member = $this->options['member'];
if (md5($value) !== MemberConfigPeer::retrieveByNameAndMemberId('password', $member->getId())->getValue())
{
throw new sfValidatorError(new sfValidatorPass(), 'invalid', array('value' => $value));
}
return $value;
}
}