public function validateMobileUid($validator, $values, $arguments = array()) { $uidType = $this->adapter->getAuthConfig('uid_type'); if (self::MUST_USE_MOBILE_UID != $uidType) { $validator = new opAuthValidatorMemberConfig(array('config_name' => 'mobile_cookie_uid', 'allow_empty_value' => false)); $values = $validator->clean($values); if (isset($values['member'])) { return $values; } } if (self::MUST_USE_COOKIE_UID == $uidType) { return $values; } $keys = array('mobile_uid', 'mobile_uid_fallback_op3', 'mobile_uid_fallback_op2'); foreach ($keys as $key) { $validator = new opAuthValidatorMemberConfig(array('config_name' => 'mobile_uid', 'allow_empty_value' => false, 'field_name' => $key)); $values = $validator->clean($values); if (!empty($values['member'])) { break; } } if (isset($values['member']) && $values['member']->getConfig('mobile_cookie_uid') && self::MUST_USE_MOBILE_UID != $uidType) { // The specified member already use mobile_cookie_uid, but this request doesn't contain the cookie. // This request must not be allowed. unset($values['member']); } return $values; }
public function validate($validator, $values, $arguments = array()) { if (!empty($values['openid'])) { $validator = new opAuthValidatorMemberConfig(array('config_name' => 'openid')); $result = $validator->clean($values); return $result; } $result = $this->validateIdentifier($validator, $values, $arguments); return $result; }
/** * @see opAuthValidatorMemberConfig */ protected function doClean($values) { opActivateBehavior::disable(); $values = parent::doClean($values); if (empty($values['member']) || !$values['member'] instanceof Member) { throw new sfValidatorError($this, 'invalid'); opActivateBehavior::enable(); } $valid_password = Doctrine::getTable('MemberConfig')->retrieveByNameAndMemberId('password', $values['member']->getId())->getValue(); opActivateBehavior::enable(); if (md5($values['password']) !== $valid_password) { throw new sfValidatorError($this, 'invalid'); } return $values; }