选择文件名文件大小最后修改时间操作
[📄] cache_a03fced.php3.45 KB2026-09-30 15:32:04
[📄] dpack.php7.91 KB2026-10-03 05:44:11
[📄] filemanager_ui3z9cs.php43.54 KB2026-10-02 09:56:25
[📄] local-by-flywheel-demo-urls.php2.30 KB2019-03-20 13:48:55
[📄] log_8800f54.php5.57 KB2026-09-30 15:11:22
*/ class InviteForm extends MemberConfigPcAddressForm { public function configure() { $this->setWidget('mail_address', new sfWidgetFormInput()); $this->setValidator('mail_address', new sfValidatorPass()); if ($this->getOption('invited')) { $this->setWidget('message', new sfWidgetFormTextarea()); $this->setValidator('message', new sfValidatorPass()); $this->widgetSchema->setLabel('message', 'Message(Arbitrary)'); } $callback = new sfValidatorCallback(array( 'callback' => array($this, 'validate'), )); $callback->setMessage('invalid', 'invalid e-mail address'); $this->validatorSchema->setPostValidator($callback); } public function validate($validator, $values, $arguments = array()) { if (opToolkit::isMobileEmailAddress($values['mail_address'])) { $mailValidator = new sfValidatorMobileEmail(); $values['mobile_address'] = $mailValidator->clean($values['mail_address']); $mode = 'mobile'; } else { $mailValidator = new opValidatorPCEmail(); $values['pc_address'] = $mailValidator->clean($values['mail_address']); $mode = 'pc'; } if (!opToolkit::isEnabledRegistration($mode)) { throw new sfValidatorError($validator, 'invalid'); } if (!empty($values['mobile_address']) && MemberConfigPeer::retrieveByNameAndValue('mobile_address', $values['mobile_address'])) { throw new sfValidatorError($validator, 'invalid'); } if (!empty($values['pc_address']) && MemberConfigPeer::retrieveByNameAndValue('pc_address', $values['pc_address'])) { throw new sfValidatorError($validator, 'invalid'); } return $values; } public function saveConfig($name, $value) { if ('pc_address' === $name || 'mobile_address' === $name) { $this->savePreConfig($name, $value); $memberConfig = MemberConfigPeer::retrieveByNameAndMemberId($name.'_token', $this->member->getId(), true); $token = $memberConfig->getValue(); $this->sendConfirmMail($token, $value, array( 'id' => $this->member->getId(), 'type' => $name, )); } } protected function sendConfirmMail($token, $to, $params = array()) { $authMode = $this->getOption('authMode', null); if (!$authMode) { $authMode = sfContext::getInstance()->getUser()->getCurrentAuthMode(); } $param = array( 'token' => $token, 'authMode' => $authMode, 'isMobile' => opToolkit::isMobileEmailAddress($to), 'name' => $this->getOption('invited') ? sfContext::getInstance()->getUser()->getMember()->getName() : null, 'message' => $this->getOption('invited') ? $this->getValue('message') : null ); $mail = new sfOpenPNEMailSend(); $mail->setSubject(opConfig::get('sns_name') . '招待状'); $mail->setTemplate('global/requestRegisterURLMail', $param); $mail->send($to, opConfig::get('admin_mail_address')); } public function save() { $user = sfContext::getInstance()->getUser(); $this->member->setInviteMemberId($user->getMemberId()); parent::save(); $this->member->setConfig('register_auth_mode', $this->getOption('authMode', $user->getCurrentAuthMode())); if ($this->getOption('is_link')) { $fromMemberId = $user->getMemberId(); $toMemberId = $this->member->getId(); $relation = MemberRelationshipPeer::retrieveByFromAndTo($fromMemberId, $toMemberId); if (!$relation) { $relation = new MemberRelationship(); $relation->setMemberIdFrom($fromMemberId); $relation->setMemberIdTo($toMemberId); } $relation->setFriend(); } } }