예제 #1
0
 /**
  * Validates different kinds of form submissions.
  *
  * Free Registration Forms do NOT require API Credentials.
  *
  * @package optimizeMember\PayPal
  * @since 1.5
  *
  * @param str $form The type of Pro Form being submitted.
  * @param array $s An array of data submitted through the Pro Form.
  * @return null|array Null if there are no errors, else a response array.
  */
 public static function paypal_form_submission_validation_errors($form = FALSE, $s = FALSE)
 {
     if ($form === "registration" || !($response = c_ws_plugin__optimizemember_pro_paypal_responses::paypal_form_api_validation_errors())) {
         if ($form === "cancellation") {
             if (!is_user_logged_in()) {
                 $response = array("response" => sprintf(_x('You must <a href="%s" rel="nofollow">log in</a> to cancel your account.', "s2member-front", "s2member"), esc_attr(wp_login_url($_SERVER["REQUEST_URI"]))), "error" => true);
             } else {
                 if ($s["attr"]["captcha"] && (!$s["recaptcha_challenge_field"] || !$s["recaptcha_response_field"] || !c_ws_plugin__optimizemember_utils_captchas::recaptcha_code_validates($s["recaptcha_challenge_field"], $s["recaptcha_response_field"]))) {
                     $response = array("response" => _x('Missing or invalid Security Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                 } else {
                     if (is_object($user = wp_get_current_user()) && $user->ID && $user->has_cap("administrator")) {
                         /* NOT for Administrators. */
                         $response = array("response" => _x('Unable to process. You are an Administrator. Stopping here for security. Otherwise, an Administrator could lose access.', "s2member-admin", "s2member"), "error" => true);
                     }
                 }
             }
         } else {
             if ($form === "update") {
                 if (!is_user_logged_in()) {
                     $response = array("response" => sprintf(_x('You must <a href="%s" rel="nofollow">log in</a> to update your billing information.', "s2member-front", "s2member"), esc_attr(wp_login_url($_SERVER["REQUEST_URI"]))), "error" => true);
                 } else {
                     if (is_object($user = wp_get_current_user()) && $user->ID && $user->has_cap("administrator")) {
                         /* NOT for Administrators. */
                         $response = array("response" => _x('Unable to process. You are an Administrator. Stopping here for security. Otherwise, an Administrator could lose access.', "s2member-admin", "s2member"), "error" => true);
                     } else {
                         if (!$s["card_type"] || !is_string($s["card_type"])) {
                             $response = array("response" => _x('Missing Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                         } else {
                             if (!in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo", "PayPal")) || !is_array($s["attr"]["accept"]) || !in_array(strtolower($s["card_type"]), $s["attr"]["accept"])) {
                                 $response = array("response" => _x('Invalid Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                             } else {
                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_number"] || !is_string($s["card_number"]))) {
                                     $response = array("response" => _x('Missing Card Number. Please try again.', "s2member-front", "s2member"), "error" => true);
                                 } else {
                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_expiration"] || !is_string($s["card_expiration"]))) {
                                         $response = array("response" => _x('Missing Card Expiration Date ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                     } else {
                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && !preg_match("/^[0-9]{2}\\/[0-9]{4}\$/", $s["card_expiration"])) {
                                             $response = array("response" => _x('Invalid Card Expiration Date. Must be in this format ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                         } else {
                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_verification"] || !is_string($s["card_verification"]))) {
                                                 $response = array("response" => _x('Missing Card Verification Code. It\'s on the back of your Card. 3-4 digits. Please try again.', "s2member-front", "s2member"), "error" => true);
                                             } else {
                                                 if (in_array($s["card_type"], array("Maestro", "Solo")) && (!$s["card_start_date_issue_number"] || !is_string($s["card_start_date_issue_number"]))) {
                                                     $response = array("response" => _x('Missing Card Start Date, or Issue #. Required for Maestro/Solo. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                 } else {
                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["street"] || !is_string($s["street"]))) {
                                                         $response = array("response" => _x('Missing Street Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                     } else {
                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["city"] || !is_string($s["city"]))) {
                                                             $response = array("response" => _x('Missing City/Town. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                         } else {
                                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["state"] || !is_string($s["state"]))) {
                                                                 $response = array("response" => _x('Missing State/Province. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                             } else {
                                                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["country"] || !is_string($s["country"]))) {
                                                                     $response = array("response" => _x('Missing Country. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                 } else {
                                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["zip"] || !is_string($s["zip"]))) {
                                                                         $response = array("response" => _x('Missing Postal/Zip Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                     } else {
                                                                         if ($s["attr"]["captcha"] && (!$s["recaptcha_challenge_field"] || !$s["recaptcha_response_field"] || !c_ws_plugin__optimizemember_utils_captchas::recaptcha_code_validates($s["recaptcha_challenge_field"], $s["recaptcha_response_field"]))) {
                                                                             $response = array("response" => _x('Missing or invalid Security Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             } else {
                 if ($form === "registration") {
                     if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_names"] && (!$s["first_name"] || !is_string($s["first_name"]))) {
                         $response = array("response" => _x('Missing First Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                     } else {
                         if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_names"] && (!$s["last_name"] || !is_string($s["last_name"]))) {
                             $response = array("response" => _x('Missing Last Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                         } else {
                             if (!$s["email"] || !is_string($s["email"])) {
                                 $response = array("response" => _x('Missing or invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                             } else {
                                 if (!is_email($s["email"])) {
                                     $response = array("response" => _x('Invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                 } else {
                                     if (email_exists($s["email"]) && (!is_multisite() || !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]))) {
                                         $response = array("response" => _x('That Email Address is already in use. Please try again.', "s2member-front", "s2member"), "error" => true);
                                     } else {
                                         if (!$s["username"] || !is_string($s["username"])) {
                                             $response = array("response" => _x('Missing or invalid Username. Please try again.', "s2member-front", "s2member"), "error" => true);
                                         } else {
                                             if (!validate_username($s["username"])) {
                                                 $response = array("response" => _x('Invalid Username. Please try again. Use ONLY lowercase alphanumerics.', "s2member-front", "s2member"), "error" => true);
                                             } else {
                                                 if (username_exists($s["username"]) && (!is_multisite() || !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]))) {
                                                     $response = array("response" => _x('That Username is already in use. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                 } else {
                                                     if (is_multisite() && !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]) && ($_response = wpmu_validate_user_signup($s["username"], $s["email"])) && is_wp_error($_errors = $_response["errors"]) && $_errors->get_error_message()) {
                                                         $response = array("response" => $_errors->get_error_message(), "error" => true);
                                                     } else {
                                                         if ((!$s["password1"] || !is_string($s["password1"])) && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                             $response = array("response" => _x('Missing Password. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                         } else {
                                                             if (strlen($s["password1"]) < 6 && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                 $response = array("response" => _x('Invalid Password. Must be at least 6 characters. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                             } else {
                                                                 if (strlen($s["password1"]) > 20 && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                     $response = array("response" => _x('Invalid Password. Max length is 20 characters. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                 } else {
                                                                     if ($s["password2"] !== $s["password1"] && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                         $response = array("response" => _x('Password fields do NOT match. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                     } else {
                                                                         if ($s["attr"]["captcha"] && (!$s["recaptcha_challenge_field"] || !$s["recaptcha_response_field"] || !c_ws_plugin__optimizemember_utils_captchas::recaptcha_code_validates($s["recaptcha_challenge_field"], $s["recaptcha_response_field"]))) {
                                                                             $response = array("response" => _x('Missing or invalid Security Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 } else {
                     if ($form === "sp-checkout") {
                         if (!$s["first_name"] || !is_string($s["first_name"])) {
                             $response = array("response" => _x('Missing First Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                         } else {
                             if (!$s["last_name"] || !is_string($s["last_name"])) {
                                 $response = array("response" => _x('Missing Last Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                             } else {
                                 if (!$s["email"] || !is_string($s["email"])) {
                                     $response = array("response" => _x('Missing or invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                 } else {
                                     if (!is_email($s["email"])) {
                                         $response = array("response" => _x('Invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                     } else {
                                         if (!$s["card_type"] || !is_string($s["card_type"])) {
                                             $response = array("response" => _x('Missing Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                         } else {
                                             if (!in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo", "PayPal")) || !is_array($s["attr"]["accept"]) || !in_array(strtolower($s["card_type"]), $s["attr"]["accept"])) {
                                                 $response = array("response" => _x('Invalid Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                             } else {
                                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_number"] || !is_string($s["card_number"]))) {
                                                     $response = array("response" => _x('Missing Card Number. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                 } else {
                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_expiration"] || !is_string($s["card_expiration"]))) {
                                                         $response = array("response" => _x('Missing Card Expiration Date ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                     } else {
                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && !preg_match("/^[0-9]{2}\\/[0-9]{4}\$/", $s["card_expiration"])) {
                                                             $response = array("response" => _x('Invalid Card Expiration Date. Must be in this format ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                         } else {
                                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_verification"] || !is_string($s["card_verification"]))) {
                                                                 $response = array("response" => _x('Missing Card Verification Code. It\'s on the back of your Card. 3-4 digits. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                             } else {
                                                                 if (in_array($s["card_type"], array("Maestro", "Solo")) && (!$s["card_start_date_issue_number"] || !is_string($s["card_start_date_issue_number"]))) {
                                                                     $response = array("response" => _x('Missing Card Start Date, or Issue #. Required for Maestro/Solo. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                 } else {
                                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["street"] || !is_string($s["street"]))) {
                                                                         $response = array("response" => _x('Missing Street Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                     } else {
                                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["city"] || !is_string($s["city"]))) {
                                                                             $response = array("response" => _x('Missing City/Town. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                         } else {
                                                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["state"] || !is_string($s["state"]))) {
                                                                                 $response = array("response" => _x('Missing State/Province. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                             } else {
                                                                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["country"] || !is_string($s["country"]))) {
                                                                                     $response = array("response" => _x('Missing Country. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                 } else {
                                                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["zip"] || !is_string($s["zip"]))) {
                                                                                         $response = array("response" => _x('Missing Postal/Zip Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                     } else {
                                                                                         if ($s["attr"]["captcha"] && (!$s["recaptcha_challenge_field"] || !$s["recaptcha_response_field"] || !c_ws_plugin__optimizemember_utils_captchas::recaptcha_code_validates($s["recaptcha_challenge_field"], $s["recaptcha_response_field"]))) {
                                                                                             $response = array("response" => _x('Missing or invalid Security Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     } else {
                         if ($form === "checkout") {
                             if ($s["attr"]["modify"] && !is_user_logged_in()) {
                                 $response = array("response" => sprintf(_x('You must <a href="%s" rel="nofollow">log in</a> to modify your billing plan.', "s2member-front", "s2member"), esc_attr(wp_login_url($_SERVER["REQUEST_URI"]))), "error" => true);
                             } else {
                                 if ($s["attr"]["level"] === "*" && !is_user_logged_in()) {
                                     $response = array("response" => sprintf(_x('You must <a href="%s" rel="nofollow">log in</a> before making this purchase.', "s2member-front", "s2member"), esc_attr(wp_login_url($_SERVER["REQUEST_URI"]))), "error" => true);
                                 } else {
                                     if (is_user_logged_in() && is_object($user = wp_get_current_user()) && $user->ID && $user->has_cap("administrator")) {
                                         /* NOT for Administrators. */
                                         $response = array("response" => _x('Unable to process. You are an Administrator. Stopping here for security. Otherwise, an Administrator could lose access.', "s2member-admin", "s2member"), "error" => true);
                                     } else {
                                         if (!$s["first_name"] || !is_string($s["first_name"])) {
                                             $response = array("response" => _x('Missing First Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                                         } else {
                                             if (!$s["last_name"] || !is_string($s["last_name"])) {
                                                 $response = array("response" => _x('Missing Last Name. Please try again.', "s2member-front", "s2member"), "error" => true);
                                             } else {
                                                 if (!is_user_logged_in() && (!$s["email"] || !is_string($s["email"]))) {
                                                     $response = array("response" => _x('Missing or invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                 } else {
                                                     if (!is_user_logged_in() && !is_email($s["email"])) {
                                                         $response = array("response" => _x('Invalid Email Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                     } else {
                                                         if (!is_user_logged_in() && email_exists($s["email"]) && (!is_multisite() || !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]))) {
                                                             $response = array("response" => _x('That Email Address is already in use. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                         } else {
                                                             if (!is_user_logged_in() && (!$s["username"] || !is_string($s["username"]))) {
                                                                 $response = array("response" => _x('Missing or invalid Username. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                             } else {
                                                                 if (!is_user_logged_in() && !validate_username($s["username"])) {
                                                                     $response = array("response" => _x('Invalid Username. Please try again. Use ONLY lowercase alphanumerics.', "s2member-front", "s2member"), "error" => true);
                                                                 } else {
                                                                     if (!is_user_logged_in() && username_exists($s["username"]) && (!is_multisite() || !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]))) {
                                                                         $response = array("response" => _x('That Username is already in use. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                     } else {
                                                                         if (!is_user_logged_in() && is_multisite() && !c_ws_plugin__optimizemember_utils_users::ms_user_login_email_can_join_blog($s["username"], $s["email"]) && ($_response = wpmu_validate_user_signup($s["username"], $s["email"])) && is_wp_error($_errors = $_response["errors"]) && $_errors->get_error_message()) {
                                                                             $response = array("response" => $_errors->get_error_message(), "error" => true);
                                                                         } else {
                                                                             if (!is_user_logged_in() && (!$s["password1"] || !is_string($s["password1"])) && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                                 $response = array("response" => _x('Missing Password. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                             } else {
                                                                                 if (!is_user_logged_in() && strlen($s["password1"]) < 6 && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                                     $response = array("response" => _x('Invalid Password. Must be at least 6 characters. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                 } else {
                                                                                     if (!is_user_logged_in() && strlen($s["password1"]) > 20 && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                                         $response = array("response" => _x('Invalid Password. Max length is 20 characters. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                     } else {
                                                                                         if (!is_user_logged_in() && $s["password2"] !== $s["password1"] && $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_password"]) {
                                                                                             $response = array("response" => _x('Password fields do NOT match. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                         } else {
                                                                                             if (!$s["card_type"] || !is_string($s["card_type"])) {
                                                                                                 $response = array("response" => _x('Missing Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                             } else {
                                                                                                 if (!in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo", "PayPal")) || !is_array($s["attr"]["accept"]) || !in_array(strtolower($s["card_type"]), $s["attr"]["accept"])) {
                                                                                                     $response = array("response" => _x('Invalid Card Type ( Billing Method ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                 } else {
                                                                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_number"] || !is_string($s["card_number"]))) {
                                                                                                         $response = array("response" => _x('Missing Card Number. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                     } else {
                                                                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_expiration"] || !is_string($s["card_expiration"]))) {
                                                                                                             $response = array("response" => _x('Missing Card Expiration Date ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                         } else {
                                                                                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && !preg_match("/^[0-9]{2}\\/[0-9]{4}\$/", $s["card_expiration"])) {
                                                                                                                 $response = array("response" => _x('Invalid Card Expiration Date. Must be in this format ( mm/yyyy ). Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                             } else {
                                                                                                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["card_verification"] || !is_string($s["card_verification"]))) {
                                                                                                                     $response = array("response" => _x('Missing Card Verification Code. It\'s on the back of your Card. 3-4 digits. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                 } else {
                                                                                                                     if (in_array($s["card_type"], array("Maestro", "Solo")) && (!$s["card_start_date_issue_number"] || !is_string($s["card_start_date_issue_number"]))) {
                                                                                                                         $response = array("response" => _x('Missing Card Start Date, or Issue #. Required for Maestro/Solo. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                     } else {
                                                                                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["street"] || !is_string($s["street"]))) {
                                                                                                                             $response = array("response" => _x('Missing Street Address. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                         } else {
                                                                                                                             if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["city"] || !is_string($s["city"]))) {
                                                                                                                                 $response = array("response" => _x('Missing City/Town. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                             } else {
                                                                                                                                 if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["state"] || !is_string($s["state"]))) {
                                                                                                                                     $response = array("response" => _x('Missing State/Province. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                                 } else {
                                                                                                                                     if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["country"] || !is_string($s["country"]))) {
                                                                                                                                         $response = array("response" => _x('Missing Country. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                                     } else {
                                                                                                                                         if (in_array($s["card_type"], array("Visa", "MasterCard", "Discover", "Amex", "Maestro", "Solo")) && (!$s["zip"] || !is_string($s["zip"]))) {
                                                                                                                                             $response = array("response" => _x('Missing Postal/Zip Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                                         } else {
                                                                                                                                             if ($s["attr"]["captcha"] && (!$s["recaptcha_challenge_field"] || !$s["recaptcha_response_field"] || !c_ws_plugin__optimizemember_utils_captchas::recaptcha_code_validates($s["recaptcha_challenge_field"], $s["recaptcha_response_field"]))) {
                                                                                                                                                 $response = array("response" => _x('Missing or invalid Security Code. Please try again.', "s2member-front", "s2member"), "error" => true);
                                                                                                                                             }
                                                                                                                                         }
                                                                                                                                     }
                                                                                                                                 }
                                                                                                                             }
                                                                                                                         }
                                                                                                                     }
                                                                                                                 }
                                                                                                             }
                                                                                                         }
                                                                                                     }
                                                                                                 }
                                                                                             }
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         } else {
                             /* Else we are dealing with an unknown form submission type. */
                             $response = array("response" => _x('Unknown form submission type. Please contact Support.', "s2member-front", "s2member"), "error" => true);
                         }
                     }
                 }
             }
         }
     }
     /**/
     return empty($response) ? null : $response;
 }
예제 #2
0
 /**
  * Builds the Pro Forms page for this Payment Gateway.
  *
  * @package optimizeMember\Menu_Pages
  * @since 1.5
  *
  * @return null
  */
 public static function paypal_forms_page()
 {
     if (c_ws_plugin__optimizemember_pro_paypal_responses::paypal_form_api_validation_errors()) {
         /* Report error if PayPal Options are not yet configured. */
         c_ws_plugin__optimizemember_admin_notices::display_admin_notice('Please configure <code>optimizeMember -> PayPal Options</code> first. Once all of your PayPal Options are configured; including your Email Address, API Username, Password, and Signature; return to this page &amp; generate your PayPal Pro Form(s).<br /><br />*NOTE: If you\'re ONLY planning to use Free Registration Forms (e.g. you\'re NOT going to accept payments), you can safely ignore this warning and continue to use the Free Registration Form shortcode provided below.', true);
     }
     /**/
     include_once dirname(dirname(dirname(dirname(__FILE__)))) . "/menu-pages/paypal-forms.inc.php";
     /**/
     return;
     /* Return for uniformity. */
 }