<?php
$form = \CPFCMembers\LoginForm::getInstance(); ?>

<header class="header logged-out">

    <?php
    if (isset($showLogin) && $showLogin) { ?>

    <div class="login-panel">
        <div class="container">
            <form class="login" method="POST" action="<?php echo cpfc_home_url(CPFC_MEMBERS_LOGIN_URL); ?>">
                <?php echo $form->securityField(); ?>
                <fieldset>
                    <div class="row">
                        <div class="col-sm-4">
                            <div class="form-block-wrap form-group">
                                <label for="email_address" class="control-label hidden">Email <?php echo $form->indicateRequired('email_address'); ?></label>
                                <input class="form-control" type="text" name="email_address" id="email" placeholder="Your email" data-bv-notempty="true" data-bv-notempty-message="The email address is required and cannot be empty" data-bv-emailaddress="true" data-bv-emailaddress-message="The email address is not valid" />
                            </div>

                        </div>
                        <div class="col-sm-4">
                            <div class="form-block-wrap form-group">
                                <label for="password" class="control-label hidden">Password <?php echo $form->indicateRequired('password'); ?></label>
                                <input class="form-control" type="password" name="password" id="password" placeholder="Your password" data-bv-notempty="true" data-bv-notempty-message="A password is required and cannot be empty" data-bv-identical="true" data-bv-identical-field="confirmPassword" data-bv-identical-message="Passwords do not match" data-bv-different="true" data-bv-different-field="username" data-bv-different-message="The password cannot be the same as username" />
                                <a href="<?php echo cpfc_home_url(CPFC_MEMBERS_FORGOTTEN_PASSWORD_URL); ?>">Forgotten your password?</a>
                            </div>
                        </div>
                        <div class="col-sm-4">
                            <div class="logged">
                                <label for="long-login">Keep me logged in</label>
Exemplo n.º 2
0
    /**
     * Login process
     */
    protected function _login()
    {
        // Can't access if already logged in as Member
        if (\CPFCMembers\Auth::isLoggedIn()) {
            wp_redirect(cpfc_home_url(CPFC_MEMBERS_HOME_URL, CPFC_MEMBERS_HTTP_MODE), 301);
            exit();
        }

		// Resend registration email for unverified members
		if(($email = Input::get('resend')) && ($member = \CPFCMembers\UserModel::loadBy('email_address',$email)) && $member->getRegistrationStatus() == 'unverified'){
            $form = \CPFCMembers\LoginForm::getInstance();
            $form->setValues(array('email_address' => $email));
			$form->addError('form','Thanks, we\'ve sent that to you now. Please check your email and click on the verification link, and then you\'ll be able to login.
<br /><br />
If you\'re still having problems, email us at: help@eagles.cpfc.co.uk');
			$email = new \CPFCMembers\Email('email_templates/verification_email_request', array('User'=>$member));
			$email->send($member->getEmailAddress(), 'Your Email Verification Request');
		}

        $Auth = \CPFCMembers\Auth::getInstance();

        if (Input::isPost()) {
            $form = \CPFCMembers\LoginForm::getInstance();
            $form->setValues(Input::post());
            $form->validate();

            if ($form->isValid()) {

				// Check for valid user
		        if(($user = get_user_by('email', $form->getValue('email_address'))) && wp_check_password($form->getValue('password'),$user->user_pass)){
					// Block unverified members after nth login attempt
	        		if(($member = \CPFCMembers\UserModel::loadBy('id',$user->ID)) && $member->getLoginCount() >= 3 && $member->getRegistrationStatus() == 'unverified'){
						$form->addError('form', 'It doesn\'t look like you\'ve confirmed your email address yet by clicking on the link in the email we sent you. To access the digital member\'s portal, please check your inbox and click on the verification link.
<br /><br />
If you would like us to send a new confirmation email, please <a href="?resend='.urlencode($form->getValue('email_address')).'">click here</a>.');
						return false;
		        	}
		        }

                if (!$Auth->authenticate($form->getValue('email_address'), $form->getValue('password'), $form->getValue('long_login') ? true : false)) {
                    $form->addError('form', 'Username and/or password incorrect.');
                    return false;
                }

				if($loginRedirect = \CPFCMembers\Session::get('login_redirect')){
					\CPFCMembers\Session::delete('login_redirect');
				}
				else{
					$loginRedirect = cpfc_home_url(CPFC_MEMBERS_HOME_URL, CPFC_MEMBERS_HTTP_MODE);
				}

                wp_redirect($loginRedirect, 301);
                exit();
            }
        }
    }