Plugin Directory

Changeset 3208488


Ignore:
Timestamp:
12/16/2024 11:07:44 AM (13 months ago)
Author:
dreamfox
Message:

Version 3.5.9

Location:
woocommerce-product-payments
Files:
330 added
2 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • woocommerce-product-payments/trunk/freemius/includes/class-freemius.php

    r3202473 r3208488  
    16621662                $this->is_user_in_admin() &&
    16631663                $this->is_parallel_activation() &&
    1664                 $this->_premium_plugin_basename !== $this->premium_plugin_basename_from_parallel_activation
     1664                $this->_premium_plugin_basename !== $this->_premium_plugin_basename_from_parallel_activation
    16651665            ) {
    1666                 $this->_premium_plugin_basename = $this->premium_plugin_basename_from_parallel_activation;
     1666                $this->_premium_plugin_basename = $this->_premium_plugin_basename_from_parallel_activation;
    16671667
    16681668                register_activation_hook(
     
    16821682         */
    16831683        private function is_parallel_activation() {
    1684             return ! empty( $this->premium_plugin_basename_from_parallel_activation );
     1684            return ! empty( $this->_premium_plugin_basename_from_parallel_activation );
    16851685        }
    16861686
     
    52065206                }
    52075207
    5208                 $this->premium_plugin_basename_from_parallel_activation = $premium_basename;
     5208                $this->_premium_plugin_basename_from_parallel_activation = $premium_basename;
    52095209
    52105210                if ( is_plugin_active( $premium_basename ) ) {
  • woocommerce-product-payments/trunk/freemius/includes/entities/class-fs-site.php

    r3202473 r3208488  
    232232            foreach ( $sandbox_wp_environment_domains as $domain) {
    233233                if (
     234                    ( $host === $domain ) ||
    234235                    fs_ends_with( $host, '.' . $domain ) ||
    235236                    fs_ends_with( $host, '-' . $domain )
  • woocommerce-product-payments/trunk/freemius/start.php

    r3202473 r3208488  
    1616     * @var string
    1717     */
    18     $this_sdk_version = '2.10.0';
     18    $this_sdk_version = '2.10.1';
    1919
    2020    #region SDK Selection Logic --------------------------------------------------------------------
     
    109109    }
    110110
     111    $theme_name = null;
    111112    if ( $is_current_sdk_from_active_theme ) {
    112         $this_sdk_relative_path = '../' . $themes_directory_name . '/' . get_stylesheet() . '/' . $theme_candidate_sdk_basename;
     113        $theme_name             = get_stylesheet();
     114        $this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_name . '/' . $theme_candidate_sdk_basename;
    113115        $is_theme               = true;
    114116    } else if ( $is_current_sdk_from_parent_theme ) {
    115         $this_sdk_relative_path = '../' . $themes_directory_name . '/' . get_template() . '/' . $theme_candidate_sdk_basename;
     117        $theme_name             = get_template();
     118        $this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_name . '/' . $theme_candidate_sdk_basename;
    116119        $is_theme               = true;
    117120    } else {
    118121        $this_sdk_relative_path = plugin_basename( $fs_root_path );
    119122        $is_theme               = false;
     123
     124        /**
     125         * If this file was included from another plugin with lower SDK version, and if this plugin is symlinked, then we need to get the actual plugin path,
     126         * as the value right now will be wrong, it will only remove the directory separator from the file_path.
     127         *
     128         * The check of `fs_find_direct_caller_plugin_file` determines that this file was indeed included by a different plugin than the main plugin.
     129         */
     130        if ( DIRECTORY_SEPARATOR . $this_sdk_relative_path === $fs_root_path && function_exists( 'fs_find_direct_caller_plugin_file' ) ) {
     131            $original_plugin_dir_name = dirname( fs_find_direct_caller_plugin_file( $file_path ) );
     132
     133            // Remove everything before the original plugin directory name.
     134            $this_sdk_relative_path = substr( $this_sdk_relative_path, strpos( $this_sdk_relative_path, $original_plugin_dir_name ) );
     135
     136            unset( $original_plugin_dir_name );
     137        }
    120138    }
    121139
     
    203221        if ( $is_theme ) {
    204222            // Saving relative path and not only directory name as it could be a subfolder
    205             $plugin_path = $this_sdk_relative_path;
     223            $plugin_path = $theme_name;
    206224        } else {
    207225            $plugin_path = plugin_basename( fs_find_direct_caller_plugin_file( $file_path ) );
     
    358376    }
    359377
    360     if ( version_compare( $this_sdk_version, $fs_active_plugins->newest->version, '<' ) ) {
     378    if ( isset( $fs_active_plugins->newest ) && version_compare( $this_sdk_version, $fs_active_plugins->newest->version, '<' ) ) {
    361379        $newest_sdk = $fs_active_plugins->plugins[ $fs_active_plugins->newest->sdk_path ];
    362380
  • woocommerce-product-payments/trunk/inc/per_categories.php

    r2680963 r3208488  
    1 <form id="woo_sdwpp" action="<?php echo add_query_arg(['page'=>'dfm-pgppfw', 'tab'=>'payment_per_categories'], $_SERVER['PHP_SELF']); ?>" method="post">
     1<form id="woo_sdwpp" action="<?php echo esc_url(add_query_arg(['page'=>'dfm-pgppfw', 'tab'=>'payment_per_categories'], $_SERVER['PHP_SELF'])); ?>" method="post">
    22    <table class="form-table">
    33        <tbody>
    44            <tr valign="top" class="dfm-row">
    5                 <th class="dfm-label"><?php echo __('Enable/Disable', 'softsdev'); ?></th>
     5                <th class="dfm-label"><?php echo esc_html__('Enable/Disable', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    66                <td class="dfm-field">
    77                    <label for="dfm_per_categories_enable">
    88                        <?php $checked = dfm_per_categories_enabled(); ?>
    99                        <input type="checkbox" name="dfm_per_categories_enable" id="dfm_per_categories_enable" value="1" <?php echo ($checked)?'checked="checked"':''; ?> />
    10                         <strong><?php echo __('Enable section', 'softsdev'); ?></strong>
     10                        <strong><?php echo esc_html__('Enable section', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></strong>
    1111                    </label>
    1212                </td>
     
    2424    ?>
    2525    <?php foreach ( $available_gateways as $gateway_id => $gateway ) : ?>
    26         <h2><?php echo $gateway->title; ?></h2>
     26        <h2><?php echo esc_html($gateway->title); ?></h2>
    2727        <table class="form-table">
    2828            <tbody>
    2929                <tr valign="top" class="dfm-row">
    30                     <th class="dfm-label"><?php echo __('Include', 'softsdev'); ?></th>
     30                    <th class="dfm-label"><?php echo esc_html__('Include', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    3131                    <td class="dfm-field">
    3232                        <?php $field_name = dfm_per_categories_include_field_name($gateway_id); ?>
    3333                        <?php $options = dfm_per_categories_include_get_option($gateway_id); ?>
    34                         <select name="<?php echo $field_name; ?>[]" multiple="true" class="chosen_select">
     34                        <select name="<?php echo esc_attr($field_name); ?>[]" multiple="true" class="chosen_select">
    3535                            <?php foreach ($categories as $category): ?>
    36                                 <?php $selected = in_array($category->term_id, $options)?' selected="selected"':''; ?>
    37                                 <option value="<?php echo $category->term_id; ?>"<?php echo $selected; ?>><?php echo $category->name; ?></option>
     36                               
     37                                <option value="<?php echo esc_attr($category->term_id); ?>"<?php if(in_array($category->term_id, $options)){echo ' selected="selected"'; } ?>><?php echo esc_html($category->name); ?></option>
    3838                            <?php endforeach ?>
    3939                        </select>
     
    4141                </tr>
    4242                <tr valign="top" class="dfm-row">
    43                     <th class="dfm-label"><?php echo __('Exclude', 'softsdev'); ?></th>
     43                    <th class="dfm-label"><?php echo esc_html__('Exclude', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    4444                    <td class="dfm-field">
    4545                        <?php $field_name = dfm_per_categories_exclude_field_name($gateway_id); ?>
    4646                        <?php $options = dfm_per_categories_exclude_get_option($gateway_id); ?>
    47                         <select name="<?php echo $field_name; ?>[]" multiple="true" class="chosen_select">
     47                        <select name="<?php echo esc_attr($field_name); ?>[]" multiple="true" class="chosen_select">
    4848                            <?php foreach ($categories as $category): ?>
    49                                 <?php $selected = in_array($category->term_id, $options)?' selected="selected"':''; ?>
    50                                 <option value="<?php echo $category->term_id; ?>"<?php echo $selected; ?>><?php echo $category->name; ?></option>
     49                               
     50                                <option value="<?php echo esc_attr($category->term_id); ?>"<?php if(in_array($category->term_id, $options)){echo ' selected="selected"'; } ?>><?php echo esc_html($category->name); ?></option>
    5151                            <?php endforeach ?>
    5252                        </select>
     
    5656        </table>
    5757    <?php endforeach; ?>
    58 
     58    <?php wp_nonce_field( 'dfm_save_per_categories', 'dfm_nonce' ); ?>
    5959    <input type="submit" value="Save Changes" class="button-large button-primary" />
    6060    <input type="hidden" name="dfm_per_categories" value="1" class="button-large button-primary" />
  • woocommerce-product-payments/trunk/inc/per_tags.php

    r2680963 r3208488  
    1 <form id="woo_sdwpp" action="<?php echo add_query_arg(['page'=>'dfm-pgppfw', 'tab'=>'payment_per_tags'], $_SERVER['PHP_SELF']); ?>" method="post">
     1<form id="woo_sdwpp" action="<?php echo esc_url(add_query_arg(['page'=>'dfm-pgppfw', 'tab'=>'payment_per_tags'], $_SERVER['PHP_SELF'])); ?>" method="post">
    22    <table class="form-table">
    33        <tbody>
    44            <tr valign="top" class="dfm-row">
    5                 <th class="dfm-label"><?php echo __('Enable/Disable', 'softsdev'); ?></th>
     5                <th class="dfm-label"><?php echo esc_html__('Enable/Disable', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    66                <td class="dfm-field">
    77                    <label for="dfm_per_tags_enable">
    88                        <?php $checked = dfm_per_tags_enabled(); ?>
    99                        <input type="checkbox" name="dfm_per_tags_enable" id="dfm_per_tags_enable" value="1" <?php echo ($checked)?'checked="checked"':''; ?> />
    10                         <strong><?php echo __('Enable section', 'softsdev'); ?></strong>
     10                        <strong><?php echo esc_html__('Enable section', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></strong>
    1111                    </label>
    1212                </td>
     
    2424    ?>
    2525    <?php foreach ( $available_gateways as $gateway_id => $gateway ) : ?>
    26         <h2><?php echo $gateway->title; ?></h2>
     26        <h2><?php echo esc_html($gateway->title); ?></h2>
    2727        <table class="form-table">
    2828            <tbody>
    2929                <tr valign="top" class="dfm-row">
    30                     <th class="dfm-label"><?php echo __('Include', 'softsdev'); ?></th>
     30                    <th class="dfm-label"><?php echo esc_html__('Include', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    3131                    <td class="dfm-field">
    3232                        <?php $field_name = dfm_per_tags_include_field_name($gateway_id); ?>
    3333                        <?php $options = dfm_per_tags_include_get_option($gateway_id); ?>
    34                         <select name="<?php echo $field_name; ?>[]" multiple="true" class="chosen_select">
     34                        <select name="<?php echo esc_attr($field_name); ?>[]" multiple="true" class="chosen_select">
    3535                            <?php foreach ($tags as $tag): ?>
    36                                 <?php $selected = in_array($tag->term_id, $options)?' selected="selected"':''; ?>
    37                                 <option value="<?php echo $tag->term_id; ?>"<?php echo $selected; ?>><?php echo $tag->name; ?></option>
     36                               
     37                                <option value="<?php echo esc_attr($tag->term_id); ?>"<?php if(in_array($tag->term_id, $options)){ echo ' selected="selected"';} ?>><?php echo esc_html($tag->name); ?></option>
    3838                            <?php endforeach ?>
    3939                        </select>
     
    4141                </tr>
    4242                <tr valign="top" class="dfm-row">
    43                     <th class="dfm-label"><?php echo __('Exclude', 'softsdev'); ?></th>
     43                    <th class="dfm-label"><?php echo esc_html__('Exclude', 'dfm-payment-gateway-per-product-for-woocommerce'); ?></th>
    4444                    <td class="dfm-field">
    4545                        <?php $field_name = dfm_per_tags_exclude_field_name($gateway_id); ?>
    4646                        <?php $options = dfm_per_tags_exclude_get_option($gateway_id); ?>
    47                         <select name="<?php echo $field_name; ?>[]" multiple="true" class="chosen_select">
     47                        <select name="<?php echo esc_attr($field_name); ?>[]" multiple="true" class="chosen_select">
    4848                            <?php foreach ($tags as $tag): ?>
    4949                                <?php $selected = in_array($tag->term_id, $options)?' selected="selected"':''; ?>
    50                                 <option value="<?php echo $tag->term_id; ?>"<?php echo $selected; ?>><?php echo $tag->name; ?></option>
     50                                <option value="<?php echo esc_attr($tag->term_id); ?>"<?php if(in_array($tag->term_id, $options)){ echo ' selected="selected"';} ?>><?php echo esc_html($tag->name); ?></option>
    5151                            <?php endforeach ?>
    5252                        </select>
     
    5656        </table>
    5757    <?php endforeach; ?>
    58 
     58    <?php wp_nonce_field( 'dfm_save_per_tags', 'dfm_nonce' ); ?>
    5959    <input type="submit" value="Save Changes" class="button-large button-primary" />
    6060    <input type="hidden" name="dfm_per_tags" value="1" class="button-large button-primary" />
  • woocommerce-product-payments/trunk/inc/settings.php

    r3202473 r3208488  
    1313  <h2 class="nav-tab-wrapper" id="settings">
    1414    <a href="<?php
    15     echo $setting_url;
     15    echo esc_url( $setting_url );
    1616    ?>" class="nav-tab fs-tab nav-tab-active home">Settings</a>
    1717  </h2>
    1818  <h2 class="title"><?php
    19     echo __( 'Woocommerce Product Payments', 'dfm-payment-gateway-per-product-for-woocommerce' );
     19    echo esc_html__( 'Woocommerce Product Payments', 'dfm-payment-gateway-per-product-for-woocommerce' );
    2020    ?></h2>
    2121
     
    6767    ?>>
    6868          <a href="<?php
    69     echo admin_url( 'admin.php?page=dfm-pgppfw-contact' );
     69    echo esc_url( admin_url( 'admin.php?page=dfm-pgppfw-contact' ) );
    7070    ?>">Support</a>
    7171        </li>
     
    8787    add_filter( 'update_footer', 'softsdev_product_payments_update_footer' );
    8888    echo '<div class="wrap wrap-mc-paid"><div id="icon-tools" class="icon32"></div></div>';
    89     echo '<h2 class="title">' . __( 'Woocommerce Product Payments - Information', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
     89    echo '<h2 class="title">' . esc_html__( 'Woocommerce Product Payments - Information', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
    9090    ?>
    9191      <img src="<?php
    92     echo plugins_url( 'img/attention.png', DFM_PGPPFW__FILE__ );
     92    echo esc_url( plugins_url( 'img/attention.png', DFM_PGPPFW__FILE__ ) );
    9393    ?>"><br>
    9494      IMPORTANT: We are using a new license system. If you have trouble with your license then see this link:<br>
     
    9898        This plugin will allow the admin to select the available payment gateway for each individual product. This is done by <a href="edit.php?post_type=product">products</a><br>
    9999      <p><img src="<?php
    100     echo plugins_url( 'img/pgpp1.png', DFM_PGPPFW__FILE__ );
     100    echo esc_url( plugins_url( 'img/pgpp1.png', DFM_PGPPFW__FILE__ ) );
    101101    ?>">&nbsp;&nbsp;&nbsp;<img src="<?php
    102     echo plugins_url( 'img/pgpp2.png', DFM_PGPPFW__FILE__ );
     102    echo esc_url( plugins_url( 'img/pgpp2.png', DFM_PGPPFW__FILE__ ) );
    103103    ?>"></p>
    104104      For TAG and CATEGORIES you can set these by clicking the menu items on the left.<br>
     
    117117    add_filter( 'update_footer', 'softsdev_product_payments_update_footer' );
    118118    echo '<div class="wrap wrap-mc-paid"><div id="icon-tools" class="icon32"></div></div>';
    119     echo '<h2 class="title">' . __( 'Woocommerce Product Payments - Settings', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
     119    echo '<h2 class="title">' . esc_html__( 'Woocommerce Product Payments - Settings', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
    120120    ?>
    121121
     
    129129        'default_payment'        => '',
    130130    ) );
    131     $default_payment = unserialize( $softsdev_wpp_plugin_settings['default_payment'] );
     131    $default_payment = '';
     132    if ( isset( $softsdev_wpp_plugin_settings['default_payment'] ) ) {
     133        $raw_data = $softsdev_wpp_plugin_settings['default_payment'];
     134        // Check if the data is serialized before unserializing
     135        if ( is_serialized( $raw_data ) ) {
     136            $default_payment = unserialize( $raw_data );
     137        } else {
     138            // Handle invalid or non-serialized data gracefully
     139            $default_payment = $raw_data;
     140            // Optionally set a fallback or log an error
     141        }
     142    }
    132143    ?>
    133144      <form id="woo_sdwpp" action="<?php
    134     echo get_admin_url( null, 'admin.php' ) . '?page=dfm-pgppfw&tab=payment_settings';
     145    echo esc_url( get_admin_url( null, 'admin.php' ) ) . '?page=dfm-pgppfw&tab=payment_settings';
    135146    ?>" method="post">
    136147        <div style="padding: 10px 0; margin: 10px 0px;">
    137148          <?php
    138     echo $additional_html;
     149    echo wp_kses_post( $additional_html );
    139150    ?>
    140151
     
    142153
    143154          <h3 class="hndle"><?php
    144     echo __( 'Default Payment option( If not match any.)', 'dfm-payment-gateway-per-product-for-woocommerce' );
     155    echo esc_html__( 'Default Payment option( If not match any.)', 'dfm-payment-gateway-per-product-for-woocommerce' );
    145156    ?></h3>
    146157          <?php
     
    160171            continue;
    161172        }
    162         echo "<option value = '" . $pay->id . "' " . selected( $default_payment, $pay->id ) . ">" . $pay->title . "</option>";
     173        echo "<option value = '" . esc_attr( $pay->id ) . "' " . selected( $default_payment, $pay->id ) . ">" . esc_html( $pay->title ) . "</option>";
    163174    }
    164175    ?>
     
    166177          <br />
    167178          <small><?php
    168     echo __( 'If in some case payment option not show then this will default one set', 'dfm-payment-gateway-per-product-for-woocommerce' );
     179    echo esc_html__( 'If in some case payment option not show then this will default one set', 'dfm-payment-gateway-per-product-for-woocommerce' );
    169180    ?></small>
    170181        </div>
     182        <?php
     183    wp_nonce_field( 'sdwpp_save_settings', 'sdwpp_nonce' );
     184    ?>
    171185        <input class="button-large button-primary" type="submit" value="Save changes" />
    172186      </form>
     
    182196    add_filter( 'update_footer', 'softsdev_product_payments_update_footer' );
    183197    echo '<div class="wrap wrap-mc-paid"><div id="icon-tools" class="icon32"></div></div>';
    184     echo '<h2 class="title">' . __( 'Woocommerce Product Payments - Newsletter', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
     198    echo '<h2 class="title">' . esc_html__( 'Woocommerce Product Payments - Newsletter', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
    185199    ?>
    186200      <!-- Begin Sendinblue Form -->
     
    194208    add_filter( 'update_footer', 'softsdev_product_payments_update_footer' );
    195209    echo '<div class="wrap wrap-mc-paid"><div id="icon-tools" class="icon32"></div></div>';
    196     echo '<h2 class="title">' . __( 'Woocommerce Product Payments - FAQ', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
     210    echo '<h2 class="title">' . esc_html__( 'Woocommerce Product Payments - FAQ', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
    197211    ?>
    198212            <div>
     
    205219
    206220                <p><?php
    207     echo sprintf( __( 'If your answer can not be found in the resources listed above, please use our supportsystem <a href="%s">here</a>.' ), 'https://support.dreamfoxmedia.com' );
     221    /* translators: placeholder contain support url */
     222    echo sprintf( esc_html__( 'If your answer can not be found in the resources listed above, please use our supportsystem <a href="%s">here</a>.', 'dfm-payment-gateway-per-product-for-woocommerce' ), 'https://support.dreamfoxmedia.com' );
    208223    ?></p>
    209224                <p>Found a bug? Please open an issue <a href="https://support.dreamfoxmedia.com/support/tickets/create" target="_blank">here.</a></p>
     
    217232    add_filter( 'update_footer', 'softsdev_product_payments_update_footer' );
    218233    echo '<div class="wrap wrap-mc-paid"><div id="icon-tools" class="icon32"></div></div>';
    219     echo '<h2 class="title">' . __( 'Woocommerce Product Payments - Dreamfox Media Plugins', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
     234    echo '<h2 class="title">' . esc_html__( 'Woocommerce Product Payments - Dreamfox Media Plugins', 'dfm-payment-gateway-per-product-for-woocommerce' ) . '</h2>';
    220235    ?>
    221236      <?php
     
    228243        switch ( $response_code ) {
    229244            case '403':
    230                 echo '<div class="error below-h2"><p>Seems your host is blocking <strong>' . dirname( $url ) . '</strong>. Please request to white list this domain </p></div>';
     245                echo '<div class="error below-h2"><p>Seems your host is blocking <strong>' . esc_url( dirname( $url ) ) . '</strong>. Please request to white list this domain </p></div>';
    231246                break;
    232247        }
     
    238253        <h3>Here you see our great Free and Premium Plugins of Dreamfox Media</h3>
    239254        <link href="<?php
    240     echo plugins_url( '/css/addons-style.min.css', DFM_PGPPFW__FILE__ );
     255    echo esc_url( plugins_url( '/css/addons-style.min.css', DFM_PGPPFW__FILE__ ) );
    241256    ?>" rel="stylesheet" type="text/css">
    242257
     
    267282        ?>">
    268283              <div class="bgimage" style="min-height: 500px; background-repeat: no-repeat; background-image:url(<?php
    269         echo $image;
     284        echo esc_url( $image );
    270285        ?>)">
    271286                <?php
     
    273288            ?>
    274289                  <a href="plugin-install.php?tab=plugin-information&plugin=<?php
    275             echo dirname( $addon->wpslug );
     290            echo esc_attr( dirname( $addon->wpslug ) );
    276291            ?>&from=import&TB_iframe=true&width=745&height=745" class="thickbox">&nbsp;</a>
    277292                <?php
     
    279294            ?>
    280295                  <a href="<?php
    281             echo $addon->link;
     296            echo esc_url( $addon->link );
    282297            ?>">&nbsp;</a>
    283298                <?php
     
    286301              </div>
    287302              <h4><?php
    288         echo $addon->name;
     303        echo esc_html( $addon->name );
    289304        ?></h4>
    290305              <p class="author">by
    291306                <?php
    292307        if ( $addon->author_url ) {
    293             echo '<a href="' . $addon->author_url . '">' . $addon->author . '</a>';
     308            echo '<a href="' . esc_url( $addon->author_url ) . '">' . esc_html( $addon->author ) . '</a>';
    294309        } else {
    295             echo $addon->author;
     310            echo esc_html( $addon->author );
    296311        }
    297312        ?>
    298313              </p>
    299314              <p class="description"><?php
    300         echo $addon->description;
     315        echo esc_html( $addon->description );
    301316        ?></p>
    302317              <div class="action-links">
     
    311326                    ?>
    312327                      <a class="button" href="<?php
    313                     echo wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $addon->wpslug, 'deactivate-plugin_' . $addon->wpslug );
     328                    echo esc_url( wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $addon->wpslug, 'deactivate-plugin_' . $addon->wpslug ) );
    314329                    ?>"><?php
    315                     _e( 'Deactivate', 'mymail' );
     330                    esc_html_e( 'Deactivate', 'dfm-payment-gateway-per-product-for-woocommerce' );
    316331                    ?></a>
    317332                    <?php
     
    319334                    ?>
    320335                      <a class="button" href="<?php
    321                     echo wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon->wpslug, 'activate-plugin_' . $addon->wpslug );
     336                    echo esc_url( wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $addon->wpslug, 'activate-plugin_' . $addon->wpslug ) );
    322337                    ?>"><?php
    323                     _e( 'Activate', 'mymail' );
     338                    esc_html_e( 'Activate', 'dfm-payment-gateway-per-product-for-woocommerce' );
    324339                    ?></a>
    325340                    <?php
     
    333348                    ?>
    334349                      <a class="button button-primary" href="<?php
    335                     echo wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . dirname( $addon->wpslug ) . '&mymail-addon' ), 'install-plugin_' . dirname( $addon->wpslug ) );
     350                    echo esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . dirname( $addon->wpslug ) . '&mymail-addon' ), 'install-plugin_' . dirname( $addon->wpslug ) ) );
    336351                    ?>"><?php
    337                     _e( 'Install', 'mymail' );
     352                    esc_html_e( 'Install', 'dfm-payment-gateway-per-product-for-woocommerce' );
    338353                    ?></a>
    339354                    <?php
     
    347362            ?>
    348363                  <a class="button button-primary" href="<?php
    349             echo $addon->link;
     364            echo esc_url( $addon->link );
    350365            ?>"><?php
    351             _e( 'Purchase', 'mymail' );
     366            esc_html_e( 'Purchase', 'dfm-payment-gateway-per-product-for-woocommerce' );
    352367            ?></a>
    353368                <?php
  • woocommerce-product-payments/trunk/readme.txt

    r3202852 r3208488  
    55Tested up to: 6.7.1
    66Requires PHP: 7.4
    7 Stable tag: 3.5.6
     7Stable tag: 3.5.9
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    5858
    5959== Changelog ==
     60
     61= 3.5.9 =
     62- Security issues solved
     63
     64= 3.5.7 =
     65- Security issues solved
     66
    6067= 3.5.6 =
    6168- Bug fixes and compatibility updates.
Note: See TracChangeset for help on using the changeset viewer.