예제 #1
0
/**
 * Displays the HTML for error messages
 *
 * @access      public
 * @since       4.0.0
 */
function leaky_paywall_show_error_messages($error_id = '')
{
    if (leaky_paywall_errors()->get_error_codes()) {
        do_action('leaky_paywall_errors_before');
        echo leaky_paywall_get_error_messages_html($error_id);
        do_action('leaky_paywall_errors_after');
    }
}
 /**
  * Validate additional fields during registration submission
  *
  * @since 4.0.0
  */
 public function validate_fields()
 {
     if (empty($_POST['card_number'])) {
         leaky_paywall_errors()->add('missing_card_number', __('The card number you entered is invalid', 'issuem-leaky-paywall'), 'register');
     }
 }
예제 #3
0
 function leaky_paywall_free_registration_form()
 {
     $level_id = $_GET['issuem-leaky-paywall-free-form'];
     $settings = get_leaky_paywall_settings();
     $return = '';
     if ($level = get_leaky_paywall_subscription_level($level_id)) {
         if (empty($level['price'])) {
             if ($codes = leaky_paywall_errors()->get_error_codes()) {
                 echo '<div class="leaky_paywall_errors">';
                 // Loop error codes and display errors
                 foreach ($codes as $code) {
                     $message = leaky_paywall_errors()->get_error_message($code);
                     $return .= '<span class="error"><strong>' . __('Error') . '</strong>: ' . $message . '</span><br/>';
                 }
                 echo '</div>';
             }
             $return .= '<h3>' . sprintf(__('Register for %s', 'issuem-leaky-paywall'), $level['label']) . '</h3>';
             $return .= '<form id="leaky_paywall_registration_form" class="leaky_paywall_form" action="" method="POST">';
             $return .= '<fieldset>';
             $return .= '<p>';
             $return .= '<label for="leaky_paywall_user_Login" class="leaky-paywall-field-label">' . __('Username', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_login" id="leaky_paywall_user_login" class="required" type="text"/>';
             $return .= '</p>';
             $return .= '<p>';
             $return .= '<label for="leaky_paywall_user_email" class="leaky-paywall-field-label">' . __('Email', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_email" id="leaky_paywall_user_email" class="required" type="email"/>';
             $return .= '</p>';
             $return .= '<p>';
             $return .= '<label for="leaky_paywall_user_first" class="leaky-paywall-field-label">' . __('First Name', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_first" id="leaky_paywall_user_first" type="text"/>';
             $return .= '</p>';
             $return .= '<p>';
             $return .= '<label for="leaky_paywall_user_last" class="leaky-paywall-field-label">' . __('Last Name', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_last" id="leaky_paywall_user_last" type="text"/>';
             $return .= '</p>';
             $return .= '<p>';
             $return .= '<label for="password" class="leaky-paywall-field-label">' . __('Password', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_pass" id="password" class="required" type="password"/>';
             $return .= '</p>';
             $return .= '<p>';
             $return .= '<label for="password_again" class="leaky-paywall-field-label">' . __('Password Again', 'issuem-leaky-paywall') . '</label>';
             $return .= '<input name="leaky_paywall_user_pass_confirm" id="password_again" class="required" type="password"/>';
             $return .= '</p>';
             $return = apply_filters('leaky_paywall_after_registration_fields', $return);
             $return .= '<p>';
             $return .= '<input type="hidden" name="leaky_paywall_register_nonce" value="' . wp_create_nonce('leaky_paywall-register-nonce') . '"/>';
             $return .= '<input type="hidden" name="leaky_paywall_register_level_id" value="' . $level_id . '"/>';
             $return .= '<input type="submit" name="issuem-leaky-paywall-free-return" value="' . __('Register Now', 'issuem-leaky-paywall') . '"/>';
             $return .= '</p>';
             $return .= '</fieldset>';
             $return .= '</form>';
         } else {
             $return .= __('Requested subscription level is not free', 'issuem-leaky-paywall');
         }
     } else {
         $return .= __('Not a valid subscription level', 'issuem-leaky-paywall');
     }
     return $return;
 }
 public function add_error($code = '', $message = '')
 {
     leaky_paywall_errors()->add($code, $message, 'register');
 }
/** 
 * Validate and setup the user data for registration
 *
 * @since  4.0.0
 */
function leaky_paywall_validate_user_data()
{
    $user = array();
    if (!is_user_logged_in()) {
        $user['id'] = 0;
        $user['login'] = sanitize_text_field($_POST['username']);
        $user['password'] = sanitize_text_field($_POST['password']);
        $user['confirm_password'] = sanitize_text_field($_POST['confirm_password']);
        $user['email'] = sanitize_text_field($_POST['email_address']);
        $user['first_name'] = sanitize_text_field($_POST['first_name']);
        $user['last_name'] = sanitize_text_field($_POST['last_name']);
        $user['need_new'] = true;
    } else {
        $userdata = get_userdata(get_current_user_id());
        $user['id'] = $userdata->ID;
        $user['login'] = $userdata->user_login;
        $user['email'] = $userdata->user_email;
        $user['first_name'] = sanitize_text_field($_POST['first_name']);
        $user['last_name'] = sanitize_text_field($_POST['last_name']);
        $user['password'] = sanitize_text_field($_POST['password']);
        $user['confirm_password'] = sanitize_text_field($_POST['confirm_password']);
        $user['need_new'] = false;
    }
    if (empty($user['first_name'])) {
        // empty first name
        leaky_paywall_errors()->add('firstname_empty', __('Please enter your first name', 'leaky_paywall'), 'register');
    }
    if (empty($user['last_name'])) {
        // empty last name
        leaky_paywall_errors()->add('lastname_empty', __('Please enter your last name', 'leaky_paywall'), 'register');
    }
    if (!is_email($user['email'])) {
        //invalid email
        leaky_paywall_errors()->add('email_invalid', __('Invalid email', 'leaky_paywall'), 'register');
    }
    if (!leaky_paywall_validate_username($user['login'])) {
        // invalid username
        leaky_paywall_errors()->add('username_invalid', __('Invalid username', 'leaky_paywall'), 'register');
    }
    if (empty($user['password'])) {
        // password is empty
        leaky_paywall_errors()->add('password_empty', __('Please enter a password', 'leaky_paywall'), 'register');
    }
    if ($user['password'] !== $user['confirm_password']) {
        // passwords do not match
        leaky_paywall_errors()->add('password_mismatch', __('Passwords do not match', 'leaky_paywall'), 'register');
    }
    if ($user['need_new']) {
        if (email_exists($user['email'])) {
            //Email address already registered
            leaky_paywall_errors()->add('email_used', __('Email already registered', 'leaky_paywall'), 'register');
        }
        if (username_exists($user['login'])) {
            // Username already registered
            leaky_paywall_errors()->add('username_unavailable', __('Username already taken', 'leaky_paywall'), 'register');
        }
        if (empty($user['login'])) {
            // empty username
            leaky_paywall_errors()->add('username_empty', __('Please enter a username', 'leaky_paywall'), 'register');
        }
    }
    return apply_filters('leaky_paywall_user_registration_data', $user);
}