Source of file RegistrationPageController.php
Size: 2,863 Bytes - Last Modified: 2020-02-12T10:07:39+00:00
/var/www/docs.ssmods.com/process/src/src/RegistrationPageController.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | <?php namespace BucklesHusky\SimpleRegistration; use SilverStripe\CMS\Controllers\ContentController; use SilverStripe\Core\Convert; use SilverStripe\Forms\ConfirmedPasswordField; use SilverStripe\Forms\Form; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use SilverStripe\Forms\FormAction; use SilverStripe\Security\Member; use SilverStripe\Forms\EmailField; use PageController; class RegistrationPageController extends PageController { /** * An array of actions that can be accessed via a request. Each array element should be an action name, and the * permissions or conditions required to allow the user to access it. * * <code> * array ( * 'action', // anyone can access this action * 'action' => true, // same as above * 'action' => 'ADMIN', // you must have ADMIN permissions to access this action * 'action' => '->checkAction' // you can only access this action if $this->checkAction() returns true * ); * </code> * * @var array */ private static $allowed_actions = array( 'registrationForm' ); /* * form to edit expense */ public function registrationForm() { $form = Form::create( $this, __FUNCTION__, FieldList::create( EmailField::create('Email','Email*')->setAttribute('Required', 'true')->addExtraClass('form-control'), TextField::create('FirstName','First Name*')->setAttribute('Required', 'true')->addExtraClass('form-control'), TextField::create('LastName','Last Name*')->setAttribute('Required', 'true')->addExtraClass('form-control'), ConfirmedPasswordField::create('Password','Password*')->setAttribute('Required', 'true') ), FieldList::create( FormAction::create('doRegister', 'Register') ->setUseButtonTag(true) ->addExtraClass('btn btn-primary') ) ); return $form->addExtraClass('expenseEditForm'); } public function doRegister($data, $form) { //check to make sure the email isn't in use if ( $member = Member::get()->filter('Email',$data['Email'])->first() ) { $form->sessionMessage('That user already exist!','good'); return $this->redirectBack(); }else{ //lets make the new member $Member = Member::create(); $Member->Email = $data['Email']; $Member->Password = $data['Password']['_Password']; $Member->FirstName = $data['FirstName']; $Member->Surname = $data['LastName']; $Member->write(); } $form->sessionMessage('You have been registered!','good'); return $this->redirectBack(); } } |