Changeset 3450668
- Timestamp:
- 01/30/2026 07:08:08 PM (26 hours ago)
- Location:
- wc-import-yandex
- Files:
-
- 76 added
- 3 deleted
- 13 edited
-
tags/0.5.2 (added)
-
tags/0.5.2/assets (added)
-
tags/0.5.2/assets/css (added)
-
tags/0.5.2/assets/css/ip2y-style.css (added)
-
tags/0.5.2/assets/img (added)
-
tags/0.5.2/assets/img/instruction-1.png (added)
-
tags/0.5.2/assets/img/instruction-2.png (added)
-
tags/0.5.2/assets/img/instruction-3.png (added)
-
tags/0.5.2/assets/img/instruction-4.png (added)
-
tags/0.5.2/assets/img/instruction-5.png (added)
-
tags/0.5.2/assets/img/instruction-6.png (added)
-
tags/0.5.2/assets/img/instruction-7.png (added)
-
tags/0.5.2/assets/img/wc-import-yandex-pro-banner.jpg (added)
-
tags/0.5.2/assets/js (added)
-
tags/0.5.2/assets/js/select2-init.js (added)
-
tags/0.5.2/assets/js/select2.min.js (added)
-
tags/0.5.2/classes (added)
-
tags/0.5.2/classes/generation (added)
-
tags/0.5.2/classes/generation/class-ip2y-api-helper-simple.php (added)
-
tags/0.5.2/classes/generation/class-ip2y-api-helper-variable.php (added)
-
tags/0.5.2/classes/generation/class-ip2y-api-helper.php (added)
-
tags/0.5.2/classes/generation/class-ip2y-api.php (added)
-
tags/0.5.2/classes/generation/class-ip2y-generation-xml.php (added)
-
tags/0.5.2/classes/generation/traits (added)
-
tags/0.5.2/classes/generation/traits/common (added)
-
tags/0.5.2/classes/generation/traits/common/trait-ip2y-t-common-get-catid.php (added)
-
tags/0.5.2/classes/generation/traits/common/trait-ip2y-t-common-skips.php (added)
-
tags/0.5.2/classes/generation/traits/global (added)
-
tags/0.5.2/classes/generation/traits/global/traits-ip2y-global-variables.php (added)
-
tags/0.5.2/classes/system (added)
-
tags/0.5.2/classes/system/class-ip2y-data.php (added)
-
tags/0.5.2/classes/system/class-ip2y-debug-page.php (added)
-
tags/0.5.2/classes/system/class-ip2y-error-log.php (added)
-
tags/0.5.2/classes/system/class-ip2y-interface-hocked.php (added)
-
tags/0.5.2/classes/system/class-ip2y.php (added)
-
tags/0.5.2/classes/system/pages (added)
-
tags/0.5.2/classes/system/pages/extensions-page (added)
-
tags/0.5.2/classes/system/pages/extensions-page/class-ip2y-extensions-page.php (added)
-
tags/0.5.2/classes/system/pages/extensions-page/views (added)
-
tags/0.5.2/classes/system/pages/extensions-page/views/html-extensions-page.php (added)
-
tags/0.5.2/classes/system/pages/extensions-page/views/imgs (added)
-
tags/0.5.2/classes/system/pages/extensions-page/views/imgs/wc-import-yandex-pro-350x350.jpg (added)
-
tags/0.5.2/classes/system/pages/settings-page (added)
-
tags/0.5.2/classes/system/pages/settings-page/class-ip2y-settings-page.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page-api-tab.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page-save-btn.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page-tab-another.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page-tabs.php (added)
-
tags/0.5.2/classes/system/pages/settings-page/views/html-admin-settings-page.php (added)
-
tags/0.5.2/classes/system/updates (added)
-
tags/0.5.2/classes/system/updates/class-ip2y-plugin-form-activate.php (added)
-
tags/0.5.2/classes/system/updates/class-ip2y-plugin-upd.php (added)
-
tags/0.5.2/common-libs (added)
-
tags/0.5.2/common-libs/backward-compatibility.php (added)
-
tags/0.5.2/common-libs/class-icpd-feedback-1-0-3.php (added)
-
tags/0.5.2/common-libs/class-icpd-promo.php (added)
-
tags/0.5.2/common-libs/class-icpd-set-admin-notices.php (added)
-
tags/0.5.2/common-libs/icopydoc-useful-functions-2-0-2.php (added)
-
tags/0.5.2/common-libs/wc-add-functions-1-0-2.php (added)
-
tags/0.5.2/functions.php (added)
-
tags/0.5.2/languages (added)
-
tags/0.5.2/languages/wc-import-yandex-ru_RU.mo (added)
-
tags/0.5.2/languages/wc-import-yandex-ru_RU.po (added)
-
tags/0.5.2/packages.php (added)
-
tags/0.5.2/readme.txt (added)
-
tags/0.5.2/sandbox.php (added)
-
tags/0.5.2/screenshot-1.png (added)
-
tags/0.5.2/uninstall.php (added)
-
tags/0.5.2/wc-import-yandex.php (added)
-
trunk/classes/system/class-ip2y-data-arr.php (deleted)
-
trunk/classes/system/class-ip2y-data.php (added)
-
trunk/classes/system/class-ip2y-debug-page.php (modified) (2 diffs)
-
trunk/classes/system/class-ip2y.php (modified) (6 diffs)
-
trunk/classes/system/pages/extensions-page/views/html-extensions-page.php (modified) (2 diffs)
-
trunk/classes/system/pages/extensions-page/views/imgs (added)
-
trunk/classes/system/pages/extensions-page/views/imgs/wc-import-yandex-pro-350x350.jpg (added)
-
trunk/classes/system/pages/settings-page/class-ip2y-settings-page.php (modified) (8 diffs)
-
trunk/classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php (modified) (2 diffs)
-
trunk/classes/system/pages/settings-page/views/html-admin-settings-page.php (modified) (2 diffs)
-
trunk/classes/system/updates/class-ip2y-plugin-form-activate.php (modified) (9 diffs)
-
trunk/classes/system/updates/class-ip2y-plugin-upd.php (modified) (34 diffs)
-
trunk/common-libs/class-icpd-promo-1-1-0.php (deleted)
-
trunk/common-libs/class-icpd-promo.php (added)
-
trunk/common-libs/icopydoc-useful-functions-1-1-8.php (deleted)
-
trunk/common-libs/icopydoc-useful-functions-2-0-2.php (added)
-
trunk/languages/wc-import-yandex-ru_RU.mo (modified) (previous)
-
trunk/languages/wc-import-yandex-ru_RU.po (modified) (23 diffs)
-
trunk/packages.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/wc-import-yandex.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wc-import-yandex/trunk/classes/system/class-ip2y-debug-page.php
r3071614 r3450668 7 7 * @since 0.1.0 8 8 * 9 * @version 0. 2.0 (16-04-2024)9 * @version 0.5.2 (30-01-2026) 10 10 * @author Maxim Glazunov 11 11 * @link https://icopydoc.ru/ … … 315 315 $conflict_with_plugins = 0; 316 316 $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 }322 317 if ( is_plugin_active( 'snow-storm/snow-storm.php' ) ) { 323 318 $possible_problems_count++; -
wc-import-yandex/trunk/classes/system/class-ip2y.php
r3272240 r3450668 7 7 * @since 0.1.0 8 8 * 9 * @version 0.5. 1 (14-04-2025)9 * @version 0.5.2 (30-01-2026) 10 10 * @author Maxim Glazunov 11 11 * @link https://icopydoc.ru/ … … 14 14 * @param 15 15 * 16 * @depends classes: IP2Y_Data _Arr16 * @depends classes: IP2Y_Data 17 17 * IP2Y_Settings_Page 18 18 * IP2Y_Debug_Page … … 109 109 110 110 if ( false == common_option_get( 'ip2y_version' ) ) { // это первая установка 111 $ip2y_data_arr_obj = new IP2Y_Data _Arr();111 $ip2y_data_arr_obj = new IP2Y_Data(); 112 112 $opts_arr = $ip2y_data_arr_obj->get_opts_name_and_def_date( 'all' ); // массив дефолтных настроек 113 113 common_option_upd( 'ip2y_settings_arr', $opts_arr, 'no', '1' ); // пишем все настройки … … 131 131 132 132 new IP2Y_Interface_Hoocked(); 133 new ICPD_Feedback( [ 133 new ICPD_Feedback( [ 134 134 'plugin_name' => 'Import Products to Yandex', 135 135 'plugin_version' => $this->get_plugin_version(), … … 414 414 public function add_cron_intervals( $new_schedules ) { 415 415 416 $new_schedules['seventy_sec'] = [ 416 $new_schedules['seventy_sec'] = [ 417 417 'interval' => 70, 418 418 'display' => __( '70 seconds', 'wc-import-yandex' ) 419 419 ]; 420 $new_schedules['five_min'] = [ 420 $new_schedules['five_min'] = [ 421 421 'interval' => 300, 422 422 'display' => __( '5 minutes', 'wc-import-yandex' ) 423 423 ]; 424 $new_schedules['three_hours'] = [ 424 $new_schedules['three_hours'] = [ 425 425 'interval' => 10800, 426 426 'display' => __( '3 hours', 'wc-import-yandex' ) 427 427 ]; 428 $new_schedules['six_hours'] = [ 428 $new_schedules['six_hours'] = [ 429 429 'interval' => 21600, 430 430 'display' => __( '6 hours', 'wc-import-yandex' ) 431 431 ]; 432 $new_schedules['week'] = [ 432 $new_schedules['week'] = [ 433 433 'interval' => 604800, 434 434 'display' => __( '1 week', 'wc-import-yandex' ) … … 547 547 ) ); 548 548 // получаем список дефолтных настроек 549 $ip2y_data_arr_obj = new IP2Y_Data _Arr();549 $ip2y_data_arr_obj = new IP2Y_Data(); 550 550 $default_settings_obj = $ip2y_data_arr_obj->get_opts_name_and_def_date_obj( 'all' ); 551 551 // проверим, заданы ли дефолтные настройки -
wc-import-yandex/trunk/classes/system/pages/extensions-page/views/html-extensions-page.php
r3099550 r3450668 1 1 <?php 2 2 /** 3 * Print Extensions page 3 * Print Extensions page. 4 4 * 5 * @version 0. 4.0 (07-06-2024)5 * @version 0.5.2 (30-01-2026) 6 6 * @see 7 7 * @package … … 10 10 ?> 11 11 <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; 20 14 } 21 15 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 { 23 120 background-color: #3d4247 !important; 24 121 border-color: #4b5157 !important; 25 122 } 26 123 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 } 29 130 } 30 131 </style> 31 132 <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>✔ 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>✔ 56 <?php esc_html_e( 57 'The ability to import multiple images instead of one', 58 'wc-import-yandex' ); 59 ?>; 60 </li> 61 <li>✔ 62 <?php esc_html_e( 63 'The ability to exclude products from certain categories', 64 'wc-import-yandex' ); 65 ?>; 66 </li> 67 <li>✔ 68 <?php esc_html_e( 69 'The ability to exclude products at a price', 70 'wc-import-yandex' 71 ); ?>; 72 </li> 73 74 <li>✔ 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> 100 174 </div> 101 175 </div> -
wc-import-yandex/trunk/classes/system/pages/settings-page/class-ip2y-settings-page.php
r3099550 r3450668 7 7 * @since 0.1.0 8 8 * 9 * @version 0. 4.0 (07-06-2024)9 * @version 0.5.2 (30-01-2026) 10 10 * @author Maxim Glazunov 11 11 * @link https://icopydoc.ru/ … … 26 26 27 27 class IP2Y_Settings_Page { 28 28 29 /** 29 30 * Allowed HTML tags for use in wp_kses() 30 31 */ 31 const ALLOWED_HTML_ARR = [ 32 'a' => [ 32 const ALLOWED_HTML_ARR = [ 33 'a' => [ 33 34 'href' => true, 34 35 'title' => true, … … 104 105 */ 105 106 public function print_view_html_form() { 106 $view_arr = [ 107 $view_arr = [ 107 108 'feed_id' => $this->get_feed_id(), 108 109 'tab_name' => $this->get_tab_name(), … … 121 122 */ 122 123 public function get_tabs_arr( $current = 'main_tab' ) { 123 $tabs_arr = [ 124 $tabs_arr = [ 124 125 'main_tab' => sprintf( '%s', 125 126 __( 'Main settings', 'wc-import-yandex' ) … … 147 148 */ 148 149 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(); 150 151 $data_for_tab_arr = $ip2y_data_arr_obj->get_data_for_tabs( $tab ); // список дефолтных настроек 151 152 … … 330 331 $value, 331 332 $data_arr['opt_name'], 332 [ 333 [ 333 334 'woo_attr' => $data_arr['woo_attr'], 334 335 'key_value_arr' => $key_value_arr, … … 559 560 } 560 561 561 $def_plugin_date_arr = new IP2Y_Data _Arr();562 $def_plugin_date_arr = new IP2Y_Data(); 562 563 $opts_name_and_def_date_arr = $def_plugin_date_arr->get_opts_name_and_def_date( 'public' ); 563 564 foreach ( $opts_name_and_def_date_arr as $opt_name => $value ) { … … 601 602 return (string) $cur_blog_id; 602 603 } 604 603 605 } -
wc-import-yandex/trunk/classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php
r3099550 r3450668 3 3 * The Instruction tab 4 4 * 5 * @version 0. 3.1 (03-06-2024)5 * @version 0.5.2 (30-01-2026) 6 6 * @see 7 7 * @package … … 18 18 <p><i>( 19 19 <?php esc_html_e( 'The full version of the instruction can be found', 'wc-import-yandex' ); 20 ?> <a href="<?php21 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>) 26 26 </i></p> 27 27 <p> -
wc-import-yandex/trunk/classes/system/pages/settings-page/views/html-admin-settings-page.php
r3071614 r3450668 3 3 * Settings page 4 4 * 5 * @version 0. 1.0 (06-02-2024)5 * @version 0.5.2 (30-01-2026) 6 6 * @see 7 7 * @package … … 75 75 <?php 76 76 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' ); 78 78 ?> 79 79 </div> -
wc-import-yandex/trunk/classes/system/updates/class-ip2y-plugin-form-activate.php
r3096673 r3450668 1 1 <?php 2 2 3 /** 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 23 12 */ 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 */ 25 24 final class IP2Y_Plugin_Form_Activate { 25 26 /** 27 * Instruction URL. 28 * 29 * @access private 30 * @var string 31 */ 26 32 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 = [ 28 41 'ip2yp' => [ 'name' => 'PRO', 'code' => 'renewlicense24ip2y' ] 29 42 ]; 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 */ 31 58 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 */ 32 66 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 */ 33 74 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 */ 34 82 private $opt_name_order_email; 35 83 84 /** 85 * Constructructor. 86 * 87 * @param string $pref 88 * @param string $slug 89 */ 36 90 public function __construct( $pref = 'ip2yp', $slug = '' ) { 91 37 92 $this->pref = $pref; 38 93 $this->slug = $slug; … … 43 98 $this->save_form(); 44 99 $this->init_hooks(); // подключим хуки 45 } 46 47 /** 100 101 } 102 103 /** 104 * Initialization hooks. 105 * 48 106 * @uses add_action() 49 107 * … … 51 109 */ 52 110 private function init_hooks() { 111 53 112 add_action( 'ip2y_activation_forms', [ $this, 'the_form' ] ); 54 113 // TODO: Удалить в следующих версиях 55 114 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. 60 120 * 61 121 * @return void 62 122 */ 63 123 public function the_form() { 124 64 125 if ( is_multisite() ) { 65 126 $order_id = get_blog_option( get_current_blog_id(), $this->get_opt_name_order_id() ); … … 70 131 } 71 132 ?> 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> 128 179 </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> 130 184 <?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`. 137 192 */ 138 193 private function get_pref() { … … 141 196 142 197 /** 143 * Get submit button name 144 * 145 * @return string 198 * Get submit button name. 199 * 200 * @return string For example `PREFIX_submit_license_pro`. 146 201 */ 147 202 private function get_submit_name() { … … 150 205 151 206 /** 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`. 155 210 */ 156 211 private function get_opt_name_order_id() { … … 159 214 160 215 /** 161 * Get order field name 216 * Get order field name. For example `PREFIX_order_email`. 162 217 * 163 218 * @return string … … 168 223 169 224 /** 170 * Saving data 225 * Saving data. 171 226 * 172 227 * @return void 173 228 */ 174 229 private function save_form() { 230 175 231 if ( isset( $_REQUEST[ $this->get_submit_name()] ) ) { 176 232 if ( is_multisite() ) { … … 208 264 wp_update_plugins(); 209 265 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.', 211 267 __( 'License data has been updated', 'wc-import-yandex' ), 212 268 __( 'Refresh this page', 'wc-import-yandex' ) 213 269 ); 214 $class = ' notice-success';270 $class = 'success'; 215 271 new ICPD_Set_Admin_Notices( $message, $class ); 216 272 wp_update_plugins(); 217 273 } 218 } 274 275 } 276 219 277 } -
wc-import-yandex/trunk/classes/system/updates/class-ip2y-plugin-upd.php
r3096673 r3450668 1 1 <?php 2 2 3 /** 3 * Plugin Updates 4 * Plugin Updates. 4 5 * 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) 15 9 * 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 22 12 */ 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 */ 24 24 final 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 = [ 27 35 'ip2yp' => [ 'name' => 'PRO', 'code' => 'renewlicense24ip2y' ] 28 36 ]; 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 */ 33 66 private $license_key; 67 68 /** 69 * Номер заказа. 70 * @var string 71 */ 34 72 private $order_id; 73 74 /** 75 * Почта заказа. 76 * @var string 77 */ 35 78 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. 40 88 * 41 89 * @param array $args 42 90 */ 43 91 public function __construct( $args = [] ) { 92 44 93 $this->pref = $args['pref']; 45 94 $this->slug = $args['slug']; … … 72 121 do_action_ref_array( 'ip2y_a_plugin_upd', $args ); 73 122 $this->init_hooks(); // подключим хуки 74 } 75 76 /** 123 124 } 125 126 /** 127 * Initialization hooks. 128 * 77 129 * @uses add_filter() 78 130 * … … 80 132 */ 81 133 private function init_hooks() { 134 82 135 // проверка наличия обновлений: 83 136 add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_update' ], 10 ); … … 89 142 // add_action('admin_notices', [ $this, 'print_admin_notices' ], 10, 1); 90 143 $this->get_info(); 144 91 145 } 92 146 … … 100 154 */ 101 155 public function add_plugin_action_links( $actions, $plugin_file ) { 156 102 157 if ( false === strpos( $plugin_file, $this->get_plugin_slug() ) ) { // проверка, что у нас текущий плагин 103 158 return $actions; … … 108 163 switch ( $i ) { 109 164 case "202": 165 110 166 $message = __( 'License is active', 'wc-import-yandex' ); 111 167 $color = 'green'; 168 112 169 break; 113 170 case "402": 171 114 172 $message = __( 'License expired', 'wc-import-yandex' ); 115 173 $color = '#dc3232'; 174 116 175 break; 117 176 case "412": 177 118 178 $message = __( 'License data is invalid', 'wc-import-yandex' ); 119 179 $color = '#dc3232'; 180 120 181 break; 121 182 case "418": 183 122 184 $message = __( 123 185 'This license cannot be used on this site. The package limit has been exceeded', … … 125 187 ); 126 188 $color = '#dc3232'; 189 127 190 break; 128 191 default: // или ошибка 520 192 129 193 $message = __( 'License data is invalid', 'wc-import-yandex' ); 130 194 $color = '#dc3232'; 195 131 196 break; 132 197 } … … 137 202 array_unshift( $actions, $settings_link ); 138 203 return $actions; 139 } 140 141 /** 142 * Summary of get_info 204 205 } 206 207 /** 208 * Get info. 143 209 * 144 210 * @return void 145 211 */ 146 212 public function get_info() { 213 147 214 $v = 'hook'; 148 215 $c = common_option_get( 'woo_' . $v . '_is' . 'c' . $this->get_pref() ); … … 154 221 break; 155 222 case "402": 223 156 224 $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>.', 158 226 $this->list_plugin_names[ $this->get_pref()]['name'], 159 227 __( 'License expired', 'wc-import-yandex' ), … … 164 232 $this->list_plugin_names[ $this->get_pref()]['code'], 165 233 __( '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¤t_display=debug_page&tab=premium', 235 __( 'enter the new license information here', 'wc-import-yandex' ), 236 admin_url() 167 237 ); 238 168 239 break; 169 240 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>.', 171 244 $this->list_plugin_names[ $this->get_pref()]['name'], 172 245 __( 'License data is invalid', 'wc-import-yandex' ), … … 175 248 __( 'or', 'wc-import-yandex' ), 176 249 $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¤t_display=debug_page&tab=premium', 252 admin_url() 178 253 ); 254 179 255 break; 180 256 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>.', 182 260 $this->list_plugin_names[ $this->get_pref()]['name'], 183 261 __( … … 188 266 __( 'or', 'wc-import-yandex' ), 189 267 $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¤t_display=debug_page&tab=premium', 270 admin_url() 191 271 ); 272 192 273 break; 193 274 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>.', 195 278 $this->list_plugin_names[ $this->get_pref()]['name'], 196 279 __( 'License data is invalid', 'wc-import-yandex' ), … … 199 282 __( 'or', 'wc-import-yandex' ), 200 283 $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¤t_display=debug_page&tab=premium', 286 admin_url() 202 287 ); 288 203 289 break; 204 290 } 205 291 206 292 if ( ! empty( $message ) ) { 207 $class = ' notice-error';293 $class = 'error'; 208 294 new ICPD_Set_Admin_Notices( $message, $class ); 209 295 } … … 214 300 if ( $remaining_days > 0 && $remaining_days < 8 ) { 215 301 $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>.', 217 303 $this->list_plugin_names[ $this->get_pref()]['name'], 218 304 __( 'License expires in', 'wc-import-yandex' ), 219 $this->num_decline( $remaining_days, [ 305 $this->num_decline( $remaining_days, [ 220 306 __( 'day', 'wc-import-yandex' ), 221 307 _x( 'days', '2 days', 'wc-import-yandex' ), … … 229 315 $this->list_plugin_names[ $this->get_pref()]['code'], 230 316 __( '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¤t_display=debug_page&tab=premium', 319 admin_url() 232 320 ); 233 321 if ( ! empty( $message ) ) { 234 $class = ' notice-error';322 $class = 'error'; 235 323 new ICPD_Set_Admin_Notices( $message, $class ); 236 324 } 237 325 } 238 326 } 327 239 328 } 240 329 … … 257 346 */ 258 347 private function num_decline( $number, $titles, $param2 = '', $param3 = '' ) { 348 259 349 if ( $param2 ) { 260 350 $titles = [ $titles, $param2, $param3 ]; … … 267 357 } 268 358 $cases = [ 2, 0, 1, 1, 1, 2 ]; 269 $intnum = abs( intval( strip_tags( $number ) ) );359 $intnum = abs( intval( ip2y_strip_tags( $number ) ) ); 270 360 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. 275 366 * 276 367 * @return array 277 368 */ 278 369 private function get_body_request() { 279 $body_request = [ 370 371 $body_request = [ 280 372 'action' => 'basic_check', 281 373 'slug' => $this->get_slug(), … … 290 382 new IP2Y_Error_Log( $body_request ); 291 383 return $body_request; 292 } 293 294 /** 295 * Summary of get_pref 384 385 } 386 387 /** 388 * Get prefix. 296 389 * 297 390 * @return string … … 302 395 303 396 /** 304 * Summary of get_slug397 * Get slug. 305 398 * 306 399 * @return string … … 311 404 312 405 /** 313 * Summary of get_plugin_slug406 * Get plugin slug. 314 407 * 315 408 * @return string … … 320 413 321 414 /** 322 * Summary of get_premium_version415 * Get premium version. 323 416 * 324 417 * @return string … … 329 422 330 423 /** 331 * Summary of get_license_key424 * Get license key. 332 425 * 333 426 * @return string 334 427 */ 335 428 private function get_license_key() { 429 336 430 $order_email = $this->get_pref() . '_license_key'; 337 431 return common_option_get( $order_email ); 338 } 339 340 /** 341 * Summary of get_order_id 432 433 } 434 435 /** 436 * Get order ID. 342 437 * 343 438 * @return string 344 439 */ 345 440 private function get_order_id() { 441 346 442 $order_email = $this->get_pref() . '_order_id'; 347 443 return common_option_get( $order_email ); 348 } 349 350 /** 351 * Summary of get_order_email 444 445 } 446 447 /** 448 * Get order email. 352 449 * 353 450 * @return string 354 451 */ 355 452 private function get_order_email() { 453 356 454 $order_email = $this->get_pref() . '_order_email'; 357 455 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. 362 461 * 363 462 * @return WP_Error|array 364 463 */ 365 464 private function response_to_api() { 465 366 466 global $wp_version; 367 467 $response = false; 368 $request_arr = [ 468 $request_arr = [ 369 469 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ), 370 470 'body' => [ 'request' => $this->get_body_request() ] // request будет передан как $_POST['request'] … … 372 472 $api_url = apply_filters( 'ip2y_f_api_url', self::API_URL ); 373 473 $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 } 374 477 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. 379 506 * 380 507 * @param string|int $v … … 384 511 */ 385 512 private function save_resp( $v, $d ) { 513 386 514 $v = (int) $v; 387 515 if ( is_multisite() ) { … … 392 520 update_option( 'woo_hook_isd' . $this->get_pref(), $d ); 393 521 } 394 } 395 396 /** 397 * Проверка наличия обновлений 522 523 } 524 525 /** 526 * Проверка наличия обновлений. 398 527 * 399 528 * @param object $transient … … 402 531 */ 403 532 public function check_update( $transient ) { 533 404 534 /** 405 535 * Сначала проверяется наличие в массиве данных наличие поля "checked". Если оно есть, это значит, … … 450 580 $transient->response[ $this->plugin_slug ] = $plugin; 451 581 } 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 ) ); 461 591 } 462 592 return $transient; 463 } 464 465 /** 466 * Проверка информации о плагине (запрос информации об обновлениях) 593 594 } 595 596 /** 597 * Проверка информации о плагине (запрос информации об обновлениях). 467 598 * 468 599 * @param false|object|array $result … … 473 604 */ 474 605 public function plugin_api_check_info( $result, $action, $args ) { 606 475 607 if ( isset( $args->slug ) && ( $args->slug === $this->slug ) ) { 476 608 $response = $this->response_to_api(); … … 487 619 return $plugin; 488 620 } 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 ) ); 498 630 return $result; 499 631 } … … 501 633 return $result; 502 634 } 635 503 636 } 504 637 … … 511 644 */ 512 645 public function set_update_package( $options ) { 646 513 647 /** 514 648 * $options = Array ( … … 542 676 } 543 677 return $options; 544 } 545 546 /** 547 * Summary of get_plugin_response_data 678 679 } 680 681 /** 682 * Get plugin response data. 548 683 * 549 684 * @param mixed $resp … … 552 687 */ 553 688 private function get_plugin_response_data( $resp ) { 689 554 690 $plugin = new stdClass(); 555 691 $plugin->slug = $resp->slug; … … 575 711 $plugin->download_link = $resp->package; // 'https://icopydoc.ru/api/v1/pgo-plugin.zip'; 576 712 return $plugin; 577 } 713 714 } 715 578 716 } -
wc-import-yandex/trunk/languages/wc-import-yandex-ru_RU.po
r3272240 r3450668 2 2 msgstr "" 3 3 "Project-Id-Version: \n" 4 "POT-Creation-Date: 202 5-04-14 13:26+0300\n"5 "PO-Revision-Date: 202 5-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" 6 6 "Last-Translator: \n" 7 7 "Language-Team: Maxim Glazunov <[email protected]>\n" … … 12 12 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " 13 13 "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" 15 15 "X-Poedit-Basepath: ..\n" 16 16 "X-Poedit-SourceCharset: UTF-8\n" … … 102 102 #: classes/generation/traits/common/trait-ip2y-t-common-skips.php:127 103 103 #: classes/generation/traits/common/trait-ip2y-t-common-skips.php:171 104 #: classes/system/class-ip2y-data -arr.php:652104 #: classes/system/class-ip2y-data.php:653 105 105 msgid "Skip missing products" 106 106 msgstr "Исключать товары которых нет в наличии" … … 109 109 #: classes/generation/traits/common/trait-ip2y-t-common-skips.php:153 110 110 #: classes/generation/traits/common/trait-ip2y-t-common-skips.php:187 111 #: classes/system/class-ip2y-data -arr.php:672111 #: classes/system/class-ip2y-data.php:673 112 112 msgid "Skip backorders products" 113 113 msgstr "Исключать из фида товары для предзаказа" 114 114 115 #: classes/system/class-ip2y-data -arr.php:101116 #: classes/system/class-ip2y-data -arr.php:120115 #: classes/system/class-ip2y-data.php:101 116 #: classes/system/class-ip2y-data.php:120 117 117 msgid "from the app settings" 118 118 msgstr "из настроек приложения" 119 119 120 #: classes/system/class-ip2y-data -arr.php:104121 #: classes/system/class-ip2y-data -arr.php:123122 #: classes/system/class-ip2y-data -arr.php:146123 #: classes/system/class-ip2y-data -arr.php:169120 #: 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 124 124 msgid "For example" 125 125 msgstr "Например" 126 126 127 #: classes/system/class-ip2y-data -arr.php:117127 #: classes/system/class-ip2y-data.php:117 128 128 #: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:72 129 129 msgid "Client secret" 130 130 msgstr "Секретный ключ клиента" 131 131 132 #: classes/system/class-ip2y-data -arr.php:136132 #: classes/system/class-ip2y-data.php:136 133 133 #: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:86 134 134 msgid "Campaign ID" 135 135 msgstr "Номер кампании" 136 136 137 #: classes/system/class-ip2y-data -arr.php:140138 #: classes/system/class-ip2y-data -arr.php:163137 #: classes/system/class-ip2y-data.php:140 138 #: classes/system/class-ip2y-data.php:163 139 139 msgid "" 140 140 "from the settings of the Yandex Market account to which we export products" 141 141 msgstr "из настроек аккаунта Яндекс Маркета, в который мы экспортируем товары" 142 142 143 #: classes/system/class-ip2y-data -arr.php:143144 #: classes/system/class-ip2y-data -arr.php:166143 #: classes/system/class-ip2y-data.php:143 144 #: classes/system/class-ip2y-data.php:166 145 145 msgid "only numbers" 146 146 msgstr "только цифры" 147 147 148 #: classes/system/class-ip2y-data -arr.php:159148 #: classes/system/class-ip2y-data.php:159 149 149 #: classes/system/pages/settings-page/views/html-admin-settings-page-instruction-tab.php:101 150 150 msgid "Businesses ID" 151 151 msgstr "ID кабинета" 152 152 153 #: classes/system/class-ip2y-data -arr.php:182153 #: classes/system/class-ip2y-data.php:182 154 154 msgid "Access token" 155 155 msgstr "Токен" 156 156 157 #: classes/system/class-ip2y-data -arr.php:196157 #: classes/system/class-ip2y-data.php:196 158 158 msgid "Syncing with Yandex" 159 159 msgstr "Синхронизация с Яндекс" 160 160 161 #: classes/system/class-ip2y-data -arr.php:198161 #: classes/system/class-ip2y-data.php:198 162 162 msgid "Using this parameter, you can stop the plugin completely" 163 163 msgstr "Используя этот параметр, вы можете полностью остановить работу плагина" 164 164 165 #: classes/system/class-ip2y-data -arr.php:203166 #: classes/system/class-ip2y-data -arr.php:224167 #: classes/system/class-ip2y-data -arr.php:281168 #: classes/system/class-ip2y-data -arr.php:348169 #: classes/system/class-ip2y-data -arr.php:366170 #: classes/system/class-ip2y-data -arr.php:385171 #: classes/system/class-ip2y-data -arr.php:401172 #: classes/system/class-ip2y-data -arr.php:418173 #: classes/system/class-ip2y-data -arr.php:503174 #: classes/system/class-ip2y-data -arr.php:529175 #: classes/system/class-ip2y-data -arr.php:599176 #: classes/system/class-ip2y-data -arr.php:658177 #: classes/system/class-ip2y-data -arr.php:676165 #: 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 178 178 msgid "Disabled" 179 179 msgstr "Отключено" 180 180 181 #: classes/system/class-ip2y-data -arr.php:204182 #: classes/system/class-ip2y-data -arr.php:349183 #: classes/system/class-ip2y-data -arr.php:504184 #: classes/system/class-ip2y-data -arr.php:600185 #: classes/system/class-ip2y-data -arr.php:659186 #: classes/system/class-ip2y-data -arr.php:677181 #: 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 187 187 msgid "Enabled" 188 188 msgstr "Включено" 189 189 190 #: classes/system/class-ip2y-data -arr.php:217190 #: classes/system/class-ip2y-data.php:217 191 191 msgid "The frequency of full synchronization of products" 192 192 msgstr "Частота полной синхронизации товаров" 193 193 194 #: classes/system/class-ip2y-data -arr.php:219194 #: classes/system/class-ip2y-data.php:219 195 195 msgid "" 196 196 "With the specified frequency, the plugin will transmit information about all " … … 200 200 "товарах в Яндекс Маркет" 201 201 202 #: classes/system/class-ip2y-data -arr.php:225202 #: classes/system/class-ip2y-data.php:225 203 203 msgid "Hourly" 204 204 msgstr "Раз в час" 205 205 206 #: classes/system/class-ip2y-data -arr.php:226206 #: classes/system/class-ip2y-data.php:226 207 207 msgid "Every three hours" 208 208 msgstr "Каждые 3 часа" 209 209 210 #: classes/system/class-ip2y-data -arr.php:227210 #: classes/system/class-ip2y-data.php:227 211 211 msgid "Every six hours" 212 212 msgstr "Каждые 6 часов" 213 213 214 #: classes/system/class-ip2y-data -arr.php:228214 #: classes/system/class-ip2y-data.php:228 215 215 msgid "Twice a day" 216 216 msgstr "2 раза в день" 217 217 218 #: classes/system/class-ip2y-data -arr.php:229218 #: classes/system/class-ip2y-data.php:229 219 219 msgid "Daily" 220 220 msgstr "Раз в день" 221 221 222 #: classes/system/class-ip2y-data -arr.php:230222 #: classes/system/class-ip2y-data.php:230 223 223 msgid "Once a week" 224 224 msgstr "Раз в неделю" 225 225 226 #: classes/system/class-ip2y-data -arr.php:242226 #: classes/system/class-ip2y-data.php:242 227 227 msgid "Step export" 228 228 msgstr "Шаг экспорта" 229 229 230 #: classes/system/class-ip2y-data -arr.php:244230 #: classes/system/class-ip2y-data.php:244 231 231 msgid "" 232 232 "Determines the maximum number of products uploaded to Yandex Market in one " … … 236 236 "одну минуту" 237 237 238 #: classes/system/class-ip2y-data -arr.php:260238 #: classes/system/class-ip2y-data.php:260 239 239 msgid "The maximum value allowed by Yandex Market" 240 240 msgstr "Максимальное значение, разрешенное Yandex Market" 241 241 242 #: classes/system/class-ip2y-data -arr.php:274242 #: classes/system/class-ip2y-data.php:274 243 243 msgid "VAT rate" 244 244 msgstr "Ставка НДС" 245 245 246 #: classes/system/class-ip2y-data -arr.php:276246 #: classes/system/class-ip2y-data.php:276 247 247 msgid "" 248 248 "The rate must correspond to the tax system that you specified when " … … 252 252 "при регистрации в Яндекс Маркете" 253 253 254 #: classes/system/class-ip2y-data -arr.php:282254 #: classes/system/class-ip2y-data.php:282 255 255 msgid "Not subject to VAT" 256 256 msgstr "Не облагается НДС" 257 257 258 #: classes/system/class-ip2y-data -arr.php:301258 #: classes/system/class-ip2y-data.php:302 259 259 msgid "Prefix for product ID" 260 260 msgstr "Префикс для ID товара" 261 261 262 #: classes/system/class-ip2y-data -arr.php:303262 #: classes/system/class-ip2y-data.php:304 263 263 msgid "" 264 264 "Since you cannot change the ID of previously uploaded products on Yandex " … … 268 268 "эта опция может быть полезна на этапе отладки" 269 269 270 #: classes/system/class-ip2y-data -arr.php:318271 #: classes/system/class-ip2y-data -arr.php:325270 #: classes/system/class-ip2y-data.php:319 271 #: classes/system/class-ip2y-data.php:326 272 272 msgid "Product ID" 273 273 msgstr "ID товара" 274 274 275 #: classes/system/class-ip2y-data -arr.php:326275 #: classes/system/class-ip2y-data.php:327 276 276 msgid "Variation ID" 277 277 msgstr "ID вариации" 278 278 279 #: classes/system/class-ip2y-data -arr.php:329280 #: classes/system/class-ip2y-data -arr.php:402279 #: classes/system/class-ip2y-data.php:330 280 #: classes/system/class-ip2y-data.php:403 281 281 msgid "Product SKU" 282 282 msgstr "Артикул товара" 283 283 284 #: classes/system/class-ip2y-data -arr.php:341284 #: classes/system/class-ip2y-data.php:342 285 285 msgid "Old price" 286 286 msgstr "Старая цена" 287 287 288 #: classes/system/class-ip2y-data -arr.php:343288 #: classes/system/class-ip2y-data.php:344 289 289 msgid "" 290 290 "In oldprice indicates the old price of the goods, which must necessarily be " … … 294 294 "выше новой цены (price)" 295 295 296 #: classes/system/class-ip2y-data -arr.php:362296 #: classes/system/class-ip2y-data.php:363 297 297 msgid "Manufacturer countries" 298 298 msgstr "Страна-производитель" 299 299 300 #: classes/system/class-ip2y-data -arr.php:379300 #: classes/system/class-ip2y-data.php:380 301 301 msgid "Vendor" 302 302 msgstr "Производитель" 303 303 304 #: classes/system/class-ip2y-data -arr.php:380304 #: classes/system/class-ip2y-data.php:381 305 305 msgid "brand name" 306 306 msgstr "название бренда" 307 307 308 #: classes/system/class-ip2y-data -arr.php:397308 #: classes/system/class-ip2y-data.php:398 309 309 msgid "Vendor Code" 310 310 msgstr "Артикул" 311 311 312 #: classes/system/class-ip2y-data -arr.php:398312 #: classes/system/class-ip2y-data.php:399 313 313 msgid "The article of the product from the vendor" 314 314 msgstr "Артикул товара от поставщика" 315 315 316 #: classes/system/class-ip2y-data -arr.php:414316 #: classes/system/class-ip2y-data.php:415 317 317 msgid "Barcodes" 318 318 msgstr "Штрихкоды" 319 319 320 #: classes/system/class-ip2y-data -arr.php:419320 #: classes/system/class-ip2y-data.php:420 321 321 msgid "Substitute from SKU" 322 322 msgstr "Подставлять из Артикул" 323 323 324 #: classes/system/class-ip2y-data -arr.php:420324 #: classes/system/class-ip2y-data.php:421 325 325 msgid "Substitute from post meta" 326 326 msgstr "Подставлять из метаполя" 327 327 328 #: classes/system/class-ip2y-data -arr.php:423329 #: classes/system/class-ip2y-data -arr.php:427328 #: classes/system/class-ip2y-data.php:424 329 #: classes/system/class-ip2y-data.php:428 330 330 msgid "Substitute from" 331 331 msgstr "Подставлять из" 332 332 333 #: classes/system/class-ip2y-data -arr.php:443333 #: classes/system/class-ip2y-data.php:444 334 334 msgid "Name post meta" 335 335 msgstr "Имя метаполя" 336 336 337 #: classes/system/class-ip2y-data -arr.php:454337 #: classes/system/class-ip2y-data.php:455 338 338 msgid "Description of the product" 339 339 msgstr "Описание товара" 340 340 341 #: classes/system/class-ip2y-data -arr.php:456341 #: classes/system/class-ip2y-data.php:457 342 342 msgid "The source of the description" 343 343 msgstr "Источник описания товара" 344 344 345 #: classes/system/class-ip2y-data -arr.php:462345 #: classes/system/class-ip2y-data.php:463 346 346 msgid "Only Excerpt description" 347 347 msgstr "Только Краткое описание" 348 348 349 #: classes/system/class-ip2y-data -arr.php:466349 #: classes/system/class-ip2y-data.php:467 350 350 msgid "Only Full description" 351 351 msgstr "Только Полное описание" 352 352 353 #: classes/system/class-ip2y-data -arr.php:470353 #: classes/system/class-ip2y-data.php:471 354 354 msgid "Excerpt or Full description" 355 355 msgstr "Краткое или Полное описание" 356 356 357 #: classes/system/class-ip2y-data -arr.php:474357 #: classes/system/class-ip2y-data.php:475 358 358 msgid "Full or Excerpt description" 359 359 msgstr "Полное или Краткое описание" 360 360 361 #: classes/system/class-ip2y-data -arr.php:478361 #: classes/system/class-ip2y-data.php:479 362 362 msgid "Excerpt plus Full description" 363 363 msgstr "Краткое плюс Полное описание" 364 364 365 #: classes/system/class-ip2y-data -arr.php:482365 #: classes/system/class-ip2y-data.php:483 366 366 msgid "Full plus Excerpt description" 367 367 msgstr "Полное плюс Краткое описание" 368 368 369 #: classes/system/class-ip2y-data -arr.php:497369 #: classes/system/class-ip2y-data.php:498 370 370 msgid "The varition description takes precedence over others" 371 371 msgstr "Описание вариации имеет приоритет над другими" 372 372 373 #: classes/system/class-ip2y-data -arr.php:517373 #: classes/system/class-ip2y-data.php:518 374 374 msgid "Add text to the product description" 375 375 msgstr "Добавить текст в описание товара" 376 376 377 #: classes/system/class-ip2y-data -arr.php:521377 #: classes/system/class-ip2y-data.php:522 378 378 msgid "Important" 379 379 msgstr "Важно" 380 380 381 #: classes/system/class-ip2y-data -arr.php:523381 #: classes/system/class-ip2y-data.php:524 382 382 msgid "You need to fill in the field below" 383 383 msgstr "Вам необходимо заполнить поле ниже" 384 384 385 #: classes/system/class-ip2y-data -arr.php:532385 #: classes/system/class-ip2y-data.php:533 386 386 msgid "Add before the main description" 387 387 msgstr "Добавить перед основным описанием" 388 388 389 #: classes/system/class-ip2y-data -arr.php:536389 #: classes/system/class-ip2y-data.php:537 390 390 msgid "Add after the main description" 391 391 msgstr "Добавить после основного описания" 392 392 393 #: classes/system/class-ip2y-data -arr.php:550393 #: classes/system/class-ip2y-data.php:551 394 394 msgid "This text will be added to all products" 395 395 msgstr "Этот текст будет добавлен ко всем товарам" 396 396 397 #: classes/system/class-ip2y-data -arr.php:552397 #: classes/system/class-ip2y-data.php:553 398 398 msgid "This text will be added to the product description" 399 399 msgstr "Этот текст будет добавлен в описание товара" 400 400 401 #: classes/system/class-ip2y-data -arr.php:565401 #: classes/system/class-ip2y-data.php:566 402 402 msgid "Include these attributes in the import" 403 403 msgstr "Включить эти атрибуты в импорт" 404 404 405 #: classes/system/class-ip2y-data -arr.php:567405 #: classes/system/class-ip2y-data.php:568 406 406 msgid "Hint" 407 407 msgstr "Совет" 408 408 409 #: classes/system/class-ip2y-data -arr.php:569409 #: classes/system/class-ip2y-data.php:570 410 410 msgid "" 411 411 "To select multiple values, hold down the (ctrl) button on Windows or (cmd) " … … 415 415 "Windows или (cmd) на Mac" 416 416 417 #: classes/system/class-ip2y-data -arr.php:573417 #: classes/system/class-ip2y-data.php:574 418 418 msgid "To deselect, press and hold (ctrl) or (cmd), click on the marked items" 419 419 msgstr "" … … 421 421 "отмеченные элементы" 422 422 423 #: classes/system/class-ip2y-data -arr.php:594423 #: classes/system/class-ip2y-data.php:595 424 424 msgid "Import the amount of the product" 425 425 msgstr "Импорт количества товара" 426 426 427 #: classes/system/class-ip2y-data -arr.php:613427 #: classes/system/class-ip2y-data.php:614 428 428 msgid "Warehouse ID" 429 429 msgstr "ID склада" 430 430 431 #: classes/system/class-ip2y-data -arr.php:627431 #: classes/system/class-ip2y-data.php:628 432 432 msgid "Delete or archive?" 433 433 msgstr "Удалять или архивировать?" 434 434 435 #: classes/system/class-ip2y-data -arr.php:631435 #: classes/system/class-ip2y-data.php:632 436 436 msgid "" 437 437 "Delete or archive products that were previously imported using the plugin " … … 443 443 "Яндекс Маркете" 444 444 445 #: classes/system/class-ip2y-data -arr.php:637445 #: classes/system/class-ip2y-data.php:638 446 446 msgid "Archive" 447 447 msgstr "Архивировать" 448 448 449 #: classes/system/class-ip2y-data -arr.php:638449 #: classes/system/class-ip2y-data.php:639 450 450 msgid "Delete" 451 451 msgstr "Удалить" 452 452 453 #: classes/system/class-ip2y-data -arr.php:653453 #: classes/system/class-ip2y-data.php:654 454 454 msgid "except for products for which a pre-order is permitted" 455 455 msgstr "за исключением товаров, для которых разрешен предварительный заказ" 456 456 457 #: classes/system/class-ip2y-data -arr.php:706457 #: classes/system/class-ip2y-data.php:707 458 458 msgid "Shop currency" 459 459 msgstr "Валюта магазина" 460 460 461 #: classes/system/class-ip2y-data -arr.php:708461 #: classes/system/class-ip2y-data.php:709 462 462 msgid "You have plugin installed" 463 463 msgstr "У вас установлен плагин" 464 464 465 #: classes/system/class-ip2y-data -arr.php:710465 #: classes/system/class-ip2y-data.php:711 466 466 msgid "Indicate in what currency the prices should be" 467 467 msgstr "Укажите, в какой валюте должны быть указаны цены" 468 468 469 #: classes/system/class-ip2y-data -arr.php:711469 #: classes/system/class-ip2y-data.php:712 470 470 msgid "Please note" 471 471 msgstr "Обратите внимание" 472 472 473 #: classes/system/class-ip2y-data -arr.php:712473 #: classes/system/class-ip2y-data.php:713 474 474 msgid "Yandex Market only supports the following currencies" 475 475 msgstr "Яндекс Маркет поддерживает только следующие валюты" 476 476 477 #: classes/system/class-ip2y-data -arr.php:714477 #: classes/system/class-ip2y-data.php:715 478 478 msgid "Choosing a different currency can lead to errors" 479 479 msgstr "Выбор другой валюты может привести к ошибкам" … … 544 544 msgstr "Песочница" 545 545 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 559 547 msgid "Most likely, these plugins negatively affect the operation of" 560 548 msgstr "Скорее всего, эти плагины негативно влияют на работу" 561 549 562 #: classes/system/class-ip2y-debug-page.php:3 64550 #: classes/system/class-ip2y-debug-page.php:359 563 551 msgid "" 564 552 "If you are a developer of one of the plugins from the list above, please " … … 568 556 "со мной" 569 557 570 #: classes/system/class-ip2y-debug-page.php: 400558 #: classes/system/class-ip2y-debug-page.php:395 571 559 #: classes/system/class-ip2y.php:196 572 560 msgid "Updated" 573 561 msgstr "Обновлено" 574 562 575 #: classes/system/class-ip2y-debug-page.php:41 7563 #: classes/system/class-ip2y-debug-page.php:412 576 564 msgid "Logs were cleared" 577 565 msgstr "Логи были очищены" 578 566 579 #: classes/system/class-ip2y-debug-page.php:4 21567 #: classes/system/class-ip2y-debug-page.php:416 580 568 msgid "Error accessing log file. The log file may have been deleted previously" 581 569 msgstr "Ошибка доступа к log-файлу. Возможно log-файл был удален ранее" … … 710 698 msgstr "Настройки" 711 699 712 #: classes/system/pages/extensions-page/views/html-extensions-page.php:51 700 #: classes/system/pages/extensions-page/views/html-extensions-page.php:135 701 msgid "Upgrade the" 702 msgstr "Прокачайте" 703 704 #: classes/system/pages/extensions-page/views/html-extensions-page.php:150 705 msgid "All features of the free version" 706 msgstr "Все возможности бесплатной версии" 707 708 #: classes/system/pages/extensions-page/views/html-extensions-page.php:152 713 709 msgid "The ability to сhange the product price by a certain percentage" 714 710 msgstr "Возможность изменить цену товара на определенный процент" 715 711 716 #: classes/system/pages/extensions-page/views/html-extensions-page.php: 57712 #: classes/system/pages/extensions-page/views/html-extensions-page.php:154 717 713 msgid "The ability to import multiple images instead of one" 718 714 msgstr "Возможность импортировать несколько изображений вместо одного" 719 715 720 #: classes/system/pages/extensions-page/views/html-extensions-page.php: 63716 #: classes/system/pages/extensions-page/views/html-extensions-page.php:156 721 717 msgid "The ability to exclude products from certain categories" 722 718 msgstr "Возможность исключать товары из определенных категорий" 723 719 724 #: classes/system/pages/extensions-page/views/html-extensions-page.php: 69720 #: classes/system/pages/extensions-page/views/html-extensions-page.php:158 725 721 msgid "The ability to exclude products at a price" 726 722 msgstr "Возможность исключать товары по цене" 727 723 728 #: classes/system/pages/extensions-page/views/html-extensions-page.php: 76724 #: classes/system/pages/extensions-page/views/html-extensions-page.php:160 729 725 msgid "Even more stable work" 730 726 msgstr "Еще более стабильная работа" 731 727 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 729 msgid "1 year of technical support" 730 msgstr "1 год технической поддержки" 731 732 #: classes/system/pages/extensions-page/views/html-extensions-page.php:164 733 msgid "Unlimited updates throughout the year" 734 msgstr "Неограниченное количество обновлений в течение года" 735 736 #: classes/system/pages/extensions-page/views/html-extensions-page.php:171 737 msgid "Get Now" 738 msgstr "Получить сейчас" 739 739 740 740 #: classes/system/pages/settings-page/class-ip2y-settings-page.php:125 … … 940 940 msgstr "Запустить импорт" 941 941 942 #: classes/system/updates/class-ip2y-plugin-form-activate.php: 81942 #: classes/system/updates/class-ip2y-plugin-form-activate.php:138 943 943 msgid "License data" 944 944 msgstr "Данные лицензии" 945 945 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 965 947 msgid "License data has been updated" 966 948 msgstr "Лицензионные данные были обновлены" 967 949 968 #: classes/system/updates/class-ip2y-plugin-form-activate.php:2 12950 #: classes/system/updates/class-ip2y-plugin-form-activate.php:268 969 951 msgid "Refresh this page" 970 952 msgstr "Обновите эту страницу" 971 953 972 #: classes/system/updates/class-ip2y-plugin-upd.php:1 10954 #: classes/system/updates/class-ip2y-plugin-upd.php:166 973 955 msgid "License is active" 974 956 msgstr "Лицензия активна" 975 957 976 #: classes/system/updates/class-ip2y-plugin-upd.php:1 14977 #: classes/system/updates/class-ip2y-plugin-upd.php: 159958 #: classes/system/updates/class-ip2y-plugin-upd.php:172 959 #: classes/system/updates/class-ip2y-plugin-upd.php:227 978 960 msgid "License expired" 979 961 msgstr "Лицензия истекла" 980 962 981 #: classes/system/updates/class-ip2y-plugin-upd.php:1 18982 #: classes/system/updates/class-ip2y-plugin-upd.php:1 29983 #: classes/system/updates/class-ip2y-plugin-upd.php: 172984 #: classes/system/updates/class-ip2y-plugin-upd.php: 196963 #: 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 985 967 msgid "License data is invalid" 986 968 msgstr "Данные лицензии недействительны" 987 969 988 #: classes/system/updates/class-ip2y-plugin-upd.php:1 23989 #: classes/system/updates/class-ip2y-plugin-upd.php: 184970 #: classes/system/updates/class-ip2y-plugin-upd.php:185 971 #: classes/system/updates/class-ip2y-plugin-upd.php:262 990 972 msgid "" 991 973 "This license cannot be used on this site. The package limit has been exceeded" … … 993 975 "Эта лицензия не может быть использована на этом сайте. Превышен лимит пакета" 994 976 995 #: classes/system/updates/class-ip2y-plugin-upd.php: 160996 #: classes/system/updates/class-ip2y-plugin-upd.php: 225977 #: classes/system/updates/class-ip2y-plugin-upd.php:228 978 #: classes/system/updates/class-ip2y-plugin-upd.php:311 997 979 msgid "Please" 998 980 msgstr "Пожалуйста" 999 981 1000 #: classes/system/updates/class-ip2y-plugin-upd.php: 1621001 #: classes/system/updates/class-ip2y-plugin-upd.php: 227982 #: classes/system/updates/class-ip2y-plugin-upd.php:230 983 #: classes/system/updates/class-ip2y-plugin-upd.php:313 1002 984 msgid "purchase a new license" 1003 985 msgstr "приобретите новую лицензию" 1004 986 1005 #: classes/system/updates/class-ip2y-plugin-upd.php: 1631006 #: classes/system/updates/class-ip2y-plugin-upd.php: 228987 #: classes/system/updates/class-ip2y-plugin-upd.php:231 988 #: classes/system/updates/class-ip2y-plugin-upd.php:314 1007 989 msgid "to get a discount, use this promo code" 1008 990 msgstr "чтобы получить скидку, используйте этот промо-код" 1009 991 1010 #: classes/system/updates/class-ip2y-plugin-upd.php: 1651011 #: classes/system/updates/class-ip2y-plugin-upd.php: 230992 #: classes/system/updates/class-ip2y-plugin-upd.php:233 993 #: classes/system/updates/class-ip2y-plugin-upd.php:316 1012 994 msgid "If you have already done this" 1013 995 msgstr "Если вы уже сделали это" 1014 996 1015 #: classes/system/updates/class-ip2y-plugin-upd.php: 1661016 #: classes/system/updates/class-ip2y-plugin-upd.php: 231997 #: classes/system/updates/class-ip2y-plugin-upd.php:235 998 #: classes/system/updates/class-ip2y-plugin-upd.php:317 1017 999 msgid "enter the new license information here" 1018 1000 msgstr "введите здесь информацию о новой лицензии" 1019 1001 1020 #: classes/system/updates/class-ip2y-plugin-upd.php: 1731021 #: classes/system/updates/class-ip2y-plugin-upd.php: 1971002 #: classes/system/updates/class-ip2y-plugin-upd.php:246 1003 #: classes/system/updates/class-ip2y-plugin-upd.php:280 1022 1004 msgid "version features do not work and you can not install updates" 1023 1005 msgstr "версии не работают, и вы не можете устанавливать обновления" 1024 1006 1025 #: classes/system/updates/class-ip2y-plugin-upd.php: 1741026 #: classes/system/updates/class-ip2y-plugin-upd.php: 1871027 #: classes/system/updates/class-ip2y-plugin-upd.php: 1981007 #: 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 1028 1010 msgid "Enter your license information" 1029 1011 msgstr "Введите информацию о лицензии" 1030 1012 1031 #: classes/system/updates/class-ip2y-plugin-upd.php: 1751032 #: classes/system/updates/class-ip2y-plugin-upd.php: 1881033 #: classes/system/updates/class-ip2y-plugin-upd.php: 1991013 #: 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 1034 1016 msgid "or" 1035 1017 msgstr "или" 1036 1018 1037 #: classes/system/updates/class-ip2y-plugin-upd.php: 1771038 #: classes/system/updates/class-ip2y-plugin-upd.php: 1901039 #: classes/system/updates/class-ip2y-plugin-upd.php:2 011019 #: 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 1040 1022 msgid "purchase a new one" 1041 1023 msgstr "приобретите новую" 1042 1024 1043 #: classes/system/updates/class-ip2y-plugin-upd.php: 2181025 #: classes/system/updates/class-ip2y-plugin-upd.php:304 1044 1026 msgid "License expires in" 1045 1027 msgstr "Лицензия истекает через" 1046 1028 1047 #: classes/system/updates/class-ip2y-plugin-upd.php: 2201029 #: classes/system/updates/class-ip2y-plugin-upd.php:306 1048 1030 msgid "day" 1049 1031 msgstr "день" 1050 1032 1051 #: classes/system/updates/class-ip2y-plugin-upd.php: 2211033 #: classes/system/updates/class-ip2y-plugin-upd.php:307 1052 1034 msgctxt "2 days" 1053 1035 msgid "days" 1054 1036 msgstr "дня" 1055 1037 1056 #: classes/system/updates/class-ip2y-plugin-upd.php: 2221038 #: classes/system/updates/class-ip2y-plugin-upd.php:308 1057 1039 msgctxt "5 days" 1058 1040 msgid "days" 1059 1041 msgstr "дней" 1042 1043 #: classes/system/updates/class-ip2y-plugin-upd.php:584 1044 msgid "Error checking for updates" 1045 msgstr "Проверка обновлений на наличие ошибок" 1046 1047 #: classes/system/updates/class-ip2y-plugin-upd.php:586 1048 #: classes/system/updates/class-ip2y-plugin-upd.php:625 1049 msgid "File" 1050 msgstr "Файл" 1051 1052 #: classes/system/updates/class-ip2y-plugin-upd.php:588 1053 #: classes/system/updates/class-ip2y-plugin-upd.php:627 1054 msgid "Line" 1055 msgstr "Строка" 1056 1057 #: classes/system/updates/class-ip2y-plugin-upd.php:623 1058 msgid "Error when requesting information about the plugin" 1059 msgstr "Ошибка при запросе информации о плагине" 1060 1060 1061 1061 #: common-libs/class-icpd-feedback-1-0-3.php:96 … … 1128 1128 msgstr "Отправить данные" 1129 1129 1130 #: common-libs/class-icpd-promo -1-1-0.php:511130 #: common-libs/class-icpd-promo.php:52 1131 1131 msgid "Сreates a XML-feed to upload to Google Merchant Center" 1132 1132 msgstr "Создает XML-фид для загрузки в Google Merchant Center" 1133 1133 1134 #: common-libs/class-icpd-promo -1-1-0.php:571134 #: common-libs/class-icpd-promo.php:58 1135 1135 msgid "Сreates a YML-feed for importing your products to Yandex Market" 1136 1136 msgstr "Создает YML-фид для импорта ваших товаров на Яндекс Маркет" 1137 1137 1138 #: common-libs/class-icpd-promo -1-1-0.php:641138 #: common-libs/class-icpd-promo.php:65 1139 1139 msgid "Imports products from YML to your shop" 1140 1140 msgstr "Импортирует товары из YML в ваш магазин" 1141 1141 1142 #: common-libs/class-icpd-promo -1-1-0.php:701142 #: common-libs/class-icpd-promo.php:71 1143 1143 msgid "" 1144 1144 "Imports products to Yandex Market from your online store on Woocommerce " … … 1148 1148 "Woocommerce с помощью API" 1149 1149 1150 #: common-libs/class-icpd-promo -1-1-0.php:781150 #: common-libs/class-icpd-promo.php:79 1151 1151 msgid "" 1152 1152 "This plugin helps setting up myTarget counter for dynamic remarketing for " … … 1156 1156 "ремаркетинга для WooCommerce" 1157 1157 1158 #: common-libs/class-icpd-promo -1-1-0.php:851158 #: common-libs/class-icpd-promo.php:86 1159 1159 msgid "Сreates a XML-feed for importing your products to Hotline" 1160 1160 msgstr "Создает XML-фид для импорта ваших товаров на Hotline" 1161 1161 1162 #: common-libs/class-icpd-promo -1-1-0.php:911162 #: common-libs/class-icpd-promo.php:92 1163 1163 msgid "" 1164 1164 "This plugin will add a marketing tool that will allow you to give gifts to " … … 1168 1168 "подарки покупателю при покупке" 1169 1169 1170 #: common-libs/class-icpd-promo -1-1-0.php:991170 #: common-libs/class-icpd-promo.php:100 1171 1171 msgid "With this plugin, you can import products to your group on ok.ru" 1172 1172 msgstr "" 1173 1173 "С помощью этого плагина вы можете импортировать товары в свою группу на ok.ru" 1174 1174 1175 #: common-libs/class-icpd-promo -1-1-0.php:1071175 #: common-libs/class-icpd-promo.php:108 1176 1176 msgid "With this plugin, you can import products to OZON" 1177 1177 msgstr "С помощью этого плагина вы можете импортировать товары на OZON" 1178 1178 1179 #: common-libs/class-icpd-promo -1-1-0.php:1151179 #: common-libs/class-icpd-promo.php:116 1180 1180 msgid "With this plugin, you can import products to your group on VK.com" 1181 1181 msgstr "" 1182 1182 "С помощью этого плагина вы можете импортировать товары в свою группу в VK.com" 1183 1183 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 1186 1185 msgid "Сreates a XML-feed for importing your products to" 1187 1186 msgstr "Создает XML-фид для импорта ваших товаров на" 1188 1187 1189 #: common-libs/class-icpd-promo -1-1-0.php:1721188 #: common-libs/class-icpd-promo.php:175 1190 1189 msgid "My plugins that may interest you" 1191 1190 msgstr "Мои плагины, которые могут вас заинтересовать" 1191 1192 #: common-libs/class-icpd-promo.php:202 1193 msgid "Read more" 1194 msgstr "Подробнее" 1192 1195 1193 1196 #: common-libs/wc-add-functions-1-0-2.php:102 … … 1238 1241 msgstr "требуется, чтобы WooCommerce был установлен и активирован" 1239 1242 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 1240 1269 #~ msgid "Soon" 1241 1270 #~ msgstr "Скоро" … … 1487 1516 #~ msgid "Feed ID" 1488 1517 #~ msgstr "Фид ID" 1489 1490 #~ msgid "YML File"1491 #~ msgstr "Файл YML"1492 1518 1493 1519 #~ msgid "Automatic file creation" -
wc-import-yandex/trunk/packages.php
r3096685 r3450668 1 1 <?php defined( 'ABSPATH' ) || exit; 2 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/icopydoc-useful-functions- 1-1-8.php';2 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/icopydoc-useful-functions-2-0-2.php'; 3 3 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/wc-add-functions-1-0-2.php'; 4 4 require_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';5 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-promo.php'; 6 6 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/class-icpd-set-admin-notices.php'; 7 7 require_once IP2Y_PLUGIN_DIR_PATH . 'common-libs/backward-compatibility.php'; … … 10 10 require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y.php'; 11 11 require_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';12 require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-data.php'; 13 13 require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-debug-page.php'; 14 14 require_once IP2Y_PLUGIN_DIR_PATH . 'classes/system/class-ip2y-error-log.php'; -
wc-import-yandex/trunk/readme.txt
r3428729 r3450668 5 5 Requires at least: 4.5 6 6 Tested up to: 6.9 7 Stable tag: 0.5. 17 Stable tag: 0.5.2 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 27 27 28 28 == Changelog == 29 30 = 0.5.2 = 31 *Release Date 30-01-2026* 32 33 * Added support for the VAT rate of 22% 29 34 30 35 = 0.5.1 = … … 60 65 == Upgrade Notice == 61 66 62 = 0.5. 1=63 *Release Date 14-04-2025*67 = 0.5.2 = 68 *Release Date 30-01-2026* 64 69 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 1 1 <?php 2 2 3 /** 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. 19 5 * 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. 23 10 * 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 28 32 */ 29 defined( 'ABSPATH' ) || exit; 33 34 // If this file is called directly, abort. 35 if ( ! defined( 'WPINC' ) ) { 36 die; 37 } 30 38 31 39 $nr = false; … … 88 96 89 97 // Define constants 90 define( 'IP2Y_PLUGIN_VERSION', '0.5. 1' );98 define( 'IP2Y_PLUGIN_VERSION', '0.5.2' ); 91 99 92 100 $upload_dir = wp_get_upload_dir();
Note: See TracChangeset
for help on using the changeset viewer.