CTX Feed – WooCommerce Product Feed Manager Plugin - Version 3.2.14

Version Description

(2020-01-21) = * Dynamic Selectize for Google Taxonomy Dropdown * Fix Selectize UI * Fix Contact Us Button * Fix Menu Icon * Fix php undefined index notice * Improve Ajax Security

Download this release

Release Info

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

Code changes from version 3.2.13 to 3.2.14

README.txt CHANGED
@@ -5,7 +5,7 @@ Tags:woocommerce,google product feed,facebook product feed,woocommerce product f
5
  Requires at least: 3.6
6
  Tested Up To: 5.4-alpha-46743
7
  Requires PHP: 5.6
8
- Stable tag: 3.2.13
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -305,6 +305,14 @@ Using pro version:
305
 
306
  == Changelog ==
307
 
 
 
 
 
 
 
 
 
308
  = 3.2.13 (2020-01-16) =
309
  * Fix Post Box issue
310
  * Update Service Library
5
  Requires at least: 3.6
6
  Tested Up To: 5.4-alpha-46743
7
  Requires PHP: 5.6
8
+ Stable tag: 3.2.14
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
305
 
306
  == Changelog ==
307
 
308
+ = 3.2.14 (2020-01-21) =
309
+ * Dynamic Selectize for Google Taxonomy Dropdown
310
+ * Fix Selectize UI
311
+ * Fix Contact Us Button
312
+ * Fix Menu Icon
313
+ * Fix php undefined index notice
314
+ * Improve Ajax Security
315
+
316
  = 3.2.13 (2020-01-16) =
317
  * Fix Post Box issue
318
  * Update Service Library
admin/class-woo-feed-admin.php CHANGED
@@ -64,6 +64,7 @@ class Woo_Feed_Admin
64
  * between the defined hooks and the functions defined in this
65
  * class.
66
  */
 
67
  if( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
68
  wp_register_style( 'selectize', plugin_dir_url(__FILE__) . 'css/selectize.css', array(),$this->version );
69
  wp_register_style( 'slick', plugin_dir_url(__FILE__) . 'css/slick.css', array(),$this->version );
@@ -72,9 +73,9 @@ class Woo_Feed_Admin
72
  if( $hook == 'woo-feed_page_webappick-feed-pro-vs-free' ) {
73
  $mainDeps = array_merge( $mainDeps, array('slick', 'slick-theme') );
74
  }
75
- wp_register_style( $this->woo_feed, plugin_dir_url(__FILE__) . 'css/woo-feed-admin.css', $mainDeps, $this->version, 'all' );
76
- wp_enqueue_style( $this->woo_feed );
77
  }
 
 
78
  }
79
 
80
  /**
64
  * between the defined hooks and the functions defined in this
65
  * class.
66
  */
67
+ $mainDeps = [];
68
  if( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
69
  wp_register_style( 'selectize', plugin_dir_url(__FILE__) . 'css/selectize.css', array(),$this->version );
70
  wp_register_style( 'slick', plugin_dir_url(__FILE__) . 'css/slick.css', array(),$this->version );
73
  if( $hook == 'woo-feed_page_webappick-feed-pro-vs-free' ) {
74
  $mainDeps = array_merge( $mainDeps, array('slick', 'slick-theme') );
75
  }
 
 
76
  }
77
+ wp_register_style( $this->woo_feed, plugin_dir_url(__FILE__) . 'css/woo-feed-admin.css', $mainDeps, $this->version, 'all' );
78
+ wp_enqueue_style( $this->woo_feed );
79
  }
80
 
81
  /**
admin/css/woo-feed-admin.css CHANGED
@@ -335,6 +335,21 @@ p {
335
  .widefat td.column-url, .widefat th.column-url,
336
  .column-url { color: #008779; font-weight: bold; }
337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
 
339
  /* Feed active and inactive button CSS */
340
  .wf_status_wrap label{
@@ -663,6 +678,13 @@ table.wf-rate-table a.review-star:after {
663
  content: "";
664
  background: url(../images/woo-feed-icon.svg) no-repeat center center;
665
  background-size: 20px 20px;
 
 
 
 
 
 
 
666
  }
667
 
668
  /** Admin Page Wrapper **/
335
  .widefat td.column-url, .widefat th.column-url,
336
  .column-url { color: #008779; font-weight: bold; }
337
 
338
+ /* Selectize */
339
+ select.selectize { display: none; }
340
+ body.no-js select.selectize { display: block !important; } /* fallback combat */
341
+ .selectize-dropdown .active { background-color: #edf9ff; }
342
+ .wapk-selectize-item {
343
+ background: #0073aa !important;
344
+ color: #f1f1f1 !important;
345
+ font-weight: bold !important;
346
+ border-color:#0073aa !important ;
347
+ }
348
+ .selectize-input.full #googleTaxonomyId-selectized { opacity: 0; position: absolute; left: -10000px; }
349
+ .selectize-dropdown [data-selectable].option { cursor: default; }
350
+ .selectize-control.plugin-remove_button [data-value] .remove{
351
+ border-left: 1px solid #f1f1f1 !important;
352
+ }
353
 
354
  /* Feed active and inactive button CSS */
355
  .wf_status_wrap label{
678
  content: "";
679
  background: url(../images/woo-feed-icon.svg) no-repeat center center;
680
  background-size: 20px 20px;
681
+ opacity: 0.6;
682
+ filter: alpha(opacity=60);
683
+ }
684
+ #adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before,
685
+ #adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before {
686
+ opacity: 1;
687
+ filter: alpha(opacity=100);
688
  }
689
 
690
  /** Admin Page Wrapper **/
admin/images/woo-feed-lite.svg CHANGED
@@ -1,18 +1,33 @@
1
- <svg width="194" height="39" viewBox="0 0 194 39" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M191 7H171C169.343 7 168 8.34315 168 10V19.4074C168 21.0643 169.343 22.4074 171 22.4074H191C192.657 22.4074 194 21.0643 194 19.4074V10C194 8.34315 192.657 7 191 7Z" fill="#3BB8EA"/>
3
- <path d="M172 10.875H173.586V16.5907H177.023V17.919H172V10.875Z" fill="white"/>
4
- <path d="M177.802 12.5057H179.329V17.9195H177.802V12.5057ZM178.566 11.7509C178.285 11.7509 178.056 11.6671 177.88 11.4994C177.704 11.3317 177.616 11.1237 177.616 10.8755C177.616 10.6272 177.704 10.4193 177.88 10.2516C178.056 10.0839 178.285 10 178.566 10C178.846 10 179.075 10.0805 179.251 10.2415C179.427 10.4025 179.515 10.6038 179.515 10.8453C179.515 11.1069 179.427 11.325 179.251 11.4994C179.075 11.6671 178.846 11.7509 178.566 11.7509Z" fill="white"/>
5
- <path d="M184.145 17.6583C183.995 17.7723 183.809 17.8595 183.587 17.9199C183.371 17.9736 183.143 18.0004 182.901 18.0004C182.275 18.0004 181.788 17.836 181.442 17.5073C181.103 17.1786 180.933 16.6956 180.933 16.0583V13.8344H180.12V12.6268H180.933V11.3086H182.461V12.6268H183.773V13.8344H182.461V16.0382C182.461 16.2662 182.516 16.444 182.627 16.5715C182.745 16.6922 182.908 16.7526 183.117 16.7526C183.358 16.7526 183.564 16.6855 183.734 16.5514L184.145 17.6583Z" fill="white"/>
6
- <path d="M190 15.2323C190 15.2525 189.99 15.3934 189.971 15.655H185.985C186.057 15.9904 186.227 16.2554 186.494 16.45C186.762 16.6445 187.095 16.7418 187.493 16.7418C187.767 16.7418 188.009 16.7015 188.218 16.621C188.433 16.5338 188.632 16.3996 188.815 16.2185L189.628 17.1241C189.132 17.7078 188.407 17.9996 187.454 17.9996C186.86 17.9996 186.335 17.8822 185.878 17.6474C185.421 17.4059 185.068 17.0738 184.82 16.6512C184.572 16.2286 184.448 15.7489 184.448 15.2122C184.448 14.6822 184.569 14.2059 184.81 13.7833C185.058 13.3539 185.395 13.0219 185.819 12.7871C186.25 12.5456 186.729 12.4248 187.258 12.4248C187.774 12.4248 188.241 12.5388 188.658 12.7669C189.076 12.995 189.403 13.3238 189.638 13.7531C189.879 14.1757 190 14.6688 190 15.2323ZM187.268 13.6122C186.922 13.6122 186.632 13.7129 186.397 13.9141C186.162 14.1154 186.018 14.3904 185.966 14.7393H188.561C188.508 14.3971 188.365 14.1254 188.13 13.9242C187.895 13.7162 187.607 13.6122 187.268 13.6122Z" fill="white"/>
7
- <path d="M50.5387 29.639L45.6953 9.63379H49.4858L53.0656 24.3745L57.0667 9.63379H60.2254L64.0159 24.3745L67.5957 9.63379H71.1756L66.1217 29.639H61.91L58.3302 16.3724L54.7503 29.639H50.5387Z" fill="#3BB8EA"/>
8
- <path d="M83.1785 27.9542C81.7045 29.4283 80.0198 30.06 78.1246 30.06C76.2294 30.06 74.5447 29.2177 73.0707 27.9542C71.8072 26.4801 70.9648 24.7955 70.9648 22.6897C70.9648 20.5839 71.5966 18.8992 73.0707 17.4251C74.5447 15.9511 76.0188 15.3193 78.1246 15.3193C80.2304 15.3193 81.7045 16.1617 83.1785 17.4251C84.6526 18.8992 85.2843 20.5839 85.2843 22.6897C85.2843 24.7955 84.6526 26.4801 83.1785 27.9542ZM75.5976 25.4272C76.2294 26.2695 77.0717 26.4801 78.1246 26.4801C79.1775 26.4801 80.0198 26.059 80.6516 25.4272C81.2833 24.5849 81.7045 23.7426 81.7045 22.6897C81.7045 21.6368 81.2833 20.5839 80.6516 19.9521C80.0198 19.1098 79.1775 18.8992 78.1246 18.8992C77.0717 18.8992 76.2294 19.3204 75.5976 19.9521C74.9659 20.7944 74.5447 21.6368 74.5447 22.6897C74.5447 23.7426 74.9659 24.7955 75.5976 25.4272Z" fill="#3BB8EA"/>
9
- <path d="M99.1824 28.1651C97.7084 29.6392 96.0236 30.2709 94.1284 30.2709C92.2332 30.2709 90.5485 29.4286 89.0745 28.1651C87.811 26.6911 86.9688 25.0064 86.9688 22.9006C86.9688 20.7948 87.6004 19.1101 89.0745 17.6361C90.5485 16.162 92.0226 15.5303 94.1284 15.5303C96.0236 15.5303 97.7084 16.3726 99.1824 17.6361C100.657 19.1101 101.288 20.7948 101.288 22.9006C101.288 24.7958 100.446 26.6911 99.1824 28.1651ZM91.6014 25.4276C92.2332 26.2699 93.0755 26.4805 94.1284 26.4805C95.1813 26.4805 96.0236 26.0593 96.6554 25.4276C97.2871 24.5853 97.7083 23.7429 97.7083 22.69C97.7083 21.6371 97.2871 20.5842 96.6554 19.9525C96.0236 19.1101 95.1813 18.8996 94.1284 18.8996C93.0755 18.8996 92.2332 19.3207 91.6014 19.9525C90.9697 20.5842 90.5485 21.6371 90.5485 22.69C90.5485 23.7429 90.7591 24.7958 91.6014 25.4276Z" fill="#3BB8EA"/>
10
- <path d="M114.977 13.6352H107.396V18.268H114.766V22.0584H107.396V29.8499H103.605V9.84473H114.766L114.977 13.6352Z" fill="#253033"/>
11
- <path d="M120.451 24.3743C120.872 26.059 122.136 27.1119 124.241 27.1119C125.505 27.1119 126.558 26.6907 127.19 25.6378L129.927 27.3224C128.664 29.4283 126.558 30.2706 124.031 30.2706C121.714 30.2706 120.03 29.6388 118.766 28.1648C117.503 26.6907 116.871 25.0061 116.871 22.6897C116.871 20.5839 117.503 18.6886 118.977 17.4251C120.24 15.9511 121.925 15.3193 124.031 15.3193C125.926 15.3193 127.611 15.9511 128.874 17.4251C130.138 18.8992 130.769 20.5839 130.769 22.6897C130.769 23.1108 130.769 23.7426 130.559 24.1637L120.451 24.3743ZM120.451 21.4262H127.19C126.979 20.3733 126.558 19.7415 125.926 19.3204C125.294 18.8992 124.663 18.6886 123.82 18.6886C122.978 18.6886 122.136 18.8992 121.504 19.531C121.083 19.9521 120.662 20.5839 120.451 21.4262Z" fill="#253033"/>
12
- <path d="M136.035 24.3743C136.456 26.059 137.72 27.1119 139.825 27.1119C141.089 27.1119 142.142 26.6907 142.774 25.6378L145.511 27.3224C144.248 29.4283 142.142 30.2706 139.615 30.2706C137.298 30.2706 135.614 29.6388 134.35 28.1648C133.087 26.6907 132.455 25.0061 132.455 22.6897C132.455 20.5839 133.087 18.6886 134.561 17.4251C135.824 15.9511 137.509 15.3193 139.615 15.3193C141.51 15.3193 143.195 15.9511 144.458 17.4251C145.722 18.8992 146.353 20.5839 146.353 22.6897C146.353 23.1108 146.353 23.7426 146.143 24.1637L136.035 24.3743ZM135.824 21.4262H142.563C142.352 20.3733 141.931 19.7415 141.299 19.3204C140.668 18.8992 140.036 18.6886 139.194 18.6886C138.351 18.6886 137.509 18.8992 136.877 19.531C136.456 19.9521 136.035 20.5839 135.824 21.4262Z" fill="#253033"/>
13
- <path d="M158.776 10.0557H162.146V30.0609H158.776V28.3762C157.723 29.8503 156.249 30.482 154.354 30.482C152.459 30.482 150.985 29.6397 149.721 28.3762C148.458 26.9021 147.826 25.2175 147.826 23.1117C147.826 21.0059 148.458 19.3212 149.721 17.8472C150.985 16.3731 152.459 15.7414 154.354 15.7414C156.249 15.7414 157.723 16.3731 158.776 17.8472V10.0557ZM152.248 25.8492C152.88 26.6916 153.933 26.9021 154.986 26.9021C156.039 26.9021 156.881 26.481 157.723 25.8492C158.355 25.0069 158.776 24.1646 158.776 22.9011C158.776 21.6376 158.355 20.7953 157.723 19.953C157.092 19.1107 156.249 18.9001 154.986 18.9001C153.933 18.9001 153.091 19.3212 152.248 19.953C151.617 20.7953 151.195 21.6376 151.195 22.9011C151.195 24.1646 151.617 25.0069 152.248 25.8492Z" fill="#253033"/>
14
- <path d="M27.5028 39H10.4972C4.61878 39 0 34.1713 0 28.5028V11.4972C0 5.61878 4.82873 1 10.4972 1H27.5028C33.3812 1 38 5.82873 38 11.4972V28.5028C38 34.3812 33.1713 39 27.5028 39Z" fill="#3BB8EA"/>
15
- <path d="M24.9831 32.0715C24.9831 28.7124 27.7124 25.9831 31.0715 25.9831V21.9941C25.6129 21.9941 20.9941 26.6129 20.9941 32.0715H24.9831Z" fill="white"/>
16
- <path d="M17.0046 32.0718C17.0046 24.3039 23.3029 18.0055 31.0709 18.0055V13.8066C20.9935 13.8066 13.0156 21.9945 13.0156 31.8619H17.0046V32.0718Z" fill="white"/>
17
- <path d="M8.81707 32.0712C8.81707 19.8944 18.8944 9.81708 31.0712 9.81708V5.82812C16.585 5.82812 4.82812 17.585 4.82812 32.0712H8.81707Z" fill="white"/>
18
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="123px" height="25px" viewBox="0 0 123 25" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
4
+ <title>Group 2</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="Group-2" fill-rule="nonzero">
8
+ <g id="logo-pro-copy">
9
+ <g id="Group">
10
+ <g id="file-icon-copy">
11
+ <path d="M2.20818849,1 L15.1239861,1 C16.7123647,1 18,2.34876897 18,4.01255981 L18,22.0741627 C18,23.1377733 17.1768542,24 16.1614523,24 L2.72692159,24 C1.77316913,24 1,23.1901227 1,22.1910885 L1,2.24491627 C1.0107551,1.55404342 1.54854215,1 2.20818849,1 Z" id="Path" fill="#0088F7"></path>
12
+ <path d="M18,5 L16.0032415,5 C14.8968818,5 14,4.10311823 14,2.99675851 L14,1 C16.2076588,1.00356938 17.9964306,2.79234118 18,5 Z" id="Path" fill="#FFFFFF"></path>
13
+ <path d="M12.4217157,4 L7.60622285,4 C7.29791524,4.03394393 7.06370343,4.30873772 7.06370343,4.63652199 C7.06370343,4.96430626 7.29791524,5.23910005 7.60622285,5.27304398 L12.4217157,5.27304398 C12.7300234,5.23910005 12.9642352,4.96430626 12.9642352,4.63652199 C12.9642352,4.30873772 12.7300234,4.03394393 12.4217157,4 Z M14.8489845,15.870275 C14.7061086,15.7236907 14.5036756,15.6617927 14.3088684,15.7051233 C14.2698238,15.7051233 14.2307793,15.7051233 14.1852273,15.7464112 L14.087616,15.8083431 C14.051391,15.8306043 14.0184947,15.8584334 13.9900046,15.8909189 C13.8699366,16.0043604 13.8032723,16.1680088 13.8077968,16.3382047 C13.8077968,16.3794926 13.8077968,16.4207805 13.8077968,16.4689497 C13.8077968,16.5171189 13.8077968,16.5515255 13.8468413,16.5996948 C13.8858859,16.647864 13.8858859,16.6616266 13.9054082,16.7029146 C13.928525,16.7416341 13.9570463,16.7764341 13.9900046,16.8061343 C14.0967407,16.9338939 14.2518661,17.0045566 14.4129871,16.9988113 C14.574225,17.010968 14.7289016,16.9291861 14.8164473,16.7854904 C14.8487882,16.7569993 14.8753497,16.7218897 14.8945364,16.6822706 C14.9183677,16.6508117 14.9380683,16.6160908 14.9531032,16.5790508 C14.9758471,16.5394118 14.9892388,16.4945683 14.9921478,16.4483058 C15.0026174,16.4054272 15.0026174,16.3604393 14.9921478,16.3175607 C15.0028863,16.1542231 14.951328,15.9931395 14.8489845,15.870275 L14.8489845,15.870275 Z M11.4000504,15.7257673 L5.60193661,15.7257673 C5.2694962,15.7257673 5,16.0107479 5,16.3622893 C5,16.7138307 5.2694962,16.9988113 5.60193661,16.9988113 L11.4000504,16.9988113 C11.7324908,16.9988113 12.001987,16.7138307 12.001987,16.3622893 C12.001987,16.0107479 11.7324908,15.7257673 11.4000504,15.7257673 L11.4000504,15.7257673 Z M14.4064797,13.0833409 L5.60193661,13.0833409 C5.29362901,13.1172848 5.0594172,13.3920786 5.0594172,13.7198628 C5.0594172,14.0476471 5.29362901,14.3224409 5.60193661,14.3563848 L14.426002,14.3563848 C14.7343096,14.3224409 14.9685214,14.0476471 14.9685214,13.7198628 C14.9685214,13.3920786 14.7343096,13.1172848 14.426002,13.0833409 L14.4064797,13.0833409 Z M14.4064797,10.3652199 L5.60193661,10.3652199 C5.29362901,10.3991638 5.0594172,10.6739576 5.0594172,11.0017419 C5.0594172,11.3295262 5.29362901,11.60432 5.60193661,11.6382639 L14.426002,11.6382639 C14.7343096,11.60432 14.9685214,11.3295262 14.9685214,11.0017419 C14.9685214,10.6739576 14.7343096,10.3991638 14.426002,10.3652199 L14.4064797,10.3652199 Z" id="Shape" fill="#FFFFFF"></path>
14
+ <path d="M16.2426925,5.57810754 L18.3500005,5.57810754 C18.601712,5.56822361 18.8277555,5.41765557 18.9384047,5.18617025 C18.9792645,5.10627795 19.0004043,5.01737599 19,4.92721169 L19,4.87821953 C18.9728063,3.84759771 18.6359663,2.85054994 18.0352727,2.02267642 L18.0352727,1.97368426 L17.9189602,1.82670777 L17.9189602,1.82670777 C17.8231735,1.70772681 17.713703,1.58874585 17.6042324,1.46976488 C16.7032947,0.529537129 15.4703317,0 14.1832778,0 L2.73676369,0 C1.23327049,0 0.0112761984,1.24061154 0,2.77855548 L0,22.2004479 C0,23.775196 1.24522748,25 2.31940723,25 L15.7774427,25 C17.6110743,25 18.9384047,23.8171893 18.9384047,22.2004479 L18.9384047,14.7396417 L18.9384047,7.74076151 C18.9402293,7.57184262 18.8763762,7.40910183 18.7608945,7.28834549 C18.6454127,7.16758914 18.4877635,7.09871059 18.3226329,7.09686454 L18.3226329,7.09686454 C18.1551303,7.09497104 17.993948,7.16220179 17.8754986,7.28336879 C17.7570491,7.40453579 17.6913262,7.56941596 17.6931772,7.74076151 L17.6931772,14.7396417 L17.6931772,22.1934491 C17.6931772,23.0963046 16.9337253,23.6982083 15.7979684,23.6982083 L2.31940723,23.6982083 C1.67977578,23.4926422 1.25016606,22.8791019 1.26575321,22.1934491 L1.26575321,2.77855548 C1.26392323,2.37889758 1.41831653,1.99506757 1.69458219,1.71246366 C1.97084786,1.42985975 2.34606932,1.27192428 2.73676369,1.27379624 L13.4990869,1.27379624 L13.4990869,2.77855548 C13.4990846,3.52225707 13.7883604,4.23539681 14.3030839,4.76061632 C14.8178074,5.28583583 15.5156729,5.5799668 16.2426925,5.57810754 Z M16.2426925,4.28331471 C15.8508165,4.28706575 15.4738263,4.12996031 15.1960738,3.84715082 C14.9183213,3.56434134 14.7629917,3.17943523 14.7648078,2.77855548 L14.7648078,1.33678616 C16.2367884,1.60594277 17.3890058,2.78459504 17.6521258,4.29031359 L16.2426925,4.28331471 Z" id="Shape" fill="#2E3B50"></path>
15
+ </g>
16
+ <g id="text-copy" transform="translate(25.000000, 5.000000)">
17
+ <path d="M9.02369668,2.46990881 C9.2107425,3.14427558 9.41295419,3.84761905 9.63033175,4.57993921 C9.84770932,5.31225937 10.0701422,6.04457953 10.2976303,6.7768997 C10.5301738,7.50921986 10.7601896,8.22836879 10.9876777,8.9343465 C11.2151659,9.64032421 11.4375987,10.3067882 11.6549763,10.9337386 C11.8369668,10.2593718 12.0139021,9.52705167 12.185782,8.73677812 C12.3576619,7.94650456 12.5295419,7.12198582 12.7014218,6.26322188 C12.8733017,5.40972644 13.042654,4.53779129 13.2094787,3.64741641 C13.3763033,2.75704154 13.5279621,1.8745694 13.664455,1 L16,1 C15.5703002,3.34974671 15.0951027,5.60729483 14.5744076,7.77264438 C14.0537125,9.93799392 13.4698262,12.0058764 12.8227488,13.9762918 L10.6464455,13.9762918 C9.72638231,11.4684904 8.83917852,8.72360689 7.98483412,5.74164134 C7.53491311,7.25369807 7.07993681,8.6893617 6.61990521,10.0486322 C6.15987362,11.4079027 5.69731438,12.7250253 5.23222749,14 L3.06350711,14 C2.42654028,12.0243161 1.85781991,9.95116515 1.35734597,7.78054711 C0.856872038,5.60992908 0.404423381,3.34974671 0,1 L2.40379147,1 C2.54533965,1.84822695 2.69447077,2.71752786 2.85118483,3.60790274 C3.00789889,4.49827761 3.17219589,5.37021277 3.34407583,6.22370821 C3.51595577,7.08247214 3.69036335,7.91225937 3.86729858,8.71306991 C4.04423381,9.51388045 4.22116904,10.2514691 4.39810427,10.9258359 C4.63064771,10.2883485 4.86319115,9.61661601 5.0957346,8.9106383 C5.32827804,8.20466059 5.56082148,7.4881459 5.79336493,6.76109422 C6.02590837,6.02877406 6.24834123,5.30172239 6.46066351,4.57993921 C6.67298578,3.85815603 6.87014218,3.16008105 7.0521327,2.48571429 L9.02369668,2.46990881 Z" id="Path" fill="#2E3B50"></path>
18
+ <path d="M26.9996531,8.47024937 C27.0074002,9.24137774 26.885323,10.0082129 26.6386532,10.737891 C26.4183769,11.3854613 26.0698643,11.9807813 25.6144208,12.4874572 C25.1707559,12.9715337 24.6297019,13.3538098 24.0277001,13.6085384 C23.3812481,13.8785504 22.6869098,14.0115185 21.9876306,13.9992183 C21.2898029,14.007172 20.5979545,13.868349 19.9559565,13.5915524 C19.354251,13.3251484 18.8160351,12.9312701 18.3776312,12.4364989 C17.9336031,11.9420954 17.5886161,11.3652334 17.3617941,10.737891 C17.1110599,10.0063108 16.9888819,9.23596797 17.0007942,8.46175633 C16.99351,7.68924891 17.1214122,6.92153209 17.3785848,6.19411471 C17.6113591,5.56394749 17.9651704,4.98664352 18.4196079,4.49550675 C18.8642722,4.0146967 19.4052194,3.63539151 20.0063286,3.38291854 C20.6454978,3.1189924 21.3309469,2.98897514 22.021212,3.00073175 C22.7152838,2.99508464 23.4033775,3.1308387 24.0444908,3.39990462 C24.6451553,3.65262047 25.1838678,4.03526684 25.6228161,4.52098587 C26.0719328,5.0308693 26.4171431,5.62542172 26.6386532,6.27055206 C26.8822542,6.97755454 27.0043528,7.72154353 26.9996531,8.47024937 Z M24.531421,8.47024937 C24.5822345,7.59121999 24.3526877,6.71891431 23.8765838,5.98178871 C23.4278306,5.4022344 22.7405392,5.06366156 22.0128167,5.06366156 C21.2850942,5.06366156 20.5978027,5.4022344 20.1490495,5.98178871 C19.6640801,6.71586733 19.4256406,7.58840701 19.4690264,8.47024937 C19.4114356,9.36863088 19.6410211,10.2619275 20.1238635,11.0181613 C20.568813,11.60379 21.257496,11.9470101 21.9876306,11.9470101 C22.7177653,11.9470101 23.4064482,11.60379 23.8513978,11.0181613 C24.3448474,10.2625994 24.583402,9.36580325 24.531421,8.46175633 L24.531421,8.47024937 Z" id="Shape" fill="#2E3B50"></path>
19
+ <path d="M37.9992565,8.49997514 C38.0052591,9.27027664 37.8803324,10.0359406 37.6298759,10.7638742 C37.3983877,11.4076815 37.0384122,11.9970095 36.5721041,12.495588 C36.1284568,12.9770623 35.5874243,13.3572835 34.9854463,13.6106428 C34.3390199,13.8792033 33.6447091,14.0114565 32.9454577,13.9992225 C32.2476577,14.0071334 31.5558367,13.8690567 30.9138642,13.593748 C30.3167471,13.3326772 29.7816246,12.9468283 29.3439965,12.4617985 C28.9034894,11.9446538 28.5696061,11.3445091 28.3617798,10.6962951 C28.1110555,9.96864757 27.9888823,9.20244585 28.0007942,8.43239606 C27.9935103,7.66404135 28.1214073,6.90045147 28.3785698,6.1769444 C28.6113348,5.55016471 28.9651321,4.9759641 29.4195516,4.48746749 C29.8641983,4.00924209 30.405124,3.6319759 31.0062094,3.38086012 C31.6453532,3.11835275 32.3307752,2.98903441 33.0210129,3.00072782 C33.7150572,2.99511106 34.4031235,3.13013536 35.0442114,3.39775489 C35.6448521,3.64911224 36.1835432,4.02970165 36.6224741,4.51280965 C37.0715729,5.01995214 37.4167696,5.61130848 37.6382709,6.25297086 C37.8885761,6.9748872 38.0107654,7.73547146 37.9992565,8.49997514 L37.9992565,8.49997514 Z M35.5311222,8.49997514 C35.5905548,7.62186647 35.3667935,6.74790114 34.8931011,6.00799671 C34.4443657,5.43155785 33.7571015,5.09480505 33.0294079,5.09480505 C32.3017143,5.09480505 31.6144501,5.43155785 31.1657147,6.00799671 C30.6807644,6.7381292 30.4423344,7.60597846 30.4857185,8.48308037 C30.42813,9.37663254 30.6577064,10.2651271 31.1405296,11.0172957 C31.5854615,11.5997763 32.2741172,11.9411514 33.0042228,11.9411514 C33.7343285,11.9411514 34.4229842,11.5997763 34.8679161,11.0172957 C35.3536877,10.2661327 35.5862271,9.37756277 35.5311222,8.48308037 L35.5311222,8.49997514 Z" id="Shape" fill="#2E3B50"></path>
20
+ <polygon id="Path" fill="#0088F7" points="40 13.9684466 40.0687023 1 48 1.0473301 48 3.05097087 42.351145 3.05097087 42.2900763 6.34830097 47.3053435 6.34830097 47.3053435 8.35194175 42.2900763 8.35194175 42.2900763 14"></polygon>
21
+ <path d="M49.0054054,9.54891633 C48.9931281,8.72371947 49.1293347,7.90349841 49.4068813,7.13127314 C49.6438401,6.50205059 49.9987995,5.92914093 50.4507186,5.44650437 C50.874418,4.99794323 51.3832446,4.64780662 51.9442089,4.41879542 C52.4788002,4.16944986 53.0538158,4.02935761 53.6384371,4.00602707 C54.8473249,3.93889362 56.0227721,4.43524572 56.8502442,5.36226593 C57.6882209,6.50223635 58.0918031,7.92859041 57.9824062,9.36359176 C57.9824062,9.49837327 57.9824062,9.64719451 57.9824062,9.81005549 C57.9824062,9.97291647 57.9824062,10.1217377 57.9824062,10.2565192 L51.4142607,10.2565192 C51.4215515,10.994507 51.7108168,11.6985597 52.2172125,12.210851 C52.8368925,12.7147273 53.6108485,12.9634102 54.3932118,12.91003 C54.9081338,12.9174758 55.4223195,12.8666388 55.9268497,12.7584008 C56.3025333,12.6814039 56.6707399,12.5686188 57.0268936,12.4214471 L57.3239858,14.4010504 C57.1553967,14.4851344 56.9809129,14.5555393 56.8020671,14.6116465 C56.5380564,14.6918333 56.2699899,14.7565165 55.9991154,14.8053949 C55.7154057,14.8615539 55.4076075,14.909289 55.0757208,14.9486002 C54.7396884,14.9858483 54.4018872,15.002724 54.0640016,14.9991433 C53.2852337,15.0125012 52.5112122,14.8695376 51.7836185,14.5779511 C51.1711715,14.3312964 50.6215055,13.9391677 50.177715,13.4323084 C49.7604372,12.9450715 49.4457929,12.3709908 49.2543204,11.7475396 C49.0609684,11.0331023 48.9769511,10.2909922 49.0054054,9.54891633 L49.0054054,9.54891633 Z M55.6939937,8.50435969 C55.6974617,8.18206038 55.6541414,7.86108529 55.5655214,7.55246533 C55.486599,7.26761403 55.3557042,7.00155076 55.1801045,6.76904785 C55.0100379,6.54922961 54.7962989,6.37099103 54.5538022,6.24676953 C54.277217,6.11270217 53.975171,6.04644558 53.6705552,6.05302113 C53.3493104,6.04340229 53.0303642,6.11263184 52.7391311,6.25519338 C52.4785052,6.38712229 52.2462685,6.57343657 52.0566221,6.80274323 C51.8691199,7.03182457 51.7222673,7.29430469 51.6230282,7.57773686 C51.5192832,7.86887489 51.4465748,8.17116599 51.4062312,8.47908816 L55.6939937,8.50435969 Z" id="Shape" fill="#0088F7"></path>
22
+ <path d="M60.0050243,9.47310173 C59.9927794,8.64790487 60.1286279,7.82768382 60.4054449,7.05545855 C60.6417808,6.426236 60.9958071,5.85332633 61.4465382,5.37068977 C61.8691239,4.92212864 62.3766129,4.57199203 62.9361026,4.34298082 C63.4816487,4.11649258 64.0634138,4.00211054 64.6499024,4.00602707 C65.8556124,3.93889362 67.0279697,4.43524572 67.8532666,5.36226593 C68.6890404,6.50223635 69.0915617,7.92859041 68.9824525,9.36359176 C68.9824525,9.49837327 68.9824525,9.64719451 68.9824525,9.81005549 C68.9824525,9.97853237 68.9824525,10.1301616 68.9824525,10.2565192 L62.4315727,10.2565192 C62.4388443,10.994507 62.7273492,11.6985597 63.2324138,12.210851 C63.8504648,12.7147273 64.6223863,12.9634102 65.402693,12.91003 C65.9162639,12.9175414 66.4291047,12.8667037 66.9322994,12.7584008 C67.3069955,12.6814039 67.6742341,12.5686188 68.0294516,12.4214471 L68.3257628,14.4010504 C68.1576293,14.4851649 67.9836019,14.5555707 67.8052161,14.6116465 C67.5418828,14.6917659 67.2745246,14.7564482 67.0043751,14.8053949 C66.7214113,14.8615539 66.4144222,14.909289 66.0834079,14.9486002 C65.7482601,14.985867 65.411346,15.0027428 65.0743482,14.9991433 C64.2976275,15.0125012 63.5256406,14.8695376 62.7999596,14.5779511 C62.1891225,14.3312964 61.6409015,13.9391677 61.1982775,13.4323084 C60.7822919,12.9449228 60.4684998,12.3708881 60.2773103,11.7475396 C60.0686341,11.0102194 59.9766449,10.2418219 60.0050243,9.47310173 Z M66.6760303,8.4285451 C66.6792414,8.10626272 66.6360402,7.78532678 66.5478957,7.47665074 C66.4689918,7.19187879 66.3384591,6.9258522 66.163492,6.69323326 C65.9938724,6.47341502 65.7806953,6.29517643 65.538836,6.17095494 C65.2629778,6.03688757 64.9617259,5.97063099 64.6579108,5.97720653 C64.3375105,5.9675877 64.0194027,6.03681724 63.7289352,6.17937878 C63.4689944,6.3113077 63.2373682,6.49762197 63.0482203,6.72692863 C62.8612109,6.95600997 62.7147444,7.21849009 62.6157662,7.50192227 C62.5122939,7.7930603 62.4397767,8.0953514 62.3995391,8.40327356 L66.6760303,8.4285451 Z" id="Shape" fill="#0088F7"></path>
23
+ <path d="M78.9519219,13.5051782 C78.3862429,13.6547831 77.8107644,13.7698782 77.2291217,13.8497363 C76.5082085,13.9552705 75.7792523,14.0053743 75.0495792,13.9995442 C74.3298235,14.005418 73.6151833,13.8860363 72.9421539,13.6474957 C72.3379434,13.4368504 71.7907808,13.1043915 71.3395491,12.6737446 C70.8974095,12.2452579 70.5562049,11.7349374 70.3379211,11.1756661 C70.0999147,10.5277398 69.9859883,9.84565938 70.0013741,9.1607504 C69.9956862,8.48364594 70.0983188,7.8095509 70.305869,7.16081552 C70.4890015,6.61270899 70.7857852,6.10366927 71.1792886,5.66273696 C71.5541354,5.21392394 72.0374419,4.85455041 72.5895808,4.61408197 C73.1841814,4.37690263 73.8263689,4.26195113 74.4726415,4.27701429 C74.9037576,4.27207957 75.3332267,4.32762721 75.7467123,4.44180294 C76.0727361,4.53503689 76.3891777,4.65536331 76.6922491,4.80134179 L76.6922491,0.307106105 L79,0 L78.9519219,13.5051782 Z M72.3812422,9.08584648 C72.3214361,9.88959129 72.5715928,10.686776 73.0863883,11.3329643 C73.5775864,11.8783651 74.3116281,12.1799459 75.0736182,12.1494171 C75.3866427,12.1542194 75.6996971,12.1417136 76.0111421,12.1119652 C76.226472,12.0898337 76.440437,12.0573321 76.652184,12.0145901 L76.652184,6.68143038 C76.4024939,6.52834302 76.1333047,6.40504336 75.8508816,6.31440114 C75.5063502,6.1992465 75.1430269,6.14095243 74.7771364,6.1421221 C74.0577886,6.08414974 73.3585015,6.38256782 72.9341408,6.92861335 C72.525183,7.58057088 72.3327361,8.33143666 72.3812422,9.08584648 L72.3812422,9.08584648 Z" id="Shape" fill="#0088F7"></path>
24
+ </g>
25
+ </g>
26
+ <g id="Group-2" transform="translate(107.000000, 0.000000)" fill="#0088F7">
27
+ <rect id="Rectangle" x="0" y="0" width="16" height="8" rx="2"></rect>
28
+ </g>
29
+ </g>
30
+ <path d="M112.4192,6.05600008 L112.4192,5.36480007 L110.9024,5.36480007 L110.9024,1.53760001 L110,1.53760001 L110,6.05600008 L112.4192,6.05600008 Z M113.4112,1.97920001 C113.5776,1.97920001 113.712,1.93333335 113.8144,1.84160001 C113.9168,1.74986668 113.968,1.63360001 113.968,1.49280001 C113.968,1.34773334 113.9168,1.22933334 113.8144,1.1376 C113.712,1.04586667 113.5776,1 113.4112,1 C113.2448,1 113.1104,1.04586667 113.008,1.1376 C112.9056,1.22933334 112.8544,1.34773334 112.8544,1.49280001 C112.8544,1.63360001 112.9056,1.74986668 113.008,1.84160001 C113.1104,1.93333335 113.2448,1.97920001 113.4112,1.97920001 Z M113.8592,6.05600008 L113.8592,2.51040002 L112.9568,2.51040002 L112.9568,6.05600008 L113.8592,6.05600008 Z M116.5728,6.05600008 L116.5728,5.28160006 L116.2208,5.28160006 C116.058667,5.28160006 115.943467,5.24746673 115.8752,5.17920006 C115.806933,5.11093339 115.7728,4.99146673 115.7728,4.82080006 L115.7728,4.82080006 L115.7728,3.27200003 L116.5664,3.27200003 L116.5664,2.51040002 L115.7728,2.51040002 L115.7728,1.63360001 L114.8704,1.63360001 L114.8704,2.51040002 L114.3776,2.51040002 L114.3776,3.27200003 L114.8704,3.27200003 L114.8704,4.80800006 C114.8704,5.25600006 114.976,5.57600007 115.1872,5.76800007 C115.3984,5.96000007 115.7024,6.05600008 116.0992,6.05600008 L116.0992,6.05600008 L116.5728,6.05600008 Z M118.8128,6.10080008 C119.1072,6.10080008 119.374933,6.04533341 119.616,5.93440007 C119.857067,5.82346674 120.0544,5.66986674 120.208,5.47360007 C120.3616,5.2773334 120.461867,5.05546673 120.5088,4.80800006 L120.5088,4.80800006 L119.5552,4.80800006 C119.5168,4.98293339 119.428267,5.12160006 119.2896,5.22400006 C119.150933,5.32640006 118.977067,5.37760007 118.768,5.37760007 C118.533333,5.37760007 118.337067,5.3029334 118.1792,5.15360006 C118.021333,5.00426673 117.936,4.77173339 117.9232,4.45600005 L117.9232,4.45600005 L120.5216,4.45600005 C120.542933,4.34080005 120.5536,4.23840005 120.5536,4.14880005 C120.5536,3.82453338 120.482133,3.5354667 120.3392,3.28160003 C120.196267,3.02773336 119.9936,2.82826669 119.7312,2.68320003 C119.4688,2.53813336 119.162667,2.46560002 118.8128,2.46560002 C118.4672,2.46560002 118.16,2.53813336 117.8912,2.68320003 C117.6224,2.82826669 117.413333,3.03840003 117.264,3.31360003 C117.114667,3.58880004 117.04,3.91200004 117.04,4.28320005 C117.04,4.65440005 117.114667,4.97653339 117.264,5.24960006 C117.413333,5.52266673 117.6224,5.73280007 117.8912,5.88000007 C118.16,6.02720007 118.4672,6.10080008 118.8128,6.10080008 Z M119.6448,4.05920005 L117.9232,4.05920005 C117.940267,3.76906671 118.032,3.54933337 118.1984,3.40000004 C118.3648,3.2506667 118.5696,3.17600003 118.8128,3.17600003 C119.051733,3.17600003 119.253333,3.2506667 119.4176,3.40000004 C119.581867,3.54933337 119.6576,3.76906671 119.6448,4.05920005 L119.6448,4.05920005 Z" id="Lite" fill="#FFFFFF"></path>
31
+ </g>
32
+ </g>
33
+ </svg>
admin/images/woo-feed-pro.svg CHANGED
@@ -1,17 +1,31 @@
1
- <svg width="194" height="39" viewBox="0 0 194 39" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M50.5387 29.639L45.6953 9.63379H49.4858L53.0656 24.3745L57.0667 9.63379H60.2254L64.0159 24.3745L67.5957 9.63379H71.1756L66.1217 29.639H61.91L58.3302 16.3724L54.7503 29.639H50.5387Z" fill="#3BB8EA"/>
3
- <path d="M83.1785 27.9542C81.7045 29.4283 80.0198 30.06 78.1246 30.06C76.2294 30.06 74.5447 29.2177 73.0707 27.9542C71.8072 26.4801 70.9648 24.7955 70.9648 22.6897C70.9648 20.5839 71.5966 18.8992 73.0707 17.4251C74.5447 15.9511 76.0188 15.3193 78.1246 15.3193C80.2304 15.3193 81.7045 16.1617 83.1785 17.4251C84.6526 18.8992 85.2843 20.5839 85.2843 22.6897C85.2843 24.7955 84.6526 26.4801 83.1785 27.9542ZM75.5976 25.4272C76.2294 26.2695 77.0717 26.4801 78.1246 26.4801C79.1775 26.4801 80.0198 26.059 80.6516 25.4272C81.2833 24.5849 81.7045 23.7426 81.7045 22.6897C81.7045 21.6368 81.2833 20.5839 80.6516 19.9521C80.0198 19.1098 79.1775 18.8992 78.1246 18.8992C77.0717 18.8992 76.2294 19.3204 75.5976 19.9521C74.9659 20.7944 74.5447 21.6368 74.5447 22.6897C74.5447 23.7426 74.9659 24.7955 75.5976 25.4272Z" fill="#3BB8EA"/>
4
- <path d="M99.1824 28.1651C97.7084 29.6392 96.0236 30.2709 94.1284 30.2709C92.2332 30.2709 90.5485 29.4286 89.0745 28.1651C87.811 26.6911 86.9688 25.0064 86.9688 22.9006C86.9688 20.7948 87.6004 19.1101 89.0745 17.6361C90.5485 16.162 92.0226 15.5303 94.1284 15.5303C96.0236 15.5303 97.7084 16.3726 99.1824 17.6361C100.657 19.1101 101.288 20.7948 101.288 22.9006C101.288 24.7958 100.446 26.6911 99.1824 28.1651ZM91.6014 25.4276C92.2332 26.2699 93.0755 26.4805 94.1284 26.4805C95.1813 26.4805 96.0236 26.0593 96.6554 25.4276C97.2871 24.5853 97.7083 23.7429 97.7083 22.69C97.7083 21.6371 97.2871 20.5842 96.6554 19.9525C96.0236 19.1101 95.1813 18.8996 94.1284 18.8996C93.0755 18.8996 92.2332 19.3207 91.6014 19.9525C90.9697 20.5842 90.5485 21.6371 90.5485 22.69C90.5485 23.7429 90.7591 24.7958 91.6014 25.4276Z" fill="#3BB8EA"/>
5
- <path d="M114.977 13.6352H107.396V18.268H114.766V22.0584H107.396V29.8499H103.605V9.84473H114.766L114.977 13.6352Z" fill="#253033"/>
6
- <path d="M120.451 24.3743C120.872 26.059 122.136 27.1119 124.241 27.1119C125.505 27.1119 126.558 26.6907 127.19 25.6378L129.927 27.3224C128.664 29.4283 126.558 30.2706 124.031 30.2706C121.714 30.2706 120.03 29.6388 118.766 28.1648C117.503 26.6907 116.871 25.0061 116.871 22.6897C116.871 20.5839 117.503 18.6886 118.977 17.4251C120.24 15.9511 121.925 15.3193 124.031 15.3193C125.926 15.3193 127.611 15.9511 128.874 17.4251C130.138 18.8992 130.769 20.5839 130.769 22.6897C130.769 23.1108 130.769 23.7426 130.559 24.1637L120.451 24.3743ZM120.451 21.4262H127.19C126.979 20.3733 126.558 19.7415 125.926 19.3204C125.294 18.8992 124.663 18.6886 123.82 18.6886C122.978 18.6886 122.136 18.8992 121.504 19.531C121.083 19.9521 120.662 20.5839 120.451 21.4262Z" fill="#253033"/>
7
- <path d="M136.035 24.3743C136.456 26.059 137.72 27.1119 139.825 27.1119C141.089 27.1119 142.142 26.6907 142.774 25.6378L145.511 27.3224C144.248 29.4283 142.142 30.2706 139.615 30.2706C137.298 30.2706 135.614 29.6388 134.35 28.1648C133.087 26.6907 132.455 25.0061 132.455 22.6897C132.455 20.5839 133.087 18.6886 134.561 17.4251C135.824 15.9511 137.509 15.3193 139.615 15.3193C141.51 15.3193 143.195 15.9511 144.458 17.4251C145.722 18.8992 146.353 20.5839 146.353 22.6897C146.353 23.1108 146.353 23.7426 146.143 24.1637L136.035 24.3743ZM135.824 21.4262H142.563C142.352 20.3733 141.931 19.7415 141.299 19.3204C140.668 18.8992 140.036 18.6886 139.194 18.6886C138.351 18.6886 137.509 18.8992 136.877 19.531C136.456 19.9521 136.035 20.5839 135.824 21.4262Z" fill="#253033"/>
8
- <path d="M158.776 10.0557H162.146V30.0609H158.776V28.3762C157.723 29.8503 156.249 30.482 154.354 30.482C152.459 30.482 150.985 29.6397 149.721 28.3762C148.458 26.9021 147.826 25.2175 147.826 23.1117C147.826 21.0059 148.458 19.3212 149.721 17.8472C150.985 16.3731 152.459 15.7414 154.354 15.7414C156.249 15.7414 157.723 16.3731 158.776 17.8472V10.0557ZM152.248 25.8492C152.88 26.6916 153.933 26.9021 154.986 26.9021C156.039 26.9021 156.881 26.481 157.723 25.8492C158.355 25.0069 158.776 24.1646 158.776 22.9011C158.776 21.6376 158.355 20.7953 157.723 19.953C157.092 19.1107 156.249 18.9001 154.986 18.9001C153.933 18.9001 153.091 19.3212 152.248 19.953C151.617 20.7953 151.195 21.6376 151.195 22.9011C151.195 24.1646 151.617 25.0069 152.248 25.8492Z" fill="#253033"/>
9
- <path d="M27.5028 39H10.4972C4.61878 39 0 34.1713 0 28.5028V11.4972C0 5.61878 4.82873 1 10.4972 1H27.5028C33.3812 1 38 5.82873 38 11.4972V28.5028C38 34.3812 33.1713 39 27.5028 39Z" fill="#3BB8EA"/>
10
- <path d="M24.9831 32.0715C24.9831 28.7124 27.7124 25.9831 31.0715 25.9831V21.9941C25.6129 21.9941 20.9941 26.6129 20.9941 32.0715H24.9831Z" fill="white"/>
11
- <path d="M17.0046 32.0718C17.0046 24.3039 23.3029 18.0055 31.0709 18.0055V13.8066C20.9935 13.8066 13.0156 21.9945 13.0156 31.8619H17.0046V32.0718Z" fill="white"/>
12
- <path d="M8.81707 32.0712C8.81707 19.8944 18.8944 9.81708 31.0712 9.81708V5.82812C16.585 5.82812 4.82812 17.585 4.82812 32.0712H8.81707Z" fill="white"/>
13
- <path d="M191 7.77734H171C169.343 7.77734 168 9.12049 168 10.7773V20.1847C168 21.8416 169.343 23.1847 171 23.1847H191C192.657 23.1847 194 21.8416 194 20.1847V10.7773C194 9.12049 192.657 7.77734 191 7.77734Z" fill="#3BB8EA"/>
14
- <path d="M174.835 11.1484C175.544 11.1484 176.158 11.2679 176.676 11.5068C177.202 11.7458 177.606 12.0849 177.888 12.5242C178.17 12.9635 178.311 13.4838 178.311 14.0849C178.311 14.6784 178.17 15.1986 177.888 15.6457C177.606 16.085 177.202 16.4241 176.676 16.663C176.158 16.8942 175.544 17.0099 174.835 17.0099H173.223V19.2411H171.371V11.1484H174.835ZM174.732 15.4838C175.289 15.4838 175.712 15.3643 176.001 15.1254C176.291 14.8788 176.436 14.532 176.436 14.0849C176.436 13.6302 176.291 13.2834 176.001 13.0444C175.712 12.7978 175.289 12.6745 174.732 12.6745H173.223V15.4838H174.732Z" fill="white"/>
15
- <path d="M181.211 13.842C181.424 13.5414 181.71 13.3141 182.069 13.1599C182.434 13.0058 182.854 12.9287 183.326 12.9287V14.5935C183.128 14.5781 182.995 14.5704 182.926 14.5704C182.415 14.5704 182.015 14.7168 181.726 15.0097C181.436 15.2949 181.291 15.7265 181.291 16.3045V19.241H179.508V13.0212H181.211V13.842Z" fill="white"/>
16
- <path d="M187.257 19.3335C186.61 19.3335 186.027 19.1986 185.508 18.9289C184.998 18.6514 184.597 18.2699 184.308 17.7843C184.018 17.2988 183.873 16.7477 183.873 16.1311C183.873 15.5145 184.018 14.9635 184.308 14.4779C184.597 13.9923 184.998 13.6147 185.508 13.3449C186.027 13.0674 186.61 12.9287 187.257 12.9287C187.905 12.9287 188.485 13.0674 188.995 13.3449C189.506 13.6147 189.906 13.9923 190.196 14.4779C190.485 14.9635 190.63 15.5145 190.63 16.1311C190.63 16.7477 190.485 17.2988 190.196 17.7843C189.906 18.2699 189.506 18.6514 188.995 18.9289C188.485 19.1986 187.905 19.3335 187.257 19.3335ZM187.257 17.8537C187.715 17.8537 188.088 17.6996 188.378 17.3913C188.675 17.0753 188.824 16.6552 188.824 16.1311C188.824 15.607 188.675 15.1908 188.378 14.8825C188.088 14.5665 187.715 14.4085 187.257 14.4085C186.8 14.4085 186.423 14.5665 186.126 14.8825C185.828 15.1908 185.68 15.607 185.68 16.1311C185.68 16.6552 185.828 17.0753 186.126 17.3913C186.423 17.6996 186.8 17.8537 187.257 17.8537Z" fill="white"/>
17
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="123px" height="25px" viewBox="0 0 123 25" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
4
+ <title>logo-pro</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="logo-pro" fill-rule="nonzero">
8
+ <g id="Group">
9
+ <g id="file-icon-copy">
10
+ <path d="M2.20818849,1 L15.1239861,1 C16.7123647,1 18,2.34876897 18,4.01255981 L18,22.0741627 C18,23.1377733 17.1768542,24 16.1614523,24 L2.72692159,24 C1.77316913,24 1,23.1901227 1,22.1910885 L1,2.24491627 C1.0107551,1.55404342 1.54854215,1 2.20818849,1 Z" id="Path" fill="#0088F7"></path>
11
+ <path d="M18,5 L16.0032415,5 C14.8968818,5 14,4.10311823 14,2.99675851 L14,1 C16.2076588,1.00356938 17.9964306,2.79234118 18,5 Z" id="Path" fill="#FFFFFF"></path>
12
+ <path d="M12.4217157,4 L7.60622285,4 C7.29791524,4.03394393 7.06370343,4.30873772 7.06370343,4.63652199 C7.06370343,4.96430626 7.29791524,5.23910005 7.60622285,5.27304398 L12.4217157,5.27304398 C12.7300234,5.23910005 12.9642352,4.96430626 12.9642352,4.63652199 C12.9642352,4.30873772 12.7300234,4.03394393 12.4217157,4 Z M14.8489845,15.870275 C14.7061086,15.7236907 14.5036756,15.6617927 14.3088684,15.7051233 C14.2698238,15.7051233 14.2307793,15.7051233 14.1852273,15.7464112 L14.087616,15.8083431 C14.051391,15.8306043 14.0184947,15.8584334 13.9900046,15.8909189 C13.8699366,16.0043604 13.8032723,16.1680088 13.8077968,16.3382047 C13.8077968,16.3794926 13.8077968,16.4207805 13.8077968,16.4689497 C13.8077968,16.5171189 13.8077968,16.5515255 13.8468413,16.5996948 C13.8858859,16.647864 13.8858859,16.6616266 13.9054082,16.7029146 C13.928525,16.7416341 13.9570463,16.7764341 13.9900046,16.8061343 C14.0967407,16.9338939 14.2518661,17.0045566 14.4129871,16.9988113 C14.574225,17.010968 14.7289016,16.9291861 14.8164473,16.7854904 C14.8487882,16.7569993 14.8753497,16.7218897 14.8945364,16.6822706 C14.9183677,16.6508117 14.9380683,16.6160908 14.9531032,16.5790508 C14.9758471,16.5394118 14.9892388,16.4945683 14.9921478,16.4483058 C15.0026174,16.4054272 15.0026174,16.3604393 14.9921478,16.3175607 C15.0028863,16.1542231 14.951328,15.9931395 14.8489845,15.870275 L14.8489845,15.870275 Z M11.4000504,15.7257673 L5.60193661,15.7257673 C5.2694962,15.7257673 5,16.0107479 5,16.3622893 C5,16.7138307 5.2694962,16.9988113 5.60193661,16.9988113 L11.4000504,16.9988113 C11.7324908,16.9988113 12.001987,16.7138307 12.001987,16.3622893 C12.001987,16.0107479 11.7324908,15.7257673 11.4000504,15.7257673 L11.4000504,15.7257673 Z M14.4064797,13.0833409 L5.60193661,13.0833409 C5.29362901,13.1172848 5.0594172,13.3920786 5.0594172,13.7198628 C5.0594172,14.0476471 5.29362901,14.3224409 5.60193661,14.3563848 L14.426002,14.3563848 C14.7343096,14.3224409 14.9685214,14.0476471 14.9685214,13.7198628 C14.9685214,13.3920786 14.7343096,13.1172848 14.426002,13.0833409 L14.4064797,13.0833409 Z M14.4064797,10.3652199 L5.60193661,10.3652199 C5.29362901,10.3991638 5.0594172,10.6739576 5.0594172,11.0017419 C5.0594172,11.3295262 5.29362901,11.60432 5.60193661,11.6382639 L14.426002,11.6382639 C14.7343096,11.60432 14.9685214,11.3295262 14.9685214,11.0017419 C14.9685214,10.6739576 14.7343096,10.3991638 14.426002,10.3652199 L14.4064797,10.3652199 Z" id="Shape" fill="#FFFFFF"></path>
13
+ <path d="M16.2426925,5.57810754 L18.3500005,5.57810754 C18.601712,5.56822361 18.8277555,5.41765557 18.9384047,5.18617025 C18.9792645,5.10627795 19.0004043,5.01737599 19,4.92721169 L19,4.87821953 C18.9728063,3.84759771 18.6359663,2.85054994 18.0352727,2.02267642 L18.0352727,1.97368426 L17.9189602,1.82670777 L17.9189602,1.82670777 C17.8231735,1.70772681 17.713703,1.58874585 17.6042324,1.46976488 C16.7032947,0.529537129 15.4703317,0 14.1832778,0 L2.73676369,0 C1.23327049,0 0.0112761984,1.24061154 0,2.77855548 L0,22.2004479 C0,23.775196 1.24522748,25 2.31940723,25 L15.7774427,25 C17.6110743,25 18.9384047,23.8171893 18.9384047,22.2004479 L18.9384047,14.7396417 L18.9384047,7.74076151 C18.9402293,7.57184262 18.8763762,7.40910183 18.7608945,7.28834549 C18.6454127,7.16758914 18.4877635,7.09871059 18.3226329,7.09686454 L18.3226329,7.09686454 C18.1551303,7.09497104 17.993948,7.16220179 17.8754986,7.28336879 C17.7570491,7.40453579 17.6913262,7.56941596 17.6931772,7.74076151 L17.6931772,14.7396417 L17.6931772,22.1934491 C17.6931772,23.0963046 16.9337253,23.6982083 15.7979684,23.6982083 L2.31940723,23.6982083 C1.67977578,23.4926422 1.25016606,22.8791019 1.26575321,22.1934491 L1.26575321,2.77855548 C1.26392323,2.37889758 1.41831653,1.99506757 1.69458219,1.71246366 C1.97084786,1.42985975 2.34606932,1.27192428 2.73676369,1.27379624 L13.4990869,1.27379624 L13.4990869,2.77855548 C13.4990846,3.52225707 13.7883604,4.23539681 14.3030839,4.76061632 C14.8178074,5.28583583 15.5156729,5.5799668 16.2426925,5.57810754 Z M16.2426925,4.28331471 C15.8508165,4.28706575 15.4738263,4.12996031 15.1960738,3.84715082 C14.9183213,3.56434134 14.7629917,3.17943523 14.7648078,2.77855548 L14.7648078,1.33678616 C16.2367884,1.60594277 17.3890058,2.78459504 17.6521258,4.29031359 L16.2426925,4.28331471 Z" id="Shape" fill="#2E3B50"></path>
14
+ </g>
15
+ <g id="text-copy" transform="translate(25.000000, 5.000000)">
16
+ <path d="M9.02369668,2.46990881 C9.2107425,3.14427558 9.41295419,3.84761905 9.63033175,4.57993921 C9.84770932,5.31225937 10.0701422,6.04457953 10.2976303,6.7768997 C10.5301738,7.50921986 10.7601896,8.22836879 10.9876777,8.9343465 C11.2151659,9.64032421 11.4375987,10.3067882 11.6549763,10.9337386 C11.8369668,10.2593718 12.0139021,9.52705167 12.185782,8.73677812 C12.3576619,7.94650456 12.5295419,7.12198582 12.7014218,6.26322188 C12.8733017,5.40972644 13.042654,4.53779129 13.2094787,3.64741641 C13.3763033,2.75704154 13.5279621,1.8745694 13.664455,1 L16,1 C15.5703002,3.34974671 15.0951027,5.60729483 14.5744076,7.77264438 C14.0537125,9.93799392 13.4698262,12.0058764 12.8227488,13.9762918 L10.6464455,13.9762918 C9.72638231,11.4684904 8.83917852,8.72360689 7.98483412,5.74164134 C7.53491311,7.25369807 7.07993681,8.6893617 6.61990521,10.0486322 C6.15987362,11.4079027 5.69731438,12.7250253 5.23222749,14 L3.06350711,14 C2.42654028,12.0243161 1.85781991,9.95116515 1.35734597,7.78054711 C0.856872038,5.60992908 0.404423381,3.34974671 0,1 L2.40379147,1 C2.54533965,1.84822695 2.69447077,2.71752786 2.85118483,3.60790274 C3.00789889,4.49827761 3.17219589,5.37021277 3.34407583,6.22370821 C3.51595577,7.08247214 3.69036335,7.91225937 3.86729858,8.71306991 C4.04423381,9.51388045 4.22116904,10.2514691 4.39810427,10.9258359 C4.63064771,10.2883485 4.86319115,9.61661601 5.0957346,8.9106383 C5.32827804,8.20466059 5.56082148,7.4881459 5.79336493,6.76109422 C6.02590837,6.02877406 6.24834123,5.30172239 6.46066351,4.57993921 C6.67298578,3.85815603 6.87014218,3.16008105 7.0521327,2.48571429 L9.02369668,2.46990881 Z" id="Path" fill="#2E3B50"></path>
17
+ <path d="M26.9996531,8.47024937 C27.0074002,9.24137774 26.885323,10.0082129 26.6386532,10.737891 C26.4183769,11.3854613 26.0698643,11.9807813 25.6144208,12.4874572 C25.1707559,12.9715337 24.6297019,13.3538098 24.0277001,13.6085384 C23.3812481,13.8785504 22.6869098,14.0115185 21.9876306,13.9992183 C21.2898029,14.007172 20.5979545,13.868349 19.9559565,13.5915524 C19.354251,13.3251484 18.8160351,12.9312701 18.3776312,12.4364989 C17.9336031,11.9420954 17.5886161,11.3652334 17.3617941,10.737891 C17.1110599,10.0063108 16.9888819,9.23596797 17.0007942,8.46175633 C16.99351,7.68924891 17.1214122,6.92153209 17.3785848,6.19411471 C17.6113591,5.56394749 17.9651704,4.98664352 18.4196079,4.49550675 C18.8642722,4.0146967 19.4052194,3.63539151 20.0063286,3.38291854 C20.6454978,3.1189924 21.3309469,2.98897514 22.021212,3.00073175 C22.7152838,2.99508464 23.4033775,3.1308387 24.0444908,3.39990462 C24.6451553,3.65262047 25.1838678,4.03526684 25.6228161,4.52098587 C26.0719328,5.0308693 26.4171431,5.62542172 26.6386532,6.27055206 C26.8822542,6.97755454 27.0043528,7.72154353 26.9996531,8.47024937 Z M24.531421,8.47024937 C24.5822345,7.59121999 24.3526877,6.71891431 23.8765838,5.98178871 C23.4278306,5.4022344 22.7405392,5.06366156 22.0128167,5.06366156 C21.2850942,5.06366156 20.5978027,5.4022344 20.1490495,5.98178871 C19.6640801,6.71586733 19.4256406,7.58840701 19.4690264,8.47024937 C19.4114356,9.36863088 19.6410211,10.2619275 20.1238635,11.0181613 C20.568813,11.60379 21.257496,11.9470101 21.9876306,11.9470101 C22.7177653,11.9470101 23.4064482,11.60379 23.8513978,11.0181613 C24.3448474,10.2625994 24.583402,9.36580325 24.531421,8.46175633 L24.531421,8.47024937 Z" id="Shape" fill="#2E3B50"></path>
18
+ <path d="M37.9992565,8.49997514 C38.0052591,9.27027664 37.8803324,10.0359406 37.6298759,10.7638742 C37.3983877,11.4076815 37.0384122,11.9970095 36.5721041,12.495588 C36.1284568,12.9770623 35.5874243,13.3572835 34.9854463,13.6106428 C34.3390199,13.8792033 33.6447091,14.0114565 32.9454577,13.9992225 C32.2476577,14.0071334 31.5558367,13.8690567 30.9138642,13.593748 C30.3167471,13.3326772 29.7816246,12.9468283 29.3439965,12.4617985 C28.9034894,11.9446538 28.5696061,11.3445091 28.3617798,10.6962951 C28.1110555,9.96864757 27.9888823,9.20244585 28.0007942,8.43239606 C27.9935103,7.66404135 28.1214073,6.90045147 28.3785698,6.1769444 C28.6113348,5.55016471 28.9651321,4.9759641 29.4195516,4.48746749 C29.8641983,4.00924209 30.405124,3.6319759 31.0062094,3.38086012 C31.6453532,3.11835275 32.3307752,2.98903441 33.0210129,3.00072782 C33.7150572,2.99511106 34.4031235,3.13013536 35.0442114,3.39775489 C35.6448521,3.64911224 36.1835432,4.02970165 36.6224741,4.51280965 C37.0715729,5.01995214 37.4167696,5.61130848 37.6382709,6.25297086 C37.8885761,6.9748872 38.0107654,7.73547146 37.9992565,8.49997514 L37.9992565,8.49997514 Z M35.5311222,8.49997514 C35.5905548,7.62186647 35.3667935,6.74790114 34.8931011,6.00799671 C34.4443657,5.43155785 33.7571015,5.09480505 33.0294079,5.09480505 C32.3017143,5.09480505 31.6144501,5.43155785 31.1657147,6.00799671 C30.6807644,6.7381292 30.4423344,7.60597846 30.4857185,8.48308037 C30.42813,9.37663254 30.6577064,10.2651271 31.1405296,11.0172957 C31.5854615,11.5997763 32.2741172,11.9411514 33.0042228,11.9411514 C33.7343285,11.9411514 34.4229842,11.5997763 34.8679161,11.0172957 C35.3536877,10.2661327 35.5862271,9.37756277 35.5311222,8.48308037 L35.5311222,8.49997514 Z" id="Shape" fill="#2E3B50"></path>
19
+ <polygon id="Path" fill="#0088F7" points="40 13.9684466 40.0687023 1 48 1.0473301 48 3.05097087 42.351145 3.05097087 42.2900763 6.34830097 47.3053435 6.34830097 47.3053435 8.35194175 42.2900763 8.35194175 42.2900763 14"></polygon>
20
+ <path d="M49.0054054,9.54891633 C48.9931281,8.72371947 49.1293347,7.90349841 49.4068813,7.13127314 C49.6438401,6.50205059 49.9987995,5.92914093 50.4507186,5.44650437 C50.874418,4.99794323 51.3832446,4.64780662 51.9442089,4.41879542 C52.4788002,4.16944986 53.0538158,4.02935761 53.6384371,4.00602707 C54.8473249,3.93889362 56.0227721,4.43524572 56.8502442,5.36226593 C57.6882209,6.50223635 58.0918031,7.92859041 57.9824062,9.36359176 C57.9824062,9.49837327 57.9824062,9.64719451 57.9824062,9.81005549 C57.9824062,9.97291647 57.9824062,10.1217377 57.9824062,10.2565192 L51.4142607,10.2565192 C51.4215515,10.994507 51.7108168,11.6985597 52.2172125,12.210851 C52.8368925,12.7147273 53.6108485,12.9634102 54.3932118,12.91003 C54.9081338,12.9174758 55.4223195,12.8666388 55.9268497,12.7584008 C56.3025333,12.6814039 56.6707399,12.5686188 57.0268936,12.4214471 L57.3239858,14.4010504 C57.1553967,14.4851344 56.9809129,14.5555393 56.8020671,14.6116465 C56.5380564,14.6918333 56.2699899,14.7565165 55.9991154,14.8053949 C55.7154057,14.8615539 55.4076075,14.909289 55.0757208,14.9486002 C54.7396884,14.9858483 54.4018872,15.002724 54.0640016,14.9991433 C53.2852337,15.0125012 52.5112122,14.8695376 51.7836185,14.5779511 C51.1711715,14.3312964 50.6215055,13.9391677 50.177715,13.4323084 C49.7604372,12.9450715 49.4457929,12.3709908 49.2543204,11.7475396 C49.0609684,11.0331023 48.9769511,10.2909922 49.0054054,9.54891633 L49.0054054,9.54891633 Z M55.6939937,8.50435969 C55.6974617,8.18206038 55.6541414,7.86108529 55.5655214,7.55246533 C55.486599,7.26761403 55.3557042,7.00155076 55.1801045,6.76904785 C55.0100379,6.54922961 54.7962989,6.37099103 54.5538022,6.24676953 C54.277217,6.11270217 53.975171,6.04644558 53.6705552,6.05302113 C53.3493104,6.04340229 53.0303642,6.11263184 52.7391311,6.25519338 C52.4785052,6.38712229 52.2462685,6.57343657 52.0566221,6.80274323 C51.8691199,7.03182457 51.7222673,7.29430469 51.6230282,7.57773686 C51.5192832,7.86887489 51.4465748,8.17116599 51.4062312,8.47908816 L55.6939937,8.50435969 Z" id="Shape" fill="#0088F7"></path>
21
+ <path d="M60.0050243,9.47310173 C59.9927794,8.64790487 60.1286279,7.82768382 60.4054449,7.05545855 C60.6417808,6.426236 60.9958071,5.85332633 61.4465382,5.37068977 C61.8691239,4.92212864 62.3766129,4.57199203 62.9361026,4.34298082 C63.4816487,4.11649258 64.0634138,4.00211054 64.6499024,4.00602707 C65.8556124,3.93889362 67.0279697,4.43524572 67.8532666,5.36226593 C68.6890404,6.50223635 69.0915617,7.92859041 68.9824525,9.36359176 C68.9824525,9.49837327 68.9824525,9.64719451 68.9824525,9.81005549 C68.9824525,9.97853237 68.9824525,10.1301616 68.9824525,10.2565192 L62.4315727,10.2565192 C62.4388443,10.994507 62.7273492,11.6985597 63.2324138,12.210851 C63.8504648,12.7147273 64.6223863,12.9634102 65.402693,12.91003 C65.9162639,12.9175414 66.4291047,12.8667037 66.9322994,12.7584008 C67.3069955,12.6814039 67.6742341,12.5686188 68.0294516,12.4214471 L68.3257628,14.4010504 C68.1576293,14.4851649 67.9836019,14.5555707 67.8052161,14.6116465 C67.5418828,14.6917659 67.2745246,14.7564482 67.0043751,14.8053949 C66.7214113,14.8615539 66.4144222,14.909289 66.0834079,14.9486002 C65.7482601,14.985867 65.411346,15.0027428 65.0743482,14.9991433 C64.2976275,15.0125012 63.5256406,14.8695376 62.7999596,14.5779511 C62.1891225,14.3312964 61.6409015,13.9391677 61.1982775,13.4323084 C60.7822919,12.9449228 60.4684998,12.3708881 60.2773103,11.7475396 C60.0686341,11.0102194 59.9766449,10.2418219 60.0050243,9.47310173 Z M66.6760303,8.4285451 C66.6792414,8.10626272 66.6360402,7.78532678 66.5478957,7.47665074 C66.4689918,7.19187879 66.3384591,6.9258522 66.163492,6.69323326 C65.9938724,6.47341502 65.7806953,6.29517643 65.538836,6.17095494 C65.2629778,6.03688757 64.9617259,5.97063099 64.6579108,5.97720653 C64.3375105,5.9675877 64.0194027,6.03681724 63.7289352,6.17937878 C63.4689944,6.3113077 63.2373682,6.49762197 63.0482203,6.72692863 C62.8612109,6.95600997 62.7147444,7.21849009 62.6157662,7.50192227 C62.5122939,7.7930603 62.4397767,8.0953514 62.3995391,8.40327356 L66.6760303,8.4285451 Z" id="Shape" fill="#0088F7"></path>
22
+ <path d="M78.9519219,13.5051782 C78.3862429,13.6547831 77.8107644,13.7698782 77.2291217,13.8497363 C76.5082085,13.9552705 75.7792523,14.0053743 75.0495792,13.9995442 C74.3298235,14.005418 73.6151833,13.8860363 72.9421539,13.6474957 C72.3379434,13.4368504 71.7907808,13.1043915 71.3395491,12.6737446 C70.8974095,12.2452579 70.5562049,11.7349374 70.3379211,11.1756661 C70.0999147,10.5277398 69.9859883,9.84565938 70.0013741,9.1607504 C69.9956862,8.48364594 70.0983188,7.8095509 70.305869,7.16081552 C70.4890015,6.61270899 70.7857852,6.10366927 71.1792886,5.66273696 C71.5541354,5.21392394 72.0374419,4.85455041 72.5895808,4.61408197 C73.1841814,4.37690263 73.8263689,4.26195113 74.4726415,4.27701429 C74.9037576,4.27207957 75.3332267,4.32762721 75.7467123,4.44180294 C76.0727361,4.53503689 76.3891777,4.65536331 76.6922491,4.80134179 L76.6922491,0.307106105 L79,0 L78.9519219,13.5051782 Z M72.3812422,9.08584648 C72.3214361,9.88959129 72.5715928,10.686776 73.0863883,11.3329643 C73.5775864,11.8783651 74.3116281,12.1799459 75.0736182,12.1494171 C75.3866427,12.1542194 75.6996971,12.1417136 76.0111421,12.1119652 C76.226472,12.0898337 76.440437,12.0573321 76.652184,12.0145901 L76.652184,6.68143038 C76.4024939,6.52834302 76.1333047,6.40504336 75.8508816,6.31440114 C75.5063502,6.1992465 75.1430269,6.14095243 74.7771364,6.1421221 C74.0577886,6.08414974 73.3585015,6.38256782 72.9341408,6.92861335 C72.525183,7.58057088 72.3327361,8.33143666 72.3812422,9.08584648 L72.3812422,9.08584648 Z" id="Shape" fill="#0088F7"></path>
23
+ </g>
24
+ </g>
25
+ <g id="Group-2" transform="translate(107.000000, 0.000000)">
26
+ <rect id="Rectangle" fill="#0088F7" x="0" y="0" width="16" height="8" rx="2"></rect>
27
+ <path d="M3.789,6 L3.789,4.166 L4.601,4.166 C5.16566667,4.166 5.60083333,4.026 5.9065,3.746 C6.21216667,3.466 6.365,3.09033333 6.365,2.619 C6.365,2.13833333 6.21683333,1.758 5.9205,1.478 C5.62416667,1.198 5.18433333,1.058 4.601,1.058 L4.601,1.058 L2.802,1.058 L2.802,6 L3.789,6 Z M4.496,3.375 L3.789,3.375 L3.789,1.856 L4.496,1.856 C4.804,1.856 5.02566667,1.92133333 5.161,2.052 C5.29633333,2.18266667 5.364,2.37166667 5.364,2.619 C5.364,3.123 5.07466667,3.375 4.496,3.375 L4.496,3.375 Z M8.22933333,6 L8.22933333,4.131 C8.22933333,3.459 8.591,3.123 9.31433333,3.123 L9.31433333,3.123 L9.60133333,3.123 L9.60133333,2.066 C9.30733333,2.066 9.04133333,2.13716667 8.80333333,2.2795 C8.56533333,2.42183333 8.374,2.61666667 8.22933333,2.864 L8.22933333,2.864 L8.22933333,2.122 L7.24233333,2.122 L7.24233333,6 L8.22933333,6 Z M12.1726667,6.049 C12.5506667,6.049 12.8901667,5.9685 13.1911667,5.8075 C13.4921667,5.6465 13.729,5.41666667 13.9016667,5.118 C14.0743333,4.81933333 14.1606667,4.467 14.1606667,4.061 C14.1606667,3.655 14.0743333,3.3015 13.9016667,3.0005 C13.729,2.6995 13.4921667,2.46966667 13.1911667,2.311 C12.8901667,2.15233333 12.5506667,2.073 12.1726667,2.073 C11.7946667,2.073 11.4551667,2.15233333 11.1541667,2.311 C10.8531667,2.46966667 10.6163333,2.6995 10.4436667,3.0005 C10.271,3.3015 10.1846667,3.655 10.1846667,4.061 C10.1846667,4.467 10.271,4.81933333 10.4436667,5.118 C10.6163333,5.41666667 10.8531667,5.6465 11.1541667,5.8075 C11.4551667,5.9685 11.7946667,6.049 12.1726667,6.049 Z M12.1726667,5.195 C11.8973333,5.195 11.664,5.09816667 11.4726667,4.9045 C11.2813333,4.71083333 11.1856667,4.42966667 11.1856667,4.061 C11.1856667,3.69233333 11.2813333,3.41116667 11.4726667,3.2175 C11.664,3.02383333 11.8973333,2.927 12.1726667,2.927 C12.448,2.927 12.6813333,3.02383333 12.8726667,3.2175 C13.064,3.41116667 13.1596667,3.69233333 13.1596667,4.061 C13.1596667,4.42966667 13.064,4.71083333 12.8726667,4.9045 C12.6813333,5.09816667 12.448,5.195 12.1726667,5.195 Z" id="Pro" fill="#FFFFFF"></path>
28
+ </g>
29
+ </g>
30
+ </g>
31
+ </svg>
admin/js/woo-feed-admin.js CHANGED
@@ -165,23 +165,6 @@
165
  $(".daRow:eq(0)").hide();
166
  });
167
 
168
- // Attribute type selection
169
- $(document).on('change', '.attr_type', function () {
170
- // noinspection ES6ConvertVarToLetConst
171
- var type = $(this).val(), row = $(this).closest('tr');
172
- row.find('.wf_attr').prop('required',false);
173
- row.find('.wf_default').prop('required',false);
174
- if (type === 'pattern') {
175
- row.find('.wf_attr').hide();
176
- row.find('.wf_attr').val('');
177
- row.find('.wf_default').show();
178
- } else {
179
- row.find('.wf_attr').show();
180
- row.find('.wf_default').hide();
181
- row.find('.wf_default').val('');
182
- }
183
- });
184
-
185
  // Attribute type selection for dynamic attribute
186
  $(document).on('change', '.dType', function () {
187
  // noinspection ES6ConvertVarToLetConst
@@ -258,7 +241,8 @@
258
  });
259
 
260
  // noinspection ES6ConvertVarToLetConst,SpellCheckingInspection
261
- var helper = {
 
262
  in_array: function( needle, haystack ) {
263
  try {
264
  return haystack.indexOf( needle ) !== -1;
@@ -271,7 +255,7 @@
271
  },
272
  ajax_fail: function ( e ) {
273
  console.log( e );
274
- alert( e );
275
  }
276
  }, // helper functions
277
  feedEditor = {
@@ -285,15 +269,88 @@
285
  handle: 'i.wf_sortedtable',
286
  placeholder: '<tr class="placeholder"><td colspan="100"></td></tr>',
287
  });
288
- // noinspection ES6ConvertVarToLetConst
289
- var $glCat = $('#googleTaxonomyId');
290
- if( $glCat.length ) {
291
- $glCat.selectize({
292
- render: {
293
- item: helper.selectize_render_item,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  }
295
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  }
 
 
297
  },
298
  renderMerchantInfo: function( merchantInfo, feedType, r ) {
299
  // noinspection ES6ConvertVarToLetConst
@@ -370,11 +427,6 @@
370
  }
371
  });
372
 
373
- $('.selectize').selectize({
374
- plugins: ['remove_button'],
375
- render: { item: helper.selectize_render_item, }
376
- });
377
-
378
  // Feed Active and Inactive status change via ajax
379
  $('.woo_feed_status_input').on('change',function(){
380
  // noinspection ES6ConvertVarToLetConst
165
  $(".daRow:eq(0)").hide();
166
  });
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  // Attribute type selection for dynamic attribute
169
  $(document).on('change', '.dType', function () {
170
  // noinspection ES6ConvertVarToLetConst
241
  });
242
 
243
  // noinspection ES6ConvertVarToLetConst,SpellCheckingInspection
244
+ var googleCategories,
245
+ helper = {
246
  in_array: function( needle, haystack ) {
247
  try {
248
  return haystack.indexOf( needle ) !== -1;
255
  },
256
  ajax_fail: function ( e ) {
257
  console.log( e );
258
+ alert( ( e.hasOwnProperty( 'statusText' ) && e.hasOwnProperty( 'status' ) ) ? e.statusText + ' (' + e.status + ')' : e );
259
  }
260
  }, // helper functions
261
  feedEditor = {
269
  handle: 'i.wf_sortedtable',
270
  placeholder: '<tr class="placeholder"><td colspan="100"></td></tr>',
271
  });
272
+ $('.selectize').each(function(){
273
+ // noinspection ES6ConvertVarToLetConst
274
+ var self = $(this), plugins = self.data('plugins');
275
+ self.selectize({
276
+ plugins: plugins ? plugins.split(',') : [],//['remove_button'],
277
+ render: { item: helper.selectize_render_item, }
278
+ })
279
+ });
280
+ // Attribute type selection
281
+ $(document).on('change', '.attr_type', function () {
282
+ // noinspection ES6ConvertVarToLetConst
283
+ var type = $(this).val(), row = $(this).closest('tr');
284
+ row.find('.wf_attr').prop('required',false);
285
+ row.find('.wf_default').prop('required',false);
286
+ if (type === 'pattern') {
287
+ row.find('.wf_attr').hide();
288
+ row.find('.wf_attr').val('');
289
+ row.find('.wf_default').show();
290
+ } else {
291
+ row.find('.wf_attr').show();
292
+ row.find('.wf_default').hide();
293
+ row.find('.wf_default').val('');
294
+ }
295
+ });
296
+ $(document).on( 'change', '.wf_mattributes, .attr_type', function( e ) {
297
+ // noinspection ES6ConvertVarToLetConst
298
+ var row = $(this).closest( 'tr' ), attribute = row.find( '.wf_mattributes' ), type = row.find('.attr_type'), valueColumn = row.find('td:eq(4)');
299
+ if( attribute.val() === 'current_category' && type.val() === 'pattern' && helper.in_array( $('#provider').val(), [ 'google', 'facebook', 'pinterest' ] ) ) {
300
+ if( valueColumn.find('select.selectize').length === 0 ) {
301
+ // noinspection ES6ConvertVarToLetConst
302
+ var selectizeOpts = {
303
+ options: googleCategories,
304
+ config: { render: { item: helper.selectize_render_item, } },
305
+ };
306
+ valueColumn.find('input.wf_default').remove();
307
+ valueColumn.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>');
308
+ valueColumn.find('.wf_attributes select').selectize({render: {item: helper.selectize_render_item,}});
309
+ valueColumn.append('<span style="font-size:x-small;"><a style="color: red" href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">Learn More..</a></span>');
310
+ valueColumn.append('<span class="spinner is-active" style="margin: 0;"></span>');
311
+ var select = valueColumn.find('.wf_attributes select');
312
+ if( ! googleCategories ) {
313
+ wpAjax.send( 'get_google_categories', {
314
+ type: 'GET',
315
+ data: { _ajax_nonce: opts.nonce, action: "get_google_categories", provider: $('#provider').val() }
316
+ } ).then( function( r ) {
317
+ googleCategories = r;
318
+ selectizeOpts.options = r;
319
+ feedEditor.renderSelectize( select, selectizeOpts );
320
+ valueColumn.find('.spinner').remove();
321
+ } ).fail( helper.ajax_fail );
322
+ } else {
323
+ feedEditor.renderSelectize( select, selectizeOpts );
324
+ valueColumn.find('.spinner').remove();
325
+ }
326
  }
327
+ } else {
328
+ if( attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0 ) {
329
+ valueColumn.find('span').remove();
330
+ valueColumn.append( '<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">' );
331
+ if( type.val() !== 'pattern' ) {
332
+ valueColumn.find('input.wf_default').hide();
333
+ }
334
+ }
335
+ }
336
+ } );
337
+ },
338
+ renderSelectize: function( el, config ) {
339
+
340
+ var c = $.extend({}, {
341
+ options: {},
342
+ settings: {render: {item: helper.selectize_render_item,}}
343
+ }, config);
344
+ el.selectize(c.settings);
345
+ var s = el[0].selectize;
346
+ s.clearOptions();
347
+ if( Object.keys(c.options).length ) {
348
+ for( var i in c.options ) {
349
+ s.addOption( c.options[i] );
350
+ }
351
  }
352
+ s.refreshOptions();
353
+ return el;
354
  },
355
  renderMerchantInfo: function( merchantInfo, feedType, r ) {
356
  // noinspection ES6ConvertVarToLetConst
427
  }
428
  });
429
 
 
 
 
 
 
430
  // Feed Active and Inactive status change via ajax
431
  $('.woo_feed_status_input').on('change',function(){
432
  // noinspection ES6ConvertVarToLetConst
admin/partials/templates/facebook_add-feed.php CHANGED
@@ -336,7 +336,7 @@
336
  <?php echo $product->attributeDropdown(); ?>
337
  </select>
338
  <span class="wf_default wf_attributes">
339
- <select name="default[]" id="googleTaxonomyId">
340
  <?php echo $dropDown->googleTaxonomy(); ?>
341
  </select>
342
  </span>
336
  <?php echo $product->attributeDropdown(); ?>
337
  </select>
338
  <span class="wf_default wf_attributes">
339
+ <select name="default[]" class="selectize">
340
  <?php echo $dropDown->googleTaxonomy(); ?>
341
  </select>
342
  </span>
admin/partials/templates/google_add-feed.php CHANGED
@@ -41,8 +41,7 @@
41
  <select name="attributes[]" class="wf_attr wf_attributes">
42
  <?php echo $product->attributeDropdown( 'id' ); ?>
43
  </select>
44
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
45
- style=" display: none;"/>
46
  </td>
47
  <td>
48
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -90,8 +89,7 @@
90
  <select name="attributes[]" class="wf_attr wf_attributes">
91
  <?php echo $product->attributeDropdown( 'title' ); ?>
92
  </select>
93
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
94
- style=" display: none;"/>
95
  </td>
96
  <td>
97
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -139,8 +137,7 @@
139
  <select name="attributes[]" class="wf_attr wf_attributes">
140
  <?php echo $product->attributeDropdown( 'description' ); ?>
141
  </select>
142
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
143
- style=" display: none;"/>
144
  </td>
145
  <td>
146
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -188,8 +185,7 @@
188
  <select name="attributes[]" class="wf_attr wf_attributes">
189
  <?php echo $product->attributeDropdown( 'item_group_id' ); ?>
190
  </select>
191
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
192
- style=" display: none;"/>
193
  </td>
194
  <td>
195
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -237,8 +233,7 @@
237
  <select name="attributes[]" class="wf_attr wf_attributes">
238
  <?php echo $product->attributeDropdown( 'link' ); ?>
239
  </select>
240
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
241
- style=" display: none;"/>
242
  </td>
243
  <td>
244
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -286,8 +281,7 @@
286
  <select name="attributes[]" class="wf_attr wf_attributes">
287
  <?php echo $product->attributeDropdown('product_type'); ?>
288
  </select>
289
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
290
- style=" display: none;"/>
291
  </td>
292
  <td>
293
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -343,7 +337,7 @@
343
  <?php echo $product->attributeDropdown( '' ); ?>
344
  </select>
345
  <span class="wf_default wf_attributes">
346
- <select name="default[]" id="googleTaxonomyId">
347
  <?php echo $dropDown->googleTaxonomy(); ?>
348
  </select>
349
  </span>
@@ -395,8 +389,7 @@
395
  <select name="attributes[]" class="wf_attr wf_attributes">
396
  <?php echo $product->attributeDropdown( 'image' ); ?>
397
  </select>
398
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
399
- style=" display: none;"/>
400
  </td>
401
  <td>
402
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -493,8 +486,7 @@
493
  <select name="attributes[]" class="wf_attr wf_attributes">
494
  <?php echo $product->attributeDropdown( 'availability' ); ?>
495
  </select>
496
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
497
- style=" display: none;"/>
498
  </td>
499
  <td>
500
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -542,8 +534,7 @@
542
  <select name="attributes[]" class="wf_attr wf_attributes">
543
  <?php echo $product->attributeDropdown( 'price' ); ?>
544
  </select>
545
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
546
- style=" display: none;"/>
547
  </td>
548
  <td>
549
  <input type="text" name="suffix[]" value="<?php echo get_woocommerce_currency();?>" autocomplete="off" class="wf_ps"/>
@@ -592,8 +583,7 @@
592
  <select name="attributes[]" class="wf_attr wf_attributes">
593
  <?php echo $product->attributeDropdown( 'sku' ); ?>
594
  </select>
595
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
596
- style=" display: none;"/>
597
  </td>
598
  <td>
599
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
41
  <select name="attributes[]" class="wf_attr wf_attributes">
42
  <?php echo $product->attributeDropdown( 'id' ); ?>
43
  </select>
44
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
45
  </td>
46
  <td>
47
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
89
  <select name="attributes[]" class="wf_attr wf_attributes">
90
  <?php echo $product->attributeDropdown( 'title' ); ?>
91
  </select>
92
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
93
  </td>
94
  <td>
95
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
137
  <select name="attributes[]" class="wf_attr wf_attributes">
138
  <?php echo $product->attributeDropdown( 'description' ); ?>
139
  </select>
140
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
141
  </td>
142
  <td>
143
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
185
  <select name="attributes[]" class="wf_attr wf_attributes">
186
  <?php echo $product->attributeDropdown( 'item_group_id' ); ?>
187
  </select>
188
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
189
  </td>
190
  <td>
191
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
233
  <select name="attributes[]" class="wf_attr wf_attributes">
234
  <?php echo $product->attributeDropdown( 'link' ); ?>
235
  </select>
236
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
237
  </td>
238
  <td>
239
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
281
  <select name="attributes[]" class="wf_attr wf_attributes">
282
  <?php echo $product->attributeDropdown('product_type'); ?>
283
  </select>
284
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
285
  </td>
286
  <td>
287
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
337
  <?php echo $product->attributeDropdown( '' ); ?>
338
  </select>
339
  <span class="wf_default wf_attributes">
340
+ <select name="default[]" class="selectize">
341
  <?php echo $dropDown->googleTaxonomy(); ?>
342
  </select>
343
  </span>
389
  <select name="attributes[]" class="wf_attr wf_attributes">
390
  <?php echo $product->attributeDropdown( 'image' ); ?>
391
  </select>
392
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
393
  </td>
394
  <td>
395
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
486
  <select name="attributes[]" class="wf_attr wf_attributes">
487
  <?php echo $product->attributeDropdown( 'availability' ); ?>
488
  </select>
489
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
490
  </td>
491
  <td>
492
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
534
  <select name="attributes[]" class="wf_attr wf_attributes">
535
  <?php echo $product->attributeDropdown( 'price' ); ?>
536
  </select>
537
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
538
  </td>
539
  <td>
540
  <input type="text" name="suffix[]" value="<?php echo get_woocommerce_currency();?>" autocomplete="off" class="wf_ps"/>
583
  <select name="attributes[]" class="wf_attr wf_attributes">
584
  <?php echo $product->attributeDropdown( 'sku' ); ?>
585
  </select>
586
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
587
  </td>
588
  <td>
589
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
admin/partials/templates/pinterest_add-feed.php CHANGED
@@ -41,8 +41,7 @@
41
  <select name="attributes[]" class="wf_attr wf_attributes">
42
  <?php echo $product->attributeDropdown( 'id' ); ?>
43
  </select>
44
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
45
- style=" display: none;"/>
46
  </td>
47
  <td>
48
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -90,8 +89,7 @@
90
  <select name="attributes[]" class="wf_attr wf_attributes">
91
  <?php echo $product->attributeDropdown( 'title' ); ?>
92
  </select>
93
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
94
- style=" display: none;"/>
95
  </td>
96
  <td>
97
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -139,8 +137,7 @@
139
  <select name="attributes[]" class="wf_attr wf_attributes">
140
  <?php echo $product->attributeDropdown( 'description' ); ?>
141
  </select>
142
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
143
- style=" display: none;"/>
144
  </td>
145
  <td>
146
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -188,8 +185,7 @@
188
  <select name="attributes[]" class="wf_attr wf_attributes">
189
  <?php echo $product->attributeDropdown( 'item_group_id' ); ?>
190
  </select>
191
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
192
- style=" display: none;"/>
193
  </td>
194
  <td>
195
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -237,8 +233,7 @@
237
  <select name="attributes[]" class="wf_attr wf_attributes">
238
  <?php echo $product->attributeDropdown( 'link' ); ?>
239
  </select>
240
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
241
- style=" display: none;"/>
242
  </td>
243
  <td>
244
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -286,8 +281,7 @@
286
  <select name="attributes[]" class="wf_attr wf_attributes">
287
  <?php echo $product->attributeDropdown('product_type'); ?>
288
  </select>
289
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
290
- style=" display: none;"/>
291
  </td>
292
  <td>
293
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -343,7 +337,7 @@
343
  <?php echo $product->attributeDropdown( '' ); ?>
344
  </select>
345
  <span class="wf_default wf_attributes">
346
- <select name="default[]" id="googleTaxonomyId">
347
  <?php echo $dropDown->googleTaxonomy(); ?>
348
  </select>
349
  </span>
@@ -395,8 +389,7 @@
395
  <select name="attributes[]" class="wf_attr wf_attributes">
396
  <?php echo $product->attributeDropdown( 'image' ); ?>
397
  </select>
398
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
399
- style=" display: none;"/>
400
  </td>
401
  <td>
402
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -493,8 +486,7 @@
493
  <select name="attributes[]" class="wf_attr wf_attributes">
494
  <?php echo $product->attributeDropdown( 'availability' ); ?>
495
  </select>
496
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
497
- style=" display: none;"/>
498
  </td>
499
  <td>
500
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
@@ -542,8 +534,7 @@
542
  <select name="attributes[]" class="wf_attr wf_attributes">
543
  <?php echo $product->attributeDropdown( 'price' ); ?>
544
  </select>
545
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
546
- style=" display: none;"/>
547
  </td>
548
  <td>
549
  <input type="text" name="suffix[]" value="<?php echo get_woocommerce_currency();?>" autocomplete="off" class="wf_ps"/>
@@ -591,8 +582,7 @@
591
  <select name="attributes[]" class="wf_attr wf_attributes">
592
  <?php echo $product->attributeDropdown( 'sku' ); ?>
593
  </select>
594
- <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
595
- style=" display: none;"/>
596
  </td>
597
  <td>
598
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
41
  <select name="attributes[]" class="wf_attr wf_attributes">
42
  <?php echo $product->attributeDropdown( 'id' ); ?>
43
  </select>
44
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
45
  </td>
46
  <td>
47
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
89
  <select name="attributes[]" class="wf_attr wf_attributes">
90
  <?php echo $product->attributeDropdown( 'title' ); ?>
91
  </select>
92
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
93
  </td>
94
  <td>
95
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
137
  <select name="attributes[]" class="wf_attr wf_attributes">
138
  <?php echo $product->attributeDropdown( 'description' ); ?>
139
  </select>
140
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
141
  </td>
142
  <td>
143
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
185
  <select name="attributes[]" class="wf_attr wf_attributes">
186
  <?php echo $product->attributeDropdown( 'item_group_id' ); ?>
187
  </select>
188
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
189
  </td>
190
  <td>
191
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
233
  <select name="attributes[]" class="wf_attr wf_attributes">
234
  <?php echo $product->attributeDropdown( 'link' ); ?>
235
  </select>
236
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
237
  </td>
238
  <td>
239
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
281
  <select name="attributes[]" class="wf_attr wf_attributes">
282
  <?php echo $product->attributeDropdown('product_type'); ?>
283
  </select>
284
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
285
  </td>
286
  <td>
287
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
337
  <?php echo $product->attributeDropdown( '' ); ?>
338
  </select>
339
  <span class="wf_default wf_attributes">
340
+ <select name="default[]" class="selectize">
341
  <?php echo $dropDown->googleTaxonomy(); ?>
342
  </select>
343
  </span>
389
  <select name="attributes[]" class="wf_attr wf_attributes">
390
  <?php echo $product->attributeDropdown( 'image' ); ?>
391
  </select>
392
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
393
  </td>
394
  <td>
395
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
486
  <select name="attributes[]" class="wf_attr wf_attributes">
487
  <?php echo $product->attributeDropdown( 'availability' ); ?>
488
  </select>
489
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
490
  </td>
491
  <td>
492
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
534
  <select name="attributes[]" class="wf_attr wf_attributes">
535
  <?php echo $product->attributeDropdown( 'price' ); ?>
536
  </select>
537
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
538
  </td>
539
  <td>
540
  <input type="text" name="suffix[]" value="<?php echo get_woocommerce_currency();?>" autocomplete="off" class="wf_ps"/>
582
  <select name="attributes[]" class="wf_attr wf_attributes">
583
  <?php echo $product->attributeDropdown( 'sku' ); ?>
584
  </select>
585
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" style=" display: none;"/>
 
586
  </td>
587
  <td>
588
  <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
admin/partials/woo-feed-edit-template.php CHANGED
@@ -116,7 +116,7 @@ register_and_do_woo_feed_meta_boxes( $current_screen, $feedRules );
116
  </select>
117
  <?php if( in_array( $feedRules['provider'], array( 'google', 'facebook', 'pinterest') ) && $mAttribute=="current_category") { ?>
118
  <span <?php echo ($type[$merchant] == "pattern") ? '' : 'style=" display: none;"'; ?>class="wf_default wf_attributes">
119
- <select name="default[]" id="googleTaxonomyId">
120
  <?php echo $dropDown->googleTaxonomy( esc_attr($default[$merchant]) ); ?>
121
  </select>
122
  </span>
@@ -129,7 +129,7 @@ register_and_do_woo_feed_meta_boxes( $current_screen, $feedRules );
129
  <input type="text" name="suffix[]" value="<?php echo stripslashes($suffix[$merchant]); ?>" autocomplete="off" class="wf_ps"/>
130
  </td>
131
  <td>
132
- <select name="output_type[<?php echo $counter; ?>][]" class="outputType wfnoempty" <?php echo (is_array( $outputType[$counter] ) && count($outputType[$counter]) > 1) ? 'multiple="multiple"' : ''; ?>><?php
133
  foreach ( woo_feed_get_field_output_type_options() as $key => $option ) {
134
  if ( isset( $outputType[$counter] ) ) {
135
  if ( is_array( $outputType[$counter] ) ) {
116
  </select>
117
  <?php if( in_array( $feedRules['provider'], array( 'google', 'facebook', 'pinterest') ) && $mAttribute=="current_category") { ?>
118
  <span <?php echo ($type[$merchant] == "pattern") ? '' : 'style=" display: none;"'; ?>class="wf_default wf_attributes">
119
+ <select name="default[]" class="selectize">
120
  <?php echo $dropDown->googleTaxonomy( esc_attr($default[$merchant]) ); ?>
121
  </select>
122
  </span>
129
  <input type="text" name="suffix[]" value="<?php echo stripslashes($suffix[$merchant]); ?>" autocomplete="off" class="wf_ps"/>
130
  </td>
131
  <td>
132
+ <select name="output_type[<?php echo $counter; ?>][]" class="outputType wfnoempty" <?php echo ( isset( $outputType[$counter] ) && is_array( $outputType[$counter] ) && count($outputType[$counter]) > 1) ? 'multiple="multiple"' : ''; ?>><?php
133
  foreach ( woo_feed_get_field_output_type_options() as $key => $option ) {
134
  if ( isset( $outputType[$counter] ) ) {
135
  if ( is_array( $outputType[$counter] ) ) {
includes/class-woo-feed-docs.php CHANGED
@@ -88,7 +88,7 @@ if( ! class_exists( 'WooFeedDocs' ) ) {
88
  <p><?php _e( 'Have we not answered your question?<br>Don\'t worry, you can contact us for more information...', 'woo-feed') ?></p>
89
  </div>
90
  <div class="wapk-cta-action">
91
- <a href="https://webappick.com/support/" class="button button-primary" target="_blank"><?php _e( 'Get Support', 'woo-feed' ); ?></a>
92
  </div>
93
  </div>
94
  </div>
88
  <p><?php _e( 'Have we not answered your question?<br>Don\'t worry, you can contact us for more information...', 'woo-feed') ?></p>
89
  </div>
90
  <div class="wapk-cta-action">
91
+ <a href="https://webappick.com/support/" class="wapk-button wapk-button-primary" target="_blank"><?php _e( 'Get Support', 'woo-feed' ); ?></a>
92
  </div>
93
  </div>
94
  </div>
includes/class-woo-feed.php CHANGED
@@ -170,16 +170,10 @@ class Woo_Feed
170
  * The class responsible for defining all actions that occur in the admin area.
171
  */
172
  require_once WOO_FEED_FREE_PATH . 'admin/class-woo-feed-admin.php';
173
-
174
- /**
175
- * The class responsible for defining all actions that occur in the public area.
176
- */
177
- require_once WOO_FEED_FREE_PATH . 'public/class-woo-feed-public.php';
178
 
179
  /**
180
  * The class responsible for making list table
181
  */
182
-
183
  require_once WOO_FEED_FREE_PATH . 'includes/classes/class-woo-feed-list-table.php';
184
 
185
 
@@ -230,23 +224,7 @@ class Woo_Feed
230
  $this->loader->add_action( 'admin_page_access_denied', $plugin_admin, 'handle_old_menu_slugs' );
231
  $this->loader->add_filter( 'plugin_action_links_' . WOO_FEED_PLUGIN_BASE_NAME, $plugin_admin, 'woo_feed_plugin_action_links' );
232
  }
233
-
234
- /**
235
- * Register all of the hooks related to the public-facing functionality
236
- * of the plugin.
237
- *
238
- * @since 1.0.0
239
- * @access private
240
- */
241
- private function define_public_hooks() {
242
-
243
- $plugin_public = new Woo_Feed_Public( $this->get_woo_feed(), $this->get_version() );
244
-
245
- $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' );
246
- $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
247
-
248
- }
249
-
250
  /**
251
  * Run the loader to execute all of the hooks with WordPress.
252
  *
@@ -258,7 +236,6 @@ class Woo_Feed
258
  $this->load_dependencies();
259
  $this->set_locale();
260
  $this->define_admin_hooks();
261
- $this->define_public_hooks();
262
  $this->loader->run();
263
  }
264
  }
170
  * The class responsible for defining all actions that occur in the admin area.
171
  */
172
  require_once WOO_FEED_FREE_PATH . 'admin/class-woo-feed-admin.php';
 
 
 
 
 
173
 
174
  /**
175
  * The class responsible for making list table
176
  */
 
177
  require_once WOO_FEED_FREE_PATH . 'includes/classes/class-woo-feed-list-table.php';
178
 
179
 
224
  $this->loader->add_action( 'admin_page_access_denied', $plugin_admin, 'handle_old_menu_slugs' );
225
  $this->loader->add_filter( 'plugin_action_links_' . WOO_FEED_PLUGIN_BASE_NAME, $plugin_admin, 'woo_feed_plugin_action_links' );
226
  }
227
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  /**
229
  * Run the loader to execute all of the hooks with WordPress.
230
  *
236
  $this->load_dependencies();
237
  $this->set_locale();
238
  $this->define_admin_hooks();
 
239
  $this->loader->run();
240
  }
241
  }
includes/classes/class-woo-feed-dropdown.php CHANGED
@@ -79,8 +79,29 @@ class Woo_Feed_Dropdown
79
  }
80
  return $str;
81
  }
82
-
83
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  public function amazon_clothingAttributesDropdown($selected = "")
85
  {
86
  $attributes = new Woo_Feed_Default_Attributes();
79
  }
80
  return $str;
81
  }
82
+
83
+ /**
84
+ * Read txt file which contains google taxonomy list
85
+ *
86
+ * @return array
87
+ */
88
+ public function googleTaxonomyArray() {
89
+ # Get All Google Taxonomies
90
+ $fileName = WOO_FEED_FREE_ADMIN_PATH . "/partials/templates/google_taxonomy.txt";
91
+ $customTaxonomyFile = fopen( $fileName, "r" );
92
+ $taxonomy = [];
93
+ if ( $customTaxonomyFile ) {
94
+ // First line contains metadata, ignore it
95
+ @fgets( $customTaxonomyFile );
96
+ while ( $line = fgets( $customTaxonomyFile ) ) {
97
+ list( $catId, $cat ) = explode( "-", $line );
98
+ $taxonomy[] = [ 'value' => absint( trim( $catId ) ), 'text' => trim( $cat ) ];
99
+ }
100
+ }
101
+ $taxonomy = array_filter( $taxonomy );
102
+ return $taxonomy;
103
+ }
104
+
105
  public function amazon_clothingAttributesDropdown($selected = "")
106
  {
107
  $attributes = new Woo_Feed_Default_Attributes();
includes/helper.php CHANGED
@@ -1064,6 +1064,19 @@ if ( ! function_exists( 'woo_feed_log_fatal_error' ) ) {
1064
  woo_feed_log( 'woo-feed-fatal-errors', $message, 'critical', $data, true, true );
1065
  }
1066
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
1067
  if ( ! function_exists( 'woo_feed_delete_log' ) ) {
1068
  /**
1069
  * Delete Log file by source or handle name
1064
  woo_feed_log( 'woo-feed-fatal-errors', $message, 'critical', $data, true, true );
1065
  }
1066
  }
1067
+ if ( ! function_exists( 'woo_feed_log_debug_message' ) ) {
1068
+ /**
1069
+ * Log Fatal Errors in both wc-logs and woo-feed/logs
1070
+ *
1071
+ * @param string $message The log message.
1072
+ * @param mixed $data Extra data for the log handler.
1073
+ */
1074
+ function woo_feed_log_debug_message( $message, $data = null ) {
1075
+ // woocommerce use 'fatal-errors' as log handler...
1076
+ // make no conflicts with woocommerce fatal-errors logs
1077
+ woo_feed_log( 'woo-feed-fatal-errors', $message, 'debug', $data, true, true );
1078
+ }
1079
+ }
1080
  if ( ! function_exists( 'woo_feed_delete_log' ) ) {
1081
  /**
1082
  * Delete Log file by source or handle name
libs/WebAppick/AppServices/License.php CHANGED
@@ -64,7 +64,14 @@ class License {
64
  private $is_valid_license = null;
65
  /**
66
  * The license data
67
- * @var array
 
 
 
 
 
 
 
68
  */
69
  protected $license;
70
 
@@ -274,6 +281,7 @@ class License {
274
  $response = [
275
  'success' => false,
276
  'error' => isset( $response['error'] ) ? sanitize_text_field( $response['error'] ) : esc_html__( 'Unknown error occurred in API server.', 'webappick' ),
 
277
  ];
278
  }
279
  return $response;
@@ -433,31 +441,34 @@ class License {
433
  * Check license status on schedule
434
  */
435
  public function check_license_status() {
 
436
  $license = $this->getLicense();
437
  if ( $license ) {
 
438
  $response = $this->check();
439
  if ( isset( $response['success'], $response['status_check'] ) && $response['success'] ) {
440
- $license = [
 
441
  'status' => $response['status_check'] == 'active' ? 'active' : 'inactive',
442
  'remaining' => isset( $response['data'], $response['data']['activations_remaining'] ) ? $response['data']['activations_remaining'] : 0,
443
  'activations' => isset( $response['data'], $response['data']['total_activations'] ) ? $response['data']['total_activations'] : 0,
444
  'limit' => isset( $response['data'], $response['data']['total_activations_purchased'] ) ? $response['data']['total_activations_purchased'] : 0,
445
  'unlimited' => isset( $response['data'], $response['data']['unlimited_activations'] ) ? $response['data']['unlimited_activations'] : false,
446
  'expiry_date' => 0, // wc-am doesn't sent remaining date
447
- ];
448
  } else {
449
- $license = [
 
 
450
  'status' => 'inactive',
451
  'remaining' => 0,
452
  'activations' => 0,
453
  'limit' => 0,
454
  'unlimited' => false,
455
  'expiry_date' => 0, // wc-am doesn't sent remaining date
456
- ];
457
  }
458
-
459
- // Don't reset the key.
460
- // keep it, if the user renew subscription update the status and reactivate the plugin.
461
  $this->setLicense( $license );
462
  }
463
  }
@@ -643,14 +654,15 @@ class License {
643
  }
644
  // Don't reset the key.
645
  // keep it, if the user renew subscription update the status and reactivate the plugin.
646
- $this->setLicense( array_merge( $license, [
647
  'status' => isset( $response['activated'] ) && $response['activated'] ? 'active' : 'inactive',
648
  'remaining' => isset( $response['data'], $response['data']['activations_remaining'] ) ? $response['data']['activations_remaining'] : 0,
649
  'activations' => isset( $response['data'], $response['data']['total_activations'] ) ? $response['data']['total_activations'] : 0,
650
  'limit' => isset( $response['data'], $response['data']['total_activations_purchased'] ) ? $response['data']['total_activations_purchased'] : 0,
651
  'unlimited' => isset( $response['data'], $response['data']['unlimited_activations'] ) ? $response['data']['unlimited_activations'] : false,
652
  'expiry_date' => 0, // wc-am doesn't sent remaining date
653
- ] ) );
 
654
  if( ! $updateKey ) {
655
  $this->success = esc_html__( 'License activated successfully.', 'webappick' );
656
  } else {
@@ -674,7 +686,8 @@ class License {
674
  }
675
  }
676
  }
677
- $this->setLicense();
 
678
  $this->success = esc_html__( 'License deactivated successfully.', 'webappick' );
679
  }
680
 
@@ -799,7 +812,14 @@ class License {
799
 
800
  /**
801
  * get Plugin/Theme License
802
- * @return array
 
 
 
 
 
 
 
803
  */
804
  private function getLicense() {
805
  if( $this->license !== null ) return $this->license;
@@ -825,6 +845,18 @@ class License {
825
  * @return bool False if value was not updated and true if value was updated.
826
  */
827
  private function setLicense( $license = [] ) {
 
 
 
 
 
 
 
 
 
 
 
 
828
  $defaults = [
829
  'key' => '', // license key
830
  'status' => 'inactive', // current status
@@ -836,18 +868,18 @@ class License {
836
  'expiry_date' => 0, // expires set this to a unix timestamp
837
  ];
838
  // parse
839
- $license = wp_parse_args( $license, $defaults );
 
840
  // sanitize data
841
- $this->license['key'] = sanitize_text_field( $license['key'] );
842
- $this->license['status'] = strtolower( $license['status'] ) === 'active' ? 'active' : 'inactive';
843
- $this->license['instance'] = sanitize_text_field( $license['instance'] );
844
- $this->license['remaining'] = absint( $license['remaining'] );
845
- $this->license['activations'] = absint( $license['activations'] );
846
- $this->license['limit'] = absint( $license['limit'] );
847
- $this->license['unlimited'] = (bool) $license['unlimited'];
848
- $this->license['expiry_date'] = absint( $license['expiry_date'] );
849
- // update in db
850
- return update_option( $this->option_key, $this->license, false );
851
  }
852
 
853
  /**
64
  private $is_valid_license = null;
65
  /**
66
  * The license data
67
+ * @var array {
68
+ * Optional. License Data.
69
+ * @type string $key The License Key
70
+ * @type string $status Activation Status
71
+ * @type int $remaining Remaining Activation
72
+ * @type int $activation_limit Number of activation allowed for the license key
73
+ * @type int $expiry_day Number of day remaining before the license expires
74
+ * }
75
  */
76
  protected $license;
77
 
281
  $response = [
282
  'success' => false,
283
  'error' => isset( $response['error'] ) ? sanitize_text_field( $response['error'] ) : esc_html__( 'Unknown error occurred in API server.', 'webappick' ),
284
+ 'code' => isset( $response['code'] ) ? sanitize_text_field( $response['code'] ) : 'UNKNOWN',
285
  ];
286
  }
287
  return $response;
441
  * Check license status on schedule
442
  */
443
  public function check_license_status() {
444
+ // get current license data.
445
  $license = $this->getLicense();
446
  if ( $license ) {
447
+ // check license
448
  $response = $this->check();
449
  if ( isset( $response['success'], $response['status_check'] ) && $response['success'] ) {
450
+ // update license status
451
+ $license = wp_parse_args( [
452
  'status' => $response['status_check'] == 'active' ? 'active' : 'inactive',
453
  'remaining' => isset( $response['data'], $response['data']['activations_remaining'] ) ? $response['data']['activations_remaining'] : 0,
454
  'activations' => isset( $response['data'], $response['data']['total_activations'] ) ? $response['data']['total_activations'] : 0,
455
  'limit' => isset( $response['data'], $response['data']['total_activations_purchased'] ) ? $response['data']['total_activations_purchased'] : 0,
456
  'unlimited' => isset( $response['data'], $response['data']['unlimited_activations'] ) ? $response['data']['unlimited_activations'] : false,
457
  'expiry_date' => 0, // wc-am doesn't sent remaining date
458
+ ], $license );
459
  } else {
460
+ // Don't reset the key.
461
+ // keep it, if the user renew subscription update the status and reactivate the plugin.
462
+ $license = wp_parse_args( [
463
  'status' => 'inactive',
464
  'remaining' => 0,
465
  'activations' => 0,
466
  'limit' => 0,
467
  'unlimited' => false,
468
  'expiry_date' => 0, // wc-am doesn't sent remaining date
469
+ ], $license );
470
  }
471
+ // update the license state & and save in db
 
 
472
  $this->setLicense( $license );
473
  }
474
  }
654
  }
655
  // Don't reset the key.
656
  // keep it, if the user renew subscription update the status and reactivate the plugin.
657
+ $license = array_merge( $license, [
658
  'status' => isset( $response['activated'] ) && $response['activated'] ? 'active' : 'inactive',
659
  'remaining' => isset( $response['data'], $response['data']['activations_remaining'] ) ? $response['data']['activations_remaining'] : 0,
660
  'activations' => isset( $response['data'], $response['data']['total_activations'] ) ? $response['data']['total_activations'] : 0,
661
  'limit' => isset( $response['data'], $response['data']['total_activations_purchased'] ) ? $response['data']['total_activations_purchased'] : 0,
662
  'unlimited' => isset( $response['data'], $response['data']['unlimited_activations'] ) ? $response['data']['unlimited_activations'] : false,
663
  'expiry_date' => 0, // wc-am doesn't sent remaining date
664
+ ] );
665
+ $this->setLicense( $license );
666
  if( ! $updateKey ) {
667
  $this->success = esc_html__( 'License activated successfully.', 'webappick' );
668
  } else {
686
  }
687
  }
688
  }
689
+ // keep the instance key for reference
690
+ $this->setLicense( [ 'instance' => $this->license['instance'] ] );
691
  $this->success = esc_html__( 'License deactivated successfully.', 'webappick' );
692
  }
693
 
812
 
813
  /**
814
  * get Plugin/Theme License
815
+ * @return array {
816
+ * Optional. License Data.
817
+ * @type string $key The License Key
818
+ * @type string $status Activation Status
819
+ * @type int $remaining Remaining Activation
820
+ * @type int $activation_limit Number of activation allowed for the license key
821
+ * @type int $expiry_day Number of day remaining before the license expires
822
+ * }
823
  */
824
  private function getLicense() {
825
  if( $this->license !== null ) return $this->license;
845
  * @return bool False if value was not updated and true if value was updated.
846
  */
847
  private function setLicense( $license = [] ) {
848
+ $this->license = $this->parse_license_data( $license );
849
+ // update in db
850
+ return update_option( $this->option_key, $this->license, false );
851
+ }
852
+
853
+ /**
854
+ * Parse License data.
855
+ * @param array $data
856
+ *
857
+ * @return array
858
+ */
859
+ private function parse_license_data( $data = [] ) {
860
  $defaults = [
861
  'key' => '', // license key
862
  'status' => 'inactive', // current status
868
  'expiry_date' => 0, // expires set this to a unix timestamp
869
  ];
870
  // parse
871
+ $data = wp_parse_args( $data, $defaults );
872
+ $license = array();
873
  // sanitize data
874
+ $license['key'] = sanitize_text_field( $data['key'] );
875
+ $license['status'] = strtolower( $data['status'] ) === 'active' ? 'active' : 'inactive';
876
+ $license['instance'] = sanitize_text_field( $data['instance'] );
877
+ $license['remaining'] = absint( $data['remaining'] );
878
+ $license['activations'] = absint( $data['activations'] );
879
+ $license['limit'] = absint( $data['limit'] );
880
+ $license['unlimited'] = (bool) $data['unlimited'];
881
+ $license['expiry_date'] = absint( $data['expiry_date'] );
882
+ return $license;
 
883
  }
884
 
885
  /**
public/class-woo-feed-public.php DELETED
@@ -1,116 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * The public-facing functionality of the plugin.
5
- *
6
- * @link https://webappick.com
7
- * @since 1.0.0
8
- *
9
- * @package Woo_Feed
10
- * @subpackage Woo_Feed/public
11
- */
12
-
13
- /**
14
- * The public-facing functionality of the plugin.
15
- *
16
- * Defines the plugin name, version, and two examples hooks for how to
17
- * enqueue the admin-specific stylesheet and JavaScript.
18
- *
19
- * @package Woo_Feed
20
- * @subpackage Woo_Feed/includes
21
- * @author WebAppick <dev@webappick.com>
22
- */
23
- class Woo_Feed_Public {
24
-
25
- /**
26
- * The ID of this plugin.
27
- *
28
- * @since 1.0.0
29
- * @access private
30
- * @var string $plugin_name The ID of this plugin.
31
- */
32
- private $plugin_name;
33
-
34
- /**
35
- * The version of this plugin.
36
- *
37
- * @since 1.0.0
38
- * @access private
39
- * @var string $version The current version of this plugin.
40
- */
41
- private $version;
42
-
43
- /**
44
- * Initialize the class and set its properties.
45
- *
46
- * @since 1.0.0
47
- * @param string $plugin_name The name of the plugin.
48
- * @param string $version The version of this plugin.
49
- */
50
- public function __construct( $plugin_name, $version ) {
51
-
52
- $this->plugin_name = $plugin_name;
53
- $this->version = $version;
54
-
55
- }
56
-
57
- /**
58
- * Register the stylesheets for the public-facing side of the site.
59
- *
60
- * @since 1.0.0
61
- */
62
- public function enqueue_styles() {
63
-
64
- /**
65
- * This function is provided for demonstration purposes only.
66
- *
67
- * An instance of this class should be passed to the run() function
68
- * defined in Woo_Feed_Loader as all of the hooks are defined
69
- * in that particular class.
70
- *
71
- * The Woo_Feed_Loader will then create the relationship
72
- * between the defined hooks and the functions defined in this
73
- * class.
74
- */
75
-
76
- //wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/woo-feed-public.css', array(), $this->version, 'all' );
77
-
78
- }
79
-
80
- /**
81
- * Register the JavaScript for the public-facing side of the site.
82
- *
83
- * @since 1.0.0
84
- */
85
- public function enqueue_scripts() {
86
-
87
- /**
88
- * This function is provided for demonstration purposes only.
89
- *
90
- * An instance of this class should be passed to the run() function
91
- * defined in Woo_Feed_Loader as all of the hooks are defined
92
- * in that particular class.
93
- *
94
- * The Woo_Feed_Loader will then create the relationship
95
- * between the defined hooks and the functions defined in this
96
- * class.
97
- */
98
-
99
- // wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/woo-feed-public.js', array( 'jquery' ), $this->version, false );
100
- //
101
- //
102
- // $wpf_feed_nonce = wp_create_nonce('wpf_feed_nonce');
103
- // wp_localize_script($this->plugin_name, 'wpf_ajax_obj', array(
104
- // 'wpf_ajax_url' => admin_url('admin-ajax.php'),
105
- // 'nonce' => $wpf_feed_nonce,
106
- // ));
107
- //
108
- // wp_enqueue_script($this->plugin_name);
109
- }
110
-
111
- }
112
- /**
113
- * The class responsible for defining all actions that occur in the admin area.
114
- */
115
- //require_once plugin_dir_path(dirname(__FILE__)) . 'public/partials/woo-feed-public-display.php';
116
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/css/woo-feed-public.css DELETED
@@ -1,4 +0,0 @@
1
- /**
2
- * All of the CSS for your public-facing functionality should be
3
- * included in this file.
4
- */
 
 
 
 
public/index.php DELETED
@@ -1 +0,0 @@
1
- <?php // Silence is golden
 
public/js/woo-feed-public.js DELETED
@@ -1,199 +0,0 @@
1
- (function( $ ) {
2
- 'use strict';
3
-
4
- /**
5
- * All of the code for your public-facing JavaScript source
6
- * should reside in this file.
7
- *
8
- * Note: It has been assumed you will write jQuery code here, so the
9
- * $ function reference has been prepared for usage within the scope
10
- * of this function.
11
- *
12
- * This enables you to define handlers, for when the DOM is ready:
13
- */
14
- $(function() {
15
- //alert("HI");
16
- });
17
- /**
18
- * When the window is loaded:
19
- */
20
- $( window ).load(function() {
21
-
22
- // Initialize Variable
23
- var feeds=[];
24
- var feedCount=0;
25
- var fileName="";
26
-
27
- $.ajax({
28
- url : wpf_ajax_obj.wpf_ajax_url,
29
- type : 'get',
30
- data : {
31
- _ajax_nonce: wpf_ajax_obj.nonce,
32
- action: "getFeedInfoForCronUpdate"
33
- },
34
- success : function(response) {
35
- console.log(response.data);
36
-
37
- var arr = Object.keys(response.data).map(function(k,i) {
38
- return feeds[i]=k
39
- });
40
-
41
- console.log(feeds);
42
- if(feeds.length>0){
43
- fileName=feeds[feedCount];
44
- generate_feed(feeds[feedCount]);
45
- }
46
- }
47
- });
48
-
49
-
50
- /*#######################################################
51
- #######-------------------------------------------#######
52
- ####### Ajax Feed Making Functions Start #######
53
- #######-------------------------------------------#######
54
- #########################################################
55
- */
56
-
57
- function generate_feed(fileName) {
58
-
59
- $.ajax({
60
- url : wpf_ajax_obj.wpf_ajax_url,
61
- type : 'post',
62
- data : {
63
- _ajax_nonce: wpf_ajax_obj.nonce,
64
- action: "get_product_information",
65
- feed: fileName
66
- },
67
- success : function(response) {
68
- //console.log(response);
69
- if(response.success) {
70
- $(".feed-progress-container2").text("Delivering Feed Configuration.");
71
- var products=parseInt(response.data.product);
72
- console.log("Counting Total Products");
73
- console.log("Total "+products+" products found.");
74
-
75
- if(products>200){
76
- processFeed(2000);
77
- setTimeout(function(){
78
- $(".feed-progress-container2").text("Total 2000 products will be processed.");
79
- }, 3000);
80
- }else{
81
- processFeed(products);
82
- }
83
-
84
- }else{
85
- console.log(response.data.message);
86
-
87
- }
88
- }
89
- });
90
-
91
-
92
- }
93
-
94
-
95
- function processFeed(n,offset,batch) {
96
- if (typeof(offset)==='undefined') offset = 0;
97
- if (typeof(batch)==='undefined') batch = 0;
98
-
99
- var batches =Math.ceil(n/200);
100
- var limit=200;
101
- var progressBatch=90/batches;
102
-
103
- var currentProducts=limit*batch;
104
-
105
-
106
- if(batch<batches){
107
- $.ajax({
108
- url : wpf_ajax_obj.wpf_ajax_url,
109
- type : 'post',
110
- data : {
111
- _ajax_nonce: wpf_ajax_obj.nonce,
112
- action: "make_batch_feed",
113
- limit:limit,
114
- offset:offset,
115
- feed: fileName
116
- },
117
- success : function(response) {
118
- console.log(response);
119
- if(response.success) {
120
- if(response.data.products=="yes"){
121
- offset=offset+200;
122
- batch++;
123
- processFeed(n,offset,batch);
124
- }else if(n>offset){
125
- offset=offset+200;
126
- batch++;
127
- setTimeout(function(){
128
- processFeed(n,offset,batch);
129
- }, 2000);
130
-
131
- }else{
132
- console.log("Saving feed file.");
133
- return save_feed_file();
134
- }
135
- }
136
- },
137
- error:function (response) {
138
- console.log(response);
139
- return false;
140
- }
141
- });
142
- }else{
143
- console.log("Saving feed file.");
144
- return save_feed_file();
145
- }
146
- }
147
-
148
-
149
- /**
150
- * Save feed file into WordPress upload directory
151
- * after successfully processing the feed
152
- */
153
- function save_feed_file(){
154
- $.ajax({
155
- url : wpf_ajax_obj.wpf_ajax_url,
156
- type : 'post',
157
- data : {
158
- _ajax_nonce: wpf_ajax_obj.nonce,
159
- action: "save_feed_file",
160
- feed:fileName
161
- },
162
- success : function(response) {
163
- console.log(response);
164
- if(response.success) {
165
- console.log("Feed "+feedCount+" Generated Successfully.");
166
- feedCount++;
167
- if(feeds[feedCount] != undefined){
168
- fileName=feeds[feedCount];
169
- generate_feed(feeds[feedCount])
170
- }
171
- //return true;
172
- //window.location.href = "<?php echo admin_url('admin.php?page=woo_feed_manage_feed'); ?>";
173
- }else{
174
- }
175
- },
176
- error:function (response) {
177
- console.log(response);
178
- return false;
179
- }
180
- });
181
- }
182
-
183
- /*########################################################
184
- #######-------------------------------------------#######
185
- ####### Ajax Feed Making Functions End #######
186
- #######-------------------------------------------#######
187
- #########################################################
188
- */
189
- });
190
- /**
191
- * ...and/or other possibilities.
192
- *
193
- * Ideally, it is not considered best practise to attach more than a
194
- * single DOM-ready or window-load handler for a particular page.
195
- * Although scripts in the WordPress core, Plugins and Themes may be
196
- * practising this, we should strive to set a better example in our own work.
197
- */
198
-
199
- })( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/partials/woo-feed-public-display.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Provide a public-facing view for the plugin
5
- *
6
- * This file is used to markup the public-facing aspects of the plugin.
7
- *
8
- * @link https://webappick.com
9
- * @since 1.0.0
10
- *
11
- * @package Woo_Feed
12
- * @subpackage Woo_Feed/public/partials
13
- */
14
-
15
-
16
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
woo-feed.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: WooCommerce Product Feed
16
  * Plugin URI: https://webappick.com/
17
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
18
- * Version: 3.2.13
19
  * Author: WebAppick
20
  * Author URI: https://webappick.com/
21
  * License: GPL v2
@@ -41,7 +41,7 @@ if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
41
  * Plugin Version
42
  * @var string
43
  */
44
- define( 'WOO_FEED_FREE_VERSION', '3.2.13' );
45
  }
46
  if ( ! defined( 'WOO_FEED_FREE_FILE') ) {
47
  /**
@@ -169,12 +169,17 @@ if ( ! function_exists( 'run_woo_feed' ) ) {
169
  #
170
  #======================================================================================================================*
171
  if ( ! function_exists( 'woo_feed_get_product_information' ) ) {
 
172
  /**
173
  * Count Total Products
174
  */
175
  function woo_feed_get_product_information(){
176
  check_ajax_referer('wpf_feed_nonce');
177
-
 
 
 
 
178
  if(woo_feed_wc_version_check(3.2)){
179
 
180
  $feed = sanitize_text_field( $_REQUEST['feed'] );
@@ -237,12 +242,16 @@ if ( ! function_exists( 'woo_feed_get_product_information' ) ) {
237
 
238
  wp_die();
239
  }
240
- add_action('wp_ajax_get_product_information', 'woo_feed_get_product_information');
241
  }
242
  if ( ! function_exists( 'woo_feed_make_batch_feed' ) ) {
 
243
  function woo_feed_make_batch_feed(){
244
  check_ajax_referer('wpf_feed_nonce');
245
-
 
 
 
 
246
  //$limit=sanitize_text_field($_POST['limit']);
247
  //$offset=sanitize_text_field($_POST['offset']);
248
  $feedName = sanitize_text_field( str_replace( "wf_feed_", "", $_POST['feed'] ) );
@@ -298,15 +307,17 @@ if ( ! function_exists( 'woo_feed_make_batch_feed' ) ) {
298
  die();
299
  }
300
  }
301
- add_action('wp_ajax_make_batch_feed', 'woo_feed_make_batch_feed');
302
- add_action('wp_ajax_nopriv_make_batch_feed', 'woo_feed_make_batch_feed');
303
  }
304
  if ( ! function_exists( 'woo_feed_save_feed_file' ) ) {
305
  add_action('wp_ajax_save_feed_file', 'woo_feed_save_feed_file');
306
- add_action('wp_ajax_nopriv_save_feed_file', 'woo_feed_save_feed_file');
307
  function woo_feed_save_feed_file(){
308
 
309
  check_ajax_referer('wpf_feed_nonce');
 
 
 
 
 
310
  $feed = str_replace("wf_feed_", "", sanitize_text_field( $_REQUEST['feed'] ) );
311
  $info = get_option($feed);
312
  if(!$info){
@@ -768,6 +779,11 @@ if ( ! function_exists( 'feed_merchant_view' ) ) {
768
  add_action('wp_ajax_get_feed_merchant', 'feed_merchant_view');
769
  function feed_merchant_view() {
770
  check_ajax_referer('wpf_feed_nonce');
 
 
 
 
 
771
  $merchant = $provider = isset( $_REQUEST['merchant'] ) && ! empty( $_REQUEST['merchant'] ) ? sanitize_text_field( $_REQUEST['merchant'] ) : '';
772
  if( empty( $merchant ) ) wp_die();
773
  ob_start();
@@ -789,11 +805,31 @@ if ( ! function_exists( 'feed_merchant_view' ) ) {
789
  die();
790
  }
791
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
792
  // sftp status detection.
793
  if ( ! function_exists( 'woo_feed_get_ssh2_status' ) ) {
794
  add_action('wp_ajax_get_ssh2_status', 'woo_feed_get_ssh2_status');
795
  function woo_feed_get_ssh2_status() {
796
  check_ajax_referer( 'wpf_feed_nonce' );
 
 
 
 
 
797
  $php_extension = get_loaded_extensions();
798
  if(extension_loaded ( 'ssh2' )) {
799
  wp_send_json_success('exists');
@@ -809,6 +845,11 @@ if ( ! function_exists( 'woo_feed_update_feed_status' ) ) {
809
  */
810
  add_action('wp_ajax_update_feed_status', 'woo_feed_update_feed_status');
811
  function woo_feed_update_feed_status(){
 
 
 
 
 
812
  if(!empty($_POST['feedName'])){
813
  $feedInfo = unserialize(get_option( sanitize_text_field( $_POST['feedName'] ) ));
814
  $feedInfo['status'] = sanitize_text_field( $_POST['status'] );
@@ -975,31 +1016,4 @@ if ( ! function_exists( 'woo_feed_hide_notice' ) ) {
975
  wp_die();
976
  }
977
  }
978
-
979
- // May be deprecated...
980
- if ( ! function_exists( 'woo_feed_getFeedInfoForCronUpdate' ) ) {
981
- /**
982
- * Scheduled Action Hook
983
- */
984
- function woo_feed_getFeedInfoForCronUpdate(){
985
-
986
- check_ajax_referer('wpf_feed_nonce');
987
- global $wpdb;
988
- $query = $wpdb->prepare("SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", "wf_feed_%");
989
- $result = $wpdb->get_results($query, 'ARRAY_A');
990
- $feeds=array();
991
- foreach ($result as $key => $value) {
992
- $feedInfo = unserialize(get_option($value['option_name']));
993
- $feeds["wf_config".$value['option_name']]=$feedInfo['last_updated'];
994
- }
995
-
996
- $return = array(
997
- 'data' => $feeds,
998
- );
999
-
1000
- wp_send_json($return);
1001
- }
1002
- add_action('wp_ajax_getFeedInfoForCronUpdate', 'woo_feed_getFeedInfoForCronUpdate');
1003
- add_action('wp_ajax_nopriv_getFeedInfoForCronUpdate', 'woo_feed_getFeedInfoForCronUpdate');
1004
- }
1005
  // End of file woo-feed.php
15
  * Plugin Name: WooCommerce Product Feed
16
  * Plugin URI: https://webappick.com/
17
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
18
+ * Version: 3.2.14
19
  * Author: WebAppick
20
  * Author URI: https://webappick.com/
21
  * License: GPL v2
41
  * Plugin Version
42
  * @var string
43
  */
44
+ define( 'WOO_FEED_FREE_VERSION', '3.2.14' );
45
  }
46
  if ( ! defined( 'WOO_FEED_FREE_FILE') ) {
47
  /**
169
  #
170
  #======================================================================================================================*
171
  if ( ! function_exists( 'woo_feed_get_product_information' ) ) {
172
+ add_action('wp_ajax_get_product_information', 'woo_feed_get_product_information');
173
  /**
174
  * Count Total Products
175
  */
176
  function woo_feed_get_product_information(){
177
  check_ajax_referer('wpf_feed_nonce');
178
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
179
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
180
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
181
+ die();
182
+ }
183
  if(woo_feed_wc_version_check(3.2)){
184
 
185
  $feed = sanitize_text_field( $_REQUEST['feed'] );
242
 
243
  wp_die();
244
  }
 
245
  }
246
  if ( ! function_exists( 'woo_feed_make_batch_feed' ) ) {
247
+ add_action('wp_ajax_make_batch_feed', 'woo_feed_make_batch_feed');
248
  function woo_feed_make_batch_feed(){
249
  check_ajax_referer('wpf_feed_nonce');
250
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
251
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
252
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
253
+ die();
254
+ }
255
  //$limit=sanitize_text_field($_POST['limit']);
256
  //$offset=sanitize_text_field($_POST['offset']);
257
  $feedName = sanitize_text_field( str_replace( "wf_feed_", "", $_POST['feed'] ) );
307
  die();
308
  }
309
  }
 
 
310
  }
311
  if ( ! function_exists( 'woo_feed_save_feed_file' ) ) {
312
  add_action('wp_ajax_save_feed_file', 'woo_feed_save_feed_file');
 
313
  function woo_feed_save_feed_file(){
314
 
315
  check_ajax_referer('wpf_feed_nonce');
316
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
317
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
318
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
319
+ die();
320
+ }
321
  $feed = str_replace("wf_feed_", "", sanitize_text_field( $_REQUEST['feed'] ) );
322
  $info = get_option($feed);
323
  if(!$info){
779
  add_action('wp_ajax_get_feed_merchant', 'feed_merchant_view');
780
  function feed_merchant_view() {
781
  check_ajax_referer('wpf_feed_nonce');
782
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
783
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
784
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
785
+ die();
786
+ }
787
  $merchant = $provider = isset( $_REQUEST['merchant'] ) && ! empty( $_REQUEST['merchant'] ) ? sanitize_text_field( $_REQUEST['merchant'] ) : '';
788
  if( empty( $merchant ) ) wp_die();
789
  ob_start();
805
  die();
806
  }
807
  }
808
+ // Get Google Categories
809
+ if ( ! function_exists( 'woo_feed_get_google_categories' ) ) {
810
+ add_action( 'wp_ajax_get_google_categories', 'woo_feed_get_google_categories' );
811
+ function woo_feed_get_google_categories() {
812
+ check_ajax_referer('wpf_feed_nonce');
813
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
814
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
815
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
816
+ die();
817
+ }
818
+ $wooFeedDropDown = new Woo_Feed_Dropdown();
819
+ wp_send_json_success( $wooFeedDropDown->googleTaxonomyArray() );
820
+ die();
821
+ }
822
+ }
823
  // sftp status detection.
824
  if ( ! function_exists( 'woo_feed_get_ssh2_status' ) ) {
825
  add_action('wp_ajax_get_ssh2_status', 'woo_feed_get_ssh2_status');
826
  function woo_feed_get_ssh2_status() {
827
  check_ajax_referer( 'wpf_feed_nonce' );
828
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
829
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
830
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
831
+ die();
832
+ }
833
  $php_extension = get_loaded_extensions();
834
  if(extension_loaded ( 'ssh2' )) {
835
  wp_send_json_success('exists');
845
  */
846
  add_action('wp_ajax_update_feed_status', 'woo_feed_update_feed_status');
847
  function woo_feed_update_feed_status(){
848
+ if( ! current_user_can( 'manage_woocommerce' ) ) {
849
+ // woo_feed_log_debug_message( 'User doesnt have enough permission.' );
850
+ wp_send_json_error( esc_html__( 'Unauthorized Action.' ) );
851
+ die();
852
+ }
853
  if(!empty($_POST['feedName'])){
854
  $feedInfo = unserialize(get_option( sanitize_text_field( $_POST['feedName'] ) ));
855
  $feedInfo['status'] = sanitize_text_field( $_POST['status'] );
1016
  wp_die();
1017
  }
1018
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
  // End of file woo-feed.php