Plugin Directory

Changeset 3450668


Ignore:
Timestamp:
01/30/2026 07:08:08 PM (26 hours ago)
Author:
icopydoc
Message:

v0.5.2

Location:
wc-import-yandex
Files:
76 added
3 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • wc-import-yandex/trunk/classes/system/class-ip2y-debug-page.php

    r3071614 r3450668  
    77 * @since                   0.1.0
    88 *
    9  * @version                 0.2.0 (16-04-2024)
     9 * @version                 0.5.2 (30-01-2026)
    1010 * @author                  Maxim Glazunov
    1111 * @link                    https://icopydoc.ru/
     
    315315        $conflict_with_plugins = 0;
    316316        $conflict_with_plugins_list = '';
    317         $check_global_attr_count = wc_get_attribute_taxonomies();
    318         if ( count( $check_global_attr_count ) < 1 ) {
    319             $possible_problems_count++;
    320             $possible_problems .= '<li>' . __( 'Your site has no global attributes! This may affect the quality of the import to ok.ru. This can also cause difficulties when setting up the plugin', 'wc-import-yandex' ) . '. <a href="https://icopydoc.ru/globalnyj-i-lokalnyj-atributy-v-woocommerce/?utm_source=import-products-to-yandex&utm_medium=organic&utm_campaign=in-plugin-import-products-to-yandex&utm_content=debug-page&utm_term=possible-problems">' . __( 'Please read the recommendations', 'wc-import-yandex' ) . '</a>.</li>';
    321         }
    322317        if ( is_plugin_active( 'snow-storm/snow-storm.php' ) ) {
    323318            $possible_problems_count++;
  • wc-import-yandex/trunk/classes/system/class-ip2y.php

    r3272240 r3450668  
    77 * @since                   0.1.0
    88 *
    9  * @version                 0.5.1 (14-04-2025)
     9 * @version                 0.5.2 (30-01-2026)
    1010 * @author                  Maxim Glazunov
    1111 * @link                    https://icopydoc.ru/
     
    1414 * @param         
    1515 *
    16  * @depends                 classes:    IP2Y_Data_Arr
     16 * @depends                 classes:    IP2Y_Data
    1717 *                                      IP2Y_Settings_Page
    1818 *                                      IP2Y_Debug_Page
     
    109109
    110110        if ( false == common_option_get( 'ip2y_version' ) ) { // это первая установка
    111             $ip2y_data_arr_obj = new IP2Y_Data_Arr();
     111            $ip2y_data_arr_obj = new IP2Y_Data();
    112112            $opts_arr = $ip2y_data_arr_obj->get_opts_name_and_def_date( 'all' ); // массив дефолтных настроек
    113113            common_option_upd( 'ip2y_settings_arr', $opts_arr, 'no', '1' ); // пишем все настройки
     
    131131
    132132        new IP2Y_Interface_Hoocked();
    133         new ICPD_Feedback( [ 
     133        new ICPD_Feedback( [
    134134            'plugin_name' => 'Import Products to Yandex',
    135135            'plugin_version' => $this->get_plugin_version(),
     
    414414    public function add_cron_intervals( $new_schedules ) {
    415415
    416         $new_schedules['seventy_sec'] = [ 
     416        $new_schedules['seventy_sec'] = [
    417417            'interval' => 70,
    418418            'display' => __( '70 seconds', 'wc-import-yandex' )
    419419        ];
    420         $new_schedules['five_min'] = [ 
     420        $new_schedules['five_min'] = [
    421421            'interval' => 300,
    422422            'display' => __( '5 minutes', 'wc-import-yandex' )
    423423        ];
    424         $new_schedules['three_hours'] = [ 
     424        $new_schedules['three_hours'] = [
    425425            'interval' => 10800,
    426426            'display' => __( '3 hours', 'wc-import-yandex' )
    427427        ];
    428         $new_schedules['six_hours'] = [ 
     428        $new_schedules['six_hours'] = [
    429429            'interval' => 21600,
    430430            'display' => __( '6 hours', 'wc-import-yandex' )
    431431        ];
    432         $new_schedules['week'] = [ 
     432        $new_schedules['week'] = [
    433433            'interval' => 604800,
    434434            'display' => __( '1 week', 'wc-import-yandex' )
     
    547547            ) );
    548548            // получаем список дефолтных настроек
    549             $ip2y_data_arr_obj = new IP2Y_Data_Arr();
     549            $ip2y_data_arr_obj = new IP2Y_Data();
    550550            $default_settings_obj = $ip2y_data_arr_obj->get_opts_name_and_def_date_obj( 'all' );
    551551            // проверим, заданы ли дефолтные настройки
  • wc-import-yandex/trunk/classes/system/pages/extensions-page/views/html-extensions-page.php

    r3099550 r3450668  
    11<?php
    22/**
    3  * Print Extensions page
     3 * Print Extensions page.
    44 *
    5  * @version 0.4.0 (07-06-2024)
     5 * @version 0.5.2 (30-01-2026)
    66 * @see     
    77 * @package
     
    1010?>
    1111<style>
    12     .button-primary {
    13         padding: 0.375rem 0.75rem !important;
    14         font-size: 1rem !important;
    15         border-radius: 0.25rem !important;
    16         border: #181a1c 1px solid !important;
    17         background-color: #181a1c !important;
    18         text-align: center;
    19         margin: 0 auto !important;
     12    .notice {
     13        display: none;
    2014    }
    2115
    22     .button-primary:hover {
     16    #ip2y_extensions .grid-container {
     17        display: grid;
     18        gap: 20px;
     19        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     20        align-items: start;
     21        justify-items: center;
     22        padding: 20px;
     23        max-width: 1200px;
     24        margin: 0 auto;
     25    }
     26
     27    #ip2y_extensions .grid-container .extension-card {
     28        background-color: #ffffff;
     29        border-radius: 10px;
     30        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     31        padding: 20px;
     32        max-width: 400px;
     33        width: 100%;
     34    }
     35
     36    #ip2y_extensions .grid-container .extension-card img {
     37        max-width: 100%;
     38        height: auto;
     39        display: block;
     40        margin: 0 auto;
     41        object-fit: cover;
     42    }
     43
     44    #ip2y_extensions .grid-container .extension-card h2 {
     45        font-size: 24px;
     46        line-height: 1.5;
     47        margin-bottom: 10px;
     48    }
     49
     50    #ip2y_extensions .grid-container .extension-card p {
     51        font-size: 16px;
     52        line-height: 1.5;
     53        margin-bottom: 10px;
     54    }
     55
     56    #ip2y_extensions .grid-container .extension-card ul {
     57        list-style-type: circle;
     58        padding-left: 20px;
     59        margin-top: 25px;
     60        margin-bottom: 20px;
     61    }
     62
     63    #ip2y_extensions .grid-container p {
     64        font-size: 18px;
     65        text-align: justify;
     66        margin: 20px 0;
     67    }
     68
     69    #ip2y_extensions .grid-container .description-list {
     70        list-style-type: none;
     71        padding: 0;
     72        margin: 0;
     73    }
     74
     75    #ip2y_extensions .grid-container .description-list li {
     76        display: flex;
     77        align-items: center;
     78        margin-bottom: 10px;
     79    }
     80
     81    #ip2y_extensions .grid-container .description-list li::before {
     82        content: "✔";
     83        color: green;
     84        margin-right: 10px;
     85        font-size: 1.2em;
     86    }
     87
     88    #ip2y_extensions .grid-container .description-list li.red-cross::before {
     89        content: "✘";
     90        color: red;
     91        margin-right: 10px;
     92        font-size: 1.2em;
     93    }
     94
     95    #ip2y_extensions .grid-container .description-list li span {
     96        font-size: 18px;
     97        font-weight: bold;
     98        text-decoration: underline;
     99    }
     100
     101    #ip2y_extensions .grid-container .button-primary {
     102        display: inline-block;
     103        /* Изменение на inline-block */
     104        background-color: #181a1c !important;
     105        color: white;
     106        border: none;
     107        padding: 10px 20px;
     108        cursor: pointer;
     109        border-radius: 5px;
     110        font-weight: bold;
     111        font-size: 18px;
     112        margin: 20px auto;
     113        text-decoration: none;
     114        transition: background-color 0.3s ease-in-out;
     115        max-width: 200px;
     116        /* Ограничение максимальной ширины */
     117    }
     118
     119    #ip2y_extensions .grid-container .button-primary:hover {
    23120        background-color: #3d4247 !important;
    24121        border-color: #4b5157 !important;
    25122    }
    26123
    27     .ip2y_banner {
    28         max-width: 100%
     124    /* Обновленный медиа-запрос для экранов меньше 1152px */
     125    @media (max-width: 1152px) {
     126        #ip2y_extensions .grid-container {
     127            grid-template-columns: 1fr;
     128            /* Один столбец для экранов меньше 1152px */
     129        }
    29130    }
    30131</style>
    31132<div id="ip2y_extensions" class="wrap">
    32     <div id="dashboard-widgets-wrap">
    33         <div id="dashboard-widgets" class="metabox-holder">
    34             <div id="postbox-container-1">
    35                 <div class="meta-box-sortables">
    36                     <div class="postbox">
    37                         <a href="https://icopydoc.ru/product/wc-import-yandex-pro/?utm_source=wc-import-yandex&utm_medium=organic&utm_campaign=in-plugin-wc-import-yandex&utm_content=extensions&utm_term=banner-pro"
    38                             target="_blank"><img class="ip2y_banner"
    39                                 src="<?php echo esc_attr( IP2Y_PLUGIN_DIR_URL ); ?>/assets/img/wc-import-yandex-pro-banner.jpg"
    40                                 alt="Upgrade to Import Products to Yandex PRO" /></a>
    41                         <div class="inside">
    42                             <table class="form-table">
    43                                 <tbody>
    44                                     <tr>
    45                                         <td class="overalldesc" style="font-size: 20px;">
    46                                             <h3 style="font-size: 24px; text-align: center; color: #5b2942;">Import
    47                                                 Products to Yandex PRO</h3>
    48                                             <ul style="text-align: center;">
    49                                                 <li>&#10004;
    50                                                     <?php esc_html_e(
    51                                                         'The ability to сhange the product price by a certain percentage',
    52                                                         'wc-import-yandex' );
    53                                                     ?>;
    54                                                 </li>
    55                                                 <li>&#10004;
    56                                                     <?php esc_html_e(
    57                                                         'The ability to import multiple images instead of one',
    58                                                         'wc-import-yandex' );
    59                                                     ?>;
    60                                                 </li>
    61                                                 <li>&#10004;
    62                                                     <?php esc_html_e(
    63                                                         'The ability to exclude products from certain categories',
    64                                                         'wc-import-yandex' );
    65                                                     ?>;
    66                                                 </li>
    67                                                 <li>&#10004;
    68                                                     <?php esc_html_e(
    69                                                         'The ability to exclude products at a price',
    70                                                         'wc-import-yandex'
    71                                                     ); ?>;
    72                                                 </li>
    73 
    74                                                 <li>&#10004;
    75                                                     <?php esc_html_e(
    76                                                         'Even more stable work', 'wc-import-yandex' );
    77                                                     ?>!
    78                                                 </li>
    79                                             </ul>
    80                                             <p style="text-align: center;"><a class="button-primary"
    81                                                     href="https://icopydoc.ru/product/wc-import-yandex-pro/?utm_source=wc-import-yandex&utm_medium=organic&utm_campaign=in-plugin-wc-import-yandex&utm_content=extensions&utm_term=poluchit-pro"
    82                                                     target="_blank">
    83                                                     <?php
    84                                                     printf( '%s %s %s',
    85                                                         esc_html__( 'Get', 'wc-import-yandex' ),
    86                                                         'Import Products to Yandex PRO',
    87                                                         esc_html__( 'Now', 'wc-import-yandex' )
    88                                                     );
    89                                                     ?>
    90                                                 </a>
    91                                             </p>
    92                                         </td>
    93                                     </tr>
    94                                 </tbody>
    95                             </table>
    96                         </div>
    97                     </div>
    98                 </div>
    99             </div>
     133    <div>
     134        <h1 style="font-size: 32px; text-align: center;">
     135            <?php esc_html_e( 'Upgrade the', 'wc-import-yandex' ); ?>
     136            Import Products to Yandex
     137        </h1>
     138        <hr />
     139    </div>
     140    <div class="grid-container">
     141        <div class="extension-card">
     142            <a href="https://icopydoc.ru/product/wc-import-yandex-pro/?utm_source=wc-import-yandex&utm_medium=purchase&utm_campaign=basic_version&utm_content=extensions-page&utm_term=product-image-wc-import-yandex-pro"
     143                target="_blank">
     144                <img style="max-width: 100%; display: block; margin: 0 auto;"
     145                    src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) ); ?>/imgs/wc-import-yandex-pro-350x350.jpg"
     146                    alt="img">
     147            </a>
     148            <h2 style="text-align: center;">Import Products to Yandex PRO</h2>
     149            <ul class="description-list">
     150                <li><span><?php esc_html_e( 'All features of the free version', 'wc-import-yandex' ); ?></span>
     151                </li>
     152                <li><span><?php esc_html_e( 'The ability to сhange the product price by a certain percentage', 'wc-import-yandex' ); ?></span>
     153                </li>
     154                <li><span><?php esc_html_e( 'The ability to import multiple images instead of one', 'wc-import-yandex' ); ?></span>
     155                </li>
     156                <li><span><?php esc_html_e( 'The ability to exclude products from certain categories', 'wc-import-yandex' ); ?></span>
     157                </li>
     158                <li><span><?php esc_html_e( 'The ability to exclude products at a price', 'wc-import-yandex' ); ?></span>
     159                </li>
     160                <li><span><?php esc_html_e( 'Even more stable work', 'wc-import-yandex' ); ?></span>
     161                </li>
     162                <li><span><?php esc_html_e( '1 year of technical support', 'wc-import-yandex' ); ?></span>
     163                </li>
     164                <li><span><?php esc_html_e( 'Unlimited updates throughout the year', 'wc-import-yandex' ); ?></span>
     165                </li>
     166            </ul>
     167            <p style="text-align: center;">
     168                <a class="button-primary"
     169                    href="https://icopydoc.ru/product/wc-import-yandex-pro/?utm_source=wc-import-yandex&utm_medium=purchase&utm_campaign=basic_version&utm_content=extensions-page&utm_term=poluchit-xml-pro"
     170                    target="_blank">
     171                    <?php esc_html_e( 'Get Now', 'wc-import-yandex' ); ?>
     172                </a>
     173            </p>
    100174        </div>
    101175    </div>
  • wc-import-yandex/trunk/classes/system/pages/settings-page/class-ip2y-settings-page.php

    r3099550 r3450668  
    77 * @since                   0.1.0
    88 *
    9  * @version                 0.4.0 (07-06-2024)
     9 * @version                 0.5.2 (30-01-2026)
    1010 * @author                  Maxim Glazunov
    1111 * @link                    https://icopydoc.ru/
     
    2626
    2727class IP2Y_Settings_Page {
     28
    2829    /**
    2930     * Allowed HTML tags for use in wp_kses()
    3031     */
    31     const ALLOWED_HTML_ARR = [ 
    32         'a' => [ 
     32    const ALLOWED_HTML_ARR = [
     33        'a' => [
    3334            'href' => true,
    3435            'title' => true,
     
    104105     */
    105106    public function print_view_html_form() {
    106         $view_arr = [ 
     107        $view_arr = [
    107108            'feed_id' => $this->get_feed_id(),
    108109            'tab_name' => $this->get_tab_name(),
     
    121122     */
    122123    public function get_tabs_arr( $current = 'main_tab' ) {
    123         $tabs_arr = [ 
     124        $tabs_arr = [
    124125            'main_tab' => sprintf( '%s',
    125126                __( 'Main settings', 'wc-import-yandex' )
     
    147148     */
    148149    public static function print_view_html_fields( $tab, $feed_id = '1' ) {
    149         $ip2y_data_arr_obj = new IP2Y_Data_Arr();
     150        $ip2y_data_arr_obj = new IP2Y_Data();
    150151        $data_for_tab_arr = $ip2y_data_arr_obj->get_data_for_tabs( $tab ); // список дефолтных настроек
    151152
     
    330331                $value,
    331332                $data_arr['opt_name'],
    332                 [ 
     333                [
    333334                    'woo_attr' => $data_arr['woo_attr'],
    334335                    'key_value_arr' => $key_value_arr,
     
    559560                }
    560561
    561                 $def_plugin_date_arr = new IP2Y_Data_Arr();
     562                $def_plugin_date_arr = new IP2Y_Data();
    562563                $opts_name_and_def_date_arr = $def_plugin_date_arr->get_opts_name_and_def_date( 'public' );
    563564                foreach ( $opts_name_and_def_date_arr as $opt_name => $value ) {
     
    601602        return (string) $cur_blog_id;
    602603    }
     604
    603605}
  • wc-import-yandex/trunk/classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php

    r3099550 r3450668  
    33 * The Instruction tab
    44 *
    5  * @version 0.3.1 (03-06-2024)
     5 * @version 0.5.2 (30-01-2026)
    66 * @see     
    77 * @package
     
    1818        <p><i>(
    1919                <?php esc_html_e( 'The full version of the instruction can be found', 'wc-import-yandex' );
    20                 ?><a href="<?php
    21                 printf( '%1$s?utm_source=%2$s&utm_medium=organic&utm_campaign=in-plugin-%2$s%3$s',
    22                     'https://icopydoc.ru/import-tovarov-iz-woocommerce-v-yandeks-cherez-api/',
    23                     'wc-import-yandex',
    24                     '&utm_content=api-set-page&utm_term=main-instruction'
    25                 ); ?>" target="_blank"><?php esc_html_e( 'here', 'wc-import-yandex' ); ?></a>)
     20                ?> <a href="<?php
     21                 printf( '%1$s?utm_source=%2$s&utm_medium=documentation&utm_campaign=basic-version%3$s',
     22                    'https://icopydoc.ru/import-tovarov-iz-woocommerce-v-yandeks-cherez-api/',
     23                    'wc-import-yandex',
     24                    '&utm_content=settings-page-instruction-tab&utm_term=main-instruction'
     25                 ); ?>" target="_blank"><?php esc_html_e( 'here', 'wc-import-yandex' ); ?></a>)
    2626            </i></p>
    2727        <p>
  • wc-import-yandex/trunk/classes/system/pages/settings-page/views/html-admin-settings-page.php

    r3071614 r3450668  
    33 * Settings page
    44 *
    5  * @version 0.1.0 (06-02-2024)
     5 * @version 0.5.2 (30-01-2026)
    66 * @see     
    77 * @package
     
    7575    <?php
    7676    do_action( 'print_view_html_icp_banners', 'ip2y' );
    77     do_action( 'print_view_html_icpd_my_plugins_list', 'ip2y' );
     77    do_action( 'ip2y_print_view_html_icpd_my_plugins_list', 'ip2y' );
    7878    ?>
    7979</div>
  • wc-import-yandex/trunk/classes/system/updates/class-ip2y-plugin-form-activate.php

    r3096673 r3450668  
    11<?php
     2
    23/**
    3  * Plugin Form Activate
    4  *
    5  * @package                 iCopyDoc Plugins (v1, core 16-08-2023)
    6  * @subpackage              Import Products to Yandex
    7  * @since                   0.3.1
    8  *
    9  * @version                 0.3.1 (03-06-2024)
    10  * @author                  Maxim Glazunov
    11  * @link                    https://icopydoc.ru/
    12  * @see                     [ 202, 402, 412, 418, 520 ]
    13  *
    14  * @param     array         $pref
    15  * @param      array        $slug
    16  *
    17  * @depends                 classes:    ICPD_Set_Admin_Notices
    18  *                          traits:     
    19  *                          methods:   
    20  *                          functions: 
    21  *                          constants: 
    22  *                          options:   
     4 * Plugin Form Activate.
     5 *
     6 * @link       https://icopydoc.ru
     7 * @since      0.1.0
     8 * @version    0.5.2 (30-01-2026)
     9 *
     10 * @package    IP2Y
     11 * @subpackage IP2Y/admin
    2312 */
    24 defined( 'ABSPATH' ) || exit;
     13
     14/**
     15 * Plugin Form Activate.
     16 *
     17 * Depends on the class `ICPD_Set_Admin_Notices`.
     18 *
     19 * @see        [ 202, 402, 412, 418, 520 ]
     20 * @package    IP2Y
     21 * @subpackage IP2Y/admin
     22 * @author     Maxim Glazunov <[email protected]>
     23 */
    2524final class IP2Y_Plugin_Form_Activate {
     25
     26    /**
     27     * Instruction URL.
     28     *
     29     * @access private
     30     * @var string
     31     */
    2632    const INSTRUCTION_URL = 'https://icopydoc.ru/kak-aktivirovat-pro-versiyu-instruktsiya/';
    27     private $list_plugin_names = [
     33
     34    /**
     35     * A list of premium versions of the plugin and discount coupons for license renewal.
     36     *
     37     * @access private
     38     * @var array
     39     */
     40    private $list_plugin_names = [
    2841        'ip2yp' => [ 'name' => 'PRO', 'code' => 'renewlicense24ip2y' ]
    2942    ];
    30     private $pref = 'ip2yp';
     43
     44    /**
     45     * Premium plugin prefix. For example `ip2yp`.
     46     *
     47     * @access private
     48     * @var string
     49     */
     50    private $pref;
     51
     52    /**
     53     * Premium plugin slug.
     54     *
     55     * @access private
     56     * @var string
     57     */
    3158    private $slug;
     59
     60    /**
     61     * The technical name of the submit button. For example `PREFIX_submit_license_pro`.
     62     *
     63     * @access private
     64     * @var string
     65     */
    3266    private $submit_name;
     67
     68    /**
     69     * The technical name of the order ID input field. For example `PREFIX_order_id`.
     70     *
     71     * @access private
     72     * @var string
     73     */
    3374    private $opt_name_order_id;
     75
     76    /**
     77     * The technical name of the order email input field. For example `PREFIX_order_email`.
     78     *
     79     * @access private
     80     * @var string
     81     */
    3482    private $opt_name_order_email;
    3583
     84    /**
     85     * Constructructor.
     86     *
     87     * @param string $pref
     88     * @param string $slug
     89     */
    3690    public function __construct( $pref = 'ip2yp', $slug = '' ) {
     91
    3792        $this->pref = $pref;
    3893        $this->slug = $slug;
     
    4398        $this->save_form();
    4499        $this->init_hooks(); // подключим хуки
    45     }
    46 
    47     /**
     100
     101    }
     102
     103    /**
     104     * Initialization hooks.
     105     *
    48106     * @uses add_action()
    49107     *
     
    51109     */
    52110    private function init_hooks() {
     111
    53112        add_action( 'ip2y_activation_forms', [ $this, 'the_form' ] );
    54113        // TODO: Удалить в следующих версиях
    55114        add_action( 'ip2y_before_support_project', [ $this, 'the_form' ] );
    56     }
    57 
    58     /**
    59      * Print the activation form
     115
     116    }
     117
     118    /**
     119     * Print the activation form.
    60120     *
    61121     * @return void
    62122     */
    63123    public function the_form() {
     124
    64125        if ( is_multisite() ) {
    65126            $order_id = get_blog_option( get_current_blog_id(), $this->get_opt_name_order_id() );
     
    70131        }
    71132        ?>
    72         <style>
    73             input.pw {
    74                 -webkit-text-security: disc;
    75             }
    76         </style>
    77         <div class="postbox">
    78             <h2 class="hndle">
    79                 <?php
    80                 printf( '%s %s',
    81                     __( 'License data', 'wc-import-yandex' ),
    82                     esc_html( $this->list_plugin_names[ $this->get_pref()]['name'] )
    83                 ); ?>
    84             </h2>
    85             <div class="inside">
    86                 <form action="<?php echo esc_url( $_SERVER['REQUEST_URI'] ); ?>" method="post" enctype="multipart/form-data">
    87                     <table class="form-table">
    88                         <tbody>
    89                             <tr>
    90                                 <th scope="row">
    91                                     <?php _e( 'Order ID', 'wc-import-yandex' ); ?>
    92                                 </th>
    93                                 <td class="overalldesc">
    94                                     <input class="pw" type="text"
    95                                         name="<?php echo esc_attr( $this->get_opt_name_order_id() ); ?>"
    96                                         value="<?php echo esc_attr( $order_id ); ?>" /><br />
    97                                     <span class="description">
    98                                         <a target="_blank" href="<?php
    99                                         printf( '%1$s?utm_source=%2$s&utm_medium=organic&utm_campaign=%2$s%3$s',
    100                                             esc_attr( self::INSTRUCTION_URL ),
    101                                             esc_attr( $this->slug ),
    102                                             '&utm_content=settings&utm_term=how-to-activate-order-id'
    103                                         ); ?>"><?php _e( 'Read more', 'wc-import-yandex' ); ?></a>
    104                                     </span>
    105                                 </td>
    106                             </tr>
    107                             <tr>
    108                                 <th scope="row">
    109                                     <?php _e( 'Order Email', 'wc-import-yandex' ); ?>
    110                                 </th>
    111                                 <td class="overalldesc">
    112                                     <input name="<?php echo esc_attr( $this->get_opt_name_order_email() ); ?>"
    113                                         value="<?php echo esc_attr( $order_email ); ?>" type="text" /><br />
    114                                     <span class="description">
    115                                         <a target="_blank" href="<?php
    116                                         printf( '%1$s?utm_source=%2$s&utm_medium=organic&utm_campaign=%2$s%3$s',
    117                                             esc_attr( self::INSTRUCTION_URL ),
    118                                             esc_attr( $this->slug ),
    119                                             '&utm_content=settings&utm_term=how-to-activate-order-email'
    120                                         ); ?>"><?php _e( 'Read more', 'wc-import-yandex' ); ?></a></span>
    121                                 </td>
    122                             </tr>
    123                         </tbody>
    124                     </table>
    125                     <input class="button-primary" name="<?php echo esc_attr( $this->get_submit_name() ); ?>"
    126                         value="<?php _e( 'Update License Data', 'wc-import-yandex' ); ?>" type="submit" />
    127                 </form>
     133        <form action="<?php echo esc_url( $_SERVER['REQUEST_URI'] ); ?>" method="post" enctype="multipart/form-data">
     134            <div class="ip2y-postbox postbox">
     135                <h2 class="hndle">
     136                    <?php
     137                    printf( '%s %s',
     138                        esc_html__( 'License data', 'wc-import-yandex' ),
     139                        esc_html( $this->list_plugin_names[ $this->get_pref()]['name'] )
     140                    ); ?>
     141                </h2>
     142                <table class="form-table">
     143                    <tbody>
     144                        <tr>
     145                            <th scope="row">
     146                                <?php esc_attr_e( 'Order ID', 'wc-import-yandex' ); ?>
     147                            </th>
     148                            <td class="overalldesc">
     149                                <input class="pw" type="text" name="<?php echo esc_attr( $this->get_opt_name_order_id() ); ?>"
     150                                    value="<?php echo esc_attr( $order_id ); ?>" /><br />
     151                                <span class="description">
     152                                    <a target="_blank" href="<?php
     153                                    printf( '%1$s?utm_source=%2$s&utm_medium=documentation&utm_campaign=%2$s%3$s',
     154                                        esc_attr( self::INSTRUCTION_URL ),
     155                                        esc_attr( $this->slug ),
     156                                        '&utm_content=activate-form&utm_term=how-to-activate-order-id'
     157                                    ); ?>"><?php esc_attr_e( 'Read more', 'wc-import-yandex' ); ?></a>
     158                                </span>
     159                            </td>
     160                        </tr>
     161                        <tr>
     162                            <th scope="row">
     163                                <?php esc_attr_e( 'Order Email', 'wc-import-yandex' ); ?>
     164                            </th>
     165                            <td class="overalldesc">
     166                                <input name="<?php echo esc_attr( $this->get_opt_name_order_email() ); ?>"
     167                                    value="<?php echo esc_attr( $order_email ); ?>" type="text" /><br />
     168                                <span class="description">
     169                                    <a target="_blank" href="<?php
     170                                    printf( '%1$s?utm_source=%2$s&utm_medium=documentation&utm_campaign=%2$s%3$s',
     171                                        esc_attr( self::INSTRUCTION_URL ),
     172                                        esc_attr( $this->slug ),
     173                                        '&utm_content=activate-form&utm_term=how-to-activate-order-email'
     174                                    ); ?>"><?php esc_attr_e( 'Read more', 'wc-import-yandex' ); ?></a></span>
     175                            </td>
     176                        </tr>
     177                    </tbody>
     178                </table>
    128179            </div>
    129         </div>
     180            <input class="button-primary" name="<?php echo esc_attr( $this->get_submit_name() ); ?>"
     181                value="<?php esc_attr_e( 'Update License Data', 'wc-import-yandex' ); ?>" type="submit" />
     182        </form>
     183        <div style="padding: 0 0 40px 0;"></div>
    130184        <?php
    131     }
    132 
    133     /**
    134      * Get prefix
    135      *
    136      * @return string
     185
     186    }
     187
     188    /**
     189     * Get prefix.
     190     *
     191     * @return string For example `ip2yp`.
    137192     */
    138193    private function get_pref() {
     
    141196
    142197    /**
    143      * Get submit button name
    144      *
    145      * @return string
     198     * Get submit button name.
     199     *
     200     * @return string For example `PREFIX_submit_license_pro`.
    146201     */
    147202    private function get_submit_name() {
     
    150205
    151206    /**
    152      * Get order id field name
    153      *
    154      * @return string
     207     * Get order id field name.
     208     *
     209     * @return string For example `PREFIX_order_id`.
    155210     */
    156211    private function get_opt_name_order_id() {
     
    159214
    160215    /**
    161      * Get order field name
     216     * Get order field name. For example `PREFIX_order_email`.
    162217     *
    163218     * @return string
     
    168223
    169224    /**
    170      * Saving data
     225     * Saving data.
    171226     *
    172227     * @return void
    173228     */
    174229    private function save_form() {
     230
    175231        if ( isset( $_REQUEST[ $this->get_submit_name()] ) ) {
    176232            if ( is_multisite() ) {
     
    208264            wp_update_plugins();
    209265            remove_filter( 'pre_site_transient_update_plugins', '__return_null' );
    210             $message = sprintf( '%1$s <a href="javascript:location.reload(true)">%2$s</a>',
     266            $message = sprintf( '%1$s. %2$s.',
    211267                __( 'License data has been updated', 'wc-import-yandex' ),
    212268                __( 'Refresh this page', 'wc-import-yandex' )
    213269            );
    214             $class = 'notice-success';
     270            $class = 'success';
    215271            new ICPD_Set_Admin_Notices( $message, $class );
    216272            wp_update_plugins();
    217273        }
    218     }
     274
     275    }
     276
    219277}
  • wc-import-yandex/trunk/classes/system/updates/class-ip2y-plugin-upd.php

    r3096673 r3450668  
    11<?php
     2
    23/**
    3  * Plugin Updates
     4 * Plugin Updates.
    45 *
    5  * @package                 iCopyDoc Plugins (v1, core 16-08-2023)
    6  * @subpackage              Import Products to Yandex
    7  * @since                   0.3.1
    8  *
    9  * @version                 0.3.1 (03-06-2024)
    10  * @author                  Maxim Glazunov
    11  * @link                    https://icopydoc.ru/
    12  * @see                     [ 202, 402, 412, 418, 520 ]
    13  *
    14  * @param       array       $args - Optional
     6 * @link       https://icopydoc.ru
     7 * @since      0.1.0
     8 * @version    0.5.2 (30-01-2026)
    159 *
    16  * @depends                 classes:    ICPD_Set_Admin_Notices
    17  *                          traits:     
    18  *                          methods:   
    19  *                          functions:  common_option_get
    20  *                          constants:  IP2Y_PLUGIN_VERSION
    21  *                          options:   
     10 * @package    IP2Y
     11 * @subpackage IP2Y/admin
    2212 */
    23 defined( 'ABSPATH' ) || exit;
     13
     14/**
     15 * Plugin Updates.
     16 *
     17 * Depends on the class `ICPD_Set_Admin_Notices` and the constant `IP2Y_PLUGIN_VERSION`.
     18 *
     19 * @see        [ 202, 402, 412, 418, 520 ]
     20 * @package    IP2Y
     21 * @subpackage IP2Y/admin
     22 * @author     Maxim Glazunov <[email protected]>
     23 */
    2424final class IP2Y_Plugin_Upd {
    25     const API_URL = 'https://icopydoc.ru/api/v1';
    26     private $list_plugin_names = [
     25
     26    public const API_URL = 'https://icopydoc.ru/api/v1';
     27
     28    /**
     29     * A list of premium versions of the plugin and discount coupons for license renewal.
     30     *
     31     * @access private
     32     * @var array
     33     */
     34    private $list_plugin_names = [
    2735        'ip2yp' => [ 'name' => 'PRO', 'code' => 'renewlicense24ip2y' ]
    2836    ];
    29     private $pref; // префикс плагина
    30     private $slug; // псевдоним плагина (например: oop-wp)
    31     private $plugin_slug; // полный псевдоним плагина (папка плагина + имя главного файла, например: oop-wp/oop-wp.php)
    32     private $premium_version; // номер версии плагина
     37
     38    /**
     39     * Префикс плагина.
     40     * @var string
     41     */
     42    private $pref;
     43
     44    /**
     45     * Псевдоним плагина (например: oop-wp).
     46     * @var string
     47     */
     48    private $slug;
     49
     50    /**
     51     * Полный псевдоним плагина (папка плагина + имя главного файла, например: oop-wp/oop-wp.php).
     52     * @var string
     53     */
     54    private $plugin_slug;
     55
     56    /**
     57     * Номер версии плагина.
     58     * @var string
     59     */
     60    private $premium_version;
     61
     62    /**
     63     * Лицензионный ключ плагина.
     64     * @var string
     65     */
    3366    private $license_key;
     67
     68    /**
     69     * Номер заказа.
     70     * @var string
     71     */
    3472    private $order_id;
     73
     74    /**
     75     * Почта заказа.
     76     * @var string
     77     */
    3578    private $order_email;
    36     private $order_home_url; // номер базовой версии плагина
    37 
    38     /**
    39      * Summary of __construct
     79
     80    /**
     81     * URL сайта.
     82     * @var string
     83     */
     84    private $order_home_url;
     85
     86    /**
     87     * Plugin Updates.
    4088     *
    4189     * @param array $args
    4290     */
    4391    public function __construct( $args = [] ) {
     92
    4493        $this->pref = $args['pref'];
    4594        $this->slug = $args['slug'];
     
    72121        do_action_ref_array( 'ip2y_a_plugin_upd', $args );
    73122        $this->init_hooks(); // подключим хуки
    74     }
    75 
    76     /**
     123
     124    }
     125
     126    /**
     127     * Initialization hooks.
     128     *
    77129     * @uses add_filter()
    78130     *
     
    80132     */
    81133    private function init_hooks() {
     134
    82135        // проверка наличия обновлений:
    83136        add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_update' ], 10 );
     
    89142        // add_action('admin_notices', [ $this, 'print_admin_notices' ], 10, 1);
    90143        $this->get_info();
     144
    91145    }
    92146
     
    100154     */
    101155    public function add_plugin_action_links( $actions, $plugin_file ) {
     156
    102157        if ( false === strpos( $plugin_file, $this->get_plugin_slug() ) ) { // проверка, что у нас текущий плагин
    103158            return $actions;
     
    108163        switch ( $i ) {
    109164            case "202":
     165
    110166                $message = __( 'License is active', 'wc-import-yandex' );
    111167                $color = 'green';
     168
    112169                break;
    113170            case "402":
     171
    114172                $message = __( 'License expired', 'wc-import-yandex' );
    115173                $color = '#dc3232';
     174
    116175                break;
    117176            case "412":
     177
    118178                $message = __( 'License data is invalid', 'wc-import-yandex' );
    119179                $color = '#dc3232';
     180
    120181                break;
    121182            case "418":
     183
    122184                $message = __(
    123185                    'This license cannot be used on this site. The package limit has been exceeded',
     
    125187                );
    126188                $color = '#dc3232';
     189
    127190                break;
    128191            default: // или ошибка 520
     192
    129193                $message = __( 'License data is invalid', 'wc-import-yandex' );
    130194                $color = '#dc3232';
     195
    131196                break;
    132197        }
     
    137202        array_unshift( $actions, $settings_link );
    138203        return $actions;
    139     }
    140 
    141     /**
    142      * Summary of get_info
     204
     205    }
     206
     207    /**
     208     * Get info.
    143209     *
    144210     * @return void
    145211     */
    146212    public function get_info() {
     213
    147214        $v = 'hook';
    148215        $c = common_option_get( 'woo_' . $v . '_is' . 'c' . $this->get_pref() );
     
    154221                break;
    155222            case "402":
     223
    156224                $message = sprintf(
    157                     '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %3$s, <a href="https://icopydoc.ru/product/%4$s/?utm_source=%4$s&utm_medium=organic&utm_campaign=in-plugin&utm_content=notice&utm_term=license-expired" target="_blank">%5$s</a> (%6$s: <span style="font-weight: 700;">%7$s</span>). %8$s <a href="/wp-admin/admin.php?page=ip2y-import">%9$s</a>.',
     225                    '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %3$s, <a href="https://icopydoc.ru/product/%4$s/?utm_source=wc-import-yandex&utm_medium=renewal&utm_campaign=%4$s&utm_content=notice&utm_term=license-expired" target="_blank">%5$s</a> (%6$s: <span style="font-weight: 700;">%7$s</span>). %8$s <a href="%11$sadmin.php?page=%9$s">%10$s</a>.',
    158226                    $this->list_plugin_names[ $this->get_pref()]['name'],
    159227                    __( 'License expired', 'wc-import-yandex' ),
     
    164232                    $this->list_plugin_names[ $this->get_pref()]['code'],
    165233                    __( 'If you have already done this', 'wc-import-yandex' ),
    166                     __( 'enter the new license information here', 'wc-import-yandex' )
     234                    'wc-import-yandex-debug&action=edit&current_display=debug_page&tab=premium',
     235                    __( 'enter the new license information here', 'wc-import-yandex' ),
     236                    admin_url()
    167237                );
     238
    168239                break;
    169240            case "412":
    170                 $message = sprintf( '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %1$s %3$s. <a href="/wp-admin/admin.php?page=ip2y-import">%4$s</a> %5$s <a href="https://icopydoc.ru/product/%6$s/?utm_source=%6$s&utm_medium=organic&utm_campaign=in-plugin&utm_content=license-err&utm_term=notice" target="_blank">%7$s</a>.',
     241
     242                $message = sprintf(
     243                    '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %1$s %3$s. <a href="%9$sadmin.php?page=%8$s">%4$s</a> %5$s <a href="https://icopydoc.ru/product/%6$s/?utm_source=wc-import-yandex&utm_medium=renewal&utm_campaign=%6$s&utm_content=notice&utm_term=license-invalid" target="_blank">%7$s</a>.',
    171244                    $this->list_plugin_names[ $this->get_pref()]['name'],
    172245                    __( 'License data is invalid', 'wc-import-yandex' ),
     
    175248                    __( 'or', 'wc-import-yandex' ),
    176249                    $this->get_slug(),
    177                     __( 'purchase a new one', 'wc-import-yandex' )
     250                    __( 'purchase a new one', 'wc-import-yandex' ),
     251                    'wc-import-yandex-debug&action=edit&current_display=debug_page&tab=premium',
     252                    admin_url()
    178253                );
     254
    179255                break;
    180256            case "418":
    181                 $message = sprintf( '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! <a href="/wp-admin/admin.php?page=ip2y-import">%3$s</a> %4$s <a href="https://icopydoc.ru/product/%5$s/?utm_source=%5$s&utm_medium=organic&utm_campaign=in-plugin&utm_content=license-limit&utm_term=notice" target="_blank">%6$s</a>.',
     257
     258                $message = sprintf(
     259                    '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! <a href="%8$sadmin.php?page=%7$s">%3$s</a> %4$s <a href="https://icopydoc.ru/product/%5$s/?utm_source=wc-import-yandex&utm_medium=renewal&utm_campaign=%5$s&utm_content=notice&utm_term=license-limit" target="_blank">%6$s</a>.',
    182260                    $this->list_plugin_names[ $this->get_pref()]['name'],
    183261                    __(
     
    188266                    __( 'or', 'wc-import-yandex' ),
    189267                    $this->get_slug(),
    190                     __( 'purchase a new one', 'wc-import-yandex' )
     268                    __( 'purchase a new one', 'wc-import-yandex' ),
     269                    'wc-import-yandex-debug&action=edit&current_display=debug_page&tab=premium',
     270                    admin_url()
    191271                );
     272
    192273                break;
    193274            default: // или ошибка 520
    194                 $message = sprintf( '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %1$s %3$s. <a href="/wp-admin/admin.php?page=ip2y-import">%4$s</a> %5$s <a href="https://icopydoc.ru/product/%6$s/?utm_source=%6$s&utm_medium=organic&utm_campaign=in-plugin&utm_content=license-err&utm_term=notice" target="_blank">%7$s</a>.',
     275
     276                $message = sprintf(
     277                    '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s! %1$s %3$s. <a href="%9$sadmin.php?page=%8$s">%4$s</a> %5$s <a href="https://icopydoc.ru/product/%6$s/?utm_source=wc-import-yandex&utm_medium=renewal&utm_campaign=%6$s&utm_content=notice&utm_term=license-err" target="_blank">%7$s</a>.',
    195278                    $this->list_plugin_names[ $this->get_pref()]['name'],
    196279                    __( 'License data is invalid', 'wc-import-yandex' ),
     
    199282                    __( 'or', 'wc-import-yandex' ),
    200283                    $this->get_slug(),
    201                     __( 'purchase a new one', 'wc-import-yandex' )
     284                    __( 'purchase a new one', 'wc-import-yandex' ),
     285                    'wc-import-yandex-debug&action=edit&current_display=debug_page&tab=premium',
     286                    admin_url()
    202287                );
     288
    203289                break;
    204290        }
    205291
    206292        if ( ! empty( $message ) ) {
    207             $class = 'notice-error';
     293            $class = 'error';
    208294            new ICPD_Set_Admin_Notices( $message, $class );
    209295        }
     
    214300            if ( $remaining_days > 0 && $remaining_days < 8 ) {
    215301                $message = sprintf(
    216                     '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s <span style="font-weight: 700; color: red;">%3$s</span>. %4$s, <a href="https://icopydoc.ru/product/%5$s/?utm_source=link&utm_medium=organic&utm_campaign=in-plugin&utm_content=notice&utm_term=license-remaining" target="_blank">%6$s</a> (%7$s: <span style="font-weight: 700;">%8$s</span>). %9$s <a href="/wp-admin/admin.php?page=ip2y-import">%10$s</a>.',
     302                    '<span style="font-weight: 700;">Import Products to Yandex %1$s:</span> %2$s <span style="font-weight: 700; color: red;">%3$s</span>. %4$s, <a href="https://icopydoc.ru/product/%5$s/?utm_source=wc-import-yandex&utm_medium=renewal&utm_campaign=%5$s&utm_content=notice&utm_term=license-remaining" target="_blank">%6$s</a> (%7$s: <span style="font-weight: 700;">%8$s</span>). %9$s <a href="%12$sadmin.php?page=%10$s">%11$s</a>.',
    217303                    $this->list_plugin_names[ $this->get_pref()]['name'],
    218304                    __( 'License expires in', 'wc-import-yandex' ),
    219                     $this->num_decline( $remaining_days, [ 
     305                    $this->num_decline( $remaining_days, [
    220306                        __( 'day', 'wc-import-yandex' ),
    221307                        _x( 'days', '2 days', 'wc-import-yandex' ),
     
    229315                    $this->list_plugin_names[ $this->get_pref()]['code'],
    230316                    __( 'If you have already done this', 'wc-import-yandex' ),
    231                     __( 'enter the new license information here', 'wc-import-yandex' )
     317                    __( 'enter the new license information here', 'wc-import-yandex' ),
     318                    'wc-import-yandex-debug&action=edit&current_display=debug_page&tab=premium',
     319                    admin_url()
    232320                );
    233321                if ( ! empty( $message ) ) {
    234                     $class = 'notice-error';
     322                    $class = 'error';
    235323                    new ICPD_Set_Admin_Notices( $message, $class );
    236324                }
    237325            }
    238326        }
     327
    239328    }
    240329
     
    257346     */
    258347    private function num_decline( $number, $titles, $param2 = '', $param3 = '' ) {
     348
    259349        if ( $param2 ) {
    260350            $titles = [ $titles, $param2, $param3 ];
     
    267357        }
    268358        $cases = [ 2, 0, 1, 1, 1, 2 ];
    269         $intnum = abs( intval( strip_tags( $number ) ) );
     359        $intnum = abs( intval( ip2y_strip_tags( $number ) ) );
    270360        return "$number " . $titles[ ( $intnum % 100 > 4 && $intnum % 100 < 20 ) ? 2 : $cases[ min( $intnum % 10, 5 ) ] ];
    271     }
    272 
    273     /**
    274      * Summary of get_body_request
     361
     362    }
     363
     364    /**
     365     * Get body request.
    275366     *
    276367     * @return array
    277368     */
    278369    private function get_body_request() {
    279         $body_request = [
     370
     371        $body_request = [
    280372            'action' => 'basic_check',
    281373            'slug' => $this->get_slug(),
     
    290382        new IP2Y_Error_Log( $body_request );
    291383        return $body_request;
    292     }
    293 
    294     /**
    295      * Summary of get_pref
     384
     385    }
     386
     387    /**
     388     * Get prefix.
    296389     *
    297390     * @return string
     
    302395
    303396    /**
    304      * Summary of get_slug
     397     * Get slug.
    305398     *
    306399     * @return string
     
    311404
    312405    /**
    313      * Summary of get_plugin_slug
     406     * Get plugin slug.
    314407     *
    315408     * @return string
     
    320413
    321414    /**
    322      * Summary of get_premium_version
     415     * Get premium version.
    323416     *
    324417     * @return string
     
    329422
    330423    /**
    331      * Summary of get_license_key
     424     * Get license key.
    332425     *
    333426     * @return string
    334427     */
    335428    private function get_license_key() {
     429
    336430        $order_email = $this->get_pref() . '_license_key';
    337431        return common_option_get( $order_email );
    338     }
    339 
    340     /**
    341      * Summary of get_order_id
     432
     433    }
     434
     435    /**
     436     * Get order ID.
    342437     *
    343438     * @return string
    344439     */
    345440    private function get_order_id() {
     441
    346442        $order_email = $this->get_pref() . '_order_id';
    347443        return common_option_get( $order_email );
    348     }
    349 
    350     /**
    351      * Summary of get_order_email
     444
     445    }
     446
     447    /**
     448     * Get order email.
    352449     *
    353450     * @return string
    354451     */
    355452    private function get_order_email() {
     453
    356454        $order_email = $this->get_pref() . '_order_email';
    357455        return common_option_get( $order_email, '' );
    358     }
    359 
    360     /**
    361      * Summary of response_to_api
     456
     457    }
     458
     459    /**
     460     * Get response to an API request.
    362461     *
    363462     * @return WP_Error|array
    364463     */
    365464    private function response_to_api() {
     465
    366466        global $wp_version;
    367467        $response = false;
    368         $request_arr = [ 
     468        $request_arr = [
    369469            'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ),
    370470            'body' => [ 'request' => $this->get_body_request() ] // request будет передан как $_POST['request']
     
    372472        $api_url = apply_filters( 'ip2y_f_api_url', self::API_URL );
    373473        $response = wp_remote_post( esc_url_raw( $api_url ), $request_arr );
     474        if ( is_wp_error( $response ) ) {
     475            $response = $this->response_to_reserved_servers( $request_arr );
     476        }
    374477        return $response;
    375     }
    376 
    377     /**
    378      * Summary of save_resp
     478
     479    }
     480
     481    /**
     482     * Reserved response to an API request.
     483     *
     484     * @param array $request_arr
     485     *
     486     * @return WP_Error|array
     487     */
     488    private function response_to_reserved_servers( $request_arr ) {
     489
     490        $backup_servers_arr = [
     491            'https://icopydoc.com/api/v1',
     492            'https://icopydoc.com/api/v2'
     493        ];
     494        for ( $i = 0; $i < count( $backup_servers_arr ); $i++ ) {
     495            $response = wp_remote_post( esc_url_raw( $backup_servers_arr[ $i ] ), $request_arr );
     496            if ( false === is_wp_error( $response ) ) {
     497                break;
     498            }
     499        }
     500        return $response;
     501
     502    }
     503
     504    /**
     505     * Save resp.
    379506     *
    380507     * @param string|int $v
     
    384511     */
    385512    private function save_resp( $v, $d ) {
     513
    386514        $v = (int) $v;
    387515        if ( is_multisite() ) {
     
    392520            update_option( 'woo_hook_isd' . $this->get_pref(), $d );
    393521        }
    394     }
    395 
    396     /**
    397      * Проверка наличия обновлений
     522
     523    }
     524
     525    /**
     526     * Проверка наличия обновлений.
    398527     *
    399528     * @param object $transient
     
    402531     */
    403532    public function check_update( $transient ) {
     533
    404534        /**
    405535         * Сначала проверяется наличие в массиве данных наличие поля "checked". Если оно есть, это значит,
     
    450580            $transient->response[ $this->plugin_slug ] = $plugin;
    451581        } else {
    452             new IP2Y_Error_Log(
    453                 sprintf( '%1$s. Код ошибки: %2$s; response_message: %3$s; Файл: %4$s; Строка: %5$s',
    454                     'Ошибка проверки наличия обновлений',
    455                     $response_code,
    456                     $response_message,
    457                     'class-ip2y-plugin-upd.php',
    458                     __LINE__
    459                 )
    460             );
     582            new IP2Y_Error_Log( sprintf( 'ERROR (#%1$s): %2$s. %3$s; %4$s: %5$s; %6$s: %7$s',
     583                $response_code,
     584                __( 'Error checking for updates', 'wc-import-yandex' ),
     585                $response_message,
     586                __( 'File', 'wc-import-yandex' ),
     587                'class-ip2y-plugin-upd.php',
     588                __( 'Line', 'wc-import-yandex' ),
     589                __LINE__
     590            ) );
    461591        }
    462592        return $transient;
    463     }
    464 
    465     /**
    466      * Проверка информации о плагине (запрос информации об обновлениях)
     593
     594    }
     595
     596    /**
     597     * Проверка информации о плагине (запрос информации об обновлениях).
    467598     *
    468599     * @param false|object|array $result
     
    473604     */
    474605    public function plugin_api_check_info( $result, $action, $args ) {
     606
    475607        if ( isset( $args->slug ) && ( $args->slug === $this->slug ) ) {
    476608            $response = $this->response_to_api();
     
    487619                return $plugin;
    488620            } else {
    489                 new IP2Y_Error_Log(
    490                     sprintf( '%1$s. Код ошибки: %2$s; response_message: %3$s; Файл: %4$s; Строка: %5$s',
    491                         'Ошибка запроса инфы о плагине',
    492                         $response_code,
    493                         $response_message,
    494                         'class-ip2y-plugin-upd.php',
    495                         __LINE__
    496                     )
    497                 );
     621                new IP2Y_Error_Log( sprintf( 'ERROR (#%1$s): %2$s. %3$s; %4$s: %5$s; %6$s: %7$s',
     622                    $response_code,
     623                    __( 'Error when requesting information about the plugin', 'wc-import-yandex' ),
     624                    $response_message,
     625                    __( 'File', 'wc-import-yandex' ),
     626                    'class-ip2y-plugin-upd.php',
     627                    __( 'Line', 'wc-import-yandex' ),
     628                    __LINE__
     629                ) );
    498630                return $result;
    499631            }
     
    501633            return $result;
    502634        }
     635
    503636    }
    504637
     
    511644     */
    512645    public function set_update_package( $options ) {
     646
    513647        /**
    514648         * $options = Array (
     
    542676        }
    543677        return $options;
    544     }
    545 
    546     /**
    547      * Summary of get_plugin_response_data
     678
     679    }
     680
     681    /**
     682     * Get plugin response data.
    548683     *
    549684     * @param mixed $resp
     
    552687     */
    553688    private function get_plugin_response_data( $resp ) {
     689
    554690        $plugin = new stdClass();
    555691        $plugin->slug = $resp->slug;
     
    575711        $plugin->download_link = $resp->package; // 'https://icopydoc.ru/api/v1/pgo-plugin.zip';
    576712        return $plugin;
    577     }
     713
     714    }
     715
    578716}
  • wc-import-yandex/trunk/languages/wc-import-yandex-ru_RU.po

    r3272240 r3450668  
    22msgstr ""
    33"Project-Id-Version: \n"
    4 "POT-Creation-Date: 2025-04-14 13:26+0300\n"
    5 "PO-Revision-Date: 2025-04-14 13:26+0300\n"
     4"POT-Creation-Date: 2026-01-30 21:43+0300\n"
     5"PO-Revision-Date: 2026-01-30 21:44+0300\n"
    66"Last-Translator: \n"
    77"Language-Team: Maxim Glazunov <[email protected]>\n"
     
    1212"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
    1313"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
    14 "X-Generator: Poedit 3.6\n"
     14"X-Generator: Poedit 3.7\n"
    1515"X-Poedit-Basepath: ..\n"
    1616"X-Poedit-SourceCharset: UTF-8\n"
     
    102102#: classes/generation/traits/common/trait-ip2y-t-common-skips.php:127
    103103#: classes/generation/traits/common/trait-ip2y-t-common-skips.php:171
    104 #: classes/system/class-ip2y-data-arr.php:652
     104#: classes/system/class-ip2y-data.php:653
    105105msgid "Skip missing products"
    106106msgstr "Исключать товары которых нет в наличии"
     
    109109#: classes/generation/traits/common/trait-ip2y-t-common-skips.php:153
    110110#: classes/generation/traits/common/trait-ip2y-t-common-skips.php:187
    111 #: classes/system/class-ip2y-data-arr.php:672
     111#: classes/system/class-ip2y-data.php:673
    112112msgid "Skip backorders products"
    113113msgstr "Исключать из фида товары для предзаказа"
    114114
    115 #: classes/system/class-ip2y-data-arr.php:101
    116 #: classes/system/class-ip2y-data-arr.php:120
     115#: classes/system/class-ip2y-data.php:101
     116#: classes/system/class-ip2y-data.php:120
    117117msgid "from the app settings"
    118118msgstr "из настроек приложения"
    119119
    120 #: classes/system/class-ip2y-data-arr.php:104
    121 #: classes/system/class-ip2y-data-arr.php:123
    122 #: classes/system/class-ip2y-data-arr.php:146
    123 #: classes/system/class-ip2y-data-arr.php:169
     120#: classes/system/class-ip2y-data.php:104
     121#: classes/system/class-ip2y-data.php:123
     122#: classes/system/class-ip2y-data.php:146
     123#: classes/system/class-ip2y-data.php:169
    124124msgid "For example"
    125125msgstr "Например"
    126126
    127 #: classes/system/class-ip2y-data-arr.php:117
     127#: classes/system/class-ip2y-data.php:117
    128128#: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:72
    129129msgid "Client secret"
    130130msgstr "Секретный ключ клиента"
    131131
    132 #: classes/system/class-ip2y-data-arr.php:136
     132#: classes/system/class-ip2y-data.php:136
    133133#: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:86
    134134msgid "Campaign ID"
    135135msgstr "Номер кампании"
    136136
    137 #: classes/system/class-ip2y-data-arr.php:140
    138 #: classes/system/class-ip2y-data-arr.php:163
     137#: classes/system/class-ip2y-data.php:140
     138#: classes/system/class-ip2y-data.php:163
    139139msgid ""
    140140"from the settings of the Yandex Market account to which we export products"
    141141msgstr "из настроек аккаунта Яндекс Маркета, в который мы экспортируем товары"
    142142
    143 #: classes/system/class-ip2y-data-arr.php:143
    144 #: classes/system/class-ip2y-data-arr.php:166
     143#: classes/system/class-ip2y-data.php:143
     144#: classes/system/class-ip2y-data.php:166
    145145msgid "only numbers"
    146146msgstr "только цифры"
    147147
    148 #: classes/system/class-ip2y-data-arr.php:159
     148#: classes/system/class-ip2y-data.php:159
    149149#: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:101
    150150msgid "Businesses ID"
    151151msgstr "ID кабинета"
    152152
    153 #: classes/system/class-ip2y-data-arr.php:182
     153#: classes/system/class-ip2y-data.php:182
    154154msgid "Access token"
    155155msgstr "Токен"
    156156
    157 #: classes/system/class-ip2y-data-arr.php:196
     157#: classes/system/class-ip2y-data.php:196
    158158msgid "Syncing with Yandex"
    159159msgstr "Синхронизация с Яндекс"
    160160
    161 #: classes/system/class-ip2y-data-arr.php:198
     161#: classes/system/class-ip2y-data.php:198
    162162msgid "Using this parameter, you can stop the plugin completely"
    163163msgstr "Используя этот параметр, вы можете полностью остановить работу плагина"
    164164
    165 #: classes/system/class-ip2y-data-arr.php:203
    166 #: classes/system/class-ip2y-data-arr.php:224
    167 #: classes/system/class-ip2y-data-arr.php:281
    168 #: classes/system/class-ip2y-data-arr.php:348
    169 #: classes/system/class-ip2y-data-arr.php:366
    170 #: classes/system/class-ip2y-data-arr.php:385
    171 #: classes/system/class-ip2y-data-arr.php:401
    172 #: classes/system/class-ip2y-data-arr.php:418
    173 #: classes/system/class-ip2y-data-arr.php:503
    174 #: classes/system/class-ip2y-data-arr.php:529
    175 #: classes/system/class-ip2y-data-arr.php:599
    176 #: classes/system/class-ip2y-data-arr.php:658
    177 #: classes/system/class-ip2y-data-arr.php:676
     165#: classes/system/class-ip2y-data.php:203
     166#: classes/system/class-ip2y-data.php:224
     167#: classes/system/class-ip2y-data.php:281
     168#: classes/system/class-ip2y-data.php:349
     169#: classes/system/class-ip2y-data.php:367
     170#: classes/system/class-ip2y-data.php:386
     171#: classes/system/class-ip2y-data.php:402
     172#: classes/system/class-ip2y-data.php:419
     173#: classes/system/class-ip2y-data.php:504
     174#: classes/system/class-ip2y-data.php:530
     175#: classes/system/class-ip2y-data.php:600
     176#: classes/system/class-ip2y-data.php:659
     177#: classes/system/class-ip2y-data.php:677
    178178msgid "Disabled"
    179179msgstr "Отключено"
    180180
    181 #: classes/system/class-ip2y-data-arr.php:204
    182 #: classes/system/class-ip2y-data-arr.php:349
    183 #: classes/system/class-ip2y-data-arr.php:504
    184 #: classes/system/class-ip2y-data-arr.php:600
    185 #: classes/system/class-ip2y-data-arr.php:659
    186 #: classes/system/class-ip2y-data-arr.php:677
     181#: classes/system/class-ip2y-data.php:204
     182#: classes/system/class-ip2y-data.php:350
     183#: classes/system/class-ip2y-data.php:505
     184#: classes/system/class-ip2y-data.php:601
     185#: classes/system/class-ip2y-data.php:660
     186#: classes/system/class-ip2y-data.php:678
    187187msgid "Enabled"
    188188msgstr "Включено"
    189189
    190 #: classes/system/class-ip2y-data-arr.php:217
     190#: classes/system/class-ip2y-data.php:217
    191191msgid "The frequency of full synchronization of products"
    192192msgstr "Частота полной синхронизации товаров"
    193193
    194 #: classes/system/class-ip2y-data-arr.php:219
     194#: classes/system/class-ip2y-data.php:219
    195195msgid ""
    196196"With the specified frequency, the plugin will transmit information about all "
     
    200200"товарах в Яндекс Маркет"
    201201
    202 #: classes/system/class-ip2y-data-arr.php:225
     202#: classes/system/class-ip2y-data.php:225
    203203msgid "Hourly"
    204204msgstr "Раз в час"
    205205
    206 #: classes/system/class-ip2y-data-arr.php:226
     206#: classes/system/class-ip2y-data.php:226
    207207msgid "Every three hours"
    208208msgstr "Каждые 3 часа"
    209209
    210 #: classes/system/class-ip2y-data-arr.php:227
     210#: classes/system/class-ip2y-data.php:227
    211211msgid "Every six hours"
    212212msgstr "Каждые 6 часов"
    213213
    214 #: classes/system/class-ip2y-data-arr.php:228
     214#: classes/system/class-ip2y-data.php:228
    215215msgid "Twice a day"
    216216msgstr "2 раза в день"
    217217
    218 #: classes/system/class-ip2y-data-arr.php:229
     218#: classes/system/class-ip2y-data.php:229
    219219msgid "Daily"
    220220msgstr "Раз в день"
    221221
    222 #: classes/system/class-ip2y-data-arr.php:230
     222#: classes/system/class-ip2y-data.php:230
    223223msgid "Once a week"
    224224msgstr "Раз в неделю"
    225225
    226 #: classes/system/class-ip2y-data-arr.php:242
     226#: classes/system/class-ip2y-data.php:242
    227227msgid "Step export"
    228228msgstr "Шаг экспорта"
    229229
    230 #: classes/system/class-ip2y-data-arr.php:244
     230#: classes/system/class-ip2y-data.php:244
    231231msgid ""
    232232"Determines the maximum number of products uploaded to Yandex Market in one "
     
    236236"одну минуту"
    237237
    238 #: classes/system/class-ip2y-data-arr.php:260
     238#: classes/system/class-ip2y-data.php:260
    239239msgid "The maximum value allowed by Yandex Market"
    240240msgstr "Максимальное значение, разрешенное Yandex Market"
    241241
    242 #: classes/system/class-ip2y-data-arr.php:274
     242#: classes/system/class-ip2y-data.php:274
    243243msgid "VAT rate"
    244244msgstr "Ставка НДС"
    245245
    246 #: classes/system/class-ip2y-data-arr.php:276
     246#: classes/system/class-ip2y-data.php:276
    247247msgid ""
    248248"The rate must correspond to the tax system that you specified when "
     
    252252"при регистрации в Яндекс Маркете"
    253253
    254 #: classes/system/class-ip2y-data-arr.php:282
     254#: classes/system/class-ip2y-data.php:282
    255255msgid "Not subject to VAT"
    256256msgstr "Не облагается НДС"
    257257
    258 #: classes/system/class-ip2y-data-arr.php:301
     258#: classes/system/class-ip2y-data.php:302
    259259msgid "Prefix for product ID"
    260260msgstr "Префикс для ID товара"
    261261
    262 #: classes/system/class-ip2y-data-arr.php:303
     262#: classes/system/class-ip2y-data.php:304
    263263msgid ""
    264264"Since you cannot change the ID of previously uploaded products on Yandex "
     
    268268"эта опция может быть полезна на этапе отладки"
    269269
    270 #: classes/system/class-ip2y-data-arr.php:318
    271 #: classes/system/class-ip2y-data-arr.php:325
     270#: classes/system/class-ip2y-data.php:319
     271#: classes/system/class-ip2y-data.php:326
    272272msgid "Product ID"
    273273msgstr "ID товара"
    274274
    275 #: classes/system/class-ip2y-data-arr.php:326
     275#: classes/system/class-ip2y-data.php:327
    276276msgid "Variation ID"
    277277msgstr "ID вариации"
    278278
    279 #: classes/system/class-ip2y-data-arr.php:329
    280 #: classes/system/class-ip2y-data-arr.php:402
     279#: classes/system/class-ip2y-data.php:330
     280#: classes/system/class-ip2y-data.php:403
    281281msgid "Product SKU"
    282282msgstr "Артикул товара"
    283283
    284 #: classes/system/class-ip2y-data-arr.php:341
     284#: classes/system/class-ip2y-data.php:342
    285285msgid "Old price"
    286286msgstr "Старая цена"
    287287
    288 #: classes/system/class-ip2y-data-arr.php:343
     288#: classes/system/class-ip2y-data.php:344
    289289msgid ""
    290290"In oldprice indicates the old price of the goods, which must necessarily be "
     
    294294"выше новой цены (price)"
    295295
    296 #: classes/system/class-ip2y-data-arr.php:362
     296#: classes/system/class-ip2y-data.php:363
    297297msgid "Manufacturer countries"
    298298msgstr "Страна-производитель"
    299299
    300 #: classes/system/class-ip2y-data-arr.php:379
     300#: classes/system/class-ip2y-data.php:380
    301301msgid "Vendor"
    302302msgstr "Производитель"
    303303
    304 #: classes/system/class-ip2y-data-arr.php:380
     304#: classes/system/class-ip2y-data.php:381
    305305msgid "brand name"
    306306msgstr "название бренда"
    307307
    308 #: classes/system/class-ip2y-data-arr.php:397
     308#: classes/system/class-ip2y-data.php:398
    309309msgid "Vendor Code"
    310310msgstr "Артикул"
    311311
    312 #: classes/system/class-ip2y-data-arr.php:398
     312#: classes/system/class-ip2y-data.php:399
    313313msgid "The article of the product from the vendor"
    314314msgstr "Артикул товара от поставщика"
    315315
    316 #: classes/system/class-ip2y-data-arr.php:414
     316#: classes/system/class-ip2y-data.php:415
    317317msgid "Barcodes"
    318318msgstr "Штрихкоды"
    319319
    320 #: classes/system/class-ip2y-data-arr.php:419
     320#: classes/system/class-ip2y-data.php:420
    321321msgid "Substitute from SKU"
    322322msgstr "Подставлять из Артикул"
    323323
    324 #: classes/system/class-ip2y-data-arr.php:420
     324#: classes/system/class-ip2y-data.php:421
    325325msgid "Substitute from post meta"
    326326msgstr "Подставлять из метаполя"
    327327
    328 #: classes/system/class-ip2y-data-arr.php:423
    329 #: classes/system/class-ip2y-data-arr.php:427
     328#: classes/system/class-ip2y-data.php:424
     329#: classes/system/class-ip2y-data.php:428
    330330msgid "Substitute from"
    331331msgstr "Подставлять из"
    332332
    333 #: classes/system/class-ip2y-data-arr.php:443
     333#: classes/system/class-ip2y-data.php:444
    334334msgid "Name post meta"
    335335msgstr "Имя метаполя"
    336336
    337 #: classes/system/class-ip2y-data-arr.php:454
     337#: classes/system/class-ip2y-data.php:455
    338338msgid "Description of the product"
    339339msgstr "Описание товара"
    340340
    341 #: classes/system/class-ip2y-data-arr.php:456
     341#: classes/system/class-ip2y-data.php:457
    342342msgid "The source of the description"
    343343msgstr "Источник описания товара"
    344344
    345 #: classes/system/class-ip2y-data-arr.php:462
     345#: classes/system/class-ip2y-data.php:463
    346346msgid "Only Excerpt description"
    347347msgstr "Только Краткое описание"
    348348
    349 #: classes/system/class-ip2y-data-arr.php:466
     349#: classes/system/class-ip2y-data.php:467
    350350msgid "Only Full description"
    351351msgstr "Только Полное описание"
    352352
    353 #: classes/system/class-ip2y-data-arr.php:470
     353#: classes/system/class-ip2y-data.php:471
    354354msgid "Excerpt or Full description"
    355355msgstr "Краткое или Полное описание"
    356356
    357 #: classes/system/class-ip2y-data-arr.php:474
     357#: classes/system/class-ip2y-data.php:475
    358358msgid "Full or Excerpt description"
    359359msgstr "Полное или Краткое описание"
    360360
    361 #: classes/system/class-ip2y-data-arr.php:478
     361#: classes/system/class-ip2y-data.php:479
    362362msgid "Excerpt plus Full description"
    363363msgstr "Краткое плюс Полное описание"
    364364
    365 #: classes/system/class-ip2y-data-arr.php:482
     365#: classes/system/class-ip2y-data.php:483
    366366msgid "Full plus Excerpt description"
    367367msgstr "Полное плюс Краткое описание"
    368368
    369 #: classes/system/class-ip2y-data-arr.php:497
     369#: classes/system/class-ip2y-data.php:498
    370370msgid "The varition description takes precedence over others"
    371371msgstr "Описание вариации имеет приоритет над другими"
    372372
    373 #: classes/system/class-ip2y-data-arr.php:517
     373#: classes/system/class-ip2y-data.php:518
    374374msgid "Add text to the product description"
    375375msgstr "Добавить текст в описание товара"
    376376
    377 #: classes/system/class-ip2y-data-arr.php:521
     377#: classes/system/class-ip2y-data.php:522
    378378msgid "Important"
    379379msgstr "Важно"
    380380
    381 #: classes/system/class-ip2y-data-arr.php:523
     381#: classes/system/class-ip2y-data.php:524
    382382msgid "You need to fill in the field below"
    383383msgstr "Вам необходимо заполнить поле ниже"
    384384
    385 #: classes/system/class-ip2y-data-arr.php:532
     385#: classes/system/class-ip2y-data.php:533
    386386msgid "Add before the main description"
    387387msgstr "Добавить перед основным описанием"
    388388
    389 #: classes/system/class-ip2y-data-arr.php:536
     389#: classes/system/class-ip2y-data.php:537
    390390msgid "Add after the main description"
    391391msgstr "Добавить после основного описания"
    392392
    393 #: classes/system/class-ip2y-data-arr.php:550
     393#: classes/system/class-ip2y-data.php:551
    394394msgid "This text will be added to all products"
    395395msgstr "Этот текст будет добавлен ко всем товарам"
    396396
    397 #: classes/system/class-ip2y-data-arr.php:552
     397#: classes/system/class-ip2y-data.php:553
    398398msgid "This text will be added to the product description"
    399399msgstr "Этот текст будет добавлен в описание товара"
    400400
    401 #: classes/system/class-ip2y-data-arr.php:565
     401#: classes/system/class-ip2y-data.php:566
    402402msgid "Include these attributes in the import"
    403403msgstr "Включить эти атрибуты в импорт"
    404404
    405 #: classes/system/class-ip2y-data-arr.php:567
     405#: classes/system/class-ip2y-data.php:568
    406406msgid "Hint"
    407407msgstr "Совет"
    408408
    409 #: classes/system/class-ip2y-data-arr.php:569
     409#: classes/system/class-ip2y-data.php:570
    410410msgid ""
    411411"To select multiple values, hold down the (ctrl) button on Windows or (cmd) "
     
    415415"Windows или (cmd) на Mac"
    416416
    417 #: classes/system/class-ip2y-data-arr.php:573
     417#: classes/system/class-ip2y-data.php:574
    418418msgid "To deselect, press and hold (ctrl) or (cmd), click on the marked items"
    419419msgstr ""
     
    421421"отмеченные элементы"
    422422
    423 #: classes/system/class-ip2y-data-arr.php:594
     423#: classes/system/class-ip2y-data.php:595
    424424msgid "Import the amount of the product"
    425425msgstr "Импорт количества товара"
    426426
    427 #: classes/system/class-ip2y-data-arr.php:613
     427#: classes/system/class-ip2y-data.php:614
    428428msgid "Warehouse ID"
    429429msgstr "ID склада"
    430430
    431 #: classes/system/class-ip2y-data-arr.php:627
     431#: classes/system/class-ip2y-data.php:628
    432432msgid "Delete or archive?"
    433433msgstr "Удалять или архивировать?"
    434434
    435 #: classes/system/class-ip2y-data-arr.php:631
     435#: classes/system/class-ip2y-data.php:632
    436436msgid ""
    437437"Delete or archive products that were previously imported using the plugin "
     
    443443"Яндекс Маркете"
    444444
    445 #: classes/system/class-ip2y-data-arr.php:637
     445#: classes/system/class-ip2y-data.php:638
    446446msgid "Archive"
    447447msgstr "Архивировать"
    448448
    449 #: classes/system/class-ip2y-data-arr.php:638
     449#: classes/system/class-ip2y-data.php:639
    450450msgid "Delete"
    451451msgstr "Удалить"
    452452
    453 #: classes/system/class-ip2y-data-arr.php:653
     453#: classes/system/class-ip2y-data.php:654
    454454msgid "except for products for which a pre-order is permitted"
    455455msgstr "за исключением товаров, для которых разрешен предварительный заказ"
    456456
    457 #: classes/system/class-ip2y-data-arr.php:706
     457#: classes/system/class-ip2y-data.php:707
    458458msgid "Shop currency"
    459459msgstr "Валюта магазина"
    460460
    461 #: classes/system/class-ip2y-data-arr.php:708
     461#: classes/system/class-ip2y-data.php:709
    462462msgid "You have plugin installed"
    463463msgstr "У вас установлен плагин"
    464464
    465 #: classes/system/class-ip2y-data-arr.php:710
     465#: classes/system/class-ip2y-data.php:711
    466466msgid "Indicate in what currency the prices should be"
    467467msgstr "Укажите, в какой валюте должны быть указаны цены"
    468468
    469 #: classes/system/class-ip2y-data-arr.php:711
     469#: classes/system/class-ip2y-data.php:712
    470470msgid "Please note"
    471471msgstr "Обратите внимание"
    472472
    473 #: classes/system/class-ip2y-data-arr.php:712
     473#: classes/system/class-ip2y-data.php:713
    474474msgid "Yandex Market only supports the following currencies"
    475475msgstr "Яндекс Маркет поддерживает только следующие валюты"
    476476
    477 #: classes/system/class-ip2y-data-arr.php:714
     477#: classes/system/class-ip2y-data.php:715
    478478msgid "Choosing a different currency can lead to errors"
    479479msgstr "Выбор другой валюты может привести к ошибкам"
     
    544544msgstr "Песочница"
    545545
    546 #: classes/system/class-ip2y-debug-page.php:320
    547 msgid ""
    548 "Your site has no global attributes! This may affect the quality of the "
    549 "import to ok.ru. This can also cause difficulties when setting up the plugin"
    550 msgstr ""
    551 "Ваш сайт не имеет глобальных атрибутов! Это может повлиять на качество "
    552 "импорта в ok.ru. Это также может вызвать трудности при настройке плагина"
    553 
    554 #: classes/system/class-ip2y-debug-page.php:320
    555 msgid "Please read the recommendations"
    556 msgstr "Пожалуйста, прочитайте рекомендации"
    557 
    558 #: classes/system/class-ip2y-debug-page.php:364
     546#: classes/system/class-ip2y-debug-page.php:359
    559547msgid "Most likely, these plugins negatively affect the operation of"
    560548msgstr "Скорее всего, эти плагины негативно влияют на работу"
    561549
    562 #: classes/system/class-ip2y-debug-page.php:364
     550#: classes/system/class-ip2y-debug-page.php:359
    563551msgid ""
    564552"If you are a developer of one of the plugins from the list above, please "
     
    568556"со мной"
    569557
    570 #: classes/system/class-ip2y-debug-page.php:400
     558#: classes/system/class-ip2y-debug-page.php:395
    571559#: classes/system/class-ip2y.php:196
    572560msgid "Updated"
    573561msgstr "Обновлено"
    574562
    575 #: classes/system/class-ip2y-debug-page.php:417
     563#: classes/system/class-ip2y-debug-page.php:412
    576564msgid "Logs were cleared"
    577565msgstr "Логи были очищены"
    578566
    579 #: classes/system/class-ip2y-debug-page.php:421
     567#: classes/system/class-ip2y-debug-page.php:416
    580568msgid "Error accessing log file. The log file may have been deleted previously"
    581569msgstr "Ошибка доступа к log-файлу. Возможно log-файл был удален ранее"
     
    710698msgstr "Настройки"
    711699
    712 #: classes/system/pages/extensions-page/views/html-extensions-page.php:51
     700#: classes/system/pages/extensions-page/views/html-extensions-page.php:135
     701msgid "Upgrade the"
     702msgstr "Прокачайте"
     703
     704#: classes/system/pages/extensions-page/views/html-extensions-page.php:150
     705msgid "All features of the free version"
     706msgstr "Все возможности бесплатной версии"
     707
     708#: classes/system/pages/extensions-page/views/html-extensions-page.php:152
    713709msgid "The ability to сhange the product price by a certain percentage"
    714710msgstr "Возможность изменить цену товара на определенный процент"
    715711
    716 #: classes/system/pages/extensions-page/views/html-extensions-page.php:57
     712#: classes/system/pages/extensions-page/views/html-extensions-page.php:154
    717713msgid "The ability to import multiple images instead of one"
    718714msgstr "Возможность импортировать несколько изображений вместо одного"
    719715
    720 #: classes/system/pages/extensions-page/views/html-extensions-page.php:63
     716#: classes/system/pages/extensions-page/views/html-extensions-page.php:156
    721717msgid "The ability to exclude products from certain categories"
    722718msgstr "Возможность исключать товары из определенных категорий"
    723719
    724 #: classes/system/pages/extensions-page/views/html-extensions-page.php:69
     720#: classes/system/pages/extensions-page/views/html-extensions-page.php:158
    725721msgid "The ability to exclude products at a price"
    726722msgstr "Возможность исключать товары по цене"
    727723
    728 #: classes/system/pages/extensions-page/views/html-extensions-page.php:76
     724#: classes/system/pages/extensions-page/views/html-extensions-page.php:160
    729725msgid "Even more stable work"
    730726msgstr "Еще более стабильная работа"
    731727
    732 #: classes/system/pages/extensions-page/views/html-extensions-page.php:85
    733 msgid "Get"
    734 msgstr "Получить"
    735 
    736 #: classes/system/pages/extensions-page/views/html-extensions-page.php:87
    737 msgid "Now"
    738 msgstr "Сейчас"
     728#: classes/system/pages/extensions-page/views/html-extensions-page.php:162
     729msgid "1 year of technical support"
     730msgstr "1 год технической поддержки"
     731
     732#: classes/system/pages/extensions-page/views/html-extensions-page.php:164
     733msgid "Unlimited updates throughout the year"
     734msgstr "Неограниченное количество обновлений в течение года"
     735
     736#: classes/system/pages/extensions-page/views/html-extensions-page.php:171
     737msgid "Get Now"
     738msgstr "Получить сейчас"
    739739
    740740#: classes/system/pages/settings-page/class-ip2y-settings-page.php:125
     
    940940msgstr "Запустить импорт"
    941941
    942 #: classes/system/updates/class-ip2y-plugin-form-activate.php:81
     942#: classes/system/updates/class-ip2y-plugin-form-activate.php:138
    943943msgid "License data"
    944944msgstr "Данные лицензии"
    945945
    946 #: classes/system/updates/class-ip2y-plugin-form-activate.php:91
    947 msgid "Order ID"
    948 msgstr "Номер заказа"
    949 
    950 #: classes/system/updates/class-ip2y-plugin-form-activate.php:103
    951 #: classes/system/updates/class-ip2y-plugin-form-activate.php:120
    952 #: common-libs/class-icpd-promo-1-1-0.php:198
    953 msgid "Read more"
    954 msgstr "Подробнее"
    955 
    956 #: classes/system/updates/class-ip2y-plugin-form-activate.php:109
    957 msgid "Order Email"
    958 msgstr "Email заказа"
    959 
    960 #: classes/system/updates/class-ip2y-plugin-form-activate.php:126
    961 msgid "Update License Data"
    962 msgstr "Обновить данные лицензии"
    963 
    964 #: classes/system/updates/class-ip2y-plugin-form-activate.php:211
     946#: classes/system/updates/class-ip2y-plugin-form-activate.php:267
    965947msgid "License data has been updated"
    966948msgstr "Лицензионные данные были обновлены"
    967949
    968 #: classes/system/updates/class-ip2y-plugin-form-activate.php:212
     950#: classes/system/updates/class-ip2y-plugin-form-activate.php:268
    969951msgid "Refresh this page"
    970952msgstr "Обновите эту страницу"
    971953
    972 #: classes/system/updates/class-ip2y-plugin-upd.php:110
     954#: classes/system/updates/class-ip2y-plugin-upd.php:166
    973955msgid "License is active"
    974956msgstr "Лицензия активна"
    975957
    976 #: classes/system/updates/class-ip2y-plugin-upd.php:114
    977 #: classes/system/updates/class-ip2y-plugin-upd.php:159
     958#: classes/system/updates/class-ip2y-plugin-upd.php:172
     959#: classes/system/updates/class-ip2y-plugin-upd.php:227
    978960msgid "License expired"
    979961msgstr "Лицензия истекла"
    980962
    981 #: classes/system/updates/class-ip2y-plugin-upd.php:118
    982 #: classes/system/updates/class-ip2y-plugin-upd.php:129
    983 #: classes/system/updates/class-ip2y-plugin-upd.php:172
    984 #: classes/system/updates/class-ip2y-plugin-upd.php:196
     963#: classes/system/updates/class-ip2y-plugin-upd.php:178
     964#: classes/system/updates/class-ip2y-plugin-upd.php:193
     965#: classes/system/updates/class-ip2y-plugin-upd.php:245
     966#: classes/system/updates/class-ip2y-plugin-upd.php:279
    985967msgid "License data is invalid"
    986968msgstr "Данные лицензии недействительны"
    987969
    988 #: classes/system/updates/class-ip2y-plugin-upd.php:123
    989 #: classes/system/updates/class-ip2y-plugin-upd.php:184
     970#: classes/system/updates/class-ip2y-plugin-upd.php:185
     971#: classes/system/updates/class-ip2y-plugin-upd.php:262
    990972msgid ""
    991973"This license cannot be used on this site. The package limit has been exceeded"
     
    993975"Эта лицензия не может быть использована на этом сайте. Превышен лимит пакета"
    994976
    995 #: classes/system/updates/class-ip2y-plugin-upd.php:160
    996 #: classes/system/updates/class-ip2y-plugin-upd.php:225
     977#: classes/system/updates/class-ip2y-plugin-upd.php:228
     978#: classes/system/updates/class-ip2y-plugin-upd.php:311
    997979msgid "Please"
    998980msgstr "Пожалуйста"
    999981
    1000 #: classes/system/updates/class-ip2y-plugin-upd.php:162
    1001 #: classes/system/updates/class-ip2y-plugin-upd.php:227
     982#: classes/system/updates/class-ip2y-plugin-upd.php:230
     983#: classes/system/updates/class-ip2y-plugin-upd.php:313
    1002984msgid "purchase a new license"
    1003985msgstr "приобретите новую лицензию"
    1004986
    1005 #: classes/system/updates/class-ip2y-plugin-upd.php:163
    1006 #: classes/system/updates/class-ip2y-plugin-upd.php:228
     987#: classes/system/updates/class-ip2y-plugin-upd.php:231
     988#: classes/system/updates/class-ip2y-plugin-upd.php:314
    1007989msgid "to get a discount, use this promo code"
    1008990msgstr "чтобы получить скидку, используйте этот промо-код"
    1009991
    1010 #: classes/system/updates/class-ip2y-plugin-upd.php:165
    1011 #: classes/system/updates/class-ip2y-plugin-upd.php:230
     992#: classes/system/updates/class-ip2y-plugin-upd.php:233
     993#: classes/system/updates/class-ip2y-plugin-upd.php:316
    1012994msgid "If you have already done this"
    1013995msgstr "Если вы уже сделали это"
    1014996
    1015 #: classes/system/updates/class-ip2y-plugin-upd.php:166
    1016 #: classes/system/updates/class-ip2y-plugin-upd.php:231
     997#: classes/system/updates/class-ip2y-plugin-upd.php:235
     998#: classes/system/updates/class-ip2y-plugin-upd.php:317
    1017999msgid "enter the new license information here"
    10181000msgstr "введите здесь информацию о новой лицензии"
    10191001
    1020 #: classes/system/updates/class-ip2y-plugin-upd.php:173
    1021 #: classes/system/updates/class-ip2y-plugin-upd.php:197
     1002#: classes/system/updates/class-ip2y-plugin-upd.php:246
     1003#: classes/system/updates/class-ip2y-plugin-upd.php:280
    10221004msgid "version features do not work and you can not install updates"
    10231005msgstr "версии не работают, и вы не можете устанавливать обновления"
    10241006
    1025 #: classes/system/updates/class-ip2y-plugin-upd.php:174
    1026 #: classes/system/updates/class-ip2y-plugin-upd.php:187
    1027 #: classes/system/updates/class-ip2y-plugin-upd.php:198
     1007#: classes/system/updates/class-ip2y-plugin-upd.php:247
     1008#: classes/system/updates/class-ip2y-plugin-upd.php:265
     1009#: classes/system/updates/class-ip2y-plugin-upd.php:281
    10281010msgid "Enter your license information"
    10291011msgstr "Введите информацию о лицензии"
    10301012
    1031 #: classes/system/updates/class-ip2y-plugin-upd.php:175
    1032 #: classes/system/updates/class-ip2y-plugin-upd.php:188
    1033 #: classes/system/updates/class-ip2y-plugin-upd.php:199
     1013#: classes/system/updates/class-ip2y-plugin-upd.php:248
     1014#: classes/system/updates/class-ip2y-plugin-upd.php:266
     1015#: classes/system/updates/class-ip2y-plugin-upd.php:282
    10341016msgid "or"
    10351017msgstr "или"
    10361018
    1037 #: classes/system/updates/class-ip2y-plugin-upd.php:177
    1038 #: classes/system/updates/class-ip2y-plugin-upd.php:190
    1039 #: classes/system/updates/class-ip2y-plugin-upd.php:201
     1019#: classes/system/updates/class-ip2y-plugin-upd.php:250
     1020#: classes/system/updates/class-ip2y-plugin-upd.php:268
     1021#: classes/system/updates/class-ip2y-plugin-upd.php:284
    10401022msgid "purchase a new one"
    10411023msgstr "приобретите новую"
    10421024
    1043 #: classes/system/updates/class-ip2y-plugin-upd.php:218
     1025#: classes/system/updates/class-ip2y-plugin-upd.php:304
    10441026msgid "License expires in"
    10451027msgstr "Лицензия истекает через"
    10461028
    1047 #: classes/system/updates/class-ip2y-plugin-upd.php:220
     1029#: classes/system/updates/class-ip2y-plugin-upd.php:306
    10481030msgid "day"
    10491031msgstr "день"
    10501032
    1051 #: classes/system/updates/class-ip2y-plugin-upd.php:221
     1033#: classes/system/updates/class-ip2y-plugin-upd.php:307
    10521034msgctxt "2 days"
    10531035msgid "days"
    10541036msgstr "дня"
    10551037
    1056 #: classes/system/updates/class-ip2y-plugin-upd.php:222
     1038#: classes/system/updates/class-ip2y-plugin-upd.php:308
    10571039msgctxt "5 days"
    10581040msgid "days"
    10591041msgstr "дней"
     1042
     1043#: classes/system/updates/class-ip2y-plugin-upd.php:584
     1044msgid "Error checking for updates"
     1045msgstr "Проверка обновлений на наличие ошибок"
     1046
     1047#: classes/system/updates/class-ip2y-plugin-upd.php:586
     1048#: classes/system/updates/class-ip2y-plugin-upd.php:625
     1049msgid "File"
     1050msgstr "Файл"
     1051
     1052#: classes/system/updates/class-ip2y-plugin-upd.php:588
     1053#: classes/system/updates/class-ip2y-plugin-upd.php:627
     1054msgid "Line"
     1055msgstr "Строка"
     1056
     1057#: classes/system/updates/class-ip2y-plugin-upd.php:623
     1058msgid "Error when requesting information about the plugin"
     1059msgstr "Ошибка при запросе информации о плагине"
    10601060
    10611061#: common-libs/class-icpd-feedback-1-0-3.php:96
     
    11281128msgstr "Отправить данные"
    11291129
    1130 #: common-libs/class-icpd-promo-1-1-0.php:51
     1130#: common-libs/class-icpd-promo.php:52
    11311131msgid "Сreates a XML-feed to upload to Google Merchant Center"
    11321132msgstr "Создает XML-фид для загрузки в Google Merchant Center"
    11331133
    1134 #: common-libs/class-icpd-promo-1-1-0.php:57
     1134#: common-libs/class-icpd-promo.php:58
    11351135msgid "Сreates a YML-feed for importing your products to Yandex Market"
    11361136msgstr "Создает YML-фид для импорта ваших товаров на Яндекс Маркет"
    11371137
    1138 #: common-libs/class-icpd-promo-1-1-0.php:64
     1138#: common-libs/class-icpd-promo.php:65
    11391139msgid "Imports products from YML to your shop"
    11401140msgstr "Импортирует товары из YML в ваш магазин"
    11411141
    1142 #: common-libs/class-icpd-promo-1-1-0.php:70
     1142#: common-libs/class-icpd-promo.php:71
    11431143msgid ""
    11441144"Imports products to Yandex Market from your online store on Woocommerce "
     
    11481148"Woocommerce с помощью API"
    11491149
    1150 #: common-libs/class-icpd-promo-1-1-0.php:78
     1150#: common-libs/class-icpd-promo.php:79
    11511151msgid ""
    11521152"This plugin helps setting up myTarget counter for dynamic remarketing for "
     
    11561156"ремаркетинга для WooCommerce"
    11571157
    1158 #: common-libs/class-icpd-promo-1-1-0.php:85
     1158#: common-libs/class-icpd-promo.php:86
    11591159msgid "Сreates a XML-feed for importing your products to Hotline"
    11601160msgstr "Создает XML-фид для импорта ваших товаров на Hotline"
    11611161
    1162 #: common-libs/class-icpd-promo-1-1-0.php:91
     1162#: common-libs/class-icpd-promo.php:92
    11631163msgid ""
    11641164"This plugin will add a marketing tool that will allow you to give gifts to "
     
    11681168"подарки покупателю при покупке"
    11691169
    1170 #: common-libs/class-icpd-promo-1-1-0.php:99
     1170#: common-libs/class-icpd-promo.php:100
    11711171msgid "With this plugin, you can import products to your group on ok.ru"
    11721172msgstr ""
    11731173"С помощью этого плагина вы можете импортировать товары в свою группу на ok.ru"
    11741174
    1175 #: common-libs/class-icpd-promo-1-1-0.php:107
     1175#: common-libs/class-icpd-promo.php:108
    11761176msgid "With this plugin, you can import products to OZON"
    11771177msgstr "С помощью этого плагина вы можете импортировать товары на OZON"
    11781178
    1179 #: common-libs/class-icpd-promo-1-1-0.php:115
     1179#: common-libs/class-icpd-promo.php:116
    11801180msgid "With this plugin, you can import products to your group on VK.com"
    11811181msgstr ""
    11821182"С помощью этого плагина вы можете импортировать товары в свою группу в VK.com"
    11831183
    1184 #: common-libs/class-icpd-promo-1-1-0.php:122
    1185 #: common-libs/class-icpd-promo-1-1-0.php:127
     1184#: common-libs/class-icpd-promo.php:123 common-libs/class-icpd-promo.php:128
    11861185msgid "Сreates a XML-feed for importing your products to"
    11871186msgstr "Создает XML-фид для импорта ваших товаров на"
    11881187
    1189 #: common-libs/class-icpd-promo-1-1-0.php:172
     1188#: common-libs/class-icpd-promo.php:175
    11901189msgid "My plugins that may interest you"
    11911190msgstr "Мои плагины, которые могут вас заинтересовать"
     1191
     1192#: common-libs/class-icpd-promo.php:202
     1193msgid "Read more"
     1194msgstr "Подробнее"
    11921195
    11931196#: common-libs/wc-add-functions-1-0-2.php:102
     
    12381241msgstr "требуется, чтобы WooCommerce был установлен и активирован"
    12391242
     1243#~ msgid ""
     1244#~ "Your site has no global attributes! This may affect the quality of the "
     1245#~ "import to ok.ru. This can also cause difficulties when setting up the "
     1246#~ "plugin"
     1247#~ msgstr ""
     1248#~ "Ваш сайт не имеет глобальных атрибутов! Это может повлиять на качество "
     1249#~ "импорта в ok.ru. Это также может вызвать трудности при настройке плагина"
     1250
     1251#~ msgid "Please read the recommendations"
     1252#~ msgstr "Пожалуйста, прочитайте рекомендации"
     1253
     1254#~ msgid "Get"
     1255#~ msgstr "Получить"
     1256
     1257#~ msgid "Now"
     1258#~ msgstr "Сейчас"
     1259
     1260#~ msgid "Order ID"
     1261#~ msgstr "Номер заказа"
     1262
     1263#~ msgid "Order Email"
     1264#~ msgstr "Email заказа"
     1265
     1266#~ msgid "Update License Data"
     1267#~ msgstr "Обновить данные лицензии"
     1268
    12401269#~ msgid "Soon"
    12411270#~ msgstr "Скоро"
     
    14871516#~ msgid "Feed ID"
    14881517#~ msgstr "Фид ID"
    1489 
    1490 #~ msgid "YML File"
    1491 #~ msgstr "Файл YML"
    14921518
    14931519#~ msgid "Automatic file creation"
  • wc-import-yandex/trunk/packages.php

    r3096685 r3450668  
    11<?php defined( 'ABSPATH' ) || exit;
    2 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/icopydoc-useful-functions-1-1-8.php';
     2require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/icopydoc-useful-functions-2-0-2.php';
    33require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/wc-add-functions-1-0-2.php';
    44require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-feedback-1-0-3.php';
    5 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-promo-1-1-0.php';
     5require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-promo.php';
    66require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-set-admin-notices.php';
    77require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/backward-compatibility.php';
     
    1010require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y.php';
    1111require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-interface-hocked.php';
    12 require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-data-arr.php';
     12require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-data.php';
    1313require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-debug-page.php';
    1414require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-error-log.php';
  • wc-import-yandex/trunk/readme.txt

    r3428729 r3450668  
    55Requires at least: 4.5
    66Tested up to: 6.9
    7 Stable tag: 0.5.1
     7Stable tag: 0.5.2
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2727
    2828== Changelog ==
     29
     30= 0.5.2 =
     31*Release Date 30-01-2026*
     32
     33* Added support for the VAT rate of 22%
    2934
    3035= 0.5.1 =
     
    6065== Upgrade Notice ==
    6166
    62 = 0.5.1 =
    63 *Release Date 14-04-2025*
     67= 0.5.2 =
     68*Release Date 30-01-2026*
    6469
    65 * Added compatibility with the "WooCommerce Currency Switcher by PluginUs.NET. Woo Multi Currency and Wood Multi Pay" plugin.
    66 * Added VAT rates of 5% and 7%.
     70* Added support for the VAT rate of 22%
  • wc-import-yandex/trunk/wc-import-yandex.php

    r3272240 r3450668  
    11<?php
     2
    23/**
    3  * Plugin Name: Import Products to Yandex
    4  * Requires Plugins: woocommerce
    5  * Plugin URI: https://icopydoc.ru/category/documentation/wc-import-yandex/
    6  * Description: Plugin for importing products from WooCommerce online store to Yandex Market. Helps to increase sales.
    7  * Version: 0.5.1
    8  * Requires at least: 5.0
    9  * Requires PHP: 7.4.0
    10  * Author: Maxim Glazunov
    11  * Author URI: https://icopydoc.ru
    12  * License: GPL v2 or later
    13  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
    14  * Text Domain: wc-import-yandex
    15  * Domain Path: /languages
    16  * Tags: yandex, import, products, export, woocommerce
    17  * WC requires at least: 3.0.0
    18  * WC tested up to: 9.8.1
     4 * The plugin bootstrap file.
    195 *
    20  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
    21  * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
    22  * that you can use any other version of the GPL.
     6 * This file is read by WordPress to generate the plugin information in the plugin
     7 * admin area. This file also includes all of the dependencies used by the plugin,
     8 * registers the activation and deactivation functions, and defines a function
     9 * that starts the plugin.
    2310 *
    24  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
    25  * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    26  *
    27  * Copyright 2024-2025 (Author emails: [email protected], [email protected])
     11 * @link                    https://icopydoc.ru
     12 * @since                   0.1.0
     13 * @package                 IP2Y
     14 *
     15 * @wordpress-plugin
     16 * Plugin Name:             Import Products to Yandex
     17 * Requires Plugins:        woocommerce
     18 * Plugin URI:              https://wordpress.org/plugins/wc-import-yandex/
     19 * Description:             Plugin for importing products from WooCommerce online store to Yandex Market. Helps to increase sales.
     20 * Version:                 0.5.2
     21 * Requires at least:       5.9
     22 * Requires PHP:            7.4.0
     23 * Author:                  Maxim Glazunov
     24 * Author URI:              https://icopydoc.ru/
     25 * License:                 GPL-2.0+
     26 * License URI:             http://www.gnu.org/licenses/gpl-2.0.txt
     27 * Text Domain:             wc-import-yandex
     28 * Domain Path:             /languages
     29 * Tags:                    yandex, import, products, export, woocommerce
     30 * WC requires at least:    3.0.0
     31 * WC tested up to:         10.4.3
    2832 */
    29 defined( 'ABSPATH' ) || exit;
     33
     34// If this file is called directly, abort.
     35if ( ! defined( 'WPINC' ) ) {
     36    die;
     37}
    3038
    3139$nr = false;
     
    8896
    8997// Define constants
    90 define( 'IP2Y_PLUGIN_VERSION', '0.5.1' );
     98define( 'IP2Y_PLUGIN_VERSION', '0.5.2' );
    9199
    92100$upload_dir = wp_get_upload_dir();
Note: See TracChangeset for help on using the changeset viewer.