Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/contact-.../modules/stripe
File: service.php
<?php
[0] Fix | Delete
[1] Fix | Delete
if ( ! class_exists( 'WPCF7_Service' ) ) {
[2] Fix | Delete
return;
[3] Fix | Delete
}
[4] Fix | Delete
[5] Fix | Delete
class WPCF7_Stripe extends WPCF7_Service {
[6] Fix | Delete
[7] Fix | Delete
private static $instance;
[8] Fix | Delete
private $api_keys;
[9] Fix | Delete
[10] Fix | Delete
[11] Fix | Delete
public static function get_instance() {
[12] Fix | Delete
if ( empty( self::$instance ) ) {
[13] Fix | Delete
self::$instance = new self;
[14] Fix | Delete
}
[15] Fix | Delete
[16] Fix | Delete
return self::$instance;
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
[20] Fix | Delete
private function __construct() {
[21] Fix | Delete
$option = WPCF7::get_option( 'stripe' );
[22] Fix | Delete
[23] Fix | Delete
if ( isset( $option['api_keys']['publishable'] )
[24] Fix | Delete
and isset( $option['api_keys']['secret'] ) ) {
[25] Fix | Delete
$this->api_keys = array(
[26] Fix | Delete
'publishable' => $option['api_keys']['publishable'],
[27] Fix | Delete
'secret' => $option['api_keys']['secret'],
[28] Fix | Delete
);
[29] Fix | Delete
}
[30] Fix | Delete
}
[31] Fix | Delete
[32] Fix | Delete
[33] Fix | Delete
public function get_title() {
[34] Fix | Delete
return __( 'Stripe', 'contact-form-7' );
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
[38] Fix | Delete
public function is_active() {
[39] Fix | Delete
return (bool) $this->get_api_keys();
[40] Fix | Delete
}
[41] Fix | Delete
[42] Fix | Delete
[43] Fix | Delete
public function api() {
[44] Fix | Delete
if ( $this->is_active() ) {
[45] Fix | Delete
$api = new WPCF7_Stripe_API( $this->api_keys['secret'] );
[46] Fix | Delete
return $api;
[47] Fix | Delete
}
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
[51] Fix | Delete
public function get_api_keys() {
[52] Fix | Delete
return $this->api_keys;
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
[56] Fix | Delete
public function get_categories() {
[57] Fix | Delete
return array( 'payments' );
[58] Fix | Delete
}
[59] Fix | Delete
[60] Fix | Delete
[61] Fix | Delete
public function icon() {
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
[65] Fix | Delete
public function link() {
[66] Fix | Delete
echo wpcf7_link(
[67] Fix | Delete
'https://stripe.com/',
[68] Fix | Delete
'stripe.com'
[69] Fix | Delete
);
[70] Fix | Delete
}
[71] Fix | Delete
[72] Fix | Delete
[73] Fix | Delete
protected function menu_page_url( $args = '' ) {
[74] Fix | Delete
$args = wp_parse_args( $args, array() );
[75] Fix | Delete
[76] Fix | Delete
$url = menu_page_url( 'wpcf7-integration', false );
[77] Fix | Delete
$url = add_query_arg( array( 'service' => 'stripe' ), $url );
[78] Fix | Delete
[79] Fix | Delete
if ( ! empty( $args ) ) {
[80] Fix | Delete
$url = add_query_arg( $args, $url );
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
return $url;
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
[87] Fix | Delete
protected function save_data() {
[88] Fix | Delete
WPCF7::update_option( 'stripe', array(
[89] Fix | Delete
'api_keys' => $this->api_keys,
[90] Fix | Delete
) );
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
[94] Fix | Delete
protected function reset_data() {
[95] Fix | Delete
$this->api_keys = null;
[96] Fix | Delete
$this->save_data();
[97] Fix | Delete
}
[98] Fix | Delete
[99] Fix | Delete
[100] Fix | Delete
public function load( $action = '' ) {
[101] Fix | Delete
if ( 'setup' == $action and 'POST' == $_SERVER['REQUEST_METHOD'] ) {
[102] Fix | Delete
check_admin_referer( 'wpcf7-stripe-setup' );
[103] Fix | Delete
[104] Fix | Delete
if ( ! empty( $_POST['reset'] ) ) {
[105] Fix | Delete
$this->reset_data();
[106] Fix | Delete
$redirect_to = $this->menu_page_url( 'action=setup' );
[107] Fix | Delete
} else {
[108] Fix | Delete
$publishable = trim( $_POST['publishable'] ?? '' );
[109] Fix | Delete
$secret = trim( $_POST['secret'] ?? '' );
[110] Fix | Delete
[111] Fix | Delete
if ( $publishable and $secret ) {
[112] Fix | Delete
$this->api_keys = array(
[113] Fix | Delete
'publishable' => $publishable,
[114] Fix | Delete
'secret' => $secret,
[115] Fix | Delete
);
[116] Fix | Delete
$this->save_data();
[117] Fix | Delete
[118] Fix | Delete
$redirect_to = $this->menu_page_url( array(
[119] Fix | Delete
'message' => 'success',
[120] Fix | Delete
) );
[121] Fix | Delete
} else {
[122] Fix | Delete
$redirect_to = $this->menu_page_url( array(
[123] Fix | Delete
'action' => 'setup',
[124] Fix | Delete
'message' => 'invalid',
[125] Fix | Delete
) );
[126] Fix | Delete
}
[127] Fix | Delete
}
[128] Fix | Delete
[129] Fix | Delete
wp_safe_redirect( $redirect_to );
[130] Fix | Delete
exit();
[131] Fix | Delete
}
[132] Fix | Delete
}
[133] Fix | Delete
[134] Fix | Delete
[135] Fix | Delete
public function admin_notice( $message = '' ) {
[136] Fix | Delete
if ( 'invalid' == $message ) {
[137] Fix | Delete
echo sprintf(
[138] Fix | Delete
'<div class="notice notice-error"><p><strong>%1$s</strong>: %2$s</p></div>',
[139] Fix | Delete
esc_html( __( "Error", 'contact-form-7' ) ),
[140] Fix | Delete
esc_html( __( "Invalid key values.", 'contact-form-7' ) )
[141] Fix | Delete
);
[142] Fix | Delete
}
[143] Fix | Delete
[144] Fix | Delete
if ( 'success' == $message ) {
[145] Fix | Delete
echo sprintf(
[146] Fix | Delete
'<div class="notice notice-success"><p>%s</p></div>',
[147] Fix | Delete
esc_html( __( 'Settings saved.', 'contact-form-7' ) )
[148] Fix | Delete
);
[149] Fix | Delete
}
[150] Fix | Delete
}
[151] Fix | Delete
[152] Fix | Delete
[153] Fix | Delete
public function display( $action = '' ) {
[154] Fix | Delete
echo sprintf(
[155] Fix | Delete
'<p>%s</p>',
[156] Fix | Delete
// https://stripe.com/docs/partners/support#intro
[157] Fix | Delete
esc_html( __( "Stripe is a simple and powerful way to accept payments online. Stripe has no setup fees, no monthly fees, and no hidden costs. Millions of businesses rely on Stripe’s software tools to accept payments securely and expand globally.", 'contact-form-7' ) )
[158] Fix | Delete
);
[159] Fix | Delete
[160] Fix | Delete
echo sprintf(
[161] Fix | Delete
'<p><strong>%s</strong></p>',
[162] Fix | Delete
wpcf7_link(
[163] Fix | Delete
__( 'https://contactform7.com/stripe-integration/', 'contact-form-7' ),
[164] Fix | Delete
__( 'Stripe integration', 'contact-form-7' )
[165] Fix | Delete
)
[166] Fix | Delete
);
[167] Fix | Delete
[168] Fix | Delete
if ( $this->is_active() ) {
[169] Fix | Delete
echo sprintf(
[170] Fix | Delete
'<p class="dashicons-before dashicons-yes">%s</p>',
[171] Fix | Delete
esc_html( __( "Stripe is active on this site.", 'contact-form-7' ) )
[172] Fix | Delete
);
[173] Fix | Delete
}
[174] Fix | Delete
[175] Fix | Delete
if ( 'setup' == $action ) {
[176] Fix | Delete
$this->display_setup();
[177] Fix | Delete
} elseif ( is_ssl() or WP_DEBUG ) {
[178] Fix | Delete
echo sprintf(
[179] Fix | Delete
'<p><a href="%1$s" class="button">%2$s</a></p>',
[180] Fix | Delete
esc_url( $this->menu_page_url( 'action=setup' ) ),
[181] Fix | Delete
esc_html( __( 'Setup Integration', 'contact-form-7' ) )
[182] Fix | Delete
);
[183] Fix | Delete
} else {
[184] Fix | Delete
echo sprintf(
[185] Fix | Delete
'<p class="dashicons-before dashicons-warning">%s</p>',
[186] Fix | Delete
esc_html( __( "Stripe is not available on this site. It requires an HTTPS-enabled site.", 'contact-form-7' ) )
[187] Fix | Delete
);
[188] Fix | Delete
}
[189] Fix | Delete
}
[190] Fix | Delete
[191] Fix | Delete
[192] Fix | Delete
private function display_setup() {
[193] Fix | Delete
$api_keys = $this->get_api_keys();
[194] Fix | Delete
[195] Fix | Delete
if ( $api_keys ) {
[196] Fix | Delete
$publishable = $api_keys['publishable'];
[197] Fix | Delete
$secret = $api_keys['secret'];
[198] Fix | Delete
} else {
[199] Fix | Delete
$publishable = '';
[200] Fix | Delete
$secret = '';
[201] Fix | Delete
}
[202] Fix | Delete
[203] Fix | Delete
?>
[204] Fix | Delete
<form method="post" action="<?php echo esc_url( $this->menu_page_url( 'action=setup' ) ); ?>">
[205] Fix | Delete
<?php wp_nonce_field( 'wpcf7-stripe-setup' ); ?>
[206] Fix | Delete
<table class="form-table">
[207] Fix | Delete
<tbody>
[208] Fix | Delete
<tr>
[209] Fix | Delete
<th scope="row"><label for="publishable"><?php echo esc_html( __( 'Publishable Key', 'contact-form-7' ) ); ?></label></th>
[210] Fix | Delete
<td><?php
[211] Fix | Delete
if ( $this->is_active() ) {
[212] Fix | Delete
echo esc_html( $publishable );
[213] Fix | Delete
echo sprintf(
[214] Fix | Delete
'<input type="hidden" value="%s" id="publishable" name="publishable" />',
[215] Fix | Delete
esc_attr( $publishable )
[216] Fix | Delete
);
[217] Fix | Delete
} else {
[218] Fix | Delete
echo sprintf(
[219] Fix | Delete
'<input type="text" aria-required="true" value="%s" id="publishable" name="publishable" class="regular-text code" />',
[220] Fix | Delete
esc_attr( $publishable )
[221] Fix | Delete
);
[222] Fix | Delete
}
[223] Fix | Delete
?></td>
[224] Fix | Delete
</tr>
[225] Fix | Delete
<tr>
[226] Fix | Delete
<th scope="row"><label for="secret"><?php echo esc_html( __( 'Secret Key', 'contact-form-7' ) ); ?></label></th>
[227] Fix | Delete
<td><?php
[228] Fix | Delete
if ( $this->is_active() ) {
[229] Fix | Delete
echo esc_html( wpcf7_mask_password( $secret ) );
[230] Fix | Delete
echo sprintf(
[231] Fix | Delete
'<input type="hidden" value="%s" id="secret" name="secret" />',
[232] Fix | Delete
esc_attr( $secret )
[233] Fix | Delete
);
[234] Fix | Delete
} else {
[235] Fix | Delete
echo sprintf(
[236] Fix | Delete
'<input type="text" aria-required="true" value="%s" id="secret" name="secret" class="regular-text code" />',
[237] Fix | Delete
esc_attr( $secret )
[238] Fix | Delete
);
[239] Fix | Delete
}
[240] Fix | Delete
?></td>
[241] Fix | Delete
</tr>
[242] Fix | Delete
</tbody>
[243] Fix | Delete
</table>
[244] Fix | Delete
<?php
[245] Fix | Delete
if ( $this->is_active() ) {
[246] Fix | Delete
submit_button(
[247] Fix | Delete
_x( 'Remove Keys', 'API keys', 'contact-form-7' ),
[248] Fix | Delete
'small', 'reset'
[249] Fix | Delete
);
[250] Fix | Delete
} else {
[251] Fix | Delete
submit_button( __( 'Save Changes', 'contact-form-7' ) );
[252] Fix | Delete
}
[253] Fix | Delete
?>
[254] Fix | Delete
</form>
[255] Fix | Delete
<?php
[256] Fix | Delete
}
[257] Fix | Delete
}
[258] Fix | Delete
[259] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function