first commit
This commit is contained in:
142
wp/wp-content/plugins/wp-mail-smtp/src/Helpers/Helpers.php
Normal file
142
wp/wp-content/plugins/wp-mail-smtp/src/Helpers/Helpers.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
|
||||
namespace WPMailSMTP\Helpers;
|
||||
|
||||
use WPMailSMTP\Options;
|
||||
use WPMailSMTP\WP;
|
||||
use WP_Error;
|
||||
|
||||
/**
|
||||
* Class with all the misc helper functions that don't belong elsewhere.
|
||||
*
|
||||
* @since 3.0.0
|
||||
*/
|
||||
class Helpers {
|
||||
|
||||
/**
|
||||
* Check if the current active mailer has email send confirmation functionality.
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function mailer_without_send_confirmation() {
|
||||
|
||||
return ! in_array(
|
||||
Options::init()->get( 'mail', 'mailer' ),
|
||||
[
|
||||
'sendlayer',
|
||||
'smtpcom',
|
||||
'sendinblue',
|
||||
'mailgun',
|
||||
'postmark',
|
||||
'sparkpost',
|
||||
],
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Include mbstring polyfill.
|
||||
*
|
||||
* @since 3.1.0
|
||||
*/
|
||||
public static function include_mbstring_polyfill() {
|
||||
|
||||
static $included = false;
|
||||
|
||||
if ( $included === true ) {
|
||||
return;
|
||||
}
|
||||
|
||||
require_once wp_mail_smtp()->plugin_path . '/vendor_prefixed/symfony/polyfill-mbstring/Mbstring.php';
|
||||
require_once wp_mail_smtp()->plugin_path . '/vendor_prefixed/symfony/polyfill-mbstring/bootstrap.php';
|
||||
|
||||
$included = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if the REST API is accessible.
|
||||
*
|
||||
* @since 3.3.0
|
||||
*
|
||||
* @return true|\WP_Error
|
||||
*/
|
||||
public static function test_rest_availability() {
|
||||
|
||||
$headers = [
|
||||
'Cache-Control' => 'no-cache',
|
||||
];
|
||||
|
||||
/** This filter is documented in wp-includes/class-wp-http-streams.php */
|
||||
$sslverify = apply_filters( 'https_local_ssl_verify', false );
|
||||
|
||||
$url = rest_url( 'wp-mail-smtp/v1' );
|
||||
|
||||
$response = wp_remote_get(
|
||||
$url,
|
||||
[
|
||||
'headers' => $headers,
|
||||
'sslverify' => $sslverify,
|
||||
]
|
||||
);
|
||||
|
||||
if ( is_wp_error( $response ) ) {
|
||||
return $response;
|
||||
} elseif ( wp_remote_retrieve_response_code( $response ) !== 200 ) {
|
||||
return new WP_Error( wp_remote_retrieve_response_code( $response ), wp_remote_retrieve_body( $response ) );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get string size in bytes.
|
||||
*
|
||||
* @since 3.4.0
|
||||
*
|
||||
* @param string $str String.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function strsize( $str ) {
|
||||
|
||||
if ( ! function_exists( 'mb_strlen' ) ) {
|
||||
self::include_mbstring_polyfill();
|
||||
}
|
||||
|
||||
return mb_strlen( $str, '8bit' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Format error message.
|
||||
*
|
||||
* @since 3.4.0
|
||||
*
|
||||
* @param string $message Error message.
|
||||
* @param string $code Error code.
|
||||
* @param string $description Error description.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function format_error_message( $message, $code = '', $description = '' ) {
|
||||
|
||||
$error_text = '';
|
||||
|
||||
if ( ! empty( $code ) ) {
|
||||
$error_text .= $code . ': ';
|
||||
}
|
||||
|
||||
if ( ! is_string( $message ) ) {
|
||||
$error_text .= wp_json_encode( $message );
|
||||
} else {
|
||||
$error_text .= $message;
|
||||
}
|
||||
|
||||
if ( ! empty( $description ) ) {
|
||||
$error_text .= WP::EOL . $description;
|
||||
}
|
||||
|
||||
return $error_text;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user