Version Description
- New: GdeSlon module.
- New: Price alert subscription report: added delete URL and unsubscribe URL.
- Fix: Dublicate images during update by keyword.
- Fix: Currency converter to EUR.
Download this release
Release Info
Developer | keywordrush |
Plugin | ![]() |
Version | 4.5.0 |
Comparing to | |
See all releases |
Code changes from version 4.4.3 to 4.5.0
- application/Plugin.php +1 -1
- application/PriceAlert.php +26 -4
- application/WooIntegrator.php +2 -2
- application/admin/AeIntegrationConfig.php +1 -1
- application/admin/GeneralConfig.php +1 -1
- application/admin/PluginAdmin.php +5 -1
- application/admin/ToolsController.php +15 -0
- application/components/ContentManager.php +1 -0
- application/components/FeaturedImage.php +3 -1
- application/components/ParserModule.php +10 -3
- application/helpers/CurrencyHelper.php +15 -6
- application/helpers/TextHelper.php +5 -1
- application/libs/gdeslon/GdeSlonApi.php +110 -0
- application/models/AutoblogModel.php +3 -0
- application/modules/AE/AEModule.php +3 -1
- application/modules/Amazon/AmazonModule.php +0 -2
- application/modules/GdeSlon/ExtraDataGdeSlon.php +23 -0
- application/modules/GdeSlon/GdeSlonConfig.php +131 -0
- application/modules/GdeSlon/GdeSlonModule.php +259 -0
- application/modules/GdeSlon/index.php +3 -0
- application/modules/GdeSlon/templates/data_grid.php +9 -0
- application/modules/GdeSlon/templates/data_item.php +9 -0
- application/modules/GdeSlon/templates/data_list.php +8 -0
- application/modules/GdeSlon/templates/data_price_tracker_alert.php +9 -0
- application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php +12 -1
- content-egg.php +2 -2
- languages/content-egg.pot +199 -68
- languages/tpl/content-egg-tpl.pot +54 -38
- readme.txt +10 -4
- res/bootstrap/css/egg-bootstrap.css +6 -0
- res/css/admin.css +4 -0
- res/logos/bol-com.png +0 -0
- res/logos/ebay-co-uk.png +0 -0
- res/logos/ebay-de.png +0 -0
- res/logos/ebay-fr.png +0 -0
application/Plugin.php
CHANGED
@@ -14,7 +14,7 @@ use ContentEgg\application\helpers\CurrencyHelper;
|
|
14 |
*/
|
15 |
class Plugin {
|
16 |
|
17 |
-
const version = '4.
|
18 |
const db_version = 36;
|
19 |
const wp_requires = '4.6.0';
|
20 |
const slug = 'content-egg';
|
14 |
*/
|
15 |
class Plugin {
|
16 |
|
17 |
+
const version = '4.5.0';
|
18 |
const db_version = 36;
|
19 |
const wp_requires = '4.6.0';
|
20 |
const slug = 'content-egg';
|
application/PriceAlert.php
CHANGED
@@ -33,6 +33,7 @@ class PriceAlert {
|
|
33 |
|
34 |
private function __construct()
|
35 |
{
|
|
|
36 |
}
|
37 |
|
38 |
public function init()
|
@@ -177,6 +178,9 @@ class PriceAlert {
|
|
177 |
case 'unsubscribe':
|
178 |
$this->actionUnsubscribeAll();
|
179 |
return;
|
|
|
|
|
|
|
180 |
default:
|
181 |
return;
|
182 |
}
|
@@ -218,6 +222,24 @@ class PriceAlert {
|
|
218 |
$this->openTickbox(__('You are now unsubscribed from our Price Alerts via email.', 'content-egg-tpl'), __('Unsubscribed!', 'content-egg-tpl'));
|
219 |
}
|
220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
public function openTickbox($message, $subject = "")
|
222 |
{
|
223 |
$this->tickbox_message = strip_tags($message);
|
@@ -242,10 +264,10 @@ class PriceAlert {
|
|
242 |
if (GeneralConfig::getInstance()->option('from_email'))
|
243 |
\add_filter('wp_mail_from', array(__CLASS__, 'setMailFrom'));
|
244 |
if (GeneralConfig::getInstance()->option('from_name'))
|
245 |
-
\add_filter('wp_mail_from_name', array(__CLASS__, 'setMailFromName'));
|
246 |
-
|
247 |
\wp_mail($to, $subject, $message, $headers, $attachments);
|
248 |
-
|
249 |
\remove_filter('wp_mail_content_type', 'setMailContentType');
|
250 |
\remove_filter('wp_mail_from', 'setMailFrom');
|
251 |
\remove_filter('wp_mail_from_name', 'setMailFromName');
|
@@ -255,7 +277,7 @@ class PriceAlert {
|
|
255 |
{
|
256 |
return 'text/html';
|
257 |
}
|
258 |
-
|
259 |
public static function setMailFrom()
|
260 |
{
|
261 |
return GeneralConfig::getInstance()->option('from_email');
|
33 |
|
34 |
private function __construct()
|
35 |
{
|
36 |
+
|
37 |
}
|
38 |
|
39 |
public function init()
|
178 |
case 'unsubscribe':
|
179 |
$this->actionUnsubscribeAll();
|
180 |
return;
|
181 |
+
case 'delete':
|
182 |
+
$this->actionDeleteSubscription();
|
183 |
+
return;
|
184 |
default:
|
185 |
return;
|
186 |
}
|
222 |
$this->openTickbox(__('You are now unsubscribed from our Price Alerts via email.', 'content-egg-tpl'), __('Unsubscribed!', 'content-egg-tpl'));
|
223 |
}
|
224 |
|
225 |
+
private function actionDeleteSubscription()
|
226 |
+
{
|
227 |
+
$email = strtolower(TextHelper::clearId(InputHelper::get('email', null)));
|
228 |
+
$key = TextHelper::clear(InputHelper::get('key', null));
|
229 |
+
|
230 |
+
$where = array(
|
231 |
+
'email = %s AND activkey = %s',
|
232 |
+
array($email, $key)
|
233 |
+
);
|
234 |
+
$alert = PriceAlertModel::model()->find(array('where' => $where));
|
235 |
+
if (!$alert)
|
236 |
+
return;
|
237 |
+
// save
|
238 |
+
PriceAlertModel::model()->delete($alert['id']);
|
239 |
+
// tickbox
|
240 |
+
$this->openTickbox(__('Your subscription has been deleted from our database.', 'content-egg-tpl'), __('Success!', 'content-egg-tpl'));
|
241 |
+
}
|
242 |
+
|
243 |
public function openTickbox($message, $subject = "")
|
244 |
{
|
245 |
$this->tickbox_message = strip_tags($message);
|
264 |
if (GeneralConfig::getInstance()->option('from_email'))
|
265 |
\add_filter('wp_mail_from', array(__CLASS__, 'setMailFrom'));
|
266 |
if (GeneralConfig::getInstance()->option('from_name'))
|
267 |
+
\add_filter('wp_mail_from_name', array(__CLASS__, 'setMailFromName'));
|
268 |
+
|
269 |
\wp_mail($to, $subject, $message, $headers, $attachments);
|
270 |
+
|
271 |
\remove_filter('wp_mail_content_type', 'setMailContentType');
|
272 |
\remove_filter('wp_mail_from', 'setMailFrom');
|
273 |
\remove_filter('wp_mail_from_name', 'setMailFromName');
|
277 |
{
|
278 |
return 'text/html';
|
279 |
}
|
280 |
+
|
281 |
public static function setMailFrom()
|
282 |
{
|
283 |
return GeneralConfig::getInstance()->option('from_email');
|
application/WooIntegrator.php
CHANGED
@@ -25,7 +25,7 @@ class WooIntegrator {
|
|
25 |
|
26 |
public static function initAction()
|
27 |
{
|
28 |
-
if (!
|
29 |
return;
|
30 |
|
31 |
\add_action('woocommerce_before_single_product', array(__CLASS__, 'touchEmptyPost'), 10);
|
@@ -155,7 +155,7 @@ class WooIntegrator {
|
|
155 |
|
156 |
if ($item['description'] && !$product->get_short_description())
|
157 |
{
|
158 |
-
if (!\apply_filters('cegg_dont_touch_short_description', false))
|
159 |
$product->set_short_description($item['description']);
|
160 |
}
|
161 |
|
25 |
|
26 |
public static function initAction()
|
27 |
{
|
28 |
+
if (!class_exists('\WooCommerce'))
|
29 |
return;
|
30 |
|
31 |
\add_action('woocommerce_before_single_product', array(__CLASS__, 'touchEmptyPost'), 10);
|
155 |
|
156 |
if ($item['description'] && !$product->get_short_description())
|
157 |
{
|
158 |
+
if (!\apply_filters('cegg_dont_touch_short_description', false))
|
159 |
$product->set_short_description($item['description']);
|
160 |
}
|
161 |
|
application/admin/AeIntegrationConfig.php
CHANGED
@@ -36,7 +36,7 @@ class AeIntegrationConfig extends Config {
|
|
36 |
if (!self::isAEIntegrationPosible())
|
37 |
return array();
|
38 |
|
39 |
-
$aff_egg_modules = \Keywordrush\AffiliateEgg\ShopManager::getInstance()->getSearchableItemsList(true, false,
|
40 |
return array(
|
41 |
'modules' => array(
|
42 |
'title' => __('Activate modules', 'content-egg'),
|
36 |
if (!self::isAEIntegrationPosible())
|
37 |
return array();
|
38 |
|
39 |
+
$aff_egg_modules = \Keywordrush\AffiliateEgg\ShopManager::getInstance()->getSearchableItemsList(true, false, false);
|
40 |
return array(
|
41 |
'modules' => array(
|
42 |
'title' => __('Activate modules', 'content-egg'),
|
application/admin/GeneralConfig.php
CHANGED
@@ -134,7 +134,7 @@ class GeneralConfig extends Config {
|
|
134 |
array(
|
135 |
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
136 |
'arg' => 365,
|
137 |
-
'message' => sprintf(__('The field "%s" can\'t be more than %d.', 'content-egg'), __('Price history', 'content-egg'),
|
138 |
),
|
139 |
),
|
140 |
'section' => __('Price alerts', 'content-egg'),
|
134 |
array(
|
135 |
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
136 |
'arg' => 365,
|
137 |
+
'message' => sprintf(__('The field "%s" can\'t be more than %d.', 'content-egg'), __('Price history', 'content-egg'), 365),
|
138 |
),
|
139 |
),
|
140 |
'section' => __('Price alerts', 'content-egg'),
|
application/admin/PluginAdmin.php
CHANGED
@@ -99,7 +99,11 @@ class PluginAdmin {
|
|
99 |
|
100 |
public function add_admin_menu()
|
101 |
{
|
102 |
-
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
public static function render($view_name, $_data = null)
|
99 |
|
100 |
public function add_admin_menu()
|
101 |
{
|
102 |
+
$icon_svg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA1dJREFUeNqNVElMU1EUfQShIIkYNUETBkUIRoNGRUwxYWMUQoxGwSnCBkIUcGRuS39/p99+OkBpy9gCZSodgIImQIACKtGtG+OGhIXRBFmQ4EKjpt77BVILDSzu4v/33rnnnnvuJTRNE/+QQFAQWoGIGCtrSZGeTeMPtDPZVlMpTVHEXFlDpBIJdy/w7RYgjHphHamSy2KSPLaXofPu73unHcthXtdq1Izz882WxnwNJJJSWwG3gOHFhxrVWfJ25Gfcq15vsVadIabpqGqF7MiVTnMVeTfqS+9v02trRYQOYPgfkEpUR14winiy4PFl9LbKdbVCwgJLOZSnFItJQ42APFErUyCR73KnqUIL59uCIW0E2zdpXzzltNrwoX8pGxJggkIde5EsjPgAOJGBNxJ/MPzALFkWY0norGtNXicmcjG1rcj4DxOlOiydcaM9MyiLBMrdBJNBGVKKCgn1utZutDTeD6QfCKaEZNVy2X4y5/5VWs8kM/DNgeEh6pJrbri1Z8a5isD4zYqChxqiuaKGnHBZB9P625o4dhtg9UIROTbSPX56sMOKmjxo0l7Na264nWcOHvkG7e0zDoslcmrwiwKYQWWEKEAbGoTmTTu+3THprmOJicPd49FTjqXoSXvQgEYtHZoY+Ai6vRbIpBFYKseqnFHEhMy6f0D9KagHWgGT7Cb04Dc5kMGp4Vr9SKM6iWAVjDwGL+C47BQySsI1LhfkeK5SxnHMtAIhecwyx8n80J+nauVR5XpndgoZJKUAFN757hl1OYZqASFoOpGUDoc2/75r1F3DsiW7AMOkIM9htEcZyyRpoFxuvtAKsaM9s/Ee27QeyqaDbAV/r+FWyWk3FKOdsJNocu4AfVOoZy+Q92O+gkZNJjp8Y3y2A1LAnGJFPK9zhd/bqtz0GXcBmOCP9L42DW4FAL6EgGqRmBMamWJgl1GGeribMtzl5HldK/A/bGP0NrPhUOMlfl8riwxTXVZbiUZ17t8CEBMVaETRkvACgyb74KT9A2/OvQIbJkEdOOibgOsMi3QsP2GsZzrC61o+MDHwCYz5JnasZwHMuhjpdX49b+8w18GO8wcKumkNUKIJ1vMzsEqmrUWUPNztSRnqcmVZTWXQ+ciW8hpOAipAz788QXuyosK+HQAAAABJRU5ErkJggg==';
|
103 |
+
$title = 'Content Egg';
|
104 |
+
if (Plugin::isPro())
|
105 |
+
$title .= ' Pro';
|
106 |
+
\add_menu_page($title, $title, 'publish_posts', Plugin::slug, null, $icon_svg);
|
107 |
}
|
108 |
|
109 |
public static function render($view_name, $_data = null)
|
application/admin/ToolsController.php
CHANGED
@@ -67,6 +67,21 @@ class ToolsController {
|
|
67 |
continue;
|
68 |
$csv_line[$key] = $s;
|
69 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
$csv_arr[] = $csv_line;
|
71 |
}
|
72 |
$filename = 'subscribers-' . date('d-m-Y') . '.csv';
|
67 |
continue;
|
68 |
$csv_line[$key] = $s;
|
69 |
}
|
70 |
+
|
71 |
+
$unsubscribe_all_url = \add_query_arg(array(
|
72 |
+
'ceggaction' => 'unsubscribe',
|
73 |
+
'email' => urlencode($subscriber['email']),
|
74 |
+
'key' => urlencode($subscriber['activkey']),
|
75 |
+
), \get_site_url());
|
76 |
+
$delete_url = \add_query_arg(array(
|
77 |
+
'ceggaction' => 'delete',
|
78 |
+
'email' => urlencode($subscriber['email']),
|
79 |
+
'key' => urlencode($subscriber['activkey']),
|
80 |
+
), \get_site_url());
|
81 |
+
|
82 |
+
$csv_line['unsubscribe_url'] = $unsubscribe_all_url;
|
83 |
+
$csv_line['delete_url'] = $delete_url;
|
84 |
+
|
85 |
$csv_arr[] = $csv_line;
|
86 |
}
|
87 |
$filename = 'subscribers-' . date('d-m-Y') . '.csv';
|
application/components/ContentManager.php
CHANGED
@@ -118,6 +118,7 @@ class ContentManager {
|
|
118 |
if (empty($d['img_file']))
|
119 |
continue;
|
120 |
$img_file = ImageHelper::getFullImgPath($d['img_file']);
|
|
|
121 |
if (is_file($img_file))
|
122 |
@unlink($img_file);
|
123 |
}
|
118 |
if (empty($d['img_file']))
|
119 |
continue;
|
120 |
$img_file = ImageHelper::getFullImgPath($d['img_file']);
|
121 |
+
|
122 |
if (is_file($img_file))
|
123 |
@unlink($img_file);
|
124 |
}
|
application/components/FeaturedImage.php
CHANGED
@@ -73,7 +73,7 @@ class FeaturedImage {
|
|
73 |
$img_file = self::getImgFile($d);
|
74 |
if (!$img_file)
|
75 |
continue;
|
76 |
-
|
77 |
return self::attachThumbnail($img_file, $post_id, $d['title']);
|
78 |
} //data foreach
|
79 |
|
@@ -116,6 +116,8 @@ class FeaturedImage {
|
|
116 |
|
117 |
public static function attachThumbnail($img_file, $post_id, $title = '')
|
118 |
{
|
|
|
|
|
119 |
$filetype = \wp_check_filetype(basename($img_file), null);
|
120 |
$attachment = array(
|
121 |
'guid' => $img_file,
|
73 |
$img_file = self::getImgFile($d);
|
74 |
if (!$img_file)
|
75 |
continue;
|
76 |
+
|
77 |
return self::attachThumbnail($img_file, $post_id, $d['title']);
|
78 |
} //data foreach
|
79 |
|
116 |
|
117 |
public static function attachThumbnail($img_file, $post_id, $title = '')
|
118 |
{
|
119 |
+
require_once(ABSPATH . 'wp-admin/includes/image.php');
|
120 |
+
|
121 |
$filetype = \wp_check_filetype(basename($img_file), null);
|
122 |
$attachment = array(
|
123 |
'guid' => $img_file,
|
application/components/ParserModule.php
CHANGED
@@ -57,6 +57,8 @@ abstract class ParserModule extends Module {
|
|
57 |
if (($post && wp_is_post_revision($post_id)) || $post_id < 0)
|
58 |
return $data;
|
59 |
|
|
|
|
|
60 |
foreach ($data as $key => $item)
|
61 |
{
|
62 |
// fill domain
|
@@ -80,8 +82,13 @@ abstract class ParserModule extends Module {
|
|
80 |
// save img
|
81 |
if ($this->config('save_img') && !wp_is_post_revision($post_id))
|
82 |
{
|
83 |
-
// check old_data also. need for fix behavior with "preview changes" button
|
84 |
-
if ($
|
|
|
|
|
|
|
|
|
|
|
85 |
{
|
86 |
$local_img_name = ImageHelper::saveImgLocaly($item['img'], $item['title']);
|
87 |
if ($local_img_name)
|
@@ -90,8 +97,8 @@ abstract class ParserModule extends Module {
|
|
90 |
$item['img'] = $uploads['url'] . '/' . $local_img_name;
|
91 |
$item['img_file'] = ltrim(trailingslashit($uploads['subdir']), '\/') . $local_img_name;
|
92 |
}
|
93 |
-
$data[$key] = $item;
|
94 |
}
|
|
|
95 |
}
|
96 |
}
|
97 |
return $data;
|
57 |
if (($post && wp_is_post_revision($post_id)) || $post_id < 0)
|
58 |
return $data;
|
59 |
|
60 |
+
$old_data = ContentManager::getData($post_id, $this->getId());
|
61 |
+
|
62 |
foreach ($data as $key => $item)
|
63 |
{
|
64 |
// fill domain
|
82 |
// save img
|
83 |
if ($this->config('save_img') && !wp_is_post_revision($post_id))
|
84 |
{
|
85 |
+
// check old_data also. need for fix behavior with "preview changes" button and by keyword update
|
86 |
+
if (isset($old_data[$key]) && !empty($old_data[$key]['img_file']) && file_exists(ImageHelper::getFullImgPath($old_data[$key]['img_file'])))
|
87 |
+
{
|
88 |
+
// image exists
|
89 |
+
$item['img'] = $old_data[$key]['img'];
|
90 |
+
$item['img_file'] = $old_data[$key]['img_file'];
|
91 |
+
} elseif ($item['img'] && empty($item['img_file']))
|
92 |
{
|
93 |
$local_img_name = ImageHelper::saveImgLocaly($item['img'], $item['title']);
|
94 |
if ($local_img_name)
|
97 |
$item['img'] = $uploads['url'] . '/' . $local_img_name;
|
98 |
$item['img_file'] = ltrim(trailingslashit($uploads['subdir']), '\/') . $local_img_name;
|
99 |
}
|
|
|
100 |
}
|
101 |
+
$data[$key] = $item;
|
102 |
}
|
103 |
}
|
104 |
return $data;
|
application/helpers/CurrencyHelper.php
CHANGED
@@ -278,6 +278,15 @@ class CurrencyHelper {
|
|
278 |
'num_decimals' => 2,
|
279 |
'name' => 'Indonesian Rupiah',
|
280 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
);
|
282 |
}
|
283 |
|
@@ -369,6 +378,7 @@ class CurrencyHelper {
|
|
369 |
{
|
370 |
$transient_name = 'cegg-currency-rates-ecb';
|
371 |
$rates = \get_transient($transient_name);
|
|
|
372 |
if ($rates === false || $force)
|
373 |
{
|
374 |
$url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
|
@@ -392,13 +402,12 @@ class CurrencyHelper {
|
|
392 |
}
|
393 |
|
394 |
if ($from == 'EUR' && isset($rates[$to]))
|
395 |
-
{
|
396 |
return $rates[$to];
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
return $
|
401 |
-
|
402 |
return 0;
|
403 |
}
|
404 |
|
278 |
'num_decimals' => 2,
|
279 |
'name' => 'Indonesian Rupiah',
|
280 |
),
|
281 |
+
'PKR' => array(
|
282 |
+
'currency_symbol' => 'PKR.',
|
283 |
+
'currency_pos' => 'left',
|
284 |
+
'thousand_sep' => ',',
|
285 |
+
'decimal_sep' => '.',
|
286 |
+
'num_decimals' => 2,
|
287 |
+
'name' => 'Pakistani Rupee',
|
288 |
+
),
|
289 |
+
|
290 |
);
|
291 |
}
|
292 |
|
378 |
{
|
379 |
$transient_name = 'cegg-currency-rates-ecb';
|
380 |
$rates = \get_transient($transient_name);
|
381 |
+
|
382 |
if ($rates === false || $force)
|
383 |
{
|
384 |
$url = 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml';
|
402 |
}
|
403 |
|
404 |
if ($from == 'EUR' && isset($rates[$to]))
|
|
|
405 |
return $rates[$to];
|
406 |
+
elseif ($to == 'EUR' && isset($rates[$from]))
|
407 |
+
return 1 / $rates[$from];
|
408 |
+
elseif (isset($rates[$from]) && isset($rates[$to]))
|
409 |
+
return $rates[$to] / $rates[$from];
|
410 |
+
else
|
411 |
return 0;
|
412 |
}
|
413 |
|
application/helpers/TextHelper.php
CHANGED
@@ -308,7 +308,11 @@ class TextHelper {
|
|
308 |
if ($to_int)
|
309 |
$p = number_format($p, 2, '', '');
|
310 |
else
|
|
|
|
|
|
|
311 |
$p = number_format(preg_replace("/(\d+)(\d{2}$)/msi", '${1}.${2}', $p), 2, '.', '');
|
|
|
312 |
|
313 |
return $p;
|
314 |
}
|
@@ -392,7 +396,7 @@ class TextHelper {
|
|
392 |
|
393 |
public static function parseCurrencyCode($money)
|
394 |
{
|
395 |
-
$currencies = array('$' => 'USD', '£' => 'GBP', 'EUR' => 'EUR', '₹' => 'INR', '€' => 'EUR', 'руб' => 'RUR', 'грн' => 'UAH');
|
396 |
foreach ($currencies as $symbol => $code)
|
397 |
{
|
398 |
if (strstr($money, $symbol))
|
308 |
if ($to_int)
|
309 |
$p = number_format($p, 2, '', '');
|
310 |
else
|
311 |
+
{
|
312 |
+
if (strlen($p) == 2) // Under $1
|
313 |
+
$p = '00' . $p;
|
314 |
$p = number_format(preg_replace("/(\d+)(\d{2}$)/msi", '${1}.${2}', $p), 2, '.', '');
|
315 |
+
}
|
316 |
|
317 |
return $p;
|
318 |
}
|
396 |
|
397 |
public static function parseCurrencyCode($money)
|
398 |
{
|
399 |
+
$currencies = array('$' => 'USD', '£' => 'GBP', 'EUR' => 'EUR', '₹' => 'INR', 'Rs.' => 'INR', '€' => 'EUR', 'руб' => 'RUR', 'грн' => 'UAH');
|
400 |
foreach ($currencies as $symbol => $code)
|
401 |
{
|
402 |
if (strstr($money, $symbol))
|
application/libs/gdeslon/GdeSlonApi.php
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ContentEgg\application\libs\gdeslon;
|
4 |
+
|
5 |
+
use ContentEgg\application\libs\RestClient;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* GdeSlonApi class file
|
9 |
+
*
|
10 |
+
* @author keywordrush.com <support@keywordrush.com>
|
11 |
+
* @link http://www.keywordrush.com/
|
12 |
+
* @copyright Copyright © 2015 keywordrush.com
|
13 |
+
*
|
14 |
+
* @link: https://www.gdeslon.ru/affiliate-examples/xml-api
|
15 |
+
*/
|
16 |
+
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'RestClient.php';
|
17 |
+
|
18 |
+
class GdeSlonApi extends RestClient {
|
19 |
+
|
20 |
+
const API_URI_BASE = 'http://api.gdeslon.ru';
|
21 |
+
|
22 |
+
protected $_api_key;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @var array Response Format Types
|
26 |
+
*/
|
27 |
+
protected $_responseTypes = array(
|
28 |
+
'xml',
|
29 |
+
);
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Constructor
|
33 |
+
* @param string $responseType
|
34 |
+
*/
|
35 |
+
public function __construct($api_key)
|
36 |
+
{
|
37 |
+
$this->setApiKey($api_key);
|
38 |
+
$this->setResponseType('xml');
|
39 |
+
$this->setUri(self::API_URI_BASE);
|
40 |
+
}
|
41 |
+
|
42 |
+
public function setApiKey($api_key)
|
43 |
+
{
|
44 |
+
$this->_api_key = $api_key;
|
45 |
+
}
|
46 |
+
|
47 |
+
public function getApiKey()
|
48 |
+
{
|
49 |
+
return $this->_api_key;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Products
|
54 |
+
*/
|
55 |
+
public function search($keywords, array $options)
|
56 |
+
{
|
57 |
+
$options['q'] = $keywords;
|
58 |
+
$options['_gs_at'] = $this->getApiKey();
|
59 |
+
|
60 |
+
$path = '/api/search.xml';
|
61 |
+
// Костыль для задания нескольких магазинов
|
62 |
+
if (!empty($options['m']) && is_array($options['m']))
|
63 |
+
{
|
64 |
+
/**
|
65 |
+
* Zend http client использует http_build_query
|
66 |
+
* This function is wrong for http!
|
67 |
+
arrays in http is like this:
|
68 |
+
files[]=1&files[]=2&...
|
69 |
+
but function makes like this
|
70 |
+
files[0]=1&files[1]=2&...
|
71 |
+
*
|
72 |
+
*/
|
73 |
+
$p = '?m%5B%5D=' . join('&m%5B%5D=', $options['m']);
|
74 |
+
$path .= $p;
|
75 |
+
unset($options['m']);
|
76 |
+
}
|
77 |
+
if (!empty($options['tid']) && is_array($options['tid']))
|
78 |
+
{
|
79 |
+
if (strstr('?', $path))
|
80 |
+
$path .= '&';
|
81 |
+
else
|
82 |
+
$path .= '?';
|
83 |
+
$p = 'tid%5B%5D=' . join('&tid%5B%5D=', $options['tid']);
|
84 |
+
$path .= $p;
|
85 |
+
unset($options['tid']);
|
86 |
+
}
|
87 |
+
$response = $this->restGet($path, $options);
|
88 |
+
return $this->_decodeResponse($response);
|
89 |
+
}
|
90 |
+
|
91 |
+
public function product($product_id)
|
92 |
+
{
|
93 |
+
if (!is_array($product_id))
|
94 |
+
$product_id = join(',', $product_id);
|
95 |
+
|
96 |
+
$options = array();
|
97 |
+
$options['articles'] = $product_id;
|
98 |
+
$options['_gs_at'] = $this->getApiKey();
|
99 |
+
|
100 |
+
$response = $this->restGet('/api/search.xml', $options);
|
101 |
+
return $this->_decodeResponse($response);
|
102 |
+
}
|
103 |
+
|
104 |
+
public function getMerhants()
|
105 |
+
{
|
106 |
+
$response = $this->restGet('/merchants.json');
|
107 |
+
return json_decode($response, true);
|
108 |
+
}
|
109 |
+
|
110 |
+
}
|
application/models/AutoblogModel.php
CHANGED
@@ -384,6 +384,9 @@ class AutoblogModel extends Model {
|
|
384 |
|
385 |
if (\term_exists($categ_id, 'product_cat'))
|
386 |
\wp_set_object_terms($post_id, (int) $categ_id, 'product_cat');
|
|
|
|
|
|
|
387 |
}
|
388 |
|
389 |
|
384 |
|
385 |
if (\term_exists($categ_id, 'product_cat'))
|
386 |
\wp_set_object_terms($post_id, (int) $categ_id, 'product_cat');
|
387 |
+
|
388 |
+
if ($tags_input)
|
389 |
+
\wp_set_object_terms($post_id, explode(',', $tags_input), 'product_tag');
|
390 |
}
|
391 |
|
392 |
|
application/modules/AE/AEModule.php
CHANGED
@@ -11,7 +11,6 @@ use ContentEgg\application\components\LinkHandler;
|
|
11 |
use ContentEgg\application\components\ContentManager;
|
12 |
use \Keywordrush\AffiliateEgg\ParserManager;
|
13 |
use ContentEgg\application\helpers\TemplateHelper;
|
14 |
-
use ContentEgg\application\helpers\FormValidator;
|
15 |
|
16 |
/**
|
17 |
* AEModule class file
|
@@ -34,6 +33,9 @@ class AEModule extends AffiliateParserModule {
|
|
34 |
{
|
35 |
$name = \Keywordrush\AffiliateEgg\ShopManager::getInstance()->getShopName($this->getMyShortId());
|
36 |
$uri = $this->getShopHost();
|
|
|
|
|
|
|
37 |
return array(
|
38 |
'name' => 'AE:' . $name,
|
39 |
'description' => sprintf(__('Affiliate Egg parser for %s', 'content-egg'), $uri),
|
11 |
use ContentEgg\application\components\ContentManager;
|
12 |
use \Keywordrush\AffiliateEgg\ParserManager;
|
13 |
use ContentEgg\application\helpers\TemplateHelper;
|
|
|
14 |
|
15 |
/**
|
16 |
* AEModule class file
|
33 |
{
|
34 |
$name = \Keywordrush\AffiliateEgg\ShopManager::getInstance()->getShopName($this->getMyShortId());
|
35 |
$uri = $this->getShopHost();
|
36 |
+
$shop = \Keywordrush\AffiliateEgg\ShopManager::getInstance()->getItem($this->getMyShortId());
|
37 |
+
if (method_exists($shop, 'isDeprecated') && $shop->isDeprecated())
|
38 |
+
$name .= ' (deprecated)';
|
39 |
return array(
|
40 |
'name' => 'AE:' . $name,
|
41 |
'description' => sprintf(__('Affiliate Egg parser for %s', 'content-egg'), $uri),
|
application/modules/Amazon/AmazonModule.php
CHANGED
@@ -447,8 +447,6 @@ class AmazonModule extends AffiliateParserModule {
|
|
447 |
}
|
448 |
}
|
449 |
|
450 |
-
// Заполняем стандартные поля: title, description, url, price
|
451 |
-
// все остальные данные в extra
|
452 |
$content->url = self::formatProductUrl(rawurldecode($r['DetailPageURL'])); // urldecode???
|
453 |
|
454 |
if (isset($r['ItemAttributes']['Title']))
|
447 |
}
|
448 |
}
|
449 |
|
|
|
|
|
450 |
$content->url = self::formatProductUrl(rawurldecode($r['DetailPageURL'])); // urldecode???
|
451 |
|
452 |
if (isset($r['ItemAttributes']['Title']))
|
application/modules/GdeSlon/ExtraDataGdeSlon.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ContentEgg\application\modules\GdeSlon;
|
4 |
+
|
5 |
+
use ContentEgg\application\components\ExtraData;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* ExtraDataGdeSlon class file
|
9 |
+
*
|
10 |
+
* @author keywordrush.com <support@keywordrush.com>
|
11 |
+
* @link http://www.keywordrush.com/
|
12 |
+
* @copyright Copyright © 2015 keywordrush.com
|
13 |
+
*/
|
14 |
+
class ExtraDataGdeSlon extends ExtraData {
|
15 |
+
|
16 |
+
public $productId;
|
17 |
+
public $gsCategoryId;
|
18 |
+
public $merchantId;
|
19 |
+
public $gsProductKey;
|
20 |
+
public $article;
|
21 |
+
public $original_picture;
|
22 |
+
public $original_url;
|
23 |
+
}
|
application/modules/GdeSlon/GdeSlonConfig.php
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ContentEgg\application\modules\GdeSlon;
|
4 |
+
|
5 |
+
use ContentEgg\application\components\AffiliateParserModuleConfig;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* GdeSlonConfig class file
|
9 |
+
*
|
10 |
+
* @author keywordrush.com <support@keywordrush.com>
|
11 |
+
* @link http://www.keywordrush.com/
|
12 |
+
* @copyright Copyright © 2015 keywordrush.com
|
13 |
+
*/
|
14 |
+
class GdeSlonConfig extends AffiliateParserModuleConfig {
|
15 |
+
|
16 |
+
public function options()
|
17 |
+
{
|
18 |
+
$optiosn = array(
|
19 |
+
'api_key' => array(
|
20 |
+
'title' => __('API key', 'content-egg') . ' <span class="cegg_required">*</span>',
|
21 |
+
'description' => __('You access key API. Go to -> "Tools" -> "XML API"', 'content-egg'),
|
22 |
+
'callback' => array($this, 'render_input'),
|
23 |
+
'default' => '',
|
24 |
+
'validator' => array(
|
25 |
+
'trim',
|
26 |
+
array(
|
27 |
+
'call' => array('\ContentEgg\application\helpers\FormValidator', 'required'),
|
28 |
+
'when' => 'is_active',
|
29 |
+
'message' => __('The "API Key" can not be empty', 'content-egg'),
|
30 |
+
),
|
31 |
+
),
|
32 |
+
'section' => 'default',
|
33 |
+
),
|
34 |
+
'subid' => array(
|
35 |
+
'title' => 'SubID',
|
36 |
+
'description' => __('Numeric or alphabet identificator for segment data about traffic. ', 'content-egg'),
|
37 |
+
'callback' => array($this, 'render_input'),
|
38 |
+
'default' => '',
|
39 |
+
'validator' => array(
|
40 |
+
'trim',
|
41 |
+
),
|
42 |
+
'section' => 'default',
|
43 |
+
),
|
44 |
+
'entries_per_page' => array(
|
45 |
+
'title' => __('Results', 'content-egg'),
|
46 |
+
'description' => __('Number of results for one search query.', 'content-egg'),
|
47 |
+
'callback' => array($this, 'render_input'),
|
48 |
+
'default' => 10,
|
49 |
+
'validator' => array(
|
50 |
+
'trim',
|
51 |
+
'absint',
|
52 |
+
array(
|
53 |
+
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
54 |
+
'arg' => 100,
|
55 |
+
'message' => __('Field "Results" can not be more than 100.', 'content-egg'),
|
56 |
+
),
|
57 |
+
),
|
58 |
+
'section' => 'default',
|
59 |
+
),
|
60 |
+
'entries_per_page_update' => array(
|
61 |
+
'title' => __('Results for updates ', 'content-egg'),
|
62 |
+
'description' => __('Number of results for automatic updates and autoblogging.', 'content-egg'),
|
63 |
+
'callback' => array($this, 'render_input'),
|
64 |
+
'default' => 6,
|
65 |
+
'validator' => array(
|
66 |
+
'trim',
|
67 |
+
'absint',
|
68 |
+
array(
|
69 |
+
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
70 |
+
'arg' => 100,
|
71 |
+
'message' => __('Field "Results for autoupdating" can not be more than 100.', 'content-egg'),
|
72 |
+
),
|
73 |
+
),
|
74 |
+
'section' => 'default',
|
75 |
+
),
|
76 |
+
'order' => array(
|
77 |
+
'title' => __('Sorting', 'content-egg'),
|
78 |
+
'description' => '',
|
79 |
+
'callback' => array($this, 'render_dropdown'),
|
80 |
+
'dropdown_options' => array(
|
81 |
+
'default' => __('Default', 'content-egg'),
|
82 |
+
'price' => __('Price', 'content-egg'),
|
83 |
+
'partner_benefit' => __('Convert', 'content-egg'),
|
84 |
+
'newest' => __('New products', 'content-egg'),
|
85 |
+
),
|
86 |
+
'default' => 'default',
|
87 |
+
'section' => 'default',
|
88 |
+
),
|
89 |
+
'search_category' => array(
|
90 |
+
'title' => __('Categories for search', 'content-egg'),
|
91 |
+
'description' => __('Limit search by categories. You can find Category ID <a target="_blank" href="http://api.gdeslon.ru/categories">here</a>. You can set multiple ID with comma.', 'content-egg'),
|
92 |
+
'callback' => array($this, 'render_input'),
|
93 |
+
'default' => '',
|
94 |
+
'validator' => array(
|
95 |
+
'trim',
|
96 |
+
),
|
97 |
+
'section' => 'default',
|
98 |
+
),
|
99 |
+
'merchant_id' => array(
|
100 |
+
'title' => __('Shop ID', 'content-egg'),
|
101 |
+
'description' => __('Limit search by definite shop. You can find shop ID <a target="_blank" href="http://api.gdeslon.ru/merchants">here</a>. You can set multiple ID with comma.', 'content-egg'),
|
102 |
+
'callback' => array($this, 'render_input'),
|
103 |
+
'default' => '',
|
104 |
+
'validator' => array(
|
105 |
+
'trim',
|
106 |
+
),
|
107 |
+
'section' => 'default',
|
108 |
+
),
|
109 |
+
'save_img' => array(
|
110 |
+
'title' => __('Save images', 'content-egg'),
|
111 |
+
'description' => __('Save images on server', 'content-egg'),
|
112 |
+
'callback' => array($this, 'render_checkbox'),
|
113 |
+
'default' => false,
|
114 |
+
'section' => 'default',
|
115 |
+
),
|
116 |
+
'description_size' => array(
|
117 |
+
'title' => __('Trim description', 'content-egg'),
|
118 |
+
'description' => __('Description size in characters (0 - do not cut)', 'content-egg'),
|
119 |
+
'callback' => array($this, 'render_input'),
|
120 |
+
'default' => '300',
|
121 |
+
'validator' => array(
|
122 |
+
'trim',
|
123 |
+
'absint',
|
124 |
+
),
|
125 |
+
'section' => 'default',
|
126 |
+
),
|
127 |
+
);
|
128 |
+
return array_merge(parent::options(), $optiosn);
|
129 |
+
}
|
130 |
+
|
131 |
+
}
|
application/modules/GdeSlon/GdeSlonModule.php
ADDED
@@ -0,0 +1,259 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ContentEgg\application\modules\GdeSlon;
|
4 |
+
|
5 |
+
use ContentEgg\application\components\AffiliateParserModule;
|
6 |
+
use ContentEgg\application\libs\gdeslon\GdeSlonApi;
|
7 |
+
use ContentEgg\application\components\ContentProduct;
|
8 |
+
use ContentEgg\application\admin\PluginAdmin;
|
9 |
+
use ContentEgg\application\helpers\TextHelper;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* GdeSlonModule class file
|
13 |
+
*
|
14 |
+
* @author keywordrush.com <support@keywordrush.com>
|
15 |
+
* @link http://www.keywordrush.com/
|
16 |
+
* @copyright Copyright © 2016 keywordrush.com
|
17 |
+
*/
|
18 |
+
class GdeSlonModule extends AffiliateParserModule {
|
19 |
+
|
20 |
+
private $api_client;
|
21 |
+
private $merchants;
|
22 |
+
|
23 |
+
public function info()
|
24 |
+
{
|
25 |
+
return array(
|
26 |
+
'name' => 'GdeSlon',
|
27 |
+
'description' => sprintf(__('Adds products from %s.', 'content-egg'), '<a target="_blank" href="http://www.keywordrush.com/go/gdeslon">GdeSlon.ru</a>'),
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
public function getParserType()
|
32 |
+
{
|
33 |
+
return self::PARSER_TYPE_PRODUCT;
|
34 |
+
}
|
35 |
+
|
36 |
+
public function defaultTemplateName()
|
37 |
+
{
|
38 |
+
return 'grid';
|
39 |
+
}
|
40 |
+
|
41 |
+
public function isItemsUpdateAvailable()
|
42 |
+
{
|
43 |
+
return true;
|
44 |
+
}
|
45 |
+
|
46 |
+
public function isFree()
|
47 |
+
{
|
48 |
+
return true;
|
49 |
+
}
|
50 |
+
|
51 |
+
public function doRequest($keyword, $query_params = array(), $is_autoupdate = false)
|
52 |
+
{
|
53 |
+
$options = array();
|
54 |
+
|
55 |
+
if ($is_autoupdate)
|
56 |
+
$options['l'] = $this->config('entries_per_page_update');
|
57 |
+
else
|
58 |
+
$options['l'] = $this->config('entries_per_page');
|
59 |
+
|
60 |
+
if ($m = $this->config('merchant_id'))
|
61 |
+
$options['m'] = self::prepareArrParam($m);
|
62 |
+
if ($tid = $this->config('search_category'))
|
63 |
+
$options['tid'] = self::prepareArrParam($tid);
|
64 |
+
|
65 |
+
if ($this->config('order') && $this->config('order') != 'default')
|
66 |
+
$options['order'] = $this->config('order');
|
67 |
+
|
68 |
+
$client = $this->getApiClient();
|
69 |
+
$results = $client->search($keyword, $options);
|
70 |
+
|
71 |
+
if (!isset($results['offers']) || !isset($results['offers']['offer']))
|
72 |
+
return array();
|
73 |
+
$results = $results['offers']['offer'];
|
74 |
+
if (!isset($results[0]) && isset($results['name']))
|
75 |
+
$results = array($results);
|
76 |
+
|
77 |
+
return $this->prepareResults($results);
|
78 |
+
}
|
79 |
+
|
80 |
+
private function prepareResults($results)
|
81 |
+
{
|
82 |
+
$data = array();
|
83 |
+
foreach ($results as $key => $r)
|
84 |
+
{
|
85 |
+
$content = new ContentProduct;
|
86 |
+
|
87 |
+
if (!$r['name'] && $r['description'])
|
88 |
+
$r['name'] = TextHelper::truncate(strip_tags($r['description']));
|
89 |
+
|
90 |
+
if (!$r['name'])
|
91 |
+
continue;
|
92 |
+
|
93 |
+
$content->unique_id = $r['@attributes']['gs_product_key'] . $r['@attributes']['id'];
|
94 |
+
$content->title = trim($r['name']);
|
95 |
+
|
96 |
+
if ($r['description'])
|
97 |
+
{
|
98 |
+
$content->description = strip_tags(trim($r['description']));
|
99 |
+
$content->description = preg_replace("/\n\W*\n/msi", "\n", $content->description);
|
100 |
+
$content->description = nl2br($content->description);
|
101 |
+
}
|
102 |
+
if ($max_size = $this->config('description_size'))
|
103 |
+
$content->description = TextHelper::truncate($content->description, $max_size);
|
104 |
+
|
105 |
+
$content->url = $r['url'];
|
106 |
+
if ($this->config('subid'))
|
107 |
+
$content->url .= '?sub_id=' . urlencode($this->config('subid'));
|
108 |
+
|
109 |
+
$content->price = (float) $r['price'];
|
110 |
+
if (!empty($r['oldprice']))
|
111 |
+
$content->priceOld = (float) $r['oldprice'];
|
112 |
+
$content->currencyCode = $r['currencyId'];
|
113 |
+
$content->currency = TextHelper::currencyTyping($content->currencyCode);
|
114 |
+
|
115 |
+
if ($r['original_picture'])
|
116 |
+
{
|
117 |
+
$content->img = $r['original_picture'];
|
118 |
+
} elseif ($r['picture'] && $r['picture'] != 'http://www.gdeslon.ru/images/default_picture/small.png')
|
119 |
+
{
|
120 |
+
$imgs = explode(',', $r['picture']);
|
121 |
+
$content->img = $imgs[0];
|
122 |
+
}
|
123 |
+
$content->availability = (bool) $r['@attributes']['available'];
|
124 |
+
$content->manufacturer = $r['vendor'];
|
125 |
+
|
126 |
+
$content->extra = new ExtraDataGdeSlon;
|
127 |
+
$content->extra->productId = $r['@attributes']['id'];
|
128 |
+
$content->extra->gsCategoryId = (isset($r['@attributes']['gs_category_id'])) ? (int) $r['@attributes']['gs_category_id'] : '';
|
129 |
+
$content->extra->merchantId = (isset($r['@attributes']['merchant_id'])) ? (int) $r['@attributes']['merchant_id'] : '';
|
130 |
+
$content->extra->gsProductKey = (isset($r['@attributes']['gs_product_key'])) ? $r['@attributes']['gs_product_key'] : '';
|
131 |
+
$content->extra->article = (isset($r['@attributes']['article'])) ? $r['@attributes']['article'] : '';
|
132 |
+
if (!empty($r['destination-url-do-not-send-traffic']))
|
133 |
+
$content->extra->original_url = $r['destination-url-do-not-send-traffic'];
|
134 |
+
if (!empty($r['original_picture']))
|
135 |
+
$content->extra->original_url = $r['original_picture'];
|
136 |
+
// get merchant info
|
137 |
+
$this->fillMerchantInfo($content);
|
138 |
+
|
139 |
+
$data[] = $content;
|
140 |
+
}
|
141 |
+
return $data;
|
142 |
+
}
|
143 |
+
|
144 |
+
public function doRequestItems(array $items)
|
145 |
+
{
|
146 |
+
$product_ids = array();
|
147 |
+
foreach ($items as $key => $item)
|
148 |
+
{
|
149 |
+
if (empty($item['extra']['article']))
|
150 |
+
throw new \Exception('doRequestItems request error.');
|
151 |
+
|
152 |
+
$product_ids[] = $item['extra']['article'];
|
153 |
+
}
|
154 |
+
|
155 |
+
$client = $this->getApiClient();
|
156 |
+
$results = $client->product($product_ids);
|
157 |
+
|
158 |
+
if (!isset($results['shop']['offers']) || !isset($results['shop']['offers']['offer']))
|
159 |
+
throw new \Exception('doRequestItems request error.');
|
160 |
+
$results = $results['shop']['offers']['offer'];
|
161 |
+
if (!isset($results[0]) && isset($results['name']))
|
162 |
+
$results = array($results);
|
163 |
+
|
164 |
+
// article ID not unique?!..
|
165 |
+
$ordered_results = array();
|
166 |
+
foreach ($results as $r)
|
167 |
+
{
|
168 |
+
$ordered_results[$r['@attributes']['id']] = $r;
|
169 |
+
}
|
170 |
+
|
171 |
+
// assign new price
|
172 |
+
foreach ($items as $key => $item)
|
173 |
+
{
|
174 |
+
if (!isset($ordered_results[$item['extra']['productId']]))
|
175 |
+
continue;
|
176 |
+
$r = $ordered_results[$item['extra']['productId']];
|
177 |
+
$items[$key]['price'] = (float) $r['price'];
|
178 |
+
if (!empty($r['oldprice']))
|
179 |
+
$items[$key]['priceOld'] = (float) $r['oldprice'];
|
180 |
+
$items[$key]['availability'] = (bool) $r['@attributes']['available'];
|
181 |
+
}
|
182 |
+
return $items;
|
183 |
+
}
|
184 |
+
|
185 |
+
private static function prepareArrParam($value)
|
186 |
+
{
|
187 |
+
$m = explode(',', $value);
|
188 |
+
|
189 |
+
if (count($m) > 1)
|
190 |
+
{
|
191 |
+
$results = array();
|
192 |
+
foreach ($m as $mv)
|
193 |
+
{
|
194 |
+
$results[] = trim((int) $mv);
|
195 |
+
}
|
196 |
+
return $results;
|
197 |
+
} else
|
198 |
+
return $m[0];
|
199 |
+
}
|
200 |
+
|
201 |
+
private function fillMerchantInfo($content)
|
202 |
+
{
|
203 |
+
$merchant_id = $content->extra->merchantId;
|
204 |
+
|
205 |
+
if ($this->merchants === null)
|
206 |
+
{
|
207 |
+
try
|
208 |
+
{
|
209 |
+
$results = $this->getApiClient()->getMerhants();
|
210 |
+
} catch (\Exception $e)
|
211 |
+
{
|
212 |
+
$results = array();
|
213 |
+
}
|
214 |
+
if (!is_array($results))
|
215 |
+
$results = array();
|
216 |
+
|
217 |
+
foreach ($results as $r)
|
218 |
+
{
|
219 |
+
$this->merchants[$r['_id']] = $r['name'];
|
220 |
+
}
|
221 |
+
}
|
222 |
+
if (isset($this->merchants[$merchant_id]))
|
223 |
+
{
|
224 |
+
$merhant_name = $this->merchants[$merchant_id];
|
225 |
+
$merhant_name = preg_replace('/_new$/', '', $merhant_name);
|
226 |
+
|
227 |
+
if (TextHelper::isValidDomainName($merhant_name))
|
228 |
+
$content->domain = $merhant_name;
|
229 |
+
elseif (!empty($content->extra->original_url))
|
230 |
+
$content->domain = TextHelper::getHostName($content->extra->original_url);
|
231 |
+
elseif (!empty($content->extra->original_picture))
|
232 |
+
{
|
233 |
+
$content->domain = TextHelper::getHostName($content->extra->original_picture);
|
234 |
+
if ($content->domain == 'alicdn.com')
|
235 |
+
$content->domain = 'aliexpress.com';
|
236 |
+
}
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
private function getApiClient()
|
241 |
+
{
|
242 |
+
if ($this->api_client === null)
|
243 |
+
{
|
244 |
+
$this->api_client = new GdeSlonApi($this->config('api_key'));
|
245 |
+
}
|
246 |
+
return $this->api_client;
|
247 |
+
}
|
248 |
+
|
249 |
+
public function renderResults()
|
250 |
+
{
|
251 |
+
PluginAdmin::render('_metabox_results', array('module_id' => $this->getId()));
|
252 |
+
}
|
253 |
+
|
254 |
+
public function renderSearchResults()
|
255 |
+
{
|
256 |
+
PluginAdmin::render('_metabox_search_results', array('module_id' => $this->getId()));
|
257 |
+
}
|
258 |
+
|
259 |
+
}
|
application/modules/GdeSlon/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Silence is golden.
|
application/modules/GdeSlon/templates/data_grid.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Name: Grid
|
5 |
+
*/
|
6 |
+
|
7 |
+
__('Grid', 'content-egg-tpl');
|
8 |
+
|
9 |
+
$this->renderPartial('grid');
|
application/modules/GdeSlon/templates/data_item.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Name: Product card
|
5 |
+
*/
|
6 |
+
|
7 |
+
__('Product card', 'content-egg-tpl');
|
8 |
+
|
9 |
+
$this->renderPartial('item');
|
application/modules/GdeSlon/templates/data_list.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Name: List
|
5 |
+
*/
|
6 |
+
__('List', 'content-egg-tpl');
|
7 |
+
|
8 |
+
$this->renderPartial('list');
|
application/modules/GdeSlon/templates/data_price_tracker_alert.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Name: Price tracker & alert
|
5 |
+
*/
|
6 |
+
|
7 |
+
__('Price tracker & alert', 'content-egg-tpl');
|
8 |
+
|
9 |
+
$this->renderPartial('price_tracker_alert');
|
application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php
CHANGED
@@ -63,7 +63,7 @@ class SkimlinksCouponsConfig extends AffiliateParserModuleConfig {
|
|
63 |
),
|
64 |
'siteId' => array(
|
65 |
'title' => 'Site ID <span class="cegg_required">*</span>',
|
66 |
-
'description' => __('You can find your SiteID <a target="_blank" href="https://hub.skimlinks.com/
|
67 |
'callback' => array($this, 'render_input'),
|
68 |
'default' => '',
|
69 |
'validator' => array(
|
@@ -85,6 +85,12 @@ class SkimlinksCouponsConfig extends AffiliateParserModuleConfig {
|
|
85 |
'validator' => array(
|
86 |
'trim',
|
87 |
'absint',
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
),
|
89 |
'section' => 'default',
|
90 |
),
|
@@ -96,6 +102,11 @@ class SkimlinksCouponsConfig extends AffiliateParserModuleConfig {
|
|
96 |
'validator' => array(
|
97 |
'trim',
|
98 |
'absint',
|
|
|
|
|
|
|
|
|
|
|
99 |
),
|
100 |
'section' => 'default',
|
101 |
),
|
63 |
),
|
64 |
'siteId' => array(
|
65 |
'title' => 'Site ID <span class="cegg_required">*</span>',
|
66 |
+
'description' => __('You can find your SiteID <a target="_blank" href="https://hub.skimlinks.com/settings/sites">here</a>.', 'content-egg'),
|
67 |
'callback' => array($this, 'render_input'),
|
68 |
'default' => '',
|
69 |
'validator' => array(
|
85 |
'validator' => array(
|
86 |
'trim',
|
87 |
'absint',
|
88 |
+
array(
|
89 |
+
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
90 |
+
'arg' => 200,
|
91 |
+
'message' => sprintf(__('The field "%s" can not be more than %d.', 'content-egg'), 'Results', 200),
|
92 |
+
),
|
93 |
+
|
94 |
),
|
95 |
'section' => 'default',
|
96 |
),
|
102 |
'validator' => array(
|
103 |
'trim',
|
104 |
'absint',
|
105 |
+
array(
|
106 |
+
'call' => array('\ContentEgg\application\helpers\FormValidator', 'less_than_equal_to'),
|
107 |
+
'arg' => 200,
|
108 |
+
'message' => sprintf(__('The field "%s" can not be more than %d.', 'content-egg'), 'Results', 200),
|
109 |
+
),
|
110 |
),
|
111 |
'section' => 'default',
|
112 |
),
|
content-egg.php
CHANGED
@@ -5,8 +5,8 @@ namespace ContentEgg;
|
|
5 |
/*
|
6 |
Plugin Name: Content Egg
|
7 |
Plugin URI: http://www.keywordrush.com/contentegg
|
8 |
-
Description: Easily adding auto updating products from affiliate systems and additional content to posts.
|
9 |
-
Version: 4.
|
10 |
Author: keywordrush.com
|
11 |
Author URI: http://www.keywordrush.com
|
12 |
Text Domain: content-egg
|
5 |
/*
|
6 |
Plugin Name: Content Egg
|
7 |
Plugin URI: http://www.keywordrush.com/contentegg
|
8 |
+
Description: Easily adding auto updating products from affiliate systems and additional content to posts.
|
9 |
+
Version: 4.5.0
|
10 |
Author: keywordrush.com
|
11 |
Author URI: http://www.keywordrush.com
|
12 |
Text Domain: content-egg
|
languages/content-egg.pot
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
# Copyright (C) 2018 Content Egg
|
2 |
-
# This file is distributed under the same license as the Content Egg package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Content Egg 4.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg\n"
|
7 |
-
"POT-Creation-Date: 2018-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -264,6 +264,7 @@ msgid "How long save price history. 0 - deactivate price history."
|
|
264 |
msgstr ""
|
265 |
|
266 |
#: application/admin/GeneralConfig.php:137
|
|
|
267 |
msgid "The field \"%s\" can't be more than %d."
|
268 |
msgstr ""
|
269 |
|
@@ -875,7 +876,7 @@ msgstr ""
|
|
875 |
#: application/modules/Pepperjam/PepperjamConfig.php:96
|
876 |
#: application/modules/Pixabay/PixabayConfig.php:108
|
877 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:57
|
878 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
879 |
msgid "Category "
|
880 |
msgstr ""
|
881 |
|
@@ -1368,6 +1369,7 @@ msgid "Lifetime of cache in seconds, after this period products will be updated
|
|
1368 |
msgstr ""
|
1369 |
|
1370 |
#: application/components/AffiliateParserModuleConfig.php:33
|
|
|
1371 |
msgid "Price update"
|
1372 |
msgstr ""
|
1373 |
|
@@ -1546,6 +1548,7 @@ msgstr ""
|
|
1546 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:48
|
1547 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:20
|
1548 |
#: application/modules/Impactradius/ImpactradiusConfig.php:48
|
|
|
1549 |
#: application/modules/Linkshare/LinkshareConfig.php:35
|
1550 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:35
|
1551 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:34
|
@@ -1596,6 +1599,7 @@ msgstr ""
|
|
1596 |
#: application/modules/Flipkart/FlipkartConfig.php:61
|
1597 |
#: application/modules/GdeSlon/GdeSlonConfig.php:46
|
1598 |
#: application/modules/Impactradius/ImpactradiusConfig.php:49
|
|
|
1599 |
#: application/modules/Linkshare/LinkshareConfig.php:36
|
1600 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:36
|
1601 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:35
|
@@ -1680,6 +1684,7 @@ msgstr ""
|
|
1680 |
#: application/modules/Flipkart/FlipkartConfig.php:77
|
1681 |
#: application/modules/GdeSlon/GdeSlonConfig.php:62
|
1682 |
#: application/modules/Impactradius/ImpactradiusConfig.php:64
|
|
|
1683 |
#: application/modules/Linkshare/LinkshareConfig.php:47
|
1684 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:47
|
1685 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:50
|
@@ -1688,7 +1693,7 @@ msgstr ""
|
|
1688 |
#: application/modules/PayTM/PayTMConfig.php:42
|
1689 |
#: application/modules/Pepperjam/PepperjamConfig.php:72
|
1690 |
#: application/modules/Shareasale/ShareasaleConfig.php:77
|
1691 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
1692 |
#: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:47
|
1693 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:47
|
1694 |
#: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:105
|
@@ -1731,6 +1736,7 @@ msgstr ""
|
|
1731 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:179
|
1732 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:52
|
1733 |
#: application/modules/Impactradius/ImpactradiusConfig.php:114
|
|
|
1734 |
#: application/modules/Linkshare/LinkshareConfig.php:120
|
1735 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:115
|
1736 |
#: application/modules/Market/MarketConfig.php:170
|
@@ -1747,7 +1753,7 @@ msgstr ""
|
|
1747 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:169
|
1748 |
#: application/modules/Twitter/TwitterConfig.php:125
|
1749 |
#: application/modules/Udemy/UdemyConfig.php:212
|
1750 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
1751 |
#: application/modules/VkNews/VkNewsConfig.php:42
|
1752 |
#: application/modules/Walmart/WalmartConfig.php:157
|
1753 |
#: application/modules/Zanox/ZanoxConfig.php:152
|
@@ -1775,6 +1781,7 @@ msgstr ""
|
|
1775 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:180
|
1776 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:53
|
1777 |
#: application/modules/Impactradius/ImpactradiusConfig.php:115
|
|
|
1778 |
#: application/modules/Linkshare/LinkshareConfig.php:121
|
1779 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:116
|
1780 |
#: application/modules/Market/MarketConfig.php:171
|
@@ -1790,14 +1797,14 @@ msgstr ""
|
|
1790 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:170
|
1791 |
#: application/modules/Twitter/TwitterConfig.php:126
|
1792 |
#: application/modules/Udemy/UdemyConfig.php:213
|
1793 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
1794 |
#: application/modules/VkNews/VkNewsConfig.php:43
|
1795 |
#: application/modules/Walmart/WalmartConfig.php:158
|
1796 |
#: application/modules/Zanox/ZanoxConfig.php:153
|
1797 |
msgid "Save images on server"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
-
#: application/modules/AE/AEModule.php:
|
1801 |
msgid "Affiliate Egg parser for %s"
|
1802 |
msgstr ""
|
1803 |
|
@@ -1879,6 +1886,7 @@ msgstr ""
|
|
1879 |
#: application/modules/CjProducts/CjProductsConfig.php:96
|
1880 |
#: application/modules/Ebay/EbayConfig.php:301
|
1881 |
#: application/modules/Impactradius/ImpactradiusConfig.php:84
|
|
|
1882 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:136
|
1883 |
#: application/modules/PayTM/PayTMConfig.php:69
|
1884 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:103
|
@@ -1893,6 +1901,7 @@ msgstr ""
|
|
1893 |
#: application/modules/CjProducts/CjProductsConfig.php:106
|
1894 |
#: application/modules/Ebay/EbayConfig.php:291
|
1895 |
#: application/modules/Impactradius/ImpactradiusConfig.php:94
|
|
|
1896 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:146
|
1897 |
#: application/modules/PayTM/PayTMConfig.php:79
|
1898 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:113
|
@@ -1915,6 +1924,7 @@ msgstr ""
|
|
1915 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:84
|
1916 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:59
|
1917 |
#: application/modules/Impactradius/ImpactradiusConfig.php:121
|
|
|
1918 |
#: application/modules/Linkshare/LinkshareConfig.php:127
|
1919 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:170
|
1920 |
#: application/modules/Ozon/OzonConfig.php:185
|
@@ -1945,6 +1955,7 @@ msgstr ""
|
|
1945 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:85
|
1946 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:60
|
1947 |
#: application/modules/Impactradius/ImpactradiusConfig.php:122
|
|
|
1948 |
#: application/modules/Linkshare/LinkshareConfig.php:128
|
1949 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:171
|
1950 |
#: application/modules/Ozon/OzonConfig.php:186
|
@@ -1989,6 +2000,8 @@ msgstr ""
|
|
1989 |
#: application/modules/Ebay/views/search_panel.php:1
|
1990 |
#: application/modules/Ebay/views/update_panel.php:1
|
1991 |
#: application/modules/Impactradius/views/search_panel.php:1
|
|
|
|
|
1992 |
#: application/modules/Optimisemedia/views/search_panel.php:1
|
1993 |
#: application/modules/PayTM/views/search_panel.php:1
|
1994 |
#: application/modules/TradedoublerProducts/views/search_panel.php:1
|
@@ -2012,6 +2025,8 @@ msgstr ""
|
|
2012 |
#: application/modules/Ebay/views/search_panel.php:2
|
2013 |
#: application/modules/Ebay/views/update_panel.php:2
|
2014 |
#: application/modules/Impactradius/views/search_panel.php:2
|
|
|
|
|
2015 |
#: application/modules/Optimisemedia/views/search_panel.php:2
|
2016 |
#: application/modules/PayTM/views/search_panel.php:2
|
2017 |
#: application/modules/TradedoublerProducts/views/search_panel.php:2
|
@@ -2048,6 +2063,7 @@ msgstr ""
|
|
2048 |
#: application/modules/Flickr/FlickrConfig.php:57
|
2049 |
#: application/modules/GdeSlon/GdeSlonConfig.php:77
|
2050 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:95
|
|
|
2051 |
#: application/modules/Linkshare/LinkshareConfig.php:79
|
2052 |
#: application/modules/Ozon/OzonConfig.php:62
|
2053 |
#: application/modules/PayTM/PayTMConfig.php:89
|
@@ -2066,6 +2082,7 @@ msgstr ""
|
|
2066 |
#: application/modules/Envato/EnvatoConfig.php:144
|
2067 |
#: application/modules/Envato/EnvatoConfig.php:162
|
2068 |
#: application/modules/GdeSlon/GdeSlonConfig.php:81
|
|
|
2069 |
#: application/modules/Linkshare/LinkshareConfig.php:83
|
2070 |
#: application/modules/PayTM/PayTMConfig.php:93
|
2071 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:147
|
@@ -2199,12 +2216,12 @@ msgid "Max number of partner sales for last month. Example, 456"
|
|
2199 |
msgstr ""
|
2200 |
|
2201 |
#: application/modules/Aliexpress/AliexpressConfig.php:235
|
2202 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
2203 |
msgid "Price low to high"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
#: application/modules/Aliexpress/AliexpressConfig.php:236
|
2207 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
2208 |
msgid "Price high to low"
|
2209 |
msgstr ""
|
2210 |
|
@@ -2222,7 +2239,7 @@ msgid "Commission from high to low"
|
|
2222 |
msgstr ""
|
2223 |
|
2224 |
#: application/modules/Aliexpress/AliexpressConfig.php:240
|
2225 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
2226 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:6
|
2227 |
msgid "Sales"
|
2228 |
msgstr ""
|
@@ -2247,6 +2264,7 @@ msgstr ""
|
|
2247 |
#: application/modules/Amazon/views/update_panel.php:1
|
2248 |
#: application/modules/Bolcom/views/update_panel.php:1
|
2249 |
#: application/modules/Ebay/views/update_panel.php:1
|
|
|
2250 |
#: application/modules/Viglink/views/update_panel.php:1
|
2251 |
#: application/modules/Walmart/views/update_panel.php:1
|
2252 |
msgid "Min. price for automatic update"
|
@@ -2256,6 +2274,7 @@ msgstr ""
|
|
2256 |
#: application/modules/Amazon/views/update_panel.php:2
|
2257 |
#: application/modules/Bolcom/views/update_panel.php:2
|
2258 |
#: application/modules/Ebay/views/update_panel.php:2
|
|
|
2259 |
#: application/modules/Viglink/views/update_panel.php:2
|
2260 |
#: application/modules/Walmart/views/update_panel.php:2
|
2261 |
msgid "Max. price for automatic update"
|
@@ -2368,10 +2387,12 @@ msgid "Select products that are selling by Amazon. Other sellers are excluded fr
|
|
2368 |
msgstr ""
|
2369 |
|
2370 |
#: application/modules/Amazon/AmazonConfig.php:166
|
|
|
2371 |
msgid "Example, 8.99"
|
2372 |
msgstr ""
|
2373 |
|
2374 |
#: application/modules/Amazon/AmazonConfig.php:176
|
|
|
2375 |
msgid "Example, 98.50"
|
2376 |
msgstr ""
|
2377 |
|
@@ -2395,6 +2416,7 @@ msgstr ""
|
|
2395 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:114
|
2396 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:127
|
2397 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:147
|
|
|
2398 |
#: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:71
|
2399 |
msgid "Any"
|
2400 |
msgstr ""
|
@@ -2588,6 +2610,8 @@ msgstr ""
|
|
2588 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:73
|
2589 |
#: application/modules/Impactradius/ImpactradiusConfig.php:58
|
2590 |
#: application/modules/Impactradius/ImpactradiusConfig.php:73
|
|
|
|
|
2591 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:44
|
2592 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:59
|
2593 |
#: application/modules/Pepperjam/PepperjamConfig.php:66
|
@@ -2596,6 +2620,8 @@ msgstr ""
|
|
2596 |
#: application/modules/QwantImages/QwantImagesConfig.php:46
|
2597 |
#: application/modules/RelatedKeywords/RelatedKeywordsConfig.php:46
|
2598 |
#: application/modules/RelatedKeywords/RelatedKeywordsConfig.php:62
|
|
|
|
|
2599 |
#: application/modules/Udemy/UdemyConfig.php:74
|
2600 |
#: application/modules/Udemy/UdemyConfig.php:89
|
2601 |
#: application/modules/Walmart/WalmartConfig.php:58
|
@@ -2725,9 +2751,9 @@ msgstr ""
|
|
2725 |
#: application/modules/Pixabay/PixabayConfig.php:85
|
2726 |
#: application/modules/Pixabay/PixabayConfig.php:99
|
2727 |
#: application/modules/Pixabay/PixabayConfig.php:112
|
2728 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
2729 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
2730 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
2731 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:2
|
2732 |
#: application/modules/Udemy/UdemyConfig.php:157
|
2733 |
#: application/modules/Udemy/UdemyConfig.php:204
|
@@ -2962,6 +2988,9 @@ msgstr ""
|
|
2962 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:43
|
2963 |
#: application/modules/Impactradius/ImpactradiusConfig.php:29
|
2964 |
#: application/modules/Impactradius/ImpactradiusConfig.php:43
|
|
|
|
|
|
|
2965 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:29
|
2966 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:29
|
2967 |
#: application/modules/Pepperjam/PepperjamConfig.php:30
|
@@ -2990,9 +3019,10 @@ msgstr ""
|
|
2990 |
|
2991 |
#: application/modules/Bolcom/BolcomConfig.php:63
|
2992 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:63
|
|
|
2993 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:46
|
2994 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:49
|
2995 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
2996 |
msgid "Results for updates"
|
2997 |
msgstr ""
|
2998 |
|
@@ -3002,8 +3032,8 @@ msgstr ""
|
|
3002 |
|
3003 |
#: application/modules/Bolcom/BolcomConfig.php:87
|
3004 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:67
|
3005 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
3006 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
3007 |
msgid "Country"
|
3008 |
msgstr ""
|
3009 |
|
@@ -3021,7 +3051,7 @@ msgstr ""
|
|
3021 |
|
3022 |
#: application/modules/Bolcom/BolcomConfig.php:97
|
3023 |
#: application/modules/Impactradius/ImpactradiusConfig.php:104
|
3024 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
3025 |
#: application/modules/Udemy/UdemyConfig.php:119
|
3026 |
#: application/modules/Walmart/WalmartConfig.php:78
|
3027 |
msgid "Category"
|
@@ -3046,11 +3076,13 @@ msgid "Sales ranking descending"
|
|
3046 |
msgstr ""
|
3047 |
|
3048 |
#: application/modules/Bolcom/BolcomConfig.php:150
|
|
|
3049 |
#: application/modules/Ozon/OzonConfig.php:80
|
3050 |
msgid "Price ascending"
|
3051 |
msgstr ""
|
3052 |
|
3053 |
#: application/modules/Bolcom/BolcomConfig.php:151
|
|
|
3054 |
#: application/modules/Ozon/OzonConfig.php:81
|
3055 |
msgid "Price descending"
|
3056 |
msgstr ""
|
@@ -3080,7 +3112,9 @@ msgid "Rating descending"
|
|
3080 |
msgstr ""
|
3081 |
|
3082 |
#: application/modules/Bolcom/BolcomModule.php:26
|
|
|
3083 |
#: application/modules/Impactradius/ImpactradiusModule.php:27
|
|
|
3084 |
#: application/modules/Pepperjam/PepperjamModule.php:27
|
3085 |
#: application/modules/TradetrackerProducts/TradetrackerProductsModule.php:26
|
3086 |
#: application/modules/Walmart/WalmartModule.php:28
|
@@ -3680,7 +3714,7 @@ msgstr ""
|
|
3680 |
#: application/modules/Flickr/views/search_panel.php:9
|
3681 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:99
|
3682 |
#: application/modules/Ozon/OzonConfig.php:66
|
3683 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
3684 |
#: application/modules/Walmart/WalmartConfig.php:92
|
3685 |
#: application/modules/Youtube/YoutubeConfig.php:63
|
3686 |
#: application/modules/Youtube/views/search_panel.php:9
|
@@ -3882,10 +3916,6 @@ msgstr ""
|
|
3882 |
msgid "Limit search by definite shop. You can find shop ID <a target=\"_blank\" href=\"http://api.gdeslon.ru/merchants\">here</a>. You can set multiple ID with comma."
|
3883 |
msgstr ""
|
3884 |
|
3885 |
-
#: application/modules/GdeSlon/GdeSlonModule.php:27
|
3886 |
-
msgid "Adds goods from gdeslon.ru."
|
3887 |
-
msgstr ""
|
3888 |
-
|
3889 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:61
|
3890 |
msgid "Field \"Results for autoblogging\" can not be more than 40."
|
3891 |
msgstr ""
|
@@ -4048,6 +4078,99 @@ msgstr ""
|
|
4048 |
msgid "The product category. A list of valid categories can be found here <a href=\"http://dev.impactradius.com/download/attachments/2720450/taxonomy.txt\">taxonomy.txt</a>"
|
4049 |
msgstr ""
|
4050 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4051 |
#: application/modules/Linkshare/LinkshareConfig.php:21
|
4052 |
msgid "Linkshare access key. Go to your account in Linkshare and follow \"LINKS -> Web Service\"."
|
4053 |
msgstr ""
|
@@ -4574,109 +4697,105 @@ msgid "Once you are approved the same page will display your Public Key, Account
|
|
4574 |
msgstr ""
|
4575 |
|
4576 |
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:66
|
4577 |
-
msgid "You can find your SiteID <a target=\"_blank\" href=\"https://hub.skimlinks.com/
|
4578 |
-
msgstr ""
|
4579 |
-
|
4580 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:103
|
4581 |
-
msgid "Merchant ID"
|
4582 |
msgstr ""
|
4583 |
|
4584 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4585 |
msgid "List offers from this merchant only."
|
4586 |
msgstr ""
|
4587 |
|
4588 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4589 |
msgid "Favourites"
|
4590 |
msgstr ""
|
4591 |
|
4592 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4593 |
msgid "Retrieve your favourites only."
|
4594 |
msgstr ""
|
4595 |
|
4596 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4597 |
msgid "Two character country code."
|
4598 |
msgstr ""
|
4599 |
|
4600 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4601 |
msgid "Offer type"
|
4602 |
msgstr ""
|
4603 |
|
4604 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4605 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:3
|
4606 |
msgid "Coupon"
|
4607 |
msgstr ""
|
4608 |
|
4609 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4610 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:4
|
4611 |
msgid "Sweepstake"
|
4612 |
msgstr ""
|
4613 |
|
4614 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4615 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:5
|
4616 |
msgid "Hot product"
|
4617 |
msgstr ""
|
4618 |
|
4619 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4620 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:7
|
4621 |
msgid "Free shipping"
|
4622 |
msgstr ""
|
4623 |
|
4624 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4625 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:8
|
4626 |
msgid "Seasonal"
|
4627 |
msgstr ""
|
4628 |
|
4629 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4630 |
msgid "Period"
|
4631 |
msgstr ""
|
4632 |
|
4633 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4634 |
msgid "Upcoming"
|
4635 |
msgstr ""
|
4636 |
|
4637 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4638 |
msgid "Ongoing"
|
4639 |
msgstr ""
|
4640 |
|
4641 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4642 |
msgid "Finished"
|
4643 |
msgstr ""
|
4644 |
|
4645 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4646 |
msgid "Finishing Soon"
|
4647 |
msgstr ""
|
4648 |
|
4649 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4650 |
msgid "Not expired"
|
4651 |
msgstr ""
|
4652 |
|
4653 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4654 |
msgid "Sort by"
|
4655 |
msgstr ""
|
4656 |
|
4657 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4658 |
msgid "Date added"
|
4659 |
msgstr ""
|
4660 |
|
4661 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4662 |
msgid "Srart date"
|
4663 |
msgstr ""
|
4664 |
|
4665 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4666 |
msgid "End date"
|
4667 |
msgstr ""
|
4668 |
|
4669 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4670 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4671 |
msgid "Sort order"
|
4672 |
msgstr ""
|
4673 |
|
4674 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4675 |
#: application/modules/Walmart/WalmartConfig.php:106
|
4676 |
msgid "Asc"
|
4677 |
msgstr ""
|
4678 |
|
4679 |
-
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:
|
4680 |
#: application/modules/Walmart/WalmartConfig.php:107
|
4681 |
msgid "Desc"
|
4682 |
msgstr ""
|
@@ -4775,12 +4894,12 @@ msgid "Feed Category Name"
|
|
4775 |
msgstr ""
|
4776 |
|
4777 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:151
|
4778 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4779 |
msgid "Price From"
|
4780 |
msgstr ""
|
4781 |
|
4782 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:160
|
4783 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4784 |
msgid "Price To"
|
4785 |
msgstr ""
|
4786 |
|
@@ -4944,51 +5063,63 @@ msgid "When logged into your dashboard, go to Manage -> Account. Under the My Ca
|
|
4944 |
msgstr ""
|
4945 |
|
4946 |
#: application/modules/Viglink/ViglinkConfig.php:71
|
|
|
|
|
|
|
|
|
4947 |
msgid "Filter results to only include offers from a specific country. Please use ISO Alpha-2 country codes like \"us\" for United States. You can specify multiple countries separated by commas."
|
4948 |
msgstr ""
|
4949 |
|
4950 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4951 |
msgid "Filter your query by a specific category."
|
4952 |
msgstr ""
|
4953 |
|
4954 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4955 |
msgid "Merchant"
|
4956 |
msgstr ""
|
4957 |
|
4958 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4959 |
msgid "Filter your query by a specific merchant. Currently this filter is case-sensitive. The best way to ensure that it will return accurate results is to filter with a value <a target=\"_blank\" href=\"%s\">already discovered</a>. You can specify multiple merchants separated by commas."
|
4960 |
msgstr ""
|
4961 |
|
4962 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4963 |
msgid "Images filter"
|
4964 |
msgstr ""
|
4965 |
|
4966 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4967 |
msgid "Products with images"
|
4968 |
msgstr ""
|
4969 |
|
4970 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4971 |
msgid "Some merchants do not supply an image in their feeds. As such, you have the option here to filter out items that do not have a merchant-supplied image, or correctly structured image URL."
|
4972 |
msgstr ""
|
4973 |
|
4974 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4975 |
msgid "Please note: Price update is only available for products added by direct URL (not by keyword search)."
|
4976 |
msgstr ""
|
4977 |
|
4978 |
-
#: application/modules/Viglink/ViglinkConfig.php:
|
4979 |
#: application/modules/Walmart/WalmartConfig.php:82
|
4980 |
msgid "[ All ]"
|
4981 |
msgstr ""
|
4982 |
|
4983 |
-
#: application/modules/Viglink/ViglinkModule.php:
|
4984 |
msgid "Module adds products from <a target=\"_blank\" href=\"%s\">VigLink</a>."
|
4985 |
msgstr ""
|
4986 |
|
4987 |
-
#: application/modules/Viglink/ViglinkModule.php:
|
4988 |
msgid "Search for specific products from a vast catalog of over 350 million products."
|
4989 |
msgstr ""
|
4990 |
|
4991 |
-
#: application/modules/Viglink/ViglinkModule.php:
|
4992 |
msgid "You can search by keyword or product URL."
|
4993 |
msgstr ""
|
4994 |
|
@@ -5111,7 +5242,7 @@ msgstr ""
|
|
5111 |
msgid "Adds products from zanox.com. You must have approval from each program separately."
|
5112 |
msgstr ""
|
5113 |
#. Plugin Name of the plugin/theme
|
5114 |
-
msgid "Content Egg"
|
5115 |
msgstr ""
|
5116 |
|
5117 |
#. Plugin URI of the plugin/theme
|
@@ -5119,7 +5250,7 @@ msgid "http://www.keywordrush.com/contentegg"
|
|
5119 |
msgstr ""
|
5120 |
|
5121 |
#. Description of the plugin/theme
|
5122 |
-
msgid "Easily adding auto updating products from affiliate systems and additional content to posts
|
5123 |
msgstr ""
|
5124 |
|
5125 |
#. Author of the plugin/theme
|
1 |
+
# Copyright (C) 2018 Content Egg<stripfree> Pro</stripfree>
|
2 |
+
# This file is distributed under the same license as the Content Egg<stripfree> Pro</stripfree> package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Content Egg<stripfree> Pro</stripfree> 4.5.0\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg\n"
|
7 |
+
"POT-Creation-Date: 2018-03-15 14:24:19+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
264 |
msgstr ""
|
265 |
|
266 |
#: application/admin/GeneralConfig.php:137
|
267 |
+
#: application/modules/Kelkoo/KelkooConfig.php:255
|
268 |
msgid "The field \"%s\" can't be more than %d."
|
269 |
msgstr ""
|
270 |
|
876 |
#: application/modules/Pepperjam/PepperjamConfig.php:96
|
877 |
#: application/modules/Pixabay/PixabayConfig.php:108
|
878 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:57
|
879 |
+
#: application/modules/Viglink/ViglinkConfig.php:86
|
880 |
msgid "Category "
|
881 |
msgstr ""
|
882 |
|
1369 |
msgstr ""
|
1370 |
|
1371 |
#: application/components/AffiliateParserModuleConfig.php:33
|
1372 |
+
#: application/modules/Kelkoo/KelkooConfig.php:255
|
1373 |
msgid "Price update"
|
1374 |
msgstr ""
|
1375 |
|
1548 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:48
|
1549 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:20
|
1550 |
#: application/modules/Impactradius/ImpactradiusConfig.php:48
|
1551 |
+
#: application/modules/Kelkoo/KelkooConfig.php:86
|
1552 |
#: application/modules/Linkshare/LinkshareConfig.php:35
|
1553 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:35
|
1554 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:34
|
1599 |
#: application/modules/Flipkart/FlipkartConfig.php:61
|
1600 |
#: application/modules/GdeSlon/GdeSlonConfig.php:46
|
1601 |
#: application/modules/Impactradius/ImpactradiusConfig.php:49
|
1602 |
+
#: application/modules/Kelkoo/KelkooConfig.php:87
|
1603 |
#: application/modules/Linkshare/LinkshareConfig.php:36
|
1604 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:36
|
1605 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:35
|
1684 |
#: application/modules/Flipkart/FlipkartConfig.php:77
|
1685 |
#: application/modules/GdeSlon/GdeSlonConfig.php:62
|
1686 |
#: application/modules/Impactradius/ImpactradiusConfig.php:64
|
1687 |
+
#: application/modules/Kelkoo/KelkooConfig.php:102
|
1688 |
#: application/modules/Linkshare/LinkshareConfig.php:47
|
1689 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:47
|
1690 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:50
|
1693 |
#: application/modules/PayTM/PayTMConfig.php:42
|
1694 |
#: application/modules/Pepperjam/PepperjamConfig.php:72
|
1695 |
#: application/modules/Shareasale/ShareasaleConfig.php:77
|
1696 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:99
|
1697 |
#: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:47
|
1698 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:47
|
1699 |
#: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:105
|
1736 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:179
|
1737 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:52
|
1738 |
#: application/modules/Impactradius/ImpactradiusConfig.php:114
|
1739 |
+
#: application/modules/Kelkoo/KelkooConfig.php:235
|
1740 |
#: application/modules/Linkshare/LinkshareConfig.php:120
|
1741 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:115
|
1742 |
#: application/modules/Market/MarketConfig.php:170
|
1753 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:169
|
1754 |
#: application/modules/Twitter/TwitterConfig.php:125
|
1755 |
#: application/modules/Udemy/UdemyConfig.php:212
|
1756 |
+
#: application/modules/Viglink/ViglinkConfig.php:139
|
1757 |
#: application/modules/VkNews/VkNewsConfig.php:42
|
1758 |
#: application/modules/Walmart/WalmartConfig.php:157
|
1759 |
#: application/modules/Zanox/ZanoxConfig.php:152
|
1781 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:180
|
1782 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:53
|
1783 |
#: application/modules/Impactradius/ImpactradiusConfig.php:115
|
1784 |
+
#: application/modules/Kelkoo/KelkooConfig.php:236
|
1785 |
#: application/modules/Linkshare/LinkshareConfig.php:121
|
1786 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:116
|
1787 |
#: application/modules/Market/MarketConfig.php:171
|
1797 |
#: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:170
|
1798 |
#: application/modules/Twitter/TwitterConfig.php:126
|
1799 |
#: application/modules/Udemy/UdemyConfig.php:213
|
1800 |
+
#: application/modules/Viglink/ViglinkConfig.php:140
|
1801 |
#: application/modules/VkNews/VkNewsConfig.php:43
|
1802 |
#: application/modules/Walmart/WalmartConfig.php:158
|
1803 |
#: application/modules/Zanox/ZanoxConfig.php:153
|
1804 |
msgid "Save images on server"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: application/modules/AE/AEModule.php:41
|
1808 |
msgid "Affiliate Egg parser for %s"
|
1809 |
msgstr ""
|
1810 |
|
1886 |
#: application/modules/CjProducts/CjProductsConfig.php:96
|
1887 |
#: application/modules/Ebay/EbayConfig.php:301
|
1888 |
#: application/modules/Impactradius/ImpactradiusConfig.php:84
|
1889 |
+
#: application/modules/Kelkoo/KelkooConfig.php:161
|
1890 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:136
|
1891 |
#: application/modules/PayTM/PayTMConfig.php:69
|
1892 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:103
|
1901 |
#: application/modules/CjProducts/CjProductsConfig.php:106
|
1902 |
#: application/modules/Ebay/EbayConfig.php:291
|
1903 |
#: application/modules/Impactradius/ImpactradiusConfig.php:94
|
1904 |
+
#: application/modules/Kelkoo/KelkooConfig.php:171
|
1905 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:146
|
1906 |
#: application/modules/PayTM/PayTMConfig.php:79
|
1907 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:113
|
1924 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:84
|
1925 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:59
|
1926 |
#: application/modules/Impactradius/ImpactradiusConfig.php:121
|
1927 |
+
#: application/modules/Kelkoo/KelkooConfig.php:224
|
1928 |
#: application/modules/Linkshare/LinkshareConfig.php:127
|
1929 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:170
|
1930 |
#: application/modules/Ozon/OzonConfig.php:185
|
1955 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:85
|
1956 |
#: application/modules/GoogleNews/GoogleNewsConfig.php:60
|
1957 |
#: application/modules/Impactradius/ImpactradiusConfig.php:122
|
1958 |
+
#: application/modules/Kelkoo/KelkooConfig.php:225
|
1959 |
#: application/modules/Linkshare/LinkshareConfig.php:128
|
1960 |
#: application/modules/Optimisemedia/OptimisemediaConfig.php:171
|
1961 |
#: application/modules/Ozon/OzonConfig.php:186
|
2000 |
#: application/modules/Ebay/views/search_panel.php:1
|
2001 |
#: application/modules/Ebay/views/update_panel.php:1
|
2002 |
#: application/modules/Impactradius/views/search_panel.php:1
|
2003 |
+
#: application/modules/Kelkoo/views/search_panel.php:1
|
2004 |
+
#: application/modules/Kelkoo/views/update_panel.php:1
|
2005 |
#: application/modules/Optimisemedia/views/search_panel.php:1
|
2006 |
#: application/modules/PayTM/views/search_panel.php:1
|
2007 |
#: application/modules/TradedoublerProducts/views/search_panel.php:1
|
2025 |
#: application/modules/Ebay/views/search_panel.php:2
|
2026 |
#: application/modules/Ebay/views/update_panel.php:2
|
2027 |
#: application/modules/Impactradius/views/search_panel.php:2
|
2028 |
+
#: application/modules/Kelkoo/views/search_panel.php:2
|
2029 |
+
#: application/modules/Kelkoo/views/update_panel.php:2
|
2030 |
#: application/modules/Optimisemedia/views/search_panel.php:2
|
2031 |
#: application/modules/PayTM/views/search_panel.php:2
|
2032 |
#: application/modules/TradedoublerProducts/views/search_panel.php:2
|
2063 |
#: application/modules/Flickr/FlickrConfig.php:57
|
2064 |
#: application/modules/GdeSlon/GdeSlonConfig.php:77
|
2065 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:95
|
2066 |
+
#: application/modules/Kelkoo/KelkooConfig.php:116
|
2067 |
#: application/modules/Linkshare/LinkshareConfig.php:79
|
2068 |
#: application/modules/Ozon/OzonConfig.php:62
|
2069 |
#: application/modules/PayTM/PayTMConfig.php:89
|
2082 |
#: application/modules/Envato/EnvatoConfig.php:144
|
2083 |
#: application/modules/Envato/EnvatoConfig.php:162
|
2084 |
#: application/modules/GdeSlon/GdeSlonConfig.php:81
|
2085 |
+
#: application/modules/Kelkoo/KelkooConfig.php:132
|
2086 |
#: application/modules/Linkshare/LinkshareConfig.php:83
|
2087 |
#: application/modules/PayTM/PayTMConfig.php:93
|
2088 |
#: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:147
|
2216 |
msgstr ""
|
2217 |
|
2218 |
#: application/modules/Aliexpress/AliexpressConfig.php:235
|
2219 |
+
#: application/modules/Viglink/ViglinkConfig.php:97
|
2220 |
msgid "Price low to high"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
#: application/modules/Aliexpress/AliexpressConfig.php:236
|
2224 |
+
#: application/modules/Viglink/ViglinkConfig.php:98
|
2225 |
msgid "Price high to low"
|
2226 |
msgstr ""
|
2227 |
|
2239 |
msgstr ""
|
2240 |
|
2241 |
#: application/modules/Aliexpress/AliexpressConfig.php:240
|
2242 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:152
|
2243 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:6
|
2244 |
msgid "Sales"
|
2245 |
msgstr ""
|
2264 |
#: application/modules/Amazon/views/update_panel.php:1
|
2265 |
#: application/modules/Bolcom/views/update_panel.php:1
|
2266 |
#: application/modules/Ebay/views/update_panel.php:1
|
2267 |
+
#: application/modules/Kelkoo/views/update_panel.php:1
|
2268 |
#: application/modules/Viglink/views/update_panel.php:1
|
2269 |
#: application/modules/Walmart/views/update_panel.php:1
|
2270 |
msgid "Min. price for automatic update"
|
2274 |
#: application/modules/Amazon/views/update_panel.php:2
|
2275 |
#: application/modules/Bolcom/views/update_panel.php:2
|
2276 |
#: application/modules/Ebay/views/update_panel.php:2
|
2277 |
+
#: application/modules/Kelkoo/views/update_panel.php:2
|
2278 |
#: application/modules/Viglink/views/update_panel.php:2
|
2279 |
#: application/modules/Walmart/views/update_panel.php:2
|
2280 |
msgid "Max. price for automatic update"
|
2387 |
msgstr ""
|
2388 |
|
2389 |
#: application/modules/Amazon/AmazonConfig.php:166
|
2390 |
+
#: application/modules/Kelkoo/KelkooConfig.php:162
|
2391 |
msgid "Example, 8.99"
|
2392 |
msgstr ""
|
2393 |
|
2394 |
#: application/modules/Amazon/AmazonConfig.php:176
|
2395 |
+
#: application/modules/Kelkoo/KelkooConfig.php:172
|
2396 |
msgid "Example, 98.50"
|
2397 |
msgstr ""
|
2398 |
|
2416 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:114
|
2417 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:127
|
2418 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:147
|
2419 |
+
#: application/modules/Kelkoo/KelkooConfig.php:185
|
2420 |
#: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:71
|
2421 |
msgid "Any"
|
2422 |
msgstr ""
|
2610 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:73
|
2611 |
#: application/modules/Impactradius/ImpactradiusConfig.php:58
|
2612 |
#: application/modules/Impactradius/ImpactradiusConfig.php:73
|
2613 |
+
#: application/modules/Kelkoo/KelkooConfig.php:96
|
2614 |
+
#: application/modules/Kelkoo/KelkooConfig.php:111
|
2615 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:44
|
2616 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:59
|
2617 |
#: application/modules/Pepperjam/PepperjamConfig.php:66
|
2620 |
#: application/modules/QwantImages/QwantImagesConfig.php:46
|
2621 |
#: application/modules/RelatedKeywords/RelatedKeywordsConfig.php:46
|
2622 |
#: application/modules/RelatedKeywords/RelatedKeywordsConfig.php:62
|
2623 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:91
|
2624 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:108
|
2625 |
#: application/modules/Udemy/UdemyConfig.php:74
|
2626 |
#: application/modules/Udemy/UdemyConfig.php:89
|
2627 |
#: application/modules/Walmart/WalmartConfig.php:58
|
2751 |
#: application/modules/Pixabay/PixabayConfig.php:85
|
2752 |
#: application/modules/Pixabay/PixabayConfig.php:99
|
2753 |
#: application/modules/Pixabay/PixabayConfig.php:112
|
2754 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:140
|
2755 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:148
|
2756 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:163
|
2757 |
#: application/modules/SkimlinksCoupons/views/search_panel.php:2
|
2758 |
#: application/modules/Udemy/UdemyConfig.php:157
|
2759 |
#: application/modules/Udemy/UdemyConfig.php:204
|
2988 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:43
|
2989 |
#: application/modules/Impactradius/ImpactradiusConfig.php:29
|
2990 |
#: application/modules/Impactradius/ImpactradiusConfig.php:43
|
2991 |
+
#: application/modules/Kelkoo/KelkooConfig.php:29
|
2992 |
+
#: application/modules/Kelkoo/KelkooConfig.php:43
|
2993 |
+
#: application/modules/Kelkoo/KelkooConfig.php:81
|
2994 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:29
|
2995 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:29
|
2996 |
#: application/modules/Pepperjam/PepperjamConfig.php:30
|
3019 |
|
3020 |
#: application/modules/Bolcom/BolcomConfig.php:63
|
3021 |
#: application/modules/GoogleImages/GoogleImagesConfig.php:63
|
3022 |
+
#: application/modules/Kelkoo/KelkooConfig.php:101
|
3023 |
#: application/modules/LomadeeCoupons/LomadeeCouponsConfig.php:46
|
3024 |
#: application/modules/LomadeeProducts/LomadeeProductsConfig.php:49
|
3025 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:98
|
3026 |
msgid "Results for updates"
|
3027 |
msgstr ""
|
3028 |
|
3032 |
|
3033 |
#: application/modules/Bolcom/BolcomConfig.php:87
|
3034 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:67
|
3035 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:129
|
3036 |
+
#: application/modules/Viglink/ViglinkConfig.php:80
|
3037 |
msgid "Country"
|
3038 |
msgstr ""
|
3039 |
|
3051 |
|
3052 |
#: application/modules/Bolcom/BolcomConfig.php:97
|
3053 |
#: application/modules/Impactradius/ImpactradiusConfig.php:104
|
3054 |
+
#: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:138
|
3055 |
#: application/modules/Udemy/UdemyConfig.php:119
|
3056 |
#: application/modules/Walmart/WalmartConfig.php:78
|
3057 |
msgid "Category"
|
3076 |
msgstr ""
|
3077 |
|
3078 |
#: application/modules/Bolcom/BolcomConfig.php:150
|
3079 |
+
#: application/modules/Kelkoo/KelkooConfig.php:120
|
3080 |
#: application/modules/Ozon/OzonConfig.php:80
|
3081 |
msgid "Price ascending"
|
3082 |
msgstr ""
|
3083 |
|
3084 |
#: application/modules/Bolcom/BolcomConfig.php:151
|
3085 |
+
#: application/modules/Kelkoo/KelkooConfig.php:121
|
3086 |
#: application/modules/Ozon/OzonConfig.php:81
|
3087 |
msgid "Price descending"
|
3088 |
msgstr ""
|
3112 |
msgstr ""
|
3113 |
|
3114 |
#: application/modules/Bolcom/BolcomModule.php:26
|
3115 |
+
#: application/modules/GdeSlon/GdeSlonModule.php:27
|
3116 |
#: application/modules/Impactradius/ImpactradiusModule.php:27
|
3117 |
+
#: application/modules/Kelkoo/KelkooModule.php:28
|
3118 |
#: application/modules/Pepperjam/PepperjamModule.php:27
|
3119 |
#: application/modules/TradetrackerProducts/TradetrackerProductsModule.php:26
|
3120 |
#: application/modules/Walmart/WalmartModule.php:28
|
3714 |
#: application/modules/Flickr/views/search_panel.php:9
|
3715 |
#: application/modules/GoogleBooks/GoogleBooksConfig.php:99
|
3716 |
#: application/modules/Ozon/OzonConfig.php:66
|
3717 |
+
#: application/modules/Viglink/ViglinkConfig.php:96
|
3718 |
#: application/modules/Walmart/WalmartConfig.php:92
|
3719 |
#: application/modules/Youtube/YoutubeConfig.php:63
|
3720 |
#: application/modules/Youtube/views/search_panel.php:9
|
3916 |
msgid "Limit search by definite shop. You can find shop ID <a target=\"_blank\" href=\"http://api.gdeslon.ru/merchants\">here</a>. You can set multiple ID with comma."
|
3917 |
msgstr ""
|
3918 |
|
|
|
|
|
|
|
|
|
3919 |
#: application/modules/GoogleBook |