CTX Feed – WooCommerce Product Feed Manager Plugin - Version 4.4.21

Version Description

(2021-08-29) = * Added: Support for ecommerce.it added. * Added: New file type(JSON) added. * Added: Availability date custom field control added on settings page. * Fixed: Settings page UI improved. * Fixed: Google category mapping UI improved.

Download this release

Release Info

Developer wahid0003
Plugin Icon 128x128 CTX Feed – WooCommerce Product Feed Manager Plugin
Version 4.4.21
Comparing to
See all releases

Code changes from version 4.4.20 to 4.4.21

Files changed (355) hide show
  1. README.txt +8 -1
  2. WOO_FEED_LICENSE.txt +0 -0
  3. admin/class-woo-feed-admin.php +0 -0
  4. admin/class-woo-feed-category-list.php +0 -0
  5. admin/class-woo-feed-manage-list.php +0 -0
  6. admin/class-woo-feed-option-list.php +0 -0
  7. admin/css/admin-settings.css +0 -0
  8. admin/css/fancy-select.css +0 -0
  9. admin/css/fancy-select.min.css +0 -0
  10. admin/css/fancy-select.scss +0 -0
  11. admin/css/index.php +0 -0
  12. admin/css/selectize.min.css +0 -0
  13. admin/css/slick-theme.css +0 -0
  14. admin/css/slick-theme.min.css +0 -0
  15. admin/css/slick.css +0 -0
  16. admin/css/slick.min.css +0 -0
  17. admin/css/woo-feed-admin-pro.css +0 -0
  18. admin/css/woo-feed-admin-pro.min.css +0 -0
  19. admin/css/woo-feed-admin-pro.scss +0 -0
  20. admin/css/woo-feed-admin.css +19 -8
  21. admin/css/woo-feed-admin.min.css +1 -1
  22. admin/css/woo-feed-admin.scss +40 -7
  23. admin/fonts/index.php +0 -0
  24. admin/fonts/slick.eot +0 -0
  25. admin/fonts/slick.svg +0 -0
  26. admin/fonts/slick.ttf +0 -0
  27. admin/fonts/slick.woff +0 -0
  28. admin/images/14-days-money-back-guarantee.svg +0 -0
  29. admin/images/ajax-loader.gif +0 -0
  30. admin/images/block-quote.svg +0 -0
  31. admin/images/complete.png +0 -0
  32. admin/images/ctx-feed-features/attributes-mapping-thumbnail.svg +0 -0
  33. admin/images/ctx-feed-features/built-in-templates-thumbnail.svg +0 -0
  34. admin/images/ctx-feed-features/category-filter-thumbnail.svg +0 -0
  35. admin/images/ctx-feed-features/category-mapping-thumbnail.svg +0 -0
  36. admin/images/ctx-feed-features/custom-taxonomy-thumbnail.svg +0 -0
  37. admin/images/ctx-feed-features/custom-template-1-thumbnail.svg +0 -0
  38. admin/images/ctx-feed-features/default-schema-override-thumbnail.svg +0 -0
  39. admin/images/ctx-feed-features/extended-product-title-thumbnail.svg +0 -0
  40. admin/images/ctx-feed-features/facebook-feed-thumbnail.svg +0 -0
  41. admin/images/ctx-feed-features/facebook-pixel-thumbnail.svg +0 -0
  42. admin/images/ctx-feed-features/feed-making-batches-thumbnail.svg +0 -0
  43. admin/images/ctx-feed-features/feed-type-thumbnail.svg +0 -0
  44. admin/images/ctx-feed-features/google-ads-remarketing-thumbnail.svg +0 -0
  45. admin/images/ctx-feed-features/google-feed-thumbnail.svg +0 -0
  46. admin/images/ctx-feed-features/number-format-thumbnail.svg +0 -0
  47. admin/images/ctx-feed-features/options-thumbnail.svg +0 -0
  48. admin/images/ctx-feed-features/pinterest-feed-thumbnail.svg +0 -0
  49. admin/images/feature-advanced-filter-thumbnail.svg +0 -0
  50. admin/images/feature-auto-update-interval-thumbnail.svg +0 -0
  51. admin/images/feature-custom-template-2-thumbnail.svg +0 -0
  52. admin/images/feature-dynamic-attributes-thumbnail.svg +0 -0
  53. admin/images/feature-dynamic-pricing-thumbnail.svg +0 -0
  54. admin/images/feature-exclude-include-categories-thumbnail.svg +0 -0
  55. admin/images/feature-exclude-include-products-thumbnail.svg +0 -0
  56. admin/images/feature-extended-product-title-thumbnail.svg +0 -0
  57. admin/images/feature-merge-attributes-thumbnail.svg +0 -0
  58. admin/images/feature-multi-currency-thumbnail.svg +0 -0
  59. admin/images/feature-multi-language-support-thumbnail.svg +0 -0
  60. admin/images/feature-multi-vendors-thumbnail.svg +0 -0
  61. admin/images/feature-number-format-thumbnail.svg +0 -0
  62. admin/images/feature-out-of-stock-thumbnail.svg +0 -0
  63. admin/images/feature-smart-filter-thumbnail.svg +0 -0
  64. admin/images/feature-string-replace-thumbnail.svg +0 -0
  65. admin/images/feature-variations-thumbnail.svg +0 -0
  66. admin/images/features/3rd-party-plugin-support.svg +0 -0
  67. admin/images/features/category-mapping.svg +0 -0
  68. admin/images/features/conditional-pricing.svg +0 -0
  69. admin/images/features/custom-taxonomy.svg +0 -0
  70. admin/images/features/customer-support.svg +0 -0
  71. admin/images/features/dynamic-attributes.svg +0 -0
  72. admin/images/features/index.php +0 -0
  73. admin/images/features/multilingual-feed.svg +0 -0
  74. admin/images/features/output-customization.svg +0 -0
  75. admin/images/features/product-title-customization.svg +0 -0
  76. admin/images/features/smart-filter-conditions.svg +0 -0
  77. admin/images/features/tax-calculation.svg +0 -0
  78. admin/images/get-woo-feed-pro.svg +0 -0
  79. admin/images/index.php +0 -0
  80. admin/images/payment-options/amex.svg +0 -0
  81. admin/images/payment-options/diners.svg +0 -0
  82. admin/images/payment-options/discover.svg +0 -0
  83. admin/images/payment-options/index.php +0 -0
  84. admin/images/payment-options/jcb.svg +0 -0
  85. admin/images/payment-options/mastercard.svg +0 -0
  86. admin/images/payment-options/visa.svg +0 -0
  87. admin/images/warn.png +0 -0
  88. admin/images/woo-feed-black-friday.svg +0 -0
  89. admin/images/woo-feed-icon.svg +0 -0
  90. admin/images/woo-feed-lite.svg +0 -0
  91. admin/images/woo-feed-logo.svg +0 -0
  92. admin/images/woo-feed-pro-banner.png +0 -0
  93. admin/images/woo-feed-pro.svg +0 -0
  94. admin/images/woofeed-now-ctxfeed.png +0 -0
  95. admin/index.php +0 -0
  96. admin/js/additional-methods.min.js +0 -0
  97. admin/js/clipboard.min.js +0 -0
  98. admin/js/fancy-select.js +0 -0
  99. admin/js/fancy-select.min.js +0 -0
  100. admin/js/fancy-select.min.js.map +0 -0
  101. admin/js/index.php +0 -0
  102. admin/js/jquery-sortable.js +0 -0
  103. admin/js/jquery-sortable.min.js +0 -0
  104. admin/js/jquery-sortable.min.js.map +0 -0
  105. admin/js/jquery.validate.min.js +0 -0
  106. admin/js/localization/messages_ar.js +0 -0
  107. admin/js/localization/messages_ar.min.js +0 -0
  108. admin/js/localization/messages_bg.js +0 -0
  109. admin/js/localization/messages_bg.min.js +0 -0
  110. admin/js/localization/messages_bn_BD.js +0 -0
  111. admin/js/localization/messages_bn_BD.min.js +0 -0
  112. admin/js/localization/messages_ca.js +0 -0
  113. admin/js/localization/messages_ca.min.js +0 -0
  114. admin/js/localization/messages_cs.js +0 -0
  115. admin/js/localization/messages_cs.min.js +0 -0
  116. admin/js/localization/messages_da.js +0 -0
  117. admin/js/localization/messages_da.min.js +0 -0
  118. admin/js/localization/messages_de.js +0 -0
  119. admin/js/localization/messages_de.min.js +0 -0
  120. admin/js/localization/messages_el.js +0 -0
  121. admin/js/localization/messages_el.min.js +0 -0
  122. admin/js/localization/messages_es.js +0 -0
  123. admin/js/localization/messages_es.min.js +0 -0
  124. admin/js/localization/messages_es_AR.js +0 -0
  125. admin/js/localization/messages_es_AR.min.js +0 -0
  126. admin/js/localization/messages_es_PE.js +0 -0
  127. admin/js/localization/messages_es_PE.min.js +0 -0
  128. admin/js/localization/messages_et.js +0 -0
  129. admin/js/localization/messages_et.min.js +0 -0
  130. admin/js/localization/messages_eu.js +0 -0
  131. admin/js/localization/messages_eu.min.js +0 -0
  132. admin/js/localization/messages_fa.js +0 -0
  133. admin/js/localization/messages_fa.min.js +0 -0
  134. admin/js/localization/messages_fi.js +0 -0
  135. admin/js/localization/messages_fi.min.js +0 -0
  136. admin/js/localization/messages_fr.js +0 -0
  137. admin/js/localization/messages_fr.min.js +0 -0
  138. admin/js/localization/messages_ge.js +0 -0
  139. admin/js/localization/messages_ge.min.js +0 -0
  140. admin/js/localization/messages_gl.js +0 -0
  141. admin/js/localization/messages_gl.min.js +0 -0
  142. admin/js/localization/messages_he.js +0 -0
  143. admin/js/localization/messages_he.min.js +0 -0
  144. admin/js/localization/messages_hr.js +0 -0
  145. admin/js/localization/messages_hr.min.js +0 -0
  146. admin/js/localization/messages_hu.js +0 -0
  147. admin/js/localization/messages_hu.min.js +0 -0
  148. admin/js/localization/messages_hy_AM.js +0 -0
  149. admin/js/localization/messages_hy_AM.min.js +0 -0
  150. admin/js/localization/messages_id.js +0 -0
  151. admin/js/localization/messages_id.min.js +0 -0
  152. admin/js/localization/messages_is.js +0 -0
  153. admin/js/localization/messages_is.min.js +0 -0
  154. admin/js/localization/messages_it.js +0 -0
  155. admin/js/localization/messages_it.min.js +0 -0
  156. admin/js/localization/messages_ja.js +0 -0
  157. admin/js/localization/messages_ja.min.js +0 -0
  158. admin/js/localization/messages_ka.js +0 -0
  159. admin/js/localization/messages_ka.min.js +0 -0
  160. admin/js/localization/messages_kk.js +0 -0
  161. admin/js/localization/messages_kk.min.js +0 -0
  162. admin/js/localization/messages_ko.js +0 -0
  163. admin/js/localization/messages_ko.min.js +0 -0
  164. admin/js/localization/messages_lt.js +0 -0
  165. admin/js/localization/messages_lt.min.js +0 -0
  166. admin/js/localization/messages_lv.js +0 -0
  167. admin/js/localization/messages_lv.min.js +0 -0
  168. admin/js/localization/messages_my.js +0 -0
  169. admin/js/localization/messages_my.min.js +0 -0
  170. admin/js/localization/messages_nl.js +0 -0
  171. admin/js/localization/messages_nl.min.js +0 -0
  172. admin/js/localization/messages_no.js +0 -0
  173. admin/js/localization/messages_no.min.js +0 -0
  174. admin/js/localization/messages_pl.js +0 -0
  175. admin/js/localization/messages_pl.min.js +0 -0
  176. admin/js/localization/messages_pt_BR.js +0 -0
  177. admin/js/localization/messages_pt_BR.min.js +0 -0
  178. admin/js/localization/messages_pt_PT.js +0 -0
  179. admin/js/localization/messages_pt_PT.min.js +0 -0
  180. admin/js/localization/messages_ro.js +0 -0
  181. admin/js/localization/messages_ro.min.js +0 -0
  182. admin/js/localization/messages_ru.js +0 -0
  183. admin/js/localization/messages_ru.min.js +0 -0
  184. admin/js/localization/messages_si.js +0 -0
  185. admin/js/localization/messages_si.min.js +0 -0
  186. admin/js/localization/messages_sk.js +0 -0
  187. admin/js/localization/messages_sk.min.js +0 -0
  188. admin/js/localization/messages_sl.js +0 -0
  189. admin/js/localization/messages_sl.min.js +0 -0
  190. admin/js/localization/messages_sr.js +0 -0
  191. admin/js/localization/messages_sr.min.js +0 -0
  192. admin/js/localization/messages_sr_lat.js +0 -0
  193. admin/js/localization/messages_sr_lat.min.js +0 -0
  194. admin/js/localization/messages_sv.js +0 -0
  195. admin/js/localization/messages_sv.min.js +0 -0
  196. admin/js/localization/messages_th.js +0 -0
  197. admin/js/localization/messages_th.min.js +0 -0
  198. admin/js/localization/messages_tj.js +0 -0
  199. admin/js/localization/messages_tj.min.js +0 -0
  200. admin/js/localization/messages_tr.js +0 -0
  201. admin/js/localization/messages_tr.min.js +0 -0
  202. admin/js/localization/messages_uk.js +0 -0
  203. admin/js/localization/messages_uk.min.js +0 -0
  204. admin/js/localization/messages_vi.js +0 -0
  205. admin/js/localization/messages_vi.min.js +0 -0
  206. admin/js/localization/messages_zh.js +0 -0
  207. admin/js/localization/messages_zh.min.js +0 -0
  208. admin/js/localization/messages_zh_TW.js +0 -0
  209. admin/js/localization/messages_zh_TW.min.js +0 -0
  210. admin/js/localization/methods_de.js +0 -0
  211. admin/js/localization/methods_de.min.js +0 -0
  212. admin/js/localization/methods_es_CL.js +0 -0
  213. admin/js/localization/methods_es_CL.min.js +0 -0
  214. admin/js/localization/methods_fi.js +0 -0
  215. admin/js/localization/methods_fi.min.js +0 -0
  216. admin/js/localization/methods_nl.js +0 -0
  217. admin/js/localization/methods_nl.min.js +0 -0
  218. admin/js/localization/methods_pt.js +0 -0
  219. admin/js/localization/methods_pt.min.js +0 -0
  220. admin/js/slick.js +0 -0
  221. admin/js/slick.min.js +0 -0
  222. admin/js/woo-feed-admin-pro.js +0 -0
  223. admin/js/woo-feed-admin-pro.min.js +0 -0
  224. admin/js/woo-feed-admin-pro.min.js.map +0 -0
  225. admin/js/woo-feed-admin.js +13 -5
  226. admin/js/woo-feed-admin.min.js +1 -1
  227. admin/js/woo-feed-admin.min.js.map +1 -1
  228. admin/partials/index.php +0 -0
  229. admin/partials/templates/bestprice.txt +0 -0
  230. admin/partials/templates/catch.com.au.txt +0 -0
  231. admin/partials/templates/comparer.be.txt +0 -0
  232. admin/partials/templates/daisycon.txt +0 -0
  233. admin/partials/templates/daisycon_automotive.txt +0 -0
  234. admin/partials/templates/daisycon_books.txt +0 -0
  235. admin/partials/templates/daisycon_cosmetics.txt +0 -0
  236. admin/partials/templates/daisycon_daily_offers.txt +0 -0
  237. admin/partials/templates/daisycon_electronics.txt +0 -0
  238. admin/partials/templates/daisycon_fashion.txt +0 -0
  239. admin/partials/templates/daisycon_food_drinks.txt +0 -0
  240. admin/partials/templates/daisycon_holidays_accommodations.txt +0 -0
  241. admin/partials/templates/daisycon_holidays_accommodations_and_transport.txt +0 -0
  242. admin/partials/templates/daisycon_holidays_trips.txt +0 -0
  243. admin/partials/templates/daisycon_home_garden.txt +0 -0
  244. admin/partials/templates/daisycon_housing.txt +0 -0
  245. admin/partials/templates/daisycon_magazines.txt +0 -0
  246. admin/partials/templates/daisycon_studies_trainings.txt +0 -0
  247. admin/partials/templates/daisycon_telecom_accessories.txt +0 -0
  248. admin/partials/templates/daisycon_telecom_all_in_one.txt +0 -0
  249. admin/partials/templates/daisycon_telecom_gsm.txt +0 -0
  250. admin/partials/templates/daisycon_telecom_gsm_subscription.txt +0 -0
  251. admin/partials/templates/daisycon_telecom_sim.txt +0 -0
  252. admin/partials/templates/daisycon_work_jobs.txt +0 -0
  253. admin/partials/templates/dooyoo.txt +0 -0
  254. admin/partials/templates/facebook.txt +0 -0
  255. admin/partials/templates/fruugo.au.txt +0 -0
  256. admin/partials/templates/google.txt +0 -0
  257. admin/partials/templates/google_local.txt +0 -0
  258. admin/partials/templates/google_local_inventory.txt +0 -0
  259. admin/partials/templates/google_shopping_action.txt +0 -0
  260. admin/partials/templates/heureka.sk.txt +0 -0
  261. admin/partials/templates/hintaseuranta.fi.txt +0 -0
  262. admin/partials/templates/incurvy.txt +0 -0
  263. admin/partials/templates/index.php +0 -0
  264. admin/partials/templates/kijiji.ca.txt +0 -0
  265. admin/partials/templates/marktplaats.nl.txt +0 -0
  266. admin/partials/templates/modalova.txt +0 -0
  267. admin/partials/templates/moebel.de.txt +0 -0
  268. admin/partials/templates/myshopping.com.au.txt +0 -0
  269. admin/partials/templates/nextad.txt +0 -0
  270. admin/partials/templates/pinterest.txt +0 -0
  271. admin/partials/templates/pinterest_rss.txt +0 -0
  272. admin/partials/templates/rakuten.de.txt +0 -0
  273. admin/partials/templates/shopalike.fr.txt +0 -0
  274. admin/partials/templates/skinflint.co.uk.txt +0 -0
  275. admin/partials/templates/skroutz.txt +0 -0
  276. admin/partials/templates/snapchat.txt +0 -0
  277. admin/partials/templates/spartoo.fi.txt +0 -0
  278. admin/partials/templates/stylight.com.txt +0 -0
  279. admin/partials/templates/taxonomies/google_taxonomy.txt +0 -0
  280. admin/partials/templates/taxonomies/index.php +0 -0
  281. admin/partials/templates/webmarchand.txt +0 -0
  282. admin/partials/templates/wine_searcher.txt +0 -0
  283. admin/partials/templates/zap.co.il.txt +0 -0
  284. admin/partials/templates/zbozi.cz.txt +0 -0
  285. admin/partials/woo-feed-add-option.php +0 -0
  286. admin/partials/woo-feed-admin-display.php +0 -0
  287. admin/partials/woo-feed-category-mapping-list.php +0 -0
  288. admin/partials/woo-feed-category-mapping.php +0 -0
  289. admin/partials/woo-feed-content-settings.php +1 -1
  290. admin/partials/woo-feed-edit-config.php +0 -0
  291. admin/partials/woo-feed-edit-filter.php +0 -0
  292. admin/partials/woo-feed-edit-ftp.php +0 -0
  293. admin/partials/woo-feed-edit-tabs.php +0 -0
  294. admin/partials/woo-feed-edit-template.php +0 -0
  295. admin/partials/woo-feed-manage-list.php +0 -0
  296. admin/partials/woo-feed-option-list.php +0 -0
  297. admin/partials/woo-feed-pro-vs-free.php +0 -0
  298. admin/partials/woo-feed-settings.php +6 -3
  299. admin/partials/woo-feed-status.php +0 -0
  300. includes/class-woo-feed-docs.php +0 -0
  301. includes/class-woo-feed-i18n.php +0 -0
  302. includes/class-woo-feed-installer.php +0 -0
  303. includes/class-woo-feed-loader.php +0 -0
  304. includes/class-woo-feed-status.php +0 -0
  305. includes/class-woo-feed.php +0 -0
  306. includes/classes/class-woo-feed-admin-message.php +0 -0
  307. includes/classes/class-woo-feed-default-attributes.php +0 -0
  308. includes/classes/class-woo-feed-dropdown.php +1 -0
  309. includes/classes/class-woo-feed-engine.php +0 -0
  310. includes/classes/class-woo-feed-list-table.php +0 -0
  311. includes/classes/class-woo-feed-log-handler-file.php +0 -0
  312. includes/classes/class-woo-feed-merchant.php +1 -0
  313. includes/classes/class-woo-feed-products-v3.php +150 -61
  314. includes/classes/class-woo-feed-products.php +0 -0
  315. includes/classes/class-woo-feed-savefile.php +4 -1
  316. includes/classes/class-woo-feed-shipping.php +0 -0
  317. includes/classes/class-woo-feed-webappick-api.php +0 -0
  318. includes/classes/index.php +0 -0
  319. includes/cron-helper.php +0 -0
  320. includes/feeds/class-woo-feed-custom.php +1 -1
  321. includes/feeds/class-woo-feed-facebook.php +0 -0
  322. includes/feeds/class-woo-feed-generate.php +0 -0
  323. includes/feeds/class-woo-feed-google.php +0 -0
  324. includes/feeds/class-woo-feed-pinterest.php +0 -0
  325. includes/feeds/class-woo-feed-review.php +0 -0
  326. includes/feeds/index.php +0 -0
  327. includes/helper.php +27 -35
  328. includes/hooks.php +0 -0
  329. includes/index.php +0 -0
  330. includes/log-helper.php +0 -0
  331. includes/pluggable.php +8 -17
  332. includes/template-configs.php +12 -2
  333. includes/template-infos.php +7 -0
  334. includes/wc-legacy-support.php +0 -0
  335. includes/widget.php +0 -0
  336. index.php +0 -0
  337. languages/index.php +0 -0
  338. languages/woo-feed-en_US.mo +0 -0
  339. languages/woo-feed-en_US.po +0 -0
  340. languages/woo-feed.pot +292 -284
  341. libs/WebAppick/AppServices/Client.php +0 -0
  342. libs/WebAppick/AppServices/Insights.php +0 -0
  343. libs/WebAppick/AppServices/Promotions.php +0 -0
  344. libs/WebAppick/AppServices/index.php +0 -0
  345. libs/WebAppick/Attributes/AttributeInterface.php +0 -0
  346. libs/WebAppick/Attributes/Attributes.php +10 -1
  347. libs/WebAppick/Attributes/AvailabilityDate.php +0 -0
  348. libs/WebAppick/FTP/FTPConnection.php +0 -0
  349. libs/WebAppick/FTP/SFTPConnection.php +0 -0
  350. libs/WebAppick/index.php +0 -0
  351. libs/WebAppick/phpcs.xml +0 -0
  352. libs/autoload.php +0 -0
  353. libs/index.php +0 -0
  354. uninstall.php +0 -0
  355. woo-feed.php +16 -16
README.txt CHANGED
@@ -5,7 +5,7 @@ Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Cata
5
  Requires at least: 4.4
6
  Tested Up To: 5.8
7
  Requires PHP: 5.6
8
- Stable tag: 4.4.20
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -516,6 +516,13 @@ Using pro version:
516
 
517
  == Changelog ==
518
 
 
 
 
 
 
 
 
519
  = 4.4.20 (2021-08-17) =
520
  * Added: Category Mapping performance improved.
521
  * Added: Button design improved.
5
  Requires at least: 4.4
6
  Tested Up To: 5.8
7
  Requires PHP: 5.6
8
+ Stable tag: 4.4.21
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
516
 
517
  == Changelog ==
518
 
519
+ = 4.4.21 (2021-08-29) =
520
+ * Added: Support for ecommerce.it added.
521
+ * Added: New file type(JSON) added.
522
+ * Added: Availability date custom field control added on settings page.
523
+ * Fixed: Settings page UI improved.
524
+ * Fixed: Google category mapping UI improved.
525
+
526
  = 4.4.20 (2021-08-17) =
527
  * Added: Category Mapping performance improved.
528
  * Added: Button design improved.
WOO_FEED_LICENSE.txt CHANGED
File without changes
admin/class-woo-feed-admin.php CHANGED
File without changes
admin/class-woo-feed-category-list.php CHANGED
File without changes
admin/class-woo-feed-manage-list.php CHANGED
File without changes
admin/class-woo-feed-option-list.php CHANGED
File without changes
admin/css/admin-settings.css CHANGED
File without changes
admin/css/fancy-select.css CHANGED
File without changes
admin/css/fancy-select.min.css CHANGED
File without changes
admin/css/fancy-select.scss CHANGED
File without changes
admin/css/index.php CHANGED
File without changes
admin/css/selectize.min.css CHANGED
File without changes
admin/css/slick-theme.css CHANGED
File without changes
admin/css/slick-theme.min.css CHANGED
File without changes
admin/css/slick.css CHANGED
File without changes
admin/css/slick.min.css CHANGED
File without changes
admin/css/woo-feed-admin-pro.css CHANGED
File without changes
admin/css/woo-feed-admin-pro.min.css CHANGED
File without changes
admin/css/woo-feed-admin-pro.scss CHANGED
File without changes
admin/css/woo-feed-admin.css CHANGED
@@ -418,10 +418,28 @@ body.no-js select.selectize {
418
  .wapk-selectize-item {
419
  background: #0073aa !important;
420
  color: #f1f1f1 !important;
421
- font-weight: bold !important;
422
  border-color: #0073aa !important;
423
  padding-left: 5px;
424
  padding-right: 5px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  }
426
 
427
  .selectize-input.full #googleTaxonomyId-selectized {
@@ -1913,11 +1931,4 @@ span[id*=cat-map-] {
1913
  cursor: pointer;
1914
  position: relative;
1915
  top: 5px;
1916
- }
1917
-
1918
- .wapk-selectize-item {
1919
- background: #fff !important;
1920
- border-color: #000 !important;
1921
- color: #303030 !important;
1922
- font-weight: 400 !important;
1923
  }
418
  .wapk-selectize-item {
419
  background: #0073aa !important;
420
  color: #f1f1f1 !important;
 
421
  border-color: #0073aa !important;
422
  padding-left: 5px;
423
  padding-right: 5px;
424
+ border-radius: 3px;
425
+ }
426
+
427
+ .selectize-google-category .selectize-input {
428
+ padding-right: 30px;
429
+ }
430
+ .selectize-google-category .selectize-dropdown-content {
431
+ padding: 0 8px;
432
+ }
433
+ .selectize-google-category .selectize-dropdown-content .wapk-selectize-item {
434
+ color: #000 !important;
435
+ background-color: #edf0f2 !important;
436
+ margin-bottom: 3px !important;
437
+ padding: 3px 8px !important;
438
+ transition-duration: 0.6s;
439
+ }
440
+ .selectize-google-category .selectize-dropdown-content .wapk-selectize-item.active {
441
+ background-color: #a2c8e1 !important;
442
+ transition-duration: 0.6s;
443
  }
444
 
445
  .selectize-input.full #googleTaxonomyId-selectized {
1931
  cursor: pointer;
1932
  position: relative;
1933
  top: 5px;
 
 
 
 
 
 
 
1934
  }
admin/css/woo-feed-admin.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.wpf_spin{-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.wpf_spin.reverse_spin{animation-direction:reverse}.wpf_regenerate.disabled{color:#737373;box-shadow:none;cursor:not-allowed}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.webappick-info{color:#42a5fa}.wfbtn{background:#3498db;background-image:linear-gradient(125deg,#3cb0fd 0,#152f8c 140%);border-radius:3px;box-shadow:inset 0 1px 3px #666;font-family:Arial,sans-serif;color:#fff;font-size:20px;padding:10px 20px 10px 20px;border:solid #2b698f 0;text-decoration:none}.wfbtn:hover{background:#3cb0fd;background-image:linear-gradient(to bottom,#3cb0fd,#3498db);text-decoration:none}.woo_feed_manage_list_table .wf_update_interval_btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo_feed_manage_list_table .wf_update_interval_btn:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.woo-feed-promotion{position:relative;display:none}.woo-feed-promotion .woo-feed-campaign-close-button{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:15px;width:24px;height:24px;border-radius:12px;background:#595d6b;line-height:24px;color:#fff;cursor:pointer;transition:.3s ease}.woo-feed-promotion .woo-feed-campaign-close-button:hover{background:#fff;color:#d61e48}.wftooltip{display:none;position:absolute;border:1px solid #333;background-color:#161616;border-radius:5px;padding:10px;color:#fff;font-size:12px}.feed-actions .makeFeedResponse{width:70%;color:green}.woo-feed-mapping-input{width:100%}.requiredIn{color:red}.generalInput{width:200px}.generalInput:not(.selectize-control){margin:5px auto}.error{color:red}.widefat td input,.widefat td select{max-width:100%}.woo-feed-btn-bg-gradient-blue,[data-class=woo-feed-btn-bg-gradient-blue]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-blue:hover,[data-class=woo-feed-btn-bg-gradient-blue]:hover{background:#3cb0fd!important}.woo-feed-btn-bg-gradient-red{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-red:hover{background:#fc5c65!important}.woo-feed-btn-bg-gradient-purple{background:linear-gradient(67.36deg,#9733ee 3.09%,#da22ff 64.97%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-purple:hover{background:#a203fb!important}.woo-feed-light-btn-bg-gradient-blue{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important}#wf_newRow{margin-left:0}.mtable tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable th:nth-child(1){width:17px}.mtable th:nth-child(2){width:160px}.mtable th:nth-child(3){width:100px}.mtable th:nth-child(4){width:100px}.mtable th:nth-child(5){width:150px}.mtable th:nth-child(6){width:100px}.mtable th:nth-child(7){width:150px}.mtable th:nth-child(8){width:90px}.mtable th:nth-child(9){width:29px}.mtable2 tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable2 th:nth-child(1){width:30px}.mtable2 th:nth-child(2){width:150px}.mtable2 th:nth-child(3){width:230px}.mtable2 th:nth-child(4){width:220px}.mtable2 th:nth-child(7){width:50px}.mtable2 th:nth-child(8){width:50px}.mtable2 th:nth-child(9){width:29px}.wp-admin select.wf_mattributes{width:150px;left:0;height:25px}div#wf-tab-content1 select:not([name^=output_type]){width:100%}div#wf-tab-content1 input{width:100%}div#wf-tab-content1 .dashicons{vertical-align:middle}.wf_attributes{width:150px;left:0}.wf_compare{max-width:245px;left:0}.wf_ps{width:100px;left:0}.wf_sortedtable{cursor:move}.sorted_table{position:relative}.sorted_table .dragged{position:absolute;opacity:.8;z-index:9999;background:#fff;width:100%;display:table}.sorted_table tbody tr.placeholder td{border:1px dashed #2cc185;height:46px}.wfnoempty{width:120px}.wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}.wf_tabs:after{display:table;clear:both;content:""}.wf_tabs li{float:left;width:20%;display:block;border:2px solid #ccc}.wf_tabs li>input[type=radio][name=wf_tabs]{position:absolute;top:auto;left:-9999px}.wf-tab-name{display:block;padding:15px;font-size:15px;font-weight:700;line-height:1;background:#fff;cursor:pointer;position:relative;text-align:center;text-transform:uppercase;color:#2cc185}.wf-tab-name:hover{background:#2cc185;color:#fff}.wf_tabs [id^=tab]:checked+label{background:#2cc185;color:#fff}.wf_tabs .wf-tab-content{z-index:2;display:none;width:100%;font-size:.9rem;position:absolute;left:0;background:#fff;border:2px solid #ccc}.wf_tabs [id^=tab]:checked~[id^=wf-tab-content]{display:block}[id^=wf-tab-content]{margin-bottom:40px}div#wf-tab-content2 table:first-child{padding:10px 0}div#wf-tab-content2 table:first-child td:nth-child(1){width:260px}div#wf-tab-content2 table:first-child td:nth-child(2){width:260px}table.feed-actions tr td:last-child{text-align:right}select.selectize{display:none}body.no-js select.selectize{display:block!important}.wp-list-table .option_name .wf_feed_option_name_link{font-weight:700;color:#30336b}.wp-list-table #option_name a{color:#32373c}.selectize-dropdown .active{background-color:#edf9ff}.selectize-dropdown .create{padding:5px 8px}.wapk-selectize-item{background:#0073aa!important;color:#f1f1f1!important;font-weight:700!important;border-color:#0073aa!important;padding-left:5px;padding-right:5px}.selectize-input.full #googleTaxonomyId-selectized{opacity:0;position:absolute;left:-10000px}.selectize-dropdown [data-selectable].option{cursor:default}.selectize-control.plugin-remove_button [data-value] .remove{border-left:1px solid #f1f1f1!important}.selectize-dropdown .optgroup-header{font-weight:700;background:#efefef;color:#5a5a5a}.selectize-dropdown [data-selectable].option{cursor:pointer}.wf_status_wrap label{width:55px;height:28px;box-sizing:border-box;float:left;border-radius:100px;position:relative;cursor:pointer;transition:.3s ease;background:linear-gradient(125deg,#e2e2e2 0,#ccc 140%)}input[class=woo_feed_status_input]:checked+label{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}input[class=woo_feed_status_input]:checked+label:before{left:29px}.wf_status_wrap label:before{transition:.3s ease;content:"";width:20px;height:20px;position:absolute;background:#fff;left:6px;top:4px;box-sizing:border-box;color:#000;border-radius:100px;box-shadow:0 1.5px 2px 0 #000}.view span.dashicons.dashicons-external{color:#22a6b3}.view span.dashicons.dashicons-sos{color:#22a6b3}.view span.dashicons.dashicons-download{color:#ee5253}.view span.dashicons.dashicons-media-code{color:#576574}.column-url,.widefat td.column-url,.widefat th.column-url{color:#1e8f9a;font-weight:700}.feed-progress-container{width:100%;color:#fff;text-align:center;font-weight:300}.feed-progress-bar{width:100%;background:#eee;padding:3px;border-radius:50px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.feed-progress-bar-fill{height:20px;display:block;background:linear-gradient(to right top,#10ac84,#13b389,#15ba8f,#18c194,#1ac89a,#13cba1,#0acfa9,#00d2b0,#00d2ba,#00d2c3,#00d2cb,#00d2d3);width:0;border-radius:50px;transition:width .8s ease}.feed-progress-status{float:left;font-weight:700;color:#00008b}.feed-progress-percentage{text-align:right;font-weight:bolder;color:#1dd1a1;font-family:"Arial Black",sans-serif;font-size:large}#wpbody-content.woofeed-body-content{overflow:visible!important}.clippy{position:relative;width:13px;margin-top:-3px;margin-left:3px;top:3px}.column-url .clippy{display:none}.column-url:hover .clippy{display:inline-block}.tooltipped{position:relative}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,.8);border-radius:3px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,.8);pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before{display:inline-block;text-decoration:none}.tooltipped:hover:after{display:inline-block;text-decoration:none}.tooltipped:active:before{display:inline-block;text-decoration:none}.tooltipped:active:after{display:inline-block;text-decoration:none}.tooltipped:focus:before{display:inline-block;text-decoration:none}.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-multiline:active:after{display:table-cell}.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-s:after{top:100%;right:50%;margin-top:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-s:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-se:after{top:100%;margin-top:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-se:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;margin-right:-15px}.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-n:after{right:50%;bottom:100%;margin-bottom:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-n:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-ne:after{bottom:100%;margin-bottom:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-ne:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px;margin-right:-15px}.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after{right:100%}.tooltipped-multiline.tooltipped-e:after{right:100%}.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky:after{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.fullscreen-overlay-enabled.dark-theme .tooltipped:after{color:#000;background:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before{border-right-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before{border-left-color:rgba(255,255,255,.8)}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}ul.tracker_collection_list{list-style:initial;padding:initial;margin:-10px 0 0 30px;font-size:11px!important}ul.tracker_collection_list li{margin:0}table.wf-info-table,table.wf-rate-table{vertical-align:middle;text-align:center;max-width:100%;font-weight:500;margin-top:10px}table.wf-info-table th,table.wf-rate-table th{text-align:center}table.wf-info-table th .woo-feed-top-header,table.wf-rate-table th .woo-feed-top-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro{margin-left:20px}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro img,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro img{width:172px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons{float:right;display:-ms-flexbox;display:flex;border-radius:7px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a{padding:8px 20px;background:#576574;color:#fff;box-sizing:border-box;display:inline-block;transition:.3s ease}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link{background:#576574;border-top-left-radius:5px;border-bottom-left-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link{background:#ee5253}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link{background:#22a6b3;border-top-right-radius:5px;border-bottom-right-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons{font-size:18px;line-height:1.2}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover{background:#30336b;box-shadow:0 0 33px 0 rgba(0,0,0,.12)}table.wf-info-table strong,table.wf-rate-table strong{font-weight:700}table.wf-info-table th:first-child img{margin:0 0 -5px 5px}table.wf-rate-table a{color:#0073aa}table.wf-rate-table a.review-star:after{content:""!important;font-family:dashicons;font-size:10px;font-weight:100;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0073aa;text-decoration:underline}#adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before{content:"";background:url(../images/woo-feed-icon.svg) no-repeat center center;background-size:20px 20px;opacity:.6}#adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before{opacity:1}#adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before{opacity:1}.wapk-admin,.wapk-admin *{box-sizing:border-box}.wapk-admin{position:relative;display:block;-webkit-hyphens:manual;-ms-hyphens:manual;-moz-hyphens:manual;hyphens:manual;color:#1b2730;margin:0 0 0 -10px}@media screen and (min-width:783px){.wapk-admin{margin:0 0 0 -20px}}.text-center{text-align:center}.wapk-admin h1,.wapk-admin h2,.wapk-admin h3,.wapk-admin h4,.wapk-admin h5,.wapk-admin h6,.wapk-admin p{color:#1b2730}.wapk-admin sup{vertical-align:baseline;position:relative;top:-6px}.wapk-admin sub{vertical-align:baseline;position:relative;top:4px}.wapk-admin .wapk-section{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin .wapk-section [class$=icon32]+h2{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin>.notice{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin span.help{display:block;float:left;width:100%;font-size:.9em;color:#636363;margin-top:5px;font-weight:500}.wapk-admin span.help .dashicons{width:11px;height:12px;font-size:inherit;vertical-align:middle}.clear:after{content:"";display:table;clear:both}.wapk-feed-docs .postbox{width:355px;margin-right:20px;display:inline-block;vertical-align:top}.wapk-feed-docs .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;cursor:pointer}.wapk-feed-docs .postbox .dashicons{color:#ccc}.wapk-feed-docs .postbox a{text-decoration:none}.wapk-feed-docs .postbox .inside{margin-bottom:0}.wapk-feed-docs .postbox ul{margin-bottom:0}.wapk-feed-docs .postbox .toggle-indicator:before{content:"";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wapk-feed-docs .postbox li{width:100%;display:block;float:left}.wapk-feed-docs .postbox li span{display:inline-block;float:left;margin-right:4px}.wapk-feed-docs .postbox li a{display:inline-block;float:left;width:calc(100% - 24px)}.wapk-feed-docs .postbox.closed .toggle-indicator:before{content:""}.wapk-section #post-body.columns-2 #side-sortables{min-height:196px}#poststuff #feed_merchant_info .inside{margin:0;padding:0}#feed_merchant_info ul.data{margin-left:24px;margin-top:5px}#feed_merchant_info ul.data li{margin-bottom:5px}.merchant-info-section{padding:6px 10px 8px}.merchant-info-section.woo-feed-open-file{text-align:center}.merchant-info-section.woo-feed-open-file a{line-height:1.5;text-decoration:none}.generateFeed .wf-tab-content table:first-child{border:none;box-shadow:none}.generateFeed table th{font-weight:700}@media only screen and (max-width:850px){.wapk-feed-docs .postbox{display:block;width:auto;float:none;margin-right:auto}}.wp-submenu li span.woo-feed-docs{font-weight:700;color:#f18500}.wp-submenu li:hover span.woo-feed-docs{color:#ce7304}.wp-submenu li.current span.woo-feed-docs{color:#ce7304}.wapk-admin .wapk-feed-docs .postbox .hndle{cursor:default}.wapk-cta{position:relative;display:-ms-flexbox;display:flex;width:100%;padding:100px 15px;background:linear-gradient(45deg,#6cd5ff 33%,#c2efef 100%);-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wapk-cta-icon .dashicons{font-size:100px;width:100px;height:auto;margin:0 10px -8px 0;color:#02658c}.wapk-cta-content{width:50%}.wapk-cta-content h2{font-size:2em;margin:.5em 0}.wapk-cta-action a.wapk-button{font-size:24px;height:auto!important;padding:10px 20px}@media (max-width:600px){.wapk-cta{display:block;text-align:center;padding:4em 0}.wapk-cta-content{width:100%;margin:2em 0}}.wapk-button{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button>.dashicons{color:#00d4d4}.wapk-button:hover{border-color:#0bb;color:#0bb}.wapk-button:hover>svg{fill:#0bb}.wapk-button:hover>.dashicons{color:#0bb}.wapk-button:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button:focus>svg{fill:#0bb}.wapk-button:focus>.dashicons{color:#0bb}.wapk-button:active{background:#0bb;border-color:#0bb}.wapk-button-secondary{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button-secondary>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button-secondary>.dashicons{color:#00d4d4}.wapk-button-secondary:hover{border-color:#0bb;color:#0bb}.wapk-button-secondary:hover>svg{fill:#0bb}.wapk-button-secondary:hover>.dashicons{color:#0bb}.wapk-button-secondary:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button-secondary:focus>svg{fill:#0bb}.wapk-button-secondary:focus>.dashicons{color:#0bb}.wapk-button-primary{display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#00d4d4;border-color:#00d4d4;color:#fff;box-shadow:0 1px 0 #0bb;text-shadow:0 -1px 1px #0bb,1px 0 1px #0bb,0 1px 1px #0bb,-1px 0 1px #0bb}.wapk-button-primary>svg{fill:#fff}.wapk-button-primary:hover{background:#00e3e3;border-color:#00c5c5;color:#fff}.wapk-button-primary:hover>svg{fill:#fff}.wapk-button-primary:focus{background:#00e3e3;border-color:#00c5c5;color:#fff;box-shadow:0 0 0 1px #fff,0 0 0 3px #00d4d4}.wapk-button-primary:focus>svg{fill:#fff}.wapk-button-primary:active{background:#0bb;border-color:#0bb;color:#fff}.wapk-button-primary:active>svg{fill:#fff}.wapk-button-primary:disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary:disabled>svg{fill:#c7d1d1!important}.wapk-button.hover{border-color:#0bb;color:#0bb}.wapk-button.hover>svg{fill:#0bb}.wapk-button.hover>.dashicons{color:#0bb}.wapk-button.focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button.focus>svg{fill:#0bb}.wapk-button.focus>.dashicons{color:#0bb}.wapk-button.active{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus>svg{fill:#0bb}.wapk-button.active:focus>.dashicons{color:#0bb}.wapk-button.active:hover{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:hover>svg{fill:#0bb}.wapk-button.active:hover>.dashicons{color:#0bb}.wapk-button.active>svg{fill:#0bb}.wapk-button.active>.dashicons{color:#0bb}.wapk-button-primary.active{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus>svg{fill:#fff}.wapk-button-primary.active:hover{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:hover>svg{fill:#fff}.wapk-button-primary.active>svg{fill:#fff}.wapk-button-primary[disabled]{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary[disabled]>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-primary-disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.wapk-button-primary-disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-hero{box-shadow:0 2px 0 #0bb}.wapk-button-primary.wapk-button-hero:focus{box-shadow:0 2px 0 #0bb,0 1px 0 #00c5c5,0 0 2px 1px #0ee}.wapk-button-primary.wapk-button-hero:active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active:focus,.wapk-button-primary.wapk-button-hero.active:hover{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-group>.wapk-button.active{border-color:#00d4d4}.wapk-button.wapk-button-xl{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button-group.wapk-button-xl .wapk-button{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button.wapk-button-hero{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}.wapk-button-group.wapk-button-hero .wapk-button{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}@media screen and (min-width:782px){th#provider,th#status{width:80px}th#type{width:50px}th#option_name{width:100px}td.option_name.column-option_name>span:first-child{display:none}th#last_updated{width:90px}th#view{width:135px}}@media screen and (min-width:960px){th#provider,th#status{width:100px}th#type{width:80px}th#option_name{width:150px}th#last_updated{width:140px}}@media screen and (max-width:782px){table.wf-info-table{margin-top:10px}table.wf-info-table th:first-child img{margin:0 auto;display:block}.wapk-button.wapk-button-xl{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.wapk-feed-docs .wapk-feed-cta{margin:0}.campaign_configurator{background:#fff;padding:20px 0}.campaign_configurator table{margin:0 auto;width:51%;min-width:574px;border:none;box-shadow:none}.campaign_configurator th{min-width:120px}@media screen and (max-width:782px){.campaign_configurator{padding:0}.campaign_configurator table{width:auto;min-width:auto;max-width:100%}.campaign_configurator th{min-width:auto}}#wf-tab-content-config td>input:not([type=checkbox]):not([type=radio]),#wf-tab-content-config td>select,#wf-tab-content-config td>textarea{width:100%!important}.woo-feed-filters td>div:nth-child(2n):not(.clear):not(.selectize):not(.counter){width:120px;display:block}.woo-feed-filters td>div:not(.clear){float:left;margin-right:10px}.woo-feed-filters tr>td:first-child{width:290px;padding-left:40px}.woo-feed-filters,.woo-feed-ftp{margin:15px auto 25px}.wf_clean_cache_wrapper{display:-ms-flexbox;display:flex;margin-left:auto}@-webkit-keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.woo-feed-cache-loader{width:18px;margin-right:5px;animation:LoaderClockWise 1s linear infinite;-webkit-animation:LoaderClockWise 1s linear infinite;display:none}.woo-feed-table-heading .woo-feed-table-heading-title{float:left;margin-right:auto;display:inline-block;line-height:30px}.woo-feed-table-heading .wf_clean_cache_wrapper{float:right;font-weight:400}.wf_clean_cache_wrapper button{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%);color:#fff;border:none;font-weight:500;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;border-radius:3px;cursor:pointer;outline:0}.wf_clean_cache_wrapper button:hover{background:#ff7979;color:#fff}input[type=submit][data-id=wf_action_submit]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff;border:1px;padding:0 20px}input[type=submit][data-id=wf_action_submit]:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff}.woo-import-popup-body #TB_window{width:500px!important}.woo-import-popup-body #TB_window #TB_title{border:none;background:#fff;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:35px!important}.woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle{color:#30336b;font-weight:700}.woo-import-popup-body #TB_window #TB_closeWindowButton{top:-14.5px;right:-14.5px;border:none;outline:0}.woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon{background:#ff5e55;color:#fff;border-radius:50%}.woo-import-popup-body #TB_window #TB_closeWindowButton:focus{outline:0;border:0}.woo-import-popup-body #TB_window #TB_ajaxContent{position:relative;width:100%!important;height:auto!important;border:none;box-sizing:border-box;overflow:hidden;background:#f7fcff;padding:30px 20px}.woo-import-popup-body #TB_window #TB_ajaxContent:before{content:"";width:115%;display:block;background:#4bcffa;position:absolute;height:130%;z-index:0;left:-36%;top:-85px;-webkit-transform:rotate(115deg);transform:rotate(115deg)}.woo-import-popup-body #TB_window #TB_ajaxContent table{border:none;position:relative;z-index:1;border-radius:3px;text-align:center;padding:20px;box-shadow:0 12px 20px -17px #000}.woo-import-popup-body #TB_window #TB_ajaxContent table input{width:60%}.woo-import-popup-body #TB_window #TB_ajaxContent table input:focus{outline:2px solid #68b8f7}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=file]{padding:3px 0;cursor:pointer}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=text]{border-radius:25px;font-size:14px;padding:1px 20px;text-align:center}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]{background:#17c0eb;border-radius:25px;border:0;box-shadow:1px 4px 7px -3px #45364a;font-weight:600;transition:.3s ease}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.woo-feed-notice .woo-feed-review-notice-logo{width:90px;height:90px;float:left;margin-right:5px;background:url(../images/woo-feed-logo.svg) no-repeat}.woo-feed-status-table-wrapper .woo-feed-status-table{width:100%;max-width:900px;border-collapse:collapse;border-spacing:.5rem;box-shadow:0 0 20px rgba(0,0,0,.1)}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even){background:#f1f1f1}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd){background:#fafafc}.woo-feed-status-table-wrapper .woo-feed-status-table tr th{background:#353b48;color:#fff}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header #woo-feed-copy-status-btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo-feed-status-table-wrapper .woo-feed-status-table tr td,.woo-feed-status-table-wrapper .woo-feed-status-table tr th{padding:.5rem 20px;text-align:left}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group .wf_clean_cache_wrapper{margin:initial}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group button,.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group input[type=button]{height:38px;padding:0 30px;font-size:16px;font-weight:500;border:none;outline:0}input[id^=woo_feed_identifier_]{display:block;width:100%!important}#taxonomy-woo-feed-brand #newwoo-feed-brand_parent,.taxonomy-woo-feed-brand .form-field.term-parent-wrap{display:none}.wapk-admin .switch{position:relative;display:inline-block;width:55px;height:28px}.wapk-admin .switch input{opacity:0;width:0;height:0}.wapk-admin .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.wapk-admin .slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.wapk-admin input:focus+.slider{box-shadow:0 0 1px #2196f3}.wapk-admin input:checked+.slider:before{-webkit-transform:translateX(26px);transform:translateX(26px)}.wapk-admin .slider.round{border-radius:34px}.wapk-admin .slider.round:before{border-radius:50%}span[id*=cat-map-]{cursor:pointer;position:relative;top:5px}.wapk-selectize-item{background:#fff!important;border-color:#000!important;color:#303030!important;font-weight:400!important}
1
+ @charset "UTF-8";.wpf_spin{-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.wpf_spin.reverse_spin{animation-direction:reverse}.wpf_regenerate.disabled{color:#737373;box-shadow:none;cursor:not-allowed}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.webappick-info{color:#42a5fa}.wfbtn{background:#3498db;background-image:linear-gradient(125deg,#3cb0fd 0,#152f8c 140%);border-radius:3px;box-shadow:inset 0 1px 3px #666;font-family:Arial,sans-serif;color:#fff;font-size:20px;padding:10px 20px 10px 20px;border:solid #2b698f 0;text-decoration:none}.wfbtn:hover{background:#3cb0fd;background-image:linear-gradient(to bottom,#3cb0fd,#3498db);text-decoration:none}.woo_feed_manage_list_table .wf_update_interval_btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo_feed_manage_list_table .wf_update_interval_btn:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.woo-feed-promotion{position:relative;display:none}.woo-feed-promotion .woo-feed-campaign-close-button{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:15px;width:24px;height:24px;border-radius:12px;background:#595d6b;line-height:24px;color:#fff;cursor:pointer;transition:.3s ease}.woo-feed-promotion .woo-feed-campaign-close-button:hover{background:#fff;color:#d61e48}.wftooltip{display:none;position:absolute;border:1px solid #333;background-color:#161616;border-radius:5px;padding:10px;color:#fff;font-size:12px}.feed-actions .makeFeedResponse{width:70%;color:green}.woo-feed-mapping-input{width:100%}.requiredIn{color:red}.generalInput{width:200px}.generalInput:not(.selectize-control){margin:5px auto}.error{color:red}.widefat td input,.widefat td select{max-width:100%}.woo-feed-btn-bg-gradient-blue,[data-class=woo-feed-btn-bg-gradient-blue]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-blue:hover,[data-class=woo-feed-btn-bg-gradient-blue]:hover{background:#3cb0fd!important}.woo-feed-btn-bg-gradient-red{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-red:hover{background:#fc5c65!important}.woo-feed-btn-bg-gradient-purple{background:linear-gradient(67.36deg,#9733ee 3.09%,#da22ff 64.97%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-purple:hover{background:#a203fb!important}.woo-feed-light-btn-bg-gradient-blue{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important}#wf_newRow{margin-left:0}.mtable tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable th:nth-child(1){width:17px}.mtable th:nth-child(2){width:160px}.mtable th:nth-child(3){width:100px}.mtable th:nth-child(4){width:100px}.mtable th:nth-child(5){width:150px}.mtable th:nth-child(6){width:100px}.mtable th:nth-child(7){width:150px}.mtable th:nth-child(8){width:90px}.mtable th:nth-child(9){width:29px}.mtable2 tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable2 th:nth-child(1){width:30px}.mtable2 th:nth-child(2){width:150px}.mtable2 th:nth-child(3){width:230px}.mtable2 th:nth-child(4){width:220px}.mtable2 th:nth-child(7){width:50px}.mtable2 th:nth-child(8){width:50px}.mtable2 th:nth-child(9){width:29px}.wp-admin select.wf_mattributes{width:150px;left:0;height:25px}div#wf-tab-content1 select:not([name^=output_type]){width:100%}div#wf-tab-content1 input{width:100%}div#wf-tab-content1 .dashicons{vertical-align:middle}.wf_attributes{width:150px;left:0}.wf_compare{max-width:245px;left:0}.wf_ps{width:100px;left:0}.wf_sortedtable{cursor:move}.sorted_table{position:relative}.sorted_table .dragged{position:absolute;opacity:.8;z-index:9999;background:#fff;width:100%;display:table}.sorted_table tbody tr.placeholder td{border:1px dashed #2cc185;height:46px}.wfnoempty{width:120px}.wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}.wf_tabs:after{display:table;clear:both;content:""}.wf_tabs li{float:left;width:20%;display:block;border:2px solid #ccc}.wf_tabs li>input[type=radio][name=wf_tabs]{position:absolute;top:auto;left:-9999px}.wf-tab-name{display:block;padding:15px;font-size:15px;font-weight:700;line-height:1;background:#fff;cursor:pointer;position:relative;text-align:center;text-transform:uppercase;color:#2cc185}.wf-tab-name:hover{background:#2cc185;color:#fff}.wf_tabs [id^=tab]:checked+label{background:#2cc185;color:#fff}.wf_tabs .wf-tab-content{z-index:2;display:none;width:100%;font-size:.9rem;position:absolute;left:0;background:#fff;border:2px solid #ccc}.wf_tabs [id^=tab]:checked~[id^=wf-tab-content]{display:block}[id^=wf-tab-content]{margin-bottom:40px}div#wf-tab-content2 table:first-child{padding:10px 0}div#wf-tab-content2 table:first-child td:nth-child(1){width:260px}div#wf-tab-content2 table:first-child td:nth-child(2){width:260px}table.feed-actions tr td:last-child{text-align:right}select.selectize{display:none}body.no-js select.selectize{display:block!important}.wp-list-table .option_name .wf_feed_option_name_link{font-weight:700;color:#30336b}.wp-list-table #option_name a{color:#32373c}.selectize-dropdown .active{background-color:#edf9ff}.selectize-dropdown .create{padding:5px 8px}.wapk-selectize-item{background:#0073aa!important;color:#f1f1f1!important;border-color:#0073aa!important;padding-left:5px;padding-right:5px;border-radius:3px}.selectize-google-category .selectize-input{padding-right:30px}.selectize-google-category .selectize-dropdown-content{padding:0 8px}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item{color:#000!important;background-color:#edf0f2!important;margin-bottom:3px!important;padding:3px 8px!important;transition-duration:.6s}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item.active{background-color:#a2c8e1!important;transition-duration:.6s}.selectize-input.full #googleTaxonomyId-selectized{opacity:0;position:absolute;left:-10000px}.selectize-dropdown [data-selectable].option{cursor:default}.selectize-control.plugin-remove_button [data-value] .remove{border-left:1px solid #f1f1f1!important}.selectize-dropdown .optgroup-header{font-weight:700;background:#efefef;color:#5a5a5a}.selectize-dropdown [data-selectable].option{cursor:pointer}.wf_status_wrap label{width:55px;height:28px;box-sizing:border-box;float:left;border-radius:100px;position:relative;cursor:pointer;transition:.3s ease;background:linear-gradient(125deg,#e2e2e2 0,#ccc 140%)}input[class=woo_feed_status_input]:checked+label{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}input[class=woo_feed_status_input]:checked+label:before{left:29px}.wf_status_wrap label:before{transition:.3s ease;content:"";width:20px;height:20px;position:absolute;background:#fff;left:6px;top:4px;box-sizing:border-box;color:#000;border-radius:100px;box-shadow:0 1.5px 2px 0 #000}.view span.dashicons.dashicons-external{color:#22a6b3}.view span.dashicons.dashicons-sos{color:#22a6b3}.view span.dashicons.dashicons-download{color:#ee5253}.view span.dashicons.dashicons-media-code{color:#576574}.column-url,.widefat td.column-url,.widefat th.column-url{color:#1e8f9a;font-weight:700}.feed-progress-container{width:100%;color:#fff;text-align:center;font-weight:300}.feed-progress-bar{width:100%;background:#eee;padding:3px;border-radius:50px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.feed-progress-bar-fill{height:20px;display:block;background:linear-gradient(to right top,#10ac84,#13b389,#15ba8f,#18c194,#1ac89a,#13cba1,#0acfa9,#00d2b0,#00d2ba,#00d2c3,#00d2cb,#00d2d3);width:0;border-radius:50px;transition:width .8s ease}.feed-progress-status{float:left;font-weight:700;color:#00008b}.feed-progress-percentage{text-align:right;font-weight:bolder;color:#1dd1a1;font-family:"Arial Black",sans-serif;font-size:large}#wpbody-content.woofeed-body-content{overflow:visible!important}.clippy{position:relative;width:13px;margin-top:-3px;margin-left:3px;top:3px}.column-url .clippy{display:none}.column-url:hover .clippy{display:inline-block}.tooltipped{position:relative}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,.8);border-radius:3px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,.8);pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before{display:inline-block;text-decoration:none}.tooltipped:hover:after{display:inline-block;text-decoration:none}.tooltipped:active:before{display:inline-block;text-decoration:none}.tooltipped:active:after{display:inline-block;text-decoration:none}.tooltipped:focus:before{display:inline-block;text-decoration:none}.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-multiline:active:after{display:table-cell}.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-s:after{top:100%;right:50%;margin-top:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-s:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-se:after{top:100%;margin-top:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-se:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;margin-right:-15px}.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-n:after{right:50%;bottom:100%;margin-bottom:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-n:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-ne:after{bottom:100%;margin-bottom:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-ne:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px;margin-right:-15px}.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after{right:100%}.tooltipped-multiline.tooltipped-e:after{right:100%}.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky:after{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.fullscreen-overlay-enabled.dark-theme .tooltipped:after{color:#000;background:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before{border-right-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before{border-left-color:rgba(255,255,255,.8)}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}ul.tracker_collection_list{list-style:initial;padding:initial;margin:-10px 0 0 30px;font-size:11px!important}ul.tracker_collection_list li{margin:0}table.wf-info-table,table.wf-rate-table{vertical-align:middle;text-align:center;max-width:100%;font-weight:500;margin-top:10px}table.wf-info-table th,table.wf-rate-table th{text-align:center}table.wf-info-table th .woo-feed-top-header,table.wf-rate-table th .woo-feed-top-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro{margin-left:20px}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro img,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro img{width:172px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons{float:right;display:-ms-flexbox;display:flex;border-radius:7px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a{padding:8px 20px;background:#576574;color:#fff;box-sizing:border-box;display:inline-block;transition:.3s ease}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link{background:#576574;border-top-left-radius:5px;border-bottom-left-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link{background:#ee5253}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link{background:#22a6b3;border-top-right-radius:5px;border-bottom-right-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons{font-size:18px;line-height:1.2}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover{background:#30336b;box-shadow:0 0 33px 0 rgba(0,0,0,.12)}table.wf-info-table strong,table.wf-rate-table strong{font-weight:700}table.wf-info-table th:first-child img{margin:0 0 -5px 5px}table.wf-rate-table a{color:#0073aa}table.wf-rate-table a.review-star:after{content:""!important;font-family:dashicons;font-size:10px;font-weight:100;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0073aa;text-decoration:underline}#adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before{content:"";background:url(../images/woo-feed-icon.svg) no-repeat center center;background-size:20px 20px;opacity:.6}#adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before{opacity:1}#adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before{opacity:1}.wapk-admin,.wapk-admin *{box-sizing:border-box}.wapk-admin{position:relative;display:block;-webkit-hyphens:manual;-ms-hyphens:manual;-moz-hyphens:manual;hyphens:manual;color:#1b2730;margin:0 0 0 -10px}@media screen and (min-width:783px){.wapk-admin{margin:0 0 0 -20px}}.text-center{text-align:center}.wapk-admin h1,.wapk-admin h2,.wapk-admin h3,.wapk-admin h4,.wapk-admin h5,.wapk-admin h6,.wapk-admin p{color:#1b2730}.wapk-admin sup{vertical-align:baseline;position:relative;top:-6px}.wapk-admin sub{vertical-align:baseline;position:relative;top:4px}.wapk-admin .wapk-section{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin .wapk-section [class$=icon32]+h2{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin>.notice{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin span.help{display:block;float:left;width:100%;font-size:.9em;color:#636363;margin-top:5px;font-weight:500}.wapk-admin span.help .dashicons{width:11px;height:12px;font-size:inherit;vertical-align:middle}.clear:after{content:"";display:table;clear:both}.wapk-feed-docs .postbox{width:355px;margin-right:20px;display:inline-block;vertical-align:top}.wapk-feed-docs .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;cursor:pointer}.wapk-feed-docs .postbox .dashicons{color:#ccc}.wapk-feed-docs .postbox a{text-decoration:none}.wapk-feed-docs .postbox .inside{margin-bottom:0}.wapk-feed-docs .postbox ul{margin-bottom:0}.wapk-feed-docs .postbox .toggle-indicator:before{content:"";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wapk-feed-docs .postbox li{width:100%;display:block;float:left}.wapk-feed-docs .postbox li span{display:inline-block;float:left;margin-right:4px}.wapk-feed-docs .postbox li a{display:inline-block;float:left;width:calc(100% - 24px)}.wapk-feed-docs .postbox.closed .toggle-indicator:before{content:""}.wapk-section #post-body.columns-2 #side-sortables{min-height:196px}#poststuff #feed_merchant_info .inside{margin:0;padding:0}#feed_merchant_info ul.data{margin-left:24px;margin-top:5px}#feed_merchant_info ul.data li{margin-bottom:5px}.merchant-info-section{padding:6px 10px 8px}.merchant-info-section.woo-feed-open-file{text-align:center}.merchant-info-section.woo-feed-open-file a{line-height:1.5;text-decoration:none}.generateFeed .wf-tab-content table:first-child{border:none;box-shadow:none}.generateFeed table th{font-weight:700}@media only screen and (max-width:850px){.wapk-feed-docs .postbox{display:block;width:auto;float:none;margin-right:auto}}.wp-submenu li span.woo-feed-docs{font-weight:700;color:#f18500}.wp-submenu li:hover span.woo-feed-docs{color:#ce7304}.wp-submenu li.current span.woo-feed-docs{color:#ce7304}.wapk-admin .wapk-feed-docs .postbox .hndle{cursor:default}.wapk-cta{position:relative;display:-ms-flexbox;display:flex;width:100%;padding:100px 15px;background:linear-gradient(45deg,#6cd5ff 33%,#c2efef 100%);-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wapk-cta-icon .dashicons{font-size:100px;width:100px;height:auto;margin:0 10px -8px 0;color:#02658c}.wapk-cta-content{width:50%}.wapk-cta-content h2{font-size:2em;margin:.5em 0}.wapk-cta-action a.wapk-button{font-size:24px;height:auto!important;padding:10px 20px}@media (max-width:600px){.wapk-cta{display:block;text-align:center;padding:4em 0}.wapk-cta-content{width:100%;margin:2em 0}}.wapk-button{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button>.dashicons{color:#00d4d4}.wapk-button:hover{border-color:#0bb;color:#0bb}.wapk-button:hover>svg{fill:#0bb}.wapk-button:hover>.dashicons{color:#0bb}.wapk-button:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button:focus>svg{fill:#0bb}.wapk-button:focus>.dashicons{color:#0bb}.wapk-button:active{background:#0bb;border-color:#0bb}.wapk-button-secondary{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button-secondary>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button-secondary>.dashicons{color:#00d4d4}.wapk-button-secondary:hover{border-color:#0bb;color:#0bb}.wapk-button-secondary:hover>svg{fill:#0bb}.wapk-button-secondary:hover>.dashicons{color:#0bb}.wapk-button-secondary:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button-secondary:focus>svg{fill:#0bb}.wapk-button-secondary:focus>.dashicons{color:#0bb}.wapk-button-primary{display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#00d4d4;border-color:#00d4d4;color:#fff;box-shadow:0 1px 0 #0bb;text-shadow:0 -1px 1px #0bb,1px 0 1px #0bb,0 1px 1px #0bb,-1px 0 1px #0bb}.wapk-button-primary>svg{fill:#fff}.wapk-button-primary:hover{background:#00e3e3;border-color:#00c5c5;color:#fff}.wapk-button-primary:hover>svg{fill:#fff}.wapk-button-primary:focus{background:#00e3e3;border-color:#00c5c5;color:#fff;box-shadow:0 0 0 1px #fff,0 0 0 3px #00d4d4}.wapk-button-primary:focus>svg{fill:#fff}.wapk-button-primary:active{background:#0bb;border-color:#0bb;color:#fff}.wapk-button-primary:active>svg{fill:#fff}.wapk-button-primary:disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary:disabled>svg{fill:#c7d1d1!important}.wapk-button.hover{border-color:#0bb;color:#0bb}.wapk-button.hover>svg{fill:#0bb}.wapk-button.hover>.dashicons{color:#0bb}.wapk-button.focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button.focus>svg{fill:#0bb}.wapk-button.focus>.dashicons{color:#0bb}.wapk-button.active{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus>svg{fill:#0bb}.wapk-button.active:focus>.dashicons{color:#0bb}.wapk-button.active:hover{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:hover>svg{fill:#0bb}.wapk-button.active:hover>.dashicons{color:#0bb}.wapk-button.active>svg{fill:#0bb}.wapk-button.active>.dashicons{color:#0bb}.wapk-button-primary.active{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus>svg{fill:#fff}.wapk-button-primary.active:hover{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:hover>svg{fill:#fff}.wapk-button-primary.active>svg{fill:#fff}.wapk-button-primary[disabled]{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary[disabled]>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-primary-disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.wapk-button-primary-disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-hero{box-shadow:0 2px 0 #0bb}.wapk-button-primary.wapk-button-hero:focus{box-shadow:0 2px 0 #0bb,0 1px 0 #00c5c5,0 0 2px 1px #0ee}.wapk-button-primary.wapk-button-hero:active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active:focus,.wapk-button-primary.wapk-button-hero.active:hover{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-group>.wapk-button.active{border-color:#00d4d4}.wapk-button.wapk-button-xl{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button-group.wapk-button-xl .wapk-button{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button.wapk-button-hero{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}.wapk-button-group.wapk-button-hero .wapk-button{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}@media screen and (min-width:782px){th#provider,th#status{width:80px}th#type{width:50px}th#option_name{width:100px}td.option_name.column-option_name>span:first-child{display:none}th#last_updated{width:90px}th#view{width:135px}}@media screen and (min-width:960px){th#provider,th#status{width:100px}th#type{width:80px}th#option_name{width:150px}th#last_updated{width:140px}}@media screen and (max-width:782px){table.wf-info-table{margin-top:10px}table.wf-info-table th:first-child img{margin:0 auto;display:block}.wapk-button.wapk-button-xl{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.wapk-feed-docs .wapk-feed-cta{margin:0}.campaign_configurator{background:#fff;padding:20px 0}.campaign_configurator table{margin:0 auto;width:51%;min-width:574px;border:none;box-shadow:none}.campaign_configurator th{min-width:120px}@media screen and (max-width:782px){.campaign_configurator{padding:0}.campaign_configurator table{width:auto;min-width:auto;max-width:100%}.campaign_configurator th{min-width:auto}}#wf-tab-content-config td>input:not([type=checkbox]):not([type=radio]),#wf-tab-content-config td>select,#wf-tab-content-config td>textarea{width:100%!important}.woo-feed-filters td>div:nth-child(2n):not(.clear):not(.selectize):not(.counter){width:120px;display:block}.woo-feed-filters td>div:not(.clear){float:left;margin-right:10px}.woo-feed-filters tr>td:first-child{width:290px;padding-left:40px}.woo-feed-filters,.woo-feed-ftp{margin:15px auto 25px}.wf_clean_cache_wrapper{display:-ms-flexbox;display:flex;margin-left:auto}@-webkit-keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.woo-feed-cache-loader{width:18px;margin-right:5px;animation:LoaderClockWise 1s linear infinite;-webkit-animation:LoaderClockWise 1s linear infinite;display:none}.woo-feed-table-heading .woo-feed-table-heading-title{float:left;margin-right:auto;display:inline-block;line-height:30px}.woo-feed-table-heading .wf_clean_cache_wrapper{float:right;font-weight:400}.wf_clean_cache_wrapper button{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%);color:#fff;border:none;font-weight:500;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;border-radius:3px;cursor:pointer;outline:0}.wf_clean_cache_wrapper button:hover{background:#ff7979;color:#fff}input[type=submit][data-id=wf_action_submit]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff;border:1px;padding:0 20px}input[type=submit][data-id=wf_action_submit]:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff}.woo-import-popup-body #TB_window{width:500px!important}.woo-import-popup-body #TB_window #TB_title{border:none;background:#fff;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:35px!important}.woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle{color:#30336b;font-weight:700}.woo-import-popup-body #TB_window #TB_closeWindowButton{top:-14.5px;right:-14.5px;border:none;outline:0}.woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon{background:#ff5e55;color:#fff;border-radius:50%}.woo-import-popup-body #TB_window #TB_closeWindowButton:focus{outline:0;border:0}.woo-import-popup-body #TB_window #TB_ajaxContent{position:relative;width:100%!important;height:auto!important;border:none;box-sizing:border-box;overflow:hidden;background:#f7fcff;padding:30px 20px}.woo-import-popup-body #TB_window #TB_ajaxContent:before{content:"";width:115%;display:block;background:#4bcffa;position:absolute;height:130%;z-index:0;left:-36%;top:-85px;-webkit-transform:rotate(115deg);transform:rotate(115deg)}.woo-import-popup-body #TB_window #TB_ajaxContent table{border:none;position:relative;z-index:1;border-radius:3px;text-align:center;padding:20px;box-shadow:0 12px 20px -17px #000}.woo-import-popup-body #TB_window #TB_ajaxContent table input{width:60%}.woo-import-popup-body #TB_window #TB_ajaxContent table input:focus{outline:2px solid #68b8f7}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=file]{padding:3px 0;cursor:pointer}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=text]{border-radius:25px;font-size:14px;padding:1px 20px;text-align:center}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]{background:#17c0eb;border-radius:25px;border:0;box-shadow:1px 4px 7px -3px #45364a;font-weight:600;transition:.3s ease}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.woo-feed-notice .woo-feed-review-notice-logo{width:90px;height:90px;float:left;margin-right:5px;background:url(../images/woo-feed-logo.svg) no-repeat}.woo-feed-status-table-wrapper .woo-feed-status-table{width:100%;max-width:900px;border-collapse:collapse;border-spacing:.5rem;box-shadow:0 0 20px rgba(0,0,0,.1)}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even){background:#f1f1f1}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd){background:#fafafc}.woo-feed-status-table-wrapper .woo-feed-status-table tr th{background:#353b48;color:#fff}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header #woo-feed-copy-status-btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo-feed-status-table-wrapper .woo-feed-status-table tr td,.woo-feed-status-table-wrapper .woo-feed-status-table tr th{padding:.5rem 20px;text-align:left}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group .wf_clean_cache_wrapper{margin:initial}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group button,.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group input[type=button]{height:38px;padding:0 30px;font-size:16px;font-weight:500;border:none;outline:0}input[id^=woo_feed_identifier_]{display:block;width:100%!important}#taxonomy-woo-feed-brand #newwoo-feed-brand_parent,.taxonomy-woo-feed-brand .form-field.term-parent-wrap{display:none}.wapk-admin .switch{position:relative;display:inline-block;width:55px;height:28px}.wapk-admin .switch input{opacity:0;width:0;height:0}.wapk-admin .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.wapk-admin .slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.wapk-admin input:focus+.slider{box-shadow:0 0 1px #2196f3}.wapk-admin input:checked+.slider:before{-webkit-transform:translateX(26px);transform:translateX(26px)}.wapk-admin .slider.round{border-radius:34px}.wapk-admin .slider.round:before{border-radius:50%}span[id*=cat-map-]{cursor:pointer;position:relative;top:5px}
admin/css/woo-feed-admin.scss CHANGED
@@ -464,11 +464,44 @@ body.no-js select.selectize {
464
  .wapk-selectize-item {
465
  background: #0073aa !important;
466
  color: #f1f1f1 !important;
467
- font-weight: bold !important;
468
  border-color: #0073aa !important;
469
  padding-left: 5px;
470
  padding-right: 5px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
472
 
473
  .selectize-input.full #googleTaxonomyId-selectized {
474
  opacity: 0;
@@ -2177,9 +2210,9 @@ span[id*="cat-map-"] {
2177
  position: relative;
2178
  top: 5px;
2179
  }
2180
- .wapk-selectize-item {
2181
- background: #fff !important;
2182
- border-color: #000 !important;
2183
- color: #303030 !important;
2184
- font-weight: 400 !important;
2185
- }
464
  .wapk-selectize-item {
465
  background: #0073aa !important;
466
  color: #f1f1f1 !important;
 
467
  border-color: #0073aa !important;
468
  padding-left: 5px;
469
  padding-right: 5px;
470
+ border-radius: 3px;
471
+ }
472
+
473
+ .selectize-google-category{
474
+ .selectize-input{
475
+ padding-right: 30px;
476
+ }
477
+ .selectize-dropdown-content{
478
+ padding: 0 8px;
479
+ .wapk-selectize-item{
480
+ color: #000 !important;
481
+ background-color: #edf0f2 !important;
482
+ margin-bottom: 3px !important;
483
+ padding: 3px 8px !important;
484
+ transition-duration: 0.6s;
485
+ &.active{
486
+ background-color: #a2c8e1 !important;
487
+ transition-duration: 0.6s;
488
+ }
489
+ }
490
+ }
491
  }
492
+ //.selectize-dropdown .active {
493
+ // background-color: #edf9ff;
494
+ // .selectize-dropdown-content{
495
+ // .wapk-selectize-item{
496
+ //
497
+ // background: #fff !important;
498
+ // border-color: #000 !important;
499
+ // color: #303030 !important;
500
+ // font-weight: 400 !important;
501
+ // }
502
+ // }
503
+ //
504
+ //}
505
 
506
  .selectize-input.full #googleTaxonomyId-selectized {
507
  opacity: 0;
2210
  position: relative;
2211
  top: 5px;
2212
  }
2213
+ //.wapk-selectize-item {
2214
+ // background: #fff !important;
2215
+ // border-color: #000 !important;
2216
+ // color: #303030 !important;
2217
+ // font-weight: 400 !important;
2218
+ //}
admin/fonts/index.php CHANGED
File without changes
admin/fonts/slick.eot CHANGED
File without changes
admin/fonts/slick.svg CHANGED
File without changes
admin/fonts/slick.ttf CHANGED
File without changes
admin/fonts/slick.woff CHANGED
File without changes
admin/images/14-days-money-back-guarantee.svg CHANGED
File without changes
admin/images/ajax-loader.gif CHANGED
File without changes
admin/images/block-quote.svg CHANGED
File without changes
admin/images/complete.png CHANGED
File without changes
admin/images/ctx-feed-features/attributes-mapping-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/built-in-templates-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/category-filter-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/category-mapping-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/custom-taxonomy-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/custom-template-1-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/default-schema-override-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/extended-product-title-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/facebook-feed-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/facebook-pixel-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/feed-making-batches-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/feed-type-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/google-ads-remarketing-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/google-feed-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/number-format-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/options-thumbnail.svg CHANGED
File without changes
admin/images/ctx-feed-features/pinterest-feed-thumbnail.svg CHANGED
File without changes
admin/images/feature-advanced-filter-thumbnail.svg CHANGED
File without changes
admin/images/feature-auto-update-interval-thumbnail.svg CHANGED
File without changes
admin/images/feature-custom-template-2-thumbnail.svg CHANGED
File without changes
admin/images/feature-dynamic-attributes-thumbnail.svg CHANGED
File without changes
admin/images/feature-dynamic-pricing-thumbnail.svg CHANGED
File without changes
admin/images/feature-exclude-include-categories-thumbnail.svg CHANGED
File without changes
admin/images/feature-exclude-include-products-thumbnail.svg CHANGED
File without changes
admin/images/feature-extended-product-title-thumbnail.svg CHANGED
File without changes
admin/images/feature-merge-attributes-thumbnail.svg CHANGED
File without changes
admin/images/feature-multi-currency-thumbnail.svg CHANGED
File without changes
admin/images/feature-multi-language-support-thumbnail.svg CHANGED
File without changes
admin/images/feature-multi-vendors-thumbnail.svg CHANGED
File without changes
admin/images/feature-number-format-thumbnail.svg CHANGED
File without changes
admin/images/feature-out-of-stock-thumbnail.svg CHANGED
File without changes
admin/images/feature-smart-filter-thumbnail.svg CHANGED
File without changes
admin/images/feature-string-replace-thumbnail.svg CHANGED
File without changes
admin/images/feature-variations-thumbnail.svg CHANGED
File without changes
admin/images/features/3rd-party-plugin-support.svg CHANGED
File without changes
admin/images/features/category-mapping.svg CHANGED
File without changes
admin/images/features/conditional-pricing.svg CHANGED
File without changes
admin/images/features/custom-taxonomy.svg CHANGED
File without changes
admin/images/features/customer-support.svg CHANGED
File without changes
admin/images/features/dynamic-attributes.svg CHANGED
File without changes
admin/images/features/index.php CHANGED
File without changes
admin/images/features/multilingual-feed.svg CHANGED
File without changes
admin/images/features/output-customization.svg CHANGED
File without changes
admin/images/features/product-title-customization.svg CHANGED
File without changes
admin/images/features/smart-filter-conditions.svg CHANGED
File without changes
admin/images/features/tax-calculation.svg CHANGED
File without changes
admin/images/get-woo-feed-pro.svg CHANGED
File without changes
admin/images/index.php CHANGED
File without changes
admin/images/payment-options/amex.svg CHANGED
File without changes
admin/images/payment-options/diners.svg CHANGED
File without changes
admin/images/payment-options/discover.svg CHANGED
File without changes
admin/images/payment-options/index.php CHANGED
File without changes
admin/images/payment-options/jcb.svg CHANGED
File without changes
admin/images/payment-options/mastercard.svg CHANGED
File without changes
admin/images/payment-options/visa.svg CHANGED
File without changes
admin/images/warn.png CHANGED
File without changes
admin/images/woo-feed-black-friday.svg CHANGED
File without changes
admin/images/woo-feed-icon.svg CHANGED
File without changes
admin/images/woo-feed-lite.svg CHANGED
File without changes
admin/images/woo-feed-logo.svg CHANGED
File without changes
admin/images/woo-feed-pro-banner.png CHANGED
File without changes
admin/images/woo-feed-pro.svg CHANGED
File without changes
admin/images/woofeed-now-ctxfeed.png CHANGED
File without changes
admin/index.php CHANGED
File without changes
admin/js/additional-methods.min.js CHANGED
File without changes
admin/js/clipboard.min.js CHANGED
File without changes
admin/js/fancy-select.js CHANGED
File without changes
admin/js/fancy-select.min.js CHANGED
File without changes
admin/js/fancy-select.min.js.map CHANGED
File without changes
admin/js/index.php CHANGED
File without changes
admin/js/jquery-sortable.js CHANGED
File without changes
admin/js/jquery-sortable.min.js CHANGED
File without changes
admin/js/jquery-sortable.min.js.map CHANGED
File without changes
admin/js/jquery.validate.min.js CHANGED
File without changes
admin/js/localization/messages_ar.js CHANGED
File without changes
admin/js/localization/messages_ar.min.js CHANGED
File without changes
admin/js/localization/messages_bg.js CHANGED
File without changes
admin/js/localization/messages_bg.min.js CHANGED
File without changes
admin/js/localization/messages_bn_BD.js CHANGED
File without changes
admin/js/localization/messages_bn_BD.min.js CHANGED
File without changes
admin/js/localization/messages_ca.js CHANGED
File without changes
admin/js/localization/messages_ca.min.js CHANGED
File without changes
admin/js/localization/messages_cs.js CHANGED
File without changes
admin/js/localization/messages_cs.min.js CHANGED
File without changes
admin/js/localization/messages_da.js CHANGED
File without changes
admin/js/localization/messages_da.min.js CHANGED
File without changes
admin/js/localization/messages_de.js CHANGED
File without changes
admin/js/localization/messages_de.min.js CHANGED
File without changes
admin/js/localization/messages_el.js CHANGED
File without changes
admin/js/localization/messages_el.min.js CHANGED
File without changes
admin/js/localization/messages_es.js CHANGED
File without changes
admin/js/localization/messages_es.min.js CHANGED
File without changes
admin/js/localization/messages_es_AR.js CHANGED
File without changes
admin/js/localization/messages_es_AR.min.js CHANGED
File without changes
admin/js/localization/messages_es_PE.js CHANGED
File without changes
admin/js/localization/messages_es_PE.min.js CHANGED
File without changes
admin/js/localization/messages_et.js CHANGED
File without changes
admin/js/localization/messages_et.min.js CHANGED
File without changes
admin/js/localization/messages_eu.js CHANGED
File without changes
admin/js/localization/messages_eu.min.js CHANGED
File without changes
admin/js/localization/messages_fa.js CHANGED
File without changes
admin/js/localization/messages_fa.min.js CHANGED
File without changes
admin/js/localization/messages_fi.js CHANGED
File without changes
admin/js/localization/messages_fi.min.js CHANGED
File without changes
admin/js/localization/messages_fr.js CHANGED
File without changes
admin/js/localization/messages_fr.min.js CHANGED
File without changes
admin/js/localization/messages_ge.js CHANGED
File without changes
admin/js/localization/messages_ge.min.js CHANGED
File without changes
admin/js/localization/messages_gl.js CHANGED
File without changes
admin/js/localization/messages_gl.min.js CHANGED
File without changes
admin/js/localization/messages_he.js CHANGED
File without changes
admin/js/localization/messages_he.min.js CHANGED
File without changes
admin/js/localization/messages_hr.js CHANGED
File without changes
admin/js/localization/messages_hr.min.js CHANGED
File without changes
admin/js/localization/messages_hu.js CHANGED
File without changes
admin/js/localization/messages_hu.min.js CHANGED
File without changes
admin/js/localization/messages_hy_AM.js CHANGED
File without changes
admin/js/localization/messages_hy_AM.min.js CHANGED
File without changes
admin/js/localization/messages_id.js CHANGED
File without changes
admin/js/localization/messages_id.min.js CHANGED
File without changes
admin/js/localization/messages_is.js CHANGED
File without changes
admin/js/localization/messages_is.min.js CHANGED
File without changes
admin/js/localization/messages_it.js CHANGED
File without changes
admin/js/localization/messages_it.min.js CHANGED
File without changes
admin/js/localization/messages_ja.js CHANGED
File without changes
admin/js/localization/messages_ja.min.js CHANGED
File without changes
admin/js/localization/messages_ka.js CHANGED
File without changes
admin/js/localization/messages_ka.min.js CHANGED
File without changes
admin/js/localization/messages_kk.js CHANGED
File without changes
admin/js/localization/messages_kk.min.js CHANGED
File without changes
admin/js/localization/messages_ko.js CHANGED
File without changes
admin/js/localization/messages_ko.min.js CHANGED
File without changes
admin/js/localization/messages_lt.js CHANGED
File without changes
admin/js/localization/messages_lt.min.js CHANGED
File without changes
admin/js/localization/messages_lv.js CHANGED
File without changes
admin/js/localization/messages_lv.min.js CHANGED
File without changes
admin/js/localization/messages_my.js CHANGED
File without changes
admin/js/localization/messages_my.min.js CHANGED
File without changes
admin/js/localization/messages_nl.js CHANGED
File without changes
admin/js/localization/messages_nl.min.js CHANGED
File without changes
admin/js/localization/messages_no.js CHANGED
File without changes
admin/js/localization/messages_no.min.js CHANGED
File without changes
admin/js/localization/messages_pl.js CHANGED
File without changes
admin/js/localization/messages_pl.min.js CHANGED
File without changes
admin/js/localization/messages_pt_BR.js CHANGED
File without changes
admin/js/localization/messages_pt_BR.min.js CHANGED
File without changes
admin/js/localization/messages_pt_PT.js CHANGED
File without changes
admin/js/localization/messages_pt_PT.min.js CHANGED
File without changes
admin/js/localization/messages_ro.js CHANGED
File without changes
admin/js/localization/messages_ro.min.js CHANGED
File without changes
admin/js/localization/messages_ru.js CHANGED
File without changes
admin/js/localization/messages_ru.min.js CHANGED
File without changes
admin/js/localization/messages_si.js CHANGED
File without changes
admin/js/localization/messages_si.min.js CHANGED
File without changes
admin/js/localization/messages_sk.js CHANGED
File without changes
admin/js/localization/messages_sk.min.js CHANGED
File without changes
admin/js/localization/messages_sl.js CHANGED
File without changes
admin/js/localization/messages_sl.min.js CHANGED
File without changes
admin/js/localization/messages_sr.js CHANGED
File without changes
admin/js/localization/messages_sr.min.js CHANGED
File without changes
admin/js/localization/messages_sr_lat.js CHANGED
File without changes
admin/js/localization/messages_sr_lat.min.js CHANGED
File without changes
admin/js/localization/messages_sv.js CHANGED
File without changes
admin/js/localization/messages_sv.min.js CHANGED
File without changes
admin/js/localization/messages_th.js CHANGED
File without changes
admin/js/localization/messages_th.min.js CHANGED
File without changes
admin/js/localization/messages_tj.js CHANGED
File without changes
admin/js/localization/messages_tj.min.js CHANGED
File without changes
admin/js/localization/messages_tr.js CHANGED
File without changes
admin/js/localization/messages_tr.min.js CHANGED
File without changes
admin/js/localization/messages_uk.js CHANGED
File without changes
admin/js/localization/messages_uk.min.js CHANGED
File without changes
admin/js/localization/messages_vi.js CHANGED
File without changes
admin/js/localization/messages_vi.min.js CHANGED
File without changes
admin/js/localization/messages_zh.js CHANGED
File without changes
admin/js/localization/messages_zh.min.js CHANGED
File without changes
admin/js/localization/messages_zh_TW.js CHANGED
File without changes
admin/js/localization/messages_zh_TW.min.js CHANGED
File without changes
admin/js/localization/methods_de.js CHANGED
File without changes
admin/js/localization/methods_de.min.js CHANGED
File without changes
admin/js/localization/methods_es_CL.js CHANGED
File without changes
admin/js/localization/methods_es_CL.min.js CHANGED
File without changes
admin/js/localization/methods_fi.js CHANGED
File without changes
admin/js/localization/methods_fi.min.js CHANGED
File without changes
admin/js/localization/methods_nl.js CHANGED
File without changes
admin/js/localization/methods_nl.min.js CHANGED
File without changes
admin/js/localization/methods_pt.js CHANGED
File without changes
admin/js/localization/methods_pt.min.js CHANGED
File without changes
admin/js/slick.js CHANGED
File without changes
admin/js/slick.min.js CHANGED
File without changes
admin/js/woo-feed-admin-pro.js CHANGED
File without changes
admin/js/woo-feed-admin-pro.min.js CHANGED
File without changes
admin/js/woo-feed-admin-pro.min.js.map CHANGED
File without changes
admin/js/woo-feed-admin.js CHANGED
@@ -127,6 +127,7 @@
127
  } else {
128
  console.log( response );
129
  }
 
130
  }
131
  });
132
  }
@@ -143,7 +144,7 @@
143
  return false;
144
  }
145
  },
146
- selectize_render_item: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.value + ' ' + data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,
147
  ajax_fail: e => {
148
  console.warn(e);
149
  alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\n' + e.statusText + ' (' + e.status + ')' : e);
@@ -893,7 +894,7 @@
893
  })
894
  .on( 'ready woo_feed_config_loaded', function(){
895
 
896
- if( $('#ftpenabled').val() == '0' ){
897
  $('.google-merchant-message').hide('slow');
898
  $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
899
  } else {
@@ -906,7 +907,7 @@
906
  }
907
 
908
  $('#ftpenabled').on('change', function(){
909
- if( $('#ftpenabled').val() == '0' ){
910
  $('.google-merchant-message').hide('slow');
911
  $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
912
  } else {
@@ -1162,9 +1163,12 @@
1162
  } else if( 'csv' === type ) {
1163
  $('#delimiter option:first').prop("selected", "selected");
1164
  }
1165
- } else if( type === 'xml' ) {
1166
  itemWrapper.show();
1167
  wf_csv_txt.hide();
 
 
 
1168
  }
1169
  }
1170
 
@@ -1174,10 +1178,12 @@
1174
 
1175
  $(document)
1176
  .on('click', '.woofeed-custom-fields [id*="-switcher"]', function () {
 
1177
  let field = $(this).attr( 'id' ).split( '-' )[0],
1178
  isTaxonomy = $(this).data( 'taxonomy' ),
1179
  status = $(this).prop( 'checked' );
1180
  new WooFeedCustomFields( field, status, isTaxonomy );
 
1181
  })
1182
 
1183
  // Remove sticky cart on feature page
@@ -1265,9 +1271,11 @@
1265
  valueField: 'value',
1266
  labelField: 'text',
1267
  placeholder: 'Select a category',
 
1268
  options: response,
1269
  render: {
1270
- option: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.value + ' ' + data.text)}</div>`
 
1271
  }
1272
  });
1273
  }).fail(helper.ajax_fail);
127
  } else {
128
  console.log( response );
129
  }
130
+ $('#'+field+'-switcher').closest('td').find('.switch-loader').hide();
131
  }
132
  });
133
  }
144
  return false;
145
  }
146
  },
147
+ selectize_render_item: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,
148
  ajax_fail: e => {
149
  console.warn(e);
150
  alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\n' + e.statusText + ' (' + e.status + ')' : e);
894
  })
895
  .on( 'ready woo_feed_config_loaded', function(){
896
 
897
+ if( $('#ftpenabled').val() === '0' ){
898
  $('.google-merchant-message').hide('slow');
899
  $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
900
  } else {
907
  }
908
 
909
  $('#ftpenabled').on('change', function(){
910
+ if( $('#ftpenabled').val() === '0' ){
911
  $('.google-merchant-message').hide('slow');
912
  $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
913
  } else {
1163
  } else if( 'csv' === type ) {
1164
  $('#delimiter option:first').prop("selected", "selected");
1165
  }
1166
+ } else if( 'xml' === type ) {
1167
  itemWrapper.show();
1168
  wf_csv_txt.hide();
1169
+ } else if( 'json' === type ) {
1170
+ itemWrapper.hide();
1171
+ wf_csv_txt.hide();
1172
  }
1173
  }
1174
 
1178
 
1179
  $(document)
1180
  .on('click', '.woofeed-custom-fields [id*="-switcher"]', function () {
1181
+ $(this).closest('td').find('.switch-loader').show();
1182
  let field = $(this).attr( 'id' ).split( '-' )[0],
1183
  isTaxonomy = $(this).data( 'taxonomy' ),
1184
  status = $(this).prop( 'checked' );
1185
  new WooFeedCustomFields( field, status, isTaxonomy );
1186
+
1187
  })
1188
 
1189
  // Remove sticky cart on feature page
1271
  valueField: 'value',
1272
  labelField: 'text',
1273
  placeholder: 'Select a category',
1274
+ searchField: ['value', 'text'],
1275
  options: response,
1276
  render: {
1277
+ option: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.value + ' - ' + data.text)}</div>`,
1278
+ item: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.value + ' - ' + data.text)}</div>`
1279
  }
1280
  });
1281
  }).fail(helper.ajax_fail);
admin/js/woo-feed-admin.min.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),e}!function(s,n,c,l,d){s.fn.disabled=function(o){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===o||!0===o):!0===o?e.addClass(t):e.removeClass(t)}),self},s.fn.isDisabled=function(){var e=s(this),t="disabled";return void 0!==e.prop(t)?e.prop(t):e.hasClass(t)};function e(e){s(e.currentTarget).removeClass(function(e,t){return(t.match(/\btooltipped-\S+/g)||[]).join(" ")}).removeClass("tooltipped").removeAttr("aria-label")}function a(e,t){s(e).addClass("tooltipped tooltipped-s").attr("aria-label",t)}function r(e,t){return s.extend(!0,{},e,t)}function t(){o=s(".toClipboard"),!ClipboardJS.isSupported()||/iPhone|iPad/i.test(navigator.userAgent)?o.find("img").hide(0):(o.each(function(){s(this).on("mouseleave",e).on("blur",e)}),new ClipboardJS(".toClipboard").on("error",function(e){var t,o;a(e.trigger,(t=e.action,o="cut"===t?"X":"C",/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+o+" to "+t:"Press Ctrl-"+o+" to "+t))}).on("success",function(e){a(e.trigger,"Copied")}))}var o,i,f=function(){function n(e,t,o){_classCallCheck(this,n),this.productCustomFields(e,t,o)}return _createClass(n,[{key:"cacheClear",value:function(){var e={action:"woo_feed_product_attribute_cache_remove",nonce:wpf_ajax_obj.ajax.nonce};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e})}},{key:"productCustomFields",value:function(e,t,o){var n=this,a=1<arguments.length&&void 0!==t&&t,r=2<arguments.length?o:void 0,i={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:e,status:a,isTaxonomy:r};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:i,success:function(e){e.success?n.cacheClear():console.log(e)}})}}]),n}(),_={in_array:function(e,t){try{return-1!==t.indexOf(e)}catch(e){return!1}},selectize_render_item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" "+e.text),"</div>")},ajax_fail:function(e){console.warn(e),alert(e.hasOwnProperty("statusText")&&e.hasOwnProperty("status")?d.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,o,n,a){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||n||9;e.wf_sortable(r({containerSelector:"table",itemPath:"> tbody",itemSelector:"tr",handle:"i.wf_sortedtable",placeholder:'<tr class="placeholder"><td colspan="'.concat(t,'"></td></tr>'),onDrop:function(e,t,o,n){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),a&&"function"==typeof a&&a(e,t,o,n)}},o))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").not(".selectize-google-category").each(function(){var e=s(this);e.selectize(r({create:e.data("create")||!1,plugins:e.data("plugins")?e.data("plugins").split(",").map(function(e){return e.trim()}):[],render:{item:_.selectize_render_item}},t))})},fancySelect:function(e,t){return(e||s("select.fancySelect")).not(".FancySelectInit").each(function(){s(this).fancySelect(r({maxItemShow:3},t))})},reindex_config_table:function(){s("#table-1").find("tbody tr").each(function(o,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(o,"]")))})})},common:function(){_.sortable(s(".sorted_table"),{},9,_.reindex_config_table),_.selectize(),_.fancySelect(s(".outputType"))}},u={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(_.common(),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(o,n,a){function e(e){var t;a.hasOwnProperty(e)&&(o.find(".merchant-info-section."+e+" .data").html(a[e]),"feed_file_type"===e&&((t=a[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==d.na.toLowerCase()})).length?(n.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&n.find('option[value="'+t[0]+'"]').attr("selected","selected")):n.find("option").disabled(!1)))}for(var t in a)e(t);o.find(".spinner").removeClass("is-active"),n.disabled(!1),n.trigger("change"),s(c).trigger("woo_feed_config_loaded"),n.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(o,n){function e(t){if(n.hasOwnProperty(t))if("tabs"===t)o.html(n[t]);else{var e=s('[name="'+t+'"]');e.length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+n[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===n[t]?e.prop("checked",!0):e.val(n[t])}).trigger("change")}}for(var t in n)e(t);u.init()}},p=[],h=[],g=function(){function e(){_classCallCheck(this,e),this._feed=d.generator.feed,this._limit=d.generator.limit,this._progress=0,this._timer=null,this._color=!1,this._total_batch=0,this._current_batch=0,this._product_ids=[],this._progress_per_batch=0,this._refresh=!0,this._regenerate=d.generator.regenerate,n.isRegenerating=!1,this._all_btn=s(".wpf_regenerate"),this._current_btn=s("#".concat(this._feed.replace("wf_config","wf_feed_"))),this._current_btn_label=""}return _createClass(e,[{key:"init",value:function(){var o=this;""!==this._feed&&this._regenerate&&!1===n.isRegenerating&&this.generate();var e=n.location.search;return"webappick-manage-feeds"===new URLSearchParams(e).get("page")&&s("body").addClass("woo-import-popup-body"),s(c).on("click",".woo-feed-campaign-close-button",function(e){e.preventDefault(),s(this).parent(".woo-feed-promotion").hide();var t=s(this).data("condition");1===t&&l.post("woo_feed_hide_promotion",{_ajax_nonce:d.nonce,condition:t}).then(function(e){o._log(e)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),o._current_btn=s(this),o._current_btn.hasClass("disabled")||!0===n.isRegenerating||(o._feed=o._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==o._feed&&o.generate())}),this}},{key:"_block_button",value:function(){this._all_btn.length&&this._all_btn.addClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").addClass("wpf_spin reverse_spin"),this._current_btn_label=this._current_btn.attr("title"),this._current_btn.attr("aria-label",d.regenerate).attr("title",d.regenerate))}},{key:"_unblock_button",value:function(){this._all_btn.length&&this._all_btn.removeClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").removeClass("wpf_spin"),this._current_btn.find("span").removeClass("reverse_spin"),this._current_btn.attr("aria-label",this._current_btn_label).attr("title",this._current_btn_label))}},{key:"generate",value:function(){var t=this,o=this;n.isRegenerating=!0,this._block_button(),this._resetProgressBar(),this._progressBarActive(),this._log("Counting Total Products"),this._updateProgressStatus("Fetching products."),this._get_product_ids().then(function(e){t._progress=10,o._log({response:e}),e.success?(o._log("Total ".concat(e.total," Products found.")),o._product_ids=e.product,o._total_batch=t._product_ids.length,o._current_batch=0,o._progress_per_batch=(90-t._progress)/t._total_batch,o._process_batch(),o._updateProgressStatus("Processing Products...")):o._updateProgressStatus(e.data.message)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red",setTimeout(function(){o._stopProgressBar(),o._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:d.nonce,feed:this._feed,limit:this._limit})}},{key:"_process_batch",value:function(){var t=this,e="Processing Batch ".concat(this._current_batch+1," of ").concat(this._total_batch);this._updateProgressStatus(e),this._log(e),l.post("make_batch_feed",{_ajax_nonce:d.nonce,feed:this._feed,products:this._product_ids[this._current_batch],loop:this._current_batch}).then(function(e){t._current_batch++,t._log("Batch ".concat(t._current_batch," Completed")),t._log(e),t._current_batch<t._total_batch&&(t._process_batch(),t._progress+=t._progress_per_batch),t._current_batch===t._total_batch&&t._save_feed_file()}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_save_feed_file",value:function(){var t=this;this._log("Saving feed file"),this._updateProgressStatus("Saving feed file"),l.post("save_feed_file",{_ajax_nonce:d.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(n.location.href="".concat(d.pages.list.feed,"&link=").concat(e.url,"&cat=").concat(e.cat)),setTimeout(function(){t._stopProgressBar(),setTimeout(function(){t._resetProgressBar(!0),t._unblock_button()},3e3)},2500)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_log",value:function(e){return d.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(e){var t=0<arguments.length&&void 0!==e?e:0,o=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){o._updateProgressBar()},t||1e3),this}},{key:"_stopProgressBar",value:function(){return clearInterval(this._timer),this}},{key:"_resetProgressBar",value:function(e){return this._toggleProgressBar(!1),this._updateProgressStatus(""),clearInterval(this._timer),this._color=!1,this._timer=null,this._progress=0,e&&this._updateProgressBar(),this}},{key:"_toggleProgressBar",value:function(e){var t=s("#feed_progress_table");return e?t.show():t.hide(),this}},{key:"_updateProgressStatus",value:function(e){return s(".feed-progress-status").html(e),this}},{key:"_getErrorMessageByCode",value:function(e){s(".feed-progress-status").css({color:this._color}),s(".feed-progress-percentage").css({color:this._color}),s(".wpf_spin").css({color:this._color});var t=e.status+" : "+e.statusText+". ";500===e.status&&(t+="Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>."),this._updateProgressStatus(t)}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),o="".concat(Math.round(this._progress),"%");t.css({width:o}),e.text(o)}}]),e}();n.wf={helper:_,feedEditor:u,generator:g},s(n).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content");var e=n.location.search;new URLSearchParams(e).get("action");t(),postboxes.add_postbox_toggles(pagenow),(new g).init(),""!==d.generator.feed&&d.generator.regenerate,u.init(),_.common(),s(".wfmasterTooltip").hover(function(){var e=s(this),t=e.attr("wftitle");e.data("tipText",t).removeAttr("wftitle"),s('<p class="wftooltip"></p>').text(t).appendTo("body").fadeIn("slow")},function(){var e=s(this);e.attr("wftitle",e.data("tipText")),s(".wftooltip").remove()}).mousemove(function(e){s(".wftooltip").css({top:e.pageY+10,left:e.pageX+20})}),s(".generateFeed").validate(),s(c).on("blur",'input[name="wfDAttributeName"]',function(e){e.preventDefault();var t=s(this).val();t=(t=t.toLowerCase()).split(" ").join("_"),s("#wfDAttributeCode").val(t)}).on("click","[data-toggle_slide]",function(e){e.preventDefault(),s(s(this).data("toggle_slide")).slideToggle("fast")}).on("click","#wf_newRow",function(){var e=s("#table-1 tbody"),t=s("#feed_config_template").text().trim().replace(/__idx__/g,e.find("tr").length);e.append(t),_.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(d.form.del_confirm)&&(n.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var t=s(".woo-feed-clean-cache-nonce").val(),o=s(".woo-feed-cache-loader");o.show(),l.post("clear_cache_data",{_ajax_clean_nonce:t}).then(function(e){e.success&&(o.hide(),location.reload())}).fail(function(e){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),o=s("#woo-feed-status-area");t.val("Copied"),o.css("visibility","visible"),o.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,o,n=s(this).val(),a=s(this).parents("tr").find(".outputType"),r=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),i=s(this).parents("tr").find(".fancy-picker-data span");o=["price","current_price","sale_price","price_with_tax","current_price_with_tax","sale_price_with_tax","shipping_cost"].includes(n)?(t="for_price","Price"):""!==n&&-1!==n.indexOf("wf_taxo")?(t="for_custom_taxo","parent_if_empty"):(t="for_all","Default"),r.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t||r.each(function(e){o===s(this).text()&&(s(this).addClass("selected"),i.text(o),a.find("option").text(o),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(d.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),o=e.closest("tr");"pattern"===t?(o.find(".value_attribute").hide(),o.find(".value_pattern").show()):"attribute"===t?(o.find(".value_attribute").show(),o.find(".value_pattern").hide()):"remove"===t&&(o.find(".value_attribute").hide(),o.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),_.reindex_config_table()}).on("submit","#generateFeed",function(){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(d.form.generate,"</b>"))}).on("submit","#updatefeed",function(e,t){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(t&&t.save?d.form.save:d.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",function(){"0"==s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):("google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled")),s("#ftpenabled").on("change",function(){"0"==s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):(s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled"),"google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"))})}).on("change",".ftporsftp",function(){var e=s(this).val(),t=s(".ssh2_status");"sftp"===e?(t.show().css("color","dodgerblue").text(d.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:d.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(d.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(d.form.sftp_warning)}).fail(function(e){t.hide(),_.ajax_fail(e)})):t.hide()}).on("click",'[name="save_feed_config"]',function(e){e.preventDefault(),s("#updatefeed").trigger("submit",{save:!0})}).on("change","#provider",function(e){e.preventDefault();var t=s(this).val(),o=s(this).find(":selected").text(),n=s("#filename").val(),a=s("#feedType"),r=s("#providerPage"),i=s("#feed_merchant_info");r.html('<h3><span style="float:none;margin: -3px 0 0;" class="spinner is-active"></span> '+d.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),a.disabled(!0),a.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),p.hasOwnProperty(t)?(u.renderMerchantInfo(i,a,p[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:d.nonce,provider:t,templateName:o}}).then(function(e){p[t]=e,u.renderMerchantInfo(i,a,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail),h.hasOwnProperty(t)?(u.renderMerchantTemplate(r,h[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:d.nonce,merchant:t}).then(function(e){h[t]=e,u.renderMerchantTemplate(r,e),s("#utm_source").val(o),s("#utm_campaign").val(n),"bing"===t&&(s("#delimiter option").removeAttr("selected"),s('#delimiter option[value="tab"]').attr("selected","selected"),s("#enclosure option").removeAttr("selected"),s('#enclosure option[value=" "]').attr("selected","selected")),"google_product_review"!==t&&s('.wf_attributes option[value="reviewer_name"]').hide()}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:d.nonce,feedName:e.val(),status:e[0].checked?1:0})}),s(c).on("change",'[name="is_outOfStock"], [name="product_visibility"]',function(){var e=s(".out-of-stock-visibility");"n"===s('[name="is_outOfStock"]:checked').val()&&"1"===s('[name="product_visibility"]:checked').val()?e.show():e.hide()}).on("change",".attr_type",function(){var e=s(this),t=e.val(),o=e.closest("tr");"pattern"===t?(o.find(".wf_attr").hide(),o.find(".wf_attr").val(""),o.find(".wf_default").show()):(o.find(".wf_attr").show(),o.find(".wf_default").hide(),o.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),o=e.find(".attr_type"),n=e.find("td:eq(4)"),a=s("#provider").val();if(d.form.google_category.hasOwnProperty(t.val())&&"pattern"===o.val()&&_.in_array(a,d.form.google_category[t.val()])){if(0===n.find("select.selectize").length){n.find("input.wf_default").remove(),n.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),n.append('<span style="font-size:x-small;"><a style="color: red" href="https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/" target="_blank">'.concat(d.learn_more,"</a></span>")),i||n.append('<span class="spinner is-active" style="margin: 0;"></span>');var r=n.find(".wf_attributes select");_.selectize(r,{preload:!0,placeholder:d.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories",provider:a}}).then(function(e){t(i=e),n.find(".spinner").remove()}).fail(_.ajax_fail)}})}}else"current_category"!==t.val()&&0===n.find("input.wf_default").length&&(n.find("span").remove(),n.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==o.val()&&n.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),o=s("#provider").val(),n=s(".itemWrapper"),a=s(".wf_csvtxt");""!==t&&_.in_array(o,d.form.item_wrapper_hidden)&&n.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(n.hide(),a.show(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t&&(n.show(),a.hide()))}).trigger("change"),s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),o=s(this).prop("checked");new f(e,o,t)}).ready(function(){var e=s(".wapk-feed-buy-now-container");e.position();s(n).scroll(function(){s(n).scrollTop()<=5e3?e.addClass("fixed"):e.removeClass("fixed")})})}),s(c).on("click","#woo-feed-debug-log-download",function(e){e.preventDefault(),s("<a />",{download:new Date+".log",href:URL.createObjectURL(new Blob([s("#woo-feed-debug-log").val()],{type:"text/plain"}))}).appendTo("body")[0].click()}).on("keyup","#filename",function(e){var t=s("#filename").val();s("#utm_campaign").val(t)}).on("change","#category-mapping-form #providers",function(e){var t=s(this).find(":selected").val();-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)?(s('input[id*="cat_mapping_"]').css("display","none"),s(".wf_default.wf_attributes").css("display","block").css("width","100%")):(s('input[id*="cat_mapping_"]').css("display","block"),s(".wf_default.wf_attributes").css("display","none").css("width","100%"))}).on("click",'span[id*="cat-map-"]',function(e){e.preventDefault();var t=s("#category-mapping-form #providers").val(),o=s(this).attr("id").replace(/[^\d.]/g,""),n="group-child-"+o;if(-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)){var a=s(this).parents("tr").find(".selectized").val();a&&s("."+n).parents("tr").find("select").each(function(e,t){s(t).data("selectize").setValue(a)})}else{var r=s("#cat_mapping_"+o).val();s("."+n).parents("tr").find("input").val(r)}}),s(c).ready(function(){l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories"}}).then(function(e){s(".selectize-google-category").selectize({valueField:"value",labelField:"text",placeholder:"Select a category",options:e,render:{option:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" "+e.text),"</div>")}}})}).fail(_.ajax_fail)})}(jQuery,window,document,wp.ajax,wpf_ajax_obj);
2
  //# sourceMappingURL=woo-feed-admin.min.js.map
1
+ "use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),e}!function(s,n,c,l,d){s.fn.disabled=function(o){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===o||!0===o):!0===o?e.addClass(t):e.removeClass(t)}),self},s.fn.isDisabled=function(){var e=s(this),t="disabled";return void 0!==e.prop(t)?e.prop(t):e.hasClass(t)};function e(e){s(e.currentTarget).removeClass(function(e,t){return(t.match(/\btooltipped-\S+/g)||[]).join(" ")}).removeClass("tooltipped").removeAttr("aria-label")}function a(e,t){s(e).addClass("tooltipped tooltipped-s").attr("aria-label",t)}function r(e,t){return s.extend(!0,{},e,t)}function t(){o=s(".toClipboard"),!ClipboardJS.isSupported()||/iPhone|iPad/i.test(navigator.userAgent)?o.find("img").hide(0):(o.each(function(){s(this).on("mouseleave",e).on("blur",e)}),new ClipboardJS(".toClipboard").on("error",function(e){var t,o;a(e.trigger,(t=e.action,o="cut"===t?"X":"C",/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+o+" to "+t:"Press Ctrl-"+o+" to "+t))}).on("success",function(e){a(e.trigger,"Copied")}))}var o,i,f=function(){function n(e,t,o){_classCallCheck(this,n),this.productCustomFields(e,t,o)}return _createClass(n,[{key:"cacheClear",value:function(){var e={action:"woo_feed_product_attribute_cache_remove",nonce:wpf_ajax_obj.ajax.nonce};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e})}},{key:"productCustomFields",value:function(t,e,o){var n=this,a=1<arguments.length&&void 0!==e&&e,r=2<arguments.length?o:void 0,i={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:t,status:a,isTaxonomy:r};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:i,success:function(e){e.success?n.cacheClear():console.log(e),s("#"+t+"-switcher").closest("td").find(".switch-loader").hide()}})}}]),n}(),_={in_array:function(e,t){try{return-1!==t.indexOf(e)}catch(e){return!1}},selectize_render_item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.text),"</div>")},ajax_fail:function(e){console.warn(e),alert(e.hasOwnProperty("statusText")&&e.hasOwnProperty("status")?d.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,o,n,a){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||n||9;e.wf_sortable(r({containerSelector:"table",itemPath:"> tbody",itemSelector:"tr",handle:"i.wf_sortedtable",placeholder:'<tr class="placeholder"><td colspan="'.concat(t,'"></td></tr>'),onDrop:function(e,t,o,n){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),a&&"function"==typeof a&&a(e,t,o,n)}},o))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").not(".selectize-google-category").each(function(){var e=s(this);e.selectize(r({create:e.data("create")||!1,plugins:e.data("plugins")?e.data("plugins").split(",").map(function(e){return e.trim()}):[],render:{item:_.selectize_render_item}},t))})},fancySelect:function(e,t){return(e||s("select.fancySelect")).not(".FancySelectInit").each(function(){s(this).fancySelect(r({maxItemShow:3},t))})},reindex_config_table:function(){s("#table-1").find("tbody tr").each(function(o,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(o,"]")))})})},common:function(){_.sortable(s(".sorted_table"),{},9,_.reindex_config_table),_.selectize(),_.fancySelect(s(".outputType"))}},u={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(_.common(),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(o,n,a){function e(e){var t;a.hasOwnProperty(e)&&(o.find(".merchant-info-section."+e+" .data").html(a[e]),"feed_file_type"===e&&((t=a[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==d.na.toLowerCase()})).length?(n.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&n.find('option[value="'+t[0]+'"]').attr("selected","selected")):n.find("option").disabled(!1)))}for(var t in a)e(t);o.find(".spinner").removeClass("is-active"),n.disabled(!1),n.trigger("change"),s(c).trigger("woo_feed_config_loaded"),n.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(o,n){function e(t){if(n.hasOwnProperty(t))if("tabs"===t)o.html(n[t]);else{var e=s('[name="'+t+'"]');e.length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+n[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===n[t]?e.prop("checked",!0):e.val(n[t])}).trigger("change")}}for(var t in n)e(t);u.init()}},p=[],h=[],g=function(){function e(){_classCallCheck(this,e),this._feed=d.generator.feed,this._limit=d.generator.limit,this._progress=0,this._timer=null,this._color=!1,this._total_batch=0,this._current_batch=0,this._product_ids=[],this._progress_per_batch=0,this._refresh=!0,this._regenerate=d.generator.regenerate,n.isRegenerating=!1,this._all_btn=s(".wpf_regenerate"),this._current_btn=s("#".concat(this._feed.replace("wf_config","wf_feed_"))),this._current_btn_label=""}return _createClass(e,[{key:"init",value:function(){var o=this;""!==this._feed&&this._regenerate&&!1===n.isRegenerating&&this.generate();var e=n.location.search;return"webappick-manage-feeds"===new URLSearchParams(e).get("page")&&s("body").addClass("woo-import-popup-body"),s(c).on("click",".woo-feed-campaign-close-button",function(e){e.preventDefault(),s(this).parent(".woo-feed-promotion").hide();var t=s(this).data("condition");1===t&&l.post("woo_feed_hide_promotion",{_ajax_nonce:d.nonce,condition:t}).then(function(e){o._log(e)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),o._current_btn=s(this),o._current_btn.hasClass("disabled")||!0===n.isRegenerating||(o._feed=o._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==o._feed&&o.generate())}),this}},{key:"_block_button",value:function(){this._all_btn.length&&this._all_btn.addClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").addClass("wpf_spin reverse_spin"),this._current_btn_label=this._current_btn.attr("title"),this._current_btn.attr("aria-label",d.regenerate).attr("title",d.regenerate))}},{key:"_unblock_button",value:function(){this._all_btn.length&&this._all_btn.removeClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").removeClass("wpf_spin"),this._current_btn.find("span").removeClass("reverse_spin"),this._current_btn.attr("aria-label",this._current_btn_label).attr("title",this._current_btn_label))}},{key:"generate",value:function(){var t=this,o=this;n.isRegenerating=!0,this._block_button(),this._resetProgressBar(),this._progressBarActive(),this._log("Counting Total Products"),this._updateProgressStatus("Fetching products."),this._get_product_ids().then(function(e){t._progress=10,o._log({response:e}),e.success?(o._log("Total ".concat(e.total," Products found.")),o._product_ids=e.product,o._total_batch=t._product_ids.length,o._current_batch=0,o._progress_per_batch=(90-t._progress)/t._total_batch,o._process_batch(),o._updateProgressStatus("Processing Products...")):o._updateProgressStatus(e.data.message)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red",setTimeout(function(){o._stopProgressBar(),o._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:d.nonce,feed:this._feed,limit:this._limit})}},{key:"_process_batch",value:function(){var t=this,e="Processing Batch ".concat(this._current_batch+1," of ").concat(this._total_batch);this._updateProgressStatus(e),this._log(e),l.post("make_batch_feed",{_ajax_nonce:d.nonce,feed:this._feed,products:this._product_ids[this._current_batch],loop:this._current_batch}).then(function(e){t._current_batch++,t._log("Batch ".concat(t._current_batch," Completed")),t._log(e),t._current_batch<t._total_batch&&(t._process_batch(),t._progress+=t._progress_per_batch),t._current_batch===t._total_batch&&t._save_feed_file()}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_save_feed_file",value:function(){var t=this;this._log("Saving feed file"),this._updateProgressStatus("Saving feed file"),l.post("save_feed_file",{_ajax_nonce:d.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(n.location.href="".concat(d.pages.list.feed,"&link=").concat(e.url,"&cat=").concat(e.cat)),setTimeout(function(){t._stopProgressBar(),setTimeout(function(){t._resetProgressBar(!0),t._unblock_button()},3e3)},2500)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_log",value:function(e){return d.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(e){var t=0<arguments.length&&void 0!==e?e:0,o=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){o._updateProgressBar()},t||1e3),this}},{key:"_stopProgressBar",value:function(){return clearInterval(this._timer),this}},{key:"_resetProgressBar",value:function(e){return this._toggleProgressBar(!1),this._updateProgressStatus(""),clearInterval(this._timer),this._color=!1,this._timer=null,this._progress=0,e&&this._updateProgressBar(),this}},{key:"_toggleProgressBar",value:function(e){var t=s("#feed_progress_table");return e?t.show():t.hide(),this}},{key:"_updateProgressStatus",value:function(e){return s(".feed-progress-status").html(e),this}},{key:"_getErrorMessageByCode",value:function(e){s(".feed-progress-status").css({color:this._color}),s(".feed-progress-percentage").css({color:this._color}),s(".wpf_spin").css({color:this._color});var t=e.status+" : "+e.statusText+". ";500===e.status&&(t+="Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>."),this._updateProgressStatus(t)}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),o="".concat(Math.round(this._progress),"%");t.css({width:o}),e.text(o)}}]),e}();n.wf={helper:_,feedEditor:u,generator:g},s(n).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content");var e=n.location.search;new URLSearchParams(e).get("action");t(),postboxes.add_postbox_toggles(pagenow),(new g).init(),""!==d.generator.feed&&d.generator.regenerate,u.init(),_.common(),s(".wfmasterTooltip").hover(function(){var e=s(this),t=e.attr("wftitle");e.data("tipText",t).removeAttr("wftitle"),s('<p class="wftooltip"></p>').text(t).appendTo("body").fadeIn("slow")},function(){var e=s(this);e.attr("wftitle",e.data("tipText")),s(".wftooltip").remove()}).mousemove(function(e){s(".wftooltip").css({top:e.pageY+10,left:e.pageX+20})}),s(".generateFeed").validate(),s(c).on("blur",'input[name="wfDAttributeName"]',function(e){e.preventDefault();var t=s(this).val();t=(t=t.toLowerCase()).split(" ").join("_"),s("#wfDAttributeCode").val(t)}).on("click","[data-toggle_slide]",function(e){e.preventDefault(),s(s(this).data("toggle_slide")).slideToggle("fast")}).on("click","#wf_newRow",function(){var e=s("#table-1 tbody"),t=s("#feed_config_template").text().trim().replace(/__idx__/g,e.find("tr").length);e.append(t),_.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(d.form.del_confirm)&&(n.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var t=s(".woo-feed-clean-cache-nonce").val(),o=s(".woo-feed-cache-loader");o.show(),l.post("clear_cache_data",{_ajax_clean_nonce:t}).then(function(e){e.success&&(o.hide(),location.reload())}).fail(function(e){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),o=s("#woo-feed-status-area");t.val("Copied"),o.css("visibility","visible"),o.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,o,n=s(this).val(),a=s(this).parents("tr").find(".outputType"),r=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),i=s(this).parents("tr").find(".fancy-picker-data span");o=["price","current_price","sale_price","price_with_tax","current_price_with_tax","sale_price_with_tax","shipping_cost"].includes(n)?(t="for_price","Price"):""!==n&&-1!==n.indexOf("wf_taxo")?(t="for_custom_taxo","parent_if_empty"):(t="for_all","Default"),r.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t||r.each(function(e){o===s(this).text()&&(s(this).addClass("selected"),i.text(o),a.find("option").text(o),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(d.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),o=e.closest("tr");"pattern"===t?(o.find(".value_attribute").hide(),o.find(".value_pattern").show()):"attribute"===t?(o.find(".value_attribute").show(),o.find(".value_pattern").hide()):"remove"===t&&(o.find(".value_attribute").hide(),o.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),_.reindex_config_table()}).on("submit","#generateFeed",function(){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(d.form.generate,"</b>"))}).on("submit","#updatefeed",function(e,t){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(t&&t.save?d.form.save:d.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",function(){"0"===s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):("google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled")),s("#ftpenabled").on("change",function(){"0"===s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):(s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled"),"google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"))})}).on("change",".ftporsftp",function(){var e=s(this).val(),t=s(".ssh2_status");"sftp"===e?(t.show().css("color","dodgerblue").text(d.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:d.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(d.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(d.form.sftp_warning)}).fail(function(e){t.hide(),_.ajax_fail(e)})):t.hide()}).on("click",'[name="save_feed_config"]',function(e){e.preventDefault(),s("#updatefeed").trigger("submit",{save:!0})}).on("change","#provider",function(e){e.preventDefault();var t=s(this).val(),o=s(this).find(":selected").text(),n=s("#filename").val(),a=s("#feedType"),r=s("#providerPage"),i=s("#feed_merchant_info");r.html('<h3><span style="float:none;margin: -3px 0 0;" class="spinner is-active"></span> '+d.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),a.disabled(!0),a.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),p.hasOwnProperty(t)?(u.renderMerchantInfo(i,a,p[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:d.nonce,provider:t,templateName:o}}).then(function(e){p[t]=e,u.renderMerchantInfo(i,a,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail),h.hasOwnProperty(t)?(u.renderMerchantTemplate(r,h[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:d.nonce,merchant:t}).then(function(e){h[t]=e,u.renderMerchantTemplate(r,e),s("#utm_source").val(o),s("#utm_campaign").val(n),"bing"===t&&(s("#delimiter option").removeAttr("selected"),s('#delimiter option[value="tab"]').attr("selected","selected"),s("#enclosure option").removeAttr("selected"),s('#enclosure option[value=" "]').attr("selected","selected")),"google_product_review"!==t&&s('.wf_attributes option[value="reviewer_name"]').hide()}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:d.nonce,feedName:e.val(),status:e[0].checked?1:0})}),s(c).on("change",'[name="is_outOfStock"], [name="product_visibility"]',function(){var e=s(".out-of-stock-visibility");"n"===s('[name="is_outOfStock"]:checked').val()&&"1"===s('[name="product_visibility"]:checked').val()?e.show():e.hide()}).on("change",".attr_type",function(){var e=s(this),t=e.val(),o=e.closest("tr");"pattern"===t?(o.find(".wf_attr").hide(),o.find(".wf_attr").val(""),o.find(".wf_default").show()):(o.find(".wf_attr").show(),o.find(".wf_default").hide(),o.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),o=e.find(".attr_type"),n=e.find("td:eq(4)"),a=s("#provider").val();if(d.form.google_category.hasOwnProperty(t.val())&&"pattern"===o.val()&&_.in_array(a,d.form.google_category[t.val()])){if(0===n.find("select.selectize").length){n.find("input.wf_default").remove(),n.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),n.append('<span style="font-size:x-small;"><a style="color: red" href="https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/" target="_blank">'.concat(d.learn_more,"</a></span>")),i||n.append('<span class="spinner is-active" style="margin: 0;"></span>');var r=n.find(".wf_attributes select");_.selectize(r,{preload:!0,placeholder:d.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories",provider:a}}).then(function(e){t(i=e),n.find(".spinner").remove()}).fail(_.ajax_fail)}})}}else"current_category"!==t.val()&&0===n.find("input.wf_default").length&&(n.find("span").remove(),n.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==o.val()&&n.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),o=s("#provider").val(),n=s(".itemWrapper"),a=s(".wf_csvtxt");""!==t&&_.in_array(o,d.form.item_wrapper_hidden)&&n.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(n.hide(),a.show(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t?(n.show(),a.hide()):"json"===t&&(n.hide(),a.hide()))}).trigger("change"),s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){s(this).closest("td").find(".switch-loader").show();var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),o=s(this).prop("checked");new f(e,o,t)}).ready(function(){var e=s(".wapk-feed-buy-now-container");e.position();s(n).scroll(function(){s(n).scrollTop()<=5e3?e.addClass("fixed"):e.removeClass("fixed")})})}),s(c).on("click","#woo-feed-debug-log-download",function(e){e.preventDefault(),s("<a />",{download:new Date+".log",href:URL.createObjectURL(new Blob([s("#woo-feed-debug-log").val()],{type:"text/plain"}))}).appendTo("body")[0].click()}).on("keyup","#filename",function(e){var t=s("#filename").val();s("#utm_campaign").val(t)}).on("change","#category-mapping-form #providers",function(e){var t=s(this).find(":selected").val();-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)?(s('input[id*="cat_mapping_"]').css("display","none"),s(".wf_default.wf_attributes").css("display","block").css("width","100%")):(s('input[id*="cat_mapping_"]').css("display","block"),s(".wf_default.wf_attributes").css("display","none").css("width","100%"))}).on("click",'span[id*="cat-map-"]',function(e){e.preventDefault();var t=s("#category-mapping-form #providers").val(),o=s(this).attr("id").replace(/[^\d.]/g,""),n="group-child-"+o;if(-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)){var a=s(this).parents("tr").find(".selectized").val();a&&s("."+n).parents("tr").find("select").each(function(e,t){s(t).data("selectize").setValue(a)})}else{var r=s("#cat_mapping_"+o).val();s("."+n).parents("tr").find("input").val(r)}}),s(c).ready(function(){l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories"}}).then(function(e){s(".selectize-google-category").selectize({valueField:"value",labelField:"text",placeholder:"Select a category",searchField:["value","text"],options:e,render:{option:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")},item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")}}})}).fail(_.ajax_fail)})}(jQuery,window,document,wp.ajax,wpf_ajax_obj);
2
  //# sourceMappingURL=woo-feed-admin.min.js.map
admin/js/woo-feed-admin.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["woo-feed-admin.js"],"names":["_defineProperties","target","props","descriptor","i","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","$","document","opts","self","prop","status","addClass","removeClass","hasClass","currentTarget","clearTooltip","userAgent","actionMsg","match","actionKey","index","join","removeAttr","elem","attr","msg","extend","_default","_args","merchantInfoCache","$copyBtn","feedGenerator","this","on","event","action","showTooltip","trigger","test","navigator","console","data","url","_classCallCheck","WooFeedCustomFields","productCustomFields","field","isTaxonomy","value","ajax","nonce","method","response","wpf_ajax_obj","wpf_ajax_url","clipboard","success","googleCategories","helper","haystack","indexOf","needle","e","selectize_render_item","escape","sortable","onDrop","text","ajax_fail","column_count","find","warn","wf_sortable","containerSelector","hasOwnProperty","error","statusText","el","config","column","_onDrop","each","length","selectize","itemPath","itemSelector","create","concat","plugins","$item","container","group","options","draggedClass","bodyClass","render","item","split","map","s","placeholder","fancySelect","maxItemShow","x1","form","replace","x","common","reindex_config_table","init","renderMerchantInfo","merchantInfo","jQuery","k","opt","feedType","r","types","html","t","trim","toLowerCase","na","disabled","val","in_array","_loop2","renderMerchantTemplate","filter","contentSettings","feedForm","_loop","parent","is","tooltip","feedEditor","css","_regenerate","ClipboardJS","_feed","_current_btn","feed","_limit","generator","limit","_product_ids","_progress_per_batch","_refresh","isRegenerating","_all_btn","generate","condition","then","URLSearchParams","_color","preventDefault","_current_btn_label","_ajax_nonce","_log","_updateProgressStatus","message","regenerate","_block_button","product","setTimeout","_this2","_process_batch","fail","_stopProgressBar","_progress","_current_batch","_total_batch","_resetProgressBar","post","_save_feed_file","_get_product_ids","_unblock_button","refreshInterval","arguments","undefined","_timer","setInterval","update","_toggleProgressBar","clearInterval","table","show","color","width","wf","current_page_url_query","clip","_updateProgressBar","location","pagenow","attr_name","title","appendTo","remove","pageX","confirm","href","slideToggle","loader","tbody","hide","reload","button","status_area","select","execCommand","progress_message","current_attribute_value","fancyDataPicker","selectIf","price_attributes","selectKey","fancyOption","parents","includes","outputSelect","urlParams","closest","row","del_confirm_multi","type","append","validate","valid","_ajax_clean_nonce","save","server","merchant","name","templateName","loading_tmpl","provider","send","merchantTemplateCache","outOfStockVisibilityRow","checked","valueColumn","attribute","preload","load","google_category","query","learn_more","cb","itemWrapper","wf_csv_txt","id","ready","windowpos","download","Date","URL","catField","setValue","catId","providerName","groupId","v","scroll"],"mappings":"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","file":"woo-feed-admin.min.js","sourcesContent":["// noinspection JSUnresolvedletiable\n/**!\n * WooFeed Scripts\n * @version 3.3.6\n * @package WooFeed\n * @copyright 2020 WebAppick\n *\n */\n/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */\n// noinspection JSUnresolvedVariable\n(function($, window, document, wpAjax, opts) {\n \"use strict\";\n /**\n * All of the code for your admin-facing JavaScript source\n * should reside in this file.\n *\n * Note: It has been assumed you will write jQuery code here, so the\n * $ function reference has been prepared for usage within the scope\n * of this function.\n *\n * This enables you to define handlers, for when the DOM is ready:\n */\n\n /**\n * disable element utility\n *\n * @since 3.1.9\n *\n * @param {*} status\n * @returns {jQuery|HTMLElement}\n */\n $.fn.disabled = function(status) {\n $(this).each(function() {\n let self = $(this),\n prop = 'disabled';\n\n if (typeof self.prop(prop) !== 'undefined') {\n self.prop(prop, status === void 0 || status === true);\n } else {\n !0 === status ? self.addClass(prop) : self.removeClass(prop);\n }\n });\n return self; // method chaining\n };\n\n /**\n * Check if a HTMLElement or jQuery is disabled\n */\n $.fn.isDisabled = function() {\n let self = $(this),\n prop = 'disabled';\n return typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n };\n\n /**\n * Clear Tooltip for clip board js\n * @param {Object} event\n */\n const clearTooltip = (event) => {\n $(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n };\n\n const showTooltip = (elem, msg) => {\n $(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n };\n\n const fallbackMessage = (action) =>{\n let actionMsg,\n actionKey = action === 'cut' ? 'X' : 'C';\n\n if (/iPhone|iPad/i.test(navigator.userAgent)) {\n actionMsg = 'No support :(';\n } else if (/Mac/i.test(navigator.userAgent)) {\n actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n } else {\n actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n }\n\n return actionMsg;\n };\n\n /**\n * Alias of jQuery.extend()\n * @param {Object} _default\n * @param {Object} _args\n */\n const extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\n\t/*\n\t* Handles product attributes\n\t*\n\t* @since 4.4.18\n\t* */\n\tclass WooFeedCustomFields {\n\n\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t}\n\n\t\tcacheClear() {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata\n\t\t\t});\n\t\t}\n\n\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\tfield,\n\t\t\t\tstatus,\n\t\t\t\tisTaxonomy\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata,\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n let $copyBtn,\n clipboard,\n googleCategories,\n helper = {\n in_array: (needle, haystack) => {\n try {\n return haystack.indexOf(needle) !== -1;\n } catch (e) {\n return false;\n }\n },\n selectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' ' + data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n ajax_fail: e => {\n console.warn(e);\n alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n },\n /**\n * Initialize Sortable\n * @param {jQuery|HTMLElement} el\n * @param {object} config\n * @param {int|boolean} column\n * @param {function} onDrop\n * @return {jQuery|HTMLElement}\n */\n sortable: (el, config, column, onDrop) => {\n return (el || $('.sorted_table')).each(function() {\n let self = $(this),\n column_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n self.wf_sortable(extend({\n containerSelector: 'table',\n itemPath: '> tbody',\n itemSelector: 'tr',\n handle: 'i.wf_sortedtable',\n placeholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n onDrop: ($item, container, _super, event) => {\n $item.removeClass(container.group.options.draggedClass).removeAttr('style');\n $(\"body\").removeClass(container.group.options.bodyClass);\n if ( onDrop && 'function' === typeof( onDrop ) ) {\n onDrop( $item, container, _super, event );\n }\n },\n }, config));\n });\n },\n selectize: (el, config) => {\n return (el || $('select.selectize')).not('.selectized').not('.selectize-google-category').each(function() {\n let self = $(this);\n self.selectize(extend({\n create: self.data('create') || false,\n plugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n return s.trim();\n }) : [],\n //['remove_button'],\n render: {\n item: helper.selectize_render_item\n }\n }, config));\n });\n },\n fancySelect: (el, config) => {\n return (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n let self = $(this);\n self.fancySelect(extend({\n maxItemShow: 3\n }, config));\n });\n },\n reindex_config_table: () => {\n $('#table-1').find('tbody tr').each( ( x, el ) => {\n $(el).find('[name]').each( ( x1, el ) => {\n $(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n } );\n } );\n },\n common: () => {\n helper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n helper.selectize();\n helper.fancySelect($('.outputType'));\n }\n },\n // helper functions\n feedEditor = {\n /**\n * The Editor Form Elem.\n * @type {jQuery|HTMLElement}\n */\n form: null,\n\n /**\n * Initialize The Feed Editor {Tabs...}\n * @returns {void}\n */\n init: function () {\n let self = this;\n self.form = $('.generateFeed');\n if (!self.form.length) return;\n helper.common();\n // noinspection JSUnresolvedVariable\n $(document).trigger(new jQuery.Event('feedEditor.init', {\n target: this.form\n }));\n },\n\n /**\n * Render Merchant info ajax response and handle allowed feed type for selected merchant\n * @param {jQuery|HTMLElement} merchantInfo jQuery dom object\n * @param {jQuery|HTMLElement} feedType jQuery dom object\n * @param {Object} r ajax response object\n */\n renderMerchantInfo: function (merchantInfo, feedType, r) {\n for (let k in r) {\n if (r.hasOwnProperty(k)) {\n merchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n if ('feed_file_type' === k) {\n (function() {\n let types = r[k].split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n }).filter(function(t) {\n // noinspection JSUnresolvedVariable\n return t !== '' && t !== opts.na.toLowerCase();\n });\n\n if (types.length) {\n feedType.find('option').removeAttr('selected').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n })();\n }\n }\n }\n\n merchantInfo.find('.spinner').removeClass('is-active');\n feedType.disabled(!1);\n feedType.trigger('change');\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n feedType.parent().find('.spinner').removeClass('is-active');\n },\n\n /**\n * Render Feed Template Tabs and settings while creating new feed.\n * @param {jQuery|HTMLElement} feedForm feed from query dom object\n * @param {object} r merchant template ajax response object\n */\n renderMerchantTemplate: function (feedForm, r) {\n let _loop = function _loop(k) {\n if (r.hasOwnProperty(k)) {\n if ('tabs' === k) {\n // noinspection JSUnresolvedFunction\n feedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n } else {\n let contentSettings = $('[name=\"' + k + '\"]');\n\n if (contentSettings.length) {\n contentSettings.each(function() {\n let elem = $(this);\n\n if (elem.is('select')) {\n elem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n } else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n elem.prop('checked', true);\n } else {\n elem.val(r[k]); // type=text\n }\n }).trigger('change');\n }\n }\n }\n };\n\n for (let k in r) {\n _loop(k);\n }\n\n feedEditor.init();\n }\n },\n // Feed Editor Table\n merchantInfoCache = [],\n merchantTemplateCache = [],\n tooltip = () => {\n // Tooltip only Text\n $('.wfmasterTooltip')\n .hover(function () {\n // Hover over code\n let self = $(this), title = self.attr('wftitle');\n self.data('tipText', title).removeAttr('wftitle');\n $('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n }, function () {\n // Hover out code\n let self = $(this);\n self.attr('wftitle', self.data('tipText'));\n $('.wftooltip').remove();\n })\n .mousemove(function (e) {\n $('.wftooltip').css({\n top: e.pageY + 10,\n left: e.pageX + 20\n });\n });\n },\n clip = () => {\n $copyBtn = $('.toClipboard');\n if (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n $copyBtn.find('img').hide(0);\n } else {\n $copyBtn.each(function() {\n $(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n });\n clipboard = new ClipboardJS('.toClipboard');\n clipboard.on('error', function(event) {\n showTooltip(event.trigger, fallbackMessage(event.action));\n }).on('success', function(event) {\n showTooltip(event.trigger, 'Copied');\n });\n }\n };\n\n /**\n * Feed Generator Module\n */\n class feedGenerator {\n\n /**\n * Constructor\n * @constructor\n */\n constructor() {\n this._feed = opts.generator.feed; // wf_config+xxxx\n this._limit = opts.generator.limit;\n this._progress = 0;\n this._timer = null;\n this._color = false;\n // batch info\n this._total_batch = 0;\n this._current_batch = 0;\n this._product_ids = [];\n this._progress_per_batch = 0;\n this._refresh = true;\n // noinspection JSUnresolvedVariable\n this._regenerate = opts.generator.regenerate;\n window.isRegenerating = false;\n this._all_btn = $('.wpf_regenerate');\n this._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n this._current_btn_label = '';\n }\n\n /**\n * Init Hooks (Event)\n * @return {feedGenerator}\n */\n init() {\n let self = this;\n if ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n this.generate();\n }\n\n //thickbox body add feed plugin class to make it unique and custom style\n let current_page_query = window.location.search;\n let params = new URLSearchParams(current_page_query);\n let page_name = params.get(\"page\");\n if( \"webappick-manage-feeds\" === page_name ) {\n $('body').addClass('woo-import-popup-body');\n }\n\n $(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n event.preventDefault();\n\n $(this).parent('.woo-feed-promotion').hide();\n let condition = $(this).data('condition');\n if(1 === condition) {\n wpAjax.post( 'woo_feed_hide_promotion', {\n _ajax_nonce: opts.nonce,\n condition: condition,\n } ).then( response => {\n self._log( response );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n } );\n }\n });\n\n $(document).on('click', '.wpf_regenerate', function(event) {\n event.preventDefault();\n self._current_btn = $( this );\n if( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n self._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n if( '' !== self._feed ) {\n self.generate();\n }\n });\n return this;\n }\n\n _block_button() {\n if ( this._all_btn.length ) {\n this._all_btn.addClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').addClass('wpf_spin reverse_spin');\n this._current_btn_label = this._current_btn.attr('title');\n // noinspection JSUnresolvedVariable\n this._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n }\n }\n\n _unblock_button() {\n if ( this._all_btn.length ) {\n this._all_btn.removeClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').removeClass('wpf_spin');\n this._current_btn.find('span').removeClass('reverse_spin');\n this._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n }\n }\n\n /**\n * Generate Feed\n * @return void\n */\n generate() {\n let self = this;\n window.isRegenerating = true;\n this._block_button();\n this._resetProgressBar();\n this._progressBarActive();\n this._log( 'Counting Total Products' );\n this._updateProgressStatus( 'Fetching products.' );\n this._get_product_ids().then( response => {\n this._progress = 10;\n self._log( {response} );\n if(response.success) {\n self._log( `Total ${response.total} Products found.` );\n self._product_ids = response.product;\n self._total_batch = this._product_ids.length;\n self._current_batch = 0;\n self._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n self._process_batch();\n self._updateProgressStatus( 'Processing Products...' );\n } else {\n self._updateProgressStatus( response.data.message );\n }\n }).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Get Product Ids\n * @returns {$.promise}\n * @private\n */\n _get_product_ids() {\n this._progress = 5;\n return wpAjax.post( 'get_product_information', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n limit: this._limit,\n } );\n }\n\n /**\n * Run the Batch\n * @private\n */\n _process_batch() {\n let self = this;\n let status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n this._updateProgressStatus( status );\n this._log( status );\n wpAjax.post( 'make_batch_feed', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n products: this._product_ids[this._current_batch],\n loop: this._current_batch,\n } ).then( response => {\n self._current_batch++;\n self._log( `Batch ${self._current_batch} Completed` );\n self._log( response );\n if ( self._current_batch < self._total_batch ) {\n self._process_batch();\n self._progress += self._progress_per_batch;\n }\n if ( self._current_batch === self._total_batch ) {\n self._save_feed_file();\n }\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Save Feed Data from temp to feed file\n * @private\n */\n _save_feed_file() {\n let self = this;\n this._log( 'Saving feed file' );\n this._updateProgressStatus( 'Saving feed file' );\n wpAjax.post( 'save_feed_file', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n } ).then( response => {\n self._log( response );\n self._progress = 100;\n if ( self._refresh ) {\n window.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n }\n setTimeout( function(){\n self._stopProgressBar();\n setTimeout( function(){\n self._resetProgressBar( true );\n self._unblock_button();\n }, 3000 );\n }, 2500 );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Console log wrapper with debug settings.\n * @param data\n * @returns {feedGenerator}\n * @private\n */\n _log( data ) {\n // noinspection JSUnresolvedVariable\n if ( opts.wpf_debug ) {\n console.log( data );\n }\n return this;\n }\n\n /**\n * Run the progressbar refresh interval\n * @param {int} refreshInterval\n * @returns {feedGenerator}\n * @private\n */\n _progressBarActive( refreshInterval = 0 ) {\n let self = this;\n this._toggleProgressBar( true );\n this._timer = setInterval( function(){\n self._updateProgressBar();\n }, refreshInterval || 1000 );\n return this;\n }\n\n /**\n * Stop Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _stopProgressBar() {\n clearInterval( this._timer );\n return this;\n }\n\n /**\n * Reset Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _resetProgressBar( update ) {\n this._toggleProgressBar( false );\n this._updateProgressStatus( '' );\n clearInterval( this._timer );\n this._color = false;\n this._timer = null;\n this._progress = 0;\n if ( update ) {\n this._updateProgressBar();\n }\n return this;\n }\n\n /**\n * Show hide the progress bar el\n * @param status\n * @returns {feedGenerator}\n * @private\n */\n _toggleProgressBar( status ) {\n let table = $('#feed_progress_table');\n if ( status ) {\n table.show();\n } else {\n table.hide();\n }\n return this;\n }\n\n /**\n * Update Progress bar text status\n * @param {string} status\n * @returns {feedGenerator}\n * @private\n */\n _updateProgressStatus( status ) {\n $( '.feed-progress-status' ).html( status );\n return this;\n }\n\n _getErrorMessageByCode( error ){\n let progress_message = $( '.feed-progress-status' );\n progress_message.css( {'color':this._color});\n $( '.feed-progress-percentage' ).css( {'color':this._color});\n $( '.wpf_spin' ).css( {'color':this._color});\n\n let message=error.status +' : '+ error.statusText+'. ';\n if(500===error.status){\n message+= \"Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>.\";\n }\n\n this._updateProgressStatus(message);\n\n }\n\n /**\n * Update Progress Data\n * hooked with setInterval\n * @private\n */\n _updateProgressBar() {\n let percentage = $( '.feed-progress-percentage' ),\n bar = $( '.feed-progress-bar-fill' ),\n _progress = `${Math.round( this._progress )}%`;\n bar.css( {\n width: _progress,\n } );\n percentage.text( _progress );\n }\n }\n // expose to the global scope\n window.wf = {\n helper: helper,\n feedEditor: feedEditor,\n generator: feedGenerator,\n };\n\n $(window).on('load', function() {\n // Template loading ui conflict\n if ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n $('#wpbody-content').addClass('woofeed-body-content');\n }\n\n // on edit page show item wrapper dropdown\n let current_page_url_query = window.location.search;\n let urlParams = new URLSearchParams(current_page_url_query);\n let page_action = urlParams.get('action');\n\n // ClipBoardJS\n clip();\n // postbox toggle\n postboxes.add_postbox_toggles(pagenow);\n // initialize generator\n let generator = new feedGenerator();\n generator.init();\n // noinspection JSUnresolvedVariable\n if( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\n }\n // initialize editor\n feedEditor.init();\n helper.common(); // Generate Feed Add Table Row\n tooltip();\n // validate feed editor\n $(\".generateFeed\").validate();\n\n // document events\n $(document)\n .on('blur', 'input[name=\"wfDAttributeName\"]', function(e) {\n e.preventDefault();\n let attr_name = $(this).val();\n attr_name = attr_name.toLowerCase();\n attr_name = attr_name.split(' ').join('_');\n\n $('#wfDAttributeCode').val(attr_name);\n\n })\n .on('click', '[data-toggle_slide]', function(e) {\n e.preventDefault();\n $($(this).data('toggle_slide')).slideToggle('fast');\n })\n // XML Feed Wrapper\n .on('click', '#wf_newRow', function () {\n let tbody = $('#table-1 tbody'),\n template = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n tbody.append(template);\n helper.fancySelect($('.outputType'));\n })\n // feed delete alert.\n .on('click', '.single-feed-delete', function (event) {\n event.preventDefault();\n // noinspection JSUnresolvedVariable\n if (confirm(opts.form.del_confirm)) {\n window.location.href = $(this).attr('val');\n }\n })\n // clear cache data.\n .on('click', '.wf_clean_cache_wrapper', function(event) {\n event.preventDefault();\n var nonce = $('.woo-feed-clean-cache-nonce').val();\n var loader = $('.woo-feed-cache-loader');\n\n //show loader\n loader.show();\n\n // passed cache nonce\n wpAjax.post('clear_cache_data', {\n _ajax_clean_nonce: nonce\n }).then(function (response) {\n if( response.success ) {\n loader.hide(); //hide loader\n location.reload();\n }\n }).fail(function (e) {\n console.log('something wrong');\n });\n\n })// Copy Status\n .on('click', '#woo-feed-copy-status-btn', function(event) {\n event.preventDefault();\n let button = $('#woo-feed-copy-status-btn');\n let status_area = $('#woo-feed-status-area');\n button.val('Copied');\n status_area.css('visibility','visible');\n status_area.select();\n\n document.execCommand('copy');\n })\n // feed value dropdown change.\n .on('change', '.wf_attr.wf_attributes', function(event) {\n event.preventDefault();\n\n $('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n // price attributes\n var price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n // current value\n var current_attribute_value = $(this).val();\n var outputSelect = $(this).parents('tr').find('.outputType');\n var fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n var fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n var selectIf, selectKey;\n\n // when any attribute is selected, pick the key\n if( price_attributes.includes(current_attribute_value) ) {\n // when select any price attribute\n selectIf = 'for_price';\n selectKey = \"Price\";\n } else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n // when select any custom taxonomy\n selectIf = 'for_custom_taxo';\n selectKey = \"parent_if_empty\";\n } else {\n\n selectIf = 'for_all';\n selectKey = 'Default';\n }\n\n // remove selected class from old selected option\n fancyOption.removeClass('selected');\n\n // when value dropdown is selected as price or any custom taxonomy\n if( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n // update \"Option Type\" when select key matches\n fancyOption.each(function(item) {\n if( selectKey === $(this).text() ) {\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data('value') );\n }\n });\n }\n\n })\n // bulk delete alert.\n .on('click', '#doaction, #doaction2', function () {\n // noinspection JSUnresolvedVariable\n return confirm(opts.form.del_confirm_multi);\n })\n // Generate Feed Table Row Delete\n .on('change', '.dType', function () {\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').show();\n } else if (type === 'attribute') {\n row.find('.value_attribute').show();\n row.find('.value_pattern').hide();\n } else if (type === 'remove') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').hide();\n }\n })\n // Generate Feed Form Submit\n .on('click', '.delRow', function (e) {\n e.preventDefault();\n $(this).closest('tr').remove();\n helper.reindex_config_table();\n })\n .on('submit', '#generateFeed', function () {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n }\n })\n // Generate Update Feed Form Submit\n .on('submit', '#updatefeed', function (e, data) {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${data && data.save ? opts.form.save : opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n }\n })\n .on( 'ready woo_feed_config_loaded', function(){\n\n if( $('#ftpenabled').val() == '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n if( $('#provider').val() === 'google' ) {\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n }\n\n $('#ftpenabled').on('change', function(){\n if( $('#ftpenabled').val() == '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n // Google merchant specific message\n if( $('#provider').val() === 'google' ){\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n\n }\n });\n })\n .on('change', '.ftporsftp', function () {\n let server = $(this).val(),\n status = $('.ssh2_status');\n\n if (server === 'sftp') {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n wpAjax.post('get_ssh2_status', {\n _ajax_nonce: opts.nonce,\n server: server\n }).then(function (response) {\n if (response === 'exists') {\n // noinspection JSUnresolvedVariable\n status.css('color', '#2CC185').text(opts.form.sftp_available);\n setTimeout(function () {\n status.hide();\n }, 1500);\n } else {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'red').text(opts.form.sftp_warning);\n }\n }).fail(function (e) {\n status.hide();\n helper.ajax_fail(e);\n });\n } else {\n status.hide();\n }\n })\n .on('click', '[name=\"save_feed_config\"]', function (e) {\n e.preventDefault();\n $('#updatefeed').trigger('submit', {\n save: true\n });\n })\n .on('change', '#provider', function (event) {\n event.preventDefault();\n\n let merchant = $(this).val(),\n templateName = $(this).find(':selected').text(),\n name = $('#filename').val(),\n feedType = $(\"#feedType\"),\n feedForm = $(\"#providerPage\"),\n merchantInfo = $('#feed_merchant_info'); // set loading..\n\n // noinspection JSUnresolvedVariable\n feedForm.html('<h3><span style=\"float:none;margin: -3px 0 0;\" class=\"spinner is-active\"></span> ' + opts.form.loading_tmpl + '</h3>'); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\n merchantInfo.find('.spinner').addClass('is-active');\n feedType.disabled(!0); // disable dropdown\n\n feedType.parent().find('.spinner').addClass('is-active');\n merchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n // Get Merchant info for selected Provider/Merchant\n\n if (merchantInfoCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.send('woo_feed_get_merchant_info', {\n type: 'GET',\n data: {\n nonce: opts.nonce,\n provider: merchant,\n templateName: templateName\n }\n }).then(function (r) {\n merchantInfoCache[merchant] = r;\n feedEditor.renderMerchantInfo(merchantInfo, feedType, r);\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n } // Get FeedForm For Selected Provider/Merchant\n\n\n if (merchantTemplateCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.post('get_feed_merchant', {\n _ajax_nonce: opts.nonce,\n merchant: merchant\n }).then(function (r) {\n merchantTemplateCache[merchant] = r;\n feedEditor.renderMerchantTemplate(feedForm, r);\n $('#utm_source').val(templateName);\n $('#utm_campaign').val(name);\n //when merchant is bing, change delimiter and enclosure\n if( 'bing' === merchant ) {\n //delimiter value\n $(\"#delimiter option\").removeAttr('selected');\n $(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n //enclosure value\n $(\"#enclosure option\").removeAttr('selected');\n $(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n }\n\n //reviewer options hide\n if( 'google_product_review' !== merchant) {\n $('.wf_attributes option[value=\"reviewer_name\"]').hide();\n }\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n }\n })\n // Feed Active and Inactive status change via ajax\n .on('change', '.woo_feed_status_input', function () {\n let self = $(this);\n wpAjax.post('update_feed_status', {\n _ajax_nonce: opts.nonce,\n feedName: self.val(),\n status: self[0].checked ? 1 : 0\n });\n });\n // event with trigger\n $(document)\n .on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n let outOfStockVisibilityRow = $('.out-of-stock-visibility');\n if ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n outOfStockVisibilityRow.show();\n } else {\n outOfStockVisibilityRow.hide();\n }\n })\n .on('change', '.attr_type', function () {\n // Attribute type selection\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.wf_attr').hide();\n row.find('.wf_attr').val('');\n row.find('.wf_default').show();\n } else {\n row.find('.wf_attr').show();\n row.find('.wf_default').hide();\n row.find('.wf_default').val('');\n }\n })\n .on('change', '.wf_mattributes, .attr_type', function () {\n let row = $(this).closest('tr'),\n attribute = row.find('.wf_mattributes'),\n type = row.find('.attr_type'),\n valueColumn = row.find('td:eq(4)'),\n provider = $('#provider').val();\n\n // noinspection JSUnresolvedVariable\n if (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n if (valueColumn.find('select.selectize').length === 0) {\n valueColumn.find('input.wf_default').remove();\n valueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n // noinspection JSUnresolvedVariable\n valueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\n if (!googleCategories) {\n valueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n }\n\n let select = valueColumn.find('.wf_attributes select');\n // noinspection JSUnresolvedVariable\n helper.selectize(select, {\n preload: true,\n placeholder: opts.form.select_category,\n load: function load(query, cb) {\n if (!googleCategories) {\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n provider: provider\n }\n }).then(function (r) {\n googleCategories = r;\n cb(googleCategories);\n valueColumn.find('.spinner').remove();\n }).fail(helper.ajax_fail);\n } else {\n cb(googleCategories);\n }\n }\n });\n }\n } else {\n if (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n valueColumn.find('span').remove();\n valueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\n if (type.val() !== 'pattern') {\n valueColumn.find('input.wf_default').hide();\n }\n }\n }\n })\n .on('change', '#feedType,#provider', function (e) {\n let type = $('#feedType').val(),\n provider = $('#provider').val(),\n itemWrapper = $('.itemWrapper'),\n wf_csv_txt = $('.wf_csvtxt');\n\n // noinspection JSUnresolvedVariable\n if (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n itemWrapper.hide();\n }\n\n //when feed type is changed\n if( 'feedType' === e.target.id ) {\n if (type === 'csv' || type === 'txt' || type === 'tsv') {\n itemWrapper.hide();\n wf_csv_txt.show();\n\n if( 'tsv' === type ) {\n $('#delimiter option:last').prop(\"selected\", \"selected\");\n } else if( 'csv' === type ) {\n $('#delimiter option:first').prop(\"selected\", \"selected\");\n }\n } else if( type === 'xml' ) {\n itemWrapper.show();\n wf_csv_txt.hide();\n }\n }\n\n })\n .trigger('change');\n\n\n $(document)\n\t\t\t.on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\t\t\t})\n\n\t\t\t// Remove sticky cart on feature page\n\t\t\t.ready(function() {\n\t\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\t\tvar pos = s.position();\n\t\t\t\t$(window).scroll(function() {\n\t\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n });\n\n $(document)\n\t\t.on('click', '#woo-feed-debug-log-download', function (e) {\n\t\t\te.preventDefault();\n\t\t\t$(\"<a />\", {\n\t\t\t\tdownload: new Date() + \".log\",\n\t\t\t\thref: URL.createObjectURL(\n\t\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t\t})),\n\t\t\t}).appendTo(\"body\")[0].click();\n\t\t})\n\t\t.on('keyup', '#filename', function(e) {\n\t\t\tvar name = $('#filename').val();\n\t\t\t$('#utm_campaign').val(name);\n\t\t})\n\n // var providerVal = $('#category-mapping-form #providers').val();\n\t\t// console.log(providerVal)\n\t\t.on('change', '#category-mapping-form #providers', function(e) {\n\t\t\tvar provider = $(this).find(':selected').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];\n\t\t\tif( googleMap.indexOf(provider) !== -1 ) {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'none');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');\n\t\t\t\t// $('#category-mapping-form .dashicons').css('display', 'block');\n\t\t\t} else {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'block');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');\n\t\t\t\t// $('#category-mapping-form .dashicons').css('display', 'none');\n\t\t\t}\n\t\t})\n\n // Copy parent category ids to child categories.\n\t\t.on('click', 'span[id*=\"cat-map-\"]', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar providerName = $('#category-mapping-form #providers').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],\n\t\t\t\tcatId = $(this).attr('id').replace(/[^\\d.]/g, ''),\n\t\t\t\tgroupId = 'group-child-' + catId;\n\n\t\t\tif( googleMap.indexOf(providerName) !== -1) {\n\t\t\t\tvar catField = $(this).parents('tr').find('.selectized').val();\n\n\t\t\t\tif (catField) {\n\t\t\t\t\t$('.' + groupId).parents('tr').find('select').each(function (i, v) {\n\t\t\t\t\t\t$(v).data('selectize').setValue(catField);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tvar value = $('#cat_mapping_'+catId).val();\n\t\t\t\t$('.'+groupId).parents('tr').find('input').val(value);\n\t\t\t}\n\n\t\t});\n\n $(document).ready(function (){\n\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n // provider: provider\n }\n }).then(function (response) {\n $('.selectize-google-category').selectize({\n valueField: 'value',\n labelField: 'text',\n placeholder: 'Select a category',\n options: response,\n render: {\n option: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' ' + data.text)}</div>`\n }\n });\n }).fail(helper.ajax_fail);\n\n\n\n });\n\n\n})(jQuery, window, document, wp.ajax, wpf_ajax_obj);\n"]}
1
+ {"version":3,"sources":["woo-feed-admin.js"],"names":["_defineProperties","target","props","descriptor","i","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","$","document","opts","self","prop","status","addClass","removeClass","hasClass","currentTarget","clearTooltip","userAgent","actionMsg","match","actionKey","index","join","removeAttr","elem","attr","msg","extend","_default","_args","clip","$copyBtn","ClipboardJS","isSupported","test","navigator","feedGenerator","this","on","action","showTooltip","event","trigger","wpf_ajax_obj","success","url","data","_classCallCheck","WooFeedCustomFields","productCustomFields","field","isTaxonomy","value","ajax","nonce","method","response","wpf_ajax_url","clipboard","googleCategories","log","closest","find","hide","in_array","needle","haystack","indexOf","console","selectize_render_item","escape","sortable","onDrop","text","ajax_fail","column_count","warn","wf_sortable","containerSelector","e","hasOwnProperty","error","statusText","el","config","column","_onDrop","each","length","selectize","itemPath","itemSelector","concat","plugins","$item","container","group","options","draggedClass","bodyClass","render","item","helper","not","fancySelect","maxItemShow","create","split","map","s","handle","placeholder","form","replace","x","reindex_config_table","init","renderMerchantInfo","merchantInfo","jQuery","k","opt","feedType","r","types","html","t","trim","toLowerCase","na","disabled","val","_loop2","renderMerchantTemplate","_loop","filter","contentSettings","feedForm","feedEditor","merchantInfoCache","tooltip","css","top","_regenerate","isRegenerating","feed","_progress","_product_ids","_progress_per_batch","_refresh","_feed","_all_btn","generate","_current_btn","condition","_current_batch","then","URLSearchParams","preventDefault","parent","_current_btn_label","_ajax_nonce","_log","_updateProgressStatus","message","_color","regenerate","setTimeout","_this2","_stopProgressBar","_process_batch","fail","limit","_limit","_block_button","_progressBarActive","_save_feed_file","loop","_get_product_ids","_total_batch","_unblock_button","_resetProgressBar","refreshInterval","post","arguments","undefined","clearInterval","_timer","setInterval","_updateProgressBar","update","_toggleProgressBar","table","show","color","width","generator","current_page_url_query","wf","postboxes","location","pagenow","attr_name","hover","title","appendTo","remove","left","pageX","confirm","href","slideToggle","loader","reload","button","status_area","select","execCommand","progress_message","current_attribute_value","fancyOption","selectIf","selectKey","outputSelect","parents","includes","page_action","add_postbox_toggles","row","del_confirm_multi","type","template","append","validate","valid","save","price_attributes","server","sftp_checking","fancyDataPicker","merchant","sftp_warning","name","templateName","loading_tmpl","provider","send","merchantTemplateCache","outOfStockVisibilityRow","feedName","checked","valueColumn","attribute","load","google_category","query","learn_more","preload","cb","wf_csv_txt","itemWrapper","item_wrapper_hidden","id","windowpos","scroll","Date","click","catField","setValue","catId","scrollTop","option"],"mappings":"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","file":"woo-feed-admin.min.js","sourcesContent":["// noinspection JSUnresolvedletiable\n/**!\n * WooFeed Scripts\n * @version 3.3.6\n * @package WooFeed\n * @copyright 2020 WebAppick\n *\n */\n/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */\n// noinspection JSUnresolvedVariable\n(function($, window, document, wpAjax, opts) {\n \"use strict\";\n /**\n * All of the code for your admin-facing JavaScript source\n * should reside in this file.\n *\n * Note: It has been assumed you will write jQuery code here, so the\n * $ function reference has been prepared for usage within the scope\n * of this function.\n *\n * This enables you to define handlers, for when the DOM is ready:\n */\n\n /**\n * disable element utility\n *\n * @since 3.1.9\n *\n * @param {*} status\n * @returns {jQuery|HTMLElement}\n */\n $.fn.disabled = function(status) {\n $(this).each(function() {\n let self = $(this),\n prop = 'disabled';\n\n if (typeof self.prop(prop) !== 'undefined') {\n self.prop(prop, status === void 0 || status === true);\n } else {\n !0 === status ? self.addClass(prop) : self.removeClass(prop);\n }\n });\n return self; // method chaining\n };\n\n /**\n * Check if a HTMLElement or jQuery is disabled\n */\n $.fn.isDisabled = function() {\n let self = $(this),\n prop = 'disabled';\n return typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n };\n\n /**\n * Clear Tooltip for clip board js\n * @param {Object} event\n */\n const clearTooltip = (event) => {\n $(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n };\n\n const showTooltip = (elem, msg) => {\n $(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n };\n\n const fallbackMessage = (action) =>{\n let actionMsg,\n actionKey = action === 'cut' ? 'X' : 'C';\n\n if (/iPhone|iPad/i.test(navigator.userAgent)) {\n actionMsg = 'No support :(';\n } else if (/Mac/i.test(navigator.userAgent)) {\n actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n } else {\n actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n }\n\n return actionMsg;\n };\n\n /**\n * Alias of jQuery.extend()\n * @param {Object} _default\n * @param {Object} _args\n */\n const extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\n\t/*\n\t* Handles product attributes\n\t*\n\t* @since 4.4.18\n\t* */\n\tclass WooFeedCustomFields {\n\n\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t}\n\n\t\tcacheClear() {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata\n\t\t\t});\n\t\t}\n\n\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\tfield,\n\t\t\t\tstatus,\n\t\t\t\tisTaxonomy\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata,\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t}\n $('#'+field+'-switcher').closest('td').find('.switch-loader').hide();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n let $copyBtn,\n clipboard,\n googleCategories,\n helper = {\n in_array: (needle, haystack) => {\n try {\n return haystack.indexOf(needle) !== -1;\n } catch (e) {\n return false;\n }\n },\n selectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n ajax_fail: e => {\n console.warn(e);\n alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n },\n /**\n * Initialize Sortable\n * @param {jQuery|HTMLElement} el\n * @param {object} config\n * @param {int|boolean} column\n * @param {function} onDrop\n * @return {jQuery|HTMLElement}\n */\n sortable: (el, config, column, onDrop) => {\n return (el || $('.sorted_table')).each(function() {\n let self = $(this),\n column_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n self.wf_sortable(extend({\n containerSelector: 'table',\n itemPath: '> tbody',\n itemSelector: 'tr',\n handle: 'i.wf_sortedtable',\n placeholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n onDrop: ($item, container, _super, event) => {\n $item.removeClass(container.group.options.draggedClass).removeAttr('style');\n $(\"body\").removeClass(container.group.options.bodyClass);\n if ( onDrop && 'function' === typeof( onDrop ) ) {\n onDrop( $item, container, _super, event );\n }\n },\n }, config));\n });\n },\n selectize: (el, config) => {\n return (el || $('select.selectize')).not('.selectized').not('.selectize-google-category').each(function() {\n let self = $(this);\n self.selectize(extend({\n create: self.data('create') || false,\n plugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n return s.trim();\n }) : [],\n //['remove_button'],\n render: {\n item: helper.selectize_render_item\n }\n }, config));\n });\n },\n fancySelect: (el, config) => {\n return (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n let self = $(this);\n self.fancySelect(extend({\n maxItemShow: 3\n }, config));\n });\n },\n reindex_config_table: () => {\n $('#table-1').find('tbody tr').each( ( x, el ) => {\n $(el).find('[name]').each( ( x1, el ) => {\n $(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n } );\n } );\n },\n common: () => {\n helper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n helper.selectize();\n helper.fancySelect($('.outputType'));\n }\n },\n // helper functions\n feedEditor = {\n /**\n * The Editor Form Elem.\n * @type {jQuery|HTMLElement}\n */\n form: null,\n\n /**\n * Initialize The Feed Editor {Tabs...}\n * @returns {void}\n */\n init: function () {\n let self = this;\n self.form = $('.generateFeed');\n if (!self.form.length) return;\n helper.common();\n // noinspection JSUnresolvedVariable\n $(document).trigger(new jQuery.Event('feedEditor.init', {\n target: this.form\n }));\n },\n\n /**\n * Render Merchant info ajax response and handle allowed feed type for selected merchant\n * @param {jQuery|HTMLElement} merchantInfo jQuery dom object\n * @param {jQuery|HTMLElement} feedType jQuery dom object\n * @param {Object} r ajax response object\n */\n renderMerchantInfo: function (merchantInfo, feedType, r) {\n for (let k in r) {\n if (r.hasOwnProperty(k)) {\n merchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n if ('feed_file_type' === k) {\n (function() {\n let types = r[k].split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n }).filter(function(t) {\n // noinspection JSUnresolvedVariable\n return t !== '' && t !== opts.na.toLowerCase();\n });\n\n if (types.length) {\n feedType.find('option').removeAttr('selected').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n })();\n }\n }\n }\n\n merchantInfo.find('.spinner').removeClass('is-active');\n feedType.disabled(!1);\n feedType.trigger('change');\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n feedType.parent().find('.spinner').removeClass('is-active');\n },\n\n /**\n * Render Feed Template Tabs and settings while creating new feed.\n * @param {jQuery|HTMLElement} feedForm feed from query dom object\n * @param {object} r merchant template ajax response object\n */\n renderMerchantTemplate: function (feedForm, r) {\n let _loop = function _loop(k) {\n if (r.hasOwnProperty(k)) {\n if ('tabs' === k) {\n // noinspection JSUnresolvedFunction\n feedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n } else {\n let contentSettings = $('[name=\"' + k + '\"]');\n\n if (contentSettings.length) {\n contentSettings.each(function() {\n let elem = $(this);\n\n if (elem.is('select')) {\n elem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n } else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n elem.prop('checked', true);\n } else {\n elem.val(r[k]); // type=text\n }\n }).trigger('change');\n }\n }\n }\n };\n\n for (let k in r) {\n _loop(k);\n }\n\n feedEditor.init();\n }\n },\n // Feed Editor Table\n merchantInfoCache = [],\n merchantTemplateCache = [],\n tooltip = () => {\n // Tooltip only Text\n $('.wfmasterTooltip')\n .hover(function () {\n // Hover over code\n let self = $(this), title = self.attr('wftitle');\n self.data('tipText', title).removeAttr('wftitle');\n $('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n }, function () {\n // Hover out code\n let self = $(this);\n self.attr('wftitle', self.data('tipText'));\n $('.wftooltip').remove();\n })\n .mousemove(function (e) {\n $('.wftooltip').css({\n top: e.pageY + 10,\n left: e.pageX + 20\n });\n });\n },\n clip = () => {\n $copyBtn = $('.toClipboard');\n if (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n $copyBtn.find('img').hide(0);\n } else {\n $copyBtn.each(function() {\n $(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n });\n clipboard = new ClipboardJS('.toClipboard');\n clipboard.on('error', function(event) {\n showTooltip(event.trigger, fallbackMessage(event.action));\n }).on('success', function(event) {\n showTooltip(event.trigger, 'Copied');\n });\n }\n };\n\n /**\n * Feed Generator Module\n */\n class feedGenerator {\n\n /**\n * Constructor\n * @constructor\n */\n constructor() {\n this._feed = opts.generator.feed; // wf_config+xxxx\n this._limit = opts.generator.limit;\n this._progress = 0;\n this._timer = null;\n this._color = false;\n // batch info\n this._total_batch = 0;\n this._current_batch = 0;\n this._product_ids = [];\n this._progress_per_batch = 0;\n this._refresh = true;\n // noinspection JSUnresolvedVariable\n this._regenerate = opts.generator.regenerate;\n window.isRegenerating = false;\n this._all_btn = $('.wpf_regenerate');\n this._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n this._current_btn_label = '';\n }\n\n /**\n * Init Hooks (Event)\n * @return {feedGenerator}\n */\n init() {\n let self = this;\n if ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n this.generate();\n }\n\n //thickbox body add feed plugin class to make it unique and custom style\n let current_page_query = window.location.search;\n let params = new URLSearchParams(current_page_query);\n let page_name = params.get(\"page\");\n if( \"webappick-manage-feeds\" === page_name ) {\n $('body').addClass('woo-import-popup-body');\n }\n\n $(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n event.preventDefault();\n\n $(this).parent('.woo-feed-promotion').hide();\n let condition = $(this).data('condition');\n if(1 === condition) {\n wpAjax.post( 'woo_feed_hide_promotion', {\n _ajax_nonce: opts.nonce,\n condition: condition,\n } ).then( response => {\n self._log( response );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n } );\n }\n });\n\n $(document).on('click', '.wpf_regenerate', function(event) {\n event.preventDefault();\n self._current_btn = $( this );\n if( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n self._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n if( '' !== self._feed ) {\n self.generate();\n }\n });\n return this;\n }\n\n _block_button() {\n if ( this._all_btn.length ) {\n this._all_btn.addClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').addClass('wpf_spin reverse_spin');\n this._current_btn_label = this._current_btn.attr('title');\n // noinspection JSUnresolvedVariable\n this._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n }\n }\n\n _unblock_button() {\n if ( this._all_btn.length ) {\n this._all_btn.removeClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').removeClass('wpf_spin');\n this._current_btn.find('span').removeClass('reverse_spin');\n this._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n }\n }\n\n /**\n * Generate Feed\n * @return void\n */\n generate() {\n let self = this;\n window.isRegenerating = true;\n this._block_button();\n this._resetProgressBar();\n this._progressBarActive();\n this._log( 'Counting Total Products' );\n this._updateProgressStatus( 'Fetching products.' );\n this._get_product_ids().then( response => {\n this._progress = 10;\n self._log( {response} );\n if(response.success) {\n self._log( `Total ${response.total} Products found.` );\n self._product_ids = response.product;\n self._total_batch = this._product_ids.length;\n self._current_batch = 0;\n self._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n self._process_batch();\n self._updateProgressStatus( 'Processing Products...' );\n } else {\n self._updateProgressStatus( response.data.message );\n }\n }).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Get Product Ids\n * @returns {$.promise}\n * @private\n */\n _get_product_ids() {\n this._progress = 5;\n return wpAjax.post( 'get_product_information', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n limit: this._limit,\n } );\n }\n\n /**\n * Run the Batch\n * @private\n */\n _process_batch() {\n let self = this;\n let status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n this._updateProgressStatus( status );\n this._log( status );\n wpAjax.post( 'make_batch_feed', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n products: this._product_ids[this._current_batch],\n loop: this._current_batch,\n } ).then( response => {\n self._current_batch++;\n self._log( `Batch ${self._current_batch} Completed` );\n self._log( response );\n if ( self._current_batch < self._total_batch ) {\n self._process_batch();\n self._progress += self._progress_per_batch;\n }\n if ( self._current_batch === self._total_batch ) {\n self._save_feed_file();\n }\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Save Feed Data from temp to feed file\n * @private\n */\n _save_feed_file() {\n let self = this;\n this._log( 'Saving feed file' );\n this._updateProgressStatus( 'Saving feed file' );\n wpAjax.post( 'save_feed_file', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n } ).then( response => {\n self._log( response );\n self._progress = 100;\n if ( self._refresh ) {\n window.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n }\n setTimeout( function(){\n self._stopProgressBar();\n setTimeout( function(){\n self._resetProgressBar( true );\n self._unblock_button();\n }, 3000 );\n }, 2500 );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Console log wrapper with debug settings.\n * @param data\n * @returns {feedGenerator}\n * @private\n */\n _log( data ) {\n // noinspection JSUnresolvedVariable\n if ( opts.wpf_debug ) {\n console.log( data );\n }\n return this;\n }\n\n /**\n * Run the progressbar refresh interval\n * @param {int} refreshInterval\n * @returns {feedGenerator}\n * @private\n */\n _progressBarActive( refreshInterval = 0 ) {\n let self = this;\n this._toggleProgressBar( true );\n this._timer = setInterval( function(){\n self._updateProgressBar();\n }, refreshInterval || 1000 );\n return this;\n }\n\n /**\n * Stop Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _stopProgressBar() {\n clearInterval( this._timer );\n return this;\n }\n\n /**\n * Reset Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _resetProgressBar( update ) {\n this._toggleProgressBar( false );\n this._updateProgressStatus( '' );\n clearInterval( this._timer );\n this._color = false;\n this._timer = null;\n this._progress = 0;\n if ( update ) {\n this._updateProgressBar();\n }\n return this;\n }\n\n /**\n * Show hide the progress bar el\n * @param status\n * @returns {feedGenerator}\n * @private\n */\n _toggleProgressBar( status ) {\n let table = $('#feed_progress_table');\n if ( status ) {\n table.show();\n } else {\n table.hide();\n }\n return this;\n }\n\n /**\n * Update Progress bar text status\n * @param {string} status\n * @returns {feedGenerator}\n * @private\n */\n _updateProgressStatus( status ) {\n $( '.feed-progress-status' ).html( status );\n return this;\n }\n\n _getErrorMessageByCode( error ){\n let progress_message = $( '.feed-progress-status' );\n progress_message.css( {'color':this._color});\n $( '.feed-progress-percentage' ).css( {'color':this._color});\n $( '.wpf_spin' ).css( {'color':this._color});\n\n let message=error.status +' : '+ error.statusText+'. ';\n if(500===error.status){\n message+= \"Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>.\";\n }\n\n this._updateProgressStatus(message);\n\n }\n\n /**\n * Update Progress Data\n * hooked with setInterval\n * @private\n */\n _updateProgressBar() {\n let percentage = $( '.feed-progress-percentage' ),\n bar = $( '.feed-progress-bar-fill' ),\n _progress = `${Math.round( this._progress )}%`;\n bar.css( {\n width: _progress,\n } );\n percentage.text( _progress );\n }\n }\n // expose to the global scope\n window.wf = {\n helper: helper,\n feedEditor: feedEditor,\n generator: feedGenerator,\n };\n\n $(window).on('load', function() {\n // Template loading ui conflict\n if ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n $('#wpbody-content').addClass('woofeed-body-content');\n }\n\n // on edit page show item wrapper dropdown\n let current_page_url_query = window.location.search;\n let urlParams = new URLSearchParams(current_page_url_query);\n let page_action = urlParams.get('action');\n\n // ClipBoardJS\n clip();\n // postbox toggle\n postboxes.add_postbox_toggles(pagenow);\n // initialize generator\n let generator = new feedGenerator();\n generator.init();\n // noinspection JSUnresolvedVariable\n if( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\n }\n // initialize editor\n feedEditor.init();\n helper.common(); // Generate Feed Add Table Row\n tooltip();\n // validate feed editor\n $(\".generateFeed\").validate();\n\n // document events\n $(document)\n .on('blur', 'input[name=\"wfDAttributeName\"]', function(e) {\n e.preventDefault();\n let attr_name = $(this).val();\n attr_name = attr_name.toLowerCase();\n attr_name = attr_name.split(' ').join('_');\n\n $('#wfDAttributeCode').val(attr_name);\n\n })\n .on('click', '[data-toggle_slide]', function(e) {\n e.preventDefault();\n $($(this).data('toggle_slide')).slideToggle('fast');\n })\n // XML Feed Wrapper\n .on('click', '#wf_newRow', function () {\n let tbody = $('#table-1 tbody'),\n template = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n tbody.append(template);\n helper.fancySelect($('.outputType'));\n })\n // feed delete alert.\n .on('click', '.single-feed-delete', function (event) {\n event.preventDefault();\n // noinspection JSUnresolvedVariable\n if (confirm(opts.form.del_confirm)) {\n window.location.href = $(this).attr('val');\n }\n })\n // clear cache data.\n .on('click', '.wf_clean_cache_wrapper', function(event) {\n event.preventDefault();\n var nonce = $('.woo-feed-clean-cache-nonce').val();\n var loader = $('.woo-feed-cache-loader');\n\n //show loader\n loader.show();\n\n // passed cache nonce\n wpAjax.post('clear_cache_data', {\n _ajax_clean_nonce: nonce\n }).then(function (response) {\n if( response.success ) {\n loader.hide(); //hide loader\n location.reload();\n }\n }).fail(function (e) {\n console.log('something wrong');\n });\n\n })// Copy Status\n .on('click', '#woo-feed-copy-status-btn', function(event) {\n event.preventDefault();\n let button = $('#woo-feed-copy-status-btn');\n let status_area = $('#woo-feed-status-area');\n button.val('Copied');\n status_area.css('visibility','visible');\n status_area.select();\n\n document.execCommand('copy');\n })\n // feed value dropdown change.\n .on('change', '.wf_attr.wf_attributes', function(event) {\n event.preventDefault();\n\n $('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n // price attributes\n var price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n // current value\n var current_attribute_value = $(this).val();\n var outputSelect = $(this).parents('tr').find('.outputType');\n var fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n var fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n var selectIf, selectKey;\n\n // when any attribute is selected, pick the key\n if( price_attributes.includes(current_attribute_value) ) {\n // when select any price attribute\n selectIf = 'for_price';\n selectKey = \"Price\";\n } else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n // when select any custom taxonomy\n selectIf = 'for_custom_taxo';\n selectKey = \"parent_if_empty\";\n } else {\n\n selectIf = 'for_all';\n selectKey = 'Default';\n }\n\n // remove selected class from old selected option\n fancyOption.removeClass('selected');\n\n // when value dropdown is selected as price or any custom taxonomy\n if( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n // update \"Option Type\" when select key matches\n fancyOption.each(function(item) {\n if( selectKey === $(this).text() ) {\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data('value') );\n }\n });\n }\n\n })\n // bulk delete alert.\n .on('click', '#doaction, #doaction2', function () {\n // noinspection JSUnresolvedVariable\n return confirm(opts.form.del_confirm_multi);\n })\n // Generate Feed Table Row Delete\n .on('change', '.dType', function () {\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').show();\n } else if (type === 'attribute') {\n row.find('.value_attribute').show();\n row.find('.value_pattern').hide();\n } else if (type === 'remove') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').hide();\n }\n })\n // Generate Feed Form Submit\n .on('click', '.delRow', function (e) {\n e.preventDefault();\n $(this).closest('tr').remove();\n helper.reindex_config_table();\n })\n .on('submit', '#generateFeed', function () {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n }\n })\n // Generate Update Feed Form Submit\n .on('submit', '#updatefeed', function (e, data) {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${data && data.save ? opts.form.save : opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n }\n })\n .on( 'ready woo_feed_config_loaded', function(){\n\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n if( $('#provider').val() === 'google' ) {\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n }\n\n $('#ftpenabled').on('change', function(){\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n // Google merchant specific message\n if( $('#provider').val() === 'google' ){\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n\n }\n });\n })\n .on('change', '.ftporsftp', function () {\n let server = $(this).val(),\n status = $('.ssh2_status');\n\n if (server === 'sftp') {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n wpAjax.post('get_ssh2_status', {\n _ajax_nonce: opts.nonce,\n server: server\n }).then(function (response) {\n if (response === 'exists') {\n // noinspection JSUnresolvedVariable\n status.css('color', '#2CC185').text(opts.form.sftp_available);\n setTimeout(function () {\n status.hide();\n }, 1500);\n } else {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'red').text(opts.form.sftp_warning);\n }\n }).fail(function (e) {\n status.hide();\n helper.ajax_fail(e);\n });\n } else {\n status.hide();\n }\n })\n .on('click', '[name=\"save_feed_config\"]', function (e) {\n e.preventDefault();\n $('#updatefeed').trigger('submit', {\n save: true\n });\n })\n .on('change', '#provider', function (event) {\n event.preventDefault();\n\n let merchant = $(this).val(),\n templateName = $(this).find(':selected').text(),\n name = $('#filename').val(),\n feedType = $(\"#feedType\"),\n feedForm = $(\"#providerPage\"),\n merchantInfo = $('#feed_merchant_info'); // set loading..\n\n // noinspection JSUnresolvedVariable\n feedForm.html('<h3><span style=\"float:none;margin: -3px 0 0;\" class=\"spinner is-active\"></span> ' + opts.form.loading_tmpl + '</h3>'); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\n merchantInfo.find('.spinner').addClass('is-active');\n feedType.disabled(!0); // disable dropdown\n\n feedType.parent().find('.spinner').addClass('is-active');\n merchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n // Get Merchant info for selected Provider/Merchant\n\n if (merchantInfoCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.send('woo_feed_get_merchant_info', {\n type: 'GET',\n data: {\n nonce: opts.nonce,\n provider: merchant,\n templateName: templateName\n }\n }).then(function (r) {\n merchantInfoCache[merchant] = r;\n feedEditor.renderMerchantInfo(merchantInfo, feedType, r);\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n } // Get FeedForm For Selected Provider/Merchant\n\n\n if (merchantTemplateCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.post('get_feed_merchant', {\n _ajax_nonce: opts.nonce,\n merchant: merchant\n }).then(function (r) {\n merchantTemplateCache[merchant] = r;\n feedEditor.renderMerchantTemplate(feedForm, r);\n $('#utm_source').val(templateName);\n $('#utm_campaign').val(name);\n //when merchant is bing, change delimiter and enclosure\n if( 'bing' === merchant ) {\n //delimiter value\n $(\"#delimiter option\").removeAttr('selected');\n $(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n //enclosure value\n $(\"#enclosure option\").removeAttr('selected');\n $(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n }\n\n //reviewer options hide\n if( 'google_product_review' !== merchant) {\n $('.wf_attributes option[value=\"reviewer_name\"]').hide();\n }\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n }\n })\n // Feed Active and Inactive status change via ajax\n .on('change', '.woo_feed_status_input', function () {\n let self = $(this);\n wpAjax.post('update_feed_status', {\n _ajax_nonce: opts.nonce,\n feedName: self.val(),\n status: self[0].checked ? 1 : 0\n });\n });\n // event with trigger\n $(document)\n .on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n let outOfStockVisibilityRow = $('.out-of-stock-visibility');\n if ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n outOfStockVisibilityRow.show();\n } else {\n outOfStockVisibilityRow.hide();\n }\n })\n .on('change', '.attr_type', function () {\n // Attribute type selection\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.wf_attr').hide();\n row.find('.wf_attr').val('');\n row.find('.wf_default').show();\n } else {\n row.find('.wf_attr').show();\n row.find('.wf_default').hide();\n row.find('.wf_default').val('');\n }\n })\n .on('change', '.wf_mattributes, .attr_type', function () {\n let row = $(this).closest('tr'),\n attribute = row.find('.wf_mattributes'),\n type = row.find('.attr_type'),\n valueColumn = row.find('td:eq(4)'),\n provider = $('#provider').val();\n\n // noinspection JSUnresolvedVariable\n if (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n if (valueColumn.find('select.selectize').length === 0) {\n valueColumn.find('input.wf_default').remove();\n valueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n // noinspection JSUnresolvedVariable\n valueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\n if (!googleCategories) {\n valueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n }\n\n let select = valueColumn.find('.wf_attributes select');\n // noinspection JSUnresolvedVariable\n helper.selectize(select, {\n preload: true,\n placeholder: opts.form.select_category,\n load: function load(query, cb) {\n if (!googleCategories) {\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n provider: provider\n }\n }).then(function (r) {\n googleCategories = r;\n cb(googleCategories);\n valueColumn.find('.spinner').remove();\n }).fail(helper.ajax_fail);\n } else {\n cb(googleCategories);\n }\n }\n });\n }\n } else {\n if (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n valueColumn.find('span').remove();\n valueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\n if (type.val() !== 'pattern') {\n valueColumn.find('input.wf_default').hide();\n }\n }\n }\n })\n .on('change', '#feedType,#provider', function (e) {\n let type = $('#feedType').val(),\n provider = $('#provider').val(),\n itemWrapper = $('.itemWrapper'),\n wf_csv_txt = $('.wf_csvtxt');\n\n // noinspection JSUnresolvedVariable\n if (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n itemWrapper.hide();\n }\n\n //when feed type is changed\n if( 'feedType' === e.target.id ) {\n if (type === 'csv' || type === 'txt' || type === 'tsv') {\n itemWrapper.hide();\n wf_csv_txt.show();\n\n if( 'tsv' === type ) {\n $('#delimiter option:last').prop(\"selected\", \"selected\");\n } else if( 'csv' === type ) {\n $('#delimiter option:first').prop(\"selected\", \"selected\");\n }\n } else if( 'xml' === type ) {\n itemWrapper.show();\n wf_csv_txt.hide();\n } else if( 'json' === type ) {\n itemWrapper.hide();\n wf_csv_txt.hide();\n }\n }\n\n })\n .trigger('change');\n\n\n $(document)\n\t\t\t.on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\t $(this).closest('td').find('.switch-loader').show();\n\t\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\n\t\t\t})\n\n\t\t\t// Remove sticky cart on feature page\n\t\t\t.ready(function() {\n\t\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\t\tvar pos = s.position();\n\t\t\t\t$(window).scroll(function() {\n\t\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n });\n\n $(document)\n\t\t.on('click', '#woo-feed-debug-log-download', function (e) {\n\t\t\te.preventDefault();\n\t\t\t$(\"<a />\", {\n\t\t\t\tdownload: new Date() + \".log\",\n\t\t\t\thref: URL.createObjectURL(\n\t\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t\t})),\n\t\t\t}).appendTo(\"body\")[0].click();\n\t\t})\n\t\t.on('keyup', '#filename', function(e) {\n\t\t\tvar name = $('#filename').val();\n\t\t\t$('#utm_campaign').val(name);\n\t\t})\n\n // var providerVal = $('#category-mapping-form #providers').val();\n\t\t// console.log(providerVal)\n\t\t.on('change', '#category-mapping-form #providers', function(e) {\n\t\t\tvar provider = $(this).find(':selected').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];\n\t\t\tif( googleMap.indexOf(provider) !== -1 ) {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'none');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');\n\t\t\t\t// $('#category-mapping-form .dashicons').css('display', 'block');\n\t\t\t} else {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'block');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');\n\t\t\t\t// $('#category-mapping-form .dashicons').css('display', 'none');\n\t\t\t}\n\t\t})\n\n // Copy parent category ids to child categories.\n\t\t.on('click', 'span[id*=\"cat-map-\"]', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar providerName = $('#category-mapping-form #providers').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],\n\t\t\t\tcatId = $(this).attr('id').replace(/[^\\d.]/g, ''),\n\t\t\t\tgroupId = 'group-child-' + catId;\n\n\t\t\tif( googleMap.indexOf(providerName) !== -1) {\n\t\t\t\tvar catField = $(this).parents('tr').find('.selectized').val();\n\n\t\t\t\tif (catField) {\n\t\t\t\t\t$('.' + groupId).parents('tr').find('select').each(function (i, v) {\n\t\t\t\t\t\t$(v).data('selectize').setValue(catField);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tvar value = $('#cat_mapping_'+catId).val();\n\t\t\t\t$('.'+groupId).parents('tr').find('input').val(value);\n\t\t\t}\n\n\t\t});\n\n $(document).ready(function (){\n\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n // provider: provider\n }\n }).then(function (response) {\n $('.selectize-google-category').selectize({\n valueField: 'value',\n labelField: 'text',\n placeholder: 'Select a category',\n searchField: ['value', 'text'],\n options: response,\n render: {\n option: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`,\n item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`\n }\n });\n }).fail(helper.ajax_fail);\n\n\n\n });\n\n\n})(jQuery, window, document, wp.ajax, wpf_ajax_obj);\n"]}
admin/partials/index.php CHANGED
File without changes
admin/partials/templates/bestprice.txt CHANGED
File without changes
admin/partials/templates/catch.com.au.txt CHANGED
File without changes
admin/partials/templates/comparer.be.txt CHANGED
File without changes
admin/partials/templates/daisycon.txt CHANGED
File without changes
admin/partials/templates/daisycon_automotive.txt CHANGED
File without changes
admin/partials/templates/daisycon_books.txt CHANGED
File without changes
admin/partials/templates/daisycon_cosmetics.txt CHANGED
File without changes
admin/partials/templates/daisycon_daily_offers.txt CHANGED
File without changes
admin/partials/templates/daisycon_electronics.txt CHANGED
File without changes
admin/partials/templates/daisycon_fashion.txt CHANGED
File without changes
admin/partials/templates/daisycon_food_drinks.txt CHANGED
File without changes
admin/partials/templates/daisycon_holidays_accommodations.txt CHANGED
File without changes
admin/partials/templates/daisycon_holidays_accommodations_and_transport.txt CHANGED
File without changes
admin/partials/templates/daisycon_holidays_trips.txt CHANGED
File without changes
admin/partials/templates/daisycon_home_garden.txt CHANGED
File without changes
admin/partials/templates/daisycon_housing.txt CHANGED
File without changes
admin/partials/templates/daisycon_magazines.txt CHANGED
File without changes
admin/partials/templates/daisycon_studies_trainings.txt CHANGED
File without changes
admin/partials/templates/daisycon_telecom_accessories.txt CHANGED
File without changes
admin/partials/templates/daisycon_telecom_all_in_one.txt CHANGED
File without changes
admin/partials/templates/daisycon_telecom_gsm.txt CHANGED
File without changes
admin/partials/templates/daisycon_telecom_gsm_subscription.txt CHANGED
File without changes
admin/partials/templates/daisycon_telecom_sim.txt CHANGED
File without changes
admin/partials/templates/daisycon_work_jobs.txt CHANGED
File without changes
admin/partials/templates/dooyoo.txt CHANGED
File without changes
admin/partials/templates/facebook.txt CHANGED
File without changes
admin/partials/templates/fruugo.au.txt CHANGED
File without changes
admin/partials/templates/google.txt CHANGED
File without changes
admin/partials/templates/google_local.txt CHANGED
File without changes
admin/partials/templates/google_local_inventory.txt CHANGED
File without changes
admin/partials/templates/google_shopping_action.txt CHANGED
File without changes
admin/partials/templates/heureka.sk.txt CHANGED
File without changes
admin/partials/templates/hintaseuranta.fi.txt CHANGED
File without changes
admin/partials/templates/incurvy.txt CHANGED
File without changes
admin/partials/templates/index.php CHANGED
File without changes
admin/partials/templates/kijiji.ca.txt CHANGED
File without changes
admin/partials/templates/marktplaats.nl.txt CHANGED
File without changes
admin/partials/templates/modalova.txt CHANGED
File without changes
admin/partials/templates/moebel.de.txt CHANGED
File without changes
admin/partials/templates/myshopping.com.au.txt CHANGED
File without changes
admin/partials/templates/nextad.txt CHANGED
File without changes
admin/partials/templates/pinterest.txt CHANGED
File without changes
admin/partials/templates/pinterest_rss.txt CHANGED
File without changes
admin/partials/templates/rakuten.de.txt CHANGED
File without changes
admin/partials/templates/shopalike.fr.txt CHANGED
File without changes
admin/partials/templates/skinflint.co.uk.txt CHANGED
File without changes
admin/partials/templates/skroutz.txt CHANGED
File without changes
admin/partials/templates/snapchat.txt CHANGED
File without changes
admin/partials/templates/spartoo.fi.txt CHANGED
File without changes
admin/partials/templates/stylight.com.txt CHANGED
File without changes
admin/partials/templates/taxonomies/google_taxonomy.txt CHANGED
File without changes
admin/partials/templates/taxonomies/index.php CHANGED
File without changes
admin/partials/templates/webmarchand.txt CHANGED
File without changes
admin/partials/templates/wine_searcher.txt CHANGED
File without changes
admin/partials/templates/zap.co.il.txt CHANGED
File without changes
admin/partials/templates/zbozi.cz.txt CHANGED
File without changes
admin/partials/woo-feed-add-option.php CHANGED
File without changes
admin/partials/woo-feed-admin-display.php CHANGED
File without changes
admin/partials/woo-feed-category-mapping-list.php CHANGED
File without changes
admin/partials/woo-feed-category-mapping.php CHANGED
File without changes
admin/partials/woo-feed-content-settings.php CHANGED
@@ -96,7 +96,7 @@ global $feedRules, $wooFeedDropDown, $merchant;
96
  <?php
97
  $isDelimiterHide = 'table-row';
98
  if ( isset( $feedRules['feedType'] ) ) {
99
- if ( empty($feedRules['feedType']) || 'xml' === $feedRules['feedType'] ) {
100
  $isDelimiterHide = 'none';
101
  }
102
  }
96
  <?php
97
  $isDelimiterHide = 'table-row';
98
  if ( isset( $feedRules['feedType'] ) ) {
99
+ if ( empty($feedRules['feedType']) || 'xml' === $feedRules['feedType'] || 'json' === $feedRules['feedType'] ) {
100
  $isDelimiterHide = 'none';
101
  }
102
  }
admin/partials/woo-feed-edit-config.php CHANGED
File without changes
admin/partials/woo-feed-edit-filter.php CHANGED
File without changes
admin/partials/woo-feed-edit-ftp.php CHANGED
File without changes
admin/partials/woo-feed-edit-tabs.php CHANGED
File without changes
admin/partials/woo-feed-edit-template.php CHANGED
File without changes
admin/partials/woo-feed-manage-list.php CHANGED
File without changes
admin/partials/woo-feed-option-list.php CHANGED
File without changes
admin/partials/woo-feed-pro-vs-free.php CHANGED
File without changes
admin/partials/woo-feed-settings.php CHANGED
@@ -27,7 +27,8 @@ $settings = woo_feed_get_options( 'all' );
27
  <span style="float: right;">
28
  <?php
29
  esc_html_e( 'Version ', 'woo-feed' );
30
- echo esc_html( WOO_FEED_FREE_VERSION );
 
31
  ?>
32
  </span>
33
  </th>
@@ -134,7 +135,7 @@ $settings = woo_feed_get_options( 'all' );
134
  </td>
135
  </tr>
136
  <tr>
137
- <th scope="row"><label for="pixel_id"><?php esc_html_e( 'Facebook Pixel Content ID’s for Variation', 'woo-feed' ); ?></label></th>
138
  <td>
139
  <input class="regular-text" type="number" name="pixel_id" id="pixel_id" value="<?php echo esc_attr( $settings['pixel_id'] ); ?>">
140
  <p class="description"><?php esc_html_e( 'Insert your Facebook Pixel ID', 'woo-feed' ); ?></p>
@@ -188,6 +189,7 @@ $settings = woo_feed_get_options( 'all' );
188
  <p class="description"><?php esc_html_e( 'Disable or Enable FTP upload setting', 'woo-feed' ); ?></p>
189
  </td>
190
  </tr>
 
191
  <?php do_action( 'woo_feed_after_settings_page_fields' ); ?>
192
  <tr>
193
  <td colspan="2">
@@ -224,7 +226,8 @@ $settings = woo_feed_get_options( 'all' );
224
  ?>
225
  <tr style="box-shadow: 0 1px #c3c4c7;">
226
  <td><label style="font-weight: bold;" for="<?php echo esc_attr( $custom_field_id ); ?>"><?php echo esc_html( $custom_field_name ); ?></label></td>
227
- <td style="float:right">
 
228
  <label class="switch">
229
  <input type="checkbox" id="<?php echo esc_attr( $custom_field_id ); ?>" <?php
230
  echo esc_attr( sprintf( 'data-taxonomy=%s ', $is_taxonomy ? 'true' : 'false' ) ); echo $is_enable ? 'checked' : ''; ?>>
27
  <span style="float: right;">
28
  <?php
29
  esc_html_e( 'Version ', 'woo-feed' );
30
+ $version = defined('WOO_FEED_PRO_VERSION')?WOO_FEED_PRO_VERSION:WOO_FEED_FREE_VERSION;
31
+ echo esc_html( $version );
32
  ?>
33
  </span>
34
  </th>
135
  </td>
136
  </tr>
137
  <tr>
138
+ <th scope="row"><label for="pixel_id"><?php esc_html_e( 'Facebook Pixel ID', 'woo-feed' ); ?></label></th>
139
  <td>
140
  <input class="regular-text" type="number" name="pixel_id" id="pixel_id" value="<?php echo esc_attr( $settings['pixel_id'] ); ?>">
141
  <p class="description"><?php esc_html_e( 'Insert your Facebook Pixel ID', 'woo-feed' ); ?></p>
189
  <p class="description"><?php esc_html_e( 'Disable or Enable FTP upload setting', 'woo-feed' ); ?></p>
190
  </td>
191
  </tr>
192
+
193
  <?php do_action( 'woo_feed_after_settings_page_fields' ); ?>
194
  <tr>
195
  <td colspan="2">
226
  ?>
227
  <tr style="box-shadow: 0 1px #c3c4c7;">
228
  <td><label style="font-weight: bold;" for="<?php echo esc_attr( $custom_field_id ); ?>"><?php echo esc_html( $custom_field_name ); ?></label></td>
229
+ <td style="float:right; display: flex; align-items: center;">
230
+ <span style="display: none;" class="switch-loader"><i class="dashicons dashicons-sos wpf_spin"></i></span>
231
  <label class="switch">
232
  <input type="checkbox" id="<?php echo esc_attr( $custom_field_id ); ?>" <?php
233
  echo esc_attr( sprintf( 'data-taxonomy=%s ', $is_taxonomy ? 'true' : 'false' ) ); echo $is_enable ? 'checked' : ''; ?>>
admin/partials/woo-feed-status.php CHANGED
File without changes
includes/class-woo-feed-docs.php CHANGED
File without changes
includes/class-woo-feed-i18n.php CHANGED
File without changes
includes/class-woo-feed-installer.php CHANGED
File without changes
includes/class-woo-feed-loader.php CHANGED
File without changes
includes/class-woo-feed-status.php CHANGED
File without changes
includes/class-woo-feed.php CHANGED
File without changes
includes/classes/class-woo-feed-admin-message.php CHANGED
File without changes
includes/classes/class-woo-feed-default-attributes.php CHANGED
File without changes
includes/classes/class-woo-feed-dropdown.php CHANGED
@@ -312,6 +312,7 @@ class Woo_Feed_Dropdown {
312
  $attributes = array(
313
  '--1' => esc_html__( 'Primary Attributes', 'woo-feed' ),
314
  'id' => esc_html__( 'Product Id', 'woo-feed' ),
 
315
  'title' => esc_html__( 'Product Title', 'woo-feed' ),
316
  'parent_title' => esc_html__( 'Parent Title', 'woo-feed' ),
317
  'description' => esc_html__( 'Product Description', 'woo-feed' ),
312
  $attributes = array(
313
  '--1' => esc_html__( 'Primary Attributes', 'woo-feed' ),
314
  'id' => esc_html__( 'Product Id', 'woo-feed' ),
315
+ 'parent_id' => esc_html__( 'Parent Product Id (WPML)', 'woo-feed' ),
316
  'title' => esc_html__( 'Product Title', 'woo-feed' ),
317
  'parent_title' => esc_html__( 'Parent Title', 'woo-feed' ),
318
  'description' => esc_html__( 'Product Description', 'woo-feed' ),
includes/classes/class-woo-feed-engine.php CHANGED
File without changes
includes/classes/class-woo-feed-list-table.php CHANGED
File without changes
includes/classes/class-woo-feed-log-handler-file.php CHANGED
File without changes
includes/classes/class-woo-feed-merchant.php CHANGED
@@ -389,6 +389,7 @@ class Woo_Feed_Merchant {
389
  'daisycon_telecom_sim' => esc_html__( 'Daisycon Advertiser (Telecom: Sim only)', 'woo-feed' ),
390
  'daisycon_work_jobs' => esc_html__( 'Daisycon Advertiser (Work & Jobs)', 'woo-feed' ),
391
  'dooyoo' => esc_html__( 'Dooyoo', 'woo-feed' ),
 
392
  'etsy' => esc_html__( 'Etsy', 'woo-feed' ),
393
  'fruugo' => esc_html__( 'Fruugo', 'woo-feed' ),
394
  'fashionchick' => esc_html__( 'Fashionchick.nl', 'woo-feed' ),
389
  'daisycon_telecom_sim' => esc_html__( 'Daisycon Advertiser (Telecom: Sim only)', 'woo-feed' ),
390
  'daisycon_work_jobs' => esc_html__( 'Daisycon Advertiser (Work & Jobs)', 'woo-feed' ),
391
  'dooyoo' => esc_html__( 'Dooyoo', 'woo-feed' ),
392
+ 'ecommerceit' => esc_html__( 'Ecommerce.it', 'woo-feed' ),
393
  'etsy' => esc_html__( 'Etsy', 'woo-feed' ),
394
  'fruugo' => esc_html__( 'Fruugo', 'woo-feed' ),
395
  'fashionchick' => esc_html__( 'Fashionchick.nl', 'woo-feed' ),
includes/classes/class-woo-feed-products-v3.php CHANGED
@@ -71,6 +71,26 @@ class Woo_Feed_Products_v3
71
  * @var array
72
  */
73
  public $products = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  /**
75
  * Query Method Selector
76
  *
@@ -292,37 +312,31 @@ class Woo_Feed_Products_v3
292
  protected function get_query_args($type = 'wc')
293
  {
294
  $args = [];
295
- if ('wc' === $type) {
296
- $product_type = array(
297
- 'simple',
298
- 'grouped',
299
- 'external',
300
- 'composite',
301
- 'bundle',
302
- 'bundled',
303
- 'yith_bundle',
304
- 'yith-composite',
305
- 'subscription',
306
- 'variable-subscription',
307
- 'woosb',
308
- );
309
 
310
- // Include Product Variations with db query if configured
311
- $variation_query = woo_feed_get_options('variation_query_type');
312
- if ('individual' === $variation_query) {
313
- $product_type = array_merge($product_type, ['variation']);
 
 
 
 
 
 
 
314
  }
315
 
316
  $args = array(
317
  'limit' => -1, // phpcs:ignore
318
  'status' => $this->post_status,
319
- 'type' => $product_type,
320
  'orderby' => 'date',
321
  'order' => 'DESC',
322
  'return' => 'ids',
323
  'suppress_filters' => false,
324
  );
325
  }
 
326
  if ('wp' === $type) {
327
 
328
  $post_type = 'product';
@@ -391,7 +405,8 @@ class Woo_Feed_Products_v3
391
  */
392
  public function query_products()
393
  {
394
- $products = []; if ('wc' == $this->queryType) {
 
395
  $products = $this->get_wc_query_products();
396
  } elseif ('wp' == $this->queryType) {
397
  $products = $this->get_wp_query_products();
@@ -517,11 +532,13 @@ class Woo_Feed_Products_v3
517
  $this->process_txt_feed_header();
518
  }
519
  $this->process_txt_feed_body();
520
- } else {
521
  if (empty($this->feedHeader)) {
522
  $this->process_csv_feed_header();
523
  }
524
  $this->process_csv_feed_body();
 
 
525
  }
526
  woo_feed_log_feed_process($this->config['filename'], 'Done Formatting...');
527
  $this->pi++;
@@ -563,7 +580,7 @@ class Woo_Feed_Products_v3
563
  $this->get_products($variations);
564
  return true;
565
  }
566
- }else{
567
  return true;
568
  }
569
  }
@@ -754,20 +771,20 @@ class Woo_Feed_Products_v3
754
  */
755
  protected function exclude_from_loop($product)
756
  {
757
- // For WP_Query check available product types
758
- if ('wp' == $this->queryType && !in_array($product->get_type(), $this->product_types, true)) {
759
- woo_feed_log_feed_process($this->config['filename'], sprintf('Skipping Product :: Invalid Post/Product Type : %s.', $product->get_type()));
760
- return true;
761
- }
762
-
763
  // Skip for invalid products
764
  if (!is_object($product)) {
765
  woo_feed_log_feed_process($this->config['filename'], 'Skipping Product :: Product data is not a valid WC_Product object.');
766
  return true;
767
  }
768
 
 
 
 
 
 
 
769
  // Skip orphaned variation
770
- if( $product->is_type( 'variation' ) && ! $product->get_parent_id() ){
771
  woo_feed_log_feed_process($this->config['filename'], sprintf('Skipping Product :: Orphaned variation product [id: %s] skipped.', $product->get_id()));
772
  return true;
773
  }
@@ -1294,6 +1311,13 @@ class Woo_Feed_Products_v3
1294
  return $this->feedBody;
1295
  }
1296
 
 
 
 
 
 
 
 
1297
  protected function process_xml_wrapper()
1298
  {
1299
  $itemsWrapperClose = explode(' ', $this->config['itemsWrapper']);
@@ -2038,9 +2062,15 @@ class Woo_Feed_Products_v3
2038
  */
2039
  protected function primary_category( $product )
2040
  {
2041
- $parent_category = $this->product_parent_category_object( $product );
 
 
 
 
 
 
2042
 
2043
- return apply_filters('woo_feed_filter_product_primary_category', $parent_category->name, $product, $this->config);
2044
  }
2045
 
2046
  /**
@@ -2053,9 +2083,16 @@ class Woo_Feed_Products_v3
2053
  */
2054
  protected function primary_category_id( $product )
2055
  {
2056
- $parent_category = $this->product_parent_category_object( $product );
 
 
 
 
 
 
 
2057
 
2058
- return apply_filters('woo_feed_filter_product_primary_category_id', $parent_category->term_id, $product, $this->config);
2059
  }
2060
 
2061
  /**
@@ -2067,10 +2104,13 @@ class Woo_Feed_Products_v3
2067
  */
2068
  protected function child_category( $product )
2069
  {
2070
- $id = $product->get_id();
2071
- $terms = get_the_terms($id, 'product_cat');
2072
- $last_cat = !empty($terms) && is_array($terms) ? end($terms) : [];
2073
- $child_category = isset($last_cat->name) && !empty($last_cat->name) ? $last_cat->name : '';
 
 
 
2074
 
2075
  return apply_filters('woo_feed_filter_product_child_category', $child_category, $product, $this->config);
2076
  }
@@ -2084,10 +2124,14 @@ class Woo_Feed_Products_v3
2084
  */
2085
  protected function child_category_id( $product )
2086
  {
2087
- $id = $product->get_id();
2088
- $cat_ids = $product->get_category_ids();
2089
-
2090
- $child_category_id = !empty($cat_ids) && is_array($cat_ids) ? end($cat_ids) : '';
 
 
 
 
2091
 
2092
  return apply_filters('woo_feed_filter_product_child_category_id', $child_category_id, $product, $this->config);
2093
  }
@@ -2110,8 +2154,6 @@ class Woo_Feed_Products_v3
2110
 
2111
  $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2112
 
2113
- // $product_type = woo_feed_get_terms_list_hierarchical_order($id, false);
2114
-
2115
  $product_type = woo_feed_strip_all_tags(wc_get_product_category_list($id, $separator));
2116
 
2117
  return apply_filters('woo_feed_filter_product_local_category', $product_type, $product, $this->config);
@@ -2259,19 +2301,16 @@ class Woo_Feed_Products_v3
2259
  $getImage = wp_get_attachment_image_src(get_post_thumbnail_id($product->get_parent_id()), 'single-post-thumbnail');
2260
  $image = woo_feed_get_formatted_url($getImage[0]);
2261
  }
2262
- } else {
2263
- // All product type except variation
2264
- if ( has_post_thumbnail( $product->get_id() ) ) {
2265
- $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $product->get_id() ), 'single-post-thumbnail' );
2266
- $image = isset( $getImage[0] ) ? woo_feed_get_formatted_url( $getImage[0] ) : '';
2267
- }
2268
  }
2269
 
2270
  return apply_filters('woo_feed_filter_product_image', $image, $product, $this->config);
2271
  }
2272
 
2273
  /**
2274
- * Get Product Featured Image
2275
  *
2276
  * @param WC_Product|WC_Product_Variable|WC_Product_Variation|WC_Product_Grouped|WC_Product_External|WC_Product_Composite $product Product Object.
2277
  *
@@ -2281,7 +2320,16 @@ class Woo_Feed_Products_v3
2281
  */
2282
  protected function feature_image($product)
2283
  {
2284
- return apply_filters('woo_feed_filter_product_feature_image', $this->image($product), $product, $this->config);
 
 
 
 
 
 
 
 
 
2285
  }
2286
 
2287
  /**
@@ -2296,15 +2344,10 @@ class Woo_Feed_Products_v3
2296
  */
2297
  protected function images($product, $additionalImg = '')
2298
  {
2299
- if ($product->is_type('variation')) {
2300
- // TODO Test Variation Images
2301
- $imgUrls = $this->get_product_gallery(wc_get_product($product->get_parent_id()));
2302
- } else {
2303
- $imgUrls = $this->get_product_gallery($product);
2304
- }
2305
 
2306
  // Return Specific Additional Image URL
2307
- if ('' != $additionalImg) {
2308
  if (array_key_exists($additionalImg, $imgUrls)) {
2309
  $images = $imgUrls[$additionalImg];
2310
  } else {
@@ -2328,8 +2371,48 @@ class Woo_Feed_Products_v3
2328
  */
2329
  protected function get_product_gallery($product)
2330
  {
2331
- $attachmentIds = $product->get_gallery_image_ids();
2332
- $imgUrls = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2333
  if ($attachmentIds && is_array($attachmentIds)) {
2334
  $mKey = 1;
2335
  foreach ($attachmentIds as $attachmentId) {
@@ -2589,7 +2672,13 @@ class Woo_Feed_Products_v3
2589
  protected function availability_date($product)
2590
  {
2591
 
2592
- if ($product->get_stock_status() !== 'onbackorder') {
 
 
 
 
 
 
2593
  return '';
2594
  }
2595
 
71
  * @var array
72
  */
73
  public $products = [];
74
+ /**
75
+ * Processed Products
76
+ *
77
+ * @var array
78
+ */
79
+ public $product_types = [
80
+ 'simple',
81
+ 'variable',
82
+ 'variation',
83
+ 'grouped',
84
+ 'external',
85
+ 'composite',
86
+ 'bundle',
87
+ 'bundled',
88
+ 'yith_bundle',
89
+ 'yith-composite',
90
+ 'subscription',
91
+ 'variable-subscription',
92
+ 'woosb',
93
+ ];
94
  /**
95
  * Query Method Selector
96
  *
312
  protected function get_query_args($type = 'wc')
313
  {
314
  $args = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
 
316
+ // Include Product Variations with db query if configured
317
+ $variation_query = woo_feed_get_options('variation_query_type');
318
+
319
+ if ('wc' === $type) {
320
+ $product_types = $this->product_types;
321
+ if ('variable' === $variation_query && ('y' === $this->config['is_variations'] || 'both' === $this->config['is_variations'] ))
322
+ {
323
+ $variation = array_search('variation', $product_types, true);
324
+ if($variation){
325
+ unset($product_types[$variation]);
326
+ }
327
  }
328
 
329
  $args = array(
330
  'limit' => -1, // phpcs:ignore
331
  'status' => $this->post_status,
332
+ 'type' => $product_types,
333
  'orderby' => 'date',
334
  'order' => 'DESC',
335
  'return' => 'ids',
336
  'suppress_filters' => false,
337
  );
338
  }
339
+
340
  if ('wp' === $type) {
341
 
342
  $post_type = 'product';
405
  */
406
  public function query_products()
407
  {
408
+ $products = [];
409
+ if ('wc' == $this->queryType) {
410
  $products = $this->get_wc_query_products();
411
  } elseif ('wp' == $this->queryType) {
412
  $products = $this->get_wp_query_products();
532
  $this->process_txt_feed_header();
533
  }
534
  $this->process_txt_feed_body();
535
+ } elseif ('csv' == $this->config['feedType']) {
536
  if (empty($this->feedHeader)) {
537
  $this->process_csv_feed_header();
538
  }
539
  $this->process_csv_feed_body();
540
+ }elseif ('json' == $this->config['feedType']){
541
+ $this->process_json_feed_body();
542
  }
543
  woo_feed_log_feed_process($this->config['filename'], 'Done Formatting...');
544
  $this->pi++;
580
  $this->get_products($variations);
581
  return true;
582
  }
583
+ } else {
584
  return true;
585
  }
586
  }
771
  */
772
  protected function exclude_from_loop($product)
773
  {
 
 
 
 
 
 
774
  // Skip for invalid products
775
  if (!is_object($product)) {
776
  woo_feed_log_feed_process($this->config['filename'], 'Skipping Product :: Product data is not a valid WC_Product object.');
777
  return true;
778
  }
779
 
780
+ // For WP_Query check available product types
781
+ if ('wp' == $this->queryType && !in_array($product->get_type(), $this->product_types, true)) {
782
+ woo_feed_log_feed_process($this->config['filename'], sprintf('Skipping Product :: Invalid Post/Product Type : %s.', $product->get_type()));
783
+ return true;
784
+ }
785
+
786
  // Skip orphaned variation
787
+ if ($product->is_type('variation') && !$product->get_parent_id()) {
788
  woo_feed_log_feed_process($this->config['filename'], sprintf('Skipping Product :: Orphaned variation product [id: %s] skipped.', $product->get_id()));
789
  return true;
790
  }
1311
  return $this->feedBody;
1312
  }
1313
 
1314
+ protected function process_json_feed_body(){
1315
+ $product = $this->products[$this->pi];
1316
+ $this->feedBody[] = $product;
1317
+
1318
+ return $this->feedBody;
1319
+ }
1320
+
1321
  protected function process_xml_wrapper()
1322
  {
1323
  $itemsWrapperClose = explode(' ', $this->config['itemsWrapper']);
2062
  */
2063
  protected function primary_category( $product )
2064
  {
2065
+ $parent_category="";
2066
+ $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2067
+ $full_category = $this->product_type( $product );
2068
+ if(!empty($full_category)){
2069
+ $full_category_array = explode($separator,$full_category);
2070
+ $parent_category = $full_category_array[0];
2071
+ }
2072
 
2073
+ return apply_filters('woo_feed_filter_product_primary_category', $parent_category, $product, $this->config);
2074
  }
2075
 
2076
  /**
2083
  */
2084
  protected function primary_category_id( $product )
2085
  {
2086
+ $parent_category_id="";
2087
+ $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2088
+ $full_category = $this->product_type( $product );
2089
+ if(!empty($full_category)){
2090
+ $full_category_array = explode($separator,$full_category);
2091
+ $parent_category_obj = get_term_by( 'name', $full_category_array[0], 'product_cat' );
2092
+ $parent_category_id = isset($parent_category_obj->term_id)?$parent_category_obj->term_id:"";
2093
+ }
2094
 
2095
+ return apply_filters('woo_feed_filter_product_primary_category_id', $parent_category_id, $product, $this->config);
2096
  }
2097
 
2098
  /**
2104
  */
2105
  protected function child_category( $product )
2106
  {
2107
+ $child_category="";
2108
+ $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2109
+ $full_category = $this->product_type( $product );
2110
+ if(!empty($full_category)){
2111
+ $full_category_array = explode($separator,$full_category);
2112
+ $child_category = end($full_category_array);
2113
+ }
2114
 
2115
  return apply_filters('woo_feed_filter_product_child_category', $child_category, $product, $this->config);
2116
  }
2124
  */
2125
  protected function child_category_id( $product )
2126
  {
2127
+ $child_category_id="";
2128
+ $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2129
+ $full_category = $this->product_type( $product );
2130
+ if(!empty($full_category)){
2131
+ $full_category_array = explode($separator,$full_category);
2132
+ $child_category_obj = get_term_by( 'name', end($full_category_array), 'product_cat' );
2133
+ $child_category_id = isset($child_category_obj->term_id)?$child_category_obj->term_id:"";
2134
+ }
2135
 
2136
  return apply_filters('woo_feed_filter_product_child_category_id', $child_category_id, $product, $this->config);
2137
  }
2154
 
2155
  $separator = apply_filters('woo_feed_product_type_separator', ' > ', $this->config, $product);
2156
 
 
 
2157
  $product_type = woo_feed_strip_all_tags(wc_get_product_category_list($id, $separator));
2158
 
2159
  return apply_filters('woo_feed_filter_product_local_category', $product_type, $product, $this->config);
2301
  $getImage = wp_get_attachment_image_src(get_post_thumbnail_id($product->get_parent_id()), 'single-post-thumbnail');
2302
  $image = woo_feed_get_formatted_url($getImage[0]);
2303
  }
2304
+ } else if ( has_post_thumbnail( $product->get_id() ) ) { // All product type except variation
2305
+ $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $product->get_id() ), 'single-post-thumbnail' );
2306
+ $image = isset( $getImage[0] ) ? woo_feed_get_formatted_url( $getImage[0] ) : '';
 
 
 
2307
  }
2308
 
2309
  return apply_filters('woo_feed_filter_product_image', $image, $product, $this->config);
2310
  }
2311
 
2312
  /**
2313
+ * Get Product Featured Image. For product variations it will return the variable product image.
2314
  *
2315
  * @param WC_Product|WC_Product_Variable|WC_Product_Variation|WC_Product_Grouped|WC_Product_External|WC_Product_Composite $product Product Object.
2316
  *
2320
  */
2321
  protected function feature_image($product)
2322
  {
2323
+ if($product->is_type('variation')){
2324
+ $id=$product->get_parent_id();
2325
+ }else{
2326
+ $id=$product->get_id();
2327
+ }
2328
+
2329
+ $getImage = wp_get_attachment_image_src( get_post_thumbnail_id( $id ), 'single-post-thumbnail' );
2330
+ $image = isset( $getImage[0] ) ? woo_feed_get_formatted_url( $getImage[0] ) : '';
2331
+
2332
+ return apply_filters('woo_feed_filter_product_feature_image', $image, $product, $this->config);
2333
  }
2334
 
2335
  /**
2344
  */
2345
  protected function images($product, $additionalImg = '')
2346
  {
2347
+ $imgUrls = $this->get_product_gallery($product);
 
 
 
 
 
2348
 
2349
  // Return Specific Additional Image URL
2350
+ if ('' !== $additionalImg) {
2351
  if (array_key_exists($additionalImg, $imgUrls)) {
2352
  $images = $imgUrls[$additionalImg];
2353
  } else {
2371
  */
2372
  protected function get_product_gallery($product)
2373
  {
2374
+ $imgUrls = [];
2375
+ $attachmentIds = [];
2376
+
2377
+ if($product->is_type('variation')){
2378
+ if(class_exists('Woo_Variation_Gallery')){
2379
+ /**
2380
+ * Get Variation Additional Images for "Additional Variation Images Gallery for WooCommerce"
2381
+ * @plugin Additional Variation Images Gallery for WooCommerce
2382
+ * @link https://wordpress.org/plugins/woo-variation-gallery/
2383
+ */
2384
+ $attachmentIds = get_post_meta($product->get_id(), 'woo_variation_gallery_images', true);
2385
+ } elseif(class_exists('WooProductVariationGallery')){
2386
+ /**
2387
+ * Get Variation Additional Images for "Variation Images Gallery for WooCommerce"
2388
+ * @plugin Variation Images Gallery for WooCommerce
2389
+ * @link https://wordpress.org/plugins/woo-product-variation-gallery/
2390
+ */
2391
+ $attachmentIds = get_post_meta($product->get_id(), 'rtwpvg_images', true);
2392
+ }
2393
+ elseif(class_exists('WC_Additional_Variation_Images')){
2394
+ /**
2395
+ * Get Variation Additional Images for "WooCommerce Additional Variation Images"
2396
+ * @plugin WooCommerce Additional Variation Images
2397
+ * @link https://woocommerce.com/products/woocommerce-additional-variation-images/
2398
+ */
2399
+ $attachmentIds = explode(',',get_post_meta($product->get_id(), '_wc_additional_variation_images', true));
2400
+ }else{
2401
+ /**
2402
+ * If any Variation Gallery Image plugin not installed then get Variable Product Additional Image Ids .
2403
+ */
2404
+ $attachmentIds = wc_get_product($product->get_parent_id())->get_gallery_image_ids();
2405
+ }
2406
+ }
2407
+
2408
+ /**
2409
+ * Get Variable Product Gallery Image ids if Product is not a variation
2410
+ * or variation does not have any gallery images
2411
+ */
2412
+ if(empty($attachmentIds)){
2413
+ $attachmentIds = $product->get_gallery_image_ids();
2414
+ }
2415
+
2416
  if ($attachmentIds && is_array($attachmentIds)) {
2417
  $mKey = 1;
2418
  foreach ($attachmentIds as $attachmentId) {
2672
  protected function availability_date($product)
2673
  {
2674
 
2675
+ $feed_settings = get_option( 'woo_feed_settings' );
2676
+
2677
+ $availability_date_settings = isset( $feed_settings['woo_feed_identifier']['availability_date'] )
2678
+ ? $feed_settings['woo_feed_identifier']['availability_date']
2679
+ : 'disable' ;
2680
+
2681
+ if ($product->get_stock_status() !== 'onbackorder' || $availability_date_settings === 'disable' ) {
2682
  return '';
2683
  }
2684
 
includes/classes/class-woo-feed-products.php CHANGED
File without changes
includes/classes/class-woo-feed-savefile.php CHANGED
@@ -58,6 +58,9 @@ class Woo_Feed_Savefile {
58
  }elseif ( 'xls' === $type ) {
59
  $fp = fopen( $file, 'w' ); // phpcs:ignore
60
  $delimiter = "\t";
 
 
 
61
  }
62
 
63
 
@@ -123,7 +126,7 @@ class Woo_Feed_Savefile {
123
  if ( file_exists( $file ) ) {
124
  unlink( $file ); // phpcs:ignore
125
  }
126
- $fp = fopen( $file, 'w+' ); // phpcs:ignore
127
  fwrite( $fp, $content ); // phpcs:ignore
128
  fclose( $fp ); // phpcs:ignore
129
 
58
  }elseif ( 'xls' === $type ) {
59
  $fp = fopen( $file, 'w' ); // phpcs:ignore
60
  $delimiter = "\t";
61
+ }elseif ( 'json' === $type ) {
62
+ $fp = fopen( $file, 'w' ); // phpcs:ignore
63
+ fwrite($fp, json_encode($content));
64
  }
65
 
66
 
126
  if ( file_exists( $file ) ) {
127
  unlink( $file ); // phpcs:ignore
128
  }
129
+ $fp = fopen( $file, 'w' ); // phpcs:ignore
130
  fwrite( $fp, $content ); // phpcs:ignore
131
  fclose( $fp ); // phpcs:ignore
132
 
includes/classes/class-woo-feed-shipping.php CHANGED
File without changes
includes/classes/class-woo-feed-webappick-api.php CHANGED
File without changes
includes/classes/index.php CHANGED
File without changes
includes/cron-helper.php CHANGED
File without changes
includes/feeds/class-woo-feed-custom.php CHANGED
@@ -77,7 +77,7 @@ class Woo_Feed_Custom {
77
  'footer' => '',
78
  );
79
  return $feed;
80
- } elseif ( 'csv' == $this->rules['feedType'] || 'tsv' == $this->rules['feedType'] || 'xls' == $this->rules['feedType'] ) {
81
  $feed = array(
82
  'body' => $this->products->feedBody,
83
  'header' => $this->products->feedHeader,
77
  'footer' => '',
78
  );
79
  return $feed;
80
+ } elseif ( 'csv' == $this->rules['feedType'] || 'tsv' == $this->rules['feedType'] || 'xls' == $this->rules['feedType'] || 'json' == $this->rules['feedType'] ) {
81
  $feed = array(
82
  'body' => $this->products->feedBody,
83
  'header' => $this->products->feedHeader,
includes/feeds/class-woo-feed-facebook.php CHANGED
File without changes
includes/feeds/class-woo-feed-generate.php CHANGED
File without changes
includes/feeds/class-woo-feed-google.php CHANGED
File without changes
includes/feeds/class-woo-feed-pinterest.php CHANGED
File without changes
includes/feeds/class-woo-feed-review.php CHANGED
File without changes
includes/feeds/index.php CHANGED
File without changes
includes/helper.php CHANGED
@@ -539,6 +539,7 @@ if (!function_exists('woo_feed_get_file_types')) {
539
  'tsv' => 'TSV',
540
  'xls' => 'XLS',
541
  'txt' => 'TXT',
 
542
  );
543
  }
544
  }
@@ -1462,7 +1463,7 @@ if (!function_exists('woo_feed_save_batch_feed_info')) {
1462
  function woo_feed_save_batch_feed_info($feedService, $type, $string, $fileName, $info)
1463
  {
1464
  $ext = $type;
1465
- if ('csv' === $type || 'tsv' === $type || 'xls' === $type) {
1466
  $string = wp_json_encode($string);
1467
  $ext = 'json';
1468
  }
@@ -1494,7 +1495,7 @@ if (!function_exists('woo_feed_get_batch_feed_info')) {
1494
  function woo_feed_get_batch_feed_info($feedService, $type, $fileName)
1495
  {
1496
  $ext = $type;
1497
- if ('csv' === $type || 'tsv' === $type || 'xls' === $type) {
1498
  $ext = 'json';
1499
  }
1500
  // Save File
@@ -1506,9 +1507,10 @@ if (!function_exists('woo_feed_get_batch_feed_info')) {
1506
 
1507
  $data = file_get_contents($file); // phpcs:ignore
1508
 
1509
- if ('csv' === $type || 'tsv' === $type || 'xls' === $type) {
1510
  $data = ($data) ? json_decode($data, true) : false;
1511
  }
 
1512
  return $data;
1513
  }
1514
  }
@@ -2012,7 +2014,7 @@ if (!function_exists('woo_feed_generate_feed')) {
2012
  $path = woo_feed_get_file_path($info['provider'], $info['feedType']);
2013
  $file = woo_feed_get_file($feed_option_name, $info['provider'], $info['feedType']);
2014
  $save = new Woo_Feed_Savefile();
2015
- if ('csv' == $info['feedType'] || 'tsv' == $info['feedType'] || 'xls' == $info['feedType']) {
2016
  $saveFile = $save->saveValueFile($path, $file, $string, $info, $info['feedType']);
2017
  } else {
2018
  $saveFile = $save->saveFile($path, $file, $string);
@@ -2389,6 +2391,7 @@ if (!function_exists('woo_feed_get_options')) {
2389
  'material' => 'disable',
2390
  'gender' => 'disable',
2391
  'cost_of_good_sold' => 'disable',
 
2392
  'unit' => 'disable',
2393
  'unit_pricing_measure' => 'disable',
2394
  'unit_pricing_base_measure' => 'disable',
@@ -2482,20 +2485,6 @@ if (!function_exists('woo_feed_save_options')) {
2482
  }
2483
  unset($args['overridden_structured_data']);
2484
  }
2485
- // if (array_key_exists('disable_mpn', $args)) {
2486
- // $data['disable_mpn'] = strtolower($args['disable_mpn']);
2487
- // if (!in_array($data['disable_mpn'], array('enable', 'disable'))) {
2488
- // $data['disable_mpn'] = in_array($_data['disable_mpn'], array('enable', 'disable')) ? $_data['disable_mpn'] : $defaults['disable_mpn'];
2489
- // }
2490
- // unset($args['disable_mpn']);
2491
- // }
2492
- // if (array_key_exists('disable_brand', $args)) {
2493
- // $data['disable_brand'] = strtolower($args['disable_brand']);
2494
- // if (!in_array($data['disable_brand'], array('enable', 'disable'))) {
2495
- // $data['disable_brand'] = in_array($_data['disable_brand'], array('enable', 'disable')) ? $_data['disable_brand'] : $defaults['disable_brand'];
2496
- // }
2497
- // unset($args['disable_brand']);
2498
- // }
2499
 
2500
  if (array_key_exists('disable_pixel', $args)) {
2501
  $data['disable_pixel'] = strtolower($args['disable_pixel']);
@@ -2893,6 +2882,7 @@ if (!function_exists('woo_feed_product_custom_fields')) {
2893
  'gender' => array(__('Gender', 'woo-feed'), true),
2894
  'material' => array(__('Material', 'woo-feed'), true),
2895
  'cost_of_good_sold' => array(__('Cost of good sold', 'woo-feed'), true),
 
2896
  'unit' => array(__('Unit', 'woo-feed'), true),
2897
  'unit_pricing_measure' => array(__('Unit Price Measure', 'woo-feed'), true),
2898
  'unit_pricing_base_measure' => array(__('Unit Price Base Measure', 'woo-feed'), true),
@@ -3367,8 +3357,9 @@ if (!function_exists('woo_feed_deep_term')) {
3367
  function woo_feed_deep_term($term, $taxonomy)
3368
  {
3369
 
3370
- if ($term->parent === 0)
3371
  return $term->name;
 
3372
 
3373
  $parent_term = get_term_by('term_id', $term->parent, $taxonomy);
3374
 
@@ -4723,7 +4714,6 @@ if (!function_exists('woo_feed_exclude_feed_from_comet_cache')) {
4723
  */
4724
  function woo_feed_exclude_feed_from_comet_cache()
4725
  {
4726
- //error_log( print_r( get_plugins(), true ) );
4727
  if (!is_plugin_active('comet-cache/comet-cache.php')) {
4728
  return false;
4729
  }
@@ -4974,7 +4964,7 @@ if (!function_exists('woo_feed_get_dynamic_discounted_product_price')) {
4974
  $price = woo_feed_get_price_with_tax($price, $product);
4975
  }
4976
 
4977
- return (($price > 0) && ($price < $base_price)) ? $price : $base_price;
4978
  }
4979
  }
4980
 
@@ -5017,20 +5007,22 @@ if (!class_exists('Woo_Feed_Custom_Identifier_Filter')) {
5017
 
5018
  public function accept()
5019
  {
5020
- $is_identifier = !array_key_exists(2, parent::current()) ? true : !parent::current()[2];
5021
- if ($is_identifier) {
5022
- $get_settings = woo_feed_get_options('all');
5023
- $get_identifiers = isset($get_settings['woo_feed_identifier']) ? $get_settings['woo_feed_identifier'] : array();
5024
-
5025
- if (in_array(parent::key(), array_keys($get_identifiers), true)) {
5026
- if ('enable' === $get_identifiers[parent::key()]) {
5027
- return parent::current();
5028
- }
5029
- } else {
5030
- if (parent::current()[1]) {
5031
- return parent::current();
5032
- }
5033
- }
 
 
5034
  }
5035
  }
5036
  }
539
  'tsv' => 'TSV',
540
  'xls' => 'XLS',
541
  'txt' => 'TXT',
542
+ 'json' => 'JSON',
543
  );
544
  }
545
  }
1463
  function woo_feed_save_batch_feed_info($feedService, $type, $string, $fileName, $info)
1464
  {
1465
  $ext = $type;
1466
+ if ('csv' === $type || 'tsv' === $type || 'xls' === $type || 'json' === $type) {
1467
  $string = wp_json_encode($string);
1468
  $ext = 'json';
1469
  }
1495
  function woo_feed_get_batch_feed_info($feedService, $type, $fileName)
1496
  {
1497
  $ext = $type;
1498
+ if ('csv' === $type || 'tsv' === $type || 'xls' === $type || 'json' === $type) {
1499
  $ext = 'json';
1500
  }
1501
  // Save File
1507
 
1508
  $data = file_get_contents($file); // phpcs:ignore
1509
 
1510
+ if ('csv' === $type || 'tsv' === $type || 'xls' === $type || 'json' === $type) {
1511
  $data = ($data) ? json_decode($data, true) : false;
1512
  }
1513
+
1514
  return $data;
1515
  }
1516
  }
2014
  $path = woo_feed_get_file_path($info['provider'], $info['feedType']);
2015
  $file = woo_feed_get_file($feed_option_name, $info['provider'], $info['feedType']);
2016
  $save = new Woo_Feed_Savefile();
2017
+ if ('csv' == $info['feedType'] || 'tsv' == $info['feedType'] || 'xls' == $info['feedType'] || 'json' == $info['feedType']) {
2018
  $saveFile = $save->saveValueFile($path, $file, $string, $info, $info['feedType']);
2019
  } else {
2020
  $saveFile = $save->saveFile($path, $file, $string);
2391
  'material' => 'disable',
2392
  'gender' => 'disable',
2393
  'cost_of_good_sold' => 'disable',
2394
+ 'availability_date' => 'enable',
2395
  'unit' => 'disable',
2396
  'unit_pricing_measure' => 'disable',
2397
  'unit_pricing_base_measure' => 'disable',
2485
  }
2486
  unset($args['overridden_structured_data']);
2487
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2488
 
2489
  if (array_key_exists('disable_pixel', $args)) {
2490
  $data['disable_pixel'] = strtolower($args['disable_pixel']);
2882
  'gender' => array(__('Gender', 'woo-feed'), true),
2883
  'material' => array(__('Material', 'woo-feed'), true),
2884
  'cost_of_good_sold' => array(__('Cost of good sold', 'woo-feed'), true),
2885
+ 'availability_date' => array(__('Availability Date', 'woo-feed'), true, false, false),
2886
  'unit' => array(__('Unit', 'woo-feed'), true),
2887
  'unit_pricing_measure' => array(__('Unit Price Measure', 'woo-feed'), true),
2888
  'unit_pricing_base_measure' => array(__('Unit Price Base Measure', 'woo-feed'), true),
3357
  function woo_feed_deep_term($term, $taxonomy)
3358
  {
3359
 
3360
+ if ($term->parent === 0){
3361
  return $term->name;
3362
+ }
3363
 
3364
  $parent_term = get_term_by('term_id', $term->parent, $taxonomy);
3365
 
4714
  */
4715
  function woo_feed_exclude_feed_from_comet_cache()
4716
  {
 
4717
  if (!is_plugin_active('comet-cache/comet-cache.php')) {
4718
  return false;
4719
  }
4964
  $price = woo_feed_get_price_with_tax($price, $product);
4965
  }
4966
 
4967
+ return ( isset($base_price) || ($price > 0) && ($price < $base_price) ) ? $price : $base_price;
4968
  }
4969
  }
4970
 
5007
 
5008
  public function accept()
5009
  {
5010
+ if( ! isset( parent::current()[3] ) || (isset(parent::current()[3]) && parent::current()[3] ) ) {
5011
+ $is_identifier = ! array_key_exists( 2, parent::current() ) ? true : ! parent::current()[2];
5012
+ if ( $is_identifier ) {
5013
+ $get_settings = woo_feed_get_options( 'all' );
5014
+ $get_identifiers = isset( $get_settings['woo_feed_identifier'] ) ? $get_settings['woo_feed_identifier'] : array();
5015
+
5016
+ if ( in_array( parent::key(), array_keys( $get_identifiers ), true ) ) {
5017
+ if ( 'enable' === $get_identifiers[ parent::key() ] ) {
5018
+ return parent::current();
5019
+ }
5020
+ } else {
5021
+ if ( parent::current()[1] ) {
5022
+ return parent::current();
5023
+ }
5024
+ }
5025
+ }
5026
  }
5027
  }
5028
  }
includes/hooks.php CHANGED
File without changes
includes/index.php CHANGED
File without changes
includes/log-helper.php CHANGED
File without changes
includes/pluggable.php CHANGED
@@ -26,9 +26,16 @@ if ( ! function_exists( 'woo_feed_get_category_mapping_value' ) ) {
26
  return '';
27
  }
28
 
29
- $cmapping = is_array( $getValue['cmapping'] ) ? array_reverse( $getValue['cmapping'], true ) : $getValue['cmapping'];
30
  $categories = array_reverse( get_the_terms( $product_id, 'product_cat' ) );
31
 
 
 
 
 
 
 
 
32
  // Fixes empty mapped category issue
33
  if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) {
34
  foreach ( $categories as $category ) {
@@ -39,22 +46,6 @@ if ( ! function_exists( 'woo_feed_get_category_mapping_value' ) ) {
39
  }
40
  }
41
 
42
- if( in_array( $getValue['mappingprovider'], $suggestive_category_list_merchants ) && isset( $getValue['gcl-cmapping'] ) ) {
43
-
44
- $cmapping = is_array( $getValue['gcl-cmapping'] ) ? array_reverse( $getValue['gcl-cmapping'], true ) : $getValue['gcl-cmapping'];
45
-
46
- // Fixes empty mapped category issue
47
- if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) {
48
- foreach ( $categories as $category ) {
49
- if ( isset( $cmapping[ $category->term_id ] ) && ! empty( $cmapping[ $category->term_id ] ) ) {
50
- $cat_map_value = $cmapping[ $category->term_id ];
51
- break;
52
- }
53
- }
54
- }
55
-
56
- }
57
-
58
  return $cat_map_value;
59
 
60
  }
26
  return '';
27
  }
28
 
29
+ //get product terms
30
  $categories = array_reverse( get_the_terms( $product_id, 'product_cat' ) );
31
 
32
+ //get cmapping value
33
+ if( in_array( $getValue['mappingprovider'], $suggestive_category_list_merchants ) && isset( $getValue['gcl-cmapping'] ) ) {
34
+ $cmapping = is_array( $getValue['gcl-cmapping'] ) ? array_reverse( $getValue['gcl-cmapping'], true ) : $getValue['gcl-cmapping'];
35
+ } else {
36
+ $cmapping = is_array( $getValue['cmapping'] ) ? array_reverse( $getValue['cmapping'], true ) : $getValue['cmapping'];
37
+ }
38
+
39
  // Fixes empty mapped category issue
40
  if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) {
41
  foreach ( $categories as $category ) {
46
  }
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  return $cat_map_value;
50
 
51
  }
includes/template-configs.php CHANGED
@@ -55,7 +55,7 @@ return array(
55
  'type' => array('attribute','attribute','attribute','attribute','attribute','attribute','pattern','attribute','pattern','attribute','attribute','attribute','attribute','pattern','attribute','attribute','attribute','attribute','attribute','attribute',),
56
  'attributes' => array('id','title','description','item_group_id','link','product_type','','image','','availability','price','current_price','sku','','canonical_link','image_1','image_2','image_3','image_4','image_5',),
57
  'default' => array('','','','','','','','','new','','','','',$this->brand_pattern,'','','','','','',),
58
- 'suffix' => array('','','','','','','','','','',' USD',' USD','','','','','','','','',),
59
  'output_type' => array('1','1','1','1','1','1','1','1','1','1','6','6','1','1','1','1','1','1','1','1',),
60
  'limit' => array('','','','','','','','','','','','','','','','','','','','',),
61
  ),
@@ -65,7 +65,7 @@ return array(
65
  'type' => array('attribute','attribute','attribute','attribute','attribute','attribute','pattern','attribute','pattern','attribute','attribute','attribute','attribute','pattern','attribute','attribute','attribute','attribute','attribute','attribute',),
66
  'attributes' => array('id','title','description','item_group_id','link','product_type','','image','','availability','price','current_price','sku','','quantity','image_1','image_2','image_3','image_4','image_5',),
67
  'default' => array('','','','','','','','','new','','','','',$this->brand_pattern,'','','','','','',),
68
- 'suffix' => array('','','','','','','','','','',' USD',' USD','','','','','','','','',),
69
  'output_type' => array('1','1','1','1','1','1','1','1','1','1','6','6','1','1','1','1','1','1','1','1',),
70
  'limit' => array('','','','','','','','','','','','','','','','','','','','',),
71
  ),
@@ -7475,5 +7475,15 @@ return array(
7475
  'output_type' => array('1','1','1','1','1','1','1','6','6','1','1','1','1',),
7476
  'limit' => array('','','','','','','','','','','','','',),
7477
  ),
 
 
 
 
 
 
 
 
 
 
7478
  );
7479
  // End of file merchant_templates.php
55
  'type' => array('attribute','attribute','attribute','attribute','attribute','attribute','pattern','attribute','pattern','attribute','attribute','attribute','attribute','pattern','attribute','attribute','attribute','attribute','attribute','attribute',),
56
  'attributes' => array('id','title','description','item_group_id','link','product_type','','image','','availability','price','current_price','sku','','canonical_link','image_1','image_2','image_3','image_4','image_5',),
57
  'default' => array('','','','','','','','','new','','','','',$this->brand_pattern,'','','','','','',),
58
+ 'suffix' => array('','','','','','','','','','',' ' . $this->currency,' ' . $this->currency,'','','','','','','','',),
59
  'output_type' => array('1','1','1','1','1','1','1','1','1','1','6','6','1','1','1','1','1','1','1','1',),
60
  'limit' => array('','','','','','','','','','','','','','','','','','','','',),
61
  ),
65
  'type' => array('attribute','attribute','attribute','attribute','attribute','attribute','pattern','attribute','pattern','attribute','attribute','attribute','attribute','pattern','attribute','attribute','attribute','attribute','attribute','attribute',),
66
  'attributes' => array('id','title','description','item_group_id','link','product_type','','image','','availability','price','current_price','sku','','quantity','image_1','image_2','image_3','image_4','image_5',),
67
  'default' => array('','','','','','','','','new','','','','',$this->brand_pattern,'','','','','','',),
68
+ 'suffix' => array('','','','','','','','','','',' ' . $this->currency,' ' . $this->currency,'','','','','','','','',),
69
  'output_type' => array('1','1','1','1','1','1','1','1','1','1','6','6','1','1','1','1','1','1','1','1',),
70
  'limit' => array('','','','','','','','','','','','','','','','','','','','',),
71
  ),
7475
  'output_type' => array('1','1','1','1','1','1','1','6','6','1','1','1','1',),
7476
  'limit' => array('','','','','','','','','','','','','',),
7477
  ),
7478
+ 'ecommerceit' => array(
7479
+ 'mattributes' => array('sku','qty','name','brand','category','picture_url','price','product_url','mpn','shipping_cost','max_delivery_days','delivery_label',),
7480
+ 'prefix' => array('','','','','','','','','','','','',),
7481
+ 'type' => array('attribute','attribute','attribute','pattern','attribute','attribute','attribute','attribute','pattern','attribute','pattern','pattern',),
7482
+ 'attributes' => array('sku','quantity','title','','primary_category','image','price','link','','shipping_cost','','',),
7483
+ 'default' => array('','','',$this->brand_pattern,'','','','','','','3','1-5 days',),
7484
+ 'suffix' => array('','','','','','','','','','','','',),
7485
+ 'output_type' => array('1','1','1','1','1','1','6','1','1','6','1','1',),
7486
+ 'limit' => array('','','','','','','','','','','','',),
7487
+ ),
7488
  );
7489
  // End of file merchant_templates.php
includes/template-infos.php CHANGED
@@ -15,6 +15,9 @@ return array(
15
  'default' => array(
16
  'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT' ),
17
  ),
 
 
 
18
  'google' => array(
19
  'link' => 'https://support.google.com/merchants/answer/7052112?hl=en',
20
  'video' => 'https://youtu.be/PTUYgF7DwEo',
@@ -425,5 +428,9 @@ return array(
425
  'modalova' => array(
426
  'feed_file_type' => array( 'XML' ),
427
  ),
 
 
 
 
428
  );
429
  // End of file merchant_infos.php
15
  'default' => array(
16
  'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT' ),
17
  ),
18
+ 'custom' => array(
19
+ 'feed_file_type' => array( 'XML', 'CSV', 'TSV', 'XLS', 'TXT', 'JSON' ),
20
+ ),
21
  'google' => array(
22
  'link' => 'https://support.google.com/merchants/answer/7052112?hl=en',
23
  'video' => 'https://youtu.be/PTUYgF7DwEo',
428
  'modalova' => array(
429
  'feed_file_type' => array( 'XML' ),
430
  ),
431
+ 'ecommerceit' => array(
432
+ 'link' => 'https://media.ecommerce.eu/merchant/templates/catalog.csv',
433
+ 'feed_file_type' => array( 'CSV' ),
434
+ ),
435
  );
436
  // End of file merchant_infos.php
includes/wc-legacy-support.php CHANGED
File without changes
includes/widget.php CHANGED
File without changes
index.php CHANGED
File without changes
languages/index.php CHANGED
File without changes
languages/woo-feed-en_US.mo CHANGED
File without changes
languages/woo-feed-en_US.po CHANGED
File without changes
languages/woo-feed.pot CHANGED
@@ -16,7 +16,7 @@ msgstr ""
16
  msgid "Unauthorized Action."
17
  msgstr ""
18
 
19
- #: woo-feed.php:237, woo-feed.php:356, includes/helper.php:851, includes/helper.php:1901, includes/helper.php:2922, includes/helper.php:2951, includes/helper.php:3334, includes/helper.php:3531, includes/helper.php:3559, includes/helper.php:5086, includes/helper.php:5579, includes/classes/class-woo-feed-webappick-api.php:428, includes/classes/class-woo-feed-webappick-api.php:452
20
  msgid "Invalid Request."
21
  msgstr ""
22
 
@@ -64,7 +64,7 @@ msgstr ""
64
  msgid "Invalid Merchant"
65
  msgstr ""
66
 
67
- #: admin/class-woo-feed-admin.php:148, includes/helper.php:816, includes/helper.php:929, includes/helper.php:910, includes/helper.php:898, includes/helper.php:886
68
  msgid "N/A"
69
  msgstr ""
70
 
@@ -76,7 +76,7 @@ msgstr ""
76
  msgid "Learn More.."
77
  msgstr ""
78
 
79
- #: admin/class-woo-feed-admin.php:152, includes/helper.php:3252, admin/partials/woo-feed-edit-config.php:66
80
  msgid "Select A Category"
81
  msgstr ""
82
 
@@ -148,7 +148,7 @@ msgstr ""
148
  msgid "Category Mapping"
149
  msgstr ""
150
 
151
- #: admin/class-woo-feed-admin.php:234, admin/class-woo-feed-admin.php:234, includes/classes/class-woo-feed-dropdown.php:531
152
  msgid "WP Options"
153
  msgstr ""
154
 
@@ -168,7 +168,7 @@ msgstr ""
168
  msgid "mappings"
169
  msgstr ""
170
 
171
- #: admin/class-woo-feed-category-list.php:81, admin/class-woo-feed-category-list.php:122, admin/class-woo-feed-category-list.php:217, admin/class-woo-feed-manage-list.php:163, admin/class-woo-feed-manage-list.php:271, includes/helper.php:3612
172
  msgid "Edit"
173
  msgstr ""
174
 
@@ -188,7 +188,7 @@ msgstr ""
188
  msgid "Template"
189
  msgstr ""
190
 
191
- #: admin/class-woo-feed-category-list.php:250, admin/class-woo-feed-manage-list.php:318, admin/class-woo-feed-option-list.php:248, admin/partials/woo-feed-settings.php:206
192
  msgid "Action"
193
  msgstr ""
194
 
@@ -227,7 +227,7 @@ msgstr ""
227
  msgid "Copy To Clipboard"
228
  msgstr ""
229
 
230
- #: admin/class-woo-feed-manage-list.php:117, includes/helper.php:951
231
  msgid "View"
232
  msgstr ""
233
 
@@ -433,295 +433,299 @@ msgstr ""
433
  msgid "1 Month"
434
  msgstr ""
435
 
436
- #: includes/helper.php:426, includes/helper.php:2057
437
  msgid "1 Week"
438
  msgstr ""
439
 
440
- #: includes/helper.php:427, includes/helper.php:2058
441
  msgid "24 Hours"
442
  msgstr ""
443
 
444
- #: includes/helper.php:428, includes/helper.php:2059
445
  msgid "12 Hours"
446
  msgstr ""
447
 
448
- #: includes/helper.php:429, includes/helper.php:2060
449
  msgid "6 Hours"
450
  msgstr ""
451
 
452
- #: includes/helper.php:430, includes/helper.php:2061
453
  msgid "1 Hours"
454
  msgstr ""
455
 
456
- #: includes/helper.php:827
457
  msgid "Watch Now"
458
  msgstr ""
459
 
460
- #: includes/helper.php:822, includes/helper.php:889
461
  msgid "Read Article"
462
  msgstr ""
463
 
464
- #: includes/helper.php:925
465
  msgid "Support Docs:"
466
  msgstr ""
467
 
468
- #: includes/helper.php:906
469
  msgid "Supported File Types:"
470
  msgstr ""
471
 
472
- #: includes/helper.php:894
473
  msgid "Video Documentation:"
474
  msgstr ""
475
 
476
- #: includes/helper.php:901
477
  msgid "Watch now"
478
  msgstr ""
479
 
480
- #: includes/helper.php:882
481
  msgid "Feed Specification:"
482
  msgstr ""
483
 
484
- #: includes/helper.php:952
485
  msgid "Open Feed File"
486
  msgstr ""
487
 
488
- #: includes/helper.php:1756, includes/helper.php:1757, includes/helper.php:1727, includes/helper.php:1727, includes/helper.php:1902, includes/helper.php:1965, includes/helper.php:1966, includes/helper.php:1941, includes/helper.php:1941, libs/WebAppick/AppServices/Insights.php:813, libs/WebAppick/AppServices/Promotions.php:362
489
  msgid "Invalid Request"
490
  msgstr ""
491
 
492
- #: includes/helper.php:1787
493
  msgid "Empty File Uploaded. Try again."
494
  msgstr ""
495
 
496
- #: includes/helper.php:1788
497
  msgid "Empty File"
498
  msgstr ""
499
 
500
- #: includes/helper.php:1791, includes/helper.php:1802, includes/helper.php:1814, includes/helper.php:1825, includes/helper.php:1839, includes/helper.php:1849, includes/helper.php:1861, includes/helper.php:1905
501
  msgid "&laquo; Back"
502
  msgstr ""
503
 
504
- #: includes/helper.php:1798
505
  msgid "Unable to read file content"
506
  msgstr ""
507
 
508
- #: includes/helper.php:1799, includes/helper.php:1811, includes/helper.php:1822, includes/helper.php:1836, includes/helper.php:1846, includes/helper.php:1858
509
  msgid "Invalid File"
510
  msgstr ""
511
 
512
- #: includes/helper.php:1810
513
  msgid "Unable to read data from file."
514
  msgstr ""
515
 
516
- #: includes/helper.php:1821
517
  msgid "Unable to read file info."
518
  msgstr ""
519
 
520
- #: includes/helper.php:1835
521
  msgid "Unable to read feed data from file."
522
  msgstr ""
523
 
524
- #: includes/helper.php:1845
525
  msgid "Unable to verify the file."
526
  msgstr ""
527
 
528
- #: includes/helper.php:1857
529
  msgid "Invalid or corrupted config file."
530
  msgstr ""
531
 
532
- #: includes/helper.php:1877
533
  msgid " Imported"
534
  msgstr ""
535
 
536
- #: includes/helper.php:2887
537
  msgid "Brand"
538
  msgstr ""
539
 
540
- #: includes/helper.php:2888
541
  msgid "GTIN"
542
  msgstr ""
543
 
544
- #: includes/helper.php:2889
545
  msgid "MPN"
546
  msgstr ""
547
 
548
- #: includes/helper.php:2890
549
  msgid "EAN"
550
  msgstr ""
551
 
552
- #: includes/helper.php:2891
553
  msgid "ISBN"
554
  msgstr ""
555
 
556
- #: includes/helper.php:2892
557
  msgid "Age group"
558
  msgstr ""
559
 
560
- #: includes/helper.php:2893
561
  msgid "Gender"
562
  msgstr ""
563
 
564
- #: includes/helper.php:2894
565
  msgid "Material"
566
  msgstr ""
567
 
568
- #: includes/helper.php:2895
569
  msgid "Cost of good sold"
570
  msgstr ""
571
 
572
- #: includes/helper.php:2896
 
 
 
 
573
  msgid "Unit"
574
  msgstr ""
575
 
576
- #: includes/helper.php:2897, includes/classes/class-woo-feed-dropdown.php:405
577
  msgid "Unit Price Measure"
578
  msgstr ""
579
 
580
- #: includes/helper.php:2898, includes/classes/class-woo-feed-dropdown.php:406
581
  msgid "Unit Price Base Measure"
582
  msgstr ""
583
 
584
- #: includes/helper.php:2899
585
  msgid "Custom field 0"
586
  msgstr ""
587
 
588
- #: includes/helper.php:2900
589
  msgid "Custom field 1"
590
  msgstr ""
591
 
592
- #: includes/helper.php:2901
593
  msgid "Custom field 2"
594
  msgstr ""
595
 
596
- #: includes/helper.php:2902
597
  msgid "Custom field 3"
598
  msgstr ""
599
 
600
- #: includes/helper.php:2903
601
  msgid "Custom field 4"
602
  msgstr ""
603
 
604
- #: includes/helper.php:2972, includes/helper.php:3059
605
  msgid "CUSTOM FIELDS by CTX Feed"
606
  msgstr ""
607
 
608
- #: includes/helper.php:2984
609
  msgid "Set product "
610
  msgstr ""
611
 
612
- #: includes/helper.php:2984
613
  msgid " here."
614
  msgstr ""
615
 
616
- #: includes/helper.php:3171
617
  msgid "Another category mapping exists with the same name."
618
  msgstr ""
619
 
620
- #: includes/helper.php:3180
621
  msgid "Failed To Add Mapping"
622
  msgstr ""
623
 
624
- #: includes/helper.php:3176
625
  msgid "Mapping Added Successfully"
626
  msgstr ""
627
 
628
- #: includes/helper.php:3145
629
  msgid "Mapping Not Changed"
630
  msgstr ""
631
 
632
- #: includes/helper.php:3155
633
  msgid "Failed To Updated Mapping"
634
  msgstr ""
635
 
636
- #: includes/helper.php:3151
637
  msgid "Mapping Updated Successfully"
638
  msgstr ""
639
 
640
- #: includes/helper.php:3272
641
  msgid "Copy this category to subcategories"
642
  msgstr ""
643
 
644
- #: includes/helper.php:3303
645
  msgid "Clear Cache"
646
  msgstr ""
647
 
648
- #: includes/helper.php:3527, includes/helper.php:3556, includes/classes/class-woo-feed-webappick-api.php:447
649
  msgid "Something is wrong."
650
  msgstr ""
651
 
652
- #: includes/helper.php:3525
653
  msgid "User meta updated successfully."
654
  msgstr ""
655
 
656
- #: includes/helper.php:3604, includes/helper.php:3606
657
  msgid "by CTX Feed"
658
  msgstr ""
659
 
660
- #: includes/helper.php:3607
661
  msgid "All"
662
  msgstr ""
663
 
664
- #: includes/helper.php:3608
665
  msgid "Parent"
666
  msgstr ""
667
 
668
- #: includes/helper.php:3609
669
  msgid "Parent:"
670
  msgstr ""
671
 
672
- #: includes/helper.php:3610
673
  msgid "New"
674
  msgstr ""
675
 
676
- #: includes/helper.php:3610, libs/WebAppick/AppServices/Insights.php:977
677
  msgid "Name"
678
  msgstr ""
679
 
680
- #: includes/helper.php:3611
681
  msgid "Add New"
682
  msgstr ""
683
 
684
- #: includes/helper.php:3613
685
  msgid "Update"
686
  msgstr ""
687
 
688
- #: includes/helper.php:3614
689
  msgid "Separate"
690
  msgstr ""
691
 
692
- #: includes/helper.php:3614
693
  msgid "with commas"
694
  msgstr ""
695
 
696
- #: includes/helper.php:3615
697
  msgid "Search"
698
  msgstr ""
699
 
700
- #: includes/helper.php:3616
701
  msgid "Add or remove"
702
  msgstr ""
703
 
704
- #: includes/helper.php:3617
705
  msgid "Choose from the most used"
706
  msgstr ""
707
 
708
- #: includes/helper.php:4797
709
  msgid "Option Successfully Added."
710
  msgstr ""
711
 
712
- #: includes/helper.php:4788
713
  msgid "Option Already Added."
714
  msgstr ""
715
 
716
- #: includes/helper.php:5587
717
  msgid "Feed data is empty. Can't duplicate feed."
718
  msgstr ""
719
 
720
- #: includes/helper.php:5603
721
  msgid "Unable to save the duplicate feed data."
722
  msgstr ""
723
 
724
- #: includes/helper.php:5613
725
  msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
726
  msgstr ""
727
 
@@ -730,39 +734,39 @@ msgstr ""
730
  msgid "%1$s in %2$s on line %3$s"
731
  msgstr ""
732
 
733
- #: includes/template-infos.php:23
734
  msgid "How to make google merchant feed?"
735
  msgstr ""
736
 
737
- #: includes/template-infos.php:24
738
  msgid "How to configure shipping info?"
739
  msgstr ""
740
 
741
- #: includes/template-infos.php:25
742
  msgid "How to set price with tax?"
743
  msgstr ""
744
 
745
- #: includes/template-infos.php:26, includes/template-infos.php:62
746
  msgid "How to configure google product categories?"
747
  msgstr ""
748
 
749
- #: includes/template-infos.php:173
750
  msgid "Validator"
751
  msgstr ""
752
 
753
- #: includes/template-infos.php:185
754
  msgid "Set up return policies for Shopping Actions"
755
  msgstr ""
756
 
757
- #: includes/template-infos.php:186
758
  msgid "Set up a return address for Shopping Actions"
759
  msgstr ""
760
 
761
- #: includes/template-infos.php:194, includes/template-infos.php:203, includes/template-infos.php:212, includes/template-infos.php:221, includes/template-infos.php:230, includes/template-infos.php:239, includes/template-infos.php:248, includes/template-infos.php:257, includes/template-infos.php:266, includes/template-infos.php:275, includes/template-infos.php:284, includes/template-infos.php:293, includes/template-infos.php:302, includes/template-infos.php:311, includes/template-infos.php:320, includes/template-infos.php:329, includes/template-infos.php:338, includes/template-infos.php:347, includes/template-infos.php:356, includes/template-infos.php:365, includes/template-infos.php:374
762
  msgid "Feed Field Data Types"
763
  msgstr ""
764
 
765
- #: includes/template-infos.php:195, includes/template-infos.php:204, includes/template-infos.php:213, includes/template-infos.php:222, includes/template-infos.php:231, includes/template-infos.php:240, includes/template-infos.php:249, includes/template-infos.php:258, includes/template-infos.php:267, includes/template-infos.php:276, includes/template-infos.php:285, includes/template-infos.php:294, includes/template-infos.php:303, includes/template-infos.php:312, includes/template-infos.php:321, includes/template-infos.php:330, includes/template-infos.php:339, includes/template-infos.php:348, includes/template-infos.php:357, includes/template-infos.php:366, includes/template-infos.php:375
766
  msgid "Product Feed Standard"
767
  msgstr ""
768
 
@@ -966,11 +970,11 @@ msgstr ""
966
  msgid "Learn more about Campaign URL"
967
  msgstr ""
968
 
969
- #: admin/partials/woo-feed-edit-ftp.php:15, admin/partials/woo-feed-edit-ftp.php:19, admin/partials/woo-feed-settings.php:130, admin/partials/woo-feed-settings.php:149, admin/partials/woo-feed-settings.php:161, admin/partials/woo-feed-settings.php:173, admin/partials/woo-feed-settings.php:185
970
  msgid "Enabled"
971
  msgstr ""
972
 
973
- #: admin/partials/woo-feed-edit-ftp.php:18, admin/partials/woo-feed-settings.php:129, admin/partials/woo-feed-settings.php:148, admin/partials/woo-feed-settings.php:160, admin/partials/woo-feed-settings.php:172, admin/partials/woo-feed-settings.php:184
974
  msgid "Disabled"
975
  msgstr ""
976
 
@@ -1138,131 +1142,131 @@ msgstr ""
1138
  msgid "Version "
1139
  msgstr ""
1140
 
1141
- #: admin/partials/woo-feed-settings.php:39
1142
  msgid "Product per batch"
1143
  msgstr ""
1144
 
1145
- #: admin/partials/woo-feed-settings.php:42, admin/partials/woo-feed-settings.php:53, admin/partials/woo-feed-settings.php:64
1146
  msgid "Don't change the value if you are not sure about this. Plugin may fail to make feed."
1147
  msgstr ""
1148
 
1149
- #: admin/partials/woo-feed-settings.php:46
1150
  msgid "Product Query Type"
1151
  msgstr ""
1152
 
1153
- #: admin/partials/woo-feed-settings.php:57
1154
  msgid "Variation Query Type"
1155
  msgstr ""
1156
 
1157
- #: admin/partials/woo-feed-settings.php:68
1158
  msgid "Debug Mode"
1159
  msgstr ""
1160
 
1161
- #: admin/partials/woo-feed-settings.php:72, admin/partials/woo-feed-settings.php:117
1162
  msgid "Off"
1163
  msgstr ""
1164
 
1165
- #: admin/partials/woo-feed-settings.php:73, admin/partials/woo-feed-settings.php:118
1166
  msgid "On"
1167
  msgstr ""
1168
 
1169
- #: admin/partials/woo-feed-settings.php:76
1170
  msgid "Clear All Log Data"
1171
  msgstr ""
1172
 
1173
- #: admin/partials/woo-feed-settings.php:78
1174
  msgid "Enabling Logging will decrease performance of feed generation."
1175
  msgstr ""
1176
 
1177
- #: admin/partials/woo-feed-settings.php:82
1178
  msgid "Send Debug Info"
1179
  msgstr ""
1180
 
1181
- #: admin/partials/woo-feed-settings.php:85
1182
  msgid "Allow CTXFeed To Collect Debug Info."
1183
  msgstr ""
1184
 
1185
- #: admin/partials/woo-feed-settings.php:87
1186
  msgid "To opt out, leave this box unchecked. Your Feed Data remains un-tracked, and no data will be collected. No sensitive data is tracked."
1187
  msgstr ""
1188
 
1189
- #: admin/partials/woo-feed-settings.php:87
1190
  msgid "See What We Collect."
1191
  msgstr ""
1192
 
1193
- #: admin/partials/woo-feed-settings.php:99
1194
  msgid "CTXFeed Cache TTL"
1195
  msgstr ""
1196
 
1197
- #: admin/partials/woo-feed-settings.php:107
1198
  msgid "Purge Cache Now"
1199
  msgstr ""
1200
 
1201
- #: admin/partials/woo-feed-settings.php:109
1202
  msgid "When to expire the Cache."
1203
  msgstr ""
1204
 
1205
- #: admin/partials/woo-feed-settings.php:113
1206
  msgid "WooCommerce Default Schema Override "
1207
  msgstr ""
1208
 
1209
- #: admin/partials/woo-feed-settings.php:121
1210
  msgid "Turn off when you don't want to override default WooCommerce Product Schema"
1211
  msgstr ""
1212
 
1213
- #: admin/partials/woo-feed-settings.php:125
1214
  msgid "Disable/Enable Facebook Pixel"
1215
  msgstr ""
1216
 
1217
- #: admin/partials/woo-feed-settings.php:133
1218
  msgid "Disables or Enables Facebook Pixel ID’s for Variation"
1219
  msgstr ""
1220
 
1221
- #: admin/partials/woo-feed-settings.php:137
1222
- msgid "Facebook Pixel Content ID’s for Variation"
1223
  msgstr ""
1224
 
1225
- #: admin/partials/woo-feed-settings.php:140
1226
  msgid "Insert your Facebook Pixel ID"
1227
  msgstr ""
1228
 
1229
- #: admin/partials/woo-feed-settings.php:144
1230
  msgid "Add Shipping/Tax info for all countries to feed (Google Shopping)"
1231
  msgstr ""
1232
 
1233
- #: admin/partials/woo-feed-settings.php:152
1234
  msgid "Disable or Enable all shipping to feed"
1235
  msgstr ""
1236
 
1237
- #: admin/partials/woo-feed-settings.php:156
1238
  msgid "Remove all other shipping classes when free shipping criteria are met (Google Shopping / Facebook only)"
1239
  msgstr ""
1240
 
1241
- #: admin/partials/woo-feed-settings.php:164
1242
  msgid "Disable or Enable all shipping when free shipping is exists"
1243
  msgstr ""
1244
 
1245
- #: admin/partials/woo-feed-settings.php:168
1246
  msgid "Remove the local pickup shipping zone from feed (Google Shopping)"
1247
  msgstr ""
1248
 
1249
- #: admin/partials/woo-feed-settings.php:176
1250
  msgid "Disable or Enable all shipping when local pickup shipping is exists"
1251
  msgstr ""
1252
 
1253
- #: admin/partials/woo-feed-settings.php:180
1254
  msgid "Enable FTP Upload"
1255
  msgstr ""
1256
 
1257
- #: admin/partials/woo-feed-settings.php:188
1258
  msgid "Disable or Enable FTP upload setting"
1259
  msgstr ""
1260
 
1261
- #: admin/partials/woo-feed-settings.php:195
1262
  msgid "Save Changes"
1263
  msgstr ""
1264
 
1265
- #: admin/partials/woo-feed-settings.php:205
1266
  msgid "Custom Fields"
1267
  msgstr ""
1268
 
@@ -1348,415 +1352,415 @@ msgstr ""
1348
  msgid "Product Id"
1349
  msgstr ""
1350
 
1351
- #: includes/classes/class-woo-feed-dropdown.php:315, includes/classes/class-woo-feed-products.php:1712
 
 
 
 
1352
  msgid "Product Title"
1353
  msgstr ""
1354
 
1355
- #: includes/classes/class-woo-feed-dropdown.php:316
1356
  msgid "Parent Title"
1357
  msgstr ""
1358
 
1359
- #: includes/classes/class-woo-feed-dropdown.php:317, includes/classes/class-woo-feed-products.php:1713
1360
  msgid "Product Description"
1361
  msgstr ""
1362
 
1363
- #: includes/classes/class-woo-feed-dropdown.php:318
1364
  msgid "Product Description (with HTML)"
1365
  msgstr ""
1366
 
1367
- #: includes/classes/class-woo-feed-dropdown.php:319, includes/classes/class-woo-feed-products.php:1714
1368
  msgid "Product Short Description"
1369
  msgstr ""
1370
 
1371
- #: includes/classes/class-woo-feed-dropdown.php:320
1372
  msgid "Parent Category"
1373
  msgstr ""
1374
 
1375
- #: includes/classes/class-woo-feed-dropdown.php:321
1376
  msgid "Parent Category ID"
1377
  msgstr ""
1378
 
1379
- #: includes/classes/class-woo-feed-dropdown.php:322
1380
  msgid "Child Category"
1381
  msgstr ""
1382
 
1383
- #: includes/classes/class-woo-feed-dropdown.php:323
1384
  msgid "Child Category ID"
1385
  msgstr ""
1386
 
1387
- #: includes/classes/class-woo-feed-dropdown.php:324
1388
  msgid "Product Category [Category Path]"
1389
  msgstr ""
1390
 
1391
- #: includes/classes/class-woo-feed-dropdown.php:325
1392
  msgid "Product Full Category [Category Full Path]"
1393
  msgstr ""
1394
 
1395
- #: includes/classes/class-woo-feed-dropdown.php:326, includes/classes/class-woo-feed-products.php:1716
1396
  msgid "Product URL"
1397
  msgstr ""
1398
 
1399
- #: includes/classes/class-woo-feed-dropdown.php:327
1400
  msgid "Parent URL"
1401
  msgstr ""
1402
 
1403
- #: includes/classes/class-woo-feed-dropdown.php:328
1404
  msgid "Canonical URL"
1405
  msgstr ""
1406
 
1407
- #: includes/classes/class-woo-feed-dropdown.php:329, includes/classes/class-woo-feed-products.php:1717
1408
  msgid "External Product URL"
1409
  msgstr ""
1410
 
1411
- #: includes/classes/class-woo-feed-dropdown.php:330
1412
  msgid "Add to Cart URL"
1413
  msgstr ""
1414
 
1415
- #: includes/classes/class-woo-feed-dropdown.php:331, includes/classes/class-woo-feed-products.php:1719
1416
  msgid "Parent Id [Group Id]"
1417
  msgstr ""
1418
 
1419
- #: includes/classes/class-woo-feed-dropdown.php:332, includes/classes/class-woo-feed-products.php:1720
1420
  msgid "SKU"
1421
  msgstr ""
1422
 
1423
- #: includes/classes/class-woo-feed-dropdown.php:333
1424
  msgid "SKU_ID"
1425
  msgstr ""
1426
 
1427
- #: includes/classes/class-woo-feed-dropdown.php:334, includes/classes/class-woo-feed-products.php:1721
1428
  msgid "Parent SKU"
1429
  msgstr ""
1430
 
1431
- #: includes/classes/class-woo-feed-dropdown.php:335, includes/classes/class-woo-feed-products.php:1722
1432
  msgid "Availability"
1433
  msgstr ""
1434
 
1435
- #: includes/classes/class-woo-feed-dropdown.php:336, libs/WebAppick/Attributes/AvailabilityDate.php:47, libs/WebAppick/Attributes/AvailabilityDate.php:77
1436
- msgid "Availability Date"
1437
- msgstr ""
1438
-
1439
- #: includes/classes/class-woo-feed-dropdown.php:337, includes/classes/class-woo-feed-products.php:1723
1440
  msgid "Quantity"
1441
  msgstr ""
1442
 
1443
- #: includes/classes/class-woo-feed-dropdown.php:338, includes/classes/class-woo-feed-products.php:1724
1444
  msgid "Regular Price"
1445
  msgstr ""
1446
 
1447
- #: includes/classes/class-woo-feed-dropdown.php:339, includes/classes/class-woo-feed-products.php:1725
1448
  msgid "Price"
1449
  msgstr ""
1450
 
1451
- #: includes/classes/class-woo-feed-dropdown.php:340, includes/classes/class-woo-feed-products.php:1726
1452
  msgid "Sale Price"
1453
  msgstr ""
1454
 
1455
- #: includes/classes/class-woo-feed-dropdown.php:341, includes/classes/class-woo-feed-products.php:1727
1456
  msgid "Regular Price With Tax"
1457
  msgstr ""
1458
 
1459
- #: includes/classes/class-woo-feed-dropdown.php:342, includes/classes/class-woo-feed-products.php:1728
1460
  msgid "Price With Tax"
1461
  msgstr ""
1462
 
1463
- #: includes/classes/class-woo-feed-dropdown.php:343, includes/classes/class-woo-feed-products.php:1729
1464
  msgid "Sale Price With Tax"
1465
  msgstr ""
1466
 
1467
- #: includes/classes/class-woo-feed-dropdown.php:344, includes/classes/class-woo-feed-products.php:1730
1468
  msgid "Sale Start Date"
1469
  msgstr ""
1470
 
1471
- #: includes/classes/class-woo-feed-dropdown.php:345, includes/classes/class-woo-feed-products.php:1731
1472
  msgid "Sale End Date"
1473
  msgstr ""
1474
 
1475
- #: includes/classes/class-woo-feed-dropdown.php:346
1476
  msgid "Reviewer Name"
1477
  msgstr ""
1478
 
1479
- #: includes/classes/class-woo-feed-dropdown.php:347, includes/classes/class-woo-feed-products.php:1732
1480
  msgid "Weight"
1481
  msgstr ""
1482
 
1483
- #: includes/classes/class-woo-feed-dropdown.php:348
1484
  msgid "Weight Unit"
1485
  msgstr ""
1486
 
1487
- #: includes/classes/class-woo-feed-dropdown.php:349, includes/classes/class-woo-feed-products.php:1733
1488
  msgid "Width"
1489
  msgstr ""
1490
 
1491
- #: includes/classes/class-woo-feed-dropdown.php:350, includes/classes/class-woo-feed-products.php:1734
1492
  msgid "Height"
1493
  msgstr ""
1494
 
1495
- #: includes/classes/class-woo-feed-dropdown.php:351, includes/classes/class-woo-feed-products.php:1735
1496
  msgid "Length"
1497
  msgstr ""
1498
 
1499
- #: includes/classes/class-woo-feed-dropdown.php:352
1500
  msgid "Shipping (Google Format)"
1501
  msgstr ""
1502
 
1503
- #: includes/classes/class-woo-feed-dropdown.php:353
1504
  msgid "Shipping Cost"
1505
  msgstr ""
1506
 
1507
- #: includes/classes/class-woo-feed-dropdown.php:354, includes/classes/class-woo-feed-products.php:1736
1508
  msgid "Shipping Class"
1509
  msgstr ""
1510
 
1511
- #: includes/classes/class-woo-feed-dropdown.php:355, includes/classes/class-woo-feed-products.php:1737
1512
  msgid "Product Type"
1513
  msgstr ""
1514
 
1515
- #: includes/classes/class-woo-feed-dropdown.php:356, includes/classes/class-woo-feed-products.php:1738
1516
  msgid "Variation Type"
1517
  msgstr ""
1518
 
1519
- #: includes/classes/class-woo-feed-dropdown.php:357, includes/classes/class-woo-feed-products.php:1739
1520
  msgid "Visibility"
1521
  msgstr ""
1522
 
1523
- #: includes/classes/class-woo-feed-dropdown.php:358, includes/classes/class-woo-feed-products.php:1740
1524
  msgid "Total Rating"
1525
  msgstr ""
1526
 
1527
- #: includes/classes/class-woo-feed-dropdown.php:359, includes/classes/class-woo-feed-products.php:1741
1528
  msgid "Average Rating"
1529
  msgstr ""
1530
 
1531
- #: includes/classes/class-woo-feed-dropdown.php:360, includes/classes/class-woo-feed-products.php:1742
1532
  msgid "Tags"
1533
  msgstr ""
1534
 
1535
- #: includes/classes/class-woo-feed-dropdown.php:361, includes/classes/class-woo-feed-products.php:1743
1536
  msgid "Sale Price Effective Date"
1537
  msgstr ""
1538
 
1539
- #: includes/classes/class-woo-feed-dropdown.php:362, includes/classes/class-woo-feed-products.php:1744
1540
  msgid "Is Bundle"
1541
  msgstr ""
1542
 
1543
- #: includes/classes/class-woo-feed-dropdown.php:363, includes/classes/class-woo-feed-products.php:1745
1544
  msgid "Author Name"
1545
  msgstr ""
1546
 
1547
- #: includes/classes/class-woo-feed-dropdown.php:364, includes/classes/class-woo-feed-products.php:1746
1548
  msgid "Author Email"
1549
  msgstr ""
1550
 
1551
- #: includes/classes/class-woo-feed-dropdown.php:365, includes/classes/class-woo-feed-products.php:1747
1552
  msgid "Date Created"
1553
  msgstr ""
1554
 
1555
- #: includes/classes/class-woo-feed-dropdown.php:366, includes/classes/class-woo-feed-products.php:1748
1556
  msgid "Date Updated"
1557
  msgstr ""
1558
 
1559
- #: includes/classes/class-woo-feed-dropdown.php:367
1560
  msgid "Tax"
1561
  msgstr ""
1562
 
1563
- #: includes/classes/class-woo-feed-dropdown.php:368
1564
  msgid "Tax Class"
1565
  msgstr ""
1566
 
1567
- #: includes/classes/class-woo-feed-dropdown.php:369
1568
  msgid "Tax Status"
1569
  msgstr ""
1570
 
1571
- #: includes/classes/class-woo-feed-dropdown.php:378
1572
  msgid "Custom Fields by CTX Feed"
1573
  msgstr ""
1574
 
1575
- #: includes/classes/class-woo-feed-dropdown.php:388
1576
  msgid "Subscription & Installment"
1577
  msgstr ""
1578
 
1579
- #: includes/classes/class-woo-feed-dropdown.php:392
1580
  msgid "Subscription Period"
1581
  msgstr ""
1582
 
1583
- #: includes/classes/class-woo-feed-dropdown.php:393
1584
  msgid "Subscription Period Length"
1585
  msgstr ""
1586
 
1587
- #: includes/classes/class-woo-feed-dropdown.php:394
1588
  msgid "Subscription Amount"
1589
  msgstr ""
1590
 
1591
- #: includes/classes/class-woo-feed-dropdown.php:395
1592
  msgid "Installment Months"
1593
  msgstr ""
1594
 
1595
- #: includes/classes/class-woo-feed-dropdown.php:396
1596
  msgid "Installment Amount"
1597
  msgstr ""
1598
 
1599
- #: includes/classes/class-woo-feed-dropdown.php:423
1600
  msgid "Unit Price"
1601
  msgstr ""
1602
 
1603
- #: includes/classes/class-woo-feed-dropdown.php:410
1604
  msgid "WooCommerce Germanized"
1605
  msgstr ""
1606
 
1607
- #: includes/classes/class-woo-feed-dropdown.php:431
1608
  msgid "ALL IN ONE SEO"
1609
  msgstr ""
1610
 
1611
- #: includes/classes/class-woo-feed-dropdown.php:435, includes/classes/class-woo-feed-products.php:1769
1612
  msgid "Title [All in One SEO]"
1613
  msgstr ""
1614
 
1615
- #: includes/classes/class-woo-feed-dropdown.php:436, includes/classes/class-woo-feed-products.php:1770
1616
  msgid "Description [All in One SEO]"
1617
  msgstr ""
1618
 
1619
- #: includes/classes/class-woo-feed-dropdown.php:437
1620
  msgid "Canonical URL [All in One SEO]"
1621
  msgstr ""
1622
 
1623
- #: includes/classes/class-woo-feed-dropdown.php:445
1624
  msgid "Yoast SEO"
1625
  msgstr ""
1626
 
1627
- #: includes/classes/class-woo-feed-dropdown.php:448, includes/classes/class-woo-feed-products.php:1776
1628
  msgid "Title [Yoast SEO]"
1629
  msgstr ""
1630
 
1631
- #: includes/classes/class-woo-feed-dropdown.php:449, includes/classes/class-woo-feed-products.php:1777
1632
  msgid "Description [Yoast SEO]"
1633
  msgstr ""
1634
 
1635
- #: includes/classes/class-woo-feed-dropdown.php:450
1636
  msgid "Canonical URL [Yoast SEO]"
1637
  msgstr ""
1638
 
1639
- #: includes/classes/class-woo-feed-dropdown.php:456
1640
  msgid "GTIN8 [Yoast SEO]"
1641
  msgstr ""
1642
 
1643
- #: includes/classes/class-woo-feed-dropdown.php:457
1644
  msgid "GTIN12 / UPC [Yoast SEO]"
1645
  msgstr ""
1646
 
1647
- #: includes/classes/class-woo-feed-dropdown.php:458
1648
  msgid "GTIN13 / EAN [Yoast SEO]"
1649
  msgstr ""
1650
 
1651
- #: includes/classes/class-woo-feed-dropdown.php:459
1652
  msgid "GTIN14 / ITF-14 [Yoast SEO]"
1653
  msgstr ""
1654
 
1655
- #: includes/classes/class-woo-feed-dropdown.php:460
1656
  msgid "ISBN [Yoast SEO]"
1657
  msgstr ""
1658
 
1659
- #: includes/classes/class-woo-feed-dropdown.php:461
1660
  msgid "MPN [Yoast SEO]"
1661
  msgstr ""
1662
 
1663
- #: includes/classes/class-woo-feed-dropdown.php:474
1664
  msgid "Rank Math SEO"
1665
  msgstr ""
1666
 
1667
- #: includes/classes/class-woo-feed-dropdown.php:478
1668
  msgid "Title [RankMath SEO]"
1669
  msgstr ""
1670
 
1671
- #: includes/classes/class-woo-feed-dropdown.php:479
1672
  msgid "Description [RankMath SEO]"
1673
  msgstr ""
1674
 
1675
- #: includes/classes/class-woo-feed-dropdown.php:480
1676
  msgid "Canonical URL [RankMath SEO]"
1677
  msgstr ""
1678
 
1679
- #: includes/classes/class-woo-feed-dropdown.php:481
1680
  msgid "GTIN [RankMath Pro SEO]"
1681
  msgstr ""
1682
 
1683
- #: includes/classes/class-woo-feed-dropdown.php:488, includes/classes/class-woo-feed-products.php:1793
1684
  msgid "Image Attributes"
1685
  msgstr ""
1686
 
1687
- #: includes/classes/class-woo-feed-dropdown.php:490, includes/classes/class-woo-feed-products.php:1751
1688
  msgid "Main Image"
1689
  msgstr ""
1690
 
1691
- #: includes/classes/class-woo-feed-dropdown.php:491, includes/classes/class-woo-feed-products.php:1752
1692
  msgid "Featured Image"
1693
  msgstr ""
1694
 
1695
- #: includes/classes/class-woo-feed-dropdown.php:492, includes/classes/class-woo-feed-products.php:1753
1696
  msgid "Images [Comma Separated]"
1697
  msgstr ""
1698
 
1699
- #: includes/classes/class-woo-feed-dropdown.php:493, includes/classes/class-woo-feed-products.php:1754
1700
  msgid "Additional Image 1"
1701
  msgstr ""
1702
 
1703
- #: includes/classes/class-woo-feed-dropdown.php:494, includes/classes/class-woo-feed-products.php:1755
1704
  msgid "Additional Image 2"
1705
  msgstr ""
1706
 
1707
- #: includes/classes/class-woo-feed-dropdown.php:495, includes/classes/class-woo-feed-products.php:1756
1708
  msgid "Additional Image 3"
1709
  msgstr ""
1710
 
1711
- #: includes/classes/class-woo-feed-dropdown.php:496, includes/classes/class-woo-feed-products.php:1757
1712
  msgid "Additional Image 4"
1713
  msgstr ""
1714
 
1715
- #: includes/classes/class-woo-feed-dropdown.php:497, includes/classes/class-woo-feed-products.php:1758
1716
  msgid "Additional Image 5"
1717
  msgstr ""
1718
 
1719
- #: includes/classes/class-woo-feed-dropdown.php:498, includes/classes/class-woo-feed-products.php:1759
1720
  msgid "Additional Image 6"
1721
  msgstr ""
1722
 
1723
- #: includes/classes/class-woo-feed-dropdown.php:499, includes/classes/class-woo-feed-products.php:1760
1724
  msgid "Additional Image 7"
1725
  msgstr ""
1726
 
1727
- #: includes/classes/class-woo-feed-dropdown.php:500, includes/classes/class-woo-feed-products.php:1761
1728
  msgid "Additional Image 8"
1729
  msgstr ""
1730
 
1731
- #: includes/classes/class-woo-feed-dropdown.php:501, includes/classes/class-woo-feed-products.php:1762
1732
  msgid "Additional Image 9"
1733
  msgstr ""
1734
 
1735
- #: includes/classes/class-woo-feed-dropdown.php:502, includes/classes/class-woo-feed-products.php:1763
1736
  msgid "Additional Image 10"
1737
  msgstr ""
1738
 
1739
- #: includes/classes/class-woo-feed-dropdown.php:509
1740
  msgid "Product Attributes"
1741
  msgstr ""
1742
 
1743
- #: includes/classes/class-woo-feed-dropdown.php:517, includes/classes/class-woo-feed-products.php:1813
1744
  msgid "Product Custom Attributes"
1745
  msgstr ""
1746
 
1747
- #: includes/classes/class-woo-feed-dropdown.php:524
1748
  msgid "Product Taxonomies"
1749
  msgstr ""
1750
 
1751
- #: includes/classes/class-woo-feed-dropdown.php:539
1752
  msgid "Category Mappings"
1753
  msgstr ""
1754
 
1755
- #: includes/classes/class-woo-feed-dropdown.php:545
1756
  msgid "Custom Fields & Post Metas (Premium)"
1757
  msgstr ""
1758
 
1759
- #: includes/classes/class-woo-feed-dropdown.php:586, includes/classes/class-woo-feed-products.php:1803
1760
  msgid "Select Attributes"
1761
  msgstr ""
1762
 
@@ -2115,222 +2119,226 @@ msgid "Dooyoo"
2115
  msgstr ""
2116
 
2117
  #: includes/classes/class-woo-feed-merchant.php:392
2118
- msgid "Etsy"
2119
  msgstr ""
2120
 
2121
  #: includes/classes/class-woo-feed-merchant.php:393
2122
- msgid "Fruugo"
2123
  msgstr ""
2124
 
2125
  #: includes/classes/class-woo-feed-merchant.php:394
2126
- msgid "Fashionchick.nl"
2127
  msgstr ""
2128
 
2129
  #: includes/classes/class-woo-feed-merchant.php:395
2130
- msgid "Fruugoaustralia.com"
2131
  msgstr ""
2132
 
2133
  #: includes/classes/class-woo-feed-merchant.php:396
2134
- msgid "Fyndiq.se"
2135
  msgstr ""
2136
 
2137
  #: includes/classes/class-woo-feed-merchant.php:397
2138
- msgid "GoedGeplaatst.nl"
2139
  msgstr ""
2140
 
2141
  #: includes/classes/class-woo-feed-merchant.php:398
2142
- msgid "Heureka.sk"
2143
  msgstr ""
2144
 
2145
  #: includes/classes/class-woo-feed-merchant.php:399
2146
- msgid "Hintaseuranta.fi"
2147
  msgstr ""
2148
 
2149
  #: includes/classes/class-woo-feed-merchant.php:400
2150
- msgid "Incurvy"
2151
  msgstr ""
2152
 
2153
  #: includes/classes/class-woo-feed-merchant.php:401
2154
- msgid "Jet.com"
2155
  msgstr ""
2156
 
2157
  #: includes/classes/class-woo-feed-merchant.php:402
2158
- msgid "Kelkoo"
2159
  msgstr ""
2160
 
2161
  #: includes/classes/class-woo-feed-merchant.php:403
2162
- msgid "Kieskeurig.nl"
2163
  msgstr ""
2164
 
2165
  #: includes/classes/class-woo-feed-merchant.php:404
2166
- msgid "Kijiji.ca"
2167
  msgstr ""
2168
 
2169
  #: includes/classes/class-woo-feed-merchant.php:405
2170
- msgid "LeGuide"
2171
  msgstr ""
2172
 
2173
  #: includes/classes/class-woo-feed-merchant.php:406
2174
- msgid "Marktplaats.nl"
2175
  msgstr ""
2176
 
2177
  #: includes/classes/class-woo-feed-merchant.php:407
2178
- msgid "Miinto.nl"
2179
  msgstr ""
2180
 
2181
  #: includes/classes/class-woo-feed-merchant.php:408
2182
- msgid "Modalova"
2183
  msgstr ""
2184
 
2185
  #: includes/classes/class-woo-feed-merchant.php:409
2186
- msgid "Modina.de"
2187
  msgstr ""
2188
 
2189
  #: includes/classes/class-woo-feed-merchant.php:410
2190
- msgid "Moebel.de"
2191
  msgstr ""
2192
 
2193
  #: includes/classes/class-woo-feed-merchant.php:411
2194
- msgid "Myshopping.com.au"
2195
  msgstr ""
2196
 
2197
  #: includes/classes/class-woo-feed-merchant.php:412
2198
- msgid "TheNextAd"
2199
  msgstr ""
2200
 
2201
  #: includes/classes/class-woo-feed-merchant.php:413
2202
- msgid "Nextag"
2203
  msgstr ""
2204
 
2205
  #: includes/classes/class-woo-feed-merchant.php:414
2206
- msgid "Polyvore"
2207
  msgstr ""
2208
 
2209
  #: includes/classes/class-woo-feed-merchant.php:415
2210
- msgid "Price Grabber"
2211
  msgstr ""
2212
 
2213
  #: includes/classes/class-woo-feed-merchant.php:416
2214
- msgid "Prisjakt"
2215
  msgstr ""
2216
 
2217
  #: includes/classes/class-woo-feed-merchant.php:417
2218
- msgid "Profit Share"
2219
  msgstr ""
2220
 
2221
  #: includes/classes/class-woo-feed-merchant.php:418
2222
- msgid "Rakuten.de"
2223
  msgstr ""
2224
 
2225
  #: includes/classes/class-woo-feed-merchant.php:419
2226
- msgid "Real"
2227
  msgstr ""
2228
 
2229
  #: includes/classes/class-woo-feed-merchant.php:420
2230
- msgid "ShareASale"
2231
  msgstr ""
2232
 
2233
  #: includes/classes/class-woo-feed-merchant.php:421
2234
- msgid "Shopalike.fr"
2235
  msgstr ""
2236
 
2237
  #: includes/classes/class-woo-feed-merchant.php:422
2238
- msgid "Shopbot"
2239
  msgstr ""
2240
 
2241
  #: includes/classes/class-woo-feed-merchant.php:423
2242
- msgid "Shopmania"
2243
  msgstr ""
2244
 
2245
  #: includes/classes/class-woo-feed-merchant.php:424
2246
- msgid "Shopping.com"
2247
  msgstr ""
2248
 
2249
  #: includes/classes/class-woo-feed-merchant.php:425
2250
- msgid "Shopzilla"
2251
  msgstr ""
2252
 
2253
  #: includes/classes/class-woo-feed-merchant.php:426
2254
- msgid "SkinFlint.co.uk"
2255
  msgstr ""
2256
 
2257
  #: includes/classes/class-woo-feed-merchant.php:427
2258
- msgid "Skroutz.gr"
2259
  msgstr ""
2260
 
2261
  #: includes/classes/class-woo-feed-merchant.php:428
2262
- msgid "Smartly.io"
2263
  msgstr ""
2264
 
2265
  #: includes/classes/class-woo-feed-merchant.php:429
2266
- msgid "Spartoo.fi"
2267
  msgstr ""
2268
 
2269
  #: includes/classes/class-woo-feed-merchant.php:430
2270
- msgid "Shopee"
2271
  msgstr ""
2272
 
2273
  #: includes/classes/class-woo-feed-merchant.php:431
2274
- msgid "Stylight.com"
2275
  msgstr ""
2276
 
2277
  #: includes/classes/class-woo-feed-merchant.php:432
2278
- msgid "Trovaprezzi.it"
2279
  msgstr ""
2280
 
2281
  #: includes/classes/class-woo-feed-merchant.php:433
2282
- msgid "Twenga"
2283
  msgstr ""
2284
 
2285
  #: includes/classes/class-woo-feed-merchant.php:434
2286
- msgid "Tweakers (XML)"
2287
  msgstr ""
2288
 
2289
  #: includes/classes/class-woo-feed-merchant.php:435
2290
- msgid "Tweakers (CSV)"
2291
  msgstr ""
2292
 
2293
  #: includes/classes/class-woo-feed-merchant.php:436
2294
- msgid "Vertaa.fi"
2295
  msgstr ""
2296
 
2297
  #: includes/classes/class-woo-feed-merchant.php:437
2298
- msgid "Walmart"
2299
  msgstr ""
2300
 
2301
  #: includes/classes/class-woo-feed-merchant.php:438
2302
- msgid "Webmarchand"
2303
  msgstr ""
2304
 
2305
  #: includes/classes/class-woo-feed-merchant.php:439
2306
- msgid "Wine Searcher"
2307
  msgstr ""
2308
 
2309
  #: includes/classes/class-woo-feed-merchant.php:440
2310
- msgid "Wish.com"
2311
  msgstr ""
2312
 
2313
  #: includes/classes/class-woo-feed-merchant.php:441
2314
- msgid "Yahoo NFA"
2315
  msgstr ""
2316
 
2317
  #: includes/classes/class-woo-feed-merchant.php:442
2318
- msgid "Zap.co.il"
2319
  msgstr ""
2320
 
2321
  #: includes/classes/class-woo-feed-merchant.php:443
2322
- msgid "Zbozi.cz"
2323
  msgstr ""
2324
 
2325
  #: includes/classes/class-woo-feed-merchant.php:444
2326
- msgid "Zalando"
2327
  msgstr ""
2328
 
2329
  #: includes/classes/class-woo-feed-merchant.php:445
2330
- msgid "Admarkt(marktplaats)"
2331
  msgstr ""
2332
 
2333
  #: includes/classes/class-woo-feed-merchant.php:446
 
 
 
 
2334
  msgid "GLAMI"
2335
  msgstr ""
2336
 
16
  msgid "Unauthorized Action."
17
  msgstr ""
18
 
19
+ #: woo-feed.php:237, woo-feed.php:356, includes/helper.php:852, includes/helper.php:1903, includes/helper.php:2912, includes/helper.php:2941, includes/helper.php:3324, includes/helper.php:3522, includes/helper.php:3550, includes/helper.php:5078, includes/helper.php:5571, includes/classes/class-woo-feed-webappick-api.php:428, includes/classes/class-woo-feed-webappick-api.php:452
20
  msgid "Invalid Request."
21
  msgstr ""
22
 
64
  msgid "Invalid Merchant"
65
  msgstr ""
66
 
67
+ #: admin/class-woo-feed-admin.php:148, includes/helper.php:817, includes/helper.php:930, includes/helper.php:911, includes/helper.php:899, includes/helper.php:887
68
  msgid "N/A"
69
  msgstr ""
70
 
76
  msgid "Learn More.."
77
  msgstr ""
78
 
79
+ #: admin/class-woo-feed-admin.php:152, includes/helper.php:3242, admin/partials/woo-feed-edit-config.php:66
80
  msgid "Select A Category"
81
  msgstr ""
82
 
148
  msgid "Category Mapping"
149
  msgstr ""
150
 
151
+ #: admin/class-woo-feed-admin.php:234, admin/class-woo-feed-admin.php:234, includes/classes/class-woo-feed-dropdown.php:532
152
  msgid "WP Options"
153
  msgstr ""
154
 
168
  msgid "mappings"
169
  msgstr ""
170
 
171
+ #: admin/class-woo-feed-category-list.php:81, admin/class-woo-feed-category-list.php:122, admin/class-woo-feed-category-list.php:217, admin/class-woo-feed-manage-list.php:163, admin/class-woo-feed-manage-list.php:271, includes/helper.php:3603
172
  msgid "Edit"
173
  msgstr ""
174
 
188
  msgid "Template"
189
  msgstr ""
190
 
191
+ #: admin/class-woo-feed-category-list.php:250, admin/class-woo-feed-manage-list.php:318, admin/class-woo-feed-option-list.php:248, admin/partials/woo-feed-settings.php:208
192
  msgid "Action"
193
  msgstr ""
194
 
227
  msgid "Copy To Clipboard"
228
  msgstr ""
229
 
230
+ #: admin/class-woo-feed-manage-list.php:117, includes/helper.php:952
231
  msgid "View"
232
  msgstr ""
233
 
433
  msgid "1 Month"
434
  msgstr ""
435
 
436
+ #: includes/helper.php:426, includes/helper.php:2059
437
  msgid "1 Week"
438
  msgstr ""
439
 
440
+ #: includes/helper.php:427, includes/helper.php:2060
441
  msgid "24 Hours"
442
  msgstr ""
443
 
444
+ #: includes/helper.php:428, includes/helper.php:2061
445
  msgid "12 Hours"
446
  msgstr ""
447
 
448
+ #: includes/helper.php:429, includes/helper.php:2062
449
  msgid "6 Hours"
450
  msgstr ""
451
 
452
+ #: includes/helper.php:430, includes/helper.php:2063
453
  msgid "1 Hours"
454
  msgstr ""
455
 
456
+ #: includes/helper.php:828
457
  msgid "Watch Now"
458
  msgstr ""
459
 
460
+ #: includes/helper.php:823, includes/helper.php:890
461
  msgid "Read Article"
462
  msgstr ""
463
 
464
+ #: includes/helper.php:926
465
  msgid "Support Docs:"
466
  msgstr ""
467
 
468
+ #: includes/helper.php:907
469
  msgid "Supported File Types:"
470
  msgstr ""
471
 
472
+ #: includes/helper.php:895
473
  msgid "Video Documentation:"
474
  msgstr ""
475
 
476
+ #: includes/helper.php:902
477
  msgid "Watch now"
478
  msgstr ""
479
 
480
+ #: includes/helper.php:883
481
  msgid "Feed Specification:"
482
  msgstr ""
483
 
484
+ #: includes/helper.php:953
485
  msgid "Open Feed File"
486
  msgstr ""
487
 
488
+ #: includes/helper.php:1758, includes/helper.php:1759, includes/helper.php:1729, includes/helper.php:1729, includes/helper.php:1904, includes/helper.php:1967, includes/helper.php:1968, includes/helper.php:1943, includes/helper.php:1943, libs/WebAppick/AppServices/Insights.php:813, libs/WebAppick/AppServices/Promotions.php:362
489
  msgid "Invalid Request"
490
  msgstr ""
491
 
492
+ #: includes/helper.php:1789
493
  msgid "Empty File Uploaded. Try again."
494
  msgstr ""
495
 
496
+ #: includes/helper.php:1790
497
  msgid "Empty File"
498
  msgstr ""
499
 
500
+ #: includes/helper.php:1793, includes/helper.php:1804, includes/helper.php:1816, includes/helper.php:1827, includes/helper.php:1841, includes/helper.php:1851, includes/helper.php:1863, includes/helper.php:1907
501
  msgid "&laquo; Back"
502
  msgstr ""
503
 
504
+ #: includes/helper.php:1800
505
  msgid "Unable to read file content"
506
  msgstr ""
507
 
508
+ #: includes/helper.php:1801, includes/helper.php:1813, includes/helper.php:1824, includes/helper.php:1838, includes/helper.php:1848, includes/helper.php:1860
509
  msgid "Invalid File"
510
  msgstr ""
511
 
512
+ #: includes/helper.php:1812
513
  msgid "Unable to read data from file."
514
  msgstr ""
515
 
516
+ #: includes/helper.php:1823
517
  msgid "Unable to read file info."
518
  msgstr ""
519
 
520
+ #: includes/helper.php:1837
521
  msgid "Unable to read feed data from file."
522
  msgstr ""
523
 
524
+ #: includes/helper.php:1847
525
  msgid "Unable to verify the file."
526
  msgstr ""
527
 
528
+ #: includes/helper.php:1859
529
  msgid "Invalid or corrupted config file."
530
  msgstr ""
531
 
532
+ #: includes/helper.php:1879
533
  msgid " Imported"
534
  msgstr ""
535
 
536
+ #: includes/helper.php:2876
537
  msgid "Brand"
538
  msgstr ""
539
 
540
+ #: includes/helper.php:2877
541
  msgid "GTIN"
542
  msgstr ""
543
 
544
+ #: includes/helper.php:2878
545
  msgid "MPN"
546
  msgstr ""
547
 
548
+ #: includes/helper.php:2879
549
  msgid "EAN"
550
  msgstr ""
551
 
552
+ #: includes/helper.php:2880
553
  msgid "ISBN"
554
  msgstr ""
555
 
556
+ #: includes/helper.php:2881
557
  msgid "Age group"
558
  msgstr ""
559
 
560
+ #: includes/helper.php:2882
561
  msgid "Gender"
562
  msgstr ""
563
 
564
+ #: includes/helper.php:2883
565
  msgid "Material"
566
  msgstr ""
567
 
568
+ #: includes/helper.php:2884
569
  msgid "Cost of good sold"
570
  msgstr ""
571
 
572
+ #: includes/helper.php:2885, includes/classes/class-woo-feed-dropdown.php:337, libs/WebAppick/Attributes/AvailabilityDate.php:47, libs/WebAppick/Attributes/AvailabilityDate.php:77
573
+ msgid "Availability Date"
574
+ msgstr ""
575
+
576
+ #: includes/helper.php:2886
577
  msgid "Unit"
578
  msgstr ""
579
 
580
+ #: includes/helper.php:2887, includes/classes/class-woo-feed-dropdown.php:406
581
  msgid "Unit Price Measure"
582
  msgstr ""
583
 
584
+ #: includes/helper.php:2888, includes/classes/class-woo-feed-dropdown.php:407
585
  msgid "Unit Price Base Measure"
586
  msgstr ""
587
 
588
+ #: includes/helper.php:2889
589
  msgid "Custom field 0"
590
  msgstr ""
591
 
592
+ #: includes/helper.php:2890
593
  msgid "Custom field 1"
594
  msgstr ""
595
 
596
+ #: includes/helper.php:2891
597
  msgid "Custom field 2"
598
  msgstr ""
599
 
600
+ #: includes/helper.php:2892
601
  msgid "Custom field 3"
602
  msgstr ""
603
 
604
+ #: includes/helper.php:2893
605
  msgid "Custom field 4"
606
  msgstr ""
607
 
608
+ #: includes/helper.php:2962, includes/helper.php:3049
609
  msgid "CUSTOM FIELDS by CTX Feed"
610
  msgstr ""
611
 
612
+ #: includes/helper.php:2974
613
  msgid "Set product "
614
  msgstr ""
615
 
616
+ #: includes/helper.php:2974
617
  msgid " here."
618
  msgstr ""
619
 
620
+ #: includes/helper.php:3161
621
  msgid "Another category mapping exists with the same name."
622
  msgstr ""
623
 
624
+ #: includes/helper.php:3170
625
  msgid "Failed To Add Mapping"
626
  msgstr ""
627
 
628
+ #: includes/helper.php:3166
629
  msgid "Mapping Added Successfully"
630
  msgstr ""
631
 
632
+ #: includes/helper.php:3135
633
  msgid "Mapping Not Changed"
634
  msgstr ""
635
 
636
+ #: includes/helper.php:3145
637
  msgid "Failed To Updated Mapping"
638
  msgstr ""
639
 
640
+ #: includes/helper.php:3141
641
  msgid "Mapping Updated Successfully"
642
  msgstr ""
643
 
644
+ #: includes/helper.php:3262
645
  msgid "Copy this category to subcategories"
646
  msgstr ""
647
 
648
+ #: includes/helper.php:3293
649
  msgid "Clear Cache"
650
  msgstr ""
651
 
652
+ #: includes/helper.php:3518, includes/helper.php:3547, includes/classes/class-woo-feed-webappick-api.php:447
653
  msgid "Something is wrong."
654
  msgstr ""
655
 
656
+ #: includes/helper.php:3516
657
  msgid "User meta updated successfully."
658
  msgstr ""
659
 
660
+ #: includes/helper.php:3595, includes/helper.php:3597
661
  msgid "by CTX Feed"
662
  msgstr ""
663
 
664
+ #: includes/helper.php:3598
665
  msgid "All"
666
  msgstr ""
667
 
668
+ #: includes/helper.php:3599
669
  msgid "Parent"
670
  msgstr ""
671
 
672
+ #: includes/helper.php:3600
673
  msgid "Parent:"
674
  msgstr ""
675
 
676
+ #: includes/helper.php:3601
677
  msgid "New"
678
  msgstr ""
679
 
680
+ #: includes/helper.php:3601, libs/WebAppick/AppServices/Insights.php:977
681
  msgid "Name"
682
  msgstr ""
683
 
684
+ #: includes/helper.php:3602
685
  msgid "Add New"
686
  msgstr ""
687
 
688
+ #: includes/helper.php:3604
689
  msgid "Update"
690
  msgstr ""
691
 
692
+ #: includes/helper.php:3605
693
  msgid "Separate"
694
  msgstr ""
695
 
696
+ #: includes/helper.php:3605
697
  msgid "with commas"
698
  msgstr ""
699
 
700
+ #: includes/helper.php:3606
701
  msgid "Search"
702
  msgstr ""
703
 
704
+ #: includes/helper.php:3607
705
  msgid "Add or remove"
706
  msgstr ""
707
 
708
+ #: includes/helper.php:3608
709
  msgid "Choose from the most used"
710
  msgstr ""
711
 
712
+ #: includes/helper.php:4787
713
  msgid "Option Successfully Added."
714
  msgstr ""
715
 
716
+ #: includes/helper.php:4778
717
  msgid "Option Already Added."
718
  msgstr ""
719
 
720
+ #: includes/helper.php:5579
721
  msgid "Feed data is empty. Can't duplicate feed."
722
  msgstr ""
723
 
724
+ #: includes/helper.php:5595
725
  msgid "Unable to save the duplicate feed data."
726
  msgstr ""
727
 
728
+ #: includes/helper.php:5605
729
  msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
730
  msgstr ""
731
 
734
  msgid "%1$s in %2$s on line %3$s"
735
  msgstr ""
736
 
737
+ #: includes/template-infos.php:26
738
  msgid "How to make google merchant feed?"
739
  msgstr ""
740
 
741
+ #: includes/template-infos.php:27
742
  msgid "How to configure shipping info?"
743
  msgstr ""
744
 
745
+ #: includes/template-infos.php:28
746
  msgid "How to set price with tax?"
747
  msgstr ""
748
 
749
+ #: includes/template-infos.php:29, includes/template-infos.php:65
750
  msgid "How to configure google product categories?"
751
  msgstr ""
752
 
753
+ #: includes/template-infos.php:176
754
  msgid "Validator"
755
  msgstr ""
756
 
757
+ #: includes/template-infos.php:188
758
  msgid "Set up return policies for Shopping Actions"
759
  msgstr ""
760
 
761
+ #: includes/template-infos.php:189
762
  msgid "Set up a return address for Shopping Actions"
763
  msgstr ""
764
 
765
+ #: includes/template-infos.php:197, includes/template-infos.php:206, includes/template-infos.php:215, includes/template-infos.php:224, includes/template-infos.php:233, includes/template-infos.php:242, includes/template-infos.php:251, includes/template-infos.php:260, includes/template-infos.php:269, includes/template-infos.php:278, includes/template-infos.php:287, includes/template-infos.php:296, includes/template-infos.php:305, includes/template-infos.php:314, includes/template-infos.php:323, includes/template-infos.php:332, includes/template-infos.php:341, includes/template-infos.php:350, includes/template-infos.php:359, includes/template-infos.php:368, includes/template-infos.php:377
766
  msgid "Feed Field Data Types"
767
  msgstr ""
768
 
769
+ #: includes/template-infos.php:198, includes/template-infos.php:207, includes/template-infos.php:216, includes/template-infos.php:225, includes/template-infos.php:234, includes/template-infos.php:243, includes/template-infos.php:252, includes/template-infos.php:261, includes/template-infos.php:270, includes/template-infos.php:279, includes/template-infos.php:288, includes/template-infos.php:297, includes/template-infos.php:306, includes/template-infos.php:315, includes/template-infos.php:324, includes/template-infos.php:333, includes/template-infos.php:342, includes/template-infos.php:351, includes/template-infos.php:360, includes/template-infos.php:369, includes/template-infos.php:378
770
  msgid "Product Feed Standard"
771
  msgstr ""
772
 
970
  msgid "Learn more about Campaign URL"
971
  msgstr ""
972
 
973
+ #: admin/partials/woo-feed-edit-ftp.php:15, admin/partials/woo-feed-edit-ftp.php:19, admin/partials/woo-feed-settings.php:131, admin/partials/woo-feed-settings.php:150, admin/partials/woo-feed-settings.php:162, admin/partials/woo-feed-settings.php:174, admin/partials/woo-feed-settings.php:186
974
  msgid "Enabled"
975
  msgstr ""
976
 
977
+ #: admin/partials/woo-feed-edit-ftp.php:18, admin/partials/woo-feed-settings.php:130, admin/partials/woo-feed-settings.php:149, admin/partials/woo-feed-settings.php:161, admin/partials/woo-feed-settings.php:173, admin/partials/woo-feed-settings.php:185
978
  msgid "Disabled"
979
  msgstr ""
980
 
1142
  msgid "Version "
1143
  msgstr ""
1144
 
1145
+ #: admin/partials/woo-feed-settings.php:40
1146
  msgid "Product per batch"
1147
  msgstr ""
1148
 
1149
+ #: admin/partials/woo-feed-settings.php:43, admin/partials/woo-feed-settings.php:54, admin/partials/woo-feed-settings.php:65
1150
  msgid "Don't change the value if you are not sure about this. Plugin may fail to make feed."
1151
  msgstr ""
1152
 
1153
+ #: admin/partials/woo-feed-settings.php:47
1154
  msgid "Product Query Type"
1155
  msgstr ""
1156
 
1157
+ #: admin/partials/woo-feed-settings.php:58
1158
  msgid "Variation Query Type"
1159
  msgstr ""
1160
 
1161
+ #: admin/partials/woo-feed-settings.php:69
1162
  msgid "Debug Mode"
1163
  msgstr ""
1164
 
1165
+ #: admin/partials/woo-feed-settings.php:73, admin/partials/woo-feed-settings.php:118
1166
  msgid "Off"
1167
  msgstr ""
1168
 
1169
+ #: admin/partials/woo-feed-settings.php:74, admin/partials/woo-feed-settings.php:119
1170
  msgid "On"
1171
  msgstr ""
1172
 
1173
+ #: admin/partials/woo-feed-settings.php:77
1174
  msgid "Clear All Log Data"
1175
  msgstr ""
1176
 
1177
+ #: admin/partials/woo-feed-settings.php:79
1178
  msgid "Enabling Logging will decrease performance of feed generation."
1179
  msgstr ""
1180
 
1181
+ #: admin/partials/woo-feed-settings.php:83
1182
  msgid "Send Debug Info"
1183
  msgstr ""
1184
 
1185
+ #: admin/partials/woo-feed-settings.php:86
1186
  msgid "Allow CTXFeed To Collect Debug Info."
1187
  msgstr ""
1188
 
1189
+ #: admin/partials/woo-feed-settings.php:88
1190
  msgid "To opt out, leave this box unchecked. Your Feed Data remains un-tracked, and no data will be collected. No sensitive data is tracked."
1191
  msgstr ""
1192
 
1193
+ #: admin/partials/woo-feed-settings.php:88
1194
  msgid "See What We Collect."
1195
  msgstr ""
1196
 
1197
+ #: admin/partials/woo-feed-settings.php:100
1198
  msgid "CTXFeed Cache TTL"
1199
  msgstr ""
1200
 
1201
+ #: admin/partials/woo-feed-settings.php:108
1202
  msgid "Purge Cache Now"
1203
  msgstr ""
1204
 
1205
+ #: admin/partials/woo-feed-settings.php:110
1206
  msgid "When to expire the Cache."
1207
  msgstr ""
1208
 
1209
+ #: admin/partials/woo-feed-settings.php:114
1210
  msgid "WooCommerce Default Schema Override "
1211
  msgstr ""
1212
 
1213
+ #: admin/partials/woo-feed-settings.php:122
1214
  msgid "Turn off when you don't want to override default WooCommerce Product Schema"
1215
  msgstr ""
1216
 
1217
+ #: admin/partials/woo-feed-settings.php:126
1218
  msgid "Disable/Enable Facebook Pixel"
1219
  msgstr ""
1220
 
1221
+ #: admin/partials/woo-feed-settings.php:134
1222
  msgid "Disables or Enables Facebook Pixel ID’s for Variation"
1223
  msgstr ""
1224
 
1225
+ #: admin/partials/woo-feed-settings.php:138
1226
+ msgid "Facebook Pixel ID"
1227
  msgstr ""
1228
 
1229
+ #: admin/partials/woo-feed-settings.php:141
1230
  msgid "Insert your Facebook Pixel ID"
1231
  msgstr ""
1232
 
1233
+ #: admin/partials/woo-feed-settings.php:145
1234
  msgid "Add Shipping/Tax info for all countries to feed (Google Shopping)"
1235
  msgstr ""
1236
 
1237
+ #: admin/partials/woo-feed-settings.php:153
1238
  msgid "Disable or Enable all shipping to feed"
1239
  msgstr ""
1240
 
1241
+ #: admin/partials/woo-feed-settings.php:157
1242
  msgid "Remove all other shipping classes when free shipping criteria are met (Google Shopping / Facebook only)"
1243
  msgstr ""
1244
 
1245
+ #: admin/partials/woo-feed-settings.php:165
1246
  msgid "Disable or Enable all shipping when free shipping is exists"
1247
  msgstr ""
1248
 
1249
+ #: admin/partials/woo-feed-settings.php:169
1250
  msgid "Remove the local pickup shipping zone from feed (Google Shopping)"
1251
  msgstr ""
1252
 
1253
+ #: admin/partials/woo-feed-settings.php:177
1254
  msgid "Disable or Enable all shipping when local pickup shipping is exists"
1255
  msgstr ""
1256
 
1257
+ #: admin/partials/woo-feed-settings.php:181
1258
  msgid "Enable FTP Upload"
1259
  msgstr ""
1260
 
1261
+ #: admin/partials/woo-feed-settings.php:189
1262
  msgid "Disable or Enable FTP upload setting"
1263
  msgstr ""
1264
 
1265
+ #: admin/partials/woo-feed-settings.php:197
1266
  msgid "Save Changes"
1267
  msgstr ""
1268
 
1269
+ #: admin/partials/woo-feed-settings.php:207
1270
  msgid "Custom Fields"
1271
  msgstr ""
1272
 
1352
  msgid "Product Id"
1353
  msgstr ""
1354
 
1355
+ #: includes/classes/class-woo-feed-dropdown.php:315
1356
+ msgid "Parent Product Id (WPML)"
1357
+ msgstr ""
1358
+
1359
+ #: includes/classes/class-woo-feed-dropdown.php:316, includes/classes/class-woo-feed-products.php:1712
1360
  msgid "Product Title"
1361
  msgstr ""
1362
 
1363
+ #: includes/classes/class-woo-feed-dropdown.php:317
1364
  msgid "Parent Title"
1365
  msgstr ""
1366
 
1367
+ #: includes/classes/class-woo-feed-dropdown.php:318, includes/classes/class-woo-feed-products.php:1713
1368
  msgid "Product Description"
1369
  msgstr ""
1370
 
1371
+ #: includes/classes/class-woo-feed-dropdown.php:319
1372
  msgid "Product Description (with HTML)"
1373
  msgstr ""
1374
 
1375
+ #: includes/classes/class-woo-feed-dropdown.php:320, includes/classes/class-woo-feed-products.php:1714
1376
  msgid "Product Short Description"
1377
  msgstr ""
1378
 
1379
+ #: includes/classes/class-woo-feed-dropdown.php:321
1380
  msgid "Parent Category"
1381
  msgstr ""
1382
 
1383
+ #: includes/classes/class-woo-feed-dropdown.php:322
1384
  msgid "Parent Category ID"
1385
  msgstr ""
1386
 
1387
+ #: includes/classes/class-woo-feed-dropdown.php:323
1388
  msgid "Child Category"
1389
  msgstr ""
1390
 
1391
+ #: includes/classes/class-woo-feed-dropdown.php:324
1392
  msgid "Child Category ID"
1393
  msgstr ""
1394
 
1395
+ #: includes/classes/class-woo-feed-dropdown.php:325
1396
  msgid "Product Category [Category Path]"
1397
  msgstr ""
1398
 
1399
+ #: includes/classes/class-woo-feed-dropdown.php:326
1400
  msgid "Product Full Category [Category Full Path]"
1401
  msgstr ""
1402
 
1403
+ #: includes/classes/class-woo-feed-dropdown.php:327, includes/classes/class-woo-feed-products.php:1716
1404
  msgid "Product URL"
1405
  msgstr ""
1406
 
1407
+ #: includes/classes/class-woo-feed-dropdown.php:328
1408
  msgid "Parent URL"
1409
  msgstr ""
1410
 
1411
+ #: includes/classes/class-woo-feed-dropdown.php:329
1412
  msgid "Canonical URL"
1413
  msgstr ""
1414
 
1415
+ #: includes/classes/class-woo-feed-dropdown.php:330, includes/classes/class-woo-feed-products.php:1717
1416
  msgid "External Product URL"
1417
  msgstr ""
1418
 
1419
+ #: includes/classes/class-woo-feed-dropdown.php:331
1420
  msgid "Add to Cart URL"
1421
  msgstr ""
1422
 
1423
+ #: includes/classes/class-woo-feed-dropdown.php:332, includes/classes/class-woo-feed-products.php:1719
1424
  msgid "Parent Id [Group Id]"
1425
  msgstr ""
1426
 
1427
+ #: includes/classes/class-woo-feed-dropdown.php:333, includes/classes/class-woo-feed-products.php:1720
1428
  msgid "SKU"
1429
  msgstr ""
1430
 
1431
+ #: includes/classes/class-woo-feed-dropdown.php:334
1432
  msgid "SKU_ID"
1433
  msgstr ""
1434
 
1435
+ #: includes/classes/class-woo-feed-dropdown.php:335, includes/classes/class-woo-feed-products.php:1721
1436
  msgid "Parent SKU"
1437
  msgstr ""
1438
 
1439
+ #: includes/classes/class-woo-feed-dropdown.php:336, includes/classes/class-woo-feed-products.php:1722
1440
  msgid "Availability"
1441
  msgstr ""
1442
 
1443
+ #: includes/classes/class-woo-feed-dropdown.php:338, includes/classes/class-woo-feed-products.php:1723
 
 
 
 
1444
  msgid "Quantity"
1445
  msgstr ""
1446
 
1447
+ #: includes/classes/class-woo-feed-dropdown.php:339, includes/classes/class-woo-feed-products.php:1724
1448
  msgid "Regular Price"
1449
  msgstr ""
1450
 
1451
+ #: includes/classes/class-woo-feed-dropdown.php:340, includes/classes/class-woo-feed-products.php:1725
1452
  msgid "Price"
1453
  msgstr ""
1454
 
1455
+ #: includes/classes/class-woo-feed-dropdown.php:341, includes/classes/class-woo-feed-products.php:1726
1456
  msgid "Sale Price"
1457
  msgstr ""
1458
 
1459
+ #: includes/classes/class-woo-feed-dropdown.php:342, includes/classes/class-woo-feed-products.php:1727
1460
  msgid "Regular Price With Tax"
1461
  msgstr ""
1462
 
1463
+ #: includes/classes/class-woo-feed-dropdown.php:343, includes/classes/class-woo-feed-products.php:1728
1464
  msgid "Price With Tax"
1465
  msgstr ""
1466
 
1467
+ #: includes/classes/class-woo-feed-dropdown.php:344, includes/classes/class-woo-feed-products.php:1729
1468
  msgid "Sale Price With Tax"
1469
  msgstr ""
1470
 
1471
+ #: includes/classes/class-woo-feed-dropdown.php:345, includes/classes/class-woo-feed-products.php:1730
1472
  msgid "Sale Start Date"
1473
  msgstr ""
1474
 
1475
+ #: includes/classes/class-woo-feed-dropdown.php:346, includes/classes/class-woo-feed-products.php:1731
1476
  msgid "Sale End Date"
1477
  msgstr ""
1478
 
1479
+ #: includes/classes/class-woo-feed-dropdown.php:347
1480
  msgid "Reviewer Name"
1481
  msgstr ""
1482
 
1483
+ #: includes/classes/class-woo-feed-dropdown.php:348, includes/classes/class-woo-feed-products.php:1732
1484
  msgid "Weight"
1485
  msgstr ""
1486
 
1487
+ #: includes/classes/class-woo-feed-dropdown.php:349
1488
  msgid "Weight Unit"
1489
  msgstr ""
1490
 
1491
+ #: includes/classes/class-woo-feed-dropdown.php:350, includes/classes/class-woo-feed-products.php:1733
1492
  msgid "Width"
1493
  msgstr ""
1494
 
1495
+ #: includes/classes/class-woo-feed-dropdown.php:351, includes/classes/class-woo-feed-products.php:1734
1496
  msgid "Height"
1497
  msgstr ""
1498
 
1499
+ #: includes/classes/class-woo-feed-dropdown.php:352, includes/classes/class-woo-feed-products.php:1735
1500
  msgid "Length"
1501
  msgstr ""
1502
 
1503
+ #: includes/classes/class-woo-feed-dropdown.php:353
1504
  msgid "Shipping (Google Format)"
1505
  msgstr ""
1506
 
1507
+ #: includes/classes/class-woo-feed-dropdown.php:354
1508
  msgid "Shipping Cost"
1509
  msgstr ""
1510
 
1511
+ #: includes/classes/class-woo-feed-dropdown.php:355, includes/classes/class-woo-feed-products.php:1736
1512
  msgid "Shipping Class"
1513
  msgstr ""
1514
 
1515
+ #: includes/classes/class-woo-feed-dropdown.php:356, includes/classes/class-woo-feed-products.php:1737
1516
  msgid "Product Type"
1517
  msgstr ""
1518
 
1519
+ #: includes/classes/class-woo-feed-dropdown.php:357, includes/classes/class-woo-feed-products.php:1738
1520
  msgid "Variation Type"
1521
  msgstr ""
1522
 
1523
+ #: includes/classes/class-woo-feed-dropdown.php:358, includes/classes/class-woo-feed-products.php:1739
1524
  msgid "Visibility"
1525
  msgstr ""
1526
 
1527
+ #: includes/classes/class-woo-feed-dropdown.php:359, includes/classes/class-woo-feed-products.php:1740
1528
  msgid "Total Rating"
1529
  msgstr ""
1530
 
1531
+ #: includes/classes/class-woo-feed-dropdown.php:360, includes/classes/class-woo-feed-products.php:1741
1532
  msgid "Average Rating"
1533
  msgstr ""
1534
 
1535
+ #: includes/classes/class-woo-feed-dropdown.php:361, includes/classes/class-woo-feed-products.php:1742
1536
  msgid "Tags"
1537
  msgstr ""
1538
 
1539
+ #: includes/classes/class-woo-feed-dropdown.php:362, includes/classes/class-woo-feed-products.php:1743
1540
  msgid "Sale Price Effective Date"
1541
  msgstr ""
1542
 
1543
+ #: includes/classes/class-woo-feed-dropdown.php:363, includes/classes/class-woo-feed-products.php:1744
1544
  msgid "Is Bundle"
1545
  msgstr ""
1546
 
1547
+ #: includes/classes/class-woo-feed-dropdown.php:364, includes/classes/class-woo-feed-products.php:1745
1548
  msgid "Author Name"
1549
  msgstr ""
1550
 
1551
+ #: includes/classes/class-woo-feed-dropdown.php:365, includes/classes/class-woo-feed-products.php:1746
1552
  msgid "Author Email"
1553
  msgstr ""
1554
 
1555
+ #: includes/classes/class-woo-feed-dropdown.php:366, includes/classes/class-woo-feed-products.php:1747
1556
  msgid "Date Created"
1557
  msgstr ""
1558
 
1559
+ #: includes/classes/class-woo-feed-dropdown.php:367, includes/classes/class-woo-feed-products.php:1748
1560
  msgid "Date Updated"
1561
  msgstr ""
1562
 
1563
+ #: includes/classes/class-woo-feed-dropdown.php:368
1564
  msgid "Tax"
1565
  msgstr ""
1566
 
1567
+ #: includes/classes/class-woo-feed-dropdown.php:369
1568
  msgid "Tax Class"
1569
  msgstr ""
1570
 
1571
+ #: includes/classes/class-woo-feed-dropdown.php:370
1572
  msgid "Tax Status"
1573
  msgstr ""
1574
 
1575
+ #: includes/classes/class-woo-feed-dropdown.php:379
1576
  msgid "Custom Fields by CTX Feed"
1577
  msgstr ""
1578
 
1579
+ #: includes/classes/class-woo-feed-dropdown.php:389
1580
  msgid "Subscription & Installment"
1581
  msgstr ""
1582
 
1583
+ #: includes/classes/class-woo-feed-dropdown.php:393
1584
  msgid "Subscription Period"
1585
  msgstr ""
1586
 
1587
+ #: includes/classes/class-woo-feed-dropdown.php:394
1588
  msgid "Subscription Period Length"
1589
  msgstr ""
1590
 
1591
+ #: includes/classes/class-woo-feed-dropdown.php:395
1592
  msgid "Subscription Amount"
1593
  msgstr ""
1594
 
1595
+ #: includes/classes/class-woo-feed-dropdown.php:396
1596
  msgid "Installment Months"
1597
  msgstr ""
1598
 
1599
+ #: includes/classes/class-woo-feed-dropdown.php:397
1600
  msgid "Installment Amount"
1601
  msgstr ""
1602
 
1603
+ #: includes/classes/class-woo-feed-dropdown.php:424
1604
  msgid "Unit Price"
1605
  msgstr ""
1606
 
1607
+ #: includes/classes/class-woo-feed-dropdown.php:411
1608
  msgid "WooCommerce Germanized"
1609
  msgstr ""
1610
 
1611
+ #: includes/classes/class-woo-feed-dropdown.php:432
1612
  msgid "ALL IN ONE SEO"
1613
  msgstr ""
1614
 
1615
+ #: includes/classes/class-woo-feed-dropdown.php:436, includes/classes/class-woo-feed-products.php:1769
1616
  msgid "Title [All in One SEO]"
1617
  msgstr ""
1618
 
1619
+ #: includes/classes/class-woo-feed-dropdown.php:437, includes/classes/class-woo-feed-products.php:1770
1620
  msgid "Description [All in One SEO]"
1621
  msgstr ""
1622
 
1623
+ #: includes/classes/class-woo-feed-dropdown.php:438
1624
  msgid "Canonical URL [All in One SEO]"
1625
  msgstr ""
1626
 
1627
+ #: includes/classes/class-woo-feed-dropdown.php:446
1628
  msgid "Yoast SEO"
1629
  msgstr ""
1630
 
1631
+ #: includes/classes/class-woo-feed-dropdown.php:449, includes/classes/class-woo-feed-products.php:1776
1632
  msgid "Title [Yoast SEO]"
1633
  msgstr ""
1634
 
1635
+ #: includes/classes/class-woo-feed-dropdown.php:450, includes/classes/class-woo-feed-products.php:1777
1636
  msgid "Description [Yoast SEO]"
1637
  msgstr ""
1638
 
1639
+ #: includes/classes/class-woo-feed-dropdown.php:451
1640
  msgid "Canonical URL [Yoast SEO]"
1641
  msgstr ""
1642
 
1643
+ #: includes/classes/class-woo-feed-dropdown.php:457
1644
  msgid "GTIN8 [Yoast SEO]"
1645
  msgstr ""
1646
 
1647
+ #: includes/classes/class-woo-feed-dropdown.php:458
1648
  msgid "GTIN12 / UPC [Yoast SEO]"
1649
  msgstr ""
1650
 
1651
+ #: includes/classes/class-woo-feed-dropdown.php:459
1652
  msgid "GTIN13 / EAN [Yoast SEO]"
1653
  msgstr ""
1654
 
1655
+ #: includes/classes/class-woo-feed-dropdown.php:460
1656
  msgid "GTIN14 / ITF-14 [Yoast SEO]"
1657
  msgstr ""
1658
 
1659
+ #: includes/classes/class-woo-feed-dropdown.php:461
1660
  msgid "ISBN [Yoast SEO]"
1661
  msgstr ""
1662
 
1663
+ #: includes/classes/class-woo-feed-dropdown.php:462
1664
  msgid "MPN [Yoast SEO]"
1665
  msgstr ""
1666
 
1667
+ #: includes/classes/class-woo-feed-dropdown.php:475
1668
  msgid "Rank Math SEO"
1669
  msgstr ""
1670
 
1671
+ #: includes/classes/class-woo-feed-dropdown.php:479
1672
  msgid "Title [RankMath SEO]"
1673
  msgstr ""
1674
 
1675
+ #: includes/classes/class-woo-feed-dropdown.php:480
1676
  msgid "Description [RankMath SEO]"
1677
  msgstr ""
1678
 
1679
+ #: includes/classes/class-woo-feed-dropdown.php:481
1680
  msgid "Canonical URL [RankMath SEO]"
1681
  msgstr ""
1682
 
1683
+ #: includes/classes/class-woo-feed-dropdown.php:482
1684
  msgid "GTIN [RankMath Pro SEO]"
1685
  msgstr ""
1686
 
1687
+ #: includes/classes/class-woo-feed-dropdown.php:489, includes/classes/class-woo-feed-products.php:1793
1688
  msgid "Image Attributes"
1689
  msgstr ""
1690
 
1691
+ #: includes/classes/class-woo-feed-dropdown.php:491, includes/classes/class-woo-feed-products.php:1751
1692
  msgid "Main Image"
1693
  msgstr ""
1694
 
1695
+ #: includes/classes/class-woo-feed-dropdown.php:492, includes/classes/class-woo-feed-products.php:1752
1696
  msgid "Featured Image"
1697
  msgstr ""
1698
 
1699
+ #: includes/classes/class-woo-feed-dropdown.php:493, includes/classes/class-woo-feed-products.php:1753
1700
  msgid "Images [Comma Separated]"
1701
  msgstr ""
1702
 
1703
+ #: includes/classes/class-woo-feed-dropdown.php:494, includes/classes/class-woo-feed-products.php:1754
1704
  msgid "Additional Image 1"
1705
  msgstr ""
1706
 
1707
+ #: includes/classes/class-woo-feed-dropdown.php:495, includes/classes/class-woo-feed-products.php:1755
1708
  msgid "Additional Image 2"
1709
  msgstr ""
1710
 
1711
+ #: includes/classes/class-woo-feed-dropdown.php:496, includes/classes/class-woo-feed-products.php:1756
1712
  msgid "Additional Image 3"
1713
  msgstr ""
1714
 
1715
+ #: includes/classes/class-woo-feed-dropdown.php:497, includes/classes/class-woo-feed-products.php:1757
1716
  msgid "Additional Image 4"
1717
  msgstr ""
1718
 
1719
+ #: includes/classes/class-woo-feed-dropdown.php:498, includes/classes/class-woo-feed-products.php:1758
1720
  msgid "Additional Image 5"
1721
  msgstr ""
1722
 
1723
+ #: includes/classes/class-woo-feed-dropdown.php:499, includes/classes/class-woo-feed-products.php:1759
1724
  msgid "Additional Image 6"
1725
  msgstr ""
1726
 
1727
+ #: includes/classes/class-woo-feed-dropdown.php:500, includes/classes/class-woo-feed-products.php:1760
1728
  msgid "Additional Image 7"
1729
  msgstr ""
1730
 
1731
+ #: includes/classes/class-woo-feed-dropdown.php:501, includes/classes/class-woo-feed-products.php:1761
1732
  msgid "Additional Image 8"
1733
  msgstr ""
1734
 
1735
+ #: includes/classes/class-woo-feed-dropdown.php:502, includes/classes/class-woo-feed-products.php:1762
1736
  msgid "Additional Image 9"
1737
  msgstr ""
1738
 
1739
+ #: includes/classes/class-woo-feed-dropdown.php:503, includes/classes/class-woo-feed-products.php:1763
1740
  msgid "Additional Image 10"
1741
  msgstr ""
1742
 
1743
+ #: includes/classes/class-woo-feed-dropdown.php:510
1744
  msgid "Product Attributes"
1745
  msgstr ""
1746
 
1747
+ #: includes/classes/class-woo-feed-dropdown.php:518, includes/classes/class-woo-feed-products.php:1813
1748
  msgid "Product Custom Attributes"
1749
  msgstr ""
1750
 
1751
+ #: includes/classes/class-woo-feed-dropdown.php:525
1752
  msgid "Product Taxonomies"
1753
  msgstr ""
1754
 
1755
+ #: includes/classes/class-woo-feed-dropdown.php:540
1756
  msgid "Category Mappings"
1757
  msgstr ""
1758
 
1759
+ #: includes/classes/class-woo-feed-dropdown.php:546
1760
  msgid "Custom Fields & Post Metas (Premium)"
1761
  msgstr ""
1762
 
1763
+ #: includes/classes/class-woo-feed-dropdown.php:587, includes/classes/class-woo-feed-products.php:1803
1764
  msgid "Select Attributes"
1765
  msgstr ""
1766
 
2119
  msgstr ""
2120
 
2121
  #: includes/classes/class-woo-feed-merchant.php:392
2122
+ msgid "Ecommerce.it"
2123
  msgstr ""
2124
 
2125
  #: includes/classes/class-woo-feed-merchant.php:393
2126
+ msgid "Etsy"
2127
  msgstr ""
2128
 
2129
  #: includes/classes/class-woo-feed-merchant.php:394
2130
+ msgid "Fruugo"
2131
  msgstr ""
2132
 
2133
  #: includes/classes/class-woo-feed-merchant.php:395
2134
+ msgid "Fashionchick.nl"
2135
  msgstr ""
2136
 
2137
  #: includes/classes/class-woo-feed-merchant.php:396
2138
+ msgid "Fruugoaustralia.com"
2139
  msgstr ""
2140
 
2141
  #: includes/classes/class-woo-feed-merchant.php:397
2142
+ msgid "Fyndiq.se"
2143
  msgstr ""
2144
 
2145
  #: includes/classes/class-woo-feed-merchant.php:398
2146
+ msgid "GoedGeplaatst.nl"
2147
  msgstr ""
2148
 
2149
  #: includes/classes/class-woo-feed-merchant.php:399
2150
+ msgid "Heureka.sk"
2151
  msgstr ""
2152
 
2153
  #: includes/classes/class-woo-feed-merchant.php:400
2154
+ msgid "Hintaseuranta.fi"
2155
  msgstr ""
2156
 
2157
  #: includes/classes/class-woo-feed-merchant.php:401
2158
+ msgid "Incurvy"
2159
  msgstr ""
2160
 
2161
  #: includes/classes/class-woo-feed-merchant.php:402
2162
+ msgid "Jet.com"
2163
  msgstr ""
2164
 
2165
  #: includes/classes/class-woo-feed-merchant.php:403
2166
+ msgid "Kelkoo"
2167
  msgstr ""
2168
 
2169
  #: includes/classes/class-woo-feed-merchant.php:404
2170
+ msgid "Kieskeurig.nl"
2171
  msgstr ""
2172
 
2173
  #: includes/classes/class-woo-feed-merchant.php:405
2174
+ msgid "Kijiji.ca"
2175
  msgstr ""
2176
 
2177
  #: includes/classes/class-woo-feed-merchant.php:406
2178
+ msgid "LeGuide"
2179
  msgstr ""
2180
 
2181
  #: includes/classes/class-woo-feed-merchant.php:407
2182
+ msgid "Marktplaats.nl"
2183
  msgstr ""
2184
 
2185
  #: includes/classes/class-woo-feed-merchant.php:408
2186
+ msgid "Miinto.nl"
2187
  msgstr ""
2188
 
2189
  #: includes/classes/class-woo-feed-merchant.php:409
2190
+ msgid "Modalova"
2191
  msgstr ""
2192
 
2193
  #: includes/classes/class-woo-feed-merchant.php:410
2194
+ msgid "Modina.de"
2195
  msgstr ""
2196
 
2197
  #: includes/classes/class-woo-feed-merchant.php:411
2198
+ msgid "Moebel.de"
2199
  msgstr ""
2200
 
2201
  #: includes/classes/class-woo-feed-merchant.php:412
2202
+ msgid "Myshopping.com.au"
2203
  msgstr ""
2204
 
2205
  #: includes/classes/class-woo-feed-merchant.php:413
2206
+ msgid "TheNextAd"
2207
  msgstr ""
2208
 
2209
  #: includes/classes/class-woo-feed-merchant.php:414
2210
+ msgid "Nextag"
2211
  msgstr ""
2212
 
2213
  #: includes/classes/class-woo-feed-merchant.php:415
2214
+ msgid "Polyvore"
2215
  msgstr ""
2216
 
2217
  #: includes/classes/class-woo-feed-merchant.php:416
2218
+ msgid "Price Grabber"
2219
  msgstr ""
2220
 
2221
  #: includes/classes/class-woo-feed-merchant.php:417
2222
+ msgid "Prisjakt"
2223
  msgstr ""
2224
 
2225
  #: includes/classes/class-woo-feed-merchant.php:418
2226
+ msgid "Profit Share"
2227
  msgstr ""
2228
 
2229
  #: includes/classes/class-woo-feed-merchant.php:419
2230
+ msgid "Rakuten.de"
2231
  msgstr ""
2232
 
2233
  #: includes/classes/class-woo-feed-merchant.php:420
2234
+ msgid "Real"
2235
  msgstr ""
2236
 
2237
  #: includes/classes/class-woo-feed-merchant.php:421
2238
+ msgid "ShareASale"
2239
  msgstr ""
2240
 
2241
  #: includes/classes/class-woo-feed-merchant.php:422
2242
+ msgid "Shopalike.fr"
2243
  msgstr ""
2244
 
2245
  #: includes/classes/class-woo-feed-merchant.php:423
2246
+ msgid "Shopbot"
2247
  msgstr ""
2248
 
2249
  #: includes/classes/class-woo-feed-merchant.php:424
2250
+ msgid "Shopmania"
2251
  msgstr ""
2252
 
2253
  #: includes/classes/class-woo-feed-merchant.php:425
2254
+ msgid "Shopping.com"
2255
  msgstr ""
2256
 
2257
  #: includes/classes/class-woo-feed-merchant.php:426
2258
+ msgid "Shopzilla"
2259
  msgstr ""
2260
 
2261
  #: includes/classes/class-woo-feed-merchant.php:427
2262
+ msgid "SkinFlint.co.uk"
2263
  msgstr ""
2264
 
2265
  #: includes/classes/class-woo-feed-merchant.php:428
2266
+ msgid "Skroutz.gr"
2267
  msgstr ""
2268
 
2269
  #: includes/classes/class-woo-feed-merchant.php:429
2270
+ msgid "Smartly.io"
2271
  msgstr ""
2272
 
2273
  #: includes/classes/class-woo-feed-merchant.php:430
2274
+ msgid "Spartoo.fi"
2275
  msgstr ""
2276
 
2277
  #: includes/classes/class-woo-feed-merchant.php:431
2278
+ msgid "Shopee"
2279
  msgstr ""
2280
 
2281
  #: includes/classes/class-woo-feed-merchant.php:432
2282
+ msgid "Stylight.com"
2283
  msgstr ""
2284
 
2285
  #: includes/classes/class-woo-feed-merchant.php:433
2286
+ msgid "Trovaprezzi.it"
2287
  msgstr ""
2288
 
2289
  #: includes/classes/class-woo-feed-merchant.php:434
2290
+ msgid "Twenga"
2291
  msgstr ""
2292
 
2293
  #: includes/classes/class-woo-feed-merchant.php:435
2294
+ msgid "Tweakers (XML)"
2295
  msgstr ""
2296
 
2297
  #: includes/classes/class-woo-feed-merchant.php:436
2298
+ msgid "Tweakers (CSV)"
2299
  msgstr ""
2300
 
2301
  #: includes/classes/class-woo-feed-merchant.php:437
2302
+ msgid "Vertaa.fi"
2303
  msgstr ""
2304
 
2305
  #: includes/classes/class-woo-feed-merchant.php:438
2306
+ msgid "Walmart"
2307
  msgstr ""
2308
 
2309
  #: includes/classes/class-woo-feed-merchant.php:439
2310
+ msgid "Webmarchand"
2311
  msgstr ""
2312
 
2313
  #: includes/classes/class-woo-feed-merchant.php:440
2314
+ msgid "Wine Searcher"
2315
  msgstr ""
2316
 
2317
  #: includes/classes/class-woo-feed-merchant.php:441
2318
+ msgid "Wish.com"
2319
  msgstr ""
2320
 
2321
  #: includes/classes/class-woo-feed-merchant.php:442
2322
+ msgid "Yahoo NFA"
2323
  msgstr ""
2324
 
2325
  #: includes/classes/class-woo-feed-merchant.php:443
2326
+ msgid "Zap.co.il"
2327
  msgstr ""
2328
 
2329
  #: includes/classes/class-woo-feed-merchant.php:444
2330
+ msgid "Zbozi.cz"
2331
  msgstr ""
2332
 
2333
  #: includes/classes/class-woo-feed-merchant.php:445
2334
+ msgid "Zalando"
2335
  msgstr ""
2336
 
2337
  #: includes/classes/class-woo-feed-merchant.php:446
2338
+ msgid "Admarkt(marktplaats)"
2339
+ msgstr ""
2340
+
2341
+ #: includes/classes/class-woo-feed-merchant.php:447
2342
  msgid "GLAMI"
2343
  msgstr ""
2344
 
libs/WebAppick/AppServices/Client.php CHANGED
File without changes
libs/WebAppick/AppServices/Insights.php CHANGED
File without changes
libs/WebAppick/AppServices/Promotions.php CHANGED
File without changes
libs/WebAppick/AppServices/index.php CHANGED
File without changes
libs/WebAppick/Attributes/AttributeInterface.php CHANGED
File without changes
libs/WebAppick/Attributes/Attributes.php CHANGED
@@ -11,5 +11,14 @@ use WebAppick\Attributes\AvailabilityDate;
11
  // Security Check
12
  defined( 'ABSPATH' ) || die();
13
 
 
 
 
 
 
 
 
14
  // Availability Date
15
- new AvailabilityDate();
 
 
11
  // Security Check
12
  defined( 'ABSPATH' ) || die();
13
 
14
+
15
+ $feed_settings = get_option( 'woo_feed_settings' );
16
+
17
+ $availability_date_settings = isset( $feed_settings['woo_feed_identifier']['availability_date'] )
18
+ ? $feed_settings['woo_feed_identifier']['availability_date']
19
+ : 'enable' ;
20
+
21
  // Availability Date
22
+ if ( $availability_date_settings === 'enable' ) {
23
+ new AvailabilityDate();
24
+ }
libs/WebAppick/Attributes/AvailabilityDate.php CHANGED
File without changes
libs/WebAppick/FTP/FTPConnection.php CHANGED
File without changes
libs/WebAppick/FTP/SFTPConnection.php CHANGED
File without changes
libs/WebAppick/index.php CHANGED
File without changes
libs/WebAppick/phpcs.xml CHANGED
File without changes
libs/autoload.php CHANGED
File without changes
libs/index.php CHANGED
File without changes
uninstall.php CHANGED
File without changes
woo-feed.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: CTX Feed
11
  * Plugin URI: https://webappick.com/
12
  * Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
13
- * Version: 4.4.20
14
  * Author: WebAppick
15
  * Author URI: https://webappick.com/
16
  * License: GPL v2
@@ -42,7 +42,7 @@ if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
42
  * @var string
43
  * @since 3.1.6
44
  */
45
- define( 'WOO_FEED_FREE_VERSION', '4.4.20' );
46
  }
47
 
48
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
@@ -463,18 +463,18 @@ if ( ! function_exists( 'woo_feed_save_feed_file' ) ) {
463
  $feedBody = $reviewObj->make_review_xml_feed();
464
  $string = $feedBody;
465
 
466
- } else {
467
- if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
468
- $csvHead[0] = $feedHeader;
469
- if ( ! empty( $csvHead ) && ! empty( $feedBody ) ) {
470
- $string = array_merge( $csvHead, $feedBody );
471
- } else {
472
- $string = array();
473
- }
474
- } else {
475
- $string = $feedHeader . $feedBody . $feedFooter;
476
- }
477
- }
478
 
479
  $upload_dir = wp_get_upload_dir();
480
  $path = $upload_dir['basedir'] . '/woo-feed/' . $feedService . '/' . $type;
@@ -486,7 +486,7 @@ if ( ! function_exists( 'woo_feed_save_feed_file' ) ) {
486
  $file = $path . '/' . $feedName . '.' . $type;
487
  try {
488
  $save = new Woo_Feed_Savefile();
489
- if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
490
  $saveFile = $save->saveValueFile( $path, $file, $string, $info, $type );
491
  } else {
492
  $saveFile = $save->saveFile( $path, $file, $string );
@@ -597,7 +597,7 @@ if ( ! function_exists( 'woo_feed_generate_batch_data' ) ) {
597
  $feedBody = 'wf_store_feed_body_info_' . $feedSlug;
598
  $prevFeed = woo_feed_get_batch_feed_info( $feedService, $type, $feedBody );
599
  if ( $prevFeed ) {
600
- if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
601
  if ( ! empty( $prevFeed ) ) {
602
  $newFeed = array_merge( $prevFeed, $feed['body'] );
603
  woo_feed_save_batch_feed_info( $feedService, $type, $newFeed, $feedBody, $info );
10
  * Plugin Name: CTX Feed
11
  * Plugin URI: https://webappick.com/
12
  * Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
13
+ * Version: 4.4.21
14
  * Author: WebAppick
15
  * Author URI: https://webappick.com/
16
  * License: GPL v2
42
  * @var string
43
  * @since 3.1.6
44
  */
45
+ define( 'WOO_FEED_FREE_VERSION', '4.4.21' );
46
  }
47
 
48
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
463
  $feedBody = $reviewObj->make_review_xml_feed();
464
  $string = $feedBody;
465
 
466
+ } else if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type) {
467
+ $csvHead[0] = $feedHeader;
468
+ if ( ! empty( $csvHead ) && ! empty( $feedBody ) ) {
469
+ $string = array_merge( $csvHead, $feedBody );
470
+ } else {
471
+ $string = array();
472
+ }
473
+ } else if ('json' === $type){
474
+ $string = $feedBody;
475
+ } else {
476
+ $string = $feedHeader . $feedBody . $feedFooter;
477
+ }
478
 
479
  $upload_dir = wp_get_upload_dir();
480
  $path = $upload_dir['basedir'] . '/woo-feed/' . $feedService . '/' . $type;
486
  $file = $path . '/' . $feedName . '.' . $type;
487
  try {
488
  $save = new Woo_Feed_Savefile();
489
+ if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type || 'json' === $type ) {
490
  $saveFile = $save->saveValueFile( $path, $file, $string, $info, $type );
491
  } else {
492
  $saveFile = $save->saveFile( $path, $file, $string );
597
  $feedBody = 'wf_store_feed_body_info_' . $feedSlug;
598
  $prevFeed = woo_feed_get_batch_feed_info( $feedService, $type, $feedBody );
599
  if ( $prevFeed ) {
600
+ if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type || 'json' === $type ) {
601
  if ( ! empty( $prevFeed ) ) {
602
  $newFeed = array_merge( $prevFeed, $feed['body'] );
603
  woo_feed_save_batch_feed_info( $feedService, $type, $newFeed, $feedBody, $info );