CTX Feed – WooCommerce Product Feed Manager Plugin - Version 4.4.13

Version Description

(2021-07-12) = * Added: Availability date attribute has been added. * Added: Woocommerce Germanized gtin,mpn attribute has been added. * Fixed: Variable product missing issue has been fixed.

Download this release

Release Info

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

Code changes from version 4.4.12 to 4.4.13

README.txt CHANGED
@@ -1,2105 +1,2110 @@
1
- === CTX Feed - WooCommerce Product Feed Generator ===
2
- Contributors: wahid0003, webappick, mhamudul_hk, shuvo586, nayanchamp7
3
- Donate link: https://webappick.com
4
- Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Catalog, Bing Shopping, Instagram Shop, Skroutz Data Feed, xml feed, csv feed, txt feed, woocommerce product feed
5
- Requires at least: 3.6
6
- Tested Up To: 5.7
7
- Requires PHP: 5.6
8
- Stable tag: 4.4.12
9
- License: GPLv2 or later
10
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
-
12
- Generate error-free woocommerce product feed for any marketing channel like Google Shopping, Facebook Catalog, Bing, Pinterest, Instagram & 100+ more channels.
13
-
14
- == Description ==
15
- Easily create the most optimized and error-free product feeds for your WooCommerce store targeting the leading global and local product marketing channels like Google Shopping or Google Merchant, Facebook Dynamic Product Ads, Instagram Shopping Ads, Pinterest Shopping Ads, eBay Ads, Bing Ads, PriceRunner, Rakuten, PriceSpy, Kelko, and more.
16
-
17
- **WooCommerce Product Feed Pro (CTX Feed)** is a WooCommerce product feed generator plugin for WooCommerce powered stores. This plugin currently supports more than 100+ marketing channels. So, you can target your desired marketing channels, price comparison sites, and/or affiliate networks.
18
-
19
- It aims to reduce your hardship on marketing efforts to create product feeds and distribute them in multiple marketing/shopping channels. There are flexible options to update product information according to your given schedule and sync the update to the right channel via HTTP or FTP. Stay at ease knowing that your customers will automatically get the latest product information.
20
-
21
- **UNLIMITED PRODUCTS**
22
-
23
- You can create product feed for unlimited products. No matter how many products you have in your WooCommerce Store, this WooCommerce product feed plugin can generate product feed for any number of products.
24
-
25
- **UNLIMITED FEED**
26
-
27
- Create unlimited product feeds for multiple channels of your preference. There is no restriction on creating the product feed for the available online channels.
28
-
29
- **WHAT IS PRODUCT FEED?**
30
-
31
- The product feed is an XML, TXT, CSV, XLS, or TSV file that contains a list of product information and their attributes (id, title, description, price, image, link, and other attributes) in an organized way so that each product can be displayed into search engines, compared uniquely and can be advertised.
32
-
33
- **WHY DO I NEED PRODUCT FEED?**
34
-
35
- You need a product feed if you are a retailer with an eCommerce store and want to get your products into the search engine or price comparison website or affiliate network. Product feed supply your product information to those online marketing channels so that buyer can easily find your products.
36
- <blockquote>
37
- <h4>Read Step by Step <a target="_blank" href="https://webappick.com/docs/woo-feed/">Documentation</a> and <a target="_blank" href="https://www.youtube.com/playlist?list=PLapCcXJAoEenI-35wc6YnnsAAgoYRxDr7">Video Tutorial</a></h4>
38
- <br/>
39
- <h4>For Support Email to <a href="mailto:support@webappick.com">support[@]webappick.com</a> </h4>
40
- <br/>
41
- <h4>REQUEST NEW FEATURE <a target="_blank" href="https://webappick.com/contact/">HERE</a></h4>
42
- <br/>
43
- <h4>PREMIUM VERSION: <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">WOOCOMMERCE PRODUCT FEED PRO</a></h4>
44
- <br/>
45
- </blockquote>
46
-
47
-
48
- **WHY SHOULD I CHOSE THIS PLUGIN?**
49
-
50
- In a word, WooCommerce Product Feed is a revolution. Yeah, it's a revolution of WooCommerce product feed technology because there are no modules or extensions that generate automatic or manual product feeds that can synchronize flexibility to shopping channels maintained by people with not much technical knowledge about WordPress. Among the thousands of reasons for choosing this WordPress plugin, we have mentioned a few of them below.
51
-
52
- **Google Merchant Feed Upload**
53
- [youtube https://www.youtube.com/watch?v=QRTvrDJm4mI]
54
-
55
- **EASY USER INTERFACE:**
56
-
57
- Creating the product feed and navigating the ctx feed plugin option is easy. Anyone can operate this product feed plugin without having any technical knowledge. You will get all the feed configuration in one window. There is no need to open a separate window to customize any field or option of the plugin.
58
-
59
- **PRODUCT TYPES:**
60
-
61
- Supports all default WooCommerce product types including bundle product, composite product, mix & match product, and subscription product by other plugins. Supported product types plugins are below:
62
-
63
- * <a target="_blank" href="https://woocommerce.com/products/composite-products/">WooCommerce Composite Products</a>
64
- * <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-composite-products/">YITH Composite Products</a>
65
- * <a target="_blank" href="https://wordpress.org/plugins/wpc-composite-products/">WPC Composite Products for WooCommerce</a>
66
- * <a target="_blank" href="https://woocommerce.com/products/product-bundles/">WooCommerce Product Bundles</a>
67
- * <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-product-bundles/">YITH WooCommerce Product Bundles</a>
68
- * <a target="_blank" href="https://wordpress.org/plugins/woo-product-bundle/">WPC Product Bundles for WooCommerce</a>
69
- * <a target="_blank" href="https://woocommerce.com/products/woocommerce-subscriptions/">WooCommerce Subscription</a>
70
-
71
- **PRODUCT VARIABLE & VARIATION:**
72
-
73
- The free version of this product feed plugin automatically adds variable products and product variation. If a variable product has four variations, then the plugin will add five products to the product feed, including one product for the variable product (parent of the variations) and four products for variations.
74
-
75
- There is an option on the <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">CTX Feed Pro</a> version there you can exclude the variations or the variable products or you can keep both the variable and product variations.
76
-
77
- **BUILTIN TEMPLATE:**
78
-
79
- There are more than 100+ pre-configured templates to give you a quick start. Those platform-specific templates will help you create perfect WooCommerce product feeds without wasting valuable time. Apart from saving time, the templates also keep you on the safe side with perfectly formatted product feed templates.
80
-
81
- **CUSTOM TEMPLATE:**
82
-
83
- If a template is not available in our plugin, you can use the Custom Template to create any product feed for any channel. We can also add your channel as a template if you send your channels feed requirements to <a target="_blank" href="https://webappick.com/contact/">ctx feed support team</a>.
84
-
85
- **PRODUCT ATTRIBUTES:**
86
-
87
- You can include all the product attributes available in your product to make a complete product feed. You can make the product feed as detailed as possible.
88
-
89
- **OUTPUT TYPES:**
90
-
91
- You can modify or format the output of any product attribute value with these options below:
92
-
93
- * **Strip tags**: You can remove HTML tags from the product description.
94
-
95
- * **Integer**: You can format a rounded value of any number or product price.
96
-
97
- * **Price**: You can apply a number format to any number or product price.
98
-
99
- * **Rounded Price**: You can apply a round format to any number or product price.
100
-
101
- * **Remove Space**: You can remove double spaces from any attribute value.
102
-
103
- * **Remove Shortcodes**: You can remove shortcodes from the product title, description, or short description, etc.
104
-
105
- * **Remove Special Characters**: Sometimes non-UTF-8 characters are copied when you copy product description from any other source. You can remove these non-UTF-8 characters with this output type.
106
-
107
- * **CDATA**: CDATA protect any string from conflict between XML element and element value. Adding CDATA is a good practice for XML feed.
108
-
109
- * **ucfirst**: Make any string’s first character uppercase.
110
-
111
- * **ucwords**: Uppercase the first character of each word in the string.
112
-
113
- * **strtoupper**: Transform any string to upper case.
114
-
115
- * **strtolower**: Transform any string to lower case.
116
-
117
- * **urlToSecure**: Convert the URL to Secure HTTPS format.
118
-
119
- * **urlToUnsecure**: Convert the URL to HTTP format.
120
-
121
- * **only_parent**: Only add a variable product info to variation.
122
-
123
- * **parent**: Add variable product info to an attribute if variable value is not empty else add variation info.
124
-
125
- * **parent_if_empty**: Add variable product info to an attribute if the variation info is empty.
126
-
127
- * **Google Date Format**: Format date according to google merchant required format [Date and time, ISO 8601 compliant (YYYY-MM-DD, YYYY-MM-DDThh:mm:ss, or YYYY-MM-DDThh:mm:ssZ)].
128
-
129
- * Total 18 types of output formatting option available
130
-
131
- **PREFIX & SUFFIX:**
132
-
133
- You can add your preferred prefix and suffix to any product attribute value. For example, if you want to add the currency code with the price, then you can enter the currency code either on prefix or suffix according to your channel requirement.
134
-
135
- **STATIC VALUE:**
136
-
137
- You can easily add the same information as a static value to a merchant attribute for all the products. For example, when you add store code to your google local inventory feed, you need to add the same value to your products.
138
-
139
- **CATEGORY MAPPING:**
140
-
141
- Categories are the essential key to get products into search results. It is best practice to assign the most matching shopping engine category to your WooCommerce store category for each product. During the creation of your WooCommerce product feeds, you can also create a category for that particular product. And after creating the category, you’ll get an option to map it to your marketplace category so that you can make two categories aligned to each other. This feature is mostly used for Google Shopping feed and Facebook/Instagram product feed. The process is dynamic by our plugin & you can map all of your categories to make them more relevant & reachable to buyers.
142
-
143
- **BATCH FEED MAKING:**
144
-
145
- Due to PHP execution time and memory limit, it's not possible to process Thousands of products at a time. We have developed the ctx feed plugin with the functionality to make feed with batches. Users can easily set Limit and Offset to make feed. This functionality is compatible with any WordPress Hosting and any number of products you have on your site.
146
-
147
- **WP OPTIONS:**
148
-
149
- You will love the ability to include any wp-options values into the Product feed. Your store must have lots of other plugins, and all those WooCommerce plugins save data as an option. We have made it simple to add WP Options value into your WooCommerce product feed.
150
-
151
- **AUTO FEED UPDATE:**
152
-
153
- This WooCommerce Date Feed plugin automatically updates the product feed according to your given interval so that your product data will always be up to date —no need to manually update the feed.
154
-
155
- Due to product quantity (total products) and server configuration, the auto-feed update may not complete the update operation. For this reason, our plugin processes the products in small batches to make feed for unlimited products. But the auto-update operation process all the products at a time. So it may not work if your site has thousands of products. But you can quickly solve this issue by increasing the PHP execution_time (Time Limit) of your server.
156
-
157
- **GOOGLE PRODUCT FEED:**
158
-
159
- WooCommerce. With this woocommerce data feed Plugin, you can create a product feed by selecting the Google product feed template. Our pre-built google product feed template includes all the fields (Brand, GTIN, MPN, Product condition, etc.) that match the Google Product Feed requirements.
160
-
161
- According to your feed configuration, this woocommerce data feed plugin automatically identifies the value for identifier_exist attribute based on Brand, GTIN, and MPN value.
162
-
163
- Google Shopping product feed template automatically formats all the google product feed attribute structure according to <a target="_blank" href="https://support.google.com/merchants/answer/7052112?hl=en">Google Product Feed</a> requirements.
164
-
165
- **GOOGLE CANONICAL URL:**
166
-
167
- When you sell your woocommerce product with a different color variant, you may use the canonical_link attribute to submit the URL for each variant.
168
-
169
- Then comes the canonical_link attribute that redirects all the variants to the main product's landing page that does not include any variant. Google's web search crawler identifies the URLs that link to a single base product that does not have any pre-selected parameters.
170
-
171
- **GOOGLE SHIPPING & TAX:**
172
-
173
- CTX Feed plugin allows you to place the shipping zone and shipping class accurately so that your Google Shopping product feed includes the correct shipping information (shipping country, region, service, postal_code, price). Our plugin utilizes your configured shipping zone settings for a proper representation. Along with WooCommerce Shipping this WooCommerce Google Product Feed plugin also compatible with <a target="_blank" href="https://codecanyon.net/item/table-rate-shipping-for-woocommerce/3796656">Table Rate Shipping</a> plugin by BolderElement.
174
-
175
- **GOOGLE ANALYTICS UTM PARAMETER:**
176
-
177
- WooCommerce Product Feed plugin has an option to include Google Analytics UTM parameters to the product URLs that will help you evaluate your marketing channels' performance via Google Analytics.
178
-
179
- **GOOGLE DYNAMIC REMARKETING:**
180
-
181
- Google Dynamic remarketing event snippet collects data about specific searches related to a product and represents personalized ads by matching them with your product feed.
182
-
183
- Our plugin allows you to add Google Dynamic Remarketing event snippets across different pages of your website and enable the basic remarketing features of Google Remarketing Tracking.
184
-
185
- **TABLE RATE SHIPPING:**
186
-
187
- This plugin supports the WooCommerce Table Rate shipping by bolder element.
188
-
189
- **FACEBOOK CATALOG / INSTAGRAM SHOPPING FEED:**
190
-
191
- Facebook Catalog and Instagram have their own set of requirements that you need to follow to make a Facebook product feed or Instagram Shop feed. The attributes included in WooCommerce is not enough for Facebook Product Feed and Instagram Shop Feed.
192
-
193
- With our Plugin, you can easily create a product feed by selecting the Facebook Catalog / Instagram template. We have included a pre-built Facebook Catalog Feed / Instagram Shop Feed template that includes all the required Facebook and Instagram attributes.
194
-
195
- **FACEBOOK PIXEL TRACKING:**
196
-
197
- With this plugin, you can integrate Facebook pixel code on your website and match it with the Facebook catalog/ Instagram product feed contents.
198
-
199
- You can add Facebook Pixel events for Product pages, simple product page, variable product page, both Simple and Variable page, Category pages, Search result pages, All AddToCart events (cart page, cart button), Thank you Page
200
-
201
- **PINTEREST SHOPPING PRODUCT FEED:**
202
-
203
- With the Pinterest Product Feed template, you can easily create a product feed for woocommerce. We have included a pre-built Pinterest Feed template that includes all the Pinterest product feed attributes.
204
-
205
- **BING SHOPPING PRODUCT FEED:**
206
-
207
- With this plugin, you can create a Bing Shopping product feed by selecting the pre-made Bing Shopping Feed template. The Bing Shopping template includes all the necessary attributes that are required by Bing Shopping.
208
-
209
- **DYNAMIC DISCOUNT & PRICING**
210
-
211
- Our plugin automatically discounted price applied by any Dynamic Discount & Pricing Plugin.
212
-
213
- **SEO TITLE & META DESCRIPTION**
214
-
215
- CTX Feed plugin is compatible with three top-rated / most popular SEO plugins. You can assign SEO Meta Title and Meta Description instead of Product Title and Description if you want. Supported plugins are:
216
-
217
- * <a target="_blank" href="https://wordpress.org/plugins/wordpress-seo/">Yoast SEO</a>.
218
- * <a target="_blank" href="https://wordpress.org/plugins/all-in-one-seo-pack/">All in one SEO</a>.
219
- * <a target="_blank" href="https://wordpress.org/plugins/seo-by-rank-math/">Rank Math SEO</a>.
220
-
221
- **BUILTIN PLUGIN CACHE**
222
-
223
- The built-in caching feature of our WooCommerce product feed plugin reduces the server load so that you can generate a product feed without requesting multiple database queries.
224
-
225
- <blockquote>
226
- <h4>If you like Free Version, you'll love the Pro Version</h4>
227
- <br/>
228
- <h4><a target="_blank" href="http://webappick.com/plugin/woocommerce-product-feed-pro/">WooCommerce Product Feed Pro</a> gives you everything you'll find in free and some awesome features described below.</h4>
229
- <br/>
230
- <br/>
231
- </blockquote>
232
-
233
-
234
- **PRODUCT BRAND (PRO FEATURE)**
235
-
236
- CTX Feed Pro plugin has an option to add product brands. You can even add other brand plugins data for brands of your preference. The supported brand plugins are listed below:
237
-
238
- * <a target="_blank" href="https://woocommerce.com/products/brands/">WooCommerce Brands</a>
239
- * <a target="_blank" href="https://wordpress.org/plugins/perfect-woocommerce-brands/">Perfect Brands for WooCommerce</a>
240
- * <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-brands-add-on/">YITH WooCommerce Brands Add-On</a>
241
- * <a target="_blank" href="https://codecanyon.net/item/ultimate-woocommerce-brands-plugin/9433984">Ultimate WooCommerce Brands Plugin</a>
242
-
243
- **DYNAMIC ATTRIBUTE (PRO FEATURE)**
244
-
245
- The Dynamic Attribute combines the powerful features of the WooCommerce Product Feed Pro with the ability to set your conditions for any attribute. Different types of WooCommerce users have different types & classes of products and services. So, they may need a variety of custom values to demonstrate their products. And we are giving the options to make dynamic attributes as your need. It is also possible to generate the data feed file according to the search engine's requirements without changing your store's attributes.
246
-
247
- **SMART FILTER & CONDITION (PRO FEATURE)**
248
-
249
- Smart Filters help you exclude the non-profitable or out of season products you don’t want to share. Its high filtering options help users filter products according to product titles, price, availability of stocks, user rating, and other extensive product specifications.
250
-
251
- **ATTRIBUTE MAPPING (PRO FEATURE)**
252
-
253
- The first impression becomes the last impression! For example, Your product title can build interest in the buyer to hit your product. In the e-commerce business, product titles attract customers to get on the link if they are satisfied with the search result. The extended Product Title feature allows the user to extend the title of a product by adding different attributes. Extended Product Title is a great way to differentiate the products according to their variations, such as Size, Color, Custom Text, etc.
254
-
255
- **MULTI LANGUAGE FEED - WPML & POLYLANG (PRO FEATURE)**
256
-
257
- WooCommerce Product Feed Pro is compatible with <a target="_blank" href="https://wpml.org/">WPML</a> & <a target="_blank" href="https://wordpress.org/plugins/polylang/">Polylang</a> plugin for Multi-Language Feed. And by supporting WPML & Polylang makes it possible for the woocommerce store owners to create woocommerce product feed in different languages & currencies.
258
-
259
- Multilanguage enables retailers to globalize their business in minutes because they always have a better chance of selling something if they are already selling it in the native language.
260
-
261
- **MULTI CURRENCY FEED (PRO FEATURE)**
262
-
263
- When you want to globalize the business by selling your products in different local channels of different countries, you can create the product feed with the currency according to that channel’s currency requirement.
264
-
265
- WooCommerce Product Feed Pro can create product feeds for specific currencies.
266
-
267
- * <a target="_blank" href="https://wordpress.org/plugins/woocommerce-multilingual/">WooCommerce Multilingual</a>.
268
- * <a target="_blank" href="https://polylang.pro/downloads/polylang-for-woocommerce/">Polylang WooCommerce</a>.
269
- * <a target="_blank" href="https://aelia.co/shop/currency-switcher-woocommerce/">Currency Switcher for WooCommerce</a> By Aelia.
270
- * <a target="_blank" href="https://wordpress.org/plugins/woocommerce-currency-switcher/">WooCommerce Currency Switcher (WOOCS)</a> by realmag777.
271
-
272
- **MULTI VENDOR FEED (PRO FEATURE)**
273
-
274
- Generating product feeds for your multi-vendor enabled WooCommerce store is also straightforward. You can choose multiple vendors or a single vendor while creating product feeds. The list of supported multi-vendor plugins is below.
275
-
276
- * <a target="_blank" href="https://wedevs.com/dokan">Dokan</a>.
277
- * <a target="_blank" href="https://www.wcvendors.com/">WC Vendors</a>.
278
- * <a target="_blank" href="https://wc-marketplace.com/">WC Marketplace</a>.
279
- * <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-multi-vendor/">YITH WooCommerce Multi-Vendor</a>.
280
- * <a target="_blank" href="https://wclovers.com/">WCFM Marketplace for WooCommerce</a>.
281
-
282
- **CUSTOM ATTRIBUTE (PRO FEATURE)**
283
-
284
- If you have added any custom attribute field to your product, you will get the product attribute list fields while creating a feed to assign your product's custom field value to your channel attribute.
285
-
286
- **CUSTOM FIELDS - ACF,FIELD FACTORY,ETC. (PRO FEATURE)**
287
-
288
- This plugin supports the <a target="_blank" href="https://wordpress.org/plugins/advanced-custom-fields/">Advanced Custom Field (ACF)</a> or any custom field plugin’s fields as attribute values. You can assign your custom product attribute values to any feed attribute.
289
-
290
- **PRODUCT META & TAXONOMIES (PRO FEATURE)**
291
-
292
- Product meta and taxonomies are very common, but what if you wanted to add them with your product feeds too? You can add any product taxonomies or any product meta value added by WooCommerce or any WooCommerce extension plugins into your product feeds with our support for the custom taxonomies and meta. Easily add product information like brand name, model number, and size.
293
-
294
- **AVAILABLE FEATURES:**
295
-
296
- * Unlimited number of products.
297
- * Unlimited number of feeds.
298
- * It is highly customizable, having access to 100+ merchant sites & also very responsive of user commands.
299
- * 100+ Pre configured merchant template for 200+ countries.
300
- * Feeds are accessible via HTTP or HTTPS. So that merchant can easily and automatically fetch product feed from given Feed URL.
301
- * You can post your product feeds either manually from your site to shopping engines
302
- or you can also set FTP to post your feeds automatically to your desired engines.
303
- * There are 3 supported file formats for feeds. XML, TXT, CSV.
304
- * Attribute Prefix and Suffix. You can easily add Marketing or Promo Text with Product Title, Description And its also possible to add Price symbol,currency code with price.
305
- * Output formatting using Strip Tags, UTF-8 encode, Remove Space, CDATA, Htmlentities, Price and Number format.
306
- * Output Limitation. You can Limit output length according to your merchant feed specification.
307
- * Scheduled Feed Update
308
- * Auto Feed upload via FTP
309
-
310
- **SUPPORTED CHANNELS:**
311
-
312
- * <a target="_blank" href="https://www.google.com/retail/merchant-center/">Google Shopping</a>
313
- * <a target="_blank" href="https://www.google.com/adwords/">Google AdWords</a>
314
- * <a target="_blank" href="https://developers.google.com/product-review-feeds/sample">Google Review Feed</a>
315
- * <a target="_blank" href="https://support.google.com/google-ads/answer/7166527?hl=en">Google Dynamic Search Ads</a>
316
- * <a target="_blank" href="https://support.google.com/merchants/answer/2906014?hl=en">Google Promotions Feed</a>
317
- * <a target="_blank" href="https://www.facebook.com/business/a/online-sales/dynamic-product-ads">Facebook Catalog Feed</a>
318
- * <a target="_blank" href="https://help.pinterest.com/en/business/article/data-source-specification">Pinterest Catalog Feed</a>
319
- * <a target="_blank" href="https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs">Pinterest RSS Feed</a>
320
- * <a target="_blank" href="https://feedonomics.com/blog/local-inventory-ads-on-microsoft-advertising-aka-bing-ads/">Bing Local Inventory Feed</a>
321
- * <a target="_blank" href="https://advertising.amazon.com/">Amazon Seller Ad</a>
322
- * <a target="_blank" href="http://www.ebaycommercenetwork.com/">eBay Commerce Network</a>
323
- * <a target="_blank" href="http://www.nextag.com/">NexTag.com</a>
324
- * <a target="_blank" href="http://www.pricegrabber.com/">PriceGrabber.com </a>
325
- * <a target="_blank" href="https://www.kelkoo.com/">Kelkoo.com</a>
326
- * <a target="_blank" href="http://www.houzz.com/">Houzz.com</a>
327
- * <a target="_blank" href="http://www.dealtime.com">Dealtime.com</a>
328
- * <a target="_blank" href="http://www.affiliatewindow.com/uk/">Affiliatewindow.com</a>
329
- * <a target="_blank" href="http://advertise.bingads.microsoft.com/en-uk/home">Bing Ads</a>
330
- * <a target="_blank" href="http://www.idealo.de/">Idealo.de</a>
331
- * <a target="_blank" href="https://www.beslist.nl/">Beslist.nl</a>
332
- * <a target="_blank" href="https://www.ffshoppen.nl/">ffshoppen.nl</a>
333
- * <a target="_blank" href="https://www.vergelijk.nl/">vergelijk.nl</a>
334
- * <a target="_blank" href="https://siroop.ch/">siroop.ch</a>
335
- * <a target="_blank" href="https://jet.com/">Jet.com</a>
336
- * <a target="_blank" href="https://www.wish.com/">Wish.com</a>
337
- * <a target="_blank" href="http://www.bizrate.com/">bizrate.com</a>
338
- * <a target="_blank" href="http://www.shopping.com/">Shopping.com</a>
339
- * <a target="_blank" href="http://www.shopzilla.com/">Shopzilla.com</a>
340
- * <a target="_blank" href="http://www.shopmania.com/">ShopMania.com</a>
341
- * <a target="_blank" href="http://www.shop.com/">Shop.com</a>
342
- * <a target="_blank" href="https://pricespy.co.uk/">PriceSpy.co.uk</a>
343
- * <a target="_blank" href="https://www.prisjakt.nu/">Prisjakt.nu</a>
344
- * <a target="_blank" href="https://www.pricefalls.com/">Pricefalls.com</a>
345
- * <a target="_blank" href="http://www.pricerunner.co.uk/">Pricerunner.co.uk</a>
346
- * <a target="_blank" href="http://www.cj.com/">Comission Junction (cj.com)</a>
347
- * <a target="_blank" href="http://www.polyvore.com/">Polyvore.com</a>
348
- * <a target="_blank" href="https://www.fruugo.com/">Fruugo.com</a>
349
- * <a target="_blank" href="https://www.fruugoaustralia.com/">Fruugoaustralia.com</a>
350
- * <a target="_blank" href="http://opensky.com">Opensky.com</a>
351
- * <a target="_blank" href="http://11Main.com">11Main.com</a>
352
- * <a target="_blank" href="http://www.shopbot.ca/">Shopbot.ca</a>
353
- * <a target="_blank" href="http://www.twenga.com/">Twenga.com/</a>
354
- * <a target="_blank" href="http://www.wine-searcher.com/">Wine-searcher.com</a>
355
- * <a target="_blank" href="http://ammoseek.com/">Ammoseek.com</a>
356
- * <a target="_blank" href="http://www.avantlink.com/">Avantlink.com</a>
357
- * <a target="_blank" href="http://connexity.com/">Connexity.com</a>
358
- * <a target="_blank" href="http://www.linkshareuk.com/">Linkshareuk.com</a>
359
- * <a target="_blank" href="http://www.bonanza.com/">Bonanza.com</a>
360
- * <a target="_blank" href="https://www.pepperjam.com/">Pepperjam.com</a>
361
- * <a target="_blank" href="http://www.criteo.com/">Criteo.com</a>
362
- * <a target="_blank" href="https://www.pixlee.com/">Pixlee.com</a>
363
- * <a target="_blank" href="https://www.adroll.com">Adroll.com</a>
364
- * <a target="_blank" href="http://www.graziashop.com/">GraziaShop.com</a>
365
- * <a target="_blank" href="http://www.leguide.com/">Leguide.com</a>
366
- * <a target="_blank" href="http://nl.hardware.info/">Hardware.info</a>
367
- * <a target="_blank" href="http://www.pricewatch.com/">Pricewatch.com</a>
368
- * <a target="_blank" href="http://www.newegg.com/">Newegg.com</a>
369
- * <a target="_blank" href="http://www.webgains.com/">Webgains.com</a>
370
- * <a target="_blank" href="http://www.rakuten.com/">Rakuten.com</a>
371
- * <a target="_blank" href="https://www.quicksales.com.au/">Quicksales.com.au</a>
372
- * <a target="_blank" href="http://www.mysmartprice.com/">Mysmartprice.com</a>
373
- * <a target="_blank" href="http://ae.pricena.com/en/">Pricena.com</a>
374
- * <a target="_blank" href="http://www.pricejugaad.com/">Pricejugaad.com</a>
375
- * <a target="_blank" href="https://yaoota.com/en-eg/">Yaoota.com</a>
376
- * <a target="_blank" href="https://compare.buyhatke.com/">Buyhatke.com</a>
377
- * <a target="_blank" href="https://www.comparekaro.pk/">Comparekaro.pk</a>
378
- * <a target="_blank" href="http://site.adform.com">Adform.com</a>
379
- * <a target="_blank" href="https://www.polyvore.com/">Polyvore.com</a>
380
- * <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
381
- * <a target="_blank" href="https://www.spartoo.co.uk/">Spartoo.co.uk</a>
382
- * <a target="_blank" href="https://shopee.com/">Shopee</a>
383
- * <a target="_blank" href="http://www.choozen.co.uk/">Choozen</a>
384
- * <a target="_blank" href="https://www.ciao.co.uk/">Ciao</a>
385
- * <a target="_blank" href="http://www.priceminister.com/">PriceMinister.com</a>
386
- * <a target="_blank" href="https://skinflint.co.uk/">Skinflint</a>
387
- * <a target="_blank" href="https://www.rakuten.com/">Rakuten</a>
388
- * <a target="_blank" href="https://www.etsy.com/">Etsy</a>
389
- * <a target="_blank" href="https://www.bol.com/nl/index.html">Bol.com</a>
390
- * <a target="_blank" href="https://www.crowdfox.com/">CrowdFox.com</a>
391
- * <a target="_blank" href="https://www.real.de/">Real.de</a>
392
- * <a target="_blank" href="http://incurvy.co.uk/">Incurvy.co.uk</a>
393
- * <a target="_blank" href="https://de.allyouneed.com/de/">Allyouneed.com</a>
394
- * <a target="_blank" href="https://www.apomio.de/">Apomio.de</a>
395
- * <a target="_blank" href="https://www.billiger.de/">Billiger.de</a>
396
- * <a target="_blank" href="https://www.domodi.de/">Domodi.de</a>
397
- * <a target="_blank" href="https://www.fashiola.de/">Fashiola.de</a>
398
- * <a target="_blank" href="https://geizhals.de/">Geizhals.de</a>
399
- * <a target="_blank" href="http://www.guenstiger.de/">Guenstiger.de</a>
400
- * <a target="_blank" href="https://www.hood.de/">Hood.de</a>
401
- * <a target="_blank" href="https://www.ladenzeile.de/">Ladenzeile.de</a>
402
- * <a target="_blank" href="https://www.livingo.de/">Livingo.de</a>
403
- * <a target="_blank" href="https://www.medizinfuchs.de/">Medizinfuchs.de</a>
404
- * <a target="_blank" href="https://www.moebel.de/">Moebel.de</a>
405
- * <a target="_blank" href="https://www.mybestbrands.de/">Mybestbrands.de</a>
406
- * <a target="_blank" href="http://www.preis.de/">Preis.de</a>
407
- * <a target="_blank" href="https://www.restposten.de/">Restposten.de</a>
408
- * <a target="_blank" href="https://www.sparmedo.de/">Sparmedo.de</a>
409
- * <a target="_blank" href="https://www.stylelounge.de/">Stylelounge.de</a>
410
- * <a target="_blank" href="http://www.stylefruits.de/">Stylefruits.de</a>
411
- * <a target="_blank" href="https://www.marktplaats.nl/">Marktplaats.nl</a>
412
- * <a target="_blank" href="http://spartoo.nl/">Spartoo.nl</a>
413
- * <a target="_blank" href="https://www.ooshopping.nl/">Ooshopping.nl</a>
414
- * <a target="_blank" href="https://www.vergelijk.nl/">Vergelijk.nl</a>
415
- * <a target="_blank" href="https://www.kieskeurig.nl/">Kieskeurig.nl</a>
416
- * <a target="_blank" href="https://tweakers.net/">Tweakers.net</a>
417
- * <a target="_blank" href="https://www.kleding.nl/">Kleding.nl</a>
418
- * <a target="_blank" href="https://www.shopalike.it/">Shopalike.it</a>
419
- * <a target="_blank" href="https://www.trovaprezzi.it/">Trovaprezzi.it</a>
420
- * <a target="_blank" href="https://www.skroutz.gr/">Skroutz.gr</a>
421
- * <a target="_blank" href="https://www.manomano.fr/">Manomano.fr</a>
422
- * <a target="_blank" href="https://www.cdiscount.com/">Cdiscount.com</a>
423
- * <a target="_blank" href="https://www.fnac.com/">Fnac.com</a>
424
- * <a target="_blank" href="https://www.comparer.be/">Comparer.be</a>
425
- * <a target="_blank" href="https://www.cherchons.com/">Cherchons.com</a>
426
- * <a target="_blank" href="http://www.miinto.com/">Miinto.com</a>
427
- * <a target="_blank" href="https://www.ricardo.ch/">Ricardo.ch</a>
428
- * <a target="_blank" href="https://www.kauftipp.ch/">Kauftipp.ch</a>
429
- * <a target="_blank" href="https://zap.co.il/">Zap.co.il</a>
430
- * <a target="_blank" href="https://www.zalando.com/">Zalando</a>
431
- * <a target="_blank" href="https://smartly.io/">Smartly.io</a>
432
- * <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
433
- * <a target="_blank" href="https://developer.yahoo.com/nativeandsearch/guide/dynamic-product-ads/operations-dpa/">Yahoo Dynamic Product Ads</a>
434
- * <a target="_blank" href="https://www.thenextad.com/">TheNextAd.com</a>
435
- * <a target="_blank" href="https://modina.de/">Modina.de</a>
436
- * <a target="_blank" href="https://www.pametno.si/">Pametno.si</a>
437
- * <a target="_blank" href="http://nabava.net/">Nabava.net</a>
438
- * <a target="_blank" href="http://pametno.rs/">Pametno.rs</a>
439
- * <a target="_blank" href="https://rakutenadvertising.com/product-feed-specification/">Rakuten.de</a>
440
- * <a target="_blank" href="https://www.modalova.fr/">Modalova</a>
441
- * <a target="_blank" href="https://www.wine-searcher.com/">Wine Searcher</a>
442
- * <a target="_blank" href="https://www.goedgeplaatst.nl/">Goedgeplaatst.nl</a>
443
- * <a target="_blank" href="https://businesshelp.snapchat.com/s/article/product-catalog-specs?language=en_US">Snapchat template</a>
444
- * <a target="_blank" href="https://www.fashionchick.nl/">Fashionchick.nl</a>
445
- * <a target="_blank" href="https://www.catch.com.au/">Catch.com.au</a>
446
- * <a target="_blank" href="https://www.zbozi.cz/">Zbozi.cz</a>
447
- * <a target="_blank" href="https://www.heureka.cz/">Heureka.cz</a>
448
- * <a target="_blank" href="https://support.profitshare.ro/hc/ro/articles/211436229-Importul-produselor-prin-CSV">Profitshare template</a>
449
-
450
-
451
- **CUSTOMER SUPPORT TEAM**
452
-
453
- We’ve a dedicated team of coders and wordpress experts to make your journey to us friendlier & error free. So, if you want to use our plugin or if you are facing any problem with our plugin feel free to say us by emailing here: support@webappick.com.
454
-
455
- == Installation ==
456
-
457
- Before installing the plugin please make sure that
458
-
459
- 1. Your php version is 5.4 or greater
460
- 1. WordPress version is 3.6 or greater
461
- 1. WooCommerce version is 2.4 or greater
462
-
463
- You can also check your system status and versions from WooCommerce > System Status
464
-
465
- This section describes how to install the plugin and get it working.
466
-
467
- e.g.
468
-
469
- 1. Upload `webappick-product-feed-for-woocommerce` folder to the `/wp-content/plugins/` directory
470
- 1. Activate the plugin through the 'Plugins' menu in WordPress
471
- 1. Select 'CTX Feed' from admin menu, Click 'Make Feed'
472
- 1. Select the template and make feed
473
- 1. Done!
474
-
475
- == Frequently Asked Questions ==
476
-
477
- <blockquote>
478
- <h4>Read <a target="_blank" href="https://webappick.com/docs/woo-feed/">Documentation and FAQ</a></h4>
479
- <br/>
480
- <h4>For Support Email to support@webappick.com</h4>
481
- <br/>
482
- </blockquote>
483
-
484
- = which shopping engines are supported? =
485
-
486
- This plugin support all the sopping engines.
487
-
488
- = Does the plugin support product variation? =
489
-
490
- Yes
491
-
492
- = Is there any limitation to feed size? =
493
-
494
- No, You can make unlimited number of feed
495
-
496
- = What is the difference between Free and Pro Version? =
497
-
498
- Free version include all the major functions but Pro version have some awesome functionality.
499
-
500
- Using pro version:
501
-
502
- * You can filter product using price, quantity, product name
503
-
504
- * You can use custom taxonomies or other plugins taxonomy value into feed
505
-
506
- * Using Category Mapping You can map your store category with your merchant category which is very useful for visitor to find out your product into merchant site.
507
-
508
- * You can make different price for different merchant using Dynamic Attribute. Also it is possible to set different value for different product using Dynamic Attribute Conditions.
509
-
510
- == Screenshots ==
511
-
512
- 1. Manage Feed
513
- 2. Make Feed
514
- 3. Output Types
515
- 4. Category Mapping
516
-
517
- == Changelog ==
518
-
519
- = 4.4.12 (2021-07-05) =
520
- * Fixed: Google empty Category issue fixed.
521
-
522
- = 4.4.11 (2021-07-02) =
523
- * Added: Shipping handling time and transit time attributes added.
524
- * Fixed: Variations can't be dragged separately issue has been fixed.
525
-
526
- = 4.4.10 (2021-07-01) =
527
- * Fixed: Gtin identifiers with attribute addition.
528
-
529
- = 4.4.9 (2021-06-30) =
530
- * Fixed: Gtin missing issue has been fixed.
531
- * Fixed: Availability attribute value should return 0 when out of stock product quantity is empty.
532
-
533
- = 4.4.8 (2021-06-29) =
534
- * Fixed: Google Shipping attribute not adding to CSV Feed has been solved.
535
-
536
- = 4.4.7 (2021-06-28) =
537
- * Fixed: Extra identifier image attribute removed, additional image attribute should be used instead.
538
-
539
- = 4.4.6 (2021-06-24) =
540
- * Added: Rank math GTIN attribute has been added.
541
-
542
- = 4.4.5 (2021-06-23) =
543
- * Added: Log file download feature has been added.
544
-
545
- = 4.4.4 (2021-06-22) =
546
- * Added: Yoast identifier attributes has been added.
547
- * Added: Yoast WooCommerce SEO plugin compatibility added.
548
-
549
- = 4.4.3 (2021-06-21) =
550
- * Fixed: Minor warning fixed.
551
- * Fixed: Latest video tutorial link at readme.
552
-
553
- = 4.4.2 (2021-06-20) =
554
- * Fixed: Shipping cost empty instead of 0 for free shipping, issue has been fixed.
555
- * Fixed: Warning about get_class object has been fixed.
556
-
557
- = 4.4.1 (2021-06-17) =
558
- * Fixed: Code enhancement and junk cleaned.
559
- * Fixed: Performance improved.
560
-
561
- = 4.4.0 (2021-06-16) =
562
- * Added: Google installment attributes added.
563
- * Added: Unit price attributes added.
564
-
565
- = 4.3.101 (2021-06-16) =
566
- * Tweak: Added filter for schema description.
567
- * Fixed: Upgrade compatibility for identifier issue fixed.
568
-
569
- = 4.3.100 (2021-06-14) =
570
- * Fixed: Condition attribute default value missing for Google and Facebook template has been fixed.
571
- * Fixed: Variation input broken design fixed.
572
- * Fixed: Variation meta issue for identifier fixed.
573
-
574
- = 4.3.99 (2021-06-13) =
575
- * Fixed: Identifier values missing issue fixed.
576
-
577
- = 4.3.98 (2021-06-10) =
578
- * Fixed: Identifier for variation not working issue fixed.
579
-
580
- = 4.3.97 (2021-06-10) =
581
- * Fixed: Identifier attributes missing in the dropdown issue fixed.
582
-
583
- = 4.3.96 (2021-06-09) =
584
- * Fixed: Vendor store name attribute.
585
-
586
- = 4.3.95 (2021-06-09) =
587
- * Fixed: Brand value as wp error issue has been fixed.
588
-
589
- = 4.3.94 (2021-06-08) =
590
- * Added: Custom fields settings has been added to setting page.
591
-
592
- = 4.3.93 (2021-06-07) =
593
- * Fixed: Code Enhancement.
594
- * Fixed: Junk Cleaned.
595
-
596
- = 4.3.92 (2021-06-03) =
597
- * Fixed: Facebook description issue for description attribute has been fixed.
598
-
599
- = 4.3.91 (2021-06-02) =
600
- * Fixed: Review template not getting all the reviews issue has been fixed.
601
-
602
- = 4.3.90 (2021-05-31) =
603
- * Fixed: Facebook description issue for description html attribute fixed.
604
-
605
- = 4.3.89 (2021-05-27) =
606
- * Fixed: Set woocommerce default country to new feed.
607
-
608
- = 4.3.88 (2021-05-26) =
609
- * Fixed: Brand taxonomy issue for quick edit fixed.
610
-
611
- = 4.3.87 (2021-05-23) =
612
- * Added: Filter hook added for auto update interval.
613
-
614
- = 4.3.86 (2021-05-20) =
615
- * Fixed: Google webitemid attribute output as g:webitemid.
616
-
617
- = 4.3.85 (2021-05-19) =
618
- * Added: Attribute field webitemid to google merchant.
619
-
620
- = 4.3.84 (2021-05-13) =
621
- * Fixed: Removed junk banner message.
622
-
623
- = 4.3.83 (2021-05-12) =
624
- * Added: Language URL slug for Translatepress plugin.
625
-
626
- = 4.3.82 (2021-05-10) =
627
- * Fixed: Status tab active issue fixed.
628
-
629
- = 4.3.81 (2021-05-07) =
630
- * Added: New attribute Product Description (with HTML) added. This attribute will return product description with HTML tags.
631
-
632
- = 4.3.80 (2021-05-06) =
633
- * Added: GoedGeplaatst.nl template default attributes added.
634
-
635
- = 4.3.79 (2021-05-04) =
636
- * Added: GoedGeplaatst.nl template has been added.
637
-
638
- = 4.3.78 (2021-05-03) =
639
- * Fixed: Global p tag style removed.
640
-
641
- = 4.3.77 (2021-04-29) =
642
- * Fixed: Yoast canonical link issue has been fixed.
643
-
644
- = 4.3.76 (2021-04-27) =
645
- * Fixed: Output Type auto select issue fixed.
646
-
647
- = 4.3.75 (2021-04-27) =
648
- * Fixed: Junk cleaned.
649
- * Fixed: Performance enhancement.
650
-
651
- = 4.3.74 (2021-04-25) =
652
- * Fixed: Output type auto select issue fixed.
653
-
654
- = 4.3.73 (2021-04-23) =
655
- * Fixed: Google shipping price issue fixed.
656
-
657
- = 4.3.72 (2021-04-22) =
658
- * Fixed: Output type updated, removed date format.
659
-
660
- = 4.3.71 (2021-04-20) =
661
- * Fixed: Google prefix was missing for shipping sub attributes, issue has been fixed.
662
-
663
- = 4.3.70 (2021-04-20) =
664
- * Fixed: Custom template adding CDATA issue has been fixed.
665
-
666
- = 4.3.69 (2021-04-18) =
667
- * Fixed: CDATA issue has been fixed.
668
- * Fixed: FTP setting description updated.
669
-
670
- = 4.3.68 (2021-04-15) =
671
- * Fixed: WP_POST as string fatal error has been solved.
672
-
673
- = 4.3.67 (2021-04-14) =
674
- * Added: FTP enable/disable option has been added.
675
-
676
- = 4.3.66 (2021-04-13) =
677
- * Fixed: Brand by ctx feed missing in the dropdown issue has been fixed.
678
-
679
- = 4.3.65 (2021-04-12) =
680
- * Fixed: Improved performance.
681
- * Fixed: Code enhancement and Junk cleaned.
682
-
683
- = 4.3.64 (2021-04-11) =
684
- * Fixed: Free shipping contains price issue has been solved.
685
-
686
- = 4.3.63 (2021-04-08) =
687
- * Added: Ratings in the review template has been added.
688
-
689
- = 4.3.62 (2021-04-07) =
690
- * Fixed: Performance Enhancement.
691
- * Fixed: Junk Cleaned.
692
-
693
- = 4.3.61 (2021-04-06) =
694
- * Added: Google product review template has been added - (beta test).
695
- * Fixed: PHP Warning: min() lowest shipping price issue fixed.
696
-
697
- = 4.3.60 (2021-04-04) =
698
- * Added: Compatibility for Pricing Deals for WooCommerce by Vark.
699
-
700
- = 4.3.59 (2021-04-02) =
701
- * Tweak: Custom Template without cdata and XML UTF-8 encoding for XML element string.
702
-
703
- = 4.3.58 (2021-04-01) =
704
- * Fixed: Conflict with XT WooCommerce Variation Swatches plugin has been solved.
705
-
706
- = 4.3.57 (2021-03-31) =
707
- * Fixed: TAB delimiter missing issue solved.
708
- * Fixed: FeedType change make wrong delimiter selected issue has been solved.
709
-
710
- = 4.3.56 (2021-03-29) =
711
- * Added: Compatibility for Discount Plugin by Orion has been added.
712
-
713
- = 4.3.55 (2021-03-28) =
714
- * Added: Addtocart in cart & product page added and removed ajax addtocart event.
715
-
716
- = 4.3.54 (2021-03-25) =
717
- * Added: Compatibility for Dynamic Pricing With Discount Rules by Acowebs.
718
- * Fixed: Pattern label updated.
719
-
720
- = 4.3.53 (2021-03-24) =
721
- * Added: Custom fields feature, custom fields should be found in the dropdown list.
722
- * Added: Taxonomies feature, taxonomies should be found in the dropdown list.
723
-
724
- = 4.3.52 (2021-03-22) =
725
- * Added: Compatibility for Discount Rules for WooCommerce by Flycart.
726
-
727
- = 4.3.51 (2021-03-18) =
728
- * Fixed: Onchange feedType to csv and txt, delimiter and enclosure doesn't show is solved.
729
-
730
- = 4.3.50 (2021-03-17) =
731
- * Tweak: WordPress 5.7 compatibility tested.
732
- * Fixed: Bundled product not appearing issue solved.
733
- * Fixed: Undefined current_price issue solved.
734
-
735
- = 4.3.49 (2021-03-16) =
736
- * Added: Compatibility for WooCommerce Bundled Products by Iconic.
737
-
738
- = 4.3.48 (2021-03-15) =
739
- * Fixed: PHP 7.4+ compatibility tested.
740
- * Fixed: Temporary codes removed.
741
-
742
- = 4.3.47 (2021-03-14) =
743
- * Added: Product full category path attribute added.
744
- * Fixed: Product local category label updated to product category.
745
-
746
- = 4.3.46 (2021-03-11) =
747
- * Fixed: Facebook pixel issue solved.
748
-
749
- = 4.3.45 (2021-03-10) =
750
- * Fixed: Modify modalova template attributes.
751
-
752
- = 4.3.44 (2021-03-09) =
753
- * Added: Modalova template added.
754
-
755
- = 4.3.43 (2021-03-08) =
756
- * Tweak: Enhancement performance.
757
- * Fixed: Cleaned junk files.
758
-
759
- = 4.3.42 (2021-03-07) =
760
- * Fixed: Undefined index feed_country issue has been solved.
761
-
762
- = 4.3.41 (2021-03-03) =
763
- * Tweak: Tested WordPress 5.7 compatibility.
764
-
765
- = 4.3.40 (2021-03-03) =
766
- * Tweak: WC_Query as default product feed query.
767
- * Fixed: Feed attribute change issue fixed.
768
-
769
- = 4.3.39 (2021-03-02) =
770
- * Added: Added filter for all product attributes.
771
-
772
- = 4.3.38 (2021-02-28) =
773
- * Tweak: Rakuten.de template updated.
774
-
775
- = 4.3.37 (2021-02-25) =
776
- * Fixed: Status page product count issue fixed.
777
-
778
- = 4.3.36 (2021-02-24) =
779
- * Added: Additional images in google and facebook default attributes list has been added.
780
-
781
- = 4.3.35 (2021-02-22) =
782
- * Added: Click button to copy status in status page has been added.
783
-
784
- = 4.3.34 (2021-02-18) =
785
- * Added: Wine Searcher template added.
786
-
787
- = 4.3.33 (2021-02-17) =
788
- * Added: WP options feature added where wordpress built-in options can be set from the WP Options page and can be found in the product attribute dropdown list.
789
- * Added: Product custom attributes in product attribute dropdown list.
790
-
791
- = 4.3.32 (2021-02-16) =
792
- * Added: Auto exclude url addition for caching plugins.
793
-
794
- = 4.3.31 (2021-02-14) =
795
- * Added: Woo Feed to new name CTX Feed.
796
- * Added: Status page new look with all product counter.
797
-
798
- = 4.3.30 (2021-02-11) =
799
- * Added: WooCommerce latest version(5.0.0) compatibility.
800
- * Tweak: Updated doc links.
801
- * Tweak: Updated topbar links.
802
-
803
- = 4.3.29 (2021-02-10) =
804
- * Added: Open feed file button in edit feed page.
805
-
806
- = 4.3.28 (2021-02-07) =
807
- * Fixed: GTIN/MPN/EAN disabled hide inputs at edit product page.
808
-
809
- = 4.3.27 (2021-02-03) =
810
- * Fixed: Input request issues fixed.
811
-
812
- = 4.3.26 (2021-02-03) =
813
- * Added: WooCommerce latest version(4.9) compatibility.
814
- * Fixed: Performance enhancement.
815
- * Fixed: Junk cleaned.
816
-
817
- = 4.3.25 (2021-02-01) =
818
- * Added: Date format in output type.
819
-
820
- = 4.3.23 (2021-01-28) =
821
- * Fixed: Class Woo_Feed_Log_Handler_File not exist solved.
822
-
823
- = 4.3.22 (2021-01-26) =
824
- * Added: Snapchat template added.
825
-
826
- = 4.3.21 (2021-01-21) =
827
- * Added: Output type Rounded price added.
828
-
829
- = 4.3.20 (2021-01-19) =
830
- * Fixed: Idealo article number default attribute to product id.
831
-
832
- = 4.3.19 (2021-01-18) =
833
- * Fixed: Uncaught error get_title issue solved.
834
-
835
- = 4.3.18 (2021-01-12) =
836
- * Tweak: Removing cache during plugin deactivation.
837
- * Tweak: Attribute positioning for yoast, rankmath, all in one seo plugin.
838
-
839
- = 4.3.17 (2021-01-11) =
840
- * Fixed: Google local and inventory g prefix issue solved.
841
- * Fixed: Edit page file type change issue solved.
842
- * Tweak: Idealo shipping_cost value as default.
843
-
844
- = 4.3.16 (2021-01-10) =
845
- * Added: Dynamic shipping and tax for Google, Facebook, Pinterest, Snapchat feed.
846
- * Added: Shipping cost attributes.
847
-
848
- = 4.3.15 (2020-12-29) =
849
- * Fixed: Facebook pixel event issue solved.
850
-
851
- = 4.3.14 (2020-12-28) =
852
- * Fixed: Edit page file type issue.
853
- * Fixed: Facebook pixel price fatal error.
854
-
855
- = 4.3.13 (2020-12-27) =
856
- * Added: Parent Title, Parent URL, Add to cart link, SKU Id attribute.
857
- * Fixed: Category exclude issue solved.
858
-
859
- = 4.3.12 (2020-12-24) =
860
- * Added: Debug feed file form in status page.
861
- * Fixed: Image url fatal error solved.
862
- * Fixed: Uncaught WC_Logger class error solved.
863
- * Fixed: Fixed product ID error issue.
864
-
865
- = 4.3.11 (2020-12-23) =
866
- * Added: Google shipping, identifier, tax attribute rule.
867
- * Added: Bing shipping, identifier, tax attribute rule.
868
- * Added: Pinterest ads_link attribute.
869
-
870
- = 4.3.10 (2020-12-22) =
871
- * Fixed: Brand disable/enable option.
872
-
873
- = 4.3.9 (2020-12-20) =
874
- * Added: Google Dynamic Search Ads Template.
875
- * Added: Pinterest RSS board feed template.
876
- * Fixed: Product list table breaking issue
877
- * Fixed: Complete registration missing parameters for facebook pixel.
878
-
879
- = 4.3.8 (2020-12-19) =
880
- * Added : Google Promotions Template.
881
- * Added : Bing Local Inventory Template.
882
- * Added : Facebook Pixel event tracking.
883
-
884
- = 4.3.7 (2020-12-15) =
885
- * Tweak : Bing template attributes managed.
886
-
887
- = 4.3.6 (2020-12-14) =
888
- * Tweak : Google local inventory ads attributes managed.
889
- * Tweak : Google local product inventory attributes managed.
890
- * Tweak : Facebook attributes source updated.
891
-
892
- = 4.3.5 (2020-12-13) =
893
- * Tweak : Canonical link as default attribute for google.
894
-
895
- = 4.3.4 (2020-12-10) =
896
- * Fix : Variation products attribute as parent not coming solved.
897
- * Tweak : Switch and update buttons new look.
898
-
899
- = 4.3.3 (2020-12-09) =
900
- * Fix : Import popup causes broken design solved.
901
-
902
- = 4.3.2 (2020-12-08) =
903
- * Tweak : Idealo delivery time, shopping cost comment updated.
904
- * Fix : Jquery load function undefined issue solved.
905
-
906
- = 4.3.1 (2020-12-03) =
907
- * Tweak : Import file popup new look.
908
- * Tweak : Bulk apply button new look.
909
-
910
- = 4.3.0 (2020-12-02) =
911
- * Fixed : PHP older version undefined aray_key_first solved.
912
-
913
- = 4.2.9 (2020-11-29) =
914
- * Added : Fashionchick.nl template.
915
-
916
- = 4.2.8 (2020-11-26) =
917
- * Added : Catch.com.au template.
918
-
919
- = 4.2.7 (2020-11-25) =
920
- * Added : Status page.
921
- * Added : Top black banner.
922
-
923
- = 4.2.6 (2020-11-24) =
924
- * Version bump : Checked compatibility with WordPress 5.6.
925
- * Version bump : Checked compatibility with WooCommerce 4.7.
926
-
927
- = 4.2.5 (2020-11-23) =
928
- * Added : Canonical URL in feed for rank math seo plugin.
929
-
930
- = 4.2.4 (2020-11-22) =
931
- * Added : Rank Math SEO plugin support.
932
-
933
- = 4.2.2 (2020-11-19) =
934
- * Tweak : Performance enhancement.
935
- * Fix: Spacing issue solved.
936
-
937
- = 4.2.1 (2020-11-18) =
938
- * Fix: Local template attribute for google.
939
- * Fix: Local inventory template attribute for google.
940
-
941
- = 4.2.0 (2020-11-16) =
942
- * Tweak: Update interval button new look.
943
- * Tweak: Clear cache button new look.
944
-
945
- = 4.1.9 (2020-11-15) =
946
- * Tweak: Local product inventory template updated.
947
- * Fix: Local product csv template.
948
-
949
- = 4.1.8 (2020-11-11) =
950
- * Tweak: Striping title, description, short description.
951
- * Fix: Fatal error for saveCSVFile.
952
-
953
- = 4.1.7 (2020-11-11) =
954
- * Added: TSV file support.
955
- * Added: XLS file support.
956
-
957
- = 4.1.6 (2020-11-09) =
958
- * Tweak: Google local template update.
959
-
960
- = 4.1.5 (2020-11-08) =
961
- * Fix: Bing template as txt format.
962
-
963
- = 4.1.4 (2020-11-05) =
964
- * Fix: Unslush link solved.
965
- * Fix: Removed whitespaces.
966
-
967
- = 4.1.3 (2020-11-03) =
968
- * Tweak: Google shopping action feed structure.
969
-
970
- = 4.1.2 (2020-11-01) =
971
- * Fix: Code enhancement.
972
- * Tweak: Performance increased.
973
-
974
- = 4.1.1 (2020-10-29) =
975
- * Tweak: Progressbar new look.
976
-
977
- = 4.1.0 (2020-10-26) =
978
- * Fix: Switcher activation issue.
979
-
980
- = 4.0.9 (2020-10-22) =
981
- * Fix: Helper functions error solved.
982
- * Tweak: Performance enhancement.
983
-
984
- = 4.0.8 (2020-10-21) =
985
- * Fix: Bing shipping default value from shipping class.
986
-
987
- = 4.0.7 (2020-10-20) =
988
- * Fix: Bing template as csv format.
989
-
990
- = 4.0.6 (2020-10-18) =
991
- * Fix: Admin and translation bug fixed.
992
-
993
- = 4.0.5 (2020-10-15) =
994
- * Tweak: Admin action link style updated.
995
-
996
- = 4.0.4 (2020-10-14) =
997
- * Fix: Performance enhancement.
998
- * Fix: Admin page code refactor.
999
-
1000
- = 4.0.3 (2020-10-13) =
1001
- * Tweak: Make feed button new look.
1002
-
1003
- = 4.0.1 (2020-10-12) =
1004
- * Fix: Edit page fatal error.
1005
-
1006
- = 4.0.0 (2020-10-11) =
1007
- * Fix: Code Refactor.
1008
-
1009
- = 3.9.9 (2020-10-08) =
1010
- * Added: Zbozi.cz template.
1011
- * Tweak: Documentation link updated.
1012
-
1013
- = 3.9.7 (2020-10-08) =
1014
- * Fix: item wrapper input not showing in edit page.
1015
-
1016
- = 3.9.6 (2020-10-07) =
1017
- * Tweak: Heureka and Moebel missing files added.
1018
-
1019
- = 3.9.5 (2020-10-06) =
1020
- * Tweak: Feed list table new look.
1021
-
1022
- = 3.9.3 (2020-10-05) =
1023
- * Tweak: Feed switch new design.
1024
- * Added: Plugin version in feed list.
1025
-
1026
- = 3.9.2 (2020-10-04) =
1027
- * Tweak: Feed list topbar new look.
1028
-
1029
- = 3.9.1 (2020-10-01) =
1030
- * Added: Plugin version in setting page.
1031
-
1032
- = 3.9.0 (2020-09-30) =
1033
- * Added: The Moebel.de template.
1034
-
1035
- = 3.8.9 (2020-09-29) =
1036
- * Added: The Heureka Slovakia template.
1037
-
1038
- = 3.8.7 (2020-09-28) =
1039
- * Added: `Child Category` and `Child Category id` option to feed.
1040
- * Tweak: Profit share template new structure.
1041
-
1042
- = 3.8.6 (2020-09-27) =
1043
- * Tweak: Action button's label styling.
1044
-
1045
- = 3.8.5 (2020-09-24) =
1046
- * Added: Clear cache button to feed pages.
1047
-
1048
- = 3.8.3 (2020-09-23) =
1049
- * Fix: Cron scheduled back date issue.
1050
-
1051
- = 3.8.1 (2020-09-22) =
1052
- * Tweak: Added `WPC product bundles` plugin support.
1053
-
1054
- = 3.8.0 (2020-09-21) =
1055
- * Fix: remove visual composer old short codes.
1056
- * Tweak: short product ids in descending order into feed.
1057
-
1058
- = 3.7.20 (2020-09-17) =
1059
- * Fix: availability will return `preorder` for on backorder into Google Merchant and Pinterest template.
1060
- * Fix: availability will return `available for order` for on backorder into Facebook template.
1061
-
1062
- = 3.7.19 (2020-09-16) =
1063
- * Tweak: itemid renamed to id for google local product inventory template.
1064
-
1065
- = 3.7.18 (2020-09-15) =
1066
- * Tweak: Strip old Visual Composer shortcodes from product description.
1067
- * Tweak: Setting page save button alignment fix.
1068
-
1069
- = 3.7.17 (2020-09-14) =
1070
- * Tweak: Feed last updated time will show wordpress local time.
1071
-
1072
- = 3.7.16 (2020-09-13) =
1073
- * Added: Custom fields for unique identifier (GTIN,MPN,EAN) added to product edit page.
1074
-
1075
- = 3.7.15 (2020-09-09) =
1076
- * Tweak: stock status on backorder will be returned as out of stock for Google Shopping, Facebook and Pinterest template.
1077
-
1078
- = 3.7.14 (2020-09-08) =
1079
- * Fix: Auto feed update not working issue fixed.
1080
-
1081
- = 3.7.13 (2020-09-05) =
1082
- * Fix: Feed file was renamed while feed name changing.
1083
-
1084
- = 3.7.12 (2020-09-03) =
1085
- * Added: ProfitShare template added.
1086
-
1087
- = 3.7.11 (2020-09-02) =
1088
- * Added: Individual scheduled events added for each feed.
1089
-
1090
- = 3.7.10 (2020-09-01) =
1091
- * Added: Parent Category Id attribute added.
1092
-
1093
- = 3.7.9 (2020-08-31) =
1094
- * Added: Facebook inventory attribute added to Facebook catalog template as default.
1095
-
1096
- = 3.7.8 (2020-08-28) =
1097
- * Added: Tweakers Pricewatch XML & CSV template added.
1098
-
1099
- = 3.7.7 (2020-08-26) =
1100
- * Fix: Multiple additional_image_link attribute missing on Google Shopping template for CSV & TXT feed.
1101
-
1102
- = 3.7.6 (2020-08-25) =
1103
- * Fix: XML Opening and Ending tag mismatch issue fixed.
1104
-
1105
- = 3.7.5 (2020-08-24) =
1106
- * Tweak: do_shortcode() function applied to product title to filter shortcodes through their hooks.
1107
-
1108
- = 3.7.4 (2020-08-22) =
1109
- * Fixed: Category mapping file missing issue fixed.
1110
-
1111
- = 3.7.3 (2020-08-22) =
1112
- * Added: Category mapping feature added. Option to map store category with merchant category
1113
-
1114
- = 3.7.2 (2020-08-20) =
1115
- * Fixed: g:additional_image_link attribute issue fixed.
1116
-
1117
- = 3.7.1 (2020-08-19) =
1118
- * Added: sale_price added as default into Google Shopping product feed template.
1119
- * Fix: shopping_ads_excluded_country structure fixed into Google Shopping product feed template.
1120
-
1121
- = 3.7.0 (2020-08-18) =
1122
- * Added: Below attributes are added to google shopping template.
1123
- * min_energy_​​efficiency_​​class
1124
- * max_energy_​​efficiency_​​class
1125
- * ads_​​redirect
1126
- * shopping_ads_excluded_country
1127
-
1128
-
1129
- = 3.6.20 (2020-08-17) =
1130
- * Added: canonical_link attribute added to google shopping template.
1131
-
1132
- = 3.6.19 (2020-08-17) =
1133
- * Tweak: WordPress 5.5 compatibility checked.
1134
- * Tweak: API Library updated.
1135
-
1136
- = 3.6.18 (2020-08-15) =
1137
- * Fix: Tax Class & Tax Status Product attribute added.
1138
-
1139
- = 3.6.17 (2020-08-13) =
1140
- * Fix: Product missing issue fixed.
1141
-
1142
- = 3.6.16 (2020-08-10) =
1143
- * Added: Google product_details attribute added to Google Shopping template.
1144
-
1145
- = 3.6.15 (2020-08-03) =
1146
- * Added: Google product highlight attribute added to Google Shopping template.
1147
-
1148
- = 3.6.14 (2020-07-25) =
1149
- * Added: Etsy template added.
1150
- * Tweak: Pricerunner stock status will return Yes or No instead of in stock or out of stock.
1151
-
1152
- = 3.6.13 (2020-07-20) =
1153
- * Added: Zalando template added.
1154
-
1155
- = 3.6.12 (2020-07-13) =
1156
- * Tweak: WC 4.3 compatibility checked.
1157
-
1158
- = 3.6.11 (2020-07-09) =
1159
- * Added: YITH Bundle Product compatibility added.
1160
-
1161
- = 3.6.10 (2020-06-30) =
1162
- * Added: Shopee template added.
1163
-
1164
- = 3.6.9 (2020-06-29) =
1165
- * Added: WooCommerce Bundle Product compatibility.
1166
-
1167
- = 3.6.8 (2020-06-24) =
1168
- * Added: Google Shopping subscription_cost attribute added.
1169
- * Added: Subscription amount attribute added for WooCommerce Subscription.
1170
-
1171
- = 3.6.7 (2020-06-23) =
1172
- * Added: Subscription period interval attribute added for WooCommerce Subscription.
1173
-
1174
- = 3.6.6 (2020-06-18) =
1175
- * Added: WooCommerce Subscription product compatibility added.
1176
-
1177
- = 3.6.5 (2020-06-13) =
1178
- * Added: FTP passive mode selection option added.
1179
-
1180
- = 3.6.4 (2020-06-03) =
1181
- * Fixed: Yoast SEO Title (manually added title) issue fixed.
1182
-
1183
- = 3.6.3 (2020-06-02) =
1184
- * Fixed: Yoast SEO Title issue fixed.
1185
-
1186
- = 3.6.2 (2020-06-02) =
1187
- * Fixed: DB query timeout issue fixed.
1188
-
1189
- = 3.6.1 (2020-05-28) =
1190
- * Fixed: Feed file rename issue fixed.
1191
-
1192
- = 3.6.0 (2020-05-27) =
1193
- * Added: new output types added to format attribute output.
1194
-
1195
- = 3.5.7 (2020-05-26) =
1196
- * Added: Bestprice template added.
1197
-
1198
- = 3.5.6 (2020-05-23) =
1199
- * Fix: Skroutz template items wrapper and availability issue fixed.
1200
- * Added: Dashboard widget.
1201
-
1202
- = 3.5.5 (2020-05-18) =
1203
- * Fix: Spartoo.fi Parent/Child attribute value now return child for variation and Parent for other product type instead of woocommerce product type.
1204
-
1205
- = 3.5.4 (2020-05-14) =
1206
- * Tweak: Plugin cache flashed after adding/updating a attribute.
1207
-
1208
- = 3.5.3 (2020-05-12) =
1209
- * Fix: Fruugo template NormalPriceWithoutVat attribute replaced with NormalPriceWithoutVAT
1210
-
1211
- = 3.5.2 (2020-04-28) =
1212
- * Fix: Tracking notice dismiss error fixed.
1213
- * Fix: Minor php error fixed.
1214
-
1215
- = 3.5.1 (2020-04-20) =
1216
- * Fix: Review notice dismiss error fixed.
1217
-
1218
- = 3.5.0 (2020-04-01) =
1219
- * Template: Google Shopping Action Template
1220
- * Template: Daisycon Feed Template (All 21 Standards)
1221
- * Fix: Custom Template XML issue fixed.
1222
- * Fix: Fixed PHPCS Recommended issue with proper coding standard and comments.
1223
- * Improvement: Move all inline JavaScripts to .js file
1224
- * Improvement: Caching with expiration and purge settings.
1225
- * Improvement: Refactor and removed deprecated codes.
1226
- * Improvement: JS & CSS Optimized. Minor UI Issues fixed.
1227
- * Improvement: Sort Template List (Merchant Dropdown)
1228
- * Feature: Debugging Option.
1229
- * Feature: Import Export Feed Config.
1230
- * Feature: Added Support for Main Category (With Support for Yoast SEO Primary Category).
1231
- * Feature: Add support for Google Category For Supporting Merchant.
1232
-
1233
- = 3.3.9 (2020-03-18) =
1234
- * Fix: Replace space character with underscore (`_`).
1235
- * Fix: Fix and optimize sortable table initialization.
1236
-
1237
- = 3.3.8 (2020-03-16) =
1238
- * Compatibility: Tested Upto WooCommerce 4.0
1239
- * Improve: Cleanup and minify assets (CSS & JS)
1240
- * Improve: Add nice ui dropdown for Output Type Select
1241
- * Fix: Return empty (previously returning zero) value if sale price is 0
1242
- * Fix: Support link on doc page
1243
- * Fix: Default Output type for price attribute on Google, Facebook and Pinterest feed
1244
-
1245
- = 3.3.4 (2020-03-10) =
1246
- * Template: Separate template for Trovaprezzi.it
1247
- * Fix: Dropdown on Facebook and Pinterest feed edit page.
1248
- * Cleanup: Remove unused files
1249
- * Improve: Performance improvement on merchant class
1250
- * Improve: Add filters and context parameter with feed rules parsing.
1251
-
1252
- = 3.3.3 (2020-03-04) =
1253
- * Feature: Campaign URL Builder
1254
- * Fix: Duplicate feed config on cron update.
1255
-
1256
- = 3.3.2 (2020-02-23) =
1257
- * Fix: Duplicate content in CSV feeds.
1258
-
1259
- = 3.3.1 (2020-02-20) =
1260
- * Fixed: function name conflict with Post SMTP plugin is solved
1261
-
1262
- = 3.3.0 (2020-02-17) =
1263
- * Improvement: Validate all source code using WPCS (PHPCS) to match WordPress coding standard.
1264
- * Improvement: Sanitization and Nonce checking.
1265
- * Performance: Implement WP Object Caching.
1266
- * Feature: new filter hook API for adding custom attribute.
1267
- * Fix: Tax calculation over cron job.
1268
-
1269
- = 3.2.19 (2020-02-13) =
1270
- * Fix JS not loading in all pages for hiding notices.
1271
-
1272
- = 3.2.18 (2020-02-12) =
1273
- * Fix User can't hide review and related notice.
1274
- * Fix Some WPCS Related Warnings
1275
- * Add ability to hide Product-Limit warning notice
1276
- * String translation update.
1277
-
1278
- = 3.2.17 (2020-02-09) =
1279
- * Fix Tax calculation based on store address.
1280
- * Localize JavaScript based Messages.
1281
-
1282
- = 3.2.16 (2020-02-02) =
1283
- * Tested upto current WordPress and WooCommerce
1284
- * PHPCS config added and tested for WPCS Issues
1285
- * Security Fix Using Nonce and sanitize User Inputs.
1286
- * Update Support URL
1287
-
1288
- = 3.2.15 (2020-01-23) =
1289
- * Fix undefined index in cron callback
1290
-
1291
- = 3.2.14 (2020-01-21) =
1292
- * Dynamic Selectize for Google Taxonomy Dropdown
1293
- * Fix Selectize UI
1294
- * Fix Contact Us Button
1295
- * Fix Menu Icon
1296
- * Fix php undefined index notice
1297
- * Improve Ajax Security
1298
-
1299
- = 3.2.13 (2020-01-16) =
1300
- * Fix Post Box issue
1301
- * Update Service Library
1302
- * fix text-domain
1303
-
1304
- = 3.2.12 (2020-01-14) =
1305
- * Service library update
1306
- * Add Support Form Added
1307
-
1308
- = 3.2.11 (2020-01-08) =
1309
- * Fix logging class not found error.
1310
- * Update Feed Save Message
1311
- * Fix Save success message
1312
-
1313
- = 3.2.10 (2020-01-07) =
1314
- * New Hook added before and after product loop.
1315
- * Sanitize ajax & optimize request for admin notices.
1316
- * Admin Notice updated.
1317
-
1318
- = 3.2.9 (2020-01-06) =
1319
- * Fix Docs Page Postbox styles
1320
- * Update Button UI
1321
-
1322
- = 3.2.8 (2020-01-05) =
1323
- * Remove `set_time_limit(0)` (disabled in some host).
1324
-
1325
- = 3.2.7 (2020-01-02) =
1326
- * Menu Icon Changed.
1327
- * Update Feed Configuration without generating.
1328
- * Fix Admin Notice UI.
1329
-
1330
- = 3.2.6 (2019-12-25) =
1331
- * New template structure implemented.
1332
- * Merchant info metabox in feed template edit page.
1333
- * Added support for metabox (postbox) minimize state in docs and template edit page.
1334
- * Improve UI and fix typo.
1335
- * Replace some static string with gettext function for better translation.
1336
- * Update script dependency for using internal scripts provide by WordPress for better performance.
1337
-
1338
- = 3.2.5 (2019-12-22) =
1339
- * Update Service Library
1340
-
1341
- = 3.2.4 (2019-12-19) =
1342
- * Fix OptOut button URL
1343
- * Filter hook added for notice message
1344
-
1345
- = 3.2.3 (2019-12-17) =
1346
- * Fix All-In-One-SEO Title and Description
1347
-
1348
- = 3.2.2 (2019-12-15) =
1349
- * Product query type settings added for compatibility.
1350
- * Request sanitization.
1351
- * Necessary SQL escaped.
1352
-
1353
- = 3.2.1 (2019-12-12) =
1354
- * XML element space replace with underscore issue fixed
1355
- * Fix: Undefined index.
1356
- * Trim output
1357
- * Remove redundant codes
1358
-
1359
- = 3.2.0 (2019-12-08) =
1360
- * Tweak: Improved Performance.
1361
- * stripslashes attribute output
1362
- * Remove Duplicate values from attribute list
1363
- * Fix Price with tax
1364
-
1365
- = 3.1.55 (2019-11-28) =
1366
- * Feed Config table ui update
1367
-
1368
- = 3.1.54 (2019-11-27) =
1369
- * Fix stock status
1370
-
1371
- = 3.1.53 (2019-11-25) =
1372
- * Promo Update
1373
-
1374
- = 3.1.52 (2019-11-24) =
1375
- * Fix: Hide google taxonomy dropdown if attribute selected
1376
- * Fix: Autocomplete attribute value
1377
- * Fix: PHP count() warning on feed edit page
1378
-
1379
- = 3.1.51 (2019-11-21) =
1380
- * Fix duplicate id cache
1381
- * Tweak connecxity feed class
1382
-
1383
- = 3.1.50 (2019-11-18) =
1384
- * Added yandex_csv_add-feed.php,
1385
- * Update tracker class,
1386
- * Pageable filters added.
1387
- * Update tested up to info.
1388
-
1389
- = 3.1.49 (2019-11-12) =
1390
- * Yandex CSV template added
1391
-
1392
- = 3.1.48 (2019-11-09) =
1393
- * Fixed: Woocommerce version compare issue
1394
- * Fixed: Removed trim for prefix and suffix field
1395
- * Fixed: Current Price issue fixed
1396
- * Tweak: Status & View column name changed to Auto Update & Action accordingly into Feed List table
1397
- * Tweak: Add auto space before suffix for price sale_price & current_price
1398
-
1399
- = 3.1.47 (2019-11-07) =
1400
- * Update remove unused cron from insight class
1401
- * Fix insight cron hook
1402
- * Changelog Typo Fix
1403
-
1404
- = 3.1.46 (2019-11-06) =
1405
- * Fix 'No Products found' while using 'Custom Template 2 (XML)'
1406
- * Tested Up to WC 3.8
1407
-
1408
- = 3.1.45 (2019-11-03) =
1409
- * Loading ClipboardJS directly from plugin for older WordPress
1410
- * Added WooCommerce minimum version checking before loading other dependencies
1411
- * Fix support for WooCommerce older than 3.6.0
1412
-
1413
- = 3.1.44 (2019-10-31) =
1414
- * Remove Duplicate Css
1415
- * Fix success message not showing
1416
- * Fix PHP non-numeric value & counting null warning
1417
-
1418
- = 3.1.43 (2019-10-27) =
1419
- * Improve Page loading performance on feed editor
1420
- * FTP Module detection added in `FTP/SFTP` tab in feed editor
1421
- * Fix 3rd Party Plugin Compatibility
1422
-
1423
- = 3.1.42 (2019-10-27) =
1424
- * Fix deactivation script
1425
-
1426
- = 3.1.41 (2019-10-24) =
1427
- * Dependency & compatibility check upon activation
1428
- * Tested with latest WordPress & WooCommerce Release
1429
-
1430
- = 3.1.40 (2019-10-21) =
1431
- * Fix error on fetching invalid child product of group product.
1432
- * Fix google taxonomy not being selected on edit page
1433
- * Remove unnecessary admin notices.
1434
-
1435
- = 3.1.39 (2019-10-20) =
1436
- * Adds plugin assets (was missing), sorry :)
1437
- * UI Fix.
1438
-
1439
- = 3.1.38 (2019-10-20) =
1440
- * Docs page ui fix
1441
- * Update Plugin Meta links
1442
-
1443
- = 3.1.37 (2019-10-17) =
1444
- * UI improvement
1445
- * Improve script dependency management
1446
-
1447
- = 3.1.36 (2019-10-14) =
1448
- * Documentation Menu Added
1449
-
1450
- = 3.1.35 (2019-10-10) =
1451
- * remove echo used with _e()
1452
- * fix generating new db entry on update feed config
1453
- * fix duplicate id on save/update button
1454
-
1455
- = 3.1.34 (2019-10-9) =
1456
- * Resolve duplicate filename conflict.
1457
- * Fix undefined variable.
1458
- * Check if function exists before declaration (Resolve error on Pro Version activation.
1459
-
1460
- = 3.1.33 (2019-10-7) =
1461
- * Add copy to clip board
1462
- * Fix performance issue on feed add/edit screen
1463
-
1464
- = 3.1.32 (2019-10-6) =
1465
- * Fix parent sku not getting populated in feed data
1466
- * Set feed type to CSV for Pinterest
1467
-
1468
- = 3.1.31 (2019-10-3) =
1469
- * Strip divi builder shortcode from product description and short-description.
1470
- * Delete old feed file before regenerate.
1471
-
1472
- = 3.1.30 (2019-10-2) =
1473
- * Fix Feed doesn't include last product variation
1474
-
1475
- = 3.1.29(2019-09-30) =
1476
- * Update Google Taxonomy list at the latest.
1477
- * Add Google Taxonomy in facebook and pinterest template.
1478
- * Google Taxonomy chooser directly in Feed Config without any popup.
1479
- * Optimize JavaScript.
1480
-
1481
- = 3.1.28(2019-09-26) =
1482
- * Fix Google Taxonomy Popup with jquery sortable plugin.
1483
- * Fix row become invisible while dragging.
1484
-
1485
- = 3.1.27(2019-09-11) =
1486
- * Added: criteo template added
1487
-
1488
- = 3.1.26(2019-09-11) =
1489
- * Added: google attribute dropdown issue solved
1490
-
1491
- = 3.1.25(2019-09-09) =
1492
- * Added: fyndiq.se template added
1493
-
1494
- = 3.1.24(2019-09-03) =
1495
- * Added: miinto.nl template added
1496
-
1497
- = 3.1.23(2019-08-28) =
1498
- * Added: fnac.fr template added
1499
-
1500
- = 3.1.22(2019-08-25) =
1501
- * Added: missing template files added
1502
-
1503
- = 3.1.21(2019-08-20) =
1504
- * Added: vertaa.fi template added
1505
-
1506
- = 3.1.20(2019-08-19) =
1507
- * Added: fashiola template added
1508
-
1509
- = 3.1.19(2019-08-08) =
1510
- * Added: walmart template added
1511
-
1512
- = 3.1.18(2019-08-05) =
1513
- * Added: webmarchand template added
1514
-
1515
- = 3.1.17(2019-07-29) =
1516
- * Fixed: feed files permission issue fixed
1517
-
1518
- = 3.1.16(2019-07-25) =
1519
- * Fixed: google_attributes option issue fixed
1520
-
1521
- = 3.1.15(2019-07-24) =
1522
- * Fixed: Cross-site scripting (XSS) vulnerability issue resolved
1523
-
1524
- = 3.1.14(2019-07-23) =
1525
- * Added: modina.de template added
1526
-
1527
- = 3.1.13(2019-07-22) =
1528
- * Modified: spartoo.fi template modified
1529
-
1530
- = 3.1.12(2019-07-18) =
1531
- * Added: shareasale template added
1532
-
1533
- = 3.1.11(2019-07-17) =
1534
- * Added: spartoo.fi template added
1535
-
1536
- = 3.1.10(2019-07-15) =
1537
- * Fixed: google template slowly loading issue fixed
1538
-
1539
- = 3.1.9(2019-07-11) =
1540
- * Added: shopalike.fr template added
1541
-
1542
- = 3.1.8(2019-07-08) =
1543
- * Fixed: pinterest csv feed attribute underscore issue fixed
1544
-
1545
- = 3.1.7(2019-07-07) =
1546
- * Added: strip tags set as default in the Output Type of kijiji.ca template
1547
-
1548
- = 3.1.6(2019-07-05) =
1549
- * Added: kijiji.ca template added
1550
-
1551
- = 3.1.5(2019-07-03) =
1552
- * Added: kieskeurig.nl template added
1553
-
1554
- = 3.1.4(2019-06-30) =
1555
- * Added: incurvy template added
1556
-
1557
- = 3.1.3(2019-06-27) =
1558
- * Added: CDiscount.fr template added
1559
-
1560
- = 3.1.2(2019-06-26) =
1561
- * Fixed: Auto input field populate issue into feed making and edit page has fixed
1562
-
1563
- = 3.1.1(2019-06-25) =
1564
- * Added: marktplaats.nl template added
1565
-
1566
- = 3.1.0(2019-06-24) =
1567
- * Fixed: Pinterest csv feed issue fixed
1568
-
1569
- = 3.0.40(2019-06-21) =
1570
- * Fixed: Make Feed view issue fixed
1571
-
1572
- = 3.0.39(2019-06-20) =
1573
- * Fixed: Prefix & suffix with empty value and stripslash issue fixed
1574
- * Added: Override attribute added for facebook template
1575
-
1576
- = 3.0.38(2019-06-18) =
1577
- * Added: Vergelijk.be & Comparer.be template added
1578
-
1579
- = 3.0.37(2019-06-10) =
1580
- * Added: Rakuten template added
1581
-
1582
- = 3.0.36(2019-06-03) =
1583
- * Tweak: Beslist.nl template modified
1584
-
1585
- = 3.0.35(2019-05-29) =
1586
- * Tweak: CrowdFox template modified
1587
-
1588
- = 3.0.34(2019-05-23) =
1589
- * Fixed: Product attribute empty space issue fixed
1590
-
1591
- = 3.0.33(2019-05-21) =
1592
- * Fixed: Empty global attribute value for wc3.6 fixed.
1593
-
1594
- = 3.0.32(2019-05-16) =
1595
- * Shipping Cost Comment attribute added for idealo template
1596
-
1597
- = 3.0.31(2019-05-13) =
1598
- * Added: billiger.de template added
1599
-
1600
- = 3.0.30(2019-05-08) =
1601
- * Added: tax_country,tax_region,tax_rate,tax_ship attribute added.
1602
- * Tweak: tax attribute deleted.
1603
-
1604
- = 3.0.29(2019-05-06) =
1605
- * Added: Idealo template added
1606
-
1607
- = 3.0.28(2019-04-30) =
1608
- * Tweak: Feed template folder structure change to reduce plugin size
1609
-
1610
- = 3.0.27(2019-04-30) =
1611
- * Added: Hintaseuranta.fi template added
1612
-
1613
- = 3.0.26(2019-04-29) =
1614
- * Added: SkinFlint.co.uk template added
1615
- * WordPress 5.2 compatibility checked
1616
- * WooCommerce 3.6 compatibility checked
1617
-
1618
- = 3.0.25(2019-04-26) =
1619
- * Added: TheNextAd template added
1620
-
1621
- = 3.0.24(2019-04-25) =
1622
- * Fixed: cost_of_good_sold attribute issue fixed for Google & Facebook template
1623
- * Added: tax_category attribute added for Facebook template
1624
-
1625
- = 3.0.23(2019-04-24) =
1626
- * Added: Yahoo NFA template added
1627
-
1628
- = 3.0.22(2019-04-22) =
1629
- * Added: Stylight template added
1630
- * Added: Google & Facebook template will auto add currency code as suffix for price attribute
1631
-
1632
- = 3.0.21(2019-04-18) =
1633
- * Added: Smartly.io template added
1634
-
1635
- = 3.0.20(2019-04-16) =
1636
- * Fixed: Myshopping.com.au XML Category tag issue fixed
1637
- * Fixed: Myshopping.com.au recommended attributes added
1638
-
1639
- = 3.0.19(2019-04-14) =
1640
- * Added: MyShopping.com.au template added
1641
-
1642
- = 3.0.18(2019-04-11) =
1643
- * Added: Pinterest template added
1644
-
1645
- = 3.0.17(2019-04-10) =
1646
- * Fixed: Template UI loading conflict with popup builder plugin
1647
-
1648
- = 3.0.16(2019-04-08) =
1649
- * Added: fruugoaustralia.com template added
1650
- * Fixed: fruugo.com template updated
1651
-
1652
- = 3.0.15(2019-04-04) =
1653
- * Fixed: Zap.co.il template header issue fixed
1654
-
1655
- = 3.0.14(2019-04-01) =
1656
- * Added: Zap.co.il template added
1657
-
1658
- = 3.0.13(2019-03-28) =
1659
- * Added: Google Local Product template added
1660
-
1661
- = 3.0.12(2019-03-22) =
1662
- * Fixed: minor security bugs
1663
-
1664
- = 3.0.11(2019-03-21) =
1665
- * Fixed: facebook variation description issue fixed
1666
-
1667
- = 3.0.10(2019-03-18) =
1668
- * Fixed: product tags issue fixed
1669
- * Added: new Google Merchant attributes added
1670
-
1671
- = 3.0.9(2019-03-15) =
1672
- * Added: Current Price attribute added. Current Price attribute will return sale price if sale price available else it will return regular price.
1673
- * WooCommerce v3.5+ compatibility checked
1674
-
1675
- = 3.0.8(2019-03-12) =
1676
- * Added: Facebook template will contain product variations but it will add variation info at the end of the product description so that facebook can not reject variation which do not have short description.
1677
-
1678
- = 3.0.7(2019-03-07) =
1679
- * Added: Bing Shipping attribute
1680
- * Fixed: Review notice show after 15 days of installation
1681
- * Fixed: ajax action hook conflicting issue fixed
1682
-
1683
- = 3.0.6(2019-03-05) =
1684
- * Fixed: Facebook inventory attribute added
1685
-
1686
- = 3.0.5(2019-02-27) =
1687
- * Fixed: Google Local Product Inventory feed template added
1688
-
1689
- = 3.0.4(2019-02-25) =
1690
- * Fixed: Google & Facebook condition attribute value changed from New to new
1691
-
1692
- = 3.0.3(2019-02-20) =
1693
- * Price with Tax attribute added
1694
- * Product date created and date updated attribute added
1695
- * Google Category notice bug fix
1696
-
1697
- = 3.0.2(2019-02-15) =
1698
- * WordPress version 5.1 compatibility checked
1699
-
1700
- = 3.0.1(2019-02-06) =
1701
- * Manufacturer attribute added to NexTag template
1702
-
1703
- = 3.0.0(2019-01-31) =
1704
- * Minor bug fixing
1705
-
1706
- = 2.2.33(2019-01-27) =
1707
- * Google Taxonomy modal issue fixed
1708
-
1709
- = 2.2.32(2019-01-24) =
1710
- * Show message at feed generation if woocommerce product not found.
1711
-
1712
- = 2.2.31(2019-01-22) =
1713
- * Used home_url() instead of site_url() into google feed header
1714
- * Review request admin message added
1715
-
1716
- = 2.2.29(2019-01-20) =
1717
- * Added: SFTP file upload to remote server
1718
-
1719
- = 2.2.28(2019-01-11) =
1720
- * WordPress 5 compatibility checked
1721
- * Default cron interval set to 24 hours
1722
- * Minor bug fix
1723
-
1724
- = 2.2.26(2018-11-17) =
1725
- * At First convert Short Codes and then Remove failed Short Codes from String
1726
-
1727
- = 2.2.25(2018-11-07) =
1728
- * number_format error fixed
1729
-
1730
- = 2.2.24(2018-11-05) =
1731
- * Minor issue fixed
1732
-
1733
- = 2.2.23(2018-10-25) =
1734
- * Google Attribute cost_of_goods_sold added
1735
- * Visual Composer shortcode remove issue fixed
1736
-
1737
- = 2.2.22(2018-10-10) =
1738
- * Variations missing issue fixed
1739
- * URL encoding issue with suffix fixed
1740
-
1741
- = 2.2.21(2018-09-19) =
1742
- * Cron schedule added to update feed individually
1743
-
1744
- = 2.2.19(2018-07-31) =
1745
- * Product description default limit set to 5000 for Google Merchant and Facebook template
1746
-
1747
- = 2.2.18(2018-07-09) =
1748
- * Google Product category missing warning added for Google Merchant and Facebook template
1749
-
1750
- = 2.2.17(2018-07-05) =
1751
- * All field added to amazon template
1752
-
1753
- = 2.2.16(2018-07-02) =
1754
- * Strip tag added as default output type for Google and Facebook template
1755
-
1756
- = 2.2.15(2018-06-09) =
1757
- * Documentation and Pro plugin link added under plugin activation links
1758
-
1759
- = 2.2.14(2018-05-25) =
1760
- * Grouped product price issue fixed
1761
-
1762
- = 2.2.11(2018-04-25) =
1763
- * Minor js error fixed
1764
-
1765
- = 2.2.10(2018-04-25) =
1766
- * Google Product Category dropdown added for Google Shopping template
1767
-
1768
- = 2.2.9(2018-03-23) =
1769
- * Product missing issue fixed
1770
- * Auto update active/inactive status added
1771
-
1772
- = 2.2.8(2018-03-14) =
1773
- * Variable product price issue fixed
1774
- * Other minor issues about product are fixed
1775
-
1776
- = 2.2.7(2018-03-01) =
1777
- * Product query code improved
1778
-
1779
- = 2.2.6(2018-02-15) =
1780
- * Added: Jet.com Template added
1781
- * Added: Wish.com Template added
1782
-
1783
- = 2.2.5(2018-02-05) =
1784
- * Fixed: Variations description issue
1785
- * Fixed: Remove shortcodes Automatically
1786
-
1787
- = 2.2.4(2018-02-01) =
1788
- * Auto Remove ShortCodes from Product Description
1789
-
1790
- = 2.2.3(2018-01-30) =
1791
- * Fixed: Variations description issue
1792
- * Added: Remove shortcodes function modified
1793
-
1794
- = 2.2.2(2018-01-26) =
1795
- * removed variations for facebook
1796
-
1797
- = 2.2.1(2018-01-25) =
1798
- * product variation issue fixed
1799
-
1800
- = 2.2.0(2018-01-25) =
1801
- * WC 3.1+ compatibility extended
1802
-
1803
- = 2.1.29(2018-01-09) =
1804
- * Added: Bonanza, Real, LeGuide and Crowdfox template added
1805
-
1806
- = 2.1.28(2017-12-27) =
1807
- * Added: Pricerunner template added
1808
- * Added: AdForm template added
1809
-
1810
- = 2.1.27(2017-12-25) =
1811
- * Added: Bol.com template added
1812
-
1813
- = 2.1.26(2017-12-12) =
1814
- * Added: Polyvore template added
1815
-
1816
- = 2.1.25(2017-12-03) =
1817
- * Added: Fruugo template added
1818
-
1819
- = 2.1.24(2017-11-03) =
1820
- * Added: FTP port option
1821
-
1822
- = 2.1.23(2017-10-23) =
1823
- * Added: Twenga product feed template added
1824
- * Fixed: Internal server error at the middle of feed making
1825
-
1826
- = 2.1.22(2017-10-17) =
1827
- * Added: PriceSpy product feed template added
1828
- * Added: PrisJakt product feed template added
1829
-
1830
- = 2.1.21(2017-10-08) =
1831
- * Added: Adroll.com product feed template added
1832
-
1833
- = 2.1.20(2017-10-04) =
1834
- * Fixed: js typeahead error fixed.
1835
-
1836
- = 2.1.19(2017-10-04) =
1837
- * Fixed: decimal issue of progress percent.
1838
-
1839
- = 2.1.18(2017-09-28) =
1840
- * Fixed: Sale Price will be empty if not on sale
1841
-
1842
- = 2.1.17(2017-09-20) =
1843
- * Fixed: FTP Connection issue
1844
-
1845
- = 2.1.16(2017-09-01) =
1846
- * Fixed: XML error for Google and Facebook template
1847
-
1848
- = 2.1.15(2017-08-27) =
1849
- * Fixed: array_merge error
1850
- * Added: Strip slashed manual input (Prefix, Suffix, and Pattern)
1851
- * Added: HTML entity decoded for Google and Facebook XML header
1852
-
1853
- = 2.1.14(2017-08-09) =
1854
- * Fixed: Variable Product missing issue
1855
-
1856
- = 2.1.13(2017-08-08) =
1857
- * Fixed: Variable Product issue
1858
- * Fixed: Unlink temp file error
1859
-
1860
- = 2.1.12(2017-07-24) =
1861
- * Fixed: product count error
1862
-
1863
- = 2.1.10(2017-07-24) =
1864
- * Added: New Option added to feed configuration view
1865
- * Added: Plugin Setting menu
1866
-
1867
- = 2.1.9(2017-07-09) =
1868
- * Fixed: Feed execution failed error.
1869
-
1870
- = 2.1.8(2017-07-09) =
1871
- * Fixed: 200 products issue of Auto Feed Update
1872
-
1873
- = 2.1.7(2017-07-03) =
1874
- * Added: Auto Feed Update
1875
-
1876
- = 2.1.6(2017-05-27) =
1877
- * Duplicate Product Issue fixed.
1878
- * Removed Product variations for Facebook Template.
1879
- * 0 Price issue for Parent product of variation fixed.
1880
-
1881
- = 2.1.4(2017-05-22) =
1882
- * New attribute added for External Product URL
1883
-
1884
- = 2.1.3(2017-05-12) =
1885
- * Solved the output 0 issue for empty attribute value
1886
-
1887
- = 2.1.2(2017-05-09) =
1888
- * Frontend JS conflict issue fixed
1889
-
1890
- = 2.1.1(2017-05-08) =
1891
- * Additional Images error fixed
1892
-
1893
- = 2.1.0(2017-05-07) =
1894
- * Fixed: The blank screen or 500 page not found error
1895
- * Added: Sale price value wil return current price
1896
- * Added: Support Grouped Product
1897
- * Added: Compatible with WooCommerce 3.0+
1898
- * Added: Ajax Feed making
1899
- * Improved: Auto feed updating functionality
1900
- * Added: Comma Separated Additional Images Attribute for Google and Facebook template
1901
-
1902
- = 2.0.16(2017-05-02) =
1903
- * Fixed: Additional Image issue google shopping template
1904
-
1905
- = 2.0.15(2017-04-27) =
1906
- * Fixed the issue: Call to undefined method WC_Product_Variation::get_gallery_image_ids()
1907
-
1908
- = 2.0.14(2017-04-27) =
1909
- * Fixed: Additional Image issue google shopping template
1910
-
1911
- = 2.0.13(2017-04-09) =
1912
- * Added the functionality to make feed for External/Affiliate Product
1913
-
1914
- = 2.0.12(2017-03-27) =
1915
- * Removed default space from after suffix and before prefix.
1916
- * Fixed the number_format command issue and documentation updated.
1917
- * Fixed last version errors.
1918
-
1919
- = 2.0.11(2017-03-20) =
1920
- * Fixed the zero output error
1921
-
1922
- = 2.0.10(2017-03-18) =
1923
- * Amazon Jewelry Template added
1924
-
1925
- = 2.0.9(2017-03-16) =
1926
- * Fixed the issue to output attribute value 0
1927
-
1928
- = 2.0.8(2017-03-02) =
1929
- * Amazon template error fixed
1930
-
1931
- = 2.0.7(2017-03-01) =
1932
- * Shipping attribute information error and image required issue fixed
1933
-
1934
- = 2.0.6(2017-02-25) =
1935
- * Error fixed for Amazon camera and photo category template
1936
-
1937
- = 2.0.5(2017-02-20) =
1938
- * Code modified for faster feed making
1939
-
1940
- = 2.0.4(2017-02-08) =
1941
- * For Google Shopping template: identifier_exist status value updated from TRUE and FALSE to yes and no according to Google Merchant requirements.
1942
-
1943
- = 2.0.3(2017-02-06) =
1944
- * Fixed: sale price effective date formatting
1945
-
1946
- = 2.0.2(2017-01-12) =
1947
- * Fixed: xmlParseEntityRef: no name for Google Shopping Class
1948
-
1949
- = 2.0.1(2017-01-12) =
1950
- * Fixed: TXT feed encoding error
1951
- * Modified: Bing template modified according to new Bing requirements.
1952
- * Added: Amazon Inventory template by Category added
1953
-
1954
- = 2.0.0(2017-01-05) =
1955
- * identifier_exist attribute value will be automatically set according to feed configuration for Google Shopping Template.
1956
-
1957
- = 1.5.36(2016-11-28) =
1958
- * Removed Promotional Message
1959
-
1960
- = 1.5.35(2016-11-27) =
1961
- * Added: Functionality to Include Extra header information into feed
1962
-
1963
- = 1.5.34(2016-11-23) =
1964
- * Fixed: Remove non UTF-8 character from attribute output value
1965
- * Added: Remove Short Codes from Product Description
1966
-
1967
- = 1.5.33(2016-11-01) =
1968
- * Fixed: Output product category according to category hierarchy
1969
-
1970
- = 1.5.32(2016-11-01) =
1971
- * Fixed: Removed the space between link attribute and suffix. For example, It's possible to add tracking code into url.
1972
-
1973
- = 1.5.31(2016-10-14) =
1974
- * Added: Google Ad words Feed template
1975
- * Added: Shopbot feed template
1976
- * Added: Remove special character from the attribute output value
1977
-
1978
- = 1.5.30(2016-10-10) =
1979
- * Added the difference between premium and free version
1980
-
1981
- = 1.5.29(2016-10-04) =
1982
- * replace product description line break with space
1983
-
1984
- = 1.5.28(2016-09-22) =
1985
- * class-woo-feed-error-message.php committed
1986
-
1987
- = 1.5.27(2016-09-22) =
1988
- * Show error message if WordPress Upload directory is not writable
1989
-
1990
- = 1.5.26(2016-09-10) =
1991
- * Remove space from beginning and ending of strings for CSV and TXT feed
1992
-
1993
- = 1.5.25(2016-09-03) =
1994
- * Fixed: CSRF Security Vulnerability
1995
-
1996
- = 1.5.24(2016-09-02) =
1997
- * Modified: Hex character encoding error for XML feed
1998
- * Fixed: CSRF Security Vulnerability
1999
-
2000
- = 1.5.23(2016-08-26) =
2001
- * Modified: Hex character encoding error for XML feed
2002
-
2003
- = 1.5.22(2016-08-23) =
2004
- * Fixed: Hex character encoding error for XML feed
2005
-
2006
- = 1.5.21(2016-08-03) =
2007
- * Added: is_object checking for global variable product
2008
-
2009
- = 1.5.20(2016-07-26) =
2010
- * Fixed: hard coded db query for product count
2011
-
2012
- = 1.5.19(2016-07-25) =
2013
- * Fixed: return custom attribute value instead of slug
2014
-
2015
- = 1.5.18(2016-07-21) =
2016
- * g:shipping_region attribute added to google merchant class.
2017
-
2018
- = 1.5.17(2016-07-03) =
2019
- * Fixed: Fatal error: Call to a member function is_type()
2020
-
2021
- = 1.5.16(2016-06-13) =
2022
- * Fixed: Blank Screen Error
2023
- * Improved: Feed Making Process
2024
-
2025
- = 1.5.15(2016-05-27) =
2026
- * Fixed: Compatible with PHP version 5.3
2027
- * Improved: Pre Configured Template Loading Time
2028
-
2029
- = 1.5.14(2016-05-11) =
2030
- * Fixed: List Table Syntax Error. Now compatible with PHP version 5.3
2031
- * Fixed: Pre Configured Template Loading Error
2032
- * Solved: CSV None enclosure.
2033
-
2034
- = 1.5.13(2016-04-29) =
2035
- * Fixed: Cron Job Auto Feed Update
2036
-
2037
- = 1.5.12(2016-04-25) =
2038
- * Fixed: Custom template update problem
2039
- * Added: Template added for Shopbot.com
2040
-
2041
- = 1.5.11(2016-04-12) =
2042
- * Fixed: Blank product and image url
2043
- * Fixed: WP List Table Screen error solved
2044
- * Variation checking added for parent product export
2045
-
2046
- = 1.5.10 =
2047
- * Google Adwords Template Added
2048
- * Top Pro Version Message Removed
2049
- * Add New Row dropdown field error fixed
2050
-
2051
- = 1.5.9 =
2052
- * Facebook XML Feed Space Error Fixed
2053
- * Google XML Feed Space Error Fixed
2054
-
2055
- = 1.5.8 =
2056
- * Amazon Template Added
2057
- * Multiple Regenerate error fixed
2058
- * Support Empty Attributes
2059
- * Support Dynamic Attribute Reuse
2060
- * Support Category Mapping Reuse
2061
-
2062
- = 1.5.7 =
2063
- * Faster Feed Processing Modified
2064
- * JS Feed Update Status Conflict Fixed
2065
- * Product Filtering Module Modified
2066
- * Feed Edit Template Modified
2067
-
2068
- = 1.5.6 =
2069
- * Faster Feed Processing
2070
- * Ajax Feed Processing Status Error Fixed
2071
-
2072
- = 1.5.5 =
2073
- * Feed edit error fixed
2074
- * Facebook edit template error fixed
2075
- * Pattern Output error fixed
2076
- * Add New button error fixed
2077
- * Feed making progress error fixed
2078
- * Custom taxonomy added to value dropdown into feed template (pro)
2079
-
2080
- = 1.5.4 =
2081
- * jQuery Shortable error fixed
2082
-
2083
- = 1.5.3 =
2084
- * Google and Facebook Single item wrapper issue fixed
2085
- * Shipping attribute added for Google and Facebook Template
2086
- * Support and Docs section added
2087
- * Feed making progress issue fixed
2088
- * Sale Price start and end date attribute added
2089
- * Stock quantity issue fixed
2090
-
2091
- = 1.5.2 =
2092
- * Feed making progress status added
2093
-
2094
- = 1.5.1 =
2095
- * Data Validation Improved
2096
-
2097
- = 1.5.0 =
2098
- * 10 pre configured Template
2099
-
2100
- = 1.0.0 =
2101
- * First Release.
2102
-
2103
- == Upgrade Notice ==
2104
- = 1.5.3 =
2105
- This is a major release. Please update to version 1.5.3 . Lots of issue solved and some modification added. If any problem occurred while update then reactivate the plugin. Its a good practice to make a backup of your database before update.
 
 
 
 
 
1
+ === CTX Feed - WooCommerce Product Feed Generator ===
2
+ Contributors: wahid0003, webappick, mhamudul_hk, shuvo586, nayanchamp7
3
+ Donate link: https://webappick.com
4
+ Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Catalog, Bing Shopping, Instagram Shop, Skroutz Data Feed, xml feed, csv feed, txt feed, woocommerce product feed
5
+ Requires at least: 3.6
6
+ Tested Up To: 5.7
7
+ Requires PHP: 5.6
8
+ Stable tag: 4.4.13
9
+ License: GPLv2 or later
10
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
+
12
+ Generate error-free woocommerce product feed for any marketing channel like Google Shopping, Facebook Catalog, Bing, Pinterest, Instagram & 100+ more channels.
13
+
14
+ == Description ==
15
+ Easily create the most optimized and error-free product feeds for your WooCommerce store targeting the leading global and local product marketing channels like Google Shopping or Google Merchant, Facebook Dynamic Product Ads, Instagram Shopping Ads, Pinterest Shopping Ads, eBay Ads, Bing Ads, PriceRunner, Rakuten, PriceSpy, Kelko, and more.
16
+
17
+ **WooCommerce Product Feed Pro (CTX Feed)** is a WooCommerce product feed generator plugin for WooCommerce powered stores. This plugin currently supports more than 100+ marketing channels. So, you can target your desired marketing channels, price comparison sites, and/or affiliate networks.
18
+
19
+ It aims to reduce your hardship on marketing efforts to create product feeds and distribute them in multiple marketing/shopping channels. There are flexible options to update product information according to your given schedule and sync the update to the right channel via HTTP or FTP. Stay at ease knowing that your customers will automatically get the latest product information.
20
+
21
+ **UNLIMITED PRODUCTS**
22
+
23
+ You can create product feed for unlimited products. No matter how many products you have in your WooCommerce Store, this WooCommerce product feed plugin can generate product feed for any number of products.
24
+
25
+ **UNLIMITED FEED**
26
+
27
+ Create unlimited product feeds for multiple channels of your preference. There is no restriction on creating the product feed for the available online channels.
28
+
29
+ **WHAT IS PRODUCT FEED?**
30
+
31
+ The product feed is an XML, TXT, CSV, XLS, or TSV file that contains a list of product information and their attributes (id, title, description, price, image, link, and other attributes) in an organized way so that each product can be displayed into search engines, compared uniquely and can be advertised.
32
+
33
+ **WHY DO I NEED PRODUCT FEED?**
34
+
35
+ You need a product feed if you are a retailer with an eCommerce store and want to get your products into the search engine or price comparison website or affiliate network. Product feed supply your product information to those online marketing channels so that buyer can easily find your products.
36
+ <blockquote>
37
+ <h4>Read Step by Step <a target="_blank" href="https://webappick.com/docs/woo-feed/">Documentation</a> and <a target="_blank" href="https://www.youtube.com/playlist?list=PLapCcXJAoEenI-35wc6YnnsAAgoYRxDr7">Video Tutorial</a></h4>
38
+ <br/>
39
+ <h4>For Support Email to <a href="mailto:support@webappick.com">support[@]webappick.com</a> </h4>
40
+ <br/>
41
+ <h4>REQUEST NEW FEATURE <a target="_blank" href="https://webappick.com/contact/">HERE</a></h4>
42
+ <br/>
43
+ <h4>PREMIUM VERSION: <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">WOOCOMMERCE PRODUCT FEED PRO</a></h4>
44
+ <br/>
45
+ </blockquote>
46
+
47
+
48
+ **WHY SHOULD I CHOSE THIS PLUGIN?**
49
+
50
+ In a word, WooCommerce Product Feed is a revolution. Yeah, it's a revolution of WooCommerce product feed technology because there are no modules or extensions that generate automatic or manual product feeds that can synchronize flexibility to shopping channels maintained by people with not much technical knowledge about WordPress. Among the thousands of reasons for choosing this WordPress plugin, we have mentioned a few of them below.
51
+
52
+ **Google Merchant Feed Upload**
53
+ [youtube https://www.youtube.com/watch?v=QRTvrDJm4mI]
54
+
55
+ **EASY USER INTERFACE:**
56
+
57
+ Creating the product feed and navigating the ctx feed plugin option is easy. Anyone can operate this product feed plugin without having any technical knowledge. You will get all the feed configuration in one window. There is no need to open a separate window to customize any field or option of the plugin.
58
+
59
+ **PRODUCT TYPES:**
60
+
61
+ Supports all default WooCommerce product types including bundle product, composite product, mix & match product, and subscription product by other plugins. Supported product types plugins are below:
62
+
63
+ * <a target="_blank" href="https://woocommerce.com/products/composite-products/">WooCommerce Composite Products</a>
64
+ * <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-composite-products/">YITH Composite Products</a>
65
+ * <a target="_blank" href="https://wordpress.org/plugins/wpc-composite-products/">WPC Composite Products for WooCommerce</a>
66
+ * <a target="_blank" href="https://woocommerce.com/products/product-bundles/">WooCommerce Product Bundles</a>
67
+ * <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-product-bundles/">YITH WooCommerce Product Bundles</a>
68
+ * <a target="_blank" href="https://wordpress.org/plugins/woo-product-bundle/">WPC Product Bundles for WooCommerce</a>
69
+ * <a target="_blank" href="https://woocommerce.com/products/woocommerce-subscriptions/">WooCommerce Subscription</a>
70
+
71
+ **PRODUCT VARIABLE & VARIATION:**
72
+
73
+ The free version of this product feed plugin automatically adds variable products and product variation. If a variable product has four variations, then the plugin will add five products to the product feed, including one product for the variable product (parent of the variations) and four products for variations.
74
+
75
+ There is an option on the <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">CTX Feed Pro</a> version there you can exclude the variations or the variable products or you can keep both the variable and product variations.
76
+
77
+ **BUILTIN TEMPLATE:**
78
+
79
+ There are more than 100+ pre-configured templates to give you a quick start. Those platform-specific templates will help you create perfect WooCommerce product feeds without wasting valuable time. Apart from saving time, the templates also keep you on the safe side with perfectly formatted product feed templates.
80
+
81
+ **CUSTOM TEMPLATE:**
82
+
83
+ If a template is not available in our plugin, you can use the Custom Template to create any product feed for any channel. We can also add your channel as a template if you send your channels feed requirements to <a target="_blank" href="https://webappick.com/contact/">ctx feed support team</a>.
84
+
85
+ **PRODUCT ATTRIBUTES:**
86
+
87
+ You can include all the product attributes available in your product to make a complete product feed. You can make the product feed as detailed as possible.
88
+
89
+ **OUTPUT TYPES:**
90
+
91
+ You can modify or format the output of any product attribute value with these options below:
92
+
93
+ * **Strip tags**: You can remove HTML tags from the product description.
94
+
95
+ * **Integer**: You can format a rounded value of any number or product price.
96
+
97
+ * **Price**: You can apply a number format to any number or product price.
98
+
99
+ * **Rounded Price**: You can apply a round format to any number or product price.
100
+
101
+ * **Remove Space**: You can remove double spaces from any attribute value.
102
+
103
+ * **Remove Shortcodes**: You can remove shortcodes from the product title, description, or short description, etc.
104
+
105
+ * **Remove Special Characters**: Sometimes non-UTF-8 characters are copied when you copy product description from any other source. You can remove these non-UTF-8 characters with this output type.
106
+
107
+ * **CDATA**: CDATA protect any string from conflict between XML element and element value. Adding CDATA is a good practice for XML feed.
108
+
109
+ * **ucfirst**: Make any string’s first character uppercase.
110
+
111
+ * **ucwords**: Uppercase the first character of each word in the string.
112
+
113
+ * **strtoupper**: Transform any string to upper case.
114
+
115
+ * **strtolower**: Transform any string to lower case.
116
+
117
+ * **urlToSecure**: Convert the URL to Secure HTTPS format.
118
+
119
+ * **urlToUnsecure**: Convert the URL to HTTP format.
120
+
121
+ * **only_parent**: Only add a variable product info to variation.
122
+
123
+ * **parent**: Add variable product info to an attribute if variable value is not empty else add variation info.
124
+
125
+ * **parent_if_empty**: Add variable product info to an attribute if the variation info is empty.
126
+
127
+ * **Google Date Format**: Format date according to google merchant required format [Date and time, ISO 8601 compliant (YYYY-MM-DD, YYYY-MM-DDThh:mm:ss, or YYYY-MM-DDThh:mm:ssZ)].
128
+
129
+ * Total 18 types of output formatting option available
130
+
131
+ **PREFIX & SUFFIX:**
132
+
133
+ You can add your preferred prefix and suffix to any product attribute value. For example, if you want to add the currency code with the price, then you can enter the currency code either on prefix or suffix according to your channel requirement.
134
+
135
+ **STATIC VALUE:**
136
+
137
+ You can easily add the same information as a static value to a merchant attribute for all the products. For example, when you add store code to your google local inventory feed, you need to add the same value to your products.
138
+
139
+ **CATEGORY MAPPING:**
140
+
141
+ Categories are the essential key to get products into search results. It is best practice to assign the most matching shopping engine category to your WooCommerce store category for each product. During the creation of your WooCommerce product feeds, you can also create a category for that particular product. And after creating the category, you’ll get an option to map it to your marketplace category so that you can make two categories aligned to each other. This feature is mostly used for Google Shopping feed and Facebook/Instagram product feed. The process is dynamic by our plugin & you can map all of your categories to make them more relevant & reachable to buyers.
142
+
143
+ **BATCH FEED MAKING:**
144
+
145
+ Due to PHP execution time and memory limit, it's not possible to process Thousands of products at a time. We have developed the ctx feed plugin with the functionality to make feed with batches. Users can easily set Limit and Offset to make feed. This functionality is compatible with any WordPress Hosting and any number of products you have on your site.
146
+
147
+ **WP OPTIONS:**
148
+
149
+ You will love the ability to include any wp-options values into the Product feed. Your store must have lots of other plugins, and all those WooCommerce plugins save data as an option. We have made it simple to add WP Options value into your WooCommerce product feed.
150
+
151
+ **AUTO FEED UPDATE:**
152
+
153
+ This WooCommerce Date Feed plugin automatically updates the product feed according to your given interval so that your product data will always be up to date —no need to manually update the feed.
154
+
155
+ Due to product quantity (total products) and server configuration, the auto-feed update may not complete the update operation. For this reason, our plugin processes the products in small batches to make feed for unlimited products. But the auto-update operation process all the products at a time. So it may not work if your site has thousands of products. But you can quickly solve this issue by increasing the PHP execution_time (Time Limit) of your server.
156
+
157
+ **GOOGLE PRODUCT FEED:**
158
+
159
+ WooCommerce. With this woocommerce data feed Plugin, you can create a product feed by selecting the Google product feed template. Our pre-built google product feed template includes all the fields (Brand, GTIN, MPN, Product condition, etc.) that match the Google Product Feed requirements.
160
+
161
+ According to your feed configuration, this woocommerce data feed plugin automatically identifies the value for identifier_exist attribute based on Brand, GTIN, and MPN value.
162
+
163
+ Google Shopping product feed template automatically formats all the google product feed attribute structure according to <a target="_blank" href="https://support.google.com/merchants/answer/7052112?hl=en">Google Product Feed</a> requirements.
164
+
165
+ **GOOGLE CANONICAL URL:**
166
+
167
+ When you sell your woocommerce product with a different color variant, you may use the canonical_link attribute to submit the URL for each variant.
168
+
169
+ Then comes the canonical_link attribute that redirects all the variants to the main product's landing page that does not include any variant. Google's web search crawler identifies the URLs that link to a single base product that does not have any pre-selected parameters.
170
+
171
+ **GOOGLE SHIPPING & TAX:**
172
+
173
+ CTX Feed plugin allows you to place the shipping zone and shipping class accurately so that your Google Shopping product feed includes the correct shipping information (shipping country, region, service, postal_code, price). Our plugin utilizes your configured shipping zone settings for a proper representation. Along with WooCommerce Shipping this WooCommerce Google Product Feed plugin also compatible with <a target="_blank" href="https://codecanyon.net/item/table-rate-shipping-for-woocommerce/3796656">Table Rate Shipping</a> plugin by BolderElement.
174
+
175
+ **GOOGLE ANALYTICS UTM PARAMETER:**
176
+
177
+ WooCommerce Product Feed plugin has an option to include Google Analytics UTM parameters to the product URLs that will help you evaluate your marketing channels' performance via Google Analytics.
178
+
179
+ **GOOGLE DYNAMIC REMARKETING:**
180
+
181
+ Google Dynamic remarketing event snippet collects data about specific searches related to a product and represents personalized ads by matching them with your product feed.
182
+
183
+ Our plugin allows you to add Google Dynamic Remarketing event snippets across different pages of your website and enable the basic remarketing features of Google Remarketing Tracking.
184
+
185
+ **TABLE RATE SHIPPING:**
186
+
187
+ This plugin supports the WooCommerce Table Rate shipping by bolder element.
188
+
189
+ **FACEBOOK CATALOG / INSTAGRAM SHOPPING FEED:**
190
+
191
+ Facebook Catalog and Instagram have their own set of requirements that you need to follow to make a Facebook product feed or Instagram Shop feed. The attributes included in WooCommerce is not enough for Facebook Product Feed and Instagram Shop Feed.
192
+
193
+ With our Plugin, you can easily create a product feed by selecting the Facebook Catalog / Instagram template. We have included a pre-built Facebook Catalog Feed / Instagram Shop Feed template that includes all the required Facebook and Instagram attributes.
194
+
195
+ **FACEBOOK PIXEL TRACKING:**
196
+
197
+ With this plugin, you can integrate Facebook pixel code on your website and match it with the Facebook catalog/ Instagram product feed contents.
198
+
199
+ You can add Facebook Pixel events for Product pages, simple product page, variable product page, both Simple and Variable page, Category pages, Search result pages, All AddToCart events (cart page, cart button), Thank you Page
200
+
201
+ **PINTEREST SHOPPING PRODUCT FEED:**
202
+
203
+ With the Pinterest Product Feed template, you can easily create a product feed for woocommerce. We have included a pre-built Pinterest Feed template that includes all the Pinterest product feed attributes.
204
+
205
+ **BING SHOPPING PRODUCT FEED:**
206
+
207
+ With this plugin, you can create a Bing Shopping product feed by selecting the pre-made Bing Shopping Feed template. The Bing Shopping template includes all the necessary attributes that are required by Bing Shopping.
208
+
209
+ **DYNAMIC DISCOUNT & PRICING**
210
+
211
+ Our plugin automatically discounted price applied by any Dynamic Discount & Pricing Plugin.
212
+
213
+ **SEO TITLE & META DESCRIPTION**
214
+
215
+ CTX Feed plugin is compatible with three top-rated / most popular SEO plugins. You can assign SEO Meta Title and Meta Description instead of Product Title and Description if you want. Supported plugins are:
216
+
217
+ * <a target="_blank" href="https://wordpress.org/plugins/wordpress-seo/">Yoast SEO</a>.
218
+ * <a target="_blank" href="https://wordpress.org/plugins/all-in-one-seo-pack/">All in one SEO</a>.
219
+ * <a target="_blank" href="https://wordpress.org/plugins/seo-by-rank-math/">Rank Math SEO</a>.
220
+
221
+ **BUILTIN PLUGIN CACHE**
222
+
223
+ The built-in caching feature of our WooCommerce product feed plugin reduces the server load so that you can generate a product feed without requesting multiple database queries.
224
+
225
+ <blockquote>
226
+ <h4>If you like Free Version, you'll love the Pro Version</h4>
227
+ <br/>
228
+ <h4><a target="_blank" href="http://webappick.com/plugin/woocommerce-product-feed-pro/">WooCommerce Product Feed Pro</a> gives you everything you'll find in free and some awesome features described below.</h4>
229
+ <br/>
230
+ <br/>
231
+ </blockquote>
232
+
233
+
234
+ **PRODUCT BRAND (PRO FEATURE)**
235
+
236
+ CTX Feed Pro plugin has an option to add product brands. You can even add other brand plugins data for brands of your preference. The supported brand plugins are listed below:
237
+
238
+ * <a target="_blank" href="https://woocommerce.com/products/brands/">WooCommerce Brands</a>
239
+ * <a target="_blank" href="https://wordpress.org/plugins/perfect-woocommerce-brands/">Perfect Brands for WooCommerce</a>
240
+ * <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-brands-add-on/">YITH WooCommerce Brands Add-On</a>
241
+ * <a target="_blank" href="https://codecanyon.net/item/ultimate-woocommerce-brands-plugin/9433984">Ultimate WooCommerce Brands Plugin</a>
242
+
243
+ **DYNAMIC ATTRIBUTE (PRO FEATURE)**
244
+
245
+ The Dynamic Attribute combines the powerful features of the WooCommerce Product Feed Pro with the ability to set your conditions for any attribute. Different types of WooCommerce users have different types & classes of products and services. So, they may need a variety of custom values to demonstrate their products. And we are giving the options to make dynamic attributes as your need. It is also possible to generate the data feed file according to the search engine's requirements without changing your store's attributes.
246
+
247
+ **SMART FILTER & CONDITION (PRO FEATURE)**
248
+
249
+ Smart Filters help you exclude the non-profitable or out of season products you don’t want to share. Its high filtering options help users filter products according to product titles, price, availability of stocks, user rating, and other extensive product specifications.
250
+
251
+ **ATTRIBUTE MAPPING (PRO FEATURE)**
252
+
253
+ The first impression becomes the last impression! For example, Your product title can build interest in the buyer to hit your product. In the e-commerce business, product titles attract customers to get on the link if they are satisfied with the search result. The extended Product Title feature allows the user to extend the title of a product by adding different attributes. Extended Product Title is a great way to differentiate the products according to their variations, such as Size, Color, Custom Text, etc.
254
+
255
+ **MULTI LANGUAGE FEED - WPML & POLYLANG (PRO FEATURE)**
256
+
257
+ WooCommerce Product Feed Pro is compatible with <a target="_blank" href="https://wpml.org/">WPML</a> & <a target="_blank" href="https://wordpress.org/plugins/polylang/">Polylang</a> plugin for Multi-Language Feed. And by supporting WPML & Polylang makes it possible for the woocommerce store owners to create woocommerce product feed in different languages & currencies.
258
+
259
+ Multilanguage enables retailers to globalize their business in minutes because they always have a better chance of selling something if they are already selling it in the native language.
260
+
261
+ **MULTI CURRENCY FEED (PRO FEATURE)**
262
+
263
+ When you want to globalize the business by selling your products in different local channels of different countries, you can create the product feed with the currency according to that channel’s currency requirement.
264
+
265
+ WooCommerce Product Feed Pro can create product feeds for specific currencies.
266
+
267
+ * <a target="_blank" href="https://wordpress.org/plugins/woocommerce-multilingual/">WooCommerce Multilingual</a>.
268
+ * <a target="_blank" href="https://polylang.pro/downloads/polylang-for-woocommerce/">Polylang WooCommerce</a>.
269
+ * <a target="_blank" href="https://aelia.co/shop/currency-switcher-woocommerce/">Currency Switcher for WooCommerce</a> By Aelia.
270
+ * <a target="_blank" href="https://wordpress.org/plugins/woocommerce-currency-switcher/">WooCommerce Currency Switcher (WOOCS)</a> by realmag777.
271
+
272
+ **MULTI VENDOR FEED (PRO FEATURE)**
273
+
274
+ Generating product feeds for your multi-vendor enabled WooCommerce store is also straightforward. You can choose multiple vendors or a single vendor while creating product feeds. The list of supported multi-vendor plugins is below.
275
+
276
+ * <a target="_blank" href="https://wedevs.com/dokan">Dokan</a>.
277
+ * <a target="_blank" href="https://www.wcvendors.com/">WC Vendors</a>.
278
+ * <a target="_blank" href="https://wc-marketplace.com/">WC Marketplace</a>.
279
+ * <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-multi-vendor/">YITH WooCommerce Multi-Vendor</a>.
280
+ * <a target="_blank" href="https://wclovers.com/">WCFM Marketplace for WooCommerce</a>.
281
+
282
+ **CUSTOM ATTRIBUTE (PRO FEATURE)**
283
+
284
+ If you have added any custom attribute field to your product, you will get the product attribute list fields while creating a feed to assign your product's custom field value to your channel attribute.
285
+
286
+ **CUSTOM FIELDS - ACF,FIELD FACTORY,ETC. (PRO FEATURE)**
287
+
288
+ This plugin supports the <a target="_blank" href="https://wordpress.org/plugins/advanced-custom-fields/">Advanced Custom Field (ACF)</a> or any custom field plugin’s fields as attribute values. You can assign your custom product attribute values to any feed attribute.
289
+
290
+ **PRODUCT META & TAXONOMIES (PRO FEATURE)**
291
+
292
+ Product meta and taxonomies are very common, but what if you wanted to add them with your product feeds too? You can add any product taxonomies or any product meta value added by WooCommerce or any WooCommerce extension plugins into your product feeds with our support for the custom taxonomies and meta. Easily add product information like brand name, model number, and size.
293
+
294
+ **AVAILABLE FEATURES:**
295
+
296
+ * Unlimited number of products.
297
+ * Unlimited number of feeds.
298
+ * It is highly customizable, having access to 100+ merchant sites & also very responsive of user commands.
299
+ * 100+ Pre configured merchant template for 200+ countries.
300
+ * Feeds are accessible via HTTP or HTTPS. So that merchant can easily and automatically fetch product feed from given Feed URL.
301
+ * You can post your product feeds either manually from your site to shopping engines
302
+ or you can also set FTP to post your feeds automatically to your desired engines.
303
+ * There are 3 supported file formats for feeds. XML, TXT, CSV.
304
+ * Attribute Prefix and Suffix. You can easily add Marketing or Promo Text with Product Title, Description And its also possible to add Price symbol,currency code with price.
305
+ * Output formatting using Strip Tags, UTF-8 encode, Remove Space, CDATA, Htmlentities, Price and Number format.
306
+ * Output Limitation. You can Limit output length according to your merchant feed specification.
307
+ * Scheduled Feed Update
308
+ * Auto Feed upload via FTP
309
+
310
+ **SUPPORTED CHANNELS:**
311
+
312
+ * <a target="_blank" href="https://www.google.com/retail/merchant-center/">Google Shopping</a>
313
+ * <a target="_blank" href="https://www.google.com/adwords/">Google AdWords</a>
314
+ * <a target="_blank" href="https://developers.google.com/product-review-feeds/sample">Google Review Feed</a>
315
+ * <a target="_blank" href="https://support.google.com/google-ads/answer/7166527?hl=en">Google Dynamic Search Ads</a>
316
+ * <a target="_blank" href="https://support.google.com/merchants/answer/2906014?hl=en">Google Promotions Feed</a>
317
+ * <a target="_blank" href="https://www.facebook.com/business/a/online-sales/dynamic-product-ads">Facebook Catalog Feed</a>
318
+ * <a target="_blank" href="https://help.pinterest.com/en/business/article/data-source-specification">Pinterest Catalog Feed</a>
319
+ * <a target="_blank" href="https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs">Pinterest RSS Feed</a>
320
+ * <a target="_blank" href="https://feedonomics.com/blog/local-inventory-ads-on-microsoft-advertising-aka-bing-ads/">Bing Local Inventory Feed</a>
321
+ * <a target="_blank" href="https://advertising.amazon.com/">Amazon Seller Ad</a>
322
+ * <a target="_blank" href="http://www.ebaycommercenetwork.com/">eBay Commerce Network</a>
323
+ * <a target="_blank" href="http://www.nextag.com/">NexTag.com</a>
324
+ * <a target="_blank" href="http://www.pricegrabber.com/">PriceGrabber.com </a>
325
+ * <a target="_blank" href="https://www.kelkoo.com/">Kelkoo.com</a>
326
+ * <a target="_blank" href="http://www.houzz.com/">Houzz.com</a>
327
+ * <a target="_blank" href="http://www.dealtime.com">Dealtime.com</a>
328
+ * <a target="_blank" href="http://www.affiliatewindow.com/uk/">Affiliatewindow.com</a>
329
+ * <a target="_blank" href="http://advertise.bingads.microsoft.com/en-uk/home">Bing Ads</a>
330
+ * <a target="_blank" href="http://www.idealo.de/">Idealo.de</a>
331
+ * <a target="_blank" href="https://www.beslist.nl/">Beslist.nl</a>
332
+ * <a target="_blank" href="https://www.ffshoppen.nl/">ffshoppen.nl</a>
333
+ * <a target="_blank" href="https://www.vergelijk.nl/">vergelijk.nl</a>
334
+ * <a target="_blank" href="https://siroop.ch/">siroop.ch</a>
335
+ * <a target="_blank" href="https://jet.com/">Jet.com</a>
336
+ * <a target="_blank" href="https://www.wish.com/">Wish.com</a>
337
+ * <a target="_blank" href="http://www.bizrate.com/">bizrate.com</a>
338
+ * <a target="_blank" href="http://www.shopping.com/">Shopping.com</a>
339
+ * <a target="_blank" href="http://www.shopzilla.com/">Shopzilla.com</a>
340
+ * <a target="_blank" href="http://www.shopmania.com/">ShopMania.com</a>
341
+ * <a target="_blank" href="http://www.shop.com/">Shop.com</a>
342
+ * <a target="_blank" href="https://pricespy.co.uk/">PriceSpy.co.uk</a>
343
+ * <a target="_blank" href="https://www.prisjakt.nu/">Prisjakt.nu</a>
344
+ * <a target="_blank" href="https://www.pricefalls.com/">Pricefalls.com</a>
345
+ * <a target="_blank" href="http://www.pricerunner.co.uk/">Pricerunner.co.uk</a>
346
+ * <a target="_blank" href="http://www.cj.com/">Comission Junction (cj.com)</a>
347
+ * <a target="_blank" href="http://www.polyvore.com/">Polyvore.com</a>
348
+ * <a target="_blank" href="https://www.fruugo.com/">Fruugo.com</a>
349
+ * <a target="_blank" href="https://www.fruugoaustralia.com/">Fruugoaustralia.com</a>
350
+ * <a target="_blank" href="http://opensky.com">Opensky.com</a>
351
+ * <a target="_blank" href="http://11Main.com">11Main.com</a>
352
+ * <a target="_blank" href="http://www.shopbot.ca/">Shopbot.ca</a>
353
+ * <a target="_blank" href="http://www.twenga.com/">Twenga.com/</a>
354
+ * <a target="_blank" href="http://www.wine-searcher.com/">Wine-searcher.com</a>
355
+ * <a target="_blank" href="http://ammoseek.com/">Ammoseek.com</a>
356
+ * <a target="_blank" href="http://www.avantlink.com/">Avantlink.com</a>
357
+ * <a target="_blank" href="http://connexity.com/">Connexity.com</a>
358
+ * <a target="_blank" href="http://www.linkshareuk.com/">Linkshareuk.com</a>
359
+ * <a target="_blank" href="http://www.bonanza.com/">Bonanza.com</a>
360
+ * <a target="_blank" href="https://www.pepperjam.com/">Pepperjam.com</a>
361
+ * <a target="_blank" href="http://www.criteo.com/">Criteo.com</a>
362
+ * <a target="_blank" href="https://www.pixlee.com/">Pixlee.com</a>
363
+ * <a target="_blank" href="https://www.adroll.com">Adroll.com</a>
364
+ * <a target="_blank" href="http://www.graziashop.com/">GraziaShop.com</a>
365
+ * <a target="_blank" href="http://www.leguide.com/">Leguide.com</a>
366
+ * <a target="_blank" href="http://nl.hardware.info/">Hardware.info</a>
367
+ * <a target="_blank" href="http://www.pricewatch.com/">Pricewatch.com</a>
368
+ * <a target="_blank" href="http://www.newegg.com/">Newegg.com</a>
369
+ * <a target="_blank" href="http://www.webgains.com/">Webgains.com</a>
370
+ * <a target="_blank" href="http://www.rakuten.com/">Rakuten.com</a>
371
+ * <a target="_blank" href="https://www.quicksales.com.au/">Quicksales.com.au</a>
372
+ * <a target="_blank" href="http://www.mysmartprice.com/">Mysmartprice.com</a>
373
+ * <a target="_blank" href="http://ae.pricena.com/en/">Pricena.com</a>
374
+ * <a target="_blank" href="http://www.pricejugaad.com/">Pricejugaad.com</a>
375
+ * <a target="_blank" href="https://yaoota.com/en-eg/">Yaoota.com</a>
376
+ * <a target="_blank" href="https://compare.buyhatke.com/">Buyhatke.com</a>
377
+ * <a target="_blank" href="https://www.comparekaro.pk/">Comparekaro.pk</a>
378
+ * <a target="_blank" href="http://site.adform.com">Adform.com</a>
379
+ * <a target="_blank" href="https://www.polyvore.com/">Polyvore.com</a>
380
+ * <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
381
+ * <a target="_blank" href="https://www.spartoo.co.uk/">Spartoo.co.uk</a>
382
+ * <a target="_blank" href="https://shopee.com/">Shopee</a>
383
+ * <a target="_blank" href="http://www.choozen.co.uk/">Choozen</a>
384
+ * <a target="_blank" href="https://www.ciao.co.uk/">Ciao</a>
385
+ * <a target="_blank" href="http://www.priceminister.com/">PriceMinister.com</a>
386
+ * <a target="_blank" href="https://skinflint.co.uk/">Skinflint</a>
387
+ * <a target="_blank" href="https://www.rakuten.com/">Rakuten</a>
388
+ * <a target="_blank" href="https://www.etsy.com/">Etsy</a>
389
+ * <a target="_blank" href="https://www.bol.com/nl/index.html">Bol.com</a>
390
+ * <a target="_blank" href="https://www.crowdfox.com/">CrowdFox.com</a>
391
+ * <a target="_blank" href="https://www.real.de/">Real.de</a>
392
+ * <a target="_blank" href="http://incurvy.co.uk/">Incurvy.co.uk</a>
393
+ * <a target="_blank" href="https://de.allyouneed.com/de/">Allyouneed.com</a>
394
+ * <a target="_blank" href="https://www.apomio.de/">Apomio.de</a>
395
+ * <a target="_blank" href="https://www.billiger.de/">Billiger.de</a>
396
+ * <a target="_blank" href="https://www.domodi.de/">Domodi.de</a>
397
+ * <a target="_blank" href="https://www.fashiola.de/">Fashiola.de</a>
398
+ * <a target="_blank" href="https://geizhals.de/">Geizhals.de</a>
399
+ * <a target="_blank" href="http://www.guenstiger.de/">Guenstiger.de</a>
400
+ * <a target="_blank" href="https://www.hood.de/">Hood.de</a>
401
+ * <a target="_blank" href="https://www.ladenzeile.de/">Ladenzeile.de</a>
402
+ * <a target="_blank" href="https://www.livingo.de/">Livingo.de</a>
403
+ * <a target="_blank" href="https://www.medizinfuchs.de/">Medizinfuchs.de</a>
404
+ * <a target="_blank" href="https://www.moebel.de/">Moebel.de</a>
405
+ * <a target="_blank" href="https://www.mybestbrands.de/">Mybestbrands.de</a>
406
+ * <a target="_blank" href="http://www.preis.de/">Preis.de</a>
407
+ * <a target="_blank" href="https://www.restposten.de/">Restposten.de</a>
408
+ * <a target="_blank" href="https://www.sparmedo.de/">Sparmedo.de</a>
409
+ * <a target="_blank" href="https://www.stylelounge.de/">Stylelounge.de</a>
410
+ * <a target="_blank" href="http://www.stylefruits.de/">Stylefruits.de</a>
411
+ * <a target="_blank" href="https://www.marktplaats.nl/">Marktplaats.nl</a>
412
+ * <a target="_blank" href="http://spartoo.nl/">Spartoo.nl</a>
413
+ * <a target="_blank" href="https://www.ooshopping.nl/">Ooshopping.nl</a>
414
+ * <a target="_blank" href="https://www.vergelijk.nl/">Vergelijk.nl</a>
415
+ * <a target="_blank" href="https://www.kieskeurig.nl/">Kieskeurig.nl</a>
416
+ * <a target="_blank" href="https://tweakers.net/">Tweakers.net</a>
417
+ * <a target="_blank" href="https://www.kleding.nl/">Kleding.nl</a>
418
+ * <a target="_blank" href="https://www.shopalike.it/">Shopalike.it</a>
419
+ * <a target="_blank" href="https://www.trovaprezzi.it/">Trovaprezzi.it</a>
420
+ * <a target="_blank" href="https://www.skroutz.gr/">Skroutz.gr</a>
421
+ * <a target="_blank" href="https://www.manomano.fr/">Manomano.fr</a>
422
+ * <a target="_blank" href="https://www.cdiscount.com/">Cdiscount.com</a>
423
+ * <a target="_blank" href="https://www.fnac.com/">Fnac.com</a>
424
+ * <a target="_blank" href="https://www.comparer.be/">Comparer.be</a>
425
+ * <a target="_blank" href="https://www.cherchons.com/">Cherchons.com</a>
426
+ * <a target="_blank" href="http://www.miinto.com/">Miinto.com</a>
427
+ * <a target="_blank" href="https://www.ricardo.ch/">Ricardo.ch</a>
428
+ * <a target="_blank" href="https://www.kauftipp.ch/">Kauftipp.ch</a>
429
+ * <a target="_blank" href="https://zap.co.il/">Zap.co.il</a>
430
+ * <a target="_blank" href="https://www.zalando.com/">Zalando</a>
431
+ * <a target="_blank" href="https://smartly.io/">Smartly.io</a>
432
+ * <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
433
+ * <a target="_blank" href="https://developer.yahoo.com/nativeandsearch/guide/dynamic-product-ads/operations-dpa/">Yahoo Dynamic Product Ads</a>
434
+ * <a target="_blank" href="https://www.thenextad.com/">TheNextAd.com</a>
435
+ * <a target="_blank" href="https://modina.de/">Modina.de</a>
436
+ * <a target="_blank" href="https://www.pametno.si/">Pametno.si</a>
437
+ * <a target="_blank" href="http://nabava.net/">Nabava.net</a>
438
+ * <a target="_blank" href="http://pametno.rs/">Pametno.rs</a>
439
+ * <a target="_blank" href="https://rakutenadvertising.com/product-feed-specification/">Rakuten.de</a>
440
+ * <a target="_blank" href="https://www.modalova.fr/">Modalova</a>
441
+ * <a target="_blank" href="https://www.wine-searcher.com/">Wine Searcher</a>
442
+ * <a target="_blank" href="https://www.goedgeplaatst.nl/">Goedgeplaatst.nl</a>
443
+ * <a target="_blank" href="https://businesshelp.snapchat.com/s/article/product-catalog-specs?language=en_US">Snapchat template</a>
444
+ * <a target="_blank" href="https://www.fashionchick.nl/">Fashionchick.nl</a>
445
+ * <a target="_blank" href="https://www.catch.com.au/">Catch.com.au</a>
446
+ * <a target="_blank" href="https://www.zbozi.cz/">Zbozi.cz</a>
447
+ * <a target="_blank" href="https://www.heureka.cz/">Heureka.cz</a>
448
+ * <a target="_blank" href="https://support.profitshare.ro/hc/ro/articles/211436229-Importul-produselor-prin-CSV">Profitshare template</a>
449
+
450
+
451
+ **CUSTOMER SUPPORT TEAM**
452
+
453
+ We’ve a dedicated team of coders and wordpress experts to make your journey to us friendlier & error free. So, if you want to use our plugin or if you are facing any problem with our plugin feel free to say us by emailing here: support@webappick.com.
454
+
455
+ == Installation ==
456
+
457
+ Before installing the plugin please make sure that
458
+
459
+ 1. Your php version is 5.4 or greater
460
+ 1. WordPress version is 3.6 or greater
461
+ 1. WooCommerce version is 2.4 or greater
462
+
463
+ You can also check your system status and versions from WooCommerce > System Status
464
+
465
+ This section describes how to install the plugin and get it working.
466
+
467
+ e.g.
468
+
469
+ 1. Upload `webappick-product-feed-for-woocommerce` folder to the `/wp-content/plugins/` directory
470
+ 1. Activate the plugin through the 'Plugins' menu in WordPress
471
+ 1. Select 'CTX Feed' from admin menu, Click 'Make Feed'
472
+ 1. Select the template and make feed
473
+ 1. Done!
474
+
475
+ == Frequently Asked Questions ==
476
+
477
+ <blockquote>
478
+ <h4>Read <a target="_blank" href="https://webappick.com/docs/woo-feed/">Documentation and FAQ</a></h4>
479
+ <br/>
480
+ <h4>For Support Email to support@webappick.com</h4>
481
+ <br/>
482
+ </blockquote>
483
+
484
+ = which shopping engines are supported? =
485
+
486
+ This plugin support all the sopping engines.
487
+
488
+ = Does the plugin support product variation? =
489
+
490
+ Yes
491
+
492
+ = Is there any limitation to feed size? =
493
+
494
+ No, You can make unlimited number of feed
495
+
496
+ = What is the difference between Free and Pro Version? =
497
+
498
+ Free version include all the major functions but Pro version have some awesome functionality.
499
+
500
+ Using pro version:
501
+
502
+ * You can filter product using price, quantity, product name
503
+
504
+ * You can use custom taxonomies or other plugins taxonomy value into feed
505
+
506
+ * Using Category Mapping You can map your store category with your merchant category which is very useful for visitor to find out your product into merchant site.
507
+
508
+ * You can make different price for different merchant using Dynamic Attribute. Also it is possible to set different value for different product using Dynamic Attribute Conditions.
509
+
510
+ == Screenshots ==
511
+
512
+ 1. Manage Feed
513
+ 2. Make Feed
514
+ 3. Output Types
515
+ 4. Category Mapping
516
+
517
+ == Changelog ==
518
+
519
+ = 4.4.13 (2021-07-12) =
520
+ * Added: Availability date attribute has been added.
521
+ * Added: Woocommerce Germanized gtin,mpn attribute has been added.
522
+ * Fixed: Variable product missing issue has been fixed.
523
+
524
+ = 4.4.12 (2021-07-05) =
525
+ * Fixed: Google empty Category issue fixed.
526
+
527
+ = 4.4.11 (2021-07-02) =
528
+ * Added: Shipping handling time and transit time attributes added.
529
+ * Fixed: Variations can't be dragged separately issue has been fixed.
530
+
531
+ = 4.4.10 (2021-07-01) =
532
+ * Fixed: Gtin identifiers with attribute addition.
533
+
534
+ = 4.4.9 (2021-06-30) =
535
+ * Fixed: Gtin missing issue has been fixed.
536
+ * Fixed: Availability attribute value should return 0 when out of stock product quantity is empty.
537
+
538
+ = 4.4.8 (2021-06-29) =
539
+ * Fixed: Google Shipping attribute not adding to CSV Feed has been solved.
540
+
541
+ = 4.4.7 (2021-06-28) =
542
+ * Fixed: Extra identifier image attribute removed, additional image attribute should be used instead.
543
+
544
+ = 4.4.6 (2021-06-24) =
545
+ * Added: Rank math GTIN attribute has been added.
546
+
547
+ = 4.4.5 (2021-06-23) =
548
+ * Added: Log file download feature has been added.
549
+
550
+ = 4.4.4 (2021-06-22) =
551
+ * Added: Yoast identifier attributes has been added.
552
+ * Added: Yoast WooCommerce SEO plugin compatibility added.
553
+
554
+ = 4.4.3 (2021-06-21) =
555
+ * Fixed: Minor warning fixed.
556
+ * Fixed: Latest video tutorial link at readme.
557
+
558
+ = 4.4.2 (2021-06-20) =
559
+ * Fixed: Shipping cost empty instead of 0 for free shipping, issue has been fixed.
560
+ * Fixed: Warning about get_class object has been fixed.
561
+
562
+ = 4.4.1 (2021-06-17) =
563
+ * Fixed: Code enhancement and junk cleaned.
564
+ * Fixed: Performance improved.
565
+
566
+ = 4.4.0 (2021-06-16) =
567
+ * Added: Google installment attributes added.
568
+ * Added: Unit price attributes added.
569
+
570
+ = 4.3.101 (2021-06-16) =
571
+ * Tweak: Added filter for schema description.
572
+ * Fixed: Upgrade compatibility for identifier issue fixed.
573
+
574
+ = 4.3.100 (2021-06-14) =
575
+ * Fixed: Condition attribute default value missing for Google and Facebook template has been fixed.
576
+ * Fixed: Variation input broken design fixed.
577
+ * Fixed: Variation meta issue for identifier fixed.
578
+
579
+ = 4.3.99 (2021-06-13) =
580
+ * Fixed: Identifier values missing issue fixed.
581
+
582
+ = 4.3.98 (2021-06-10) =
583
+ * Fixed: Identifier for variation not working issue fixed.
584
+
585
+ = 4.3.97 (2021-06-10) =
586
+ * Fixed: Identifier attributes missing in the dropdown issue fixed.
587
+
588
+ = 4.3.96 (2021-06-09) =
589
+ * Fixed: Vendor store name attribute.
590
+
591
+ = 4.3.95 (2021-06-09) =
592
+ * Fixed: Brand value as wp error issue has been fixed.
593
+
594
+ = 4.3.94 (2021-06-08) =
595
+ * Added: Custom fields settings has been added to setting page.
596
+
597
+ = 4.3.93 (2021-06-07) =
598
+ * Fixed: Code Enhancement.
599
+ * Fixed: Junk Cleaned.
600
+
601
+ = 4.3.92 (2021-06-03) =
602
+ * Fixed: Facebook description issue for description attribute has been fixed.
603
+
604
+ = 4.3.91 (2021-06-02) =
605
+ * Fixed: Review template not getting all the reviews issue has been fixed.
606
+
607
+ = 4.3.90 (2021-05-31) =
608
+ * Fixed: Facebook description issue for description html attribute fixed.
609
+
610
+ = 4.3.89 (2021-05-27) =
611
+ * Fixed: Set woocommerce default country to new feed.
612
+
613
+ = 4.3.88 (2021-05-26) =
614
+ * Fixed: Brand taxonomy issue for quick edit fixed.
615
+
616
+ = 4.3.87 (2021-05-23) =
617
+ * Added: Filter hook added for auto update interval.
618
+
619
+ = 4.3.86 (2021-05-20) =
620
+ * Fixed: Google webitemid attribute output as g:webitemid.
621
+
622
+ = 4.3.85 (2021-05-19) =
623
+ * Added: Attribute field webitemid to google merchant.
624
+
625
+ = 4.3.84 (2021-05-13) =
626
+ * Fixed: Removed junk banner message.
627
+
628
+ = 4.3.83 (2021-05-12) =
629
+ * Added: Language URL slug for Translatepress plugin.
630
+
631
+ = 4.3.82 (2021-05-10) =
632
+ * Fixed: Status tab active issue fixed.
633
+
634
+ = 4.3.81 (2021-05-07) =
635
+ * Added: New attribute Product Description (with HTML) added. This attribute will return product description with HTML tags.
636
+
637
+ = 4.3.80 (2021-05-06) =
638
+ * Added: GoedGeplaatst.nl template default attributes added.
639
+
640
+ = 4.3.79 (2021-05-04) =
641
+ * Added: GoedGeplaatst.nl template has been added.
642
+
643
+ = 4.3.78 (2021-05-03) =
644
+ * Fixed: Global p tag style removed.
645
+
646
+ = 4.3.77 (2021-04-29) =
647
+ * Fixed: Yoast canonical link issue has been fixed.
648
+
649
+ = 4.3.76 (2021-04-27) =
650
+ * Fixed: Output Type auto select issue fixed.
651
+
652
+ = 4.3.75 (2021-04-27) =
653
+ * Fixed: Junk cleaned.
654
+ * Fixed: Performance enhancement.
655
+
656
+ = 4.3.74 (2021-04-25) =
657
+ * Fixed: Output type auto select issue fixed.
658
+
659
+ = 4.3.73 (2021-04-23) =
660
+ * Fixed: Google shipping price issue fixed.
661
+
662
+ = 4.3.72 (2021-04-22) =
663
+ * Fixed: Output type updated, removed date format.
664
+
665
+ = 4.3.71 (2021-04-20) =
666
+ * Fixed: Google prefix was missing for shipping sub attributes, issue has been fixed.
667
+
668
+ = 4.3.70 (2021-04-20) =
669
+ * Fixed: Custom template adding CDATA issue has been fixed.
670
+
671
+ = 4.3.69 (2021-04-18) =
672
+ * Fixed: CDATA issue has been fixed.
673
+ * Fixed: FTP setting description updated.
674
+
675
+ = 4.3.68 (2021-04-15) =
676
+ * Fixed: WP_POST as string fatal error has been solved.
677
+
678
+ = 4.3.67 (2021-04-14) =
679
+ * Added: FTP enable/disable option has been added.
680
+
681
+ = 4.3.66 (2021-04-13) =
682
+ * Fixed: Brand by ctx feed missing in the dropdown issue has been fixed.
683
+
684
+ = 4.3.65 (2021-04-12) =
685
+ * Fixed: Improved performance.
686
+ * Fixed: Code enhancement and Junk cleaned.
687
+
688
+ = 4.3.64 (2021-04-11) =
689
+ * Fixed: Free shipping contains price issue has been solved.
690
+
691
+ = 4.3.63 (2021-04-08) =
692
+ * Added: Ratings in the review template has been added.
693
+
694
+ = 4.3.62 (2021-04-07) =
695
+ * Fixed: Performance Enhancement.
696
+ * Fixed: Junk Cleaned.
697
+
698
+ = 4.3.61 (2021-04-06) =
699
+ * Added: Google product review template has been added - (beta test).
700
+ * Fixed: PHP Warning: min() lowest shipping price issue fixed.
701
+
702
+ = 4.3.60 (2021-04-04) =
703
+ * Added: Compatibility for Pricing Deals for WooCommerce by Vark.
704
+
705
+ = 4.3.59 (2021-04-02) =
706
+ * Tweak: Custom Template without cdata and XML UTF-8 encoding for XML element string.
707
+
708
+ = 4.3.58 (2021-04-01) =
709
+ * Fixed: Conflict with XT WooCommerce Variation Swatches plugin has been solved.
710
+
711
+ = 4.3.57 (2021-03-31) =
712
+ * Fixed: TAB delimiter missing issue solved.
713
+ * Fixed: FeedType change make wrong delimiter selected issue has been solved.
714
+
715
+ = 4.3.56 (2021-03-29) =
716
+ * Added: Compatibility for Discount Plugin by Orion has been added.
717
+
718
+ = 4.3.55 (2021-03-28) =
719
+ * Added: Addtocart in cart & product page added and removed ajax addtocart event.
720
+
721
+ = 4.3.54 (2021-03-25) =
722
+ * Added: Compatibility for Dynamic Pricing With Discount Rules by Acowebs.
723
+ * Fixed: Pattern label updated.
724
+
725
+ = 4.3.53 (2021-03-24) =
726
+ * Added: Custom fields feature, custom fields should be found in the dropdown list.
727
+ * Added: Taxonomies feature, taxonomies should be found in the dropdown list.
728
+
729
+ = 4.3.52 (2021-03-22) =
730
+ * Added: Compatibility for Discount Rules for WooCommerce by Flycart.
731
+
732
+ = 4.3.51 (2021-03-18) =
733
+ * Fixed: Onchange feedType to csv and txt, delimiter and enclosure doesn't show is solved.
734
+
735
+ = 4.3.50 (2021-03-17) =
736
+ * Tweak: WordPress 5.7 compatibility tested.
737
+ * Fixed: Bundled product not appearing issue solved.
738
+ * Fixed: Undefined current_price issue solved.
739
+
740
+ = 4.3.49 (2021-03-16) =
741
+ * Added: Compatibility for WooCommerce Bundled Products by Iconic.
742
+
743
+ = 4.3.48 (2021-03-15) =
744
+ * Fixed: PHP 7.4+ compatibility tested.
745
+ * Fixed: Temporary codes removed.
746
+
747
+ = 4.3.47 (2021-03-14) =
748
+ * Added: Product full category path attribute added.
749
+ * Fixed: Product local category label updated to product category.
750
+
751
+ = 4.3.46 (2021-03-11) =
752
+ * Fixed: Facebook pixel issue solved.
753
+
754
+ = 4.3.45 (2021-03-10) =
755
+ * Fixed: Modify modalova template attributes.
756
+
757
+ = 4.3.44 (2021-03-09) =
758
+ * Added: Modalova template added.
759
+
760
+ = 4.3.43 (2021-03-08) =
761
+ * Tweak: Enhancement performance.
762
+ * Fixed: Cleaned junk files.
763
+
764
+ = 4.3.42 (2021-03-07) =
765
+ * Fixed: Undefined index feed_country issue has been solved.
766
+
767
+ = 4.3.41 (2021-03-03) =
768
+ * Tweak: Tested WordPress 5.7 compatibility.
769
+
770
+ = 4.3.40 (2021-03-03) =
771
+ * Tweak: WC_Query as default product feed query.
772
+ * Fixed: Feed attribute change issue fixed.
773
+
774
+ = 4.3.39 (2021-03-02) =
775
+ * Added: Added filter for all product attributes.
776
+
777
+ = 4.3.38 (2021-02-28) =
778
+ * Tweak: Rakuten.de template updated.
779
+
780
+ = 4.3.37 (2021-02-25) =
781
+ * Fixed: Status page product count issue fixed.
782
+
783
+ = 4.3.36 (2021-02-24) =
784
+ * Added: Additional images in google and facebook default attributes list has been added.
785
+
786
+ = 4.3.35 (2021-02-22) =
787
+ * Added: Click button to copy status in status page has been added.
788
+
789
+ = 4.3.34 (2021-02-18) =
790
+ * Added: Wine Searcher template added.
791
+
792
+ = 4.3.33 (2021-02-17) =
793
+ * Added: WP options feature added where wordpress built-in options can be set from the WP Options page and can be found in the product attribute dropdown list.
794
+ * Added: Product custom attributes in product attribute dropdown list.
795
+
796
+ = 4.3.32 (2021-02-16) =
797
+ * Added: Auto exclude url addition for caching plugins.
798
+
799
+ = 4.3.31 (2021-02-14) =
800
+ * Added: Woo Feed to new name CTX Feed.
801
+ * Added: Status page new look with all product counter.
802
+
803
+ = 4.3.30 (2021-02-11) =
804
+ * Added: WooCommerce latest version(5.0.0) compatibility.
805
+ * Tweak: Updated doc links.
806
+ * Tweak: Updated topbar links.
807
+
808
+ = 4.3.29 (2021-02-10) =
809
+ * Added: Open feed file button in edit feed page.
810
+
811
+ = 4.3.28 (2021-02-07) =
812
+ * Fixed: GTIN/MPN/EAN disabled hide inputs at edit product page.
813
+
814
+ = 4.3.27 (2021-02-03) =
815
+ * Fixed: Input request issues fixed.
816
+
817
+ = 4.3.26 (2021-02-03) =
818
+ * Added: WooCommerce latest version(4.9) compatibility.
819
+ * Fixed: Performance enhancement.
820
+ * Fixed: Junk cleaned.
821
+
822
+ = 4.3.25 (2021-02-01) =
823
+ * Added: Date format in output type.
824
+
825
+ = 4.3.23 (2021-01-28) =
826
+ * Fixed: Class Woo_Feed_Log_Handler_File not exist solved.
827
+
828
+ = 4.3.22 (2021-01-26) =
829
+ * Added: Snapchat template added.
830
+
831
+ = 4.3.21 (2021-01-21) =
832
+ * Added: Output type Rounded price added.
833
+
834
+ = 4.3.20 (2021-01-19) =
835
+ * Fixed: Idealo article number default attribute to product id.
836
+
837
+ = 4.3.19 (2021-01-18) =
838
+ * Fixed: Uncaught error get_title issue solved.
839
+
840
+ = 4.3.18 (2021-01-12) =
841
+ * Tweak: Removing cache during plugin deactivation.
842
+ * Tweak: Attribute positioning for yoast, rankmath, all in one seo plugin.
843
+
844
+ = 4.3.17 (2021-01-11) =
845
+ * Fixed: Google local and inventory g prefix issue solved.
846
+ * Fixed: Edit page file type change issue solved.
847
+ * Tweak: Idealo shipping_cost value as default.
848
+
849
+ = 4.3.16 (2021-01-10) =
850
+ * Added: Dynamic shipping and tax for Google, Facebook, Pinterest, Snapchat feed.
851
+ * Added: Shipping cost attributes.
852
+
853
+ = 4.3.15 (2020-12-29) =
854
+ * Fixed: Facebook pixel event issue solved.
855
+
856
+ = 4.3.14 (2020-12-28) =
857
+ * Fixed: Edit page file type issue.
858
+ * Fixed: Facebook pixel price fatal error.
859
+
860
+ = 4.3.13 (2020-12-27) =
861
+ * Added: Parent Title, Parent URL, Add to cart link, SKU Id attribute.
862
+ * Fixed: Category exclude issue solved.
863
+
864
+ = 4.3.12 (2020-12-24) =
865
+ * Added: Debug feed file form in status page.
866
+ * Fixed: Image url fatal error solved.
867
+ * Fixed: Uncaught WC_Logger class error solved.
868
+ * Fixed: Fixed product ID error issue.
869
+
870
+ = 4.3.11 (2020-12-23) =
871
+ * Added: Google shipping, identifier, tax attribute rule.
872
+ * Added: Bing shipping, identifier, tax attribute rule.
873
+ * Added: Pinterest ads_link attribute.
874
+
875
+ = 4.3.10 (2020-12-22) =
876
+ * Fixed: Brand disable/enable option.
877
+
878
+ = 4.3.9 (2020-12-20) =
879
+ * Added: Google Dynamic Search Ads Template.
880
+ * Added: Pinterest RSS board feed template.
881
+ * Fixed: Product list table breaking issue
882
+ * Fixed: Complete registration missing parameters for facebook pixel.
883
+
884
+ = 4.3.8 (2020-12-19) =
885
+ * Added : Google Promotions Template.
886
+ * Added : Bing Local Inventory Template.
887
+ * Added : Facebook Pixel event tracking.
888
+
889
+ = 4.3.7 (2020-12-15) =
890
+ * Tweak : Bing template attributes managed.
891
+
892
+ = 4.3.6 (2020-12-14) =
893
+ * Tweak : Google local inventory ads attributes managed.
894
+ * Tweak : Google local product inventory attributes managed.
895
+ * Tweak : Facebook attributes source updated.
896
+
897
+ = 4.3.5 (2020-12-13) =
898
+ * Tweak : Canonical link as default attribute for google.
899
+
900
+ = 4.3.4 (2020-12-10) =
901
+ * Fix : Variation products attribute as parent not coming solved.
902
+ * Tweak : Switch and update buttons new look.
903
+
904
+ = 4.3.3 (2020-12-09) =
905
+ * Fix : Import popup causes broken design solved.
906
+
907
+ = 4.3.2 (2020-12-08) =
908
+ * Tweak : Idealo delivery time, shopping cost comment updated.
909
+ * Fix : Jquery load function undefined issue solved.
910
+
911
+ = 4.3.1 (2020-12-03) =
912
+ * Tweak : Import file popup new look.
913
+ * Tweak : Bulk apply button new look.
914
+
915
+ = 4.3.0 (2020-12-02) =
916
+ * Fixed : PHP older version undefined aray_key_first solved.
917
+
918
+ = 4.2.9 (2020-11-29) =
919
+ * Added : Fashionchick.nl template.
920
+
921
+ = 4.2.8 (2020-11-26) =
922
+ * Added : Catch.com.au template.
923
+
924
+ = 4.2.7 (2020-11-25) =
925
+ * Added : Status page.
926
+ * Added : Top black banner.
927
+
928
+ = 4.2.6 (2020-11-24) =
929
+ * Version bump : Checked compatibility with WordPress 5.6.
930
+ * Version bump : Checked compatibility with WooCommerce 4.7.
931
+
932
+ = 4.2.5 (2020-11-23) =
933
+ * Added : Canonical URL in feed for rank math seo plugin.
934
+
935
+ = 4.2.4 (2020-11-22) =
936
+ * Added : Rank Math SEO plugin support.
937
+
938
+ = 4.2.2 (2020-11-19) =
939
+ * Tweak : Performance enhancement.
940
+ * Fix: Spacing issue solved.
941
+
942
+ = 4.2.1 (2020-11-18) =
943
+ * Fix: Local template attribute for google.
944
+ * Fix: Local inventory template attribute for google.
945
+
946
+ = 4.2.0 (2020-11-16) =
947
+ * Tweak: Update interval button new look.
948
+ * Tweak: Clear cache button new look.
949
+
950
+ = 4.1.9 (2020-11-15) =
951
+ * Tweak: Local product inventory template updated.
952
+ * Fix: Local product csv template.
953
+
954
+ = 4.1.8 (2020-11-11) =
955
+ * Tweak: Striping title, description, short description.
956
+ * Fix: Fatal error for saveCSVFile.
957
+
958
+ = 4.1.7 (2020-11-11) =
959
+ * Added: TSV file support.
960
+ * Added: XLS file support.
961
+
962
+ = 4.1.6 (2020-11-09) =
963
+ * Tweak: Google local template update.
964
+
965
+ = 4.1.5 (2020-11-08) =
966
+ * Fix: Bing template as txt format.
967
+
968
+ = 4.1.4 (2020-11-05) =
969
+ * Fix: Unslush link solved.
970
+ * Fix: Removed whitespaces.
971
+
972
+ = 4.1.3 (2020-11-03) =
973
+ * Tweak: Google shopping action feed structure.
974
+
975
+ = 4.1.2 (2020-11-01) =
976
+ * Fix: Code enhancement.
977
+ * Tweak: Performance increased.
978
+
979
+ = 4.1.1 (2020-10-29) =
980
+ * Tweak: Progressbar new look.
981
+
982
+ = 4.1.0 (2020-10-26) =
983
+ * Fix: Switcher activation issue.
984
+
985
+ = 4.0.9 (2020-10-22) =
986
+ * Fix: Helper functions error solved.
987
+ * Tweak: Performance enhancement.
988
+
989
+ = 4.0.8 (2020-10-21) =
990
+ * Fix: Bing shipping default value from shipping class.
991
+
992
+ = 4.0.7 (2020-10-20) =
993
+ * Fix: Bing template as csv format.
994
+
995
+ = 4.0.6 (2020-10-18) =
996
+ * Fix: Admin and translation bug fixed.
997
+
998
+ = 4.0.5 (2020-10-15) =
999
+ * Tweak: Admin action link style updated.
1000
+
1001
+ = 4.0.4 (2020-10-14) =
1002
+ * Fix: Performance enhancement.
1003
+ * Fix: Admin page code refactor.
1004
+
1005
+ = 4.0.3 (2020-10-13) =
1006
+ * Tweak: Make feed button new look.
1007
+
1008
+ = 4.0.1 (2020-10-12) =
1009
+ * Fix: Edit page fatal error.
1010
+
1011
+ = 4.0.0 (2020-10-11) =
1012
+ * Fix: Code Refactor.
1013
+
1014
+ = 3.9.9 (2020-10-08) =
1015
+ * Added: Zbozi.cz template.
1016
+ * Tweak: Documentation link updated.
1017
+
1018
+ = 3.9.7 (2020-10-08) =
1019
+ * Fix: item wrapper input not showing in edit page.
1020
+
1021
+ = 3.9.6 (2020-10-07) =
1022
+ * Tweak: Heureka and Moebel missing files added.
1023
+
1024
+ = 3.9.5 (2020-10-06) =
1025
+ * Tweak: Feed list table new look.
1026
+
1027
+ = 3.9.3 (2020-10-05) =
1028
+ * Tweak: Feed switch new design.
1029
+ * Added: Plugin version in feed list.
1030
+
1031
+ = 3.9.2 (2020-10-04) =
1032
+ * Tweak: Feed list topbar new look.
1033
+
1034
+ = 3.9.1 (2020-10-01) =
1035
+ * Added: Plugin version in setting page.
1036
+
1037
+ = 3.9.0 (2020-09-30) =
1038
+ * Added: The Moebel.de template.
1039
+
1040
+ = 3.8.9 (2020-09-29) =
1041
+ * Added: The Heureka Slovakia template.
1042
+
1043
+ = 3.8.7 (2020-09-28) =
1044
+ * Added: `Child Category` and `Child Category id` option to feed.
1045
+ * Tweak: Profit share template new structure.
1046
+
1047
+ = 3.8.6 (2020-09-27) =
1048
+ * Tweak: Action button's label styling.
1049
+
1050
+ = 3.8.5 (2020-09-24) =
1051
+ * Added: Clear cache button to feed pages.
1052
+
1053
+ = 3.8.3 (2020-09-23) =
1054
+ * Fix: Cron scheduled back date issue.
1055
+
1056
+ = 3.8.1 (2020-09-22) =
1057
+ * Tweak: Added `WPC product bundles` plugin support.
1058
+
1059
+ = 3.8.0 (2020-09-21) =
1060
+ * Fix: remove visual composer old short codes.
1061
+ * Tweak: short product ids in descending order into feed.
1062
+
1063
+ = 3.7.20 (2020-09-17) =
1064
+ * Fix: availability will return `preorder` for on backorder into Google Merchant and Pinterest template.
1065
+ * Fix: availability will return `available for order` for on backorder into Facebook template.
1066
+
1067
+ = 3.7.19 (2020-09-16) =
1068
+ * Tweak: itemid renamed to id for google local product inventory template.
1069
+
1070
+ = 3.7.18 (2020-09-15) =
1071
+ * Tweak: Strip old Visual Composer shortcodes from product description.
1072
+ * Tweak: Setting page save button alignment fix.
1073
+
1074
+ = 3.7.17 (2020-09-14) =
1075
+ * Tweak: Feed last updated time will show wordpress local time.
1076
+
1077
+ = 3.7.16 (2020-09-13) =
1078
+ * Added: Custom fields for unique identifier (GTIN,MPN,EAN) added to product edit page.
1079
+
1080
+ = 3.7.15 (2020-09-09) =
1081
+ * Tweak: stock status on backorder will be returned as out of stock for Google Shopping, Facebook and Pinterest template.
1082
+
1083
+ = 3.7.14 (2020-09-08) =
1084
+ * Fix: Auto feed update not working issue fixed.
1085
+
1086
+ = 3.7.13 (2020-09-05) =
1087
+ * Fix: Feed file was renamed while feed name changing.
1088
+
1089
+ = 3.7.12 (2020-09-03) =
1090
+ * Added: ProfitShare template added.
1091
+
1092
+ = 3.7.11 (2020-09-02) =
1093
+ * Added: Individual scheduled events added for each feed.
1094
+
1095
+ = 3.7.10 (2020-09-01) =
1096
+ * Added: Parent Category Id attribute added.
1097
+
1098
+ = 3.7.9 (2020-08-31) =
1099
+ * Added: Facebook inventory attribute added to Facebook catalog template as default.
1100
+
1101
+ = 3.7.8 (2020-08-28) =
1102
+ * Added: Tweakers Pricewatch XML & CSV template added.
1103
+
1104
+ = 3.7.7 (2020-08-26) =
1105
+ * Fix: Multiple additional_image_link attribute missing on Google Shopping template for CSV & TXT feed.
1106
+
1107
+ = 3.7.6 (2020-08-25) =
1108
+ * Fix: XML Opening and Ending tag mismatch issue fixed.
1109
+
1110
+ = 3.7.5 (2020-08-24) =
1111
+ * Tweak: do_shortcode() function applied to product title to filter shortcodes through their hooks.
1112
+
1113
+ = 3.7.4 (2020-08-22) =
1114
+ * Fixed: Category mapping file missing issue fixed.
1115
+
1116
+ = 3.7.3 (2020-08-22) =
1117
+ * Added: Category mapping feature added. Option to map store category with merchant category
1118
+
1119
+ = 3.7.2 (2020-08-20) =
1120
+ * Fixed: g:additional_image_link attribute issue fixed.
1121
+
1122
+ = 3.7.1 (2020-08-19) =
1123
+ * Added: sale_price added as default into Google Shopping product feed template.
1124
+ * Fix: shopping_ads_excluded_country structure fixed into Google Shopping product feed template.
1125
+
1126
+ = 3.7.0 (2020-08-18) =
1127
+ * Added: Below attributes are added to google shopping template.
1128
+ * min_energy_​​efficiency_​​class
1129
+ * max_energy_​​efficiency_​​class
1130
+ * ads_​​redirect
1131
+ * shopping_ads_excluded_country
1132
+
1133
+
1134
+ = 3.6.20 (2020-08-17) =
1135
+ * Added: canonical_link attribute added to google shopping template.
1136
+
1137
+ = 3.6.19 (2020-08-17) =
1138
+ * Tweak: WordPress 5.5 compatibility checked.
1139
+ * Tweak: API Library updated.
1140
+
1141
+ = 3.6.18 (2020-08-15) =
1142
+ * Fix: Tax Class & Tax Status Product attribute added.
1143
+
1144
+ = 3.6.17 (2020-08-13) =
1145
+ * Fix: Product missing issue fixed.
1146
+
1147
+ = 3.6.16 (2020-08-10) =
1148
+ * Added: Google product_details attribute added to Google Shopping template.
1149
+
1150
+ = 3.6.15 (2020-08-03) =
1151
+ * Added: Google product highlight attribute added to Google Shopping template.
1152
+
1153
+ = 3.6.14 (2020-07-25) =
1154
+ * Added: Etsy template added.
1155
+ * Tweak: Pricerunner stock status will return Yes or No instead of in stock or out of stock.
1156
+
1157
+ = 3.6.13 (2020-07-20) =
1158
+ * Added: Zalando template added.
1159
+
1160
+ = 3.6.12 (2020-07-13) =
1161
+ * Tweak: WC 4.3 compatibility checked.
1162
+
1163
+ = 3.6.11 (2020-07-09) =
1164
+ * Added: YITH Bundle Product compatibility added.
1165
+
1166
+ = 3.6.10 (2020-06-30) =
1167
+ * Added: Shopee template added.
1168
+
1169
+ = 3.6.9 (2020-06-29) =
1170
+ * Added: WooCommerce Bundle Product compatibility.
1171
+
1172
+ = 3.6.8 (2020-06-24) =
1173
+ * Added: Google Shopping subscription_cost attribute added.
1174
+ * Added: Subscription amount attribute added for WooCommerce Subscription.
1175
+
1176
+ = 3.6.7 (2020-06-23) =
1177
+ * Added: Subscription period interval attribute added for WooCommerce Subscription.
1178
+
1179
+ = 3.6.6 (2020-06-18) =
1180
+ * Added: WooCommerce Subscription product compatibility added.
1181
+
1182
+ = 3.6.5 (2020-06-13) =
1183
+ * Added: FTP passive mode selection option added.
1184
+
1185
+ = 3.6.4 (2020-06-03) =
1186
+ * Fixed: Yoast SEO Title (manually added title) issue fixed.
1187
+
1188
+ = 3.6.3 (2020-06-02) =
1189
+ * Fixed: Yoast SEO Title issue fixed.
1190
+
1191
+ = 3.6.2 (2020-06-02) =
1192
+ * Fixed: DB query timeout issue fixed.
1193
+
1194
+ = 3.6.1 (2020-05-28) =
1195
+ * Fixed: Feed file rename issue fixed.
1196
+
1197
+ = 3.6.0 (2020-05-27) =
1198
+ * Added: new output types added to format attribute output.
1199
+
1200
+ = 3.5.7 (2020-05-26) =
1201
+ * Added: Bestprice template added.
1202
+
1203
+ = 3.5.6 (2020-05-23) =
1204
+ * Fix: Skroutz template items wrapper and availability issue fixed.
1205
+ * Added: Dashboard widget.
1206
+
1207
+ = 3.5.5 (2020-05-18) =
1208
+ * Fix: Spartoo.fi Parent/Child attribute value now return child for variation and Parent for other product type instead of woocommerce product type.
1209
+
1210
+ = 3.5.4 (2020-05-14) =
1211
+ * Tweak: Plugin cache flashed after adding/updating a attribute.
1212
+
1213
+ = 3.5.3 (2020-05-12) =
1214
+ * Fix: Fruugo template NormalPriceWithoutVat attribute replaced with NormalPriceWithoutVAT
1215
+
1216
+ = 3.5.2 (2020-04-28) =
1217
+ * Fix: Tracking notice dismiss error fixed.
1218
+ * Fix: Minor php error fixed.
1219
+
1220
+ = 3.5.1 (2020-04-20) =
1221
+ * Fix: Review notice dismiss error fixed.
1222
+
1223
+ = 3.5.0 (2020-04-01) =
1224
+ * Template: Google Shopping Action Template
1225
+ * Template: Daisycon Feed Template (All 21 Standards)
1226
+ * Fix: Custom Template XML issue fixed.
1227
+ * Fix: Fixed PHPCS Recommended issue with proper coding standard and comments.
1228
+ * Improvement: Move all inline JavaScripts to .js file
1229
+ * Improvement: Caching with expiration and purge settings.
1230
+ * Improvement: Refactor and removed deprecated codes.
1231
+ * Improvement: JS & CSS Optimized. Minor UI Issues fixed.
1232
+ * Improvement: Sort Template List (Merchant Dropdown)
1233
+ * Feature: Debugging Option.
1234
+ * Feature: Import Export Feed Config.
1235
+ * Feature: Added Support for Main Category (With Support for Yoast SEO Primary Category).
1236
+ * Feature: Add support for Google Category For Supporting Merchant.
1237
+
1238
+ = 3.3.9 (2020-03-18) =
1239
+ * Fix: Replace space character with underscore (`_`).
1240
+ * Fix: Fix and optimize sortable table initialization.
1241
+
1242
+ = 3.3.8 (2020-03-16) =
1243
+ * Compatibility: Tested Upto WooCommerce 4.0
1244
+ * Improve: Cleanup and minify assets (CSS & JS)
1245
+ * Improve: Add nice ui dropdown for Output Type Select
1246
+ * Fix: Return empty (previously returning zero) value if sale price is 0
1247
+ * Fix: Support link on doc page
1248
+ * Fix: Default Output type for price attribute on Google, Facebook and Pinterest feed
1249
+
1250
+ = 3.3.4 (2020-03-10) =
1251
+ * Template: Separate template for Trovaprezzi.it
1252
+ * Fix: Dropdown on Facebook and Pinterest feed edit page.
1253
+ * Cleanup: Remove unused files
1254
+ * Improve: Performance improvement on merchant class
1255
+ * Improve: Add filters and context parameter with feed rules parsing.
1256
+
1257
+ = 3.3.3 (2020-03-04) =
1258
+ * Feature: Campaign URL Builder
1259
+ * Fix: Duplicate feed config on cron update.
1260
+
1261
+ = 3.3.2 (2020-02-23) =
1262
+ * Fix: Duplicate content in CSV feeds.
1263
+
1264
+ = 3.3.1 (2020-02-20) =
1265
+ * Fixed: function name conflict with Post SMTP plugin is solved
1266
+
1267
+ = 3.3.0 (2020-02-17) =
1268
+ * Improvement: Validate all source code using WPCS (PHPCS) to match WordPress coding standard.
1269
+ * Improvement: Sanitization and Nonce checking.
1270
+ * Performance: Implement WP Object Caching.
1271
+ * Feature: new filter hook API for adding custom attribute.
1272
+ * Fix: Tax calculation over cron job.
1273
+
1274
+ = 3.2.19 (2020-02-13) =
1275
+ * Fix JS not loading in all pages for hiding notices.
1276
+
1277
+ = 3.2.18 (2020-02-12) =
1278
+ * Fix User can't hide review and related notice.
1279
+ * Fix Some WPCS Related Warnings
1280
+ * Add ability to hide Product-Limit warning notice
1281
+ * String translation update.
1282
+
1283
+ = 3.2.17 (2020-02-09) =
1284
+ * Fix Tax calculation based on store address.
1285
+ * Localize JavaScript based Messages.
1286
+
1287
+ = 3.2.16 (2020-02-02) =
1288
+ * Tested upto current WordPress and WooCommerce
1289
+ * PHPCS config added and tested for WPCS Issues
1290
+ * Security Fix Using Nonce and sanitize User Inputs.
1291
+ * Update Support URL
1292
+
1293
+ = 3.2.15 (2020-01-23) =
1294
+ * Fix undefined index in cron callback
1295
+
1296
+ = 3.2.14 (2020-01-21) =
1297
+ * Dynamic Selectize for Google Taxonomy Dropdown
1298
+ * Fix Selectize UI
1299
+ * Fix Contact Us Button
1300
+ * Fix Menu Icon
1301
+ * Fix php undefined index notice
1302
+ * Improve Ajax Security
1303
+
1304
+ = 3.2.13 (2020-01-16) =
1305
+ * Fix Post Box issue
1306
+ * Update Service Library
1307
+ * fix text-domain
1308
+
1309
+ = 3.2.12 (2020-01-14) =
1310
+ * Service library update
1311
+ * Add Support Form Added
1312
+
1313
+ = 3.2.11 (2020-01-08) =
1314
+ * Fix logging class not found error.
1315
+ * Update Feed Save Message
1316
+ * Fix Save success message
1317
+
1318
+ = 3.2.10 (2020-01-07) =
1319
+ * New Hook added before and after product loop.
1320
+ * Sanitize ajax & optimize request for admin notices.
1321
+ * Admin Notice updated.
1322
+
1323
+ = 3.2.9 (2020-01-06) =
1324
+ * Fix Docs Page Postbox styles
1325
+ * Update Button UI
1326
+
1327
+ = 3.2.8 (2020-01-05) =
1328
+ * Remove `set_time_limit(0)` (disabled in some host).
1329
+
1330
+ = 3.2.7 (2020-01-02) =
1331
+ * Menu Icon Changed.
1332
+ * Update Feed Configuration without generating.
1333
+ * Fix Admin Notice UI.
1334
+
1335
+ = 3.2.6 (2019-12-25) =
1336
+ * New template structure implemented.
1337
+ * Merchant info metabox in feed template edit page.
1338
+ * Added support for metabox (postbox) minimize state in docs and template edit page.
1339
+ * Improve UI and fix typo.
1340
+ * Replace some static string with gettext function for better translation.
1341
+ * Update script dependency for using internal scripts provide by WordPress for better performance.
1342
+
1343
+ = 3.2.5 (2019-12-22) =
1344
+ * Update Service Library
1345
+
1346
+ = 3.2.4 (2019-12-19) =
1347
+ * Fix OptOut button URL
1348
+ * Filter hook added for notice message
1349
+
1350
+ = 3.2.3 (2019-12-17) =
1351
+ * Fix All-In-One-SEO Title and Description
1352
+
1353
+ = 3.2.2 (2019-12-15) =
1354
+ * Product query type settings added for compatibility.
1355
+ * Request sanitization.
1356
+ * Necessary SQL escaped.
1357
+
1358
+ = 3.2.1 (2019-12-12) =
1359
+ * XML element space replace with underscore issue fixed
1360
+ * Fix: Undefined index.
1361
+ * Trim output
1362
+ * Remove redundant codes
1363
+
1364
+ = 3.2.0 (2019-12-08) =
1365
+ * Tweak: Improved Performance.
1366
+ * stripslashes attribute output
1367
+ * Remove Duplicate values from attribute list
1368
+ * Fix Price with tax
1369
+
1370
+ = 3.1.55 (2019-11-28) =
1371
+ * Feed Config table ui update
1372
+
1373
+ = 3.1.54 (2019-11-27) =
1374
+ * Fix stock status
1375
+
1376
+ = 3.1.53 (2019-11-25) =
1377
+ * Promo Update
1378
+
1379
+ = 3.1.52 (2019-11-24) =
1380
+ * Fix: Hide google taxonomy dropdown if attribute selected
1381
+ * Fix: Autocomplete attribute value
1382
+ * Fix: PHP count() warning on feed edit page
1383
+
1384
+ = 3.1.51 (2019-11-21) =
1385
+ * Fix duplicate id cache
1386
+ * Tweak connecxity feed class
1387
+
1388
+ = 3.1.50 (2019-11-18) =
1389
+ * Added yandex_csv_add-feed.php,
1390
+ * Update tracker class,
1391
+ * Pageable filters added.
1392
+ * Update tested up to info.
1393
+
1394
+ = 3.1.49 (2019-11-12) =
1395
+ * Yandex CSV template added
1396
+
1397
+ = 3.1.48 (2019-11-09) =
1398
+ * Fixed: Woocommerce version compare issue
1399
+ * Fixed: Removed trim for prefix and suffix field
1400
+ * Fixed: Current Price issue fixed
1401
+ * Tweak: Status & View column name changed to Auto Update & Action accordingly into Feed List table
1402
+ * Tweak: Add auto space before suffix for price sale_price & current_price
1403
+
1404
+ = 3.1.47 (2019-11-07) =
1405
+ * Update remove unused cron from insight class
1406
+ * Fix insight cron hook
1407
+ * Changelog Typo Fix
1408
+
1409
+ = 3.1.46 (2019-11-06) =
1410
+ * Fix 'No Products found' while using 'Custom Template 2 (XML)'
1411
+ * Tested Up to WC 3.8
1412
+
1413
+ = 3.1.45 (2019-11-03) =
1414
+ * Loading ClipboardJS directly from plugin for older WordPress
1415
+ * Added WooCommerce minimum version checking before loading other dependencies
1416
+ * Fix support for WooCommerce older than 3.6.0
1417
+
1418
+ = 3.1.44 (2019-10-31) =
1419
+ * Remove Duplicate Css
1420
+ * Fix success message not showing
1421
+ * Fix PHP non-numeric value & counting null warning
1422
+
1423
+ = 3.1.43 (2019-10-27) =
1424
+ * Improve Page loading performance on feed editor
1425
+ * FTP Module detection added in `FTP/SFTP` tab in feed editor
1426
+ * Fix 3rd Party Plugin Compatibility
1427
+
1428
+ = 3.1.42 (2019-10-27) =
1429
+ * Fix deactivation script
1430
+
1431
+ = 3.1.41 (2019-10-24) =
1432
+ * Dependency & compatibility check upon activation
1433
+ * Tested with latest WordPress & WooCommerce Release
1434
+
1435
+ = 3.1.40 (2019-10-21) =
1436
+ * Fix error on fetching invalid child product of group product.
1437
+ * Fix google taxonomy not being selected on edit page
1438
+ * Remove unnecessary admin notices.
1439
+
1440
+ = 3.1.39 (2019-10-20) =
1441
+ * Adds plugin assets (was missing), sorry :)
1442
+ * UI Fix.
1443
+
1444
+ = 3.1.38 (2019-10-20) =
1445
+ * Docs page ui fix
1446
+ * Update Plugin Meta links
1447
+
1448
+ = 3.1.37 (2019-10-17) =
1449
+ * UI improvement
1450
+ * Improve script dependency management
1451
+
1452
+ = 3.1.36 (2019-10-14) =
1453
+ * Documentation Menu Added
1454
+
1455
+ = 3.1.35 (2019-10-10) =
1456
+ * remove echo used with _e()
1457
+ * fix generating new db entry on update feed config
1458
+ * fix duplicate id on save/update button
1459
+
1460
+ = 3.1.34 (2019-10-9) =
1461
+ * Resolve duplicate filename conflict.
1462
+ * Fix undefined variable.
1463
+ * Check if function exists before declaration (Resolve error on Pro Version activation.
1464
+
1465
+ = 3.1.33 (2019-10-7) =
1466
+ * Add copy to clip board
1467
+ * Fix performance issue on feed add/edit screen
1468
+
1469
+ = 3.1.32 (2019-10-6) =
1470
+ * Fix parent sku not getting populated in feed data
1471
+ * Set feed type to CSV for Pinterest
1472
+
1473
+ = 3.1.31 (2019-10-3) =
1474
+ * Strip divi builder shortcode from product description and short-description.
1475
+ * Delete old feed file before regenerate.
1476
+
1477
+ = 3.1.30 (2019-10-2) =
1478
+ * Fix Feed doesn't include last product variation
1479
+
1480
+ = 3.1.29(2019-09-30) =
1481
+ * Update Google Taxonomy list at the latest.
1482
+ * Add Google Taxonomy in facebook and pinterest template.
1483
+ * Google Taxonomy chooser directly in Feed Config without any popup.
1484
+ * Optimize JavaScript.
1485
+
1486
+ = 3.1.28(2019-09-26) =
1487
+ * Fix Google Taxonomy Popup with jquery sortable plugin.
1488
+ * Fix row become invisible while dragging.
1489
+
1490
+ = 3.1.27(2019-09-11) =
1491
+ * Added: criteo template added
1492
+
1493
+ = 3.1.26(2019-09-11) =
1494
+ * Added: google attribute dropdown issue solved
1495
+
1496
+ = 3.1.25(2019-09-09) =
1497
+ * Added: fyndiq.se template added
1498
+
1499
+ = 3.1.24(2019-09-03) =
1500
+ * Added: miinto.nl template added
1501
+
1502
+ = 3.1.23(2019-08-28) =
1503
+ * Added: fnac.fr template added
1504
+
1505
+ = 3.1.22(2019-08-25) =
1506
+ * Added: missing template files added
1507
+
1508
+ = 3.1.21(2019-08-20) =
1509
+ * Added: vertaa.fi template added
1510
+
1511
+ = 3.1.20(2019-08-19) =
1512
+ * Added: fashiola template added
1513
+
1514
+ = 3.1.19(2019-08-08) =
1515
+ * Added: walmart template added
1516
+
1517
+ = 3.1.18(2019-08-05) =
1518
+ * Added: webmarchand template added
1519
+
1520
+ = 3.1.17(2019-07-29) =
1521
+ * Fixed: feed files permission issue fixed
1522
+
1523
+ = 3.1.16(2019-07-25) =
1524
+ * Fixed: google_attributes option issue fixed
1525
+
1526
+ = 3.1.15(2019-07-24) =
1527
+ * Fixed: Cross-site scripting (XSS) vulnerability issue resolved
1528
+
1529
+ = 3.1.14(2019-07-23) =
1530
+ * Added: modina.de template added
1531
+
1532
+ = 3.1.13(2019-07-22) =
1533
+ * Modified: spartoo.fi template modified
1534
+
1535
+ = 3.1.12(2019-07-18) =
1536
+ * Added: shareasale template added
1537
+
1538
+ = 3.1.11(2019-07-17) =
1539
+ * Added: spartoo.fi template added
1540
+
1541
+ = 3.1.10(2019-07-15) =
1542
+ * Fixed: google template slowly loading issue fixed
1543
+
1544
+ = 3.1.9(2019-07-11) =
1545
+ * Added: shopalike.fr template added
1546
+
1547
+ = 3.1.8(2019-07-08) =
1548
+ * Fixed: pinterest csv feed attribute underscore issue fixed
1549
+
1550
+ = 3.1.7(2019-07-07) =
1551
+ * Added: strip tags set as default in the Output Type of kijiji.ca template
1552
+
1553
+ = 3.1.6(2019-07-05) =
1554
+ * Added: kijiji.ca template added
1555
+
1556
+ = 3.1.5(2019-07-03) =
1557
+ * Added: kieskeurig.nl template added
1558
+
1559
+ = 3.1.4(2019-06-30) =
1560
+ * Added: incurvy template added
1561
+
1562
+ = 3.1.3(2019-06-27) =
1563
+ * Added: CDiscount.fr template added
1564
+
1565
+ = 3.1.2(2019-06-26) =
1566
+ * Fixed: Auto input field populate issue into feed making and edit page has fixed
1567
+
1568
+ = 3.1.1(2019-06-25) =
1569
+ * Added: marktplaats.nl template added
1570
+
1571
+ = 3.1.0(2019-06-24) =
1572
+ * Fixed: Pinterest csv feed issue fixed
1573
+
1574
+ = 3.0.40(2019-06-21) =
1575
+ * Fixed: Make Feed view issue fixed
1576
+
1577
+ = 3.0.39(2019-06-20) =
1578
+ * Fixed: Prefix & suffix with empty value and stripslash issue fixed
1579
+ * Added: Override attribute added for facebook template
1580
+
1581
+ = 3.0.38(2019-06-18) =
1582
+ * Added: Vergelijk.be & Comparer.be template added
1583
+
1584
+ = 3.0.37(2019-06-10) =
1585
+ * Added: Rakuten template added
1586
+
1587
+ = 3.0.36(2019-06-03) =
1588
+ * Tweak: Beslist.nl template modified
1589
+
1590
+ = 3.0.35(2019-05-29) =
1591
+ * Tweak: CrowdFox template modified
1592
+
1593
+ = 3.0.34(2019-05-23) =
1594
+ * Fixed: Product attribute empty space issue fixed
1595
+
1596
+ = 3.0.33(2019-05-21) =
1597
+ * Fixed: Empty global attribute value for wc3.6 fixed.
1598
+
1599
+ = 3.0.32(2019-05-16) =
1600
+ * Shipping Cost Comment attribute added for idealo template
1601
+
1602
+ = 3.0.31(2019-05-13) =
1603
+ * Added: billiger.de template added
1604
+
1605
+ = 3.0.30(2019-05-08) =
1606
+ * Added: tax_country,tax_region,tax_rate,tax_ship attribute added.
1607
+ * Tweak: tax attribute deleted.
1608
+
1609
+ = 3.0.29(2019-05-06) =
1610
+ * Added: Idealo template added
1611
+
1612
+ = 3.0.28(2019-04-30) =
1613
+ * Tweak: Feed template folder structure change to reduce plugin size
1614
+
1615
+ = 3.0.27(2019-04-30) =
1616
+ * Added: Hintaseuranta.fi template added
1617
+
1618
+ = 3.0.26(2019-04-29) =
1619
+ * Added: SkinFlint.co.uk template added
1620
+ * WordPress 5.2 compatibility checked
1621
+ * WooCommerce 3.6 compatibility checked
1622
+
1623
+ = 3.0.25(2019-04-26) =
1624
+ * Added: TheNextAd template added
1625
+
1626
+ = 3.0.24(2019-04-25) =
1627
+ * Fixed: cost_of_good_sold attribute issue fixed for Google & Facebook template
1628
+ * Added: tax_category attribute added for Facebook template
1629
+
1630
+ = 3.0.23(2019-04-24) =
1631
+ * Added: Yahoo NFA template added
1632
+
1633
+ = 3.0.22(2019-04-22) =
1634
+ * Added: Stylight template added
1635
+ * Added: Google & Facebook template will auto add currency code as suffix for price attribute
1636
+
1637
+ = 3.0.21(2019-04-18) =
1638
+ * Added: Smartly.io template added
1639
+
1640
+ = 3.0.20(2019-04-16) =
1641
+ * Fixed: Myshopping.com.au XML Category tag issue fixed
1642
+ * Fixed: Myshopping.com.au recommended attributes added
1643
+
1644
+ = 3.0.19(2019-04-14) =
1645
+ * Added: MyShopping.com.au template added
1646
+
1647
+ = 3.0.18(2019-04-11) =
1648
+ * Added: Pinterest template added
1649
+
1650
+ = 3.0.17(2019-04-10) =
1651
+ * Fixed: Template UI loading conflict with popup builder plugin
1652
+
1653
+ = 3.0.16(2019-04-08) =
1654
+ * Added: fruugoaustralia.com template added
1655
+ * Fixed: fruugo.com template updated
1656
+
1657
+ = 3.0.15(2019-04-04) =
1658
+ * Fixed: Zap.co.il template header issue fixed
1659
+
1660
+ = 3.0.14(2019-04-01) =
1661
+ * Added: Zap.co.il template added
1662
+
1663
+ = 3.0.13(2019-03-28) =
1664
+ * Added: Google Local Product template added
1665
+
1666
+ = 3.0.12(2019-03-22) =
1667
+ * Fixed: minor security bugs
1668
+
1669
+ = 3.0.11(2019-03-21) =
1670
+ * Fixed: facebook variation description issue fixed
1671
+
1672
+ = 3.0.10(2019-03-18) =
1673
+ * Fixed: product tags issue fixed
1674
+ * Added: new Google Merchant attributes added
1675
+
1676
+ = 3.0.9(2019-03-15) =
1677
+ * Added: Current Price attribute added. Current Price attribute will return sale price if sale price available else it will return regular price.
1678
+ * WooCommerce v3.5+ compatibility checked
1679
+
1680
+ = 3.0.8(2019-03-12) =
1681
+ * Added: Facebook template will contain product variations but it will add variation info at the end of the product description so that facebook can not reject variation which do not have short description.
1682
+
1683
+ = 3.0.7(2019-03-07) =
1684
+ * Added: Bing Shipping attribute
1685
+ * Fixed: Review notice show after 15 days of installation
1686
+ * Fixed: ajax action hook conflicting issue fixed
1687
+
1688
+ = 3.0.6(2019-03-05) =
1689
+ * Fixed: Facebook inventory attribute added
1690
+
1691
+ = 3.0.5(2019-02-27) =
1692
+ * Fixed: Google Local Product Inventory feed template added
1693
+
1694
+ = 3.0.4(2019-02-25) =
1695
+ * Fixed: Google & Facebook condition attribute value changed from New to new
1696
+
1697
+ = 3.0.3(2019-02-20) =
1698
+ * Price with Tax attribute added
1699
+ * Product date created and date updated attribute added
1700
+ * Google Category notice bug fix
1701
+
1702
+ = 3.0.2(2019-02-15) =
1703
+ * WordPress version 5.1 compatibility checked
1704
+
1705
+ = 3.0.1(2019-02-06) =
1706
+ * Manufacturer attribute added to NexTag template
1707
+
1708
+ = 3.0.0(2019-01-31) =
1709
+ * Minor bug fixing
1710
+
1711
+ = 2.2.33(2019-01-27) =
1712
+ * Google Taxonomy modal issue fixed
1713
+
1714
+ = 2.2.32(2019-01-24) =
1715
+ * Show message at feed generation if woocommerce product not found.
1716
+
1717
+ = 2.2.31(2019-01-22) =
1718
+ * Used home_url() instead of site_url() into google feed header
1719
+ * Review request admin message added
1720
+
1721
+ = 2.2.29(2019-01-20) =
1722
+ * Added: SFTP file upload to remote server
1723
+
1724
+ = 2.2.28(2019-01-11) =
1725
+ * WordPress 5 compatibility checked
1726
+ * Default cron interval set to 24 hours
1727
+ * Minor bug fix
1728
+
1729
+ = 2.2.26(2018-11-17) =
1730
+ * At First convert Short Codes and then Remove failed Short Codes from String
1731
+
1732
+ = 2.2.25(2018-11-07) =
1733
+ * number_format error fixed
1734
+
1735
+ = 2.2.24(2018-11-05) =
1736
+ * Minor issue fixed
1737
+
1738
+ = 2.2.23(2018-10-25) =
1739
+ * Google Attribute cost_of_goods_sold added
1740
+ * Visual Composer shortcode remove issue fixed
1741
+
1742
+ = 2.2.22(2018-10-10) =
1743
+ * Variations missing issue fixed
1744
+ * URL encoding issue with suffix fixed
1745
+
1746
+ = 2.2.21(2018-09-19) =
1747
+ * Cron schedule added to update feed individually
1748
+
1749
+ = 2.2.19(2018-07-31) =
1750
+ * Product description default limit set to 5000 for Google Merchant and Facebook template
1751
+
1752
+ = 2.2.18(2018-07-09) =
1753
+ * Google Product category missing warning added for Google Merchant and Facebook template
1754
+
1755
+ = 2.2.17(2018-07-05) =
1756
+ * All field added to amazon template
1757
+
1758
+ = 2.2.16(2018-07-02) =
1759
+ * Strip tag added as default output type for Google and Facebook template
1760
+
1761
+ = 2.2.15(2018-06-09) =
1762
+ * Documentation and Pro plugin link added under plugin activation links
1763
+
1764
+ = 2.2.14(2018-05-25) =
1765
+ * Grouped product price issue fixed
1766
+
1767
+ = 2.2.11(2018-04-25) =
1768
+ * Minor js error fixed
1769
+
1770
+ = 2.2.10(2018-04-25) =
1771
+ * Google Product Category dropdown added for Google Shopping template
1772
+
1773
+ = 2.2.9(2018-03-23) =
1774
+ * Product missing issue fixed
1775
+ * Auto update active/inactive status added
1776
+
1777
+ = 2.2.8(2018-03-14) =
1778
+ * Variable product price issue fixed
1779
+ * Other minor issues about product are fixed
1780
+
1781
+ = 2.2.7(2018-03-01) =
1782
+ * Product query code improved
1783
+
1784
+ = 2.2.6(2018-02-15) =
1785
+ * Added: Jet.com Template added
1786
+ * Added: Wish.com Template added
1787
+
1788
+ = 2.2.5(2018-02-05) =
1789
+ * Fixed: Variations description issue
1790
+ * Fixed: Remove shortcodes Automatically
1791
+
1792
+ = 2.2.4(2018-02-01) =
1793
+ * Auto Remove ShortCodes from Product Description
1794
+
1795
+ = 2.2.3(2018-01-30) =
1796
+ * Fixed: Variations description issue
1797
+ * Added: Remove shortcodes function modified
1798
+
1799
+ = 2.2.2(2018-01-26) =
1800
+ * removed variations for facebook
1801
+
1802
+ = 2.2.1(2018-01-25) =
1803
+ * product variation issue fixed
1804
+
1805
+ = 2.2.0(2018-01-25) =
1806
+ * WC 3.1+ compatibility extended
1807
+
1808
+ = 2.1.29(2018-01-09) =
1809
+ * Added: Bonanza, Real, LeGuide and Crowdfox template added
1810
+
1811
+ = 2.1.28(2017-12-27) =
1812
+ * Added: Pricerunner template added
1813
+ * Added: AdForm template added
1814
+
1815
+ = 2.1.27(2017-12-25) =
1816
+ * Added: Bol.com template added
1817
+
1818
+ = 2.1.26(2017-12-12) =
1819
+ * Added: Polyvore template added
1820
+
1821
+ = 2.1.25(2017-12-03) =
1822
+ * Added: Fruugo template added
1823
+
1824
+ = 2.1.24(2017-11-03) =
1825
+ * Added: FTP port option
1826
+
1827
+ = 2.1.23(2017-10-23) =
1828
+ * Added: Twenga product feed template added
1829
+ * Fixed: Internal server error at the middle of feed making
1830
+
1831
+ = 2.1.22(2017-10-17) =
1832
+ * Added: PriceSpy product feed template added
1833
+ * Added: PrisJakt product feed template added
1834
+
1835
+ = 2.1.21(2017-10-08) =
1836
+ * Added: Adroll.com product feed template added
1837
+
1838
+ = 2.1.20(2017-10-04) =
1839
+ * Fixed: js typeahead error fixed.
1840
+
1841
+ = 2.1.19(2017-10-04) =
1842
+ * Fixed: decimal issue of progress percent.
1843
+
1844
+ = 2.1.18(2017-09-28) =
1845
+ * Fixed: Sale Price will be empty if not on sale
1846
+
1847
+ = 2.1.17(2017-09-20) =
1848
+ * Fixed: FTP Connection issue
1849
+
1850
+ = 2.1.16(2017-09-01) =
1851
+ * Fixed: XML error for Google and Facebook template
1852
+
1853
+ = 2.1.15(2017-08-27) =
1854
+ * Fixed: array_merge error
1855
+ * Added: Strip slashed manual input (Prefix, Suffix, and Pattern)
1856
+ * Added: HTML entity decoded for Google and Facebook XML header
1857
+
1858
+ = 2.1.14(2017-08-09) =
1859
+ * Fixed: Variable Product missing issue
1860
+
1861
+ = 2.1.13(2017-08-08) =
1862
+ * Fixed: Variable Product issue
1863
+ * Fixed: Unlink temp file error
1864
+
1865
+ = 2.1.12(2017-07-24) =
1866
+ * Fixed: product count error
1867
+
1868
+ = 2.1.10(2017-07-24) =
1869
+ * Added: New Option added to feed configuration view
1870
+ * Added: Plugin Setting menu
1871
+
1872
+ = 2.1.9(2017-07-09) =
1873
+ * Fixed: Feed execution failed error.
1874
+
1875
+ = 2.1.8(2017-07-09) =
1876
+ * Fixed: 200 products issue of Auto Feed Update
1877
+
1878
+ = 2.1.7(2017-07-03) =
1879
+ * Added: Auto Feed Update
1880
+
1881
+ = 2.1.6(2017-05-27) =
1882
+ * Duplicate Product Issue fixed.
1883
+ * Removed Product variations for Facebook Template.
1884
+ * 0 Price issue for Parent product of variation fixed.
1885
+
1886
+ = 2.1.4(2017-05-22) =
1887
+ * New attribute added for External Product URL
1888
+
1889
+ = 2.1.3(2017-05-12) =
1890
+ * Solved the output 0 issue for empty attribute value
1891
+
1892
+ = 2.1.2(2017-05-09) =
1893
+ * Frontend JS conflict issue fixed
1894
+
1895
+ = 2.1.1(2017-05-08) =
1896
+ * Additional Images error fixed
1897
+
1898
+ = 2.1.0(2017-05-07) =
1899
+ * Fixed: The blank screen or 500 page not found error
1900
+ * Added: Sale price value wil return current price
1901
+ * Added: Support Grouped Product
1902
+ * Added: Compatible with WooCommerce 3.0+
1903
+ * Added: Ajax Feed making
1904
+ * Improved: Auto feed updating functionality
1905
+ * Added: Comma Separated Additional Images Attribute for Google and Facebook template
1906
+
1907
+ = 2.0.16(2017-05-02) =
1908
+ * Fixed: Additional Image issue google shopping template
1909
+
1910
+ = 2.0.15(2017-04-27) =
1911
+ * Fixed the issue: Call to undefined method WC_Product_Variation::get_gallery_image_ids()
1912
+
1913
+ = 2.0.14(2017-04-27) =
1914
+ * Fixed: Additional Image issue google shopping template
1915
+
1916
+ = 2.0.13(2017-04-09) =
1917
+ * Added the functionality to make feed for External/Affiliate Product
1918
+
1919
+ = 2.0.12(2017-03-27) =
1920
+ * Removed default space from after suffix and before prefix.
1921
+ * Fixed the number_format command issue and documentation updated.
1922
+ * Fixed last version errors.
1923
+
1924
+ = 2.0.11(2017-03-20) =
1925
+ * Fixed the zero output error
1926
+
1927
+ = 2.0.10(2017-03-18) =
1928
+ * Amazon Jewelry Template added
1929
+
1930
+ = 2.0.9(2017-03-16) =
1931
+ * Fixed the issue to output attribute value 0
1932
+
1933
+ = 2.0.8(2017-03-02) =
1934
+ * Amazon template error fixed
1935
+
1936
+ = 2.0.7(2017-03-01) =
1937
+ * Shipping attribute information error and image required issue fixed
1938
+
1939
+ = 2.0.6(2017-02-25) =
1940
+ * Error fixed for Amazon camera and photo category template
1941
+
1942
+ = 2.0.5(2017-02-20) =
1943
+ * Code modified for faster feed making
1944
+
1945
+ = 2.0.4(2017-02-08) =
1946
+ * For Google Shopping template: identifier_exist status value updated from TRUE and FALSE to yes and no according to Google Merchant requirements.
1947
+
1948
+ = 2.0.3(2017-02-06) =
1949
+ * Fixed: sale price effective date formatting
1950
+
1951
+ = 2.0.2(2017-01-12) =
1952
+ * Fixed: xmlParseEntityRef: no name for Google Shopping Class
1953
+
1954
+ = 2.0.1(2017-01-12) =
1955
+ * Fixed: TXT feed encoding error
1956
+ * Modified: Bing template modified according to new Bing requirements.
1957
+ * Added: Amazon Inventory template by Category added
1958
+
1959
+ = 2.0.0(2017-01-05) =
1960
+ * identifier_exist attribute value will be automatically set according to feed configuration for Google Shopping Template.
1961
+
1962
+ = 1.5.36(2016-11-28) =
1963
+ * Removed Promotional Message
1964
+
1965
+ = 1.5.35(2016-11-27) =
1966
+ * Added: Functionality to Include Extra header information into feed
1967
+
1968
+ = 1.5.34(2016-11-23) =
1969
+ * Fixed: Remove non UTF-8 character from attribute output value
1970
+ * Added: Remove Short Codes from Product Description
1971
+
1972
+ = 1.5.33(2016-11-01) =
1973
+ * Fixed: Output product category according to category hierarchy
1974
+
1975
+ = 1.5.32(2016-11-01) =
1976
+ * Fixed: Removed the space between link attribute and suffix. For example, It's possible to add tracking code into url.
1977
+
1978
+ = 1.5.31(2016-10-14) =
1979
+ * Added: Google Ad words Feed template
1980
+ * Added: Shopbot feed template
1981
+ * Added: Remove special character from the attribute output value
1982
+
1983
+ = 1.5.30(2016-10-10) =
1984
+ * Added the difference between premium and free version
1985
+
1986
+ = 1.5.29(2016-10-04) =
1987
+ * replace product description line break with space
1988
+
1989
+ = 1.5.28(2016-09-22) =
1990
+ * class-woo-feed-error-message.php committed
1991
+
1992
+ = 1.5.27(2016-09-22) =
1993
+ * Show error message if WordPress Upload directory is not writable
1994
+
1995
+ = 1.5.26(2016-09-10) =
1996
+ * Remove space from beginning and ending of strings for CSV and TXT feed
1997
+
1998
+ = 1.5.25(2016-09-03) =
1999
+ * Fixed: CSRF Security Vulnerability
2000
+
2001
+ = 1.5.24(2016-09-02) =
2002
+ * Modified: Hex character encoding error for XML feed
2003
+ * Fixed: CSRF Security Vulnerability
2004
+
2005
+ = 1.5.23(2016-08-26) =
2006
+ * Modified: Hex character encoding error for XML feed
2007
+
2008
+ = 1.5.22(2016-08-23) =
2009
+ * Fixed: Hex character encoding error for XML feed
2010
+
2011
+ = 1.5.21(2016-08-03) =
2012
+ * Added: is_object checking for global variable product
2013
+
2014
+ = 1.5.20(2016-07-26) =
2015
+ * Fixed: hard coded db query for product count
2016
+
2017
+ = 1.5.19(2016-07-25) =
2018
+ * Fixed: return custom attribute value instead of slug
2019
+
2020
+ = 1.5.18(2016-07-21) =
2021
+ * g:shipping_region attribute added to google merchant class.
2022
+
2023
+ = 1.5.17(2016-07-03) =
2024
+ * Fixed: Fatal error: Call to a member function is_type()
2025
+
2026
+ = 1.5.16(2016-06-13) =
2027
+ * Fixed: Blank Screen Error
2028
+ * Improved: Feed Making Process
2029
+
2030
+ = 1.5.15(2016-05-27) =
2031
+ * Fixed: Compatible with PHP version 5.3
2032
+ * Improved: Pre Configured Template Loading Time
2033
+
2034
+ = 1.5.14(2016-05-11) =
2035
+ * Fixed: List Table Syntax Error. Now compatible with PHP version 5.3
2036
+ * Fixed: Pre Configured Template Loading Error
2037
+ * Solved: CSV None enclosure.
2038
+
2039
+ = 1.5.13(2016-04-29) =
2040
+ * Fixed: Cron Job Auto Feed Update
2041
+
2042
+ = 1.5.12(2016-04-25) =
2043
+ * Fixed: Custom template update problem
2044
+ * Added: Template added for Shopbot.com
2045
+
2046
+ = 1.5.11(2016-04-12) =
2047
+ * Fixed: Blank product and image url
2048
+ * Fixed: WP List Table Screen error solved
2049
+ * Variation checking added for parent product export
2050
+
2051
+ = 1.5.10 =
2052
+ * Google Adwords Template Added
2053
+ * Top Pro Version Message Removed
2054
+ * Add New Row dropdown field error fixed
2055
+
2056
+ = 1.5.9 =
2057
+ * Facebook XML Feed Space Error Fixed
2058
+ * Google XML Feed Space Error Fixed
2059
+
2060
+ = 1.5.8 =
2061
+ * Amazon Template Added
2062
+ * Multiple Regenerate error fixed
2063
+ * Support Empty Attributes
2064
+ * Support Dynamic Attribute Reuse
2065
+ * Support Category Mapping Reuse
2066
+
2067
+ = 1.5.7 =
2068
+ * Faster Feed Processing Modified
2069
+ * JS Feed Update Status Conflict Fixed
2070
+ * Product Filtering Module Modified
2071
+ * Feed Edit Template Modified
2072
+
2073
+ = 1.5.6 =
2074
+ * Faster Feed Processing
2075
+ * Ajax Feed Processing Status Error Fixed
2076
+
2077
+ = 1.5.5 =
2078
+ * Feed edit error fixed
2079
+ * Facebook edit template error fixed
2080
+ * Pattern Output error fixed
2081
+ * Add New button error fixed
2082
+ * Feed making progress error fixed
2083
+ * Custom taxonomy added to value dropdown into feed template (pro)
2084
+
2085
+ = 1.5.4 =
2086
+ * jQuery Shortable error fixed
2087
+
2088
+ = 1.5.3 =
2089
+ * Google and Facebook Single item wrapper issue fixed
2090
+ * Shipping attribute added for Google and Facebook Template
2091
+ * Support and Docs section added
2092
+ * Feed making progress issue fixed
2093
+ * Sale Price start and end date attribute added
2094
+ * Stock quantity issue fixed
2095
+
2096
+ = 1.5.2 =
2097
+ * Feed making progress status added
2098
+
2099
+ = 1.5.1 =
2100
+ * Data Validation Improved
2101
+
2102
+ = 1.5.0 =
2103
+ * 10 pre configured Template
2104
+
2105
+ = 1.0.0 =
2106
+ * First Release.
2107
+
2108
+ == Upgrade Notice ==
2109
+ = 1.5.3 =
2110
+ This is a major release. Please update to version 1.5.3 . Lots of issue solved and some modification added. If any problem occurred while update then reactivate the plugin. Its a good practice to make a backup of your database before update.
WOO_FEED_LICENSE.txt CHANGED
@@ -1,339 +1,339 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 2, June 1991
3
-
4
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
- Everyone is permitted to copy and distribute verbatim copies
7
- of this license document, but changing it is not allowed.
8
-
9
- Preamble
10
-
11
- The licenses for most software are designed to take away your
12
- freedom to share and change it. By contrast, the GNU General Public
13
- License is intended to guarantee your freedom to share and change free
14
- software--to make sure the software is free for all its users. This
15
- General Public License applies to most of the Free Software
16
- Foundation's software and to any other program whose authors commit to
17
- using it. (Some other Free Software Foundation software is covered by
18
- the GNU Lesser General Public License instead.) You can apply it to
19
- your programs, too.
20
-
21
- When we speak of free software, we are referring to freedom, not
22
- price. Our General Public Licenses are designed to make sure that you
23
- have the freedom to distribute copies of free software (and charge for
24
- this service if you wish), that you receive source code or can get it
25
- if you want it, that you can change the software or use pieces of it
26
- in new free programs; and that you know you can do these things.
27
-
28
- To protect your rights, we need to make restrictions that forbid
29
- anyone to deny you these rights or to ask you to surrender the rights.
30
- These restrictions translate to certain responsibilities for you if you
31
- distribute copies of the software, or if you modify it.
32
-
33
- For example, if you distribute copies of such a program, whether
34
- gratis or for a fee, you must give the recipients all the rights that
35
- you have. You must make sure that they, too, receive or can get the
36
- source code. And you must show them these terms so they know their
37
- rights.
38
-
39
- We protect your rights with two steps: (1) copyright the software, and
40
- (2) offer you this license which gives you legal permission to copy,
41
- distribute and/or modify the software.
42
-
43
- Also, for each author's protection and ours, we want to make certain
44
- that everyone understands that there is no warranty for this free
45
- software. If the software is modified by someone else and passed on, we
46
- want its recipients to know that what they have is not the original, so
47
- that any problems introduced by others will not reflect on the original
48
- authors' reputations.
49
-
50
- Finally, any free program is threatened constantly by software
51
- patents. We wish to avoid the danger that redistributors of a free
52
- program will individually obtain patent licenses, in effect making the
53
- program proprietary. To prevent this, we have made it clear that any
54
- patent must be licensed for everyone's free use or not licensed at all.
55
-
56
- The precise terms and conditions for copying, distribution and
57
- modification follow.
58
-
59
- GNU GENERAL PUBLIC LICENSE
60
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
-
62
- 0. This License applies to any program or other work which contains
63
- a notice placed by the copyright holder saying it may be distributed
64
- under the terms of this General Public License. The "Program", below,
65
- refers to any such program or work, and a "work based on the Program"
66
- means either the Program or any derivative work under copyright law:
67
- that is to say, a work containing the Program or a portion of it,
68
- either verbatim or with modifications and/or translated into another
69
- language. (Hereinafter, translation is included without limitation in
70
- the term "modification".) Each licensee is addressed as "you".
71
-
72
- Activities other than copying, distribution and modification are not
73
- covered by this License; they are outside its scope. The act of
74
- running the Program is not restricted, and the output from the Program
75
- is covered only if its contents constitute a work based on the
76
- Program (independent of having been made by running the Program).
77
- Whether that is true depends on what the Program does.
78
-
79
- 1. You may copy and distribute verbatim copies of the Program's
80
- source code as you receive it, in any medium, provided that you
81
- conspicuously and appropriately publish on each copy an appropriate
82
- copyright notice and disclaimer of warranty; keep intact all the
83
- notices that refer to this License and to the absence of any warranty;
84
- and give any other recipients of the Program a copy of this License
85
- along with the Program.
86
-
87
- You may charge a fee for the physical act of transferring a copy, and
88
- you may at your option offer warranty protection in exchange for a fee.
89
-
90
- 2. You may modify your copy or copies of the Program or any portion
91
- of it, thus forming a work based on the Program, and copy and
92
- distribute such modifications or work under the terms of Section 1
93
- above, provided that you also meet all of these conditions:
94
-
95
- a) You must cause the modified files to carry prominent notices
96
- stating that you changed the files and the date of any change.
97
-
98
- b) You must cause any work that you distribute or publish, that in
99
- whole or in part contains or is derived from the Program or any
100
- part thereof, to be licensed as a whole at no charge to all third
101
- parties under the terms of this License.
102
-
103
- c) If the modified program normally reads commands interactively
104
- when run, you must cause it, when started running for such
105
- interactive use in the most ordinary way, to print or display an
106
- announcement including an appropriate copyright notice and a
107
- notice that there is no warranty (or else, saying that you provide
108
- a warranty) and that users may redistribute the program under
109
- these conditions, and telling the user how to view a copy of this
110
- License. (Exception: if the Program itself is interactive but
111
- does not normally print such an announcement, your work based on
112
- the Program is not required to print an announcement.)
113
-
114
- These requirements apply to the modified work as a whole. If
115
- identifiable sections of that work are not derived from the Program,
116
- and can be reasonably considered independent and separate works in
117
- themselves, then this License, and its terms, do not apply to those
118
- sections when you distribute them as separate works. But when you
119
- distribute the same sections as part of a whole which is a work based
120
- on the Program, the distribution of the whole must be on the terms of
121
- this License, whose permissions for other licensees extend to the
122
- entire whole, and thus to each and every part regardless of who wrote it.
123
-
124
- Thus, it is not the intent of this section to claim rights or contest
125
- your rights to work written entirely by you; rather, the intent is to
126
- exercise the right to control the distribution of derivative or
127
- collective works based on the Program.
128
-
129
- In addition, mere aggregation of another work not based on the Program
130
- with the Program (or with a work based on the Program) on a volume of
131
- a storage or distribution medium does not bring the other work under
132
- the scope of this License.
133
-
134
- 3. You may copy and distribute the Program (or a work based on it,
135
- under Section 2) in object code or executable form under the terms of
136
- Sections 1 and 2 above provided that you also do one of the following:
137
-
138
- a) Accompany it with the complete corresponding machine-readable
139
- source code, which must be distributed under the terms of Sections
140
- 1 and 2 above on a medium customarily used for software interchange; or,
141
-
142
- b) Accompany it with a written offer, valid for at least three
143
- years, to give any third party, for a charge no more than your
144
- cost of physically performing source distribution, a complete
145
- machine-readable copy of the corresponding source code, to be
146
- distributed under the terms of Sections 1 and 2 above on a medium
147
- customarily used for software interchange; or,
148
-
149
- c) Accompany it with the information you received as to the offer
150
- to distribute corresponding source code. (This alternative is
151
- allowed only for noncommercial distribution and only if you
152
- received the program in object code or executable form with such
153
- an offer, in accord with Subsection b above.)
154
-
155
- The source code for a work means the preferred form of the work for
156
- making modifications to it. For an executable work, complete source
157
- code means all the source code for all modules it contains, plus any
158
- associated interface definition files, plus the scripts used to
159
- control compilation and installation of the executable. However, as a
160
- special exception, the source code distributed need not include
161
- anything that is normally distributed (in either source or binary
162
- form) with the major components (compiler, kernel, and so on) of the
163
- operating system on which the executable runs, unless that component
164
- itself accompanies the executable.
165
-
166
- If distribution of executable or object code is made by offering
167
- access to copy from a designated place, then offering equivalent
168
- access to copy the source code from the same place counts as
169
- distribution of the source code, even though third parties are not
170
- compelled to copy the source along with the object code.
171
-
172
- 4. You may not copy, modify, sublicense, or distribute the Program
173
- except as expressly provided under this License. Any attempt
174
- otherwise to copy, modify, sublicense or distribute the Program is
175
- void, and will automatically terminate your rights under this License.
176
- However, parties who have received copies, or rights, from you under
177
- this License will not have their licenses terminated so long as such
178
- parties remain in full compliance.
179
-
180
- 5. You are not required to accept this License, since you have not
181
- signed it. However, nothing else grants you permission to modify or
182
- distribute the Program or its derivative works. These actions are
183
- prohibited by law if you do not accept this License. Therefore, by
184
- modifying or distributing the Program (or any work based on the
185
- Program), you indicate your acceptance of this License to do so, and
186
- all its terms and conditions for copying, distributing or modifying
187
- the Program or works based on it.
188
-
189
- 6. Each time you redistribute the Program (or any work based on the
190
- Program), the recipient automatically receives a license from the
191
- original licensor to copy, distribute or modify the Program subject to
192
- these terms and conditions. You may not impose any further
193
- restrictions on the recipients' exercise of the rights granted herein.
194
- You are not responsible for enforcing compliance by third parties to
195
- this License.
196
-
197
- 7. If, as a consequence of a court judgment or allegation of patent
198
- infringement or for any other reason (not limited to patent issues),
199
- conditions are imposed on you (whether by court order, agreement or
200
- otherwise) that contradict the conditions of this License, they do not
201
- excuse you from the conditions of this License. If you cannot
202
- distribute so as to satisfy simultaneously your obligations under this
203
- License and any other pertinent obligations, then as a consequence you
204
- may not distribute the Program at all. For example, if a patent
205
- license would not permit royalty-free redistribution of the Program by
206
- all those who receive copies directly or indirectly through you, then
207
- the only way you could satisfy both it and this License would be to
208
- refrain entirely from distribution of the Program.
209
-
210
- If any portion of this section is held invalid or unenforceable under
211
- any particular circumstance, the balance of the section is intended to
212
- apply and the section as a whole is intended to apply in other
213
- circumstances.
214
-
215
- It is not the purpose of this section to induce you to infringe any
216
- patents or other property right claims or to contest validity of any
217
- such claims; this section has the sole purpose of protecting the
218
- integrity of the free software distribution system, which is
219
- implemented by public license practices. Many people have made
220
- generous contributions to the wide range of software distributed
221
- through that system in reliance on consistent application of that
222
- system; it is up to the author/donor to decide if he or she is willing
223
- to distribute software through any other system and a licensee cannot
224
- impose that choice.
225
-
226
- This section is intended to make thoroughly clear what is believed to
227
- be a consequence of the rest of this License.
228
-
229
- 8. If the distribution and/or use of the Program is restricted in
230
- certain countries either by patents or by copyrighted interfaces, the
231
- original copyright holder who places the Program under this License
232
- may add an explicit geographical distribution limitation excluding
233
- those countries, so that distribution is permitted only in or among
234
- countries not thus excluded. In such case, this License incorporates
235
- the limitation as if written in the body of this License.
236
-
237
- 9. The Free Software Foundation may publish revised and/or new versions
238
- of the General Public License from time to time. Such new versions will
239
- be similar in spirit to the present version, but may differ in detail to
240
- address new problems or concerns.
241
-
242
- Each version is given a distinguishing version number. If the Program
243
- specifies a version number of this License which applies to it and "any
244
- later version", you have the option of following the terms and conditions
245
- either of that version or of any later version published by the Free
246
- Software Foundation. If the Program does not specify a version number of
247
- this License, you may choose any version ever published by the Free Software
248
- Foundation.
249
-
250
- 10. If you wish to incorporate parts of the Program into other free
251
- programs whose distribution conditions are different, write to the author
252
- to ask for permission. For software which is copyrighted by the Free
253
- Software Foundation, write to the Free Software Foundation; we sometimes
254
- make exceptions for this. Our decision will be guided by the two goals
255
- of preserving the free status of all derivatives of our free software and
256
- of promoting the sharing and reuse of software generally.
257
-
258
- NO WARRANTY
259
-
260
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
- REPAIR OR CORRECTION.
269
-
270
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
- POSSIBILITY OF SUCH DAMAGES.
279
-
280
- END OF TERMS AND CONDITIONS
281
-
282
- How to Apply These Terms to Your New Programs
283
-
284
- If you develop a new program, and you want it to be of the greatest
285
- possible use to the public, the best way to achieve this is to make it
286
- free software which everyone can redistribute and change under these terms.
287
-
288
- To do so, attach the following notices to the program. It is safest
289
- to attach them to the start of each source file to most effectively
290
- convey the exclusion of warranty; and each file should have at least
291
- the "copyright" line and a pointer to where the full notice is found.
292
-
293
- <one line to give the program's name and a brief idea of what it does.>
294
- Copyright (C) <year> <name of author>
295
-
296
- This program is free software; you can redistribute it and/or modify
297
- it under the terms of the GNU General Public License as published by
298
- the Free Software Foundation; either version 2 of the License, or
299
- (at your option) any later version.
300
-
301
- This program is distributed in the hope that it will be useful,
302
- but WITHOUT ANY WARRANTY; without even the implied warranty of
303
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
- GNU General Public License for more details.
305
-
306
- You should have received a copy of the GNU General Public License along
307
- with this program; if not, write to the Free Software Foundation, Inc.,
308
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
-
310
- Also add information on how to contact you by electronic and paper mail.
311
-
312
- If the program is interactive, make it output a short notice like this
313
- when it starts in an interactive mode:
314
-
315
- Gnomovision version 69, Copyright (C) year name of author
316
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
- This is free software, and you are welcome to redistribute it
318
- under certain conditions; type `show c' for details.
319
-
320
- The hypothetical commands `show w' and `show c' should show the appropriate
321
- parts of the General Public License. Of course, the commands you use may
322
- be called something other than `show w' and `show c'; they could even be
323
- mouse-clicks or menu items--whatever suits your program.
324
-
325
- You should also get your employer (if you work as a programmer) or your
326
- school, if any, to sign a "copyright disclaimer" for the program, if
327
- necessary. Here is a sample; alter the names:
328
-
329
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
-
332
- <signature of Ty Coon>, 1 April 1989
333
- Ty Coon, President of Vice
334
-
335
- This General Public License does not permit incorporating your program into
336
- proprietary programs. If your program is a subroutine library, you may
337
- consider it more useful to permit linking proprietary applications with the
338
- library. If this is what you want to do, use the GNU Lesser General
339
  Public License instead of this License.
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
  Public License instead of this License.
admin/class-woo-feed-admin.php CHANGED
@@ -1,266 +1,266 @@
1
- <?php
2
-
3
- /**
4
- * The admin-specific functionality of the plugin.
5
- *
6
- * @link https://webappick.com/
7
- * @since 1.0.0
8
- *
9
- * @package Woo_Feed
10
- * @subpackage Woo_Feed/admin
11
- * @author Ohidul Islam <wahid@webappick.com>
12
- */
13
- class Woo_Feed_Admin {
14
-
15
- /**
16
- * The ID of this plugin.
17
- *
18
- * @since 1.0.0
19
- * @access private
20
- * @var string $woo_feed The ID of this plugin.
21
- */
22
- private $woo_feed;
23
-
24
- /**
25
- * The version of this plugin.
26
- *
27
- * @since 1.0.0
28
- * @access private
29
- * @var string $version The current version of this plugin.
30
- */
31
- private $version;
32
-
33
- /**
34
- * Initialize the class and set its properties.
35
- *
36
- * @param string $woo_feed The name of this plugin.
37
- * @param string $version The version of this plugin.
38
- *
39
- * @since 1.0.0
40
- *
41
- */
42
- public function __construct( $woo_feed, $version ) {
43
-
44
- $this->woo_feed = $woo_feed;
45
- $this->version = $version;
46
-
47
- }
48
-
49
- /**
50
- * Register the stylesheets for the admin area.
51
- *
52
- * @param string $hook
53
- *
54
- * @since 1.0.0
55
- */
56
- public function enqueue_styles( $hook ) {
57
- /**
58
- * This function is provided for demonstration purposes only.
59
- *
60
- * An instance of this class should be passed to the run() function
61
- * defined in woo_feed_Loader as all of the hooks are defined
62
- * in that particular class.
63
- *
64
- * The woo_feed_Loader will then create the relationship
65
- * between the defined hooks and the functions defined in this
66
- * class.
67
- */
68
- $mainDeps = array();
69
- $ext = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.css' : '.min.css';
70
- if ( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
71
- wp_enqueue_style('thickbox');
72
- wp_register_style( 'selectize', plugin_dir_url( __FILE__ ) . 'css/selectize' . $ext, array(), $this->version );
73
- wp_enqueue_style( 'fancy-select', plugin_dir_url( __FILE__ ) . 'css/fancy-select' . $ext, array(), $this->version );
74
- wp_register_style( 'slick', plugin_dir_url( __FILE__ ) . 'css/slick' . $ext, array(), $this->version );
75
- wp_register_style( 'slick-theme', plugin_dir_url( __FILE__ ) . 'css/slick-theme' . $ext, array(), $this->version );
76
- $mainDeps = array( 'selectize', 'fancy-select', 'list-tables', 'edit' );
77
- if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
78
- $mainDeps = array_merge( $mainDeps, array( 'slick', 'slick-theme' ) );
79
- }
80
- }
81
- wp_register_style( $this->woo_feed, plugin_dir_url( __FILE__ ) . 'css/woo-feed-admin' . $ext, $mainDeps, $this->version, 'all' );
82
- wp_register_style( $this->woo_feed . '-pro', plugin_dir_url( __FILE__ ) . 'css/woo-feed-admin-pro' . $ext, [ $this->woo_feed ], $this->version, 'all' );
83
- wp_enqueue_style( $this->woo_feed );
84
- wp_enqueue_style( $this->woo_feed . '-pro' );
85
- }
86
-
87
- /**
88
- * Register the JavaScript for the admin area.
89
- *
90
- * @param string $hook
91
- *
92
- * @since 1.0.0
93
- */
94
- public function enqueue_scripts( $hook ) {
95
- /**
96
- * This function is provided for demonstration purposes only.
97
- *
98
- * An instance of this class should be passed to the run() function
99
- * defined in Woo_Feed_Loader as all of the hooks are defined
100
- * in that particular class.
101
- *
102
- * The woo_feed_Loader will then create the relationship
103
- * between the defined hooks and the functions defined in this
104
- * class.
105
- */
106
- $ext = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.js' : '.min.js';
107
- if ( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
108
- wp_enqueue_script('thickbox');
109
- if ( is_network_admin() ) {
110
- add_action( 'admin_head', '_thickbox_path_admin_subfolder' );
111
- }
112
- wp_register_script( 'jquery-selectize', plugin_dir_url( __FILE__ ) . 'js/selectize.min.js', array( 'jquery' ), $this->version, false );
113
- wp_register_script( 'fancy-select', plugin_dir_url( __FILE__ ) . 'js/fancy-select' . $ext, array( 'jquery' ), $this->version, false );
114
- wp_register_script( 'jquery-validate', plugin_dir_url( __FILE__ ) . 'js/jquery.validate.min.js', array( 'jquery' ), $this->version, false );
115
- wp_register_script( 'jquery-validate-additional-methods', plugin_dir_url( __FILE__ ) . 'js/additional-methods.min.js', array( 'jquery', 'jquery-validate' ), $this->version, false );
116
- wp_register_script( 'jquery-sortable', plugin_dir_url( __FILE__ ) . 'js/jquery-sortable' . $ext, array( 'jquery' ), $this->version, false );
117
-
118
- $feedScriptDependency = [
119
- 'jquery',
120
- 'clipboard',
121
- 'jquery-selectize',
122
- 'jquery-sortable',
123
- 'jquery-validate',
124
- 'jquery-validate-additional-methods',
125
- 'wp-util',
126
- 'utils',
127
- 'wp-lists',
128
- 'postbox',
129
- 'tags-box',
130
- // 'underscore', 'word-count', 'jquery-ui-autocomplete',
131
- 'jquery-touch-punch',
132
- 'fancy-select',
133
- ];
134
-
135
- wp_register_script( $this->woo_feed, plugin_dir_url( __FILE__ ) . 'js/woo-feed-admin' . $ext, $feedScriptDependency, $this->version, false );
136
-
137
- $js_opts = array(
138
- 'wpf_ajax_url' => admin_url( 'admin-ajax.php' ),
139
- 'wpf_debug' => woo_feed_is_debugging_enabled(),
140
- 'pages' => [
141
- 'list' => [
142
- 'feed' => esc_url( admin_url( 'admin.php?page=webappick-manage-feeds' ) ),
143
- ],
144
- ],
145
- 'nonce' => wp_create_nonce( 'wpf_feed_nonce' ),
146
- 'is_feed_edit' => isset( $_GET['page'], $_GET['action'] ) && 'webappick-manage-feeds' === $_GET['page'] && 'edit-feed' === $_GET['action'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
147
- 'is_feed_add' => isset( $_GET['page'] ) && 'webappick-new-feed' === $_GET['page'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
148
- 'na' => esc_html__( 'N/A', 'woo-feed' ),
149
- 'regenerate' => esc_html__( 'Generating...', 'woo-feed' ),
150
- 'learn_more' => esc_html__( 'Learn More..', 'woo-feed' ),
151
- 'form' => array(
152
- 'select_category' => esc_attr__( 'Select A Category', 'woo-feed' ),
153
- 'loading_tmpl' => esc_html__( 'Loading Template...', 'woo-feed' ),
154
- 'generate' => esc_html__( 'Delivering Configuration...', 'woo-feed' ),
155
- 'save' => esc_html__( 'Saving Configuration...', 'woo-feed' ),
156
- 'sftp_checking' => esc_html__( 'Wait! Checking Extensions ...', 'woo-feed' ),
157
- 'sftp_warning' => esc_html__( 'Warning! Enable PHP ssh2 extension to use SFTP. Contact your server administrator.', 'woo-feed' ),
158
- 'sftp_available' => esc_html__( 'SFTP Available!', 'woo-feed' ),
159
- 'one_item_required' => esc_html__( 'Please add one or more items to continue.', 'woo-feed' ),
160
- 'google_category' => woo_feed_merchant_require_google_category(),
161
- 'del_confirm' => esc_html__( 'Are you sure you want to delete this item?', 'woo-feed' ),
162
- 'del_confirm_multi' => esc_html__( 'Are you sure you want to delete selected items?', 'woo-feed' ),
163
- 'item_wrapper_hidden' => woo_feed_get_item_wrapper_hidden_merchant(),
164
- ),
165
- 'generator' => [
166
- 'limit' => woo_feed_get_options( 'per_batch' ),
167
- 'feed' => '',
168
- 'regenerate' => false,
169
- ],
170
- 'ajax' => [
171
- 'url' => admin_url( 'admin-ajax.php' ),
172
- 'nonce' => wp_create_nonce( 'wpf_feed_nonce' ),
173
- 'error' => esc_html__( 'There was an error processing ajax request.', 'woo-feed' ),
174
- ],
175
- );
176
- // phpcs:ignore WordPress.Security.NonceVerification.Recommended
177
- if ( ( isset( $_GET['feed_created'] ) || isset( $_GET['feed_updated'] ) || isset( $_GET['feed_imported'] ) ) && isset( $_GET['feed_regenerate'] ) && 1 === (int) $_GET['feed_regenerate'] ) {
178
- // phpcs:ignore WordPress.Security.NonceVerification.Recommended
179
- $fileName = isset( $_GET['feed_name'] ) && ! empty( $_GET['feed_name'] ) ? sanitize_text_field( wp_unslash($_GET['feed_name']) ) : ''; // trigger feed regenerate...
180
- if ( ! empty( $fileName ) ) {
181
- // filename must be wf_config+XXX format for js to work.
182
- $js_opts['generator']['feed'] = 'wf_config' . woo_feed_extract_feed_option_name( $fileName );
183
- $js_opts['generator']['regenerate'] = true;
184
- }
185
- }
186
- wp_localize_script( $this->woo_feed, 'wpf_ajax_obj', $js_opts );
187
- wp_enqueue_script( $this->woo_feed );
188
-
189
- if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
190
- wp_register_script( 'jquery-slick', plugin_dir_url( __FILE__ ) . 'js/slick' . $ext, array( 'jquery' ), $this->version, false );
191
- wp_register_script( $this->woo_feed . '-pro', plugin_dir_url( __FILE__ ) . 'js/woo-feed-admin-pro' . $ext, [ $this->woo_feed, 'jquery-slick' ], $this->version, false );
192
- wp_enqueue_script( $this->woo_feed . '-pro' );
193
- }
194
- }
195
- }
196
-
197
- /**
198
- * Add Go to Pro and Documentation link
199
- * @param array $links
200
- * @return array
201
- */
202
- public function woo_feed_plugin_action_links( $links ) {
203
-
204
- $links[] = '<a style="color: #389e38; font-weight: bold;" href="https://webappick.com/plugin/woocommerce-product-feed-pro/?utm_source=freePlugin&utm_medium=go_premium&utm_campaign=free_to_pro&utm_term=wooFeed" target="_blank">' . __( 'Get Pro', 'woo-feed' ) . '</a>';
205
- /** @noinspection HtmlUnknownTarget */
206
- $links[] = sprintf( '<a style="color:#ce7304; font-weight: bold;" href="%s">%s</a>', esc_url( admin_url( 'admin.php?page=webappick-feed-docs' ) ), __( 'Docs', 'woo-feed' ) );
207
- /** @noinspection HtmlUnknownTarget */
208
- $links[] = sprintf( '<a href="%s">%s</a>', esc_url( admin_url( 'admin.php?page=webappick-feed-settings' ) ), __( 'Settings', 'woo-feed' ) );
209
- return $links;
210
- }
211
-
212
- /**
213
- * Register the Plugin's Admin Pages for the admin area.
214
- *
215
- * @since 1.0.0
216
- */
217
- public function load_admin_pages() {
218
- /**
219
- * This function is provided for making admin pages into admin area.
220
- *
221
- * An instance of this class should be passed to the run() function
222
- * defined in WOO_FEED_Loader as all of the hooks are defined
223
- * in that particular class.
224
- *
225
- * The WOO_FEED_Loader will then create the relationship
226
- * between the defined hooks and the functions defined in this
227
- * class.
228
- */
229
- if ( function_exists( 'add_options_page' ) ) {
230
- add_menu_page( __( 'CTX Feed', 'woo-feed' ), __( 'CTX Feed', 'woo-feed' ), 'manage_woocommerce', 'webappick-manage-feeds', 'woo_feed_manage_feed', 'dashicons-rss' );
231
- add_submenu_page( 'webappick-manage-feeds', __( 'Manage Feeds', 'woo-feed' ), __( 'Manage Feeds', 'woo-feed' ), 'manage_woocommerce', 'webappick-manage-feeds', 'woo_feed_manage_feed' );
232
- add_submenu_page( 'webappick-manage-feeds', __( 'Make Feed', 'woo-feed' ), __( 'Make Feed', 'woo-feed' ), 'manage_woocommerce', 'webappick-new-feed', 'woo_feed_generate_new_feed' );
233
- add_submenu_page( 'webappick-manage-feeds', __( 'Category Mapping', 'woo-feed' ), __( 'Category Mapping', 'woo-feed' ), 'manage_woocommerce', 'webappick-feed-category-mapping', 'woo_feed_category_mapping' );
234
- add_submenu_page( 'webappick-manage-feeds', __( 'Settings', 'woo-feed' ), __( 'Settings', 'woo-feed' ), 'manage_woocommerce', 'webappick-feed-settings', 'woo_feed_config_feed' );
235
- add_submenu_page( 'webappick-manage-feeds', __( 'WP Options', 'woo-feed' ), __( 'WP Options', 'woo-feed' ), 'manage_woocommerce', 'webappick-wp-options', 'woo_feed_wp_options' );
236
- add_submenu_page( 'webappick-manage-feeds', __( 'Status', 'woo-feed' ), __( 'Status', 'woo-feed' ), 'manage_woocommerce', 'webappick-wp-status', 'woo_feed_system_status' );
237
- add_submenu_page( 'webappick-manage-feeds', __( 'Documentation', 'woo-feed' ), '<span class="woo-feed-docs">' . __( 'Docs', 'woo-feed' ) . '</span>', 'manage_woocommerce', 'webappick-feed-docs', array( WooFeedDocs::getInstance(), 'woo_feed_docs' ) );
238
- }
239
- }
240
-
241
- /**
242
- * Redirect user to with new menu slug (if user browser any bookmarked url)
243
- * @return void
244
- * @since 3.1.7
245
- */
246
- public function handle_old_menu_slugs() {
247
- global $pagenow;
248
- // redirect user to new old slug => new slug
249
- $redirect_to = array(
250
- 'webappick-product-feed-for-woocommerce/admin/class-woo-feed-admin.php' => 'webappick-new-feed',
251
- 'woo_feed_manage_feed' => 'webappick-manage-feeds',
252
- 'woo_feed_config_feed' => 'webappick-feed-settings',
253
- 'woo_feed_pro_vs_free' => 'webappick-feed-pro-vs-free',
254
- 'woo_feed_wp_options' => 'webappick-wp-options',
255
- );
256
- if ( 'admin.php' === $pagenow && isset( $plugin_page ) && ! empty( $plugin_page ) ) {
257
- foreach ( $redirect_to as $from => $to ) {
258
- if ( $plugin_page !== $from ) {
259
- continue;
260
- }
261
- wp_safe_redirect( admin_url( 'admin.php?page=' . $to ), 301 );
262
- die();
263
- }
264
- }
265
- }
266
- }
1
+ <?php
2
+
3
+ /**
4
+ * The admin-specific functionality of the plugin.
5
+ *
6
+ * @link https://webappick.com/
7
+ * @since 1.0.0
8
+ *
9
+ * @package Woo_Feed
10
+ * @subpackage Woo_Feed/admin
11
+ * @author Ohidul Islam <wahid@webappick.com>
12
+ */
13
+ class Woo_Feed_Admin {
14
+
15
+ /**
16
+ * The ID of this plugin.
17
+ *
18
+ * @since 1.0.0
19
+ * @access private
20
+ * @var string $woo_feed The ID of this plugin.
21
+ */
22
+ private $woo_feed;
23
+
24
+ /**
25
+ * The version of this plugin.
26
+ *
27
+ * @since 1.0.0
28
+ * @access private
29
+ * @var string $version The current version of this plugin.
30
+ */
31
+ private $version;
32
+
33
+ /**
34
+ * Initialize the class and set its properties.
35
+ *
36
+ * @param string $woo_feed The name of this plugin.
37
+ * @param string $version The version of this plugin.
38
+ *
39
+ * @since 1.0.0
40
+ *
41
+ */
42
+ public function __construct( $woo_feed, $version ) {
43
+
44
+ $this->woo_feed = $woo_feed;
45
+ $this->version = $version;
46
+
47
+ }
48
+
49
+ /**
50
+ * Register the stylesheets for the admin area.
51
+ *
52
+ * @param string $hook
53
+ *
54
+ * @since 1.0.0
55
+ */
56
+ public function enqueue_styles( $hook ) {
57
+ /**
58
+ * This function is provided for demonstration purposes only.
59
+ *
60
+ * An instance of this class should be passed to the run() function
61
+ * defined in woo_feed_Loader as all of the hooks are defined
62
+ * in that particular class.
63
+ *
64
+ * The woo_feed_Loader will then create the relationship
65
+ * between the defined hooks and the functions defined in this
66
+ * class.
67
+ */
68
+ $mainDeps = array();
69
+ $ext = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.css' : '.min.css';
70
+ if ( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
71
+ wp_enqueue_style('thickbox');
72
+ wp_register_style( 'selectize', plugin_dir_url( __FILE__ ) . 'css/selectize' . $ext, array(), $this->version );
73
+ wp_enqueue_style( 'fancy-select', plugin_dir_url( __FILE__ ) . 'css/fancy-select' . $ext, array(), $this->version );
74
+ wp_register_style( 'slick', plugin_dir_url( __FILE__ ) . 'css/slick' . $ext, array(), $this->version );
75
+ wp_register_style( 'slick-theme', plugin_dir_url( __FILE__ ) . 'css/slick-theme' . $ext, array(), $this->version );
76
+ $mainDeps = array( 'selectize', 'fancy-select', 'list-tables', 'edit' );
77
+ if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
78
+ $mainDeps = array_merge( $mainDeps, array( 'slick', 'slick-theme' ) );
79
+ }
80
+ }
81
+ wp_register_style( $this->woo_feed, plugin_dir_url( __FILE__ ) . 'css/woo-feed-admin' . $ext, $mainDeps, $this->version, 'all' );
82
+ wp_register_style( $this->woo_feed . '-pro', plugin_dir_url( __FILE__ ) . 'css/woo-feed-admin-pro' . $ext, [ $this->woo_feed ], $this->version, 'all' );
83
+ wp_enqueue_style( $this->woo_feed );
84
+ wp_enqueue_style( $this->woo_feed . '-pro' );
85
+ }
86
+
87
+ /**
88
+ * Register the JavaScript for the admin area.
89
+ *
90
+ * @param string $hook
91
+ *
92
+ * @since 1.0.0
93
+ */
94
+ public function enqueue_scripts( $hook ) {
95
+ /**
96
+ * This function is provided for demonstration purposes only.
97
+ *
98
+ * An instance of this class should be passed to the run() function
99
+ * defined in Woo_Feed_Loader as all of the hooks are defined
100
+ * in that particular class.
101
+ *
102
+ * The woo_feed_Loader will then create the relationship
103
+ * between the defined hooks and the functions defined in this
104
+ * class.
105
+ */
106
+ $ext = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.js' : '.min.js';
107
+ if ( false !== strpos( $hook, 'webappick' ) && false !== strpos( $hook, 'feed' ) ) {
108
+ wp_enqueue_script('thickbox');
109
+ if ( is_network_admin() ) {
110
+ add_action( 'admin_head', '_thickbox_path_admin_subfolder' );
111
+ }
112
+ wp_register_script( 'jquery-selectize', plugin_dir_url( __FILE__ ) . 'js/selectize.min.js', array( 'jquery' ), $this->version, false );
113
+ wp_register_script( 'fancy-select', plugin_dir_url( __FILE__ ) . 'js/fancy-select' . $ext, array( 'jquery' ), $this->version, false );
114
+ wp_register_script( 'jquery-validate', plugin_dir_url( __FILE__ ) . 'js/jquery.validate.min.js', array( 'jquery' ), $this->version, false );
115
+ wp_register_script( 'jquery-validate-additional-methods', plugin_dir_url( __FILE__ ) . 'js/additional-methods.min.js', array( 'jquery', 'jquery-validate' ), $this->version, false );
116
+ wp_register_script( 'jquery-sortable', plugin_dir_url( __FILE__ ) . 'js/jquery-sortable' . $ext, array( 'jquery' ), $this->version, false );
117
+
118
+ $feedScriptDependency = [
119
+ 'jquery',
120
+ 'clipboard',
121
+ 'jquery-selectize',
122
+ 'jquery-sortable',
123
+ 'jquery-validate',
124
+ 'jquery-validate-additional-methods',
125
+ 'wp-util',
126
+ 'utils',
127
+ 'wp-lists',
128
+ 'postbox',
129
+ 'tags-box',
130
+ // 'underscore', 'word-count', 'jquery-ui-autocomplete',
131
+ 'jquery-touch-punch',
132
+ 'fancy-select',
133
+ ];
134
+
135
+ wp_register_script( $this->woo_feed, plugin_dir_url( __FILE__ ) . 'js/woo-feed-admin' . $ext, $feedScriptDependency, $this->version, false );
136
+
137
+ $js_opts = array(
138
+ 'wpf_ajax_url' => admin_url( 'admin-ajax.php' ),
139
+ 'wpf_debug' => woo_feed_is_debugging_enabled(),
140
+ 'pages' => [
141
+ 'list' => [
142
+ 'feed' => esc_url( admin_url( 'admin.php?page=webappick-manage-feeds' ) ),
143
+ ],
144
+ ],
145
+ 'nonce' => wp_create_nonce( 'wpf_feed_nonce' ),
146
+ 'is_feed_edit' => isset( $_GET['page'], $_GET['action'] ) && 'webappick-manage-feeds' === $_GET['page'] && 'edit-feed' === $_GET['action'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
147
+ 'is_feed_add' => isset( $_GET['page'] ) && 'webappick-new-feed' === $_GET['page'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
148
+ 'na' => esc_html__( 'N/A', 'woo-feed' ),
149
+ 'regenerate' => esc_html__( 'Generating...', 'woo-feed' ),
150
+ 'learn_more' => esc_html__( 'Learn More..', 'woo-feed' ),
151
+ 'form' => array(
152
+ 'select_category' => esc_attr__( 'Select A Category', 'woo-feed' ),
153
+ 'loading_tmpl' => esc_html__( 'Loading Template...', 'woo-feed' ),
154
+ 'generate' => esc_html__( 'Delivering Configuration...', 'woo-feed' ),
155
+ 'save' => esc_html__( 'Saving Configuration...', 'woo-feed' ),
156
+ 'sftp_checking' => esc_html__( 'Wait! Checking Extensions ...', 'woo-feed' ),
157
+ 'sftp_warning' => esc_html__( 'Warning! Enable PHP ssh2 extension to use SFTP. Contact your server administrator.', 'woo-feed' ),
158
+ 'sftp_available' => esc_html__( 'SFTP Available!', 'woo-feed' ),
159
+ 'one_item_required' => esc_html__( 'Please add one or more items to continue.', 'woo-feed' ),
160
+ 'google_category' => woo_feed_merchant_require_google_category(),
161
+ 'del_confirm' => esc_html__( 'Are you sure you want to delete this item?', 'woo-feed' ),
162
+ 'del_confirm_multi' => esc_html__( 'Are you sure you want to delete selected items?', 'woo-feed' ),
163
+ 'item_wrapper_hidden' => woo_feed_get_item_wrapper_hidden_merchant(),
164
+ ),
165
+ 'generator' => [
166
+ 'limit' => woo_feed_get_options( 'per_batch' ),
167
+ 'feed' => '',
168
+ 'regenerate' => false,
169
+ ],
170
+ 'ajax' => [
171
+ 'url' => admin_url( 'admin-ajax.php' ),
172
+ 'nonce' => wp_create_nonce( 'wpf_feed_nonce' ),
173
+ 'error' => esc_html__( 'There was an error processing ajax request.', 'woo-feed' ),
174
+ ],
175
+ );
176
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended
177
+ if ( ( isset( $_GET['feed_created'] ) || isset( $_GET['feed_updated'] ) || isset( $_GET['feed_imported'] ) ) && isset( $_GET['feed_regenerate'] ) && 1 === (int) $_GET['feed_regenerate'] ) {
178
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended
179
+ $fileName = isset( $_GET['feed_name'] ) && ! empty( $_GET['feed_name'] ) ? sanitize_text_field( wp_unslash($_GET['feed_name']) ) : ''; // trigger feed regenerate...
180
+ if ( ! empty( $fileName ) ) {
181
+ // filename must be wf_config+XXX format for js to work.
182
+ $js_opts['generator']['feed'] = 'wf_config' . woo_feed_extract_feed_option_name( $fileName );
183
+ $js_opts['generator']['regenerate'] = true;
184
+ }
185
+ }
186
+ wp_localize_script( $this->woo_feed, 'wpf_ajax_obj', $js_opts );
187
+ wp_enqueue_script( $this->woo_feed );
188
+
189
+ if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
190
+ wp_register_script( 'jquery-slick', plugin_dir_url( __FILE__ ) . 'js/slick' . $ext, array( 'jquery' ), $this->version, false );
191
+ wp_register_script( $this->woo_feed . '-pro', plugin_dir_url( __FILE__ ) . 'js/woo-feed-admin-pro' . $ext, [ $this->woo_feed, 'jquery-slick' ], $this->version, false );
192
+ wp_enqueue_script( $this->woo_feed . '-pro' );
193
+ }
194
+ }
195
+ }
196
+
197
+ /**
198
+ * Add Go to Pro and Documentation link
199
+ * @param array $links
200
+ * @return array
201
+ */
202
+ public function woo_feed_plugin_action_links( $links ) {
203
+
204
+ $links[] = '<a style="color: #389e38; font-weight: bold;" href="https://webappick.com/plugin/woocommerce-product-feed-pro/?utm_source=freePlugin&utm_medium=go_premium&utm_campaign=free_to_pro&utm_term=wooFeed" target="_blank">' . __( 'Get Pro', 'woo-feed' ) . '</a>';
205
+ /** @noinspection HtmlUnknownTarget */
206
+ $links[] = sprintf( '<a style="color:#ce7304; font-weight: bold;" href="%s">%s</a>', esc_url( admin_url( 'admin.php?page=webappick-feed-docs' ) ), __( 'Docs', 'woo-feed' ) );
207
+ /** @noinspection HtmlUnknownTarget */
208
+ $links[] = sprintf( '<a href="%s">%s</a>', esc_url( admin_url( 'admin.php?page=webappick-feed-settings' ) ), __( 'Settings', 'woo-feed' ) );
209
+ return $links;
210
+ }
211
+
212
+ /**
213
+ * Register the Plugin's Admin Pages for the admin area.
214
+ *
215
+ * @since 1.0.0
216
+ */
217
+ public function load_admin_pages() {
218
+ /**
219
+ * This function is provided for making admin pages into admin area.
220
+ *
221
+ * An instance of this class should be passed to the run() function
222
+ * defined in WOO_FEED_Loader as all of the hooks are defined
223
+ * in that particular class.
224
+ *
225
+ * The WOO_FEED_Loader will then create the relationship
226
+ * between the defined hooks and the functions defined in this
227
+ * class.
228
+ */
229
+ if ( function_exists( 'add_options_page' ) ) {
230
+ add_menu_page( __( 'CTX Feed', 'woo-feed' ), __( 'CTX Feed', 'woo-feed' ), 'manage_woocommerce', 'webappick-manage-feeds', 'woo_feed_manage_feed', 'dashicons-rss' );
231
+ add_submenu_page( 'webappick-manage-feeds', __( 'Manage Feeds', 'woo-feed' ), __( 'Manage Feeds', 'woo-feed' ), 'manage_woocommerce', 'webappick-manage-feeds', 'woo_feed_manage_feed' );
232
+ add_submenu_page( 'webappick-manage-feeds', __( 'Make Feed', 'woo-feed' ), __( 'Make Feed', 'woo-feed' ), 'manage_woocommerce', 'webappick-new-feed', 'woo_feed_generate_new_feed' );
233
+ add_submenu_page( 'webappick-manage-feeds', __( 'Category Mapping', 'woo-feed' ), __( 'Category Mapping', 'woo-feed' ), 'manage_woocommerce', 'webappick-feed-category-mapping', 'woo_feed_category_mapping' );
234
+ add_submenu_page( 'webappick-manage-feeds', __( 'Settings', 'woo-feed' ), __( 'Settings', 'woo-feed' ), 'manage_woocommerce', 'webappick-feed-settings', 'woo_feed_config_feed' );
235
+ add_submenu_page( 'webappick-manage-feeds', __( 'WP Options', 'woo-feed' ), __( 'WP Options', 'woo-feed' ), 'manage_woocommerce', 'webappick-wp-options', 'woo_feed_wp_options' );
236
+ add_submenu_page( 'webappick-manage-feeds', __( 'Status', 'woo-feed' ), __( 'Status', 'woo-feed' ), 'manage_woocommerce', 'webappick-wp-status', 'woo_feed_system_status' );
237
+ add_submenu_page( 'webappick-manage-feeds', __( 'Documentation', 'woo-feed' ), '<span class="woo-feed-docs">' . __( 'Docs', 'woo-feed' ) . '</span>', 'manage_woocommerce', 'webappick-feed-docs', array( WooFeedDocs::getInstance(), 'woo_feed_docs' ) );
238
+ }
239
+ }
240
+
241
+ /**
242
+ * Redirect user to with new menu slug (if user browser any bookmarked url)
243
+ * @return void
244
+ * @since 3.1.7
245
+ */
246
+ public function handle_old_menu_slugs() {
247
+ global $pagenow;
248
+ // redirect user to new old slug => new slug
249
+ $redirect_to = array(
250
+ 'webappick-product-feed-for-woocommerce/admin/class-woo-feed-admin.php' => 'webappick-new-feed',
251
+ 'woo_feed_manage_feed' => 'webappick-manage-feeds',
252
+ 'woo_feed_config_feed' => 'webappick-feed-settings',
253
+ 'woo_feed_pro_vs_free' => 'webappick-feed-pro-vs-free',
254
+ 'woo_feed_wp_options' => 'webappick-wp-options',
255
+ );
256
+ if ( 'admin.php' === $pagenow && isset( $plugin_page ) && ! empty( $plugin_page ) ) {
257
+ foreach ( $redirect_to as $from => $to ) {
258
+ if ( $plugin_page !== $from ) {
259
+ continue;
260
+ }
261
+ wp_safe_redirect( admin_url( 'admin.php?page=' . $to ), 301 );
262
+ die();
263
+ }
264
+ }
265
+ }
266
+ }
admin/class-woo-feed-category-list.php CHANGED
@@ -1,498 +1,498 @@
1
- <?php ob_start();
2
-
3
- /**
4
- * Category List
5
- *
6
- * @link https://webappick.com/
7
- * @since 1.0.0
8
- *
9
- * @package Woo_Feed_List_Table
10
- * @author Ohidul Islam <wahid@webappick.com>
11
- */
12
- class Woo_Feed_Category_list extends Woo_Feed_List_Table {
13
-
14
- /** ************************************************************************
15
- * Normally we would be querying data from a database and manipulating that
16
- * for use in your list table. For this example, we're going to simplify it
17
- * slightly and create a pre-built array. Think of this as the data that might
18
- * be returned by $wpdb->query()
19
- *
20
- * In a real-world scenario, you would make your own custom query inside
21
- * this class' prepare_items() method.
22
- *
23
- * @var array
24
- **************************************************************************/
25
-
26
-
27
- /** ************************************************************************
28
- * REQUIRED. Set up a constructor that references the parent constructor. We
29
- * use the parent reference to set some default configs.
30
- ***************************************************************************/
31
- function __construct() {
32
- // Set parent defaults
33
- parent::__construct(
34
- array(
35
- 'singular' => __( 'mapping', 'woo-feed' ), // singular name of the listed records
36
- 'plural' => __( 'mappings', 'woo-feed' ), // plural name of the listed records
37
- 'ajax' => false, // does this table support ajax?
38
- )
39
- );
40
-
41
- }
42
-
43
-
44
- /** ************************************************************************
45
- * Recommended. This method is called when the parent class can't find a method
46
- * specifically build for a given column. Generally, it's recommended to include
47
- * one method for each column you want to render, keeping your package class
48
- * neat and organized. For example, if the class needs to process a column
49
- * named 'title', it would first see if a method named $this->column_title()
50
- * exists - if it does, that method will be used. If it doesn't, this one will
51
- * be used. Generally, you should try to use custom column methods as much as
52
- * possible.
53
- *
54
- * Since we have defined a column_title() method later on, this method doesn't
55
- * need to concern itself with any column with a name of 'title'. Instead, it
56
- * needs to handle everything else.
57
- *
58
- * For more detailed insight into how columns are handled, take a look at
59
- * WP_List_Table::single_row_columns()
60
- *
61
- * @param array $item A singular item (one full row's worth of data)
62
- * @param array $column_name The name/slug of the column to be processed
63
- *
64
- * @return string Text or HTML to be placed inside the column <td>
65
- **************************************************************************/
66
- function column_default( $item, $column_name ) {
67
- // return $item[$column_name];
68
- $getItem = $item['option_name'];
69
- $itemInfo = maybe_unserialize( get_option( $getItem ) );
70
- global $plugin_page;
71
- switch ( $column_name ) {
72
- case 'option_name':
73
- return $itemInfo['mappingname'];
74
- case 'provider':
75
- return $itemInfo['mappingprovider'];
76
- case 'view':
77
- $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
78
- $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
79
-
80
- return sprintf(
81
- '<a class="button button-primary" href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
82
- esc_attr( $plugin_page ),
83
- 'edit-mapping',
84
- $item['option_name'],
85
- $edit_nonce
86
- ) . '&nbsp;' .
87
- sprintf(
88
- '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="button single-category-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
89
- esc_attr( $plugin_page ),
90
- 'delete-mapping',
91
- absint( $item['option_id'] ),
92
- $delete_nonce
93
- );
94
- default:
95
- return false;
96
- }
97
- }
98
-
99
-
100
- /** ************************************************************************
101
- * Recommended. This is a custom column method and is responsible for what
102
- * is rendered in any column with a name/slug of 'title'. Every time the class
103
- * needs to render a column, it first looks for a method named
104
- * column_{$column_title} - if it exists, that method is run. If it doesn't
105
- * exist, column_default() is called instead.
106
- *
107
- * This example also illustrates how to implement rollover actions. Actions
108
- * should be an associative array formatted as 'slug'=>'link html' - and you
109
- * will need to generate the URLs yourself. You could even ensure the links
110
- *
111
- *
112
- * @param array $item A singular item (one full row's worth of data)
113
- *
114
- * @return string Text to be placed inside the column <td> (movie title only)
115
- * *************************************************************************@see WP_List_Table::::single_row_columns()
116
- */
117
- function column_option_name( $item ) {
118
- global $plugin_page;
119
- $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
120
- $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
121
- $actions = array(
122
- 'edit' => sprintf( '<a href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit',
123
- 'woo-feed' ) . '</a>',
124
- esc_attr( $plugin_page ),
125
- 'edit-mapping',
126
- $item['option_name'],
127
- $edit_nonce ),
128
- 'delete' => sprintf( '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="single-category-delete" style="cursor: pointer;">' . __( 'Delete',
129
- 'woo-feed' ) . '</a>',
130
- esc_attr( $plugin_page ),
131
- 'delete-mapping',
132
- absint( $item['option_id'] ),
133
- $delete_nonce ),
134
- );
135
-
136
-
137
- // Return the title contents
138
- $getItem = $item['option_name'];
139
- $itemInfo = maybe_unserialize( get_option( $getItem ) );
140
- $title = $itemInfo['mappingname'];
141
-
142
- return sprintf( '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
143
- /*$1%s*/
144
- $title,
145
- /*$2%s*/
146
- $item['option_id'],
147
- /*$3%s*/
148
- $this->row_actions( $actions )
149
- );
150
- }
151
-
152
- public static function get_mappings() {
153
- global $wpdb;
154
- // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
155
- $result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", 'wf_cmapping_%' ), 'ARRAY_A' );
156
-
157
- return $result;
158
- }
159
-
160
- /**
161
- * Delete a contact record.
162
- *
163
- * @param int $id customer ID
164
- *
165
- * @return false|int
166
- */
167
- public static function delete_mapping( $id ) {
168
- global $wpdb;
169
- // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
170
- return $wpdb->delete( "{$wpdb->prefix}options", array( 'option_id' => $id ), array( '%d' ) );
171
- }
172
-
173
- /**
174
- * Returns the count of records in the database.
175
- *
176
- * @return null|string
177
- */
178
- public static function record_count() {
179
- global $wpdb;
180
- // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
181
- return $wpdb->get_var( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name like %s", 'woo_cmapping_%' ) );
182
- }
183
-
184
- /** Text displayed when no contact data is available */
185
- public function no_items() {
186
- esc_html_e( 'No mapping available.', 'woo-feed' );
187
- }
188
-
189
-
190
- /** ************************************************************************
191
- * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
192
- * is given special treatment when columns are processed. It ALWAYS needs to
193
- * have it's own method.
194
- *
195
- * @param array $item A singular item (one full row's worth of data)
196
- *
197
- * @return string Text to be placed inside the column <td> (movie title only)
198
- * *************************************************************************@see WP_List_Table::::single_row_columns()
199
- */
200
- function column_cb( $item ) {
201
- return sprintf(
202
- '<input type="checkbox" name="%1$s[]" value="%2$s" />',
203
- /*$1%s*/
204
- $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
205
- /*$2%s*/
206
- $item['option_id'] // The value of the checkbox should be the record's id
207
- );
208
- }
209
-
210
-
211
- function column_name( $item ) {
212
- global $plugin_page;
213
- $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
214
- $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
215
- $title = '<strong>' . $item['option_name'] . '</strong>';
216
- $actions = array(
217
- 'edit' => sprintf( '<a href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
218
- esc_attr( $plugin_page ),
219
- 'edit-mapping',
220
- absint( $item['option_id'] ),
221
- $edit_nonce ),
222
- 'delete' => sprintf( '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="single-category-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
223
- esc_attr( $plugin_page ),
224
- 'delete-mapping',
225
- absint( $item['option_id'] ),
226
- $delete_nonce ),
227
- );
228
-
229
- return $title . $this->row_actions( $actions );
230
- }
231
-
232
- /** ************************************************************************
233
- * REQUIRED! This method dictates the table's columns and titles. This should
234
- * return an array where the key is the column slug (and class) and the value
235
- * is the column's title text. If you need a checkbox for bulk actions, refer
236
- * to the $columns array below.
237
- *
238
- * The 'cb' column is treated differently than the rest. If including a checkbox
239
- * column in your table you must create a column_cb() method. If you don't need
240
- * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
241
- *
242
- * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
243
- * *************************************************************************@see WP_List_Table::::single_row_columns()
244
- */
245
- function get_columns() {
246
- $columns = array(
247
- 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
248
- 'option_name' => __( 'Category Name', 'woo-feed' ),
249
- 'provider' => __( 'Category Type', 'woo-feed' ),
250
- 'view' => __( 'Action', 'woo-feed' ),
251
- );
252
-
253
- return $columns;
254
- }
255
-
256
-
257
- /** ************************************************************************
258
- * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
259
- * you will need to register it here. This should return an array where the
260
- * key is the column that needs to be sortable, and the value is db column to
261
- * sort by. Often, the key and value will be the same, but this is not always
262
- * the case (as the value is a column name from the database, not the list table).
263
- *
264
- * This method merely defines which columns should be sortable and makes them
265
- * clickable - it does not handle the actual sorting. You still need to detect
266
- * the ORDERBY and ORDER querystring variables within prepare_items() and sort
267
- * your data accordingly (usually by modifying your query).
268
- *
269
- * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
270
- **************************************************************************/
271
- function get_sortable_columns() {
272
- $sortable_columns = array(
273
- 'option_name' => array( 'option_name', false ),
274
- );
275
-
276
- return $sortable_columns;
277
- }
278
-
279
-
280
- /** ************************************************************************
281
- * Optional. If you need to include bulk actions in your list table, this is
282
- * the place to define them. Bulk actions are an associative array in the format
283
- * 'slug'=>'Visible Title'
284
- *
285
- * If this method returns an empty value, no bulk action will be rendered. If
286
- * you specify any bulk actions, the bulk actions box will be rendered with
287
- * the table automatically on display().
288
- *
289
- * Also note that list tables are not automatically wrapped in <form> elements,
290
- * so you will need to create those manually in order for bulk actions to function.
291
- *
292
- * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
293
- **************************************************************************/
294
- function get_bulk_actions() {
295
- $actions = array(
296
- 'bulk-delete' => __( 'Delete', 'woo-feed' ),
297
- );
298
- return $actions;
299
- }
300
-
301
-
302
- /** ************************************************************************
303
- * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
304
- * For this example package, we will handle it in the class to keep things
305
- * clean and organized.
306
- *
307
- * @see $this->prepare_items()
308
- **************************************************************************/
309
- public function process_bulk_action() {
310
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
311
- // Detect when a bulk action is being triggered...
312
- if ( 'delete-mapping' === $this->current_action() ) {
313
- // In our file that handles the request, verify the nonce.
314
- if ( ! wp_verify_nonce( $nonce, 'wf_delete_mapping' ) ) {
315
- // die(_e('You do not have sufficient permission to delete!'));
316
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping. You do not have sufficient permission to delete.', 'woo-feed' ), false );
317
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
318
- die();
319
- } else {
320
- if ( isset( $_GET['cmapping'] ) && self::delete_mapping( absint( $_GET['cmapping'] ) ) ) {
321
- update_option( 'wpf_message', esc_html__( 'Mapping Deleted Successfully', 'woo-feed' ), false );
322
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=success' ) );
323
- die();
324
- } else {
325
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping', 'woo-feed' ), false );
326
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
327
- die();
328
- }
329
- }
330
- }
331
- // Detect when a bulk action is being triggered...
332
- if ( 'edit-mapping' === $this->current_action() ) {
333
- // In our file that handles the request, verify the nonce.
334
- if ( ! wp_verify_nonce( $nonce, 'wf_edit_mapping' ) ) {
335
- wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
336
- }
337
- }
338
-
339
- // If the delete bulk action is triggered
340
- if ( ( isset( $_POST['mapping'] ) ) && ( isset( $_POST['action'] ) && 'bulk-delete' === $_POST['action'] ) || ( isset( $_POST['action2'] ) && 'bulk-delete' === $_POST['action2'] ) ) {
341
- if ( 'bulk-delete' === $this->current_action() ) {
342
- if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
343
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping. You do not have sufficient permission to delete.', 'woo-feed' ), false );
344
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
345
- die();
346
- } else {
347
- $delete_ids = array_map( 'absint', $_POST['mapping'] );
348
- $delete_ids = array_filter( $delete_ids );
349
- // loop over the array of record IDs and delete them
350
- if ( ! empty( $delete_ids ) ) {
351
- $count = count( $delete_ids );
352
- foreach ( $delete_ids as $id ) {
353
- self::delete_mapping( $id );
354
- }
355
- $message = sprintf(
356
- /* translators: 1: number of item deleted. */
357
- esc_html( _n( '%d Mapping Successfully Deleted.',
358
- '%d Mappings Successfully Deleted.',
359
- $count,
360
- 'woo-feed' ) ),
361
- $count
362
- );
363
- update_option( 'wpf_message', $message, false );
364
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=success' ) );
365
- die();
366
- }
367
- }
368
- }
369
- }
370
- }
371
-
372
-
373
- /** ************************************************************************
374
- * REQUIRED! This is where you prepare your data for display. This method will
375
- * usually be used to query the database, sort and filter the data, and generally
376
- * get it ready to be displayed. At a minimum, we should set $this->items and
377
- * $this->set_pagination_args(), although the following properties and methods
378
- * are frequently interacted with here...
379
- *
380
- * @global WPDB $wpdb
381
- * @uses $this->_column_headers
382
- * @uses $this->items
383
- * @uses $this->get_columns()
384
- * @uses $this->get_sortable_columns()
385
- * @uses $this->get_pagenum()
386
- * @uses $this->set_pagination_args()
387
- **************************************************************************/
388
- function prepare_items() {
389
- /**
390
- * First, lets decide how many records per page to show
391
- */
392
- $per_page = 10;
393
-
394
-
395
- /**
396
- * REQUIRED. Now we need to define our column headers. This includes a complete
397
- * array of columns to be displayed (slugs & titles), a list of columns
398
- * to keep hidden, and a list of columns that are sortable. Each of these
399
- * can be defined in another method (as we've done here) before being
400
- * used to build the value for our _column_headers property.
401
- */
402
- $columns = $this->get_columns();
403
- $hidden = array();
404
- $sortable = $this->get_sortable_columns();
405
-
406
-
407
- /**
408
- * REQUIRED. Finally, we build an array to be used by the class for column
409
- * headers. The $this->_column_headers property takes an array which contains
410
- * 3 other arrays. One for all columns, one for hidden columns, and one
411
- * for sortable columns.
412
- */
413
- $this->_column_headers = array( $columns, $hidden, $sortable );
414
-
415
-
416
- /**
417
- * Optional. You can handle your bulk actions however you see fit. In this
418
- * case, we'll handle them within our package just to keep things clean.
419
- */
420
- $this->process_bulk_action();
421
-
422
-
423
- /**
424
- * Instead of querying a database, we're going to fetch the example data
425
- * property we created for use in this plugin. This makes this example
426
- * package slightly different than one you might build on your own. In
427
- * this example, we'll be using array manipulation to sort and paginate
428
- * our data. In a real-world implementation, you will probably want to
429
- * use sort and pagination data to build a custom query instead, as you'll
430
- * be able to use your precisely-queried data immediately.
431
- */
432
- $data = $this->get_mappings();
433
-
434
- usort( $data, 'woo_feed_usort_reorder' );
435
-
436
-
437
- /***********************************************************************
438
- * ---------------------------------------------------------------------
439
- *
440
- * In a real-world situation, this is where you would place your query.
441
- *
442
- * For information on making queries in WordPress, see this Codex entry:
443
- * http://codex.wordpress.org/Class_Reference/wpdb
444
- *
445
- * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
446
- * ---------------------------------------------------------------------
447
- */
448
-
449
-
450
- /**
451
- * REQUIRED for pagination. Let's figure out what page the user is currently
452
- * looking at. We'll need this later, so you should always include it in
453
- * your own package classes.
454
- */
455
- $current_page = $this->get_pagenum();
456
-
457
- /**
458
- * REQUIRED for pagination. Let's check how many items are in our data array.
459
- * In real-world use, this would be the total number of items in your database,
460
- * without filtering. We'll need this later, so you should always include it
461
- * in your own package classes.
462
- */
463
- $total_items = count( $data );
464
-
465
-
466
- /**
467
- * The WP_List_Table class does not handle pagination for us, so we need
468
- * to ensure that the data is trimmed to only the current page. We can use
469
- * array_slice() to
470
- */
471
- $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
472
-
473
- /**
474
- * REQUIRED. We also have to register our pagination options & calculations.
475
- */
476
- $this->set_pagination_args(
477
- array(
478
- 'total_items' => $total_items,
479
- // WE have to calculate the total number of items.
480
- 'per_page' => $per_page,
481
- // WE have to determine how many items to show on a page.
482
- 'total_pages' => ceil( $total_items / $per_page ),
483
- // WE have to calculate the total number of pages.
484
- )
485
- );
486
-
487
- // $this->set_pagination_args( array(
488
- // 'total_items' => $total_items, //WE have to calculate the total number of items
489
- // 'per_page' => $per_page //WE have to determine how many items to show on a page
490
- // ) );
491
-
492
- /**
493
- * REQUIRED. Now we can add our *sorted* data to the items property, where
494
- * it can be used by the rest of the class.
495
- */
496
- $this->items = $data;
497
- }
498
- }
1
+ <?php ob_start();
2
+
3
+ /**
4
+ * Category List
5
+ *
6
+ * @link https://webappick.com/
7
+ * @since 1.0.0
8
+ *
9
+ * @package Woo_Feed_List_Table
10
+ * @author Ohidul Islam <wahid@webappick.com>
11
+ */
12
+ class Woo_Feed_Category_list extends Woo_Feed_List_Table {
13
+
14
+ /** ************************************************************************
15
+ * Normally we would be querying data from a database and manipulating that
16
+ * for use in your list table. For this example, we're going to simplify it
17
+ * slightly and create a pre-built array. Think of this as the data that might
18
+ * be returned by $wpdb->query()
19
+ *
20
+ * In a real-world scenario, you would make your own custom query inside
21
+ * this class' prepare_items() method.
22
+ *
23
+ * @var array
24
+ **************************************************************************/
25
+
26
+
27
+ /** ************************************************************************
28
+ * REQUIRED. Set up a constructor that references the parent constructor. We
29
+ * use the parent reference to set some default configs.
30
+ ***************************************************************************/
31
+ function __construct() {
32
+ // Set parent defaults
33
+ parent::__construct(
34
+ array(
35
+ 'singular' => __( 'mapping', 'woo-feed' ), // singular name of the listed records
36
+ 'plural' => __( 'mappings', 'woo-feed' ), // plural name of the listed records
37
+ 'ajax' => false, // does this table support ajax?
38
+ )
39
+ );
40
+
41
+ }
42
+
43
+
44
+ /** ************************************************************************
45
+ * Recommended. This method is called when the parent class can't find a method
46
+ * specifically build for a given column. Generally, it's recommended to include
47
+ * one method for each column you want to render, keeping your package class
48
+ * neat and organized. For example, if the class needs to process a column
49
+ * named 'title', it would first see if a method named $this->column_title()
50
+ * exists - if it does, that method will be used. If it doesn't, this one will
51
+ * be used. Generally, you should try to use custom column methods as much as
52
+ * possible.
53
+ *
54
+ * Since we have defined a column_title() method later on, this method doesn't
55
+ * need to concern itself with any column with a name of 'title'. Instead, it
56
+ * needs to handle everything else.
57
+ *
58
+ * For more detailed insight into how columns are handled, take a look at
59
+ * WP_List_Table::single_row_columns()
60
+ *
61
+ * @param array $item A singular item (one full row's worth of data)
62
+ * @param array $column_name The name/slug of the column to be processed
63
+ *
64
+ * @return string Text or HTML to be placed inside the column <td>
65
+ **************************************************************************/
66
+ function column_default( $item, $column_name ) {
67
+ // return $item[$column_name];
68
+ $getItem = $item['option_name'];
69
+ $itemInfo = maybe_unserialize( get_option( $getItem ) );
70
+ global $plugin_page;
71
+ switch ( $column_name ) {
72
+ case 'option_name':
73
+ return $itemInfo['mappingname'];
74
+ case 'provider':
75
+ return $itemInfo['mappingprovider'];
76
+ case 'view':
77
+ $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
78
+ $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
79
+
80
+ return sprintf(
81
+ '<a class="button button-primary" href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
82
+ esc_attr( $plugin_page ),
83
+ 'edit-mapping',
84
+ $item['option_name'],
85
+ $edit_nonce
86
+ ) . '&nbsp;' .
87
+ sprintf(
88
+ '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="button single-category-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
89
+ esc_attr( $plugin_page ),
90
+ 'delete-mapping',
91
+ absint( $item['option_id'] ),
92
+ $delete_nonce
93
+ );
94
+ default:
95
+ return false;
96
+ }
97
+ }
98
+
99
+
100
+ /** ************************************************************************
101
+ * Recommended. This is a custom column method and is responsible for what
102
+ * is rendered in any column with a name/slug of 'title'. Every time the class
103
+ * needs to render a column, it first looks for a method named
104
+ * column_{$column_title} - if it exists, that method is run. If it doesn't
105
+ * exist, column_default() is called instead.
106
+ *
107
+ * This example also illustrates how to implement rollover actions. Actions
108
+ * should be an associative array formatted as 'slug'=>'link html' - and you
109
+ * will need to generate the URLs yourself. You could even ensure the links
110
+ *
111
+ *
112
+ * @param array $item A singular item (one full row's worth of data)
113
+ *
114
+ * @return string Text to be placed inside the column <td> (movie title only)
115
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
116
+ */
117
+ function column_option_name( $item ) {
118
+ global $plugin_page;
119
+ $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
120
+ $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
121
+ $actions = array(
122
+ 'edit' => sprintf( '<a href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit',
123
+ 'woo-feed' ) . '</a>',
124
+ esc_attr( $plugin_page ),
125
+ 'edit-mapping',
126
+ $item['option_name'],
127
+ $edit_nonce ),
128
+ 'delete' => sprintf( '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="single-category-delete" style="cursor: pointer;">' . __( 'Delete',
129
+ 'woo-feed' ) . '</a>',
130
+ esc_attr( $plugin_page ),
131
+ 'delete-mapping',
132
+ absint( $item['option_id'] ),
133
+ $delete_nonce ),
134
+ );
135
+
136
+
137
+ // Return the title contents
138
+ $getItem = $item['option_name'];
139
+ $itemInfo = maybe_unserialize( get_option( $getItem ) );
140
+ $title = $itemInfo['mappingname'];
141
+
142
+ return sprintf( '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
143
+ /*$1%s*/
144
+ $title,
145
+ /*$2%s*/
146
+ $item['option_id'],
147
+ /*$3%s*/
148
+ $this->row_actions( $actions )
149
+ );
150
+ }
151
+
152
+ public static function get_mappings() {
153
+ global $wpdb;
154
+ // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
155
+ $result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s;", 'wf_cmapping_%' ), 'ARRAY_A' );
156
+
157
+ return $result;
158
+ }
159
+
160
+ /**
161
+ * Delete a contact record.
162
+ *
163
+ * @param int $id customer ID
164
+ *
165
+ * @return false|int
166
+ */
167
+ public static function delete_mapping( $id ) {
168
+ global $wpdb;
169
+ // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
170
+ return $wpdb->delete( "{$wpdb->prefix}options", array( 'option_id' => $id ), array( '%d' ) );
171
+ }
172
+
173
+ /**
174
+ * Returns the count of records in the database.
175
+ *
176
+ * @return null|string
177
+ */
178
+ public static function record_count() {
179
+ global $wpdb;
180
+ // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
181
+ return $wpdb->get_var( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name like %s", 'woo_cmapping_%' ) );
182
+ }
183
+
184
+ /** Text displayed when no contact data is available */
185
+ public function no_items() {
186
+ esc_html_e( 'No mapping available.', 'woo-feed' );
187
+ }
188
+
189
+
190
+ /** ************************************************************************
191
+ * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
192
+ * is given special treatment when columns are processed. It ALWAYS needs to
193
+ * have it's own method.
194
+ *
195
+ * @param array $item A singular item (one full row's worth of data)
196
+ *
197
+ * @return string Text to be placed inside the column <td> (movie title only)
198
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
199
+ */
200
+ function column_cb( $item ) {
201
+ return sprintf(
202
+ '<input type="checkbox" name="%1$s[]" value="%2$s" />',
203
+ /*$1%s*/
204
+ $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
205
+ /*$2%s*/
206
+ $item['option_id'] // The value of the checkbox should be the record's id
207
+ );
208
+ }
209
+
210
+
211
+ function column_name( $item ) {
212
+ global $plugin_page;
213
+ $edit_nonce = wp_create_nonce( 'wf_edit_mapping' );
214
+ $delete_nonce = wp_create_nonce( 'wf_delete_mapping' );
215
+ $title = '<strong>' . $item['option_name'] . '</strong>';
216
+ $actions = array(
217
+ 'edit' => sprintf( '<a href="?page=%s&action=%s&cmapping=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
218
+ esc_attr( $plugin_page ),
219
+ 'edit-mapping',
220
+ absint( $item['option_id'] ),
221
+ $edit_nonce ),
222
+ 'delete' => sprintf( '<a val="?page=%s&action=%s&cmapping=%s&_wpnonce=%s" class="single-category-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
223
+ esc_attr( $plugin_page ),
224
+ 'delete-mapping',
225
+ absint( $item['option_id'] ),
226
+ $delete_nonce ),
227
+ );
228
+
229
+ return $title . $this->row_actions( $actions );
230
+ }
231
+
232
+ /** ************************************************************************
233
+ * REQUIRED! This method dictates the table's columns and titles. This should
234
+ * return an array where the key is the column slug (and class) and the value
235
+ * is the column's title text. If you need a checkbox for bulk actions, refer
236
+ * to the $columns array below.
237
+ *
238
+ * The 'cb' column is treated differently than the rest. If including a checkbox
239
+ * column in your table you must create a column_cb() method. If you don't need
240
+ * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
241
+ *
242
+ * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
243
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
244
+ */
245
+ function get_columns() {
246
+ $columns = array(
247
+ 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
248
+ 'option_name' => __( 'Category Name', 'woo-feed' ),
249
+ 'provider' => __( 'Category Type', 'woo-feed' ),
250
+ 'view' => __( 'Action', 'woo-feed' ),
251
+ );
252
+
253
+ return $columns;
254
+ }
255
+
256
+
257
+ /** ************************************************************************
258
+ * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
259
+ * you will need to register it here. This should return an array where the
260
+ * key is the column that needs to be sortable, and the value is db column to
261
+ * sort by. Often, the key and value will be the same, but this is not always
262
+ * the case (as the value is a column name from the database, not the list table).
263
+ *
264
+ * This method merely defines which columns should be sortable and makes them
265
+ * clickable - it does not handle the actual sorting. You still need to detect
266
+ * the ORDERBY and ORDER querystring variables within prepare_items() and sort
267
+ * your data accordingly (usually by modifying your query).
268
+ *
269
+ * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
270
+ **************************************************************************/
271
+ function get_sortable_columns() {
272
+ $sortable_columns = array(
273
+ 'option_name' => array( 'option_name', false ),
274
+ );
275
+
276
+ return $sortable_columns;
277
+ }
278
+
279
+
280
+ /** ************************************************************************
281
+ * Optional. If you need to include bulk actions in your list table, this is
282
+ * the place to define them. Bulk actions are an associative array in the format
283
+ * 'slug'=>'Visible Title'
284
+ *
285
+ * If this method returns an empty value, no bulk action will be rendered. If
286
+ * you specify any bulk actions, the bulk actions box will be rendered with
287
+ * the table automatically on display().
288
+ *
289
+ * Also note that list tables are not automatically wrapped in <form> elements,
290
+ * so you will need to create those manually in order for bulk actions to function.
291
+ *
292
+ * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
293
+ **************************************************************************/
294
+ function get_bulk_actions() {
295
+ $actions = array(
296
+ 'bulk-delete' => __( 'Delete', 'woo-feed' ),
297
+ );
298
+ return $actions;
299
+ }
300
+
301
+
302
+ /** ************************************************************************
303
+ * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
304
+ * For this example package, we will handle it in the class to keep things
305
+ * clean and organized.
306
+ *
307
+ * @see $this->prepare_items()
308
+ **************************************************************************/
309
+ public function process_bulk_action() {
310
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
311
+ // Detect when a bulk action is being triggered...
312
+ if ( 'delete-mapping' === $this->current_action() ) {
313
+ // In our file that handles the request, verify the nonce.
314
+ if ( ! wp_verify_nonce( $nonce, 'wf_delete_mapping' ) ) {
315
+ // die(_e('You do not have sufficient permission to delete!'));
316
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping. You do not have sufficient permission to delete.', 'woo-feed' ), false );
317
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
318
+ die();
319
+ } else {
320
+ if ( isset( $_GET['cmapping'] ) && self::delete_mapping( absint( $_GET['cmapping'] ) ) ) {
321
+ update_option( 'wpf_message', esc_html__( 'Mapping Deleted Successfully', 'woo-feed' ), false );
322
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=success' ) );
323
+ die();
324
+ } else {
325
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping', 'woo-feed' ), false );
326
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
327
+ die();
328
+ }
329
+ }
330
+ }
331
+ // Detect when a bulk action is being triggered...
332
+ if ( 'edit-mapping' === $this->current_action() ) {
333
+ // In our file that handles the request, verify the nonce.
334
+ if ( ! wp_verify_nonce( $nonce, 'wf_edit_mapping' ) ) {
335
+ wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
336
+ }
337
+ }
338
+
339
+ // If the delete bulk action is triggered
340
+ if ( ( isset( $_POST['mapping'] ) ) && ( isset( $_POST['action'] ) && 'bulk-delete' === $_POST['action'] ) || ( isset( $_POST['action2'] ) && 'bulk-delete' === $_POST['action2'] ) ) {
341
+ if ( 'bulk-delete' === $this->current_action() ) {
342
+ if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
343
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Mapping. You do not have sufficient permission to delete.', 'woo-feed' ), false );
344
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=error' ) );
345
+ die();
346
+ } else {
347
+ $delete_ids = array_map( 'absint', $_POST['mapping'] );
348
+ $delete_ids = array_filter( $delete_ids );
349
+ // loop over the array of record IDs and delete them
350
+ if ( ! empty( $delete_ids ) ) {
351
+ $count = count( $delete_ids );
352
+ foreach ( $delete_ids as $id ) {
353
+ self::delete_mapping( $id );
354
+ }
355
+ $message = sprintf(
356
+ /* translators: 1: number of item deleted. */
357
+ esc_html( _n( '%d Mapping Successfully Deleted.',
358
+ '%d Mappings Successfully Deleted.',
359
+ $count,
360
+ 'woo-feed' ) ),
361
+ $count
362
+ );
363
+ update_option( 'wpf_message', $message, false );
364
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-category-mapping&wpf_message=success' ) );
365
+ die();
366
+ }
367
+ }
368
+ }
369
+ }
370
+ }
371
+
372
+
373
+ /** ************************************************************************
374
+ * REQUIRED! This is where you prepare your data for display. This method will
375
+ * usually be used to query the database, sort and filter the data, and generally
376
+ * get it ready to be displayed. At a minimum, we should set $this->items and
377
+ * $this->set_pagination_args(), although the following properties and methods
378
+ * are frequently interacted with here...
379
+ *
380
+ * @global WPDB $wpdb
381
+ * @uses $this->_column_headers
382
+ * @uses $this->items
383
+ * @uses $this->get_columns()
384
+ * @uses $this->get_sortable_columns()
385
+ * @uses $this->get_pagenum()
386
+ * @uses $this->set_pagination_args()
387
+ **************************************************************************/
388
+ function prepare_items() {
389
+ /**
390
+ * First, lets decide how many records per page to show
391
+ */
392
+ $per_page = 10;
393
+
394
+
395
+ /**
396
+ * REQUIRED. Now we need to define our column headers. This includes a complete
397
+ * array of columns to be displayed (slugs & titles), a list of columns
398
+ * to keep hidden, and a list of columns that are sortable. Each of these
399
+ * can be defined in another method (as we've done here) before being
400
+ * used to build the value for our _column_headers property.
401
+ */
402
+ $columns = $this->get_columns();
403
+ $hidden = array();
404
+ $sortable = $this->get_sortable_columns();
405
+
406
+
407
+ /**
408
+ * REQUIRED. Finally, we build an array to be used by the class for column
409
+ * headers. The $this->_column_headers property takes an array which contains
410
+ * 3 other arrays. One for all columns, one for hidden columns, and one
411
+ * for sortable columns.
412
+ */
413
+ $this->_column_headers = array( $columns, $hidden, $sortable );
414
+
415
+
416
+ /**
417
+ * Optional. You can handle your bulk actions however you see fit. In this
418
+ * case, we'll handle them within our package just to keep things clean.
419
+ */
420
+ $this->process_bulk_action();
421
+
422
+
423
+ /**
424
+ * Instead of querying a database, we're going to fetch the example data
425
+ * property we created for use in this plugin. This makes this example
426
+ * package slightly different than one you might build on your own. In
427
+ * this example, we'll be using array manipulation to sort and paginate
428
+ * our data. In a real-world implementation, you will probably want to
429
+ * use sort and pagination data to build a custom query instead, as you'll
430
+ * be able to use your precisely-queried data immediately.
431
+ */
432
+ $data = $this->get_mappings();
433
+
434
+ usort( $data, 'woo_feed_usort_reorder' );
435
+
436
+
437
+ /***********************************************************************
438
+ * ---------------------------------------------------------------------
439
+ *
440
+ * In a real-world situation, this is where you would place your query.
441
+ *
442
+ * For information on making queries in WordPress, see this Codex entry:
443
+ * http://codex.wordpress.org/Class_Reference/wpdb
444
+ *
445
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
446
+ * ---------------------------------------------------------------------
447
+ */
448
+
449
+
450
+ /**
451
+ * REQUIRED for pagination. Let's figure out what page the user is currently
452
+ * looking at. We'll need this later, so you should always include it in
453
+ * your own package classes.
454
+ */
455
+ $current_page = $this->get_pagenum();
456
+
457
+ /**
458
+ * REQUIRED for pagination. Let's check how many items are in our data array.
459
+ * In real-world use, this would be the total number of items in your database,
460
+ * without filtering. We'll need this later, so you should always include it
461
+ * in your own package classes.
462
+ */
463
+ $total_items = count( $data );
464
+
465
+
466
+ /**
467
+ * The WP_List_Table class does not handle pagination for us, so we need
468
+ * to ensure that the data is trimmed to only the current page. We can use
469
+ * array_slice() to
470
+ */
471
+ $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
472
+
473
+ /**
474
+ * REQUIRED. We also have to register our pagination options & calculations.
475
+ */
476
+ $this->set_pagination_args(
477
+ array(
478
+ 'total_items' => $total_items,
479
+ // WE have to calculate the total number of items.
480
+ 'per_page' => $per_page,
481
+ // WE have to determine how many items to show on a page.
482
+ 'total_pages' => ceil( $total_items / $per_page ),
483
+ // WE have to calculate the total number of pages.
484
+ )
485
+ );
486
+
487
+ // $this->set_pagination_args( array(
488
+ // 'total_items' => $total_items, //WE have to calculate the total number of items
489
+ // 'per_page' => $per_page //WE have to determine how many items to show on a page
490
+ // ) );
491
+
492
+ /**
493
+ * REQUIRED. Now we can add our *sorted* data to the items property, where
494
+ * it can be used by the rest of the class.
495
+ */
496
+ $this->items = $data;
497
+ }
498
+ }
admin/class-woo-feed-manage-list.php CHANGED
@@ -1,535 +1,535 @@
1
- <?php
2
-
3
- /**
4
- *
5
- * Feed List
6
- *
7
- * @link https://webappick.com/
8
- * @since 1.0.0
9
- *
10
- * @package Woo_Feed_DAttribute_list
11
- * @author Ohidul Islam <wahid@webappick.com>
12
- */
13
- class Woo_Feed_Manage_list extends Woo_Feed_List_Table {
14
-
15
- /** ************************************************************************
16
- * Normally we would be querying data from a database and manipulating that
17
- * for use in your list table. For this example, we're going to simplify it
18
- * slightly and create a pre-built array. Think of this as the data that might
19
- * be returned by $wpdb->query()
20
- *
21
- * In a real-world scenario, you would make your own custom query inside
22
- * this class' prepare_items() method.
23
- *
24
- * @var array
25
- **************************************************************************/
26
-
27
-
28
- /** ************************************************************************
29
- * REQUIRED. Set up a constructor that references the parent constructor. We
30
- * use the parent reference to set some default configs.
31
- ***************************************************************************/
32
- function __construct() {
33
- // Set parent defaults
34
- parent::__construct(
35
- array(
36
- 'singular' => __( 'feed', 'woo-feed' ), // singular name of the listed records
37
- 'plural' => __( 'feeds', 'woo-feed' ), // plural name of the listed records
38
- 'ajax' => false, // does this table support ajax?
39
- )
40
- );
41
-
42
- }
43
-
44
-
45
- /** ************************************************************************
46
- * Recommended. This method is called when the parent class can't find a method
47
- * specifically build for a given column. Generally, it's recommended to include
48
- * one method for each column you want to render, keeping your package class
49
- * neat and organized. For example, if the class needs to process a column
50
- * named 'title', it would first see if a method named $this->column_title()
51
- * exists - if it does, that method will be used. If it doesn't, this one will
52
- * be used. Generally, you should try to use custom column methods as much as
53
- * possible.
54
- *
55
- * Since we have defined a column_title() method later on, this method doesn't
56
- * need to concern itself with any column with a name of 'title'. Instead, it
57
- * needs to handle everything else.
58
- *
59
- * For more detailed insight into how columns are handled, take a look at
60
- * WP_List_Table::single_row_columns()
61
- *
62
- * @param array $item A singular item (one full row's worth of data)
63
- * @param string $column_name The name/slug of the column to be processed
64
- *
65
- * @return string Text or HTML to be placed inside the column <td>
66
- **************************************************************************/
67
- function column_default( $item, $column_name ) {
68
- $getItem = $item['option_name'];
69
- $statusId = $item['option_id'];
70
- $itemInfo = maybe_unserialize( get_option( $getItem ) );
71
- global $regenerating, $regeneratingName;
72
- $optionName = str_replace( 'wf_feed_', '', $getItem );
73
- $spinIcon = ( true === $regenerating && $optionName === $regeneratingName ) ? ' wpf_spin reverse_spin' : '';
74
- $disableBtn = true === $regenerating ? ' disabled' : '';
75
- switch ( $column_name ) {
76
- case 'option_name':
77
- return $optionName;
78
- case 'status':
79
- if ( ! isset( $itemInfo['status'] ) || ( isset( $itemInfo['status'] ) && 1 === (int) $itemInfo['status'] ) ) {
80
- return ' <div class="wf_status_wrap"><input style="display: none;" data-index=' . $statusId . ' id=' . $statusId . ' checked class="woo_feed_status_input" type="checkbox" value="' . $getItem . '"/>
81
- <label for=' . $statusId . ' class= "woo-feed_active_status"></label></div>';
82
- } else {
83
- return ' <div class="wf_status_wrap"> <input style="display: none;" data-index=' . $statusId . ' id=' . $statusId . ' class="woo_feed_status_input" type="checkbox" value="' . $getItem . '"/>
84
- <label for=' . $statusId . ' class= "woo-feed_active_status"></label> </div>';
85
- }
86
- case 'provider':
87
- $provider = $itemInfo['feedrules']['provider'];
88
-
89
- return ucwords( str_replace( '_', ' ', $provider ) );
90
- case 'type':
91
- $feedType = $itemInfo['feedrules']['feedType'];
92
-
93
- return strtoupper( str_replace( '_', ' ', $feedType ) );
94
- case 'url':
95
- /** @noinspection SpellCheckingInspection */
96
- return sprintf(
97
- '<span class="toClipboard" data-clipboard-target="#_url%1$s" id="_url%1$s">%2$s</span><span class="toClipboard" data-clipboard-target="#_url%1$s">%3$s</span>',
98
- $statusId,
99
- $itemInfo[ $column_name ],
100
- '<img src="data:image/svg+xml,%0A%3Csvg height=\'1024\' width=\'896\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M128 768h256v64H128v-64z m320-384H128v64h320v-64z m128 192V448L384 640l192 192V704h320V576H576z m-288-64H128v64h160v-64zM128 704h160v-64H128v64z m576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z\' /%3E%3C/svg%3E%0A" alt="' . __( 'Copy To Clipboard', 'woo-feed' ) . '" class="clippy">'
101
- );
102
- case 'last_updated':
103
- return $itemInfo[ $column_name ];
104
- case 'view':
105
- $export_url = wp_nonce_url( admin_url( 'admin-post.php?action=wf_export_feed&feed=' . $getItem ), 'wpf-export' );
106
- /** @noinspection HtmlUnknownTarget */
107
- return sprintf(
108
- '<a href="%1$s" title="%2$s" aria-label="%2$s" target="_blank"><span class="dashicons dashicons-external" aria-hidden="true"></span></a>
109
- <a id="%3$s" class="wpf_regenerate%6$s" href="#" title="%4$s" aria-label="%4$s"><span class="dashicons dashicons-update-alt%7$s" aria-hidden="true"></span></a>
110
- <a href="%1$s" title="%5$s" aria-label="%5$s" download><span class="dashicons dashicons-download" aria-hidden="true"></span></a>
111
- <a href="%9$s" title="%8$s" aria-label="%8$s"><span class="dashicons dashicons-media-code" aria-hidden="true"></span></a>',
112
- $itemInfo['url'],
113
- esc_html__( 'View', 'woo-feed' ),
114
- $getItem,
115
- esc_html__( 'Regenerate', 'woo-feed' ),
116
- esc_html__( 'Download', 'woo-feed' ),
117
- $disableBtn,
118
- $spinIcon,
119
- esc_html__( 'Export Feed Config', 'woo-feed' ),
120
- esc_url( $export_url )
121
- );
122
- default:
123
- return false;
124
- }
125
- }
126
-
127
-
128
- /** ************************************************************************
129
- * Recommended. This is a custom column method and is responsible for what
130
- * is rendered in any column with a name/slug of 'title'. Every time the class
131
- * needs to render a column, it first looks for a method named
132
- * column_{$column_title} - if it exists, that method is run. If it doesn't
133
- * exist, column_default() is called instead.
134
- *
135
- * This example also illustrates how to implement rollover actions. Actions
136
- * should be an associative array formatted as 'slug'=>'link html' - and you
137
- * will need to generate the URLs yourself. You could even ensure the links
138
- *
139
- * @param array $item A singular item (one full row's worth of data)
140
- *
141
- * @return string Text to be placed inside the column <td> (movie title only)
142
- * *************************************************************************@see WP_List_Table::::single_row_columns()
143
- */
144
- function column_option_name( $item ) {
145
- global $plugin_page;
146
- // Build row actions
147
- $edit_nonce = wp_create_nonce( 'wf_edit_feed' );
148
- $delete_nonce = wp_create_nonce( 'wf_delete_feed' );
149
- // $title = '<strong>' . $item['option_name'] . '</strong>';
150
- $actions = array(
151
- 'edit' => sprintf(
152
- '<a href="?page=%s&action=%s&feed=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
153
- esc_attr( $plugin_page ),
154
- 'edit-feed',
155
- $item['option_name'],
156
- $edit_nonce
157
- ),
158
- 'delete' => sprintf(
159
- '<a val="?page=%s&action=%s&feed=%s&_wpnonce=%s" class="single-feed-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
160
- esc_attr( $plugin_page ),
161
- 'delete-feed',
162
- absint( $item['option_id'] ),
163
- $delete_nonce
164
- ),
165
- );
166
-
167
- // Return the title contents
168
- $name = str_replace( 'wf_feed_', '', $item['option_name'] );
169
- $config = maybe_unserialize( maybe_unserialize( $item['option_value'] ) );
170
- if ( isset( $config['feedrules'], $config['feedrules']['filename'] ) ) {
171
- $name = sprintf(
172
- '<a class="wf_feed_option_name_link" href="?page=%s&action=%s&feed=%s&_wpnonce=%s">%s</a>',
173
- esc_attr( $plugin_page ),
174
- 'edit-feed',
175
- $item['option_name'],
176
- $edit_nonce,
177
- $config['feedrules']['filename']
178
- );
179
- }
180
-
181
- return sprintf( '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
182
- $name,
183
- esc_html( $item['option_id'] ),
184
- $this->row_actions( $actions )
185
- );
186
- }
187
-
188
- public static function get_feeds() {
189
- global $wpdb;
190
- // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
191
- $result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s ORDER BY option_id DESC;", 'wf_feed_%' ), 'ARRAY_A' );
192
- return $result;
193
- }
194
-
195
- /**
196
- * Delete a Feed.
197
- *
198
- * @param int $id Feed ID
199
- *
200
- * @return false
201
- */
202
- public static function delete_feed( $id ) {
203
- return woo_feed_delete_feed( $id );
204
- }
205
-
206
- /**
207
- * Returns the count of records in the database.
208
- *
209
- * @return null|string
210
- */
211
- public static function record_count() {
212
- global $wpdb;
213
- // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
214
- return $wpdb->get_var( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name like %s", 'wf_feed_%' ) );
215
- }
216
-
217
- /** Text displayed when no data is available */
218
- public function no_items() {
219
- esc_html_e( 'No feed available.', 'woo-feed' );
220
- }
221
-
222
-
223
- /** ************************************************************************
224
- * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
225
- * is given special treatment when columns are processed. It ALWAYS needs to
226
- * have it's own method.
227
- *
228
- * @param array $item A singular item (one full row's worth of data)
229
- *
230
- * @return string Text to be placed inside the column <td> (movie title only)
231
- * *************************************************************************@see WP_List_Table::::single_row_columns()
232
- */
233
- function column_cb( $item ) {
234
- return sprintf(
235
- '<input type="checkbox" name="%1$s[]" value="%2$s" />',
236
- /*$1%s*/
237
- $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
238
- /*$2%s*/
239
- $item['option_id'] // The value of the checkbox should be the record's id
240
- );
241
- }
242
-
243
-
244
- function column_name( $item ) {
245
- global $plugin_page;
246
- $edit_nonce = wp_create_nonce( 'wf_edit_feed' );
247
- $delete_nonce = wp_create_nonce( 'wf_delete_feed' );
248
- $title = '<strong>' . $item['option_name'] . '</strong>';
249
- $actions = array(
250
- 'edit' => sprintf(
251
- '<a href="?page=%s&action=%s&feed=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
252
- esc_attr( $plugin_page ),
253
- 'edit-feed',
254
- absint( $item['option_id'] ),
255
- $edit_nonce
256
- ),
257
- 'delete' => sprintf(
258
- '<a val="?page=%s&action=%s&feed=%s&_wpnonce=%s" class="single-feed-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
259
- esc_attr( $plugin_page ),
260
- 'delete-feed',
261
- absint( $item['option_id'] ),
262
- $delete_nonce
263
- ),
264
- );
265
-
266
- return $title . $this->row_actions( $actions );
267
- }
268
-
269
- /** ************************************************************************
270
- * REQUIRED! This method dictates the table's columns and titles. This should
271
- * return an array where the key is the column slug (and class) and the value
272
- * is the column's title text. If you need a checkbox for bulk actions, refer
273
- * to the $columns array below.
274
- *
275
- * The 'cb' column is treated differently than the rest. If including a checkbox
276
- * column in your table you must create a column_cb() method. If you don't need
277
- * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
278
- *
279
- * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
280
- * *************************************************************************@see WP_List_Table::::single_row_columns()
281
- */
282
- function get_columns() {
283
- $columns = array(
284
- 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
285
- 'status' => __( 'Auto Update', 'woo-feed' ),
286
- 'option_name' => __( 'Feed Name', 'woo-feed' ),
287
- 'provider' => __( 'Provider', 'woo-feed' ),
288
- 'type' => __( 'Type', 'woo-feed' ),
289
- 'url' => __( 'Feed URL', 'woo-feed' ),
290
- 'last_updated' => __( 'Last Updated', 'woo-feed' ),
291
- 'view' => __( 'Action', 'woo-feed' ),
292
- );
293
-
294
- return $columns;
295
- }
296
-
297
-
298
- /** ************************************************************************
299
- * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
300
- * you will need to register it here. This should return an array where the
301
- * key is the column that needs to be sortable, and the value is db column to
302
- * sort by. Often, the key and value will be the same, but this is not always
303
- * the case (as the value is a column name from the database, not the list table).
304
- *
305
- * This method merely defines which columns should be sortable and makes them
306
- * clickable - it does not handle the actual sorting. You still need to detect
307
- * the ORDERBY and ORDER querystring variables within prepare_items() and sort
308
- * your data accordingly (usually by modifying your query).
309
- *
310
- * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
311
- **************************************************************************/
312
- function get_sortable_columns() {
313
- $sortable_columns = array(
314
- 'option_name' => array( 'option_name', false ),
315
- );
316
-
317
- return $sortable_columns;
318
- }
319
-
320
-
321
- /** ************************************************************************
322
- * Optional. If you need to include bulk actions in your list table, this is
323
- * the place to define them. Bulk actions are an associative array in the format
324
- * 'slug'=>'Visible Title'
325
- *
326
- * If this method returns an empty value, no bulk action will be rendered. If
327
- * you specify any bulk actions, the bulk actions box will be rendered with
328
- * the table automatically on display().
329
- *
330
- * Also note that list tables are not automatically wrapped in <form> elements,
331
- * so you will need to create those manually in order for bulk actions to function.
332
- *
333
- * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
334
- **************************************************************************/
335
- function get_bulk_actions() {
336
- $actions = array(
337
- 'bulk-delete' => __( 'Delete', 'woo-feed' ),
338
- );
339
-
340
- return $actions;
341
- }
342
-
343
-
344
- /** ************************************************************************
345
- * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
346
- * For this example package, we will handle it in the class to keep things
347
- * clean and organized.
348
- *
349
- * @see $this->prepare_items()
350
- **************************************************************************/
351
- public function process_bulk_action() {
352
- // Detect when a bulk action is being triggered...
353
- if ( 'delete-feed' === $this->current_action() ) {
354
- // In our file that handles the request, verify the nonce.
355
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
356
- if ( ! wp_verify_nonce( $nonce, 'wf_delete_feed' ) ) {
357
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Feed. You do not have sufficient permission to delete.', 'woo-feed' ), false );
358
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=error' ) );
359
- die();
360
- } else {
361
- if ( isset( $_GET['feed'] ) && self::delete_feed( absint( $_GET['feed'] ) ) ) {
362
- update_option( 'wpf_message', esc_html__( 'Feed Deleted Successfully', 'woo-feed' ), false );
363
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=success' ) );
364
- die();
365
- } else {
366
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Feed', 'woo-feed' ), false );
367
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=error' ) );
368
- die();
369
- }
370
- }
371
- }
372
-
373
- // Detect when a bulk action is being triggered...
374
- if ( 'edit-feed' === $this->current_action() ) {
375
- // In our file that handles the request, verify the nonce.
376
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
377
- if ( ! wp_verify_nonce( $nonce, 'wf_edit_feed' ) ) {
378
- wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
379
- }
380
- }
381
-
382
- // If the delete bulk action is triggered
383
- if ( ( isset( $_POST['feed'] ) ) && ( isset( $_POST['action'] ) && 'bulk-delete' === $_POST['action'] ) || ( isset( $_POST['action2'] ) && 'bulk-delete' === $_POST['action2'] ) ) {
384
- if ( 'bulk-delete' === $this->current_action() ) {
385
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
386
- if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
387
- wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
388
- } else {
389
- $delete_ids = array_map( 'absint', $_POST['feed'] );
390
- $delete_ids = array_filter( $delete_ids );
391
- // loop over the array of record IDs and delete them
392
- if ( ! empty( $delete_ids ) ) {
393
- $count = count( $delete_ids );
394
- foreach ( $delete_ids as $id ) {
395
- self::delete_feed( $id );
396
- }
397
- $message = sprintf(
398
- esc_html(
399
- /* translators: %d: number of item deleted. */
400
- _n(
401
- '%d Feed Successfully Deleted.',
402
- '%d Feeds Successfully Deleted.',
403
- $count,
404
- 'woo-feed'
405
- )
406
- ),
407
- $count
408
- );
409
- update_option( 'wpf_message', $message, false );
410
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=success' ) );
411
- die();
412
- }
413
- }
414
- }
415
- }
416
- }
417
-
418
-
419
- /** ************************************************************************
420
- * REQUIRED! This is where you prepare your data for display. This method will
421
- * usually be used to query the database, sort and filter the data, and generally
422
- * get it ready to be displayed. At a minimum, we should set $this->items and
423
- * $this->set_pagination_args(), although the following properties and methods
424
- * are frequently interacted with here...
425
- *
426
- * @global WPDB $wpdb
427
- * @uses $this->_column_headers
428
- * @uses $this->items
429
- * @uses $this->get_columns()
430
- * @uses $this->get_sortable_columns()
431
- * @uses $this->get_pagenum()
432
- * @uses $this->set_pagination_args()
433
- **************************************************************************/
434
- function prepare_items() {
435
- /**
436
- * First, lets decide how many records per page to show
437
- */
438
- $per_page = 10;
439
-
440
- /**
441
- * REQUIRED. Now we need to define our column headers. This includes a complete
442
- * array of columns to be displayed (slugs & titles), a list of columns
443
- * to keep hidden, and a list of columns that are sortable. Each of these
444
- * can be defined in another method (as we've done here) before being
445
- * used to build the value for our _column_headers property.
446
- */
447
- $columns = $this->get_columns();
448
- $hidden = array();
449
- $sortable = $this->get_sortable_columns();
450
-
451
- /**
452
- * REQUIRED. Finally, we build an array to be used by the class for column
453
- * headers. The $this->_column_headers property takes an array which contains
454
- * 3 other arrays. One for all columns, one for hidden columns, and one
455
- * for sortable columns.
456
- */
457
- $this->_column_headers = array( $columns, $hidden, $sortable );
458
-
459
- /**
460
- * Optional. You can handle your bulk actions however you see fit. In this
461
- * case, we'll handle them within our package just to keep things clean.
462
- */
463
- $this->process_bulk_action();
464
-
465
- /**
466
- * Instead of querying a database, we're going to fetch the example data
467
- * property we created for use in this plugin. This makes this example
468
- * package slightly different than one you might build on your own. In
469
- * this example, we'll be using array manipulation to sort and paginate
470
- * our data. In a real-world implementation, you will probably want to
471
- * use sort and pagination data to build a custom query instead, as you'll
472
- * be able to use your precisely-queried data immediately.
473
- */
474
- $data = $this->get_feeds();
475
-
476
- usort( $data, 'woo_feed_usort_reorder' );
477
-
478
- /***********************************************************************
479
- * ---------------------------------------------------------------------
480
- * vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
481
- *
482
- * In a real-world situation, this is where you would place your query.
483
- *
484
- * For information on making queries in WordPress, see this Codex entry:
485
- * http://codex.wordpress.org/Class_Reference/wpdb
486
- *
487
- * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
488
- * ---------------------------------------------------------------------
489
- */
490
-
491
- /**
492
- * REQUIRED for pagination. Let's figure out what page the user is currently
493
- * looking at. We'll need this later, so you should always include it in
494
- * your own package classes.
495
- */
496
- $current_page = $this->get_pagenum();
497
-
498
- /**
499
- * REQUIRED for pagination. Let's check how many items are in our data array.
500
- * In real-world use, this would be the total number of items in your database,
501
- * without filtering. We'll need this later, so you should always include it
502
- * in your own package classes.
503
- */
504
- $total_items = count( $data );
505
-
506
- /**
507
- * The WP_List_Table class does not handle pagination for us, so we need
508
- * to ensure that the data is trimmed to only the current page. We can use
509
- * array_slice() to
510
- */
511
- $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
512
-
513
- /**
514
- * REQUIRED. We also have to register our pagination options & calculations.
515
- */
516
- $this->set_pagination_args(
517
- array(
518
- 'total_items' => $total_items, // WE have to calculate the total number of items
519
- 'per_page' => $per_page, // WE have to determine how many items to show on a page
520
- 'total_pages' => ceil( $total_items / $per_page ), // WE have to calculate the total number of pages
521
- )
522
- );
523
-
524
- // $this->set_pagination_args( array(
525
- // 'total_items' => $total_items, //WE have to calculate the total number of items
526
- // 'per_page' => $per_page //WE have to determine how many items to show on a page
527
- // ) );
528
-
529
- /**
530
- * REQUIRED. Now we can add our *sorted* data to the items property, where
531
- * it can be used by the rest of the class.
532
- */
533
- $this->items = $data;
534
- }
535
- }
1
+ <?php
2
+
3
+ /**
4
+ *
5
+ * Feed List
6
+ *
7
+ * @link https://webappick.com/
8
+ * @since 1.0.0
9
+ *
10
+ * @package Woo_Feed_DAttribute_list
11
+ * @author Ohidul Islam <wahid@webappick.com>
12
+ */
13
+ class Woo_Feed_Manage_list extends Woo_Feed_List_Table {
14
+
15
+ /** ************************************************************************
16
+ * Normally we would be querying data from a database and manipulating that
17
+ * for use in your list table. For this example, we're going to simplify it
18
+ * slightly and create a pre-built array. Think of this as the data that might
19
+ * be returned by $wpdb->query()
20
+ *
21
+ * In a real-world scenario, you would make your own custom query inside
22
+ * this class' prepare_items() method.
23
+ *
24
+ * @var array
25
+ **************************************************************************/
26
+
27
+
28
+ /** ************************************************************************
29
+ * REQUIRED. Set up a constructor that references the parent constructor. We
30
+ * use the parent reference to set some default configs.
31
+ ***************************************************************************/
32
+ function __construct() {
33
+ // Set parent defaults
34
+ parent::__construct(
35
+ array(
36
+ 'singular' => __( 'feed', 'woo-feed' ), // singular name of the listed records
37
+ 'plural' => __( 'feeds', 'woo-feed' ), // plural name of the listed records
38
+ 'ajax' => false, // does this table support ajax?
39
+ )
40
+ );
41
+
42
+ }
43
+
44
+
45
+ /** ************************************************************************
46
+ * Recommended. This method is called when the parent class can't find a method
47
+ * specifically build for a given column. Generally, it's recommended to include
48
+ * one method for each column you want to render, keeping your package class
49
+ * neat and organized. For example, if the class needs to process a column
50
+ * named 'title', it would first see if a method named $this->column_title()
51
+ * exists - if it does, that method will be used. If it doesn't, this one will
52
+ * be used. Generally, you should try to use custom column methods as much as
53
+ * possible.
54
+ *
55
+ * Since we have defined a column_title() method later on, this method doesn't
56
+ * need to concern itself with any column with a name of 'title'. Instead, it
57
+ * needs to handle everything else.
58
+ *
59
+ * For more detailed insight into how columns are handled, take a look at
60
+ * WP_List_Table::single_row_columns()
61
+ *
62
+ * @param array $item A singular item (one full row's worth of data)
63
+ * @param string $column_name The name/slug of the column to be processed
64
+ *
65
+ * @return string Text or HTML to be placed inside the column <td>
66
+ **************************************************************************/
67
+ function column_default( $item, $column_name ) {
68
+ $getItem = $item['option_name'];
69
+ $statusId = $item['option_id'];
70
+ $itemInfo = maybe_unserialize( get_option( $getItem ) );
71
+ global $regenerating, $regeneratingName;
72
+ $optionName = str_replace( 'wf_feed_', '', $getItem );
73
+ $spinIcon = ( true === $regenerating && $optionName === $regeneratingName ) ? ' wpf_spin reverse_spin' : '';
74
+ $disableBtn = true === $regenerating ? ' disabled' : '';
75
+ switch ( $column_name ) {
76
+ case 'option_name':
77
+ return $optionName;
78
+ case 'status':
79
+ if ( ! isset( $itemInfo['status'] ) || ( isset( $itemInfo['status'] ) && 1 === (int) $itemInfo['status'] ) ) {
80
+ return ' <div class="wf_status_wrap"><input style="display: none;" data-index=' . $statusId . ' id=' . $statusId . ' checked class="woo_feed_status_input" type="checkbox" value="' . $getItem . '"/>
81
+ <label for=' . $statusId . ' class= "woo-feed_active_status"></label></div>';
82
+ } else {
83
+ return ' <div class="wf_status_wrap"> <input style="display: none;" data-index=' . $statusId . ' id=' . $statusId . ' class="woo_feed_status_input" type="checkbox" value="' . $getItem . '"/>
84
+ <label for=' . $statusId . ' class= "woo-feed_active_status"></label> </div>';
85
+ }
86
+ case 'provider':
87
+ $provider = $itemInfo['feedrules']['provider'];
88
+
89
+ return ucwords( str_replace( '_', ' ', $provider ) );
90
+ case 'type':
91
+ $feedType = $itemInfo['feedrules']['feedType'];
92
+
93
+ return strtoupper( str_replace( '_', ' ', $feedType ) );
94
+ case 'url':
95
+ /** @noinspection SpellCheckingInspection */
96
+ return sprintf(
97
+ '<span class="toClipboard" data-clipboard-target="#_url%1$s" id="_url%1$s">%2$s</span><span class="toClipboard" data-clipboard-target="#_url%1$s">%3$s</span>',
98
+ $statusId,
99
+ $itemInfo[ $column_name ],
100
+ '<img src="data:image/svg+xml,%0A%3Csvg height=\'1024\' width=\'896\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M128 768h256v64H128v-64z m320-384H128v64h320v-64z m128 192V448L384 640l192 192V704h320V576H576z m-288-64H128v64h160v-64zM128 704h160v-64H128v64z m576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z\' /%3E%3C/svg%3E%0A" alt="' . __( 'Copy To Clipboard', 'woo-feed' ) . '" class="clippy">'
101
+ );
102
+ case 'last_updated':
103
+ return $itemInfo[ $column_name ];
104
+ case 'view':
105
+ $export_url = wp_nonce_url( admin_url( 'admin-post.php?action=wf_export_feed&feed=' . $getItem ), 'wpf-export' );
106
+ /** @noinspection HtmlUnknownTarget */
107
+ return sprintf(
108
+ '<a href="%1$s" title="%2$s" aria-label="%2$s" target="_blank"><span class="dashicons dashicons-external" aria-hidden="true"></span></a>
109
+ <a id="%3$s" class="wpf_regenerate%6$s" href="#" title="%4$s" aria-label="%4$s"><span class="dashicons dashicons-update-alt%7$s" aria-hidden="true"></span></a>
110
+ <a href="%1$s" title="%5$s" aria-label="%5$s" download><span class="dashicons dashicons-download" aria-hidden="true"></span></a>
111
+ <a href="%9$s" title="%8$s" aria-label="%8$s"><span class="dashicons dashicons-media-code" aria-hidden="true"></span></a>',
112
+ $itemInfo['url'],
113
+ esc_html__( 'View', 'woo-feed' ),
114
+ $getItem,
115
+ esc_html__( 'Regenerate', 'woo-feed' ),
116
+ esc_html__( 'Download', 'woo-feed' ),
117
+ $disableBtn,
118
+ $spinIcon,
119
+ esc_html__( 'Export Feed Config', 'woo-feed' ),
120
+ esc_url( $export_url )
121
+ );
122
+ default:
123
+ return false;
124
+ }
125
+ }
126
+
127
+
128
+ /** ************************************************************************
129
+ * Recommended. This is a custom column method and is responsible for what
130
+ * is rendered in any column with a name/slug of 'title'. Every time the class
131
+ * needs to render a column, it first looks for a method named
132
+ * column_{$column_title} - if it exists, that method is run. If it doesn't
133
+ * exist, column_default() is called instead.
134
+ *
135
+ * This example also illustrates how to implement rollover actions. Actions
136
+ * should be an associative array formatted as 'slug'=>'link html' - and you
137
+ * will need to generate the URLs yourself. You could even ensure the links
138
+ *
139
+ * @param array $item A singular item (one full row's worth of data)
140
+ *
141
+ * @return string Text to be placed inside the column <td> (movie title only)
142
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
143
+ */
144
+ function column_option_name( $item ) {
145
+ global $plugin_page;
146
+ // Build row actions
147
+ $edit_nonce = wp_create_nonce( 'wf_edit_feed' );
148
+ $delete_nonce = wp_create_nonce( 'wf_delete_feed' );
149
+ // $title = '<strong>' . $item['option_name'] . '</strong>';
150
+ $actions = array(
151
+ 'edit' => sprintf(
152
+ '<a href="?page=%s&action=%s&feed=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
153
+ esc_attr( $plugin_page ),
154
+ 'edit-feed',
155
+ $item['option_name'],
156
+ $edit_nonce
157
+ ),
158
+ 'delete' => sprintf(
159
+ '<a val="?page=%s&action=%s&feed=%s&_wpnonce=%s" class="single-feed-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
160
+ esc_attr( $plugin_page ),
161
+ 'delete-feed',
162
+ absint( $item['option_id'] ),
163
+ $delete_nonce
164
+ ),
165
+ );
166
+
167
+ // Return the title contents
168
+ $name = str_replace( 'wf_feed_', '', $item['option_name'] );
169
+ $config = maybe_unserialize( maybe_unserialize( $item['option_value'] ) );
170
+ if ( isset( $config['feedrules'], $config['feedrules']['filename'] ) ) {
171
+ $name = sprintf(
172
+ '<a class="wf_feed_option_name_link" href="?page=%s&action=%s&feed=%s&_wpnonce=%s">%s</a>',
173
+ esc_attr( $plugin_page ),
174
+ 'edit-feed',
175
+ $item['option_name'],
176
+ $edit_nonce,
177
+ $config['feedrules']['filename']
178
+ );
179
+ }
180
+
181
+ return sprintf( '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
182
+ $name,
183
+ esc_html( $item['option_id'] ),
184
+ $this->row_actions( $actions )
185
+ );
186
+ }
187
+
188
+ public static function get_feeds() {
189
+ global $wpdb;
190
+ // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
191
+ $result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name LIKE %s ORDER BY option_id DESC;", 'wf_feed_%' ), 'ARRAY_A' );
192
+ return $result;
193
+ }
194
+
195
+ /**
196
+ * Delete a Feed.
197
+ *
198
+ * @param int $id Feed ID
199
+ *
200
+ * @return false
201
+ */
202
+ public static function delete_feed( $id ) {
203
+ return woo_feed_delete_feed( $id );
204
+ }
205
+
206
+ /**
207
+ * Returns the count of records in the database.
208
+ *
209
+ * @return null|string
210
+ */
211
+ public static function record_count() {
212
+ global $wpdb;
213
+ // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
214
+ return $wpdb->get_var( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name like %s", 'wf_feed_%' ) );
215
+ }
216
+
217
+ /** Text displayed when no data is available */
218
+ public function no_items() {
219
+ esc_html_e( 'No feed available.', 'woo-feed' );
220
+ }
221
+
222
+
223
+ /** ************************************************************************
224
+ * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
225
+ * is given special treatment when columns are processed. It ALWAYS needs to
226
+ * have it's own method.
227
+ *
228
+ * @param array $item A singular item (one full row's worth of data)
229
+ *
230
+ * @return string Text to be placed inside the column <td> (movie title only)
231
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
232
+ */
233
+ function column_cb( $item ) {
234
+ return sprintf(
235
+ '<input type="checkbox" name="%1$s[]" value="%2$s" />',
236
+ /*$1%s*/
237
+ $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
238
+ /*$2%s*/
239
+ $item['option_id'] // The value of the checkbox should be the record's id
240
+ );
241
+ }
242
+
243
+
244
+ function column_name( $item ) {
245
+ global $plugin_page;
246
+ $edit_nonce = wp_create_nonce( 'wf_edit_feed' );
247
+ $delete_nonce = wp_create_nonce( 'wf_delete_feed' );
248
+ $title = '<strong>' . $item['option_name'] . '</strong>';
249
+ $actions = array(
250
+ 'edit' => sprintf(
251
+ '<a href="?page=%s&action=%s&feed=%s&_wpnonce=%s">' . __( 'Edit', 'woo-feed' ) . '</a>',
252
+ esc_attr( $plugin_page ),
253
+ 'edit-feed',
254
+ absint( $item['option_id'] ),
255
+ $edit_nonce
256
+ ),
257
+ 'delete' => sprintf(
258
+ '<a val="?page=%s&action=%s&feed=%s&_wpnonce=%s" class="single-feed-delete" style="cursor: pointer;">' . __( 'Delete', 'woo-feed' ) . '</a>',
259
+ esc_attr( $plugin_page ),
260
+ 'delete-feed',
261
+ absint( $item['option_id'] ),
262
+ $delete_nonce
263
+ ),
264
+ );
265
+
266
+ return $title . $this->row_actions( $actions );
267
+ }
268
+
269
+ /** ************************************************************************
270
+ * REQUIRED! This method dictates the table's columns and titles. This should
271
+ * return an array where the key is the column slug (and class) and the value
272
+ * is the column's title text. If you need a checkbox for bulk actions, refer
273
+ * to the $columns array below.
274
+ *
275
+ * The 'cb' column is treated differently than the rest. If including a checkbox
276
+ * column in your table you must create a column_cb() method. If you don't need
277
+ * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
278
+ *
279
+ * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
280
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
281
+ */
282
+ function get_columns() {
283
+ $columns = array(
284
+ 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
285
+ 'status' => __( 'Auto Update', 'woo-feed' ),
286
+ 'option_name' => __( 'Feed Name', 'woo-feed' ),
287
+ 'provider' => __( 'Provider', 'woo-feed' ),
288
+ 'type' => __( 'Type', 'woo-feed' ),
289
+ 'url' => __( 'Feed URL', 'woo-feed' ),
290
+ 'last_updated' => __( 'Last Updated', 'woo-feed' ),
291
+ 'view' => __( 'Action', 'woo-feed' ),
292
+ );
293
+
294
+ return $columns;
295
+ }
296
+
297
+
298
+ /** ************************************************************************
299
+ * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
300
+ * you will need to register it here. This should return an array where the
301
+ * key is the column that needs to be sortable, and the value is db column to
302
+ * sort by. Often, the key and value will be the same, but this is not always
303
+ * the case (as the value is a column name from the database, not the list table).
304
+ *
305
+ * This method merely defines which columns should be sortable and makes them
306
+ * clickable - it does not handle the actual sorting. You still need to detect
307
+ * the ORDERBY and ORDER querystring variables within prepare_items() and sort
308
+ * your data accordingly (usually by modifying your query).
309
+ *
310
+ * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
311
+ **************************************************************************/
312
+ function get_sortable_columns() {
313
+ $sortable_columns = array(
314
+ 'option_name' => array( 'option_name', false ),
315
+ );
316
+
317
+ return $sortable_columns;
318
+ }
319
+
320
+
321
+ /** ************************************************************************
322
+ * Optional. If you need to include bulk actions in your list table, this is
323
+ * the place to define them. Bulk actions are an associative array in the format
324
+ * 'slug'=>'Visible Title'
325
+ *
326
+ * If this method returns an empty value, no bulk action will be rendered. If
327
+ * you specify any bulk actions, the bulk actions box will be rendered with
328
+ * the table automatically on display().
329
+ *
330
+ * Also note that list tables are not automatically wrapped in <form> elements,
331
+ * so you will need to create those manually in order for bulk actions to function.
332
+ *
333
+ * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
334
+ **************************************************************************/
335
+ function get_bulk_actions() {
336
+ $actions = array(
337
+ 'bulk-delete' => __( 'Delete', 'woo-feed' ),
338
+ );
339
+
340
+ return $actions;
341
+ }
342
+
343
+
344
+ /** ************************************************************************
345
+ * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
346
+ * For this example package, we will handle it in the class to keep things
347
+ * clean and organized.
348
+ *
349
+ * @see $this->prepare_items()
350
+ **************************************************************************/
351
+ public function process_bulk_action() {
352
+ // Detect when a bulk action is being triggered...
353
+ if ( 'delete-feed' === $this->current_action() ) {
354
+ // In our file that handles the request, verify the nonce.
355
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
356
+ if ( ! wp_verify_nonce( $nonce, 'wf_delete_feed' ) ) {
357
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Feed. You do not have sufficient permission to delete.', 'woo-feed' ), false );
358
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=error' ) );
359
+ die();
360
+ } else {
361
+ if ( isset( $_GET['feed'] ) && self::delete_feed( absint( $_GET['feed'] ) ) ) {
362
+ update_option( 'wpf_message', esc_html__( 'Feed Deleted Successfully', 'woo-feed' ), false );
363
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=success' ) );
364
+ die();
365
+ } else {
366
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Feed', 'woo-feed' ), false );
367
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=error' ) );
368
+ die();
369
+ }
370
+ }
371
+ }
372
+
373
+ // Detect when a bulk action is being triggered...
374
+ if ( 'edit-feed' === $this->current_action() ) {
375
+ // In our file that handles the request, verify the nonce.
376
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
377
+ if ( ! wp_verify_nonce( $nonce, 'wf_edit_feed' ) ) {
378
+ wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
379
+ }
380
+ }
381
+
382
+ // If the delete bulk action is triggered
383
+ if ( ( isset( $_POST['feed'] ) ) && ( isset( $_POST['action'] ) && 'bulk-delete' === $_POST['action'] ) || ( isset( $_POST['action2'] ) && 'bulk-delete' === $_POST['action2'] ) ) {
384
+ if ( 'bulk-delete' === $this->current_action() ) {
385
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash($_REQUEST['_wpnonce']) ) : '';
386
+ if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
387
+ wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ), 403 );
388
+ } else {
389
+ $delete_ids = array_map( 'absint', $_POST['feed'] );
390
+ $delete_ids = array_filter( $delete_ids );
391
+ // loop over the array of record IDs and delete them
392
+ if ( ! empty( $delete_ids ) ) {
393
+ $count = count( $delete_ids );
394
+ foreach ( $delete_ids as $id ) {
395
+ self::delete_feed( $id );
396
+ }
397
+ $message = sprintf(
398
+ esc_html(
399
+ /* translators: %d: number of item deleted. */
400
+ _n(
401
+ '%d Feed Successfully Deleted.',
402
+ '%d Feeds Successfully Deleted.',
403
+ $count,
404
+ 'woo-feed'
405
+ )
406
+ ),
407
+ $count
408
+ );
409
+ update_option( 'wpf_message', $message, false );
410
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=success' ) );
411
+ die();
412
+ }
413
+ }
414
+ }
415
+ }
416
+ }
417
+
418
+
419
+ /** ************************************************************************
420
+ * REQUIRED! This is where you prepare your data for display. This method will
421
+ * usually be used to query the database, sort and filter the data, and generally
422
+ * get it ready to be displayed. At a minimum, we should set $this->items and
423
+ * $this->set_pagination_args(), although the following properties and methods
424
+ * are frequently interacted with here...
425
+ *
426
+ * @global WPDB $wpdb
427
+ * @uses $this->_column_headers
428
+ * @uses $this->items
429
+ * @uses $this->get_columns()
430
+ * @uses $this->get_sortable_columns()
431
+ * @uses $this->get_pagenum()
432
+ * @uses $this->set_pagination_args()
433
+ **************************************************************************/
434
+ function prepare_items() {
435
+ /**
436
+ * First, lets decide how many records per page to show
437
+ */
438
+ $per_page = 10;
439
+
440
+ /**
441
+ * REQUIRED. Now we need to define our column headers. This includes a complete
442
+ * array of columns to be displayed (slugs & titles), a list of columns
443
+ * to keep hidden, and a list of columns that are sortable. Each of these
444
+ * can be defined in another method (as we've done here) before being
445
+ * used to build the value for our _column_headers property.
446
+ */
447
+ $columns = $this->get_columns();
448
+ $hidden = array();
449
+ $sortable = $this->get_sortable_columns();
450
+
451
+ /**
452
+ * REQUIRED. Finally, we build an array to be used by the class for column
453
+ * headers. The $this->_column_headers property takes an array which contains
454
+ * 3 other arrays. One for all columns, one for hidden columns, and one
455
+ * for sortable columns.
456
+ */
457
+ $this->_column_headers = array( $columns, $hidden, $sortable );
458
+
459
+ /**
460
+ * Optional. You can handle your bulk actions however you see fit. In this
461
+ * case, we'll handle them within our package just to keep things clean.
462
+ */
463
+ $this->process_bulk_action();
464
+
465
+ /**
466
+ * Instead of querying a database, we're going to fetch the example data
467
+ * property we created for use in this plugin. This makes this example
468
+ * package slightly different than one you might build on your own. In
469
+ * this example, we'll be using array manipulation to sort and paginate
470
+ * our data. In a real-world implementation, you will probably want to
471
+ * use sort and pagination data to build a custom query instead, as you'll
472
+ * be able to use your precisely-queried data immediately.
473
+ */
474
+ $data = $this->get_feeds();
475
+
476
+ usort( $data, 'woo_feed_usort_reorder' );
477
+
478
+ /***********************************************************************
479
+ * ---------------------------------------------------------------------
480
+ * vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
481
+ *
482
+ * In a real-world situation, this is where you would place your query.
483
+ *
484
+ * For information on making queries in WordPress, see this Codex entry:
485
+ * http://codex.wordpress.org/Class_Reference/wpdb
486
+ *
487
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
488
+ * ---------------------------------------------------------------------
489
+ */
490
+
491
+ /**
492
+ * REQUIRED for pagination. Let's figure out what page the user is currently
493
+ * looking at. We'll need this later, so you should always include it in
494
+ * your own package classes.
495
+ */
496
+ $current_page = $this->get_pagenum();
497
+
498
+ /**
499
+ * REQUIRED for pagination. Let's check how many items are in our data array.
500
+ * In real-world use, this would be the total number of items in your database,
501
+ * without filtering. We'll need this later, so you should always include it
502
+ * in your own package classes.
503
+ */
504
+ $total_items = count( $data );
505
+
506
+ /**
507
+ * The WP_List_Table class does not handle pagination for us, so we need
508
+ * to ensure that the data is trimmed to only the current page. We can use
509
+ * array_slice() to
510
+ */
511
+ $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
512
+
513
+ /**
514
+ * REQUIRED. We also have to register our pagination options & calculations.
515
+ */
516
+ $this->set_pagination_args(
517
+ array(
518
+ 'total_items' => $total_items, // WE have to calculate the total number of items
519
+ 'per_page' => $per_page, // WE have to determine how many items to show on a page
520
+ 'total_pages' => ceil( $total_items / $per_page ), // WE have to calculate the total number of pages
521
+ )
522
+ );
523
+
524
+ // $this->set_pagination_args( array(
525
+ // 'total_items' => $total_items, //WE have to calculate the total number of items
526
+ // 'per_page' => $per_page //WE have to determine how many items to show on a page
527
+ // ) );
528
+
529
+ /**
530
+ * REQUIRED. Now we can add our *sorted* data to the items property, where
531
+ * it can be used by the rest of the class.
532
+ */
533
+ $this->items = $data;
534
+ }
535
+ }
admin/class-woo-feed-option-list.php CHANGED
@@ -1,501 +1,501 @@
1
- <?php ob_start();
2
-
3
- /**
4
- * Category List
5
- *
6
- * @link https://webappick.com/
7
- * @since 1.0.0
8
- *
9
- * @package Woo_Feed_List_Table
10
- * @author Ohidul Islam <wahid@webappick.com>
11
- */
12
- class Woo_Feed_Option_list extends Woo_Feed_List_Table {
13
-
14
- /** ************************************************************************
15
- * Normally we would be querying data from a database and manipulating that
16
- * for use in your list table. For this example, we're going to simplify it
17
- * slightly and create a pre-built array. Think of this as the data that might
18
- * be returned by $wpdb->query()
19
- *
20
- * In a real-world scenario, you would make your own custom query inside
21
- * this class' prepare_items() method.
22
- *
23
- * @var array
24
- **************************************************************************/
25
-
26
-
27
- /** ************************************************************************
28
- * REQUIRED. Set up a constructor that references the parent constructor. We
29
- * use the parent reference to set some default configs.
30
- ***************************************************************************/
31
- function __construct() {
32
- // Set parent defaults
33
- parent::__construct(
34
- array(
35
- 'singular' => __( 'option', 'woo-feed' ), // singular name of the listed records
36
- 'plural' => __( 'options', 'woo-feed' ), // plural name of the listed records
37
- 'ajax' => false, // does this table support ajax?
38
- )
39
- );
40
-
41
- }
42
-
43
-
44
- /** ************************************************************************
45
- * Recommended. This method is called when the parent class can't find a method
46
- * specifically build for a given column. Generally, it's recommended to include
47
- * one method for each column you want to render, keeping your package class
48
- * neat and organized. For example, if the class needs to process a column
49
- * named 'title', it would first see if a method named $this->column_title()
50
- * exists - if it does, that method will be used. If it doesn't, this one will
51
- * be used. Generally, you should try to use custom column methods as much as
52
- * possible.
53
- *
54
- * Since we have defined a column_title() method later on, this method doesn't
55
- * need to concern itself with any column with a name of 'title'. Instead, it
56
- * needs to handle everything else.
57
- *
58
- * For more detailed insight into how columns are handled, take a look at
59
- * WP_List_Table::single_row_columns()
60
- *
61
- * @param array $item A singular item (one full row's worth of data)
62
- * @param array $column_name The name/slug of the column to be processed
63
- *
64
- * @return string Text or HTML to be placed inside the column <td>
65
- **************************************************************************/
66
- function column_default( $item, $column_name ) {
67
- global $plugin_page;
68
- switch ( $column_name ) {
69
- case 'option_name':
70
- $newName = str_replace( 'wf_option_', '', $item['option_name'] );
71
-
72
- return $newName;
73
- case 'option_value':
74
- if ( isset($item['option_id']) ) {
75
- $option_value = get_option($item['option_id']);
76
- if ( is_array($option_value) ) {
77
- $optionValue = implode(', ', $option_value);
78
- }else {
79
- $optionValue = $option_value;
80
- }
81
- }else {
82
- $optionValue = "";
83
- }
84
-
85
- return $optionValue;
86
- case 'action':
87
- $delete_nonce = wp_create_nonce( 'wf_delete_option' );
88
-
89
- return sprintf(
90
- '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="button single-option-delete" style="cursor: pointer;">' . __(
91
- 'Delete',
92
- 'woo-feed'
93
- ) . '</a>',
94
- esc_attr( $plugin_page ),
95
- 'delete-option',
96
- $item['option_id'],
97
- $delete_nonce
98
- );
99
- default:
100
- return false;
101
- }
102
- }
103
-
104
-
105
- /** ************************************************************************
106
- * Recommended. This is a custom column method and is responsible for what
107
- * is rendered in any column with a name/slug of 'title'. Every time the class
108
- * needs to render a column, it first looks for a method named
109
- * column_{$column_title} - if it exists, that method is run. If it doesn't
110
- * exist, column_default() is called instead.
111
- *
112
- * This example also illustrates how to implement rollover actions. Actions
113
- * should be an associative array formatted as 'slug'=>'link html' - and you
114
- * will need to generate the URLs yourself. You could even ensure the links
115
- *
116
- * @param array $item A singular item (one full row's worth of data)
117
- *
118
- * @return string Text to be placed inside the column <td> (movie title only)
119
- * *************************************************************************@see WP_List_Table::::single_row_columns()
120
- */
121
- function column_option_name( $item ) {
122
- global $plugin_page;
123
- $delete_nonce = wp_create_nonce( 'wf_delete_option' );
124
- $newName = str_replace( 'wf_option_', '', $item['option_name'] );
125
- $title = '<strong>' . $newName . '</strong>';
126
- $actions = array(
127
- 'delete' => sprintf(
128
- '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="single-option-delete" style="cursor: pointer;">' . __(
129
- 'Delete',
130
- 'woo-feed'
131
- ) . '</a>',
132
- esc_attr( $plugin_page ),
133
- 'delete-option',
134
- $item['option_id'],
135
- $delete_nonce
136
- ),
137
- );
138
-
139
- // Return the title contents
140
-
141
- return sprintf(
142
- '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
143
- /*$1%s*/
144
- $title,
145
- /*$2%s*/
146
- $item['option_id'],
147
- /*$3%s*/
148
- $this->row_actions( $actions )
149
- );
150
- }
151
-
152
- public static function get_mappings() {
153
-
154
- $result = get_option( 'wpfp_option' );
155
-
156
- return ( $result ) ? $result : array();
157
- }
158
-
159
- /**
160
- * Delete a contact record.
161
- *
162
- * @param int $id customer ID
163
- *
164
- * @return false|int
165
- */
166
- public static function delete_option( $id ) {
167
- $options = get_option( 'wpfp_option' );
168
- unset( $options[ $id ] );
169
-
170
- return update_option( 'wpfp_option', $options, false );
171
- }
172
-
173
- /**
174
- * Returns the count of records in the database.
175
- *
176
- * @return null|string
177
- */
178
- public static function record_count() {
179
-
180
- return count( get_option( 'wpfp_option' ) );
181
- }
182
-
183
- /** Text displayed when no contact data is available */
184
- public function no_items() {
185
- esc_html_e( 'No option saved.', 'woo-feed' );
186
- }
187
-
188
-
189
- /** ************************************************************************
190
- * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
191
- * is given special treatment when columns are processed. It ALWAYS needs to
192
- * have it's own method.
193
- *
194
- * @param array $item A singular item (one full row's worth of data)
195
- *
196
- * @return string Text to be placed inside the column <td> (movie title only)
197
- * *************************************************************************@see WP_List_Table::::single_row_columns()
198
- */
199
- function column_cb( $item ) {
200
- return sprintf(
201
- '<input type="checkbox" name="%1$s[]" value="%2$s" />',
202
- /*$1%s*/
203
- $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
204
- /*$2%s*/
205
- $item['option_id'] // The value of the checkbox should be the record's id
206
- );
207
- }
208
-
209
-
210
- function column_name( $item ) {
211
- global $plugin_page;
212
- $delete_nonce = wp_create_nonce( 'wf_delete_option' );
213
- $title = '<strong>' . $item['option_name'] . '</strong>';
214
- $actions = array(
215
- 'delete' => sprintf(
216
- '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="single-option-delete" style="cursor: pointer;">' . __(
217
- 'Delete',
218
- 'woo-feed'
219
- ) . '</a>',
220
- esc_attr( $plugin_page ),
221
- 'delete-option',
222
- $item['option_id'],
223
- $delete_nonce
224
- ),
225
- );
226
-
227
- return $title . $this->row_actions( $actions );
228
- }
229
-
230
- /** ************************************************************************
231
- * REQUIRED! This method dictates the table's columns and titles. This should
232
- * return an array where the key is the column slug (and class) and the value
233
- * is the column's title text. If you need a checkbox for bulk actions, refer
234
- * to the $columns array below.
235
- *
236
- * The 'cb' column is treated differently than the rest. If including a checkbox
237
- * column in your table you must create a column_cb() method. If you don't need
238
- * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
239
- *
240
- * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
241
- * *************************************************************************@see WP_List_Table::::single_row_columns()
242
- */
243
- function get_columns() {
244
- $columns = array(
245
- 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
246
- 'option_name' => __( 'Option Name', 'woo-feed' ),
247
- 'option_value' => __( 'Option Value', 'woo-feed' ),
248
- 'action' => __( 'Action', 'woo-feed' ),
249
- );
250
-
251
- return $columns;
252
- }
253
-
254
-
255
- /** ************************************************************************
256
- * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
257
- * you will need to register it here. This should return an array where the
258
- * key is the column that needs to be sortable, and the value is db column to
259
- * sort by. Often, the key and value will be the same, but this is not always
260
- * the case (as the value is a column name from the database, not the list table).
261
- *
262
- * This method merely defines which columns should be sortable and makes them
263
- * clickable - it does not handle the actual sorting. You still need to detect
264
- * the ORDERBY and ORDER querystring variables within prepare_items() and sort
265
- * your data accordingly (usually by modifying your query).
266
- *
267
- * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
268
- **************************************************************************/
269
- function get_sortable_columns() {
270
- $sortable_columns = array(
271
- 'option_name' => array( 'option_name', false ),
272
- 'option_value' => array( 'option_value', false ),
273
- );
274
-
275
- return $sortable_columns;
276
- }
277
-
278
-
279
- /** ************************************************************************
280
- * Optional. If you need to include bulk actions in your list table, this is
281
- * the place to define them. Bulk actions are an associative array in the format
282
- * 'slug'=>'Visible Title'
283
- *
284
- * If this method returns an empty value, no bulk action will be rendered. If
285
- * you specify any bulk actions, the bulk actions box will be rendered with
286
- * the table automatically on display().
287
- *
288
- * Also note that list tables are not automatically wrapped in <form> elements,
289
- * so you will need to create those manually in order for bulk actions to function.
290
- *
291
- * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
292
- **************************************************************************/
293
- function get_bulk_actions() {
294
- $actions = array(
295
- 'bulk-delete' => __( 'Delete', 'woo-feed' ),
296
- );
297
-
298
- return $actions;
299
- }
300
-
301
-
302
- /** ************************************************************************
303
- * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
304
- * For this example package, we will handle it in the class to keep things
305
- * clean and organized.
306
- *
307
- * @see $this->prepare_items()
308
- **************************************************************************/
309
- public function process_bulk_action() {
310
- // Detect when a bulk action is being triggered...
311
- if ( 'delete-option' === $this->current_action() ) {
312
- // In our file that handles the request, verify the nonce.
313
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
314
- if ( ! wp_verify_nonce( $nonce, 'wf_delete_option' ) ) {
315
- // die(_e('You do not have sufficient permission to delete!'));
316
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Option. You do not have sufficient permission to delete.', 'woo-feed' ), false );
317
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
318
- die();
319
- } else {
320
- if ( isset( $_GET['option'] ) && self::delete_option( $_GET['option'] ) ) {
321
- update_option( 'wpf_message', esc_html__( 'Option Deleted Successfully.', 'woo-feed' ), false );
322
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=success' ) );
323
- die();
324
- } else {
325
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Option.', 'woo-feed' ), false );
326
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
327
- die();
328
- }
329
- }
330
- }
331
- // Detect when a bulk action is being triggered...
332
- if ( 'edit-mapping' === $this->current_action() ) {
333
- // In our file that handles the request, verify the nonce.
334
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
335
- if ( ! wp_verify_nonce( $nonce, 'wf_edit_mapping' ) ) {
336
- wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ) );
337
- }
338
- }
339
-
340
- // If the delete bulk action is triggered
341
- if (
342
- (
343
- isset( $_POST['option'] ) ) &&
344
- (
345
- isset( $_POST['action'] ) &&
346
- 'bulk-delete' == $_POST['action']
347
- ) ||
348
- (
349
- isset( $_POST['action2'] ) &&
350
- 'bulk-delete' == $_POST['action2']
351
- )
352
- ) {
353
- if ( 'bulk-delete' === $this->current_action() ) {
354
- $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
355
- if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
356
- update_option( 'wpf_message', esc_html__( 'Failed To Delete Option. You do not have sufficient permission to delete.', 'woo-feed' ), false );
357
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
358
- die();
359
- } else {
360
- // loop over the array of record IDs and delete them
361
- $delete_ids = array_map( 'absint', $_POST['option'] );
362
- $delete_ids = array_filter( $delete_ids );
363
- // loop over the array of record IDs and delete them
364
- if ( ! empty( $delete_ids ) ) {
365
- $count = count( $delete_ids );
366
- foreach ( $delete_ids as $id ) {
367
- self::delete_option( $id );
368
- }
369
- $message = sprintf(
370
- /* translators: 1: number of item deleted. */
371
- esc_html( _n( '%d Option Successfully Deleted.', '%d Options Successfully Deleted.', $count, 'woo-feed' ) ),
372
- $count
373
- );
374
- update_option( 'wpf_message', $message, false );
375
- wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=success' ) );
376
- die();
377
- }
378
- }
379
- }
380
- }
381
- }
382
-
383
-
384
- /** ************************************************************************
385
- * REQUIRED! This is where you prepare your data for display. This method will
386
- * usually be used to query the database, sort and filter the data, and generally
387
- * get it ready to be displayed. At a minimum, we should set $this->items and
388
- * $this->set_pagination_args(), although the following properties and methods
389
- * are frequently interacted with here...
390
- *
391
- * @global WPDB $wpdb
392
- * @uses $this->_column_headers
393
- * @uses $this->items
394
- * @uses $this->get_columns()
395
- * @uses $this->get_sortable_columns()
396
- * @uses $this->get_pagenum()
397
- * @uses $this->set_pagination_args()
398
- **************************************************************************/
399
- function prepare_items() {
400
- /**
401
- * First, lets decide how many records per page to show
402
- */
403
- $per_page = 10;
404
-
405
- /**
406
- * REQUIRED. Now we need to define our column headers. This includes a complete
407
- * array of columns to be displayed (slugs & titles), a list of columns
408
- * to keep hidden, and a list of columns that are sortable. Each of these
409
- * can be defined in another method (as we've done here) before being
410
- * used to build the value for our _column_headers property.
411
- */
412
- $columns = $this->get_columns();
413
- $hidden = array();
414
- $sortable = $this->get_sortable_columns();
415
-
416
- /**
417
- * REQUIRED. Finally, we build an array to be used by the class for column
418
- * headers. The $this->_column_headers property takes an array which contains
419
- * 3 other arrays. One for all columns, one for hidden columns, and one
420
- * for sortable columns.
421
- */
422
- $this->_column_headers = array( $columns, $hidden, $sortable );
423
-
424
- /**
425
- * Optional. You can handle your bulk actions however you see fit. In this
426
- * case, we'll handle them within our package just to keep things clean.
427
- */
428
- $this->process_bulk_action();
429
-
430
- /**
431
- * Instead of querying a database, we're going to fetch the example data
432
- * property we created for use in this plugin. This makes this example
433
- * package slightly different than one you might build on your own. In
434
- * this example, we'll be using array manipulation to sort and paginate
435
- * our data. In a real-world implementation, you will probably want to
436
- * use sort and pagination data to build a custom query instead, as you'll
437
- * be able to use your precisely-queried data immediately.
438
- */
439
- $data = $this->get_mappings();
440
-
441
- usort( $data, 'woo_feed_usort_reorder' );
442
-
443
- /***********************************************************************
444
- * ---------------------------------------------------------------------
445
- *
446
- * In a real-world situation, this is where you would place your query.
447
- *
448
- * For information on making queries in WordPress, see this Codex entry:
449
- * http://codex.wordpress.org/Class_Reference/wpdb
450
- *
451
- * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
452
- * ---------------------------------------------------------------------
453
- */
454
-
455
- /**
456
- * REQUIRED for pagination. Let's figure out what page the user is currently
457
- * looking at. We'll need this later, so you should always include it in
458
- * your own package classes.
459
- */
460
- $current_page = $this->get_pagenum();
461
-
462
- /**
463
- * REQUIRED for pagination. Let's check how many items are in our data array.
464
- * In real-world use, this would be the total number of items in your database,
465
- * without filtering. We'll need this later, so you should always include it
466
- * in your own package classes.
467
- */
468
- $total_items = count( $data );
469
-
470
- /**
471
- * The WP_List_Table class does not handle pagination for us, so we need
472
- * to ensure that the data is trimmed to only the current page. We can use
473
- * array_slice() to
474
- */
475
- $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
476
-
477
- /**
478
- * REQUIRED. We also have to register our pagination options & calculations.
479
- */
480
- $this->set_pagination_args(
481
- array(
482
- 'total_items' => $total_items, // WE have to calculate the total number of items
483
- 'per_page' => $per_page, // WE have to determine how many items to show on a page
484
- 'total_pages' => ceil( $total_items / $per_page ), // WE have to calculate the total number of pages
485
- )
486
- );
487
-
488
- // $this->set_pagination_args( array(
489
- // 'total_items' => $total_items, //WE have to calculate the total number of items
490
- // 'per_page' => $per_page //WE have to determine how many items to show on a page
491
- // ) );
492
-
493
- /**
494
- * REQUIRED. Now we can add our *sorted* data to the items property, where
495
- * it can be used by the rest of the class.
496
- */
497
- $this->items = $data;
498
- }
499
-
500
-
501
- }
1
+ <?php ob_start();
2
+
3
+ /**
4
+ * Category List
5
+ *
6
+ * @link https://webappick.com/
7
+ * @since 1.0.0
8
+ *
9
+ * @package Woo_Feed_List_Table
10
+ * @author Ohidul Islam <wahid@webappick.com>
11
+ */
12
+ class Woo_Feed_Option_list extends Woo_Feed_List_Table {
13
+
14
+ /** ************************************************************************
15
+ * Normally we would be querying data from a database and manipulating that
16
+ * for use in your list table. For this example, we're going to simplify it
17
+ * slightly and create a pre-built array. Think of this as the data that might
18
+ * be returned by $wpdb->query()
19
+ *
20
+ * In a real-world scenario, you would make your own custom query inside
21
+ * this class' prepare_items() method.
22
+ *
23
+ * @var array
24
+ **************************************************************************/
25
+
26
+
27
+ /** ************************************************************************
28
+ * REQUIRED. Set up a constructor that references the parent constructor. We
29
+ * use the parent reference to set some default configs.
30
+ ***************************************************************************/
31
+ function __construct() {
32
+ // Set parent defaults
33
+ parent::__construct(
34
+ array(
35
+ 'singular' => __( 'option', 'woo-feed' ), // singular name of the listed records
36
+ 'plural' => __( 'options', 'woo-feed' ), // plural name of the listed records
37
+ 'ajax' => false, // does this table support ajax?
38
+ )
39
+ );
40
+
41
+ }
42
+
43
+
44
+ /** ************************************************************************
45
+ * Recommended. This method is called when the parent class can't find a method
46
+ * specifically build for a given column. Generally, it's recommended to include
47
+ * one method for each column you want to render, keeping your package class
48
+ * neat and organized. For example, if the class needs to process a column
49
+ * named 'title', it would first see if a method named $this->column_title()
50
+ * exists - if it does, that method will be used. If it doesn't, this one will
51
+ * be used. Generally, you should try to use custom column methods as much as
52
+ * possible.
53
+ *
54
+ * Since we have defined a column_title() method later on, this method doesn't
55
+ * need to concern itself with any column with a name of 'title'. Instead, it
56
+ * needs to handle everything else.
57
+ *
58
+ * For more detailed insight into how columns are handled, take a look at
59
+ * WP_List_Table::single_row_columns()
60
+ *
61
+ * @param array $item A singular item (one full row's worth of data)
62
+ * @param array $column_name The name/slug of the column to be processed
63
+ *
64
+ * @return string Text or HTML to be placed inside the column <td>
65
+ **************************************************************************/
66
+ function column_default( $item, $column_name ) {
67
+ global $plugin_page;
68
+ switch ( $column_name ) {
69
+ case 'option_name':
70
+ $newName = str_replace( 'wf_option_', '', $item['option_name'] );
71
+
72
+ return $newName;
73
+ case 'option_value':
74
+ if ( isset($item['option_id']) ) {
75
+ $option_value = get_option($item['option_id']);
76
+ if ( is_array($option_value) ) {
77
+ $optionValue = implode(', ', $option_value);
78
+ }else {
79
+ $optionValue = $option_value;
80
+ }
81
+ }else {
82
+ $optionValue = "";
83
+ }
84
+
85
+ return $optionValue;
86
+ case 'action':
87
+ $delete_nonce = wp_create_nonce( 'wf_delete_option' );
88
+
89
+ return sprintf(
90
+ '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="button single-option-delete" style="cursor: pointer;">' . __(
91
+ 'Delete',
92
+ 'woo-feed'
93
+ ) . '</a>',
94
+ esc_attr( $plugin_page ),
95
+ 'delete-option',
96
+ $item['option_id'],
97
+ $delete_nonce
98
+ );
99
+ default:
100
+ return false;
101
+ }
102
+ }
103
+
104
+
105
+ /** ************************************************************************
106
+ * Recommended. This is a custom column method and is responsible for what
107
+ * is rendered in any column with a name/slug of 'title'. Every time the class
108
+ * needs to render a column, it first looks for a method named
109
+ * column_{$column_title} - if it exists, that method is run. If it doesn't
110
+ * exist, column_default() is called instead.
111
+ *
112
+ * This example also illustrates how to implement rollover actions. Actions
113
+ * should be an associative array formatted as 'slug'=>'link html' - and you
114
+ * will need to generate the URLs yourself. You could even ensure the links
115
+ *
116
+ * @param array $item A singular item (one full row's worth of data)
117
+ *
118
+ * @return string Text to be placed inside the column <td> (movie title only)
119
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
120
+ */
121
+ function column_option_name( $item ) {
122
+ global $plugin_page;
123
+ $delete_nonce = wp_create_nonce( 'wf_delete_option' );
124
+ $newName = str_replace( 'wf_option_', '', $item['option_name'] );
125
+ $title = '<strong>' . $newName . '</strong>';
126
+ $actions = array(
127
+ 'delete' => sprintf(
128
+ '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="single-option-delete" style="cursor: pointer;">' . __(
129
+ 'Delete',
130
+ 'woo-feed'
131
+ ) . '</a>',
132
+ esc_attr( $plugin_page ),
133
+ 'delete-option',
134
+ $item['option_id'],
135
+ $delete_nonce
136
+ ),
137
+ );
138
+
139
+ // Return the title contents
140
+
141
+ return sprintf(
142
+ '%1$s <span style="color:silver">(id:%2$s)</span>%3$s',
143
+ /*$1%s*/
144
+ $title,
145
+ /*$2%s*/
146
+ $item['option_id'],
147
+ /*$3%s*/
148
+ $this->row_actions( $actions )
149
+ );
150
+ }
151
+
152
+ public static function get_mappings() {
153
+
154
+ $result = get_option( 'wpfp_option' );
155
+
156
+ return ( $result ) ? $result : array();
157
+ }
158
+
159
+ /**
160
+ * Delete a contact record.
161
+ *
162
+ * @param int $id customer ID
163
+ *
164
+ * @return false|int
165
+ */
166
+ public static function delete_option( $id ) {
167
+ $options = get_option( 'wpfp_option' );
168
+ unset( $options[ $id ] );
169
+
170
+ return update_option( 'wpfp_option', $options, false );
171
+ }
172
+
173
+ /**
174
+ * Returns the count of records in the database.
175
+ *
176
+ * @return null|string
177
+ */
178
+ public static function record_count() {
179
+
180
+ return count( get_option( 'wpfp_option' ) );
181
+ }
182
+
183
+ /** Text displayed when no contact data is available */
184
+ public function no_items() {
185
+ esc_html_e( 'No option saved.', 'woo-feed' );
186
+ }
187
+
188
+
189
+ /** ************************************************************************
190
+ * REQUIRED if displaying checkboxes or using bulk actions! The 'cb' column
191
+ * is given special treatment when columns are processed. It ALWAYS needs to
192
+ * have it's own method.
193
+ *
194
+ * @param array $item A singular item (one full row's worth of data)
195
+ *
196
+ * @return string Text to be placed inside the column <td> (movie title only)
197
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
198
+ */
199
+ function column_cb( $item ) {
200
+ return sprintf(
201
+ '<input type="checkbox" name="%1$s[]" value="%2$s" />',
202
+ /*$1%s*/
203
+ $this->_args['singular'], // Let's simply repurpose the table's singular label ("movie")
204
+ /*$2%s*/
205
+ $item['option_id'] // The value of the checkbox should be the record's id
206
+ );
207
+ }
208
+
209
+
210
+ function column_name( $item ) {
211
+ global $plugin_page;
212
+ $delete_nonce = wp_create_nonce( 'wf_delete_option' );
213
+ $title = '<strong>' . $item['option_name'] . '</strong>';
214
+ $actions = array(
215
+ 'delete' => sprintf(
216
+ '<a val="?page=%s&action=%s&option=%s&_wpnonce=%s" class="single-option-delete" style="cursor: pointer;">' . __(
217
+ 'Delete',
218
+ 'woo-feed'
219
+ ) . '</a>',
220
+ esc_attr( $plugin_page ),
221
+ 'delete-option',
222
+ $item['option_id'],
223
+ $delete_nonce
224
+ ),
225
+ );
226
+
227
+ return $title . $this->row_actions( $actions );
228
+ }
229
+
230
+ /** ************************************************************************
231
+ * REQUIRED! This method dictates the table's columns and titles. This should
232
+ * return an array where the key is the column slug (and class) and the value
233
+ * is the column's title text. If you need a checkbox for bulk actions, refer
234
+ * to the $columns array below.
235
+ *
236
+ * The 'cb' column is treated differently than the rest. If including a checkbox
237
+ * column in your table you must create a column_cb() method. If you don't need
238
+ * bulk actions or checkboxes, simply leave the 'cb' entry out of your array.
239
+ *
240
+ * @return array An associative array containing column information: 'slugs'=>'Visible Titles'
241
+ * *************************************************************************@see WP_List_Table::::single_row_columns()
242
+ */
243
+ function get_columns() {
244
+ $columns = array(
245
+ 'cb' => '<input type="checkbox" />', // Render a checkbox instead of text
246
+ 'option_name' => __( 'Option Name', 'woo-feed' ),
247
+ 'option_value' => __( 'Option Value', 'woo-feed' ),
248
+ 'action' => __( 'Action', 'woo-feed' ),
249
+ );
250
+
251
+ return $columns;
252
+ }
253
+
254
+
255
+ /** ************************************************************************
256
+ * Optional. If you want one or more columns to be sortable (ASC/DESC toggle),
257
+ * you will need to register it here. This should return an array where the
258
+ * key is the column that needs to be sortable, and the value is db column to
259
+ * sort by. Often, the key and value will be the same, but this is not always
260
+ * the case (as the value is a column name from the database, not the list table).
261
+ *
262
+ * This method merely defines which columns should be sortable and makes them
263
+ * clickable - it does not handle the actual sorting. You still need to detect
264
+ * the ORDERBY and ORDER querystring variables within prepare_items() and sort
265
+ * your data accordingly (usually by modifying your query).
266
+ *
267
+ * @return array An associative array containing all the columns that should be sortable: 'slugs'=>array('data_values',bool)
268
+ **************************************************************************/
269
+ function get_sortable_columns() {
270
+ $sortable_columns = array(
271
+ 'option_name' => array( 'option_name', false ),
272
+ 'option_value' => array( 'option_value', false ),
273
+ );
274
+
275
+ return $sortable_columns;
276
+ }
277
+
278
+
279
+ /** ************************************************************************
280
+ * Optional. If you need to include bulk actions in your list table, this is
281
+ * the place to define them. Bulk actions are an associative array in the format
282
+ * 'slug'=>'Visible Title'
283
+ *
284
+ * If this method returns an empty value, no bulk action will be rendered. If
285
+ * you specify any bulk actions, the bulk actions box will be rendered with
286
+ * the table automatically on display().
287
+ *
288
+ * Also note that list tables are not automatically wrapped in <form> elements,
289
+ * so you will need to create those manually in order for bulk actions to function.
290
+ *
291
+ * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
292
+ **************************************************************************/
293
+ function get_bulk_actions() {
294
+ $actions = array(
295
+ 'bulk-delete' => __( 'Delete', 'woo-feed' ),
296
+ );
297
+
298
+ return $actions;
299
+ }
300
+
301
+
302
+ /** ************************************************************************
303
+ * Optional. You can handle your bulk actions anywhere or anyhow you prefer.
304
+ * For this example package, we will handle it in the class to keep things
305
+ * clean and organized.
306
+ *
307
+ * @see $this->prepare_items()
308
+ **************************************************************************/
309
+ public function process_bulk_action() {
310
+ // Detect when a bulk action is being triggered...
311
+ if ( 'delete-option' === $this->current_action() ) {
312
+ // In our file that handles the request, verify the nonce.
313
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
314
+ if ( ! wp_verify_nonce( $nonce, 'wf_delete_option' ) ) {
315
+ // die(_e('You do not have sufficient permission to delete!'));
316
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Option. You do not have sufficient permission to delete.', 'woo-feed' ), false );
317
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
318
+ die();
319
+ } else {
320
+ if ( isset( $_GET['option'] ) && self::delete_option( $_GET['option'] ) ) {
321
+ update_option( 'wpf_message', esc_html__( 'Option Deleted Successfully.', 'woo-feed' ), false );
322
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=success' ) );
323
+ die();
324
+ } else {
325
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Option.', 'woo-feed' ), false );
326
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
327
+ die();
328
+ }
329
+ }
330
+ }
331
+ // Detect when a bulk action is being triggered...
332
+ if ( 'edit-mapping' === $this->current_action() ) {
333
+ // In our file that handles the request, verify the nonce.
334
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
335
+ if ( ! wp_verify_nonce( $nonce, 'wf_edit_mapping' ) ) {
336
+ wp_die( esc_html__( 'You do not have sufficient permission to delete!', 'woo-feed' ) );
337
+ }
338
+ }
339
+
340
+ // If the delete bulk action is triggered
341
+ if (
342
+ (
343
+ isset( $_POST['option'] ) ) &&
344
+ (
345
+ isset( $_POST['action'] ) &&
346
+ 'bulk-delete' == $_POST['action']
347
+ ) ||
348
+ (
349
+ isset( $_POST['action2'] ) &&
350
+ 'bulk-delete' == $_POST['action2']
351
+ )
352
+ ) {
353
+ if ( 'bulk-delete' === $this->current_action() ) {
354
+ $nonce = isset( $_REQUEST['_wpnonce'] ) && ! empty( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( $_REQUEST['_wpnonce'] ) : '';
355
+ if ( ! wp_verify_nonce( $nonce, 'bulk-' . $this->_args['plural'] ) ) {
356
+ update_option( 'wpf_message', esc_html__( 'Failed To Delete Option. You do not have sufficient permission to delete.', 'woo-feed' ), false );
357
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=error' ) );
358
+ die();
359
+ } else {
360
+ // loop over the array of record IDs and delete them
361
+ $delete_ids = array_map( 'absint', $_POST['option'] );
362
+ $delete_ids = array_filter( $delete_ids );
363
+ // loop over the array of record IDs and delete them
364
+ if ( ! empty( $delete_ids ) ) {
365
+ $count = count( $delete_ids );
366
+ foreach ( $delete_ids as $id ) {
367
+ self::delete_option( $id );
368
+ }
369
+ $message = sprintf(
370
+ /* translators: 1: number of item deleted. */
371
+ esc_html( _n( '%d Option Successfully Deleted.', '%d Options Successfully Deleted.', $count, 'woo-feed' ) ),
372
+ $count
373
+ );
374
+ update_option( 'wpf_message', $message, false );
375
+ wp_safe_redirect( admin_url( 'admin.php?page=webappick-wp-options&wpf_message=success' ) );
376
+ die();
377
+ }
378
+ }
379
+ }
380
+ }
381
+ }
382
+
383
+
384
+ /** ************************************************************************
385
+ * REQUIRED! This is where you prepare your data for display. This method will
386
+ * usually be used to query the database, sort and filter the data, and generally
387
+ * get it ready to be displayed. At a minimum, we should set $this->items and
388
+ * $this->set_pagination_args(), although the following properties and methods
389
+ * are frequently interacted with here...
390
+ *
391
+ * @global WPDB $wpdb
392
+ * @uses $this->_column_headers
393
+ * @uses $this->items
394
+ * @uses $this->get_columns()
395
+ * @uses $this->get_sortable_columns()
396
+ * @uses $this->get_pagenum()
397
+ * @uses $this->set_pagination_args()
398
+ **************************************************************************/
399
+ function prepare_items() {
400
+ /**
401
+ * First, lets decide how many records per page to show
402
+ */
403
+ $per_page = 10;
404
+
405
+ /**
406
+ * REQUIRED. Now we need to define our column headers. This includes a complete
407
+ * array of columns to be displayed (slugs & titles), a list of columns
408
+ * to keep hidden, and a list of columns that are sortable. Each of these
409
+ * can be defined in another method (as we've done here) before being
410
+ * used to build the value for our _column_headers property.
411
+ */
412
+ $columns = $this->get_columns();
413
+ $hidden = array();
414
+ $sortable = $this->get_sortable_columns();
415
+
416
+ /**
417
+ * REQUIRED. Finally, we build an array to be used by the class for column
418
+ * headers. The $this->_column_headers property takes an array which contains
419
+ * 3 other arrays. One for all columns, one for hidden columns, and one
420
+ * for sortable columns.
421
+ */
422
+ $this->_column_headers = array( $columns, $hidden, $sortable );
423
+
424
+ /**
425
+ * Optional. You can handle your bulk actions however you see fit. In this
426
+ * case, we'll handle them within our package just to keep things clean.
427
+ */
428
+ $this->process_bulk_action();
429
+
430
+ /**
431
+ * Instead of querying a database, we're going to fetch the example data
432
+ * property we created for use in this plugin. This makes this example
433
+ * package slightly different than one you might build on your own. In
434
+ * this example, we'll be using array manipulation to sort and paginate
435
+ * our data. In a real-world implementation, you will probably want to
436
+ * use sort and pagination data to build a custom query instead, as you'll
437
+ * be able to use your precisely-queried data immediately.
438
+ */
439
+ $data = $this->get_mappings();
440
+
441
+ usort( $data, 'woo_feed_usort_reorder' );
442
+
443
+ /***********************************************************************
444
+ * ---------------------------------------------------------------------
445
+ *
446
+ * In a real-world situation, this is where you would place your query.
447
+ *
448
+ * For information on making queries in WordPress, see this Codex entry:
449
+ * http://codex.wordpress.org/Class_Reference/wpdb
450
+ *
451
+ * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
452
+ * ---------------------------------------------------------------------
453
+ */
454
+
455
+ /**
456
+ * REQUIRED for pagination. Let's figure out what page the user is currently
457
+ * looking at. We'll need this later, so you should always include it in
458
+ * your own package classes.
459
+ */
460
+ $current_page = $this->get_pagenum();
461
+
462
+ /**
463
+ * REQUIRED for pagination. Let's check how many items are in our data array.
464
+ * In real-world use, this would be the total number of items in your database,
465
+ * without filtering. We'll need this later, so you should always include it
466
+ * in your own package classes.
467
+ */
468
+ $total_items = count( $data );
469
+
470
+ /**
471
+ * The WP_List_Table class does not handle pagination for us, so we need
472
+ * to ensure that the data is trimmed to only the current page. We can use
473
+ * array_slice() to
474
+ */
475
+ $data = array_slice( $data, ( ( $current_page - 1 ) * $per_page ), $per_page );
476
+
477
+ /**
478
+ * REQUIRED. We also have to register our pagination options & calculations.
479
+ */
480
+ $this->set_pagination_args(
481
+ array(
482
+ 'total_items' => $total_items, // WE have to calculate the total number of items
483
+ 'per_page' => $per_page, // WE have to determine how many items to show on a page
484
+ 'total_pages' => ceil( $total_items / $per_page ), // WE have to calculate the total number of pages
485
+ )
486
+ );
487
+
488
+ // $this->set_pagination_args( array(
489
+ // 'total_items' => $total_items, //WE have to calculate the total number of items
490
+ // 'per_page' => $per_page //WE have to determine how many items to show on a page
491
+ // ) );
492
+
493
+ /**
494
+ * REQUIRED. Now we can add our *sorted* data to the items property, where
495
+ * it can be used by the rest of the class.
496
+ */
497
+ $this->items = $data;
498
+ }
499
+
500
+
501
+ }
admin/css/admin-settings.css CHANGED
@@ -1,20 +1,20 @@
1
- .main h3, .sidebar h3 { color: black; background-color: #e5f3ff; padding: 4px 8px; }
2
- .sidebar { border: 2px solid #e5f3ff; width: 20%; float: right; padding: 0px 10px 0px 10px; margin: 15px 10px 0px 0px; }
3
- .main { float: left; width: 70%; }
4
- ul.celist{ list-style-type: square; list-style-position:inside; }
5
- .hidden {visibility:hidden;}
6
- .alert { background-color: #fffedf; font-weight: bold; padding: 10px; text-align: center; }
7
- .icon-pos {
8
- padding-right:10px;
9
- padding-left:10px;
10
- /* Positions icon from the top */
11
- position: relative;
12
- top: 3px;
13
- }
14
- input[type='text'],
15
- textarea {
16
- width: 90%;
17
- box-sizing: border-box;
18
- -moz-box-sizing: border-box;
19
- -webkit-box-sizing: border-box;
20
  }
1
+ .main h3, .sidebar h3 { color: black; background-color: #e5f3ff; padding: 4px 8px; }
2
+ .sidebar { border: 2px solid #e5f3ff; width: 20%; float: right; padding: 0px 10px 0px 10px; margin: 15px 10px 0px 0px; }
3
+ .main { float: left; width: 70%; }
4
+ ul.celist{ list-style-type: square; list-style-position:inside; }
5
+ .hidden {visibility:hidden;}
6
+ .alert { background-color: #fffedf; font-weight: bold; padding: 10px; text-align: center; }
7
+ .icon-pos {
8
+ padding-right:10px;
9
+ padding-left:10px;
10
+ /* Positions icon from the top */
11
+ position: relative;
12
+ top: 3px;
13
+ }
14
+ input[type='text'],
15
+ textarea {
16
+ width: 90%;
17
+ box-sizing: border-box;
18
+ -moz-box-sizing: border-box;
19
+ -webkit-box-sizing: border-box;
20
  }
admin/css/fancy-select.css CHANGED
@@ -1,8 +1,8 @@
1
- /**!
2
- * WooFeed Fancy Select
3
- * @version 1.0.0
4
- * @copyright 2020 Webappick
5
- * @author Kudratullah <mhamudul.hk@gmail.com>
6
  */
7
  .fancy-picker, .fancy-picker * {
8
  box-sizing: border-box;
1
+ /**!
2
+ * WooFeed Fancy Select
3
+ * @version 1.0.0
4
+ * @copyright 2020 Webappick
5
+ * @author Kudratullah <mhamudul.hk@gmail.com>
6
  */
7
  .fancy-picker, .fancy-picker * {
8
  box-sizing: border-box;
admin/css/fancy-select.scss CHANGED
@@ -1,201 +1,201 @@
1
- /**!
2
- * WooFeed Fancy Select
3
- * @version 1.0.0
4
- * @copyright 2020 Webappick
5
- * @author Kudratullah <mhamudul.hk@gmail.com>
6
- */
7
-
8
- .fancy-picker, .fancy-picker * {
9
- box-sizing: border-box;
10
- cursor: default;
11
- user-select: none;
12
- }
13
-
14
- .fancy-picker {
15
- position: relative;
16
- display: block;
17
- width: 100%;
18
- height: 30px;
19
- margin: 0 !important;
20
- padding: 0 !important;
21
- }
22
-
23
- .fancy-picker-picked {
24
- width: 100%;
25
- height: 100%;
26
- overflow: hidden;
27
- display: block;
28
- position: relative;
29
- border: 1px solid #7e8993;
30
- border-radius: 4px;
31
- padding: 3.5px 0;
32
- box-shadow: 0 0 4px -1px rgba(0, 0, 0, 0.45);
33
- }
34
-
35
- .fancy-picker-placeholder,
36
- .fancy-picker-data {
37
- display: block;
38
- width: calc( 100% - 25px );
39
- float: left;
40
- font-weight: 500;
41
- padding: 1px 5px;
42
- overflow: hidden;
43
- text-overflow: ellipsis;
44
- white-space: pre;
45
- top: -1px;
46
- > span {
47
- display: inline;
48
- position: relative;
49
- &:empty {
50
- display: none;
51
- }
52
- }
53
- &:empty {
54
- display: none;
55
- }
56
- }
57
-
58
- .fancy-picker-separator {
59
- margin-right: 3px;
60
- }
61
-
62
- .fancy-picker-count {
63
- position: absolute;
64
- display: block;
65
- top: 50%;
66
- transform: translateY(-50%);
67
- right: 21px;
68
- color: #ffffff;
69
- background: rgba(35, 40, 45, 0.7);
70
- z-index: 1;
71
- padding: 1px 3px;
72
- font-size: 12px;
73
- line-height: normal;
74
- border-radius: 5px;
75
- &:empty {
76
- display: none;
77
- }
78
- }
79
- .fancy-picker-option {
80
- font-weight: 500;
81
- width: 100%;
82
- display: block;
83
- float: left;
84
- cursor: default;
85
- padding: 2px 8px;
86
- transition: background 300ms linear;
87
- &:nth-child(odd) {
88
- background: #f3f3f3;
89
- }
90
- &.selected {
91
- color: #000;
92
- background: #acf;
93
- }
94
- &.disabled {
95
- color: #464646;
96
- background: #e8e8e8;
97
- cursor: not-allowed;
98
- }
99
- &:not(.disabled) {
100
- &:hover {
101
- background: #00a1ff;
102
- color: #FFF;
103
- }
104
- }
105
- }
106
-
107
- .fancy-picker-content {
108
- overflow-y: auto;
109
- overflow-x: hidden;
110
- max-height: 200px;
111
- width: 100%;
112
- -webkit-overflow-scrolling: touch;
113
- padding: 3px 0 20px 0;
114
- background: #FFF;
115
- }
116
-
117
- .fancy-picker-ui {
118
- position: absolute;
119
- display: none;
120
- background: #FFF;
121
- z-index: 999;
122
- border: 1px solid #7e8993;
123
- top: 36px;
124
- padding: 0;
125
- margin: 0;
126
- box-shadow: 0 0 10px -1px rgba(0, 0, 0, 0.96);
127
- &:before {
128
- content: "";
129
- position: absolute;
130
- width: 10px;
131
- height: 10px;
132
- border-top: 1px solid #4f555a;
133
- border-left: 1px solid #4f555a;
134
- top: -6px;
135
- left: 10px;
136
- transform: rotate(45deg);
137
- z-index: -1;background: #4f555a;
138
- }
139
- }
140
-
141
- .fancy-picker-picked {
142
- &:after {
143
- content: "";
144
- display: block;
145
- position: absolute;
146
- width: 0;
147
- height: 0;
148
- float: right;
149
- background: transparent;
150
- border-style: solid;
151
- border-color: #7e8993 transparent;
152
- border-width: 7px 5px 0 5px;
153
- top: 50%;
154
- transform: translateY(-50%) rotate(0deg);
155
- right: 5px;
156
- transition: all 350ms linear;
157
- cursor: pointer;
158
- }
159
- &:before {
160
- position: relative;
161
- display: block;
162
- content: "";
163
- width: 5px;
164
- height: 15px;
165
- padding: 1px 0;
166
- background: transparent;
167
- border-left-width: 4px;
168
- border-left-color: #7e8993;
169
- border-left-style: dotted;
170
- float: left;
171
- left: 5px;
172
- top: 2px;
173
- transition: all 350ms linear;
174
- }
175
- }
176
-
177
- .fancy-picker {
178
- &.active {
179
- .fancy-picker-ui {
180
- display: block;
181
- }
182
- .fancy-picker-picked {
183
- box-shadow: 0 0 3px -1px rgba(0, 0, 0, 0.45),
184
- inset 0 0 4px -1px rgba(0, 0, 0, 0.27);
185
- &:after {
186
- border-color: #31363a transparent;
187
- transform:translateY(-50%) rotate3d(1, 0, 0, 180deg);
188
- }
189
- &:before {
190
- border-left-color: #31363a;
191
- }
192
- }
193
- }
194
- &:hover {
195
- .fancy-picker-picked {
196
- &:before {
197
- border-left-color: #31363a;
198
- }
199
- }
200
- }
201
- }
1
+ /**!
2
+ * WooFeed Fancy Select
3
+ * @version 1.0.0
4
+ * @copyright 2020 Webappick
5
+ * @author Kudratullah <mhamudul.hk@gmail.com>
6
+ */
7
+
8
+ .fancy-picker, .fancy-picker * {
9
+ box-sizing: border-box;
10
+ cursor: default;
11
+ user-select: none;
12
+ }
13
+
14
+ .fancy-picker {
15
+ position: relative;
16
+ display: block;
17
+ width: 100%;
18
+ height: 30px;
19
+ margin: 0 !important;
20
+ padding: 0 !important;
21
+ }
22
+
23
+ .fancy-picker-picked {
24
+ width: 100%;
25
+ height: 100%;
26
+ overflow: hidden;
27
+ display: block;
28
+ position: relative;
29
+ border: 1px solid #7e8993;
30
+ border-radius: 4px;
31
+ padding: 3.5px 0;
32
+ box-shadow: 0 0 4px -1px rgba(0, 0, 0, 0.45);
33
+ }
34
+
35
+ .fancy-picker-placeholder,
36
+ .fancy-picker-data {
37
+ display: block;
38
+ width: calc( 100% - 25px );
39
+ float: left;
40
+ font-weight: 500;
41
+ padding: 1px 5px;
42
+ overflow: hidden;
43
+ text-overflow: ellipsis;
44
+ white-space: pre;
45
+ top: -1px;
46
+ > span {
47
+ display: inline;
48
+ position: relative;
49
+ &:empty {
50
+ display: none;
51
+ }
52
+ }
53
+ &:empty {
54
+ display: none;
55
+ }
56
+ }
57
+
58
+ .fancy-picker-separator {
59
+ margin-right: 3px;
60
+ }
61
+
62
+ .fancy-picker-count {
63
+ position: absolute;
64
+ display: block;
65
+ top: 50%;
66
+ transform: translateY(-50%);
67
+ right: 21px;
68
+ color: #ffffff;
69
+ background: rgba(35, 40, 45, 0.7);
70
+ z-index: 1;
71
+ padding: 1px 3px;
72
+ font-size: 12px;
73
+ line-height: normal;
74
+ border-radius: 5px;
75
+ &:empty {
76
+ display: none;
77
+ }
78
+ }
79
+ .fancy-picker-option {
80
+ font-weight: 500;
81
+ width: 100%;
82
+ display: block;
83
+ float: left;
84
+ cursor: default;
85
+ padding: 2px 8px;
86
+ transition: background 300ms linear;
87
+ &:nth-child(odd) {
88
+ background: #f3f3f3;
89
+ }
90
+ &.selected {
91
+ color: #000;
92
+ background: #acf;
93
+ }
94
+ &.disabled {
95
+ color: #464646;
96
+ background: #e8e8e8;
97
+ cursor: not-allowed;
98
+ }
99
+ &:not(.disabled) {
100
+ &:hover {
101
+ background: #00a1ff;
102
+ color: #FFF;
103
+ }
104
+ }
105
+ }
106
+
107
+ .fancy-picker-content {
108
+ overflow-y: auto;
109
+ overflow-x: hidden;
110
+ max-height: 200px;
111
+ width: 100%;
112
+ -webkit-overflow-scrolling: touch;
113
+ padding: 3px 0 20px 0;
114
+ background: #FFF;
115
+ }
116
+
117
+ .fancy-picker-ui {
118
+ position: absolute;
119
+ display: none;
120
+ background: #FFF;
121
+ z-index: 999;
122
+ border: 1px solid #7e8993;
123
+ top: 36px;
124
+ padding: 0;
125
+ margin: 0;
126
+ box-shadow: 0 0 10px -1px rgba(0, 0, 0, 0.96);
127
+ &:before {
128
+ content: "";
129
+ position: absolute;
130
+ width: 10px;
131
+ height: 10px;
132
+ border-top: 1px solid #4f555a;
133
+ border-left: 1px solid #4f555a;
134
+ top: -6px;
135
+ left: 10px;
136
+ transform: rotate(45deg);
137
+ z-index: -1;background: #4f555a;
138
+ }
139
+ }
140
+
141
+ .fancy-picker-picked {
142
+ &:after {
143
+ content: "";
144
+ display: block;
145
+ position: absolute;
146
+ width: 0;
147
+ height: 0;
148
+ float: right;
149
+ background: transparent;
150
+ border-style: solid;
151
+ border-color: #7e8993 transparent;
152
+ border-width: 7px 5px 0 5px;
153
+ top: 50%;
154
+ transform: translateY(-50%) rotate(0deg);
155
+ right: 5px;
156
+ transition: all 350ms linear;
157
+ cursor: pointer;
158
+ }
159
+ &:before {
160
+ position: relative;
161
+ display: block;
162
+ content: "";
163
+ width: 5px;
164
+ height: 15px;
165
+ padding: 1px 0;
166
+ background: transparent;
167
+ border-left-width: 4px;
168
+ border-left-color: #7e8993;
169
+ border-left-style: dotted;
170
+ float: left;
171
+ left: 5px;
172
+ top: 2px;
173
+ transition: all 350ms linear;
174
+ }
175
+ }
176
+
177
+ .fancy-picker {
178
+ &.active {
179
+ .fancy-picker-ui {
180
+ display: block;
181
+ }
182
+ .fancy-picker-picked {
183
+ box-shadow: 0 0 3px -1px rgba(0, 0, 0, 0.45),
184
+ inset 0 0 4px -1px rgba(0, 0, 0, 0.27);
185
+ &:after {
186
+ border-color: #31363a transparent;
187
+ transform:translateY(-50%) rotate3d(1, 0, 0, 180deg);
188
+ }
189
+ &:before {
190
+ border-left-color: #31363a;
191
+ }
192
+ }
193
+ }
194
+ &:hover {
195
+ .fancy-picker-picked {
196
+ &:before {
197
+ border-left-color: #31363a;
198
+ }
199
+ }
200
+ }
201
+ }
admin/css/selectize.css CHANGED
@@ -1,333 +1,333 @@
1
- /**
2
- * selectize.css (v0.12.6)
3
- * Copyright (c) 2013–2015 Brian Reavis & contributors
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
- * file except in compliance with the License. You may obtain a copy of the License at:
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software distributed under
10
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
- * ANY KIND, either express or implied. See the License for the specific language
12
- * governing permissions and limitations under the License.
13
- *
14
- * @author Brian Reavis <brian@thirdroute.com>
15
- */
16
-
17
- .selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder {
18
- visibility: visible !important;
19
- background: #f2f2f2 !important;
20
- background: rgba(0, 0, 0, 0.06) !important;
21
- border: 0 none !important;
22
- -webkit-box-shadow: inset 0 0 12px 4px #fff;
23
- box-shadow: inset 0 0 12px 4px #fff;
24
- }
25
- .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after {
26
- content: '!';
27
- visibility: hidden;
28
- }
29
- .selectize-control.plugin-drag_drop .ui-sortable-helper {
30
- -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
31
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
32
- }
33
- .selectize-dropdown-header {
34
- position: relative;
35
- padding: 5px 8px;
36
- border-bottom: 1px solid #d0d0d0;
37
- background: #f8f8f8;
38
- -webkit-border-radius: 3px 3px 0 0;
39
- -moz-border-radius: 3px 3px 0 0;
40
- border-radius: 3px 3px 0 0;
41
- }
42
- .selectize-dropdown-header-close {
43
- position: absolute;
44
- right: 8px;
45
- top: 50%;
46
- color: #303030;
47
- opacity: 0.4;
48
- margin-top: -12px;
49
- line-height: 20px;
50
- font-size: 20px !important;
51
- }
52
- .selectize-dropdown-header-close:hover {
53
- color: #000000;
54
- }
55
- .selectize-dropdown.plugin-optgroup_columns .optgroup {
56
- border-right: 1px solid #f2f2f2;
57
- border-top: 0 none;
58
- float: left;
59
- -webkit-box-sizing: border-box;
60
- -moz-box-sizing: border-box;
61
- box-sizing: border-box;
62
- }
63
- .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child {
64
- border-right: 0 none;
65
- }
66
- .selectize-dropdown.plugin-optgroup_columns .optgroup:before {
67
- display: none;
68
- }
69
- .selectize-dropdown.plugin-optgroup_columns .optgroup-header {
70
- border-top: 0 none;
71
- }
72
- .selectize-control.plugin-remove_button [data-value] {
73
- position: relative;
74
- padding-right: 24px !important;
75
- }
76
- .selectize-control.plugin-remove_button [data-value] .remove {
77
- z-index: 1;
78
- /* fixes ie bug (see #392) */
79
- position: absolute;
80
- top: 0;
81
- right: 0;
82
- bottom: 0;
83
- width: 17px;
84
- text-align: center;
85
- font-weight: bold;
86
- font-size: 12px;
87
- color: inherit;
88
- text-decoration: none;
89
- vertical-align: middle;
90
- display: inline-block;
91
- padding: 2px 0 0 0;
92
- border-left: 1px solid #d0d0d0;
93
- -webkit-border-radius: 0 2px 2px 0;
94
- -moz-border-radius: 0 2px 2px 0;
95
- border-radius: 0 2px 2px 0;
96
- -webkit-box-sizing: border-box;
97
- -moz-box-sizing: border-box;
98
- box-sizing: border-box;
99
- }
100
- .selectize-control.plugin-remove_button [data-value] .remove:hover {
101
- background: rgba(0, 0, 0, 0.05);
102
- }
103
- .selectize-control.plugin-remove_button [data-value].active .remove {
104
- border-left-color: #cacaca;
105
- }
106
- .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover {
107
- background: none;
108
- }
109
- .selectize-control.plugin-remove_button .disabled [data-value] .remove {
110
- border-left-color: #ffffff;
111
- }
112
- .selectize-control.plugin-remove_button .remove-single {
113
- position: absolute;
114
- right: 0;
115
- top: 0;
116
- font-size: 23px;
117
- }
118
- .selectize-control {
119
- position: relative;
120
- }
121
- .selectize-dropdown,
122
- .selectize-input,
123
- .selectize-input input {
124
- color: #303030;
125
- font-family: inherit;
126
- font-size: 13px;
127
- line-height: 18px;
128
- -webkit-font-smoothing: inherit;
129
- }
130
- .selectize-input,
131
- .selectize-control.single .selectize-input.input-active {
132
- background: #fff;
133
- cursor: text;
134
- display: inline-block;
135
- }
136
- .selectize-input {
137
- border: 1px solid #d0d0d0;
138
- padding: 8px 8px;
139
- display: inline-block;
140
- width: 100%;
141
- overflow: hidden;
142
- position: relative;
143
- z-index: 1;
144
- -webkit-box-sizing: border-box;
145
- -moz-box-sizing: border-box;
146
- box-sizing: border-box;
147
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
148
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
149
- -webkit-border-radius: 3px;
150
- -moz-border-radius: 3px;
151
- border-radius: 3px;
152
- }
153
- .selectize-control.multi .selectize-input.has-items {
154
- padding: 6px 8px 3px;
155
- }
156
- .selectize-input.full {
157
- background-color: #fff;
158
- }
159
- .selectize-input.disabled,
160
- .selectize-input.disabled * {
161
- cursor: default !important;
162
- }
163
- .selectize-input.focus {
164
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
165
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
166
- }
167
- .selectize-input.dropdown-active {
168
- -webkit-border-radius: 3px 3px 0 0;
169
- -moz-border-radius: 3px 3px 0 0;
170
- border-radius: 3px 3px 0 0;
171
- }
172
- .selectize-input > * {
173
- vertical-align: baseline;
174
- display: -moz-inline-stack;
175
- display: inline-block;
176
- zoom: 1;
177
- *display: inline;
178
- }
179
- .selectize-control.multi .selectize-input > div {
180
- cursor: pointer;
181
- margin: 0 3px 3px 0;
182
- padding: 2px 6px;
183
- background: #f2f2f2;
184
- color: #303030;
185
- border: 0 solid #d0d0d0;
186
- }
187
- .selectize-control.multi .selectize-input > div.active {
188
- background: #e8e8e8;
189
- color: #303030;
190
- border: 0 solid #cacaca;
191
- }
192
- .selectize-control.multi .selectize-input.disabled > div,
193
- .selectize-control.multi .selectize-input.disabled > div.active {
194
- color: #7d7d7d;
195
- background: #ffffff;
196
- border: 0 solid #ffffff;
197
- }
198
- .selectize-input > input {
199
- display: inline-block !important;
200
- padding: 0 !important;
201
- min-height: 0 !important;
202
- max-height: none !important;
203
- max-width: 100% !important;
204
- margin: 0 2px 0 0 !important;
205
- text-indent: 0 !important;
206
- border: 0 none !important;
207
- background: none !important;
208
- line-height: inherit !important;
209
- -webkit-user-select: auto !important;
210
- -webkit-box-shadow: none !important;
211
- box-shadow: none !important;
212
- }
213
- .selectize-input > input::-ms-clear {
214
- display: none;
215
- }
216
- .selectize-input > input:focus {
217
- outline: none !important;
218
- }
219
- .selectize-input::after {
220
- content: ' ';
221
- display: block;
222
- clear: left;
223
- }
224
- .selectize-input.dropdown-active::before {
225
- content: ' ';
226
- display: block;
227
- position: absolute;
228
- background: #f0f0f0;
229
- height: 1px;
230
- bottom: 0;
231
- left: 0;
232
- right: 0;
233
- }
234
- .selectize-dropdown {
235
- position: absolute;
236
- z-index: 10;
237
- border: 1px solid #d0d0d0;
238
- background: #fff;
239
- margin: -1px 0 0 0;
240
- border-top: 0 none;
241
- -webkit-box-sizing: border-box;
242
- -moz-box-sizing: border-box;
243
- box-sizing: border-box;
244
- -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
245
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
246
- -webkit-border-radius: 0 0 3px 3px;
247
- -moz-border-radius: 0 0 3px 3px;
248
- border-radius: 0 0 3px 3px;
249
- }
250
- .selectize-dropdown [data-selectable] {
251
- cursor: pointer;
252
- overflow: hidden;
253
- }
254
- .selectize-dropdown [data-selectable] .highlight {
255
- background: rgba(125, 168, 208, 0.2);
256
- -webkit-border-radius: 1px;
257
- -moz-border-radius: 1px;
258
- border-radius: 1px;
259
- }
260
- .selectize-dropdown .option,
261
- .selectize-dropdown .optgroup-header {
262
- padding: 5px 8px;
263
- }
264
- .selectize-dropdown .option,
265
- .selectize-dropdown [data-disabled],
266
- .selectize-dropdown [data-disabled] [data-selectable].option {
267
- cursor: inherit;
268
- opacity: 0.5;
269
- }
270
- .selectize-dropdown [data-selectable].option {
271
- opacity: 1;
272
- }
273
- .selectize-dropdown .optgroup:first-child .optgroup-header {
274
- border-top: 0 none;
275
- }
276
- .selectize-dropdown .optgroup-header {
277
- color: #303030;
278
- background: #fff;
279
- cursor: default;
280
- }
281
- .selectize-dropdown .active {
282
- background-color: #f5fafd;
283
- color: #495c68;
284
- }
285
- .selectize-dropdown .active.create {
286
- color: #495c68;
287
- }
288
- .selectize-dropdown .create {
289
- color: rgba(48, 48, 48, 0.5);
290
- }
291
- .selectize-dropdown-content {
292
- overflow-y: auto;
293
- overflow-x: hidden;
294
- max-height: 200px;
295
- -webkit-overflow-scrolling: touch;
296
- }
297
- .selectize-control.single .selectize-input,
298
- .selectize-control.single .selectize-input input {
299
- cursor: pointer;
300
- }
301
- .selectize-control.single .selectize-input.input-active,
302
- .selectize-control.single .selectize-input.input-active input {
303
- cursor: text;
304
- }
305
- .selectize-control.single .selectize-input:after {
306
- content: ' ';
307
- display: block;
308
- position: absolute;
309
- top: 50%;
310
- right: 15px;
311
- margin-top: -3px;
312
- width: 0;
313
- height: 0;
314
- border-style: solid;
315
- border-width: 5px 5px 0 5px;
316
- border-color: #808080 transparent transparent transparent;
317
- }
318
- .selectize-control.single .selectize-input.dropdown-active:after {
319
- margin-top: -4px;
320
- border-width: 0 5px 5px 5px;
321
- border-color: transparent transparent #808080 transparent;
322
- }
323
- .selectize-control.rtl.single .selectize-input:after {
324
- left: 15px;
325
- right: auto;
326
- }
327
- .selectize-control.rtl .selectize-input > input {
328
- margin: 0 4px 0 -2px !important;
329
- }
330
- .selectize-control .selectize-input.disabled {
331
- opacity: 0.5;
332
- background-color: #fafafa;
333
- }
1
+ /**
2
+ * selectize.css (v0.12.6)
3
+ * Copyright (c) 2013–2015 Brian Reavis & contributors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
+ * file except in compliance with the License. You may obtain a copy of the License at:
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ * ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ *
14
+ * @author Brian Reavis <brian@thirdroute.com>
15
+ */
16
+
17
+ .selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder {
18
+ visibility: visible !important;
19
+ background: #f2f2f2 !important;
20
+ background: rgba(0, 0, 0, 0.06) !important;
21
+ border: 0 none !important;
22
+ -webkit-box-shadow: inset 0 0 12px 4px #fff;
23
+ box-shadow: inset 0 0 12px 4px #fff;
24
+ }
25
+ .selectize-control.plugin-drag_drop .ui-sortable-placeholder::after {
26
+ content: '!';
27
+ visibility: hidden;
28
+ }
29
+ .selectize-control.plugin-drag_drop .ui-sortable-helper {
30
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
31
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
32
+ }
33
+ .selectize-dropdown-header {
34
+ position: relative;
35
+ padding: 5px 8px;
36
+ border-bottom: 1px solid #d0d0d0;
37
+ background: #f8f8f8;
38
+ -webkit-border-radius: 3px 3px 0 0;
39
+ -moz-border-radius: 3px 3px 0 0;
40
+ border-radius: 3px 3px 0 0;
41
+ }
42
+ .selectize-dropdown-header-close {
43
+ position: absolute;
44
+ right: 8px;
45
+ top: 50%;
46
+ color: #303030;
47
+ opacity: 0.4;
48
+ margin-top: -12px;
49
+ line-height: 20px;
50
+ font-size: 20px !important;
51
+ }
52
+ .selectize-dropdown-header-close:hover {
53
+ color: #000000;
54
+ }
55
+ .selectize-dropdown.plugin-optgroup_columns .optgroup {
56
+ border-right: 1px solid #f2f2f2;
57
+ border-top: 0 none;
58
+ float: left;
59
+ -webkit-box-sizing: border-box;
60
+ -moz-box-sizing: border-box;
61
+ box-sizing: border-box;
62
+ }
63
+ .selectize-dropdown.plugin-optgroup_columns .optgroup:last-child {
64
+ border-right: 0 none;
65
+ }
66
+ .selectize-dropdown.plugin-optgroup_columns .optgroup:before {
67
+ display: none;
68
+ }
69
+ .selectize-dropdown.plugin-optgroup_columns .optgroup-header {
70
+ border-top: 0 none;
71
+ }
72
+ .selectize-control.plugin-remove_button [data-value] {
73
+ position: relative;
74
+ padding-right: 24px !important;
75
+ }
76
+ .selectize-control.plugin-remove_button [data-value] .remove {
77
+ z-index: 1;
78
+ /* fixes ie bug (see #392) */
79
+ position: absolute;
80
+ top: 0;
81
+ right: 0;
82
+ bottom: 0;
83
+ width: 17px;
84
+ text-align: center;
85
+ font-weight: bold;
86
+ font-size: 12px;
87
+ color: inherit;
88
+ text-decoration: none;
89
+ vertical-align: middle;
90
+ display: inline-block;
91
+ padding: 2px 0 0 0;
92
+ border-left: 1px solid #d0d0d0;
93
+ -webkit-border-radius: 0 2px 2px 0;
94
+ -moz-border-radius: 0 2px 2px 0;
95
+ border-radius: 0 2px 2px 0;
96
+ -webkit-box-sizing: border-box;
97
+ -moz-box-sizing: border-box;
98
+ box-sizing: border-box;
99
+ }
100
+ .selectize-control.plugin-remove_button [data-value] .remove:hover {
101
+ background: rgba(0, 0, 0, 0.05);
102
+ }
103
+ .selectize-control.plugin-remove_button [data-value].active .remove {
104
+ border-left-color: #cacaca;
105
+ }
106
+ .selectize-control.plugin-remove_button .disabled [data-value] .remove:hover {
107
+ background: none;
108
+ }
109
+ .selectize-control.plugin-remove_button .disabled [data-value] .remove {
110
+ border-left-color: #ffffff;
111
+ }
112
+ .selectize-control.plugin-remove_button .remove-single {
113
+ position: absolute;
114
+ right: 0;
115
+ top: 0;
116
+ font-size: 23px;
117
+ }
118
+ .selectize-control {
119
+ position: relative;
120
+ }
121
+ .selectize-dropdown,
122
+ .selectize-input,
123
+ .selectize-input input {
124
+ color: #303030;
125
+ font-family: inherit;
126
+ font-size: 13px;
127
+ line-height: 18px;
128
+ -webkit-font-smoothing: inherit;
129
+ }
130
+ .selectize-input,
131
+ .selectize-control.single .selectize-input.input-active {
132
+ background: #fff;
133
+ cursor: text;
134
+ display: inline-block;
135
+ }
136
+ .selectize-input {
137
+ border: 1px solid #d0d0d0;
138
+ padding: 8px 8px;
139
+ display: inline-block;
140
+ width: 100%;
141
+ overflow: hidden;
142
+ position: relative;
143
+ z-index: 1;
144
+ -webkit-box-sizing: border-box;
145
+ -moz-box-sizing: border-box;
146
+ box-sizing: border-box;
147
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
148
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
149
+ -webkit-border-radius: 3px;
150
+ -moz-border-radius: 3px;
151
+ border-radius: 3px;
152
+ }
153
+ .selectize-control.multi .selectize-input.has-items {
154
+ padding: 6px 8px 3px;
155
+ }
156
+ .selectize-input.full {
157
+ background-color: #fff;
158
+ }
159
+ .selectize-input.disabled,
160
+ .selectize-input.disabled * {
161
+ cursor: default !important;
162
+ }
163
+ .selectize-input.focus {
164
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
165
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
166
+ }
167
+ .selectize-input.dropdown-active {
168
+ -webkit-border-radius: 3px 3px 0 0;
169
+ -moz-border-radius: 3px 3px 0 0;
170
+ border-radius: 3px 3px 0 0;
171
+ }
172
+ .selectize-input > * {
173
+ vertical-align: baseline;
174
+ display: -moz-inline-stack;
175
+ display: inline-block;
176
+ zoom: 1;
177
+ *display: inline;
178
+ }
179
+ .selectize-control.multi .selectize-input > div {
180
+ cursor: pointer;
181
+ margin: 0 3px 3px 0;
182
+ padding: 2px 6px;
183
+ background: #f2f2f2;
184
+ color: #303030;
185
+ border: 0 solid #d0d0d0;
186
+ }
187
+ .selectize-control.multi .selectize-input > div.active {
188
+ background: #e8e8e8;
189
+ color: #303030;
190
+ border: 0 solid #cacaca;
191
+ }
192
+ .selectize-control.multi .selectize-input.disabled > div,
193
+ .selectize-control.multi .selectize-input.disabled > div.active {
194
+ color: #7d7d7d;
195
+ background: #ffffff;
196
+ border: 0 solid #ffffff;
197
+ }
198
+ .selectize-input > input {
199
+ display: inline-block !important;
200
+ padding: 0 !important;
201
+ min-height: 0 !important;
202
+ max-height: none !important;
203
+ max-width: 100% !important;
204
+ margin: 0 2px 0 0 !important;
205
+ text-indent: 0 !important;
206
+ border: 0 none !important;
207
+ background: none !important;
208
+ line-height: inherit !important;
209
+ -webkit-user-select: auto !important;
210
+ -webkit-box-shadow: none !important;
211
+ box-shadow: none !important;
212
+ }
213
+ .selectize-input > input::-ms-clear {
214
+ display: none;
215
+ }
216
+ .selectize-input > input:focus {
217
+ outline: none !important;
218
+ }
219
+ .selectize-input::after {
220
+ content: ' ';
221
+ display: block;
222
+ clear: left;
223
+ }
224
+ .selectize-input.dropdown-active::before {
225
+ content: ' ';
226
+ display: block;
227
+ position: absolute;
228
+ background: #f0f0f0;
229
+ height: 1px;
230
+ bottom: 0;
231
+ left: 0;
232
+ right: 0;
233
+ }
234
+ .selectize-dropdown {
235
+ position: absolute;
236
+ z-index: 10;
237
+ border: 1px solid #d0d0d0;
238
+ background: #fff;
239
+ margin: -1px 0 0 0;
240
+ border-top: 0 none;
241
+ -webkit-box-sizing: border-box;
242
+ -moz-box-sizing: border-box;
243
+ box-sizing: border-box;
244
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
245
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
246
+ -webkit-border-radius: 0 0 3px 3px;
247
+ -moz-border-radius: 0 0 3px 3px;
248
+ border-radius: 0 0 3px 3px;
249
+ }
250
+ .selectize-dropdown [data-selectable] {
251
+ cursor: pointer;
252
+ overflow: hidden;
253
+ }
254
+ .selectize-dropdown [data-selectable] .highlight {
255
+ background: rgba(125, 168, 208, 0.2);
256
+ -webkit-border-radius: 1px;
257
+ -moz-border-radius: 1px;
258
+ border-radius: 1px;
259
+ }
260
+ .selectize-dropdown .option,
261
+ .selectize-dropdown .optgroup-header {
262
+ padding: 5px 8px;
263
+ }
264
+ .selectize-dropdown .option,
265
+ .selectize-dropdown [data-disabled],
266
+ .selectize-dropdown [data-disabled] [data-selectable].option {
267
+ cursor: inherit;
268
+ opacity: 0.5;
269
+ }
270
+ .selectize-dropdown [data-selectable].option {
271
+ opacity: 1;
272
+ }
273
+ .selectize-dropdown .optgroup:first-child .optgroup-header {
274
+ border-top: 0 none;
275
+ }
276
+ .selectize-dropdown .optgroup-header {
277
+ color: #303030;
278
+ background: #fff;
279
+ cursor: default;
280
+ }
281
+ .selectize-dropdown .active {
282
+ background-color: #f5fafd;
283
+ color: #495c68;
284
+ }
285
+ .selectize-dropdown .active.create {
286
+ color: #495c68;
287
+ }
288
+ .selectize-dropdown .create {
289
+ color: rgba(48, 48, 48, 0.5);
290
+ }
291
+ .selectize-dropdown-content {
292
+ overflow-y: auto;
293
+ overflow-x: hidden;
294
+ max-height: 200px;
295
+ -webkit-overflow-scrolling: touch;
296
+ }
297
+ .selectize-control.single .selectize-input,
298
+ .selectize-control.single .selectize-input input {
299
+ cursor: pointer;
300
+ }
301
+ .selectize-control.single .selectize-input.input-active,
302
+ .selectize-control.single .selectize-input.input-active input {
303
+ cursor: text;
304
+ }
305
+ .selectize-control.single .selectize-input:after {
306
+ content: ' ';
307
+ display: block;
308
+ position: absolute;
309
+ top: 50%;
310
+ right: 15px;
311
+ margin-top: -3px;
312
+ width: 0;
313
+ height: 0;
314
+ border-style: solid;
315
+ border-width: 5px 5px 0 5px;
316
+ border-color: #808080 transparent transparent transparent;
317
+ }
318
+ .selectize-control.single .selectize-input.dropdown-active:after {
319
+ margin-top: -4px;
320
+ border-width: 0 5px 5px 5px;
321
+ border-color: transparent transparent #808080 transparent;
322
+ }
323
+ .selectize-control.rtl.single .selectize-input:after {
324
+ left: 15px;
325
+ right: auto;
326
+ }
327
+ .selectize-control.rtl .selectize-input > input {
328
+ margin: 0 4px 0 -2px !important;
329
+ }
330
+ .selectize-control .selectize-input.disabled {
331
+ opacity: 0.5;
332
+ background-color: #fafafa;
333
+ }
admin/css/selectize.min.css CHANGED
@@ -1,16 +1,16 @@
1
- /**
2
- * selectize.css (v0.12.6)
3
- * Copyright (c) 2013–2015 Brian Reavis & contributors
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
- * file except in compliance with the License. You may obtain a copy of the License at:
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software distributed under
10
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
- * ANY KIND, either express or implied. See the License for the specific language
12
- * governing permissions and limitations under the License.
13
- *
14
- * @author Brian Reavis <brian@thirdroute.com>
15
- */
16
  .selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:8px;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input > *{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.selectize-control.multi .selectize-input > div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input > div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled > div,.selectize-control.multi .selectize-input.disabled > div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.selectize-input > input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0 !important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;-webkit-user-select:auto!important;-webkit-box-shadow:none!important;box-shadow:none!important}.selectize-input > input::-ms-clear{display:none}.selectize-input > input:focus{outline:none!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header{padding:5px 8px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#f5fafd;color:#495c68}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,0.5)}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0;border-color:gray transparent transparent}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent gray}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input > input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}
1
+ /**
2
+ * selectize.css (v0.12.6)
3
+ * Copyright (c) 2013–2015 Brian Reavis & contributors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
6
+ * file except in compliance with the License. You may obtain a copy of the License at:
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ * ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ *
14
+ * @author Brian Reavis <brian@thirdroute.com>
15
+ */
16
  .selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:5px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:700;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 0 0;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:none}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#fff}.selectize-control.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;-webkit-font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:8px;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.selectize-control.multi .selectize-input.has-items{padding:6px 8px 3px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input > *{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.selectize-control.multi .selectize-input > div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input > div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled > div,.selectize-control.multi .selectize-input.disabled > div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.selectize-input > input{display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0 2px 0 0 !important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;-webkit-user-select:auto!important;-webkit-box-shadow:none!important;box-shadow:none!important}.selectize-input > input::-ms-clear{display:none}.selectize-input > input:focus{outline:none!important}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header{padding:5px 8px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#f5fafd;color:#495c68}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .create{color:rgba(48,48,48,0.5)}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0;border-color:gray transparent transparent}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px;border-color:transparent transparent gray}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input > input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}
admin/css/slick-theme.css CHANGED
@@ -1,204 +1,204 @@
1
- @charset 'UTF-8';
2
- /* Slider */
3
- .slick-loading .slick-list
4
- {
5
- background: #fff url('../images/ajax-loader.gif') center center no-repeat;
6
- }
7
-
8
- /* Icons */
9
- @font-face
10
- {
11
- font-family: 'slick';
12
- font-weight: normal;
13
- font-style: normal;
14
-
15
- src: url('../fonts/slick.eot');
16
- src: url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg');
17
- }
18
- /* Arrows */
19
- .slick-prev,
20
- .slick-next
21
- {
22
- font-size: 0;
23
- line-height: 0;
24
-
25
- position: absolute;
26
- top: 50%;
27
-
28
- display: block;
29
-
30
- width: 20px;
31
- height: 20px;
32
- padding: 0;
33
- -webkit-transform: translate(0, -50%);
34
- -ms-transform: translate(0, -50%);
35
- transform: translate(0, -50%);
36
-
37
- cursor: pointer;
38
-
39
- color: transparent;
40
- border: none;
41
- outline: none;
42
- background: transparent;
43
- }
44
- .slick-prev:hover,
45
- .slick-prev:focus,
46
- .slick-next:hover,
47
- .slick-next:focus
48
- {
49
- color: transparent;
50
- outline: none;
51
- background: transparent;
52
- }
53
- .slick-prev:hover:before,
54
- .slick-prev:focus:before,
55
- .slick-next:hover:before,
56
- .slick-next:focus:before
57
- {
58
- opacity: 1;
59
- }
60
- .slick-prev.slick-disabled:before,
61
- .slick-next.slick-disabled:before
62
- {
63
- opacity: .25;
64
- }
65
-
66
- .slick-prev:before,
67
- .slick-next:before
68
- {
69
- font-family: 'slick';
70
- font-size: 20px;
71
- line-height: 1;
72
-
73
- opacity: .75;
74
- color: white;
75
-
76
- -webkit-font-smoothing: antialiased;
77
- -moz-osx-font-smoothing: grayscale;
78
- }
79
-
80
- .slick-prev
81
- {
82
- left: -25px;
83
- }
84
- [dir='rtl'] .slick-prev
85
- {
86
- right: -25px;
87
- left: auto;
88
- }
89
- .slick-prev:before
90
- {
91
- content: '←';
92
- }
93
- [dir='rtl'] .slick-prev:before
94
- {
95
- content: '→';
96
- }
97
-
98
- .slick-next
99
- {
100
- right: -25px;
101
- }
102
- [dir='rtl'] .slick-next
103
- {
104
- right: auto;
105
- left: -25px;
106
- }
107
- .slick-next:before
108
- {
109
- content: '→';
110
- }
111
- [dir='rtl'] .slick-next:before
112
- {
113
- content: '←';
114
- }
115
-
116
- /* Dots */
117
- .slick-dotted.slick-slider
118
- {
119
- margin-bottom: 30px;
120
- }
121
-
122
- .slick-dots
123
- {
124
- position: absolute;
125
- bottom: -25px;
126
-
127
- display: block;
128
-
129
- width: 100%;
130
- padding: 0;
131
- margin: 0;
132
-
133
- list-style: none;
134
-
135
- text-align: center;
136
- }
137
- .slick-dots li
138
- {
139
- position: relative;
140
-
141
- display: inline-block;
142
-
143
- width: 20px;
144
- height: 20px;
145
- margin: 0 5px;
146
- padding: 0;
147
-
148
- cursor: pointer;
149
- }
150
- .slick-dots li button
151
- {
152
- font-size: 0;
153
- line-height: 0;
154
-
155
- display: block;
156
-
157
- width: 20px;
158
- height: 20px;
159
- padding: 5px;
160
-
161
- cursor: pointer;
162
-
163
- color: transparent;
164
- border: 0;
165
- outline: none;
166
- background: transparent;
167
- }
168
- .slick-dots li button:hover,
169
- .slick-dots li button:focus
170
- {
171
- outline: none;
172
- }
173
- .slick-dots li button:hover:before,
174
- .slick-dots li button:focus:before
175
- {
176
- opacity: 1;
177
- }
178
- .slick-dots li button:before
179
- {
180
- font-family: 'slick';
181
- font-size: 6px;
182
- line-height: 20px;
183
-
184
- position: absolute;
185
- top: 0;
186
- left: 0;
187
-
188
- width: 20px;
189
- height: 20px;
190
-
191
- content: '•';
192
- text-align: center;
193
-
194
- opacity: .25;
195
- color: black;
196
-
197
- -webkit-font-smoothing: antialiased;
198
- -moz-osx-font-smoothing: grayscale;
199
- }
200
- .slick-dots li.slick-active button:before
201
- {
202
- opacity: .75;
203
- color: black;
204
- }
1
+ @charset 'UTF-8';
2
+ /* Slider */
3
+ .slick-loading .slick-list
4
+ {
5
+ background: #fff url('../images/ajax-loader.gif') center center no-repeat;
6
+ }
7
+
8
+ /* Icons */
9
+ @font-face
10
+ {
11
+ font-family: 'slick';
12
+ font-weight: normal;
13
+ font-style: normal;
14
+
15
+ src: url('../fonts/slick.eot');
16
+ src: url('../fonts/slick.eot?#iefix') format('embedded-opentype'), url('../fonts/slick.woff') format('woff'), url('../fonts/slick.ttf') format('truetype'), url('../fonts/slick.svg#slick') format('svg');
17
+ }
18
+ /* Arrows */
19
+ .slick-prev,
20
+ .slick-next
21
+ {
22
+ font-size: 0;
23
+ line-height: 0;
24
+
25
+ position: absolute;
26
+ top: 50%;
27
+
28
+ display: block;
29
+
30
+ width: 20px;
31
+ height: 20px;
32
+ padding: 0;
33
+ -webkit-transform: translate(0, -50%);
34
+ -ms-transform: translate(0, -50%);
35
+ transform: translate(0, -50%);
36
+
37
+ cursor: pointer;
38
+
39
+ color: transparent;
40
+ border: none;
41
+ outline: none;
42
+ background: transparent;
43
+ }
44
+ .slick-prev:hover,
45
+ .slick-prev:focus,
46
+ .slick-next:hover,
47
+ .slick-next:focus
48
+ {
49
+ color: transparent;
50
+ outline: none;
51
+ background: transparent;
52
+ }
53
+ .slick-prev:hover:before,
54
+ .slick-prev:focus:before,
55
+ .slick-next:hover:before,
56
+ .slick-next:focus:before
57
+ {
58
+ opacity: 1;
59
+ }
60
+ .slick-prev.slick-disabled:before,
61
+ .slick-next.slick-disabled:before
62
+ {
63
+ opacity: .25;
64
+ }
65
+
66
+ .slick-prev:before,
67
+ .slick-next:before
68
+ {
69
+ font-family: 'slick';
70
+ font-size: 20px;
71
+ line-height: 1;
72
+
73
+ opacity: .75;
74
+ color: white;
75
+
76
+ -webkit-font-smoothing: antialiased;
77
+ -moz-osx-font-smoothing: grayscale;
78
+ }
79
+
80
+ .slick-prev
81
+ {
82
+ left: -25px;
83
+ }
84
+ [dir='rtl'] .slick-prev
85
+ {
86
+ right: -25px;
87
+ left: auto;
88
+ }
89
+ .slick-prev:before
90
+ {
91
+ content: '←';
92
+ }
93
+ [dir='rtl'] .slick-prev:before
94
+ {
95
+ content: '→';
96
+ }
97
+
98
+ .slick-next
99
+ {
100
+ right: -25px;
101
+ }
102
+ [dir='rtl'] .slick-next
103
+ {
104
+ right: auto;
105
+ left: -25px;
106
+ }
107
+ .slick-next:before
108
+ {
109
+ content: '→';
110
+ }
111
+ [dir='rtl'] .slick-next:before
112
+ {
113
+ content: '←';
114
+ }
115
+
116
+ /* Dots */
117
+ .slick-dotted.slick-slider
118
+ {
119
+ margin-bottom: 30px;
120
+ }
121
+
122
+ .slick-dots
123
+ {
124
+ position: absolute;
125
+ bottom: -25px;
126
+
127
+ display: block;
128
+
129
+ width: 100%;
130
+ padding: 0;
131
+ margin: 0;
132
+
133
+ list-style: none;
134
+
135
+ text-align: center;
136
+ }
137
+ .slick-dots li
138
+ {
139
+ position: relative;
140
+
141
+ display: inline-block;
142
+
143
+ width: 20px;
144
+ height: 20px;
145
+ margin: 0 5px;
146
+ padding: 0;
147
+
148
+ cursor: pointer;
149
+ }
150
+ .slick-dots li button
151
+ {
152
+ font-size: 0;
153
+ line-height: 0;
154
+
155
+ display: block;
156
+
157
+ width: 20px;
158
+ height: 20px;
159
+ padding: 5px;
160
+
161
+ cursor: pointer;
162
+
163
+ color: transparent;
164
+ border: 0;
165
+ outline: none;
166
+ background: transparent;
167
+ }
168
+ .slick-dots li button:hover,
169
+ .slick-dots li button:focus
170
+ {
171
+ outline: none;
172
+ }
173
+ .slick-dots li button:hover:before,
174
+ .slick-dots li button:focus:before
175
+ {
176
+ opacity: 1;
177
+ }
178
+ .slick-dots li button:before
179
+ {
180
+ font-family: 'slick';
181
+ font-size: 6px;
182
+ line-height: 20px;
183
+
184
+ position: absolute;
185
+ top: 0;
186
+ left: 0;
187
+
188
+ width: 20px;
189
+ height: 20px;
190
+
191
+ content: '•';
192
+ text-align: center;
193
+
194
+ opacity: .25;
195
+ color: black;
196
+
197
+ -webkit-font-smoothing: antialiased;
198
+ -moz-osx-font-smoothing: grayscale;
199
+ }
200
+ .slick-dots li.slick-active button:before
201
+ {
202
+ opacity: .75;
203
+ color: black;
204
+ }
admin/css/slick.css CHANGED
@@ -1,119 +1,119 @@
1
- /* Slider */
2
- .slick-slider
3
- {
4
- position: relative;
5
-
6
- display: block;
7
- box-sizing: border-box;
8
-
9
- -webkit-user-select: none;
10
- -moz-user-select: none;
11
- -ms-user-select: none;
12
- user-select: none;
13
-
14
- -webkit-touch-callout: none;
15
- -khtml-user-select: none;
16
- -ms-touch-action: pan-y;
17
- touch-action: pan-y;
18
- -webkit-tap-highlight-color: transparent;
19
- }
20
-
21
- .slick-list
22
- {
23
- position: relative;
24
-
25
- display: block;
26
- overflow: hidden;
27
-
28
- margin: 0;
29
- padding: 0;
30
- }
31
- .slick-list:focus
32
- {
33
- outline: none;
34
- }
35
- .slick-list.dragging
36
- {
37
- cursor: pointer;
38
- cursor: hand;
39
- }
40
-
41
- .slick-slider .slick-track,
42
- .slick-slider .slick-list
43
- {
44
- -webkit-transform: translate3d(0, 0, 0);
45
- -moz-transform: translate3d(0, 0, 0);
46
- -ms-transform: translate3d(0, 0, 0);
47
- -o-transform: translate3d(0, 0, 0);
48
- transform: translate3d(0, 0, 0);
49
- }
50
-
51
- .slick-track
52
- {
53
- position: relative;
54
- top: 0;
55
- left: 0;
56
-
57
- display: block;
58
- margin-left: auto;
59
- margin-right: auto;
60
- }
61
- .slick-track:before,
62
- .slick-track:after
63
- {
64
- display: table;
65
-
66
- content: '';
67
- }
68
- .slick-track:after
69
- {
70
- clear: both;
71
- }
72
- .slick-loading .slick-track
73
- {
74
- visibility: hidden;
75
- }
76
-
77
- .slick-slide
78
- {
79
- display: none;
80
- float: left;
81
-
82
- height: 100%;
83
- min-height: 1px;
84
- }
85
- [dir='rtl'] .slick-slide
86
- {
87
- float: right;
88
- }
89
- .slick-slide img
90
- {
91
- display: block;
92
- }
93
- .slick-slide.slick-loading img
94
- {
95
- display: none;
96
- }
97
- .slick-slide.dragging img
98
- {
99
- pointer-events: none;
100
- }
101
- .slick-initialized .slick-slide
102
- {
103
- display: block;
104
- }
105
- .slick-loading .slick-slide
106
- {
107
- visibility: hidden;
108
- }
109
- .slick-vertical .slick-slide
110
- {
111
- display: block;
112
-
113
- height: auto;
114
-
115
- border: 1px solid transparent;
116
- }
117
- .slick-arrow.slick-hidden {
118
- display: none;
119
- }
1
+ /* Slider */
2
+ .slick-slider
3
+ {
4
+ position: relative;
5
+
6
+ display: block;
7
+ box-sizing: border-box;
8
+
9
+ -webkit-user-select: none;
10
+ -moz-user-select: none;
11
+ -ms-user-select: none;
12
+ user-select: none;
13
+
14
+ -webkit-touch-callout: none;
15
+ -khtml-user-select: none;
16
+ -ms-touch-action: pan-y;
17
+ touch-action: pan-y;
18
+ -webkit-tap-highlight-color: transparent;
19
+ }
20
+
21
+ .slick-list
22
+ {
23
+ position: relative;
24
+
25
+ display: block;
26
+ overflow: hidden;
27
+
28
+ margin: 0;
29
+ padding: 0;
30
+ }
31
+ .slick-list:focus
32
+ {
33
+ outline: none;
34
+ }
35
+ .slick-list.dragging
36
+ {
37
+ cursor: pointer;
38
+ cursor: hand;
39
+ }
40
+
41
+ .slick-slider .slick-track,
42
+ .slick-slider .slick-list
43
+ {
44
+ -webkit-transform: translate3d(0, 0, 0);
45
+ -moz-transform: translate3d(0, 0, 0);
46
+ -ms-transform: translate3d(0, 0, 0);
47
+ -o-transform: translate3d(0, 0, 0);
48
+ transform: translate3d(0, 0, 0);
49
+ }
50
+
51
+ .slick-track
52
+ {
53
+ position: relative;
54
+ top: 0;
55
+ left: 0;
56
+
57
+ display: block;
58
+ margin-left: auto;
59
+ margin-right: auto;
60
+ }
61
+ .slick-track:before,
62
+ .slick-track:after
63
+ {
64
+ display: table;
65
+
66
+ content: '';
67
+ }
68
+ .slick-track:after
69
+ {
70
+ clear: both;
71
+ }
72
+ .slick-loading .slick-track
73
+ {
74
+ visibility: hidden;
75
+ }
76
+
77
+ .slick-slide
78
+ {
79
+ display: none;
80
+ float: left;
81
+
82
+ height: 100%;
83
+ min-height: 1px;
84
+ }
85
+ [dir='rtl'] .slick-slide
86
+ {
87
+ float: right;
88
+ }
89
+ .slick-slide img
90
+ {
91
+ display: block;
92
+ }
93
+ .slick-slide.slick-loading img
94
+ {
95
+ display: none;
96
+ }
97
+ .slick-slide.dragging img
98
+ {
99
+ pointer-events: none;
100
+ }
101
+ .slick-initialized .slick-slide
102
+ {
103
+ display: block;
104
+ }
105
+ .slick-loading .slick-slide
106
+ {
107
+ visibility: hidden;
108
+ }
109
+ .slick-vertical .slick-slide
110
+ {
111
+ display: block;
112
+
113
+ height: auto;
114
+
115
+ border: 1px solid transparent;
116
+ }
117
+ .slick-arrow.slick-hidden {
118
+ display: none;
119
+ }
admin/css/woo-feed-admin-pro.css CHANGED
@@ -1,632 +1,632 @@
1
- table.wf-info-table th a,
2
- table.wf-rate-table th strong {
3
- font-weight: bold; }
4
-
5
- table.wf-info-table th a,
6
- table.wf-rate-table a {
7
- color: #0073aa; }
8
-
9
- table.wf-info-table th a.get-woo-feed-pro {
10
- display: inline-block;
11
- text-decoration: none;
12
- background: #f3f5f6;
13
- color: #ff3355;
14
- vertical-align: top;
15
- font-size: 14px;
16
- line-height: 3.14285714;
17
- box-sizing: border-box;
18
- margin: 0;
19
- border-radius: 35px;
20
- box-shadow: 1px 2px 10px 1px rgba(255, 51, 85, 0.5); }
21
-
22
- table.wf-info-table th a.get-woo-feed-pro img {
23
- display: block;
24
- position: relative;
25
- margin: -2px;
26
- width: 180px;
27
- height: auto; }
28
-
29
- table.wf-info-table th a.button {
30
- border-color: #0073aa;
31
- border-radius: 35px; }
32
-
33
- table.wf-info-table th a.documentation {
34
- color: #0073aa; }
35
-
36
- table.wf-info-table th a.tutorial {
37
- color: #ee264a; }
38
-
39
- table.wf-info-table th a.support {
40
- color: #0DD41E; }
41
-
42
- /**
43
- * Premium Page Design
44
- */
45
- .wp-submenu li span.woo-feed-premium {
46
- font-weight: bold;
47
- color: #28e499; }
48
-
49
- .wp-submenu li:hover span.woo-feed-premium,
50
- .wp-submenu li.current span.woo-feed-premium {
51
- color: #1dc381; }
52
-
53
- .woo_feed_free_manage_attribute {
54
- margin: 0 auto;
55
- width: 100%; }
56
-
57
- .woo_feed_screenshort {
58
- max-width: 100%;
59
- width: 1000px;
60
- border: 3px solid #00b9eb;
61
- display: block;
62
- margin: 0 auto; }
63
-
64
- .woo-feed-screen-shot-title {
65
- font-size: 36px;
66
- text-align: center;
67
- box-sizing: content-box;
68
- color: #00b9eb; }
69
-
70
- .woo_feed_screen {
71
- background: #fff;
72
- padding: 25px 20px;
73
- margin-bottom: 20px; }
74
-
75
- .woo_feed_screen_des {
76
- text-align: center;
77
- margin: 20px 50px 20px 50px;
78
- font-size: 16px;
79
- color: #666; }
80
-
81
- .woo_feed_screen_des_2 {
82
- text-align: center;
83
- margin: 20px 50px 5px 50px;
84
- font-size: 14px;
85
- color: #32373c; }
86
-
87
- .wapk-admin .wapk-feed-upgrade {
88
- font-family: 'Open Sans', sans-serif;
89
- margin: -10px -20px 0 -22px; }
90
-
91
- .wapk-admin .wapk-feed-upgrade a {
92
- transition: all 0.2s ease; }
93
-
94
- .wapk-admin .section-title {
95
- text-align: center;
96
- font-size: 30px;
97
- line-height: 1.5em;
98
- font-weight: 400;
99
- position: relative;
100
- margin: 0 0 58px; }
101
-
102
- .wapk-admin .section-title:after {
103
- content: '';
104
- position: absolute;
105
- bottom: -21px;
106
- left: 50%;
107
- -webkit-transform: translateX(-50%);
108
- transform: translateX(-50%);
109
- width: 38px;
110
- height: 5px;
111
- border-radius: 3px;
112
- background-color: #00D4D4; }
113
-
114
- .wapk-admin .section-title .section-sub-title {
115
- font-size: 22px;
116
- font-weight: 300; }
117
-
118
- .wapk-admin .wapk-banner {
119
- background-color: #f2f2f2;
120
- font-size: 16px;
121
- display: -ms-flexbox;
122
- display: flex;
123
- -ms-flex-align: center;
124
- align-items: center;
125
- padding: 50px 8%;
126
- border-bottom: 1px solid #eee; }
127
-
128
- .wapk-admin .wapk-banner .wapk-banner__graphics {
129
- width: 100%; }
130
-
131
- .wapk-admin .wapk-banner .wapk-banner__content h1 {
132
- font-size: 27px;
133
- line-height: 1.5em; }
134
-
135
- .wapk-admin .wapk-banner .wapk-banner__content p {
136
- font-size: 16px;
137
- line-height: 1.5em;
138
- font-weight: 300;
139
- margin: 0;
140
- /*noinspection CssFloatPxLength*/
141
- letter-spacing: 0.5px; }
142
-
143
- .wapk-admin .feed-features,
144
- .wapk-admin .wapk-testimonial,
145
- .wapk-admin .feed-pricing {
146
- text-align: center;
147
- padding: 75px 30px 85px;
148
- background-color: #f7f8f9; }
149
-
150
- .wapk-admin .feed-features .feed-feature__list {
151
- display: -ms-flexbox;
152
- display: flex;
153
- -ms-flex-wrap: wrap;
154
- flex-wrap: wrap;
155
- -ms-flex-align: start;
156
- align-items: flex-start;
157
- -ms-flex-pack: center;
158
- justify-content: center; }
159
-
160
- .wapk-admin .feed-features .feed-features__more {
161
- margin-top: 25px; }
162
-
163
- .feed-feature__item {
164
- -ms-flex: 0 0 28.9%;
165
- flex: 0 0 28.9%;
166
- margin: 0 2.2% 4.4% 2.2%;
167
- text-align: center;
168
- border-radius: 5px;
169
- background-color: #ffffff;
170
- transition: all 100ms linear;
171
- overflow: hidden; }
172
-
173
- .feed-feature__item:hover {
174
- box-shadow: 5px 4px 32px -16px rgba(0, 0, 0, 0.63); }
175
-
176
- .feed-feature__thumb {
177
- overflow: hidden; }
178
-
179
- .feed-feature__item .feed-feature__thumb img {
180
- border-radius: 5px 5px 0 0;
181
- max-width: 100%;
182
- width: 100%;
183
- transition: all 100ms linear; }
184
-
185
- .feed-feature__item:hover .feed-feature__thumb img {
186
- -webkit-transform: scale(1.05);
187
- transform: scale(1.05); }
188
-
189
- .feed-feature__item .feed-feature__description {
190
- padding: 20px 15px 25px; }
191
-
192
- .feed-feature__item .feed-feature__description h3 {
193
- font-size: 15px;
194
- line-height: 1.5em;
195
- font-weight: 300;
196
- margin: 0; }
197
-
198
- .wapk-admin .feed-pro-comparison {
199
- background-color: #f1f1f1;
200
- padding: 75px; }
201
-
202
- .wapk-admin .feed-features .section-title h2,
203
- .wapk-admin .wapk-testimonial .section-title h2,
204
- .wapk-admin .feed-pro-comparison .section-title h2,
205
- .wapk-admin .feed-pricing .section-title h2 {
206
- margin-top: 0;
207
- margin-bottom: 0; }
208
-
209
- .wapk-admin .comparison-table {
210
- display: -ms-flexbox;
211
- display: flex;
212
- -ms-flex-pack: justify;
213
- justify-content: space-between; }
214
-
215
- .wapk-admin .comparison-table .comparison {
216
- -ms-flex: 0 0 48%;
217
- flex: 0 0 48%;
218
- background-color: #fff;
219
- border: 1px solid #e0e9ec;
220
- border-radius: 5px;
221
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
222
- padding: 50px;
223
- box-sizing: border-box; }
224
-
225
- .wapk-admin .comparison .product-header {
226
- margin-bottom: 58px;
227
- position: relative; }
228
-
229
- .wapk-admin .comparison .product-header:after {
230
- content: "";
231
- position: absolute;
232
- bottom: -23px;
233
- left: 0;
234
- width: 38px;
235
- height: 5px;
236
- border-radius: 3px;
237
- background-color: #d7d7d7; }
238
-
239
- .wapk-admin .comparison .product-header img {
240
- max-width: 160px;
241
- width: 100%; }
242
-
243
- .wapk-admin .comparison .product-features {
244
- margin: 0; }
245
-
246
- .wapk-admin .comparison li {
247
- position: relative;
248
- display: -ms-flexbox;
249
- display: flex;
250
- margin-bottom: 15px;
251
- padding-left: 30px;
252
- font-size: 14px;
253
- line-height: 1.3em;
254
- font-weight: 300;
255
- -ms-flex-align: center;
256
- align-items: center; }
257
-
258
- .wapk-admin .comparison li.unavailable {
259
- color: #CED2D6; }
260
-
261
- .wapk-admin .comparison li span.dashicons {
262
- position: absolute;
263
- top: 1px;
264
- left: 6px;
265
- width: 18px;
266
- height: 18px;
267
- border-radius: 100%;
268
- background: #00D4D4;
269
- color: #FFF;
270
- line-height: 22px;
271
- font-size: 14px;
272
- text-align: center; }
273
-
274
- .wapk-admin .comparison li.unavailable {
275
- color: #CED2D6; }
276
-
277
- .wapk-admin .comparison li.unavailable span.dashicons {
278
- background: #CED2D6; }
279
-
280
- .wapk-admin .comparison li span.dashicons-no {
281
- font-size: 12px; }
282
-
283
- .wapk-admin .comparison li span.dashicons-no:before {
284
- left: 0; }
285
-
286
- .wapk-admin .comparison li span.dashicons:before {
287
- position: relative;
288
- left: -0.5px;
289
- top: -2px; }
290
-
291
- .wapk-admin .comparison li img {
292
- width: 18px;
293
- margin-right: 12px; }
294
-
295
- .wapk-pricing__table {
296
- width: 100%;
297
- display: -ms-flexbox;
298
- display: flex;
299
- -ms-flex-wrap: wrap;
300
- flex-wrap: wrap;
301
- -ms-flex-line-pack: start;
302
- align-content: flex-start;
303
- -ms-flex-pack: center;
304
- justify-content: center; }
305
-
306
- .wapk-pricing__table__item {
307
- position: relative;
308
- -ms-flex: 0 0 23%;
309
- flex: 0 0 23%; }
310
-
311
- .wapk-price__table__wrapper {
312
- position: relative;
313
- padding: 10px; }
314
-
315
- .wapk-price__table {
316
- text-align: center;
317
- display: block;
318
- width: 100%;
319
- padding: 10px;
320
- background-color: #fff;
321
- border-radius: 8px 8px 8px 8px;
322
- box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
323
- overflow: hidden;
324
- transition: background .3s, border .3s, border-radius .3s, box-shadow .3s; }
325
-
326
- .wapk-price__table__header {
327
- background-color: #fff;
328
- padding: 40px 0 0; }
329
-
330
- .wapk-price__table__heading {
331
- color: #6d7882;
332
- font-size: 17px;
333
- font-weight: 500;
334
- text-transform: uppercase;
335
- letter-spacing: 10px;
336
- font-family: sans-serif;
337
- margin: 0;
338
- padding: 0;
339
- line-height: 1.2; }
340
-
341
- .wapk-price__table__price {
342
- font-family: sans-serif;
343
- font-weight: 600;
344
- padding: 30px 0 10px;
345
- display: -ms-flexbox;
346
- display: flex;
347
- -ms-flex-pack: center;
348
- justify-content: center;
349
- -ms-flex-align: center;
350
- align-items: center;
351
- -ms-flex-wrap: wrap;
352
- flex-wrap: wrap;
353
- -ms-flex-direction: row;
354
- flex-direction: row;
355
- color: #434363;
356
- font-size: 45px; }
357
-
358
- .wapk-price__table__currency {
359
- -ms-flex-item-align: start;
360
- align-self: flex-start;
361
- color: #434363;
362
- line-height: 1;
363
- font-size: .3em;
364
- margin-right: 3px; }
365
-
366
- .wapk-price__table__amount .free,
367
- .wapk-price__table__amount .integer-part {
368
- color: #434363;
369
- line-height: .8; }
370
-
371
- .wapk-price__table__amount .decimal-part {
372
- font-size: 14px;
373
- font-weight: 400; }
374
-
375
- .wapk-price__table__amount .period {
376
- font-size: 14px;
377
- font-weight: 400; }
378
-
379
- .wapk-price__table__amount___legend {
380
- width: 100%;
381
- color: #FF4B4B;
382
- font-size: 18px;
383
- font-weight: 500;
384
- line-height: 2.5em; }
385
-
386
- .wapk-price__table__features {
387
- list-style-type: none;
388
- margin: 0;
389
- padding: 0;
390
- line-height: 1;
391
- color: #697279;
392
- text-align: left; }
393
-
394
- .wapk-price__table__features li.item {
395
- list-style-type: none;
396
- margin: 0;
397
- padding: 0;
398
- font-size: 13px;
399
- line-height: 1.5em; }
400
-
401
- .wapk-price__table__features li:not(:first-child):before {
402
- content: "";
403
- display: block;
404
- /* border: 0 solid hsla(0,0%,48%,.3); */
405
- margin: 10px 12.5%; }
406
-
407
- .wapk-price__table__feature {
408
- display: block;
409
- margin-left: calc(((100% - 80%) / 2) + 20px);
410
- margin-right: calc((100% - 80%) / 2); }
411
-
412
- span.wapk-price__table__feature span.dashicons {
413
- margin-left: -20px;
414
- top: 2px;
415
- position: relative; }
416
-
417
- .wapk-price__table__footer {
418
- padding: 40px 0; }
419
-
420
- .wapk-price__table__footer a {
421
- font-size: 14px;
422
- text-transform: uppercase;
423
- letter-spacing: 3px;
424
- border-radius: 100px 100px 100px 100px;
425
- padding: 16px 42px;
426
- transition: all 250ms; }
427
-
428
- .wapk-price__table__footer a:hover,
429
- .wapk-price__table__footer a:focus,
430
- .wapk-price__table__footer a:active {
431
- -webkit-transform: scale(1.02) !important;
432
- transform: scale(1.02) !important; }
433
-
434
- .wapk-price__table__ribbon {
435
- pointer-events: none;
436
- -ms-touch-action: none;
437
- touch-action: none;
438
- -webkit-user-select: none;
439
- -moz-user-select: none;
440
- -ms-user-select: none;
441
- user-select: none;
442
- position: absolute;
443
- top: 10px;
444
- left: auto;
445
- right: 10px;
446
- -webkit-transform: rotate(90deg);
447
- transform: rotate(90deg);
448
- width: 150px;
449
- overflow: hidden;
450
- height: 150px; }
451
-
452
- .wapk-price__table__ribbon__inner {
453
- background: #FF4B4B;
454
- font-family: sans-serif;
455
- font-weight: 500;
456
- color: #fff;
457
- font-size: 11px;
458
- /*noinspection CssFloatPxLength*/
459
- letter-spacing: 1.1px;
460
- box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.21);
461
- text-align: center;
462
- left: 0;
463
- width: 200%;
464
- -webkit-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
465
- transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
466
- margin-top: 35px;
467
- line-height: 2;
468
- text-transform: uppercase; }
469
-
470
- .wapk-admin .wapk-payment {
471
- display: -ms-flexbox;
472
- display: flex;
473
- background: #fff;
474
- -ms-flex-pack: justify;
475
- justify-content: space-between;
476
- padding: 85px 65px 85px;
477
- -ms-flex-align: center;
478
- align-items: center; }
479
-
480
- .wapk-payment .payment-guarantee {
481
- display: -ms-flexbox;
482
- display: flex;
483
- -ms-flex: 0 0 63%;
484
- flex: 0 0 63%;
485
- -ms-flex-line-pack: center;
486
- align-content: center;
487
- -ms-flex-align: center;
488
- align-items: center;
489
- position: relative; }
490
-
491
- .wapk-payment .payment-guarantee:after {
492
- content: "";
493
- position: absolute;
494
- right: -18px;
495
- top: 50%;
496
- -webkit-transform: translateY(-50%);
497
- transform: translateY(-50%);
498
- width: 5px;
499
- height: 38px;
500
- border-radius: 3px;
501
- background: #00D4D4; }
502
-
503
- .wapk-payment .payment-guarantee .guarantee-seal img {
504
- max-width: 100%;
505
- width: 280px; }
506
-
507
- .wapk-payment .payment-guarantee .guarantee-detail {
508
- padding-left: 25px; }
509
-
510
- .wapk-payment .payment-guarantee .guarantee-detail h2 {
511
- font-size: 24px;
512
- line-height: 1.5em;
513
- font-weight: 400;
514
- margin: 0; }
515
-
516
- .wapk-payment .payment-guarantee .guarantee-detail p {
517
- font-size: 15px;
518
- line-height: 1.5em;
519
- font-weight: 300;
520
- margin: 5px 0 20px; }
521
-
522
- .wapk-payment .payment-guarantee .guarantee-detail a {
523
- color: #00D4D4;
524
- font-size: 15px;
525
- line-height: 1.5em;
526
- text-decoration: none; }
527
-
528
- .wapk-payment .payment-guarantee .guarantee-detail a span.dashicons,
529
- .wapk-payment .payment-guarantee .guarantee-detail a img {
530
- width: 18px;
531
- margin-right: 4px;
532
- margin-top: 1px; }
533
-
534
- .wapk-payment .payment-options {
535
- -ms-flex-positive: 0.5;
536
- flex-grow: 0.5; }
537
-
538
- .wapk-payment .payment-options h3 {
539
- font-size: 15px;
540
- font-weight: 300;
541
- margin: 0 0 17px; }
542
-
543
- .wapk-payment .payment-options .options h4 {
544
- color: #CED2D6; }
545
-
546
- .wapk-payment .payment-options .options li {
547
- float: left;
548
- overflow: hidden; }
549
-
550
- .wapk-payment .payment-options .options li img {
551
- height: 20px;
552
- margin-right: 5px; }
553
-
554
- /** Testimonial **/
555
- .wapk-admin .wapk-testimonial-wrapper:before {
556
- content: '';
557
- position: absolute;
558
- left: 79px;
559
- top: -15px;
560
- width: 80px;
561
- height: 56px;
562
- border-radius: 3px;
563
- background: transparent url(../images/block-quote.svg) no-repeat;
564
- background-size: cover; }
565
-
566
- .wapk-admin .wapk-testimonial-wrapper {
567
- position: relative;
568
- display: block;
569
- width: 80%;
570
- margin: 0 auto;
571
- padding: 0;
572
- text-align: center; }
573
-
574
- .testimonial-item__user .avatar {
575
- width: 100px;
576
- height: 100px;
577
- margin: 0 auto;
578
- border-radius: 100%;
579
- border: 3px solid #efefef;
580
- overflow: hidden; }
581
-
582
- .testimonial-item {
583
- margin-bottom: 25px; }
584
-
585
- .testimonial-item__user .avatar img {
586
- max-width: 100%;
587
- width: 100%;
588
- margin: 0 auto;
589
- padding: 0;
590
- display: block; }
591
-
592
- .testimonial-item__comment {
593
- position: relative;
594
- display: block;
595
- width: 70%;
596
- margin: 0 auto 30px; }
597
-
598
- .testimonial-item__user h4.author-name {
599
- font-size: 25px;
600
- font-weight: 300;
601
- margin: 10px auto; }
602
-
603
- .testimonial-item__user span.author-meta {
604
- font-size: 16px;
605
- font-weight: 300; }
606
-
607
- @media screen and (min-width: 1281px) {
608
- .wapk-admin .wapk-banner,
609
- .wapk-admin .feed-features {
610
- padding-left: 20%;
611
- padding-right: 20%; }
612
- .wapk-admin .wapk-payment {
613
- padding-left: 15%;
614
- padding-right: 15%; }
615
- .wapk-admin .feed-pro-comparison {
616
- padding-left: 21.2%;
617
- padding-right: 21.2%; }
618
- .wapk-admin .wapk-testimonial-wrapper {
619
- width: 55%; } }
620
-
621
- .wapk-feed-pro-upgrade .wapk-feed-cta,
622
- .wapk-feed-docs .wapk-feed-cta,
623
- .wapk-admin .feed-pro-comparison,
624
- .wapk-admin .wapk-payment,
625
- .wapk-admin .feed-features,
626
- .wapk-admin .wapk-testimonial,
627
- .wapk-admin .wapk-feed-banner {
628
- margin: 0; }
629
-
630
- .wapk-feed-banner .wapk-banner {
631
- margin: 0;
632
- padding: 0; }
1
+ table.wf-info-table th a,
2
+ table.wf-rate-table th strong {
3
+ font-weight: bold; }
4
+
5
+ table.wf-info-table th a,
6
+ table.wf-rate-table a {
7
+ color: #0073aa; }
8
+
9
+ table.wf-info-table th a.get-woo-feed-pro {
10
+ display: inline-block;
11
+ text-decoration: none;
12
+ background: #f3f5f6;
13
+ color: #ff3355;
14
+ vertical-align: top;
15
+ font-size: 14px;
16
+ line-height: 3.14285714;
17
+ box-sizing: border-box;
18
+ margin: 0;
19
+ border-radius: 35px;
20
+ box-shadow: 1px 2px 10px 1px rgba(255, 51, 85, 0.5); }
21
+
22
+ table.wf-info-table th a.get-woo-feed-pro img {
23
+ display: block;
24
+ position: relative;
25
+ margin: -2px;
26
+ width: 180px;
27
+ height: auto; }
28
+
29
+ table.wf-info-table th a.button {
30
+ border-color: #0073aa;
31
+ border-radius: 35px; }
32
+
33
+ table.wf-info-table th a.documentation {
34
+ color: #0073aa; }
35
+
36
+ table.wf-info-table th a.tutorial {
37
+ color: #ee264a; }
38
+
39
+ table.wf-info-table th a.support {
40
+ color: #0DD41E; }
41
+
42
+ /**
43
+ * Premium Page Design
44
+ */
45
+ .wp-submenu li span.woo-feed-premium {
46
+ font-weight: bold;
47
+ color: #28e499; }
48
+
49
+ .wp-submenu li:hover span.woo-feed-premium,
50
+ .wp-submenu li.current span.woo-feed-premium {
51
+ color: #1dc381; }
52
+
53
+ .woo_feed_free_manage_attribute {
54
+ margin: 0 auto;
55
+ width: 100%; }
56
+
57
+ .woo_feed_screenshort {
58
+ max-width: 100%;
59
+ width: 1000px;
60
+ border: 3px solid #00b9eb;
61
+ display: block;
62
+ margin: 0 auto; }
63
+
64
+ .woo-feed-screen-shot-title {
65
+ font-size: 36px;
66
+ text-align: center;
67
+ box-sizing: content-box;
68
+ color: #00b9eb; }
69
+
70
+ .woo_feed_screen {
71
+ background: #fff;
72
+ padding: 25px 20px;
73
+ margin-bottom: 20px; }
74
+
75
+ .woo_feed_screen_des {
76
+ text-align: center;
77
+ margin: 20px 50px 20px 50px;
78
+ font-size: 16px;
79
+ color: #666; }
80
+
81
+ .woo_feed_screen_des_2 {
82
+ text-align: center;
83
+ margin: 20px 50px 5px 50px;
84
+ font-size: 14px;
85
+ color: #32373c; }
86
+
87
+ .wapk-admin .wapk-feed-upgrade {
88
+ font-family: 'Open Sans', sans-serif;
89
+ margin: -10px -20px 0 -22px; }
90
+
91
+ .wapk-admin .wapk-feed-upgrade a {
92
+ transition: all 0.2s ease; }
93
+
94
+ .wapk-admin .section-title {
95
+ text-align: center;
96
+ font-size: 30px;
97
+ line-height: 1.5em;
98
+ font-weight: 400;
99
+ position: relative;
100
+ margin: 0 0 58px; }
101
+
102
+ .wapk-admin .section-title:after {
103
+ content: '';
104
+ position: absolute;
105
+ bottom: -21px;
106
+ left: 50%;
107
+ -webkit-transform: translateX(-50%);
108
+ transform: translateX(-50%);
109
+ width: 38px;
110
+ height: 5px;
111
+ border-radius: 3px;
112
+ background-color: #00D4D4; }
113
+
114
+ .wapk-admin .section-title .section-sub-title {
115
+ font-size: 22px;
116
+ font-weight: 300; }
117
+
118
+ .wapk-admin .wapk-banner {
119
+ background-color: #f2f2f2;
120
+ font-size: 16px;
121
+ display: -ms-flexbox;
122
+ display: flex;
123
+ -ms-flex-align: center;
124
+ align-items: center;
125
+ padding: 50px 8%;
126
+ border-bottom: 1px solid #eee; }
127
+
128
+ .wapk-admin .wapk-banner .wapk-banner__graphics {
129
+ width: 100%; }
130
+
131
+ .wapk-admin .wapk-banner .wapk-banner__content h1 {
132
+ font-size: 27px;
133
+ line-height: 1.5em; }
134
+
135
+ .wapk-admin .wapk-banner .wapk-banner__content p {
136
+ font-size: 16px;
137
+ line-height: 1.5em;
138
+ font-weight: 300;
139
+ margin: 0;
140
+ /*noinspection CssFloatPxLength*/
141
+ letter-spacing: 0.5px; }
142
+
143
+ .wapk-admin .feed-features,
144
+ .wapk-admin .wapk-testimonial,
145
+ .wapk-admin .feed-pricing {
146
+ text-align: center;
147
+ padding: 75px 30px 85px;
148
+ background-color: #f7f8f9; }
149
+
150
+ .wapk-admin .feed-features .feed-feature__list {
151
+ display: -ms-flexbox;
152
+ display: flex;
153
+ -ms-flex-wrap: wrap;
154
+ flex-wrap: wrap;
155
+ -ms-flex-align: start;
156
+ align-items: flex-start;
157
+ -ms-flex-pack: center;
158
+ justify-content: center; }
159
+
160
+ .wapk-admin .feed-features .feed-features__more {
161
+ margin-top: 25px; }
162
+
163
+ .feed-feature__item {
164
+ -ms-flex: 0 0 28.9%;
165
+ flex: 0 0 28.9%;
166
+ margin: 0 2.2% 4.4% 2.2%;
167
+ text-align: center;
168
+ border-radius: 5px;
169
+ background-color: #ffffff;
170
+ transition: all 100ms linear;
171
+ overflow: hidden; }
172
+
173
+ .feed-feature__item:hover {
174
+ box-shadow: 5px 4px 32px -16px rgba(0, 0, 0, 0.63); }
175
+
176
+ .feed-feature__thumb {
177
+ overflow: hidden; }
178
+
179
+ .feed-feature__item .feed-feature__thumb img {
180
+ border-radius: 5px 5px 0 0;
181
+ max-width: 100%;
182
+ width: 100%;
183
+ transition: all 100ms linear; }
184
+
185
+ .feed-feature__item:hover .feed-feature__thumb img {
186
+ -webkit-transform: scale(1.05);
187
+ transform: scale(1.05); }
188
+
189
+ .feed-feature__item .feed-feature__description {
190
+ padding: 20px 15px 25px; }
191
+
192
+ .feed-feature__item .feed-feature__description h3 {
193
+ font-size: 15px;
194
+ line-height: 1.5em;
195
+ font-weight: 300;
196
+ margin: 0; }
197
+
198
+ .wapk-admin .feed-pro-comparison {
199
+ background-color: #f1f1f1;
200
+ padding: 75px; }
201
+
202
+ .wapk-admin .feed-features .section-title h2,
203
+ .wapk-admin .wapk-testimonial .section-title h2,
204
+ .wapk-admin .feed-pro-comparison .section-title h2,
205
+ .wapk-admin .feed-pricing .section-title h2 {
206
+ margin-top: 0;
207
+ margin-bottom: 0; }
208
+
209
+ .wapk-admin .comparison-table {
210
+ display: -ms-flexbox;
211
+ display: flex;
212
+ -ms-flex-pack: justify;
213
+ justify-content: space-between; }
214
+
215
+ .wapk-admin .comparison-table .comparison {
216
+ -ms-flex: 0 0 48%;
217
+ flex: 0 0 48%;
218
+ background-color: #fff;
219
+ border: 1px solid #e0e9ec;
220
+ border-radius: 5px;
221
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
222
+ padding: 50px;
223
+ box-sizing: border-box; }
224
+
225
+ .wapk-admin .comparison .product-header {
226
+ margin-bottom: 58px;
227
+ position: relative; }
228
+
229
+ .wapk-admin .comparison .product-header:after {
230
+ content: "";
231
+ position: absolute;
232
+ bottom: -23px;
233
+ left: 0;
234
+ width: 38px;
235
+ height: 5px;
236
+ border-radius: 3px;
237
+ background-color: #d7d7d7; }
238
+
239
+ .wapk-admin .comparison .product-header img {
240
+ max-width: 160px;
241
+ width: 100%; }
242
+
243
+ .wapk-admin .comparison .product-features {
244
+ margin: 0; }
245
+
246
+ .wapk-admin .comparison li {
247
+ position: relative;
248
+ display: -ms-flexbox;
249
+ display: flex;
250
+ margin-bottom: 15px;
251
+ padding-left: 30px;
252
+ font-size: 14px;
253
+ line-height: 1.3em;
254
+ font-weight: 300;
255
+ -ms-flex-align: center;
256
+ align-items: center; }
257
+
258
+ .wapk-admin .comparison li.unavailable {
259
+ color: #CED2D6; }
260
+
261
+ .wapk-admin .comparison li span.dashicons {
262
+ position: absolute;
263
+ top: 1px;
264
+ left: 6px;
265
+ width: 18px;
266
+ height: 18px;
267
+ border-radius: 100%;
268
+ background: #00D4D4;
269
+ color: #FFF;
270
+ line-height: 22px;
271
+ font-size: 14px;
272
+ text-align: center; }
273
+
274
+ .wapk-admin .comparison li.unavailable {
275
+ color: #CED2D6; }
276
+
277
+ .wapk-admin .comparison li.unavailable span.dashicons {
278
+ background: #CED2D6; }
279
+
280
+ .wapk-admin .comparison li span.dashicons-no {
281
+ font-size: 12px; }
282
+
283
+ .wapk-admin .comparison li span.dashicons-no:before {
284
+ left: 0; }
285
+
286
+ .wapk-admin .comparison li span.dashicons:before {
287
+ position: relative;
288
+ left: -0.5px;
289
+ top: -2px; }
290
+
291
+ .wapk-admin .comparison li img {
292
+ width: 18px;
293
+ margin-right: 12px; }
294
+
295
+ .wapk-pricing__table {
296
+ width: 100%;
297
+ display: -ms-flexbox;
298
+ display: flex;
299
+ -ms-flex-wrap: wrap;
300
+ flex-wrap: wrap;
301
+ -ms-flex-line-pack: start;
302
+ align-content: flex-start;
303
+ -ms-flex-pack: center;
304
+ justify-content: center; }
305
+
306
+ .wapk-pricing__table__item {
307
+ position: relative;
308
+ -ms-flex: 0 0 23%;
309
+ flex: 0 0 23%; }
310
+
311
+ .wapk-price__table__wrapper {
312
+ position: relative;
313
+ padding: 10px; }
314
+
315
+ .wapk-price__table {
316
+ text-align: center;
317
+ display: block;
318
+ width: 100%;
319
+ padding: 10px;
320
+ background-color: #fff;
321
+ border-radius: 8px 8px 8px 8px;
322
+ box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
323
+ overflow: hidden;
324
+ transition: background .3s, border .3s, border-radius .3s, box-shadow .3s; }
325
+
326
+ .wapk-price__table__header {
327
+ background-color: #fff;
328
+ padding: 40px 0 0; }
329
+
330
+ .wapk-price__table__heading {
331
+ color: #6d7882;
332
+ font-size: 17px;
333
+ font-weight: 500;
334
+ text-transform: uppercase;
335
+ letter-spacing: 10px;
336
+ font-family: sans-serif;
337
+ margin: 0;
338
+ padding: 0;
339
+ line-height: 1.2; }
340
+
341
+ .wapk-price__table__price {
342
+ font-family: sans-serif;
343
+ font-weight: 600;
344
+ padding: 30px 0 10px;
345
+ display: -ms-flexbox;
346
+ display: flex;
347
+ -ms-flex-pack: center;
348
+ justify-content: center;
349
+ -ms-flex-align: center;
350
+ align-items: center;
351
+ -ms-flex-wrap: wrap;
352
+ flex-wrap: wrap;
353
+ -ms-flex-direction: row;
354
+ flex-direction: row;
355
+ color: #434363;
356
+ font-size: 45px; }
357
+
358
+ .wapk-price__table__currency {
359
+ -ms-flex-item-align: start;
360
+ align-self: flex-start;
361
+ color: #434363;
362
+ line-height: 1;
363
+ font-size: .3em;
364
+ margin-right: 3px; }
365
+
366
+ .wapk-price__table__amount .free,
367
+ .wapk-price__table__amount .integer-part {
368
+ color: #434363;
369
+ line-height: .8; }
370
+
371
+ .wapk-price__table__amount .decimal-part {
372
+ font-size: 14px;
373
+ font-weight: 400; }
374
+
375
+ .wapk-price__table__amount .period {
376
+ font-size: 14px;
377
+ font-weight: 400; }
378
+
379
+ .wapk-price__table__amount___legend {
380
+ width: 100%;
381
+ color: #FF4B4B;
382
+ font-size: 18px;
383
+ font-weight: 500;
384
+ line-height: 2.5em; }
385
+
386
+ .wapk-price__table__features {
387
+ list-style-type: none;
388
+ margin: 0;
389
+ padding: 0;
390
+ line-height: 1;
391
+ color: #697279;
392
+ text-align: left; }
393
+
394
+ .wapk-price__table__features li.item {
395
+ list-style-type: none;
396
+ margin: 0;
397
+ padding: 0;
398
+ font-size: 13px;
399
+ line-height: 1.5em; }
400
+
401
+ .wapk-price__table__features li:not(:first-child):before {
402
+ content: "";
403
+ display: block;
404
+ /* border: 0 solid hsla(0,0%,48%,.3); */
405
+ margin: 10px 12.5%; }
406
+
407
+ .wapk-price__table__feature {
408
+ display: block;
409
+ margin-left: calc(((100% - 80%) / 2) + 20px);
410
+ margin-right: calc((100% - 80%) / 2); }
411
+
412
+ span.wapk-price__table__feature span.dashicons {
413
+ margin-left: -20px;
414
+ top: 2px;
415
+ position: relative; }
416
+
417
+ .wapk-price__table__footer {
418
+ padding: 40px 0; }
419
+
420
+ .wapk-price__table__footer a {
421
+ font-size: 14px;
422
+ text-transform: uppercase;
423
+ letter-spacing: 3px;
424
+ border-radius: 100px 100px 100px 100px;
425
+ padding: 16px 42px;
426
+ transition: all 250ms; }
427
+
428
+ .wapk-price__table__footer a:hover,
429
+ .wapk-price__table__footer a:focus,
430
+ .wapk-price__table__footer a:active {
431
+ -webkit-transform: scale(1.02) !important;
432
+ transform: scale(1.02) !important; }
433
+
434
+ .wapk-price__table__ribbon {
435
+ pointer-events: none;
436
+ -ms-touch-action: none;
437
+ touch-action: none;
438
+ -webkit-user-select: none;
439
+ -moz-user-select: none;
440
+ -ms-user-select: none;
441
+ user-select: none;
442
+ position: absolute;
443
+ top: 10px;
444
+ left: auto;
445
+ right: 10px;
446
+ -webkit-transform: rotate(90deg);
447
+ transform: rotate(90deg);
448
+ width: 150px;
449
+ overflow: hidden;
450
+ height: 150px; }
451
+
452
+ .wapk-price__table__ribbon__inner {
453
+ background: #FF4B4B;
454
+ font-family: sans-serif;
455
+ font-weight: 500;
456
+ color: #fff;
457
+ font-size: 11px;
458
+ /*noinspection CssFloatPxLength*/
459
+ letter-spacing: 1.1px;
460
+ box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.21);
461
+ text-align: center;
462
+ left: 0;
463
+ width: 200%;
464
+ -webkit-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
465
+ transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
466
+ margin-top: 35px;
467
+ line-height: 2;
468
+ text-transform: uppercase; }
469
+
470
+ .wapk-admin .wapk-payment {
471
+ display: -ms-flexbox;
472
+ display: flex;
473
+ background: #fff;
474
+ -ms-flex-pack: justify;
475
+ justify-content: space-between;
476
+ padding: 85px 65px 85px;
477
+ -ms-flex-align: center;
478
+ align-items: center; }
479
+
480
+ .wapk-payment .payment-guarantee {
481
+ display: -ms-flexbox;
482
+ display: flex;
483
+ -ms-flex: 0 0 63%;
484
+ flex: 0 0 63%;
485
+ -ms-flex-line-pack: center;
486
+ align-content: center;
487
+ -ms-flex-align: center;
488
+ align-items: center;
489
+ position: relative; }
490
+
491
+ .wapk-payment .payment-guarantee:after {
492
+ content: "";
493
+ position: absolute;
494
+ right: -18px;
495
+ top: 50%;
496
+ -webkit-transform: translateY(-50%);
497
+ transform: translateY(-50%);
498
+ width: 5px;
499
+ height: 38px;
500
+ border-radius: 3px;
501
+ background: #00D4D4; }
502
+
503
+ .wapk-payment .payment-guarantee .guarantee-seal img {
504
+ max-width: 100%;
505
+ width: 280px; }
506
+
507
+ .wapk-payment .payment-guarantee .guarantee-detail {
508
+ padding-left: 25px; }
509
+
510
+ .wapk-payment .payment-guarantee .guarantee-detail h2 {
511
+ font-size: 24px;
512
+ line-height: 1.5em;
513
+ font-weight: 400;
514
+ margin: 0; }
515
+
516
+ .wapk-payment .payment-guarantee .guarantee-detail p {
517
+ font-size: 15px;
518
+ line-height: 1.5em;
519
+ font-weight: 300;
520
+ margin: 5px 0 20px; }
521
+
522
+ .wapk-payment .payment-guarantee .guarantee-detail a {
523
+ color: #00D4D4;
524
+ font-size: 15px;
525
+ line-height: 1.5em;
526
+ text-decoration: none; }
527
+
528
+ .wapk-payment .payment-guarantee .guarantee-detail a span.dashicons,
529
+ .wapk-payment .payment-guarantee .guarantee-detail a img {
530
+ width: 18px;
531
+ margin-right: 4px;
532
+ margin-top: 1px; }
533
+
534
+ .wapk-payment .payment-options {
535
+ -ms-flex-positive: 0.5;
536
+ flex-grow: 0.5; }
537
+
538
+ .wapk-payment .payment-options h3 {
539
+ font-size: 15px;
540
+ font-weight: 300;
541
+ margin: 0 0 17px; }
542
+
543
+ .wapk-payment .payment-options .options h4 {
544
+ color: #CED2D6; }
545
+
546
+ .wapk-payment .payment-options .options li {
547
+ float: left;
548
+ overflow: hidden; }
549
+
550
+ .wapk-payment .payment-options .options li img {
551
+ height: 20px;
552
+ margin-right: 5px; }
553
+
554
+ /** Testimonial **/
555
+ .wapk-admin .wapk-testimonial-wrapper:before {
556
+ content: '';
557
+ position: absolute;
558
+ left: 79px;
559
+ top: -15px;
560
+ width: 80px;
561
+ height: 56px;
562
+ border-radius: 3px;
563
+ background: transparent url(../images/block-quote.svg) no-repeat;
564
+ background-size: cover; }
565
+
566
+ .wapk-admin .wapk-testimonial-wrapper {
567
+ position: relative;
568
+ display: block;
569
+ width: 80%;
570
+ margin: 0 auto;
571
+ padding: 0;
572
+ text-align: center; }
573
+
574
+ .testimonial-item__user .avatar {
575
+ width: 100px;
576
+ height: 100px;
577
+ margin: 0 auto;
578
+ border-radius: 100%;
579
+ border: 3px solid #efefef;
580
+ overflow: hidden; }
581
+
582
+ .testimonial-item {
583
+ margin-bottom: 25px; }
584
+
585
+ .testimonial-item__user .avatar img {
586
+ max-width: 100%;
587
+ width: 100%;
588
+ margin: 0 auto;
589
+ padding: 0;
590
+ display: block; }
591
+
592
+ .testimonial-item__comment {
593
+ position: relative;
594
+ display: block;
595
+ width: 70%;
596
+ margin: 0 auto 30px; }
597
+
598
+ .testimonial-item__user h4.author-name {
599
+ font-size: 25px;
600
+ font-weight: 300;
601
+ margin: 10px auto; }
602
+
603
+ .testimonial-item__user span.author-meta {
604
+ font-size: 16px;
605
+ font-weight: 300; }
606
+
607
+ @media screen and (min-width: 1281px) {
608
+ .wapk-admin .wapk-banner,
609
+ .wapk-admin .feed-features {
610
+ padding-left: 20%;
611
+ padding-right: 20%; }
612
+ .wapk-admin .wapk-payment {
613
+ padding-left: 15%;
614
+ padding-right: 15%; }
615
+ .wapk-admin .feed-pro-comparison {
616
+ padding-left: 21.2%;
617
+ padding-right: 21.2%; }
618
+ .wapk-admin .wapk-testimonial-wrapper {
619
+ width: 55%; } }
620
+
621
+ .wapk-feed-pro-upgrade .wapk-feed-cta,
622
+ .wapk-feed-docs .wapk-feed-cta,
623
+ .wapk-admin .feed-pro-comparison,
624
+ .wapk-admin .wapk-payment,
625
+ .wapk-admin .feed-features,
626
+ .wapk-admin .wapk-testimonial,
627
+ .wapk-admin .wapk-feed-banner {
628
+ margin: 0; }
629
+
630
+ .wapk-feed-banner .wapk-banner {
631
+ margin: 0;
632
+ padding: 0; }
admin/css/woo-feed-admin-pro.scss CHANGED
@@ -1,742 +1,742 @@
1
- table.wf-info-table th a,
2
- table.wf-rate-table th strong {
3
- font-weight: bold;
4
- }
5
-
6
- table.wf-info-table th a,
7
- table.wf-rate-table a {
8
- color: #0073aa;
9
- }
10
-
11
- table.wf-info-table th a.get-woo-feed-pro {
12
- display: inline-block;
13
- text-decoration: none;
14
- background: #f3f5f6;
15
- color: #ff3355;
16
- vertical-align: top;
17
- font-size: 14px;
18
- line-height: 3.14285714;
19
- box-sizing: border-box;
20
- margin: 0;
21
- border-radius: 35px;
22
- box-shadow: 1px 2px 10px 1px rgba(255, 51, 85, 0.5);
23
- }
24
-
25
- table.wf-info-table th a.get-woo-feed-pro img {
26
- display: block;
27
- position: relative;
28
- margin: -2px;
29
- width: 180px;
30
- height: auto;
31
- }
32
-
33
- table.wf-info-table th a.button {
34
- border-color: #0073aa;
35
- border-radius: 35px;
36
- }
37
-
38
- table.wf-info-table th a.documentation {
39
- color: #0073aa;
40
- }
41
-
42
- table.wf-info-table th a.tutorial {
43
- color: #ee264a;
44
- }
45
-
46
- table.wf-info-table th a.support {
47
- color: #0DD41E;
48
- }
49
-
50
- /**
51
- * Premium Page Design
52
- */
53
- .wp-submenu li span.woo-feed-premium {
54
- font-weight: bold;
55
- color: #28e499;
56
- }
57
-
58
- .wp-submenu li:hover span.woo-feed-premium,
59
- .wp-submenu li.current span.woo-feed-premium {
60
- color: #1dc381;
61
- }
62
-
63
- .woo_feed_free_manage_attribute {
64
- margin: 0 auto;
65
- width: 100%;
66
- }
67
-
68
- .woo_feed_screenshort {
69
- max-width: 100%;
70
- width: 1000px;
71
- border: 3px solid #00b9eb;
72
- display: block;
73
- margin: 0 auto;
74
- }
75
-
76
- .woo-feed-screen-shot-title {
77
- font-size: 36px;
78
- text-align: center;
79
- box-sizing: content-box;
80
- color: #00b9eb;
81
- }
82
-
83
- .woo_feed_screen {
84
- background: #fff;
85
- padding: 25px 20px;
86
- margin-bottom: 20px;
87
- }
88
-
89
- .woo_feed_screen_des {
90
- text-align: center;
91
- margin: 20px 50px 20px 50px;
92
- font-size: 16px;
93
- color: #666;
94
- }
95
-
96
- .woo_feed_screen_des_2 {
97
- text-align: center;
98
- margin: 20px 50px 5px 50px;
99
- font-size: 14px;
100
- color: #32373c;
101
- }
102
-
103
-
104
- .wapk-admin .wapk-feed-upgrade {
105
- font-family: 'Open Sans', sans-serif;
106
- margin: -10px -20px 0 -22px;
107
- }
108
-
109
- .wapk-admin .wapk-feed-upgrade a {
110
- transition: all 0.2s ease;
111
- }
112
-
113
- .wapk-admin .section-title {
114
- text-align: center;
115
- font-size: 30px;
116
- line-height: 1.5em;
117
- font-weight: 400;
118
- position: relative;
119
- margin: 0 0 58px;
120
- }
121
-
122
- .wapk-admin .section-title:after {
123
- content: '';
124
- position: absolute;
125
- bottom: -21px;
126
- left: 50%;
127
- transform: translateX(-50%);
128
- width: 38px;
129
- height: 5px;
130
- border-radius: 3px;
131
- background-color: #00D4D4;
132
- }
133
-
134
- .wapk-admin .section-title .section-sub-title {
135
- font-size: 22px;
136
- font-weight: 300;
137
- }
138
-
139
- .wapk-admin .wapk-banner {
140
- background-color: #f2f2f2;
141
- font-size: 16px;
142
- display: flex;
143
- align-items: center;
144
- padding: 50px 8%;
145
- border-bottom: 1px solid #eee;
146
- }
147
-
148
- .wapk-admin .wapk-banner .wapk-banner__graphics {
149
- width: 100%;
150
- }
151
-
152
- .wapk-admin .wapk-banner .wapk-banner__content h1 {
153
- font-size: 27px;
154
- line-height: 1.5em;
155
- }
156
-
157
- .wapk-admin .wapk-banner .wapk-banner__content p {
158
- font-size: 16px;
159
- line-height: 1.5em;
160
- font-weight: 300;
161
- margin: 0;
162
- /*noinspection CssFloatPxLength*/
163
- letter-spacing: 0.5px;
164
- }
165
-
166
- .wapk-admin .feed-features,
167
- .wapk-admin .wapk-testimonial,
168
- .wapk-admin .feed-pricing {
169
- text-align: center;
170
- padding: 75px 30px 85px;
171
- background-color: #f7f8f9;
172
- }
173
-
174
- .wapk-admin .feed-features .feed-feature__list {
175
- display: flex;
176
- flex-wrap: wrap;
177
- align-items: flex-start;
178
- justify-content: center;
179
- }
180
-
181
- .wapk-admin .feed-features .feed-features__more {
182
- margin-top: 25px;
183
- }
184
-
185
- .feed-feature__item {
186
- flex: 0 0 28.9%;
187
- margin: 0 2.2% 4.4% 2.2%;
188
- text-align: center;
189
- border-radius: 5px;
190
- background-color: #ffffff;
191
- transition: all 100ms linear;
192
- overflow: hidden;
193
- }
194
-
195
- .feed-feature__item:hover {
196
- box-shadow: 5px 4px 32px -16px rgba(0, 0, 0, 0.63);
197
- }
198
-
199
- .feed-feature__thumb {
200
- overflow: hidden;
201
- }
202
-
203
- .feed-feature__item .feed-feature__thumb img {
204
- border-radius: 5px 5px 0 0;
205
- max-width: 100%;
206
- width: 100%;
207
- -webkit-transition: all 100ms linear;
208
- -moz-transition: all 100ms linear;
209
- -ms-transition: all 100ms linear;
210
- -o-transition: all 100ms linear;
211
- transition: all 100ms linear;
212
- }
213
-
214
- .feed-feature__item:hover .feed-feature__thumb img {
215
- transform: scale(1.05);
216
- }
217
-
218
- .feed-feature__item .feed-feature__description {
219
- padding: 20px 15px 25px;
220
- }
221
-
222
- .feed-feature__item .feed-feature__description h3 {
223
- font-size: 15px;
224
- line-height: 1.5em;
225
- font-weight: 300;
226
- margin: 0;
227
- }
228
-
229
- .wapk-admin .feed-pro-comparison {
230
- background-color: #f1f1f1;
231
- padding: 75px;
232
- }
233
-
234
- .wapk-admin .feed-features .section-title h2,
235
- .wapk-admin .wapk-testimonial .section-title h2,
236
- .wapk-admin .feed-pro-comparison .section-title h2,
237
- .wapk-admin .feed-pricing .section-title h2 {
238
- margin-top: 0;
239
- margin-bottom: 0;
240
- }
241
-
242
- .wapk-admin .comparison-table {
243
- display: flex;
244
- justify-content: space-between;
245
- }
246
-
247
- .wapk-admin .comparison-table .comparison {
248
- flex: 0 0 48%;
249
- background-color: #fff;
250
- border: 1px solid #e0e9ec;
251
- border-radius: 5px;
252
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
253
- padding: 50px;
254
- box-sizing: border-box;
255
- }
256
-
257
- .wapk-admin .comparison .product-header {
258
- margin-bottom: 58px;
259
- position: relative;
260
- }
261
-
262
- .wapk-admin .comparison .product-header:after {
263
- content: "";
264
- position: absolute;
265
- bottom: -23px;
266
- left: 0;
267
- width: 38px;
268
- height: 5px;
269
- border-radius: 3px;
270
- background-color: #d7d7d7;
271
- }
272
-
273
- .wapk-admin .comparison .product-header img {
274
- max-width: 160px;
275
- width: 100%;
276
- }
277
-
278
- .wapk-admin .comparison .product-features {
279
- margin: 0;
280
- }
281
-
282
- .wapk-admin .comparison li {
283
- position: relative;
284
- display: flex;
285
- margin-bottom: 15px;
286
- padding-left: 30px;
287
- font-size: 14px;
288
- line-height: 1.3em;
289
- font-weight: 300;
290
- align-items: center;
291
- }
292
-
293
- .wapk-admin .comparison li.unavailable {
294
- color: #CED2D6;
295
- }
296
-
297
- .wapk-admin .comparison li span.dashicons {
298
- position: absolute;
299
- top: 1px;
300
- left: 6px;
301
- width: 18px;
302
- height: 18px;
303
- border-radius: 100%;
304
- background: #00D4D4;
305
- color: #FFF;
306
- line-height: 22px;
307
- font-size: 14px;
308
- text-align: center;
309
- }
310
-
311
- .wapk-admin .comparison li.unavailable {
312
- color: #CED2D6;
313
- }
314
-
315
- .wapk-admin .comparison li.unavailable span.dashicons {
316
- background: #CED2D6;
317
- }
318
-
319
- .wapk-admin .comparison li span.dashicons-no {
320
- font-size: 12px;
321
- }
322
-
323
- .wapk-admin .comparison li span.dashicons-no:before {
324
- left: 0;
325
- }
326
-
327
- .wapk-admin .comparison li span.dashicons:before {
328
- position: relative;
329
- left: -0.5px;
330
- top: -2px;
331
- }
332
-
333
- .wapk-admin .comparison li img {
334
- width: 18px;
335
- margin-right: 12px;
336
- }
337
-
338
- .wapk-admin .feed-pricing {
339
- }
340
-
341
- .wapk-pricing__table {
342
- width: 100%;
343
- display: -webkit-box;
344
- display: -webkit-flex;
345
- display: -ms-flexbox;
346
- display: flex;
347
- -webkit-flex-wrap: wrap;
348
- -ms-flex-wrap: wrap;
349
- flex-wrap: wrap;
350
- -webkit-align-content: flex-start;
351
- -ms-flex-line-pack: start;
352
- align-content: flex-start;
353
- justify-content: center;
354
- }
355
-
356
- .wapk-pricing__table__item {
357
- position: relative;
358
- flex: 0 0 23%;
359
- }
360
-
361
- .wapk-price__table__wrapper {
362
- position: relative;
363
- padding: 10px;
364
- }
365
-
366
- .wapk-price__table {
367
- text-align: center;
368
- display: block;
369
- width: 100%;
370
- padding: 10px;
371
- background-color: #fff;
372
- border-radius: 8px 8px 8px 8px;
373
- box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);
374
- overflow: hidden;
375
- -webkit-transition: background .3s, border .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
376
- transition: background .3s, border .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
377
- -o-transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
378
- transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
379
- transition: background .3s, border .3s, border-radius .3s, box-shadow .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
380
- }
381
-
382
- .wapk-price__table__header {
383
- background-color: #fff;
384
- padding: 40px 0 0;
385
- }
386
-
387
- .wapk-price__table__heading {
388
- color: #6d7882;
389
- font-size: 17px;
390
- font-weight: 500;
391
- text-transform: uppercase;
392
- letter-spacing: 10px;
393
- font-family: sans-serif;
394
- margin: 0;
395
- padding: 0;
396
- line-height: 1.2;
397
- }
398
-
399
- .wapk-price__table__price {
400
- font-family: sans-serif;
401
- font-weight: 600;
402
- padding: 30px 0 10px;
403
- display: -webkit-box;
404
- display: -ms-flexbox;
405
- display: flex;
406
- -webkit-box-pack: center;
407
- -ms-flex-pack: center;
408
- justify-content: center;
409
- -webkit-box-align: center;
410
- -ms-flex-align: center;
411
- align-items: center;
412
- -ms-flex-wrap: wrap;
413
- flex-wrap: wrap;
414
- -webkit-box-orient: horizontal;
415
- -webkit-box-direction: normal;
416
- -ms-flex-direction: row;
417
- flex-direction: row;
418
- color: #434363;
419
- font-size: 45px;
420
- }
421
-
422
- .wapk-price__table__amount {
423
- }
424
-
425
- .wapk-price__table__currency {
426
- align-self: flex-start;
427
- color: #434363;
428
- line-height: 1;
429
- font-size: .3em;
430
- margin-right: 3px;
431
- }
432
-
433
- .wapk-price__table__amount .free,
434
- .wapk-price__table__amount .integer-part {
435
- color: #434363;
436
- line-height: .8;
437
- }
438
-
439
- .wapk-price__table__amount .decimal-part {
440
- font-size: 14px;
441
- font-weight: 400;
442
- }
443
-
444
- .wapk-price__table__amount .period {
445
- font-size: 14px;
446
- font-weight: 400;
447
- }
448
-
449
- .wapk-price__table__amount___legend {
450
- width: 100%;
451
- color: #FF4B4B;
452
- font-size: 18px;
453
- font-weight: 500;
454
- line-height: 2.5em;
455
- }
456
-
457
- .wapk-price__table__features {
458
- list-style-type: none;
459
- margin: 0;
460
- padding: 0;
461
- line-height: 1;
462
- color: #697279;
463
- text-align: left;
464
- }
465
-
466
- .wapk-price__table__features li.item {
467
- list-style-type: none;
468
- margin: 0;
469
- padding: 0;
470
- font-size: 13px;
471
- line-height: 1.5em;
472
- }
473
-
474
- .wapk-price__table__features li:not(:first-child):before {
475
- content: "";
476
- display: block;
477
- /* border: 0 solid hsla(0,0%,48%,.3); */
478
- margin: 10px 12.5%;
479
- }
480
-
481
- .wapk-price__table__feature {
482
- display: block;
483
- margin-left: calc(((100% - 80%) / 2) + 20px);
484
- margin-right: calc((100% - 80%) / 2);
485
- }
486
-
487
- span.wapk-price__table__feature span.dashicons {
488
- margin-left: -20px;
489
- top: 2px;
490
- position: relative;
491
- }
492
-
493
- .wapk-price__table__footer {
494
- padding: 40px 0;
495
- }
496
-
497
- .wapk-price__table__footer a {
498
- font-size: 14px;
499
- text-transform: uppercase;
500
- letter-spacing: 3px;
501
- border-radius: 100px 100px 100px 100px;
502
- padding: 16px 42px;
503
- transition: all 250ms;
504
- }
505
-
506
- .wapk-price__table__footer a:hover,
507
- .wapk-price__table__footer a:focus,
508
- .wapk-price__table__footer a:active {
509
- transform: scale(1.02) !important;
510
- }
511
-
512
- .wapk-price__table__ribbon {
513
- pointer-events: none;
514
- touch-action: none;
515
- -webkit-user-select: none;
516
- -moz-user-select: none;
517
- -ms-user-select: none;
518
- user-select: none;
519
- position: absolute;
520
- top: 10px;
521
- left: auto;
522
- right: 10px;
523
- -webkit-transform: rotate(90deg);
524
- -ms-transform: rotate(90deg);
525
- transform: rotate(90deg);
526
- width: 150px;
527
- overflow: hidden;
528
- height: 150px;
529
- }
530
-
531
- .wapk-price__table__ribbon__inner {
532
- background: #FF4B4B;
533
- font-family: sans-serif;
534
- font-weight: 500;
535
- color: #fff;
536
- font-size: 11px;
537
- /*noinspection CssFloatPxLength*/
538
- letter-spacing: 1.1px;
539
- box-shadow: 0 0 30px 0 rgba(0, 0, 0, .21);
540
- text-align: center;
541
- left: 0;
542
- width: 200%;
543
- -webkit-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
544
- -ms-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
545
- transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
546
- margin-top: 35px;
547
- line-height: 2;
548
- text-transform: uppercase;
549
- }
550
-
551
- .wapk-admin .wapk-payment {
552
- display: flex;
553
- background: #fff;
554
- justify-content: space-between;
555
- padding: 85px 65px 85px;
556
- align-items: center;
557
- }
558
-
559
- .wapk-payment .payment-guarantee {
560
- display: flex;
561
- flex: 0 0 63%;
562
- align-content: center;
563
- align-items: center;
564
- position: relative;
565
- }
566
-
567
- .wapk-payment .payment-guarantee:after {
568
- content: "";
569
- position: absolute;
570
- right: -18px;
571
- top: 50%;
572
- transform: translateY(-50%);
573
- width: 5px;
574
- height: 38px;
575
- border-radius: 3px;
576
- background: #00D4D4;
577
- }
578
-
579
- .wapk-payment .payment-guarantee .guarantee-seal img {
580
- max-width: 100%;
581
- width: 280px;
582
- }
583
-
584
- .wapk-payment .payment-guarantee .guarantee-detail {
585
- padding-left: 25px;
586
- }
587
-
588
- .wapk-payment .payment-guarantee .guarantee-detail h2 {
589
- font-size: 24px;
590
- line-height: 1.5em;
591
- font-weight: 400;
592
- margin: 0;
593
- }
594
-
595
- .wapk-payment .payment-guarantee .guarantee-detail p {
596
- font-size: 15px;
597
- line-height: 1.5em;
598
- font-weight: 300;
599
- margin: 5px 0 20px;
600
- }
601
-
602
- .wapk-payment .payment-guarantee .guarantee-detail a {
603
- color: #00D4D4;
604
- font-size: 15px;
605
- line-height: 1.5em;
606
- text-decoration: none;
607
- }
608
-
609
- .wapk-payment .payment-guarantee .guarantee-detail a span.dashicons,
610
- .wapk-payment .payment-guarantee .guarantee-detail a img {
611
- width: 18px;
612
- margin-right: 4px;
613
- margin-top: 1px;
614
- }
615
-
616
- .wapk-payment .payment-options {
617
- flex-grow: 0.5;
618
- }
619
-
620
- .wapk-payment .payment-options h3 {
621
- font-size: 15px;
622
- font-weight: 300;
623
- margin: 0 0 17px;
624
- }
625
-
626
- .wapk-payment .payment-options .options {
627
- }
628
-
629
- .wapk-payment .payment-options .options h4 {
630
- color: #CED2D6;
631
- }
632
-
633
- .wapk-payment .payment-options .options li {
634
- float: left;
635
- overflow: hidden;
636
- }
637
-
638
- .wapk-payment .payment-options .options li img {
639
- height: 20px;
640
- margin-right: 5px;
641
- }
642
-
643
- /** Testimonial **/
644
- .wapk-admin .wapk-testimonials {
645
- }
646
-
647
- .wapk-admin .wapk-testimonial-wrapper:before {
648
- content: '';
649
- position: absolute;
650
- left: 79px;
651
- top: -15px;
652
- width: 80px;
653
- height: 56px;
654
- border-radius: 3px;
655
- background: transparent url(../images/block-quote.svg) no-repeat;
656
- background-size: cover;
657
- }
658
-
659
- .wapk-admin .wapk-testimonial-wrapper {
660
- position: relative;
661
- display: block;
662
- width: 80%;
663
- margin: 0 auto;
664
- padding: 0;
665
- text-align: center;
666
- }
667
-
668
- .testimonial-item__user .avatar {
669
- width: 100px;
670
- height: 100px;
671
- margin: 0 auto;
672
- border-radius: 100%;
673
- border: 3px solid #efefef;
674
- overflow: hidden;
675
- }
676
-
677
- .testimonial-item {
678
- margin-bottom: 25px;
679
- }
680
-
681
- .testimonial-item__user .avatar img {
682
- max-width: 100%;
683
- width: 100%;
684
- margin: 0 auto;
685
- padding: 0;
686
- display: block;
687
- }
688
-
689
- .testimonial-item__comment {
690
- position: relative;
691
- display: block;
692
- width: 70%;
693
- margin: 0 auto 30px;
694
- }
695
-
696
- .testimonial-item__user h4.author-name {
697
- font-size: 25px;
698
- font-weight: 300;
699
- margin: 10px auto;
700
- }
701
-
702
- .testimonial-item__user span.author-meta {
703
- font-size: 16px;
704
- font-weight: 300;
705
- }
706
-
707
- @media screen and (min-width: 1281px) {
708
- .wapk-admin .wapk-banner,
709
- .wapk-admin .feed-features {
710
- padding-left: 20%;
711
- padding-right: 20%;
712
- }
713
-
714
- .wapk-admin .wapk-payment {
715
- padding-left: 15%;
716
- padding-right: 15%;
717
- }
718
-
719
- .wapk-admin .feed-pro-comparison {
720
- padding-left: 21.2%;
721
- padding-right: 21.2%;
722
- }
723
-
724
- .wapk-admin .wapk-testimonial-wrapper {
725
- width: 55%;
726
- }
727
- }
728
-
729
- .wapk-feed-pro-upgrade .wapk-feed-cta,
730
- .wapk-feed-docs .wapk-feed-cta,
731
- .wapk-admin .feed-pro-comparison,
732
- .wapk-admin .wapk-payment,
733
- .wapk-admin .feed-features,
734
- .wapk-admin .wapk-testimonial,
735
- .wapk-admin .wapk-feed-banner {
736
- margin: 0;
737
- }
738
-
739
- .wapk-feed-banner .wapk-banner {
740
- margin: 0;
741
- padding: 0;
742
  }
1
+ table.wf-info-table th a,
2
+ table.wf-rate-table th strong {
3
+ font-weight: bold;
4
+ }
5
+
6
+ table.wf-info-table th a,
7
+ table.wf-rate-table a {
8
+ color: #0073aa;
9
+ }
10
+
11
+ table.wf-info-table th a.get-woo-feed-pro {
12
+ display: inline-block;
13
+ text-decoration: none;
14
+ background: #f3f5f6;
15
+ color: #ff3355;
16
+ vertical-align: top;
17
+ font-size: 14px;
18
+ line-height: 3.14285714;
19
+ box-sizing: border-box;
20
+ margin: 0;
21
+ border-radius: 35px;
22
+ box-shadow: 1px 2px 10px 1px rgba(255, 51, 85, 0.5);
23
+ }
24
+
25
+ table.wf-info-table th a.get-woo-feed-pro img {
26
+ display: block;
27
+ position: relative;
28
+ margin: -2px;
29
+ width: 180px;
30
+ height: auto;
31
+ }
32
+
33
+ table.wf-info-table th a.button {
34
+ border-color: #0073aa;
35
+ border-radius: 35px;
36
+ }
37
+
38
+ table.wf-info-table th a.documentation {
39
+ color: #0073aa;
40
+ }
41
+
42
+ table.wf-info-table th a.tutorial {
43
+ color: #ee264a;
44
+ }
45
+
46
+ table.wf-info-table th a.support {
47
+ color: #0DD41E;
48
+ }
49
+
50
+ /**
51
+ * Premium Page Design
52
+ */
53
+ .wp-submenu li span.woo-feed-premium {
54
+ font-weight: bold;
55
+ color: #28e499;
56
+ }
57
+
58
+ .wp-submenu li:hover span.woo-feed-premium,
59
+ .wp-submenu li.current span.woo-feed-premium {
60
+ color: #1dc381;
61
+ }
62
+
63
+ .woo_feed_free_manage_attribute {
64
+ margin: 0 auto;
65
+ width: 100%;
66
+ }
67
+
68
+ .woo_feed_screenshort {
69
+ max-width: 100%;
70
+ width: 1000px;
71
+ border: 3px solid #00b9eb;
72
+ display: block;
73
+ margin: 0 auto;
74
+ }
75
+
76
+ .woo-feed-screen-shot-title {
77
+ font-size: 36px;
78
+ text-align: center;
79
+ box-sizing: content-box;
80
+ color: #00b9eb;
81
+ }
82
+
83
+ .woo_feed_screen {
84
+ background: #fff;
85
+ padding: 25px 20px;
86
+ margin-bottom: 20px;
87
+ }
88
+
89
+ .woo_feed_screen_des {
90
+ text-align: center;
91
+ margin: 20px 50px 20px 50px;
92
+ font-size: 16px;
93
+ color: #666;
94
+ }
95
+
96
+ .woo_feed_screen_des_2 {
97
+ text-align: center;
98
+ margin: 20px 50px 5px 50px;
99
+ font-size: 14px;
100
+ color: #32373c;
101
+ }
102
+
103
+
104
+ .wapk-admin .wapk-feed-upgrade {
105
+ font-family: 'Open Sans', sans-serif;
106
+ margin: -10px -20px 0 -22px;
107
+ }
108
+
109
+ .wapk-admin .wapk-feed-upgrade a {
110
+ transition: all 0.2s ease;
111
+ }
112
+
113
+ .wapk-admin .section-title {
114
+ text-align: center;
115
+ font-size: 30px;
116
+ line-height: 1.5em;
117
+ font-weight: 400;
118
+ position: relative;
119
+ margin: 0 0 58px;
120
+ }
121
+
122
+ .wapk-admin .section-title:after {
123
+ content: '';
124
+ position: absolute;
125
+ bottom: -21px;
126
+ left: 50%;
127
+ transform: translateX(-50%);
128
+ width: 38px;
129
+ height: 5px;
130
+ border-radius: 3px;
131
+ background-color: #00D4D4;
132
+ }
133
+
134
+ .wapk-admin .section-title .section-sub-title {
135
+ font-size: 22px;
136
+ font-weight: 300;
137
+ }
138
+
139
+ .wapk-admin .wapk-banner {
140
+ background-color: #f2f2f2;
141
+ font-size: 16px;
142
+ display: flex;
143
+ align-items: center;
144
+ padding: 50px 8%;
145
+ border-bottom: 1px solid #eee;
146
+ }
147
+
148
+ .wapk-admin .wapk-banner .wapk-banner__graphics {
149
+ width: 100%;
150
+ }
151
+
152
+ .wapk-admin .wapk-banner .wapk-banner__content h1 {
153
+ font-size: 27px;
154
+ line-height: 1.5em;
155
+ }
156
+
157
+ .wapk-admin .wapk-banner .wapk-banner__content p {
158
+ font-size: 16px;
159
+ line-height: 1.5em;
160
+ font-weight: 300;
161
+ margin: 0;
162
+ /*noinspection CssFloatPxLength*/
163
+ letter-spacing: 0.5px;
164
+ }
165
+
166
+ .wapk-admin .feed-features,
167
+ .wapk-admin .wapk-testimonial,
168
+ .wapk-admin .feed-pricing {
169
+ text-align: center;
170
+ padding: 75px 30px 85px;
171
+ background-color: #f7f8f9;
172
+ }
173
+
174
+ .wapk-admin .feed-features .feed-feature__list {
175
+ display: flex;
176
+ flex-wrap: wrap;
177
+ align-items: flex-start;
178
+ justify-content: center;
179
+ }
180
+
181
+ .wapk-admin .feed-features .feed-features__more {
182
+ margin-top: 25px;
183
+ }
184
+
185
+ .feed-feature__item {
186
+ flex: 0 0 28.9%;
187
+ margin: 0 2.2% 4.4% 2.2%;
188
+ text-align: center;
189
+ border-radius: 5px;
190
+ background-color: #ffffff;
191
+ transition: all 100ms linear;
192
+ overflow: hidden;
193
+ }
194
+
195
+ .feed-feature__item:hover {
196
+ box-shadow: 5px 4px 32px -16px rgba(0, 0, 0, 0.63);
197
+ }
198
+
199
+ .feed-feature__thumb {
200
+ overflow: hidden;
201
+ }
202
+
203
+ .feed-feature__item .feed-feature__thumb img {
204
+ border-radius: 5px 5px 0 0;
205
+ max-width: 100%;
206
+ width: 100%;
207
+ -webkit-transition: all 100ms linear;
208
+ -moz-transition: all 100ms linear;
209
+ -ms-transition: all 100ms linear;
210
+ -o-transition: all 100ms linear;
211
+ transition: all 100ms linear;
212
+ }
213
+
214
+ .feed-feature__item:hover .feed-feature__thumb img {
215
+ transform: scale(1.05);
216
+ }
217
+
218
+ .feed-feature__item .feed-feature__description {
219
+ padding: 20px 15px 25px;
220
+ }
221
+
222
+ .feed-feature__item .feed-feature__description h3 {
223
+ font-size: 15px;
224
+ line-height: 1.5em;
225
+ font-weight: 300;
226
+ margin: 0;
227
+ }
228
+
229
+ .wapk-admin .feed-pro-comparison {
230
+ background-color: #f1f1f1;
231
+ padding: 75px;
232
+ }
233
+
234
+ .wapk-admin .feed-features .section-title h2,
235
+ .wapk-admin .wapk-testimonial .section-title h2,
236
+ .wapk-admin .feed-pro-comparison .section-title h2,
237
+ .wapk-admin .feed-pricing .section-title h2 {
238
+ margin-top: 0;
239
+ margin-bottom: 0;
240
+ }
241
+
242
+ .wapk-admin .comparison-table {
243
+ display: flex;
244
+ justify-content: space-between;
245
+ }
246
+
247
+ .wapk-admin .comparison-table .comparison {
248
+ flex: 0 0 48%;
249
+ background-color: #fff;
250
+ border: 1px solid #e0e9ec;
251
+ border-radius: 5px;
252
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
253
+ padding: 50px;
254
+ box-sizing: border-box;
255
+ }
256
+
257
+ .wapk-admin .comparison .product-header {
258
+ margin-bottom: 58px;
259
+ position: relative;
260
+ }
261
+
262
+ .wapk-admin .comparison .product-header:after {
263
+ content: "";
264
+ position: absolute;
265
+ bottom: -23px;
266
+ left: 0;
267
+ width: 38px;
268
+ height: 5px;
269
+ border-radius: 3px;
270
+ background-color: #d7d7d7;
271
+ }
272
+
273
+ .wapk-admin .comparison .product-header img {
274
+ max-width: 160px;
275
+ width: 100%;
276
+ }
277
+
278
+ .wapk-admin .comparison .product-features {
279
+ margin: 0;
280
+ }
281
+
282
+ .wapk-admin .comparison li {
283
+ position: relative;
284
+ display: flex;
285
+ margin-bottom: 15px;
286
+ padding-left: 30px;
287
+ font-size: 14px;
288
+ line-height: 1.3em;
289
+ font-weight: 300;
290
+ align-items: center;
291
+ }
292
+
293
+ .wapk-admin .comparison li.unavailable {
294
+ color: #CED2D6;
295
+ }
296
+
297
+ .wapk-admin .comparison li span.dashicons {
298
+ position: absolute;
299
+ top: 1px;
300
+ left: 6px;
301
+ width: 18px;
302
+ height: 18px;
303
+ border-radius: 100%;
304
+ background: #00D4D4;
305
+ color: #FFF;
306
+ line-height: 22px;
307
+ font-size: 14px;
308
+ text-align: center;
309
+ }
310
+
311
+ .wapk-admin .comparison li.unavailable {
312
+ color: #CED2D6;
313
+ }
314
+
315
+ .wapk-admin .comparison li.unavailable span.dashicons {
316
+ background: #CED2D6;
317
+ }
318
+
319
+ .wapk-admin .comparison li span.dashicons-no {
320
+ font-size: 12px;
321
+ }
322
+
323
+ .wapk-admin .comparison li span.dashicons-no:before {
324
+ left: 0;
325
+ }
326
+
327
+ .wapk-admin .comparison li span.dashicons:before {
328
+ position: relative;
329
+ left: -0.5px;
330
+ top: -2px;
331
+ }
332
+
333
+ .wapk-admin .comparison li img {
334
+ width: 18px;
335
+ margin-right: 12px;
336
+ }
337
+
338
+ .wapk-admin .feed-pricing {
339
+ }
340
+
341
+ .wapk-pricing__table {
342
+ width: 100%;
343
+ display: -webkit-box;
344
+ display: -webkit-flex;
345
+ display: -ms-flexbox;
346
+ display: flex;
347
+ -webkit-flex-wrap: wrap;
348
+ -ms-flex-wrap: wrap;
349
+ flex-wrap: wrap;
350
+ -webkit-align-content: flex-start;
351
+ -ms-flex-line-pack: start;
352
+ align-content: flex-start;
353
+ justify-content: center;
354
+ }
355
+
356
+ .wapk-pricing__table__item {
357
+ position: relative;
358
+ flex: 0 0 23%;
359
+ }
360
+
361
+ .wapk-price__table__wrapper {
362
+ position: relative;
363
+ padding: 10px;
364
+ }
365
+
366
+ .wapk-price__table {
367
+ text-align: center;
368
+ display: block;
369
+ width: 100%;
370
+ padding: 10px;
371
+ background-color: #fff;
372
+ border-radius: 8px 8px 8px 8px;
373
+ box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);
374
+ overflow: hidden;
375
+ -webkit-transition: background .3s, border .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
376
+ transition: background .3s, border .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
377
+ -o-transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
378
+ transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
379
+ transition: background .3s, border .3s, border-radius .3s, box-shadow .3s, -webkit-border-radius .3s, -webkit-box-shadow .3s;
380
+ }
381
+
382
+ .wapk-price__table__header {
383
+ background-color: #fff;
384
+ padding: 40px 0 0;
385
+ }
386
+
387
+ .wapk-price__table__heading {
388
+ color: #6d7882;
389
+ font-size: 17px;
390
+ font-weight: 500;
391
+ text-transform: uppercase;
392
+ letter-spacing: 10px;
393
+ font-family: sans-serif;
394
+ margin: 0;
395
+ padding: 0;
396
+ line-height: 1.2;
397
+ }
398
+
399
+ .wapk-price__table__price {
400
+ font-family: sans-serif;
401
+ font-weight: 600;
402
+ padding: 30px 0 10px;
403
+ display: -webkit-box;
404
+ display: -ms-flexbox;
405
+ display: flex;
406
+ -webkit-box-pack: center;
407
+ -ms-flex-pack: center;
408
+ justify-content: center;
409
+ -webkit-box-align: center;
410
+ -ms-flex-align: center;
411
+ align-items: center;
412
+ -ms-flex-wrap: wrap;
413
+ flex-wrap: wrap;
414
+ -webkit-box-orient: horizontal;
415
+ -webkit-box-direction: normal;
416
+ -ms-flex-direction: row;
417
+ flex-direction: row;
418
+ color: #434363;
419
+ font-size: 45px;
420
+ }
421
+
422
+ .wapk-price__table__amount {
423
+ }
424
+
425
+ .wapk-price__table__currency {
426
+ align-self: flex-start;
427
+ color: #434363;
428
+ line-height: 1;
429
+ font-size: .3em;
430
+ margin-right: 3px;
431
+ }
432
+
433
+ .wapk-price__table__amount .free,
434
+ .wapk-price__table__amount .integer-part {
435
+ color: #434363;
436
+ line-height: .8;
437
+ }
438
+
439
+ .wapk-price__table__amount .decimal-part {
440
+ font-size: 14px;
441
+ font-weight: 400;
442
+ }
443
+
444
+ .wapk-price__table__amount .period {
445
+ font-size: 14px;
446
+ font-weight: 400;
447
+ }
448
+
449
+ .wapk-price__table__amount___legend {
450
+ width: 100%;
451
+ color: #FF4B4B;
452
+ font-size: 18px;
453
+ font-weight: 500;
454
+ line-height: 2.5em;
455
+ }
456
+
457
+ .wapk-price__table__features {
458
+ list-style-type: none;
459
+ margin: 0;
460
+ padding: 0;
461
+ line-height: 1;
462
+ color: #697279;
463
+ text-align: left;
464
+ }
465
+
466
+ .wapk-price__table__features li.item {
467
+ list-style-type: none;
468
+ margin: 0;
469
+ padding: 0;
470
+ font-size: 13px;
471
+ line-height: 1.5em;
472
+ }
473
+
474
+ .wapk-price__table__features li:not(:first-child):before {
475
+ content: "";
476
+ display: block;
477
+ /* border: 0 solid hsla(0,0%,48%,.3); */
478
+ margin: 10px 12.5%;
479
+ }
480
+
481
+ .wapk-price__table__feature {
482
+ display: block;
483
+ margin-left: calc(((100% - 80%) / 2) + 20px);
484
+ margin-right: calc((100% - 80%) / 2);
485
+ }
486
+
487
+ span.wapk-price__table__feature span.dashicons {
488
+ margin-left: -20px;
489
+ top: 2px;
490
+ position: relative;
491
+ }
492
+
493
+ .wapk-price__table__footer {
494
+ padding: 40px 0;
495
+ }
496
+
497
+ .wapk-price__table__footer a {
498
+ font-size: 14px;
499
+ text-transform: uppercase;
500
+ letter-spacing: 3px;
501
+ border-radius: 100px 100px 100px 100px;
502
+ padding: 16px 42px;
503
+ transition: all 250ms;
504
+ }
505
+
506
+ .wapk-price__table__footer a:hover,
507
+ .wapk-price__table__footer a:focus,
508
+ .wapk-price__table__footer a:active {
509
+ transform: scale(1.02) !important;
510
+ }
511
+
512
+ .wapk-price__table__ribbon {
513
+ pointer-events: none;
514
+ touch-action: none;
515
+ -webkit-user-select: none;
516
+ -moz-user-select: none;
517
+ -ms-user-select: none;
518
+ user-select: none;
519
+ position: absolute;
520
+ top: 10px;
521
+ left: auto;
522
+ right: 10px;
523
+ -webkit-transform: rotate(90deg);
524
+ -ms-transform: rotate(90deg);
525
+ transform: rotate(90deg);
526
+ width: 150px;
527
+ overflow: hidden;
528
+ height: 150px;
529
+ }
530
+
531
+ .wapk-price__table__ribbon__inner {
532
+ background: #FF4B4B;
533
+ font-family: sans-serif;
534
+ font-weight: 500;
535
+ color: #fff;
536
+ font-size: 11px;
537
+ /*noinspection CssFloatPxLength*/
538
+ letter-spacing: 1.1px;
539
+ box-shadow: 0 0 30px 0 rgba(0, 0, 0, .21);
540
+ text-align: center;
541
+ left: 0;
542
+ width: 200%;
543
+ -webkit-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
544
+ -ms-transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
545
+ transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
546
+ margin-top: 35px;
547
+ line-height: 2;
548
+ text-transform: uppercase;
549
+ }
550
+
551
+ .wapk-admin .wapk-payment {
552
+ display: flex;
553
+ background: #fff;
554
+ justify-content: space-between;
555
+ padding: 85px 65px 85px;
556
+ align-items: center;
557
+ }
558
+
559
+ .wapk-payment .payment-guarantee {
560
+ display: flex;
561
+ flex: 0 0 63%;
562
+ align-content: center;
563
+ align-items: center;
564
+ position: relative;
565
+ }
566
+
567
+ .wapk-payment .payment-guarantee:after {
568
+ content: "";
569
+ position: absolute;
570
+ right: -18px;
571
+ top: 50%;
572
+ transform: translateY(-50%);
573
+ width: 5px;
574
+ height: 38px;
575
+ border-radius: 3px;
576
+ background: #00D4D4;
577
+ }
578
+
579
+ .wapk-payment .payment-guarantee .guarantee-seal img {
580
+ max-width: 100%;
581
+ width: 280px;
582
+ }
583
+
584
+ .wapk-payment .payment-guarantee .guarantee-detail {
585
+ padding-left: 25px;
586
+ }
587
+
588
+ .wapk-payment .payment-guarantee .guarantee-detail h2 {
589
+ font-size: 24px;
590
+ line-height: 1.5em;
591
+ font-weight: 400;
592
+ margin: 0;
593
+ }
594
+
595
+ .wapk-payment .payment-guarantee .guarantee-detail p {
596
+ font-size: 15px;
597
+ line-height: 1.5em;
598
+ font-weight: 300;
599
+ margin: 5px 0 20px;
600
+ }
601
+
602
+ .wapk-payment .payment-guarantee .guarantee-detail a {
603
+ color: #00D4D4;
604
+ font-size: 15px;
605
+ line-height: 1.5em;
606
+ text-decoration: none;
607
+ }
608
+
609
+ .wapk-payment .payment-guarantee .guarantee-detail a span.dashicons,
610
+ .wapk-payment .payment-guarantee .guarantee-detail a img {
611
+ width: 18px;
612
+ margin-right: 4px;
613
+ margin-top: 1px;
614
+ }
615
+
616
+ .wapk-payment .payment-options {
617
+ flex-grow: 0.5;
618
+ }
619
+
620
+ .wapk-payment .payment-options h3 {
621
+ font-size: 15px;
622
+ font-weight: 300;
623
+ margin: 0 0 17px;
624
+ }
625
+
626
+ .wapk-payment .payment-options .options {
627
+ }
628
+
629
+ .wapk-payment .payment-options .options h4 {
630
+ color: #CED2D6;
631
+ }
632
+
633
+ .wapk-payment .payment-options .options li {
634
+ float: left;
635
+ overflow: hidden;
636
+ }
637
+
638
+ .wapk-payment .payment-options .options li img {
639
+ height: 20px;
640
+ margin-right: 5px;
641
+ }
642
+
643
+ /** Testimonial **/
644
+ .wapk-admin .wapk-testimonials {
645
+ }
646
+
647
+ .wapk-admin .wapk-testimonial-wrapper:before {
648
+ content: '';
649
+ position: absolute;
650
+ left: 79px;
651
+ top: -15px;
652
+ width: 80px;
653
+ height: 56px;
654
+ border-radius: 3px;
655
+ background: transparent url(../images/block-quote.svg) no-repeat;
656
+ background-size: cover;
657
+ }
658
+
659
+ .wapk-admin .wapk-testimonial-wrapper {
660
+ position: relative;
661
+ display: block;
662
+ width: 80%;
663
+ margin: 0 auto;
664
+ padding: 0;
665
+ text-align: center;
666
+ }
667
+
668
+ .testimonial-item__user .avatar {
669
+ width: 100px;
670
+ height: 100px;
671
+ margin: 0 auto;
672
+ border-radius: 100%;
673
+ border: 3px solid #efefef;
674
+ overflow: hidden;
675
+ }
676
+
677
+ .testimonial-item {
678
+ margin-bottom: 25px;
679
+ }
680
+
681
+ .testimonial-item__user .avatar img {
682
+ max-width: 100%;
683
+ width: 100%;
684
+ margin: 0 auto;
685
+ padding: 0;
686
+ display: block;
687
+ }
688
+
689
+ .testimonial-item__comment {
690
+ position: relative;
691
+ display: block;
692
+ width: 70%;
693
+ margin: 0 auto 30px;
694
+ }
695
+
696
+ .testimonial-item__user h4.author-name {
697
+ font-size: 25px;
698
+ font-weight: 300;
699
+ margin: 10px auto;
700
+ }
701
+
702
+ .testimonial-item__user span.author-meta {
703
+ font-size: 16px;
704
+ font-weight: 300;
705
+ }
706
+
707
+ @media screen and (min-width: 1281px) {
708
+ .wapk-admin .wapk-banner,
709
+ .wapk-admin .feed-features {
710
+ padding-left: 20%;
711
+ padding-right: 20%;
712
+ }
713
+
714
+ .wapk-admin .wapk-payment {
715
+ padding-left: 15%;
716
+ padding-right: 15%;
717
+ }
718
+
719
+ .wapk-admin .feed-pro-comparison {
720
+ padding-left: 21.2%;
721
+ padding-right: 21.2%;
722
+ }
723
+
724
+ .wapk-admin .wapk-testimonial-wrapper {
725
+ width: 55%;
726
+ }
727
+ }
728
+
729
+ .wapk-feed-pro-upgrade .wapk-feed-cta,
730
+ .wapk-feed-docs .wapk-feed-cta,
731
+ .wapk-admin .feed-pro-comparison,
732
+ .wapk-admin .wapk-payment,
733
+ .wapk-admin .feed-features,
734
+ .wapk-admin .wapk-testimonial,
735
+ .wapk-admin .wapk-feed-banner {
736
+ margin: 0;
737
+ }
738
+
739
+ .wapk-feed-banner .wapk-banner {
740
+ margin: 0;
741
+ padding: 0;
742
  }
admin/css/woo-feed-admin.css CHANGED
@@ -1,1521 +1,1521 @@
1
- /**
2
- * All of the CSS for your admin-specific functionality should be
3
- * included in this file.
4
- */
5
- .wpf_spin {
6
- -webkit-animation: spin 1000ms infinite linear;
7
- animation: spin 1000ms infinite linear; }
8
- .wpf_spin.reverse_spin {
9
- animation-direction: reverse; }
10
-
11
- .wpf_regenerate.disabled {
12
- color: #737373;
13
- box-shadow: none;
14
- cursor: not-allowed; }
15
-
16
- @-webkit-keyframes spin {
17
- 0% {
18
- -webkit-transform: rotate(0deg);
19
- transform: rotate(0deg); }
20
- 100% {
21
- -webkit-transform: rotate(359deg);
22
- transform: rotate(359deg); } }
23
-
24
- @keyframes spin {
25
- 0% {
26
- -webkit-transform: rotate(0deg);
27
- transform: rotate(0deg); }
28
- 100% {
29
- -webkit-transform: rotate(359deg);
30
- transform: rotate(359deg); } }
31
-
32
- .wfbtn {
33
- background: #3498db;
34
- background-image: linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
35
- border-radius: 17px;
36
- box-shadow: inset 0 1px 3px #666666;
37
- font-family: Arial, sans-serif;
38
- color: #ffffff;
39
- font-size: 20px;
40
- padding: 10px 20px 10px 20px;
41
- border: solid #2b698f 0px;
42
- text-decoration: none; }
43
- .wfbtn:hover {
44
- background: #3cb0fd;
45
- background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
46
- text-decoration: none; }
47
-
48
- .woo_feed_manage_list_table .wf_update_interval_btn {
49
- background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
50
- border: none; }
51
- .woo_feed_manage_list_table .wf_update_interval_btn:hover {
52
- background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%); }
53
-
54
- .woo-feed-promotion {
55
- position: relative;
56
- display: none; }
57
- .woo-feed-promotion .woo-feed-campaign-close-button {
58
- position: absolute;
59
- top: 50%;
60
- -webkit-transform: translateY(-50%);
61
- transform: translateY(-50%);
62
- right: 15px;
63
- width: 24px;
64
- height: 24px;
65
- border-radius: 12px;
66
- background: #595d6b;
67
- line-height: 24px;
68
- color: #fff;
69
- cursor: pointer;
70
- transition: .3s ease; }
71
- .woo-feed-promotion .woo-feed-campaign-close-button:hover {
72
- background: #fff;
73
- color: #d61e48; }
74
-
75
- .wftooltip {
76
- display: none;
77
- position: absolute;
78
- border: 1px solid #333;
79
- background-color: #161616;
80
- border-radius: 5px;
81
- padding: 10px;
82
- color: #fff;
83
- font-size: 12px; }
84
-
85
- .feed-actions .makeFeedResponse {
86
- width: 70%;
87
- color: green; }
88
-
89
- .woo-feed-mapping-input {
90
- width: 100%; }
91
-
92
- .requiredIn {
93
- color: red; }
94
-
95
- .generalInput {
96
- width: 200px; }
97
- .generalInput:not(.selectize-control) {
98
- margin: 5px auto; }
99
-
100
- .error {
101
- color: red; }
102
-
103
- .widefat td select, .widefat td input {
104
- max-width: 100%; }
105
-
106
- #wf_newRow {
107
- margin-left: 0; }
108
-
109
- .mtable tbody tr {
110
- height: 25px;
111
- border: 1px solid #CCC;
112
- text-align: left;
113
- -ms-flex-align: baseline;
114
- align-items: baseline;
115
- font-weight: bold; }
116
-
117
- .mtable th:nth-child(1) {
118
- width: 17px; }
119
-
120
- .mtable th:nth-child(2) {
121
- width: 160px; }
122
-
123
- .mtable th:nth-child(3) {
124
- width: 100px; }
125
-
126
- .mtable th:nth-child(4) {
127
- width: 100px; }
128
-
129
- .mtable th:nth-child(5) {
130
- width: 150px; }
131
-
132
- .mtable th:nth-child(6) {
133
- width: 100px; }
134
-
135
- .mtable th:nth-child(7) {
136
- width: 150px; }
137
-
138
- .mtable th:nth-child(8) {
139
- width: 90px; }
140
-
141
- .mtable th:nth-child(9) {
142
- width: 29px; }
143
-
144
- .mtable2 tbody tr {
145
- height: 25px;
146
- border: 1px solid #CCC;
147
- text-align: left;
148
- -ms-flex-align: baseline;
149
- align-items: baseline;
150
- font-weight: bold; }
151
-
152
- .mtable2 th:nth-child(1) {
153
- width: 30px; }
154
-
155
- .mtable2 th:nth-child(2) {
156
- width: 150px; }
157
-
158
- .mtable2 th:nth-child(3) {
159
- width: 230px; }
160
-
161
- .mtable2 th:nth-child(4) {
162
- width: 220px; }
163
-
164
- .mtable2 th:nth-child(7) {
165
- width: 50px; }
166
-
167
- .mtable2 th:nth-child(8) {
168
- width: 50px; }
169
-
170
- .mtable2 th:nth-child(9) {
171
- width: 29px; }
172
-
173
- .wp-admin select.wf_mattributes {
174
- width: 150px;
175
- left: 0;
176
- height: 25px; }
177
-
178
- div#wf-tab-content1 select:not([name^="output_type"]) {
179
- width: 100%; }
180
-
181
- div#wf-tab-content1 input {
182
- width: 100%; }
183
-
184
- div#wf-tab-content1 .dashicons {
185
- vertical-align: middle; }
186
-
187
- .wf_attributes {
188
- width: 150px;
189
- left: 0; }
190
-
191
- .wf_compare {
192
- max-width: 245px;
193
- left: 0; }
194
-
195
- .wf_ps {
196
- width: 100px;
197
- left: 0; }
198
-
199
- .wf_sortedtable {
200
- cursor: move; }
201
-
202
- .sorted_table {
203
- position: relative; }
204
- .sorted_table .dragged {
205
- position: absolute;
206
- opacity: 0.8;
207
- z-index: 9999;
208
- background: #fff;
209
- width: 100%;
210
- display: table; }
211
- .sorted_table tbody tr.placeholder td {
212
- border: 1px dashed #2cc185;
213
- height: 46px; }
214
-
215
- .wfnoempty {
216
- width: 120px; }
217
-
218
- /*==================Tab Design=======================*/
219
- .wf_tabs {
220
- position: relative;
221
- margin: 0 auto;
222
- width: 100%;
223
- list-style: none;
224
- /*bottom: 50px;*/ }
225
-
226
- .wf_tabs:after {
227
- display: table;
228
- clear: both;
229
- content: ""; }
230
-
231
- .wf_tabs li {
232
- float: left;
233
- width: 20%;
234
- display: block;
235
- border: 2px solid #CCC; }
236
-
237
- .wf_tabs li > input[type="radio"][name="wf_tabs"] {
238
- position: absolute;
239
- top: auto;
240
- left: -9999px; }
241
-
242
- .wf-tab-name {
243
- display: block;
244
- padding: 15px;
245
- font-size: 15px;
246
- font-weight: bold;
247
- line-height: 1;
248
- background: #fff;
249
- cursor: pointer;
250
- position: relative;
251
- text-align: center;
252
- text-transform: uppercase;
253
- color: #2CC185; }
254
-
255
- .wf-tab-name:hover {
256
- background: #2CC185;
257
- color: white; }
258
-
259
- .wf_tabs [id^="tab"]:checked + label {
260
- background: #2CC185;
261
- color: white; }
262
-
263
- .wf_tabs .wf-tab-content {
264
- z-index: 2;
265
- display: none;
266
- width: 100%;
267
- font-size: 0.9rem;
268
- position: absolute;
269
- left: 0;
270
- background: #fff;
271
- border: 2px solid #CCC; }
272
-
273
- .wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
274
- display: block; }
275
-
276
- [id^="wf-tab-content"] {
277
- margin-bottom: 40px; }
278
-
279
- div#wf-tab-content2 table:first-child {
280
- padding: 10px 0; }
281
-
282
- div#wf-tab-content2 table:first-child td:nth-child(1) {
283
- width: 260px; }
284
-
285
- div#wf-tab-content2 table:first-child td:nth-child(2) {
286
- width: 260px; }
287
-
288
- table.feed-actions tr td:last-child {
289
- text-align: right; }
290
-
291
- /* Selectize */
292
- select.selectize {
293
- display: none; }
294
-
295
- body.no-js select.selectize {
296
- display: block !important; }
297
-
298
- .wp-list-table .option_name .wf_feed_option_name_link {
299
- font-weight: 700;
300
- color: #30336b; }
301
-
302
- .wp-list-table #option_name a {
303
- color: #32373c; }
304
-
305
- /* fallback combat */
306
- .selectize-dropdown .active {
307
- background-color: #edf9ff; }
308
-
309
- .selectize-dropdown .create {
310
- padding: 5px 8px; }
311
-
312
- .wapk-selectize-item {
313
- background: #0073aa !important;
314
- color: #f1f1f1 !important;
315
- font-weight: bold !important;
316
- border-color: #0073aa !important;
317
- padding-left: 5px;
318
- padding-right: 5px; }
319
-
320
- .selectize-input.full #googleTaxonomyId-selectized {
321
- opacity: 0;
322
- position: absolute;
323
- left: -10000px; }
324
-
325
- .selectize-dropdown [data-selectable].option {
326
- cursor: default; }
327
-
328
- .selectize-control.plugin-remove_button [data-value] .remove {
329
- border-left: 1px solid #f1f1f1 !important; }
330
-
331
- .selectize-dropdown .optgroup-header {
332
- font-weight: 700;
333
- background: #efefef;
334
- color: #5a5a5a; }
335
-
336
- .selectize-dropdown [data-selectable].option {
337
- cursor: pointer; }
338
-
339
- /* Feed active and inactive button CSS */
340
- .wf_status_wrap label {
341
- width: 55px;
342
- height: 28px;
343
- box-sizing: border-box;
344
- float: left;
345
- border-radius: 100px;
346
- position: relative;
347
- cursor: pointer;
348
- transition: .3s ease;
349
- background: linear-gradient(125deg, #e2e2e2 0, #ccc 140%); }
350
-
351
- input[class=woo_feed_status_input]:checked + label {
352
- background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%); }
353
-
354
- input[class=woo_feed_status_input]:checked + label:before {
355
- left: 29px; }
356
-
357
- .wf_status_wrap label:before {
358
- transition: .3s ease;
359
- content: '';
360
- width: 20px;
361
- height: 20px;
362
- position: absolute;
363
- background: white;
364
- left: 6px;
365
- top: 4px;
366
- box-sizing: border-box;
367
- color: black;
368
- border-radius: 100px;
369
- box-shadow: 0px 1.5px 2px 0px #000; }
370
-
371
- .view span.dashicons.dashicons-external {
372
- color: #22a6b3; }
373
-
374
- .view span.dashicons.dashicons-sos {
375
- color: #22a6b3; }
376
-
377
- .view span.dashicons.dashicons-download {
378
- color: #ee5253; }
379
-
380
- .view span.dashicons.dashicons-media-code {
381
- color: #576574; }
382
-
383
- /* list table style */
384
- .widefat td.column-url, .widefat th.column-url,
385
- .column-url {
386
- color: #1e8f9a;
387
- font-weight: bold; }
388
-
389
- /** Feed Progress **/
390
- .feed-progress-container {
391
- width: 100%;
392
- color: white;
393
- text-align: center;
394
- font-weight: 300; }
395
-
396
- .feed-progress-bar {
397
- width: 100%;
398
- background: #eee;
399
- padding: 3px;
400
- border-radius: 50px;
401
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }
402
-
403
- .feed-progress-bar-fill {
404
- height: 20px;
405
- display: block;
406
- background: linear-gradient(to right top, #10ac84, #13b389, #15ba8f, #18c194, #1ac89a, #13cba1, #0acfa9, #00d2b0, #00d2ba, #00d2c3, #00d2cb, #00d2d3);
407
- width: 0;
408
- border-radius: 50px;
409
- transition: width 0.8s ease; }
410
-
411
- .feed-progress-status {
412
- float: left;
413
- font-weight: bold;
414
- color: darkblue; }
415
-
416
- .feed-progress-percentage {
417
- text-align: right;
418
- font-weight: bolder;
419
- color: #1dd1a1;
420
- font-family: 'Arial Black', sans-serif;
421
- font-size: large; }
422
-
423
- #wpbody-content.woofeed-body-content {
424
- overflow: visible !important; }
425
-
426
- .clippy {
427
- position: relative;
428
- width: 13px;
429
- margin-top: -3px;
430
- margin-left: 3px;
431
- top: 3px; }
432
-
433
- .column-url .clippy {
434
- display: none; }
435
-
436
- .column-url:hover .clippy {
437
- display: inline-block; }
438
-
439
- /**
440
- * Primer Tooltip
441
- */
442
- .tooltipped {
443
- position: relative; }
444
- .tooltipped:after {
445
- position: absolute;
446
- z-index: 1000000;
447
- display: none;
448
- padding: 5px 8px;
449
- font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
450
- color: #fff;
451
- text-align: center;
452
- text-decoration: none;
453
- text-shadow: none;
454
- text-transform: none;
455
- letter-spacing: normal;
456
- word-wrap: break-word;
457
- white-space: pre;
458
- pointer-events: none;
459
- content: attr(aria-label);
460
- background: rgba(0, 0, 0, 0.8);
461
- border-radius: 3px;
462
- -webkit-font-smoothing: subpixel-antialiased; }
463
- .tooltipped:before {
464
- position: absolute;
465
- z-index: 1000001;
466
- display: none;
467
- width: 0;
468
- height: 0;
469
- color: rgba(0, 0, 0, 0.8);
470
- pointer-events: none;
471
- content: "";
472
- border: 5px solid transparent; }
473
- .tooltipped:hover:before {
474
- display: inline-block;
475
- text-decoration: none; }
476
- .tooltipped:hover:after {
477
- display: inline-block;
478
- text-decoration: none; }
479
- .tooltipped:active:before {
480
- display: inline-block;
481
- text-decoration: none; }
482
- .tooltipped:active:after {
483
- display: inline-block;
484
- text-decoration: none; }
485
- .tooltipped:focus:before {
486
- display: inline-block;
487
- text-decoration: none; }
488
- .tooltipped:focus:after {
489
- display: inline-block;
490
- text-decoration: none; }
491
- .tooltipped-multiline:hover:after {
492
- display: table-cell; }
493
- .tooltipped-multiline:active:after {
494
- display: table-cell; }
495
- .tooltipped-multiline:focus:after {
496
- display: table-cell; }
497
- .tooltipped-multiline:after {
498
- width: -webkit-max-content;
499
- width: -moz-max-content;
500
- width: max-content;
501
- max-width: 250px;
502
- word-break: break-word;
503
- word-wrap: normal;
504
- white-space: pre-line;
505
- border-collapse: separate; }
506
- .tooltipped-s:after {
507
- top: 100%;
508
- right: 50%;
509
- margin-top: 5px;
510
- -webkit-transform: translateX(50%);
511
- transform: translateX(50%); }
512
- .tooltipped-s:before {
513
- top: auto;
514
- right: 50%;
515
- bottom: -5px;
516
- margin-right: -5px;
517
- border-bottom-color: rgba(0, 0, 0, 0.8); }
518
- .tooltipped-se:after {
519
- top: 100%;
520
- margin-top: 5px;
521
- right: auto;
522
- left: 50%;
523
- margin-left: -15px; }
524
- .tooltipped-se:before {
525
- top: auto;
526
- right: 50%;
527
- bottom: -5px;
528
- margin-right: -5px;
529
- border-bottom-color: rgba(0, 0, 0, 0.8); }
530
- .tooltipped-sw:after {
531
- top: 100%;
532
- right: 50%;
533
- margin-top: 5px;
534
- margin-right: -15px; }
535
- .tooltipped-sw:before {
536
- top: auto;
537
- right: 50%;
538
- bottom: -5px;
539
- margin-right: -5px;
540
- border-bottom-color: rgba(0, 0, 0, 0.8); }
541
- .tooltipped-n:after {
542
- right: 50%;
543
- bottom: 100%;
544
- margin-bottom: 5px;
545
- -webkit-transform: translateX(50%);
546
- transform: translateX(50%); }
547
- .tooltipped-n:before {
548
- top: -5px;
549
- right: 50%;
550
- bottom: auto;
551
- margin-right: -5px;
552
- border-top-color: rgba(0, 0, 0, 0.8); }
553
- .tooltipped-ne:after {
554
- bottom: 100%;
555
- margin-bottom: 5px;
556
- right: auto;
557
- left: 50%;
558
- margin-left: -15px; }
559
- .tooltipped-ne:before {
560
- top: -5px;
561
- right: 50%;
562
- bottom: auto;
563
- margin-right: -5px;
564
- border-top-color: rgba(0, 0, 0, 0.8); }
565
- .tooltipped-nw:after {
566
- right: 50%;
567
- bottom: 100%;
568
- margin-bottom: 5px;
569
- margin-right: -15px; }
570
- .tooltipped-nw:before {
571
- top: -5px;
572
- right: 50%;
573
- bottom: auto;
574
- margin-right: -5px;
575
- border-top-color: rgba(0, 0, 0, 0.8); }
576
- .tooltipped-w:after {
577
- right: 100%;
578
- bottom: 50%;
579
- margin-right: 5px;
580
- -webkit-transform: translateY(50%);
581
- transform: translateY(50%); }
582
- .tooltipped-w:before {
583
- top: 50%;
584
- bottom: 50%;
585
- left: -5px;
586
- margin-top: -5px;
587
- border-left-color: rgba(0, 0, 0, 0.8); }
588
- .tooltipped-e:after {
589
- bottom: 50%;
590
- left: 100%;
591
- margin-left: 5px;
592
- -webkit-transform: translateY(50%);
593
- transform: translateY(50%); }
594
- .tooltipped-e:before {
595
- top: 50%;
596
- right: -5px;
597
- bottom: 50%;
598
- margin-top: -5px;
599
- border-right-color: rgba(0, 0, 0, 0.8); }
600
- .tooltipped-multiline.tooltipped-s:after {
601
- right: auto;
602
- left: 50%;
603
- -webkit-transform: translateX(-50%);
604
- transform: translateX(-50%); }
605
- .tooltipped-multiline.tooltipped-n:after {
606
- right: auto;
607
- left: 50%;
608
- -webkit-transform: translateX(-50%);
609
- transform: translateX(-50%); }
610
- .tooltipped-multiline.tooltipped-w:after {
611
- right: 100%; }
612
- .tooltipped-multiline.tooltipped-e:after {
613
- right: 100%; }
614
- .tooltipped-sticky:before {
615
- display: inline-block; }
616
- .tooltipped-sticky:after {
617
- display: inline-block; }
618
- .tooltipped-sticky.tooltipped-multiline:after {
619
- display: table-cell; }
620
-
621
- .fullscreen-overlay-enabled.dark-theme .tooltipped:after {
622
- color: #000;
623
- background: rgba(255, 255, 255, 0.8); }
624
-
625
- .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before {
626
- border-bottom-color: rgba(255, 255, 255, 0.8); }
627
-
628
- .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before {
629
- border-bottom-color: rgba(255, 255, 255, 0.8); }
630
-
631
- .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before {
632
- border-bottom-color: rgba(255, 255, 255, 0.8); }
633
-
634
- .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before {
635
- border-top-color: rgba(255, 255, 255, 0.8); }
636
-
637
- .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before {
638
- border-top-color: rgba(255, 255, 255, 0.8); }
639
-
640
- .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before {
641
- border-top-color: rgba(255, 255, 255, 0.8); }
642
-
643
- .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before {
644
- border-right-color: rgba(255, 255, 255, 0.8); }
645
-
646
- .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before {
647
- border-left-color: rgba(255, 255, 255, 0.8); }
648
-
649
- @media screen and (min-width: 0\0) {
650
- .tooltipped-multiline:after {
651
- width: 250px; } }
652
-
653
- ul.tracker_collection_list {
654
- list-style: initial;
655
- padding: initial;
656
- margin: -10px 0 0 30px;
657
- font-size: 11px !important; }
658
- ul.tracker_collection_list li {
659
- margin: 0; }
660
-
661
- /** Info Message Table **/
662
- table.wf-info-table, table.wf-rate-table {
663
- vertical-align: middle;
664
- text-align: center;
665
- max-width: 100%;
666
- font-weight: 500; }
667
- table.wf-info-table th, table.wf-rate-table th {
668
- text-align: center; }
669
- table.wf-info-table th .woo-feed-top-header, table.wf-rate-table th .woo-feed-top-header {
670
- display: -ms-flexbox;
671
- display: flex;
672
- -ms-flex-pack: justify;
673
- justify-content: space-between;
674
- -ms-flex-align: center;
675
- align-items: center; }
676
- table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro, table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro {
677
- margin-left: 20px; }
678
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons {
679
- float: right;
680
- display: -ms-flexbox;
681
- display: flex;
682
- border-radius: 7px;
683
- -ms-flex-pack: center;
684
- justify-content: center;
685
- -ms-flex-align: center;
686
- align-items: center; }
687
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a {
688
- padding: 8px 20px;
689
- background: #576574;
690
- color: #fff;
691
- box-sizing: border-box;
692
- display: inline-block;
693
- transition: .3s ease; }
694
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link {
695
- background: #576574;
696
- border-top-left-radius: 5px;
697
- border-bottom-left-radius: 5px; }
698
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link {
699
- background: #ee5253; }
700
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link {
701
- background: #22a6b3;
702
- border-top-right-radius: 5px;
703
- border-bottom-right-radius: 5px; }
704
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons {
705
- font-size: 18px;
706
- line-height: 1.2; }
707
- table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover {
708
- background: #30336b;
709
- box-shadow: 0px 0px 33px 0px rgba(0, 0, 0, 0.12); }
710
- table.wf-info-table strong, table.wf-rate-table strong {
711
- font-weight: bold; }
712
-
713
- table.wf-info-table th:first-child img {
714
- margin: 0 0 -5px 5px; }
715
-
716
- table.wf-rate-table a {
717
- color: #0073aa; }
718
-
719
- table.wf-rate-table a.review-star:after {
720
- content: "\f155\f155\f155\f155\f155" !important;
721
- font-family: dashicons;
722
- font-size: 10px;
723
- font-weight: 100;
724
- text-rendering: auto;
725
- -webkit-font-smoothing: antialiased;
726
- -moz-osx-font-smoothing: grayscale;
727
- color: #0073aa;
728
- text-decoration: underline; }
729
-
730
- /** Admin Menu Icon **/
731
- #adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before {
732
- content: "";
733
- background: url(../images/woo-feed-icon.svg) no-repeat center center;
734
- background-size: 20px 20px;
735
- opacity: 0.6;
736
- filter: alpha(opacity=60); }
737
-
738
- #adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before {
739
- opacity: 1;
740
- filter: alpha(opacity=100); }
741
-
742
- #adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before {
743
- opacity: 1;
744
- filter: alpha(opacity=100); }
745
-
746
- /** Admin Page Wrapper **/
747
- .wapk-admin, .wapk-admin * {
748
- box-sizing: border-box; }
749
-
750
- .wapk-admin {
751
- position: relative;
752
- display: block;
753
- -webkit-hyphens: manual;
754
- -ms-hyphens: manual;
755
- -moz-hyphens: manual;
756
- hyphens: manual;
757
- color: #1B2730;
758
- /* reset .warp margin to use full width except menu area */
759
- margin: 0 0 0 -10px; }
760
-
761
- @media screen and (min-width: 783px) {
762
- .wapk-admin {
763
- margin: 0 0 0 -20px; } }
764
-
765
- .text-center {
766
- text-align: center; }
767
-
768
- .wapk-admin h1, .wapk-admin h2, .wapk-admin h3,
769
- .wapk-admin h4, .wapk-admin h5, .wapk-admin h6,
770
- .wapk-admin p {
771
- color: #1B2730; }
772
-
773
- .wapk-admin sup {
774
- vertical-align: baseline;
775
- position: relative;
776
- top: -6px; }
777
-
778
- .wapk-admin sub {
779
- vertical-align: baseline;
780
- position: relative;
781
- top: 4px; }
782
-
783
- /* WP.Core.UI Compat */
784
- .wapk-admin .wapk-section {
785
- margin: 10px 20px 0 22px;
786
- position: relative;
787
- display: block; }
788
- .wapk-admin .wapk-section [class$=icon32] + h2 {
789
- font-size: 23px;
790
- font-weight: 400;
791
- margin: 0;
792
- padding: 9px 0 4px 0;
793
- line-height: 1.3; }
794
- .wapk-admin .wapk-section h1 {
795
- font-size: 23px;
796
- font-weight: 400;
797
- margin: 0;
798
- padding: 9px 0 4px 0;
799
- line-height: 1.3; }
800
- .wapk-admin .wapk-section > h2:first-child {
801
- font-size: 23px;
802
- font-weight: 400;
803
- margin: 0;
804
- padding: 9px 0 4px 0;
805
- line-height: 1.3; }
806
-
807
- .wapk-admin > .notice {
808
- margin: 10px 20px 0 22px;
809
- position: relative;
810
- display: block; }
811
-
812
- .wapk-admin span.help {
813
- display: block;
814
- float: left;
815
- width: 100%;
816
- font-size: 0.9em;
817
- color: #636363;
818
- margin-top: 5px;
819
- font-weight: 500; }
820
- .wapk-admin span.help .dashicons {
821
- width: 11px;
822
- height: 12px;
823
- font-size: inherit;
824
- vertical-align: middle; }
825
-
826
- .clear:after {
827
- content: "";
828
- display: table;
829
- clear: both; }
830
-
831
- /*.wapk-admin .help a { color: inherit; text-decoration: underline; }*/
832
- /** Extend WP Core UI PostBox For Docs **/
833
- .wapk-feed-docs .postbox {
834
- width: 355px;
835
- margin-right: 20px;
836
- display: inline-block;
837
- vertical-align: top; }
838
- .wapk-feed-docs .postbox .hndle {
839
- font-size: 14px;
840
- padding: 8px 12px;
841
- margin: 0;
842
- line-height: 1.4;
843
- cursor: pointer; }
844
- .wapk-feed-docs .postbox .dashicons {
845
- color: #ccc; }
846
- .wapk-feed-docs .postbox a {
847
- text-decoration: none; }
848
- .wapk-feed-docs .postbox .inside {
849
- margin-bottom: 0; }
850
- .wapk-feed-docs .postbox ul {
851
- margin-bottom: 0; }
852
- .wapk-feed-docs .postbox .toggle-indicator:before {
853
- content: "\F142";
854
- display: inline-block;
855
- font: 400 20px/1 dashicons;
856
- speak: none;
857
- -webkit-font-smoothing: antialiased;
858
- -moz-osx-font-smoothing: grayscale;
859
- text-decoration: none !important; }
860
- .wapk-feed-docs .postbox li {
861
- width: 100%;
862
- display: block;
863
- float: left; }
864
- .wapk-feed-docs .postbox li span {
865
- display: inline-block;
866
- float: left;
867
- margin-right: 4px; }
868
- .wapk-feed-docs .postbox li a {
869
- display: inline-block;
870
- float: left;
871
- width: calc(100% - 24px); }
872
-
873
- .wapk-feed-docs .postbox.closed .toggle-indicator:before {
874
- content: "\F140"; }
875
-
876
- .wapk-section #post-body.columns-2 #side-sortables {
877
- min-height: 196px; }
878
-
879
- #poststuff #feed_merchant_info .inside {
880
- margin: 0;
881
- padding: 0; }
882
-
883
- #feed_merchant_info ul.data {
884
- margin-left: 24px;
885
- margin-top: 5px; }
886
- #feed_merchant_info ul.data li {
887
- margin-bottom: 5px; }
888
-
889
- .merchant-info-section {
890
- padding: 6px 10px 8px; }
891
- .merchant-info-section.woo-feed-open-file {
892
- text-align: center; }
893
- .merchant-info-section.woo-feed-open-file a {
894
- line-height: 1.5;
895
- text-decoration: none; }
896
-
897
- .generateFeed .wf-tab-content table:first-child {
898
- border: none;
899
- box-shadow: none; }
900
-
901
- .generateFeed table th {
902
- font-weight: bold; }
903
-
904
- @media only screen and (max-width: 850px) {
905
- .wapk-feed-docs .postbox {
906
- display: block;
907
- width: auto;
908
- float: none;
909
- margin-right: auto; } }
910
-
911
- /** Admin Feed Help Docs **/
912
- .wp-submenu li span.woo-feed-docs {
913
- font-weight: bold;
914
- color: #f18500; }
915
-
916
- .wp-submenu li:hover span.woo-feed-docs {
917
- color: #ce7304; }
918
-
919
- .wp-submenu li.current span.woo-feed-docs {
920
- color: #ce7304; }
921
-
922
- .wapk-admin .wapk-feed-docs .postbox .hndle {
923
- cursor: default; }
924
-
925
- /** Admin Call-To-Action **/
926
- .wapk-cta {
927
- position: relative;
928
- display: -ms-flexbox;
929
- display: flex;
930
- width: 100%;
931
- padding: 100px 15px;
932
- background: linear-gradient(45deg, #6CD5FF 33%, #c2efef 100%);
933
- -ms-flex-pack: center;
934
- justify-content: center;
935
- -ms-flex-align: center;
936
- align-items: center; }
937
- .wapk-cta-icon .dashicons {
938
- font-size: 100px;
939
- width: 100px;
940
- height: auto;
941
- margin: 0 10px -8px 0;
942
- color: #02658c; }
943
- .wapk-cta-content {
944
- width: 50%; }
945
- .wapk-cta-content h2 {
946
- font-size: 2em;
947
- margin: 0.5em 0; }
948
- .wapk-cta-action a.wapk-button {
949
- font-size: 24px;
950
- height: auto !important;
951
- padding: 10px 20px; }
952
-
953
- @media (max-width: 600px) {
954
- .wapk-cta {
955
- display: block;
956
- text-align: center;
957
- padding: 4em 0; }
958
- .wapk-cta-content {
959
- width: 100%;
960
- margin: 2em 0; } }
961
-
962
- /** Override .wp-core-ui .wapk-button styles with prefix .wapk-admin **/
963
- /* Button Skin */
964
- .wapk-button {
965
- color: #00D4D4;
966
- border-color: #00D4D4;
967
- display: inline-block;
968
- text-decoration: none;
969
- font-size: 13px;
970
- line-height: 2.15384615;
971
- min-height: 30px;
972
- margin: 0;
973
- padding: 0 10px;
974
- cursor: pointer;
975
- border-width: 1px;
976
- border-style: solid;
977
- -webkit-appearance: none;
978
- border-radius: 3px;
979
- white-space: nowrap;
980
- box-sizing: border-box; }
981
- .wapk-button > svg {
982
- width: 15px;
983
- margin-left: 5px;
984
- fill: #00D4D4; }
985
- .wapk-button > .dashicons {
986
- color: #00D4D4; }
987
- .wapk-button:hover {
988
- border-color: #00bbbb;
989
- color: #00bbbb; }
990
- .wapk-button:hover > svg {
991
- fill: #00bbbb; }
992
- .wapk-button:hover > .dashicons {
993
- color: #00bbbb; }
994
- .wapk-button:focus {
995
- border-color: #00D4D4;
996
- color: #00bbbb;
997
- box-shadow: 0 0 0 1px #00D4D4; }
998
- .wapk-button:focus > svg {
999
- fill: #00bbbb; }
1000
- .wapk-button:focus > .dashicons {
1001
- color: #00bbbb; }
1002
- .wapk-button:active {
1003
- background: #00bbbb;
1004
- border-color: #00bbbb; }
1005
- .wapk-button-secondary {
1006
- color: #00D4D4;
1007
- border-color: #00D4D4;
1008
- display: inline-block;
1009
- text-decoration: none;
1010
- font-size: 13px;
1011
- line-height: 2.15384615;
1012
- min-height: 30px;
1013
- margin: 0;
1014
- padding: 0 10px;
1015
- cursor: pointer;
1016
- border-width: 1px;
1017
- border-style: solid;
1018
- -webkit-appearance: none;
1019
- border-radius: 3px;
1020
- white-space: nowrap;
1021
- box-sizing: border-box; }
1022
- .wapk-button-secondary > svg {
1023
- width: 15px;
1024
- margin-left: 5px;
1025
- fill: #00D4D4; }
1026
- .wapk-button-secondary > .dashicons {
1027
- color: #00D4D4; }
1028
- .wapk-button-secondary:hover {
1029
- border-color: #00bbbb;
1030
- color: #00bbbb; }
1031
- .wapk-button-secondary:hover > svg {
1032
- fill: #00bbbb; }
1033
- .wapk-button-secondary:hover > .dashicons {
1034
- color: #00bbbb; }
1035
- .wapk-button-secondary:focus {
1036
- border-color: #00D4D4;
1037
- color: #00bbbb;
1038
- box-shadow: 0 0 0 1px #00D4D4; }
1039
- .wapk-button-secondary:focus > svg {
1040
- fill: #00bbbb; }
1041
- .wapk-button-secondary:focus > .dashicons {
1042
- color: #00bbbb; }
1043
- .wapk-button-primary {
1044
- display: inline-block;
1045
- text-decoration: none;
1046
- font-size: 13px;
1047
- line-height: 2.15384615;
1048
- min-height: 30px;
1049
- margin: 0;
1050
- padding: 0 10px;
1051
- cursor: pointer;
1052
- border-width: 1px;
1053
- border-style: solid;
1054
- -webkit-appearance: none;
1055
- border-radius: 3px;
1056
- white-space: nowrap;
1057
- box-sizing: border-box;
1058
- background: #00D4D4;
1059
- border-color: #00D4D4;
1060
- color: #fff;
1061
- box-shadow: 0 1px 0 #00bbbb;
1062
- text-shadow: 0 -1px 1px #00bbbb, 1px 0 1px #00bbbb, 0 1px 1px #00bbbb, -1px 0 1px #00bbbb; }
1063
- .wapk-button-primary > svg {
1064
- fill: #fff; }
1065
- .wapk-button-primary:hover {
1066
- background: #00e3e3;
1067
- border-color: #00c5c5;
1068
- color: #fff; }
1069
- .wapk-button-primary:hover > svg {
1070
- fill: #fff; }
1071
- .wapk-button-primary:focus {
1072
- background: #00e3e3;
1073
- border-color: #00c5c5;
1074
- color: #fff;
1075
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #00D4D4; }
1076
- .wapk-button-primary:focus > svg {
1077
- fill: #fff; }
1078
- .wapk-button-primary:active {
1079
- background: #00bbbb;
1080
- border-color: #00bbbb;
1081
- color: #fff; }
1082
- .wapk-button-primary:active > svg {
1083
- fill: #fff; }
1084
- .wapk-button-primary:disabled {
1085
- color: #c7d1d1 !important;
1086
- background: #22ffff !important;
1087
- border-color: #22ffff !important;
1088
- text-shadow: none !important; }
1089
- .wapk-button-primary:disabled > svg {
1090
- fill: #c7d1d1 !important; }
1091
- .wapk-button.hover {
1092
- border-color: #00bbbb;
1093
- color: #00bbbb; }
1094
- .wapk-button.hover > svg {
1095
- fill: #00bbbb; }
1096
- .wapk-button.hover > .dashicons {
1097
- color: #00bbbb; }
1098
- .wapk-button.focus {
1099
- border-color: #00D4D4;
1100
- color: #00bbbb;
1101
- box-shadow: 0 0 0 1px #00D4D4; }
1102
- .wapk-button.focus > svg {
1103
- fill: #00bbbb; }
1104
- .wapk-button.focus > .dashicons {
1105
- color: #00bbbb; }
1106
- .wapk-button.active {
1107
- border-color: #00bbbb;
1108
- color: #00bbbb;
1109
- box-shadow: inset 0 2px 5px -3px #00bbbb; }
1110
- .wapk-button.active:focus {
1111
- border-color: #00bbbb;
1112
- color: #00bbbb;
1113
- box-shadow: inset 0 2px 5px -3px #00bbbb; }
1114
- .wapk-button.active:focus > svg {
1115
- fill: #00bbbb; }
1116
- .wapk-button.active:focus > .dashicons {
1117
- color: #00bbbb; }
1118
- .wapk-button.active:hover {
1119
- border-color: #00bbbb;
1120
- color: #00bbbb;
1121
- box-shadow: inset 0 2px 5px -3px #00bbbb; }
1122
- .wapk-button.active:hover > svg {
1123
- fill: #00bbbb; }
1124
- .wapk-button.active:hover > .dashicons {
1125
- color: #00bbbb; }
1126
- .wapk-button.active > svg {
1127
- fill: #00bbbb; }
1128
- .wapk-button.active > .dashicons {
1129
- color: #00bbbb; }
1130
- .wapk-button-primary.active {
1131
- background: #00D4D4;
1132
- color: #fff;
1133
- border-color: #008888;
1134
- box-shadow: inset 0 2px 5px -3px black; }
1135
- .wapk-button-primary.active:focus {
1136
- background: #00D4D4;
1137
- color: #fff;
1138
- border-color: #008888;
1139
- box-shadow: inset 0 2px 5px -3px black; }
1140
- .wapk-button-primary.active:focus > svg {
1141
- fill: #fff; }
1142
- .wapk-button-primary.active:hover {
1143
- background: #00D4D4;
1144
- color: #fff;
1145
- border-color: #008888;
1146
- box-shadow: inset 0 2px 5px -3px black; }
1147
- .wapk-button-primary.active:hover > svg {
1148
- fill: #fff; }
1149
- .wapk-button-primary.active > svg {
1150
- fill: #fff; }
1151
- .wapk-button-primary[disabled] {
1152
- color: #c7d1d1 !important;
1153
- background: #22ffff !important;
1154
- border-color: #22ffff !important;
1155
- text-shadow: none !important; }
1156
- .wapk-button-primary[disabled] > svg {
1157
- fill: #c7d1d1 !important; }
1158
- .wapk-button-primary.wapk-button-primary-disabled {
1159
- color: #c7d1d1 !important;
1160
- background: #22ffff !important;
1161
- border-color: #22ffff !important;
1162
- text-shadow: none !important; }
1163
- .wapk-button-primary.wapk-button-primary-disabled > svg {
1164
- fill: #c7d1d1 !important; }
1165
- .wapk-button-primary.disabled {
1166
- color: #c7d1d1 !important;
1167
- background: #22ffff !important;
1168
- border-color: #22ffff !important;
1169
- text-shadow: none !important; }
1170
- .wapk-button-primary.disabled > svg {
1171
- fill: #c7d1d1 !important; }
1172
- .wapk-button-primary.wapk-button-hero {
1173
- box-shadow: 0 2px 0 #00bbbb; }
1174
- .wapk-button-primary.wapk-button-hero:focus {
1175
- box-shadow: 0 2px 0 #00bbbb, 0 1px 0 #00c5c5, 0 0 2px 1px #00eeee; }
1176
- .wapk-button-primary.wapk-button-hero:active {
1177
- box-shadow: inset 0 3px 0 #00a1a1; }
1178
- .wapk-button-primary.wapk-button-hero.active {
1179
- box-shadow: inset 0 3px 0 #00a1a1; }
1180
- .wapk-button-primary.wapk-button-hero.active:hover, .wapk-button-primary.wapk-button-hero.active:focus {
1181
- box-shadow: inset 0 3px 0 #00a1a1; }
1182
- .wapk-button-group > .wapk-button.active {
1183
- border-color: #00D4D4; }
1184
-
1185
- /* Button Sizes */
1186
- .wapk-button.wapk-button-xl {
1187
- height: 30px;
1188
- line-height: 28px;
1189
- padding: 0 12px 2px; }
1190
-
1191
- .wapk-button-group.wapk-button-xl .wapk-button {
1192
- height: 30px;
1193
- line-height: 28px;
1194
- padding: 0 12px 2px; }
1195
-
1196
- .wapk-button.wapk-button-hero {
1197
- font-size: 18px;
1198
- height: 50px;
1199
- line-height: 48px;
1200
- padding: 0 36px;
1201
- min-height: 46px; }
1202
-
1203
- .wapk-button-group.wapk-button-hero .wapk-button {
1204
- font-size: 18px;
1205
- height: 50px;
1206
- line-height: 48px;
1207
- padding: 0 36px;
1208
- min-height: 46px; }
1209
-
1210
- @media screen and (min-width: 782px) {
1211
- th#status,
1212
- th#provider {
1213
- width: 80px; }
1214
- th#type {
1215
- width: 50px; }
1216
- th#option_name {
1217
- width: 100px; }
1218
- td.option_name.column-option_name > span:first-child {
1219
- display: none; }
1220
- th#last_updated {
1221
- width: 90px; }
1222
- th#view {
1223
- width: 111px; } }
1224
-
1225
- @media screen and (min-width: 960px) {
1226
- th#status, th#provider {
1227
- width: 100px; }
1228
- th#type {
1229
- width: 80px; }
1230
- th#option_name {
1231
- width: 150px; }
1232
- th#last_updated {
1233
- width: 140px; } }
1234
-
1235
- @media screen and (max-width: 782px) {
1236
- table.wf-info-table {
1237
- margin-top: 10px; }
1238
- table.wf-info-table th:first-child img {
1239
- margin: 0 auto;
1240
- display: block; }
1241
- .wapk-button.wapk-button-xl {
1242
- padding: 6px 14px;
1243
- line-height: normal;
1244
- font-size: 14px;
1245
- vertical-align: middle;
1246
- height: auto;
1247
- margin-bottom: 4px; } }
1248
-
1249
- .wapk-feed-docs .wapk-feed-cta {
1250
- margin: 0; }
1251
-
1252
- .campaign_configurator {
1253
- background: #FFF;
1254
- padding: 20px 0; }
1255
- .campaign_configurator table {
1256
- margin: 0 auto;
1257
- width: 51%;
1258
- min-width: 574px;
1259
- border: none;
1260
- box-shadow: none; }
1261
- .campaign_configurator th {
1262
- min-width: 120px; }
1263
-
1264
- @media screen and (max-width: 782px) {
1265
- .campaign_configurator {
1266
- padding: 0; }
1267
- .campaign_configurator table {
1268
- width: auto;
1269
- min-width: auto;
1270
- max-width: 100%; }
1271
- .campaign_configurator th {
1272
- min-width: auto; } }
1273
-
1274
- #wf-tab-content-config td > input:not([type="checkbox"]):not([type="radio"]),
1275
- #wf-tab-content-config td > select,
1276
- #wf-tab-content-config td > textarea {
1277
- width: 100% !important; }
1278
-
1279
- .woo-feed-filters td > div:nth-child(2n):not(.clear):not(.selectize) {
1280
- width: 120px;
1281
- display: block; }
1282
-
1283
- .woo-feed-filters td > div:not(.clear) {
1284
- float: left;
1285
- margin-right: 10px; }
1286
-
1287
- .woo-feed-filters tr > td:first-child {
1288
- width: 290px;
1289
- padding-left: 40px; }
1290
-
1291
- .woo-feed-filters,
1292
- .woo-feed-ftp {
1293
- margin: 15px auto 25px; }
1294
-
1295
- .wf_clean_cache_wrapper {
1296
- display: -ms-flexbox;
1297
- display: flex;
1298
- margin-left: auto; }
1299
-
1300
- @-webkit-keyframes LoaderClockWise {
1301
- from {
1302
- -webkit-transform: rotate(0deg);
1303
- transform: rotate(0deg); }
1304
- to {
1305
- -webkit-transform: rotate(360deg);
1306
- transform: rotate(360deg); } }
1307
-
1308
- @keyframes LoaderClockWise {
1309
- from {
1310
- -webkit-transform: rotate(0deg);
1311
- transform: rotate(0deg); }
1312
- to {
1313
- -webkit-transform: rotate(360deg);
1314
- transform: rotate(360deg); } }
1315
-
1316
- .woo-feed-cache-loader {
1317
- width: 18px;
1318
- margin-right: 5px;
1319
- animation: LoaderClockWise 1s linear infinite;
1320
- -webkit-animation: LoaderClockWise 1s linear infinite;
1321
- display: none; }
1322
-
1323
- .woo-feed-table-heading .woo-feed-table-heading-title {
1324
- float: left;
1325
- margin-right: auto;
1326
- display: inline-block;
1327
- line-height: 30px; }
1328
-
1329
- .woo-feed-table-heading .wf_clean_cache_wrapper {
1330
- float: right;
1331
- font-weight: normal; }
1332
-
1333
- .wf_clean_cache_wrapper button {
1334
- background: linear-gradient(125deg, #eb4d4b 0, #FF9671 130%);
1335
- color: #fff;
1336
- border: none;
1337
- font-weight: 500;
1338
- display: inline-block;
1339
- text-decoration: none;
1340
- font-size: 13px;
1341
- line-height: 2.15384615;
1342
- min-height: 30px;
1343
- margin: 0;
1344
- padding: 0 10px;
1345
- border-radius: 3px;
1346
- cursor: pointer;
1347
- outline: none; }
1348
-
1349
- .wf_clean_cache_wrapper button:hover {
1350
- background: #ff7979;
1351
- color: #fff; }
1352
-
1353
- input[type="submit"][data-id="wf_action_submit"] {
1354
- background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
1355
- color: #fff;
1356
- border: 1px;
1357
- padding: 0 20px; }
1358
- input[type="submit"][data-id="wf_action_submit"]:hover {
1359
- background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
1360
- color: #fff; }
1361
-
1362
- .woo-import-popup-body #TB_window {
1363
- width: 500px !important; }
1364
- .woo-import-popup-body #TB_window #TB_title {
1365
- border: none;
1366
- background: #fff;
1367
- text-align: center;
1368
- display: -ms-flexbox;
1369
- display: flex;
1370
- -ms-flex-pack: center;
1371
- justify-content: center;
1372
- -ms-flex-align: center;
1373
- align-items: center;
1374
- height: 35px !important; }
1375
- .woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle {
1376
- color: #30336b;
1377
- font-weight: 700; }
1378
- .woo-import-popup-body #TB_window #TB_closeWindowButton {
1379
- top: -14.5px;
1380
- right: -14.5px;
1381
- border: none;
1382
- outline: 0; }
1383
- .woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon {
1384
- background: #ff5e55;
1385
- color: #fff;
1386
- border-radius: 50%; }
1387
- .woo-import-popup-body #TB_window #TB_closeWindowButton:focus {
1388
- outline: 0;
1389
- border: 0; }
1390
- .woo-import-popup-body #TB_window #TB_ajaxContent {
1391
- position: relative;
1392
- width: 100% !important;
1393
- height: auto !important;
1394
- border: none;
1395
- box-sizing: border-box;
1396
- overflow: hidden;
1397
- background: #f7fcff;
1398
- padding: 30px 20px; }
1399
- .woo-import-popup-body #TB_window #TB_ajaxContent:before {
1400
- content: '';
1401
- width: 115%;
1402
- display: block;
1403
- background: #4bcffa;
1404
- position: absolute;
1405
- height: 130%;
1406
- z-index: 0;
1407
- left: -36%;
1408
- top: -85px;
1409
- -webkit-transform: rotate(115deg);
1410
- transform: rotate(115deg); }
1411
- .woo-import-popup-body #TB_window #TB_ajaxContent table {
1412
- border: none;
1413
- position: relative;
1414
- z-index: 1;
1415
- border-radius: 3px;
1416
- text-align: center;
1417
- padding: 20px;
1418
- box-shadow: 0px 12px 20px -17px #000; }
1419
- .woo-import-popup-body #TB_window #TB_ajaxContent table input {
1420
- width: 60%; }
1421
- .woo-import-popup-body #TB_window #TB_ajaxContent table input:focus {
1422
- outline: 2px solid #68B8F7; }
1423
- .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="file"] {
1424
- padding: 3px 0;
1425
- cursor: pointer; }
1426
- .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="text"] {
1427
- border-radius: 25px;
1428
- font-size: 14px;
1429
- padding: 1px 20px;
1430
- text-align: center; }
1431
- .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="submit"] {
1432
- background: #17c0eb;
1433
- border-radius: 25px;
1434
- border: 0;
1435
- box-shadow: 1px 4px 7px -3px #45364A;
1436
- font-weight: 600;
1437
- transition: .3s ease; }
1438
- .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="submit"]:hover {
1439
- -webkit-transform: translateY(-2px);
1440
- transform: translateY(-2px); }
1441
-
1442
- /* Woo Feed Notice Style */
1443
- .woo-feed-notice .woo-feed-review-notice-logo {
1444
- width: 90px;
1445
- height: 90px;
1446
- float: left;
1447
- margin-right: 5px;
1448
- background: url("../images/woo-feed-logo.svg") no-repeat; }
1449
-
1450
- /* Status Page Style */
1451
- .woo-feed-status-table-wrapper .woo-feed-status-table {
1452
- width: 100%;
1453
- max-width: 900px;
1454
- border-collapse: collapse;
1455
- border-spacing: 0.5rem;
1456
- box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }
1457
- .woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even) {
1458
- background: #f1f1f1; }
1459
- .woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd) {
1460
- background: #fafafc; }
1461
- .woo-feed-status-table-wrapper .woo-feed-status-table tr th {
1462
- background: #353b48;
1463
- color: #fff; }
1464
- .woo-feed-status-table-wrapper .woo-feed-status-table tr th, .woo-feed-status-table-wrapper .woo-feed-status-table tr td {
1465
- padding: 0.5rem 20px;
1466
- text-align: left; }
1467
-
1468
- input[id^="woo_feed_identifier_"] {
1469
- display: block;
1470
- width: 100% !important; }
1471
-
1472
- #taxonomy-woo-feed-brand #newwoo-feed-brand_parent,
1473
- .taxonomy-woo-feed-brand .form-field.term-parent-wrap {
1474
- display: none; }
1475
-
1476
- .wapk-admin .switch {
1477
- position: relative;
1478
- display: inline-block;
1479
- width: 60px;
1480
- height: 34px; }
1481
-
1482
- .wapk-admin .switch input {
1483
- opacity: 0;
1484
- width: 0;
1485
- height: 0; }
1486
-
1487
- .wapk-admin .slider {
1488
- position: absolute;
1489
- cursor: pointer;
1490
- top: 0;
1491
- left: 0;
1492
- right: 0;
1493
- bottom: 0;
1494
- background-color: #ccc;
1495
- transition: .4s; }
1496
-
1497
- .wapk-admin .slider:before {
1498
- position: absolute;
1499
- content: "";
1500
- height: 26px;
1501
- width: 26px;
1502
- left: 4px;
1503
- bottom: 4px;
1504
- background-color: white;
1505
- transition: .4s; }
1506
-
1507
- .wapk-admin input:checked + .slider {
1508
- background-color: #18c194; }
1509
-
1510
- .wapk-admin input:focus + .slider {
1511
- box-shadow: 0 0 1px #2196F3; }
1512
-
1513
- .wapk-admin input:checked + .slider:before {
1514
- -webkit-transform: translateX(26px);
1515
- transform: translateX(26px); }
1516
-
1517
- .wapk-admin .slider.round {
1518
- border-radius: 34px; }
1519
-
1520
- .wapk-admin .slider.round:before {
1521
- border-radius: 50%; }
1
+ /**
2
+ * All of the CSS for your admin-specific functionality should be
3
+ * included in this file.
4
+ */
5
+ .wpf_spin {
6
+ -webkit-animation: spin 1000ms infinite linear;
7
+ animation: spin 1000ms infinite linear; }
8
+ .wpf_spin.reverse_spin {
9
+ animation-direction: reverse; }
10
+
11
+ .wpf_regenerate.disabled {
12
+ color: #737373;
13
+ box-shadow: none;
14
+ cursor: not-allowed; }
15
+
16
+ @-webkit-keyframes spin {
17
+ 0% {
18
+ -webkit-transform: rotate(0deg);
19
+ transform: rotate(0deg); }
20
+ 100% {
21
+ -webkit-transform: rotate(359deg);
22
+ transform: rotate(359deg); } }
23
+
24
+ @keyframes spin {
25
+ 0% {
26
+ -webkit-transform: rotate(0deg);
27
+ transform: rotate(0deg); }
28
+ 100% {
29
+ -webkit-transform: rotate(359deg);
30
+ transform: rotate(359deg); } }
31
+
32
+ .wfbtn {
33
+ background: #3498db;
34
+ background-image: linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
35
+ border-radius: 17px;
36
+ box-shadow: inset 0 1px 3px #666666;
37
+ font-family: Arial, sans-serif;
38
+ color: #ffffff;
39
+ font-size: 20px;
40
+ padding: 10px 20px 10px 20px;
41
+ border: solid #2b698f 0px;
42
+ text-decoration: none; }
43
+ .wfbtn:hover {
44
+ background: #3cb0fd;
45
+ background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
46
+ text-decoration: none; }
47
+
48
+ .woo_feed_manage_list_table .wf_update_interval_btn {
49
+ background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
50
+ border: none; }
51
+ .woo_feed_manage_list_table .wf_update_interval_btn:hover {
52
+ background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%); }
53
+
54
+ .woo-feed-promotion {
55
+ position: relative;
56
+ display: none; }
57
+ .woo-feed-promotion .woo-feed-campaign-close-button {
58
+ position: absolute;
59
+ top: 50%;
60
+ -webkit-transform: translateY(-50%);
61
+ transform: translateY(-50%);
62
+ right: 15px;
63
+ width: 24px;
64
+ height: 24px;
65
+ border-radius: 12px;
66
+ background: #595d6b;
67
+ line-height: 24px;
68
+ color: #fff;
69
+ cursor: pointer;
70
+ transition: .3s ease; }
71
+ .woo-feed-promotion .woo-feed-campaign-close-button:hover {
72
+ background: #fff;
73
+ color: #d61e48; }
74
+
75
+ .wftooltip {
76
+ display: none;
77
+ position: absolute;
78
+ border: 1px solid #333;
79
+ background-color: #161616;
80
+ border-radius: 5px;
81
+ padding: 10px;
82
+ color: #fff;
83
+ font-size: 12px; }
84
+
85
+ .feed-actions .makeFeedResponse {
86
+ width: 70%;
87
+ color: green; }
88
+
89
+ .woo-feed-mapping-input {
90
+ width: 100%; }
91
+
92
+ .requiredIn {
93
+ color: red; }
94
+
95
+ .generalInput {
96
+ width: 200px; }
97
+ .generalInput:not(.selectize-control) {
98
+ margin: 5px auto; }
99
+
100
+ .error {
101
+ color: red; }
102
+
103
+ .widefat td select, .widefat td input {
104
+ max-width: 100%; }
105
+
106
+ #wf_newRow {
107
+ margin-left: 0; }
108
+
109
+ .mtable tbody tr {
110
+ height: 25px;
111
+ border: 1px solid #CCC;
112
+ text-align: left;
113
+ -ms-flex-align: baseline;
114
+ align-items: baseline;
115
+ font-weight: bold; }
116
+
117
+ .mtable th:nth-child(1) {
118
+ width: 17px; }
119
+
120
+ .mtable th:nth-child(2) {
121
+ width: 160px; }
122
+
123
+ .mtable th:nth-child(3) {
124
+ width: 100px; }
125
+
126
+ .mtable th:nth-child(4) {
127
+ width: 100px; }
128
+
129
+ .mtable th:nth-child(5) {
130
+ width: 150px; }
131
+
132
+ .mtable th:nth-child(6) {
133
+ width: 100px; }
134
+
135
+ .mtable th:nth-child(7) {
136
+ width: 150px; }
137
+
138
+ .mtable th:nth-child(8) {
139
+ width: 90px; }
140
+
141
+ .mtable th:nth-child(9) {
142
+ width: 29px; }
143
+
144
+ .mtable2 tbody tr {
145
+ height: 25px;
146
+ border: 1px solid #CCC;
147
+ text-align: left;
148
+ -ms-flex-align: baseline;
149
+ align-items: baseline;
150
+ font-weight: bold; }
151
+
152
+ .mtable2 th:nth-child(1) {
153
+ width: 30px; }
154
+
155
+ .mtable2 th:nth-child(2) {
156
+ width: 150px; }
157
+
158
+ .mtable2 th:nth-child(3) {
159
+ width: 230px; }
160
+
161
+ .mtable2 th:nth-child(4) {
162
+ width: 220px; }
163
+
164
+ .mtable2 th:nth-child(7) {
165
+ width: 50px; }
166
+
167
+ .mtable2 th:nth-child(8) {
168
+ width: 50px; }
169
+
170
+ .mtable2 th:nth-child(9) {
171
+ width: 29px; }
172
+
173
+ .wp-admin select.wf_mattributes {
174
+ width: 150px;
175
+ left: 0;
176
+ height: 25px; }
177
+
178
+ div#wf-tab-content1 select:not([name^="output_type"]) {
179
+ width: 100%; }
180
+
181
+ div#wf-tab-content1 input {
182
+ width: 100%; }
183
+
184
+ div#wf-tab-content1 .dashicons {
185
+ vertical-align: middle; }
186
+
187
+ .wf_attributes {
188
+ width: 150px;
189
+ left: 0; }
190
+
191
+ .wf_compare {
192
+ max-width: 245px;
193
+ left: 0; }
194
+
195
+ .wf_ps {
196
+ width: 100px;
197
+ left: 0; }
198
+
199
+ .wf_sortedtable {
200
+ cursor: move; }
201
+
202
+ .sorted_table {
203
+ position: relative; }
204
+ .sorted_table .dragged {
205
+ position: absolute;
206
+ opacity: 0.8;
207
+ z-index: 9999;
208
+ background: #fff;
209
+ width: 100%;
210
+ display: table; }
211
+ .sorted_table tbody tr.placeholder td {
212
+ border: 1px dashed #2cc185;
213
+ height: 46px; }
214
+
215
+ .wfnoempty {
216
+ width: 120px; }
217
+
218
+ /*==================Tab Design=======================*/
219
+ .wf_tabs {
220
+ position: relative;
221
+ margin: 0 auto;
222
+ width: 100%;
223
+ list-style: none;
224
+ /*bottom: 50px;*/ }
225
+
226
+ .wf_tabs:after {
227
+ display: table;
228
+ clear: both;
229
+ content: ""; }
230
+
231
+ .wf_tabs li {
232
+ float: left;
233
+ width: 20%;
234
+ display: block;
235
+ border: 2px solid #CCC; }
236
+
237
+ .wf_tabs li > input[type="radio"][name="wf_tabs"] {
238
+ position: absolute;
239
+ top: auto;
240
+ left: -9999px; }
241
+
242
+ .wf-tab-name {
243
+ display: block;
244
+ padding: 15px;
245
+ font-size: 15px;
246
+ font-weight: bold;
247
+ line-height: 1;
248
+ background: #fff;
249
+ cursor: pointer;
250
+ position: relative;
251
+ text-align: center;
252
+ text-transform: uppercase;
253
+ color: #2CC185; }
254
+
255
+ .wf-tab-name:hover {
256
+ background: #2CC185;
257
+ color: white; }
258
+
259
+ .wf_tabs [id^="tab"]:checked + label {
260
+ background: #2CC185;
261
+ color: white; }
262
+
263
+ .wf_tabs .wf-tab-content {
264
+ z-index: 2;
265
+ display: none;
266
+ width: 100%;
267
+ font-size: 0.9rem;
268
+ position: absolute;
269
+ left: 0;
270
+ background: #fff;
271
+ border: 2px solid #CCC; }
272
+
273
+ .wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
274
+ display: block; }
275
+
276
+ [id^="wf-tab-content"] {
277
+ margin-bottom: 40px; }
278
+
279
+ div#wf-tab-content2 table:first-child {
280
+ padding: 10px 0; }
281
+
282
+ div#wf-tab-content2 table:first-child td:nth-child(1) {
283
+ width: 260px; }
284
+
285
+ div#wf-tab-content2 table:first-child td:nth-child(2) {
286
+ width: 260px; }
287
+
288
+ table.feed-actions tr td:last-child {
289
+ text-align: right; }
290
+
291
+ /* Selectize */
292
+ select.selectize {
293
+ display: none; }
294
+
295
+ body.no-js select.selectize {
296
+ display: block !important; }
297
+
298
+ .wp-list-table .option_name .wf_feed_option_name_link {
299
+ font-weight: 700;
300
+ color: #30336b; }
301
+
302
+ .wp-list-table #option_name a {
303
+ color: #32373c; }
304
+
305
+ /* fallback combat */
306
+ .selectize-dropdown .active {
307
+ background-color: #edf9ff; }
308
+
309
+ .selectize-dropdown .create {
310
+ padding: 5px 8px; }
311
+
312
+ .wapk-selectize-item {
313
+ background: #0073aa !important;
314
+ color: #f1f1f1 !important;
315
+ font-weight: bold !important;
316
+ border-color: #0073aa !important;
317
+ padding-left: 5px;
318
+ padding-right: 5px; }
319
+
320
+ .selectize-input.full #googleTaxonomyId-selectized {
321
+ opacity: 0;
322
+ position: absolute;
323
+ left: -10000px; }
324
+
325
+ .selectize-dropdown [data-selectable].option {
326
+ cursor: default; }
327
+
328
+ .selectize-control.plugin-remove_button [data-value] .remove {
329
+ border-left: 1px solid #f1f1f1 !important; }
330
+
331
+ .selectize-dropdown .optgroup-header {
332
+ font-weight: 700;
333
+ background: #efefef;
334
+ color: #5a5a5a; }
335
+
336
+ .selectize-dropdown [data-selectable].option {
337
+ cursor: pointer; }
338
+
339
+ /* Feed active and inactive button CSS */
340
+ .wf_status_wrap label {
341
+ width: 55px;
342
+ height: 28px;
343
+ box-sizing: border-box;
344
+ float: left;
345
+ border-radius: 100px;
346
+ position: relative;
347
+ cursor: pointer;
348
+ transition: .3s ease;
349
+ background: linear-gradient(125deg, #e2e2e2 0, #ccc 140%); }
350
+
351
+ input[class=woo_feed_status_input]:checked + label {
352
+ background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%); }
353
+
354
+ input[class=woo_feed_status_input]:checked + label:before {
355
+ left: 29px; }
356
+
357
+ .wf_status_wrap label:before {
358
+ transition: .3s ease;
359
+ content: '';
360
+ width: 20px;
361
+ height: 20px;
362
+ position: absolute;
363
+ background: white;
364
+ left: 6px;
365
+ top: 4px;
366
+ box-sizing: border-box;
367
+ color: black;
368
+ border-radius: 100px;
369
+ box-shadow: 0px 1.5px 2px 0px #000; }
370
+
371
+ .view span.dashicons.dashicons-external {
372
+ color: #22a6b3; }
373
+
374
+ .view span.dashicons.dashicons-sos {
375
+ color: #22a6b3; }
376
+
377
+ .view span.dashicons.dashicons-download {
378
+ color: #ee5253; }
379
+
380
+ .view span.dashicons.dashicons-media-code {
381
+ color: #576574; }
382
+
383
+ /* list table style */
384
+ .widefat td.column-url, .widefat th.column-url,
385
+ .column-url {
386
+ color: #1e8f9a;
387
+ font-weight: bold; }
388
+
389
+ /** Feed Progress **/
390
+ .feed-progress-container {
391
+ width: 100%;
392
+ color: white;
393
+ text-align: center;
394
+ font-weight: 300; }
395
+
396
+ .feed-progress-bar {
397
+ width: 100%;
398
+ background: #eee;
399
+ padding: 3px;
400
+ border-radius: 50px;
401
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }
402
+
403
+ .feed-progress-bar-fill {
404
+ height: 20px;
405
+ display: block;
406
+ background: linear-gradient(to right top, #10ac84, #13b389, #15ba8f, #18c194, #1ac89a, #13cba1, #0acfa9, #00d2b0, #00d2ba, #00d2c3, #00d2cb, #00d2d3);
407
+ width: 0;
408
+ border-radius: 50px;
409
+ transition: width 0.8s ease; }
410
+
411
+ .feed-progress-status {
412
+ float: left;
413
+ font-weight: bold;
414
+ color: darkblue; }
415
+
416
+ .feed-progress-percentage {
417
+ text-align: right;
418
+ font-weight: bolder;
419
+ color: #1dd1a1;
420
+ font-family: 'Arial Black', sans-serif;
421
+ font-size: large; }
422
+
423
+ #wpbody-content.woofeed-body-content {
424
+ overflow: visible !important; }
425
+
426
+ .clippy {
427
+ position: relative;
428
+ width: 13px;
429
+ margin-top: -3px;
430
+ margin-left: 3px;
431
+ top: 3px; }
432
+
433
+ .column-url .clippy {
434
+ display: none; }
435
+
436
+ .column-url:hover .clippy {
437
+ display: inline-block; }
438
+
439
+ /**
440
+ * Primer Tooltip
441
+ */
442
+ .tooltipped {
443
+ position: relative; }
444
+ .tooltipped:after {
445
+ position: absolute;
446
+ z-index: 1000000;
447
+ display: none;
448
+ padding: 5px 8px;
449
+ font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
450
+ color: #fff;
451
+ text-align: center;
452
+ text-decoration: none;
453
+ text-shadow: none;
454
+ text-transform: none;
455
+ letter-spacing: normal;
456
+ word-wrap: break-word;
457
+ white-space: pre;
458
+ pointer-events: none;
459
+ content: attr(aria-label);
460
+ background: rgba(0, 0, 0, 0.8);
461
+ border-radius: 3px;
462
+ -webkit-font-smoothing: subpixel-antialiased; }
463
+ .tooltipped:before {
464
+ position: absolute;
465
+ z-index: 1000001;
466
+ display: none;
467
+ width: 0;
468
+ height: 0;
469
+ color: rgba(0, 0, 0, 0.8);
470
+ pointer-events: none;
471
+ content: "";
472
+ border: 5px solid transparent; }
473
+ .tooltipped:hover:before {
474
+ display: inline-block;
475
+ text-decoration: none; }
476
+ .tooltipped:hover:after {
477
+ display: inline-block;
478
+ text-decoration: none; }
479
+ .tooltipped:active:before {
480
+ display: inline-block;
481
+ text-decoration: none; }
482
+ .tooltipped:active:after {
483
+ display: inline-block;
484
+ text-decoration: none; }
485
+ .tooltipped:focus:before {
486
+ display: inline-block;
487
+ text-decoration: none; }
488
+ .tooltipped:focus:after {
489
+ display: inline-block;
490
+ text-decoration: none; }
491
+ .tooltipped-multiline:hover:after {
492
+ display: table-cell; }
493
+ .tooltipped-multiline:active:after {
494
+ display: table-cell; }
495
+ .tooltipped-multiline:focus:after {
496
+ display: table-cell; }
497
+ .tooltipped-multiline:after {
498
+ width: -webkit-max-content;
499
+ width: -moz-max-content;
500
+ width: max-content;
501
+ max-width: 250px;
502
+ word-break: break-word;
503
+ word-wrap: normal;
504
+ white-space: pre-line;
505
+ border-collapse: separate; }
506
+ .tooltipped-s:after {
507
+ top: 100%;
508
+ right: 50%;
509
+ margin-top: 5px;
510
+ -webkit-transform: translateX(50%);
511
+ transform: translateX(50%); }
512
+ .tooltipped-s:before {
513
+ top: auto;
514
+ right: 50%;
515
+ bottom: -5px;
516
+ margin-right: -5px;
517
+ border-bottom-color: rgba(0, 0, 0, 0.8); }
518
+ .tooltipped-se:after {
519
+ top: 100%;
520
+ margin-top: 5px;
521
+ right: auto;
522
+ left: 50%;
523
+ margin-left: -15px; }
524
+ .tooltipped-se:before {
525
+ top: auto;
526
+ right: 50%;
527
+ bottom: -5px;
528
+ margin-right: -5px;
529
+ border-bottom-color: rgba(0, 0, 0, 0.8); }
530
+ .tooltipped-sw:after {
531
+ top: 100%;
532
+ right: 50%;
533
+ margin-top: 5px;
534
+ margin-right: -15px; }
535
+ .tooltipped-sw:before {
536
+ top: auto;
537
+ right: 50%;
538
+ bottom: -5px;
539
+ margin-right: -5px;
540
+ border-bottom-color: rgba(0, 0, 0, 0.8); }
541
+ .tooltipped-n:after {
542
+ right: 50%;
543
+ bottom: 100%;
544
+ margin-bottom: 5px;
545
+ -webkit-transform: translateX(50%);
546
+ transform: translateX(50%); }
547
+ .tooltipped-n:before {
548
+ top: -5px;
549
+ right: 50%;
550
+ bottom: auto;
551
+ margin-right: -5px;
552
+ border-top-color: rgba(0, 0, 0, 0.8); }
553
+ .tooltipped-ne:after {
554
+ bottom: 100%;
555
+ margin-bottom: 5px;
556
+ right: auto;
557
+ left: 50%;
558
+ margin-left: -15px; }
559
+ .tooltipped-ne:before {
560
+ top: -5px;
561
+ right: 50%;
562
+ bottom: auto;
563
+ margin-right: -5px;
564
+ border-top-color: rgba(0, 0, 0, 0.8); }
565
+ .tooltipped-nw:after {
566
+ right: 50%;
567
+ bottom: 100%;
568
+ margin-bottom: 5px;
569
+ margin-right: -15px; }
570
+ .tooltipped-nw:before {
571
+ top: -5px;
572
+ right: 50%;
573
+ bottom: auto;
574
+ margin-right: -5px;
575
+ border-top-color: rgba(0, 0, 0, 0.8); }
576
+ .tooltipped-w:after {
577
+ right: 100%;
578
+ bottom: 50%;
579
+ margin-right: 5px;
580
+ -webkit-transform: translateY(50%);
581
+ transform: translateY(50%); }
582
+ .tooltipped-w:before {
583
+ top: 50%;
584
+ bottom: 50%;
585
+ left: -5px;
586
+ margin-top: -5px;
587
+ border-left-color: rgba(0, 0, 0, 0.8); }
588
+ .tooltipped-e:after {
589
+ bottom: 50%;
590
+ left: 100%;
591
+ margin-left: 5px;
592
+ -webkit-transform: translateY(50%);
593
+ transform: translateY(50%); }
594
+ .tooltipped-e:before {
595
+ top: 50%;
596
+ right: -5px;
597
+ bottom: 50%;
598
+ margin-top: -5px;
599
+ border-right-color: rgba(0, 0, 0, 0.8); }
600
+ .tooltipped-multiline.tooltipped-s:after {
601
+ right: auto;
602
+ left: 50%;
603
+ -webkit-transform: translateX(-50%);
604
+ transform: translateX(-50%); }
605
+ .tooltipped-multiline.tooltipped-n:after {
606
+ right: auto;
607
+ left: 50%;
608
+ -webkit-transform: translateX(-50%);
609
+ transform: translateX(-50%); }
610
+ .tooltipped-multiline.tooltipped-w:after {
611
+ right: 100%; }
612
+ .tooltipped-multiline.tooltipped-e:after {
613
+ right: 100%; }
614
+ .tooltipped-sticky:before {
615
+ display: inline-block; }
616
+ .tooltipped-sticky:after {
617
+ display: inline-block; }
618
+ .tooltipped-sticky.tooltipped-multiline:after {
619
+ display: table-cell; }
620
+
621
+ .fullscreen-overlay-enabled.dark-theme .tooltipped:after {
622
+ color: #000;
623
+ background: rgba(255, 255, 255, 0.8); }
624
+
625
+ .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before {
626
+ border-bottom-color: rgba(255, 255, 255, 0.8); }
627
+
628
+ .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before {
629
+ border-bottom-color: rgba(255, 255, 255, 0.8); }
630
+
631
+ .fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before {
632
+ border-bottom-color: rgba(255, 255, 255, 0.8); }
633
+
634
+ .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before {
635
+ border-top-color: rgba(255, 255, 255, 0.8); }
636
+
637
+ .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before {
638
+ border-top-color: rgba(255, 255, 255, 0.8); }
639
+
640
+ .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before {
641
+ border-top-color: rgba(255, 255, 255, 0.8); }
642
+
643
+ .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before {
644
+ border-right-color: rgba(255, 255, 255, 0.8); }
645
+
646
+ .fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before {
647
+ border-left-color: rgba(255, 255, 255, 0.8); }
648
+
649
+ @media screen and (min-width: 0\0) {
650
+ .tooltipped-multiline:after {
651
+ width: 250px; } }
652
+
653
+ ul.tracker_collection_list {
654
+ list-style: initial;
655
+ padding: initial;
656
+ margin: -10px 0 0 30px;
657
+ font-size: 11px !important; }
658
+ ul.tracker_collection_list li {
659
+ margin: 0; }
660
+
661
+ /** Info Message Table **/
662
+ table.wf-info-table, table.wf-rate-table {
663
+ vertical-align: middle;
664
+ text-align: center;
665
+ max-width: 100%;
666
+ font-weight: 500; }
667
+ table.wf-info-table th, table.wf-rate-table th {
668
+ text-align: center; }
669
+ table.wf-info-table th .woo-feed-top-header, table.wf-rate-table th .woo-feed-top-header {
670
+ display: -ms-flexbox;
671
+ display: flex;
672
+ -ms-flex-pack: justify;
673
+ justify-content: space-between;
674
+ -ms-flex-align: center;
675
+ align-items: center; }
676
+ table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro, table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro {
677
+ margin-left: 20px; }
678
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons {
679
+ float: right;
680
+ display: -ms-flexbox;
681
+ display: flex;
682
+ border-radius: 7px;
683
+ -ms-flex-pack: center;
684
+ justify-content: center;
685
+ -ms-flex-align: center;
686
+ align-items: center; }
687
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a {
688
+ padding: 8px 20px;
689
+ background: #576574;
690
+ color: #fff;
691
+ box-sizing: border-box;
692
+ display: inline-block;
693
+ transition: .3s ease; }
694
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link {
695
+ background: #576574;
696
+ border-top-left-radius: 5px;
697
+ border-bottom-left-radius: 5px; }
698
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link {
699
+ background: #ee5253; }
700
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link {
701
+ background: #22a6b3;
702
+ border-top-right-radius: 5px;
703
+ border-bottom-right-radius: 5px; }
704
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons {
705
+ font-size: 18px;
706
+ line-height: 1.2; }
707
+ table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover, table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover {
708
+ background: #30336b;
709
+ box-shadow: 0px 0px 33px 0px rgba(0, 0, 0, 0.12); }
710
+ table.wf-info-table strong, table.wf-rate-table strong {
711
+ font-weight: bold; }
712
+
713
+ table.wf-info-table th:first-child img {
714
+ margin: 0 0 -5px 5px; }
715
+
716
+ table.wf-rate-table a {
717
+ color: #0073aa; }
718
+
719
+ table.wf-rate-table a.review-star:after {
720
+ content: "\f155\f155\f155\f155\f155" !important;
721
+ font-family: dashicons;
722
+ font-size: 10px;
723
+ font-weight: 100;
724
+ text-rendering: auto;
725
+ -webkit-font-smoothing: antialiased;
726
+ -moz-osx-font-smoothing: grayscale;
727
+ color: #0073aa;
728
+ text-decoration: underline; }
729
+
730
+ /** Admin Menu Icon **/
731
+ #adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before {
732
+ content: "";
733
+ background: url(../images/woo-feed-icon.svg) no-repeat center center;
734
+ background-size: 20px 20px;
735
+ opacity: 0.6;
736
+ filter: alpha(opacity=60); }
737
+
738
+ #adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before {
739
+ opacity: 1;
740
+ filter: alpha(opacity=100); }
741
+
742
+ #adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before {
743
+ opacity: 1;
744
+ filter: alpha(opacity=100); }
745
+
746
+ /** Admin Page Wrapper **/
747
+ .wapk-admin, .wapk-admin * {
748
+ box-sizing: border-box; }
749
+
750
+ .wapk-admin {
751
+ position: relative;
752
+ display: block;
753
+ -webkit-hyphens: manual;
754
+ -ms-hyphens: manual;
755
+ -moz-hyphens: manual;
756
+ hyphens: manual;
757
+ color: #1B2730;
758
+ /* reset .warp margin to use full width except menu area */
759
+ margin: 0 0 0 -10px; }
760
+
761
+ @media screen and (min-width: 783px) {
762
+ .wapk-admin {
763
+ margin: 0 0 0 -20px; } }
764
+
765
+ .text-center {
766
+ text-align: center; }
767
+
768
+ .wapk-admin h1, .wapk-admin h2, .wapk-admin h3,
769
+ .wapk-admin h4, .wapk-admin h5, .wapk-admin h6,
770
+ .wapk-admin p {
771
+ color: #1B2730; }
772
+
773
+ .wapk-admin sup {
774
+ vertical-align: baseline;
775
+ position: relative;
776
+ top: -6px; }
777
+
778
+ .wapk-admin sub {
779
+ vertical-align: baseline;
780
+ position: relative;
781
+ top: 4px; }
782
+
783
+ /* WP.Core.UI Compat */
784
+ .wapk-admin .wapk-section {
785
+ margin: 10px 20px 0 22px;
786
+ position: relative;
787
+ display: block; }
788
+ .wapk-admin .wapk-section [class$=icon32] + h2 {
789
+ font-size: 23px;
790
+ font-weight: 400;
791
+ margin: 0;
792
+ padding: 9px 0 4px 0;
793
+ line-height: 1.3; }
794
+ .wapk-admin .wapk-section h1 {
795
+ font-size: 23px;
796
+ font-weight: 400;
797
+ margin: 0;
798
+ padding: 9px 0 4px 0;
799
+ line-height: 1.3; }
800
+ .wapk-admin .wapk-section > h2:first-child {
801
+ font-size: 23px;
802
+ font-weight: 400;
803
+ margin: 0;
804
+ padding: 9px 0 4px 0;
805
+ line-height: 1.3; }
806
+
807
+ .wapk-admin > .notice {
808
+ margin: 10px 20px 0 22px;
809
+ position: relative;
810
+ display: block; }
811
+
812
+ .wapk-admin span.help {
813
+ display: block;
814
+ float: left;
815
+ width: 100%;
816
+ font-size: 0.9em;
817
+ color: #636363;
818
+ margin-top: 5px;
819
+ font-weight: 500; }
820
+ .wapk-admin span.help .dashicons {
821
+ width: 11px;
822
+ height: 12px;
823
+ font-size: inherit;
824
+ vertical-align: middle; }
825
+
826
+ .clear:after {
827
+ content: "";
828
+ display: table;
829
+ clear: both; }
830
+
831
+ /*.wapk-admin .help a { color: inherit; text-decoration: underline; }*/
832
+ /** Extend WP Core UI PostBox For Docs **/
833
+ .wapk-feed-docs .postbox {
834
+ width: 355px;
835
+ margin-right: 20px;
836
+ display: inline-block;
837
+ vertical-align: top; }
838
+ .wapk-feed-docs .postbox .hndle {
839
+ font-size: 14px;
840
+ padding: 8px 12px;
841
+ margin: 0;
842
+ line-height: 1.4;
843
+ cursor: pointer; }
844
+ .wapk-feed-docs .postbox .dashicons {
845
+ color: #ccc; }
846
+ .wapk-feed-docs .postbox a {
847
+ text-decoration: none; }
848
+ .wapk-feed-docs .postbox .inside {
849
+ margin-bottom: 0; }
850
+ .wapk-feed-docs .postbox ul {
851
+ margin-bottom: 0; }
852
+ .wapk-feed-docs .postbox .toggle-indicator:before {
853
+ content: "\F142";
854
+ display: inline-block;
855
+ font: 400 20px/1 dashicons;
856
+ speak: none;
857
+ -webkit-font-smoothing: antialiased;
858
+ -moz-osx-font-smoothing: grayscale;
859
+ text-decoration: none !important; }
860
+ .wapk-feed-docs .postbox li {
861
+ width: 100%;
862
+ display: block;
863
+ float: left; }
864
+ .wapk-feed-docs .postbox li span {
865
+ display: inline-block;
866
+ float: left;
867
+ margin-right: 4px; }
868
+ .wapk-feed-docs .postbox li a {
869
+ display: inline-block;
870
+ float: left;
871
+ width: calc(100% - 24px); }
872
+
873
+ .wapk-feed-docs .postbox.closed .toggle-indicator:before {
874
+ content: "\F140"; }
875
+
876
+ .wapk-section #post-body.columns-2 #side-sortables {
877
+ min-height: 196px; }
878
+
879
+ #poststuff #feed_merchant_info .inside {
880
+ margin: 0;
881
+ padding: 0; }
882
+
883
+ #feed_merchant_info ul.data {
884
+ margin-left: 24px;
885
+ margin-top: 5px; }
886
+ #feed_merchant_info ul.data li {
887
+ margin-bottom: 5px; }
888
+
889
+ .merchant-info-section {
890
+ padding: 6px 10px 8px; }
891
+ .merchant-info-section.woo-feed-open-file {
892
+ text-align: center; }
893
+ .merchant-info-section.woo-feed-open-file a {
894
+ line-height: 1.5;
895
+ text-decoration: none; }
896
+
897
+ .generateFeed .wf-tab-content table:first-child {
898
+ border: none;
899
+ box-shadow: none; }
900
+
901
+ .generateFeed table th {
902
+ font-weight: bold; }
903
+
904
+ @media only screen and (max-width: 850px) {
905
+ .wapk-feed-docs .postbox {
906
+ display: block;
907
+ width: auto;
908
+ float: none;
909
+ margin-right: auto; } }
910
+
911
+ /** Admin Feed Help Docs **/
912
+ .wp-submenu li span.woo-feed-docs {
913
+ font-weight: bold;
914
+ color: #f18500; }
915
+
916
+ .wp-submenu li:hover span.woo-feed-docs {
917
+ color: #ce7304; }
918
+
919
+ .wp-submenu li.current span.woo-feed-docs {
920
+ color: #ce7304; }
921
+
922
+ .wapk-admin .wapk-feed-docs .postbox .hndle {
923
+ cursor: default; }
924
+
925
+ /** Admin Call-To-Action **/
926
+ .wapk-cta {
927
+ position: relative;
928
+ display: -ms-flexbox;
929
+ display: flex;
930
+ width: 100%;
931
+ padding: 100px 15px;
932
+ background: linear-gradient(45deg, #6CD5FF 33%, #c2efef 100%);
933
+ -ms-flex-pack: center;
934
+ justify-content: center;
935
+ -ms-flex-align: center;
936
+ align-items: center; }
937
+ .wapk-cta-icon .dashicons {
938
+ font-size: 100px;
939
+ width: 100px;
940
+ height: auto;
941
+ margin: 0 10px -8px 0;
942
+ color: #02658c; }
943
+ .wapk-cta-content {
944
+ width: 50%; }
945
+ .wapk-cta-content h2 {
946
+ font-size: 2em;
947
+ margin: 0.5em 0; }
948
+ .wapk-cta-action a.wapk-button {
949
+ font-size: 24px;
950
+ height: auto !important;
951
+ padding: 10px 20px; }
952
+
953
+ @media (max-width: 600px) {
954
+ .wapk-cta {
955
+ display: block;
956
+ text-align: center;
957
+ padding: 4em 0; }
958
+ .wapk-cta-content {
959
+ width: 100%;
960
+ margin: 2em 0; } }
961
+
962
+ /** Override .wp-core-ui .wapk-button styles with prefix .wapk-admin **/
963
+ /* Button Skin */
964
+ .wapk-button {
965
+ color: #00D4D4;
966
+ border-color: #00D4D4;
967
+ display: inline-block;
968
+ text-decoration: none;
969
+ font-size: 13px;
970
+ line-height: 2.15384615;
971
+ min-height: 30px;
972
+ margin: 0;
973
+ padding: 0 10px;
974
+ cursor: pointer;
975
+ border-width: 1px;
976
+ border-style: solid;
977
+ -webkit-appearance: none;
978
+ border-radius: 3px;
979
+ white-space: nowrap;
980
+ box-sizing: border-box; }
981
+ .wapk-button > svg {
982
+ width: 15px;
983
+ margin-left: 5px;
984
+ fill: #00D4D4; }
985
+ .wapk-button > .dashicons {
986
+ color: #00D4D4; }
987
+ .wapk-button:hover {
988
+ border-color: #00bbbb;
989
+ color: #00bbbb; }
990
+ .wapk-button:hover > svg {
991
+ fill: #00bbbb; }
992
+ .wapk-button:hover > .dashicons {
993
+ color: #00bbbb; }
994
+ .wapk-button:focus {
995
+ border-color: #00D4D4;
996
+ color: #00bbbb;
997
+ box-shadow: 0 0 0 1px #00D4D4; }
998
+ .wapk-button:focus > svg {
999
+ fill: #00bbbb; }
1000
+ .wapk-button:focus > .dashicons {
1001
+ color: #00bbbb; }
1002
+ .wapk-button:active {
1003
+ background: #00bbbb;
1004
+ border-color: #00bbbb; }
1005
+ .wapk-button-secondary {
1006
+ color: #00D4D4;
1007
+ border-color: #00D4D4;
1008
+ display: inline-block;
1009
+ text-decoration: none;
1010
+ font-size: 13px;
1011
+ line-height: 2.15384615;
1012
+ min-height: 30px;
1013
+ margin: 0;
1014
+ padding: 0 10px;
1015
+ cursor: pointer;
1016
+ border-width: 1px;
1017
+ border-style: solid;
1018
+ -webkit-appearance: none;
1019
+ border-radius: 3px;
1020
+ white-space: nowrap;
1021
+ box-sizing: border-box; }
1022
+ .wapk-button-secondary > svg {
1023
+ width: 15px;
1024
+ margin-left: 5px;
1025
+ fill: #00D4D4; }
1026
+ .wapk-button-secondary > .dashicons {
1027
+ color: #00D4D4; }
1028
+ .wapk-button-secondary:hover {
1029
+ border-color: #00bbbb;
1030
+ color: #00bbbb; }
1031
+ .wapk-button-secondary:hover > svg {
1032
+ fill: #00bbbb; }
1033
+ .wapk-button-secondary:hover > .dashicons {
1034
+ color: #00bbbb; }
1035
+ .wapk-button-secondary:focus {
1036
+ border-color: #00D4D4;
1037
+ color: #00bbbb;
1038
+ box-shadow: 0 0 0 1px #00D4D4; }
1039
+ .wapk-button-secondary:focus > svg {
1040
+ fill: #00bbbb; }
1041
+ .wapk-button-secondary:focus > .dashicons {
1042
+ color: #00bbbb; }
1043
+ .wapk-button-primary {
1044
+ display: inline-block;
1045
+ text-decoration: none;
1046
+ font-size: 13px;
1047
+ line-height: 2.15384615;
1048
+ min-height: 30px;
1049
+ margin: 0;
1050
+ padding: 0 10px;
1051
+ cursor: pointer;
1052
+ border-width: 1px;
1053
+ border-style: solid;
1054
+ -webkit-appearance: none;
1055
+ border-radius: 3px;
1056
+ white-space: nowrap;
1057
+ box-sizing: border-box;
1058
+ background: #00D4D4;
1059
+ border-color: #00D4D4;
1060
+ color: #fff;
1061
+ box-shadow: 0 1px 0 #00bbbb;
1062
+ text-shadow: 0 -1px 1px #00bbbb, 1px 0 1px #00bbbb, 0 1px 1px #00bbbb, -1px 0 1px #00bbbb; }
1063
+ .wapk-button-primary > svg {
1064
+ fill: #fff; }
1065
+ .wapk-button-primary:hover {
1066
+ background: #00e3e3;
1067
+ border-color: #00c5c5;
1068
+ color: #fff; }
1069
+ .wapk-button-primary:hover > svg {
1070
+ fill: #fff; }
1071
+ .wapk-button-primary:focus {
1072
+ background: #00e3e3;
1073
+ border-color: #00c5c5;
1074
+ color: #fff;
1075
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px #00D4D4; }
1076
+ .wapk-button-primary:focus > svg {
1077
+ fill: #fff; }
1078
+ .wapk-button-primary:active {
1079
+ background: #00bbbb;
1080
+ border-color: #00bbbb;
1081
+ color: #fff; }
1082
+ .wapk-button-primary:active > svg {
1083
+ fill: #fff; }
1084
+ .wapk-button-primary:disabled {
1085
+ color: #c7d1d1 !important;
1086
+ background: #22ffff !important;
1087
+ border-color: #22ffff !important;
1088
+ text-shadow: none !important; }
1089
+ .wapk-button-primary:disabled > svg {
1090
+ fill: #c7d1d1 !important; }
1091
+ .wapk-button.hover {
1092
+ border-color: #00bbbb;
1093
+ color: #00bbbb; }
1094
+ .wapk-button.hover > svg {
1095
+ fill: #00bbbb; }
1096
+ .wapk-button.hover > .dashicons {
1097
+ color: #00bbbb; }
1098
+ .wapk-button.focus {
1099
+ border-color: #00D4D4;
1100
+ color: #00bbbb;
1101
+ box-shadow: 0 0 0 1px #00D4D4; }
1102
+ .wapk-button.focus > svg {
1103
+ fill: #00bbbb; }
1104
+ .wapk-button.focus > .dashicons {
1105
+ color: #00bbbb; }
1106
+ .wapk-button.active {
1107
+ border-color: #00bbbb;
1108
+ color: #00bbbb;
1109
+ box-shadow: inset 0 2px 5px -3px #00bbbb; }
1110
+ .wapk-button.active:focus {
1111
+ border-color: #00bbbb;
1112
+ color: #00bbbb;
1113
+ box-shadow: inset 0 2px 5px -3px #00bbbb; }
1114
+ .wapk-button.active:focus > svg {
1115
+ fill: #00bbbb; }
1116
+ .wapk-button.active:focus > .dashicons {
1117
+ color: #00bbbb; }
1118
+ .wapk-button.active:hover {
1119
+ border-color: #00bbbb;
1120
+ color: #00bbbb;
1121
+ box-shadow: inset 0 2px 5px -3px #00bbbb; }
1122
+ .wapk-button.active:hover > svg {
1123
+ fill: #00bbbb; }
1124
+ .wapk-button.active:hover > .dashicons {
1125
+ color: #00bbbb; }
1126
+ .wapk-button.active > svg {
1127
+ fill: #00bbbb; }
1128
+ .wapk-button.active > .dashicons {
1129
+ color: #00bbbb; }
1130
+ .wapk-button-primary.active {
1131
+ background: #00D4D4;
1132
+ color: #fff;
1133
+ border-color: #008888;
1134
+ box-shadow: inset 0 2px 5px -3px black; }
1135
+ .wapk-button-primary.active:focus {
1136
+ background: #00D4D4;
1137
+ color: #fff;
1138
+ border-color: #008888;
1139
+ box-shadow: inset 0 2px 5px -3px black; }
1140
+ .wapk-button-primary.active:focus > svg {
1141
+ fill: #fff; }
1142
+ .wapk-button-primary.active:hover {
1143
+ background: #00D4D4;
1144
+ color: #fff;
1145
+ border-color: #008888;
1146
+ box-shadow: inset 0 2px 5px -3px black; }
1147
+ .wapk-button-primary.active:hover > svg {
1148
+ fill: #fff; }
1149
+ .wapk-button-primary.active > svg {
1150
+ fill: #fff; }
1151
+ .wapk-button-primary[disabled] {
1152
+ color: #c7d1d1 !important;
1153
+ background: #22ffff !important;
1154
+ border-color: #22ffff !important;
1155
+ text-shadow: none !important; }
1156
+ .wapk-button-primary[disabled] > svg {
1157
+ fill: #c7d1d1 !important; }
1158
+ .wapk-button-primary.wapk-button-primary-disabled {
1159
+ color: #c7d1d1 !important;
1160
+ background: #22ffff !important;
1161
+ border-color: #22ffff !important;
1162
+ text-shadow: none !important; }
1163
+ .wapk-button-primary.wapk-button-primary-disabled > svg {
1164
+ fill: #c7d1d1 !important; }
1165
+ .wapk-button-primary.disabled {
1166
+ color: #c7d1d1 !important;
1167
+ background: #22ffff !important;
1168
+ border-color: #22ffff !important;
1169
+ text-shadow: none !important; }
1170
+ .wapk-button-primary.disabled > svg {
1171
+ fill: #c7d1d1 !important; }
1172
+ .wapk-button-primary.wapk-button-hero {
1173
+ box-shadow: 0 2px 0 #00bbbb; }
1174
+ .wapk-button-primary.wapk-button-hero:focus {
1175
+ box-shadow: 0 2px 0 #00bbbb, 0 1px 0 #00c5c5, 0 0 2px 1px #00eeee; }
1176
+ .wapk-button-primary.wapk-button-hero:active {
1177
+ box-shadow: inset 0 3px 0 #00a1a1; }
1178
+ .wapk-button-primary.wapk-button-hero.active {
1179
+ box-shadow: inset 0 3px 0 #00a1a1; }
1180
+ .wapk-button-primary.wapk-button-hero.active:hover, .wapk-button-primary.wapk-button-hero.active:focus {
1181
+ box-shadow: inset 0 3px 0 #00a1a1; }
1182
+ .wapk-button-group > .wapk-button.active {
1183
+ border-color: #00D4D4; }
1184
+
1185
+ /* Button Sizes */
1186
+ .wapk-button.wapk-button-xl {
1187
+ height: 30px;
1188
+ line-height: 28px;
1189
+ padding: 0 12px 2px; }
1190
+
1191
+ .wapk-button-group.wapk-button-xl .wapk-button {
1192
+ height: 30px;
1193
+ line-height: 28px;
1194
+ padding: 0 12px 2px; }
1195
+
1196
+ .wapk-button.wapk-button-hero {
1197
+ font-size: 18px;
1198
+ height: 50px;
1199
+ line-height: 48px;
1200
+ padding: 0 36px;
1201
+ min-height: 46px; }
1202
+
1203
+ .wapk-button-group.wapk-button-hero .wapk-button {
1204
+ font-size: 18px;
1205
+ height: 50px;
1206
+ line-height: 48px;
1207
+ padding: 0 36px;
1208
+ min-height: 46px; }
1209
+
1210
+ @media screen and (min-width: 782px) {
1211
+ th#status,
1212
+ th#provider {
1213
+ width: 80px; }
1214
+ th#type {
1215
+ width: 50px; }
1216
+ th#option_name {
1217
+ width: 100px; }
1218
+ td.option_name.column-option_name > span:first-child {
1219
+ display: none; }
1220
+ th#last_updated {
1221
+ width: 90px; }
1222
+ th#view {
1223
+ width: 111px; } }
1224
+
1225
+ @media screen and (min-width: 960px) {
1226
+ th#status, th#provider {
1227
+ width: 100px; }
1228
+ th#type {
1229
+ width: 80px; }
1230
+ th#option_name {
1231
+ width: 150px; }
1232
+ th#last_updated {
1233
+ width: 140px; } }
1234
+
1235
+ @media screen and (max-width: 782px) {
1236
+ table.wf-info-table {
1237
+ margin-top: 10px; }
1238
+ table.wf-info-table th:first-child img {
1239
+ margin: 0 auto;
1240
+ display: block; }
1241
+ .wapk-button.wapk-button-xl {
1242
+ padding: 6px 14px;
1243
+ line-height: normal;
1244
+ font-size: 14px;
1245
+ vertical-align: middle;
1246
+ height: auto;
1247
+ margin-bottom: 4px; } }
1248
+
1249
+ .wapk-feed-docs .wapk-feed-cta {
1250
+ margin: 0; }
1251
+
1252
+ .campaign_configurator {
1253
+ background: #FFF;
1254
+ padding: 20px 0; }
1255
+ .campaign_configurator table {
1256
+ margin: 0 auto;
1257
+ width: 51%;
1258
+ min-width: 574px;
1259
+ border: none;
1260
+ box-shadow: none; }
1261
+ .campaign_configurator th {
1262
+ min-width: 120px; }
1263
+
1264
+ @media screen and (max-width: 782px) {
1265
+ .campaign_configurator {
1266
+ padding: 0; }
1267
+ .campaign_configurator table {
1268
+ width: auto;
1269
+ min-width: auto;
1270
+ max-width: 100%; }
1271
+ .campaign_configurator th {
1272
+ min-width: auto; } }
1273
+
1274
+ #wf-tab-content-config td > input:not([type="checkbox"]):not([type="radio"]),
1275
+ #wf-tab-content-config td > select,
1276
+ #wf-tab-content-config td > textarea {
1277
+ width: 100% !important; }
1278
+
1279
+ .woo-feed-filters td > div:nth-child(2n):not(.clear):not(.selectize) {
1280
+ width: 120px;
1281
+ display: block; }
1282
+
1283
+ .woo-feed-filters td > div:not(.clear) {
1284
+ float: left;
1285
+ margin-right: 10px; }
1286
+
1287
+ .woo-feed-filters tr > td:first-child {
1288
+ width: 290px;
1289
+ padding-left: 40px; }
1290
+
1291
+ .woo-feed-filters,
1292
+ .woo-feed-ftp {
1293
+ margin: 15px auto 25px; }
1294
+
1295
+ .wf_clean_cache_wrapper {
1296
+ display: -ms-flexbox;
1297
+ display: flex;
1298
+ margin-left: auto; }
1299
+
1300
+ @-webkit-keyframes LoaderClockWise {
1301
+ from {
1302
+ -webkit-transform: rotate(0deg);
1303
+ transform: rotate(0deg); }
1304
+ to {
1305
+ -webkit-transform: rotate(360deg);
1306
+ transform: rotate(360deg); } }
1307
+
1308
+ @keyframes LoaderClockWise {
1309
+ from {
1310
+ -webkit-transform: rotate(0deg);
1311
+ transform: rotate(0deg); }
1312
+ to {
1313
+ -webkit-transform: rotate(360deg);
1314
+ transform: rotate(360deg); } }
1315
+
1316
+ .woo-feed-cache-loader {
1317
+ width: 18px;
1318
+ margin-right: 5px;
1319
+ animation: LoaderClockWise 1s linear infinite;
1320
+ -webkit-animation: LoaderClockWise 1s linear infinite;
1321
+ display: none; }
1322
+
1323
+ .woo-feed-table-heading .woo-feed-table-heading-title {
1324
+ float: left;
1325
+ margin-right: auto;
1326
+ display: inline-block;
1327
+ line-height: 30px; }
1328
+
1329
+ .woo-feed-table-heading .wf_clean_cache_wrapper {
1330
+ float: right;
1331
+ font-weight: normal; }
1332
+
1333
+ .wf_clean_cache_wrapper button {
1334
+ background: linear-gradient(125deg, #eb4d4b 0, #FF9671 130%);
1335
+ color: #fff;
1336
+ border: none;
1337
+ font-weight: 500;
1338
+ display: inline-block;
1339
+ text-decoration: none;
1340
+ font-size: 13px;
1341
+ line-height: 2.15384615;
1342
+ min-height: 30px;
1343
+ margin: 0;
1344
+ padding: 0 10px;
1345
+ border-radius: 3px;
1346
+ cursor: pointer;
1347
+ outline: none; }
1348
+
1349
+ .wf_clean_cache_wrapper button:hover {
1350
+ background: #ff7979;
1351
+ color: #fff; }
1352
+
1353
+ input[type="submit"][data-id="wf_action_submit"] {
1354
+ background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
1355
+ color: #fff;
1356
+ border: 1px;
1357
+ padding: 0 20px; }
1358
+ input[type="submit"][data-id="wf_action_submit"]:hover {
1359
+ background: linear-gradient(125deg, #3cb0fd 0, #6c5ce7 140%);
1360
+ color: #fff; }
1361
+
1362
+ .woo-import-popup-body #TB_window {
1363
+ width: 500px !important; }
1364
+ .woo-import-popup-body #TB_window #TB_title {
1365
+ border: none;
1366
+ background: #fff;
1367
+ text-align: center;
1368
+ display: -ms-flexbox;
1369
+ display: flex;
1370
+ -ms-flex-pack: center;
1371
+ justify-content: center;
1372
+ -ms-flex-align: center;
1373
+ align-items: center;
1374
+ height: 35px !important; }
1375
+ .woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle {
1376
+ color: #30336b;
1377
+ font-weight: 700; }
1378
+ .woo-import-popup-body #TB_window #TB_closeWindowButton {
1379
+ top: -14.5px;
1380
+ right: -14.5px;
1381
+ border: none;
1382
+ outline: 0; }
1383
+ .woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon {
1384
+ background: #ff5e55;
1385
+ color: #fff;
1386
+ border-radius: 50%; }
1387
+ .woo-import-popup-body #TB_window #TB_closeWindowButton:focus {
1388
+ outline: 0;
1389
+ border: 0; }
1390
+ .woo-import-popup-body #TB_window #TB_ajaxContent {
1391
+ position: relative;
1392
+ width: 100% !important;
1393
+ height: auto !important;
1394
+ border: none;
1395
+ box-sizing: border-box;
1396
+ overflow: hidden;
1397
+ background: #f7fcff;
1398
+ padding: 30px 20px; }
1399
+ .woo-import-popup-body #TB_window #TB_ajaxContent:before {
1400
+ content: '';
1401
+ width: 115%;
1402
+ display: block;
1403
+ background: #4bcffa;
1404
+ position: absolute;
1405
+ height: 130%;
1406
+ z-index: 0;
1407
+ left: -36%;
1408
+ top: -85px;
1409
+ -webkit-transform: rotate(115deg);
1410
+ transform: rotate(115deg); }
1411
+ .woo-import-popup-body #TB_window #TB_ajaxContent table {
1412
+ border: none;
1413
+ position: relative;
1414
+ z-index: 1;
1415
+ border-radius: 3px;
1416
+ text-align: center;
1417
+ padding: 20px;
1418
+ box-shadow: 0px 12px 20px -17px #000; }
1419
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input {
1420
+ width: 60%; }
1421
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input:focus {
1422
+ outline: 2px solid #68B8F7; }
1423
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="file"] {
1424
+ padding: 3px 0;
1425
+ cursor: pointer; }
1426
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="text"] {
1427
+ border-radius: 25px;
1428
+ font-size: 14px;
1429
+ padding: 1px 20px;
1430
+ text-align: center; }
1431
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="submit"] {
1432
+ background: #17c0eb;
1433
+ border-radius: 25px;
1434
+ border: 0;
1435
+ box-shadow: 1px 4px 7px -3px #45364A;
1436
+ font-weight: 600;
1437
+ transition: .3s ease; }
1438
+ .woo-import-popup-body #TB_window #TB_ajaxContent table input[type="submit"]:hover {
1439
+ -webkit-transform: translateY(-2px);
1440
+ transform: translateY(-2px); }
1441
+
1442
+ /* Woo Feed Notice Style */
1443
+ .woo-feed-notice .woo-feed-review-notice-logo {
1444
+ width: 90px;
1445
+ height: 90px;
1446
+ float: left;
1447
+ margin-right: 5px;
1448
+ background: url("../images/woo-feed-logo.svg") no-repeat; }
1449
+
1450
+ /* Status Page Style */
1451
+ .woo-feed-status-table-wrapper .woo-feed-status-table {
1452
+ width: 100%;
1453
+ max-width: 900px;
1454
+ border-collapse: collapse;
1455
+ border-spacing: 0.5rem;
1456
+ box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }
1457
+ .woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even) {
1458
+ background: #f1f1f1; }
1459
+ .woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd) {
1460
+ background: #fafafc; }
1461
+ .woo-feed-status-table-wrapper .woo-feed-status-table tr th {
1462
+ background: #353b48;
1463
+ color: #fff; }
1464
+ .woo-feed-status-table-wrapper .woo-feed-status-table tr th, .woo-feed-status-table-wrapper .woo-feed-status-table tr td {
1465
+ padding: 0.5rem 20px;
1466
+ text-align: left; }
1467
+
1468
+ input[id^="woo_feed_identifier_"] {
1469
+ display: block;
1470
+ width: 100% !important; }
1471
+
1472
+ #taxonomy-woo-feed-brand #newwoo-feed-brand_parent,
1473
+ .taxonomy-woo-feed-brand .form-field.term-parent-wrap {
1474
+ display: none; }
1475
+
1476
+ .wapk-admin .switch {
1477
+ position: relative;
1478
+ display: inline-block;
1479
+ width: 60px;
1480
+ height: 34px; }
1481
+
1482
+ .wapk-admin .switch input {
1483
+ opacity: 0;
1484
+ width: 0;
1485
+ height: 0; }
1486
+
1487
+ .wapk-admin .slider {
1488
+ position: absolute;
1489
+ cursor: pointer;
1490
+ top: 0;
1491
+ left: 0;
1492
+ right: 0;
1493
+ bottom: 0;
1494
+ background-color: #ccc;
1495
+ transition: .4s; }
1496
+
1497
+ .wapk-admin .slider:before {
1498
+ position: absolute;
1499
+ content: "";
1500
+ height: 26px;
1501
+ width: 26px;
1502
+ left: 4px;
1503
+ bottom: 4px;
1504
+ background-color: white;
1505
+ transition: .4s; }
1506
+
1507
+ .wapk-admin input:checked + .slider {
1508
+ background-color: #18c194; }
1509
+
1510
+ .wapk-admin input:focus + .slider {
1511
+ box-shadow: 0 0 1px #2196F3; }
1512
+
1513
+ .wapk-admin input:checked + .slider:before {
1514
+ -webkit-transform: translateX(26px);
1515
+ transform: translateX(26px); }
1516
+
1517
+ .wapk-admin .slider.round {
1518
+ border-radius: 34px; }
1519
+
1520
+ .wapk-admin .slider.round:before {
1521
+ border-radius: 50%; }
admin/css/woo-feed-admin.scss CHANGED
@@ -1,2083 +1,2083 @@
1
- /**
2
- * All of the CSS for your admin-specific functionality should be
3
- * included in this file.
4
- */
5
- .wpf_spin {
6
- -webkit-animation: spin 1000ms infinite linear;
7
- animation: spin 1000ms infinite linear;
8
- &.reverse_spin {
9
- animation-direction: reverse;
10
- }
11
- }
12
- .wpf_regenerate {
13
- &.disabled {
14
- color: #737373;
15
- box-shadow: none;
16
- cursor: not-allowed;
17
- }
18
- }
19
-
20
- @keyframes spin {
21
- 0% {
22
- transform: rotate(0deg);
23
- }
24
- 100% {
25
- transform: rotate(359deg);
26
- }
27
- }
28
-
29
- .wfbtn {
30
- background: #3498db;
31
- background-image: -webkit-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
32
- background-image: -moz-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
33
- background-image: -ms-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
34
- background-image: -o-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
35
- background-image: linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
36
- -webkit-border-radius: 17px;
37
- -moz-border-radius: 17px;
38
- border-radius: 17px;
39
- -webkit-box-shadow: 0 1px 3px #666666;
40
- -moz-box-shadow: 0 1px 3px #666666;
41
- box-shadow: inset 0 1px 3px #666666;
42
- font-family: Arial, sans-serif;
43
- color: #ffffff;
44
- font-size: 20px;
45
- padding: 10px 20px 10px 20px;
46
- border: solid #2b698f 0px;
47
- text-decoration: none;
48
- &:hover {
49
- background: #3cb0fd;
50
- background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
51
- background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
52
- background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
53
- background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
54
- background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
55
- text-decoration: none;
56
- }
57
- }
58
- .woo_feed_manage_list_table {
59
- .wf_update_interval_btn {
60
- background: -webkit-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
61
- background: -moz-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
62
- background: -ms-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
63
- background: -o-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
64
- background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
65
- border: none;
66
-
67
- &:hover {
68
- background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
69
- }
70
- }
71
- }
72
-
73
- .woo-feed-promotion {
74
- position: relative;
75
- display: none;
76
- .woo-feed-campaign-close-button {
77
- position: absolute;
78
- top: 50%;
79
- transform: translateY(-50%);
80
- right: 15px;
81
- width: 24px;
82
- height: 24px;
83
- border-radius: 12px;
84
- background: #595d6b;
85
- line-height: 24px;
86
- color: #fff;
87
- cursor: pointer;
88
- transition: .3s ease;
89
-
90
- &:hover {
91
- background: #fff;
92
- color: #d61e48;
93
- }
94
- }
95
- }
96
-
97
- .wftooltip {
98
- display: none;
99
- position: absolute;
100
- border: 1px solid #333;
101
- background-color: #161616;
102
- border-radius: 5px;
103
- padding: 10px;
104
- color: #fff;
105
- font-size: 12px;
106
- }
107
-
108
- .feed-actions {
109
- .makeFeedResponse {
110
- width: 70%;
111
- color: green;
112
- }
113
- }
114
-
115
- .woo-feed-mapping-input {
116
- width: 100%;
117
- }
118
-
119
- .requiredIn {
120
- color: red;
121
- }
122
-
123
- .generalInput {
124
- width: 200px;
125
- &:not(.selectize-control) {
126
- margin: 5px auto;
127
- }
128
- }
129
-
130
- .error {
131
- color: red;
132
- }
133
-
134
- .widefat {
135
- td {
136
- select, input {
137
- max-width: 100%;
138
- }
139
- }
140
- }
141
-
142
- #wf_newRow {
143
- margin-left: 0;
144
- }
145
-
146
- .mtable {
147
- tbody {
148
- tr {
149
- height: 25px;
150
- border: 1px solid #CCC;
151
- text-align: left;
152
- align-items: baseline;
153
- font-weight: bold;
154
- }
155
- }
156
- th {
157
- &:nth-child(1) {
158
- width: 17px;
159
- }
160
- &:nth-child(2) {
161
- width: 160px;
162
- }
163
- &:nth-child(3) {
164
- width: 100px;
165
- }
166
- &:nth-child(4) {
167
- width: 100px;
168
- }
169
- &:nth-child(5) {
170
- width: 150px;
171
- }
172
- &:nth-child(6) {
173
- width: 100px;
174
- }
175
- &:nth-child(7) {
176
- width: 150px;
177
- }
178
- &:nth-child(8) {
179
- width: 90px;
180
- }
181
- &:nth-child(9) {
182
- width: 29px;
183
- }
184
- }
185
- }
186
-
187
- .mtable2 {
188
- tbody {
189
- tr {
190
- height: 25px;
191
- border: 1px solid #CCC;
192
- text-align: left;
193
- align-items: baseline;
194
- font-weight: bold;
195
- }
196
- }
197
- th {
198
- &:nth-child(1) {
199
- width: 30px;
200
- }
201
- &:nth-child(2) {
202
- width: 150px;
203
- }
204
- &:nth-child(3) {
205
- width: 230px;
206
- }
207
- &:nth-child(4) {
208
- width: 220px;
209
- }
210
- &:nth-child(7) {
211
- width: 50px;
212
- }
213
- &:nth-child(8) {
214
- width: 50px;
215
- }
216
- &:nth-child(9) {
217
- width: 29px;
218
- }
219
- }
220
- }
221
-
222
-
223
- .wp-admin {
224
- select.wf_mattributes {
225
- width: 150px;
226
- left: 0;
227
- height: 25px;
228
- }
229
- }
230
-
231
- div#wf-tab-content1 {
232
- select {
233
- &:not([name^="output_type"]) {
234
- width: 100%;
235
- }
236
- }
237
- input {
238
- width: 100%;
239
- }
240
- .dashicons {
241
- vertical-align: middle;
242
- }
243
- }
244
-
245
-
246
- .wf_attributes {
247
- width: 150px;
248
- left: 0
249
- }
250
-
251
- .wf_compare {
252
- max-width: 245px;
253
- left: 0
254
- }
255
-
256
- .wf_ps {
257
- width: 100px;
258
- left: 0
259
- }
260
-
261
- .wf_sortedtable {
262
- cursor: move;
263
- }
264
-
265
- .sorted_table {
266
- position: relative;
267
- .dragged {
268
- position: absolute;
269
- opacity: 0.8;
270
- z-index: 9999;
271
- background: #fff;
272
- width: 100%;
273
- display: table;
274
- }
275
- tbody {
276
- tr.placeholder {
277
- td {
278
- border: 1px dashed #2cc185;
279
- height: 46px;
280
- }
281
- }
282
- }
283
- }
284
-
285
- .wfnoempty {
286
- width: 120px;
287
- }
288
-
289
- /*==================Tab Design=======================*/
290
-
291
- .wf_tabs {
292
- position: relative;
293
- margin: 0 auto;
294
- width: 100%;
295
- list-style: none;
296
- /*bottom: 50px;*/
297
-
298
- }
299
-
300
- .wf_tabs:after {
301
- display: table;
302
- clear: both;
303
- content: "";
304
- }
305
-
306
- .wf_tabs li {
307
- float: left;
308
- width: 20%;
309
- display: block;
310
- border: 2px solid #CCC;
311
- }
312
-
313
- .wf_tabs li > input[type="radio"][name="wf_tabs"] {
314
- position: absolute;
315
- top: auto;
316
- left: -9999px;
317
- }
318
-
319
- .wf-tab-name {
320
- display: block;
321
- padding: 15px;
322
- font-size: 15px;
323
- font-weight: bold;
324
- line-height: 1;
325
- background: #fff;
326
- cursor: pointer;
327
- position: relative;
328
- text-align: center;
329
- text-transform: uppercase;
330
- color: #2CC185;
331
- }
332
-
333
- .wf-tab-name:hover {
334
- background: #2CC185;
335
- color: white;
336
- }
337
-
338
- .wf_tabs [id^="tab"]:checked + label {
339
- background: #2CC185;
340
- color: white;
341
- }
342
-
343
- .wf_tabs .wf-tab-content {
344
- z-index: 2;
345
- display: none;
346
- width: 100%;
347
- font-size: 0.9rem;
348
- position: absolute;
349
- left: 0;
350
- background: #fff;
351
- border: 2px solid #CCC;
352
- }
353
-
354
- .wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
355
- display: block;
356
- }
357
-
358
- [id^="wf-tab-content"] {
359
- margin-bottom: 40px;
360
- }
361
-
362
- div#wf-tab-content2 table:first-child {
363
- padding: 10px 0;
364
- }
365
-
366
- div#wf-tab-content2 table:first-child td:nth-child(1) {
367
- width: 260px;
368
- }
369
-
370
- div#wf-tab-content2 table:first-child td:nth-child(2) {
371
- width: 260px;
372
- }
373
-
374
- table.feed-actions tr td:last-child {
375
- text-align: right;
376
- }
377
-
378
- /* Selectize */
379
- select.selectize {
380
- display: none;
381
- }
382
-
383
- body.no-js select.selectize {
384
- display: block !important;
385
- }
386
-
387
- .wp-list-table {
388
- .option_name {
389
- .wf_feed_option_name_link {
390
- font-weight: 700;
391
- color: #30336b;
392
- }
393
- }
394
-
395
- #option_name {
396
- a {
397
- color: #32373c;
398
- }
399
- }
400
- }
401
-
402
- /* fallback combat */
403
- .selectize-dropdown .active {
404
- background-color: #edf9ff;
405
- }
406
-
407
- .selectize-dropdown .create {
408
- padding: 5px 8px;
409
- }
410
-
411
- .wapk-selectize-item {
412
- background: #0073aa !important;
413
- color: #f1f1f1 !important;
414
- font-weight: bold !important;
415
- border-color: #0073aa !important;
416
- padding-left: 5px;
417
- padding-right: 5px;
418
- }
419
-
420
- .selectize-input.full #googleTaxonomyId-selectized {
421
- opacity: 0;
422
- position: absolute;
423
- left: -10000px;
424
- }
425
-
426
- .selectize-dropdown [data-selectable].option {
427
- cursor: default;
428
- }
429
-
430
- .selectize-control.plugin-remove_button [data-value] .remove {
431
- border-left: 1px solid #f1f1f1 !important;
432
- }
433
-
434
- .selectize-dropdown .optgroup-header {
435
- font-weight: 700;
436
- background: #efefef;
437
- color: #5a5a5a;
438
- }
439
-
440
- .selectize-dropdown [data-selectable].option {
441
- cursor: pointer;
442
- }
443
-
444
- /* Feed active and inactive button CSS */
445
- .wf_status_wrap label {
446
- width: 55px;
447
- height: 28px;
448
- box-sizing: border-box;
449
- float: left;
450
- border-radius: 100px;
451
- position: relative;
452
- cursor: pointer;
453
- transition: .3s ease;
454
- background: linear-gradient(125deg,#e2e2e2 0,#ccc 140%);
455
- }
456
-
457
- input[class=woo_feed_status_input]:checked + label {
458
- background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
459
- }
460
-
461
- input[class=woo_feed_status_input]:checked + label:before {
462
- left: 29px;
463
- }
464
-
465
- .wf_status_wrap label:before {
466
- transition: .3s ease;
467
- content: '';
468
- width: 20px;
469
- height: 20px;
470
- position: absolute;
471
- background: white;
472
- left: 6px;
473
- top: 4px;
474
- box-sizing: border-box;
475
- color: black;
476
- border-radius: 100px;
477
- box-shadow: 0px 1.5px 2px 0px #000;
478
- }
479
-
480
- .view {
481
- span {
482
- &.dashicons {
483
- &.dashicons-external {
484
- color: #22a6b3;
485
- }
486
-
487
- &.dashicons-sos {
488
- color: #22a6b3;
489
- }
490
-
491
- &.dashicons-download {
492
- color: #ee5253;
493
- }
494
-
495
- &.dashicons-media-code {
496
- color: #576574;
497
- }
498
- }
499
- }
500
- }
501
-
502
-
503
- /* list table style */
504
- .widefat td.column-url, .widefat th.column-url,
505
- .column-url {
506
- color: #1e8f9a;
507
- font-weight: bold;
508
- }
509
-
510
- /** Feed Progress **/
511
- .feed-progress-container {
512
- width: 100%;
513
- color: white;
514
- text-align: center;
515
- font-weight: 300;
516
- }
517
-
518
- .feed-progress-bar {
519
- width: 100%;
520
- background: #eee;
521
- padding: 3px;
522
- border-radius: 50px;
523
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
524
- }
525
-
526
- .feed-progress-bar-fill {
527
- height: 20px;
528
- display: block;
529
- background: linear-gradient(to right top, #10ac84, #13b389, #15ba8f, #18c194, #1ac89a, #13cba1, #0acfa9, #00d2b0, #00d2ba, #00d2c3, #00d2cb, #00d2d3);
530
- width: 0;
531
- border-radius: 50px;
532
- -webkit-transition: width 0.8s ease;
533
- transition: width 0.8s ease;
534
- }
535
-
536
- .feed-progress-status {
537
- float: left;
538
- font-weight: bold;
539
- color: darkblue;
540
- }
541
-
542
- .feed-progress-percentage {
543
- text-align: right;
544
- font-weight: bolder;
545
- color: #1dd1a1;
546
- font-family: 'Arial Black', sans-serif;
547
- font-size: large;
548
- }
549
-
550
- #wpbody-content.woofeed-body-content {
551
- overflow: visible !important;
552
- }
553
-
554
- .clippy {
555
- position: relative;
556
- width: 13px;
557
- margin-top: -3px;
558
- margin-left: 3px;
559
- top: 3px;
560
- }
561
-
562
- .column-url .clippy {
563
- display: none;
564
- }
565
-
566
- .column-url:hover .clippy {
567
- display: inline-block;
568
- }
569
-
570
- /**
571
- * Primer Tooltip
572
- */
573
- .tooltipped {
574
- position: relative;
575
- &:after {
576
- position: absolute;
577
- z-index: 1000000;
578
- display: none;
579
- padding: 5px 8px;
580
- font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
581
- color: #fff;
582
- text-align: center;
583
- text-decoration: none;
584
- text-shadow: none;
585
- text-transform: none;
586
- letter-spacing: normal;
587
- word-wrap: break-word;
588
- white-space: pre;
589
- pointer-events: none;
590
- content: attr(aria-label);
591
- background: rgba(0, 0, 0, .8);
592
- border-radius: 3px;
593
- -webkit-font-smoothing: subpixel-antialiased;
594
- }
595
- &:before {
596
- position: absolute;
597
- z-index: 1000001;
598
- display: none;
599
- width: 0;
600
- height: 0;
601
- color: rgba(0, 0, 0, .8);
602
- pointer-events: none;
603
- content: "";
604
- border: 5px solid transparent;
605
- }
606
- &:hover {
607
- &:before {
608
- display: inline-block;
609
- text-decoration: none;
610
- }
611
- &:after {
612
- display: inline-block;
613
- text-decoration: none;
614
- }
615
- }
616
- &:active {
617
- &:before {
618
- display: inline-block;
619
- text-decoration: none;
620
- }
621
- &:after {
622
- display: inline-block;
623
- text-decoration: none;
624
- }
625
- }
626
- &:focus {
627
- &:before {
628
- display: inline-block;
629
- text-decoration: none;
630
- }
631
- &:after {
632
- display: inline-block;
633
- text-decoration: none;
634
- }
635
- }
636
- &-multiline {
637
- &:hover {
638
- &:after {
639
- display: table-cell;
640
- }
641
- }
642
- &:active {
643
- &:after {
644
- display: table-cell;
645
- }
646
- }
647
- &:focus {
648
- &:after {
649
- display: table-cell;
650
- }
651
- }
652
- &:after {
653
- //noinspection CssInvalidPropertyValue
654
- width: -webkit-max-content;
655
- width: -moz-max-content;
656
- width: max-content;
657
- max-width: 250px;
658
- word-break: break-word;
659
- word-wrap: normal;
660
- white-space: pre-line;
661
- border-collapse: separate;
662
- }
663
- }
664
- &-s {
665
- &:after {
666
- top: 100%;
667
- right: 50%;
668
- margin-top: 5px;
669
- -webkit-transform: translateX(50%);
670
- -ms-transform: translateX(50%);
671
- transform: translateX(50%);
672
- }
673
- &:before {
674
- top: auto;
675
- right: 50%;
676
- bottom: -5px;
677
- margin-right: -5px;
678
- border-bottom-color: rgba(0, 0, 0, .8);
679
- }
680
- }
681
- &-se {
682
- &:after {
683
- top: 100%;
684
- margin-top: 5px;
685
- right: auto;
686
- left: 50%;
687
- margin-left: -15px;
688
- }
689
- &:before {
690
- top: auto;
691
- right: 50%;
692
- bottom: -5px;
693
- margin-right: -5px;
694
- border-bottom-color: rgba(0, 0, 0, .8);
695
- }
696
- }
697
- &-sw {
698
- &:after {
699
- top: 100%;
700
- right: 50%;
701
- margin-top: 5px;
702
- margin-right: -15px;
703
- }
704
- &:before {
705
- top: auto;
706
- right: 50%;
707
- bottom: -5px;
708
- margin-right: -5px;
709
- border-bottom-color: rgba(0, 0, 0, .8);
710
- }
711
- }
712
- &-n {
713
- &:after {
714
- right: 50%;
715
- bottom: 100%;
716
- margin-bottom: 5px;
717
- -webkit-transform: translateX(50%);
718
- -ms-transform: translateX(50%);
719
- transform: translateX(50%);
720
- }
721
- &:before {
722
- top: -5px;
723
- right: 50%;
724
- bottom: auto;
725
- margin-right: -5px;
726
- border-top-color: rgba(0, 0, 0, .8);
727
- }
728
- }
729
- &-ne {
730
- &:after {
731
- bottom: 100%;
732
- margin-bottom: 5px;
733
- right: auto;
734
- left: 50%;
735
- margin-left: -15px;
736
- }
737
- &:before {
738
- top: -5px;
739
- right: 50%;
740
- bottom: auto;
741
- margin-right: -5px;
742
- border-top-color: rgba(0, 0, 0, .8);
743
- }
744
- }
745
- &-nw {
746
- &:after {
747
- right: 50%;
748
- bottom: 100%;
749
- margin-bottom: 5px;
750
- margin-right: -15px;
751
- }
752
- &:before {
753
- top: -5px;
754
- right: 50%;
755
- bottom: auto;
756
- margin-right: -5px;
757
- border-top-color: rgba(0, 0, 0, .8);
758
- }
759
- }
760
- &-w {
761
- &:after {
762
- right: 100%;
763
- bottom: 50%;
764
- margin-right: 5px;
765
- -webkit-transform: translateY(50%);
766
- -ms-transform: translateY(50%);
767
- transform: translateY(50%);
768
- }
769
- &:before {
770
- top: 50%;
771
- bottom: 50%;
772
- left: -5px;
773
- margin-top: -5px;
774
- border-left-color: rgba(0, 0, 0, .8);
775
- }
776
- }
777
- &-e {
778
- &:after {
779
- bottom: 50%;
780
- left: 100%;
781
- margin-left: 5px;
782
- -webkit-transform: translateY(50%);
783
- -ms-transform: translateY(50%);
784
- transform: translateY(50%);
785
- }
786
- &:before {
787
- top: 50%;
788
- right: -5px;
789
- bottom: 50%;
790
- margin-top: -5px;
791
- border-right-color: rgba(0, 0, 0, .8);
792
- }
793
- }
794
- &-multiline {
795
- &.tooltipped-s {
796
- &:after {
797
- right: auto;
798
- left: 50%;
799
- -webkit-transform: translateX(-50%);
800
- -ms-transform: translateX(-50%);
801
- transform: translateX(-50%);
802
- }
803
- }
804
- &.tooltipped-n {
805
- &:after {
806
- right: auto;
807
- left: 50%;
808
- -webkit-transform: translateX(-50%);
809
- -ms-transform: translateX(-50%);
810
- transform: translateX(-50%);
811
- }
812
- }
813
- &.tooltipped-w {
814
- &:after {
815
- right: 100%;
816
- }
817
- }
818
- &.tooltipped-e {
819
- &:after {
820
- right: 100%;
821
- }
822
- }
823
- }
824
- &-sticky {
825
- &:before {
826
- display: inline-block;
827
- }
828
- &:after {
829
- display: inline-block;
830
- }
831
- &.tooltipped-multiline {
832
- &:after {
833
- display: table-cell;
834
- }
835
- }
836
- }
837
- }
838
-
839
- .fullscreen-overlay-enabled {
840
- &.dark-theme {
841
- .tooltipped {
842
- &:after {
843
- color: #000;
844
- background: rgba(255, 255, 255, .8);
845
- }
846
- .tooltipped-s {
847
- &:before {
848
- border-bottom-color: rgba(255, 255, 255, .8);
849
- }
850
- }
851
- .tooltipped-se {
852
- &:before {
853
- border-bottom-color: rgba(255, 255, 255, .8);
854
- }
855
- }
856
- .tooltipped-sw {
857
- &:before {
858
- border-bottom-color: rgba(255, 255, 255, .8);
859
- }
860
- }
861
- &.tooltipped-n {
862
- &:before {
863
- border-top-color: rgba(255, 255, 255, .8);
864
- }
865
- }
866
- &.tooltipped-ne {
867
- &:before {
868
- border-top-color: rgba(255, 255, 255, .8);
869
- }
870
- }
871
- &.tooltipped-nw {
872
- &:before {
873
- border-top-color: rgba(255, 255, 255, .8);
874
- }
875
- }
876
- &.tooltipped-e {
877
- &:before {
878
- border-right-color: rgba(255, 255, 255, .8);
879
- }
880
- }
881
- &.tooltipped-w {
882
- &:before {
883
- border-left-color: rgba(255, 255, 255, .8);
884
- }
885
- }
886
- }
887
- }
888
- }
889
- @media screen and (min-width: 0\0) {
890
- .tooltipped-multiline {
891
- &:after {
892
- width: 250px;
893
- }
894
- }
895
- }
896
-
897
-
898
- ul {
899
- &.tracker_collection_list {
900
- list-style: initial;
901
- padding: initial;
902
- margin: -10px 0 0 30px;
903
- font-size: 11px !important;
904
- li {
905
- margin: 0;
906
- }
907
- }
908
- }
909
-
910
-
911
- /** Info Message Table **/
912
- table {
913
- &.wf-info-table, &.wf-rate-table {
914
- vertical-align: middle;
915
- text-align: center;
916
- max-width: 100%;
917
- font-weight: 500;
918
- th {
919
- text-align: center;
920
-
921
- .woo-feed-top-header {
922
- display: flex;
923
- justify-content: space-between;
924
- align-items: center;
925
-
926
- .get-woo-feed-pro {
927
- margin-left: 20px;
928
- }
929
-
930
- .woo-feed-top-buttons {
931
- float: right;
932
- display: flex;
933
- border-radius: 7px;
934
- justify-content: center;
935
- align-items: center;
936
- a {
937
- padding: 8px 20px;
938
- background: #576574;
939
- color: #fff;
940
- box-sizing: border-box;
941
- display: inline-block;
942
- transition: .3s ease;
943
-
944
- &.woo-feed-doc-link {
945
- background: #576574;
946
- border-top-left-radius: 5px;
947
- border-bottom-left-radius: 5px;
948
- }
949
-
950
- &.woo-feed-video-link {
951
- background: #ee5253;
952
- }
953
-
954
- &.woo-feed-support-link {
955
- background: #22a6b3;
956
- border-top-right-radius: 5px;
957
- border-bottom-right-radius: 5px;
958
- }
959
-
960
- span.dashicons {
961
- font-size: 18px;
962
- line-height: 1.2;
963
- }
964
-
965
- &:hover {
966
- background: #30336b;
967
- box-shadow: 0px 0px 33px 0px rgba(0,0,0,0.12);
968
- }
969
-
970
- }
971
- }
972
- }
973
-
974
-
975
- }
976
- strong {
977
- font-weight: bold;
978
- }
979
- }
980
- &.wf-info-table {
981
- th {
982
- &:first-child {
983
- img {
984
- margin: 0 0 -5px 5px;
985
- }
986
- }
987
- }
988
- }
989
- &.wf-rate-table {
990
- a {
991
- color: #0073aa;
992
- }
993
- a.review-star {
994
- &:after {
995
- content: "\f155\f155\f155\f155\f155" !important;
996
- //noinspection CssNoGenericFontName
997
- font-family: dashicons;
998
- font-size: 10px;
999
- font-weight: 100;
1000
- text-rendering: auto;
1001
- -webkit-font-smoothing: antialiased;
1002
- -moz-osx-font-smoothing: grayscale;
1003
- color: #0073aa;
1004
- text-decoration: underline;
1005
- }
1006
- }
1007
- }
1008
- }
1009
-
1010
-
1011
- /** Admin Menu Icon **/
1012
- #adminmenu {
1013
- #toplevel_page_webappick-manage-feeds {
1014
- div.wp-menu-image {
1015
- &::before {
1016
- content: "";
1017
- background: url(../images/woo-feed-icon.svg) no-repeat center center;
1018
- background-size: 20px 20px;
1019
- opacity: 0.6;
1020
- filter: alpha(opacity=60);
1021
- }
1022
- }
1023
- &:hover {
1024
- div.wp-menu-image {
1025
- &::before {
1026
- opacity: 1;
1027
- filter: alpha(opacity=100);
1028
- }
1029
- }
1030
- }
1031
- }
1032
- #toplevel_page_webappick-manage-feeds.wp-has-current-submenu {
1033
- div.wp-menu-image {
1034
- &::before {
1035
- opacity: 1;
1036
- filter: alpha(opacity=100);
1037
- }
1038
- }
1039
- }
1040
- }
1041
-
1042
-
1043
- /** Admin Page Wrapper **/
1044
- .wapk-admin, .wapk-admin * {
1045
- -webkit-box-sizing: border-box;
1046
- -moz-box-sizing: border-box;
1047
- box-sizing: border-box;
1048
- }
1049
-
1050
- .wapk-admin {
1051
- position: relative;
1052
- display: block;
1053
- -webkit-hyphens: manual;
1054
- -ms-hyphens: manual;
1055
- hyphens: manual;
1056
- color: #1B2730;
1057
- /* reset .warp margin to use full width except menu area */
1058
- margin: 0 0 0 -10px;
1059
- }
1060
-
1061
- @media screen and (min-width: 783px) {
1062
- .wapk-admin {
1063
- margin: 0 0 0 -20px;
1064
- }
1065
- }
1066
-
1067
- .text-center {
1068
- text-align: center;
1069
- }
1070
- .wapk-admin {
1071
- h1, h2, h3,
1072
- h4, h5, h6,
1073
- p {
1074
- color: #1B2730;
1075
- }
1076
- sup {
1077
- vertical-align: baseline;
1078
- position: relative;
1079
- top: -6px;
1080
- }
1081
- sub {
1082
- vertical-align: baseline;
1083
- position: relative;
1084
- top: 4px;
1085
- }
1086
- }
1087
-
1088
-
1089
- /* WP.Core.UI Compat */
1090
- .wapk-admin {
1091
- .wapk-section {
1092
- [class$=icon32] {
1093
- + {
1094
- h2 {
1095
- font-size: 23px;
1096
- font-weight: 400;
1097
- margin: 0;
1098
- padding: 9px 0 4px 0;
1099
- line-height: 1.3;
1100
- }
1101
- }
1102
- }
1103
- h1 {
1104
- font-size: 23px;
1105
- font-weight: 400;
1106
- margin: 0;
1107
- padding: 9px 0 4px 0;
1108
- line-height: 1.3;
1109
- }
1110
- >h2 {
1111
- &:first-child {
1112
- font-size: 23px;
1113
- font-weight: 400;
1114
- margin: 0;
1115
- padding: 9px 0 4px 0;
1116
- line-height: 1.3;
1117
- }
1118
- }
1119
- margin: 10px 20px 0 22px;
1120
- position: relative;
1121
- display: block;
1122
- }
1123
- >.notice {
1124
- margin: 10px 20px 0 22px;
1125
- position: relative;
1126
- display: block;
1127
- }
1128
- span.help {
1129
- display: block;
1130
- float: left;
1131
- width: 100%;
1132
- font-size: 0.9em;
1133
- color: #636363;
1134
- margin-top: 5px;
1135
- font-weight: 500;
1136
- .dashicons {
1137
- width: 11px;
1138
- height: 12px;
1139
- font-size: inherit;
1140
- vertical-align: middle;
1141
- }
1142
- }
1143
- }
1144
- .clear {
1145
- &:after {
1146
- content: "";
1147
- display: table;
1148
- clear: both;
1149
- }
1150
- }
1151
-
1152
-
1153
- /*.wapk-admin .help a { color: inherit; text-decoration: underline; }*/
1154
- /** Extend WP Core UI PostBox For Docs **/
1155
- .wapk-feed-docs {
1156
- .postbox {
1157
- width: 355px;
1158
- margin-right: 20px;
1159
- display: inline-block;
1160
- vertical-align: top;
1161
- .hndle {
1162
- font-size: 14px;
1163
- padding: 8px 12px;
1164
- margin: 0;
1165
- line-height: 1.4;
1166
- cursor: pointer;
1167
- }
1168
- .dashicons {
1169
- color: #ccc;
1170
- }
1171
- a {
1172
- text-decoration: none;
1173
- }
1174
- .inside {
1175
- margin-bottom: 0;
1176
- }
1177
- ul {
1178
- margin-bottom: 0;
1179
- }
1180
- .toggle-indicator {
1181
- &:before {
1182
- content: "\F142";
1183
- display: inline-block;
1184
- font: 400 20px/1 dashicons;
1185
- speak: none;
1186
- -webkit-font-smoothing: antialiased;
1187
- -moz-osx-font-smoothing: grayscale;
1188
- text-decoration: none !important;
1189
- }
1190
- }
1191
- li {
1192
- width: 100%;
1193
- display: block;
1194
- float: left;
1195
- span {
1196
- display: inline-block;
1197
- float: left;
1198
- margin-right: 4px;
1199
- }
1200
- a {
1201
- display: inline-block;
1202
- float: left;
1203
- width: calc(100% - 24px);
1204
- }
1205
- }
1206
- }
1207
- .postbox.closed {
1208
- .toggle-indicator {
1209
- &:before {
1210
- content: "\F140";
1211
- }
1212
- }
1213
- }
1214
- }
1215
- .wapk-section {
1216
- #post-body.columns-2 {
1217
- #side-sortables {
1218
- min-height: 196px;
1219
- }
1220
- }
1221
- }
1222
- #poststuff {
1223
- #feed_merchant_info {
1224
- .inside {
1225
- margin: 0;
1226
- padding: 0;
1227
- }
1228
- }
1229
- }
1230
- #feed_merchant_info {
1231
- ul.data {
1232
- margin-left: 24px;
1233
- margin-top: 5px;
1234
- li {
1235
- margin-bottom: 5px;
1236
- }
1237
- }
1238
- }
1239
- .merchant-info-section {
1240
- padding: 6px 10px 8px;
1241
-
1242
- &.woo-feed-open-file {
1243
- text-align: center;
1244
-
1245
- a {
1246
- line-height: 1.5;
1247
- text-decoration: none;
1248
- }
1249
- }
1250
- }
1251
-
1252
- .generateFeed {
1253
- .wf-tab-content {
1254
- table {
1255
- &:first-child {
1256
- border: none;
1257
- box-shadow: none;
1258
- }
1259
- }
1260
- }
1261
- table {
1262
- th {
1263
- font-weight: bold;
1264
- }
1265
- }
1266
- }
1267
- @media only screen and (max-width: 850px) {
1268
- .wapk-feed-docs {
1269
- .postbox {
1270
- display: block;
1271
- width: auto;
1272
- float: none;
1273
- margin-right: auto;
1274
- }
1275
- }
1276
- }
1277
-
1278
- /** Admin Feed Help Docs **/
1279
- .wp-submenu {
1280
- li {
1281
- span.woo-feed-docs {
1282
- font-weight: bold;
1283
- color: #f18500;
1284
- }
1285
- &:hover {
1286
- span.woo-feed-docs {
1287
- color: #ce7304;
1288
- }
1289
- }
1290
- }
1291
- li.current {
1292
- span.woo-feed-docs {
1293
- color: #ce7304;
1294
- }
1295
- }
1296
- }
1297
- .wapk-admin {
1298
- .wapk-feed-docs {
1299
- .postbox {
1300
- .hndle {
1301
- cursor: default;
1302
- }
1303
- }
1304
- }
1305
- }
1306
-
1307
- /** Admin Call-To-Action **/
1308
- .wapk-cta {
1309
- position: relative;
1310
- display: flex;
1311
- width: 100%;
1312
- padding: 100px 15px;
1313
- background: linear-gradient(45deg, #6CD5FF 33%, #c2efef 100%);
1314
- justify-content: center;
1315
- align-items: center;
1316
- &-icon {
1317
- .dashicons {
1318
- font-size: 100px;
1319
- width: 100px;
1320
- height: auto;
1321
- margin: 0 10px -8px 0;
1322
- color: #02658c;
1323
- }
1324
- }
1325
- &-content {
1326
- width: 50%;
1327
- h2 {
1328
- font-size: 2em;
1329
- margin: 0.5em 0;
1330
- }
1331
- }
1332
- &-action {
1333
- a.wapk-button {
1334
- font-size: 24px;
1335
- height: auto !important;
1336
- padding: 10px 20px;
1337
- }
1338
- }
1339
- }
1340
-
1341
- @media (max-width: 600px) {
1342
- .wapk-cta {
1343
- display: block;
1344
- text-align: center;
1345
- padding: 4em 0;
1346
- &-content {
1347
- width: 100%;
1348
- margin: 2em 0;
1349
- }
1350
- }
1351
- }
1352
-
1353
- /** Override .wp-core-ui .wapk-button styles with prefix .wapk-admin **/
1354
- /* Button Skin */
1355
- .wapk-button {
1356
- color: #00D4D4;
1357
- border-color: #00D4D4;
1358
- display: inline-block;
1359
- text-decoration: none;
1360
- font-size: 13px;
1361
- line-height: 2.15384615;
1362
- min-height: 30px;
1363
- margin: 0;
1364
- padding: 0 10px;
1365
- cursor: pointer;
1366
- border-width: 1px;
1367
- border-style: solid;
1368
- -webkit-appearance: none;
1369
- border-radius: 3px;
1370
- white-space: nowrap;
1371
- box-sizing: border-box;
1372
- >svg {
1373
- width: 15px;
1374
- margin-left: 5px;
1375
- fill: #00D4D4;
1376
- }
1377
- >.dashicons {
1378
- color: #00D4D4;
1379
- }
1380
- &:hover {
1381
- border-color: #00bbbb;
1382
- color: #00bbbb;
1383
- >svg {
1384
- fill: #00bbbb;
1385
- }
1386
- >.dashicons {
1387
- color: #00bbbb;
1388
- }
1389
- }
1390
- &:focus {
1391
- border-color: #00D4D4;
1392
- color: #00bbbb;
1393
- box-shadow: 0 0 0 1px #00D4D4;
1394
- >svg {
1395
- fill: #00bbbb;
1396
- }
1397
- >.dashicons {
1398
- color: #00bbbb;
1399
- }
1400
- }
1401
- &:active {
1402
- background: #00bbbb;
1403
- border-color: #00bbbb;
1404
- }
1405
- &-secondary {
1406
- color: #00D4D4;
1407
- border-color: #00D4D4;
1408
- display: inline-block;
1409
- text-decoration: none;
1410
- font-size: 13px;
1411
- line-height: 2.15384615;
1412
- min-height: 30px;
1413
- margin: 0;
1414
- padding: 0 10px;
1415
- cursor: pointer;
1416
- border-width: 1px;
1417
- border-style: solid;
1418
- -webkit-appearance: none;
1419
- border-radius: 3px;
1420
- white-space: nowrap;
1421
- box-sizing: border-box;
1422
- >svg {
1423
- width: 15px;
1424
- margin-left: 5px;
1425
- fill: #00D4D4;
1426
- }
1427
- >.dashicons {
1428
- color: #00D4D4;
1429
- }
1430
- &:hover {
1431
- border-color: #00bbbb;
1432
- color: #00bbbb;
1433
- >svg {
1434
- fill: #00bbbb;
1435
- }
1436
- >.dashicons {
1437
- color: #00bbbb;
1438
- }
1439
- }
1440
- &:focus {
1441
- border-color: #00D4D4;
1442
- color: #00bbbb;
1443
- box-shadow: 0 0 0 1px #00D4D4;
1444
- >svg {
1445
- fill: #00bbbb;
1446
- }
1447
- >.dashicons {
1448
- color: #00bbbb;
1449
- }
1450
- }
1451
- }
1452
- &-primary {
1453
- display: inline-block;
1454
- text-decoration: none;
1455
- font-size: 13px;
1456
- line-height: 2.15384615;
1457
- min-height: 30px;
1458
- margin: 0;
1459
- padding: 0 10px;
1460
- cursor: pointer;
1461
- border-width: 1px;
1462
- border-style: solid;
1463
- -webkit-appearance: none;
1464
- border-radius: 3px;
1465
- white-space: nowrap;
1466
- box-sizing: border-box;
1467
- background: #00D4D4;
1468
- border-color: #00D4D4;
1469
- color: #fff;
1470
- box-shadow: 0 1px 0 #00bbbb;
1471
- text-shadow: 0 -1px 1px #00bbbb, 1px 0 1px #00bbbb, 0 1px 1px #00bbbb, -1px 0 1px #00bbbb;
1472
- >svg {
1473
- fill: #fff;
1474
- }
1475
- &:hover {
1476
- background: #00e3e3;
1477
- border-color: #00c5c5;
1478
- color: #fff;
1479
- >svg {
1480
- fill: #fff;
1481
- }
1482
- }
1483
- &:focus {
1484
- background: #00e3e3;
1485
- border-color: #00c5c5;
1486
- color: #fff;
1487
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #00D4D4;
1488
- >svg {
1489
- fill: #fff;
1490
- }
1491
- }
1492
- &:active {
1493
- background: #00bbbb;
1494
- border-color: #00bbbb;
1495
- color: #fff;
1496
- >svg {
1497
- fill: #fff;
1498
- }
1499
- }
1500
- &:disabled {
1501
- color: #c7d1d1 !important;
1502
- background: #22ffff !important;
1503
- border-color: #22ffff !important;
1504
- text-shadow: none !important;
1505
- >svg {
1506
- fill: #c7d1d1 !important;
1507
- }
1508
- }
1509
- }
1510
- &.hover {
1511
- border-color: #00bbbb;
1512
- color: #00bbbb;
1513
- >svg {
1514
- fill: #00bbbb;
1515
- }
1516
- >.dashicons {
1517
- color: #00bbbb;
1518
- }
1519
- }
1520
- &.focus {
1521
- border-color: #00D4D4;
1522
- color: #00bbbb;
1523
- box-shadow: 0 0 0 1px #00D4D4;
1524
- >svg {
1525
- fill: #00bbbb;
1526
- }
1527
- >.dashicons {
1528
- color: #00bbbb;
1529
- }
1530
- }
1531
- &.active {
1532
- border-color: #00bbbb;
1533
- color: #00bbbb;
1534
- box-shadow: inset 0 2px 5px -3px #00bbbb;
1535
- &:focus {
1536
- border-color: #00bbbb;
1537
- color: #00bbbb;
1538
- box-shadow: inset 0 2px 5px -3px #00bbbb;
1539
- >svg {
1540
- fill: #00bbbb;
1541
- }
1542
- >.dashicons {
1543
- color: #00bbbb;
1544
- }
1545
- }
1546
- &:hover {
1547
- border-color: #00bbbb;
1548
- color: #00bbbb;
1549
- box-shadow: inset 0 2px 5px -3px #00bbbb;
1550
- >svg {
1551
- fill: #00bbbb;
1552
- }
1553
- >.dashicons {
1554
- color: #00bbbb;
1555
- }
1556
- }
1557
- >svg {
1558
- fill: #00bbbb;
1559
- }
1560
- >.dashicons {
1561
- color: #00bbbb;
1562
- }
1563
- }
1564
- &-primary {
1565
- &.active {
1566
- background: #00D4D4;
1567
- color: #fff;
1568
- border-color: #008888;
1569
- box-shadow: inset 0 2px 5px -3px black;
1570
- &:focus {
1571
- background: #00D4D4;
1572
- color: #fff;
1573
- border-color: #008888;
1574
- box-shadow: inset 0 2px 5px -3px black;
1575
- >svg {
1576
- fill: #fff;
1577
- }
1578
- }
1579
- &:hover {
1580
- background: #00D4D4;
1581
- color: #fff;
1582
- border-color: #008888;
1583
- box-shadow: inset 0 2px 5px -3px black;
1584
- >svg {
1585
- fill: #fff;
1586
- }
1587
- }
1588
- >svg {
1589
- fill: #fff;
1590
- }
1591
- }
1592
- &[disabled] {
1593
- color: #c7d1d1 !important;
1594
- background: #22ffff !important;
1595
- border-color: #22ffff !important;
1596
- text-shadow: none !important;
1597
- >svg {
1598
- fill: #c7d1d1 !important;
1599
- }
1600
- }
1601
- &.wapk-button-primary-disabled {
1602
- color: #c7d1d1 !important;
1603
- background: #22ffff !important;
1604
- border-color: #22ffff !important;
1605
- text-shadow: none !important;
1606
- >svg {
1607
- fill: #c7d1d1 !important;
1608
- }
1609
- }
1610
- &.disabled {
1611
- color: #c7d1d1 !important;
1612
- background: #22ffff !important;
1613
- border-color: #22ffff !important;
1614
- text-shadow: none !important;
1615
- >svg {
1616
- fill: #c7d1d1 !important;
1617
- }
1618
- }
1619
- &.wapk-button-hero {
1620
- box-shadow: 0 2px 0 #00bbbb;
1621
- &:focus {
1622
- box-shadow: 0 2px 0 #00bbbb, 0 1px 0 #00c5c5, 0 0 2px 1px #00eeee;
1623
- }
1624
- &:active {
1625
- box-shadow: inset 0 3px 0 #00a1a1;
1626
- }
1627
- &.active {
1628
- box-shadow: inset 0 3px 0 #00a1a1;
1629
- &:hover, &:focus {
1630
- box-shadow: inset 0 3px 0 #00a1a1;
1631
- }
1632
- }
1633
- }
1634
- }
1635
- &-group {
1636
- >.wapk-button.active {
1637
- border-color: #00D4D4;
1638
- }
1639
- }
1640
- }
1641
-
1642
- /* Button Sizes */
1643
- .wapk-button.wapk-button-xl {
1644
- height: 30px;
1645
- line-height: 28px;
1646
- padding: 0 12px 2px;
1647
- }
1648
- .wapk-button-group.wapk-button-xl {
1649
- .wapk-button {
1650
- height: 30px;
1651
- line-height: 28px;
1652
- padding: 0 12px 2px;
1653
- }
1654
- }
1655
- .wapk-button.wapk-button-hero {
1656
- font-size: 18px;
1657
- height: 50px;
1658
- line-height: 48px;
1659
- padding: 0 36px;
1660
- min-height: 46px;
1661
- }
1662
- .wapk-button-group.wapk-button-hero {
1663
- .wapk-button {
1664
- font-size: 18px;
1665
- height: 50px;
1666
- line-height: 48px;
1667
- padding: 0 36px;
1668
- min-height: 46px;
1669
- }
1670
- }
1671
-
1672
- @media screen and (min-width: 782px) {
1673
- th#status,
1674
- th#provider {
1675
- width: 80px;
1676
- }
1677
- th#type {
1678
- width: 50px;
1679
- }
1680
- th#option_name {
1681
- width: 100px;
1682
- }
1683
- td.option_name.column-option_name {
1684
- >span {
1685
- &:first-child {
1686
- display: none;
1687
- }
1688
- }
1689
- }
1690
- th#last_updated {
1691
- width: 90px;
1692
- }
1693
- th#view {
1694
- width: 111px;
1695
- }
1696
- }
1697
- @media screen and (min-width: 960px) {
1698
- th#status, th#provider {
1699
- width: 100px;
1700
- }
1701
- th#type {
1702
- width: 80px;
1703
- }
1704
- th#option_name {
1705
- width: 150px;
1706
- }
1707
- th#last_updated {
1708
- width: 140px;
1709
- }
1710
- }
1711
- @media screen and (max-width: 782px) {
1712
- table.wf-info-table {
1713
- margin-top: 10px;
1714
- th {
1715
- &:first-child {
1716
- img {
1717
- margin: 0 auto;
1718
- display: block;
1719
- }
1720
- }
1721
- }
1722
- }
1723
- .wapk-button.wapk-button-xl {
1724
- padding: 6px 14px;
1725
- line-height: normal;
1726
- font-size: 14px;
1727
- vertical-align: middle;
1728
- height: auto;
1729
- margin-bottom: 4px;
1730
- }
1731
- }
1732
-
1733
- .wapk-feed-docs .wapk-feed-cta {
1734
- margin: 0;
1735
- }
1736
-
1737
- .campaign_configurator {
1738
- background: #FFF;
1739
- padding: 20px 0;
1740
- table {
1741
- margin: 0 auto;
1742
- width: 51%;
1743
- min-width: 574px;
1744
- border: none;
1745
- box-shadow: none;
1746
- }
1747
- th {
1748
- min-width: 120px;
1749
- }
1750
- }
1751
-
1752
- @media screen and (max-width: 782px) {
1753
- .campaign_configurator {
1754
- padding: 0;
1755
- table {
1756
- width: auto;
1757
- min-width: auto;
1758
- max-width: 100%;
1759
- }
1760
- th {
1761
- min-width: auto;
1762
- }
1763
- }
1764
- }
1765
-
1766
-
1767
- #wf-tab-content-config {
1768
- td {
1769
- > input:not([type="checkbox"]):not([type="radio"]),
1770
- > select,
1771
- > textarea {
1772
- width: 100% !important;
1773
- }
1774
- }
1775
- }
1776
-
1777
- .woo-feed-filters {
1778
- td {
1779
- > div {
1780
- &:nth-child(2n):not(.clear):not(.selectize) {
1781
- width: 120px;
1782
- display: block;
1783
- }
1784
- &:not(.clear) {
1785
- float: left;
1786
- margin-right: 10px;
1787
- }
1788
- }
1789
- }
1790
- tr {
1791
- > td {
1792
- &:first-child {
1793
- width: 290px;
1794
- padding-left: 40px;
1795
- }
1796
- }
1797
- }
1798
- }
1799
-
1800
- .woo-feed-filters,
1801
- .woo-feed-ftp {
1802
- margin: 15px auto 25px;
1803
- }
1804
- .wf_clean_cache_wrapper {
1805
- display: flex;
1806
- margin-left: auto;
1807
- }
1808
- @keyframes LoaderClockWise {
1809
- from {
1810
- transform: rotate(0deg);
1811
- }
1812
- to {
1813
- transform: rotate(360deg);
1814
- }
1815
- }
1816
- .woo-feed-cache-loader {
1817
- width: 18px;
1818
- margin-right: 5px;
1819
- animation: LoaderClockWise 1s linear infinite;
1820
- -webkit-animation: LoaderClockWise 1s linear infinite;
1821
- display: none;
1822
- }
1823
- .woo-feed-table-heading .woo-feed-table-heading-title {
1824
- float: left;
1825
- margin-right: auto;
1826
- display: inline-block;
1827
- line-height: 30px;
1828
- }
1829
- .woo-feed-table-heading .wf_clean_cache_wrapper {
1830
- float: right;
1831
- font-weight: normal;
1832
- }
1833
- .wf_clean_cache_wrapper button {
1834
- background: linear-gradient(125deg,#eb4d4b 0,#FF9671 130%);
1835
- color: #fff;
1836
- border: none;
1837
- font-weight: 500;
1838
- display: inline-block;
1839
- text-decoration: none;
1840
- font-size: 13px;
1841
- line-height: 2.15384615;
1842
- min-height: 30px;
1843
- margin: 0;
1844
- padding: 0 10px;
1845
- border-radius: 3px;
1846
- cursor: pointer;
1847
- outline: none;
1848
- }
1849
-
1850
- .wf_clean_cache_wrapper button:hover {
1851
- background: #ff7979;
1852
- color: #fff;
1853
- }
1854
-
1855
- input {
1856
- &[type="submit"] {
1857
- &[data-id="wf_action_submit"] {
1858
- background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
1859
- color: #fff;
1860
- border: 1px;
1861
- padding: 0 20px;
1862
- &:hover {
1863
- background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
1864
- color: #fff;
1865
- }
1866
- }
1867
- }
1868
- }
1869
- //thickbox Style
1870
- .woo-import-popup-body {
1871
- #TB_window {
1872
- width: 500px !important;
1873
-
1874
- #TB_title {
1875
- border: none;
1876
- background: #fff;
1877
- text-align: center;
1878
- display: flex;
1879
- justify-content: center;
1880
- align-items: center;
1881
- height: 35px !important;
1882
- #TB_ajaxWindowTitle {
1883
- color: #30336b;
1884
- font-weight: 700;
1885
- }
1886
- }
1887
-
1888
- #TB_closeWindowButton {
1889
- top: -14.5px;
1890
- right: -14.5px;
1891
- border: none;
1892
- outline: 0;
1893
- .tb-close-icon {
1894
- background: #ff5e55;
1895
- color: #fff;
1896
- border-radius: 50%;
1897
- }
1898
-
1899
- &:focus {
1900
- outline: 0;
1901
- border: 0;
1902
- }
1903
- }
1904
-
1905
- #TB_ajaxContent {
1906
- position: relative;
1907
- width: 100% !important;
1908
- height: auto !important;
1909
- border: none;
1910
- box-sizing: border-box;
1911
- overflow: hidden;
1912
- background: #f7fcff;
1913
- padding: 30px 20px;
1914
- &:before {
1915
- content: '';
1916
- width: 115%;
1917
- display: block;
1918
- background: #4bcffa;
1919
- position: absolute;
1920
- height: 130%;
1921
- z-index: 0;
1922
- left: -36%;
1923
- top: -85px;
1924
- transform: rotate(115deg);
1925
- }
1926
-
1927
- table {
1928
- border: none;
1929
- position: relative;
1930
- z-index: 1;
1931
- border-radius: 3px;
1932
- text-align: center;
1933
- padding: 20px;
1934
- box-shadow: 0px 12px 20px -17px #000;
1935
-
1936
- input {
1937
- width: 60%;
1938
- &:focus {
1939
- outline: 2px solid #68B8F7;
1940
- }
1941
- &[type="file"] {
1942
- padding: 3px 0;
1943
- cursor: pointer;
1944
- }
1945
- &[type="text"] {
1946
- border-radius: 25px;
1947
- font-size: 14px;
1948
- padding: 1px 20px;
1949
- text-align: center;
1950
- }
1951
- &[type="submit"] {
1952
- background: #17c0eb;
1953
- border-radius: 25px;
1954
- border: 0;
1955
- box-shadow: 1px 4px 7px -3px #45364A;
1956
- font-weight: 600;
1957
- transition: .3s ease;
1958
-
1959
- &:hover {
1960
- transform: translateY(-2px);
1961
- }
1962
- }
1963
- }
1964
- }
1965
- }
1966
- }
1967
- }
1968
-
1969
- /* Woo Feed Notice Style */
1970
- .woo-feed-notice {
1971
- .woo-feed-review-notice-logo {
1972
- width: 90px;
1973
- height: 90px;
1974
- float: left;
1975
- margin-right: 5px;
1976
- background: url("../images/woo-feed-logo.svg") no-repeat;
1977
- }
1978
- }
1979
-
1980
- /* Status Page Style */
1981
- .woo-feed-status-table-wrapper {
1982
- .woo-feed-status-table {
1983
- width: 100%;
1984
- max-width: 900px;
1985
- border-collapse: collapse;
1986
- border-spacing: 0.5rem;
1987
- box-shadow: 0px 0px 20px rgba(0,0,0,0.10);
1988
-
1989
- tr {
1990
- &:nth-child(even) {
1991
- background: #f1f1f1;
1992
- }
1993
-
1994
- &:nth-child(odd) {
1995
- background: #fafafc;
1996
- }
1997
-
1998
- th {
1999
- background: #353b48;
2000
- color: #fff;
2001
- }
2002
-
2003
- th,td {
2004
- padding: 0.5rem 20px;
2005
- text-align: left;
2006
- }
2007
- }
2008
- }
2009
- }
2010
-
2011
- input[id^="woo_feed_identifier_"] {
2012
- display: block;
2013
- width: 100% !important;
2014
- }
2015
-
2016
-
2017
- // Brand taxonomy styles
2018
-
2019
- #taxonomy-woo-feed-brand #newwoo-feed-brand_parent,
2020
- .taxonomy-woo-feed-brand .form-field.term-parent-wrap {
2021
- display: none;
2022
- }
2023
-
2024
- .wapk-admin {
2025
- .switch {
2026
- position: relative;
2027
- display: inline-block;
2028
- width: 60px;
2029
- height: 34px;
2030
- }
2031
-
2032
- .switch input {
2033
- opacity: 0;
2034
- width: 0;
2035
- height: 0;
2036
- }
2037
-
2038
- .slider {
2039
- position: absolute;
2040
- cursor: pointer;
2041
- top: 0;
2042
- left: 0;
2043
- right: 0;
2044
- bottom: 0;
2045
- background-color: #ccc;
2046
- -webkit-transition: .4s;
2047
- transition: .4s;
2048
- }
2049
-
2050
- .slider:before {
2051
- position: absolute;
2052
- content: "";
2053
- height: 26px;
2054
- width: 26px;
2055
- left: 4px;
2056
- bottom: 4px;
2057
- background-color: white;
2058
- -webkit-transition: .4s;
2059
- transition: .4s;
2060
- }
2061
-
2062
- input:checked + .slider {
2063
- background-color: #18c194;
2064
- }
2065
-
2066
- input:focus + .slider {
2067
- box-shadow: 0 0 1px #2196F3;
2068
- }
2069
-
2070
- input:checked + .slider:before {
2071
- -webkit-transform: translateX(26px);
2072
- -ms-transform: translateX(26px);
2073
- transform: translateX(26px);
2074
- }
2075
-
2076
- .slider.round {
2077
- border-radius: 34px;
2078
- }
2079
-
2080
- .slider.round:before {
2081
- border-radius: 50%;
2082
- }
2083
  }
1
+ /**
2
+ * All of the CSS for your admin-specific functionality should be
3
+ * included in this file.
4
+ */
5
+ .wpf_spin {
6
+ -webkit-animation: spin 1000ms infinite linear;
7
+ animation: spin 1000ms infinite linear;
8
+ &.reverse_spin {
9
+ animation-direction: reverse;
10
+ }
11
+ }
12
+ .wpf_regenerate {
13
+ &.disabled {
14
+ color: #737373;
15
+ box-shadow: none;
16
+ cursor: not-allowed;
17
+ }
18
+ }
19
+
20
+ @keyframes spin {
21
+ 0% {
22
+ transform: rotate(0deg);
23
+ }
24
+ 100% {
25
+ transform: rotate(359deg);
26
+ }
27
+ }
28
+
29
+ .wfbtn {
30
+ background: #3498db;
31
+ background-image: -webkit-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
32
+ background-image: -moz-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
33
+ background-image: -ms-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
34
+ background-image: -o-linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
35
+ background-image: linear-gradient(125deg, #3cb0fd 0%, #152f8c 140%);
36
+ -webkit-border-radius: 17px;
37
+ -moz-border-radius: 17px;
38
+ border-radius: 17px;
39
+ -webkit-box-shadow: 0 1px 3px #666666;
40
+ -moz-box-shadow: 0 1px 3px #666666;
41
+ box-shadow: inset 0 1px 3px #666666;
42
+ font-family: Arial, sans-serif;
43
+ color: #ffffff;
44
+ font-size: 20px;
45
+ padding: 10px 20px 10px 20px;
46
+ border: solid #2b698f 0px;
47
+ text-decoration: none;
48
+ &:hover {
49
+ background: #3cb0fd;
50
+ background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
51
+ background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
52
+ background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
53
+ background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
54
+ background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
55
+ text-decoration: none;
56
+ }
57
+ }
58
+ .woo_feed_manage_list_table {
59
+ .wf_update_interval_btn {
60
+ background: -webkit-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
61
+ background: -moz-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
62
+ background: -ms-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
63
+ background: -o-linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
64
+ background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
65
+ border: none;
66
+
67
+ &:hover {
68
+ background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
69
+ }
70
+ }
71
+ }
72
+
73
+ .woo-feed-promotion {
74
+ position: relative;
75
+ display: none;
76
+ .woo-feed-campaign-close-button {
77
+ position: absolute;
78
+ top: 50%;
79
+ transform: translateY(-50%);
80
+ right: 15px;
81
+ width: 24px;
82
+ height: 24px;
83
+ border-radius: 12px;
84
+ background: #595d6b;
85
+ line-height: 24px;
86
+ color: #fff;
87
+ cursor: pointer;
88
+ transition: .3s ease;
89
+
90
+ &:hover {
91
+ background: #fff;
92
+ color: #d61e48;
93
+ }
94
+ }
95
+ }
96
+
97
+ .wftooltip {
98
+ display: none;
99
+ position: absolute;
100
+ border: 1px solid #333;
101
+ background-color: #161616;
102
+ border-radius: 5px;
103
+ padding: 10px;
104
+ color: #fff;
105
+ font-size: 12px;
106
+ }
107
+
108
+ .feed-actions {
109
+ .makeFeedResponse {
110
+ width: 70%;
111
+ color: green;
112
+ }
113
+ }
114
+
115
+ .woo-feed-mapping-input {
116
+ width: 100%;
117
+ }
118
+
119
+ .requiredIn {
120
+ color: red;
121
+ }
122
+
123
+ .generalInput {
124
+ width: 200px;
125
+ &:not(.selectize-control) {
126
+ margin: 5px auto;
127
+ }
128
+ }
129
+
130
+ .error {
131
+ color: red;
132
+ }
133
+
134
+ .widefat {
135
+ td {
136
+ select, input {
137
+ max-width: 100%;
138
+ }
139
+ }
140
+ }
141
+
142
+ #wf_newRow {
143
+ margin-left: 0;
144
+ }
145
+
146
+ .mtable {
147
+ tbody {
148
+ tr {
149
+ height: 25px;
150
+ border: 1px solid #CCC;
151
+ text-align: left;
152
+ align-items: baseline;
153
+ font-weight: bold;
154
+ }
155
+ }
156
+ th {
157
+ &:nth-child(1) {
158
+ width: 17px;
159
+ }
160
+ &:nth-child(2) {
161
+ width: 160px;
162
+ }
163
+ &:nth-child(3) {
164
+ width: 100px;
165
+ }
166
+ &:nth-child(4) {
167
+ width: 100px;
168
+ }
169
+ &:nth-child(5) {
170
+ width: 150px;
171
+ }
172
+ &:nth-child(6) {
173
+ width: 100px;
174
+ }
175
+ &:nth-child(7) {
176
+ width: 150px;
177
+ }
178
+ &:nth-child(8) {
179
+ width: 90px;
180
+ }
181
+ &:nth-child(9) {
182
+ width: 29px;
183
+ }
184
+ }
185
+ }
186
+
187
+ .mtable2 {
188
+ tbody {
189
+ tr {
190
+ height: 25px;
191
+ border: 1px solid #CCC;
192
+ text-align: left;
193
+ align-items: baseline;
194
+ font-weight: bold;
195
+ }
196
+ }
197
+ th {
198
+ &:nth-child(1) {
199
+ width: 30px;
200
+ }
201
+ &:nth-child(2) {
202
+ width: 150px;
203
+ }
204
+ &:nth-child(3) {
205
+ width: 230px;
206
+ }
207
+ &:nth-child(4) {
208
+ width: 220px;
209
+ }
210
+ &:nth-child(7) {
211
+ width: 50px;
212
+ }
213
+ &:nth-child(8) {
214
+ width: 50px;
215
+ }
216
+ &:nth-child(9) {
217
+ width: 29px;
218
+ }
219
+ }
220
+ }
221
+
222
+
223
+ .wp-admin {
224
+ select.wf_mattributes {
225
+ width: 150px;
226
+ left: 0;
227
+ height: 25px;
228
+ }
229
+ }
230
+
231
+ div#wf-tab-content1 {
232
+ select {
233
+ &:not([name^="output_type"]) {
234
+ width: 100%;
235
+ }
236
+ }
237
+ input {
238
+ width: 100%;
239
+ }
240
+ .dashicons {
241
+ vertical-align: middle;
242
+ }
243
+ }
244
+
245
+
246
+ .wf_attributes {
247
+ width: 150px;
248
+ left: 0
249
+ }
250
+
251
+ .wf_compare {
252
+ max-width: 245px;
253
+ left: 0
254
+ }
255
+
256
+ .wf_ps {
257
+ width: 100px;
258
+ left: 0
259
+ }
260
+
261
+ .wf_sortedtable {
262
+ cursor: move;
263
+ }
264
+
265
+ .sorted_table {
266
+ position: relative;
267
+ .dragged {
268
+ position: absolute;
269
+ opacity: 0.8;
270
+ z-index: 9999;
271
+ background: #fff;
272
+ width: 100%;
273
+ display: table;
274
+ }
275
+ tbody {
276
+ tr.placeholder {
277
+ td {
278
+ border: 1px dashed #2cc185;
279
+ height: 46px;
280
+ }
281
+ }
282
+ }
283
+ }
284
+
285
+ .wfnoempty {
286
+ width: 120px;
287
+ }
288
+
289
+ /*==================Tab Design=======================*/
290
+
291
+ .wf_tabs {
292
+ position: relative;
293
+ margin: 0 auto;
294
+ width: 100%;
295
+ list-style: none;
296
+ /*bottom: 50px;*/
297
+
298
+ }
299
+
300
+ .wf_tabs:after {
301
+ display: table;
302
+ clear: both;
303
+ content: "";
304
+ }
305
+
306
+ .wf_tabs li {
307
+ float: left;
308
+ width: 20%;
309
+ display: block;
310
+ border: 2px solid #CCC;
311
+ }
312
+
313
+ .wf_tabs li > input[type="radio"][name="wf_tabs"] {
314
+ position: absolute;
315
+ top: auto;
316
+ left: -9999px;
317
+ }
318
+
319
+ .wf-tab-name {
320
+ display: block;
321
+ padding: 15px;
322
+ font-size: 15px;
323
+ font-weight: bold;
324
+ line-height: 1;
325
+ background: #fff;
326
+ cursor: pointer;
327
+ position: relative;
328
+ text-align: center;
329
+ text-transform: uppercase;
330
+ color: #2CC185;
331
+ }
332
+
333
+ .wf-tab-name:hover {
334
+ background: #2CC185;
335
+ color: white;
336
+ }
337
+
338
+ .wf_tabs [id^="tab"]:checked + label {
339
+ background: #2CC185;
340
+ color: white;
341
+ }
342
+
343
+ .wf_tabs .wf-tab-content {
344
+ z-index: 2;
345
+ display: none;
346
+ width: 100%;
347
+ font-size: 0.9rem;
348
+ position: absolute;
349
+ left: 0;
350
+ background: #fff;
351
+ border: 2px solid #CCC;
352
+ }
353
+
354
+ .wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
355
+ display: block;
356
+ }
357
+
358
+ [id^="wf-tab-content"] {
359
+ margin-bottom: 40px;
360
+ }
361
+
362
+ div#wf-tab-content2 table:first-child {
363
+ padding: 10px 0;
364
+ }
365
+
366
+ div#wf-tab-content2 table:first-child td:nth-child(1) {
367
+ width: 260px;
368
+ }
369
+
370
+ div#wf-tab-content2 table:first-child td:nth-child(2) {
371
+ width: 260px;
372
+ }
373
+
374
+ table.feed-actions tr td:last-child {
375
+ text-align: right;
376
+ }
377
+
378
+ /* Selectize */
379
+ select.selectize {
380
+ display: none;
381
+ }
382
+
383
+ body.no-js select.selectize {
384
+ display: block !important;
385
+ }
386
+
387
+ .wp-list-table {
388
+ .option_name {
389
+ .wf_feed_option_name_link {
390
+ font-weight: 700;
391
+ color: #30336b;
392
+ }
393
+ }
394
+
395
+ #option_name {
396
+ a {
397
+ color: #32373c;
398
+ }
399
+ }
400
+ }
401
+
402
+ /* fallback combat */
403
+ .selectize-dropdown .active {
404
+ background-color: #edf9ff;
405
+ }
406
+
407
+ .selectize-dropdown .create {
408
+ padding: 5px 8px;
409
+ }
410
+
411
+ .wapk-selectize-item {
412
+ background: #0073aa !important;
413
+ color: #f1f1f1 !important;
414
+ font-weight: bold !important;
415
+ border-color: #0073aa !important;
416
+ padding-left: 5px;
417
+ padding-right: 5px;
418
+ }
419
+
420
+ .selectize-input.full #googleTaxonomyId-selectized {
421
+ opacity: 0;
422
+ position: absolute;
423
+ left: -10000px;
424
+ }
425
+
426
+ .selectize-dropdown [data-selectable].option {
427
+ cursor: default;
428
+ }
429
+
430
+ .selectize-control.plugin-remove_button [data-value] .remove {
431
+ border-left: 1px solid #f1f1f1 !important;
432
+ }
433
+
434
+ .selectize-dropdown .optgroup-header {
435
+ font-weight: 700;
436
+ background: #efefef;
437
+ color: #5a5a5a;
438
+ }
439
+
440
+ .selectize-dropdown [data-selectable].option {
441
+ cursor: pointer;
442
+ }
443
+
444
+ /* Feed active and inactive button CSS */
445
+ .wf_status_wrap label {
446
+ width: 55px;
447
+ height: 28px;
448
+ box-sizing: border-box;
449
+ float: left;
450
+ border-radius: 100px;
451
+ position: relative;
452
+ cursor: pointer;
453
+ transition: .3s ease;
454
+ background: linear-gradient(125deg,#e2e2e2 0,#ccc 140%);
455
+ }
456
+
457
+ input[class=woo_feed_status_input]:checked + label {
458
+ background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
459
+ }
460
+
461
+ input[class=woo_feed_status_input]:checked + label:before {
462
+ left: 29px;
463
+ }
464
+
465
+ .wf_status_wrap label:before {
466
+ transition: .3s ease;
467
+ content: '';
468
+ width: 20px;
469
+ height: 20px;
470
+ position: absolute;
471
+ background: white;
472
+ left: 6px;
473
+ top: 4px;
474
+ box-sizing: border-box;
475
+ color: black;
476
+ border-radius: 100px;
477
+ box-shadow: 0px 1.5px 2px 0px #000;
478
+ }
479
+
480
+ .view {
481
+ span {
482
+ &.dashicons {
483
+ &.dashicons-external {
484
+ color: #22a6b3;
485
+ }
486
+
487
+ &.dashicons-sos {
488
+ color: #22a6b3;
489
+ }
490
+
491
+ &.dashicons-download {
492
+ color: #ee5253;
493
+ }
494
+
495
+ &.dashicons-media-code {
496
+ color: #576574;
497
+ }
498
+ }
499
+ }
500
+ }
501
+
502
+
503
+ /* list table style */
504
+ .widefat td.column-url, .widefat th.column-url,
505
+ .column-url {
506
+ color: #1e8f9a;
507
+ font-weight: bold;
508
+ }
509
+
510
+ /** Feed Progress **/
511
+ .feed-progress-container {
512
+ width: 100%;
513
+ color: white;
514
+ text-align: center;
515
+ font-weight: 300;
516
+ }
517
+
518
+ .feed-progress-bar {
519
+ width: 100%;
520
+ background: #eee;
521
+ padding: 3px;
522
+ border-radius: 50px;
523
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
524
+ }
525
+
526
+ .feed-progress-bar-fill {
527
+ height: 20px;
528
+ display: block;
529
+ background: linear-gradient(to right top, #10ac84, #13b389, #15ba8f, #18c194, #1ac89a, #13cba1, #0acfa9, #00d2b0, #00d2ba, #00d2c3, #00d2cb, #00d2d3);
530
+ width: 0;
531
+ border-radius: 50px;
532
+ -webkit-transition: width 0.8s ease;
533
+ transition: width 0.8s ease;
534
+ }
535
+
536
+ .feed-progress-status {
537
+ float: left;
538
+ font-weight: bold;
539
+ color: darkblue;
540
+ }
541
+
542
+ .feed-progress-percentage {
543
+ text-align: right;
544
+ font-weight: bolder;
545
+ color: #1dd1a1;
546
+ font-family: 'Arial Black', sans-serif;
547
+ font-size: large;
548
+ }
549
+
550
+ #wpbody-content.woofeed-body-content {
551
+ overflow: visible !important;
552
+ }
553
+
554
+ .clippy {
555
+ position: relative;
556
+ width: 13px;
557
+ margin-top: -3px;
558
+ margin-left: 3px;
559
+ top: 3px;
560
+ }
561
+
562
+ .column-url .clippy {
563
+ display: none;
564
+ }
565
+
566
+ .column-url:hover .clippy {
567
+ display: inline-block;
568
+ }
569
+
570
+ /**
571
+ * Primer Tooltip
572
+ */
573
+ .tooltipped {
574
+ position: relative;
575
+ &:after {
576
+ position: absolute;
577
+ z-index: 1000000;
578
+ display: none;
579
+ padding: 5px 8px;
580
+ font: normal normal 11px/1.5 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
581
+ color: #fff;
582
+ text-align: center;
583
+ text-decoration: none;
584
+ text-shadow: none;
585
+ text-transform: none;
586
+ letter-spacing: normal;
587
+ word-wrap: break-word;
588
+ white-space: pre;
589
+ pointer-events: none;
590
+ content: attr(aria-label);
591
+ background: rgba(0, 0, 0, .8);
592
+ border-radius: 3px;
593
+ -webkit-font-smoothing: subpixel-antialiased;
594
+ }
595
+ &:before {
596
+ position: absolute;
597
+ z-index: 1000001;
598
+ display: none;
599
+ width: 0;
600
+ height: 0;
601
+ color: rgba(0, 0, 0, .8);
602
+ pointer-events: none;
603
+ content: "";
604
+ border: 5px solid transparent;
605
+ }
606
+ &:hover {
607
+ &:before {
608
+ display: inline-block;
609
+ text-decoration: none;
610
+ }
611
+ &:after {
612
+ display: inline-block;
613
+ text-decoration: none;
614
+ }
615
+ }
616
+ &:active {
617
+ &:before {
618
+ display: inline-block;
619
+ text-decoration: none;
620
+ }
621
+ &:after {
622
+ display: inline-block;
623
+ text-decoration: none;
624
+ }
625
+ }
626
+ &:focus {
627
+ &:before {
628
+ display: inline-block;
629
+ text-decoration: none;
630
+ }
631
+ &:after {
632
+ display: inline-block;
633
+ text-decoration: none;
634
+ }
635
+ }
636
+ &-multiline {
637
+ &:hover {
638
+ &:after {
639
+ display: table-cell;
640
+ }
641
+ }
642
+ &:active {
643
+ &:after {
644
+ display: table-cell;
645
+ }
646
+ }
647
+ &:focus {
648
+ &:after {
649
+ display: table-cell;
650
+ }
651
+ }
652
+ &:after {
653
+ //noinspection CssInvalidPropertyValue
654
+ width: -webkit-max-content;
655
+ width: -moz-max-content;
656
+ width: max-content;
657
+ max-width: 250px;
658
+ word-break: break-word;
659
+ word-wrap: normal;
660
+ white-space: pre-line;
661
+ border-collapse: separate;
662
+ }
663
+ }
664
+ &-s {
665
+ &:after {
666
+ top: 100%;
667
+ right: 50%;
668
+ margin-top: 5px;
669
+ -webkit-transform: translateX(50%);
670
+ -ms-transform: translateX(50%);
671
+ transform: translateX(50%);
672
+ }
673
+ &:before {
674
+ top: auto;
675
+ right: 50%;
676
+ bottom: -5px;
677
+ margin-right: -5px;
678
+ border-bottom-color: rgba(0, 0, 0, .8);
679
+ }
680
+ }
681
+ &-se {
682
+ &:after {
683
+ top: 100%;
684
+ margin-top: 5px;
685
+ right: auto;
686
+ left: 50%;
687
+ margin-left: -15px;
688
+ }
689
+ &:before {
690
+ top: auto;
691
+ right: 50%;
692
+ bottom: -5px;
693
+ margin-right: -5px;
694
+ border-bottom-color: rgba(0, 0, 0, .8);
695
+ }
696
+ }
697
+ &-sw {
698
+ &:after {
699
+ top: 100%;
700
+ right: 50%;
701
+ margin-top: 5px;
702
+ margin-right: -15px;
703
+ }
704
+ &:before {
705
+ top: auto;
706
+ right: 50%;
707
+ bottom: -5px;
708
+ margin-right: -5px;
709
+ border-bottom-color: rgba(0, 0, 0, .8);
710
+ }
711
+ }
712
+ &-n {
713
+ &:after {
714
+ right: 50%;
715
+ bottom: 100%;
716
+ margin-bottom: 5px;
717
+ -webkit-transform: translateX(50%);
718
+ -ms-transform: translateX(50%);
719
+ transform: translateX(50%);
720
+ }
721
+ &:before {
722
+ top: -5px;
723
+ right: 50%;
724
+ bottom: auto;
725
+ margin-right: -5px;
726
+ border-top-color: rgba(0, 0, 0, .8);
727
+ }
728
+ }
729
+ &-ne {
730
+ &:after {
731
+ bottom: 100%;
732
+ margin-bottom: 5px;
733
+ right: auto;
734
+ left: 50%;
735
+ margin-left: -15px;
736
+ }
737
+ &:before {
738
+ top: -5px;
739
+ right: 50%;
740
+ bottom: auto;
741
+ margin-right: -5px;
742
+ border-top-color: rgba(0, 0, 0, .8);
743
+ }
744
+ }
745
+ &-nw {
746
+ &:after {
747
+ right: 50%;
748
+ bottom: 100%;
749
+ margin-bottom: 5px;
750
+ margin-right: -15px;
751
+ }
752
+ &:before {
753
+ top: -5px;
754
+ right: 50%;
755
+ bottom: auto;
756
+ margin-right: -5px;
757
+ border-top-color: rgba(0, 0, 0, .8);
758
+ }
759
+ }
760
+ &-w {
761
+ &:after {
762
+ right: 100%;
763
+ bottom: 50%;
764
+ margin-right: 5px;
765
+ -webkit-transform: translateY(50%);
766
+ -ms-transform: translateY(50%);
767
+ transform: translateY(50%);
768
+ }
769
+ &:before {
770
+ top: 50%;
771
+ bottom: 50%;
772
+ left: -5px;
773
+ margin-top: -5px;
774
+ border-left-color: rgba(0, 0, 0, .8);
775
+ }
776
+ }
777
+ &-e {
778
+ &:after {
779
+ bottom: 50%;
780
+ left: 100%;
781
+ margin-left: 5px;
782
+ -webkit-transform: translateY(50%);
783
+ -ms-transform: translateY(50%);
784
+ transform: translateY(50%);
785
+ }
786
+ &:before {
787
+ top: 50%;
788
+ right: -5px;
789
+ bottom: 50%;
790
+ margin-top: -5px;
791
+ border-right-color: rgba(0, 0, 0, .8);
792
+ }
793
+ }
794
+ &-multiline {
795
+ &.tooltipped-s {
796
+ &:after {
797
+ right: auto;
798
+ left: 50%;
799
+ -webkit-transform: translateX(-50%);
800
+ -ms-transform: translateX(-50%);
801
+ transform: translateX(-50%);
802
+ }
803
+ }
804
+ &.tooltipped-n {
805
+ &:after {
806
+ right: auto;
807
+ left: 50%;
808
+ -webkit-transform: translateX(-50%);
809
+ -ms-transform: translateX(-50%);
810
+ transform: translateX(-50%);
811
+ }
812
+ }
813
+ &.tooltipped-w {
814
+ &:after {
815
+ right: 100%;
816
+ }
817
+ }
818
+ &.tooltipped-e {
819
+ &:after {
820
+ right: 100%;
821
+ }
822
+ }
823
+ }
824
+ &-sticky {
825
+ &:before {
826
+ display: inline-block;
827
+ }
828
+ &:after {
829
+ display: inline-block;
830
+ }
831
+ &.tooltipped-multiline {
832
+ &:after {
833
+ display: table-cell;
834
+ }
835
+ }
836
+ }
837
+ }
838
+
839
+ .fullscreen-overlay-enabled {
840
+ &.dark-theme {
841
+ .tooltipped {
842
+ &:after {
843
+ color: #000;
844
+ background: rgba(255, 255, 255, .8);
845
+ }
846
+ .tooltipped-s {
847
+ &:before {
848
+ border-bottom-color: rgba(255, 255, 255, .8);
849
+ }
850
+ }
851
+ .tooltipped-se {
852
+ &:before {
853
+ border-bottom-color: rgba(255, 255, 255, .8);
854
+ }
855
+ }
856
+ .tooltipped-sw {
857
+ &:before {
858
+ border-bottom-color: rgba(255, 255, 255, .8);
859
+ }
860
+ }
861
+ &.tooltipped-n {
862
+ &:before {
863
+ border-top-color: rgba(255, 255, 255, .8);
864
+ }
865
+ }
866
+ &.tooltipped-ne {
867
+ &:before {
868
+ border-top-color: rgba(255, 255, 255, .8);
869
+ }
870
+ }
871
+ &.tooltipped-nw {
872
+ &:before {
873
+ border-top-color: rgba(255, 255, 255, .8);
874
+ }
875
+ }
876
+ &.tooltipped-e {
877
+ &:before {
878
+ border-right-color: rgba(255, 255, 255, .8);
879
+ }
880
+ }
881
+ &.tooltipped-w {
882
+ &:before {
883
+ border-left-color: rgba(255, 255, 255, .8);
884
+ }
885
+ }
886
+ }
887
+ }
888
+ }
889
+ @media screen and (min-width: 0\0) {
890
+ .tooltipped-multiline {
891
+ &:after {
892
+ width: 250px;
893
+ }
894
+ }
895
+ }
896
+
897
+
898
+ ul {
899
+ &.tracker_collection_list {
900
+ list-style: initial;
901
+ padding: initial;
902
+ margin: -10px 0 0 30px;
903
+ font-size: 11px !important;
904
+ li {
905
+ margin: 0;
906
+ }
907
+ }
908
+ }
909
+
910
+
911
+ /** Info Message Table **/
912
+ table {
913
+ &.wf-info-table, &.wf-rate-table {
914
+ vertical-align: middle;
915
+ text-align: center;
916
+ max-width: 100%;
917
+ font-weight: 500;
918
+ th {
919
+ text-align: center;
920
+
921
+ .woo-feed-top-header {
922
+ display: flex;
923
+ justify-content: space-between;
924
+ align-items: center;
925
+
926
+ .get-woo-feed-pro {
927
+ margin-left: 20px;
928
+ }
929
+
930
+ .woo-feed-top-buttons {
931
+ float: right;
932
+ display: flex;
933
+ border-radius: 7px;
934
+ justify-content: center;
935
+ align-items: center;
936
+ a {
937
+ padding: 8px 20px;
938
+ background: #576574;
939
+ color: #fff;
940
+ box-sizing: border-box;
941
+ display: inline-block;
942
+ transition: .3s ease;
943
+
944
+ &.woo-feed-doc-link {
945
+ background: #576574;
946
+ border-top-left-radius: 5px;
947
+ border-bottom-left-radius: 5px;
948
+ }
949
+
950
+ &.woo-feed-video-link {
951
+ background: #ee5253;
952
+ }
953
+
954
+ &.woo-feed-support-link {
955
+ background: #22a6b3;
956
+ border-top-right-radius: 5px;
957
+ border-bottom-right-radius: 5px;
958
+ }
959
+
960
+ span.dashicons {
961
+ font-size: 18px;
962
+ line-height: 1.2;
963
+ }
964
+
965
+ &:hover {
966
+ background: #30336b;
967
+ box-shadow: 0px 0px 33px 0px rgba(0,0,0,0.12);
968
+ }
969
+
970
+ }
971
+ }
972
+ }
973
+
974
+
975
+ }
976
+ strong {
977
+ font-weight: bold;
978
+ }
979
+ }
980
+ &.wf-info-table {
981
+ th {
982
+ &:first-child {
983
+ img {
984
+ margin: 0 0 -5px 5px;
985
+ }
986
+ }
987
+ }
988
+ }
989
+ &.wf-rate-table {
990
+ a {
991
+ color: #0073aa;
992
+ }
993
+ a.review-star {
994
+ &:after {
995
+ content: "\f155\f155\f155\f155\f155" !important;
996
+ //noinspection CssNoGenericFontName
997
+ font-family: dashicons;
998
+ font-size: 10px;
999
+ font-weight: 100;
1000
+ text-rendering: auto;
1001
+ -webkit-font-smoothing: antialiased;
1002
+ -moz-osx-font-smoothing: grayscale;
1003
+ color: #0073aa;
1004
+ text-decoration: underline;
1005
+ }
1006
+ }
1007
+ }
1008
+ }
1009
+
1010
+
1011
+ /** Admin Menu Icon **/
1012
+ #adminmenu {
1013
+ #toplevel_page_webappick-manage-feeds {
1014
+ div.wp-menu-image {
1015
+ &::before {
1016
+ content: "";
1017
+ background: url(../images/woo-feed-icon.svg) no-repeat center center;
1018
+ background-size: 20px 20px;
1019
+ opacity: 0.6;
1020
+ filter: alpha(opacity=60);
1021
+ }
1022
+ }
1023
+ &:hover {
1024
+ div.wp-menu-image {
1025
+ &::before {
1026
+ opacity: 1;
1027
+ filter: alpha(opacity=100);
1028
+ }
1029
+ }
1030
+ }
1031
+ }
1032
+ #toplevel_page_webappick-manage-feeds.wp-has-current-submenu {
1033
+ div.wp-menu-image {
1034
+ &::before {
1035
+ opacity: 1;
1036
+ filter: alpha(opacity=100);
1037
+ }
1038
+ }
1039
+ }
1040
+ }
1041
+
1042
+
1043
+ /** Admin Page Wrapper **/
1044
+ .wapk-admin, .wapk-admin * {
1045
+ -webkit-box-sizing: border-box;
1046
+ -moz-box-sizing: border-box;
1047
+ box-sizing: border-box;
1048
+ }
1049
+
1050
+ .wapk-admin {
1051
+ position: relative;
1052
+ display: block;
1053
+ -webkit-hyphens: manual;
1054
+ -ms-hyphens: manual;
1055
+ hyphens: manual;
1056
+ color: #1B2730;
1057
+ /* reset .warp margin to use full width except menu area */
1058
+ margin: 0 0 0 -10px;
1059
+ }
1060
+
1061
+ @media screen and (min-width: 783px) {
1062
+ .wapk-admin {
1063
+ margin: 0 0 0 -20px;
1064
+ }
1065
+ }
1066
+
1067
+ .text-center {
1068
+ text-align: center;
1069
+ }
1070
+ .wapk-admin {
1071
+ h1, h2, h3,
1072
+ h4, h5, h6,
1073
+ p {
1074
+ color: #1B2730;
1075
+ }
1076
+ sup {
1077
+ vertical-align: baseline;
1078
+ position: relative;
1079
+ top: -6px;
1080
+ }
1081
+ sub {
1082
+ vertical-align: baseline;
1083
+ position: relative;
1084
+ top: 4px;
1085
+ }
1086
+ }
1087
+
1088
+
1089
+ /* WP.Core.UI Compat */
1090
+ .wapk-admin {
1091
+ .wapk-section {
1092
+ [class$=icon32] {
1093
+ + {
1094
+ h2 {
1095
+ font-size: 23px;
1096
+ font-weight: 400;
1097
+ margin: 0;
1098
+ padding: 9px 0 4px 0;
1099
+ line-height: 1.3;
1100
+ }
1101
+ }
1102
+ }
1103
+ h1 {
1104
+ font-size: 23px;
1105
+ font-weight: 400;
1106
+ margin: 0;
1107
+ padding: 9px 0 4px 0;
1108
+ line-height: 1.3;
1109
+ }
1110
+ >h2 {
1111
+ &:first-child {
1112
+ font-size: 23px;
1113
+ font-weight: 400;
1114
+ margin: 0;
1115
+ padding: 9px 0 4px 0;
1116
+ line-height: 1.3;
1117
+ }
1118
+ }
1119
+ margin: 10px 20px 0 22px;
1120
+ position: relative;
1121
+ display: block;
1122
+ }
1123
+ >.notice {
1124
+ margin: 10px 20px 0 22px;
1125
+ position: relative;
1126
+ display: block;
1127
+ }
1128
+ span.help {
1129
+ display: block;
1130
+ float: left;
1131
+ width: 100%;
1132
+ font-size: 0.9em;
1133
+ color: #636363;
1134
+ margin-top: 5px;
1135
+ font-weight: 500;
1136
+ .dashicons {
1137
+ width: 11px;
1138
+ height: 12px;
1139
+ font-size: inherit;
1140
+ vertical-align: middle;
1141
+ }
1142
+ }
1143
+ }
1144
+ .clear {
1145
+ &:after {
1146
+ content: "";
1147
+ display: table;
1148
+ clear: both;
1149
+ }
1150
+ }
1151
+
1152
+
1153
+ /*.wapk-admin .help a { color: inherit; text-decoration: underline; }*/
1154
+ /** Extend WP Core UI PostBox For Docs **/
1155
+ .wapk-feed-docs {
1156
+ .postbox {
1157
+ width: 355px;
1158
+ margin-right: 20px;
1159
+ display: inline-block;
1160
+ vertical-align: top;
1161
+ .hndle {
1162
+ font-size: 14px;
1163
+ padding: 8px 12px;
1164
+ margin: 0;
1165
+ line-height: 1.4;
1166
+ cursor: pointer;
1167
+ }
1168
+ .dashicons {
1169
+ color: #ccc;
1170
+ }
1171
+ a {
1172
+ text-decoration: none;
1173
+ }
1174
+ .inside {
1175
+ margin-bottom: 0;
1176
+ }
1177
+ ul {
1178
+ margin-bottom: 0;
1179
+ }
1180
+ .toggle-indicator {
1181
+ &:before {
1182
+ content: "\F142";
1183
+ display: inline-block;
1184
+ font: 400 20px/1 dashicons;
1185
+ speak: none;
1186
+ -webkit-font-smoothing: antialiased;
1187
+ -moz-osx-font-smoothing: grayscale;
1188
+ text-decoration: none !important;
1189
+ }
1190
+ }
1191
+ li {
1192
+ width: 100%;
1193
+ display: block;
1194
+ float: left;
1195
+ span {
1196
+ display: inline-block;
1197
+ float: left;
1198
+ margin-right: 4px;
1199
+ }
1200
+ a {
1201
+ display: inline-block;
1202
+ float: left;
1203
+ width: calc(100% - 24px);
1204
+ }
1205
+ }
1206
+ }
1207
+ .postbox.closed {
1208
+ .toggle-indicator {
1209
+ &:before {
1210
+ content: "\F140";
1211
+ }
1212
+ }
1213
+ }
1214
+ }
1215
+ .wapk-section {
1216
+ #post-body.columns-2 {
1217
+ #side-sortables {
1218
+ min-height: 196px;
1219
+ }
1220
+ }
1221
+ }
1222
+ #poststuff {
1223
+ #feed_merchant_info {
1224
+ .inside {
1225
+ margin: 0;
1226
+ padding: 0;
1227
+ }
1228
+ }
1229
+ }
1230
+ #feed_merchant_info {
1231
+ ul.data {
1232
+ margin-left: 24px;
1233
+ margin-top: 5px;
1234
+ li {
1235
+ margin-bottom: 5px;
1236
+ }
1237
+ }
1238
+ }
1239
+ .merchant-info-section {
1240
+ padding: 6px 10px 8px;
1241
+
1242
+ &.woo-feed-open-file {
1243
+ text-align: center;
1244
+
1245
+ a {
1246
+ line-height: 1.5;
1247
+ text-decoration: none;
1248
+ }
1249
+ }
1250
+ }
1251
+
1252
+ .generateFeed {
1253
+ .wf-tab-content {
1254
+ table {
1255
+ &:first-child {
1256
+ border: none;
1257
+ box-shadow: none;
1258
+ }
1259
+ }
1260
+ }
1261
+ table {
1262
+ th {
1263
+ font-weight: bold;
1264
+ }
1265
+ }
1266
+ }
1267
+ @media only screen and (max-width: 850px) {
1268
+ .wapk-feed-docs {
1269
+ .postbox {
1270
+ display: block;
1271
+ width: auto;
1272
+ float: none;
1273
+ margin-right: auto;
1274
+ }
1275
+ }
1276
+ }
1277
+
1278
+ /** Admin Feed Help Docs **/
1279
+ .wp-submenu {
1280
+ li {
1281
+ span.woo-feed-docs {
1282
+ font-weight: bold;
1283
+ color: #f18500;
1284
+ }
1285
+ &:hover {
1286
+ span.woo-feed-docs {
1287
+ color: #ce7304;
1288
+ }
1289
+ }
1290
+ }
1291
+ li.current {
1292
+ span.woo-feed-docs {
1293
+ color: #ce7304;
1294
+ }
1295
+ }
1296
+ }
1297
+ .wapk-admin {
1298
+ .wapk-feed-docs {
1299
+ .postbox {
1300
+ .hndle {
1301
+ cursor: default;
1302
+ }
1303
+ }
1304
+ }
1305
+ }
1306
+
1307
+ /** Admin Call-To-Action **/
1308
+ .wapk-cta {
1309
+ position: relative;
1310
+ display: flex;
1311
+ width: 100%;
1312
+ padding: 100px 15px;
1313
+ background: linear-gradient(45deg, #6CD5FF 33%, #c2efef 100%);
1314
+ justify-content: center;
1315
+ align-items: center;
1316
+ &-icon {
1317
+ .dashicons {
1318
+ font-size: 100px;
1319
+ width: 100px;
1320
+ height: auto;
1321
+ margin: 0 10px -8px 0;
1322
+ color: #02658c;
1323
+ }
1324
+ }
1325
+ &-content {
1326
+ width: 50%;
1327
+ h2 {
1328
+ font-size: 2em;
1329
+ margin: 0.5em 0;
1330
+ }
1331
+ }
1332
+ &-action {
1333
+ a.wapk-button {
1334
+ font-size: 24px;
1335
+ height: auto !important;
1336
+ padding: 10px 20px;
1337
+ }
1338
+ }
1339
+ }
1340
+
1341
+ @media (max-width: 600px) {
1342
+ .wapk-cta {
1343
+ display: block;
1344
+ text-align: center;
1345
+ padding: 4em 0;
1346
+ &-content {
1347
+ width: 100%;
1348
+ margin: 2em 0;
1349
+ }
1350
+ }
1351
+ }
1352
+
1353
+ /** Override .wp-core-ui .wapk-button styles with prefix .wapk-admin **/
1354
+ /* Button Skin */
1355
+ .wapk-button {
1356
+ color: #00D4D4;
1357
+ border-color: #00D4D4;
1358
+ display: inline-block;
1359
+ text-decoration: none;
1360
+ font-size: 13px;
1361
+ line-height: 2.15384615;
1362
+ min-height: 30px;
1363
+ margin: 0;
1364
+ padding: 0 10px;
1365
+ cursor: pointer;
1366
+ border-width: 1px;
1367
+ border-style: solid;
1368
+ -webkit-appearance: none;
1369
+ border-radius: 3px;
1370
+ white-space: nowrap;
1371
+ box-sizing: border-box;
1372
+ >svg {
1373
+ width: 15px;
1374
+ margin-left: 5px;
1375
+ fill: #00D4D4;
1376
+ }
1377
+ >.dashicons {
1378
+ color: #00D4D4;
1379
+ }
1380
+ &:hover {
1381
+ border-color: #00bbbb;
1382
+ color: #00bbbb;
1383
+ >svg {
1384
+ fill: #00bbbb;
1385
+ }
1386
+ >.dashicons {
1387
+ color: #00bbbb;
1388
+ }
1389
+ }
1390
+ &:focus {
1391
+ border-color: #00D4D4;
1392
+ color: #00bbbb;
1393
+ box-shadow: 0 0 0 1px #00D4D4;
1394
+ >svg {
1395
+ fill: #00bbbb;
1396
+ }
1397
+ >.dashicons {
1398
+ color: #00bbbb;
1399
+ }
1400
+ }
1401
+ &:active {
1402
+ background: #00bbbb;
1403
+ border-color: #00bbbb;
1404
+ }
1405
+ &-secondary {
1406
+ color: #00D4D4;
1407
+ border-color: #00D4D4;
1408
+ display: inline-block;
1409
+ text-decoration: none;
1410
+ font-size: 13px;
1411
+ line-height: 2.15384615;
1412
+ min-height: 30px;
1413
+ margin: 0;
1414
+ padding: 0 10px;
1415
+ cursor: pointer;
1416
+ border-width: 1px;
1417
+ border-style: solid;
1418
+ -webkit-appearance: none;
1419
+ border-radius: 3px;
1420
+ white-space: nowrap;
1421
+ box-sizing: border-box;
1422
+ >svg {
1423
+ width: 15px;
1424
+ margin-left: 5px;
1425
+ fill: #00D4D4;
1426
+ }
1427
+ >.dashicons {
1428
+ color: #00D4D4;
1429
+ }
1430
+ &:hover {
1431
+ border-color: #00bbbb;
1432
+ color: #00bbbb;
1433
+ >svg {
1434
+ fill: #00bbbb;
1435
+ }
1436
+ >.dashicons {
1437
+ color: #00bbbb;
1438
+ }
1439
+ }
1440
+ &:focus {
1441
+ border-color: #00D4D4;
1442
+ color: #00bbbb;
1443
+ box-shadow: 0 0 0 1px #00D4D4;
1444
+ >svg {
1445
+ fill: #00bbbb;
1446
+ }
1447
+ >.dashicons {
1448
+ color: #00bbbb;
1449
+ }
1450
+ }
1451
+ }
1452
+ &-primary {
1453
+ display: inline-block;
1454
+ text-decoration: none;
1455
+ font-size: 13px;
1456
+ line-height: 2.15384615;
1457
+ min-height: 30px;
1458
+ margin: 0;
1459
+ padding: 0 10px;
1460
+ cursor: pointer;
1461
+ border-width: 1px;
1462
+ border-style: solid;
1463
+ -webkit-appearance: none;
1464
+ border-radius: 3px;
1465
+ white-space: nowrap;
1466
+ box-sizing: border-box;
1467
+ background: #00D4D4;
1468
+ border-color: #00D4D4;
1469
+ color: #fff;
1470
+ box-shadow: 0 1px 0 #00bbbb;
1471
+ text-shadow: 0 -1px 1px #00bbbb, 1px 0 1px #00bbbb, 0 1px 1px #00bbbb, -1px 0 1px #00bbbb;
1472
+ >svg {
1473
+ fill: #fff;
1474
+ }
1475
+ &:hover {
1476
+ background: #00e3e3;
1477
+ border-color: #00c5c5;
1478
+ color: #fff;
1479
+ >svg {
1480
+ fill: #fff;
1481
+ }
1482
+ }
1483
+ &:focus {
1484
+ background: #00e3e3;
1485
+ border-color: #00c5c5;
1486
+ color: #fff;
1487
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px #00D4D4;
1488
+ >svg {
1489
+ fill: #fff;
1490
+ }
1491
+ }
1492
+ &:active {
1493
+ background: #00bbbb;
1494
+ border-color: #00bbbb;
1495
+ color: #fff;
1496
+ >svg {
1497
+ fill: #fff;
1498
+ }
1499
+ }
1500
+ &:disabled {
1501
+ color: #c7d1d1 !important;
1502
+ background: #22ffff !important;
1503
+ border-color: #22ffff !important;
1504
+ text-shadow: none !important;
1505
+ >svg {
1506
+ fill: #c7d1d1 !important;
1507
+ }
1508
+ }
1509
+ }
1510
+ &.hover {
1511
+ border-color: #00bbbb;
1512
+ color: #00bbbb;
1513
+ >svg {
1514
+ fill: #00bbbb;
1515
+ }
1516
+ >.dashicons {
1517
+ color: #00bbbb;
1518
+ }
1519
+ }
1520
+ &.focus {
1521
+ border-color: #00D4D4;
1522
+ color: #00bbbb;
1523
+ box-shadow: 0 0 0 1px #00D4D4;
1524
+ >svg {
1525
+ fill: #00bbbb;
1526
+ }
1527
+ >.dashicons {
1528
+ color: #00bbbb;
1529
+ }
1530
+ }
1531
+ &.active {
1532
+ border-color: #00bbbb;
1533
+ color: #00bbbb;
1534
+ box-shadow: inset 0 2px 5px -3px #00bbbb;
1535
+ &:focus {
1536
+ border-color: #00bbbb;
1537
+ color: #00bbbb;
1538
+ box-shadow: inset 0 2px 5px -3px #00bbbb;
1539
+ >svg {
1540
+ fill: #00bbbb;
1541
+ }
1542
+ >.dashicons {
1543
+ color: #00bbbb;
1544
+ }
1545
+ }
1546
+ &:hover {
1547
+ border-color: #00bbbb;
1548
+ color: #00bbbb;
1549
+ box-shadow: inset 0 2px 5px -3px #00bbbb;
1550
+ >svg {
1551
+ fill: #00bbbb;
1552
+ }
1553
+ >.dashicons {
1554
+ color: #00bbbb;
1555
+ }
1556
+ }
1557
+ >svg {
1558
+ fill: #00bbbb;
1559
+ }
1560
+ >.dashicons {
1561
+ color: #00bbbb;
1562
+ }
1563
+ }
1564
+ &-primary {
1565
+ &.active {
1566
+ background: #00D4D4;
1567
+ color: #fff;
1568
+ border-color: #008888;
1569
+ box-shadow: inset 0 2px 5px -3px black;
1570
+ &:focus {
1571
+ background: #00D4D4;
1572
+ color: #fff;
1573
+ border-color: #008888;
1574
+ box-shadow: inset 0 2px 5px -3px black;
1575
+ >svg {
1576
+ fill: #fff;
1577
+ }
1578
+ }
1579
+ &:hover {
1580
+ background: #00D4D4;
1581
+ color: #fff;
1582
+ border-color: #008888;
1583
+ box-shadow: inset 0 2px 5px -3px black;
1584
+ >svg {
1585
+ fill: #fff;
1586
+ }
1587
+ }
1588
+ >svg {
1589
+ fill: #fff;
1590
+ }
1591
+ }
1592
+ &[disabled] {
1593
+ color: #c7d1d1 !important;
1594
+ background: #22ffff !important;
1595
+ border-color: #22ffff !important;
1596
+ text-shadow: none !important;
1597
+ >svg {
1598
+ fill: #c7d1d1 !important;
1599
+ }
1600
+ }
1601
+ &.wapk-button-primary-disabled {
1602
+ color: #c7d1d1 !important;
1603
+ background: #22ffff !important;
1604
+ border-color: #22ffff !important;
1605
+ text-shadow: none !important;
1606
+ >svg {
1607
+ fill: #c7d1d1 !important;
1608
+ }
1609
+ }
1610
+ &.disabled {
1611
+ color: #c7d1d1 !important;
1612
+ background: #22ffff !important;
1613
+ border-color: #22ffff !important;
1614
+ text-shadow: none !important;
1615
+ >svg {
1616
+ fill: #c7d1d1 !important;
1617
+ }
1618
+ }
1619
+ &.wapk-button-hero {
1620
+ box-shadow: 0 2px 0 #00bbbb;
1621
+ &:focus {
1622
+ box-shadow: 0 2px 0 #00bbbb, 0 1px 0 #00c5c5, 0 0 2px 1px #00eeee;
1623
+ }
1624
+ &:active {
1625
+ box-shadow: inset 0 3px 0 #00a1a1;
1626
+ }
1627
+ &.active {
1628
+ box-shadow: inset 0 3px 0 #00a1a1;
1629
+ &:hover, &:focus {
1630
+ box-shadow: inset 0 3px 0 #00a1a1;
1631
+ }
1632
+ }
1633
+ }
1634
+ }
1635
+ &-group {
1636
+ >.wapk-button.active {
1637
+ border-color: #00D4D4;
1638
+ }
1639
+ }
1640
+ }
1641
+
1642
+ /* Button Sizes */
1643
+ .wapk-button.wapk-button-xl {
1644
+ height: 30px;
1645
+ line-height: 28px;
1646
+ padding: 0 12px 2px;
1647
+ }
1648
+ .wapk-button-group.wapk-button-xl {
1649
+ .wapk-button {
1650
+ height: 30px;
1651
+ line-height: 28px;
1652
+ padding: 0 12px 2px;
1653
+ }
1654
+ }
1655
+ .wapk-button.wapk-button-hero {
1656
+ font-size: 18px;
1657
+ height: 50px;
1658
+ line-height: 48px;
1659
+ padding: 0 36px;
1660
+ min-height: 46px;
1661
+ }
1662
+ .wapk-button-group.wapk-button-hero {
1663
+ .wapk-button {
1664
+ font-size: 18px;
1665
+ height: 50px;
1666
+ line-height: 48px;
1667
+ padding: 0 36px;
1668
+ min-height: 46px;
1669
+ }
1670
+ }
1671
+
1672
+ @media screen and (min-width: 782px) {
1673
+ th#status,
1674
+ th#provider {
1675
+ width: 80px;
1676
+ }
1677
+ th#type {
1678
+ width: 50px;
1679
+ }
1680
+ th#option_name {
1681
+ width: 100px;
1682
+ }
1683
+ td.option_name.column-option_name {
1684
+ >span {
1685
+ &:first-child {
1686
+ display: none;
1687
+ }
1688
+ }
1689
+ }
1690
+ th#last_updated {
1691
+ width: 90px;
1692
+ }
1693
+ th#view {
1694
+ width: 111px;
1695
+ }
1696
+ }
1697
+ @media screen and (min-width: 960px) {
1698
+ th#status, th#provider {
1699
+ width: 100px;
1700
+ }
1701
+ th#type {
1702
+ width: 80px;
1703
+ }
1704
+ th#option_name {
1705
+ width: 150px;
1706
+ }
1707
+ th#last_updated {
1708
+ width: 140px;
1709
+ }
1710
+ }
1711
+ @media screen and (max-width: 782px) {
1712
+ table.wf-info-table {
1713
+ margin-top: 10px;
1714
+ th {
1715
+ &:first-child {
1716
+ img {
1717
+ margin: 0 auto;
1718
+ display: block;
1719
+ }
1720
+ }
1721
+ }
1722
+ }
1723
+ .wapk-button.wapk-button-xl {
1724
+ padding: 6px 14px;
1725
+ line-height: normal;
1726
+ font-size: 14px;
1727
+ vertical-align: middle;
1728
+ height: auto;
1729
+ margin-bottom: 4px;
1730
+ }
1731
+ }
1732
+
1733
+ .wapk-feed-docs .wapk-feed-cta {
1734
+ margin: 0;
1735
+ }
1736
+
1737
+ .campaign_configurator {
1738
+ background: #FFF;
1739
+ padding: 20px 0;
1740
+ table {
1741
+ margin: 0 auto;
1742
+ width: 51%;
1743
+ min-width: 574px;
1744
+ border: none;
1745
+ box-shadow: none;
1746
+ }
1747
+ th {
1748
+ min-width: 120px;
1749
+ }
1750
+ }
1751
+
1752
+ @media screen and (max-width: 782px) {
1753
+ .campaign_configurator {
1754
+ padding: 0;
1755
+ table {
1756
+ width: auto;
1757
+ min-width: auto;
1758
+ max-width: 100%;
1759
+ }
1760
+ th {
1761
+ min-width: auto;
1762
+ }
1763
+ }
1764
+ }
1765
+
1766
+
1767
+ #wf-tab-content-config {
1768
+ td {
1769
+ > input:not([type="checkbox"]):not([type="radio"]),
1770
+ > select,
1771
+ > textarea {
1772
+ width: 100% !important;
1773
+ }
1774
+ }
1775
+ }
1776
+
1777
+ .woo-feed-filters {
1778
+ td {
1779
+ > div {
1780
+ &:nth-child(2n):not(.clear):not(.selectize) {
1781
+ width: 120px;
1782
+ display: block;
1783
+ }
1784
+ &:not(.clear) {
1785
+ float: left;
1786
+ margin-right: 10px;
1787
+ }
1788
+ }
1789
+ }
1790
+ tr {
1791
+ > td {
1792
+ &:first-child {
1793
+ width: 290px;
1794
+ padding-left: 40px;
1795
+ }
1796
+ }
1797
+ }
1798
+ }
1799
+
1800
+ .woo-feed-filters,
1801
+ .woo-feed-ftp {
1802
+ margin: 15px auto 25px;
1803
+ }
1804
+ .wf_clean_cache_wrapper {
1805
+ display: flex;
1806
+ margin-left: auto;
1807
+ }
1808
+ @keyframes LoaderClockWise {
1809
+ from {
1810
+ transform: rotate(0deg);
1811
+ }
1812
+ to {
1813
+ transform: rotate(360deg);
1814
+ }
1815
+ }
1816
+ .woo-feed-cache-loader {
1817
+ width: 18px;
1818
+ margin-right: 5px;
1819
+ animation: LoaderClockWise 1s linear infinite;
1820
+ -webkit-animation: LoaderClockWise 1s linear infinite;
1821
+ display: none;
1822
+ }
1823
+ .woo-feed-table-heading .woo-feed-table-heading-title {
1824
+ float: left;
1825
+ margin-right: auto;
1826
+ display: inline-block;
1827
+ line-height: 30px;
1828
+ }
1829
+ .woo-feed-table-heading .wf_clean_cache_wrapper {
1830
+ float: right;
1831
+ font-weight: normal;
1832
+ }
1833
+ .wf_clean_cache_wrapper button {
1834
+ background: linear-gradient(125deg,#eb4d4b 0,#FF9671 130%);
1835
+ color: #fff;
1836
+ border: none;
1837
+ font-weight: 500;
1838
+ display: inline-block;
1839
+ text-decoration: none;
1840
+ font-size: 13px;
1841
+ line-height: 2.15384615;
1842
+ min-height: 30px;
1843
+ margin: 0;
1844
+ padding: 0 10px;
1845
+ border-radius: 3px;
1846
+ cursor: pointer;
1847
+ outline: none;
1848
+ }
1849
+
1850
+ .wf_clean_cache_wrapper button:hover {
1851
+ background: #ff7979;
1852
+ color: #fff;
1853
+ }
1854
+
1855
+ input {
1856
+ &[type="submit"] {
1857
+ &[data-id="wf_action_submit"] {
1858
+ background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
1859
+ color: #fff;
1860
+ border: 1px;
1861
+ padding: 0 20px;
1862
+ &:hover {
1863
+ background: linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);
1864
+ color: #fff;
1865
+ }
1866
+ }
1867
+ }
1868
+ }
1869
+ //thickbox Style
1870
+ .woo-import-popup-body {
1871
+ #TB_window {
1872
+ width: 500px !important;
1873
+
1874
+ #TB_title {
1875
+ border: none;
1876
+ background: #fff;
1877
+ text-align: center;
1878
+ display: flex;
1879
+ justify-content: center;
1880
+ align-items: center;
1881
+ height: 35px !important;
1882
+ #TB_ajaxWindowTitle {
1883
+ color: #30336b;
1884
+ font-weight: 700;
1885
+ }
1886
+ }
1887
+
1888
+ #TB_closeWindowButton {
1889
+ top: -14.5px;
1890
+ right: -14.5px;
1891
+ border: none;
1892
+ outline: 0;
1893
+ .tb-close-icon {
1894
+ background: #ff5e55;
1895
+ color: #fff;
1896
+ border-radius: 50%;
1897
+ }
1898
+
1899
+ &:focus {
1900
+ outline: 0;
1901
+ border: 0;
1902
+ }
1903
+ }
1904
+
1905
+ #TB_ajaxContent {
1906
+ position: relative;
1907
+ width: 100% !important;
1908
+ height: auto !important;
1909
+ border: none;
1910
+ box-sizing: border-box;
1911
+ overflow: hidden;
1912
+ background: #f7fcff;
1913
+ padding: 30px 20px;
1914
+ &:before {
1915
+ content: '';
1916
+ width: 115%;
1917
+ display: block;
1918
+ background: #4bcffa;
1919
+ position: absolute;
1920
+ height: 130%;
1921
+ z-index: 0;
1922
+ left: -36%;
1923
+ top: -85px;
1924
+ transform: rotate(115deg);
1925
+ }
1926
+
1927
+ table {
1928
+ border: none;
1929
+ position: relative;
1930
+ z-index: 1;
1931
+ border-radius: 3px;
1932
+ text-align: center;
1933
+ padding: 20px;
1934
+ box-shadow: 0px 12px 20px -17px #000;
1935
+
1936
+ input {
1937
+ width: 60%;
1938
+ &:focus {
1939
+ outline: 2px solid #68B8F7;
1940
+ }
1941
+ &[type="file"] {
1942
+ padding: 3px 0;
1943
+ cursor: pointer;
1944
+ }
1945
+ &[type="text"] {
1946
+ border-radius: 25px;
1947
+ font-size: 14px;
1948
+ padding: 1px 20px;
1949
+ text-align: center;
1950
+ }
1951
+ &[type="submit"] {
1952
+ background: #17c0eb;
1953
+ border-radius: 25px;
1954
+ border: 0;
1955
+ box-shadow: 1px 4px 7px -3px #45364A;
1956
+ font-weight: 600;
1957
+ transition: .3s ease;
1958
+
1959
+ &:hover {
1960
+ transform: translateY(-2px);
1961
+ }
1962
+ }
1963
+ }
1964
+ }
1965
+ }
1966
+ }
1967
+ }
1968
+
1969
+ /* Woo Feed Notice Style */
1970
+ .woo-feed-notice {
1971
+ .woo-feed-review-notice-logo {
1972
+ width: 90px;
1973
+ height: 90px;
1974
+ float: left;
1975
+ margin-right: 5px;
1976
+ background: url("../images/woo-feed-logo.svg") no-repeat;
1977
+ }
1978
+ }
1979
+
1980
+ /* Status Page Style */
1981
+ .woo-feed-status-table-wrapper {
1982
+ .woo-feed-status-table {
1983
+ width: 100%;
1984
+ max-width: 900px;
1985
+ border-collapse: collapse;
1986
+ border-spacing: 0.5rem;
1987
+ box-shadow: 0px 0px 20px rgba(0,0,0,0.10);
1988
+
1989
+ tr {
1990
+ &:nth-child(even) {
1991
+ background: #f1f1f1;
1992
+ }
1993
+
1994
+ &:nth-child(odd) {
1995
+ background: #fafafc;
1996
+ }
1997
+
1998
+ th {
1999
+ background: #353b48;
2000
+ color: #fff;
2001
+ }
2002
+
2003
+ th,td {
2004
+ padding: 0.5rem 20px;
2005
+ text-align: left;
2006
+ }
2007
+ }
2008
+ }
2009
+ }
2010
+
2011
+ input[id^="woo_feed_identifier_"] {
2012
+ display: block;
2013
+ width: 100% !important;
2014
+ }
2015
+
2016
+
2017
+ // Brand taxonomy styles
2018
+
2019
+ #taxonomy-woo-feed-brand #newwoo-feed-brand_parent,
2020
+ .taxonomy-woo-feed-brand .form-field.term-parent-wrap {
2021
+ display: none;
2022
+ }
2023
+
2024
+ .wapk-admin {
2025
+ .switch {
2026
+ position: relative;
2027
+ display: inline-block;
2028
+ width: 60px;
2029
+ height: 34px;
2030
+ }
2031
+
2032
+ .switch input {
2033
+ opacity: 0;
2034
+ width: 0;
2035
+ height: 0;
2036
+ }
2037
+
2038
+ .slider {
2039
+ position: absolute;
2040
+ cursor: pointer;
2041
+ top: 0;
2042
+ left: 0;
2043
+ right: 0;
2044
+ bottom: 0;
2045
+ background-color: #ccc;
2046
+ -webkit-transition: .4s;
2047
+ transition: .4s;
2048
+ }
2049
+
2050
+ .slider:before {
2051
+ position: absolute;
2052
+ content: "";
2053
+ height: 26px;
2054
+ width: 26px;
2055
+ left: 4px;
2056
+ bottom: 4px;
2057
+ background-color: white;
2058
+ -webkit-transition: .4s;
2059
+ transition: .4s;
2060
+ }
2061
+
2062
+ input:checked + .slider {
2063
+ background-color: #18c194;
2064
+ }
2065
+
2066
+ input:focus + .slider {
2067
+ box-shadow: 0 0 1px #2196F3;
2068
+ }
2069
+
2070
+ input:checked + .slider:before {
2071
+ -webkit-transform: translateX(26px);
2072
+ -ms-transform: translateX(26px);
2073
+ transform: translateX(26px);
2074
+ }
2075
+
2076
+ .slider.round {
2077
+ border-radius: 34px;
2078
+ }
2079
+
2080
+ .slider.round:before {
2081
+ border-radius: 50%;
2082
+ }
2083
  }
admin/fonts/slick.svg CHANGED
@@ -1,14 +1,14 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata>Generated by Fontastic.me</metadata>
5
- <defs>
6
- <font id="slick" horiz-adv-x="512">
7
- <font-face font-family="slick" units-per-em="512" ascent="480" descent="-32"/>
8
- <missing-glyph horiz-adv-x="512" />
9
-
10
- <glyph unicode="&#8594;" d="M241 113l130 130c4 4 6 8 6 13 0 5-2 9-6 13l-130 130c-3 3-7 5-12 5-5 0-10-2-13-5l-29-30c-4-3-6-7-6-12 0-5 2-10 6-13l87-88-87-88c-4-3-6-8-6-13 0-5 2-9 6-12l29-30c3-3 8-5 13-5 5 0 9 2 12 5z m234 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
11
- <glyph unicode="&#8592;" d="M296 113l29 30c4 3 6 7 6 12 0 5-2 10-6 13l-87 88 87 88c4 3 6 8 6 13 0 5-2 9-6 12l-29 30c-3 3-8 5-13 5-5 0-9-2-12-5l-130-130c-4-4-6-8-6-13 0-5 2-9 6-13l130-130c3-3 7-5 12-5 5 0 10 2 13 5z m179 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
12
- <glyph unicode="&#8226;" d="M475 256c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
13
- <glyph unicode="&#97;" d="M475 439l0-128c0-5-1-9-5-13-4-4-8-5-13-5l-128 0c-8 0-13 3-17 11-3 7-2 14 4 20l40 39c-28 26-62 39-100 39-20 0-39-4-57-11-18-8-33-18-46-32-14-13-24-28-32-46-7-18-11-37-11-57 0-20 4-39 11-57 8-18 18-33 32-46 13-14 28-24 46-32 18-7 37-11 57-11 23 0 44 5 64 15 20 9 38 23 51 42 2 1 4 3 7 3 3 0 5-1 7-3l39-39c2-2 3-3 3-6 0-2-1-4-2-6-21-25-46-45-76-59-29-14-60-20-93-20-30 0-58 5-85 17-27 12-51 27-70 47-20 19-35 43-47 70-12 27-17 55-17 85 0 30 5 58 17 85 12 27 27 51 47 70 19 20 43 35 70 47 27 12 55 17 85 17 28 0 55-5 81-15 26-11 50-26 70-45l37 37c6 6 12 7 20 4 8-4 11-9 11-17z"/>
14
- </font></defs></svg>
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Generated by Fontastic.me</metadata>
5
+ <defs>
6
+ <font id="slick" horiz-adv-x="512">
7
+ <font-face font-family="slick" units-per-em="512" ascent="480" descent="-32"/>
8
+ <missing-glyph horiz-adv-x="512" />
9
+
10
+ <glyph unicode="&#8594;" d="M241 113l130 130c4 4 6 8 6 13 0 5-2 9-6 13l-130 130c-3 3-7 5-12 5-5 0-10-2-13-5l-29-30c-4-3-6-7-6-12 0-5 2-10 6-13l87-88-87-88c-4-3-6-8-6-13 0-5 2-9 6-12l29-30c3-3 8-5 13-5 5 0 9 2 12 5z m234 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
11
+ <glyph unicode="&#8592;" d="M296 113l29 30c4 3 6 7 6 12 0 5-2 10-6 13l-87 88 87 88c4 3 6 8 6 13 0 5-2 9-6 12l-29 30c-3 3-8 5-13 5-5 0-9-2-12-5l-130-130c-4-4-6-8-6-13 0-5 2-9 6-13l130-130c3-3 7-5 12-5 5 0 10 2 13 5z m179 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
12
+ <glyph unicode="&#8226;" d="M475 256c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
13
+ <glyph unicode="&#97;" d="M475 439l0-128c0-5-1-9-5-13-4-4-8-5-13-5l-128 0c-8 0-13 3-17 11-3 7-2 14 4 20l40 39c-28 26-62 39-100 39-20 0-39-4-57-11-18-8-33-18-46-32-14-13-24-28-32-46-7-18-11-37-11-57 0-20 4-39 11-57 8-18 18-33 32-46 13-14 28-24 46-32 18-7 37-11 57-11 23 0 44 5 64 15 20 9 38 23 51 42 2 1 4 3 7 3 3 0 5-1 7-3l39-39c2-2 3-3 3-6 0-2-1-4-2-6-21-25-46-45-76-59-29-14-60-20-93-20-30 0-58 5-85 17-27 12-51 27-70 47-20 19-35 43-47 70-12 27-17 55-17 85 0 30 5 58 17 85 12 27 27 51 47 70 19 20 43 35 70 47 27 12 55 17 85 17 28 0 55-5 81-15 26-11 50-26 70-45l37 37c6 6 12 7 20 4 8-4 11-9 11-17z"/>
14
+ </font></defs></svg>
admin/images/14-days-money-back-guarantee.svg CHANGED
@@ -1,66 +1,66 @@
1
- <svg width="153" height="181" viewBox="0 0 153 181" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M152.822 48.9309L152.816 48.7906C152.738 47.0583 152.686 45.2256 152.654 43.1866C152.508 33.2431 144.633 25.018 134.725 24.4622C114.067 23.3051 98.0863 16.544 84.432 3.18551L84.3154 3.07407C79.8618 -1.02469 73.1436 -1.02469 68.6885 3.07407L68.572 3.18551C54.9176 16.544 38.937 23.3051 18.2793 24.4636C8.37268 25.018 0.496159 33.2431 0.349486 43.188C0.319328 45.2133 0.265868 47.0459 0.187733 48.7906L0.179509 49.1166C-0.222131 70.2598 -0.721096 96.5736 8.04918 120.458C12.8716 133.592 20.1751 145.009 29.7555 154.394C40.667 165.082 54.9588 173.567 72.2334 179.612C72.7954 179.809 73.3793 179.969 73.9743 180.088C74.8132 180.256 75.6576 180.34 76.502 180.34C77.3464 180.34 78.1922 180.256 79.0297 180.088C79.6246 179.969 80.2127 179.808 80.7775 179.61C98.0315 173.553 112.308 165.064 123.21 154.377C132.786 144.99 140.09 133.57 144.916 120.433C153.72 96.4773 153.222 70.114 152.822 48.9309Z" fill="#AFD2DA" fill-opacity="0.3"/>
3
- <path d="M141.806 55.1818L141.801 55.0627C141.734 53.5931 141.69 52.0382 141.663 50.3083C141.537 41.8723 134.799 34.8942 126.321 34.4226C108.645 33.4409 94.9705 27.7048 83.2869 16.3715L83.1872 16.277C79.3763 12.7996 73.6278 12.7996 69.8157 16.277L69.716 16.3715C58.0324 27.7048 44.3583 33.4409 26.6821 34.4237C18.2053 34.8942 11.4656 41.8723 11.3401 50.3095C11.3143 52.0277 11.2685 53.5826 11.2017 55.0627L11.1946 55.3393C10.8509 73.2772 10.424 95.6017 17.9285 115.865C22.0549 127.008 28.3043 136.694 36.5019 144.656C45.8385 153.724 58.0676 160.922 72.8489 166.051C73.3298 166.218 73.8295 166.354 74.3386 166.455C75.0564 166.598 75.7789 166.669 76.5015 166.669C77.224 166.669 77.9477 166.598 78.6644 166.455C79.1734 166.354 79.6766 166.217 80.1599 166.049C94.9236 160.911 107.14 153.708 116.468 144.642C124.662 136.678 130.912 126.989 135.042 115.844C142.574 95.52 142.148 73.1534 141.806 55.1818Z" fill="#4AA7C3" fill-opacity="0.15"/>
4
- <path d="M132.035 55.5667V55.5669C132.058 57.0608 132.096 58.4043 132.154 59.6748C132.154 59.6749 132.154 59.675 132.154 59.6752L132.158 59.7713C132.158 59.7721 132.158 59.7728 132.158 59.7736C132.452 75.2819 132.814 94.5255 126.36 112.004L126.594 112.09L126.36 112.004C122.823 121.583 117.472 129.908 110.457 136.751C102.471 144.541 92.0052 150.736 79.3444 155.158C78.9402 155.299 78.5188 155.414 78.0924 155.5C77.4926 155.619 76.887 155.679 76.2826 155.679C75.6783 155.679 75.0738 155.619 74.4728 155.5C74.0463 155.414 73.628 155.3 73.2257 155.16L73.1435 155.396L73.2257 155.16C60.5498 150.746 50.0733 144.554 42.08 136.763C35.0624 129.922 29.7113 121.6 26.1773 112.022C19.7467 94.5954 20.1099 75.3874 20.4054 59.908C20.4054 59.9078 20.4054 59.9075 20.4054 59.9072L20.4112 59.6751C20.4113 59.6743 20.4113 59.6734 20.4114 59.6726C20.4689 58.3939 20.5082 57.051 20.5304 55.5677L20.5304 55.5677C20.6363 48.422 26.3251 42.51 33.4799 42.1115L33.4799 42.1115C48.7256 41.2607 60.5361 36.2918 70.6243 26.4712C70.6247 26.4709 70.625 26.4705 70.6253 26.4702L70.7055 26.3939C70.706 26.3934 70.7066 26.3928 70.7072 26.3923C73.8873 23.4825 78.6789 23.4825 81.8579 26.3922C81.8586 26.3928 81.8592 26.3933 81.8598 26.3939L81.9399 26.4702C81.9403 26.4705 81.9406 26.4709 81.941 26.4712C92.0292 36.2918 103.84 41.2607 119.085 42.1105C126.241 42.51 131.929 48.422 132.035 55.5667Z" fill="url(#paint0_linear)" stroke="url(#paint1_linear)" stroke-width="0.5"/>
5
- <g filter="url(#filter0_d)">
6
- <path d="M48.5189 88.3569V97.5394H46.7218V91.5839L44.1376 95.8472H43.9277L41.3435 91.597V97.5394H39.5332V88.3569H41.3959L44.0326 92.699L46.6562 88.3569H48.5189Z" fill="white"/>
7
- <path d="M55.7394 96.7261C55.066 97.3908 54.244 97.7231 53.2733 97.7231C52.3025 97.7231 51.4805 97.3908 50.8071 96.7261C50.1425 96.0528 49.8101 95.2307 49.8101 94.26C49.8101 93.2893 50.1425 92.4716 50.8071 91.8069C51.4805 91.1336 52.3025 90.7969 53.2733 90.7969C54.244 90.7969 55.066 91.1336 55.7394 91.8069C56.4128 92.4716 56.7495 93.2893 56.7495 94.26C56.7495 95.2307 56.4128 96.0528 55.7394 96.7261ZM52.0008 95.5586C52.3419 95.8997 52.766 96.0702 53.2733 96.0702C53.7805 96.0702 54.2046 95.8997 54.5457 95.5586C54.8868 95.2176 55.0573 94.7847 55.0573 94.26C55.0573 93.7353 54.8868 93.3024 54.5457 92.9613C54.2046 92.6202 53.7805 92.4497 53.2733 92.4497C52.766 92.4497 52.3419 92.6202 52.0008 92.9613C51.6685 93.3024 51.5023 93.7353 51.5023 94.26C51.5023 94.7847 51.6685 95.2176 52.0008 95.5586Z" fill="white"/>
8
- <path d="M61.5867 90.7969C62.3038 90.7969 62.8941 91.0374 63.3576 91.5183C63.8299 91.9993 64.066 92.664 64.066 93.5123V97.5394H62.3738V93.7221C62.3738 93.2849 62.2557 92.9526 62.0196 92.7252C61.7835 92.4891 61.4687 92.371 61.0751 92.371C60.6379 92.371 60.288 92.5066 60.0257 92.7777C59.7633 93.0488 59.6321 93.4554 59.6321 93.9976V97.5394H57.9399V90.9805H59.6321V91.7151C60.0432 91.1029 60.6947 90.7969 61.5867 90.7969Z" fill="white"/>
9
- <path d="M66.9408 94.9552C67.1681 95.7773 67.7847 96.1883 68.7904 96.1883C69.4375 96.1883 69.9273 95.9697 70.2596 95.5324L71.6238 96.3195C70.9767 97.2552 70.0235 97.7231 68.7641 97.7231C67.6797 97.7231 66.8096 97.3952 66.1537 96.7393C65.4978 96.0834 65.1698 95.2569 65.1698 94.26C65.1698 93.2718 65.4934 92.4497 66.1406 91.7938C66.7877 91.1292 67.6185 90.7969 68.633 90.7969C69.5949 90.7969 70.3864 91.1292 71.0073 91.7938C71.637 92.4585 71.9518 93.2805 71.9518 94.26C71.9518 94.4786 71.9299 94.7104 71.8862 94.9552H66.9408ZM66.9145 93.6434H70.2596C70.1634 93.1974 69.9622 92.8651 69.6562 92.6465C69.3588 92.4278 69.0177 92.3185 68.633 92.3185C68.1782 92.3185 67.8022 92.4366 67.5048 92.6727C67.2075 92.9001 67.0107 93.2237 66.9145 93.6434Z" fill="white"/>
10
- <path d="M77.1533 90.9805H78.9636L76.5761 97.5394C76.2351 98.4839 75.7803 99.1661 75.2119 99.5858C74.6522 100.014 73.9526 100.207 73.113 100.163V98.5889C73.5678 98.5976 73.9263 98.5014 74.1887 98.3003C74.4598 98.0991 74.674 97.7756 74.8315 97.3296L72.1423 90.9805H73.9919L75.6972 95.3881L77.1533 90.9805Z" fill="white"/>
11
- <path d="M86.8657 90.7969C87.7489 90.7969 88.501 91.1336 89.122 91.8069C89.7516 92.4716 90.0664 93.2893 90.0664 94.26C90.0664 95.2307 89.7516 96.0528 89.122 96.7261C88.501 97.3908 87.7489 97.7231 86.8657 97.7231C85.9474 97.7231 85.2391 97.4039 84.7406 96.7655V97.5394H83.0484V88.3569H84.7406V91.7545C85.2391 91.1161 85.9474 90.7969 86.8657 90.7969ZM85.2522 95.598C85.5932 95.9391 86.0261 96.1096 86.5508 96.1096C87.0756 96.1096 87.5085 95.9391 87.8495 95.598C88.1993 95.2482 88.3742 94.8022 88.3742 94.26C88.3742 93.7178 88.1993 93.2761 87.8495 92.9351C87.5085 92.5853 87.0756 92.4104 86.5508 92.4104C86.0261 92.4104 85.5932 92.5853 85.2522 92.9351C84.9111 93.2761 84.7406 93.7178 84.7406 94.26C84.7406 94.8022 84.9111 95.2482 85.2522 95.598Z" fill="white"/>
12
- <path d="M96.2447 90.9805H97.9369V97.5394H96.2447V96.7655C95.7374 97.4039 95.0247 97.7231 94.1064 97.7231C93.2319 97.7231 92.4798 97.3908 91.8502 96.7261C91.2293 96.0528 90.9188 95.2307 90.9188 94.26C90.9188 93.2893 91.2293 92.4716 91.8502 91.8069C92.4798 91.1336 93.2319 90.7969 94.1064 90.7969C95.0247 90.7969 95.7374 91.1161 96.2447 91.7545V90.9805ZM93.1226 95.598C93.4637 95.9391 93.8966 96.1096 94.4213 96.1096C94.946 96.1096 95.3789 95.9391 95.7199 95.598C96.0697 95.2482 96.2447 94.8022 96.2447 94.26C96.2447 93.7178 96.0697 93.2761 95.7199 92.9351C95.3789 92.5853 94.946 92.4104 94.4213 92.4104C93.8966 92.4104 93.4637 92.5853 93.1226 92.9351C92.7815 93.2761 92.611 93.7178 92.611 94.26C92.611 94.8022 92.7815 95.2482 93.1226 95.598Z" fill="white"/>
13
- <path d="M102.593 97.7231C101.605 97.7231 100.779 97.3908 100.114 96.7261C99.4582 96.0615 99.1303 95.2394 99.1303 94.26C99.1303 93.2805 99.4582 92.4585 100.114 91.7938C100.779 91.1292 101.605 90.7969 102.593 90.7969C103.232 90.7969 103.813 90.9499 104.338 91.256C104.863 91.5621 105.261 91.9731 105.532 92.4891L104.076 93.3417C103.945 93.0706 103.743 92.8564 103.472 92.699C103.21 92.5415 102.913 92.4628 102.58 92.4628C102.073 92.4628 101.653 92.6334 101.321 92.9744C100.989 93.3067 100.822 93.7353 100.822 94.26C100.822 94.7759 100.989 95.2045 101.321 95.5455C101.653 95.8778 102.073 96.044 102.58 96.044C102.921 96.044 103.223 95.9697 103.485 95.821C103.757 95.6636 103.958 95.4493 104.089 95.1782L105.558 96.0178C105.269 96.5337 104.863 96.9491 104.338 97.264C103.813 97.5701 103.232 97.7231 102.593 97.7231Z" fill="white"/>
14
- <path d="M112.5 97.5394H110.533L108.145 94.5617V97.5394H106.453V88.3569H108.145V93.8664L110.402 90.9805H112.422L109.785 94.2206L112.5 97.5394Z" fill="white"/>
15
- <path d="M49.353 105.035H51.0059V111.279C51.0059 112.294 50.6692 113.068 49.9958 113.601C49.3311 114.135 48.5266 114.402 47.5821 114.402C46.8737 114.402 46.2484 114.266 45.7062 113.995C45.1728 113.724 44.7618 113.326 44.4732 112.801L45.9161 111.975C46.2484 112.587 46.8213 112.893 47.6346 112.893C48.168 112.893 48.5878 112.753 48.8939 112.473C49.2 112.193 49.353 111.795 49.353 111.279V110.571C48.8545 111.236 48.1549 111.568 47.2541 111.568C46.3272 111.568 45.5488 111.245 44.9192 110.597C44.2983 109.941 43.9878 109.146 43.9878 108.21C43.9878 107.283 44.3026 106.491 44.9323 105.836C45.5619 105.18 46.3359 104.852 47.2541 104.852C48.1549 104.852 48.8545 105.184 49.353 105.849V105.035ZM46.1916 109.509C46.5414 109.841 46.983 110.007 47.5165 110.007C48.05 110.007 48.4872 109.841 48.8283 109.509C49.1781 109.168 49.353 108.735 49.353 108.21C49.353 107.694 49.1781 107.27 48.8283 106.937C48.4872 106.596 48.05 106.426 47.5165 106.426C46.983 106.426 46.5414 106.596 46.1916 106.937C45.8505 107.27 45.68 107.694 45.68 108.21C45.68 108.735 45.8505 109.168 46.1916 109.509Z" fill="white"/>
16
- <path d="M56.8692 105.035H58.5615V111.594H56.8692V110.86C56.4582 111.472 55.8067 111.778 54.9147 111.778C54.1976 111.778 53.6029 111.537 53.1306 111.056C52.6672 110.575 52.4354 109.911 52.4354 109.063V105.035H54.1276V108.853C54.1276 109.29 54.2457 109.627 54.4818 109.863C54.7179 110.09 55.0327 110.204 55.4263 110.204C55.8635 110.204 56.2134 110.068 56.4757 109.797C56.7381 109.526 56.8692 109.119 56.8692 108.577V105.035Z" fill="white"/>
17
- <path d="M65.0961 105.035H66.7883V111.594H65.0961V110.82C64.5889 111.459 63.8761 111.778 62.9579 111.778C62.0834 111.778 61.3313 111.446 60.7016 110.781C60.0807 110.108 59.7702 109.286 59.7702 108.315C59.7702 107.344 60.0807 106.526 60.7016 105.862C61.3313 105.188 62.0834 104.852 62.9579 104.852C63.8761 104.852 64.5889 105.171 65.0961 105.809V105.035ZM61.974 109.653C62.3151 109.994 62.748 110.164 63.2727 110.164C63.7974 110.164 64.2303 109.994 64.5714 109.653C64.9212 109.303 65.0961 108.857 65.0961 108.315C65.0961 107.773 64.9212 107.331 64.5714 106.99C64.2303 106.64 63.7974 106.465 63.2727 106.465C62.748 106.465 62.3151 106.64 61.974 106.99C61.633 107.331 61.4625 107.773 61.4625 108.315C61.4625 108.857 61.633 109.303 61.974 109.653Z" fill="white"/>
18
- <path d="M70.015 106.164C70.1724 105.744 70.4304 105.429 70.789 105.219C71.1563 105.009 71.5629 104.904 72.0089 104.904V106.793C71.4929 106.732 71.0294 106.837 70.6184 107.108C70.2161 107.379 70.015 107.829 70.015 108.459V111.594H68.3228V105.035H70.015V106.164Z" fill="white"/>
19
- <path d="M77.74 105.035H79.4322V111.594H77.74V110.82C77.2328 111.459 76.52 111.778 75.6018 111.778C74.7273 111.778 73.9752 111.446 73.3455 110.781C72.7246 110.108 72.4141 109.286 72.4141 108.315C72.4141 107.344 72.7246 106.526 73.3455 105.862C73.9752 105.188 74.7273 104.852 75.6018 104.852C76.52 104.852 77.2328 105.171 77.74 105.809V105.035ZM74.6179 109.653C74.959 109.994 75.3919 110.164 75.9166 110.164C76.4413 110.164 76.8742 109.994 77.2153 109.653C77.5651 109.303 77.74 108.857 77.74 108.315C77.74 107.773 77.5651 107.331 77.2153 106.99C76.8742 106.64 76.4413 106.465 75.9166 106.465C75.3919 106.465 74.959 106.64 74.6179 106.99C74.2769 107.331 74.1063 107.773 74.1063 108.315C74.1063 108.857 74.2769 109.303 74.6179 109.653Z" fill="white"/>
20
- <path d="M84.6134 104.852C85.3306 104.852 85.9209 105.092 86.3844 105.573C86.8566 106.054 87.0927 106.719 87.0927 107.567V111.594H85.4005V107.777C85.4005 107.34 85.2825 107.007 85.0463 106.78C84.8102 106.544 84.4954 106.426 84.1019 106.426C83.6646 106.426 83.3148 106.561 83.0524 106.833C82.7901 107.104 82.6589 107.51 82.6589 108.052V111.594H80.9667V105.035H82.6589V105.77C83.0699 105.158 83.7214 104.852 84.6134 104.852Z" fill="white"/>
21
- <path d="M92.2894 106.662H90.807V109.391C90.807 109.618 90.8639 109.784 90.9776 109.889C91.0913 109.994 91.2574 110.055 91.476 110.073C91.6947 110.081 91.9658 110.077 92.2894 110.06V111.594C91.1262 111.725 90.3042 111.616 89.8232 111.266C89.351 110.917 89.1148 110.291 89.1148 109.391V106.662H87.9736V105.035H89.1148V103.71L90.807 103.199V105.035H92.2894V106.662Z" fill="white"/>
22
- <path d="M94.7074 109.01C94.9347 109.832 95.5513 110.243 96.557 110.243C97.2041 110.243 97.6939 110.025 98.0262 109.587L99.3904 110.374C98.7433 111.31 97.7901 111.778 96.5307 111.778C95.4463 111.778 94.5762 111.45 93.9203 110.794C93.2644 110.138 92.9364 109.312 92.9364 108.315C92.9364 107.327 93.26 106.505 93.9072 105.849C94.5543 105.184 95.3851 104.852 96.3996 104.852C97.3615 104.852 98.153 105.184 98.7739 105.849C99.4036 106.513 99.7184 107.335 99.7184 108.315C99.7184 108.533 99.6965 108.765 99.6528 109.01H94.7074ZM94.6811 107.698H98.0262C97.93 107.252 97.7288 106.92 97.4228 106.701C97.1254 106.483 96.7843 106.373 96.3996 106.373C95.9448 106.373 95.5688 106.491 95.2714 106.728C94.9741 106.955 94.7773 107.279 94.6811 107.698Z" fill="white"/>
23
- <path d="M102.278 109.01C102.506 109.832 103.122 110.243 104.128 110.243C104.775 110.243 105.265 110.025 105.597 109.587L106.961 110.374C106.314 111.31 105.361 111.778 104.102 111.778C103.017 111.778 102.147 111.45 101.491 110.794C100.835 110.138 100.507 109.312 100.507 108.315C100.507 107.327 100.831 106.505 101.478 105.849C102.125 105.184 102.956 104.852 103.971 104.852C104.932 104.852 105.724 105.184 106.345 105.849C106.975 106.513 107.289 107.335 107.289 108.315C107.289 108.533 107.267 108.765 107.224 109.01H102.278ZM102.252 107.698H105.597C105.501 107.252 105.3 106.92 104.994 106.701C104.696 106.483 104.355 106.373 103.971 106.373C103.516 106.373 103.14 106.491 102.842 106.728C102.545 106.955 102.348 107.279 102.252 107.698Z" fill="white"/>
24
- </g>
25
- <g filter="url(#filter1_d)">
26
- <path d="M48.1369 65.2905V78.4084H44.4264V68.1577H41.9902V65.2905H48.1369Z" fill="white"/>
27
- <path d="M62.478 75.8973H60.529V78.4084H56.9123V75.8973H49.9785V73.4798L55.8628 65.2905H59.7045L54.3636 72.9551H57.0247V70.7251H60.529V72.9551H62.478V75.8973Z" fill="white"/>
28
- <path d="M69.3594 65.2905H75.5623C76.9991 65.2905 78.2734 65.5591 79.3853 66.0963C80.4971 66.6335 81.3592 67.3956 81.9714 68.3826C82.5835 69.3696 82.8896 70.5252 82.8896 71.8495C82.8896 73.1737 82.5835 74.3294 81.9714 75.3163C81.3592 76.3033 80.4971 77.0654 79.3853 77.6026C78.2734 78.1398 76.9991 78.4084 75.5623 78.4084H69.3594V65.2905ZM75.4124 75.4475C76.5368 75.4475 77.4363 75.1289 78.1109 74.4918C78.7981 73.8546 79.1416 72.9739 79.1416 71.8495C79.1416 70.7251 78.7981 69.8443 78.1109 69.2071C77.4363 68.57 76.5368 68.2514 75.4124 68.2514H73.0699V75.4475H75.4124Z" fill="white"/>
29
- <path d="M95.411 68.2514V78.4084H92.0191V77.3965C91.357 78.1835 90.3575 78.5771 89.0207 78.5771C88.0962 78.5771 87.253 78.3647 86.4909 77.9399C85.7413 77.5026 85.1416 76.8842 84.6918 76.0847C84.2546 75.2851 84.036 74.3606 84.036 73.3112C84.036 72.2617 84.2546 71.3435 84.6918 70.5564C85.1416 69.7569 85.7413 69.1447 86.4909 68.7199C87.253 68.2951 88.0962 68.0828 89.0207 68.0828C90.2201 68.0828 91.1633 68.4326 91.8505 69.1322V68.2514H95.411ZM89.7703 75.7473C90.395 75.7473 90.9072 75.535 91.307 75.1102C91.7068 74.6729 91.9067 74.0733 91.9067 73.3112C91.9067 72.5616 91.7068 71.9744 91.307 71.5496C90.9072 71.1249 90.395 70.9125 89.7703 70.9125C89.1457 70.9125 88.6335 71.1249 88.2337 71.5496C87.8339 71.9744 87.634 72.5616 87.634 73.3112C87.634 74.0733 87.8339 74.6729 88.2337 75.1102C88.6335 75.535 89.1457 75.7473 89.7703 75.7473Z" fill="white"/>
30
- <path d="M108.385 68.2514V76.5532C108.385 78.4396 107.879 79.8514 106.867 80.7884C105.867 81.7378 104.424 82.2126 102.538 82.2126C101.551 82.2126 100.627 82.1001 99.7645 81.8753C98.915 81.6504 98.1904 81.3193 97.5907 80.8821L98.8837 78.3897C99.2835 78.727 99.7833 78.9893 100.383 79.1767C100.995 79.3766 101.601 79.4766 102.201 79.4766C103.1 79.4766 103.762 79.2704 104.187 78.8582C104.612 78.4459 104.824 77.8337 104.824 77.0217V76.7968C104.062 77.5214 103.113 77.8837 101.976 77.8837C100.664 77.8837 99.6146 77.4964 98.8275 76.7218C98.0529 75.9472 97.6657 74.7854 97.6657 73.2362V68.2514H101.226V72.6553C101.226 73.4299 101.37 73.9921 101.657 74.3419C101.945 74.6917 102.363 74.8666 102.913 74.8666C103.475 74.8666 103.931 74.6667 104.281 74.2669C104.643 73.8671 104.824 73.2674 104.824 72.4679V68.2514H108.385Z" fill="white"/>
31
- </g>
32
- <path d="M74.7108 123.596C75.4882 122.304 77.3607 122.304 78.1381 123.596L79.0273 125.074C79.3066 125.538 79.7621 125.869 80.2897 125.991L81.9698 126.38C83.4385 126.72 84.0171 128.501 83.0289 129.639L81.8984 130.942C81.5433 131.351 81.3694 131.886 81.4162 132.426L81.5653 134.144C81.6956 135.646 80.1807 136.746 78.7926 136.158L77.2046 135.486C76.706 135.274 76.1429 135.274 75.6443 135.486L74.0563 136.158C72.6682 136.746 71.1533 135.646 71.2836 134.144L71.4327 132.426C71.4795 131.886 71.3055 131.351 70.9505 130.942L69.82 129.639C68.8318 128.501 69.4104 126.72 70.8791 126.38L72.5592 125.991C73.0868 125.869 73.5423 125.538 73.8216 125.074L74.7108 123.596Z" fill="white" fill-opacity="0.14"/>
33
- <path d="M75.5655 125.25C75.9541 124.605 76.8904 124.605 77.2791 125.25L78.2304 126.831C78.37 127.063 78.5977 127.229 78.8615 127.29L80.6588 127.706C81.3931 127.876 81.6825 128.766 81.1883 129.336L79.979 130.729C79.8015 130.933 79.7145 131.201 79.7379 131.471L79.8974 133.309C79.9626 134.06 79.2051 134.61 78.5111 134.316L76.8124 133.596C76.563 133.491 76.2815 133.491 76.0322 133.596L74.3335 134.316C73.6395 134.61 72.882 134.06 72.9472 133.309L73.1067 131.471C73.1301 131.201 73.0431 130.933 72.8656 130.729L71.6562 129.336C71.1621 128.766 71.4514 127.876 72.1858 127.706L73.983 127.29C74.2468 127.229 74.4746 127.063 74.6142 126.831L75.5655 125.25Z" fill="white"/>
34
- <path d="M57.9806 126.482C58.3693 125.836 59.3056 125.836 59.6942 126.482L60.2402 127.389C60.3798 127.621 60.6076 127.787 60.8714 127.848L61.9029 128.087C62.6372 128.257 62.9265 129.147 62.4324 129.716L61.7383 130.516C61.5608 130.72 61.4738 130.988 61.4973 131.258L61.5888 132.313C61.654 133.064 60.8965 133.614 60.2025 133.32L59.2275 132.907C58.9782 132.801 58.6967 132.801 58.4473 132.907L57.4724 133.32C56.7784 133.614 56.0209 133.064 56.0861 132.313L56.1776 131.258C56.201 130.988 56.114 130.72 55.9365 130.516L55.2424 129.716C54.7483 129.147 55.0377 128.257 55.772 128.087L56.8035 127.848C57.0673 127.787 57.295 127.621 57.4347 127.389L57.9806 126.482Z" fill="white" fill-opacity="0.26"/>
35
- <path d="M57.9798 127.713C58.3684 127.067 59.3047 127.067 59.6934 127.713L59.834 127.947C59.9737 128.179 60.2014 128.344 60.4652 128.406L60.731 128.467C61.4653 128.637 61.7546 129.528 61.2605 130.097L61.0817 130.303C60.9042 130.507 60.8172 130.775 60.8406 131.045L60.8642 131.317C60.9294 132.068 60.1719 132.618 59.4778 132.324L59.2267 132.217C58.9773 132.112 58.6958 132.112 58.4465 132.217L58.1953 132.324C57.5013 132.618 56.7438 132.068 56.809 131.317L56.8326 131.045C56.856 130.775 56.769 130.507 56.5915 130.303L56.4126 130.097C55.9185 129.528 56.2079 128.637 56.9422 128.467L57.2079 128.406C57.4717 128.344 57.6995 128.179 57.8391 127.947L57.9798 127.713Z" fill="white"/>
36
- <path d="M93.0607 126.482C93.4494 125.836 94.3857 125.836 94.7743 126.482L95.3203 127.389C95.4599 127.621 95.6877 127.787 95.9515 127.848L96.983 128.087C97.7173 128.257 98.0066 129.147 97.5125 129.716L96.8184 130.516C96.6409 130.72 96.5539 130.988 96.5773 131.258L96.6689 132.313C96.7341 133.064 95.9766 133.614 95.2825 133.32L94.3076 132.907C94.0583 132.801 93.7768 132.801 93.5274 132.907L92.5525 133.32C91.8585 133.614 91.101 133.064 91.1662 132.313L91.2577 131.258C91.2811 130.988 91.1941 130.72 91.0166 130.516L90.3225 129.716C89.8284 129.147 90.1177 128.257 90.8521 128.087L91.8836 127.848C92.1474 127.787 92.3751 127.621 92.5147 127.389L93.0607 126.482Z" fill="white" fill-opacity="0.23"/>
37
- <path d="M93.0618 127.713C93.4505 127.067 94.3868 127.067 94.7754 127.713L94.9161 127.947C95.0557 128.179 95.2834 128.344 95.5472 128.406L95.813 128.467C96.5473 128.637 96.8366 129.528 96.3425 130.097L96.1637 130.303C95.9862 130.507 95.8992 130.775 95.9226 131.045L95.9462 131.317C96.0114 132.068 95.2539 132.618 94.5599 132.324L94.3087 132.217C94.0594 132.112 93.7779 132.112 93.5285 132.217L93.2773 132.324C92.5833 132.618 91.8258 132.068 91.891 131.317L91.9146 131.045C91.938 130.775 91.851 130.507 91.6735 130.303L91.4947 130.097C91.0006 129.528 91.2899 128.637 92.0242 128.467L92.29 128.406C92.5538 128.344 92.7815 128.179 92.9211 127.947L93.0618 127.713Z" fill="white"/>
38
- <defs>
39
- <filter id="filter0_d" x="39.5332" y="88.3569" width="72.9672" height="26.5446" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
40
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
41
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
42
- <feOffset dy="0.5"/>
43
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0.670065 0 0 0 0 0.683333 0 0 0 1 0"/>
44
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
45
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
46
- </filter>
47
- <filter id="filter1_d" x="40.9902" y="65.2905" width="68.3946" height="18.9221" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
48
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
49
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
50
- <feOffset dy="1"/>
51
- <feGaussianBlur stdDeviation="0.5"/>
52
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
53
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
54
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
55
- </filter>
56
- <linearGradient id="paint0_linear" x1="38.6884" y1="29.2177" x2="70.5438" y2="190.734" gradientUnits="userSpaceOnUse">
57
- <stop offset="0.149447" stop-color="#04C6C6"/>
58
- <stop offset="1" stop-color="#7694C1"/>
59
- </linearGradient>
60
- <linearGradient id="paint1_linear" x1="76.2812" y1="23.96" x2="76.2812" y2="155.929" gradientUnits="userSpaceOnUse">
61
- <stop stop-color="#0AB5B5"/>
62
- <stop offset="0.540631" stop-color="#11B3C5"/>
63
- <stop offset="1" stop-color="#1BB0DE"/>
64
- </linearGradient>
65
- </defs>
66
- </svg>
1
+ <svg width="153" height="181" viewBox="0 0 153 181" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M152.822 48.9309L152.816 48.7906C152.738 47.0583 152.686 45.2256 152.654 43.1866C152.508 33.2431 144.633 25.018 134.725 24.4622C114.067 23.3051 98.0863 16.544 84.432 3.18551L84.3154 3.07407C79.8618 -1.02469 73.1436 -1.02469 68.6885 3.07407L68.572 3.18551C54.9176 16.544 38.937 23.3051 18.2793 24.4636C8.37268 25.018 0.496159 33.2431 0.349486 43.188C0.319328 45.2133 0.265868 47.0459 0.187733 48.7906L0.179509 49.1166C-0.222131 70.2598 -0.721096 96.5736 8.04918 120.458C12.8716 133.592 20.1751 145.009 29.7555 154.394C40.667 165.082 54.9588 173.567 72.2334 179.612C72.7954 179.809 73.3793 179.969 73.9743 180.088C74.8132 180.256 75.6576 180.34 76.502 180.34C77.3464 180.34 78.1922 180.256 79.0297 180.088C79.6246 179.969 80.2127 179.808 80.7775 179.61C98.0315 173.553 112.308 165.064 123.21 154.377C132.786 144.99 140.09 133.57 144.916 120.433C153.72 96.4773 153.222 70.114 152.822 48.9309Z" fill="#AFD2DA" fill-opacity="0.3"/>
3
+ <path d="M141.806 55.1818L141.801 55.0627C141.734 53.5931 141.69 52.0382 141.663 50.3083C141.537 41.8723 134.799 34.8942 126.321 34.4226C108.645 33.4409 94.9705 27.7048 83.2869 16.3715L83.1872 16.277C79.3763 12.7996 73.6278 12.7996 69.8157 16.277L69.716 16.3715C58.0324 27.7048 44.3583 33.4409 26.6821 34.4237C18.2053 34.8942 11.4656 41.8723 11.3401 50.3095C11.3143 52.0277 11.2685 53.5826 11.2017 55.0627L11.1946 55.3393C10.8509 73.2772 10.424 95.6017 17.9285 115.865C22.0549 127.008 28.3043 136.694 36.5019 144.656C45.8385 153.724 58.0676 160.922 72.8489 166.051C73.3298 166.218 73.8295 166.354 74.3386 166.455C75.0564 166.598 75.7789 166.669 76.5015 166.669C77.224 166.669 77.9477 166.598 78.6644 166.455C79.1734 166.354 79.6766 166.217 80.1599 166.049C94.9236 160.911 107.14 153.708 116.468 144.642C124.662 136.678 130.912 126.989 135.042 115.844C142.574 95.52 142.148 73.1534 141.806 55.1818Z" fill="#4AA7C3" fill-opacity="0.15"/>
4
+ <path d="M132.035 55.5667V55.5669C132.058 57.0608 132.096 58.4043 132.154 59.6748C132.154 59.6749 132.154 59.675 132.154 59.6752L132.158 59.7713C132.158 59.7721 132.158 59.7728 132.158 59.7736C132.452 75.2819 132.814 94.5255 126.36 112.004L126.594 112.09L126.36 112.004C122.823 121.583 117.472 129.908 110.457 136.751C102.471 144.541 92.0052 150.736 79.3444 155.158C78.9402 155.299 78.5188 155.414 78.0924 155.5C77.4926 155.619 76.887 155.679 76.2826 155.679C75.6783 155.679 75.0738 155.619 74.4728 155.5C74.0463 155.414 73.628 155.3 73.2257 155.16L73.1435 155.396L73.2257 155.16C60.5498 150.746 50.0733 144.554 42.08 136.763C35.0624 129.922 29.7113 121.6 26.1773 112.022C19.7467 94.5954 20.1099 75.3874 20.4054 59.908C20.4054 59.9078 20.4054 59.9075 20.4054 59.9072L20.4112 59.6751C20.4113 59.6743 20.4113 59.6734 20.4114 59.6726C20.4689 58.3939 20.5082 57.051 20.5304 55.5677L20.5304 55.5677C20.6363 48.422 26.3251 42.51 33.4799 42.1115L33.4799 42.1115C48.7256 41.2607 60.5361 36.2918 70.6243 26.4712C70.6247 26.4709 70.625 26.4705 70.6253 26.4702L70.7055 26.3939C70.706 26.3934 70.7066 26.3928 70.7072 26.3923C73.8873 23.4825 78.6789 23.4825 81.8579 26.3922C81.8586 26.3928 81.8592 26.3933 81.8598 26.3939L81.9399 26.4702C81.9403 26.4705 81.9406 26.4709 81.941 26.4712C92.0292 36.2918 103.84 41.2607 119.085 42.1105C126.241 42.51 131.929 48.422 132.035 55.5667Z" fill="url(#paint0_linear)" stroke="url(#paint1_linear)" stroke-width="0.5"/>
5
+ <g filter="url(#filter0_d)">
6
+ <path d="M48.5189 88.3569V97.5394H46.7218V91.5839L44.1376 95.8472H43.9277L41.3435 91.597V97.5394H39.5332V88.3569H41.3959L44.0326 92.699L46.6562 88.3569H48.5189Z" fill="white"/>
7
+ <path d="M55.7394 96.7261C55.066 97.3908 54.244 97.7231 53.2733 97.7231C52.3025 97.7231 51.4805 97.3908 50.8071 96.7261C50.1425 96.0528 49.8101 95.2307 49.8101 94.26C49.8101 93.2893 50.1425 92.4716 50.8071 91.8069C51.4805 91.1336 52.3025 90.7969 53.2733 90.7969C54.244 90.7969 55.066 91.1336 55.7394 91.8069C56.4128 92.4716 56.7495 93.2893 56.7495 94.26C56.7495 95.2307 56.4128 96.0528 55.7394 96.7261ZM52.0008 95.5586C52.3419 95.8997 52.766 96.0702 53.2733 96.0702C53.7805 96.0702 54.2046 95.8997 54.5457 95.5586C54.8868 95.2176 55.0573 94.7847 55.0573 94.26C55.0573 93.7353 54.8868 93.3024 54.5457 92.9613C54.2046 92.6202 53.7805 92.4497 53.2733 92.4497C52.766 92.4497 52.3419 92.6202 52.0008 92.9613C51.6685 93.3024 51.5023 93.7353 51.5023 94.26C51.5023 94.7847 51.6685 95.2176 52.0008 95.5586Z" fill="white"/>
8
+ <path d="M61.5867 90.7969C62.3038 90.7969 62.8941 91.0374 63.3576 91.5183C63.8299 91.9993 64.066 92.664 64.066 93.5123V97.5394H62.3738V93.7221C62.3738 93.2849 62.2557 92.9526 62.0196 92.7252C61.7835 92.4891 61.4687 92.371 61.0751 92.371C60.6379 92.371 60.288 92.5066 60.0257 92.7777C59.7633 93.0488 59.6321 93.4554 59.6321 93.9976V97.5394H57.9399V90.9805H59.6321V91.7151C60.0432 91.1029 60.6947 90.7969 61.5867 90.7969Z" fill="white"/>
9
+ <path d="M66.9408 94.9552C67.1681 95.7773 67.7847 96.1883 68.7904 96.1883C69.4375 96.1883 69.9273 95.9697 70.2596 95.5324L71.6238 96.3195C70.9767 97.2552 70.0235 97.7231 68.7641 97.7231C67.6797 97.7231 66.8096 97.3952 66.1537 96.7393C65.4978 96.0834 65.1698 95.2569 65.1698 94.26C65.1698 93.2718 65.4934 92.4497 66.1406 91.7938C66.7877 91.1292 67.6185 90.7969 68.633 90.7969C69.5949 90.7969 70.3864 91.1292 71.0073 91.7938C71.637 92.4585 71.9518 93.2805 71.9518 94.26C71.9518 94.4786 71.9299 94.7104 71.8862 94.9552H66.9408ZM66.9145 93.6434H70.2596C70.1634 93.1974 69.9622 92.8651 69.6562 92.6465C69.3588 92.4278 69.0177 92.3185 68.633 92.3185C68.1782 92.3185 67.8022 92.4366 67.5048 92.6727C67.2075 92.9001 67.0107 93.2237 66.9145 93.6434Z" fill="white"/>
10
+ <path d="M77.1533 90.9805H78.9636L76.5761 97.5394C76.2351 98.4839 75.7803 99.1661 75.2119 99.5858C74.6522 100.014 73.9526 100.207 73.113 100.163V98.5889C73.5678 98.5976 73.9263 98.5014 74.1887 98.3003C74.4598 98.0991 74.674 97.7756 74.8315 97.3296L72.1423 90.9805H73.9919L75.6972 95.3881L77.1533 90.9805Z" fill="white"/>
11
+ <path d="M86.8657 90.7969C87.7489 90.7969 88.501 91.1336 89.122 91.8069C89.7516 92.4716 90.0664 93.2893 90.0664 94.26C90.0664 95.2307 89.7516 96.0528 89.122 96.7261C88.501 97.3908 87.7489 97.7231 86.8657 97.7231C85.9474 97.7231 85.2391 97.4039 84.7406 96.7655V97.5394H83.0484V88.3569H84.7406V91.7545C85.2391 91.1161 85.9474 90.7969 86.8657 90.7969ZM85.2522 95.598C85.5932 95.9391 86.0261 96.1096 86.5508 96.1096C87.0756 96.1096 87.5085 95.9391 87.8495 95.598C88.1993 95.2482 88.3742 94.8022 88.3742 94.26C88.3742 93.7178 88.1993 93.2761 87.8495 92.9351C87.5085 92.5853 87.0756 92.4104 86.5508 92.4104C86.0261 92.4104 85.5932 92.5853 85.2522 92.9351C84.9111 93.2761 84.7406 93.7178 84.7406 94.26C84.7406 94.8022 84.9111 95.2482 85.2522 95.598Z" fill="white"/>
12
+ <path d="M96.2447 90.9805H97.9369V97.5394H96.2447V96.7655C95.7374 97.4039 95.0247 97.7231 94.1064 97.7231C93.2319 97.7231 92.4798 97.3908 91.8502 96.7261C91.2293 96.0528 90.9188 95.2307 90.9188 94.26C90.9188 93.2893 91.2293 92.4716 91.8502 91.8069C92.4798 91.1336 93.2319 90.7969 94.1064 90.7969C95.0247 90.7969 95.7374 91.1161 96.2447 91.7545V90.9805ZM93.1226 95.598C93.4637 95.9391 93.8966 96.1096 94.4213 96.1096C94.946 96.1096 95.3789 95.9391 95.7199 95.598C96.0697 95.2482 96.2447 94.8022 96.2447 94.26C96.2447 93.7178 96.0697 93.2761 95.7199 92.9351C95.3789 92.5853 94.946 92.4104 94.4213 92.4104C93.8966 92.4104 93.4637 92.5853 93.1226 92.9351C92.7815 93.2761 92.611 93.7178 92.611 94.26C92.611 94.8022 92.7815 95.2482 93.1226 95.598Z" fill="white"/>
13
+ <path d="M102.593 97.7231C101.605 97.7231 100.779 97.3908 100.114 96.7261C99.4582 96.0615 99.1303 95.2394 99.1303 94.26C99.1303 93.2805 99.4582 92.4585 100.114 91.7938C100.779 91.1292 101.605 90.7969 102.593 90.7969C103.232 90.7969 103.813 90.9499 104.338 91.256C104.863 91.5621 105.261 91.9731 105.532 92.4891L104.076 93.3417C103.945 93.0706 103.743 92.8564 103.472 92.699C103.21 92.5415 102.913 92.4628 102.58 92.4628C102.073 92.4628 101.653 92.6334 101.321 92.9744C100.989 93.3067 100.822 93.7353 100.822 94.26C100.822 94.7759 100.989 95.2045 101.321 95.5455C101.653 95.8778 102.073 96.044 102.58 96.044C102.921 96.044 103.223 95.9697 103.485 95.821C103.757 95.6636 103.958 95.4493 104.089 95.1782L105.558 96.0178C105.269 96.5337 104.863 96.9491 104.338 97.264C103.813 97.5701 103.232 97.7231 102.593 97.7231Z" fill="white"/>
14
+ <path d="M112.5 97.5394H110.533L108.145 94.5617V97.5394H106.453V88.3569H108.145V93.8664L110.402 90.9805H112.422L109.785 94.2206L112.5 97.5394Z" fill="white"/>
15
+ <path d="M49.353 105.035H51.0059V111.279C51.0059 112.294 50.6692 113.068 49.9958 113.601C49.3311 114.135 48.5266 114.402 47.5821 114.402C46.8737 114.402 46.2484 114.266 45.7062 113.995C45.1728 113.724 44.7618 113.326 44.4732 112.801L45.9161 111.975C46.2484 112.587 46.8213 112.893 47.6346 112.893C48.168 112.893 48.5878 112.753 48.8939 112.473C49.2 112.193 49.353 111.795 49.353 111.279V110.571C48.8545 111.236 48.1549 111.568 47.2541 111.568C46.3272 111.568 45.5488 111.245 44.9192 110.597C44.2983 109.941 43.9878 109.146 43.9878 108.21C43.9878 107.283 44.3026 106.491 44.9323 105.836C45.5619 105.18 46.3359 104.852 47.2541 104.852C48.1549 104.852 48.8545 105.184 49.353 105.849V105.035ZM46.1916 109.509C46.5414 109.841 46.983 110.007 47.5165 110.007C48.05 110.007 48.4872 109.841 48.8283 109.509C49.1781 109.168 49.353 108.735 49.353 108.21C49.353 107.694 49.1781 107.27 48.8283 106.937C48.4872 106.596 48.05 106.426 47.5165 106.426C46.983 106.426 46.5414 106.596 46.1916 106.937C45.8505 107.27 45.68 107.694 45.68 108.21C45.68 108.735 45.8505 109.168 46.1916 109.509Z" fill="white"/>
16
+ <path d="M56.8692 105.035H58.5615V111.594H56.8692V110.86C56.4582 111.472 55.8067 111.778 54.9147 111.778C54.1976 111.778 53.6029 111.537 53.1306 111.056C52.6672 110.575 52.4354 109.911 52.4354 109.063V105.035H54.1276V108.853C54.1276 109.29 54.2457 109.627 54.4818 109.863C54.7179 110.09 55.0327 110.204 55.4263 110.204C55.8635 110.204 56.2134 110.068 56.4757 109.797C56.7381 109.526 56.8692 109.119 56.8692 108.577V105.035Z" fill="white"/>
17
+ <path d="M65.0961 105.035H66.7883V111.594H65.0961V110.82C64.5889 111.459 63.8761 111.778 62.9579 111.778C62.0834 111.778 61.3313 111.446 60.7016 110.781C60.0807 110.108 59.7702 109.286 59.7702 108.315C59.7702 107.344 60.0807 106.526 60.7016 105.862C61.3313 105.188 62.0834 104.852 62.9579 104.852C63.8761 104.852 64.5889 105.171 65.0961 105.809V105.035ZM61.974 109.653C62.3151 109.994 62.748 110.164 63.2727 110.164C63.7974 110.164 64.2303 109.994 64.5714 109.653C64.9212 109.303 65.0961 108.857 65.0961 108.315C65.0961 107.773 64.9212 107.331 64.5714 106.99C64.2303 106.64 63.7974 106.465 63.2727 106.465C62.748 106.465 62.3151 106.64 61.974 106.99C61.633 107.331 61.4625 107.773 61.4625 108.315C61.4625 108.857 61.633 109.303 61.974 109.653Z" fill="white"/>
18
+ <path d="M70.015 106.164C70.1724 105.744 70.4304 105.429 70.789 105.219C71.1563 105.009 71.5629 104.904 72.0089 104.904V106.793C71.4929 106.732 71.0294 106.837 70.6184 107.108C70.2161 107.379 70.015 107.829 70.015 108.459V111.594H68.3228V105.035H70.015V106.164Z" fill="white"/>
19
+ <path d="M77.74 105.035H79.4322V111.594H77.74V110.82C77.2328 111.459 76.52 111.778 75.6018 111.778C74.7273 111.778 73.9752 111.446 73.3455 110.781C72.7246 110.108 72.4141 109.286 72.4141 108.315C72.4141 107.344 72.7246 106.526 73.3455 105.862C73.9752 105.188 74.7273 104.852 75.6018 104.852C76.52 104.852 77.2328 105.171 77.74 105.809V105.035ZM74.6179 109.653C74.959 109.994 75.3919 110.164 75.9166 110.164C76.4413 110.164 76.8742 109.994 77.2153 109.653C77.5651 109.303 77.74 108.857 77.74 108.315C77.74 107.773 77.5651 107.331 77.2153 106.99C76.8742 106.64 76.4413 106.465 75.9166 106.465C75.3919 106.465 74.959 106.64 74.6179 106.99C74.2769 107.331 74.1063 107.773 74.1063 108.315C74.1063 108.857 74.2769 109.303 74.6179 109.653Z" fill="white"/>
20
+ <path d="M84.6134 104.852C85.3306 104.852 85.9209 105.092 86.3844 105.573C86.8566 106.054 87.0927 106.719 87.0927 107.567V111.594H85.4005V107.777C85.4005 107.34 85.2825 107.007 85.0463 106.78C84.8102 106.544 84.4954 106.426 84.1019 106.426C83.6646 106.426 83.3148 106.561 83.0524 106.833C82.7901 107.104 82.6589 107.51 82.6589 108.052V111.594H80.9667V105.035H82.6589V105.77C83.0699 105.158 83.7214 104.852 84.6134 104.852Z" fill="white"/>
21
+ <path d="M92.2894 106.662H90.807V109.391C90.807 109.618 90.8639 109.784 90.9776 109.889C91.0913 109.994 91.2574 110.055 91.476 110.073C91.6947 110.081 91.9658 110.077 92.2894 110.06V111.594C91.1262 111.725 90.3042 111.616 89.8232 111.266C89.351 110.917 89.1148 110.291 89.1148 109.391V106.662H87.9736V105.035H89.1148V103.71L90.807 103.199V105.035H92.2894V106.662Z" fill="white"/>
22
+ <path d="M94.7074 109.01C94.9347 109.832 95.5513 110.243 96.557 110.243C97.2041 110.243 97.6939 110.025 98.0262 109.587L99.3904 110.374C98.7433 111.31 97.7901 111.778 96.5307 111.778C95.4463 111.778 94.5762 111.45 93.9203 110.794C93.2644 110.138 92.9364 109.312 92.9364 108.315C92.9364 107.327 93.26 106.505 93.9072 105.849C94.5543 105.184 95.3851 104.852 96.3996 104.852C97.3615 104.852 98.153 105.184 98.7739 105.849C99.4036 106.513 99.7184 107.335 99.7184 108.315C99.7184 108.533 99.6965 108.765 99.6528 109.01H94.7074ZM94.6811 107.698H98.0262C97.93 107.252 97.7288 106.92 97.4228 106.701C97.1254 106.483 96.7843 106.373 96.3996 106.373C95.9448 106.373 95.5688 106.491 95.2714 106.728C94.9741 106.955 94.7773 107.279 94.6811 107.698Z" fill="white"/>
23
+ <path d="M102.278 109.01C102.506 109.832 103.122 110.243 104.128 110.243C104.775 110.243 105.265 110.025 105.597 109.587L106.961 110.374C106.314 111.31 105.361 111.778 104.102 111.778C103.017 111.778 102.147 111.45 101.491 110.794C100.835 110.138 100.507 109.312 100.507 108.315C100.507 107.327 100.831 106.505 101.478 105.849C102.125 105.184 102.956 104.852 103.971 104.852C104.932 104.852 105.724 105.184 106.345 105.849C106.975 106.513 107.289 107.335 107.289 108.315C107.289 108.533 107.267 108.765 107.224 109.01H102.278ZM102.252 107.698H105.597C105.501 107.252 105.3 106.92 104.994 106.701C104.696 106.483 104.355 106.373 103.971 106.373C103.516 106.373 103.14 106.491 102.842 106.728C102.545 106.955 102.348 107.279 102.252 107.698Z" fill="white"/>
24
+ </g>
25
+ <g filter="url(#filter1_d)">
26
+ <path d="M48.1369 65.2905V78.4084H44.4264V68.1577H41.9902V65.2905H48.1369Z" fill="white"/>
27
+ <path d="M62.478 75.8973H60.529V78.4084H56.9123V75.8973H49.9785V73.4798L55.8628 65.2905H59.7045L54.3636 72.9551H57.0247V70.7251H60.529V72.9551H62.478V75.8973Z" fill="white"/>
28
+ <path d="M69.3594 65.2905H75.5623C76.9991 65.2905 78.2734 65.5591 79.3853 66.0963C80.4971 66.6335 81.3592 67.3956 81.9714 68.3826C82.5835 69.3696 82.8896 70.5252 82.8896 71.8495C82.8896 73.1737 82.5835 74.3294 81.9714 75.3163C81.3592 76.3033 80.4971 77.0654 79.3853 77.6026C78.2734 78.1398 76.9991 78.4084 75.5623 78.4084H69.3594V65.2905ZM75.4124 75.4475C76.5368 75.4475 77.4363 75.1289 78.1109 74.4918C78.7981 73.8546 79.1416 72.9739 79.1416 71.8495C79.1416 70.7251 78.7981 69.8443 78.1109 69.2071C77.4363 68.57 76.5368 68.2514 75.4124 68.2514H73.0699V75.4475H75.4124Z" fill="white"/>
29
+ <path d="M95.411 68.2514V78.4084H92.0191V77.3965C91.357 78.1835 90.3575 78.5771 89.0207 78.5771C88.0962 78.5771 87.253 78.3647 86.4909 77.9399C85.7413 77.5026 85.1416 76.8842 84.6918 76.0847C84.2546 75.2851 84.036 74.3606 84.036 73.3112C84.036 72.2617 84.2546 71.3435 84.6918 70.5564C85.1416 69.7569 85.7413 69.1447 86.4909 68.7199C87.253 68.2951 88.0962 68.0828 89.0207 68.0828C90.2201 68.0828 91.1633 68.4326 91.8505 69.1322V68.2514H95.411ZM89.7703 75.7473C90.395 75.7473 90.9072 75.535 91.307 75.1102C91.7068 74.6729 91.9067 74.0733 91.9067 73.3112C91.9067 72.5616 91.7068 71.9744 91.307 71.5496C90.9072 71.1249 90.395 70.9125 89.7703 70.9125C89.1457 70.9125 88.6335 71.1249 88.2337 71.5496C87.8339 71.9744 87.634 72.5616 87.634 73.3112C87.634 74.0733 87.8339 74.6729 88.2337 75.1102C88.6335 75.535 89.1457 75.7473 89.7703 75.7473Z" fill="white"/>
30
+ <path d="M108.385 68.2514V76.5532C108.385 78.4396 107.879 79.8514 106.867 80.7884C105.867 81.7378 104.424 82.2126 102.538 82.2126C101.551 82.2126 100.627 82.1001 99.7645 81.8753C98.915 81.6504 98.1904 81.3193 97.5907 80.8821L98.8837 78.3897C99.2835 78.727 99.7833 78.9893 100.383 79.1767C100.995 79.3766 101.601 79.4766 102.201 79.4766C103.1 79.4766 103.762 79.2704 104.187 78.8582C104.612 78.4459 104.824 77.8337 104.824 77.0217V76.7968C104.062 77.5214 103.113 77.8837 101.976 77.8837C100.664 77.8837 99.6146 77.4964 98.8275 76.7218C98.0529 75.9472 97.6657 74.7854 97.6657 73.2362V68.2514H101.226V72.6553C101.226 73.4299 101.37 73.9921 101.657 74.3419C101.945 74.6917 102.363 74.8666 102.913 74.8666C103.475 74.8666 103.931 74.6667 104.281 74.2669C104.643 73.8671 104.824 73.2674 104.824 72.4679V68.2514H108.385Z" fill="white"/>
31
+ </g>
32
+ <path d="M74.7108 123.596C75.4882 122.304 77.3607 122.304 78.1381 123.596L79.0273 125.074C79.3066 125.538 79.7621 125.869 80.2897 125.991L81.9698 126.38C83.4385 126.72 84.0171 128.501 83.0289 129.639L81.8984 130.942C81.5433 131.351 81.3694 131.886 81.4162 132.426L81.5653 134.144C81.6956 135.646 80.1807 136.746 78.7926 136.158L77.2046 135.486C76.706 135.274 76.1429 135.274 75.6443 135.486L74.0563 136.158C72.6682 136.746 71.1533 135.646 71.2836 134.144L71.4327 132.426C71.4795 131.886 71.3055 131.351 70.9505 130.942L69.82 129.639C68.8318 128.501 69.4104 126.72 70.8791 126.38L72.5592 125.991C73.0868 125.869 73.5423 125.538 73.8216 125.074L74.7108 123.596Z" fill="white" fill-opacity="0.14"/>
33
+ <path d="M75.5655 125.25C75.9541 124.605 76.8904 124.605 77.2791 125.25L78.2304 126.831C78.37 127.063 78.5977 127.229 78.8615 127.29L80.6588 127.706C81.3931 127.876 81.6825 128.766 81.1883 129.336L79.979 130.729C79.8015 130.933 79.7145 131.201 79.7379 131.471L79.8974 133.309C79.9626 134.06 79.2051 134.61 78.5111 134.316L76.8124 133.596C76.563 133.491 76.2815 133.491 76.0322 133.596L74.3335 134.316C73.6395 134.61 72.882 134.06 72.9472 133.309L73.1067 131.471C73.1301 131.201 73.0431 130.933 72.8656 130.729L71.6562 129.336C71.1621 128.766 71.4514 127.876 72.1858 127.706L73.983 127.29C74.2468 127.229 74.4746 127.063 74.6142 126.831L75.5655 125.25Z" fill="white"/>
34
+ <path d="M57.9806 126.482C58.3693 125.836 59.3056 125.836 59.6942 126.482L60.2402 127.389C60.3798 127.621 60.6076 127.787 60.8714 127.848L61.9029 128.087C62.6372 128.257 62.9265 129.147 62.4324 129.716L61.7383 130.516C61.5608 130.72 61.4738 130.988 61.4973 131.258L61.5888 132.313C61.654 133.064 60.8965 133.614 60.2025 133.32L59.2275 132.907C58.9782 132.801 58.6967 132.801 58.4473 132.907L57.4724 133.32C56.7784 133.614 56.0209 133.064 56.0861 132.313L56.1776 131.258C56.201 130.988 56.114 130.72 55.9365 130.516L55.2424 129.716C54.7483 129.147 55.0377 128.257 55.772 128.087L56.8035 127.848C57.0673 127.787 57.295 127.621 57.4347 127.389L57.9806 126.482Z" fill="white" fill-opacity="0.26"/>
35
+ <path d="M57.9798 127.713C58.3684 127.067 59.3047 127.067 59.6934 127.713L59.834 127.947C59.9737 128.179 60.2014 128.344 60.4652 128.406L60.731 128.467C61.4653 128.637 61.7546 129.528 61.2605 130.097L61.0817 130.303C60.9042 130.507 60.8172 130.775 60.8406 131.045L60.8642 131.317C60.9294 132.068 60.1719 132.618 59.4778 132.324L59.2267 132.217C58.9773 132.112 58.6958 132.112 58.4465 132.217L58.1953 132.324C57.5013 132.618 56.7438 132.068 56.809 131.317L56.8326 131.045C56.856 130.775 56.769 130.507 56.5915 130.303L56.4126 130.097C55.9185 129.528 56.2079 128.637 56.9422 128.467L57.2079 128.406C57.4717 128.344 57.6995 128.179 57.8391 127.947L57.9798 127.713Z" fill="white"/>
36
+ <path d="M93.0607 126.482C93.4494 125.836 94.3857 125.836 94.7743 126.482L95.3203 127.389C95.4599 127.621 95.6877 127.787 95.9515 127.848L96.983 128.087C97.7173 128.257 98.0066 129.147 97.5125 129.716L96.8184 130.516C96.6409 130.72 96.5539 130.988 96.5773 131.258L96.6689 132.313C96.7341 133.064 95.9766 133.614 95.2825 133.32L94.3076 132.907C94.0583 132.801 93.7768 132.801 93.5274 132.907L92.5525 133.32C91.8585 133.614 91.101 133.064 91.1662 132.313L91.2577 131.258C91.2811 130.988 91.1941 130.72 91.0166 130.516L90.3225 129.716C89.8284 129.147 90.1177 128.257 90.8521 128.087L91.8836 127.848C92.1474 127.787 92.3751 127.621 92.5147 127.389L93.0607 126.482Z" fill="white" fill-opacity="0.23"/>
37
+ <path d="M93.0618 127.713C93.4505 127.067 94.3868 127.067 94.7754 127.713L94.9161 127.947C95.0557 128.179 95.2834 128.344 95.5472 128.406L95.813 128.467C96.5473 128.637 96.8366 129.528 96.3425 130.097L96.1637 130.303C95.9862 130.507 95.8992 130.775 95.9226 131.045L95.9462 131.317C96.0114 132.068 95.2539 132.618 94.5599 132.324L94.3087 132.217C94.0594 132.112 93.7779 132.112 93.5285 132.217L93.2773 132.324C92.5833 132.618 91.8258 132.068 91.891 131.317L91.9146 131.045C91.938 130.775 91.851 130.507 91.6735 130.303L91.4947 130.097C91.0006 129.528 91.2899 128.637 92.0242 128.467L92.29 128.406C92.5538 128.344 92.7815 128.179 92.9211 127.947L93.0618 127.713Z" fill="white"/>
38
+ <defs>
39
+ <filter id="filter0_d" x="39.5332" y="88.3569" width="72.9672" height="26.5446" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
40
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
41
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
42
+ <feOffset dy="0.5"/>
43
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0.670065 0 0 0 0 0.683333 0 0 0 1 0"/>
44
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
45
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
46
+ </filter>
47
+ <filter id="filter1_d" x="40.9902" y="65.2905" width="68.3946" height="18.9221" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
48
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
49
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
50
+ <feOffset dy="1"/>
51
+ <feGaussianBlur stdDeviation="0.5"/>
52
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
53
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
54
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
55
+ </filter>
56
+ <linearGradient id="paint0_linear" x1="38.6884" y1="29.2177" x2="70.5438" y2="190.734" gradientUnits="userSpaceOnUse">
57
+ <stop offset="0.149447" stop-color="#04C6C6"/>
58
+ <stop offset="1" stop-color="#7694C1"/>
59
+ </linearGradient>
60
+ <linearGradient id="paint1_linear" x1="76.2812" y1="23.96" x2="76.2812" y2="155.929" gradientUnits="userSpaceOnUse">
61
+ <stop stop-color="#0AB5B5"/>
62
+ <stop offset="0.540631" stop-color="#11B3C5"/>
63
+ <stop offset="1" stop-color="#1BB0DE"/>
64
+ </linearGradient>
65
+ </defs>
66
+ </svg>
admin/images/block-quote.svg CHANGED
@@ -1,6 +1,6 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="29.328" height="20.703" viewBox="0 0 29.328 20.703">
2
- <g id="Quotemarks-left" transform="translate(-0.001 -9.412)">
3
- <path id="Path_1" data-name="Path 1" d="M42.443,17.117a7.49,7.49,0,0,1,1.649-4.788.458.458,0,0,0-.053-.584c-.678-.678-1.1-1.106-1.392-1.405-.387-.395-.564-.575-.823-.809a.459.459,0,0,0-.609-.006,17.564,17.564,0,0,0-5.652,14.119,6.611,6.611,0,0,0,6.5,6.471,6.5,6.5,0,0,0,.377-13ZM42.066,29.2a5.714,5.714,0,0,1-5.589-5.62h0A16.749,16.749,0,0,1,41.512,10.5c.126.124.269.27.481.486.255.26.6.615,1.132,1.145-2.019,3.11-1.638,5.326-1.471,5.644a.475.475,0,0,0,.412.252,5.588,5.588,0,1,1,0,11.175Z" transform="translate(-19.241)" fill="rgba(0,212,212,0.3)"/>
4
- <path id="Path_2" data-name="Path 2" d="M6.926,17.117a7.483,7.483,0,0,1,1.649-4.788.458.458,0,0,0-.053-.584c-.677-.677-1.1-1.1-1.39-1.4-.388-.4-.566-.576-.824-.811A.46.46,0,0,0,5.7,9.524,17.566,17.566,0,0,0,.046,23.644h0a6.612,6.612,0,0,0,6.5,6.47,6.5,6.5,0,0,0,.377-13ZM6.55,29.2A5.716,5.716,0,0,1,.96,23.577h0A16.75,16.75,0,0,1,6,10.5c.126.124.27.271.482.487.255.26.6.614,1.13,1.143C5.59,15.237,5.971,17.453,6.137,17.77a.476.476,0,0,0,.412.253,5.588,5.588,0,1,1,0,11.175Z" transform="translate(0 0)" fill="rgba(0,212,212,0.3)"/>
5
- </g>
6
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="29.328" height="20.703" viewBox="0 0 29.328 20.703">
2
+ <g id="Quotemarks-left" transform="translate(-0.001 -9.412)">
3
+ <path id="Path_1" data-name="Path 1" d="M42.443,17.117a7.49,7.49,0,0,1,1.649-4.788.458.458,0,0,0-.053-.584c-.678-.678-1.1-1.106-1.392-1.405-.387-.395-.564-.575-.823-.809a.459.459,0,0,0-.609-.006,17.564,17.564,0,0,0-5.652,14.119,6.611,6.611,0,0,0,6.5,6.471,6.5,6.5,0,0,0,.377-13ZM42.066,29.2a5.714,5.714,0,0,1-5.589-5.62h0A16.749,16.749,0,0,1,41.512,10.5c.126.124.269.27.481.486.255.26.6.615,1.132,1.145-2.019,3.11-1.638,5.326-1.471,5.644a.475.475,0,0,0,.412.252,5.588,5.588,0,1,1,0,11.175Z" transform="translate(-19.241)" fill="rgba(0,212,212,0.3)"/>
4
+ <path id="Path_2" data-name="Path 2" d="M6.926,17.117a7.483,7.483,0,0,1,1.649-4.788.458.458,0,0,0-.053-.584c-.677-.677-1.1-1.1-1.39-1.4-.388-.4-.566-.576-.824-.811A.46.46,0,0,0,5.7,9.524,17.566,17.566,0,0,0,.046,23.644h0a6.612,6.612,0,0,0,6.5,6.47,6.5,6.5,0,0,0,.377-13ZM6.55,29.2A5.716,5.716,0,0,1,.96,23.577h0A16.75,16.75,0,0,1,6,10.5c.126.124.27.271.482.487.255.26.6.614,1.13,1.143C5.59,15.237,5.971,17.453,6.137,17.77a.476.476,0,0,0,.412.253,5.588,5.588,0,1,1,0,11.175Z" transform="translate(0 0)" fill="rgba(0,212,212,0.3)"/>
5
+ </g>
6
+ </svg>
admin/images/features/3rd-party-plugin-support.svg CHANGED
@@ -1,16 +1,16 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
- <title>3rd Party Plugin Support</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="Artboard" transform="translate(-463.000000, -1283.000000)">
8
- <g id="3rd-Party-Plugin-Support" transform="translate(463.000000, 1283.000000)">
9
- <rect id="Rectangle-Copy-11" fill="#FFE9E9" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
- <g id="puzzle" transform="translate(190.000000, 87.000000)" fill="#EE5252" fill-rule="nonzero" stroke="#9F2D2D">
11
- <path d="M160.908988,0 L88.5,0 C86.2764407,0 84.4771527,1.79928793 84.4771527,4.02284727 L84.4771527,28.6815019 C83.1730367,28.3356735 81.8214022,28.1591766 80.4543055,28.1591766 C71.5838273,28.1591766 64.3632935,35.375562 64.3632935,44.2501886 C64.3632935,53.1248152 71.5838273,60.3408234 80.4543055,60.3408234 C81.8214022,60.3408234 83.1726596,60.1639493 84.4771527,59.8184981 L84.4771527,84.4771527 L53.1832703,84.4771527 C51.5963067,84.4771527 50.1503897,85.4162068 49.5062514,86.8696664 C48.8621131,88.323126 49.1291213,90.0202116 50.197531,91.1987433 C51.5487883,92.6914244 52.295506,94.5929146 52.295506,96.5453174 C52.295506,100.980368 48.6890104,104.590635 44.2501886,104.590635 C39.8106125,104.590635 36.204494,100.980368 36.204494,96.5453174 C36.204494,94.5929146 36.9508346,92.6914244 38.302469,91.1987433 C39.3708787,90.0202116 39.638264,88.323126 38.9937486,86.8696664 C38.3496103,85.4162068 36.9036933,84.4771527 35.3167297,84.4771527 L4.02284727,84.4771527 C1.79928793,84.4771527 0,86.2764407 0,88.5 L0,160.908988 C0,169.783238 7.22053378,177 16.0910119,177 L160.908988,177 C169.779466,177 177,169.783615 177,160.908988 L177,16.0910119 C177,7.21638535 169.779466,0 160.908988,0 Z M168.954305,160.908988 C168.954305,165.344039 165.34781,168.954305 160.908988,168.954305 L92.5224701,168.954305 L92.5224701,144.295651 C93.8269633,144.641102 95.1782206,144.817976 96.5453174,144.817976 C105.415796,144.817976 112.636329,137.601591 112.636329,128.726964 C112.636329,119.852338 105.415796,112.636329 96.5453174,112.636329 C95.1782206,112.636329 93.8269633,112.813203 92.5224701,113.158655 L92.5224701,92.5224701 L121.200201,92.5224701 C120.862292,93.8269633 120.681647,95.1782206 120.681647,96.5453174 C120.681647,105.419567 127.902181,112.636329 136.772659,112.636329 C145.643137,112.636329 152.863671,105.419944 152.863671,96.5453174 C152.863671,95.1782206 152.683025,93.8269633 152.345117,92.5224701 L168.954305,92.5224701 L168.954305,160.908988 Z" id="Shape"></path>
12
- </g>
13
- </g>
14
- </g>
15
- </g>
16
  </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
+ <title>3rd Party Plugin Support</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="Artboard" transform="translate(-463.000000, -1283.000000)">
8
+ <g id="3rd-Party-Plugin-Support" transform="translate(463.000000, 1283.000000)">
9
+ <rect id="Rectangle-Copy-11" fill="#FFE9E9" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
+ <g id="puzzle" transform="translate(190.000000, 87.000000)" fill="#EE5252" fill-rule="nonzero" stroke="#9F2D2D">
11
+ <path d="M160.908988,0 L88.5,0 C86.2764407,0 84.4771527,1.79928793 84.4771527,4.02284727 L84.4771527,28.6815019 C83.1730367,28.3356735 81.8214022,28.1591766 80.4543055,28.1591766 C71.5838273,28.1591766 64.3632935,35.375562 64.3632935,44.2501886 C64.3632935,53.1248152 71.5838273,60.3408234 80.4543055,60.3408234 C81.8214022,60.3408234 83.1726596,60.1639493 84.4771527,59.8184981 L84.4771527,84.4771527 L53.1832703,84.4771527 C51.5963067,84.4771527 50.1503897,85.4162068 49.5062514,86.8696664 C48.8621131,88.323126 49.1291213,90.0202116 50.197531,91.1987433 C51.5487883,92.6914244 52.295506,94.5929146 52.295506,96.5453174 C52.295506,100.980368 48.6890104,104.590635 44.2501886,104.590635 C39.8106125,104.590635 36.204494,100.980368 36.204494,96.5453174 C36.204494,94.5929146 36.9508346,92.6914244 38.302469,91.1987433 C39.3708787,90.0202116 39.638264,88.323126 38.9937486,86.8696664 C38.3496103,85.4162068 36.9036933,84.4771527 35.3167297,84.4771527 L4.02284727,84.4771527 C1.79928793,84.4771527 0,86.2764407 0,88.5 L0,160.908988 C0,169.783238 7.22053378,177 16.0910119,177 L160.908988,177 C169.779466,177 177,169.783615 177,160.908988 L177,16.0910119 C177,7.21638535 169.779466,0 160.908988,0 Z M168.954305,160.908988 C168.954305,165.344039 165.34781,168.954305 160.908988,168.954305 L92.5224701,168.954305 L92.5224701,144.295651 C93.8269633,144.641102 95.1782206,144.817976 96.5453174,144.817976 C105.415796,144.817976 112.636329,137.601591 112.636329,128.726964 C112.636329,119.852338 105.415796,112.636329 96.5453174,112.636329 C95.1782206,112.636329 93.8269633,112.813203 92.5224701,113.158655 L92.5224701,92.5224701 L121.200201,92.5224701 C120.862292,93.8269633 120.681647,95.1782206 120.681647,96.5453174 C120.681647,105.419567 127.902181,112.636329 136.772659,112.636329 C145.643137,112.636329 152.863671,105.419944 152.863671,96.5453174 C152.863671,95.1782206 152.683025,93.8269633 152.345117,92.5224701 L168.954305,92.5224701 L168.954305,160.908988 Z" id="Shape"></path>
12
+ </g>
13
+ </g>
14
+ </g>
15
+ </g>
16
  </svg>
admin/images/features/category-mapping.svg CHANGED
@@ -1,21 +1,21 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
- <title>Category Mapping</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="Artboard" transform="translate(-1428.000000, -113.000000)">
8
- <g id="Category-Mapping" transform="translate(1428.000000, 113.000000)">
9
- <rect id="Rectangle-Copy-4" fill="#EAF3FF" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
- <g id="maintenance-2" transform="translate(209.000000, 82.000000)" fill-rule="nonzero">
11
- <g id="maintenance">
12
- <path d="M119.735294,0 L57.2647059,0 C48.6527882,0 41.6470588,7.05705344 41.6470588,15.7320621 L41.6470588,47.8953889 C41.6470588,56.5703975 48.6527882,63.627451 57.2647059,63.627451 L119.735294,63.627451 C128.347212,63.627451 135.352941,56.5703975 135.352941,47.8953889 L135.352941,15.7320621 C135.352941,7.05705344 128.347212,0 119.735294,0 Z" id="Path" fill="#3A7FD4"></path>
13
- <path d="M119.735294,0 L57.2647059,0 C48.6527882,0 41.6470588,7.05705344 41.6470588,15.7320621 L41.6470588,47.8953889 C41.6470588,56.5703975 48.6527882,63.627451 57.2647059,63.627451 L119.735294,63.627451 C128.347212,63.627451 135.352941,56.5703975 135.352941,47.8953889 L135.352941,15.7320621 C135.352941,7.05705344 128.347212,0 119.735294,0 Z" id="Path-Copy-2" stroke="#14427A" stroke-width="2"></path>
14
- <path d="M166.628906,124.941176 L156.257813,124.941176 L156.257813,119.735294 C156.257813,111.123376 149.279449,104.117647 140.701172,104.117647 L93.6855469,104.117647 L93.6855469,93.6711765 C94.6618125,93.6711765 108.321234,93.6711765 109.242188,93.6711765 C112.108412,93.6711765 114.427734,91.3774647 114.427734,88.5 C114.427734,85.6225353 112.108412,83.2941176 109.242188,83.2941176 L104.056641,83.2941176 L104.056641,72.8823529 L72.9433594,72.8823529 L72.9433594,83.2941176 L67.7578125,83.2941176 C64.8915879,83.2941176 62.5722656,85.6225353 62.5722656,88.5 C62.5722656,91.3774647 64.8915879,93.6711765 67.7578125,93.6711765 C68.7340781,93.6711765 82.3935,93.6711765 83.3144531,93.6711765 L83.3144531,104.117647 L36.2988281,104.117647 C27.7205508,104.117647 20.7421875,111.123376 20.7421875,119.735294 L20.7421875,124.941176 L10.3710938,124.941176 C4.64313867,124.941176 0,129.602524 0,135.352941 L0,145.764706 C0,151.514429 4.64313867,156.176471 10.3710938,156.176471 L20.7421875,156.176471 L20.7421875,166.588235 L15.5566406,166.588235 C12.690416,166.588235 10.3710938,168.916653 10.3710938,171.794118 C10.3710938,174.671582 12.690416,177 15.5566406,177 L36.2988281,177 C39.1650527,177 41.484375,174.671582 41.484375,171.794118 C41.484375,168.916653 39.1650527,166.588235 36.2988281,166.588235 L31.1132813,166.588235 L31.1132813,156.176471 L41.484375,156.176471 C47.2123301,156.176471 51.8554688,151.514429 51.8554688,145.764706 L51.8554688,135.352941 C51.8554688,129.602524 47.2123301,124.941176 41.484375,124.941176 L31.1132813,124.941176 L31.1132813,119.735294 C31.1132813,116.863035 33.4377891,114.529412 36.2988281,114.529412 L83.3144531,114.529412 L83.3144531,124.941176 L72.9433594,124.941176 C67.2154043,124.941176 62.5722656,129.602524 62.5722656,135.352941 L62.5722656,145.764706 C62.5722656,151.514429 67.2154043,156.176471 72.9433594,156.176471 L83.3144531,156.176471 L83.3144531,166.588235 L78.1289063,166.588235 C75.2626816,166.588235 72.9433594,168.916653 72.9433594,171.794118 C72.9433594,174.671582 75.2626816,177 78.1289063,177 L98.8710938,177 C101.737318,177 104.056641,174.671582 104.056641,171.794118 C104.056641,168.916653 101.737318,166.588235 98.8710938,166.588235 L93.6855469,166.588235 L93.6855469,156.176471 L104.056641,156.176471 C109.784596,156.176471 114.427734,151.514429 114.427734,145.764706 L114.427734,135.352941 C114.427734,129.602524 109.784596,124.941176 104.056641,124.941176 L93.6855469,124.941176 L93.6855469,114.529412 L140.701172,114.529412 C143.562211,114.529412 145.886719,116.863035 145.886719,119.735294 L145.886719,124.941176 L135.515625,124.941176 C129.78767,124.941176 125.144531,129.602524 125.144531,135.352941 L125.144531,145.764706 C125.144531,151.514429 129.78767,156.176471 135.515625,156.176471 L145.886719,156.176471 L145.886719,166.588235 L140.701172,166.588235 C137.834947,166.588235 135.515625,168.916653 135.515625,171.794118 C135.515625,174.671582 137.834947,177 140.701172,177 L161.443359,177 C164.309584,177 166.628906,174.671582 166.628906,171.794118 C166.628906,168.916653 164.309584,166.588235 161.443359,166.588235 L156.257813,166.588235 L156.257813,156.176471 L166.628906,156.176471 C172.356861,156.176471 177,151.514429 177,145.764706 L177,135.352941 C177,129.602524 172.356861,124.941176 166.628906,124.941176 Z" id="Path" fill="#3A7FD4"></path>
15
- <path d="M166.628906,124.941176 L156.257813,124.941176 L156.257813,119.735294 C156.257813,111.123376 149.279449,104.117647 140.701172,104.117647 L93.6855469,104.117647 L93.6855469,93.6711765 C94.6618125,93.6711765 108.321234,93.6711765 109.242188,93.6711765 C112.108412,93.6711765 114.427734,91.3774647 114.427734,88.5 C114.427734,85.6225353 112.108412,83.2941176 109.242188,83.2941176 L104.056641,83.2941176 L104.056641,72.8823529 L72.9433594,72.8823529 L72.9433594,83.2941176 L67.7578125,83.2941176 C64.8915879,83.2941176 62.5722656,85.6225353 62.5722656,88.5 C62.5722656,91.3774647 64.8915879,93.6711765 67.7578125,93.6711765 C68.7340781,93.6711765 82.3935,93.6711765 83.3144531,93.6711765 L83.3144531,104.117647 L36.2988281,104.117647 C27.7205508,104.117647 20.7421875,111.123376 20.7421875,119.735294 L20.7421875,124.941176 L10.3710938,124.941176 C4.64313867,124.941176 0,129.602524 0,135.352941 L0,145.764706 C0,151.514429 4.64313867,156.176471 10.3710938,156.176471 L20.7421875,156.176471 L20.7421875,166.588235 L15.5566406,166.588235 C12.690416,166.588235 10.3710938,168.916653 10.3710938,171.794118 C10.3710938,174.671582 12.690416,177 15.5566406,177 L36.2988281,177 C39.1650527,177 41.484375,174.671582 41.484375,171.794118 C41.484375,168.916653 39.1650527,166.588235 36.2988281,166.588235 L31.1132813,166.588235 L31.1132813,156.176471 L41.484375,156.176471 C47.2123301,156.176471 51.8554688,151.514429 51.8554688,145.764706 L51.8554688,135.352941 C51.8554688,129.602524 47.2123301,124.941176 41.484375,124.941176 L31.1132813,124.941176 L31.1132813,119.735294 C31.1132813,116.863035 33.4377891,114.529412 36.2988281,114.529412 L83.3144531,114.529412 L83.3144531,124.941176 L72.9433594,124.941176 C67.2154043,124.941176 62.5722656,129.602524 62.5722656,135.352941 L62.5722656,145.764706 C62.5722656,151.514429 67.2154043,156.176471 72.9433594,156.176471 L83.3144531,156.176471 L83.3144531,166.588235 L78.1289063,166.588235 C75.2626816,166.588235 72.9433594,168.916653 72.9433594,171.794118 C72.9433594,174.671582 75.2626816,177 78.1289063,177 L98.8710938,177 C101.737318,177 104.056641,174.671582 104.056641,171.794118 C104.056641,168.916653 101.737318,166.588235 98.8710938,166.588235 L93.6855469,166.588235 L93.6855469,156.176471 L104.056641,156.176471 C109.784596,156.176471 114.427734,151.514429 114.427734,145.764706 L114.427734,135.352941 C114.427734,129.602524 109.784596,124.941176 104.056641,124.941176 L93.6855469,124.941176 L93.6855469,114.529412 L140.701172,114.529412 C143.562211,114.529412 145.886719,116.863035 145.886719,119.735294 L145.886719,124.941176 L135.515625,124.941176 C129.78767,124.941176 125.144531,129.602524 125.144531,135.352941 L125.144531,145.764706 C125.144531,151.514429 129.78767,156.176471 135.515625,156.176471 L145.886719,156.176471 L145.886719,166.588235 L140.701172,166.588235 C137.834947,166.588235 135.515625,168.916653 135.515625,171.794118 C135.515625,174.671582 137.834947,177 140.701172,177 L161.443359,177 C164.309584,177 166.628906,174.671582 166.628906,171.794118 C166.628906,168.916653 164.309584,166.588235 161.443359,166.588235 L156.257813,166.588235 L156.257813,156.176471 L166.628906,156.176471 C172.356861,156.176471 177,151.514429 177,145.764706 L177,135.352941 C177,129.602524 172.356861,124.941176 166.628906,124.941176 Z" id="Path-Copy" stroke="#14427A" stroke-width="2"></path>
16
- </g>
17
- </g>
18
- </g>
19
- </g>
20
- </g>
21
  </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
+ <title>Category Mapping</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="Artboard" transform="translate(-1428.000000, -113.000000)">
8
+ <g id="Category-Mapping" transform="translate(1428.000000, 113.000000)">
9
+ <rect id="Rectangle-Copy-4" fill="#EAF3FF" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
+ <g id="maintenance-2" transform="translate(209.000000, 82.000000)" fill-rule="nonzero">
11
+ <g id="maintenance">
12
+ <path d="M119.735294,0 L57.2647059,0 C48.6527882,0 41.6470588,7.05705344 41.6470588,15.7320621 L41.6470588,47.8953889 C41.6470588,56.5703975 48.6527882,63.627451 57.2647059,63.627451 L119.735294,63.627451 C128.347212,63.627451 135.352941,56.5703975 135.352941,47.8953889 L135.352941,15.7320621 C135.352941,7.05705344 128.347212,0 119.735294,0 Z" id="Path" fill="#3A7FD4"></path>
13
+ <path d="M119.735294,0 L57.2647059,0 C48.6527882,0 41.6470588,7.05705344 41.6470588,15.7320621 L41.6470588,47.8953889 C41.6470588,56.5703975 48.6527882,63.627451 57.2647059,63.627451 L119.735294,63.627451 C128.347212,63.627451 135.352941,56.5703975 135.352941,47.8953889 L135.352941,15.7320621 C135.352941,7.05705344 128.347212,0 119.735294,0 Z" id="Path-Copy-2" stroke="#14427A" stroke-width="2"></path>
14
+ <path d="M166.628906,124.941176 L156.257813,124.941176 L156.257813,119.735294 C156.257813,111.123376 149.279449,104.117647 140.701172,104.117647 L93.6855469,104.117647 L93.6855469,93.6711765 C94.6618125,93.6711765 108.321234,93.6711765 109.242188,93.6711765 C112.108412,93.6711765 114.427734,91.3774647 114.427734,88.5 C114.427734,85.6225353 112.108412,83.2941176 109.242188,83.2941176 L104.056641,83.2941176 L104.056641,72.8823529 L72.9433594,72.8823529 L72.9433594,83.2941176 L67.7578125,83.2941176 C64.8915879,83.2941176 62.5722656,85.6225353 62.5722656,88.5 C62.5722656,91.3774647 64.8915879,93.6711765 67.7578125,93.6711765 C68.7340781,93.6711765 82.3935,93.6711765 83.3144531,93.6711765 L83.3144531,104.117647 L36.2988281,104.117647 C27.7205508,104.117647 20.7421875,111.123376 20.7421875,119.735294 L20.7421875,124.941176 L10.3710938,124.941176 C4.64313867,124.941176 0,129.602524 0,135.352941 L0,145.764706 C0,151.514429 4.64313867,156.176471 10.3710938,156.176471 L20.7421875,156.176471 L20.7421875,166.588235 L15.5566406,166.588235 C12.690416,166.588235 10.3710938,168.916653 10.3710938,171.794118 C10.3710938,174.671582 12.690416,177 15.5566406,177 L36.2988281,177 C39.1650527,177 41.484375,174.671582 41.484375,171.794118 C41.484375,168.916653 39.1650527,166.588235 36.2988281,166.588235 L31.1132813,166.588235 L31.1132813,156.176471 L41.484375,156.176471 C47.2123301,156.176471 51.8554688,151.514429 51.8554688,145.764706 L51.8554688,135.352941 C51.8554688,129.602524 47.2123301,124.941176 41.484375,124.941176 L31.1132813,124.941176 L31.1132813,119.735294 C31.1132813,116.863035 33.4377891,114.529412 36.2988281,114.529412 L83.3144531,114.529412 L83.3144531,124.941176 L72.9433594,124.941176 C67.2154043,124.941176 62.5722656,129.602524 62.5722656,135.352941 L62.5722656,145.764706 C62.5722656,151.514429 67.2154043,156.176471 72.9433594,156.176471 L83.3144531,156.176471 L83.3144531,166.588235 L78.1289063,166.588235 C75.2626816,166.588235 72.9433594,168.916653 72.9433594,171.794118 C72.9433594,174.671582 75.2626816,177 78.1289063,177 L98.8710938,177 C101.737318,177 104.056641,174.671582 104.056641,171.794118 C104.056641,168.916653 101.737318,166.588235 98.8710938,166.588235 L93.6855469,166.588235 L93.6855469,156.176471 L104.056641,156.176471 C109.784596,156.176471 114.427734,151.514429 114.427734,145.764706 L114.427734,135.352941 C114.427734,129.602524 109.784596,124.941176 104.056641,124.941176 L93.6855469,124.941176 L93.6855469,114.529412 L140.701172,114.529412 C143.562211,114.529412 145.886719,116.863035 145.886719,119.735294 L145.886719,124.941176 L135.515625,124.941176 C129.78767,124.941176 125.144531,129.602524 125.144531,135.352941 L125.144531,145.764706 C125.144531,151.514429 129.78767,156.176471 135.515625,156.176471 L145.886719,156.176471 L145.886719,166.588235 L140.701172,166.588235 C137.834947,166.588235 135.515625,168.916653 135.515625,171.794118 C135.515625,174.671582 137.834947,177 140.701172,177 L161.443359,177 C164.309584,177 166.628906,174.671582 166.628906,171.794118 C166.628906,168.916653 164.309584,166.588235 161.443359,166.588235 L156.257813,166.588235 L156.257813,156.176471 L166.628906,156.176471 C172.356861,156.176471 177,151.514429 177,145.764706 L177,135.352941 C177,129.602524 172.356861,124.941176 166.628906,124.941176 Z" id="Path" fill="#3A7FD4"></path>
15
+ <path d="M166.628906,124.941176 L156.257813,124.941176 L156.257813,119.735294 C156.257813,111.123376 149.279449,104.117647 140.701172,104.117647 L93.6855469,104.117647 L93.6855469,93.6711765 C94.6618125,93.6711765 108.321234,93.6711765 109.242188,93.6711765 C112.108412,93.6711765 114.427734,91.3774647 114.427734,88.5 C114.427734,85.6225353 112.108412,83.2941176 109.242188,83.2941176 L104.056641,83.2941176 L104.056641,72.8823529 L72.9433594,72.8823529 L72.9433594,83.2941176 L67.7578125,83.2941176 C64.8915879,83.2941176 62.5722656,85.6225353 62.5722656,88.5 C62.5722656,91.3774647 64.8915879,93.6711765 67.7578125,93.6711765 C68.7340781,93.6711765 82.3935,93.6711765 83.3144531,93.6711765 L83.3144531,104.117647 L36.2988281,104.117647 C27.7205508,104.117647 20.7421875,111.123376 20.7421875,119.735294 L20.7421875,124.941176 L10.3710938,124.941176 C4.64313867,124.941176 0,129.602524 0,135.352941 L0,145.764706 C0,151.514429 4.64313867,156.176471 10.3710938,156.176471 L20.7421875,156.176471 L20.7421875,166.588235 L15.5566406,166.588235 C12.690416,166.588235 10.3710938,168.916653 10.3710938,171.794118 C10.3710938,174.671582 12.690416,177 15.5566406,177 L36.2988281,177 C39.1650527,177 41.484375,174.671582 41.484375,171.794118 C41.484375,168.916653 39.1650527,166.588235 36.2988281,166.588235 L31.1132813,166.588235 L31.1132813,156.176471 L41.484375,156.176471 C47.2123301,156.176471 51.8554688,151.514429 51.8554688,145.764706 L51.8554688,135.352941 C51.8554688,129.602524 47.2123301,124.941176 41.484375,124.941176 L31.1132813,124.941176 L31.1132813,119.735294 C31.1132813,116.863035 33.4377891,114.529412 36.2988281,114.529412 L83.3144531,114.529412 L83.3144531,124.941176 L72.9433594,124.941176 C67.2154043,124.941176 62.5722656,129.602524 62.5722656,135.352941 L62.5722656,145.764706 C62.5722656,151.514429 67.2154043,156.176471 72.9433594,156.176471 L83.3144531,156.176471 L83.3144531,166.588235 L78.1289063,166.588235 C75.2626816,166.588235 72.9433594,168.916653 72.9433594,171.794118 C72.9433594,174.671582 75.2626816,177 78.1289063,177 L98.8710938,177 C101.737318,177 104.056641,174.671582 104.056641,171.794118 C104.056641,168.916653 101.737318,166.588235 98.8710938,166.588235 L93.6855469,166.588235 L93.6855469,156.176471 L104.056641,156.176471 C109.784596,156.176471 114.427734,151.514429 114.427734,145.764706 L114.427734,135.352941 C114.427734,129.602524 109.784596,124.941176 104.056641,124.941176 L93.6855469,124.941176 L93.6855469,114.529412 L140.701172,114.529412 C143.562211,114.529412 145.886719,116.863035 145.886719,119.735294 L145.886719,124.941176 L135.515625,124.941176 C129.78767,124.941176 125.144531,129.602524 125.144531,135.352941 L125.144531,145.764706 C125.144531,151.514429 129.78767,156.176471 135.515625,156.176471 L145.886719,156.176471 L145.886719,166.588235 L140.701172,166.588235 C137.834947,166.588235 135.515625,168.916653 135.515625,171.794118 C135.515625,174.671582 137.834947,177 140.701172,177 L161.443359,177 C164.309584,177 166.628906,174.671582 166.628906,171.794118 C166.628906,168.916653 164.309584,166.588235 161.443359,166.588235 L156.257813,166.588235 L156.257813,156.176471 L166.628906,156.176471 C172.356861,156.176471 177,151.514429 177,145.764706 L177,135.352941 C177,129.602524 172.356861,124.941176 166.628906,124.941176 Z" id="Path-Copy" stroke="#14427A" stroke-width="2"></path>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </g>
20
+ </g>
21
  </svg>
admin/images/features/conditional-pricing.svg CHANGED
@@ -1,16 +1,16 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
- <title>Conditional Pricing 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="Artboard" transform="translate(-59.000000, -893.000000)">
8
- <g id="Conditional-Pricing-2" transform="translate(59.000000, 893.000000)">
9
- <g id="Conditional-Pricing">
10
- <rect id="Rectangle-Copy-8" fill="#E8FDFF" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
11
- <image id="Bitmap" x="209" y="82" width="177" height="177" xlink:href="data:image/png;base64,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"></image>
12
- </g>
13
- </g>
14
- </g>
15
- </g>
16
  </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
+ <title>Conditional Pricing 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="Artboard" transform="translate(-59.000000, -893.000000)">
8
+ <g id="Conditional-Pricing-2" transform="translate(59.000000, 893.000000)">
9
+ <g id="Conditional-Pricing">
10
+ <rect id="Rectangle-Copy-8" fill="#E8FDFF" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
11
+ <image id="Bitmap" x="209" y="82" width="177" height="177" xlink:href="data:image/png;base64,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"></image>
12
+ </g>
13
+ </g>
14
+ </g>
15
+ </g>
16
  </svg>
admin/images/features/custom-taxonomy.svg CHANGED
@@ -1,14 +1,14 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
- <title>Custom Taxonomy</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="Artboard" transform="translate(-743.000000, -503.000000)">
8
- <g id="Custom-Taxonomy" transform="translate(743.000000, 503.000000)">
9
- <rect id="Rectangle-Copy-6" fill="#F6F9FB" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
- <image id="Bitmap" x="209" y="82" width="177" height="177" xlink:href="data:image/png;base64,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"></image>
11
- </g>
12
- </g>
13
- </g>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="594px" height="340px" viewBox="0 0 594 340" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 59 (86127) - https://sketch.com -->
4
+ <title>Custom Taxonomy</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="Artboard" transform="translate(-743.000000, -503.000000)">
8
+ <g id="Custom-Taxonomy" transform="translate(743.000000, 503.000000)">
9
+ <rect id="Rectangle-Copy-6" fill="#F6F9FB" transform="translate(297.000000, 170.000000) rotate(-360.000000) translate(-297.000000, -170.000000) " x="0" y="0" width="594" height="340" rx="15"></rect>
10
+ <image id="Bitmap" x="209" y="82" width="177" height="177" xlink:href="data:image/png;base64,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