Version Description
(2020-03-10) = * Template: Separate template for Trovaprezzi.it * Fix: Dropdown on Facebook and Pinterest feed edit page. * Cleanup: Remove unused files * Improve: Performance improvement on merchant class * Improve: Add filters and context parameter with feed rules parsing.
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 3.3.4 |
Comparing to | |
See all releases |
Code changes from version 3.3.3 to 3.3.4
- README.txt +8 -1
- admin/class-woo-feed-admin.php +2 -1
- admin/css/woo-feed-admin.css +0 -4
- admin/js/jquery.cookie.js +0 -96
- admin/js/typeahead.js +0 -484
- admin/js/{pro.js → woo-feed-admin-pro.js} +0 -0
- admin/js/woo-feed-admin.js +94 -52
- admin/partials/templates/common_add-feed.php +13 -18
- admin/partials/templates/facebook_add-feed.php +1 -16
- admin/partials/templates/google_add-feed.php +1 -16
- admin/partials/templates/pinterest_add-feed.php +1 -16
- admin/partials/woo-feed-edit-filter.php +13 -11
- includes/classes/class-woo-feed-default-attributes.php +45 -45
- includes/classes/class-woo-feed-dropdown.php +40 -20
- includes/classes/class-woo-feed-merchant.php +3130 -2900
- includes/classes/class-woo-feed-products-v3.php +64 -24
- includes/classes/class-woo-feed-savefile.php +77 -68
- includes/helper.php +153 -19
- includes/hooks.php +12 -0
- woo-feed.php +14 -4
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags:product feed,woocommerce product feed,google shopping feed,google shopping,
|
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.3.2
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 3.3.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -305,6 +305,13 @@ Using pro version:
|
|
305 |
|
306 |
== Changelog ==
|
307 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
= 3.3.3 (2020-03-04) =
|
309 |
* Feature: Campaign URL Builder
|
310 |
* Fix: Duplicate feed config on cron update.
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.3.2
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 3.3.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
305 |
|
306 |
== Changelog ==
|
307 |
|
308 |
+
= 3.3.4 (2020-03-10) =
|
309 |
+
* Template: Separate template for Trovaprezzi.it
|
310 |
+
* Fix: Dropdown on Facebook and Pinterest feed edit page.
|
311 |
+
* Cleanup: Remove unused files
|
312 |
+
* Improve: Performance improvement on merchant class
|
313 |
+
* Improve: Add filters and context parameter with feed rules parsing.
|
314 |
+
|
315 |
= 3.3.3 (2020-03-04) =
|
316 |
* Feature: Campaign URL Builder
|
317 |
* Fix: Duplicate feed config on cron update.
|
admin/class-woo-feed-admin.php
CHANGED
@@ -137,6 +137,7 @@ class Woo_Feed_Admin {
|
|
137 |
'is_feed_add' => isset( $_GET['page'] ) && 'webappick-new-feed' == $_GET['page'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
|
138 |
'na' => esc_html__( 'N/A', 'woo-feed' ),
|
139 |
'regenerate' => esc_html__( 'Generating...', 'woo-feed' ),
|
|
|
140 |
'form' => array(
|
141 |
'loading_tmpl' => esc_html__( 'Loading Template...', 'woo-feed' ),
|
142 |
'generate' => esc_html__( 'Delivering Configuration...', 'woo-feed' ),
|
@@ -156,7 +157,7 @@ class Woo_Feed_Admin {
|
|
156 |
|
157 |
if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
|
158 |
wp_register_script( 'jquery-slick', plugin_dir_url( __FILE__ ) . 'js/slick.js', array( 'jquery' ), $this->version, false );
|
159 |
-
wp_register_script( 'feed-pro', plugin_dir_url( __FILE__ ) . 'js/pro.js', [ $this->woo_feed, 'jquery-slick' ], $this->version, false );
|
160 |
wp_enqueue_script( 'feed-pro' );
|
161 |
}
|
162 |
}
|
137 |
'is_feed_add' => isset( $_GET['page'] ) && 'webappick-new-feed' == $_GET['page'], // phpcs:ignore WordPress.Security.NonceVerification.Recommended
|
138 |
'na' => esc_html__( 'N/A', 'woo-feed' ),
|
139 |
'regenerate' => esc_html__( 'Generating...', 'woo-feed' ),
|
140 |
+
'learn_more' => esc_html__( 'Learn More..', 'woo-feed' ),
|
141 |
'form' => array(
|
142 |
'loading_tmpl' => esc_html__( 'Loading Template...', 'woo-feed' ),
|
143 |
'generate' => esc_html__( 'Delivering Configuration...', 'woo-feed' ),
|
157 |
|
158 |
if ( 'woo-feed_page_webappick-feed-pro-vs-free' === $hook ) {
|
159 |
wp_register_script( 'jquery-slick', plugin_dir_url( __FILE__ ) . 'js/slick.js', array( 'jquery' ), $this->version, false );
|
160 |
+
wp_register_script( 'feed-pro', plugin_dir_url( __FILE__ ) . 'js/woo-feed-admin-pro.js', [ $this->woo_feed, 'jquery-slick' ], $this->version, false );
|
161 |
wp_enqueue_script( 'feed-pro' );
|
162 |
}
|
163 |
}
|
admin/css/woo-feed-admin.css
CHANGED
@@ -94,10 +94,6 @@
|
|
94 |
width: 200px;
|
95 |
}
|
96 |
|
97 |
-
.typeahead {
|
98 |
-
z-index: 1051;
|
99 |
-
}
|
100 |
-
|
101 |
.error {
|
102 |
color: red;
|
103 |
}
|
94 |
width: 200px;
|
95 |
}
|
96 |
|
|
|
|
|
|
|
|
|
97 |
.error {
|
98 |
color: red;
|
99 |
}
|
admin/js/jquery.cookie.js
DELETED
@@ -1,96 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* jQuery Cookie Plugin v1.3.1
|
3 |
-
* https://github.com/carhartl/jquery-cookie
|
4 |
-
*
|
5 |
-
* Copyright 2013 Klaus Hartl
|
6 |
-
* Released under the MIT license
|
7 |
-
*/
|
8 |
-
(function (factory) {
|
9 |
-
if (typeof define === 'function' && define.amd) {
|
10 |
-
// AMD. Register as anonymous module.
|
11 |
-
define(['jquery'], factory);
|
12 |
-
} else {
|
13 |
-
// Browser globals.
|
14 |
-
factory(jQuery);
|
15 |
-
}
|
16 |
-
}(function ($) {
|
17 |
-
|
18 |
-
var pluses = /\+/g;
|
19 |
-
|
20 |
-
function decode(s) {
|
21 |
-
if (config.raw) {
|
22 |
-
return s;
|
23 |
-
}
|
24 |
-
return decodeURIComponent(s.replace(pluses, ' '));
|
25 |
-
}
|
26 |
-
|
27 |
-
function decodeAndParse(s) {
|
28 |
-
if (s.indexOf('"') === 0) {
|
29 |
-
// This is a quoted cookie as according to RFC2068, unescape...
|
30 |
-
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
31 |
-
}
|
32 |
-
|
33 |
-
s = decode(s);
|
34 |
-
|
35 |
-
try {
|
36 |
-
return config.json ? JSON.parse(s) : s;
|
37 |
-
} catch(e) {}
|
38 |
-
}
|
39 |
-
|
40 |
-
var config = $.cookie = function (key, value, options) {
|
41 |
-
|
42 |
-
// Write
|
43 |
-
if (value !== undefined) {
|
44 |
-
options = $.extend({}, config.defaults, options);
|
45 |
-
|
46 |
-
if (typeof options.expires === 'number') {
|
47 |
-
var days = options.expires, t = options.expires = new Date();
|
48 |
-
t.setDate(t.getDate() + days);
|
49 |
-
}
|
50 |
-
|
51 |
-
value = config.json ? JSON.stringify(value) : String(value);
|
52 |
-
|
53 |
-
return (document.cookie = [
|
54 |
-
config.raw ? key : encodeURIComponent(key),
|
55 |
-
'=',
|
56 |
-
config.raw ? value : encodeURIComponent(value),
|
57 |
-
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
|
58 |
-
options.path ? '; path=' + options.path : '',
|
59 |
-
options.domain ? '; domain=' + options.domain : '',
|
60 |
-
options.secure ? '; secure' : ''
|
61 |
-
].join(''));
|
62 |
-
}
|
63 |
-
|
64 |
-
// Read
|
65 |
-
var cookies = document.cookie.split('; ');
|
66 |
-
var result = key ? undefined : {};
|
67 |
-
for (var i = 0, l = cookies.length; i < l; i++) {
|
68 |
-
var parts = cookies[i].split('=');
|
69 |
-
var name = decode(parts.shift());
|
70 |
-
var cookie = parts.join('=');
|
71 |
-
|
72 |
-
if (key && key === name) {
|
73 |
-
result = decodeAndParse(cookie);
|
74 |
-
break;
|
75 |
-
}
|
76 |
-
|
77 |
-
if (!key) {
|
78 |
-
result[name] = decodeAndParse(cookie);
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
return result;
|
83 |
-
};
|
84 |
-
|
85 |
-
config.defaults = {};
|
86 |
-
|
87 |
-
$.removeCookie = function (key, options) {
|
88 |
-
if ($.cookie(key) !== undefined) {
|
89 |
-
// Must not alter options, thus extending a fresh object...
|
90 |
-
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
|
91 |
-
return true;
|
92 |
-
}
|
93 |
-
return false;
|
94 |
-
};
|
95 |
-
|
96 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/js/typeahead.js
DELETED
@@ -1,484 +0,0 @@
|
|
1 |
-
/* =============================================================
|
2 |
-
* bootstrap3-typeahead.js v3.1.0
|
3 |
-
* https://github.com/bassjobsen/Bootstrap-3-Typeahead
|
4 |
-
* =============================================================
|
5 |
-
* Original written by @mdo and @fat
|
6 |
-
* =============================================================
|
7 |
-
* Copyright 2014 Bass Jobsen @bassjobsen
|
8 |
-
*
|
9 |
-
* Licensed under the Apache License, Version 2.0 (the 'License');
|
10 |
-
* you may not use this file except in compliance with the License.
|
11 |
-
* You may obtain a copy of the License at
|
12 |
-
*
|
13 |
-
* http://www.apache.org/licenses/LICENSE-2.0
|
14 |
-
*
|
15 |
-
* Unless required by applicable law or agreed to in writing, software
|
16 |
-
* distributed under the License is distributed on an 'AS IS' BASIS,
|
17 |
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18 |
-
* See the License for the specific language governing permissions and
|
19 |
-
* limitations under the License.
|
20 |
-
* ============================================================ */
|
21 |
-
|
22 |
-
|
23 |
-
(function (root, factory) {
|
24 |
-
|
25 |
-
'use strict';
|
26 |
-
|
27 |
-
// CommonJS module is defined
|
28 |
-
if (typeof module !== 'undefined' && module.exports) {
|
29 |
-
module.exports = factory(require('jquery'));
|
30 |
-
}
|
31 |
-
// AMD module is defined
|
32 |
-
else if (typeof define === 'function' && define.amd) {
|
33 |
-
define(['jquery'], function ($) {
|
34 |
-
return factory ($);
|
35 |
-
});
|
36 |
-
} else {
|
37 |
-
factory(root.jQuery);
|
38 |
-
}
|
39 |
-
|
40 |
-
}(this, function ($) {
|
41 |
-
|
42 |
-
'use strict';
|
43 |
-
// jshint laxcomma: true
|
44 |
-
|
45 |
-
|
46 |
-
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
47 |
-
* ================================= */
|
48 |
-
|
49 |
-
var Typeahead = function (element, options) {
|
50 |
-
this.$element = $(element);
|
51 |
-
this.options = $.extend({}, $.fn.typeahead.defaults, options);
|
52 |
-
this.matcher = this.options.matcher || this.matcher;
|
53 |
-
this.sorter = this.options.sorter || this.sorter;
|
54 |
-
this.select = this.options.select || this.select;
|
55 |
-
this.autoSelect = typeof this.options.autoSelect == 'boolean' ? this.options.autoSelect : true;
|
56 |
-
this.highlighter = this.options.highlighter || this.highlighter;
|
57 |
-
this.render = this.options.render || this.render;
|
58 |
-
this.updater = this.options.updater || this.updater;
|
59 |
-
this.displayText = this.options.displayText || this.displayText;
|
60 |
-
this.source = this.options.source;
|
61 |
-
this.delay = this.options.delay;
|
62 |
-
this.$menu = $(this.options.menu);
|
63 |
-
this.$appendTo = this.options.appendTo ? $(this.options.appendTo) : null;
|
64 |
-
this.shown = false;
|
65 |
-
this.listen();
|
66 |
-
this.showHintOnFocus = typeof this.options.showHintOnFocus == 'boolean' ? this.options.showHintOnFocus : false;
|
67 |
-
this.afterSelect = this.options.afterSelect;
|
68 |
-
this.addItem = false;
|
69 |
-
};
|
70 |
-
|
71 |
-
Typeahead.prototype = {
|
72 |
-
|
73 |
-
constructor: Typeahead,
|
74 |
-
|
75 |
-
select: function () {
|
76 |
-
var val = this.$menu.find('.active').data('value');
|
77 |
-
this.$element.data('active', val);
|
78 |
-
if(this.autoSelect || val) {
|
79 |
-
var newVal = this.updater(val);
|
80 |
-
// Updater can be set to any random functions via "options" parameter in constructor above.
|
81 |
-
// Add null check for cases when upadter returns void or undefined.
|
82 |
-
if (!newVal) {
|
83 |
-
newVal = "";
|
84 |
-
}
|
85 |
-
this.$element
|
86 |
-
.val(this.displayText(newVal) || newVal)
|
87 |
-
.change();
|
88 |
-
this.afterSelect(newVal);
|
89 |
-
}
|
90 |
-
return this.hide();
|
91 |
-
},
|
92 |
-
|
93 |
-
updater: function (item) {
|
94 |
-
return item;
|
95 |
-
},
|
96 |
-
|
97 |
-
setSource: function (source) {
|
98 |
-
this.source = source;
|
99 |
-
},
|
100 |
-
|
101 |
-
show: function () {
|
102 |
-
var pos = $.extend({}, this.$element.position(), {
|
103 |
-
height: this.$element[0].offsetHeight
|
104 |
-
}), scrollHeight;
|
105 |
-
|
106 |
-
scrollHeight = typeof this.options.scrollHeight == 'function' ?
|
107 |
-
this.options.scrollHeight.call() :
|
108 |
-
this.options.scrollHeight;
|
109 |
-
|
110 |
-
var element;
|
111 |
-
if (this.shown) {
|
112 |
-
element = this.$menu;
|
113 |
-
} else if (this.$appendTo) {
|
114 |
-
element = this.$menu.appendTo(this.$appendTo);
|
115 |
-
} else {
|
116 |
-
element = this.$menu.insertAfter(this.$element);
|
117 |
-
}
|
118 |
-
element.css({
|
119 |
-
top: pos.top + pos.height + scrollHeight
|
120 |
-
, left: pos.left
|
121 |
-
})
|
122 |
-
.show();
|
123 |
-
|
124 |
-
this.shown = true;
|
125 |
-
return this;
|
126 |
-
},
|
127 |
-
|
128 |
-
hide: function () {
|
129 |
-
this.$menu.hide();
|
130 |
-
this.shown = false;
|
131 |
-
return this;
|
132 |
-
},
|
133 |
-
|
134 |
-
lookup: function (query) {
|
135 |
-
var items;
|
136 |
-
if (typeof(query) != 'undefined' && query !== null) {
|
137 |
-
this.query = query;
|
138 |
-
} else {
|
139 |
-
this.query = this.$element.val() || '';
|
140 |
-
}
|
141 |
-
|
142 |
-
if (this.query.length < this.options.minLength) {
|
143 |
-
return this.shown ? this.hide() : this;
|
144 |
-
}
|
145 |
-
|
146 |
-
var worker = $.proxy(function() {
|
147 |
-
|
148 |
-
if($.isFunction(this.source)) this.source(this.query, $.proxy(this.process, this));
|
149 |
-
else if (this.source) {
|
150 |
-
this.process(this.source);
|
151 |
-
}
|
152 |
-
}, this);
|
153 |
-
|
154 |
-
clearTimeout(this.lookupWorker);
|
155 |
-
this.lookupWorker = setTimeout(worker, this.delay);
|
156 |
-
},
|
157 |
-
|
158 |
-
process: function (items) {
|
159 |
-
var that = this;
|
160 |
-
|
161 |
-
items = $.grep(items, function (item) {
|
162 |
-
return that.matcher(item);
|
163 |
-
});
|
164 |
-
|
165 |
-
items = this.sorter(items);
|
166 |
-
|
167 |
-
if (!items.length && !this.options.addItem) {
|
168 |
-
return this.shown ? this.hide() : this;
|
169 |
-
}
|
170 |
-
|
171 |
-
if (items.length > 0) {
|
172 |
-
this.$element.data('active', items[0]);
|
173 |
-
} else {
|
174 |
-
this.$element.data('active', null);
|
175 |
-
}
|
176 |
-
|
177 |
-
// Add item
|
178 |
-
if (this.options.addItem){
|
179 |
-
items.push(this.options.addItem);
|
180 |
-
}
|
181 |
-
|
182 |
-
if (this.options.items == 'all') {
|
183 |
-
return this.render(items).show();
|
184 |
-
} else {
|
185 |
-
return this.render(items.slice(0, this.options.items)).show();
|
186 |
-
}
|
187 |
-
},
|
188 |
-
|
189 |
-
matcher: function (item) {
|
190 |
-
var it = this.displayText(item);
|
191 |
-
return ~it.toLowerCase().indexOf(this.query.toLowerCase());
|
192 |
-
},
|
193 |
-
|
194 |
-
sorter: function (items) {
|
195 |
-
var beginswith = []
|
196 |
-
, caseSensitive = []
|
197 |
-
, caseInsensitive = []
|
198 |
-
, item;
|
199 |
-
|
200 |
-
while ((item = items.shift())) {
|
201 |
-
var it = this.displayText(item);
|
202 |
-
if (!it.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item);
|
203 |
-
else if (~it.indexOf(this.query)) caseSensitive.push(item);
|
204 |
-
else caseInsensitive.push(item);
|
205 |
-
}
|
206 |
-
|
207 |
-
return beginswith.concat(caseSensitive, caseInsensitive);
|
208 |
-
},
|
209 |
-
|
210 |
-
highlighter: function (item) {
|
211 |
-
var html = $('<div></div>');
|
212 |
-
var query = this.query;
|
213 |
-
var i = item.toLowerCase().indexOf(query.toLowerCase());
|
214 |
-
var len, leftPart, middlePart, rightPart, strong;
|
215 |
-
len = query.length;
|
216 |
-
if(len === 0){
|
217 |
-
return html.text(item).html();
|
218 |
-
}
|
219 |
-
while (i > -1) {
|
220 |
-
leftPart = item.substr(0, i);
|
221 |
-
middlePart = item.substr(i, len);
|
222 |
-
rightPart = item.substr(i + len);
|
223 |
-
strong = $('<strong></strong>').text(middlePart);
|
224 |
-
html
|
225 |
-
.append(document.createTextNode(leftPart))
|
226 |
-
.append(strong);
|
227 |
-
item = rightPart;
|
228 |
-
i = item.toLowerCase().indexOf(query.toLowerCase());
|
229 |
-
}
|
230 |
-
return html.append(document.createTextNode(item)).html();
|
231 |
-
},
|
232 |
-
|
233 |
-
render: function (items) {
|
234 |
-
var that = this;
|
235 |
-
var self = this;
|
236 |
-
var activeFound = false;
|
237 |
-
items = $(items).map(function (i, item) {
|
238 |
-
var text = self.displayText(item);
|
239 |
-
i = $(that.options.item).data('value', item);
|
240 |
-
i.find('a').html(that.highlighter(text));
|
241 |
-
if (text == self.$element.val()) {
|
242 |
-
i.addClass('active');
|
243 |
-
self.$element.data('active', item);
|
244 |
-
activeFound = true;
|
245 |
-
}
|
246 |
-
return i[0];
|
247 |
-
});
|
248 |
-
|
249 |
-
if (this.autoSelect && !activeFound) {
|
250 |
-
items.first().addClass('active');
|
251 |
-
this.$element.data('active', items.first().data('value'));
|
252 |
-
}
|
253 |
-
this.$menu.html(items);
|
254 |
-
return this;
|
255 |
-
},
|
256 |
-
|
257 |
-
displayText: function(item) {
|
258 |
-
return typeof item !== 'undefined' && typeof item.name != 'undefined' && item.name || item;
|
259 |
-
},
|
260 |
-
|
261 |
-
next: function (event) {
|
262 |
-
var active = this.$menu.find('.active').removeClass('active')
|
263 |
-
, next = active.next();
|
264 |
-
|
265 |
-
if (!next.length) {
|
266 |
-
next = $(this.$menu.find('li')[0]);
|
267 |
-
}
|
268 |
-
|
269 |
-
next.addClass('active');
|
270 |
-
},
|
271 |
-
|
272 |
-
prev: function (event) {
|
273 |
-
var active = this.$menu.find('.active').removeClass('active')
|
274 |
-
, prev = active.prev();
|
275 |
-
|
276 |
-
if (!prev.length) {
|
277 |
-
prev = this.$menu.find('li').last();
|
278 |
-
}
|
279 |
-
|
280 |
-
prev.addClass('active');
|
281 |
-
},
|
282 |
-
|
283 |
-
listen: function () {
|
284 |
-
this.$element
|
285 |
-
.on('focus', $.proxy(this.focus, this))
|
286 |
-
.on('blur', $.proxy(this.blur, this))
|
287 |
-
.on('keypress', $.proxy(this.keypress, this))
|
288 |
-
.on('keyup', $.proxy(this.keyup, this));
|
289 |
-
|
290 |
-
if (this.eventSupported('keydown')) {
|
291 |
-
this.$element.on('keydown', $.proxy(this.keydown, this));
|
292 |
-
}
|
293 |
-
|
294 |
-
this.$menu
|
295 |
-
.on('click', $.proxy(this.click, this))
|
296 |
-
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
297 |
-
.on('mouseleave', 'li', $.proxy(this.mouseleave, this));
|
298 |
-
},
|
299 |
-
|
300 |
-
destroy : function () {
|
301 |
-
this.$element.data('typeahead',null);
|
302 |
-
this.$element.data('active',null);
|
303 |
-
this.$element
|
304 |
-
.off('focus')
|
305 |
-
.off('blur')
|
306 |
-
.off('keypress')
|
307 |
-
.off('keyup');
|
308 |
-
|
309 |
-
if (this.eventSupported('keydown')) {
|
310 |
-
this.$element.off('keydown');
|
311 |
-
}
|
312 |
-
|
313 |
-
this.$menu.remove();
|
314 |
-
},
|
315 |
-
|
316 |
-
eventSupported: function(eventName) {
|
317 |
-
var isSupported = eventName in this.$element;
|
318 |
-
if (!isSupported) {
|
319 |
-
this.$element.setAttribute(eventName, 'return;');
|
320 |
-
isSupported = typeof this.$element[eventName] === 'function';
|
321 |
-
}
|
322 |
-
return isSupported;
|
323 |
-
},
|
324 |
-
|
325 |
-
move: function (e) {
|
326 |
-
if (!this.shown) return;
|
327 |
-
|
328 |
-
switch(e.keyCode) {
|
329 |
-
case 9: // tab
|
330 |
-
case 13: // enter
|
331 |
-
case 27: // escape
|
332 |
-
e.preventDefault();
|
333 |
-
break;
|
334 |
-
|
335 |
-
case 38: // up arrow
|
336 |
-
// with the shiftKey (this is actually the left parenthesis)
|
337 |
-
if (e.shiftKey) return;
|
338 |
-
e.preventDefault();
|
339 |
-
this.prev();
|
340 |
-
break;
|
341 |
-
|
342 |
-
case 40: // down arrow
|
343 |
-
// with the shiftKey (this is actually the right parenthesis)
|
344 |
-
if (e.shiftKey) return;
|
345 |
-
e.preventDefault();
|
346 |
-
this.next();
|
347 |
-
break;
|
348 |
-
}
|
349 |
-
},
|
350 |
-
|
351 |
-
keydown: function (e) {
|
352 |
-
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]);
|
353 |
-
if (!this.shown && e.keyCode == 40) {
|
354 |
-
this.lookup();
|
355 |
-
} else {
|
356 |
-
this.move(e);
|
357 |
-
}
|
358 |
-
},
|
359 |
-
|
360 |
-
keypress: function (e) {
|
361 |
-
if (this.suppressKeyPressRepeat) return;
|
362 |
-
this.move(e);
|
363 |
-
},
|
364 |
-
|
365 |
-
keyup: function (e) {
|
366 |
-
switch(e.keyCode) {
|
367 |
-
case 40: // down arrow
|
368 |
-
case 38: // up arrow
|
369 |
-
case 16: // shift
|
370 |
-
case 17: // ctrl
|
371 |
-
case 18: // alt
|
372 |
-
break;
|
373 |
-
|
374 |
-
case 9: // tab
|
375 |
-
case 13: // enter
|
376 |
-
if (!this.shown) return;
|
377 |
-
this.select();
|
378 |
-
break;
|
379 |
-
|
380 |
-
case 27: // escape
|
381 |
-
if (!this.shown) return;
|
382 |
-
this.hide();
|
383 |
-
break;
|
384 |
-
default:
|
385 |
-
this.lookup();
|
386 |
-
}
|
387 |
-
|
388 |
-
e.preventDefault();
|
389 |
-
},
|
390 |
-
|
391 |
-
focus: function (e) {
|
392 |
-
if (!this.focused) {
|
393 |
-
this.focused = true;
|
394 |
-
if (this.options.showHintOnFocus) {
|
395 |
-
this.lookup('');
|
396 |
-
}
|
397 |
-
}
|
398 |
-
},
|
399 |
-
|
400 |
-
blur: function (e) {
|
401 |
-
this.focused = false;
|
402 |
-
if (!this.mousedover && this.shown) this.hide();
|
403 |
-
},
|
404 |
-
|
405 |
-
click: function (e) {
|
406 |
-
e.preventDefault();
|
407 |
-
this.select();
|
408 |
-
this.$element.focus();
|
409 |
-
},
|
410 |
-
|
411 |
-
mouseenter: function (e) {
|
412 |
-
this.mousedover = true;
|
413 |
-
this.$menu.find('.active').removeClass('active');
|
414 |
-
$(e.currentTarget).addClass('active');
|
415 |
-
},
|
416 |
-
|
417 |
-
mouseleave: function (e) {
|
418 |
-
this.mousedover = false;
|
419 |
-
if (!this.focused && this.shown) this.hide();
|
420 |
-
}
|
421 |
-
|
422 |
-
};
|
423 |
-
|
424 |
-
|
425 |
-
/* TYPEAHEAD PLUGIN DEFINITION
|
426 |
-
* =========================== */
|
427 |
-
|
428 |
-
var old = $.fn.typeahead;
|
429 |
-
|
430 |
-
$.fn.typeahead = function (option) {
|
431 |
-
var arg = arguments;
|
432 |
-
if (typeof option == 'string' && option == 'getActive') {
|
433 |
-
return this.data('active');
|
434 |
-
}
|
435 |
-
return this.each(function () {
|
436 |
-
var $this = $(this)
|
437 |
-
, data = $this.data('typeahead')
|
438 |
-
, options = typeof option == 'object' && option;
|
439 |
-
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)));
|
440 |
-
if (typeof option == 'string') {
|
441 |
-
if (arg.length > 1) {
|
442 |
-
data[option].apply(data, Array.prototype.slice.call(arg ,1));
|
443 |
-
} else {
|
444 |
-
data[option]();
|
445 |
-
}
|
446 |
-
}
|
447 |
-
});
|
448 |
-
};
|
449 |
-
|
450 |
-
$.fn.typeahead.defaults = {
|
451 |
-
source: []
|
452 |
-
, items: 8
|
453 |
-
, menu: '<ul class="typeahead dropdown-menu" role="listbox"></ul>'
|
454 |
-
, item: '<li><a class="dropdown-item" href="#" role="option"></a></li>'
|
455 |
-
, minLength: 1
|
456 |
-
, scrollHeight: 0
|
457 |
-
, autoSelect: true
|
458 |
-
, afterSelect: $.noop
|
459 |
-
, addItem: false
|
460 |
-
, delay: 0
|
461 |
-
};
|
462 |
-
|
463 |
-
$.fn.typeahead.Constructor = Typeahead;
|
464 |
-
|
465 |
-
|
466 |
-
/* TYPEAHEAD NO CONFLICT
|
467 |
-
* =================== */
|
468 |
-
|
469 |
-
$.fn.typeahead.noConflict = function () {
|
470 |
-
$.fn.typeahead = old;
|
471 |
-
return this;
|
472 |
-
};
|
473 |
-
|
474 |
-
|
475 |
-
/* TYPEAHEAD DATA-API
|
476 |
-
* ================== */
|
477 |
-
|
478 |
-
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
479 |
-
var $this = $(this);
|
480 |
-
if ($this.data('typeahead')) return;
|
481 |
-
$this.typeahead($this.data());
|
482 |
-
});
|
483 |
-
|
484 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/js/{pro.js → woo-feed-admin-pro.js}
RENAMED
File without changes
|
admin/js/woo-feed-admin.js
CHANGED
@@ -1,4 +1,11 @@
|
|
1 |
-
// noinspection JSUnresolvedVariable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
(function ($, window, document, wpAjax, opts) {
|
3 |
"use strict";
|
4 |
/**
|
@@ -14,7 +21,11 @@
|
|
14 |
|
15 |
/**
|
16 |
* disable element utility
|
|
|
17 |
* @since 3.1.9
|
|
|
|
|
|
|
18 |
*/
|
19 |
$.fn.disabled = function( status ) {
|
20 |
$(this).each( function(){
|
@@ -28,27 +39,32 @@
|
|
28 |
} );
|
29 |
return self; // method chaining
|
30 |
};
|
|
|
|
|
|
|
31 |
$.fn.isDisabled = function() {
|
32 |
// noinspection ES6ConvertVarToLetConst
|
33 |
var self = $(this), prop = 'disabled';
|
34 |
return ( typeof( self.prop( prop ) ) !== 'undefined' ) ? self.prop( prop ) : self.hasClass( prop );
|
35 |
};
|
36 |
|
|
|
|
|
|
|
|
|
37 |
function clearTooltip( event ) {
|
38 |
-
// noinspection SpellCheckingInspection
|
39 |
$(event.currentTarget).removeClass( function (index, className) {
|
40 |
return (className.match (/\btooltipped-\S+/g) || []).join(' ');
|
41 |
} ).removeClass('tooltipped').removeAttr('aria-label');
|
42 |
}
|
43 |
|
44 |
function showTooltip( elem, msg ) {
|
45 |
-
// noinspection SpellCheckingInspection
|
46 |
$( elem ).addClass('tooltipped tooltipped-s').attr( 'aria-label', msg );
|
47 |
}
|
48 |
|
49 |
function fallbackMessage(action) {
|
50 |
// noinspection ES6ConvertVarToLetConst
|
51 |
-
var actionMsg
|
52 |
if (/iPhone|iPad/i.test(navigator.userAgent)) {
|
53 |
actionMsg = 'No support :(';
|
54 |
} else if (/Mac/i.test(navigator.userAgent)) {
|
@@ -61,7 +77,7 @@
|
|
61 |
|
62 |
/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */
|
63 |
$(window).load(function () {
|
64 |
-
// noinspection ES6ConvertVarToLetConst
|
65 |
var $copyBtn = $('.toClipboard'), clipboard,
|
66 |
googleCategories,
|
67 |
helper = {
|
@@ -81,11 +97,15 @@
|
|
81 |
}
|
82 |
}, // helper functions
|
83 |
feedEditor = {
|
|
|
|
|
|
|
|
|
84 |
init: function() {
|
85 |
// noinspection ES6ConvertVarToLetConst
|
86 |
var outOfStockVisibilityRow = $('.out-of-stock-visibility');
|
87 |
// Initialize Table Sorting
|
88 |
-
// noinspection
|
89 |
$('.sorted_table').sortablesd({
|
90 |
containerSelector: 'table',
|
91 |
itemPath: '> tbody',
|
@@ -93,13 +113,13 @@
|
|
93 |
handle: 'i.wf_sortedtable',
|
94 |
placeholder: '<tr class="placeholder"><td colspan="9"></td></tr>',
|
95 |
});
|
96 |
-
$('.selectize').each(function(){
|
97 |
// noinspection ES6ConvertVarToLetConst
|
98 |
var self = $(this), plugins = self.data('plugins');
|
99 |
self.selectize({
|
100 |
-
plugins: plugins ? plugins.split(',') : [],//['remove_button'],
|
101 |
render: { item: helper.selectize_render_item, }
|
102 |
-
})
|
103 |
});
|
104 |
$('[name="is_outOfStock"], [name="product_visibility"]').on( 'change', function(){
|
105 |
if( $('[name="is_outOfStock"]:checked').val() === 'n' && $('[name="product_visibility"]:checked').val() === '1' ) {
|
@@ -133,15 +153,17 @@
|
|
133 |
if( valueColumn.find('select.selectize').length === 0 ) {
|
134 |
// noinspection ES6ConvertVarToLetConst
|
135 |
var selectizeOpts = {
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
select = valueColumn.find('.wf_attributes select');
|
140 |
valueColumn.find('input.wf_default').remove();
|
141 |
valueColumn.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>');
|
142 |
valueColumn.find('.wf_attributes select').selectize({render: {item: helper.selectize_render_item,}});
|
143 |
-
|
|
|
144 |
valueColumn.append('<span class="spinner is-active" style="margin: 0;"></span>');
|
|
|
|
|
145 |
if( ! googleCategories ) {
|
146 |
wpAjax.send( 'get_google_categories', {
|
147 |
type: 'GET',
|
@@ -168,12 +190,20 @@
|
|
168 |
}
|
169 |
} );
|
170 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
renderSelectize: function( el, config ) {
|
172 |
// noinspection ES6ConvertVarToLetConst
|
173 |
var c = $.extend({}, {
|
174 |
options: {},
|
175 |
settings: {render: {item: helper.selectize_render_item,}}
|
176 |
}, config);
|
|
|
177 |
el.selectize(c.settings);
|
178 |
// noinspection ES6ConvertVarToLetConst
|
179 |
var s = el[0].selectize;
|
@@ -189,12 +219,18 @@
|
|
189 |
s.refreshOptions( true );
|
190 |
return el;
|
191 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
renderMerchantInfo: function( merchantInfo, feedType, r ) {
|
193 |
// noinspection ES6ConvertVarToLetConst
|
194 |
for( var k in r ) {
|
195 |
if( r.hasOwnProperty( k ) ) {
|
196 |
merchantInfo.find( '.merchant-info-section.' + k + ' .data' ).html( r[k] ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html
|
197 |
-
if(
|
198 |
// noinspection ES6ConvertVarToLetConst,JSUnresolvedVariable
|
199 |
var types = r[k].split(",").map(function(t){return t.trim().toLowerCase()}).filter(function(t){
|
200 |
// noinspection JSUnresolvedVariable
|
@@ -216,9 +252,36 @@
|
|
216 |
feedType.trigger('change');
|
217 |
feedType.parent().find('.spinner').removeClass( 'is-active' );
|
218 |
},
|
|
|
|
|
|
|
|
|
|
|
219 |
renderMerchantTemplate: function( feedForm, r ) {
|
220 |
-
//
|
221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
feedEditor.init();
|
223 |
}
|
224 |
}, // Feed Editor Table
|
@@ -259,57 +322,40 @@
|
|
259 |
|
260 |
// XML Feed Wrapper
|
261 |
$('#feedType,#provider').on('change', function () {
|
262 |
-
// noinspection ES6ConvertVarToLetConst,
|
263 |
-
var type = $('#feedType').val(), provider = $('#provider').val(), itemWrapper = $('.itemWrapper'),
|
264 |
// noinspection JSUnresolvedVariable
|
265 |
if ( type === 'xml' ) {
|
266 |
-
itemWrapper.show();
|
|
|
267 |
} else if ( type === 'csv' || type === 'txt' ) {
|
268 |
-
itemWrapper.hide();
|
|
|
269 |
} else if ( type === '' ) {
|
270 |
-
itemWrapper.hide();
|
|
|
271 |
}
|
272 |
-
if( type !==
|
273 |
-
|
274 |
-
if( provider === 'criteo' ) {
|
275 |
-
itemWrapper.find('input[name="itemsWrapper"]').val("channel");
|
276 |
-
itemWrapper.find('input[name="itemWrapper"]').val("item");
|
277 |
}
|
278 |
}).trigger( 'change' );
|
279 |
// Tooltip only Text
|
280 |
{
|
281 |
-
// noinspection SpellCheckingInspection
|
282 |
$('.wfmasterTooltip').hover(function () {
|
283 |
// Hover over code
|
284 |
-
// noinspection ES6ConvertVarToLetConst
|
285 |
var title = $(this).attr('wftitle');
|
286 |
-
// noinspection SpellCheckingInspection
|
287 |
$(this).data('tipText', title).removeAttr('wftitle');
|
288 |
-
// noinspection SpellCheckingInspection
|
289 |
$('<p class="wftooltip"></p>').text(title).appendTo('body').fadeIn('slow');
|
290 |
}, function () {
|
291 |
// Hover out code
|
292 |
-
// noinspection SpellCheckingInspection
|
293 |
$(this).attr('wftitle', $(this).data('tipText'));
|
294 |
-
// noinspection SpellCheckingInspection
|
295 |
$('.wftooltip').remove();
|
296 |
}).mousemove(function (e) {
|
297 |
-
|
298 |
-
var mousex = e.pageX + 20, //Get X coordinates
|
299 |
-
mousey = e.pageY + 10; //Get Y coordinates
|
300 |
-
// noinspection SpellCheckingInspection
|
301 |
-
$('.wftooltip').css({top: mousey, left: mousex})
|
302 |
});
|
303 |
}
|
304 |
|
305 |
-
// Add New Condition for Filter
|
306 |
-
$(document).on('click', '#wf_newFilter', function () {
|
307 |
-
$("#table-advanced-filter tbody tr:eq(0)").show().clone().find('input').val('').end().find('select').val('').end().insertAfter("#table-advanced-filter tbody tr:last");
|
308 |
-
// noinspection SpellCheckingInspection
|
309 |
-
$(".fsrow:gt(2)").prop('disabled', false);
|
310 |
-
$(".daRow:eq(0)").hide();
|
311 |
-
});
|
312 |
-
|
313 |
// Attribute type selection for dynamic attribute
|
314 |
$(document).on('change', '.dType', function () {
|
315 |
// noinspection ES6ConvertVarToLetConst
|
@@ -364,13 +410,11 @@
|
|
364 |
// Feed Generating form validation
|
365 |
$(this).validate();
|
366 |
if ($(this).valid()) {
|
367 |
-
// noinspection SpellCheckingInspection
|
368 |
$(".makeFeedResponse").show().html( '<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> ' + opts.form.generate + '</b>' ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found
|
369 |
}
|
370 |
});
|
371 |
|
372 |
// Generate Update Feed Form Submit
|
373 |
-
// noinspection SpellCheckingInspection
|
374 |
$(".updatefeed").validate();
|
375 |
$('[name="save_feed_config"]').on( 'click', function( e ) {
|
376 |
e.preventDefault();
|
@@ -380,7 +424,6 @@
|
|
380 |
// Feed Generating form validation
|
381 |
$(this).validate();
|
382 |
if ( $(this).valid() ) {
|
383 |
-
// noinspection SpellCheckingInspection
|
384 |
$(".makeFeedResponse").show().html( '<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> ' + ( data && data.save ? opts.form.save : opts.form.generate ) + '</b>' ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found
|
385 |
}
|
386 |
});
|
@@ -407,7 +450,7 @@
|
|
407 |
} else {
|
408 |
wpAjax.send( 'woo_feed_get_merchant_info', {
|
409 |
type: 'GET',
|
410 |
-
data: { nonce: opts.nonce,
|
411 |
} ).then( function( r ) {
|
412 |
merchantInfoCache[merchant] = r;
|
413 |
feedEditor.renderMerchantInfo( merchantInfo, feedType, r );
|
@@ -419,7 +462,7 @@
|
|
419 |
feedEditor.renderMerchantTemplate( feedForm, merchantTemplateCache[merchant] );
|
420 |
} else {
|
421 |
wpAjax.post( 'get_feed_merchant', {
|
422 |
-
_ajax_nonce: opts.nonce,
|
423 |
}, )
|
424 |
.then( function( r ) {
|
425 |
merchantTemplateCache[merchant] = r;
|
@@ -444,7 +487,6 @@
|
|
444 |
});
|
445 |
|
446 |
//Checking whether php ssh2 extension is added or not
|
447 |
-
// noinspection SpellCheckingInspection
|
448 |
$(document).on('change', '.ftporsftp', function () {
|
449 |
// noinspection ES6ConvertVarToLetConst
|
450 |
var server = $(this).val(), status = $('.ssh2_status');
|
1 |
+
// noinspection JSUnresolvedVariable
|
2 |
+
/**!
|
3 |
+
* WooFeed Scripts
|
4 |
+
* @version 3.3.6
|
5 |
+
* @package WooFeed
|
6 |
+
* @copyright 2020 WebAppick
|
7 |
+
*
|
8 |
+
*/
|
9 |
(function ($, window, document, wpAjax, opts) {
|
10 |
"use strict";
|
11 |
/**
|
21 |
|
22 |
/**
|
23 |
* disable element utility
|
24 |
+
*
|
25 |
* @since 3.1.9
|
26 |
+
*
|
27 |
+
* @param {*} status
|
28 |
+
* @returns {jQuery|HTMLElement}
|
29 |
*/
|
30 |
$.fn.disabled = function( status ) {
|
31 |
$(this).each( function(){
|
39 |
} );
|
40 |
return self; // method chaining
|
41 |
};
|
42 |
+
/**
|
43 |
+
* Check if a HTMLElement or jQuery is disabled
|
44 |
+
*/
|
45 |
$.fn.isDisabled = function() {
|
46 |
// noinspection ES6ConvertVarToLetConst
|
47 |
var self = $(this), prop = 'disabled';
|
48 |
return ( typeof( self.prop( prop ) ) !== 'undefined' ) ? self.prop( prop ) : self.hasClass( prop );
|
49 |
};
|
50 |
|
51 |
+
/**
|
52 |
+
* Clear Tooltip for clip board js
|
53 |
+
* @param {Object} event
|
54 |
+
*/
|
55 |
function clearTooltip( event ) {
|
|
|
56 |
$(event.currentTarget).removeClass( function (index, className) {
|
57 |
return (className.match (/\btooltipped-\S+/g) || []).join(' ');
|
58 |
} ).removeClass('tooltipped').removeAttr('aria-label');
|
59 |
}
|
60 |
|
61 |
function showTooltip( elem, msg ) {
|
|
|
62 |
$( elem ).addClass('tooltipped tooltipped-s').attr( 'aria-label', msg );
|
63 |
}
|
64 |
|
65 |
function fallbackMessage(action) {
|
66 |
// noinspection ES6ConvertVarToLetConst
|
67 |
+
var actionMsg, actionKey = (action === 'cut' ? 'X' : 'C');
|
68 |
if (/iPhone|iPad/i.test(navigator.userAgent)) {
|
69 |
actionMsg = 'No support :(';
|
70 |
} else if (/Mac/i.test(navigator.userAgent)) {
|
77 |
|
78 |
/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */
|
79 |
$(window).load(function () {
|
80 |
+
// noinspection ES6ConvertVarToLetConst
|
81 |
var $copyBtn = $('.toClipboard'), clipboard,
|
82 |
googleCategories,
|
83 |
helper = {
|
97 |
}
|
98 |
}, // helper functions
|
99 |
feedEditor = {
|
100 |
+
/**
|
101 |
+
* Initialize The Feed Editor {Tabs...}
|
102 |
+
* @returns {void}
|
103 |
+
*/
|
104 |
init: function() {
|
105 |
// noinspection ES6ConvertVarToLetConst
|
106 |
var outOfStockVisibilityRow = $('.out-of-stock-visibility');
|
107 |
// Initialize Table Sorting
|
108 |
+
// noinspection JSUnresolvedFunction
|
109 |
$('.sorted_table').sortablesd({
|
110 |
containerSelector: 'table',
|
111 |
itemPath: '> tbody',
|
113 |
handle: 'i.wf_sortedtable',
|
114 |
placeholder: '<tr class="placeholder"><td colspan="9"></td></tr>',
|
115 |
});
|
116 |
+
$('select.selectize').not('.selectized').each(function(){
|
117 |
// noinspection ES6ConvertVarToLetConst
|
118 |
var self = $(this), plugins = self.data('plugins');
|
119 |
self.selectize({
|
120 |
+
plugins: plugins ? plugins.split(',').map( function( s ) { return s.trim(); } ) : [],//['remove_button'],
|
121 |
render: { item: helper.selectize_render_item, }
|
122 |
+
});
|
123 |
});
|
124 |
$('[name="is_outOfStock"], [name="product_visibility"]').on( 'change', function(){
|
125 |
if( $('[name="is_outOfStock"]:checked').val() === 'n' && $('[name="product_visibility"]:checked').val() === '1' ) {
|
153 |
if( valueColumn.find('select.selectize').length === 0 ) {
|
154 |
// noinspection ES6ConvertVarToLetConst
|
155 |
var selectizeOpts = {
|
156 |
+
options: googleCategories,
|
157 |
+
config: { render: { item: helper.selectize_render_item, } },
|
158 |
+
};
|
|
|
159 |
valueColumn.find('input.wf_default').remove();
|
160 |
valueColumn.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>');
|
161 |
valueColumn.find('.wf_attributes select').selectize({render: {item: helper.selectize_render_item,}});
|
162 |
+
// noinspection JSUnresolvedVariable
|
163 |
+
valueColumn.append('<span style="font-size:x-small;"><a style="color: red" href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">'+ opts.learn_more +'</a></span>');
|
164 |
valueColumn.append('<span class="spinner is-active" style="margin: 0;"></span>');
|
165 |
+
// noinspection ES6ConvertVarToLetConst
|
166 |
+
var select = valueColumn.find('.wf_attributes select');
|
167 |
if( ! googleCategories ) {
|
168 |
wpAjax.send( 'get_google_categories', {
|
169 |
type: 'GET',
|
190 |
}
|
191 |
} );
|
192 |
},
|
193 |
+
/**
|
194 |
+
* Selectize Helper.
|
195 |
+
* Initialize Selectize Dropdown
|
196 |
+
* @param {jQuery|HTMLElement} el
|
197 |
+
* @param {Object} config
|
198 |
+
* @returns {jQuery|HTMLElement}
|
199 |
+
*/
|
200 |
renderSelectize: function( el, config ) {
|
201 |
// noinspection ES6ConvertVarToLetConst
|
202 |
var c = $.extend({}, {
|
203 |
options: {},
|
204 |
settings: {render: {item: helper.selectize_render_item,}}
|
205 |
}, config);
|
206 |
+
// noinspection JSUnresolvedFunction
|
207 |
el.selectize(c.settings);
|
208 |
// noinspection ES6ConvertVarToLetConst
|
209 |
var s = el[0].selectize;
|
219 |
s.refreshOptions( true );
|
220 |
return el;
|
221 |
},
|
222 |
+
/**
|
223 |
+
* Render Merchant info ajax response and handle allowed feed type for selected merchant
|
224 |
+
* @param {jQuery|HTMLElement} merchantInfo jQuery dom object
|
225 |
+
* @param {jQuery|HTMLElement} feedType jQuery dom object
|
226 |
+
* @param {Object} r ajax response object
|
227 |
+
*/
|
228 |
renderMerchantInfo: function( merchantInfo, feedType, r ) {
|
229 |
// noinspection ES6ConvertVarToLetConst
|
230 |
for( var k in r ) {
|
231 |
if( r.hasOwnProperty( k ) ) {
|
232 |
merchantInfo.find( '.merchant-info-section.' + k + ' .data' ).html( r[k] ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html
|
233 |
+
if( 'feed_file_type' === k ) {
|
234 |
// noinspection ES6ConvertVarToLetConst,JSUnresolvedVariable
|
235 |
var types = r[k].split(",").map(function(t){return t.trim().toLowerCase()}).filter(function(t){
|
236 |
// noinspection JSUnresolvedVariable
|
252 |
feedType.trigger('change');
|
253 |
feedType.parent().find('.spinner').removeClass( 'is-active' );
|
254 |
},
|
255 |
+
/**
|
256 |
+
* Render Feed Template Tabs and settings while creating new feed.
|
257 |
+
* @param {jQuery|HTMLElement} feedForm feed from query dom object
|
258 |
+
* @param {object} r merchant template ajax response object
|
259 |
+
*/
|
260 |
renderMerchantTemplate: function( feedForm, r ) {
|
261 |
+
// noinspection ES6ConvertVarToLetConst
|
262 |
+
for ( var k in r ) {
|
263 |
+
if ( r.hasOwnProperty( k ) ) {
|
264 |
+
if ( 'tabs' === k ) {
|
265 |
+
feedForm.html( r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html
|
266 |
+
} else {
|
267 |
+
// noinspection ES6ConvertVarToLetConst
|
268 |
+
var contentSettings = $('[name="'+k+'"]');
|
269 |
+
if ( contentSettings.length ) {
|
270 |
+
contentSettings.each( function() {
|
271 |
+
// noinspection ES6ConvertVarToLetConst
|
272 |
+
var elem = $(this);
|
273 |
+
if ( elem.is( 'select' ) ) {
|
274 |
+
elem.find( '[value="'+r[k]+'"]').prop( 'selected', true );
|
275 |
+
} else if ( ( elem.is('[type=checkbox]') || elem.is('[type=radio]') ) && elem.val() === r[k] ) {
|
276 |
+
elem.prop( 'checked', true )
|
277 |
+
} else {
|
278 |
+
elem.val( r[k] ); // type=text
|
279 |
+
}
|
280 |
+
} ).trigger('change');
|
281 |
+
}
|
282 |
+
}
|
283 |
+
}
|
284 |
+
}
|
285 |
feedEditor.init();
|
286 |
}
|
287 |
}, // Feed Editor Table
|
322 |
|
323 |
// XML Feed Wrapper
|
324 |
$('#feedType,#provider').on('change', function () {
|
325 |
+
// noinspection ES6ConvertVarToLetConst,
|
326 |
+
var type = $('#feedType').val(), provider = $('#provider').val(), itemWrapper = $('.itemWrapper'), wf_csv_txt = $('.wf_csvtxt');
|
327 |
// noinspection JSUnresolvedVariable
|
328 |
if ( type === 'xml' ) {
|
329 |
+
itemWrapper.show();
|
330 |
+
wf_csv_txt.hide();
|
331 |
} else if ( type === 'csv' || type === 'txt' ) {
|
332 |
+
itemWrapper.hide();
|
333 |
+
wf_csv_txt.show();
|
334 |
} else if ( type === '' ) {
|
335 |
+
itemWrapper.hide();
|
336 |
+
wf_csv_txt.hide();
|
337 |
}
|
338 |
+
if( type !== '' && helper.in_array( provider, ['google', 'facebook', 'pinterest'] ) ) {
|
339 |
+
itemWrapper.hide();
|
|
|
|
|
|
|
340 |
}
|
341 |
}).trigger( 'change' );
|
342 |
// Tooltip only Text
|
343 |
{
|
|
|
344 |
$('.wfmasterTooltip').hover(function () {
|
345 |
// Hover over code
|
346 |
+
// noinspection ES6ConvertVarToLetConst
|
347 |
var title = $(this).attr('wftitle');
|
|
|
348 |
$(this).data('tipText', title).removeAttr('wftitle');
|
|
|
349 |
$('<p class="wftooltip"></p>').text(title).appendTo('body').fadeIn('slow');
|
350 |
}, function () {
|
351 |
// Hover out code
|
|
|
352 |
$(this).attr('wftitle', $(this).data('tipText'));
|
|
|
353 |
$('.wftooltip').remove();
|
354 |
}).mousemove(function (e) {
|
355 |
+
$('.wftooltip').css({top: e.pageY + 10, left: e.pageX + 20})
|
|
|
|
|
|
|
|
|
356 |
});
|
357 |
}
|
358 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
// Attribute type selection for dynamic attribute
|
360 |
$(document).on('change', '.dType', function () {
|
361 |
// noinspection ES6ConvertVarToLetConst
|
410 |
// Feed Generating form validation
|
411 |
$(this).validate();
|
412 |
if ($(this).valid()) {
|
|
|
413 |
$(".makeFeedResponse").show().html( '<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> ' + opts.form.generate + '</b>' ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found
|
414 |
}
|
415 |
});
|
416 |
|
417 |
// Generate Update Feed Form Submit
|
|
|
418 |
$(".updatefeed").validate();
|
419 |
$('[name="save_feed_config"]').on( 'click', function( e ) {
|
420 |
e.preventDefault();
|
424 |
// Feed Generating form validation
|
425 |
$(this).validate();
|
426 |
if ( $(this).valid() ) {
|
|
|
427 |
$(".makeFeedResponse").show().html( '<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> ' + ( data && data.save ? opts.form.save : opts.form.generate ) + '</b>' ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found
|
428 |
}
|
429 |
});
|
450 |
} else {
|
451 |
wpAjax.send( 'woo_feed_get_merchant_info', {
|
452 |
type: 'GET',
|
453 |
+
data: { nonce: opts.nonce, provider: merchant }
|
454 |
} ).then( function( r ) {
|
455 |
merchantInfoCache[merchant] = r;
|
456 |
feedEditor.renderMerchantInfo( merchantInfo, feedType, r );
|
462 |
feedEditor.renderMerchantTemplate( feedForm, merchantTemplateCache[merchant] );
|
463 |
} else {
|
464 |
wpAjax.post( 'get_feed_merchant', {
|
465 |
+
_ajax_nonce: opts.nonce, merchant: merchant
|
466 |
}, )
|
467 |
.then( function( r ) {
|
468 |
merchantTemplateCache[merchant] = r;
|
487 |
});
|
488 |
|
489 |
//Checking whether php ssh2 extension is added or not
|
|
|
490 |
$(document).on('change', '.ftporsftp', function () {
|
491 |
// noinspection ES6ConvertVarToLetConst
|
492 |
var server = $(this).val(), status = $('.ssh2_status');
|
admin/partials/templates/common_add-feed.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
die();
|
7 |
}
|
8 |
-
global $provider;
|
9 |
?>
|
10 |
<table class="table tree widefat fixed sorted_table mtable" style="width: 100%;" id="table-1">
|
11 |
<thead>
|
@@ -23,26 +23,21 @@ global $provider;
|
|
23 |
</thead>
|
24 |
<tbody>
|
25 |
<?php
|
26 |
-
|
27 |
-
$
|
28 |
-
|
29 |
-
$
|
30 |
-
|
31 |
-
|
32 |
-
$
|
33 |
-
$
|
34 |
-
$
|
35 |
-
$
|
36 |
-
$attribute = $template['attributes'][ $key ];
|
37 |
-
$pattern = $template['default'][ $key ];
|
38 |
-
$suffix = $template['suffix'][ $key ];
|
39 |
-
$outputType = $template['output_type'][ $key ];
|
40 |
-
$limit = $template['limit'][ $key ];
|
41 |
?>
|
42 |
<tr>
|
43 |
<td><i class="wf_sortedtable dashicons dashicons-menu"></i></td>
|
44 |
<td>
|
45 |
-
<input type="text" name="mattributes[]" autocomplete="off" required value="<?php echo esc_attr( $
|
46 |
</td>
|
47 |
<td>
|
48 |
<input type="text" name="prefix[]" autocomplete="off" value="<?php echo esc_attr( $prefix ); ?>" class="wf_ps">
|
@@ -69,7 +64,7 @@ global $provider;
|
|
69 |
<select name="output_type[][]" class="outputType wfnoempty">
|
70 |
<?php
|
71 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
72 |
-
|
73 |
?>
|
74 |
</select>
|
75 |
<i class="dashicons dashicons-editor-expand expandType"></i>
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
die();
|
7 |
}
|
8 |
+
global $provider, $feedRules;
|
9 |
?>
|
10 |
<table class="table tree widefat fixed sorted_table mtable" style="width: 100%;" id="table-1">
|
11 |
<thead>
|
23 |
</thead>
|
24 |
<tbody>
|
25 |
<?php
|
26 |
+
|
27 |
+
foreach ( $feedRules['mattributes'] as $key => $value ) {
|
28 |
+
$prefix = $feedRules['prefix'][ $key ];
|
29 |
+
$attrSelected = ( 'attribute' == $feedRules['type'][ $key ] ) ? 'selected' : '';
|
30 |
+
$patternSelected = ( 'pattern' == $feedRules['type'][ $key ] ) ? 'selected' : '';
|
31 |
+
$attribute = $feedRules['attributes'][ $key ];
|
32 |
+
$pattern = $feedRules['default'][ $key ];
|
33 |
+
$suffix = $feedRules['suffix'][ $key ];
|
34 |
+
$outputType = $feedRules['output_type'][ $key ];
|
35 |
+
$limit = $feedRules['limit'][ $key ];
|
|
|
|
|
|
|
|
|
|
|
36 |
?>
|
37 |
<tr>
|
38 |
<td><i class="wf_sortedtable dashicons dashicons-menu"></i></td>
|
39 |
<td>
|
40 |
+
<input type="text" name="mattributes[]" autocomplete="off" required value="<?php echo esc_attr( $value ); ?>" class="wf_validate_attr wf_mattributes">
|
41 |
</td>
|
42 |
<td>
|
43 |
<input type="text" name="prefix[]" autocomplete="off" value="<?php echo esc_attr( $prefix ); ?>" class="wf_ps">
|
64 |
<select name="output_type[][]" class="outputType wfnoempty">
|
65 |
<?php
|
66 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
67 |
+
echo $wooFeedDropDown->outputTypes( $outputType );
|
68 |
?>
|
69 |
</select>
|
70 |
<i class="dashicons dashicons-editor-expand expandType"></i>
|
admin/partials/templates/facebook_add-feed.php
CHANGED
@@ -659,22 +659,7 @@ global $provider;
|
|
659 |
echo $wooFeedProduct->attributeDropdown();
|
660 |
?>
|
661 |
</select>
|
662 |
-
<?php
|
663 |
-
$url = site_url();
|
664 |
-
$WABrand = '';
|
665 |
-
// Remove all illegal characters from a url
|
666 |
-
$url = filter_var( $url, FILTER_SANITIZE_URL );
|
667 |
-
// Validate url
|
668 |
-
if ( filter_var( $url, FILTER_VALIDATE_URL ) !== false ) {
|
669 |
-
$url = wp_parse_url( $url );
|
670 |
-
if ( array_key_exists( 'host', $url ) ) {
|
671 |
-
$arr = explode( '.', $url['host'] );
|
672 |
-
$WABrand = $arr[ count( $arr ) - 2 ];
|
673 |
-
}
|
674 |
-
}
|
675 |
-
|
676 |
-
?>
|
677 |
-
<input type="text" name="default[]" value="<?php echo esc_attr( $WABrand ); ?>" autocomplete="off" class="wf_default wf_attributes"
|
678 |
/>
|
679 |
</td>
|
680 |
<td>
|
659 |
echo $wooFeedProduct->attributeDropdown();
|
660 |
?>
|
661 |
</select>
|
662 |
+
<input type="text" name="default[]" value="<?php echo esc_attr( woo_feed_get_default_brand() ); ?>" autocomplete="off" class="wf_default wf_attributes"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
663 |
/>
|
664 |
</td>
|
665 |
<td>
|
admin/partials/templates/google_add-feed.php
CHANGED
@@ -666,22 +666,7 @@ global $provider;
|
|
666 |
echo $wooFeedProduct->attributeDropdown();
|
667 |
?>
|
668 |
</select>
|
669 |
-
<?php
|
670 |
-
$url = site_url();
|
671 |
-
$WABrand = '';
|
672 |
-
// Remove all illegal characters from a url
|
673 |
-
$url = filter_var( $url, FILTER_SANITIZE_URL );
|
674 |
-
// Validate url
|
675 |
-
if ( filter_var( $url, FILTER_VALIDATE_URL ) !== false ) {
|
676 |
-
$url = wp_parse_url( $url );
|
677 |
-
if ( array_key_exists( 'host', $url ) ) {
|
678 |
-
$arr = explode( '.', $url['host'] );
|
679 |
-
$WABrand = $arr[ count( $arr ) - 2 ];
|
680 |
-
}
|
681 |
-
}
|
682 |
-
|
683 |
-
?>
|
684 |
-
<input type="text" name="default[]" value="<?php echo esc_attr( $WABrand ); ?>" autocomplete="off" class="wf_default wf_attributes">
|
685 |
</td>
|
686 |
<td>
|
687 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps">
|
666 |
echo $wooFeedProduct->attributeDropdown();
|
667 |
?>
|
668 |
</select>
|
669 |
+
<input type="text" name="default[]" value="<?php echo esc_attr( woo_feed_get_default_brand() ); ?>" autocomplete="off" class="wf_default wf_attributes">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
</td>
|
671 |
<td>
|
672 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps">
|
admin/partials/templates/pinterest_add-feed.php
CHANGED
@@ -666,22 +666,7 @@ global $provider;
|
|
666 |
echo $wooFeedProduct->attributeDropdown();
|
667 |
?>
|
668 |
</select>
|
669 |
-
<?php
|
670 |
-
$url = site_url();
|
671 |
-
$WABrand = '';
|
672 |
-
// Remove all illegal characters from a url
|
673 |
-
$url = filter_var( $url, FILTER_SANITIZE_URL );
|
674 |
-
// Validate url
|
675 |
-
if ( filter_var( $url, FILTER_VALIDATE_URL ) !== false ) {
|
676 |
-
$url = wp_parse_url( $url );
|
677 |
-
if ( array_key_exists( 'host', $url ) ) {
|
678 |
-
$arr = explode( '.', $url['host'] );
|
679 |
-
$WABrand = $arr[ count( $arr ) - 2 ];
|
680 |
-
}
|
681 |
-
}
|
682 |
-
|
683 |
-
?>
|
684 |
-
<input type="text" name="default[]" value="<?php echo esc_attr( $WABrand ); ?>" autocomplete="off" class="wf_default wf_attributes">
|
685 |
</td>
|
686 |
<td>
|
687 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps">
|
666 |
echo $wooFeedProduct->attributeDropdown();
|
667 |
?>
|
668 |
</select>
|
669 |
+
<input type="text" name="default[]" value="<?php echo esc_attr( woo_feed_get_default_brand() ); ?>" autocomplete="off" class="wf_default wf_attributes">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
670 |
</td>
|
671 |
<td>
|
672 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps">
|
admin/partials/woo-feed-edit-filter.php
CHANGED
@@ -6,12 +6,12 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
6 |
<table class="table tree widefat fixed woo-feed-filters">
|
7 |
<tbody>
|
8 |
<tr>
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
<tr>
|
16 |
<td>
|
17 |
<label class="screen-reader-text" for="utm_source"><?php esc_html_e( 'Campaign Source', 'woo-feed' ); ?> <span class="required" aria-label="<?php esc_attr_e( 'Required', 'woo-feed' ); ?>">*</span></label>
|
@@ -49,17 +49,19 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
49 |
</label>
|
50 |
</td>
|
51 |
</tr>
|
|
|
|
|
52 |
<tr>
|
53 |
-
<td colspan="
|
54 |
<p>
|
55 |
<span class="description"><?php esc_html_e( 'Fill out the required fields (marked with *) in the form above, if any required field is empty, then the parameters will not be applied.', 'woo-feed' ); ?></span>
|
56 |
<a href="https://support.google.com/analytics/answer/1033863#parameters" target="_blank"><?php esc_html_e( 'Learn more about Campaign URL', 'woo-feed' ); ?></a>
|
57 |
</p>
|
58 |
</td>
|
59 |
</tr>
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
</tbody>
|
65 |
</table>
|
6 |
<table class="table tree widefat fixed woo-feed-filters">
|
7 |
<tbody>
|
8 |
<tr>
|
9 |
+
<td colspan="2"><?php _e( 'Campaign URL Builder', 'woo-feed' ); ?></td>
|
10 |
+
</tr>
|
11 |
+
<tr>
|
12 |
+
<td colspan="2">
|
13 |
+
<table class="table widefat fixed" id="wf_campaign_url_builder">
|
14 |
+
<tbody>
|
15 |
<tr>
|
16 |
<td>
|
17 |
<label class="screen-reader-text" for="utm_source"><?php esc_html_e( 'Campaign Source', 'woo-feed' ); ?> <span class="required" aria-label="<?php esc_attr_e( 'Required', 'woo-feed' ); ?>">*</span></label>
|
49 |
</label>
|
50 |
</td>
|
51 |
</tr>
|
52 |
+
</tbody>
|
53 |
+
<tfoot>
|
54 |
<tr>
|
55 |
+
<td colspan="5">
|
56 |
<p>
|
57 |
<span class="description"><?php esc_html_e( 'Fill out the required fields (marked with *) in the form above, if any required field is empty, then the parameters will not be applied.', 'woo-feed' ); ?></span>
|
58 |
<a href="https://support.google.com/analytics/answer/1033863#parameters" target="_blank"><?php esc_html_e( 'Learn more about Campaign URL', 'woo-feed' ); ?></a>
|
59 |
</p>
|
60 |
</td>
|
61 |
</tr>
|
62 |
+
</tfoot>
|
63 |
+
</table>
|
64 |
+
</td>
|
65 |
+
</tr>
|
66 |
</tbody>
|
67 |
</table>
|
includes/classes/class-woo-feed-default-attributes.php
CHANGED
@@ -478,7 +478,7 @@ class Woo_Feed_Default_Attributes {
|
|
478 |
public function merchants() {
|
479 |
return array(
|
480 |
'--1' => __( 'Custom Template', 'woo-feed' ),
|
481 |
-
'custom' => __( 'Custom
|
482 |
'---1' => '',
|
483 |
// popular
|
484 |
'--2' => __( 'Popular Templates', 'woo-feed' ),
|
@@ -497,58 +497,58 @@ class Woo_Feed_Default_Attributes {
|
|
497 |
'--3' => __( 'Templates', 'woo-feed' ),
|
498 |
'adform' => __( 'AdForm', 'woo-feed' ),
|
499 |
'adroll' => __( 'AdRoll', 'woo-feed' ),
|
500 |
-
'
|
501 |
-
'nextag' => __( 'Nextag', 'woo-feed' ),
|
502 |
-
'pricegrabber' => __( 'Price Grabber', 'woo-feed' ),
|
503 |
-
'polyvore' => __( 'Polyvore', 'woo-feed' ),
|
504 |
-
'pricerunner' => __( 'PriceRunner', 'woo-feed' ),
|
505 |
-
'kelkoo' => __( 'Kelkoo', 'woo-feed' ),
|
506 |
-
'shopzilla' => __( 'Shopzilla', 'woo-feed' ),
|
507 |
-
'shopmania' => __( 'Shopmania', 'woo-feed' ),
|
508 |
-
'shopbot' => __( 'Shopbot', 'woo-feed' ),
|
509 |
'become' => __( 'Become', 'woo-feed' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
'connexity' => __( 'Connexity', 'woo-feed' ),
|
511 |
-
'
|
512 |
-
'
|
|
|
513 |
'fruugo' => __( 'Fruugo', 'woo-feed' ),
|
514 |
'fruugo.au' => __( 'Fruugoaustralia.com', 'woo-feed' ),
|
515 |
-
'
|
516 |
-
'bol' => __( 'Bol.com', 'woo-feed' ),
|
517 |
-
'leguide' => __( 'LeGuide', 'woo-feed' ),
|
518 |
-
'real' => __( 'Real', 'woo-feed' ),
|
519 |
-
'crowdfox' => __( 'Crowdfox', 'woo-feed' ),
|
520 |
-
'jet' => __( 'Jet.com', 'woo-feed' ),
|
521 |
-
'wish' => __( 'Wish.com', 'woo-feed' ),
|
522 |
-
'zap.co.il' => __( 'Zap.co.il', 'woo-feed' ),
|
523 |
-
'myshopping.com.au' => __( 'Myshopping.com.au', 'woo-feed' ),
|
524 |
-
'smartly.io' => __( 'Smartly.io', 'woo-feed' ),
|
525 |
-
'stylight.com' => __( 'Stylight.com', 'woo-feed' ),
|
526 |
-
'nextad' => __( 'TheNextAd', 'woo-feed' ),
|
527 |
-
'skinflint.co.uk' => __( 'SkinFlint.co.uk', 'woo-feed' ),
|
528 |
-
'yahoo_nfa' => __( 'Yahoo NFA', 'woo-feed' ),
|
529 |
'hintaseuranta.fi' => __( 'Hintaseuranta.fi', 'woo-feed' ),
|
530 |
'incurvy' => __( 'Incurvy', 'woo-feed' ),
|
|
|
|
|
|
|
531 |
'kijiji.ca' => __( 'Kijiji.ca', 'woo-feed' ),
|
|
|
532 |
'marktplaats.nl' => __( 'Marktplaats.nl', 'woo-feed' ),
|
533 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
'shopalike.fr' => __( 'Shopalike.fr', 'woo-feed' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
'spartoo.fi' => __( 'Spartoo.fi', 'woo-feed' ),
|
536 |
-
'
|
537 |
-
'
|
538 |
-
'
|
539 |
-
'
|
540 |
-
'beslist.nl' => __( 'Beslist.nl', 'woo-feed' ),
|
541 |
-
'billiger.de' => __( 'Billiger.de', 'woo-feed' ),
|
542 |
'vertaa.fi' => __( 'Vertaa.fi', 'woo-feed' ),
|
543 |
-
'cdiscount.fr' => __( 'CDiscount.fr', 'woo-feed' ),
|
544 |
-
'fnac.fr' => __( 'Fnac.fr', 'woo-feed' ),
|
545 |
-
'miinto.nl' => __( 'Miinto.nl', 'woo-feed' ),
|
546 |
-
'fyndiq.se' => __( 'Fyndiq.se', 'woo-feed' ),
|
547 |
-
'criteo' => __( 'Criteo', 'woo-feed' ),
|
548 |
-
'avantlink' => __( 'Avantlink', 'woo-feed' ),
|
549 |
-
'shareasale' => __( 'ShareASale', 'woo-feed' ),
|
550 |
'walmart' => __( 'Walmart', 'woo-feed' ),
|
551 |
-
'
|
|
|
|
|
|
|
552 |
'---3' => '',
|
553 |
);
|
554 |
}
|
@@ -564,7 +564,7 @@ class Woo_Feed_Default_Attributes {
|
|
564 |
'product_type' => 'Product Categories[product_type] ',
|
565 |
'current_category' => 'Google Product Category[google_product_category]',
|
566 |
'image' => 'Main Image[image_link]',
|
567 |
-
'images' => '
|
568 |
'images_1' => 'Additional Image 1 [additional_image_link]',
|
569 |
'images_2' => 'Additional Image 2 [additional_image_link]',
|
570 |
'images_3' => 'Additional Image 3 [additional_image_link]',
|
@@ -580,12 +580,11 @@ class Woo_Feed_Default_Attributes {
|
|
580 |
'--2' => 'Availability & Price',
|
581 |
'availability' => 'Stock Status[availability]',
|
582 |
'availability_date' => 'Availability Date[availability_date]',
|
583 |
-
'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]',
|
584 |
-
'expiration_date' => 'Expiration Date[expiration_date]',
|
585 |
'inventory' => 'Facebook Inventory[inventory]',
|
586 |
'override' => 'Facebook Override[override]',
|
587 |
'price' => 'Regular Price[price]',
|
588 |
'sale_price' => 'Sale Price[sale_price]',
|
|
|
589 |
'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]',
|
590 |
'---2' => '',
|
591 |
'--3' => 'Unique Product Identifiers',
|
@@ -606,7 +605,7 @@ class Woo_Feed_Default_Attributes {
|
|
606 |
'size_system' => 'Size System[size_system]',
|
607 |
'---4' => '',
|
608 |
'--5' => 'Tax & Shipping',
|
609 |
-
|
610 |
'tax_country' => 'Tax Country[tax_country]',
|
611 |
'tax_region' => 'Tax Region[tax_region]',
|
612 |
'tax_rate' => 'Tax Rate[tax_rate]',
|
@@ -642,6 +641,7 @@ class Woo_Feed_Default_Attributes {
|
|
642 |
'--10' => 'Additional Attributes',
|
643 |
'excluded_destination' => 'Excluded Destination[excluded_destination]',
|
644 |
'included_destination' => 'Included Destination[included_destination]',
|
|
|
645 |
'---10' => '',
|
646 |
'--11' => 'Unit Prices (EU Countries and Switzerland Only)',
|
647 |
'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]',
|
478 |
public function merchants() {
|
479 |
return array(
|
480 |
'--1' => __( 'Custom Template', 'woo-feed' ),
|
481 |
+
'custom' => __( 'Custom Template 1', 'woo-feed' ),
|
482 |
'---1' => '',
|
483 |
// popular
|
484 |
'--2' => __( 'Popular Templates', 'woo-feed' ),
|
497 |
'--3' => __( 'Templates', 'woo-feed' ),
|
498 |
'adform' => __( 'AdForm', 'woo-feed' ),
|
499 |
'adroll' => __( 'AdRoll', 'woo-feed' ),
|
500 |
+
'avantlink' => __( 'Avantlink', 'woo-feed' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
501 |
'become' => __( 'Become', 'woo-feed' ),
|
502 |
+
'beslist.nl' => __( 'Beslist.nl', 'woo-feed' ),
|
503 |
+
'billiger.de' => __( 'Billiger.de', 'woo-feed' ),
|
504 |
+
'bol' => __( 'Bol.com', 'woo-feed' ),
|
505 |
+
'bonanza' => __( 'Bonanza', 'woo-feed' ),
|
506 |
+
'cdiscount.fr' => __( 'CDiscount.fr', 'woo-feed' ),
|
507 |
+
'comparer.be' => __( 'Comparer.be', 'woo-feed' ),
|
508 |
'connexity' => __( 'Connexity', 'woo-feed' ),
|
509 |
+
'criteo' => __( 'Criteo', 'woo-feed' ),
|
510 |
+
'crowdfox' => __( 'Crowdfox', 'woo-feed' ),
|
511 |
+
'dooyoo' => __( 'Dooyoo', 'woo-feed' ),
|
512 |
'fruugo' => __( 'Fruugo', 'woo-feed' ),
|
513 |
'fruugo.au' => __( 'Fruugoaustralia.com', 'woo-feed' ),
|
514 |
+
'fyndiq.se' => __( 'Fyndiq.se', 'woo-feed' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
'hintaseuranta.fi' => __( 'Hintaseuranta.fi', 'woo-feed' ),
|
516 |
'incurvy' => __( 'Incurvy', 'woo-feed' ),
|
517 |
+
'jet' => __( 'Jet.com', 'woo-feed' ),
|
518 |
+
'kelkoo' => __( 'Kelkoo', 'woo-feed' ),
|
519 |
+
'kieskeurig.nl' => __( 'Kieskeurig.nl', 'woo-feed' ),
|
520 |
'kijiji.ca' => __( 'Kijiji.ca', 'woo-feed' ),
|
521 |
+
'leguide' => __( 'LeGuide', 'woo-feed' ),
|
522 |
'marktplaats.nl' => __( 'Marktplaats.nl', 'woo-feed' ),
|
523 |
+
'miinto.nl' => __( 'Miinto.nl', 'woo-feed' ),
|
524 |
+
'modina.de' => __( 'Modina.de', 'woo-feed' ),
|
525 |
+
'myshopping.com.au' => __( 'Myshopping.com.au', 'woo-feed' ),
|
526 |
+
'nextag' => __( 'Nextag', 'woo-feed' ),
|
527 |
+
'polyvore' => __( 'Polyvore', 'woo-feed' ),
|
528 |
+
'pricegrabber' => __( 'Price Grabber', 'woo-feed' ),
|
529 |
+
'pricerunner' => __( 'Price Runner', 'woo-feed' ),
|
530 |
+
'prisjakt' => __( 'Prisjakt', 'woo-feed' ),
|
531 |
+
'rakuten.de' => __( 'Rakuten.de', 'woo-feed' ),
|
532 |
+
'real' => __( 'Real', 'woo-feed' ),
|
533 |
+
'shareasale' => __( 'ShareASale', 'woo-feed' ),
|
534 |
'shopalike.fr' => __( 'Shopalike.fr', 'woo-feed' ),
|
535 |
+
'shopbot' => __( 'Shopbot', 'woo-feed' ),
|
536 |
+
'shopmania' => __( 'Shopmania', 'woo-feed' ),
|
537 |
+
'shopping' => __( 'Shopping.com', 'woo-feed' ),
|
538 |
+
'shopzilla' => __( 'Shopzilla', 'woo-feed' ),
|
539 |
+
'skinflint.co.uk' => __( 'SkinFlint.co.uk', 'woo-feed' ),
|
540 |
+
'smartly.io' => __( 'Smartly.io', 'woo-feed' ),
|
541 |
'spartoo.fi' => __( 'Spartoo.fi', 'woo-feed' ),
|
542 |
+
'stylight.com' => __( 'Stylight.com', 'woo-feed' ),
|
543 |
+
'nextad' => __( 'TheNextAd', 'woo-feed' ),
|
544 |
+
'trovaprezzi' => __( 'Trovaprezzi.it', 'woo-feed' ),
|
545 |
+
'twenga' => __( 'Twenga', 'woo-feed' ),
|
|
|
|
|
546 |
'vertaa.fi' => __( 'Vertaa.fi', 'woo-feed' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
'walmart' => __( 'Walmart', 'woo-feed' ),
|
548 |
+
'webmarchand' => __( 'Webmarchand', 'woo-feed' ),
|
549 |
+
'wish' => __( 'Wish.com', 'woo-feed' ),
|
550 |
+
'yahoo_nfa' => __( 'Yahoo NFA', 'woo-feed' ),
|
551 |
+
'zap.co.il' => __( 'Zap.co.il', 'woo-feed' ),
|
552 |
'---3' => '',
|
553 |
);
|
554 |
}
|
564 |
'product_type' => 'Product Categories[product_type] ',
|
565 |
'current_category' => 'Google Product Category[google_product_category]',
|
566 |
'image' => 'Main Image[image_link]',
|
567 |
+
'images' => 'Additional Images [additional_image_link]',
|
568 |
'images_1' => 'Additional Image 1 [additional_image_link]',
|
569 |
'images_2' => 'Additional Image 2 [additional_image_link]',
|
570 |
'images_3' => 'Additional Image 3 [additional_image_link]',
|
580 |
'--2' => 'Availability & Price',
|
581 |
'availability' => 'Stock Status[availability]',
|
582 |
'availability_date' => 'Availability Date[availability_date]',
|
|
|
|
|
583 |
'inventory' => 'Facebook Inventory[inventory]',
|
584 |
'override' => 'Facebook Override[override]',
|
585 |
'price' => 'Regular Price[price]',
|
586 |
'sale_price' => 'Sale Price[sale_price]',
|
587 |
+
'cost_of_goods_sold' => 'Cost of Goods Sold[cost_of_goods_sold]',
|
588 |
'sale_price_effective_date' => 'Sale Price Effective Date[sale_price_effective_date]',
|
589 |
'---2' => '',
|
590 |
'--3' => 'Unique Product Identifiers',
|
605 |
'size_system' => 'Size System[size_system]',
|
606 |
'---4' => '',
|
607 |
'--5' => 'Tax & Shipping',
|
608 |
+
'tax' => 'Tax[tax]',
|
609 |
'tax_country' => 'Tax Country[tax_country]',
|
610 |
'tax_region' => 'Tax Region[tax_region]',
|
611 |
'tax_rate' => 'Tax Rate[tax_rate]',
|
641 |
'--10' => 'Additional Attributes',
|
642 |
'excluded_destination' => 'Excluded Destination[excluded_destination]',
|
643 |
'included_destination' => 'Included Destination[included_destination]',
|
644 |
+
'expiration_date' => 'Expiration Date [expiration_date]',
|
645 |
'---10' => '',
|
646 |
'--11' => 'Unit Prices (EU Countries and Switzerland Only)',
|
647 |
'unit_pricing_measure' => 'Unit Pricing Measure[unit_pricing_measure]',
|
includes/classes/class-woo-feed-dropdown.php
CHANGED
@@ -59,18 +59,14 @@ class Woo_Feed_Dropdown {
|
|
59 |
return $str;
|
60 |
}
|
61 |
|
62 |
-
public function outputTypes() {
|
63 |
-
$output_types =
|
64 |
-
if ( ! empty( $output_types ) ) {
|
65 |
-
return $output_types;
|
66 |
-
}
|
67 |
-
$str = '';
|
68 |
foreach ( $this->output_types as $key => $value ) {
|
69 |
-
$
|
70 |
}
|
71 |
-
update_option( 'woo_feed_output_type_options', $
|
72 |
|
73 |
-
return $
|
74 |
}
|
75 |
|
76 |
/**
|
@@ -81,7 +77,7 @@ class Woo_Feed_Dropdown {
|
|
81 |
* @return string
|
82 |
*/
|
83 |
public function googleTaxonomy( $selected = '' ) {
|
84 |
-
|
85 |
$fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/google_taxonomy.txt';
|
86 |
$customTaxonomyFile = fopen( $fileName, 'r' ); // phpcs:ignore
|
87 |
$str = '';
|
@@ -97,7 +93,7 @@ class Woo_Feed_Dropdown {
|
|
97 |
// First line contains metadata, ignore it
|
98 |
fgets( $customTaxonomyFile ); // phpcs:ignore
|
99 |
while ( $line = fgets( $customTaxonomyFile ) ) { // phpcs:ignore
|
100 |
-
list( $catId, $cat ) = explode(
|
101 |
$catId = (int) trim( $catId );
|
102 |
$cat = trim( $cat );
|
103 |
$str .= sprintf(
|
@@ -109,7 +105,7 @@ class Woo_Feed_Dropdown {
|
|
109 |
}
|
110 |
}
|
111 |
if ( ! empty( $str ) ) {
|
112 |
-
$str =
|
113 |
}
|
114 |
|
115 |
return $str;
|
@@ -121,19 +117,19 @@ class Woo_Feed_Dropdown {
|
|
121 |
* @return array
|
122 |
*/
|
123 |
public function googleTaxonomyArray() {
|
124 |
-
|
125 |
$fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/google_taxonomy.txt';
|
126 |
-
$customTaxonomyFile = fopen( $fileName, 'r' );
|
127 |
-
$taxonomy =
|
128 |
if ( $customTaxonomyFile ) {
|
129 |
// First line contains metadata, ignore it
|
130 |
-
fgets( $customTaxonomyFile );
|
131 |
-
while ( $line = fgets( $customTaxonomyFile ) ) {
|
132 |
-
list( $catId, $cat ) = explode(
|
133 |
-
$taxonomy[] =
|
134 |
'value' => absint( trim( $catId ) ),
|
135 |
'text' => trim( $cat ),
|
136 |
-
|
137 |
}
|
138 |
}
|
139 |
$taxonomy = array_filter( $taxonomy );
|
@@ -166,4 +162,28 @@ class Woo_Feed_Dropdown {
|
|
166 |
|
167 |
return substr_replace( $google_attributes, "selected='selected' ", $pos, 0 );
|
168 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
}
|
59 |
return $str;
|
60 |
}
|
61 |
|
62 |
+
public function outputTypes( $selected = '' ) {
|
63 |
+
$output_types = '';
|
|
|
|
|
|
|
|
|
64 |
foreach ( $this->output_types as $key => $value ) {
|
65 |
+
$output_types .= "<option value=\"{$key}\"".selected( $selected, $key, false ).">{$value}</option>";
|
66 |
}
|
67 |
+
// @TODO remove update_option( 'woo_feed_output_type_options', $output_types, false );
|
68 |
|
69 |
+
return $output_types;
|
70 |
}
|
71 |
|
72 |
/**
|
77 |
* @return string
|
78 |
*/
|
79 |
public function googleTaxonomy( $selected = '' ) {
|
80 |
+
// Get All Google Taxonomies
|
81 |
$fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/google_taxonomy.txt';
|
82 |
$customTaxonomyFile = fopen( $fileName, 'r' ); // phpcs:ignore
|
83 |
$str = '';
|
93 |
// First line contains metadata, ignore it
|
94 |
fgets( $customTaxonomyFile ); // phpcs:ignore
|
95 |
while ( $line = fgets( $customTaxonomyFile ) ) { // phpcs:ignore
|
96 |
+
list( $catId, $cat ) = explode( '-', $line );
|
97 |
$catId = (int) trim( $catId );
|
98 |
$cat = trim( $cat );
|
99 |
$str .= sprintf(
|
105 |
}
|
106 |
}
|
107 |
if ( ! empty( $str ) ) {
|
108 |
+
$str = '<option></option>' . $str;
|
109 |
}
|
110 |
|
111 |
return $str;
|
117 |
* @return array
|
118 |
*/
|
119 |
public function googleTaxonomyArray() {
|
120 |
+
// Get All Google Taxonomies
|
121 |
$fileName = WOO_FEED_FREE_ADMIN_PATH . '/partials/templates/google_taxonomy.txt';
|
122 |
+
$customTaxonomyFile = fopen( $fileName, 'r' ); // phpcs:ignore
|
123 |
+
$taxonomy = array();
|
124 |
if ( $customTaxonomyFile ) {
|
125 |
// First line contains metadata, ignore it
|
126 |
+
fgets( $customTaxonomyFile ); // phpcs:ignore
|
127 |
+
while ( $line = fgets( $customTaxonomyFile ) ) { // phpcs:ignore
|
128 |
+
list( $catId, $cat ) = explode( '-', $line );
|
129 |
+
$taxonomy[] = array(
|
130 |
'value' => absint( trim( $catId ) ),
|
131 |
'text' => trim( $cat ),
|
132 |
+
);
|
133 |
}
|
134 |
}
|
135 |
$taxonomy = array_filter( $taxonomy );
|
162 |
|
163 |
return substr_replace( $google_attributes, "selected='selected' ", $pos, 0 );
|
164 |
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Facebook Attribute list
|
168 |
+
* Alias of google attribute dropdown for facebook
|
169 |
+
*
|
170 |
+
* @param string $selected
|
171 |
+
*
|
172 |
+
* @return string
|
173 |
+
*/
|
174 |
+
public function facebookAttributesDropdown( $selected = '' ) {
|
175 |
+
return $this->googleAttributesDropdown( $selected );
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Pinterest Attribute list
|
180 |
+
* Alias of google attribute dropdown for pinterest
|
181 |
+
*
|
182 |
+
* @param string $selected
|
183 |
+
*
|
184 |
+
* @return string
|
185 |
+
*/
|
186 |
+
public function pinterestAttributesDropdown( $selected = '' ) {
|
187 |
+
return $this->googleAttributesDropdown( $selected );
|
188 |
+
}
|
189 |
}
|
includes/classes/class-woo-feed-merchant.php
CHANGED
@@ -8,2784 +8,70 @@
|
|
8 |
|
9 |
class Woo_Feed_Merchant {
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
'pattern',
|
60 |
-
),
|
61 |
-
'attributes' => array( 'sku', 'id', 'title', 'product_type', 'description', 'image', '' ),
|
62 |
-
'default' => array( '', '', '', '', '', '', '' ),
|
63 |
-
'suffix' => array( '', '', '', '', '', '', '' ),
|
64 |
-
'output_type' => array( '1', '1', '1', '1', '2', '1', '' ),
|
65 |
-
'limit' => array( '', '', '', '', '', '500', '5000' ),
|
66 |
-
),
|
67 |
-
'adform' => array(
|
68 |
-
'mattributes' => array(
|
69 |
-
'product_id',
|
70 |
-
'product_name',
|
71 |
-
'product_category_id',
|
72 |
-
'product_deeplink',
|
73 |
-
'product_image',
|
74 |
-
'product_price',
|
75 |
-
),
|
76 |
-
'prefix' => array( '', '', '', '', '', '' ),
|
77 |
-
'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'attribute' ),
|
78 |
-
'attributes' => array( 'id', 'title', 'product_type', 'link', 'image', 'price' ),
|
79 |
-
'default' => array( '', '', '', '', '', '' ),
|
80 |
-
'suffix' => array( '', '', '', '', '', '' ),
|
81 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1' ),
|
82 |
-
'limit' => array( '', '', '', '', '', '' ),
|
83 |
-
),
|
84 |
-
'avantlink' => array(
|
85 |
-
'mattributes' => array(
|
86 |
-
'SKU',
|
87 |
-
'Brand Name',
|
88 |
-
'Product Name',
|
89 |
-
'Long Description',
|
90 |
-
'Category',
|
91 |
-
'Standardized Categorization',
|
92 |
-
'Image URL',
|
93 |
-
'Buy Link',
|
94 |
-
'Retail Price',
|
95 |
-
'Sale Price',
|
96 |
-
'UPC',
|
97 |
-
),
|
98 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
99 |
-
'type' => array(
|
100 |
-
'attribute',
|
101 |
-
'attribute',
|
102 |
-
'attribute',
|
103 |
-
'attribute',
|
104 |
-
'attribute',
|
105 |
-
'attribute',
|
106 |
-
'attribute',
|
107 |
-
'attribute',
|
108 |
-
'attribute',
|
109 |
-
'attribute',
|
110 |
-
'attribute',
|
111 |
-
),
|
112 |
-
'attributes' => array(
|
113 |
-
'sku',
|
114 |
-
'',
|
115 |
-
'title',
|
116 |
-
'description',
|
117 |
-
'product_type',
|
118 |
-
'',
|
119 |
-
'image',
|
120 |
-
'link',
|
121 |
-
'price',
|
122 |
-
'sale_price',
|
123 |
-
'',
|
124 |
-
),
|
125 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
126 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
127 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
128 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
129 |
-
),
|
130 |
-
'become' => array(
|
131 |
-
'mattributes' => array(
|
132 |
-
'Unique ID',
|
133 |
-
'Title',
|
134 |
-
'Description',
|
135 |
-
'Category',
|
136 |
-
'Product URL',
|
137 |
-
'Image URL',
|
138 |
-
'Condition',
|
139 |
-
'Availability',
|
140 |
-
'Current Price',
|
141 |
-
),
|
142 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
143 |
-
'type' => array(
|
144 |
-
'attribute',
|
145 |
-
'attribute',
|
146 |
-
'attribute',
|
147 |
-
'attribute',
|
148 |
-
'attribute',
|
149 |
-
'attribute',
|
150 |
-
'attribute',
|
151 |
-
'attribute',
|
152 |
-
'attribute',
|
153 |
-
),
|
154 |
-
'attributes' => array(
|
155 |
-
'id',
|
156 |
-
'title',
|
157 |
-
'description',
|
158 |
-
'product_type',
|
159 |
-
'link',
|
160 |
-
'image',
|
161 |
-
'condition',
|
162 |
-
'availability',
|
163 |
-
'price',
|
164 |
-
),
|
165 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
166 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
167 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
168 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
169 |
-
),
|
170 |
-
'bonanza' => array(
|
171 |
-
'mattributes' => array(
|
172 |
-
'id',
|
173 |
-
'title',
|
174 |
-
'description',
|
175 |
-
'price',
|
176 |
-
'images',
|
177 |
-
'category',
|
178 |
-
'booth_category',
|
179 |
-
'shipping_price',
|
180 |
-
'shipping_type',
|
181 |
-
'shipping_service',
|
182 |
-
'shipping_lbs',
|
183 |
-
'shipping_oz',
|
184 |
-
'shipping_carrier',
|
185 |
-
'shipping_package',
|
186 |
-
'sku',
|
187 |
-
'worldwide_shipping_price',
|
188 |
-
'worldwide_shipping_type',
|
189 |
-
'worldwide_shipping_carrier',
|
190 |
-
'quantity',
|
191 |
-
'trait',
|
192 |
-
'force_update',
|
193 |
-
),
|
194 |
-
'prefix' => array(
|
195 |
-
'',
|
196 |
-
'',
|
197 |
-
'',
|
198 |
-
'',
|
199 |
-
'',
|
200 |
-
'',
|
201 |
-
'',
|
202 |
-
'',
|
203 |
-
'',
|
204 |
-
'',
|
205 |
-
'',
|
206 |
-
'',
|
207 |
-
'',
|
208 |
-
'',
|
209 |
-
'',
|
210 |
-
'',
|
211 |
-
'',
|
212 |
-
'',
|
213 |
-
'',
|
214 |
-
'',
|
215 |
-
'',
|
216 |
-
),
|
217 |
-
'type' => array(
|
218 |
-
'attribute',
|
219 |
-
'attribute',
|
220 |
-
'attribute',
|
221 |
-
'attribute',
|
222 |
-
'attribute',
|
223 |
-
'pattern',
|
224 |
-
'attribute',
|
225 |
-
'pattern',
|
226 |
-
'pattern',
|
227 |
-
'pattern',
|
228 |
-
'pattern',
|
229 |
-
'pattern',
|
230 |
-
'pattern',
|
231 |
-
'pattern',
|
232 |
-
'attribute',
|
233 |
-
'pattern',
|
234 |
-
'pattern',
|
235 |
-
'pattern',
|
236 |
-
'attribute',
|
237 |
-
'pattern',
|
238 |
-
'pattern',
|
239 |
-
),
|
240 |
-
'attributes' => array(
|
241 |
-
'id',
|
242 |
-
'title',
|
243 |
-
'description',
|
244 |
-
'price',
|
245 |
-
'image',
|
246 |
-
'',
|
247 |
-
'product_type',
|
248 |
-
'',
|
249 |
-
'',
|
250 |
-
'',
|
251 |
-
'',
|
252 |
-
'',
|
253 |
-
'',
|
254 |
-
'',
|
255 |
-
'sku',
|
256 |
-
'',
|
257 |
-
'',
|
258 |
-
'',
|
259 |
-
'quantity',
|
260 |
-
'',
|
261 |
-
'',
|
262 |
-
),
|
263 |
-
'default' => array(
|
264 |
-
'',
|
265 |
-
'',
|
266 |
-
'',
|
267 |
-
'',
|
268 |
-
'',
|
269 |
-
'',
|
270 |
-
'',
|
271 |
-
'',
|
272 |
-
'',
|
273 |
-
'',
|
274 |
-
'',
|
275 |
-
'',
|
276 |
-
'',
|
277 |
-
'',
|
278 |
-
'',
|
279 |
-
'',
|
280 |
-
'',
|
281 |
-
'',
|
282 |
-
'',
|
283 |
-
'',
|
284 |
-
'',
|
285 |
-
),
|
286 |
-
'suffix' => array(
|
287 |
-
'',
|
288 |
-
'',
|
289 |
-
'',
|
290 |
-
'',
|
291 |
-
'',
|
292 |
-
'',
|
293 |
-
'',
|
294 |
-
'',
|
295 |
-
'',
|
296 |
-
'',
|
297 |
-
'',
|
298 |
-
'',
|
299 |
-
'',
|
300 |
-
'',
|
301 |
-
'',
|
302 |
-
'',
|
303 |
-
'',
|
304 |
-
'',
|
305 |
-
'',
|
306 |
-
'',
|
307 |
-
'',
|
308 |
-
),
|
309 |
-
'output_type' => array(
|
310 |
-
'1',
|
311 |
-
'1',
|
312 |
-
'1',
|
313 |
-
'1',
|
314 |
-
'1',
|
315 |
-
'1',
|
316 |
-
'1',
|
317 |
-
'1',
|
318 |
-
'1',
|
319 |
-
'1',
|
320 |
-
'1',
|
321 |
-
'1',
|
322 |
-
'1',
|
323 |
-
'1',
|
324 |
-
'1',
|
325 |
-
'1',
|
326 |
-
'1',
|
327 |
-
'1',
|
328 |
-
'1',
|
329 |
-
'1',
|
330 |
-
'1',
|
331 |
-
),
|
332 |
-
'limit' => array(
|
333 |
-
'',
|
334 |
-
'',
|
335 |
-
'',
|
336 |
-
'',
|
337 |
-
'',
|
338 |
-
'',
|
339 |
-
'',
|
340 |
-
'',
|
341 |
-
'',
|
342 |
-
'',
|
343 |
-
'',
|
344 |
-
'',
|
345 |
-
'',
|
346 |
-
'',
|
347 |
-
'',
|
348 |
-
'',
|
349 |
-
'',
|
350 |
-
'',
|
351 |
-
'',
|
352 |
-
'',
|
353 |
-
'',
|
354 |
-
),
|
355 |
-
),
|
356 |
-
'connexity' => array(
|
357 |
-
'mattributes' => array(
|
358 |
-
'Unique ID',
|
359 |
-
'Title',
|
360 |
-
'Description',
|
361 |
-
'Category',
|
362 |
-
'Product URL',
|
363 |
-
'Image URL',
|
364 |
-
'Condition',
|
365 |
-
'Availability',
|
366 |
-
'Current Price',
|
367 |
-
),
|
368 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
369 |
-
'type' => array(
|
370 |
-
'attribute',
|
371 |
-
'attribute',
|
372 |
-
'attribute',
|
373 |
-
'attribute',
|
374 |
-
'attribute',
|
375 |
-
'attribute',
|
376 |
-
'attribute',
|
377 |
-
'attribute',
|
378 |
-
'attribute',
|
379 |
-
),
|
380 |
-
'attributes' => array(
|
381 |
-
'id',
|
382 |
-
'title',
|
383 |
-
'description',
|
384 |
-
'product_type',
|
385 |
-
'link',
|
386 |
-
'image',
|
387 |
-
'condition',
|
388 |
-
'availability',
|
389 |
-
'price',
|
390 |
-
),
|
391 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
392 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
393 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
394 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
395 |
-
),
|
396 |
-
'criteo' => array(
|
397 |
-
'mattributes' => array(
|
398 |
-
'ID',
|
399 |
-
'title',
|
400 |
-
'description',
|
401 |
-
'google_product_category',
|
402 |
-
'link',
|
403 |
-
'image_link',
|
404 |
-
'additional_image_link',
|
405 |
-
'availability',
|
406 |
-
'price',
|
407 |
-
'sale_price',
|
408 |
-
'gtin',
|
409 |
-
'mpn',
|
410 |
-
'brand',
|
411 |
-
'product_type',
|
412 |
-
'product_type_key',
|
413 |
-
'number_of_reviews',
|
414 |
-
'product_rating',
|
415 |
-
'filters',
|
416 |
-
'adult',
|
417 |
-
),
|
418 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
419 |
-
'type' => array(
|
420 |
-
'attribute',
|
421 |
-
'attribute',
|
422 |
-
'attribute',
|
423 |
-
'attribute',
|
424 |
-
'attribute',
|
425 |
-
'attribute',
|
426 |
-
'attribute',
|
427 |
-
'attribute',
|
428 |
-
'attribute',
|
429 |
-
'attribute',
|
430 |
-
'attribute',
|
431 |
-
'attribute',
|
432 |
-
'attribute',
|
433 |
-
'attribute',
|
434 |
-
'attribute',
|
435 |
-
'attribute',
|
436 |
-
'attribute',
|
437 |
-
'attribute',
|
438 |
-
'attribute',
|
439 |
-
),
|
440 |
-
'attributes' => array(
|
441 |
-
'id',
|
442 |
-
'title',
|
443 |
-
'description',
|
444 |
-
'product_type',
|
445 |
-
'link',
|
446 |
-
'image',
|
447 |
-
'images',
|
448 |
-
'availability',
|
449 |
-
'price',
|
450 |
-
'sale_price',
|
451 |
-
'',
|
452 |
-
'',
|
453 |
-
'',
|
454 |
-
'',
|
455 |
-
'',
|
456 |
-
'',
|
457 |
-
'',
|
458 |
-
'',
|
459 |
-
'',
|
460 |
-
),
|
461 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
462 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
463 |
-
'output_type' => array(
|
464 |
-
'1',
|
465 |
-
'1',
|
466 |
-
'1',
|
467 |
-
'1',
|
468 |
-
'1',
|
469 |
-
'1',
|
470 |
-
'1',
|
471 |
-
'1',
|
472 |
-
'1',
|
473 |
-
'1',
|
474 |
-
'1',
|
475 |
-
'1',
|
476 |
-
'1',
|
477 |
-
'1',
|
478 |
-
'1',
|
479 |
-
'1',
|
480 |
-
'1',
|
481 |
-
'1',
|
482 |
-
'1',
|
483 |
-
),
|
484 |
-
'limit' => array(
|
485 |
-
'240',
|
486 |
-
'150',
|
487 |
-
'5000',
|
488 |
-
'',
|
489 |
-
'1024',
|
490 |
-
'2000',
|
491 |
-
'2000',
|
492 |
-
'25',
|
493 |
-
'14',
|
494 |
-
'50',
|
495 |
-
'50',
|
496 |
-
'70',
|
497 |
-
'70',
|
498 |
-
'500',
|
499 |
-
'500',
|
500 |
-
'8',
|
501 |
-
'8',
|
502 |
-
'2000',
|
503 |
-
'',
|
504 |
-
),
|
505 |
-
),
|
506 |
-
'crowdfox' => array(
|
507 |
-
'mattributes' => array(
|
508 |
-
'sku ',
|
509 |
-
'image',
|
510 |
-
'name',
|
511 |
-
'price',
|
512 |
-
'ean',
|
513 |
-
'dlv_time',
|
514 |
-
'dlv_cost',
|
515 |
-
'obl_info',
|
516 |
-
'brand',
|
517 |
-
'mpn',
|
518 |
-
'link',
|
519 |
-
'desc',
|
520 |
-
'sell_max',
|
521 |
-
'shop_cat',
|
522 |
-
),
|
523 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
524 |
-
'type' => array(
|
525 |
-
'attribute',
|
526 |
-
'attribute',
|
527 |
-
'attribute',
|
528 |
-
'attribute',
|
529 |
-
'attribute',
|
530 |
-
'pattern',
|
531 |
-
'pattern',
|
532 |
-
'attribute',
|
533 |
-
'pattern',
|
534 |
-
'attribute',
|
535 |
-
'attribute',
|
536 |
-
'attribute',
|
537 |
-
'attribute',
|
538 |
-
'attribute',
|
539 |
-
),
|
540 |
-
'attributes' => array(
|
541 |
-
'sku',
|
542 |
-
'image',
|
543 |
-
'title',
|
544 |
-
'price',
|
545 |
-
'',
|
546 |
-
'',
|
547 |
-
'',
|
548 |
-
'',
|
549 |
-
'',
|
550 |
-
'',
|
551 |
-
'link',
|
552 |
-
'description',
|
553 |
-
'quantity',
|
554 |
-
'product_type',
|
555 |
-
),
|
556 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
557 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
558 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
559 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
560 |
-
),
|
561 |
-
'fruugo' => array(
|
562 |
-
'mattributes' => array(
|
563 |
-
'ProductId',
|
564 |
-
'SkuId',
|
565 |
-
'EAN',
|
566 |
-
'Brand',
|
567 |
-
'Category',
|
568 |
-
'Imageurl1',
|
569 |
-
'StockStatus',
|
570 |
-
'StockQuantity',
|
571 |
-
'Title',
|
572 |
-
'Description',
|
573 |
-
'NormalPriceWithoutVat',
|
574 |
-
'DiscountPriceWithoutVAT',
|
575 |
-
'VatRate',
|
576 |
-
'Currency',
|
577 |
-
'Country',
|
578 |
-
),
|
579 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
580 |
-
'type' => array(
|
581 |
-
'attribute',
|
582 |
-
'attribute',
|
583 |
-
'attribute',
|
584 |
-
'attribute',
|
585 |
-
'attribute',
|
586 |
-
'attribute',
|
587 |
-
'attribute',
|
588 |
-
'attribute',
|
589 |
-
'attribute',
|
590 |
-
'attribute',
|
591 |
-
'attribute',
|
592 |
-
'attribute',
|
593 |
-
'attribute',
|
594 |
-
'pattern',
|
595 |
-
'attribute',
|
596 |
-
),
|
597 |
-
'attributes' => array(
|
598 |
-
'id',
|
599 |
-
'sku',
|
600 |
-
'',
|
601 |
-
'',
|
602 |
-
'product_type',
|
603 |
-
'image',
|
604 |
-
'availability',
|
605 |
-
'quantity',
|
606 |
-
'title',
|
607 |
-
'description',
|
608 |
-
'price',
|
609 |
-
'sale_price',
|
610 |
-
'',
|
611 |
-
'',
|
612 |
-
'',
|
613 |
-
),
|
614 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', 'USD', '' ),
|
615 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
616 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
617 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
618 |
-
),
|
619 |
-
'fruugo.au' => array(
|
620 |
-
'mattributes' => array(
|
621 |
-
'ProductId',
|
622 |
-
'SkuId',
|
623 |
-
'EAN',
|
624 |
-
'Brand',
|
625 |
-
'Category',
|
626 |
-
'Imageurl1',
|
627 |
-
'StockStatus',
|
628 |
-
'StockQuantity',
|
629 |
-
'Title',
|
630 |
-
'Description',
|
631 |
-
'NormalPriceWithoutVat',
|
632 |
-
'DiscountPriceWithoutVAT',
|
633 |
-
'VatRate',
|
634 |
-
'Currency',
|
635 |
-
'Country',
|
636 |
-
),
|
637 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
638 |
-
'type' => array(
|
639 |
-
'attribute',
|
640 |
-
'attribute',
|
641 |
-
'attribute',
|
642 |
-
'attribute',
|
643 |
-
'attribute',
|
644 |
-
'attribute',
|
645 |
-
'attribute',
|
646 |
-
'attribute',
|
647 |
-
'attribute',
|
648 |
-
'attribute',
|
649 |
-
'attribute',
|
650 |
-
'attribute',
|
651 |
-
'attribute',
|
652 |
-
'pattern',
|
653 |
-
'attribute',
|
654 |
-
),
|
655 |
-
'attributes' => array(
|
656 |
-
'id',
|
657 |
-
'sku',
|
658 |
-
'',
|
659 |
-
'',
|
660 |
-
'product_type',
|
661 |
-
'image',
|
662 |
-
'availability',
|
663 |
-
'quantity',
|
664 |
-
'title',
|
665 |
-
'description',
|
666 |
-
'price',
|
667 |
-
'sale_price',
|
668 |
-
'',
|
669 |
-
'',
|
670 |
-
'',
|
671 |
-
),
|
672 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', 'USD', '' ),
|
673 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
674 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
675 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
676 |
-
),
|
677 |
-
'jet' => array(
|
678 |
-
'mattributes' => array(
|
679 |
-
'Merchant SKU ID',
|
680 |
-
'Unique ID',
|
681 |
-
'Multi-pack Quantity',
|
682 |
-
'Product Title',
|
683 |
-
'Description',
|
684 |
-
'Image',
|
685 |
-
'Product Price',
|
686 |
-
'Jet Category',
|
687 |
-
'Brand',
|
688 |
-
),
|
689 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
690 |
-
'type' => array(
|
691 |
-
'attribute',
|
692 |
-
'attribute',
|
693 |
-
'pattern',
|
694 |
-
'attribute',
|
695 |
-
'attribute',
|
696 |
-
'attribute',
|
697 |
-
'attribute',
|
698 |
-
'pattern',
|
699 |
-
'pattern',
|
700 |
-
),
|
701 |
-
'attributes' => array( 'sku', 'id', '', 'title', 'description', 'image', 'price', '', '' ),
|
702 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
703 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
704 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
705 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
706 |
-
),
|
707 |
-
'kelkoo' => array(
|
708 |
-
'mattributes' => array(
|
709 |
-
'title',
|
710 |
-
'product-url',
|
711 |
-
'price',
|
712 |
-
'merchant-category',
|
713 |
-
'ean',
|
714 |
-
'delivery-cost',
|
715 |
-
'brand',
|
716 |
-
'description',
|
717 |
-
'image-url',
|
718 |
-
'availability',
|
719 |
-
'mpn',
|
720 |
-
),
|
721 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
722 |
-
'type' => array(
|
723 |
-
'attribute',
|
724 |
-
'attribute',
|
725 |
-
'attribute',
|
726 |
-
'attribute',
|
727 |
-
'attribute',
|
728 |
-
'attribute',
|
729 |
-
'attribute',
|
730 |
-
'attribute',
|
731 |
-
'attribute',
|
732 |
-
'attribute',
|
733 |
-
'attribute',
|
734 |
-
),
|
735 |
-
'attributes' => array(
|
736 |
-
'title',
|
737 |
-
'link',
|
738 |
-
'price',
|
739 |
-
'',
|
740 |
-
'',
|
741 |
-
'',
|
742 |
-
'',
|
743 |
-
'description',
|
744 |
-
'image',
|
745 |
-
'availability',
|
746 |
-
'',
|
747 |
-
),
|
748 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
749 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
750 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
751 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
752 |
-
),
|
753 |
-
'kieskeurig.nl' => array(
|
754 |
-
'mattributes' => array(
|
755 |
-
'id',
|
756 |
-
'productgroep',
|
757 |
-
'merk',
|
758 |
-
'type',
|
759 |
-
'toevoeging-type',
|
760 |
-
'extra-productbeschrijving',
|
761 |
-
'partnumber',
|
762 |
-
'ean-code',
|
763 |
-
'prijs',
|
764 |
-
'verzendkosten',
|
765 |
-
'afhaalkosten',
|
766 |
-
'levertijd',
|
767 |
-
'deeplink',
|
768 |
-
'imagelink',
|
769 |
-
'voorraad',
|
770 |
-
),
|
771 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
772 |
-
'type' => array(
|
773 |
-
'attribute',
|
774 |
-
'attribute',
|
775 |
-
'attribute',
|
776 |
-
'attribute',
|
777 |
-
'attribute',
|
778 |
-
'attribute',
|
779 |
-
'attribute',
|
780 |
-
'attribute',
|
781 |
-
'attribute',
|
782 |
-
'attribute',
|
783 |
-
'attribute',
|
784 |
-
'attribute',
|
785 |
-
'attribute',
|
786 |
-
'attribute',
|
787 |
-
'attribute',
|
788 |
-
),
|
789 |
-
'attributes' => array(
|
790 |
-
'id',
|
791 |
-
'product_type',
|
792 |
-
'title',
|
793 |
-
'type',
|
794 |
-
'',
|
795 |
-
'description',
|
796 |
-
'',
|
797 |
-
'',
|
798 |
-
'price',
|
799 |
-
'',
|
800 |
-
'',
|
801 |
-
'',
|
802 |
-
'link',
|
803 |
-
'image',
|
804 |
-
'quantity',
|
805 |
-
),
|
806 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
807 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
808 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
809 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
810 |
-
),
|
811 |
-
'kijiji.ca' => array(
|
812 |
-
'mattributes' => array(
|
813 |
-
'id',
|
814 |
-
'title',
|
815 |
-
'description',
|
816 |
-
'link',
|
817 |
-
'image_link',
|
818 |
-
'price',
|
819 |
-
'categories',
|
820 |
-
'brand',
|
821 |
-
),
|
822 |
-
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
823 |
-
'type' => array(
|
824 |
-
'attribute',
|
825 |
-
'attribute',
|
826 |
-
'attribute',
|
827 |
-
'attribute',
|
828 |
-
'attribute',
|
829 |
-
'attribute',
|
830 |
-
'attribute',
|
831 |
-
'attribute',
|
832 |
-
),
|
833 |
-
'attributes' => array( 'id', 'title', 'description', 'link', 'image', 'price', 'product_type', '' ),
|
834 |
-
'default' => array( '', '', '', '', '', '', '', '' ),
|
835 |
-
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
836 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
837 |
-
'limit' => array( '', '', '', '', '', '', '', '' ),
|
838 |
-
),
|
839 |
-
'leguide' => array(
|
840 |
-
'mattributes' => array(
|
841 |
-
'category',
|
842 |
-
'unique_id',
|
843 |
-
'title',
|
844 |
-
'description',
|
845 |
-
'price',
|
846 |
-
'product_URL',
|
847 |
-
'landing_URL',
|
848 |
-
'image_URL',
|
849 |
-
'EAN',
|
850 |
-
'delivery_charge',
|
851 |
-
'delivery_time',
|
852 |
-
'availability',
|
853 |
-
'guarantee',
|
854 |
-
),
|
855 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
856 |
-
'type' => array(
|
857 |
-
'attribute',
|
858 |
-
'attribute',
|
859 |
-
'attribute',
|
860 |
-
'attribute',
|
861 |
-
'attribute',
|
862 |
-
'attribute',
|
863 |
-
'attribute',
|
864 |
-
'attribute',
|
865 |
-
'attribute',
|
866 |
-
'pattern',
|
867 |
-
'pattern',
|
868 |
-
'pattern',
|
869 |
-
'pattern',
|
870 |
-
),
|
871 |
-
'attributes' => array(
|
872 |
-
'product_type',
|
873 |
-
'id',
|
874 |
-
'title',
|
875 |
-
'description',
|
876 |
-
'price',
|
877 |
-
'link',
|
878 |
-
'',
|
879 |
-
'image',
|
880 |
-
'sku',
|
881 |
-
'',
|
882 |
-
'',
|
883 |
-
'',
|
884 |
-
'',
|
885 |
-
),
|
886 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
887 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
888 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
889 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
890 |
-
),
|
891 |
-
'modina.de' => array(
|
892 |
-
'mattributes' => array(
|
893 |
-
'id',
|
894 |
-
'brand',
|
895 |
-
'title',
|
896 |
-
'description',
|
897 |
-
'productLink',
|
898 |
-
'imageLink',
|
899 |
-
'imageLinkAdditional',
|
900 |
-
'price',
|
901 |
-
'priceOld',
|
902 |
-
'shippingCost',
|
903 |
-
'shippingDuration',
|
904 |
-
'availability',
|
905 |
-
'gtin',
|
906 |
-
'mpn',
|
907 |
-
'category',
|
908 |
-
'subcategory',
|
909 |
-
'color',
|
910 |
-
'gender',
|
911 |
-
'material',
|
912 |
-
'pattern',
|
913 |
-
'size',
|
914 |
-
),
|
915 |
-
'prefix' => array(
|
916 |
-
'',
|
917 |
-
'',
|
918 |
-
'',
|
919 |
-
'',
|
920 |
-
'',
|
921 |
-
'',
|
922 |
-
'',
|
923 |
-
'',
|
924 |
-
'',
|
925 |
-
'',
|
926 |
-
'',
|
927 |
-
'',
|
928 |
-
'',
|
929 |
-
'',
|
930 |
-
'',
|
931 |
-
'',
|
932 |
-
'',
|
933 |
-
'',
|
934 |
-
'',
|
935 |
-
'',
|
936 |
-
'',
|
937 |
-
),
|
938 |
-
'type' => array(
|
939 |
-
'attribute',
|
940 |
-
'attribute',
|
941 |
-
'attribute',
|
942 |
-
'attribute',
|
943 |
-
'attribute',
|
944 |
-
'attribute',
|
945 |
-
'attribute',
|
946 |
-
'attribute',
|
947 |
-
'attribute',
|
948 |
-
'attribute',
|
949 |
-
'attribute',
|
950 |
-
'attribute',
|
951 |
-
'attribute',
|
952 |
-
'attribute',
|
953 |
-
'attribute',
|
954 |
-
'attribute',
|
955 |
-
'attribute',
|
956 |
-
'attribute',
|
957 |
-
'attribute',
|
958 |
-
'attribute',
|
959 |
-
'attribute',
|
960 |
-
),
|
961 |
-
'attributes' => array(
|
962 |
-
'id',
|
963 |
-
'',
|
964 |
-
'title',
|
965 |
-
'description',
|
966 |
-
'link',
|
967 |
-
'image',
|
968 |
-
'images',
|
969 |
-
'price',
|
970 |
-
'',
|
971 |
-
'',
|
972 |
-
'',
|
973 |
-
'availability',
|
974 |
-
'',
|
975 |
-
'',
|
976 |
-
'product_type',
|
977 |
-
'',
|
978 |
-
'',
|
979 |
-
'',
|
980 |
-
'',
|
981 |
-
'',
|
982 |
-
'',
|
983 |
-
),
|
984 |
-
'default' => array(
|
985 |
-
'',
|
986 |
-
'',
|
987 |
-
'',
|
988 |
-
'',
|
989 |
-
'',
|
990 |
-
'',
|
991 |
-
'',
|
992 |
-
'',
|
993 |
-
'',
|
994 |
-
'',
|
995 |
-
'',
|
996 |
-
'',
|
997 |
-
'',
|
998 |
-
'',
|
999 |
-
'',
|
1000 |
-
'',
|
1001 |
-
'',
|
1002 |
-
'',
|
1003 |
-
'',
|
1004 |
-
'',
|
1005 |
-
'',
|
1006 |
-
),
|
1007 |
-
'suffix' => array(
|
1008 |
-
'',
|
1009 |
-
'',
|
1010 |
-
'',
|
1011 |
-
'',
|
1012 |
-
'',
|
1013 |
-
'',
|
1014 |
-
'',
|
1015 |
-
'',
|
1016 |
-
'',
|
1017 |
-
'',
|
1018 |
-
'',
|
1019 |
-
'',
|
1020 |
-
'',
|
1021 |
-
'',
|
1022 |
-
'',
|
1023 |
-
'',
|
1024 |
-
'',
|
1025 |
-
'',
|
1026 |
-
'',
|
1027 |
-
'',
|
1028 |
-
'',
|
1029 |
-
),
|
1030 |
-
'output_type' => array(
|
1031 |
-
'1',
|
1032 |
-
'1',
|
1033 |
-
'1',
|
1034 |
-
'1',
|
1035 |
-
'1',
|
1036 |
-
'1',
|
1037 |
-
'1',
|
1038 |
-
'1',
|
1039 |
-
'1',
|
1040 |
-
'1',
|
1041 |
-
'1',
|
1042 |
-
'1',
|
1043 |
-
'1',
|
1044 |
-
'1',
|
1045 |
-
'1',
|
1046 |
-
'1',
|
1047 |
-
'1',
|
1048 |
-
'1',
|
1049 |
-
'1',
|
1050 |
-
'1',
|
1051 |
-
'1',
|
1052 |
-
),
|
1053 |
-
'limit' => array(
|
1054 |
-
'',
|
1055 |
-
'',
|
1056 |
-
'',
|
1057 |
-
'',
|
1058 |
-
'',
|
1059 |
-
'',
|
1060 |
-
'',
|
1061 |
-
'',
|
1062 |
-
'',
|
1063 |
-
'',
|
1064 |
-
'',
|
1065 |
-
'',
|
1066 |
-
'',
|
1067 |
-
'',
|
1068 |
-
'',
|
1069 |
-
'',
|
1070 |
-
'',
|
1071 |
-
'',
|
1072 |
-
'',
|
1073 |
-
'',
|
1074 |
-
'',
|
1075 |
-
),
|
1076 |
-
),
|
1077 |
-
'myshopping.com.au' => array(
|
1078 |
-
'mattributes' => array(
|
1079 |
-
'Code',
|
1080 |
-
'Id',
|
1081 |
-
'Name',
|
1082 |
-
'Description',
|
1083 |
-
'Category',
|
1084 |
-
'price',
|
1085 |
-
'Product_URL',
|
1086 |
-
'Image_URL',
|
1087 |
-
'Brand',
|
1088 |
-
'InStock',
|
1089 |
-
'MPN',
|
1090 |
-
),
|
1091 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1092 |
-
'type' => array(
|
1093 |
-
'pattern',
|
1094 |
-
'attribute',
|
1095 |
-
'attribute',
|
1096 |
-
'attribute',
|
1097 |
-
'attribute',
|
1098 |
-
'attribute',
|
1099 |
-
'attribute',
|
1100 |
-
'attribute',
|
1101 |
-
'attribute',
|
1102 |
-
'pattern',
|
1103 |
-
'attribute',
|
1104 |
-
),
|
1105 |
-
'attributes' => array(
|
1106 |
-
'',
|
1107 |
-
'id',
|
1108 |
-
'title',
|
1109 |
-
'description',
|
1110 |
-
'product_type',
|
1111 |
-
'price',
|
1112 |
-
'link',
|
1113 |
-
'image',
|
1114 |
-
'',
|
1115 |
-
'',
|
1116 |
-
'sku',
|
1117 |
-
),
|
1118 |
-
'default' => array( '', '', '', '', '', '', '', '', '', 'Y', '' ),
|
1119 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1120 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1121 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1122 |
-
),
|
1123 |
-
'nextag' => array(
|
1124 |
-
'mattributes' => array(
|
1125 |
-
'Manufacturer',
|
1126 |
-
'Product Name',
|
1127 |
-
'Product Description',
|
1128 |
-
'Price',
|
1129 |
-
'Click-Out URL',
|
1130 |
-
'Category',
|
1131 |
-
'Image URL',
|
1132 |
-
'Stock Status',
|
1133 |
-
'Condition',
|
1134 |
-
),
|
1135 |
-
'prefix' => array( '', '', '', '$', '', '', '', '', '' ),
|
1136 |
-
'type' => array(
|
1137 |
-
'pattern',
|
1138 |
-
'attribute',
|
1139 |
-
'attribute',
|
1140 |
-
'attribute',
|
1141 |
-
'attribute',
|
1142 |
-
'attribute',
|
1143 |
-
'attribute',
|
1144 |
-
'attribute',
|
1145 |
-
'attribute',
|
1146 |
-
),
|
1147 |
-
'attributes' => array(
|
1148 |
-
'',
|
1149 |
-
'title',
|
1150 |
-
'description',
|
1151 |
-
'price',
|
1152 |
-
'link',
|
1153 |
-
'product_type',
|
1154 |
-
'image',
|
1155 |
-
'availability',
|
1156 |
-
'condition',
|
1157 |
-
),
|
1158 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1159 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1160 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1161 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1162 |
-
),
|
1163 |
-
'polyvore' => array(
|
1164 |
-
'mattributes' => array( 'title', 'brand', 'url', 'imgurl', 'price', 'currency', 'description', 'subject' ),
|
1165 |
-
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
1166 |
-
'type' => array(
|
1167 |
-
'attribute',
|
1168 |
-
'pattern',
|
1169 |
-
'attribute',
|
1170 |
-
'attribute',
|
1171 |
-
'attribute',
|
1172 |
-
'pattern',
|
1173 |
-
'attribute',
|
1174 |
-
'pattern',
|
1175 |
-
),
|
1176 |
-
'attributes' => array( 'title', '', 'link', 'image', 'price', '', 'description', '' ),
|
1177 |
-
'default' => array( '', '', '', '', '', 'USD', '', '' ),
|
1178 |
-
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
1179 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1180 |
-
'limit' => array( '', '', '', '', '', '', '', '' ),
|
1181 |
-
),
|
1182 |
-
'pricegrabber' => array(
|
1183 |
-
'mattributes' => array(
|
1184 |
-
'Retsku',
|
1185 |
-
'Product Title',
|
1186 |
-
'Detailed Description',
|
1187 |
-
'Categorization',
|
1188 |
-
'Product URL',
|
1189 |
-
'Primary Image URL',
|
1190 |
-
'Selling Price',
|
1191 |
-
'Regular Price',
|
1192 |
-
'Condition',
|
1193 |
-
'Availability',
|
1194 |
-
'Manufacturer Name',
|
1195 |
-
'GTIN',
|
1196 |
-
),
|
1197 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1198 |
-
'type' => array(
|
1199 |
-
'attribute',
|
1200 |
-
'attribute',
|
1201 |
-
'attribute',
|
1202 |
-
'attribute',
|
1203 |
-
'attribute',
|
1204 |
-
'attribute',
|
1205 |
-
'attribute',
|
1206 |
-
'attribute',
|
1207 |
-
'attribute',
|
1208 |
-
'attribute',
|
1209 |
-
'attribute',
|
1210 |
-
'attribute',
|
1211 |
-
),
|
1212 |
-
'attributes' => array(
|
1213 |
-
'sku',
|
1214 |
-
'title',
|
1215 |
-
'description',
|
1216 |
-
'product_type',
|
1217 |
-
'link',
|
1218 |
-
'image',
|
1219 |
-
'sale_price',
|
1220 |
-
'price',
|
1221 |
-
'condition',
|
1222 |
-
'availability',
|
1223 |
-
'',
|
1224 |
-
'',
|
1225 |
-
),
|
1226 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1227 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1228 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1229 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1230 |
-
),
|
1231 |
-
'pricerunner' => array(
|
1232 |
-
'mattributes' => array(
|
1233 |
-
'Category',
|
1234 |
-
'SKU',
|
1235 |
-
'Price',
|
1236 |
-
'Product URL',
|
1237 |
-
'Product name',
|
1238 |
-
'Manufacturer SKU',
|
1239 |
-
'Manufacturer',
|
1240 |
-
'EAN',
|
1241 |
-
'Description',
|
1242 |
-
'Graphic URL',
|
1243 |
-
'In Stock',
|
1244 |
-
'Stock Level',
|
1245 |
-
'Shipping Cost',
|
1246 |
-
'Delivery time',
|
1247 |
-
),
|
1248 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1249 |
-
'type' => array(
|
1250 |
-
'attribute',
|
1251 |
-
'attribute',
|
1252 |
-
'attribute',
|
1253 |
-
'attribute',
|
1254 |
-
'attribute',
|
1255 |
-
'attribute',
|
1256 |
-
'pattern',
|
1257 |
-
'attribute',
|
1258 |
-
'attribute',
|
1259 |
-
'attribute',
|
1260 |
-
'pattern',
|
1261 |
-
'attribute',
|
1262 |
-
'pattern',
|
1263 |
-
'pattern',
|
1264 |
-
),
|
1265 |
-
'attributes' => array(
|
1266 |
-
'product_type',
|
1267 |
-
'id',
|
1268 |
-
'price',
|
1269 |
-
'link',
|
1270 |
-
'title',
|
1271 |
-
'sku',
|
1272 |
-
'',
|
1273 |
-
'sku',
|
1274 |
-
'description',
|
1275 |
-
'image',
|
1276 |
-
'',
|
1277 |
-
'quantity',
|
1278 |
-
'',
|
1279 |
-
'',
|
1280 |
-
),
|
1281 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', 'Yes', '', '10.00', '5-7 days' ),
|
1282 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1283 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1284 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1285 |
-
),
|
1286 |
-
'prisjakt' => array(
|
1287 |
-
'mattributes' => array(
|
1288 |
-
'Produktnamn',
|
1289 |
-
'Art.nr.',
|
1290 |
-
'Kategori',
|
1291 |
-
'Pris inkl.moms',
|
1292 |
-
'Produkt-URL',
|
1293 |
-
'Tillverkare',
|
1294 |
-
'Tillverkar-SKU',
|
1295 |
-
'Frakt',
|
1296 |
-
'Bild-URL',
|
1297 |
-
'Lagerstatus',
|
1298 |
-
),
|
1299 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1300 |
-
'type' => array(
|
1301 |
-
'attribute',
|
1302 |
-
'attribute',
|
1303 |
-
'attribute',
|
1304 |
-
'attribute',
|
1305 |
-
'attribute',
|
1306 |
-
'pattern',
|
1307 |
-
'attribute',
|
1308 |
-
'pattern',
|
1309 |
-
'attribute',
|
1310 |
-
'attribute',
|
1311 |
-
),
|
1312 |
-
'attributes' => array(
|
1313 |
-
'title',
|
1314 |
-
'id',
|
1315 |
-
'product_type',
|
1316 |
-
'price',
|
1317 |
-
'link',
|
1318 |
-
'',
|
1319 |
-
'sku',
|
1320 |
-
'',
|
1321 |
-
'image',
|
1322 |
-
'condition',
|
1323 |
-
),
|
1324 |
-
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '' ),
|
1325 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1326 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1327 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1328 |
-
),
|
1329 |
-
'real' => array(
|
1330 |
-
'mattributes' => array( 'ean', 'category', 'title', 'description', 'picture', 'manufacturer' ),
|
1331 |
-
'prefix' => array( '', '', '', '', '', '' ),
|
1332 |
-
'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'pattern' ),
|
1333 |
-
'attributes' => array( 'sku', 'product_type', 'title', 'description', 'image', '' ),
|
1334 |
-
'default' => array( '', '', '', '', '', '' ),
|
1335 |
-
'suffix' => array( '', '', '', '', '', '' ),
|
1336 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1' ),
|
1337 |
-
'limit' => array( '', '', '', '', '', '' ),
|
1338 |
-
),
|
1339 |
-
'shareasale' => array(
|
1340 |
-
'mattributes' => array(
|
1341 |
-
'ProductID',
|
1342 |
-
'Name',
|
1343 |
-
'MerchantID',
|
1344 |
-
'Merchant',
|
1345 |
-
'Link',
|
1346 |
-
'Thumbnail',
|
1347 |
-
'BigImage',
|
1348 |
-
'Price',
|
1349 |
-
'RetailPrice',
|
1350 |
-
'Category',
|
1351 |
-
'Subcategory',
|
1352 |
-
'Description',
|
1353 |
-
),
|
1354 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1355 |
-
'type' => array(
|
1356 |
-
'attribute',
|
1357 |
-
'attribute',
|
1358 |
-
'attribute',
|
1359 |
-
'attribute',
|
1360 |
-
'attribute',
|
1361 |
-
'attribute',
|
1362 |
-
'attribute',
|
1363 |
-
'attribute',
|
1364 |
-
'attribute',
|
1365 |
-
'attribute',
|
1366 |
-
'attribute',
|
1367 |
-
'attribute',
|
1368 |
-
),
|
1369 |
-
'attributes' => array(
|
1370 |
-
'id',
|
1371 |
-
'title',
|
1372 |
-
'',
|
1373 |
-
'',
|
1374 |
-
'link',
|
1375 |
-
'image',
|
1376 |
-
'feature_image',
|
1377 |
-
'sale_price',
|
1378 |
-
'price',
|
1379 |
-
'product_type',
|
1380 |
-
'',
|
1381 |
-
'description',
|
1382 |
-
),
|
1383 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1384 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1385 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1386 |
-
'limit' => array( '8', '255', '8', '255', '255', '255', '255', '', '', '50', '50', '' ),
|
1387 |
-
),
|
1388 |
-
'shopalike.fr' => array(
|
1389 |
-
'mattributes' => array(
|
1390 |
-
'id',
|
1391 |
-
'title',
|
1392 |
-
'description',
|
1393 |
-
'link',
|
1394 |
-
'image_link',
|
1395 |
-
'price',
|
1396 |
-
'categories',
|
1397 |
-
'brand',
|
1398 |
-
),
|
1399 |
-
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
1400 |
-
'type' => array(
|
1401 |
-
'attribute',
|
1402 |
-
'attribute',
|
1403 |
-
'attribute',
|
1404 |
-
'attribute',
|
1405 |
-
'attribute',
|
1406 |
-
'attribute',
|
1407 |
-
'attribute',
|
1408 |
-
'attribute',
|
1409 |
-
),
|
1410 |
-
'attributes' => array( 'id', 'title', 'description', 'link', 'image', 'price', 'product_type', '' ),
|
1411 |
-
'default' => array( '', '', '', '', '', '', '', '' ),
|
1412 |
-
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
1413 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1414 |
-
'limit' => array( '', '', '', '', '', '', '', '' ),
|
1415 |
-
),
|
1416 |
-
'shopbot' => array(
|
1417 |
-
'mattributes' => array(
|
1418 |
-
'ID',
|
1419 |
-
'Product Name',
|
1420 |
-
'URL',
|
1421 |
-
'Category',
|
1422 |
-
'Photo URL',
|
1423 |
-
'Price',
|
1424 |
-
'Original Price',
|
1425 |
-
'Description',
|
1426 |
-
'MPN',
|
1427 |
-
'Brand',
|
1428 |
-
'Shipment Cost',
|
1429 |
-
'Stock',
|
1430 |
-
'Promotional Phrase',
|
1431 |
-
'Model',
|
1432 |
-
'Color',
|
1433 |
-
'Product Type',
|
1434 |
-
),
|
1435 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1436 |
-
'type' => array(
|
1437 |
-
'attribute',
|
1438 |
-
'attribute',
|
1439 |
-
'attribute',
|
1440 |
-
'attribute',
|
1441 |
-
'attribute',
|
1442 |
-
'attribute',
|
1443 |
-
'attribute',
|
1444 |
-
'attribute',
|
1445 |
-
'attribute',
|
1446 |
-
'attribute',
|
1447 |
-
'attribute',
|
1448 |
-
'attribute',
|
1449 |
-
'attribute',
|
1450 |
-
'attribute',
|
1451 |
-
'attribute',
|
1452 |
-
'attribute',
|
1453 |
-
),
|
1454 |
-
'attributes' => array(
|
1455 |
-
'id',
|
1456 |
-
'title',
|
1457 |
-
'link',
|
1458 |
-
'product_type',
|
1459 |
-
'image',
|
1460 |
-
'sale_price',
|
1461 |
-
'price',
|
1462 |
-
'description',
|
1463 |
-
'sku',
|
1464 |
-
'',
|
1465 |
-
'',
|
1466 |
-
'quantity',
|
1467 |
-
'',
|
1468 |
-
'',
|
1469 |
-
'',
|
1470 |
-
'',
|
1471 |
-
),
|
1472 |
-
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '', '', '', '', '', '', '' ),
|
1473 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1474 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1475 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1476 |
-
),
|
1477 |
-
'shopmania' => array(
|
1478 |
-
'mattributes' => array(
|
1479 |
-
'Category',
|
1480 |
-
'Manufacturer',
|
1481 |
-
'Model',
|
1482 |
-
'MPC',
|
1483 |
-
'Name',
|
1484 |
-
'Description',
|
1485 |
-
'URL',
|
1486 |
-
'Image',
|
1487 |
-
'Price',
|
1488 |
-
'Currency',
|
1489 |
-
'Shipping',
|
1490 |
-
'Availability',
|
1491 |
-
'GTIN',
|
1492 |
-
),
|
1493 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1494 |
-
'type' => array(
|
1495 |
-
'attribute',
|
1496 |
-
'attribute',
|
1497 |
-
'attribute',
|
1498 |
-
'attribute',
|
1499 |
-
'attribute',
|
1500 |
-
'attribute',
|
1501 |
-
'attribute',
|
1502 |
-
'attribute',
|
1503 |
-
'attribute',
|
1504 |
-
'attribute',
|
1505 |
-
'attribute',
|
1506 |
-
'attribute',
|
1507 |
-
'attribute',
|
1508 |
-
),
|
1509 |
-
'attributes' => array(
|
1510 |
-
'product_type',
|
1511 |
-
'',
|
1512 |
-
'',
|
1513 |
-
'',
|
1514 |
-
'title',
|
1515 |
-
'description',
|
1516 |
-
'link',
|
1517 |
-
'image',
|
1518 |
-
'price',
|
1519 |
-
'',
|
1520 |
-
'',
|
1521 |
-
'availability',
|
1522 |
-
'',
|
1523 |
-
),
|
1524 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1525 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1526 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1527 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1528 |
-
),
|
1529 |
-
'shopping' => array(
|
1530 |
-
'mattributes' => array(
|
1531 |
-
'Unique Merchant SKU',
|
1532 |
-
'Product Name',
|
1533 |
-
'Product URL',
|
1534 |
-
'Image URL',
|
1535 |
-
'Current Price',
|
1536 |
-
'Stock Availability',
|
1537 |
-
'Condition',
|
1538 |
-
'MPN',
|
1539 |
-
'UPC',
|
1540 |
-
),
|
1541 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
1542 |
-
'type' => array(
|
1543 |
-
'attribute',
|
1544 |
-
'attribute',
|
1545 |
-
'attribute',
|
1546 |
-
'attribute',
|
1547 |
-
'attribute',
|
1548 |
-
'attribute',
|
1549 |
-
'attribute',
|
1550 |
-
'attribute',
|
1551 |
-
'attribute',
|
1552 |
-
),
|
1553 |
-
'attributes' => array( 'sku', 'title', 'link', 'image', 'price', 'availability', 'condition', '', '' ),
|
1554 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1555 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1556 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1557 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1558 |
-
),
|
1559 |
-
'shopzilla' => array(
|
1560 |
-
'mattributes' => array(
|
1561 |
-
'Unique ID',
|
1562 |
-
'Title',
|
1563 |
-
'Description',
|
1564 |
-
'Category',
|
1565 |
-
'Product URL',
|
1566 |
-
'Image URL',
|
1567 |
-
'Condition',
|
1568 |
-
'Availability',
|
1569 |
-
'Current Price',
|
1570 |
-
),
|
1571 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
1572 |
-
'type' => array(
|
1573 |
-
'attribute',
|
1574 |
-
'attribute',
|
1575 |
-
'attribute',
|
1576 |
-
'attribute',
|
1577 |
-
'attribute',
|
1578 |
-
'attribute',
|
1579 |
-
'attribute',
|
1580 |
-
'attribute',
|
1581 |
-
'attribute',
|
1582 |
-
),
|
1583 |
-
'attributes' => array(
|
1584 |
-
'id',
|
1585 |
-
'title',
|
1586 |
-
'description',
|
1587 |
-
'product_type',
|
1588 |
-
'link',
|
1589 |
-
'image',
|
1590 |
-
'condition',
|
1591 |
-
'availability',
|
1592 |
-
'price',
|
1593 |
-
),
|
1594 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1595 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1596 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1597 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1598 |
-
),
|
1599 |
-
'spartoo.fi' => array(
|
1600 |
-
'mattributes' => array(
|
1601 |
-
'SKU',
|
1602 |
-
'Parent / Child',
|
1603 |
-
'Parent SKU',
|
1604 |
-
'Product name',
|
1605 |
-
'Manufacturer name',
|
1606 |
-
'Gender',
|
1607 |
-
'Product_description',
|
1608 |
-
'Product price',
|
1609 |
-
'Discount price',
|
1610 |
-
'Quantity',
|
1611 |
-
'Category',
|
1612 |
-
'Products selection',
|
1613 |
-
'Photo 1',
|
1614 |
-
'Photo 2',
|
1615 |
-
'Photo 3',
|
1616 |
-
'Photo 4',
|
1617 |
-
'Photo 5',
|
1618 |
-
'Photo 6',
|
1619 |
-
'Photo 7',
|
1620 |
-
'Photo 8',
|
1621 |
-
'Color id',
|
1622 |
-
'Color name',
|
1623 |
-
'Size name',
|
1624 |
-
'ean',
|
1625 |
-
),
|
1626 |
-
'prefix' => array(
|
1627 |
-
'',
|
1628 |
-
'',
|
1629 |
-
'',
|
1630 |
-
'',
|
1631 |
-
'',
|
1632 |
-
'',
|
1633 |
-
'',
|
1634 |
-
'',
|
1635 |
-
'',
|
1636 |
-
'',
|
1637 |
-
'',
|
1638 |
-
'',
|
1639 |
-
'',
|
1640 |
-
'',
|
1641 |
-
'',
|
1642 |
-
'',
|
1643 |
-
'',
|
1644 |
-
'',
|
1645 |
-
'',
|
1646 |
-
'',
|
1647 |
-
'',
|
1648 |
-
'',
|
1649 |
-
'',
|
1650 |
-
'',
|
1651 |
-
),
|
1652 |
-
'type' => array(
|
1653 |
-
'attribute',
|
1654 |
-
'attribute',
|
1655 |
-
'attribute',
|
1656 |
-
'attribute',
|
1657 |
-
'attribute',
|
1658 |
-
'attribute',
|
1659 |
-
'attribute',
|
1660 |
-
'attribute',
|
1661 |
-
'attribute',
|
1662 |
-
'attribute',
|
1663 |
-
'attribute',
|
1664 |
-
'attribute',
|
1665 |
-
'attribute',
|
1666 |
-
'attribute',
|
1667 |
-
'attribute',
|
1668 |
-
'attribute',
|
1669 |
-
'attribute',
|
1670 |
-
'attribute',
|
1671 |
-
'attribute',
|
1672 |
-
'attribute',
|
1673 |
-
'attribute',
|
1674 |
-
'attribute',
|
1675 |
-
'attribute',
|
1676 |
-
'attribute',
|
1677 |
-
),
|
1678 |
-
'attributes' => array(
|
1679 |
-
'sku',
|
1680 |
-
'type',
|
1681 |
-
'parent_sku',
|
1682 |
-
'title',
|
1683 |
-
'',
|
1684 |
-
'',
|
1685 |
-
'description',
|
1686 |
-
'price',
|
1687 |
-
'sale_price',
|
1688 |
-
'quantity',
|
1689 |
-
'product_type',
|
1690 |
-
'',
|
1691 |
-
'image_1',
|
1692 |
-
'image_2',
|
1693 |
-
'image_3',
|
1694 |
-
'image_4',
|
1695 |
-
'image_5',
|
1696 |
-
'image_6',
|
1697 |
-
'image_7',
|
1698 |
-
'image_8',
|
1699 |
-
'',
|
1700 |
-
'',
|
1701 |
-
'',
|
1702 |
-
'',
|
1703 |
-
),
|
1704 |
-
'default' => array(
|
1705 |
-
'',
|
1706 |
-
'',
|
1707 |
-
'',
|
1708 |
-
'',
|
1709 |
-
'',
|
1710 |
-
'',
|
1711 |
-
'',
|
1712 |
-
'',
|
1713 |
-
'',
|
1714 |
-
'',
|
1715 |
-
'',
|
1716 |
-
'',
|
1717 |
-
'',
|
1718 |
-
'',
|
1719 |
-
'',
|
1720 |
-
'',
|
1721 |
-
'',
|
1722 |
-
'',
|
1723 |
-
'',
|
1724 |
-
'',
|
1725 |
-
'',
|
1726 |
-
'',
|
1727 |
-
'',
|
1728 |
-
'',
|
1729 |
-
),
|
1730 |
-
'suffix' => array(
|
1731 |
-
'',
|
1732 |
-
'',
|
1733 |
-
'',
|
1734 |
-
'',
|
1735 |
-
'',
|
1736 |
-
'',
|
1737 |
-
'',
|
1738 |
-
'',
|
1739 |
-
'',
|
1740 |
-
'',
|
1741 |
-
'',
|
1742 |
-
'',
|
1743 |
-
'',
|
1744 |
-
'',
|
1745 |
-
'',
|
1746 |
-
'',
|
1747 |
-
'',
|
1748 |
-
'',
|
1749 |
-
'',
|
1750 |
-
'',
|
1751 |
-
'',
|
1752 |
-
'',
|
1753 |
-
'',
|
1754 |
-
'',
|
1755 |
-
),
|
1756 |
-
'output_type' => array(
|
1757 |
-
'1',
|
1758 |
-
'1',
|
1759 |
-
'1',
|
1760 |
-
'1',
|
1761 |
-
'1',
|
1762 |
-
'1',
|
1763 |
-
'1',
|
1764 |
-
'1',
|
1765 |
-
'1',
|
1766 |
-
'1',
|
1767 |
-
'1',
|
1768 |
-
'1',
|
1769 |
-
'1',
|
1770 |
-
'1',
|
1771 |
-
'1',
|
1772 |
-
'1',
|
1773 |
-
'1',
|
1774 |
-
'1',
|
1775 |
-
'1',
|
1776 |
-
'1',
|
1777 |
-
'1',
|
1778 |
-
'1',
|
1779 |
-
'1',
|
1780 |
-
'1',
|
1781 |
-
),
|
1782 |
-
'limit' => array(
|
1783 |
-
'',
|
1784 |
-
'',
|
1785 |
-
'',
|
1786 |
-
'',
|
1787 |
-
'',
|
1788 |
-
'',
|
1789 |
-
'',
|
1790 |
-
'',
|
1791 |
-
'',
|
1792 |
-
'',
|
1793 |
-
'',
|
1794 |
-
'',
|
1795 |
-
'',
|
1796 |
-
'',
|
1797 |
-
'',
|
1798 |
-
'',
|
1799 |
-
'',
|
1800 |
-
'',
|
1801 |
-
'',
|
1802 |
-
'',
|
1803 |
-
'',
|
1804 |
-
'',
|
1805 |
-
'',
|
1806 |
-
'',
|
1807 |
-
),
|
1808 |
-
),
|
1809 |
-
'twenga' => array(
|
1810 |
-
'mattributes' => array(
|
1811 |
-
'merchant_ref',
|
1812 |
-
'merchant_id',
|
1813 |
-
'upc_ean',
|
1814 |
-
'manufacturer_id',
|
1815 |
-
'product_url',
|
1816 |
-
'image_url',
|
1817 |
-
'price',
|
1818 |
-
'regular_price',
|
1819 |
-
'shipping_cost',
|
1820 |
-
'designation',
|
1821 |
-
'description',
|
1822 |
-
'category',
|
1823 |
-
'brand',
|
1824 |
-
'in_stock',
|
1825 |
-
'availability',
|
1826 |
-
'stock_detail',
|
1827 |
-
'unit_price',
|
1828 |
-
'merchant_margin',
|
1829 |
-
'ecotax',
|
1830 |
-
'item_display',
|
1831 |
-
'condition',
|
1832 |
-
'merchant_ref',
|
1833 |
-
),
|
1834 |
-
'prefix' => array(
|
1835 |
-
'',
|
1836 |
-
'',
|
1837 |
-
'',
|
1838 |
-
'',
|
1839 |
-
'',
|
1840 |
-
'',
|
1841 |
-
'',
|
1842 |
-
'',
|
1843 |
-
'',
|
1844 |
-
'',
|
1845 |
-
'',
|
1846 |
-
'',
|
1847 |
-
'',
|
1848 |
-
'',
|
1849 |
-
'',
|
1850 |
-
'',
|
1851 |
-
'',
|
1852 |
-
'',
|
1853 |
-
'',
|
1854 |
-
'',
|
1855 |
-
'',
|
1856 |
-
'',
|
1857 |
-
),
|
1858 |
-
'type' => array(
|
1859 |
-
'attribute',
|
1860 |
-
'attribute',
|
1861 |
-
'pattern',
|
1862 |
-
'attribute',
|
1863 |
-
'attribute',
|
1864 |
-
'pattern',
|
1865 |
-
'attribute',
|
1866 |
-
'pattern',
|
1867 |
-
'pattern',
|
1868 |
-
'pattern',
|
1869 |
-
'attribute',
|
1870 |
-
'attribute',
|
1871 |
-
'pattern',
|
1872 |
-
'attribute',
|
1873 |
-
'attribute',
|
1874 |
-
'pattern',
|
1875 |
-
'pattern',
|
1876 |
-
'pattern',
|
1877 |
-
'pattern',
|
1878 |
-
'pattern',
|
1879 |
-
'pattern',
|
1880 |
-
'attribute',
|
1881 |
-
),
|
1882 |
-
'attributes' => array(
|
1883 |
-
'sku',
|
1884 |
-
'id',
|
1885 |
-
'',
|
1886 |
-
'sku',
|
1887 |
-
'link',
|
1888 |
-
'image',
|
1889 |
-
'sale_price',
|
1890 |
-
'price',
|
1891 |
-
'',
|
1892 |
-
'',
|
1893 |
-
'description',
|
1894 |
-
'product_type',
|
1895 |
-
'',
|
1896 |
-
'availability',
|
1897 |
-
'quantity',
|
1898 |
-
'',
|
1899 |
-
'',
|
1900 |
-
'',
|
1901 |
-
'',
|
1902 |
-
'',
|
1903 |
-
'',
|
1904 |
-
'sku',
|
1905 |
-
),
|
1906 |
-
'default' => array(
|
1907 |
-
'',
|
1908 |
-
'',
|
1909 |
-
'',
|
1910 |
-
'',
|
1911 |
-
'',
|
1912 |
-
'',
|
1913 |
-
'',
|
1914 |
-
'',
|
1915 |
-
'',
|
1916 |
-
'',
|
1917 |
-
'',
|
1918 |
-
'',
|
1919 |
-
'',
|
1920 |
-
'',
|
1921 |
-
'',
|
1922 |
-
'',
|
1923 |
-
'',
|
1924 |
-
'',
|
1925 |
-
'',
|
1926 |
-
'',
|
1927 |
-
'',
|
1928 |
-
'',
|
1929 |
-
),
|
1930 |
-
'suffix' => array(
|
1931 |
-
'',
|
1932 |
-
'',
|
1933 |
-
'',
|
1934 |
-
'',
|
1935 |
-
'',
|
1936 |
-
'',
|
1937 |
-
'',
|
1938 |
-
'',
|
1939 |
-
'',
|
1940 |
-
'',
|
1941 |
-
'',
|
1942 |
-
'',
|
1943 |
-
'',
|
1944 |
-
'',
|
1945 |
-
'',
|
1946 |
-
'',
|
1947 |
-
'',
|
1948 |
-
'',
|
1949 |
-
'',
|
1950 |
-
'',
|
1951 |
-
'',
|
1952 |
-
'',
|
1953 |
-
),
|
1954 |
-
'output_type' => array(
|
1955 |
-
'1',
|
1956 |
-
'1',
|
1957 |
-
'1',
|
1958 |
-
'1',
|
1959 |
-
'1',
|
1960 |
-
'1',
|
1961 |
-
'1',
|
1962 |
-
'1',
|
1963 |
-
'1',
|
1964 |
-
'1',
|
1965 |
-
'1',
|
1966 |
-
'1',
|
1967 |
-
'1',
|
1968 |
-
'1',
|
1969 |
-
'1',
|
1970 |
-
'1',
|
1971 |
-
'1',
|
1972 |
-
'1',
|
1973 |
-
'1',
|
1974 |
-
'1',
|
1975 |
-
'1',
|
1976 |
-
'1',
|
1977 |
-
),
|
1978 |
-
'limit' => array(
|
1979 |
-
'',
|
1980 |
-
'',
|
1981 |
-
'',
|
1982 |
-
'',
|
1983 |
-
'',
|
1984 |
-
'',
|
1985 |
-
'',
|
1986 |
-
'',
|
1987 |
-
'',
|
1988 |
-
'',
|
1989 |
-
'',
|
1990 |
-
'',
|
1991 |
-
'',
|
1992 |
-
'',
|
1993 |
-
'',
|
1994 |
-
'',
|
1995 |
-
'',
|
1996 |
-
'',
|
1997 |
-
'',
|
1998 |
-
'',
|
1999 |
-
'',
|
2000 |
-
'',
|
2001 |
-
),
|
2002 |
-
),
|
2003 |
-
'vertaa.fi' => array(
|
2004 |
-
'mattributes' => array(
|
2005 |
-
'Product category',
|
2006 |
-
'Product name',
|
2007 |
-
'Product brand',
|
2008 |
-
'Product price',
|
2009 |
-
'Product URL',
|
2010 |
-
'Delivery time',
|
2011 |
-
'Shipping method',
|
2012 |
-
'Delivery price',
|
2013 |
-
'Service country code',
|
2014 |
-
),
|
2015 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2016 |
-
'type' => array(
|
2017 |
-
'attribute',
|
2018 |
-
'attribute',
|
2019 |
-
'attribute',
|
2020 |
-
'attribute',
|
2021 |
-
'attribute',
|
2022 |
-
'attribute',
|
2023 |
-
'attribute',
|
2024 |
-
'attribute',
|
2025 |
-
'attribute',
|
2026 |
-
),
|
2027 |
-
'attributes' => array( 'product_type', 'title', '', 'price', 'link', '', '', '', '' ),
|
2028 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2029 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2030 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2031 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2032 |
-
),
|
2033 |
-
'walmart' => array(
|
2034 |
-
'mattributes' => array(
|
2035 |
-
'Product Name',
|
2036 |
-
'SKU',
|
2037 |
-
'Product Tax Code',
|
2038 |
-
'Product ID Type',
|
2039 |
-
'Product ID',
|
2040 |
-
'Product Identifiers',
|
2041 |
-
'Description',
|
2042 |
-
'Brand',
|
2043 |
-
'Price',
|
2044 |
-
'Shipping Weight',
|
2045 |
-
),
|
2046 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2047 |
-
'type' => array(
|
2048 |
-
'attribute',
|
2049 |
-
'attribute',
|
2050 |
-
'attribute',
|
2051 |
-
'attribute',
|
2052 |
-
'attribute',
|
2053 |
-
'attribute',
|
2054 |
-
'attribute',
|
2055 |
-
'attribute',
|
2056 |
-
'attribute',
|
2057 |
-
'attribute',
|
2058 |
-
),
|
2059 |
-
'attributes' => array( 'title', 'sku', '', '', 'id', '', 'description', '', 'price', '' ),
|
2060 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2061 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2062 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2063 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2064 |
-
),
|
2065 |
-
'wish' => array(
|
2066 |
-
'mattributes' => array(
|
2067 |
-
'Main Image URL',
|
2068 |
-
'Price',
|
2069 |
-
'Product Name',
|
2070 |
-
'Quantity',
|
2071 |
-
'Shipping',
|
2072 |
-
'Tags',
|
2073 |
-
'Parent Unique Id',
|
2074 |
-
'Unique ID/SKU',
|
2075 |
-
'Description',
|
2076 |
-
),
|
2077 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2078 |
-
'type' => array(
|
2079 |
-
'attribute',
|
2080 |
-
'attribute',
|
2081 |
-
'attribute',
|
2082 |
-
'attribute',
|
2083 |
-
'attribute',
|
2084 |
-
'attribute',
|
2085 |
-
'attribute',
|
2086 |
-
'attribute',
|
2087 |
-
'attribute',
|
2088 |
-
),
|
2089 |
-
'attributes' => array(
|
2090 |
-
'image',
|
2091 |
-
'price',
|
2092 |
-
'title',
|
2093 |
-
'quantity',
|
2094 |
-
'',
|
2095 |
-
'tags',
|
2096 |
-
'item_group_id',
|
2097 |
-
'id',
|
2098 |
-
'description',
|
2099 |
-
),
|
2100 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2101 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2102 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2103 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2104 |
-
),
|
2105 |
-
'yahoo_nfa' => array(
|
2106 |
-
'mattributes' => array(
|
2107 |
-
'id',
|
2108 |
-
'title',
|
2109 |
-
'description',
|
2110 |
-
'image_link',
|
2111 |
-
'link',
|
2112 |
-
'availability',
|
2113 |
-
'condition',
|
2114 |
-
'price',
|
2115 |
-
'gtin',
|
2116 |
-
),
|
2117 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2118 |
-
'type' => array(
|
2119 |
-
'attribute',
|
2120 |
-
'attribute',
|
2121 |
-
'attribute',
|
2122 |
-
'attribute',
|
2123 |
-
'attribute',
|
2124 |
-
'attribute',
|
2125 |
-
'attribute',
|
2126 |
-
'attribute',
|
2127 |
-
'attribute',
|
2128 |
-
),
|
2129 |
-
'attributes' => array(
|
2130 |
-
'id',
|
2131 |
-
'title',
|
2132 |
-
'description',
|
2133 |
-
'image',
|
2134 |
-
'link',
|
2135 |
-
'availability',
|
2136 |
-
'condition',
|
2137 |
-
'price',
|
2138 |
-
'',
|
2139 |
-
),
|
2140 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2141 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2142 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2143 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2144 |
-
),
|
2145 |
-
'zap.co.il' => array(
|
2146 |
-
'mattributes' => array(
|
2147 |
-
'PRODUCT_URL',
|
2148 |
-
'PRODUCT_NAME',
|
2149 |
-
'DETAILS',
|
2150 |
-
'PRODUCTCODE',
|
2151 |
-
'CURRENCY',
|
2152 |
-
'PRICE',
|
2153 |
-
'SHIPMENT_COST',
|
2154 |
-
'DELIVERY_TIME',
|
2155 |
-
'IMAGE',
|
2156 |
-
),
|
2157 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2158 |
-
'type' => array(
|
2159 |
-
'attribute',
|
2160 |
-
'attribute',
|
2161 |
-
'attribute',
|
2162 |
-
'attribute',
|
2163 |
-
'attribute',
|
2164 |
-
'attribute',
|
2165 |
-
'attribute',
|
2166 |
-
'attribute',
|
2167 |
-
'attribute',
|
2168 |
-
),
|
2169 |
-
'attributes' => array( 'link', 'title', 'description', 'id', '', 'price', '', '', 'image' ),
|
2170 |
-
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2171 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2172 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2173 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2174 |
-
),
|
2175 |
-
'adwords' => array(
|
2176 |
-
'mattributes' => array(
|
2177 |
-
'ID',
|
2178 |
-
'ID2',
|
2179 |
-
'Item title',
|
2180 |
-
'Final URL',
|
2181 |
-
'Image URL',
|
2182 |
-
'Item subtitle',
|
2183 |
-
'Item description',
|
2184 |
-
'Item category',
|
2185 |
-
'Price',
|
2186 |
-
'Sale price',
|
2187 |
-
'Contextual keywords',
|
2188 |
-
'Item address',
|
2189 |
-
),
|
2190 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2191 |
-
'type' => array(
|
2192 |
-
'attribute',
|
2193 |
-
'attribute',
|
2194 |
-
'attribute',
|
2195 |
-
'attribute',
|
2196 |
-
'attribute',
|
2197 |
-
'attribute',
|
2198 |
-
'attribute',
|
2199 |
-
'attribute',
|
2200 |
-
'attribute',
|
2201 |
-
'attribute',
|
2202 |
-
'pattern',
|
2203 |
-
'pattern',
|
2204 |
-
),
|
2205 |
-
'attributes' => array(
|
2206 |
-
'id',
|
2207 |
-
'sku',
|
2208 |
-
'title',
|
2209 |
-
'link',
|
2210 |
-
'image',
|
2211 |
-
'short_description',
|
2212 |
-
'description',
|
2213 |
-
'product_type',
|
2214 |
-
'price',
|
2215 |
-
'sale_price',
|
2216 |
-
'',
|
2217 |
-
'',
|
2218 |
-
),
|
2219 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2220 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2221 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2222 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2223 |
-
),
|
2224 |
-
'bing' => array(
|
2225 |
-
'mattributes' => array( 'id', 'title', 'link', 'price', 'description', 'image_link', 'shipping' ),
|
2226 |
-
'prefix' => array( '', '', '', '', '', '', '' ),
|
2227 |
-
'type' => array(
|
2228 |
-
'attribute',
|
2229 |
-
'attribute',
|
2230 |
-
'attribute',
|
2231 |
-
'attribute',
|
2232 |
-
'attribute',
|
2233 |
-
'attribute',
|
2234 |
-
'attribute',
|
2235 |
-
),
|
2236 |
-
'attributes' => array( 'id', 'title', 'link', 'price', 'description', 'image', '' ),
|
2237 |
-
'default' => array( '', '', '', '', '', '', '' ),
|
2238 |
-
'suffix' => array( '', '', '', '', '', '', '' ),
|
2239 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1' ),
|
2240 |
-
'limit' => array( '', '', '', '', '', '', '' ),
|
2241 |
-
),
|
2242 |
-
'google_local_inventory' => array(
|
2243 |
-
'mattributes' => array(
|
2244 |
-
'store code',
|
2245 |
-
'itemid',
|
2246 |
-
'quantity',
|
2247 |
-
'price',
|
2248 |
-
'sale price',
|
2249 |
-
'availability',
|
2250 |
-
'sale price effective date',
|
2251 |
-
'pickup method',
|
2252 |
-
'pickup sla',
|
2253 |
-
),
|
2254 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2255 |
-
'type' => array(
|
2256 |
-
'pattern',
|
2257 |
-
'attribute',
|
2258 |
-
'attribute',
|
2259 |
-
'attribute',
|
2260 |
-
'attribute',
|
2261 |
-
'attribute',
|
2262 |
-
'attribute',
|
2263 |
-
'pattern',
|
2264 |
-
'pattern',
|
2265 |
-
),
|
2266 |
-
'attributes' => array(
|
2267 |
-
'',
|
2268 |
-
'id',
|
2269 |
-
'quantity',
|
2270 |
-
'price',
|
2271 |
-
'sale_price',
|
2272 |
-
'availability',
|
2273 |
-
'sale_price_effective_date',
|
2274 |
-
'',
|
2275 |
-
'',
|
2276 |
-
),
|
2277 |
-
'default' => array( ' ', '', '', '', '', '', '', '', '' ),
|
2278 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2279 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2280 |
-
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2281 |
-
),
|
2282 |
-
'google_local' => array(
|
2283 |
-
'mattributes' => array(
|
2284 |
-
'store code',
|
2285 |
-
'itemid',
|
2286 |
-
'title',
|
2287 |
-
'description',
|
2288 |
-
'image_link',
|
2289 |
-
'condition',
|
2290 |
-
'gtin',
|
2291 |
-
'brand',
|
2292 |
-
'google_product_category',
|
2293 |
-
'webitemid',
|
2294 |
-
'mpn',
|
2295 |
-
'price',
|
2296 |
-
'sale price',
|
2297 |
-
'sale price effective date',
|
2298 |
-
'unit_pricing_measure',
|
2299 |
-
'unit_pricing_base_measure',
|
2300 |
-
'pickup method',
|
2301 |
-
'pickup SLA',
|
2302 |
-
'pickup_link_template',
|
2303 |
-
'mobile_pickup_link_template',
|
2304 |
-
'link_template',
|
2305 |
-
'mobile_link_template',
|
2306 |
-
'ads_redirect',
|
2307 |
-
'energy_efficiency_class',
|
2308 |
-
'energy_efficiency_class_min',
|
2309 |
-
'energy_efficiency_class_max',
|
2310 |
-
),
|
2311 |
-
'prefix' => array(
|
2312 |
-
'',
|
2313 |
-
'',
|
2314 |
-
'',
|
2315 |
-
'',
|
2316 |
-
'',
|
2317 |
-
'',
|
2318 |
-
'',
|
2319 |
-
'',
|
2320 |
-
'',
|
2321 |
-
'',
|
2322 |
-
'',
|
2323 |
-
'',
|
2324 |
-
'',
|
2325 |
-
'',
|
2326 |
-
'',
|
2327 |
-
'',
|
2328 |
-
'',
|
2329 |
-
'',
|
2330 |
-
'',
|
2331 |
-
'',
|
2332 |
-
'',
|
2333 |
-
'',
|
2334 |
-
'',
|
2335 |
-
'',
|
2336 |
-
'',
|
2337 |
-
'',
|
2338 |
-
),
|
2339 |
-
'type' => array(
|
2340 |
-
'pattern',
|
2341 |
-
'attribute',
|
2342 |
-
'attribute',
|
2343 |
-
'attribute',
|
2344 |
-
'attribute',
|
2345 |
-
'attribute',
|
2346 |
-
'attribute',
|
2347 |
-
'pattern',
|
2348 |
-
'pattern',
|
2349 |
-
'pattern',
|
2350 |
-
'pattern',
|
2351 |
-
'attribute',
|
2352 |
-
'attribute',
|
2353 |
-
'attribute',
|
2354 |
-
'pattern',
|
2355 |
-
'pattern',
|
2356 |
-
'pattern',
|
2357 |
-
'pattern',
|
2358 |
-
'pattern',
|
2359 |
-
'pattern',
|
2360 |
-
'pattern',
|
2361 |
-
'pattern',
|
2362 |
-
'pattern',
|
2363 |
-
'pattern',
|
2364 |
-
'pattern',
|
2365 |
-
'pattern',
|
2366 |
-
),
|
2367 |
-
'attributes' => array(
|
2368 |
-
'',
|
2369 |
-
'id',
|
2370 |
-
'title',
|
2371 |
-
'description',
|
2372 |
-
'image',
|
2373 |
-
'condition',
|
2374 |
-
'sku',
|
2375 |
-
'',
|
2376 |
-
'',
|
2377 |
-
'',
|
2378 |
-
'',
|
2379 |
-
'price',
|
2380 |
-
'sale_price',
|
2381 |
-
'sale_price_effective_date',
|
2382 |
-
'',
|
2383 |
-
'',
|
2384 |
-
'',
|
2385 |
-
'',
|
2386 |
-
'',
|
2387 |
-
'',
|
2388 |
-
'',
|
2389 |
-
'',
|
2390 |
-
'',
|
2391 |
-
'',
|
2392 |
-
'',
|
2393 |
-
'',
|
2394 |
-
),
|
2395 |
-
'default' => array(
|
2396 |
-
' ',
|
2397 |
-
'',
|
2398 |
-
'',
|
2399 |
-
'',
|
2400 |
-
'',
|
2401 |
-
'',
|
2402 |
-
'',
|
2403 |
-
'',
|
2404 |
-
'',
|
2405 |
-
'',
|
2406 |
-
'',
|
2407 |
-
'',
|
2408 |
-
'',
|
2409 |
-
'',
|
2410 |
-
'',
|
2411 |
-
'',
|
2412 |
-
'',
|
2413 |
-
'',
|
2414 |
-
'',
|
2415 |
-
'',
|
2416 |
-
'',
|
2417 |
-
'',
|
2418 |
-
'',
|
2419 |
-
'',
|
2420 |
-
'',
|
2421 |
-
'',
|
2422 |
-
),
|
2423 |
-
'suffix' => array(
|
2424 |
-
'',
|
2425 |
-
'',
|
2426 |
-
'',
|
2427 |
-
'',
|
2428 |
-
'',
|
2429 |
-
'',
|
2430 |
-
'',
|
2431 |
-
'',
|
2432 |
-
'',
|
2433 |
-
'',
|
2434 |
-
'',
|
2435 |
-
'',
|
2436 |
-
'',
|
2437 |
-
'',
|
2438 |
-
'',
|
2439 |
-
'',
|
2440 |
-
'',
|
2441 |
-
'',
|
2442 |
-
'',
|
2443 |
-
'',
|
2444 |
-
'',
|
2445 |
-
'',
|
2446 |
-
'',
|
2447 |
-
'',
|
2448 |
-
'',
|
2449 |
-
'',
|
2450 |
-
),
|
2451 |
-
'output_type' => array(
|
2452 |
-
'1',
|
2453 |
-
'1',
|
2454 |
-
'1',
|
2455 |
-
'1',
|
2456 |
-
'1',
|
2457 |
-
'1',
|
2458 |
-
'1',
|
2459 |
-
'1',
|
2460 |
-
'1',
|
2461 |
-
'1',
|
2462 |
-
'1',
|
2463 |
-
'1',
|
2464 |
-
'1',
|
2465 |
-
'1',
|
2466 |
-
'1',
|
2467 |
-
'1',
|
2468 |
-
'1',
|
2469 |
-
'1',
|
2470 |
-
'1',
|
2471 |
-
'1',
|
2472 |
-
'1',
|
2473 |
-
'1',
|
2474 |
-
'1',
|
2475 |
-
'1',
|
2476 |
-
'1',
|
2477 |
-
'1',
|
2478 |
-
),
|
2479 |
-
'limit' => array(
|
2480 |
-
'',
|
2481 |
-
'',
|
2482 |
-
'',
|
2483 |
-
'',
|
2484 |
-
'',
|
2485 |
-
'',
|
2486 |
-
'',
|
2487 |
-
'',
|
2488 |
-
'',
|
2489 |
-
'',
|
2490 |
-
'',
|
2491 |
-
'',
|
2492 |
-
'',
|
2493 |
-
'',
|
2494 |
-
'',
|
2495 |
-
'',
|
2496 |
-
'',
|
2497 |
-
'',
|
2498 |
-
'',
|
2499 |
-
'',
|
2500 |
-
'',
|
2501 |
-
'',
|
2502 |
-
'',
|
2503 |
-
'',
|
2504 |
-
'',
|
2505 |
-
'',
|
2506 |
-
),
|
2507 |
-
),
|
2508 |
-
'idealo' => array(
|
2509 |
-
'mattributes' => array(
|
2510 |
-
'Article number in shop',
|
2511 |
-
'EAN',
|
2512 |
-
'MPN',
|
2513 |
-
'Manufacturer',
|
2514 |
-
'Product name',
|
2515 |
-
'Price',
|
2516 |
-
'Delivery time',
|
2517 |
-
'Product group in shop',
|
2518 |
-
'Product description',
|
2519 |
-
'Product characteristics',
|
2520 |
-
'Product URL',
|
2521 |
-
'Image URL',
|
2522 |
-
'Colour',
|
2523 |
-
'Size',
|
2524 |
-
'Cash in advance',
|
2525 |
-
'Unit price',
|
2526 |
-
'Energy efficiency rating',
|
2527 |
-
),
|
2528 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2529 |
-
'type' => array(
|
2530 |
-
'attribute',
|
2531 |
-
'attribute',
|
2532 |
-
'attribute',
|
2533 |
-
'attribute',
|
2534 |
-
'attribute',
|
2535 |
-
'attribute',
|
2536 |
-
'attribute',
|
2537 |
-
'attribute',
|
2538 |
-
'attribute',
|
2539 |
-
'attribute',
|
2540 |
-
'attribute',
|
2541 |
-
'attribute',
|
2542 |
-
'attribute',
|
2543 |
-
'attribute',
|
2544 |
-
'attribute',
|
2545 |
-
'attribute',
|
2546 |
-
'attribute',
|
2547 |
-
),
|
2548 |
-
'attributes' => array(
|
2549 |
-
'',
|
2550 |
-
'',
|
2551 |
-
'',
|
2552 |
-
'',
|
2553 |
-
'title',
|
2554 |
-
'price',
|
2555 |
-
'',
|
2556 |
-
'product_type',
|
2557 |
-
'description',
|
2558 |
-
'',
|
2559 |
-
'link',
|
2560 |
-
'image',
|
2561 |
-
'',
|
2562 |
-
'',
|
2563 |
-
'',
|
2564 |
-
'',
|
2565 |
-
'',
|
2566 |
-
),
|
2567 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2568 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2569 |
-
'output_type' => array(
|
2570 |
-
'1',
|
2571 |
-
'1',
|
2572 |
-
'1',
|
2573 |
-
'1',
|
2574 |
-
'1',
|
2575 |
-
'1',
|
2576 |
-
'1',
|
2577 |
-
'1',
|
2578 |
-
'1',
|
2579 |
-
'1',
|
2580 |
-
'1',
|
2581 |
-
'1',
|
2582 |
-
'1',
|
2583 |
-
'1',
|
2584 |
-
'1',
|
2585 |
-
'1',
|
2586 |
-
'1',
|
2587 |
-
),
|
2588 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2589 |
-
),
|
2590 |
-
'pricespy' => array(
|
2591 |
-
'mattributes' => array(
|
2592 |
-
'Product-name',
|
2593 |
-
'Your-item-number',
|
2594 |
-
'category',
|
2595 |
-
'price-including-gst',
|
2596 |
-
'Product-URL',
|
2597 |
-
'manufacturer',
|
2598 |
-
'manufacturer-SKU',
|
2599 |
-
'shipping',
|
2600 |
-
'image-URL',
|
2601 |
-
'stock status',
|
2602 |
-
),
|
2603 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2604 |
-
'type' => array(
|
2605 |
-
'attribute',
|
2606 |
-
'attribute',
|
2607 |
-
'attribute',
|
2608 |
-
'attribute',
|
2609 |
-
'attribute',
|
2610 |
-
'pattern',
|
2611 |
-
'attribute',
|
2612 |
-
'pattern',
|
2613 |
-
'attribute',
|
2614 |
-
'attribute',
|
2615 |
-
),
|
2616 |
-
'attributes' => array(
|
2617 |
-
'title',
|
2618 |
-
'id',
|
2619 |
-
'product_type',
|
2620 |
-
'price',
|
2621 |
-
'link',
|
2622 |
-
'',
|
2623 |
-
'sku',
|
2624 |
-
'',
|
2625 |
-
'image',
|
2626 |
-
'condition',
|
2627 |
-
),
|
2628 |
-
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '' ),
|
2629 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2630 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2631 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2632 |
-
),
|
2633 |
-
'yandex_csv' => array(
|
2634 |
-
'mattributes' => array(
|
2635 |
-
'id',
|
2636 |
-
'available',
|
2637 |
-
'price',
|
2638 |
-
'currencyId',
|
2639 |
-
'category',
|
2640 |
-
'picture',
|
2641 |
-
'name',
|
2642 |
-
'description',
|
2643 |
-
),
|
2644 |
-
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
2645 |
-
'type' => array(
|
2646 |
-
'attribute',
|
2647 |
-
'attribute',
|
2648 |
-
'attribute',
|
2649 |
-
'pattern',
|
2650 |
-
'attribute',
|
2651 |
-
'attribute',
|
2652 |
-
'attribute',
|
2653 |
-
'attribute',
|
2654 |
-
),
|
2655 |
-
'attributes' => array(
|
2656 |
-
'id',
|
2657 |
-
'availability',
|
2658 |
-
'price',
|
2659 |
-
'',
|
2660 |
-
'product_type',
|
2661 |
-
'image',
|
2662 |
-
'title',
|
2663 |
-
'description',
|
2664 |
-
),
|
2665 |
-
'default' => array( '', '', '', 'RUR', '', '', '', '' ),
|
2666 |
-
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
2667 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2668 |
-
'limit' => array( '', '', '', '', '', '', '', '' ),
|
2669 |
-
),
|
2670 |
-
'fyndiq.se' => array(
|
2671 |
-
'mattributes' => array(
|
2672 |
-
'product-id',
|
2673 |
-
'product-title',
|
2674 |
-
'product-description',
|
2675 |
-
'product-market',
|
2676 |
-
'product-currency',
|
2677 |
-
'product-price',
|
2678 |
-
'product-oldprice',
|
2679 |
-
'product-var-percent',
|
2680 |
-
'product-image-1-url',
|
2681 |
-
'product-image-1-identifier',
|
2682 |
-
'article-sku',
|
2683 |
-
'article-quantity',
|
2684 |
-
'article-name',
|
2685 |
-
),
|
2686 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2687 |
-
'type' => array(
|
2688 |
-
'attribute',
|
2689 |
-
'attribute',
|
2690 |
-
'attribute',
|
2691 |
-
'attribute',
|
2692 |
-
'pattern',
|
2693 |
-
'attribute',
|
2694 |
-
'attribute',
|
2695 |
-
'attribute',
|
2696 |
-
'attribute',
|
2697 |
-
'attribute',
|
2698 |
-
'attribute',
|
2699 |
-
'attribute',
|
2700 |
-
'attribute',
|
2701 |
-
),
|
2702 |
-
'attributes' => array(
|
2703 |
-
'id',
|
2704 |
-
'title',
|
2705 |
-
'description',
|
2706 |
-
'',
|
2707 |
-
'',
|
2708 |
-
'price',
|
2709 |
-
'',
|
2710 |
-
'',
|
2711 |
-
'image',
|
2712 |
-
'',
|
2713 |
-
'sku',
|
2714 |
-
'quantity',
|
2715 |
-
'',
|
2716 |
-
),
|
2717 |
-
'default' => array( '', '', '', '', 'USD', '', '', '', '', '', '', '', '' ),
|
2718 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2719 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2720 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2721 |
-
),
|
2722 |
-
'miinto.nl' => array(
|
2723 |
-
'mattributes' => array(
|
2724 |
-
'gtin',
|
2725 |
-
'item_group_id',
|
2726 |
-
'brand',
|
2727 |
-
'title',
|
2728 |
-
'product_type',
|
2729 |
-
'gender',
|
2730 |
-
'color',
|
2731 |
-
'size',
|
2732 |
-
'image_link',
|
2733 |
-
'stock_level',
|
2734 |
-
'season_tag',
|
2735 |
-
'description',
|
2736 |
-
'material',
|
2737 |
-
'washing',
|
2738 |
-
'retail_price_currencyCode',
|
2739 |
-
),
|
2740 |
-
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2741 |
-
'type' => array(
|
2742 |
-
'attribute',
|
2743 |
-
'attribute',
|
2744 |
-
'attribute',
|
2745 |
-
'attribute',
|
2746 |
-
'attribute',
|
2747 |
-
'attribute',
|
2748 |
-
'attribute',
|
2749 |
-
'attribute',
|
2750 |
-
'attribute',
|
2751 |
-
'attribute',
|
2752 |
-
'attribute',
|
2753 |
-
'attribute',
|
2754 |
-
'attribute',
|
2755 |
-
'attribute',
|
2756 |
-
'attribute',
|
2757 |
-
),
|
2758 |
-
'attributes' => array(
|
2759 |
-
'',
|
2760 |
-
'item_group_id',
|
2761 |
-
'',
|
2762 |
-
'title',
|
2763 |
-
'product_type',
|
2764 |
-
'',
|
2765 |
-
'',
|
2766 |
-
'',
|
2767 |
-
'image',
|
2768 |
-
'quantity',
|
2769 |
-
'',
|
2770 |
-
'description',
|
2771 |
-
'',
|
2772 |
-
'',
|
2773 |
-
'',
|
2774 |
-
),
|
2775 |
-
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2776 |
-
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2777 |
-
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2778 |
-
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2779 |
-
),
|
2780 |
-
);
|
2781 |
|
2782 |
//adroll - smartly.io google
|
2783 |
//admarkt custom 2
|
2784 |
|
2785 |
public function __construct( $merchant = null ) {
|
|
|
2786 |
$this->merchant = $merchant;
|
|
|
|
|
2787 |
}
|
2788 |
|
|
|
|
|
|
|
|
|
|
|
2789 |
public function get_merchant_template() {
|
2790 |
if ( ! is_null( $this->merchant ) && array_key_exists( $this->merchant, $this->templates ) ) {
|
2791 |
return $this->templates[ $this->merchant ];
|
@@ -2794,187 +80,3131 @@ class Woo_Feed_Merchant {
|
|
2794 |
return false;
|
2795 |
}
|
2796 |
|
|
|
|
|
|
|
|
|
|
|
2797 |
public function get_default_template() {
|
2798 |
return $this->templates['default'];
|
2799 |
}
|
2800 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2801 |
/**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2802 |
*
|
|
|
|
|
|
|
2803 |
*/
|
2804 |
-
public function
|
|
|
|
|
2805 |
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2816 |
|
2817 |
$merchant_info = array(
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
"How to set price with tax?" => "http://bit.ly/2PuzWga",
|
2829 |
-
"How to solve micro data error?" => "http://bit.ly/345nIQz",
|
2830 |
-
"How to configure google product categories?" => "http://bit.ly/2RFWRrP",
|
2831 |
),
|
2832 |
), // Google.
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
),
|
2843 |
), // Facebook.
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
|
2849 |
),
|
2850 |
), // Pinterest.
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
), // Bing.
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
), // PriceSpy.
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
), // Prisjakt.
|
2863 |
-
|
2864 |
-
|
2865 |
-
|
2866 |
), // Idealo.
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
), // Yandex (CSV).
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
), // Yandex (XML).
|
2875 |
-
"adroll" => array(
|
2876 |
-
"link" => "http://bit.ly/2qzPtmt",
|
2877 |
-
"feed_file_type" => array( "CSV", "XML" ),
|
2878 |
), // adroll
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
), // adform
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
), // Kelkoo.
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
), // Shop Mania.
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
), // Connexity.
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
), // Twenga.
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
), // Fruugo.
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
), // Fruugo Australia.
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
), // Price Runner.
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
), // Bonanza
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
), // Bol.
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
), // Wish.com.
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
), // Myshopping.com.au.
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
), // SkinFlint.co.uk.
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
), // Yahoo NFA.
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
), // Comparer.be.
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
), // rakuten.
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
), // Avantlink
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
), // ShareASale.
|
|
|
|
|
|
|
2951 |
);
|
2952 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2953 |
return $merchant_info;
|
2954 |
}
|
2955 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2956 |
/**
|
2957 |
* Get Merchant Info
|
|
|
|
|
|
|
2958 |
* @param string $merchant
|
2959 |
*
|
2960 |
* @return array
|
2961 |
*/
|
2962 |
public function getInfo( $merchant = '' ) {
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
$info = apply_filters( 'woo_feed_merchant_info', $info, $merchant );
|
2971 |
-
|
2972 |
-
// ensure common data structure
|
2973 |
-
return wp_parse_args( $info, [
|
2974 |
-
'link' => '',
|
2975 |
-
'video' => '',
|
2976 |
-
'feed_file_type' => [],
|
2977 |
-
'doc' => [],
|
2978 |
-
] );
|
2979 |
}
|
2980 |
}
|
8 |
|
9 |
class Woo_Feed_Merchant {
|
10 |
|
11 |
+
/**
|
12 |
+
* Merchant Templates
|
13 |
+
* @var array
|
14 |
+
*/
|
15 |
+
private $templates;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Current Merchant
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
private $merchant;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Current Template
|
25 |
+
* @var array
|
26 |
+
*/
|
27 |
+
private $template_raw;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Parsed Template (Rules) For rendering create form
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
+
private $template;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Allowed Feed Type for current Merchant
|
37 |
+
* @var array
|
38 |
+
*/
|
39 |
+
private $feed_types;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Current Merchant Info
|
43 |
+
* @var array
|
44 |
+
*/
|
45 |
+
private $info;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* is default template.
|
49 |
+
* Flag that indicates if merchant template not exists and fallback to default template.
|
50 |
+
* @var bool
|
51 |
+
*/
|
52 |
+
private $is_default_template = false;
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Woo_Feed_Merchant constructor.
|
56 |
+
*
|
57 |
+
* @param string $merchant
|
58 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
//adroll - smartly.io google
|
61 |
//admarkt custom 2
|
62 |
|
63 |
public function __construct( $merchant = null ) {
|
64 |
+
$this->merchant_templates();
|
65 |
$this->merchant = $merchant;
|
66 |
+
$this->get_template_raw();
|
67 |
+
$this->merchantInfo();
|
68 |
}
|
69 |
|
70 |
+
/**
|
71 |
+
* Get Merchant Template
|
72 |
+
* @deprecated 3.3.7
|
73 |
+
* @return bool|array
|
74 |
+
*/
|
75 |
public function get_merchant_template() {
|
76 |
if ( ! is_null( $this->merchant ) && array_key_exists( $this->merchant, $this->templates ) ) {
|
77 |
return $this->templates[ $this->merchant ];
|
80 |
return false;
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
+
* Get Default template (blank template with some attribute for creating a base config).
|
85 |
+
* @deprecated 3.3.7
|
86 |
+
* @return array
|
87 |
+
*/
|
88 |
public function get_default_template() {
|
89 |
return $this->templates['default'];
|
90 |
}
|
91 |
|
92 |
+
public function get_template_raw() {
|
93 |
+
if ( is_array( $this->template_raw ) ) {
|
94 |
+
return $this->template_raw;
|
95 |
+
}
|
96 |
+
|
97 |
+
if ( ! is_null( $this->merchant ) && array_key_exists( $this->merchant, $this->templates ) ) {
|
98 |
+
$this->template_raw = $this->templates[ $this->merchant ];
|
99 |
+
} else {
|
100 |
+
$this->is_default_template = true;
|
101 |
+
|
102 |
+
$this->template_raw = $this->templates['default'];
|
103 |
+
}
|
104 |
+
|
105 |
+
return $this->template_raw;
|
106 |
+
}
|
107 |
+
|
108 |
/**
|
109 |
+
* Get Merchant template with fallback to default template.
|
110 |
+
* @return array
|
111 |
+
*/
|
112 |
+
public function get_template() {
|
113 |
+
if ( is_array( $this->template ) ) {
|
114 |
+
return $this->template;
|
115 |
+
}
|
116 |
+
$this->template = array_merge( $this->template_raw, [
|
117 |
+
'provider' => $this->merchant,
|
118 |
+
'feedType' => $this->get_feed_types( true ),
|
119 |
+
] );
|
120 |
+
$this->template = woo_feed_parse_feed_rules( $this->template, 'create' );
|
121 |
+
return $this->template;
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Get Feed Types
|
126 |
*
|
127 |
+
* @param bool $default get the default type
|
128 |
+
*
|
129 |
+
* @return string[]|string|false
|
130 |
*/
|
131 |
+
public function get_feed_types( $default = false ) {
|
132 |
+
|
133 |
+
if ( false === $default ) return $this->feed_types;
|
134 |
|
135 |
+
return reset( $this->feed_types );
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Get Selected Merchant Name (slug)
|
140 |
+
* @return string|null
|
141 |
+
*/
|
142 |
+
public function get_name() {
|
143 |
+
return $this->merchant;
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* check if fallback to default template
|
148 |
+
* @return bool
|
149 |
+
*/
|
150 |
+
public function is_default_template() {
|
151 |
+
return $this->is_default_template;
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Get Merchant Info
|
156 |
+
* @return array
|
157 |
+
*/
|
158 |
+
public function get_info() {
|
159 |
+
return $this->info;
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Merchant info array
|
164 |
+
* Follow this common format to add new merchant info
|
165 |
+
* [
|
166 |
+
* 'link' => '', # Merchant's feed specification url
|
167 |
+
* 'video' => '', # Video tutorial to make feed for this merchant
|
168 |
+
* 'doc' => array( # Plugin documentation for this merchant
|
169 |
+
* esc_html__( 'link label 1', 'woo-feed' ) => 'https://link1',
|
170 |
+
* esc_html__( 'link label 2', 'woo-feed' ) => 'https://link2',
|
171 |
+
* ),
|
172 |
+
* 'feed_file_type' => array( 'XML', 'CSV', 'TXT' ), # Feed file type (XML or CSV or TXT). Can be multiple.
|
173 |
+
* ];
|
174 |
+
*
|
175 |
+
*/
|
176 |
+
private function merchantInfo() {
|
177 |
|
178 |
$merchant_info = array(
|
179 |
+
'google' => array(
|
180 |
+
'link' => 'http://bit.ly/38kmDrl',
|
181 |
+
'video' => 'https://youtu.be/PTUYgF7DwEo',
|
182 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
183 |
+
'doc' => array(
|
184 |
+
esc_html__( 'How to make google merchant feed?', 'woo-feed' ) => 'http://bit.ly/355q0jY',
|
185 |
+
esc_html__( 'How to configure shipping info?', 'woo-feed' ) => 'http://bit.ly/2Rzr0sI',
|
186 |
+
esc_html__( 'How to set price with tax?', 'woo-feed' ) => 'http://bit.ly/2PuzWga',
|
187 |
+
esc_html__( 'How to solve micro data error?', 'woo-feed' ) => 'http://bit.ly/345nIQz',
|
188 |
+
esc_html__( 'How to configure google product categories?', 'woo-feed' ) => 'http://bit.ly/2RFWRrP',
|
|
|
|
|
|
|
189 |
),
|
190 |
), // Google.
|
191 |
+
'google_local' => '',
|
192 |
+
'google_local_inventory' => '',
|
193 |
+
'adwords' => '',
|
194 |
+
'facebook' => array(
|
195 |
+
'link' => 'http://bit.ly/2P5cA1V',
|
196 |
+
'video' => 'https://youtu.be/Wo3V_nf_eUU',
|
197 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
198 |
+
'doc' => array(
|
199 |
+
esc_html__( 'How to configure google product categories?', 'woo-feed' ) => 'http://bit.ly/2RFWRrP',
|
200 |
),
|
201 |
), // Facebook.
|
202 |
+
'pinterest' => array(
|
203 |
+
'link' => 'http://bit.ly/35h6YXG',
|
204 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
205 |
+
'doc' => array(
|
206 |
+
esc_html__( 'How to configure google product categories?', 'woo-feed' ) => 'http://bit.ly/2RFWRrP',
|
207 |
),
|
208 |
), // Pinterest.
|
209 |
+
'bing' => array(
|
210 |
+
'link' => 'http://bit.ly/33ZeuVS',
|
211 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
212 |
), // Bing.
|
213 |
+
'pricespy' => array(
|
214 |
+
'link' => 'http://bit.ly/2t0rEFm',
|
215 |
+
'feed_file_type' => array( 'TXT' ),
|
216 |
), // PriceSpy.
|
217 |
+
'prisjakt' => array(
|
218 |
+
'link' => 'http://bit.ly/36iRT8a',
|
219 |
+
'feed_file_type' => array( 'TXT' ),
|
220 |
), // Prisjakt.
|
221 |
+
'idealo' => array(
|
222 |
+
'link' => 'http://bit.ly/2LDgJI0',
|
223 |
+
'feed_file_type' => array( 'CSV', 'TXT' ),
|
224 |
), // Idealo.
|
225 |
+
'yandex_csv' => array(
|
226 |
+
'link' => 'http://bit.ly/2t0tsy8',
|
227 |
+
'feed_file_type' => array( 'CSV', 'TXT' ),
|
228 |
), // Yandex (CSV).
|
229 |
+
'adroll' => array(
|
230 |
+
'link' => 'http://bit.ly/2qzPtmt',
|
231 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
|
|
|
|
|
|
|
|
232 |
), // adroll
|
233 |
+
'adform' => array(
|
234 |
+
'link' => 'http://bit.ly/2s6yatQ',
|
235 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
236 |
), // adform
|
237 |
+
'kelkoo' => array(
|
238 |
+
'link' => 'http://bit.ly/2RAcqkL',
|
239 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
240 |
), // Kelkoo.
|
241 |
+
'shopmania' => array(
|
242 |
+
'link' => 'http://bit.ly/38pE2PA',
|
243 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
244 |
), // Shop Mania.
|
245 |
+
'connexity' => array(
|
246 |
+
'link' => 'http://bit.ly/36lPaLw',
|
247 |
+
'feed_file_type' => array( 'TXT' ),
|
248 |
), // Connexity.
|
249 |
+
'twenga' => array(
|
250 |
+
'link' => 'http://bit.ly/2RwTIud',
|
251 |
+
'feed_file_type' => array( 'XML', 'TXT' ),
|
252 |
), // Twenga.
|
253 |
+
'fruugo' => array(
|
254 |
+
'link' => 'http://bit.ly/2Yxabjn',
|
255 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
256 |
), // Fruugo.
|
257 |
+
'fruugo.au' => array(
|
258 |
+
'link' => 'http://bit.ly/2Yxabjn',
|
259 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
260 |
), // Fruugo Australia.
|
261 |
+
'pricerunner' => array(
|
262 |
+
'link' => 'http://bit.ly/2Pznn3s',
|
263 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
264 |
), // Price Runner.
|
265 |
+
'bonanza' => array(
|
266 |
+
'link' => 'http://bit.ly/2Rxi9aK',
|
267 |
+
'feed_file_type' => array( 'CSV' ),
|
268 |
), // Bonanza
|
269 |
+
'bol' => array(
|
270 |
+
'link' => 'http://bit.ly/2P3MUCu',
|
271 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
272 |
), // Bol.
|
273 |
+
'wish' => array(
|
274 |
+
'link' => 'http://bit.ly/348iYtc',
|
275 |
+
'feed_file_type' => array( 'CSV' ),
|
276 |
), // Wish.com.
|
277 |
+
'myshopping.com.au' => array(
|
278 |
+
'link' => 'http://bit.ly/2E6jugI',
|
279 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
280 |
), // Myshopping.com.au.
|
281 |
+
'skinflint.co.uk' => array(
|
282 |
+
'link' => 'http://bit.ly/2sg09qJ',
|
283 |
+
'feed_file_type' => array( 'CSV' ),
|
284 |
), // SkinFlint.co.uk.
|
285 |
+
'yahoo_nfa' => array(
|
286 |
+
'link' => 'http://bit.ly/2LCC58k',
|
287 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
288 |
), // Yahoo NFA.
|
289 |
+
'comparer.be' => array(
|
290 |
+
'link' => 'http://bit.ly/38xz2sa',
|
291 |
+
'feed_file_type' => array( 'XML', 'CSV' ),
|
292 |
), // Comparer.be.
|
293 |
+
'rakuten.de' => array(
|
294 |
+
'link' => 'http://bit.ly/2YCDdym',
|
295 |
+
'feed_file_type' => array( 'CSV', 'TXT' ),
|
296 |
), // rakuten.
|
297 |
+
'avantlink' => array(
|
298 |
+
'link' => 'http://bit.ly/2PuExPv',
|
299 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
300 |
), // Avantlink
|
301 |
+
'shareasale' => array(
|
302 |
+
'link' => 'http://bit.ly/36uT1pF',
|
303 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
304 |
), // ShareASale.
|
305 |
+
'trovaprezzi' => array(
|
306 |
+
'feed_file_type' => array( 'XML', 'CSV', 'TXT' ),
|
307 |
+
), // trovaprezzi.it.
|
308 |
);
|
309 |
|
310 |
+
$this->info = ( isset( $merchant_info[ $this->merchant ] ) ) ? $merchant_info[ $this->merchant ] : [];
|
311 |
+
// ensure common data structure
|
312 |
+
$this->info = wp_parse_args( $this->info, [
|
313 |
+
'link' => '',
|
314 |
+
'video' => '',
|
315 |
+
'feed_file_type' => [],
|
316 |
+
'doc' => [],
|
317 |
+
] );
|
318 |
+
|
319 |
+
$this->feed_types = ( false === $this->is_default_template ) ? $this->info['feed_file_type'] : [ 'XML', 'CSV', 'TXT' ];
|
320 |
+
|
321 |
+
/**
|
322 |
+
* Filter single merchant data before retrieve
|
323 |
+
* @param array $feed_types
|
324 |
+
* @param string $merchant
|
325 |
+
*/
|
326 |
+
$this->feed_types = apply_filters( 'woo_feed_get_feed_types', $this->feed_types, $this->merchant );
|
327 |
+
|
328 |
+
$this->info['feed_file_type'] = $this->feed_types;
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Filter single merchant data before retrieve
|
332 |
+
* @param array $info
|
333 |
+
* @param string $merchant
|
334 |
+
*/
|
335 |
+
$this->info = apply_filters( 'woo_feed_get_merchant_info', $this->info, $this->merchant );
|
336 |
+
|
337 |
return $merchant_info;
|
338 |
}
|
339 |
|
340 |
+
/**
|
341 |
+
* Sets Merchant Templates
|
342 |
+
* @return void
|
343 |
+
*/
|
344 |
+
private function merchant_templates() {
|
345 |
+
|
346 |
+
$this->templates = array(
|
347 |
+
'default' => array(
|
348 |
+
'mattributes' => array(
|
349 |
+
'id',
|
350 |
+
'title',
|
351 |
+
'description',
|
352 |
+
'link',
|
353 |
+
'image_link',
|
354 |
+
'price',
|
355 |
+
'categories',
|
356 |
+
'brand',
|
357 |
+
),
|
358 |
+
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
359 |
+
'type' => array(
|
360 |
+
'attribute',
|
361 |
+
'attribute',
|
362 |
+
'attribute',
|
363 |
+
'attribute',
|
364 |
+
'attribute',
|
365 |
+
'attribute',
|
366 |
+
'attribute',
|
367 |
+
'attribute',
|
368 |
+
),
|
369 |
+
'attributes' => array( 'id', 'title', 'description', 'link', 'image', 'price', 'product_type', '' ),
|
370 |
+
'default' => array( '', '', '', '', '', '', '', '' ),
|
371 |
+
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
372 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
373 |
+
'limit' => array( '', '', '', '', '', '', '', '' ),
|
374 |
+
),
|
375 |
+
'bol' => array(
|
376 |
+
'mattributes' => array(
|
377 |
+
'EAN',
|
378 |
+
'Internal Reference',
|
379 |
+
'Name',
|
380 |
+
'Product Classification',
|
381 |
+
'Description',
|
382 |
+
'Cover Image URL',
|
383 |
+
'Brand',
|
384 |
+
),
|
385 |
+
'prefix' => array( '', '', '', '', '', '', '' ),
|
386 |
+
'type' => array(
|
387 |
+
'attribute',
|
388 |
+
'attribute',
|
389 |
+
'attribute',
|
390 |
+
'attribute',
|
391 |
+
'attribute',
|
392 |
+
'attribute',
|
393 |
+
'pattern',
|
394 |
+
),
|
395 |
+
'attributes' => array( 'sku', 'id', 'title', 'product_type', 'description', 'image', '' ),
|
396 |
+
'default' => array( '', '', '', '', '', '', '' ),
|
397 |
+
'suffix' => array( '', '', '', '', '', '', '' ),
|
398 |
+
'output_type' => array( '1', '1', '1', '1', '2', '1', '' ),
|
399 |
+
'limit' => array( '', '', '', '', '', '500', '5000' ),
|
400 |
+
),
|
401 |
+
'adform' => array(
|
402 |
+
'mattributes' => array(
|
403 |
+
'product_id',
|
404 |
+
'product_name',
|
405 |
+
'product_category_id',
|
406 |
+
'product_deeplink',
|
407 |
+
'product_image',
|
408 |
+
'product_price',
|
409 |
+
),
|
410 |
+
'prefix' => array( '', '', '', '', '', '' ),
|
411 |
+
'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'attribute' ),
|
412 |
+
'attributes' => array( 'id', 'title', 'product_type', 'link', 'image', 'price' ),
|
413 |
+
'default' => array( '', '', '', '', '', '' ),
|
414 |
+
'suffix' => array( '', '', '', '', '', '' ),
|
415 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1' ),
|
416 |
+
'limit' => array( '', '', '', '', '', '' ),
|
417 |
+
),
|
418 |
+
'avantlink' => array(
|
419 |
+
'mattributes' => array(
|
420 |
+
'SKU',
|
421 |
+
'Brand Name',
|
422 |
+
'Product Name',
|
423 |
+
'Long Description',
|
424 |
+
'Category',
|
425 |
+
'Standardized Categorization',
|
426 |
+
'Image URL',
|
427 |
+
'Buy Link',
|
428 |
+
'Retail Price',
|
429 |
+
'Sale Price',
|
430 |
+
'UPC',
|
431 |
+
),
|
432 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
433 |
+
'type' => array(
|
434 |
+
'attribute',
|
435 |
+
'attribute',
|
436 |
+
'attribute',
|
437 |
+
'attribute',
|
438 |
+
'attribute',
|
439 |
+
'attribute',
|
440 |
+
'attribute',
|
441 |
+
'attribute',
|
442 |
+
'attribute',
|
443 |
+
'attribute',
|
444 |
+
'attribute',
|
445 |
+
),
|
446 |
+
'attributes' => array(
|
447 |
+
'sku',
|
448 |
+
'',
|
449 |
+
'title',
|
450 |
+
'description',
|
451 |
+
'product_type',
|
452 |
+
'',
|
453 |
+
'image',
|
454 |
+
'link',
|
455 |
+
'price',
|
456 |
+
'sale_price',
|
457 |
+
'',
|
458 |
+
),
|
459 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
460 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
461 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
462 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
463 |
+
),
|
464 |
+
'become' => array(
|
465 |
+
'mattributes' => array(
|
466 |
+
'Unique ID',
|
467 |
+
'Title',
|
468 |
+
'Description',
|
469 |
+
'Category',
|
470 |
+
'Product URL',
|
471 |
+
'Image URL',
|
472 |
+
'Condition',
|
473 |
+
'Availability',
|
474 |
+
'Current Price',
|
475 |
+
),
|
476 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
477 |
+
'type' => array(
|
478 |
+
'attribute',
|
479 |
+
'attribute',
|
480 |
+
'attribute',
|
481 |
+
'attribute',
|
482 |
+
'attribute',
|
483 |
+
'attribute',
|
484 |
+
'attribute',
|
485 |
+
'attribute',
|
486 |
+
'attribute',
|
487 |
+
),
|
488 |
+
'attributes' => array(
|
489 |
+
'id',
|
490 |
+
'title',
|
491 |
+
'description',
|
492 |
+
'product_type',
|
493 |
+
'link',
|
494 |
+
'image',
|
495 |
+
'condition',
|
496 |
+
'availability',
|
497 |
+
'price',
|
498 |
+
),
|
499 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
500 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
501 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
502 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
503 |
+
),
|
504 |
+
'bonanza' => array(
|
505 |
+
'mattributes' => array(
|
506 |
+
'id',
|
507 |
+
'title',
|
508 |
+
'description',
|
509 |
+
'price',
|
510 |
+
'images',
|
511 |
+
'category',
|
512 |
+
'booth_category',
|
513 |
+
'shipping_price',
|
514 |
+
'shipping_type',
|
515 |
+
'shipping_service',
|
516 |
+
'shipping_lbs',
|
517 |
+
'shipping_oz',
|
518 |
+
'shipping_carrier',
|
519 |
+
'shipping_package',
|
520 |
+
'sku',
|
521 |
+
'worldwide_shipping_price',
|
522 |
+
'worldwide_shipping_type',
|
523 |
+
'worldwide_shipping_carrier',
|
524 |
+
'quantity',
|
525 |
+
'trait',
|
526 |
+
'force_update',
|
527 |
+
),
|
528 |
+
'prefix' => array(
|
529 |
+
'',
|
530 |
+
'',
|
531 |
+
'',
|
532 |
+
'',
|
533 |
+
'',
|
534 |
+
'',
|
535 |
+
'',
|
536 |
+
'',
|
537 |
+
'',
|
538 |
+
'',
|
539 |
+
'',
|
540 |
+
'',
|
541 |
+
'',
|
542 |
+
'',
|
543 |
+
'',
|
544 |
+
'',
|
545 |
+
'',
|
546 |
+
'',
|
547 |
+
'',
|
548 |
+
'',
|
549 |
+
'',
|
550 |
+
),
|
551 |
+
'type' => array(
|
552 |
+
'attribute',
|
553 |
+
'attribute',
|
554 |
+
'attribute',
|
555 |
+
'attribute',
|
556 |
+
'attribute',
|
557 |
+
'pattern',
|
558 |
+
'attribute',
|
559 |
+
'pattern',
|
560 |
+
'pattern',
|
561 |
+
'pattern',
|
562 |
+
'pattern',
|
563 |
+
'pattern',
|
564 |
+
'pattern',
|
565 |
+
'pattern',
|
566 |
+
'attribute',
|
567 |
+
'pattern',
|
568 |
+
'pattern',
|
569 |
+
'pattern',
|
570 |
+
'attribute',
|
571 |
+
'pattern',
|
572 |
+
'pattern',
|
573 |
+
),
|
574 |
+
'attributes' => array(
|
575 |
+
'id',
|
576 |
+
'title',
|
577 |
+
'description',
|
578 |
+
'price',
|
579 |
+
'image',
|
580 |
+
'',
|
581 |
+
'product_type',
|
582 |
+
'',
|
583 |
+
'',
|
584 |
+
'',
|
585 |
+
'',
|
586 |
+
'',
|
587 |
+
'',
|
588 |
+
'',
|
589 |
+
'sku',
|
590 |
+
'',
|
591 |
+
'',
|
592 |
+
'',
|
593 |
+
'quantity',
|
594 |
+
'',
|
595 |
+
'',
|
596 |
+
),
|
597 |
+
'default' => array(
|
598 |
+
'',
|
599 |
+
'',
|
600 |
+
'',
|
601 |
+
'',
|
602 |
+
'',
|
603 |
+
'',
|
604 |
+
'',
|
605 |
+
'',
|
606 |
+
'',
|
607 |
+
'',
|
608 |
+
'',
|
609 |
+
'',
|
610 |
+
'',
|
611 |
+
'',
|
612 |
+
'',
|
613 |
+
'',
|
614 |
+
'',
|
615 |
+
'',
|
616 |
+
'',
|
617 |
+
'',
|
618 |
+
'',
|
619 |
+
),
|
620 |
+
'suffix' => array(
|
621 |
+
'',
|
622 |
+
'',
|
623 |
+
'',
|
624 |
+
'',
|
625 |
+
'',
|
626 |
+
'',
|
627 |
+
'',
|
628 |
+
'',
|
629 |
+
'',
|
630 |
+
'',
|
631 |
+
'',
|
632 |
+
'',
|
633 |
+
'',
|
634 |
+
'',
|
635 |
+
'',
|
636 |
+
'',
|
637 |
+
'',
|
638 |
+
'',
|
639 |
+
'',
|
640 |
+
'',
|
641 |
+
'',
|
642 |
+
),
|
643 |
+
'output_type' => array(
|
644 |
+
'1',
|
645 |
+
'1',
|
646 |
+
'1',
|
647 |
+
'1',
|
648 |
+
'1',
|
649 |
+
'1',
|
650 |
+
'1',
|
651 |
+
'1',
|
652 |
+
'1',
|
653 |
+
'1',
|
654 |
+
'1',
|
655 |
+
'1',
|
656 |
+
'1',
|
657 |
+
'1',
|
658 |
+
'1',
|
659 |
+
'1',
|
660 |
+
'1',
|
661 |
+
'1',
|
662 |
+
'1',
|
663 |
+
'1',
|
664 |
+
'1',
|
665 |
+
),
|
666 |
+
'limit' => array(
|
667 |
+
'',
|
668 |
+
'',
|
669 |
+
'',
|
670 |
+
'',
|
671 |
+
'',
|
672 |
+
'',
|
673 |
+
'',
|
674 |
+
'',
|
675 |
+
'',
|
676 |
+
'',
|
677 |
+
'',
|
678 |
+
'',
|
679 |
+
'',
|
680 |
+
'',
|
681 |
+
'',
|
682 |
+
'',
|
683 |
+
'',
|
684 |
+
'',
|
685 |
+
'',
|
686 |
+
'',
|
687 |
+
'',
|
688 |
+
),
|
689 |
+
),
|
690 |
+
'connexity' => array(
|
691 |
+
'mattributes' => array(
|
692 |
+
'Unique ID',
|
693 |
+
'Title',
|
694 |
+
'Description',
|
695 |
+
'Category',
|
696 |
+
'Product URL',
|
697 |
+
'Image URL',
|
698 |
+
'Condition',
|
699 |
+
'Availability',
|
700 |
+
'Current Price',
|
701 |
+
),
|
702 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
703 |
+
'type' => array(
|
704 |
+
'attribute',
|
705 |
+
'attribute',
|
706 |
+
'attribute',
|
707 |
+
'attribute',
|
708 |
+
'attribute',
|
709 |
+
'attribute',
|
710 |
+
'attribute',
|
711 |
+
'attribute',
|
712 |
+
'attribute',
|
713 |
+
),
|
714 |
+
'attributes' => array(
|
715 |
+
'id',
|
716 |
+
'title',
|
717 |
+
'description',
|
718 |
+
'product_type',
|
719 |
+
'link',
|
720 |
+
'image',
|
721 |
+
'condition',
|
722 |
+
'availability',
|
723 |
+
'price',
|
724 |
+
),
|
725 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
726 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
727 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
728 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
729 |
+
),
|
730 |
+
'criteo' => array(
|
731 |
+
'mattributes' => array(
|
732 |
+
'ID',
|
733 |
+
'title',
|
734 |
+
'description',
|
735 |
+
'google_product_category',
|
736 |
+
'link',
|
737 |
+
'image_link',
|
738 |
+
'additional_image_link',
|
739 |
+
'availability',
|
740 |
+
'price',
|
741 |
+
'sale_price',
|
742 |
+
'gtin',
|
743 |
+
'mpn',
|
744 |
+
'brand',
|
745 |
+
'product_type',
|
746 |
+
'product_type_key',
|
747 |
+
'number_of_reviews',
|
748 |
+
'product_rating',
|
749 |
+
'filters',
|
750 |
+
'adult',
|
751 |
+
),
|
752 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
753 |
+
'type' => array(
|
754 |
+
'attribute',
|
755 |
+
'attribute',
|
756 |
+
'attribute',
|
757 |
+
'attribute',
|
758 |
+
'attribute',
|
759 |
+
'attribute',
|
760 |
+
'attribute',
|
761 |
+
'attribute',
|
762 |
+
'attribute',
|
763 |
+
'attribute',
|
764 |
+
'attribute',
|
765 |
+
'attribute',
|
766 |
+
'attribute',
|
767 |
+
'attribute',
|
768 |
+
'attribute',
|
769 |
+
'attribute',
|
770 |
+
'attribute',
|
771 |
+
'attribute',
|
772 |
+
'attribute',
|
773 |
+
),
|
774 |
+
'attributes' => array(
|
775 |
+
'id',
|
776 |
+
'title',
|
777 |
+
'description',
|
778 |
+
'product_type',
|
779 |
+
'link',
|
780 |
+
'image',
|
781 |
+
'images',
|
782 |
+
'availability',
|
783 |
+
'price',
|
784 |
+
'sale_price',
|
785 |
+
'',
|
786 |
+
'',
|
787 |
+
'',
|
788 |
+
'',
|
789 |
+
'',
|
790 |
+
'',
|
791 |
+
'',
|
792 |
+
'',
|
793 |
+
'',
|
794 |
+
),
|
795 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
796 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
797 |
+
'output_type' => array(
|
798 |
+
'1',
|
799 |
+
'1',
|
800 |
+
'1',
|
801 |
+
'1',
|
802 |
+
'1',
|
803 |
+
'1',
|
804 |
+
'1',
|
805 |
+
'1',
|
806 |
+
'1',
|
807 |
+
'1',
|
808 |
+
'1',
|
809 |
+
'1',
|
810 |
+
'1',
|
811 |
+
'1',
|
812 |
+
'1',
|
813 |
+
'1',
|
814 |
+
'1',
|
815 |
+
'1',
|
816 |
+
'1',
|
817 |
+
),
|
818 |
+
'limit' => array(
|
819 |
+
'240',
|
820 |
+
'150',
|
821 |
+
'5000',
|
822 |
+
'',
|
823 |
+
'1024',
|
824 |
+
'2000',
|
825 |
+
'2000',
|
826 |
+
'25',
|
827 |
+
'14',
|
828 |
+
'50',
|
829 |
+
'50',
|
830 |
+
'70',
|
831 |
+
'70',
|
832 |
+
'500',
|
833 |
+
'500',
|
834 |
+
'8',
|
835 |
+
'8',
|
836 |
+
'2000',
|
837 |
+
'',
|
838 |
+
),
|
839 |
+
),
|
840 |
+
'crowdfox' => array(
|
841 |
+
'mattributes' => array(
|
842 |
+
'sku ',
|
843 |
+
'image',
|
844 |
+
'name',
|
845 |
+
'price',
|
846 |
+
'ean',
|
847 |
+
'dlv_time',
|
848 |
+
'dlv_cost',
|
849 |
+
'obl_info',
|
850 |
+
'brand',
|
851 |
+
'mpn',
|
852 |
+
'link',
|
853 |
+
'desc',
|
854 |
+
'sell_max',
|
855 |
+
'shop_cat',
|
856 |
+
),
|
857 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
858 |
+
'type' => array(
|
859 |
+
'attribute',
|
860 |
+
'attribute',
|
861 |
+
'attribute',
|
862 |
+
'attribute',
|
863 |
+
'attribute',
|
864 |
+
'pattern',
|
865 |
+
'pattern',
|
866 |
+
'attribute',
|
867 |
+
'pattern',
|
868 |
+
'attribute',
|
869 |
+
'attribute',
|
870 |
+
'attribute',
|
871 |
+
'attribute',
|
872 |
+
'attribute',
|
873 |
+
),
|
874 |
+
'attributes' => array(
|
875 |
+
'sku',
|
876 |
+
'image',
|
877 |
+
'title',
|
878 |
+
'price',
|
879 |
+
'',
|
880 |
+
'',
|
881 |
+
'',
|
882 |
+
'',
|
883 |
+
'',
|
884 |
+
'',
|
885 |
+
'link',
|
886 |
+
'description',
|
887 |
+
'quantity',
|
888 |
+
'product_type',
|
889 |
+
),
|
890 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
891 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
892 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
893 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
894 |
+
),
|
895 |
+
'fruugo' => array(
|
896 |
+
'mattributes' => array(
|
897 |
+
'ProductId',
|
898 |
+
'SkuId',
|
899 |
+
'EAN',
|
900 |
+
'Brand',
|
901 |
+
'Category',
|
902 |
+
'Imageurl1',
|
903 |
+
'StockStatus',
|
904 |
+
'StockQuantity',
|
905 |
+
'Title',
|
906 |
+
'Description',
|
907 |
+
'NormalPriceWithoutVat',
|
908 |
+
'DiscountPriceWithoutVAT',
|
909 |
+
'VatRate',
|
910 |
+
'Currency',
|
911 |
+
'Country',
|
912 |
+
),
|
913 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
914 |
+
'type' => array(
|
915 |
+
'attribute',
|
916 |
+
'attribute',
|
917 |
+
'attribute',
|
918 |
+
'attribute',
|
919 |
+
'attribute',
|
920 |
+
'attribute',
|
921 |
+
'attribute',
|
922 |
+
'attribute',
|
923 |
+
'attribute',
|
924 |
+
'attribute',
|
925 |
+
'attribute',
|
926 |
+
'attribute',
|
927 |
+
'attribute',
|
928 |
+
'pattern',
|
929 |
+
'attribute',
|
930 |
+
),
|
931 |
+
'attributes' => array(
|
932 |
+
'id',
|
933 |
+
'sku',
|
934 |
+
'',
|
935 |
+
'',
|
936 |
+
'product_type',
|
937 |
+
'image',
|
938 |
+
'availability',
|
939 |
+
'quantity',
|
940 |
+
'title',
|
941 |
+
'description',
|
942 |
+
'price',
|
943 |
+
'sale_price',
|
944 |
+
'',
|
945 |
+
'',
|
946 |
+
'',
|
947 |
+
),
|
948 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', 'USD', '' ),
|
949 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
950 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
951 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
952 |
+
),
|
953 |
+
'fruugo.au' => array(
|
954 |
+
'mattributes' => array(
|
955 |
+
'ProductId',
|
956 |
+
'SkuId',
|
957 |
+
'EAN',
|
958 |
+
'Brand',
|
959 |
+
'Category',
|
960 |
+
'Imageurl1',
|
961 |
+
'StockStatus',
|
962 |
+
'StockQuantity',
|
963 |
+
'Title',
|
964 |
+
'Description',
|
965 |
+
'NormalPriceWithoutVat',
|
966 |
+
'DiscountPriceWithoutVAT',
|
967 |
+
'VatRate',
|
968 |
+
'Currency',
|
969 |
+
'Country',
|
970 |
+
),
|
971 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
972 |
+
'type' => array(
|
973 |
+
'attribute',
|
974 |
+
'attribute',
|
975 |
+
'attribute',
|
976 |
+
'attribute',
|
977 |
+
'attribute',
|
978 |
+
'attribute',
|
979 |
+
'attribute',
|
980 |
+
'attribute',
|
981 |
+
'attribute',
|
982 |
+
'attribute',
|
983 |
+
'attribute',
|
984 |
+
'attribute',
|
985 |
+
'attribute',
|
986 |
+
'pattern',
|
987 |
+
'attribute',
|
988 |
+
),
|
989 |
+
'attributes' => array(
|
990 |
+
'id',
|
991 |
+
'sku',
|
992 |
+
'',
|
993 |
+
'',
|
994 |
+
'product_type',
|
995 |
+
'image',
|
996 |
+
'availability',
|
997 |
+
'quantity',
|
998 |
+
'title',
|
999 |
+
'description',
|
1000 |
+
'price',
|
1001 |
+
'sale_price',
|
1002 |
+
'',
|
1003 |
+
'',
|
1004 |
+
'',
|
1005 |
+
),
|
1006 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', 'USD', '' ),
|
1007 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1008 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1009 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1010 |
+
),
|
1011 |
+
'jet' => array(
|
1012 |
+
'mattributes' => array(
|
1013 |
+
'Merchant SKU ID',
|
1014 |
+
'Unique ID',
|
1015 |
+
'Multi-pack Quantity',
|
1016 |
+
'Product Title',
|
1017 |
+
'Description',
|
1018 |
+
'Image',
|
1019 |
+
'Product Price',
|
1020 |
+
'Jet Category',
|
1021 |
+
'Brand',
|
1022 |
+
),
|
1023 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
1024 |
+
'type' => array(
|
1025 |
+
'attribute',
|
1026 |
+
'attribute',
|
1027 |
+
'pattern',
|
1028 |
+
'attribute',
|
1029 |
+
'attribute',
|
1030 |
+
'attribute',
|
1031 |
+
'attribute',
|
1032 |
+
'pattern',
|
1033 |
+
'pattern',
|
1034 |
+
),
|
1035 |
+
'attributes' => array( 'sku', 'id', '', 'title', 'description', 'image', 'price', '', '' ),
|
1036 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1037 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1038 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1039 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1040 |
+
),
|
1041 |
+
'kelkoo' => array(
|
1042 |
+
'mattributes' => array(
|
1043 |
+
'title',
|
1044 |
+
'product-url',
|
1045 |
+
'price',
|
1046 |
+
'merchant-category',
|
1047 |
+
'ean',
|
1048 |
+
'delivery-cost',
|
1049 |
+
'brand',
|
1050 |
+
'description',
|
1051 |
+
'image-url',
|
1052 |
+
'availability',
|
1053 |
+
'mpn',
|
1054 |
+
),
|
1055 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1056 |
+
'type' => array(
|
1057 |
+
'attribute',
|
1058 |
+
'attribute',
|
1059 |
+
'attribute',
|
1060 |
+
'attribute',
|
1061 |
+
'attribute',
|
1062 |
+
'attribute',
|
1063 |
+
'attribute',
|
1064 |
+
'attribute',
|
1065 |
+
'attribute',
|
1066 |
+
'attribute',
|
1067 |
+
'attribute',
|
1068 |
+
),
|
1069 |
+
'attributes' => array(
|
1070 |
+
'title',
|
1071 |
+
'link',
|
1072 |
+
'price',
|
1073 |
+
'',
|
1074 |
+
'',
|
1075 |
+
'',
|
1076 |
+
'',
|
1077 |
+
'description',
|
1078 |
+
'image',
|
1079 |
+
'availability',
|
1080 |
+
'',
|
1081 |
+
),
|
1082 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1083 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1084 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1085 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1086 |
+
),
|
1087 |
+
'kieskeurig.nl' => array(
|
1088 |
+
'mattributes' => array(
|
1089 |
+
'id',
|
1090 |
+
'productgroep',
|
1091 |
+
'merk',
|
1092 |
+
'type',
|
1093 |
+
'toevoeging-type',
|
1094 |
+
'extra-productbeschrijving',
|
1095 |
+
'partnumber',
|
1096 |
+
'ean-code',
|
1097 |
+
'prijs',
|
1098 |
+
'verzendkosten',
|
1099 |
+
'afhaalkosten',
|
1100 |
+
'levertijd',
|
1101 |
+
'deeplink',
|
1102 |
+
'imagelink',
|
1103 |
+
'voorraad',
|
1104 |
+
),
|
1105 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1106 |
+
'type' => array(
|
1107 |
+
'attribute',
|
1108 |
+
'attribute',
|
1109 |
+
'attribute',
|
1110 |
+
'attribute',
|
1111 |
+
'attribute',
|
1112 |
+
'attribute',
|
1113 |
+
'attribute',
|
1114 |
+
'attribute',
|
1115 |
+
'attribute',
|
1116 |
+
'attribute',
|
1117 |
+
'attribute',
|
1118 |
+
'attribute',
|
1119 |
+
'attribute',
|
1120 |
+
'attribute',
|
1121 |
+
'attribute',
|
1122 |
+
),
|
1123 |
+
'attributes' => array(
|
1124 |
+
'id',
|
1125 |
+
'product_type',
|
1126 |
+
'title',
|
1127 |
+
'type',
|
1128 |
+
'',
|
1129 |
+
'description',
|
1130 |
+
'',
|
1131 |
+
'',
|
1132 |
+
'price',
|
1133 |
+
'',
|
1134 |
+
'',
|
1135 |
+
'',
|
1136 |
+
'link',
|
1137 |
+
'image',
|
1138 |
+
'quantity',
|
1139 |
+
),
|
1140 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1141 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1142 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1143 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1144 |
+
),
|
1145 |
+
'kijiji.ca' => array(
|
1146 |
+
'mattributes' => array(
|
1147 |
+
'id',
|
1148 |
+
'title',
|
1149 |
+
'description',
|
1150 |
+
'link',
|
1151 |
+
'image_link',
|
1152 |
+
'price',
|
1153 |
+
'categories',
|
1154 |
+
'brand',
|
1155 |
+
),
|
1156 |
+
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
1157 |
+
'type' => array(
|
1158 |
+
'attribute',
|
1159 |
+
'attribute',
|
1160 |
+
'attribute',
|
1161 |
+
'attribute',
|
1162 |
+
'attribute',
|
1163 |
+
'attribute',
|
1164 |
+
'attribute',
|
1165 |
+
'attribute',
|
1166 |
+
),
|
1167 |
+
'attributes' => array( 'id', 'title', 'description', 'link', 'image', 'price', 'product_type', '' ),
|
1168 |
+
'default' => array( '', '', '', '', '', '', '', '' ),
|
1169 |
+
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
1170 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1171 |
+
'limit' => array( '', '', '', '', '', '', '', '' ),
|
1172 |
+
),
|
1173 |
+
'leguide' => array(
|
1174 |
+
'mattributes' => array(
|
1175 |
+
'category',
|
1176 |
+
'unique_id',
|
1177 |
+
'title',
|
1178 |
+
'description',
|
1179 |
+
'price',
|
1180 |
+
'product_URL',
|
1181 |
+
'landing_URL',
|
1182 |
+
'image_URL',
|
1183 |
+
'EAN',
|
1184 |
+
'delivery_charge',
|
1185 |
+
'delivery_time',
|
1186 |
+
'availability',
|
1187 |
+
'guarantee',
|
1188 |
+
),
|
1189 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1190 |
+
'type' => array(
|
1191 |
+
'attribute',
|
1192 |
+
'attribute',
|
1193 |
+
'attribute',
|
1194 |
+
'attribute',
|
1195 |
+
'attribute',
|
1196 |
+
'attribute',
|
1197 |
+
'attribute',
|
1198 |
+
'attribute',
|
1199 |
+
'attribute',
|
1200 |
+
'pattern',
|
1201 |
+
'pattern',
|
1202 |
+
'pattern',
|
1203 |
+
'pattern',
|
1204 |
+
),
|
1205 |
+
'attributes' => array(
|
1206 |
+
'product_type',
|
1207 |
+
'id',
|
1208 |
+
'title',
|
1209 |
+
'description',
|
1210 |
+
'price',
|
1211 |
+
'link',
|
1212 |
+
'',
|
1213 |
+
'image',
|
1214 |
+
'sku',
|
1215 |
+
'',
|
1216 |
+
'',
|
1217 |
+
'',
|
1218 |
+
'',
|
1219 |
+
),
|
1220 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1221 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1222 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1223 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1224 |
+
),
|
1225 |
+
'modina.de' => array(
|
1226 |
+
'mattributes' => array(
|
1227 |
+
'id',
|
1228 |
+
'brand',
|
1229 |
+
'title',
|
1230 |
+
'description',
|
1231 |
+
'productLink',
|
1232 |
+
'imageLink',
|
1233 |
+
'imageLinkAdditional',
|
1234 |
+
'price',
|
1235 |
+
'priceOld',
|
1236 |
+
'shippingCost',
|
1237 |
+
'shippingDuration',
|
1238 |
+
'availability',
|
1239 |
+
'gtin',
|
1240 |
+
'mpn',
|
1241 |
+
'category',
|
1242 |
+
'subcategory',
|
1243 |
+
'color',
|
1244 |
+
'gender',
|
1245 |
+
'material',
|
1246 |
+
'pattern',
|
1247 |
+
'size',
|
1248 |
+
),
|
1249 |
+
'prefix' => array(
|
1250 |
+
'',
|
1251 |
+
'',
|
1252 |
+
'',
|
1253 |
+
'',
|
1254 |
+
'',
|
1255 |
+
'',
|
1256 |
+
'',
|
1257 |
+
'',
|
1258 |
+
'',
|
1259 |
+
'',
|
1260 |
+
'',
|
1261 |
+
'',
|
1262 |
+
'',
|
1263 |
+
'',
|
1264 |
+
'',
|
1265 |
+
'',
|
1266 |
+
'',
|
1267 |
+
'',
|
1268 |
+
'',
|
1269 |
+
'',
|
1270 |
+
'',
|
1271 |
+
),
|
1272 |
+
'type' => array(
|
1273 |
+
'attribute',
|
1274 |
+
'attribute',
|
1275 |
+
'attribute',
|
1276 |
+
'attribute',
|
1277 |
+
'attribute',
|
1278 |
+
'attribute',
|
1279 |
+
'attribute',
|
1280 |
+
'attribute',
|
1281 |
+
'attribute',
|
1282 |
+
'attribute',
|
1283 |
+
'attribute',
|
1284 |
+
'attribute',
|
1285 |
+
'attribute',
|
1286 |
+
'attribute',
|
1287 |
+
'attribute',
|
1288 |
+
'attribute',
|
1289 |
+
'attribute',
|
1290 |
+
'attribute',
|
1291 |
+
'attribute',
|
1292 |
+
'attribute',
|
1293 |
+
'attribute',
|
1294 |
+
),
|
1295 |
+
'attributes' => array(
|
1296 |
+
'id',
|
1297 |
+
'',
|
1298 |
+
'title',
|
1299 |
+
'description',
|
1300 |
+
'link',
|
1301 |
+
'image',
|
1302 |
+
'images',
|
1303 |
+
'price',
|
1304 |
+
'',
|
1305 |
+
'',
|
1306 |
+
'',
|
1307 |
+
'availability',
|
1308 |
+
'',
|
1309 |
+
'',
|
1310 |
+
'product_type',
|
1311 |
+
'',
|
1312 |
+
'',
|
1313 |
+
'',
|
1314 |
+
'',
|
1315 |
+
'',
|
1316 |
+
'',
|
1317 |
+
),
|
1318 |
+
'default' => array(
|
1319 |
+
'',
|
1320 |
+
'',
|
1321 |
+
'',
|
1322 |
+
'',
|
1323 |
+
'',
|
1324 |
+
'',
|
1325 |
+
'',
|
1326 |
+
'',
|
1327 |
+
'',
|
1328 |
+
'',
|
1329 |
+
'',
|
1330 |
+
'',
|
1331 |
+
'',
|
1332 |
+
'',
|
1333 |
+
'',
|
1334 |
+
'',
|
1335 |
+
'',
|
1336 |
+
'',
|
1337 |
+
'',
|
1338 |
+
'',
|
1339 |
+
'',
|
1340 |
+
),
|
1341 |
+
'suffix' => array(
|
1342 |
+
'',
|
1343 |
+
'',
|
1344 |
+
'',
|
1345 |
+
'',
|
1346 |
+
'',
|
1347 |
+
'',
|
1348 |
+
'',
|
1349 |
+
'',
|
1350 |
+
'',
|
1351 |
+
'',
|
1352 |
+
'',
|
1353 |
+
'',
|
1354 |
+
'',
|
1355 |
+
'',
|
1356 |
+
'',
|
1357 |
+
'',
|
1358 |
+
'',
|
1359 |
+
'',
|
1360 |
+
'',
|
1361 |
+
'',
|
1362 |
+
'',
|
1363 |
+
),
|
1364 |
+
'output_type' => array(
|
1365 |
+
'1',
|
1366 |
+
'1',
|
1367 |
+
'1',
|
1368 |
+
'1',
|
1369 |
+
'1',
|
1370 |
+
'1',
|
1371 |
+
'1',
|
1372 |
+
'1',
|
1373 |
+
'1',
|
1374 |
+
'1',
|
1375 |
+
'1',
|
1376 |
+
'1',
|
1377 |
+
'1',
|
1378 |
+
'1',
|
1379 |
+
'1',
|
1380 |
+
'1',
|
1381 |
+
'1',
|
1382 |
+
'1',
|
1383 |
+
'1',
|
1384 |
+
'1',
|
1385 |
+
'1',
|
1386 |
+
),
|
1387 |
+
'limit' => array(
|
1388 |
+
'',
|
1389 |
+
'',
|
1390 |
+
'',
|
1391 |
+
'',
|
1392 |
+
'',
|
1393 |
+
'',
|
1394 |
+
'',
|
1395 |
+
'',
|
1396 |
+
'',
|
1397 |
+
'',
|
1398 |
+
'',
|
1399 |
+
'',
|
1400 |
+
'',
|
1401 |
+
'',
|
1402 |
+
'',
|
1403 |
+
'',
|
1404 |
+
'',
|
1405 |
+
'',
|
1406 |
+
'',
|
1407 |
+
'',
|
1408 |
+
'',
|
1409 |
+
),
|
1410 |
+
),
|
1411 |
+
'myshopping.com.au' => array(
|
1412 |
+
'mattributes' => array(
|
1413 |
+
'Code',
|
1414 |
+
'Id',
|
1415 |
+
'Name',
|
1416 |
+
'Description',
|
1417 |
+
'Category',
|
1418 |
+
'price',
|
1419 |
+
'Product_URL',
|
1420 |
+
'Image_URL',
|
1421 |
+
'Brand',
|
1422 |
+
'InStock',
|
1423 |
+
'MPN',
|
1424 |
+
),
|
1425 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1426 |
+
'type' => array(
|
1427 |
+
'pattern',
|
1428 |
+
'attribute',
|
1429 |
+
'attribute',
|
1430 |
+
'attribute',
|
1431 |
+
'attribute',
|
1432 |
+
'attribute',
|
1433 |
+
'attribute',
|
1434 |
+
'attribute',
|
1435 |
+
'attribute',
|
1436 |
+
'pattern',
|
1437 |
+
'attribute',
|
1438 |
+
),
|
1439 |
+
'attributes' => array(
|
1440 |
+
'',
|
1441 |
+
'id',
|
1442 |
+
'title',
|
1443 |
+
'description',
|
1444 |
+
'product_type',
|
1445 |
+
'price',
|
1446 |
+
'link',
|
1447 |
+
'image',
|
1448 |
+
'',
|
1449 |
+
'',
|
1450 |
+
'sku',
|
1451 |
+
),
|
1452 |
+
'default' => array( '', '', '', '', '', '', '', '', '', 'Y', '' ),
|
1453 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1454 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1455 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '' ),
|
1456 |
+
),
|
1457 |
+
'nextag' => array(
|
1458 |
+
'mattributes' => array(
|
1459 |
+
'Manufacturer',
|
1460 |
+
'Product Name',
|
1461 |
+
'Product Description',
|
1462 |
+
'Price',
|
1463 |
+
'Click-Out URL',
|
1464 |
+
'Category',
|
1465 |
+
'Image URL',
|
1466 |
+
'Stock Status',
|
1467 |
+
'Condition',
|
1468 |
+
),
|
1469 |
+
'prefix' => array( '', '', '', '$', '', '', '', '', '' ),
|
1470 |
+
'type' => array(
|
1471 |
+
'pattern',
|
1472 |
+
'attribute',
|
1473 |
+
'attribute',
|
1474 |
+
'attribute',
|
1475 |
+
'attribute',
|
1476 |
+
'attribute',
|
1477 |
+
'attribute',
|
1478 |
+
'attribute',
|
1479 |
+
'attribute',
|
1480 |
+
),
|
1481 |
+
'attributes' => array(
|
1482 |
+
'',
|
1483 |
+
'title',
|
1484 |
+
'description',
|
1485 |
+
'price',
|
1486 |
+
'link',
|
1487 |
+
'product_type',
|
1488 |
+
'image',
|
1489 |
+
'availability',
|
1490 |
+
'condition',
|
1491 |
+
),
|
1492 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1493 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1494 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1495 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1496 |
+
),
|
1497 |
+
'polyvore' => array(
|
1498 |
+
'mattributes' => array(
|
1499 |
+
'title',
|
1500 |
+
'brand',
|
1501 |
+
'url',
|
1502 |
+
'imgurl',
|
1503 |
+
'price',
|
1504 |
+
'currency',
|
1505 |
+
'description',
|
1506 |
+
'subject',
|
1507 |
+
),
|
1508 |
+
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
1509 |
+
'type' => array(
|
1510 |
+
'attribute',
|
1511 |
+
'pattern',
|
1512 |
+
'attribute',
|
1513 |
+
'attribute',
|
1514 |
+
'attribute',
|
1515 |
+
'pattern',
|
1516 |
+
'attribute',
|
1517 |
+
'pattern',
|
1518 |
+
),
|
1519 |
+
'attributes' => array( 'title', '', 'link', 'image', 'price', '', 'description', '' ),
|
1520 |
+
'default' => array( '', '', '', '', '', 'USD', '', '' ),
|
1521 |
+
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
1522 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1523 |
+
'limit' => array( '', '', '', '', '', '', '', '' ),
|
1524 |
+
),
|
1525 |
+
'pricegrabber' => array(
|
1526 |
+
'mattributes' => array(
|
1527 |
+
'Retsku',
|
1528 |
+
'Product Title',
|
1529 |
+
'Detailed Description',
|
1530 |
+
'Categorization',
|
1531 |
+
'Product URL',
|
1532 |
+
'Primary Image URL',
|
1533 |
+
'Selling Price',
|
1534 |
+
'Regular Price',
|
1535 |
+
'Condition',
|
1536 |
+
'Availability',
|
1537 |
+
'Manufacturer Name',
|
1538 |
+
'GTIN',
|
1539 |
+
),
|
1540 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1541 |
+
'type' => array(
|
1542 |
+
'attribute',
|
1543 |
+
'attribute',
|
1544 |
+
'attribute',
|
1545 |
+
'attribute',
|
1546 |
+
'attribute',
|
1547 |
+
'attribute',
|
1548 |
+
'attribute',
|
1549 |
+
'attribute',
|
1550 |
+
'attribute',
|
1551 |
+
'attribute',
|
1552 |
+
'attribute',
|
1553 |
+
'attribute',
|
1554 |
+
),
|
1555 |
+
'attributes' => array(
|
1556 |
+
'sku',
|
1557 |
+
'title',
|
1558 |
+
'description',
|
1559 |
+
'product_type',
|
1560 |
+
'link',
|
1561 |
+
'image',
|
1562 |
+
'sale_price',
|
1563 |
+
'price',
|
1564 |
+
'condition',
|
1565 |
+
'availability',
|
1566 |
+
'',
|
1567 |
+
'',
|
1568 |
+
),
|
1569 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1570 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1571 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1572 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1573 |
+
),
|
1574 |
+
'pricerunner' => array(
|
1575 |
+
'mattributes' => array(
|
1576 |
+
'Category',
|
1577 |
+
'SKU',
|
1578 |
+
'Price',
|
1579 |
+
'Product URL',
|
1580 |
+
'Product name',
|
1581 |
+
'Manufacturer SKU',
|
1582 |
+
'Manufacturer',
|
1583 |
+
'EAN',
|
1584 |
+
'Description',
|
1585 |
+
'Graphic URL',
|
1586 |
+
'In Stock',
|
1587 |
+
'Stock Level',
|
1588 |
+
'Shipping Cost',
|
1589 |
+
'Delivery time',
|
1590 |
+
),
|
1591 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1592 |
+
'type' => array(
|
1593 |
+
'attribute',
|
1594 |
+
'attribute',
|
1595 |
+
'attribute',
|
1596 |
+
'attribute',
|
1597 |
+
'attribute',
|
1598 |
+
'attribute',
|
1599 |
+
'pattern',
|
1600 |
+
'attribute',
|
1601 |
+
'attribute',
|
1602 |
+
'attribute',
|
1603 |
+
'pattern',
|
1604 |
+
'attribute',
|
1605 |
+
'pattern',
|
1606 |
+
'pattern',
|
1607 |
+
),
|
1608 |
+
'attributes' => array(
|
1609 |
+
'product_type',
|
1610 |
+
'id',
|
1611 |
+
'price',
|
1612 |
+
'link',
|
1613 |
+
'title',
|
1614 |
+
'sku',
|
1615 |
+
'',
|
1616 |
+
'sku',
|
1617 |
+
'description',
|
1618 |
+
'image',
|
1619 |
+
'',
|
1620 |
+
'quantity',
|
1621 |
+
'',
|
1622 |
+
'',
|
1623 |
+
),
|
1624 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', 'Yes', '', '10.00', '5-7 days' ),
|
1625 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1626 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1627 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1628 |
+
),
|
1629 |
+
'prisjakt' => array(
|
1630 |
+
'mattributes' => array(
|
1631 |
+
'Produktnamn',
|
1632 |
+
'Art.nr.',
|
1633 |
+
'Kategori',
|
1634 |
+
'Pris inkl.moms',
|
1635 |
+
'Produkt-URL',
|
1636 |
+
'Tillverkare',
|
1637 |
+
'Tillverkar-SKU',
|
1638 |
+
'Frakt',
|
1639 |
+
'Bild-URL',
|
1640 |
+
'Lagerstatus',
|
1641 |
+
),
|
1642 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1643 |
+
'type' => array(
|
1644 |
+
'attribute',
|
1645 |
+
'attribute',
|
1646 |
+
'attribute',
|
1647 |
+
'attribute',
|
1648 |
+
'attribute',
|
1649 |
+
'pattern',
|
1650 |
+
'attribute',
|
1651 |
+
'pattern',
|
1652 |
+
'attribute',
|
1653 |
+
'attribute',
|
1654 |
+
),
|
1655 |
+
'attributes' => array(
|
1656 |
+
'title',
|
1657 |
+
'id',
|
1658 |
+
'product_type',
|
1659 |
+
'price',
|
1660 |
+
'link',
|
1661 |
+
'',
|
1662 |
+
'sku',
|
1663 |
+
'',
|
1664 |
+
'image',
|
1665 |
+
'condition',
|
1666 |
+
),
|
1667 |
+
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '' ),
|
1668 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1669 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1670 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
1671 |
+
),
|
1672 |
+
'real' => array(
|
1673 |
+
'mattributes' => array( 'ean', 'category', 'title', 'description', 'picture', 'manufacturer' ),
|
1674 |
+
'prefix' => array( '', '', '', '', '', '' ),
|
1675 |
+
'type' => array( 'attribute', 'attribute', 'attribute', 'attribute', 'attribute', 'pattern' ),
|
1676 |
+
'attributes' => array( 'sku', 'product_type', 'title', 'description', 'image', '' ),
|
1677 |
+
'default' => array( '', '', '', '', '', '' ),
|
1678 |
+
'suffix' => array( '', '', '', '', '', '' ),
|
1679 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1' ),
|
1680 |
+
'limit' => array( '', '', '', '', '', '' ),
|
1681 |
+
),
|
1682 |
+
'shareasale' => array(
|
1683 |
+
'mattributes' => array(
|
1684 |
+
'ProductID',
|
1685 |
+
'Name',
|
1686 |
+
'MerchantID',
|
1687 |
+
'Merchant',
|
1688 |
+
'Link',
|
1689 |
+
'Thumbnail',
|
1690 |
+
'BigImage',
|
1691 |
+
'Price',
|
1692 |
+
'RetailPrice',
|
1693 |
+
'Category',
|
1694 |
+
'Subcategory',
|
1695 |
+
'Description',
|
1696 |
+
),
|
1697 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1698 |
+
'type' => array(
|
1699 |
+
'attribute',
|
1700 |
+
'attribute',
|
1701 |
+
'attribute',
|
1702 |
+
'attribute',
|
1703 |
+
'attribute',
|
1704 |
+
'attribute',
|
1705 |
+
'attribute',
|
1706 |
+
'attribute',
|
1707 |
+
'attribute',
|
1708 |
+
'attribute',
|
1709 |
+
'attribute',
|
1710 |
+
'attribute',
|
1711 |
+
),
|
1712 |
+
'attributes' => array(
|
1713 |
+
'id',
|
1714 |
+
'title',
|
1715 |
+
'',
|
1716 |
+
'',
|
1717 |
+
'link',
|
1718 |
+
'image',
|
1719 |
+
'feature_image',
|
1720 |
+
'sale_price',
|
1721 |
+
'price',
|
1722 |
+
'product_type',
|
1723 |
+
'',
|
1724 |
+
'description',
|
1725 |
+
),
|
1726 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1727 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1728 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1729 |
+
'limit' => array( '8', '255', '8', '255', '255', '255', '255', '', '', '50', '50', '' ),
|
1730 |
+
),
|
1731 |
+
'shopalike.fr' => array(
|
1732 |
+
'mattributes' => array(
|
1733 |
+
'id',
|
1734 |
+
'title',
|
1735 |
+
'description',
|
1736 |
+
'link',
|
1737 |
+
'image_link',
|
1738 |
+
'price',
|
1739 |
+
'categories',
|
1740 |
+
'brand',
|
1741 |
+
),
|
1742 |
+
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
1743 |
+
'type' => array(
|
1744 |
+
'attribute',
|
1745 |
+
'attribute',
|
1746 |
+
'attribute',
|
1747 |
+
'attribute',
|
1748 |
+
'attribute',
|
1749 |
+
'attribute',
|
1750 |
+
'attribute',
|
1751 |
+
'attribute',
|
1752 |
+
),
|
1753 |
+
'attributes' => array( 'id', 'title', 'description', 'link', 'image', 'price', 'product_type', '' ),
|
1754 |
+
'default' => array( '', '', '', '', '', '', '', '' ),
|
1755 |
+
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
1756 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1757 |
+
'limit' => array( '', '', '', '', '', '', '', '' ),
|
1758 |
+
),
|
1759 |
+
'shopbot' => array(
|
1760 |
+
'mattributes' => array(
|
1761 |
+
'ID',
|
1762 |
+
'Product Name',
|
1763 |
+
'URL',
|
1764 |
+
'Category',
|
1765 |
+
'Photo URL',
|
1766 |
+
'Price',
|
1767 |
+
'Original Price',
|
1768 |
+
'Description',
|
1769 |
+
'MPN',
|
1770 |
+
'Brand',
|
1771 |
+
'Shipment Cost',
|
1772 |
+
'Stock',
|
1773 |
+
'Promotional Phrase',
|
1774 |
+
'Model',
|
1775 |
+
'Color',
|
1776 |
+
'Product Type',
|
1777 |
+
),
|
1778 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1779 |
+
'type' => array(
|
1780 |
+
'attribute',
|
1781 |
+
'attribute',
|
1782 |
+
'attribute',
|
1783 |
+
'attribute',
|
1784 |
+
'attribute',
|
1785 |
+
'attribute',
|
1786 |
+
'attribute',
|
1787 |
+
'attribute',
|
1788 |
+
'attribute',
|
1789 |
+
'attribute',
|
1790 |
+
'attribute',
|
1791 |
+
'attribute',
|
1792 |
+
'attribute',
|
1793 |
+
'attribute',
|
1794 |
+
'attribute',
|
1795 |
+
'attribute',
|
1796 |
+
),
|
1797 |
+
'attributes' => array(
|
1798 |
+
'id',
|
1799 |
+
'title',
|
1800 |
+
'link',
|
1801 |
+
'product_type',
|
1802 |
+
'image',
|
1803 |
+
'sale_price',
|
1804 |
+
'price',
|
1805 |
+
'description',
|
1806 |
+
'sku',
|
1807 |
+
'',
|
1808 |
+
'',
|
1809 |
+
'quantity',
|
1810 |
+
'',
|
1811 |
+
'',
|
1812 |
+
'',
|
1813 |
+
'',
|
1814 |
+
),
|
1815 |
+
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '', '', '', '', '', '', '' ),
|
1816 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1817 |
+
'output_type' => array(
|
1818 |
+
'1',
|
1819 |
+
'1',
|
1820 |
+
'1',
|
1821 |
+
'1',
|
1822 |
+
'1',
|
1823 |
+
'1',
|
1824 |
+
'1',
|
1825 |
+
'1',
|
1826 |
+
'1',
|
1827 |
+
'1',
|
1828 |
+
'1',
|
1829 |
+
'1',
|
1830 |
+
'1',
|
1831 |
+
'1',
|
1832 |
+
'1',
|
1833 |
+
'1',
|
1834 |
+
),
|
1835 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1836 |
+
),
|
1837 |
+
'shopmania' => array(
|
1838 |
+
'mattributes' => array(
|
1839 |
+
'Category',
|
1840 |
+
'Manufacturer',
|
1841 |
+
'Model',
|
1842 |
+
'MPC',
|
1843 |
+
'Name',
|
1844 |
+
'Description',
|
1845 |
+
'URL',
|
1846 |
+
'Image',
|
1847 |
+
'Price',
|
1848 |
+
'Currency',
|
1849 |
+
'Shipping',
|
1850 |
+
'Availability',
|
1851 |
+
'GTIN',
|
1852 |
+
),
|
1853 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1854 |
+
'type' => array(
|
1855 |
+
'attribute',
|
1856 |
+
'attribute',
|
1857 |
+
'attribute',
|
1858 |
+
'attribute',
|
1859 |
+
'attribute',
|
1860 |
+
'attribute',
|
1861 |
+
'attribute',
|
1862 |
+
'attribute',
|
1863 |
+
'attribute',
|
1864 |
+
'attribute',
|
1865 |
+
'attribute',
|
1866 |
+
'attribute',
|
1867 |
+
'attribute',
|
1868 |
+
),
|
1869 |
+
'attributes' => array(
|
1870 |
+
'product_type',
|
1871 |
+
'',
|
1872 |
+
'',
|
1873 |
+
'',
|
1874 |
+
'title',
|
1875 |
+
'description',
|
1876 |
+
'link',
|
1877 |
+
'image',
|
1878 |
+
'price',
|
1879 |
+
'',
|
1880 |
+
'',
|
1881 |
+
'availability',
|
1882 |
+
'',
|
1883 |
+
),
|
1884 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1885 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1886 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1887 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
1888 |
+
),
|
1889 |
+
'shopping' => array(
|
1890 |
+
'mattributes' => array(
|
1891 |
+
'Unique Merchant SKU',
|
1892 |
+
'Product Name',
|
1893 |
+
'Product URL',
|
1894 |
+
'Image URL',
|
1895 |
+
'Current Price',
|
1896 |
+
'Stock Availability',
|
1897 |
+
'Condition',
|
1898 |
+
'MPN',
|
1899 |
+
'UPC',
|
1900 |
+
),
|
1901 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
1902 |
+
'type' => array(
|
1903 |
+
'attribute',
|
1904 |
+
'attribute',
|
1905 |
+
'attribute',
|
1906 |
+
'attribute',
|
1907 |
+
'attribute',
|
1908 |
+
'attribute',
|
1909 |
+
'attribute',
|
1910 |
+
'attribute',
|
1911 |
+
'attribute',
|
1912 |
+
),
|
1913 |
+
'attributes' => array( 'sku', 'title', 'link', 'image', 'price', 'availability', 'condition', '', '' ),
|
1914 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1915 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1916 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1917 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1918 |
+
),
|
1919 |
+
'shopzilla' => array(
|
1920 |
+
'mattributes' => array(
|
1921 |
+
'Unique ID',
|
1922 |
+
'Title',
|
1923 |
+
'Description',
|
1924 |
+
'Category',
|
1925 |
+
'Product URL',
|
1926 |
+
'Image URL',
|
1927 |
+
'Condition',
|
1928 |
+
'Availability',
|
1929 |
+
'Current Price',
|
1930 |
+
),
|
1931 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
1932 |
+
'type' => array(
|
1933 |
+
'attribute',
|
1934 |
+
'attribute',
|
1935 |
+
'attribute',
|
1936 |
+
'attribute',
|
1937 |
+
'attribute',
|
1938 |
+
'attribute',
|
1939 |
+
'attribute',
|
1940 |
+
'attribute',
|
1941 |
+
'attribute',
|
1942 |
+
),
|
1943 |
+
'attributes' => array(
|
1944 |
+
'id',
|
1945 |
+
'title',
|
1946 |
+
'description',
|
1947 |
+
'product_type',
|
1948 |
+
'link',
|
1949 |
+
'image',
|
1950 |
+
'condition',
|
1951 |
+
'availability',
|
1952 |
+
'price',
|
1953 |
+
),
|
1954 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
1955 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
1956 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
1957 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
1958 |
+
),
|
1959 |
+
'spartoo.fi' => array(
|
1960 |
+
'mattributes' => array(
|
1961 |
+
'SKU',
|
1962 |
+
'Parent / Child',
|
1963 |
+
'Parent SKU',
|
1964 |
+
'Product name',
|
1965 |
+
'Manufacturer name',
|
1966 |
+
'Gender',
|
1967 |
+
'Product_description',
|
1968 |
+
'Product price',
|
1969 |
+
'Discount price',
|
1970 |
+
'Quantity',
|
1971 |
+
'Category',
|
1972 |
+
'Products selection',
|
1973 |
+
'Photo 1',
|
1974 |
+
'Photo 2',
|
1975 |
+
'Photo 3',
|
1976 |
+
'Photo 4',
|
1977 |
+
'Photo 5',
|
1978 |
+
'Photo 6',
|
1979 |
+
'Photo 7',
|
1980 |
+
'Photo 8',
|
1981 |
+
'Color id',
|
1982 |
+
'Color name',
|
1983 |
+
'Size name',
|
1984 |
+
'ean',
|
1985 |
+
),
|
1986 |
+
'prefix' => array(
|
1987 |
+
'',
|
1988 |
+
'',
|
1989 |
+
'',
|
1990 |
+
'',
|
1991 |
+
'',
|
1992 |
+
'',
|
1993 |
+
'',
|
1994 |
+
'',
|
1995 |
+
'',
|
1996 |
+
'',
|
1997 |
+
'',
|
1998 |
+
'',
|
1999 |
+
'',
|
2000 |
+
'',
|
2001 |
+
'',
|
2002 |
+
'',
|
2003 |
+
'',
|
2004 |
+
'',
|
2005 |
+
'',
|
2006 |
+
'',
|
2007 |
+
'',
|
2008 |
+
'',
|
2009 |
+
'',
|
2010 |
+
'',
|
2011 |
+
),
|
2012 |
+
'type' => array(
|
2013 |
+
'attribute',
|
2014 |
+
'attribute',
|
2015 |
+
'attribute',
|
2016 |
+
'attribute',
|
2017 |
+
'attribute',
|
2018 |
+
'attribute',
|
2019 |
+
'attribute',
|
2020 |
+
'attribute',
|
2021 |
+
'attribute',
|
2022 |
+
'attribute',
|
2023 |
+
'attribute',
|
2024 |
+
'attribute',
|
2025 |
+
'attribute',
|
2026 |
+
'attribute',
|
2027 |
+
'attribute',
|
2028 |
+
'attribute',
|
2029 |
+
'attribute',
|
2030 |
+
'attribute',
|
2031 |
+
'attribute',
|
2032 |
+
'attribute',
|
2033 |
+
'attribute',
|
2034 |
+
'attribute',
|
2035 |
+
'attribute',
|
2036 |
+
'attribute',
|
2037 |
+
),
|
2038 |
+
'attributes' => array(
|
2039 |
+
'sku',
|
2040 |
+
'type',
|
2041 |
+
'parent_sku',
|
2042 |
+
'title',
|
2043 |
+
'',
|
2044 |
+
'',
|
2045 |
+
'description',
|
2046 |
+
'price',
|
2047 |
+
'sale_price',
|
2048 |
+
'quantity',
|
2049 |
+
'product_type',
|
2050 |
+
'',
|
2051 |
+
'image_1',
|
2052 |
+
'image_2',
|
2053 |
+
'image_3',
|
2054 |
+
'image_4',
|
2055 |
+
'image_5',
|
2056 |
+
'image_6',
|
2057 |
+
'image_7',
|
2058 |
+
'image_8',
|
2059 |
+
'',
|
2060 |
+
'',
|
2061 |
+
'',
|
2062 |
+
'',
|
2063 |
+
),
|
2064 |
+
'default' => array(
|
2065 |
+
'',
|
2066 |
+
'',
|
2067 |
+
'',
|
2068 |
+
'',
|
2069 |
+
'',
|
2070 |
+
'',
|
2071 |
+
'',
|
2072 |
+
'',
|
2073 |
+
'',
|
2074 |
+
'',
|
2075 |
+
'',
|
2076 |
+
'',
|
2077 |
+
'',
|
2078 |
+
'',
|
2079 |
+
'',
|
2080 |
+
'',
|
2081 |
+
'',
|
2082 |
+
'',
|
2083 |
+
'',
|
2084 |
+
'',
|
2085 |
+
'',
|
2086 |
+
'',
|
2087 |
+
'',
|
2088 |
+
'',
|
2089 |
+
),
|
2090 |
+
'suffix' => array(
|
2091 |
+
'',
|
2092 |
+
'',
|
2093 |
+
'',
|
2094 |
+
'',
|
2095 |
+
'',
|
2096 |
+
'',
|
2097 |
+
'',
|
2098 |
+
'',
|
2099 |
+
'',
|
2100 |
+
'',
|
2101 |
+
'',
|
2102 |
+
'',
|
2103 |
+
'',
|
2104 |
+
'',
|
2105 |
+
'',
|
2106 |
+
'',
|
2107 |
+
'',
|
2108 |
+
'',
|
2109 |
+
'',
|
2110 |
+
'',
|
2111 |
+
'',
|
2112 |
+
'',
|
2113 |
+
'',
|
2114 |
+
'',
|
2115 |
+
),
|
2116 |
+
'output_type' => array(
|
2117 |
+
'1',
|
2118 |
+
'1',
|
2119 |
+
'1',
|
2120 |
+
'1',
|
2121 |
+
'1',
|
2122 |
+
'1',
|
2123 |
+
'1',
|
2124 |
+
'1',
|
2125 |
+
'1',
|
2126 |
+
'1',
|
2127 |
+
'1',
|
2128 |
+
'1',
|
2129 |
+
'1',
|
2130 |
+
'1',
|
2131 |
+
'1',
|
2132 |
+
'1',
|
2133 |
+
'1',
|
2134 |
+
'1',
|
2135 |
+
'1',
|
2136 |
+
'1',
|
2137 |
+
'1',
|
2138 |
+
'1',
|
2139 |
+
'1',
|
2140 |
+
'1',
|
2141 |
+
),
|
2142 |
+
'limit' => array(
|
2143 |
+
'',
|
2144 |
+
'',
|
2145 |
+
'',
|
2146 |
+
'',
|
2147 |
+
'',
|
2148 |
+
'',
|
2149 |
+
'',
|
2150 |
+
'',
|
2151 |
+
'',
|
2152 |
+
'',
|
2153 |
+
'',
|
2154 |
+
'',
|
2155 |
+
'',
|
2156 |
+
'',
|
2157 |
+
'',
|
2158 |
+
'',
|
2159 |
+
'',
|
2160 |
+
'',
|
2161 |
+
'',
|
2162 |
+
'',
|
2163 |
+
'',
|
2164 |
+
'',
|
2165 |
+
'',
|
2166 |
+
'',
|
2167 |
+
),
|
2168 |
+
),
|
2169 |
+
'trovaprezzi' => array(
|
2170 |
+
'mattributes' => array(
|
2171 |
+
'Code',
|
2172 |
+
'Name',
|
2173 |
+
'Description',
|
2174 |
+
'Link',
|
2175 |
+
'Price',
|
2176 |
+
'Categories',
|
2177 |
+
'Image',
|
2178 |
+
'Stock',
|
2179 |
+
'Availability',
|
2180 |
+
'ShippingCost',
|
2181 |
+
'SKU',
|
2182 |
+
'Brand',
|
2183 |
+
),
|
2184 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2185 |
+
'type' => array(
|
2186 |
+
'attribute',
|
2187 |
+
'attribute',
|
2188 |
+
'attribute',
|
2189 |
+
'attribute',
|
2190 |
+
'attribute',
|
2191 |
+
'attribute',
|
2192 |
+
'attribute',
|
2193 |
+
'attribute',
|
2194 |
+
'attribute',
|
2195 |
+
'pattern',
|
2196 |
+
'attribute',
|
2197 |
+
'pattern',
|
2198 |
+
),
|
2199 |
+
'attributes' => array(
|
2200 |
+
'id',
|
2201 |
+
'title',
|
2202 |
+
'short_description',
|
2203 |
+
'link',
|
2204 |
+
'current_price',
|
2205 |
+
'product_type',
|
2206 |
+
'image',
|
2207 |
+
'wf_cattr__stock',
|
2208 |
+
'availability',
|
2209 |
+
'',
|
2210 |
+
'sku',
|
2211 |
+
'',
|
2212 |
+
),
|
2213 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '0', '', '' ),
|
2214 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2215 |
+
'output_type' => array( '1', '1', '2', '1', '6', '1', '1', '5', '1', '6', '1', '1' ),
|
2216 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2217 |
+
),
|
2218 |
+
'twenga' => array(
|
2219 |
+
'mattributes' => array(
|
2220 |
+
'merchant_ref',
|
2221 |
+
'merchant_id',
|
2222 |
+
'upc_ean',
|
2223 |
+
'manufacturer_id',
|
2224 |
+
'product_url',
|
2225 |
+
'image_url',
|
2226 |
+
'price',
|
2227 |
+
'regular_price',
|
2228 |
+
'shipping_cost',
|
2229 |
+
'designation',
|
2230 |
+
'description',
|
2231 |
+
'category',
|
2232 |
+
'brand',
|
2233 |
+
'in_stock',
|
2234 |
+
'availability',
|
2235 |
+
'stock_detail',
|
2236 |
+
'unit_price',
|
2237 |
+
'merchant_margin',
|
2238 |
+
'ecotax',
|
2239 |
+
'item_display',
|
2240 |
+
'condition',
|
2241 |
+
'merchant_ref',
|
2242 |
+
),
|
2243 |
+
'prefix' => array(
|
2244 |
+
'',
|
2245 |
+
'',
|
2246 |
+
'',
|
2247 |
+
'',
|
2248 |
+
'',
|
2249 |
+
'',
|
2250 |
+
'',
|
2251 |
+
'',
|
2252 |
+
'',
|
2253 |
+
'',
|
2254 |
+
'',
|
2255 |
+
'',
|
2256 |
+
'',
|
2257 |
+
'',
|
2258 |
+
'',
|
2259 |
+
'',
|
2260 |
+
'',
|
2261 |
+
'',
|
2262 |
+
'',
|
2263 |
+
'',
|
2264 |
+
'',
|
2265 |
+
'',
|
2266 |
+
),
|
2267 |
+
'type' => array(
|
2268 |
+
'attribute',
|
2269 |
+
'attribute',
|
2270 |
+
'pattern',
|
2271 |
+
'attribute',
|
2272 |
+
'attribute',
|
2273 |
+
'pattern',
|
2274 |
+
'attribute',
|
2275 |
+
'pattern',
|
2276 |
+
'pattern',
|
2277 |
+
'pattern',
|
2278 |
+
'attribute',
|
2279 |
+
'attribute',
|
2280 |
+
'pattern',
|
2281 |
+
'attribute',
|
2282 |
+
'attribute',
|
2283 |
+
'pattern',
|
2284 |
+
'pattern',
|
2285 |
+
'pattern',
|
2286 |
+
'pattern',
|
2287 |
+
'pattern',
|
2288 |
+
'pattern',
|
2289 |
+
'attribute',
|
2290 |
+
),
|
2291 |
+
'attributes' => array(
|
2292 |
+
'sku',
|
2293 |
+
'id',
|
2294 |
+
'',
|
2295 |
+
'sku',
|
2296 |
+
'link',
|
2297 |
+
'image',
|
2298 |
+
'sale_price',
|
2299 |
+
'price',
|
2300 |
+
'',
|
2301 |
+
'',
|
2302 |
+
'description',
|
2303 |
+
'product_type',
|
2304 |
+
'',
|
2305 |
+
'availability',
|
2306 |
+
'quantity',
|
2307 |
+
'',
|
2308 |
+
'',
|
2309 |
+
'',
|
2310 |
+
'',
|
2311 |
+
'',
|
2312 |
+
'',
|
2313 |
+
'sku',
|
2314 |
+
),
|
2315 |
+
'default' => array(
|
2316 |
+
'',
|
2317 |
+
'',
|
2318 |
+
'',
|
2319 |
+
'',
|
2320 |
+
'',
|
2321 |
+
'',
|
2322 |
+
'',
|
2323 |
+
'',
|
2324 |
+
'',
|
2325 |
+
'',
|
2326 |
+
'',
|
2327 |
+
'',
|
2328 |
+
'',
|
2329 |
+
'',
|
2330 |
+
'',
|
2331 |
+
'',
|
2332 |
+
'',
|
2333 |
+
'',
|
2334 |
+
'',
|
2335 |
+
'',
|
2336 |
+
'',
|
2337 |
+
'',
|
2338 |
+
),
|
2339 |
+
'suffix' => array(
|
2340 |
+
'',
|
2341 |
+
'',
|
2342 |
+
'',
|
2343 |
+
'',
|
2344 |
+
'',
|
2345 |
+
'',
|
2346 |
+
'',
|
2347 |
+
'',
|
2348 |
+
'',
|
2349 |
+
'',
|
2350 |
+
'',
|
2351 |
+
'',
|
2352 |
+
'',
|
2353 |
+
'',
|
2354 |
+
'',
|
2355 |
+
'',
|
2356 |
+
'',
|
2357 |
+
'',
|
2358 |
+
'',
|
2359 |
+
'',
|
2360 |
+
'',
|
2361 |
+
'',
|
2362 |
+
),
|
2363 |
+
'output_type' => array(
|
2364 |
+
'1',
|
2365 |
+
'1',
|
2366 |
+
'1',
|
2367 |
+
'1',
|
2368 |
+
'1',
|
2369 |
+
'1',
|
2370 |
+
'1',
|
2371 |
+
'1',
|
2372 |
+
'1',
|
2373 |
+
'1',
|
2374 |
+
'1',
|
2375 |
+
'1',
|
2376 |
+
'1',
|
2377 |
+
'1',
|
2378 |
+
'1',
|
2379 |
+
'1',
|
2380 |
+
'1',
|
2381 |
+
'1',
|
2382 |
+
'1',
|
2383 |
+
'1',
|
2384 |
+
'1',
|
2385 |
+
'1',
|
2386 |
+
),
|
2387 |
+
'limit' => array(
|
2388 |
+
'',
|
2389 |
+
'',
|
2390 |
+
'',
|
2391 |
+
'',
|
2392 |
+
'',
|
2393 |
+
'',
|
2394 |
+
'',
|
2395 |
+
'',
|
2396 |
+
'',
|
2397 |
+
'',
|
2398 |
+
'',
|
2399 |
+
'',
|
2400 |
+
'',
|
2401 |
+
'',
|
2402 |
+
'',
|
2403 |
+
'',
|
2404 |
+
'',
|
2405 |
+
'',
|
2406 |
+
'',
|
2407 |
+
'',
|
2408 |
+
'',
|
2409 |
+
'',
|
2410 |
+
),
|
2411 |
+
),
|
2412 |
+
'vertaa.fi' => array(
|
2413 |
+
'mattributes' => array(
|
2414 |
+
'Product category',
|
2415 |
+
'Product name',
|
2416 |
+
'Product brand',
|
2417 |
+
'Product price',
|
2418 |
+
'Product URL',
|
2419 |
+
'Delivery time',
|
2420 |
+
'Shipping method',
|
2421 |
+
'Delivery price',
|
2422 |
+
'Service country code',
|
2423 |
+
),
|
2424 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2425 |
+
'type' => array(
|
2426 |
+
'attribute',
|
2427 |
+
'attribute',
|
2428 |
+
'attribute',
|
2429 |
+
'attribute',
|
2430 |
+
'attribute',
|
2431 |
+
'attribute',
|
2432 |
+
'attribute',
|
2433 |
+
'attribute',
|
2434 |
+
'attribute',
|
2435 |
+
),
|
2436 |
+
'attributes' => array( 'product_type', 'title', '', 'price', 'link', '', '', '', '' ),
|
2437 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2438 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2439 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2440 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2441 |
+
),
|
2442 |
+
'walmart' => array(
|
2443 |
+
'mattributes' => array(
|
2444 |
+
'Product Name',
|
2445 |
+
'SKU',
|
2446 |
+
'Product Tax Code',
|
2447 |
+
'Product ID Type',
|
2448 |
+
'Product ID',
|
2449 |
+
'Product Identifiers',
|
2450 |
+
'Description',
|
2451 |
+
'Brand',
|
2452 |
+
'Price',
|
2453 |
+
'Shipping Weight',
|
2454 |
+
),
|
2455 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2456 |
+
'type' => array(
|
2457 |
+
'attribute',
|
2458 |
+
'attribute',
|
2459 |
+
'attribute',
|
2460 |
+
'attribute',
|
2461 |
+
'attribute',
|
2462 |
+
'attribute',
|
2463 |
+
'attribute',
|
2464 |
+
'attribute',
|
2465 |
+
'attribute',
|
2466 |
+
'attribute',
|
2467 |
+
),
|
2468 |
+
'attributes' => array( 'title', 'sku', '', '', 'id', '', 'description', '', 'price', '' ),
|
2469 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2470 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2471 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2472 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
2473 |
+
),
|
2474 |
+
'wish' => array(
|
2475 |
+
'mattributes' => array(
|
2476 |
+
'Main Image URL',
|
2477 |
+
'Price',
|
2478 |
+
'Product Name',
|
2479 |
+
'Quantity',
|
2480 |
+
'Shipping',
|
2481 |
+
'Tags',
|
2482 |
+
'Parent Unique Id',
|
2483 |
+
'Unique ID/SKU',
|
2484 |
+
'Description',
|
2485 |
+
),
|
2486 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2487 |
+
'type' => array(
|
2488 |
+
'attribute',
|
2489 |
+
'attribute',
|
2490 |
+
'attribute',
|
2491 |
+
'attribute',
|
2492 |
+
'attribute',
|
2493 |
+
'attribute',
|
2494 |
+
'attribute',
|
2495 |
+
'attribute',
|
2496 |
+
'attribute',
|
2497 |
+
),
|
2498 |
+
'attributes' => array(
|
2499 |
+
'image',
|
2500 |
+
'price',
|
2501 |
+
'title',
|
2502 |
+
'quantity',
|
2503 |
+
'',
|
2504 |
+
'tags',
|
2505 |
+
'item_group_id',
|
2506 |
+
'id',
|
2507 |
+
'description',
|
2508 |
+
),
|
2509 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2510 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2511 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2512 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2513 |
+
),
|
2514 |
+
'yahoo_nfa' => array(
|
2515 |
+
'mattributes' => array(
|
2516 |
+
'id',
|
2517 |
+
'title',
|
2518 |
+
'description',
|
2519 |
+
'image_link',
|
2520 |
+
'link',
|
2521 |
+
'availability',
|
2522 |
+
'condition',
|
2523 |
+
'price',
|
2524 |
+
'gtin',
|
2525 |
+
),
|
2526 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2527 |
+
'type' => array(
|
2528 |
+
'attribute',
|
2529 |
+
'attribute',
|
2530 |
+
'attribute',
|
2531 |
+
'attribute',
|
2532 |
+
'attribute',
|
2533 |
+
'attribute',
|
2534 |
+
'attribute',
|
2535 |
+
'attribute',
|
2536 |
+
'attribute',
|
2537 |
+
),
|
2538 |
+
'attributes' => array(
|
2539 |
+
'id',
|
2540 |
+
'title',
|
2541 |
+
'description',
|
2542 |
+
'image',
|
2543 |
+
'link',
|
2544 |
+
'availability',
|
2545 |
+
'condition',
|
2546 |
+
'price',
|
2547 |
+
'',
|
2548 |
+
),
|
2549 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2550 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2551 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2552 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2553 |
+
),
|
2554 |
+
'zap.co.il' => array(
|
2555 |
+
'mattributes' => array(
|
2556 |
+
'PRODUCT_URL',
|
2557 |
+
'PRODUCT_NAME',
|
2558 |
+
'DETAILS',
|
2559 |
+
'PRODUCTCODE',
|
2560 |
+
'CURRENCY',
|
2561 |
+
'PRICE',
|
2562 |
+
'SHIPMENT_COST',
|
2563 |
+
'DELIVERY_TIME',
|
2564 |
+
'IMAGE',
|
2565 |
+
),
|
2566 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2567 |
+
'type' => array(
|
2568 |
+
'attribute',
|
2569 |
+
'attribute',
|
2570 |
+
'attribute',
|
2571 |
+
'attribute',
|
2572 |
+
'attribute',
|
2573 |
+
'attribute',
|
2574 |
+
'attribute',
|
2575 |
+
'attribute',
|
2576 |
+
'attribute',
|
2577 |
+
),
|
2578 |
+
'attributes' => array( 'link', 'title', 'description', 'id', '', 'price', '', '', 'image' ),
|
2579 |
+
'default' => array( '', '', '', '', '', '', '', '', '' ),
|
2580 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2581 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2582 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2583 |
+
),
|
2584 |
+
'adwords' => array(
|
2585 |
+
'mattributes' => array(
|
2586 |
+
'ID',
|
2587 |
+
'ID2',
|
2588 |
+
'Item title',
|
2589 |
+
'Final URL',
|
2590 |
+
'Image URL',
|
2591 |
+
'Item subtitle',
|
2592 |
+
'Item description',
|
2593 |
+
'Item category',
|
2594 |
+
'Price',
|
2595 |
+
'Sale price',
|
2596 |
+
'Contextual keywords',
|
2597 |
+
'Item address',
|
2598 |
+
),
|
2599 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2600 |
+
'type' => array(
|
2601 |
+
'attribute',
|
2602 |
+
'attribute',
|
2603 |
+
'attribute',
|
2604 |
+
'attribute',
|
2605 |
+
'attribute',
|
2606 |
+
'attribute',
|
2607 |
+
'attribute',
|
2608 |
+
'attribute',
|
2609 |
+
'attribute',
|
2610 |
+
'attribute',
|
2611 |
+
'pattern',
|
2612 |
+
'pattern',
|
2613 |
+
),
|
2614 |
+
'attributes' => array(
|
2615 |
+
'id',
|
2616 |
+
'sku',
|
2617 |
+
'title',
|
2618 |
+
'link',
|
2619 |
+
'image',
|
2620 |
+
'short_description',
|
2621 |
+
'description',
|
2622 |
+
'product_type',
|
2623 |
+
'price',
|
2624 |
+
'sale_price',
|
2625 |
+
'',
|
2626 |
+
'',
|
2627 |
+
),
|
2628 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2629 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2630 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2631 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2632 |
+
),
|
2633 |
+
'bing' => array(
|
2634 |
+
'mattributes' => array( 'id', 'title', 'link', 'price', 'description', 'image_link', 'shipping' ),
|
2635 |
+
'prefix' => array( '', '', '', '', '', '', '' ),
|
2636 |
+
'type' => array(
|
2637 |
+
'attribute',
|
2638 |
+
'attribute',
|
2639 |
+
'attribute',
|
2640 |
+
'attribute',
|
2641 |
+
'attribute',
|
2642 |
+
'attribute',
|
2643 |
+
'attribute',
|
2644 |
+
),
|
2645 |
+
'attributes' => array( 'id', 'title', 'link', 'price', 'description', 'image', '' ),
|
2646 |
+
'default' => array( '', '', '', '', '', '', '' ),
|
2647 |
+
'suffix' => array( '', '', '', '', '', '', '' ),
|
2648 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1' ),
|
2649 |
+
'limit' => array( '', '', '', '', '', '', '' ),
|
2650 |
+
),
|
2651 |
+
'google_local_inventory' => array(
|
2652 |
+
'mattributes' => array(
|
2653 |
+
'store code',
|
2654 |
+
'itemid',
|
2655 |
+
'quantity',
|
2656 |
+
'price',
|
2657 |
+
'sale price',
|
2658 |
+
'availability',
|
2659 |
+
'sale price effective date',
|
2660 |
+
'pickup method',
|
2661 |
+
'pickup sla',
|
2662 |
+
),
|
2663 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '' ),
|
2664 |
+
'type' => array(
|
2665 |
+
'pattern',
|
2666 |
+
'attribute',
|
2667 |
+
'attribute',
|
2668 |
+
'attribute',
|
2669 |
+
'attribute',
|
2670 |
+
'attribute',
|
2671 |
+
'attribute',
|
2672 |
+
'pattern',
|
2673 |
+
'pattern',
|
2674 |
+
),
|
2675 |
+
'attributes' => array(
|
2676 |
+
'',
|
2677 |
+
'id',
|
2678 |
+
'quantity',
|
2679 |
+
'price',
|
2680 |
+
'sale_price',
|
2681 |
+
'availability',
|
2682 |
+
'sale_price_effective_date',
|
2683 |
+
'',
|
2684 |
+
'',
|
2685 |
+
),
|
2686 |
+
'default' => array( ' ', '', '', '', '', '', '', '', '' ),
|
2687 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '' ),
|
2688 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
2689 |
+
'limit' => array( '', '', '', '', '', '', '', '', '' ),
|
2690 |
+
),
|
2691 |
+
'google_local' => array(
|
2692 |
+
'mattributes' => array(
|
2693 |
+
'store code',
|
2694 |
+
'itemid',
|
2695 |
+
'title',
|
2696 |
+
'description',
|
2697 |
+
'image_link',
|
2698 |
+
'condition',
|
2699 |
+
'gtin',
|
2700 |
+
'brand',
|
2701 |
+
'google_product_category',
|
2702 |
+
'webitemid',
|
2703 |
+
'mpn',
|
2704 |
+
'price',
|
2705 |
+
'sale price',
|
2706 |
+
'sale price effective date',
|
2707 |
+
'unit_pricing_measure',
|
2708 |
+
'unit_pricing_base_measure',
|
2709 |
+
'pickup method',
|
2710 |
+
'pickup SLA',
|
2711 |
+
'pickup_link_template',
|
2712 |
+
'mobile_pickup_link_template',
|
2713 |
+
'link_template',
|
2714 |
+
'mobile_link_template',
|
2715 |
+
'ads_redirect',
|
2716 |
+
'energy_efficiency_class',
|
2717 |
+
'energy_efficiency_class_min',
|
2718 |
+
'energy_efficiency_class_max',
|
2719 |
+
),
|
2720 |
+
'prefix' => array(
|
2721 |
+
'',
|
2722 |
+
'',
|
2723 |
+
'',
|
2724 |
+
'',
|
2725 |
+
'',
|
2726 |
+
'',
|
2727 |
+
'',
|
2728 |
+
'',
|
2729 |
+
'',
|
2730 |
+
'',
|
2731 |
+
'',
|
2732 |
+
'',
|
2733 |
+
'',
|
2734 |
+
'',
|
2735 |
+
'',
|
2736 |
+
'',
|
2737 |
+
'',
|
2738 |
+
'',
|
2739 |
+
'',
|
2740 |
+
'',
|
2741 |
+
'',
|
2742 |
+
'',
|
2743 |
+
'',
|
2744 |
+
'',
|
2745 |
+
'',
|
2746 |
+
'',
|
2747 |
+
),
|
2748 |
+
'type' => array(
|
2749 |
+
'pattern',
|
2750 |
+
'attribute',
|
2751 |
+
'attribute',
|
2752 |
+
'attribute',
|
2753 |
+
'attribute',
|
2754 |
+
'attribute',
|
2755 |
+
'attribute',
|
2756 |
+
'pattern',
|
2757 |
+
'pattern',
|
2758 |
+
'pattern',
|
2759 |
+
'pattern',
|
2760 |
+
'attribute',
|
2761 |
+
'attribute',
|
2762 |
+
'attribute',
|
2763 |
+
'pattern',
|
2764 |
+
'pattern',
|
2765 |
+
'pattern',
|
2766 |
+
'pattern',
|
2767 |
+
'pattern',
|
2768 |
+
'pattern',
|
2769 |
+
'pattern',
|
2770 |
+
'pattern',
|
2771 |
+
'pattern',
|
2772 |
+
'pattern',
|
2773 |
+
'pattern',
|
2774 |
+
'pattern',
|
2775 |
+
),
|
2776 |
+
'attributes' => array(
|
2777 |
+
'',
|
2778 |
+
'id',
|
2779 |
+
'title',
|
2780 |
+
'description',
|
2781 |
+
'image',
|
2782 |
+
'condition',
|
2783 |
+
'sku',
|
2784 |
+
'',
|
2785 |
+
'',
|
2786 |
+
'',
|
2787 |
+
'',
|
2788 |
+
'price',
|
2789 |
+
'sale_price',
|
2790 |
+
'sale_price_effective_date',
|
2791 |
+
'',
|
2792 |
+
'',
|
2793 |
+
'',
|
2794 |
+
'',
|
2795 |
+
'',
|
2796 |
+
'',
|
2797 |
+
'',
|
2798 |
+
'',
|
2799 |
+
'',
|
2800 |
+
'',
|
2801 |
+
'',
|
2802 |
+
'',
|
2803 |
+
),
|
2804 |
+
'default' => array(
|
2805 |
+
' ',
|
2806 |
+
'',
|
2807 |
+
'',
|
2808 |
+
'',
|
2809 |
+
'',
|
2810 |
+
'',
|
2811 |
+
'',
|
2812 |
+
'',
|
2813 |
+
'',
|
2814 |
+
'',
|
2815 |
+
'',
|
2816 |
+
'',
|
2817 |
+
'',
|
2818 |
+
'',
|
2819 |
+
'',
|
2820 |
+
'',
|
2821 |
+
'',
|
2822 |
+
'',
|
2823 |
+
'',
|
2824 |
+
'',
|
2825 |
+
'',
|
2826 |
+
'',
|
2827 |
+
'',
|
2828 |
+
'',
|
2829 |
+
'',
|
2830 |
+
'',
|
2831 |
+
),
|
2832 |
+
'suffix' => array(
|
2833 |
+
'',
|
2834 |
+
'',
|
2835 |
+
'',
|
2836 |
+
'',
|
2837 |
+
'',
|
2838 |
+
'',
|
2839 |
+
'',
|
2840 |
+
'',
|
2841 |
+
'',
|
2842 |
+
'',
|
2843 |
+
'',
|
2844 |
+
'',
|
2845 |
+
'',
|
2846 |
+
'',
|
2847 |
+
'',
|
2848 |
+
'',
|
2849 |
+
'',
|
2850 |
+
'',
|
2851 |
+
'',
|
2852 |
+
'',
|
2853 |
+
'',
|
2854 |
+
'',
|
2855 |
+
'',
|
2856 |
+
'',
|
2857 |
+
'',
|
2858 |
+
'',
|
2859 |
+
),
|
2860 |
+
'output_type' => array(
|
2861 |
+
'1',
|
2862 |
+
'1',
|
2863 |
+
'1',
|
2864 |
+
'1',
|
2865 |
+
'1',
|
2866 |
+
'1',
|
2867 |
+
'1',
|
2868 |
+
'1',
|
2869 |
+
'1',
|
2870 |
+
'1',
|
2871 |
+
'1',
|
2872 |
+
'1',
|
2873 |
+
'1',
|
2874 |
+
'1',
|
2875 |
+
'1',
|
2876 |
+
'1',
|
2877 |
+
'1',
|
2878 |
+
'1',
|
2879 |
+
'1',
|
2880 |
+
'1',
|
2881 |
+
'1',
|
2882 |
+
'1',
|
2883 |
+
'1',
|
2884 |
+
'1',
|
2885 |
+
'1',
|
2886 |
+
'1',
|
2887 |
+
),
|
2888 |
+
'limit' => array(
|
2889 |
+
'',
|
2890 |
+
'',
|
2891 |
+
'',
|
2892 |
+
'',
|
2893 |
+
'',
|
2894 |
+
'',
|
2895 |
+
'',
|
2896 |
+
'',
|
2897 |
+
'',
|
2898 |
+
'',
|
2899 |
+
'',
|
2900 |
+
'',
|
2901 |
+
'',
|
2902 |
+
'',
|
2903 |
+
'',
|
2904 |
+
'',
|
2905 |
+
'',
|
2906 |
+
'',
|
2907 |
+
'',
|
2908 |
+
'',
|
2909 |
+
'',
|
2910 |
+
'',
|
2911 |
+
'',
|
2912 |
+
'',
|
2913 |
+
'',
|
2914 |
+
'',
|
2915 |
+
),
|
2916 |
+
),
|
2917 |
+
'idealo' => array(
|
2918 |
+
'mattributes' => array(
|
2919 |
+
'Article number in shop',
|
2920 |
+
'EAN',
|
2921 |
+
'MPN',
|
2922 |
+
'Manufacturer',
|
2923 |
+
'Product name',
|
2924 |
+
'Price',
|
2925 |
+
'Delivery time',
|
2926 |
+
'Product group in shop',
|
2927 |
+
'Product description',
|
2928 |
+
'Product characteristics',
|
2929 |
+
'Product URL',
|
2930 |
+
'Image URL',
|
2931 |
+
'Colour',
|
2932 |
+
'Size',
|
2933 |
+
'Cash in advance',
|
2934 |
+
'Unit price',
|
2935 |
+
'Energy efficiency rating',
|
2936 |
+
),
|
2937 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2938 |
+
'type' => array(
|
2939 |
+
'attribute',
|
2940 |
+
'attribute',
|
2941 |
+
'attribute',
|
2942 |
+
'attribute',
|
2943 |
+
'attribute',
|
2944 |
+
'attribute',
|
2945 |
+
'attribute',
|
2946 |
+
'attribute',
|
2947 |
+
'attribute',
|
2948 |
+
'attribute',
|
2949 |
+
'attribute',
|
2950 |
+
'attribute',
|
2951 |
+
'attribute',
|
2952 |
+
'attribute',
|
2953 |
+
'attribute',
|
2954 |
+
'attribute',
|
2955 |
+
'attribute',
|
2956 |
+
),
|
2957 |
+
'attributes' => array(
|
2958 |
+
'',
|
2959 |
+
'',
|
2960 |
+
'',
|
2961 |
+
'',
|
2962 |
+
'title',
|
2963 |
+
'price',
|
2964 |
+
'',
|
2965 |
+
'product_type',
|
2966 |
+
'description',
|
2967 |
+
'',
|
2968 |
+
'link',
|
2969 |
+
'image',
|
2970 |
+
'',
|
2971 |
+
'',
|
2972 |
+
'',
|
2973 |
+
'',
|
2974 |
+
'',
|
2975 |
+
),
|
2976 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2977 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2978 |
+
'output_type' => array(
|
2979 |
+
'1',
|
2980 |
+
'1',
|
2981 |
+
'1',
|
2982 |
+
'1',
|
2983 |
+
'1',
|
2984 |
+
'1',
|
2985 |
+
'1',
|
2986 |
+
'1',
|
2987 |
+
'1',
|
2988 |
+
'1',
|
2989 |
+
'1',
|
2990 |
+
'1',
|
2991 |
+
'1',
|
2992 |
+
'1',
|
2993 |
+
'1',
|
2994 |
+
'1',
|
2995 |
+
'1',
|
2996 |
+
),
|
2997 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
2998 |
+
),
|
2999 |
+
'pricespy' => array(
|
3000 |
+
'mattributes' => array(
|
3001 |
+
'Product-name',
|
3002 |
+
'Your-item-number',
|
3003 |
+
'category',
|
3004 |
+
'price-including-gst',
|
3005 |
+
'Product-URL',
|
3006 |
+
'manufacturer',
|
3007 |
+
'manufacturer-SKU',
|
3008 |
+
'shipping',
|
3009 |
+
'image-URL',
|
3010 |
+
'stock status',
|
3011 |
+
),
|
3012 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
3013 |
+
'type' => array(
|
3014 |
+
'attribute',
|
3015 |
+
'attribute',
|
3016 |
+
'attribute',
|
3017 |
+
'attribute',
|
3018 |
+
'attribute',
|
3019 |
+
'pattern',
|
3020 |
+
'attribute',
|
3021 |
+
'pattern',
|
3022 |
+
'attribute',
|
3023 |
+
'attribute',
|
3024 |
+
),
|
3025 |
+
'attributes' => array(
|
3026 |
+
'title',
|
3027 |
+
'id',
|
3028 |
+
'product_type',
|
3029 |
+
'price',
|
3030 |
+
'link',
|
3031 |
+
'',
|
3032 |
+
'sku',
|
3033 |
+
'',
|
3034 |
+
'image',
|
3035 |
+
'condition',
|
3036 |
+
),
|
3037 |
+
'default' => array( '', '', '', '', '', '', '', '', 'mens, womens', '' ),
|
3038 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '' ),
|
3039 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
3040 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '' ),
|
3041 |
+
),
|
3042 |
+
'yandex_csv' => array(
|
3043 |
+
'mattributes' => array(
|
3044 |
+
'id',
|
3045 |
+
'available',
|
3046 |
+
'price',
|
3047 |
+
'currencyId',
|
3048 |
+
'category',
|
3049 |
+
'picture',
|
3050 |
+
'name',
|
3051 |
+
'description',
|
3052 |
+
),
|
3053 |
+
'prefix' => array( '', '', '', '', '', '', '', '' ),
|
3054 |
+
'type' => array(
|
3055 |
+
'attribute',
|
3056 |
+
'attribute',
|
3057 |
+
'attribute',
|
3058 |
+
'pattern',
|
3059 |
+
'attribute',
|
3060 |
+
'attribute',
|
3061 |
+
'attribute',
|
3062 |
+
'attribute',
|
3063 |
+
),
|
3064 |
+
'attributes' => array(
|
3065 |
+
'id',
|
3066 |
+
'availability',
|
3067 |
+
'price',
|
3068 |
+
'',
|
3069 |
+
'product_type',
|
3070 |
+
'image',
|
3071 |
+
'title',
|
3072 |
+
'description',
|
3073 |
+
),
|
3074 |
+
'default' => array( '', '', '', 'RUR', '', '', '', '' ),
|
3075 |
+
'suffix' => array( '', '', '', '', '', '', '', '' ),
|
3076 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1' ),
|
3077 |
+
'limit' => array( '', '', '', '', '', '', '', '' ),
|
3078 |
+
),
|
3079 |
+
'fyndiq.se' => array(
|
3080 |
+
'mattributes' => array(
|
3081 |
+
'product-id',
|
3082 |
+
'product-title',
|
3083 |
+
'product-description',
|
3084 |
+
'product-market',
|
3085 |
+
'product-currency',
|
3086 |
+
'product-price',
|
3087 |
+
'product-oldprice',
|
3088 |
+
'product-var-percent',
|
3089 |
+
'product-image-1-url',
|
3090 |
+
'product-image-1-identifier',
|
3091 |
+
'article-sku',
|
3092 |
+
'article-quantity',
|
3093 |
+
'article-name',
|
3094 |
+
),
|
3095 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3096 |
+
'type' => array(
|
3097 |
+
'attribute',
|
3098 |
+
'attribute',
|
3099 |
+
'attribute',
|
3100 |
+
'attribute',
|
3101 |
+
'pattern',
|
3102 |
+
'attribute',
|
3103 |
+
'attribute',
|
3104 |
+
'attribute',
|
3105 |
+
'attribute',
|
3106 |
+
'attribute',
|
3107 |
+
'attribute',
|
3108 |
+
'attribute',
|
3109 |
+
'attribute',
|
3110 |
+
),
|
3111 |
+
'attributes' => array(
|
3112 |
+
'id',
|
3113 |
+
'title',
|
3114 |
+
'description',
|
3115 |
+
'',
|
3116 |
+
'',
|
3117 |
+
'price',
|
3118 |
+
'',
|
3119 |
+
'',
|
3120 |
+
'image',
|
3121 |
+
'',
|
3122 |
+
'sku',
|
3123 |
+
'quantity',
|
3124 |
+
'',
|
3125 |
+
),
|
3126 |
+
'default' => array( '', '', '', '', 'USD', '', '', '', '', '', '', '', '' ),
|
3127 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3128 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
3129 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3130 |
+
),
|
3131 |
+
'miinto.nl' => array(
|
3132 |
+
'mattributes' => array(
|
3133 |
+
'gtin',
|
3134 |
+
'item_group_id',
|
3135 |
+
'brand',
|
3136 |
+
'title',
|
3137 |
+
'product_type',
|
3138 |
+
'gender',
|
3139 |
+
'color',
|
3140 |
+
'size',
|
3141 |
+
'image_link',
|
3142 |
+
'stock_level',
|
3143 |
+
'season_tag',
|
3144 |
+
'description',
|
3145 |
+
'material',
|
3146 |
+
'washing',
|
3147 |
+
'retail_price_currencyCode',
|
3148 |
+
),
|
3149 |
+
'prefix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3150 |
+
'type' => array(
|
3151 |
+
'attribute',
|
3152 |
+
'attribute',
|
3153 |
+
'attribute',
|
3154 |
+
'attribute',
|
3155 |
+
'attribute',
|
3156 |
+
'attribute',
|
3157 |
+
'attribute',
|
3158 |
+
'attribute',
|
3159 |
+
'attribute',
|
3160 |
+
'attribute',
|
3161 |
+
'attribute',
|
3162 |
+
'attribute',
|
3163 |
+
'attribute',
|
3164 |
+
'attribute',
|
3165 |
+
'attribute',
|
3166 |
+
),
|
3167 |
+
'attributes' => array(
|
3168 |
+
'',
|
3169 |
+
'item_group_id',
|
3170 |
+
'',
|
3171 |
+
'title',
|
3172 |
+
'product_type',
|
3173 |
+
'',
|
3174 |
+
'',
|
3175 |
+
'',
|
3176 |
+
'image',
|
3177 |
+
'quantity',
|
3178 |
+
'',
|
3179 |
+
'description',
|
3180 |
+
'',
|
3181 |
+
'',
|
3182 |
+
'',
|
3183 |
+
),
|
3184 |
+
'default' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3185 |
+
'suffix' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3186 |
+
'output_type' => array( '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ),
|
3187 |
+
'limit' => array( '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ),
|
3188 |
+
),
|
3189 |
+
);
|
3190 |
+
}
|
3191 |
+
|
3192 |
/**
|
3193 |
* Get Merchant Info
|
3194 |
+
*
|
3195 |
+
* @deprecated 3.3.7
|
3196 |
+
*
|
3197 |
* @param string $merchant
|
3198 |
*
|
3199 |
* @return array
|
3200 |
*/
|
3201 |
public function getInfo( $merchant = '' ) {
|
3202 |
+
_deprecated_function( __METHOD__, '3.3.7', __CLASS__ . '::get_info' );
|
3203 |
+
if ( ! empty( $merchant ) && is_string( $merchant ) && empty( $this->merchant ) ) {
|
3204 |
+
$this->merchant = $merchant;
|
3205 |
+
// reload
|
3206 |
+
$this->merchantInfo();
|
3207 |
+
}
|
3208 |
+
return $this->get_info();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3209 |
}
|
3210 |
}
|
includes/classes/class-woo-feed-products-v3.php
CHANGED
@@ -34,7 +34,7 @@ class Woo_Feed_Products_v3 {
|
|
34 |
'grouped',
|
35 |
'external',
|
36 |
);
|
37 |
-
|
38 |
/**
|
39 |
* Post meta prefix for dropdown item
|
40 |
* @since 3.1.18
|
@@ -73,11 +73,12 @@ class Woo_Feed_Products_v3 {
|
|
73 |
|
74 |
// Query Arguments
|
75 |
$arg = array(
|
76 |
-
'limit'
|
77 |
-
'status'
|
78 |
-
'orderby'
|
79 |
-
'order'
|
80 |
-
'return'
|
|
|
81 |
);
|
82 |
|
83 |
// Product Type
|
@@ -105,6 +106,7 @@ class Woo_Feed_Products_v3 {
|
|
105 |
'cache_results' => false,
|
106 |
'update_post_meta_cache' => false,
|
107 |
'update_post_term_cache' => false,
|
|
|
108 |
);
|
109 |
|
110 |
$query = new WP_Query( $args );
|
@@ -232,13 +234,13 @@ class Woo_Feed_Products_v3 {
|
|
232 |
|
233 |
// Limit Output
|
234 |
$limit = $this->config['limit'][ $attr_key ];
|
235 |
-
if ( ! empty($limit) && is_numeric($limit) ) {
|
236 |
-
if ( strpos($attributeValue,
|
237 |
-
$attributeValue = str_replace(array(
|
238 |
$attributeValue = substr($attributeValue, 0, $limit);
|
239 |
$attributeValue = '<![CDATA[' . $attributeValue . ']]>';
|
240 |
} else {
|
241 |
-
$attributeValue = substr($attributeValue, 0, $limit);
|
242 |
}
|
243 |
}
|
244 |
|
@@ -573,9 +575,14 @@ class Woo_Feed_Products_v3 {
|
|
573 |
$this->enclosure = '';
|
574 |
}
|
575 |
|
|
|
|
|
|
|
|
|
|
|
576 |
$product = $this->products[ $this->pi ];
|
577 |
$headers = array_keys( $product );
|
578 |
-
$this->feedHeader .= $this->enclosure . implode( "$this->enclosure$this->delimiter$this->enclosure", $headers ) . $this->enclosure .
|
579 |
|
580 |
return $this->feedHeader;
|
581 |
}
|
@@ -588,9 +595,12 @@ class Woo_Feed_Products_v3 {
|
|
588 |
* @return string
|
589 |
*/
|
590 |
private function process_txt_feed_body() {
|
591 |
-
$
|
592 |
-
$
|
593 |
-
|
|
|
|
|
|
|
594 |
|
595 |
return $this->feedBody;
|
596 |
}
|
@@ -860,22 +870,50 @@ class Woo_Feed_Products_v3 {
|
|
860 |
* @return mixed|string
|
861 |
*/
|
862 |
public function getAttributeValueByType( $product, $attribute ) {
|
|
|
863 |
if ( method_exists( $this, $attribute ) ) {
|
864 |
-
|
865 |
} elseif ( strpos( $attribute, self::PRODUCT_ATTRIBUTE_PREFIX ) !== false ) {
|
866 |
-
|
867 |
} elseif ( strpos( $attribute, self::POST_META_PREFIX ) !== false ) {
|
868 |
-
|
869 |
} elseif ( strpos( $attribute, self::PRODUCT_TAXONOMY_PREFIX ) !== false ) {
|
870 |
-
|
871 |
} elseif ( substr( $attribute, 0, 6 ) == 'image_' ) {
|
872 |
// For additional image method images() will be used with extra parameter - image number
|
873 |
$imageKey = explode( '_', $attribute );
|
874 |
-
|
875 |
-
|
|
|
|
|
876 |
} else {
|
877 |
-
|
878 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
879 |
}
|
880 |
|
881 |
|
@@ -1106,7 +1144,9 @@ class Woo_Feed_Products_v3 {
|
|
1106 |
$id = $product->get_parent_id();
|
1107 |
}
|
1108 |
|
1109 |
-
|
|
|
|
|
1110 |
}
|
1111 |
|
1112 |
/**
|
@@ -1115,7 +1155,7 @@ class Woo_Feed_Products_v3 {
|
|
1115 |
*
|
1116 |
* @param WC_Product $product
|
1117 |
*
|
1118 |
-
* @return
|
1119 |
*/
|
1120 |
private function link( $product ) {
|
1121 |
$utm = $this->config['campaign_parameters'];
|
@@ -1138,7 +1178,7 @@ class Woo_Feed_Products_v3 {
|
|
1138 |
*
|
1139 |
* @param WC_Product $product
|
1140 |
*
|
1141 |
-
* @return
|
1142 |
*/
|
1143 |
private function ex_link( $product ) {
|
1144 |
if ( $product->is_type( 'external' ) ) {
|
34 |
'grouped',
|
35 |
'external',
|
36 |
);
|
37 |
+
// TODO check if product is in those above types.
|
38 |
/**
|
39 |
* Post meta prefix for dropdown item
|
40 |
* @since 3.1.18
|
73 |
|
74 |
// Query Arguments
|
75 |
$arg = array(
|
76 |
+
'limit' => 2e3,
|
77 |
+
'status' => $this->post_status,
|
78 |
+
'orderby' => 'date',
|
79 |
+
'order' => 'DESC',
|
80 |
+
'return' => 'ids',
|
81 |
+
'suppress_filters' => false,
|
82 |
);
|
83 |
|
84 |
// Product Type
|
106 |
'cache_results' => false,
|
107 |
'update_post_meta_cache' => false,
|
108 |
'update_post_term_cache' => false,
|
109 |
+
'suppress_filters' => false,
|
110 |
);
|
111 |
|
112 |
$query = new WP_Query( $args );
|
234 |
|
235 |
// Limit Output
|
236 |
$limit = $this->config['limit'][ $attr_key ];
|
237 |
+
if ( ! empty( $limit ) && is_numeric( $limit ) ) {
|
238 |
+
if ( strpos( $attributeValue, '<![CDATA[' ) !== false ) {
|
239 |
+
$attributeValue = str_replace(array( '<![CDATA[', ']]>' ), array( '', '' ), $attributeValue);
|
240 |
$attributeValue = substr($attributeValue, 0, $limit);
|
241 |
$attributeValue = '<![CDATA[' . $attributeValue . ']]>';
|
242 |
} else {
|
243 |
+
$attributeValue = substr( $attributeValue, 0, $limit );
|
244 |
}
|
245 |
}
|
246 |
|
575 |
$this->enclosure = '';
|
576 |
}
|
577 |
|
578 |
+
$eol = PHP_EOL;
|
579 |
+
if ( 'trovaprezzi' === $this->config['provider'] ) {
|
580 |
+
$eol = '<endrecord>' . PHP_EOL;
|
581 |
+
}
|
582 |
+
|
583 |
$product = $this->products[ $this->pi ];
|
584 |
$headers = array_keys( $product );
|
585 |
+
$this->feedHeader .= $this->enclosure . implode( "$this->enclosure$this->delimiter$this->enclosure", $headers ) . $this->enclosure . $eol;
|
586 |
|
587 |
return $this->feedHeader;
|
588 |
}
|
595 |
* @return string
|
596 |
*/
|
597 |
private function process_txt_feed_body() {
|
598 |
+
$productInfo = array_values( $this->products[ $this->pi ] );
|
599 |
+
$eol = PHP_EOL;
|
600 |
+
if ( 'trovaprezzi' === $this->config['provider'] ) {
|
601 |
+
$eol = '<endrecord>' . PHP_EOL;
|
602 |
+
}
|
603 |
+
$this->feedBody .= $this->enclosure . implode( "$this->enclosure$this->delimiter$this->enclosure", $productInfo ) . $this->enclosure . $eol;
|
604 |
|
605 |
return $this->feedBody;
|
606 |
}
|
870 |
* @return mixed|string
|
871 |
*/
|
872 |
public function getAttributeValueByType( $product, $attribute ) {
|
873 |
+
|
874 |
if ( method_exists( $this, $attribute ) ) {
|
875 |
+
$output = call_user_func_array( array( $this, $attribute ), array( $product ) );
|
876 |
} elseif ( strpos( $attribute, self::PRODUCT_ATTRIBUTE_PREFIX ) !== false ) {
|
877 |
+
$output = $this->getProductAttribute( $product, $attribute );
|
878 |
} elseif ( strpos( $attribute, self::POST_META_PREFIX ) !== false ) {
|
879 |
+
$output = $this->getProductMeta( $product, $attribute );
|
880 |
} elseif ( strpos( $attribute, self::PRODUCT_TAXONOMY_PREFIX ) !== false ) {
|
881 |
+
$output = $this->getProductTaxonomy( $product, $attribute );
|
882 |
} elseif ( substr( $attribute, 0, 6 ) == 'image_' ) {
|
883 |
// For additional image method images() will be used with extra parameter - image number
|
884 |
$imageKey = explode( '_', $attribute );
|
885 |
+
if ( ! isset( $imageKey[1] ) || ( isset( $imageKey[1] ) && ( empty( $imageKey[1] ) || ! is_numeric( $imageKey[1] ) ) ) ) {
|
886 |
+
$imageKey[1] = '';
|
887 |
+
}
|
888 |
+
$output = call_user_func_array( array( $this, 'images' ), array( $product, $imageKey[1] ) );
|
889 |
} else {
|
890 |
+
$output = '';
|
891 |
}
|
892 |
+
|
893 |
+
// Json encode if value is an array
|
894 |
+
if ( is_array( $output ) ) $output = wp_json_encode( $output );
|
895 |
+
|
896 |
+
/**
|
897 |
+
* Filter attribute value before return based on merchant and attribute name
|
898 |
+
*
|
899 |
+
* @since 3.3.7
|
900 |
+
*
|
901 |
+
* @param string $output the output
|
902 |
+
* @param WC_Product|WC_Product_Variable|WC_Product_Variation|WC_Product_Grouped|WC_Product_External|WC_Product_Composite $product Product Object.
|
903 |
+
* @param array feed config/rule
|
904 |
+
*/
|
905 |
+
$output = apply_filters( "woo_feed_get_{$this->config['provider']}_{$attribute}_attribute", $output, $product, $this->config );
|
906 |
+
|
907 |
+
/**
|
908 |
+
* Filter attribute value before return based on attribute name
|
909 |
+
*
|
910 |
+
* @since 3.3.5
|
911 |
+
*
|
912 |
+
* @param string $output the output
|
913 |
+
* @param WC_Product|WC_Product_Variable|WC_Product_Variation|WC_Product_Grouped|WC_Product_External|WC_Product_Composite $product Product Object.
|
914 |
+
* @param array feed config/rule
|
915 |
+
*/
|
916 |
+
return apply_filters( "woo_feed_get_{$attribute}_attribute", $output, $product, $this->config );
|
917 |
}
|
918 |
|
919 |
|
1144 |
$id = $product->get_parent_id();
|
1145 |
}
|
1146 |
|
1147 |
+
$separator = apply_filters( 'woo_feed_product_type_separator', '>', $this->config, $product );
|
1148 |
+
|
1149 |
+
return wp_strip_all_tags( wc_get_product_category_list( $id, $separator, '' ) );
|
1150 |
}
|
1151 |
|
1152 |
/**
|
1155 |
*
|
1156 |
* @param WC_Product $product
|
1157 |
*
|
1158 |
+
* @return string
|
1159 |
*/
|
1160 |
private function link( $product ) {
|
1161 |
$utm = $this->config['campaign_parameters'];
|
1178 |
*
|
1179 |
* @param WC_Product $product
|
1180 |
*
|
1181 |
+
* @return string
|
1182 |
*/
|
1183 |
private function ex_link( $product ) {
|
1184 |
if ( $product->is_type( 'external' ) ) {
|
includes/classes/class-woo-feed-savefile.php
CHANGED
@@ -9,73 +9,82 @@
|
|
9 |
* @author Ohidul Islam <wahid@webappick.com>
|
10 |
*/
|
11 |
class Woo_Feed_Savefile {
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Check if the directory for feed file exist or not and make directory
|
15 |
-
*
|
16 |
-
* @param $path
|
17 |
-
* @return bool
|
18 |
-
*/
|
19 |
-
public function checkDir( $path ) {
|
20 |
-
if ( ! file_exists($path) ) {
|
21 |
-
return wp_mkdir_p($path);
|
22 |
-
}
|
23 |
-
return true;
|
24 |
-
}
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Save CSV Feed file
|
28 |
-
*
|
29 |
-
* @param $path
|
30 |
-
* @param $file
|
31 |
-
* @param $content
|
32 |
-
* @param $info
|
33 |
-
* @return bool
|
34 |
-
*/
|
35 |
-
public function saveCSVFile( $path, $file, $content, $info ) {
|
36 |
-
if ( $this->checkDir($path) ) {
|
37 |
-
/**
|
38 |
-
* @TODO see below
|
39 |
-
* @see Woo_Feed_Savefile::saveFile()
|
40 |
-
*/
|
41 |
-
if ( file_exists( $file ) ) unlink( $file ); // phpcs:ignore
|
42 |
-
|
43 |
-
$fp = fopen($file, "wb"); // phpcs:ignore
|
44 |
-
|
45 |
-
if ( 'tab' == $info['delimiter'] ) {
|
46 |
-
$delimiter = "\t";
|
47 |
-
} else {
|
48 |
-
$delimiter = $info['delimiter'];
|
49 |
-
}
|
50 |
-
|
51 |
-
$enclosure = $info['enclosure'];
|
52 |
-
if ( count( $content ) ) {
|
53 |
-
foreach ( $content as $fields ) {
|
54 |
-
if ( 'double' == $enclosure ) {
|
55 |
-
fputcsv( $fp, $fields, $delimiter, chr( 34 ) ); // phpcs:ignore
|
56 |
-
} elseif ( 'single' == $enclosure ) {
|
57 |
-
fputcsv( $fp, $fields, $delimiter, chr( 39 ) ); // phpcs:ignore
|
58 |
-
} else {
|
59 |
-
fputs( $fp, implode( $fields, $delimiter ) . "\n" ); // phpcs:ignore
|
60 |
-
}
|
61 |
-
}
|
62 |
-
}
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
public function saveFile( $path, $file, $content ) {
|
80 |
/**
|
81 |
* @TODO use WP Filesystem API
|
@@ -89,10 +98,10 @@ class Woo_Feed_Savefile {
|
|
89 |
if ( file_exists( $file ) ) {
|
90 |
unlink( $file ); // phpcs:ignore
|
91 |
}
|
92 |
-
$fp = fopen( $file,
|
93 |
fwrite( $fp, $content ); // phpcs:ignore
|
94 |
fclose( $fp ); // phpcs:ignore
|
95 |
-
|
96 |
return true;
|
97 |
} else {
|
98 |
return false;
|
9 |
* @author Ohidul Islam <wahid@webappick.com>
|
10 |
*/
|
11 |
class Woo_Feed_Savefile {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
+
/**
|
14 |
+
* Check if the directory for feed file exist or not and make directory
|
15 |
+
*
|
16 |
+
* @param $path
|
17 |
+
* @return bool
|
18 |
+
*/
|
19 |
+
public function checkDir( $path ) {
|
20 |
+
if ( ! file_exists($path) ) {
|
21 |
+
return wp_mkdir_p($path);
|
22 |
+
}
|
23 |
+
return true;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Save CSV Feed file
|
28 |
+
*
|
29 |
+
* @param $path
|
30 |
+
* @param $file
|
31 |
+
* @param $content
|
32 |
+
* @param $info
|
33 |
+
*
|
34 |
+
* @return bool
|
35 |
+
*/
|
36 |
+
public function saveCSVFile( $path, $file, $content, $info ) {
|
37 |
+
if ( $this->checkDir( $path ) ) {
|
38 |
+
/**
|
39 |
+
* @TODO see below
|
40 |
+
* @see Woo_Feed_Savefile::saveFile()
|
41 |
+
*/
|
42 |
+
if ( file_exists( $file ) ) {
|
43 |
+
unlink( $file ); // phpcs:ignore
|
44 |
+
}
|
45 |
+
|
46 |
+
$fp = fopen( $file, 'wb' ); // phpcs:ignore
|
47 |
+
|
48 |
+
if ( 'tab' == $info['delimiter'] ) {
|
49 |
+
$delimiter = "\t";
|
50 |
+
} else {
|
51 |
+
$delimiter = $info['delimiter'];
|
52 |
+
}
|
53 |
+
|
54 |
+
$enclosure = $info['enclosure'];
|
55 |
+
$eol = PHP_EOL;
|
56 |
+
if ( 'trovaprezzi' === $info['provider'] ) {
|
57 |
+
$eol = '<endrecord>' . PHP_EOL;
|
58 |
+
}
|
59 |
+
if ( count( $content ) ) {
|
60 |
+
foreach ( $content as $fields ) {
|
61 |
+
if ( 'double' == $enclosure ) {
|
62 |
+
fputcsv( $fp, $fields, $delimiter, chr( 34 ) ); // phpcs:ignore
|
63 |
+
} elseif ( 'single' == $enclosure ) {
|
64 |
+
fputcsv( $fp, $fields, $delimiter, chr( 39 ) ); // phpcs:ignore
|
65 |
+
} else {
|
66 |
+
fputs( $fp, implode( $delimiter, $fields ) . $eol ); // phpcs:ignore
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
fclose( $fp ); // phpcs:ignore
|
72 |
+
|
73 |
+
return true;
|
74 |
+
} else {
|
75 |
+
return false;
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Save XML and TXT File
|
81 |
+
*
|
82 |
+
* @param $path
|
83 |
+
* @param $file
|
84 |
+
* @param $content
|
85 |
+
*
|
86 |
+
* @return bool
|
87 |
+
*/
|
88 |
public function saveFile( $path, $file, $content ) {
|
89 |
/**
|
90 |
* @TODO use WP Filesystem API
|
98 |
if ( file_exists( $file ) ) {
|
99 |
unlink( $file ); // phpcs:ignore
|
100 |
}
|
101 |
+
$fp = fopen( $file, 'w+' ); // phpcs:ignore
|
102 |
fwrite( $fp, $content ); // phpcs:ignore
|
103 |
fclose( $fp ); // phpcs:ignore
|
104 |
+
|
105 |
return true;
|
106 |
} else {
|
107 |
return false;
|
includes/helper.php
CHANGED
@@ -296,8 +296,6 @@ if ( ! function_exists( 'woo_feed_get_merchant_class' ) ) {
|
|
296 |
return 'Woo_Feed_Facebook';
|
297 |
} elseif ( strpos( $provider, 'amazon' ) !== false ) {
|
298 |
return 'Woo_Feed_Amazon';
|
299 |
-
} elseif ( in_array( $provider, woo_feed_get_custom2_merchant() ) ) {
|
300 |
-
return 'Woo_Feed_Custom_XML';
|
301 |
} else {
|
302 |
return 'Woo_Feed_Custom';
|
303 |
}
|
@@ -359,6 +357,29 @@ if ( ! function_exists( 'woo_feed_get_file_types' ) ) {
|
|
359 |
);
|
360 |
}
|
361 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
|
363 |
// The Editor.
|
364 |
if ( ! function_exists( 'woo_feed_get_custom2_merchant' ) ) {
|
@@ -375,11 +396,17 @@ if ( ! function_exists( 'woo_feed_parse_feed_rules' ) ) {
|
|
375 |
* Parse Feed Config/Rules to make sure that necessary array keys are exists
|
376 |
* this will reduce the uses of isset() checking
|
377 |
*
|
378 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
379 |
*
|
380 |
* @return array
|
381 |
*/
|
382 |
-
function woo_feed_parse_feed_rules( $rules = [] ) {
|
|
|
383 |
if ( empty( $rules ) ) {
|
384 |
$rules = [];
|
385 |
}
|
@@ -399,10 +426,21 @@ if ( ! function_exists( 'woo_feed_parse_feed_rules' ) ) {
|
|
399 |
'variable_quantity' => 'first',
|
400 |
'feedLanguage' => apply_filters( 'wpml_current_language', null ),
|
401 |
'feedCurrency' => get_woocommerce_currency(),
|
|
|
|
|
402 |
'delimiter' => ',',
|
403 |
'enclosure' => 'double',
|
404 |
'extraHeader' => '',
|
405 |
'vendors' => [],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
// filters tab
|
407 |
'composite_price' => '',
|
408 |
'product_ids' => '',
|
@@ -411,22 +449,22 @@ if ( ! function_exists( 'woo_feed_parse_feed_rules' ) ) {
|
|
411 |
'filter_mode' => [],
|
412 |
'campaign_parameters' => [],
|
413 |
'is_outOfStock' => 'n',
|
414 |
-
'product_visibility' => 0,
|
415 |
-
|
|
|
|
|
416 |
'ptitle_show' => '',
|
417 |
'decimal_separator' => wc_get_price_decimal_separator(),
|
418 |
'thousand_separator' => wc_get_price_thousand_separator(),
|
419 |
'decimals' => wc_get_price_decimals(),
|
420 |
];
|
421 |
$rules = wp_parse_args( $rules, $defaults );
|
422 |
-
$rules['filter_mode'] = wp_parse_args(
|
423 |
-
$rules['filter_mode'],
|
424 |
[
|
425 |
'product_ids' => 'include',
|
426 |
'categories' => 'include',
|
427 |
'post_status' => 'include',
|
428 |
-
]
|
429 |
-
);
|
430 |
|
431 |
$rules['campaign_parameters'] = wp_parse_args(
|
432 |
$rules['campaign_parameters'],
|
@@ -439,7 +477,29 @@ if ( ! function_exists( 'woo_feed_parse_feed_rules' ) ) {
|
|
439 |
]
|
440 |
);
|
441 |
|
442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
}
|
444 |
}
|
445 |
if ( ! function_exists( 'register_and_do_woo_feed_meta_boxes' ) ) {
|
@@ -490,10 +550,10 @@ if ( ! function_exists( 'woo_feed_ajax_merchant_info' ) ) {
|
|
490 |
if ( isset( $_REQUEST['nonce'] ) && wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ),
|
491 |
'wpf_feed_nonce' ) ) {
|
492 |
$provider = ( isset( $_REQUEST['provider'] ) && ! empty( $_REQUEST['provider'] ) ) ? sanitize_text_field( $_REQUEST['provider'] ) : '';
|
493 |
-
$merchantInfo = new Woo_Feed_Merchant();
|
494 |
$data = [];
|
495 |
$na = esc_html__( 'N/A', 'woo-feed' );
|
496 |
-
foreach ( $merchantInfo->
|
497 |
if ( 'link' == $k ) {
|
498 |
/** @noinspection HtmlUnknownTarget */
|
499 |
$data[ $k ] = empty( $v ) ? $na : sprintf( '<a href="%s" target="_blank">%s</a>',
|
@@ -542,11 +602,11 @@ if ( ! function_exists( 'woo_feed_merchant_info_metabox' ) ) {
|
|
542 |
*/
|
543 |
function woo_feed_merchant_info_metabox( $feedConfig ) {
|
544 |
$provider = ( isset( $feedConfig['provider'] ) && ! empty( $feedConfig['provider'] ) ) ? $feedConfig['provider'] : '';
|
545 |
-
$merchantInfo = new Woo_Feed_Merchant();
|
546 |
?>
|
547 |
<span class="spinner"></span>
|
548 |
<div class="merchant-infos">
|
549 |
-
<?php foreach ( $merchantInfo->
|
550 |
<div class="merchant-info-section <?php echo esc_attr( $k ); ?>">
|
551 |
<?php if ( 'link' == $k ) { ?>
|
552 |
<span class="dashicons dashicons-media-document" style="color: #82878c;" aria-hidden="true"></span>
|
@@ -651,8 +711,6 @@ if ( ! function_exists( 'render_feed_config' ) ) {
|
|
651 |
} else {
|
652 |
if ( 'smartly.io' == $provider ) {
|
653 |
include WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/google_add-feed.php';
|
654 |
-
} elseif ( in_array( $provider, woo_feed_get_custom2_merchant() ) ) {
|
655 |
-
include WOO_FEED_FREE_ADMIN_PATH . "partials/templates/custom2_add-feed.php";
|
656 |
} elseif ( file_exists( WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $provider . '_add-feed.php' ) ) {
|
657 |
include WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $provider . '_add-feed.php';
|
658 |
} else {
|
@@ -1655,7 +1713,7 @@ if ( ! function_exists( 'woo_feed_apply_tax_location_data' ) ) {
|
|
1655 |
}
|
1656 |
}
|
1657 |
|
1658 |
-
//
|
1659 |
if ( ! function_exists( 'woo_feed_apply_hooks_before_product_loop' ) ) {
|
1660 |
/**
|
1661 |
* Apply Hooks Before Looping through ProductIds
|
@@ -1666,7 +1724,6 @@ if ( ! function_exists( 'woo_feed_apply_hooks_before_product_loop' ) ) {
|
|
1666 |
add_filter( 'woocommerce_get_tax_location', 'woo_feed_apply_tax_location_data', 10, 3 );
|
1667 |
}
|
1668 |
}
|
1669 |
-
|
1670 |
if ( ! function_exists( 'woo_feed_remove_hooks_before_product_loop' ) ) {
|
1671 |
/**
|
1672 |
* Remove Applied Hooks Looping through ProductIds
|
@@ -1679,5 +1736,82 @@ if ( ! function_exists( 'woo_feed_remove_hooks_before_product_loop' ) ) {
|
|
1679 |
remove_filter( 'woocommerce_get_tax_location', 'woo_feed_apply_tax_location_data', 10 );
|
1680 |
}
|
1681 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1682 |
|
1683 |
// End of file helper.php.
|
296 |
return 'Woo_Feed_Facebook';
|
297 |
} elseif ( strpos( $provider, 'amazon' ) !== false ) {
|
298 |
return 'Woo_Feed_Amazon';
|
|
|
|
|
299 |
} else {
|
300 |
return 'Woo_Feed_Custom';
|
301 |
}
|
357 |
);
|
358 |
}
|
359 |
}
|
360 |
+
if ( ! function_exists( 'woo_feed_get_default_brand' ) ) {
|
361 |
+
/**
|
362 |
+
* Guess Brand name from Site URL
|
363 |
+
* @return string
|
364 |
+
*/
|
365 |
+
function woo_feed_get_default_brand() {
|
366 |
+
$brand = apply_filters( 'woo_feed_pre_get_default_brand_name', null );
|
367 |
+
if ( ! is_null( $brand ) ) {
|
368 |
+
return $brand;
|
369 |
+
}
|
370 |
+
$brand = '';
|
371 |
+
$url = filter_var( site_url(), FILTER_SANITIZE_URL );
|
372 |
+
if ( false !== $url ) {
|
373 |
+
$url = wp_parse_url( $url );
|
374 |
+
if ( array_key_exists( 'host', $url ) ) {
|
375 |
+
$arr = explode( '.', $url['host'] );
|
376 |
+
$brand = $arr[ count( $arr ) - 2 ];
|
377 |
+
$brand = ucfirst( $brand );
|
378 |
+
}
|
379 |
+
}
|
380 |
+
return apply_filters( 'woo_feed_get_default_brand_name', $brand );
|
381 |
+
}
|
382 |
+
}
|
383 |
|
384 |
// The Editor.
|
385 |
if ( ! function_exists( 'woo_feed_get_custom2_merchant' ) ) {
|
396 |
* Parse Feed Config/Rules to make sure that necessary array keys are exists
|
397 |
* this will reduce the uses of isset() checking
|
398 |
*
|
399 |
+
* @uses wp_parse_args
|
400 |
+
*
|
401 |
+
* @since 3.3.5 $context parameter added.
|
402 |
+
*
|
403 |
+
* @param array $rules rules to parse.
|
404 |
+
* @param string $context parsing context. useful for filtering, view, save, db, create etc.
|
405 |
*
|
406 |
* @return array
|
407 |
*/
|
408 |
+
function woo_feed_parse_feed_rules( $rules = [], $context = 'view' ) {
|
409 |
+
|
410 |
if ( empty( $rules ) ) {
|
411 |
$rules = [];
|
412 |
}
|
426 |
'variable_quantity' => 'first',
|
427 |
'feedLanguage' => apply_filters( 'wpml_current_language', null ),
|
428 |
'feedCurrency' => get_woocommerce_currency(),
|
429 |
+
'itemsWrapper' => 'products',
|
430 |
+
'itemWrapper' => 'product',
|
431 |
'delimiter' => ',',
|
432 |
'enclosure' => 'double',
|
433 |
'extraHeader' => '',
|
434 |
'vendors' => [],
|
435 |
+
// Feed Config
|
436 |
+
'mattributes' => [], // merchant attributes
|
437 |
+
'prefix' => [], // prefixes
|
438 |
+
'type' => [], // value (attribute) types
|
439 |
+
'attributes' => [], // product attribute mappings
|
440 |
+
'default' => [], // default values (patterns) if value type set to pattern
|
441 |
+
'suffix' => [], // suffixes
|
442 |
+
'output_type' => [], // output type (output filter)
|
443 |
+
'limit' => [], // limit or command
|
444 |
// filters tab
|
445 |
'composite_price' => '',
|
446 |
'product_ids' => '',
|
449 |
'filter_mode' => [],
|
450 |
'campaign_parameters' => [],
|
451 |
'is_outOfStock' => 'n',
|
452 |
+
'product_visibility' => 0,
|
453 |
+
// include hidden ? 1 yes 0 no
|
454 |
+
'outofstock_visibility' => 0,
|
455 |
+
// override wc global option for out-of-stock product hidden from catalog? 1 yes 0 no
|
456 |
'ptitle_show' => '',
|
457 |
'decimal_separator' => wc_get_price_decimal_separator(),
|
458 |
'thousand_separator' => wc_get_price_thousand_separator(),
|
459 |
'decimals' => wc_get_price_decimals(),
|
460 |
];
|
461 |
$rules = wp_parse_args( $rules, $defaults );
|
462 |
+
$rules['filter_mode'] = wp_parse_args( $rules['filter_mode'],
|
|
|
463 |
[
|
464 |
'product_ids' => 'include',
|
465 |
'categories' => 'include',
|
466 |
'post_status' => 'include',
|
467 |
+
] );
|
|
|
468 |
|
469 |
$rules['campaign_parameters'] = wp_parse_args(
|
470 |
$rules['campaign_parameters'],
|
477 |
]
|
478 |
);
|
479 |
|
480 |
+
if ( ! empty( $rules['provider'] ) && is_string( $rules['provider'] ) ) {
|
481 |
+
/**
|
482 |
+
* filter parsed rules for provider
|
483 |
+
*
|
484 |
+
* @since 3.3.7
|
485 |
+
*
|
486 |
+
* @param array $rules
|
487 |
+
* @param string $context
|
488 |
+
*
|
489 |
+
*/
|
490 |
+
$rules = apply_filters( "woo_feed_{$rules['provider']}_parsed_rules", $rules, $context );
|
491 |
+
}
|
492 |
+
|
493 |
+
/**
|
494 |
+
* filter parsed rules
|
495 |
+
*
|
496 |
+
* @since 3.3.7 $provider parameter removed
|
497 |
+
*
|
498 |
+
* @param array $rules
|
499 |
+
* @param string $context
|
500 |
+
*
|
501 |
+
*/
|
502 |
+
return apply_filters( 'woo_feed_parsed_rules', $rules, $context );
|
503 |
}
|
504 |
}
|
505 |
if ( ! function_exists( 'register_and_do_woo_feed_meta_boxes' ) ) {
|
550 |
if ( isset( $_REQUEST['nonce'] ) && wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ),
|
551 |
'wpf_feed_nonce' ) ) {
|
552 |
$provider = ( isset( $_REQUEST['provider'] ) && ! empty( $_REQUEST['provider'] ) ) ? sanitize_text_field( $_REQUEST['provider'] ) : '';
|
553 |
+
$merchantInfo = new Woo_Feed_Merchant( $provider );
|
554 |
$data = [];
|
555 |
$na = esc_html__( 'N/A', 'woo-feed' );
|
556 |
+
foreach ( $merchantInfo->get_info() as $k => $v ) {
|
557 |
if ( 'link' == $k ) {
|
558 |
/** @noinspection HtmlUnknownTarget */
|
559 |
$data[ $k ] = empty( $v ) ? $na : sprintf( '<a href="%s" target="_blank">%s</a>',
|
602 |
*/
|
603 |
function woo_feed_merchant_info_metabox( $feedConfig ) {
|
604 |
$provider = ( isset( $feedConfig['provider'] ) && ! empty( $feedConfig['provider'] ) ) ? $feedConfig['provider'] : '';
|
605 |
+
$merchantInfo = new Woo_Feed_Merchant( $provider );
|
606 |
?>
|
607 |
<span class="spinner"></span>
|
608 |
<div class="merchant-infos">
|
609 |
+
<?php foreach ( $merchantInfo->get_info() as $k => $v ) { ?>
|
610 |
<div class="merchant-info-section <?php echo esc_attr( $k ); ?>">
|
611 |
<?php if ( 'link' == $k ) { ?>
|
612 |
<span class="dashicons dashicons-media-document" style="color: #82878c;" aria-hidden="true"></span>
|
711 |
} else {
|
712 |
if ( 'smartly.io' == $provider ) {
|
713 |
include WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/google_add-feed.php';
|
|
|
|
|
714 |
} elseif ( file_exists( WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $provider . '_add-feed.php' ) ) {
|
715 |
include WOO_FEED_FREE_ADMIN_PATH . 'partials/templates/' . $provider . '_add-feed.php';
|
716 |
} else {
|
1713 |
}
|
1714 |
}
|
1715 |
|
1716 |
+
// Hook feed generating process...
|
1717 |
if ( ! function_exists( 'woo_feed_apply_hooks_before_product_loop' ) ) {
|
1718 |
/**
|
1719 |
* Apply Hooks Before Looping through ProductIds
|
1724 |
add_filter( 'woocommerce_get_tax_location', 'woo_feed_apply_tax_location_data', 10, 3 );
|
1725 |
}
|
1726 |
}
|
|
|
1727 |
if ( ! function_exists( 'woo_feed_remove_hooks_before_product_loop' ) ) {
|
1728 |
/**
|
1729 |
* Remove Applied Hooks Looping through ProductIds
|
1736 |
remove_filter( 'woocommerce_get_tax_location', 'woo_feed_apply_tax_location_data', 10 );
|
1737 |
}
|
1738 |
}
|
1739 |
+
if ( ! function_exists( 'woo_feed_product_type_separator' ) ) {
|
1740 |
+
/**
|
1741 |
+
* Filter Product local category (type) separator
|
1742 |
+
* @param string $separator
|
1743 |
+
* @param array $config
|
1744 |
+
*
|
1745 |
+
* @return string
|
1746 |
+
*/
|
1747 |
+
function woo_feed_product_type_separator( $separator, $config ) {
|
1748 |
+
if ( 'trovaprezzi' === $config['provider'] ) $separator = ',';
|
1749 |
+
return $separator;
|
1750 |
+
}
|
1751 |
+
}
|
1752 |
+
if ( ! function_exists( 'woo_feed_get_trovaprezzi_availability_attribute_filter' ) ) {
|
1753 |
+
/**
|
1754 |
+
* Filter Product Availability Attribute Output For Trovaprezzi.it Template
|
1755 |
+
* @param string $output
|
1756 |
+
* @param WC_Product $product
|
1757 |
+
*
|
1758 |
+
* @return int
|
1759 |
+
*/
|
1760 |
+
function woo_feed_get_trovaprezzi_availability_attribute_filter( $output, $product ) {
|
1761 |
+
$status = $product->get_stock_status();
|
1762 |
+
$output = 2;
|
1763 |
+
if ( $status ) {
|
1764 |
+
if ( 'instock' == $status ) {
|
1765 |
+
$output = 2;
|
1766 |
+
} elseif ( 'outofstock' == $status ) {
|
1767 |
+
$output = 0;
|
1768 |
+
} elseif ( 'onbackorder' == $status ) {
|
1769 |
+
$output = 1;
|
1770 |
+
}
|
1771 |
+
}
|
1772 |
+
return $output;
|
1773 |
+
}
|
1774 |
+
}
|
1775 |
+
|
1776 |
+
// Parse feed rules.
|
1777 |
+
if ( ! function_exists( 'woo_feed_filter_parsed_trovaprezzi_rules' ) ) {
|
1778 |
+
/**
|
1779 |
+
* Filter Feed parsed rules for trovaprezzi.it
|
1780 |
+
* @since 3.3.7
|
1781 |
+
* @param array $rules
|
1782 |
+
* @param string $context
|
1783 |
+
*
|
1784 |
+
* @return array
|
1785 |
+
*/
|
1786 |
+
function woo_feed_filter_parsed_trovaprezzi_rules( $rules, $context ) {
|
1787 |
+
if ( 'create' === $context ) {
|
1788 |
+
$rules['decimal_separator'] = ',';
|
1789 |
+
$rules['thousand_separator'] = '';
|
1790 |
+
$rules['decimals'] = 2;
|
1791 |
+
$rules['itemsWrapper'] = 'Products';
|
1792 |
+
$rules['itemWrapper'] = 'Offer';
|
1793 |
+
$rules['delimiter'] = '|';
|
1794 |
+
$rules['enclosure'] = ' ';
|
1795 |
+
}
|
1796 |
+
return $rules;
|
1797 |
+
}
|
1798 |
+
}
|
1799 |
+
if ( ! function_exists( 'woo_feed_filter_parsed_criteo_rules' ) ) {
|
1800 |
+
/**
|
1801 |
+
* Filter Feed parsed rules for criteo
|
1802 |
+
* @since 3.3.7
|
1803 |
+
* @param array $rules
|
1804 |
+
* @param string $context
|
1805 |
+
*
|
1806 |
+
* @return array
|
1807 |
+
*/
|
1808 |
+
function woo_feed_filter_parsed_criteo_rules( $rules, $context ) {
|
1809 |
+
if ( 'create' === $context ) {
|
1810 |
+
$rules['itemsWrapper'] = 'channel';
|
1811 |
+
$rules['itemWrapper'] = 'item';
|
1812 |
+
}
|
1813 |
+
return $rules;
|
1814 |
+
}
|
1815 |
+
}
|
1816 |
|
1817 |
// End of file helper.php.
|
includes/hooks.php
CHANGED
@@ -14,6 +14,18 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
}
|
15 |
/** @define "WOO_FEED_ADMIN_PATH" "./../admin/" */ // phpcs:ignore
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
add_action( 'woo_feed_before_product_loop', 'woo_feed_apply_hooks_before_product_loop', 10, 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
add_action( 'woo_feed_after_product_loop', 'woo_feed_remove_hooks_before_product_loop', 10, 1 );
|
|
|
19 |
// End of file hooks.php.
|
14 |
}
|
15 |
/** @define "WOO_FEED_ADMIN_PATH" "./../admin/" */ // phpcs:ignore
|
16 |
|
17 |
+
// The Editor.
|
18 |
+
add_filter( 'woo_feed_trovaprezzi_parsed_rules', 'woo_feed_filter_parsed_trovaprezzi_rules', 10, 2 );
|
19 |
+
add_filter( 'woo_feed_criteo_parsed_rules', 'woo_feed_filter_parsed_criteo_rules', 10, 2 );
|
20 |
+
|
21 |
+
// Product Loop Start.
|
22 |
add_action( 'woo_feed_before_product_loop', 'woo_feed_apply_hooks_before_product_loop', 10, 1 );
|
23 |
+
|
24 |
+
// In The Loop
|
25 |
+
add_filter( 'woo_feed_product_type_separator', 'woo_feed_product_type_separator', 10, 2 );
|
26 |
+
add_filter( 'woo_feed_get_trovaprezzi_availability_attribute', 'woo_feed_get_trovaprezzi_availability_attribute_filter', 10, 2 );
|
27 |
+
|
28 |
+
// Product Loop End.
|
29 |
add_action( 'woo_feed_after_product_loop', 'woo_feed_remove_hooks_before_product_loop', 10, 1 );
|
30 |
+
|
31 |
// End of file hooks.php.
|
woo-feed.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines
|
13 |
* like Google Shopping, Facebook Product Feed, eBay, Amazon, Idealo and many more.
|
14 |
*
|
15 |
-
* Version: 3.3.
|
16 |
* Author: WebAppick
|
17 |
* Author URI: https://webappick.com/
|
18 |
* License: GPL v2
|
@@ -40,7 +40,7 @@ if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
|
|
40 |
* @var string
|
41 |
* @since 3.1.6
|
42 |
*/
|
43 |
-
define( 'WOO_FEED_FREE_VERSION', '3.3.
|
44 |
}
|
45 |
|
46 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
@@ -695,13 +695,23 @@ if ( ! function_exists( 'feed_merchant_view' ) ) {
|
|
695 |
wp_send_json_error( esc_html__( 'Invalid Merchant', 'woo-feed' ) );
|
696 |
wp_die();
|
697 |
}
|
698 |
-
$
|
|
|
|
|
699 |
$wooFeedDropDown = new Woo_Feed_Dropdown();
|
700 |
$wooFeedProduct = new Woo_Feed_Products();
|
701 |
$attributes = new Woo_Feed_Default_Attributes();
|
702 |
ob_start();
|
703 |
require_once WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-edit-tabs.php';
|
704 |
-
wp_send_json_success(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
wp_die();
|
706 |
}
|
707 |
}
|
12 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines
|
13 |
* like Google Shopping, Facebook Product Feed, eBay, Amazon, Idealo and many more.
|
14 |
*
|
15 |
+
* Version: 3.3.4
|
16 |
* Author: WebAppick
|
17 |
* Author URI: https://webappick.com/
|
18 |
* License: GPL v2
|
40 |
* @var string
|
41 |
* @since 3.1.6
|
42 |
*/
|
43 |
+
define( 'WOO_FEED_FREE_VERSION', '3.3.4' );
|
44 |
}
|
45 |
|
46 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
695 |
wp_send_json_error( esc_html__( 'Invalid Merchant', 'woo-feed' ) );
|
696 |
wp_die();
|
697 |
}
|
698 |
+
$merchant = new Woo_Feed_Merchant( $provider );
|
699 |
+
$feedRules = $merchant->get_template();
|
700 |
+
|
701 |
$wooFeedDropDown = new Woo_Feed_Dropdown();
|
702 |
$wooFeedProduct = new Woo_Feed_Products();
|
703 |
$attributes = new Woo_Feed_Default_Attributes();
|
704 |
ob_start();
|
705 |
require_once WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-edit-tabs.php';
|
706 |
+
wp_send_json_success( [
|
707 |
+
'tabs' => ob_get_clean(),
|
708 |
+
'feedType' => strtolower( $merchant->get_feed_types( true ) ),
|
709 |
+
'itemsWrapper' => $feedRules['itemsWrapper'],
|
710 |
+
'itemWrapper' => $feedRules['itemWrapper'],
|
711 |
+
'delimiter' => $feedRules['delimiter'],
|
712 |
+
'enclosure' => $feedRules['enclosure'],
|
713 |
+
'extraHeader' => $feedRules['extraHeader'],
|
714 |
+
] );
|
715 |
wp_die();
|
716 |
}
|
717 |
}
|