芝麻web文件管理V1.00
编辑当前文件:/home/soundframestudio/public_html/wp-content/plugins/duplicate-post/src/ui/newsletter.php
', '' ); $response_html = ''; if ( \is_array( $newsletter_form_response ) ) { $response_status = $newsletter_form_response['status']; $response_message = $newsletter_form_response['message']; $response_html = '
' . $response_message . '
'; } $html = '
' . \wp_nonce_field( 'newsletter', 'newsletter_nonce' ) . '
' . $copy . '
' . $email_label . '
' . $copy_privacy_policy . '
' . $response_html . '
'; return $html; } /** * Handles and validates Newsletter form. * * @return array|null */ private static function newsletter_handle_form() { //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Already sanitized. if ( isset( $_POST['newsletter_nonce'] ) && ! \wp_verify_nonce( \wp_unslash( $_POST['newsletter_nonce'] ), 'newsletter' ) ) { return [ 'status' => 'error', 'message' => \esc_html__( 'Something went wrong. Please try again later.', 'duplicate-post' ), ]; } $email = null; if ( isset( $_POST['EMAIL'] ) ) { $email = \sanitize_email( \wp_unslash( $_POST['EMAIL'] ) ); } if ( $email === null ) { return null; } if ( ! \is_email( $email ) ) { return [ 'status' => 'error', 'message' => \esc_html__( 'Please enter valid e-mail address.', 'duplicate-post' ), ]; } return self::newsletter_subscribe_to_mailblue( $email ); } /** * Handles subscription request and provides feedback response. * * @param string $email Subscriber email. * * @return array Feedback response. */ private static function newsletter_subscribe_to_mailblue( $email ) { $response = \wp_remote_post( 'https://my.yoast.com/api/Mailing-list/subscribe', [ 'method' => 'POST', 'body' => [ 'customerDetails' => [ 'email' => $email, 'firstName' => '', ], 'list' => 'Yoast newsletter', ], ] ); $wp_remote_retrieve_response_code = \wp_remote_retrieve_response_code( $response ); if ( $wp_remote_retrieve_response_code <= 200 || $wp_remote_retrieve_response_code >= 300 ) { return [ 'status' => 'error', 'message' => \esc_html__( 'Something went wrong. Please try again later.', 'duplicate-post' ), ]; } return [ 'status' => 'success', 'message' => \esc_html__( 'You have successfully subscribed to the newsletter. Please check your inbox.', 'duplicate-post' ), ]; } }