Content Egg - Version 4.4.3

Version Description

  • New: Price Movers widget.
  • New: Price Movers shortcode: [content-egg-price-movers].
  • New: Currency shortcode parameter to convert all prices to one currency: [content-egg-block template=offers_grid currency=EUR]
  • New: Block template:: Grid with prices (3 column).
  • New: Sort order (asc/desc) for block shortcodes: [content-egg-block template=offers_list order=desc].
  • New: Amazon price disclaimer.
  • New: Amazon module: Show small logos option.
  • New: Woocommerce synchronization for Offer module.
  • New: urrency converter for order products by price.
  • New: Ability to edit Domain field for products.
Download this release

Release Info

Developer keywordrush
Plugin Icon 128x128 Content Egg
Version 4.4.3
Comparing to
See all releases

Code changes from version 4.3.0 to 4.4.3

Files changed (51) hide show
  1. application/BlockShortcode.php +16 -1
  2. application/EggShortcode.php +4 -2
  3. application/ModuleViewer.php +14 -2
  4. application/Plugin.php +9 -8
  5. application/PriceMoversWidget.php +216 -0
  6. application/ProductSearchWidget.php +29 -45
  7. application/WooIntegrator.php +16 -4
  8. application/admin/AeIntegrationConfig.php +4 -2
  9. application/admin/EggMetabox.php +3 -1
  10. application/admin/GeneralConfig.php +24 -4
  11. application/admin/PrefillController.php +11 -16
  12. application/admin/views/_metabox_autoblog.php +6 -14
  13. application/admin/views/_metabox_results.php +2 -1
  14. application/components/CEWidget.php +197 -0
  15. application/components/ContentManager.php +32 -4
  16. application/components/Cpa.php +1 -1
  17. application/components/LinkHandler.php +5 -0
  18. application/components/WidgetTemplateManager.php +64 -0
  19. application/helpers/AdminHelper.php +43 -0
  20. application/helpers/CurrencyHelper.php +62 -19
  21. application/helpers/TemplateHelper.php +101 -20
  22. application/models/PriceHistoryModel.php +137 -2
  23. application/modules/AE/AEModule.php +2 -0
  24. application/modules/Amazon/AmazonConfig.php +10 -2
  25. application/modules/Amazon/AmazonModule.php +11 -4
  26. application/modules/Offer/OfferModule.php +11 -4
  27. application/modules/Offer/views/metabox_module.php +18 -13
  28. application/templates/data_coupon.php +1 -1
  29. application/templates/data_grid.php +5 -2
  30. application/templates/data_item.php +5 -2
  31. application/templates/data_list.php +5 -2
  32. application/templates/data_price_tracker_alert.php +1 -1
  33. content-egg.php +1 -1
  34. languages/content-egg.pot +351 -241
  35. languages/tpl/content-egg-tpl-DE.mo +0 -0
  36. languages/tpl/content-egg-tpl-DE.po +721 -0
  37. languages/tpl/content-egg-tpl.pot +70 -31
  38. readme.txt +15 -3
  39. res/bootstrap/css/egg-bootstrap.css +0 -1
  40. res/css/products.css +31 -31
  41. res/js/{morris.js → morrisjs}/README.md +0 -0
  42. res/js/{morris.js → morrisjs}/morris.min.css +0 -0
  43. res/js/{morris.js → morrisjs}/morris.min.js +0 -0
  44. res/js/{morris.js → morrisjs}/raphael.min.js +0 -0
  45. res/logos/ebay-it.png +0 -0
  46. templates/block_offers_grid.php +100 -0
  47. templates/block_offers_list.php +6 -3
  48. templates/block_offers_logo.php +5 -2
  49. templates/block_price_comparison.php +1 -1
  50. templates/wdgt_price_movers_grid.php +78 -0
  51. templates/wdgt_price_movers_list.php +106 -0
application/BlockShortcode.php CHANGED
@@ -4,6 +4,7 @@ namespace ContentEgg\application;
4
 
5
  use ContentEgg\application\components\ModuleManager;
6
  use ContentEgg\application\components\BlockTemplateManager;
 
7
 
8
  /**
9
  * BlockShortcode class file
@@ -40,12 +41,27 @@ class BlockShortcode {
40
  'offset' => 0,
41
  'next' => 0,
42
  'title' => '',
 
 
 
 
43
  ), $atts);
44
 
45
  $a['next'] = (int) $a['next'];
46
  $a['limit'] = (int) $a['limit'];
47
  $a['offset'] = (int) $a['offset'];
 
48
  $a['title'] = \sanitize_text_field($a['title']);
 
 
 
 
 
 
 
 
 
 
49
 
50
  if ($a['modules'])
51
  {
@@ -66,7 +82,6 @@ class BlockShortcode {
66
  $a['template'] = BlockTemplateManager::getInstance()->prepareShortcodeTempate($a['template']);
67
  }
68
  $a['post_id'] = (int) $a['post_id'];
69
-
70
  return $a;
71
  }
72
 
4
 
5
  use ContentEgg\application\components\ModuleManager;
6
  use ContentEgg\application\components\BlockTemplateManager;
7
+ use ContentEgg\application\helpers\TextHelper;
8
 
9
  /**
10
  * BlockShortcode class file
41
  'offset' => 0,
42
  'next' => 0,
43
  'title' => '',
44
+ 'cols' => 0,
45
+ 'sort' => '',
46
+ 'order' => '',
47
+ 'currency' => '',
48
  ), $atts);
49
 
50
  $a['next'] = (int) $a['next'];
51
  $a['limit'] = (int) $a['limit'];
52
  $a['offset'] = (int) $a['offset'];
53
+ $a['cols'] = (int) $a['cols'];
54
  $a['title'] = \sanitize_text_field($a['title']);
55
+ $a['currency'] = strtoupper(TextHelper::clear($a['currency']));
56
+
57
+ $allowed_sort = array('price');
58
+ $allowed_order = array('asc', 'desc');
59
+ $a['sort'] = strtolower($a['sort']);
60
+ $a['order'] = strtolower($a['order']);
61
+ if (!in_array($a['sort'], $allowed_sort))
62
+ $a['sort'] = '';
63
+ if (!in_array($a['order'], $allowed_order))
64
+ $a['order'] = '';
65
 
66
  if ($a['modules'])
67
  {
82
  $a['template'] = BlockTemplateManager::getInstance()->prepareShortcodeTempate($a['template']);
83
  }
84
  $a['post_id'] = (int) $a['post_id'];
 
85
  return $a;
86
  }
87
 
application/EggShortcode.php CHANGED
@@ -48,9 +48,9 @@ class EggShortcode {
48
  'locale' => '',
49
  'title' => '',
50
  'post_id' => 0,
51
- //'order' => 'asc',
 
52
  ), $atts);
53
- //$order_allowed = array('rand', 'title', 'price', 'manufacturer', 'in_stock', 'create_date', 'last_update', 'last_in_stock', 'shop_id');
54
 
55
  $a['next'] = (int) $a['next'];
56
  $a['limit'] = (int) $a['limit'];
@@ -59,6 +59,8 @@ class EggShortcode {
59
  $a['locale'] = TextHelper::clear($a['locale']);
60
  $a['title'] = \sanitize_text_field($a['title']);
61
  $a['post_id'] = (int) $a['post_id'];
 
 
62
 
63
  if ($a['template'] && $a['module'])
64
  {
48
  'locale' => '',
49
  'title' => '',
50
  'post_id' => 0,
51
+ 'cols' => 0,
52
+ 'currency' => '',
53
  ), $atts);
 
54
 
55
  $a['next'] = (int) $a['next'];
56
  $a['limit'] = (int) $a['limit'];
59
  $a['locale'] = TextHelper::clear($a['locale']);
60
  $a['title'] = \sanitize_text_field($a['title']);
61
  $a['post_id'] = (int) $a['post_id'];
62
+ $a['cols'] = (int) $a['cols'];
63
+ $a['currency'] = strtoupper(TextHelper::clear($a['currency']));
64
 
65
  if ($a['template'] && $a['module'])
66
  {
application/ModuleViewer.php CHANGED
@@ -33,6 +33,7 @@ class ModuleViewer {
33
 
34
  private function __construct()
35
  {
 
36
  }
37
 
38
  public function init()
@@ -155,7 +156,13 @@ class ModuleViewer {
155
  $title = $params['title'];
156
  else
157
  $title = $module->config('tpl_title');
158
- return $tpl_manager->render($template, array('items' => $data, 'title' => $title, 'keyword' => $keyword, 'post_id' => $post_id, 'module_id' => $module_id));
 
 
 
 
 
 
159
  }
160
 
161
  public function viewBlockData(array $module_ids, $post_id = null, $params = array())
@@ -217,7 +224,12 @@ class ModuleViewer {
217
  else
218
  $title = '';
219
 
220
- return $tpl_manager->render($params['template'], array('data' => $data, 'post_id' => $post_id, 'title' => $title));
 
 
 
 
 
221
  }
222
 
223
  private function spliceBlockData($data, $offset, $length)
33
 
34
  private function __construct()
35
  {
36
+
37
  }
38
 
39
  public function init()
156
  $title = $params['title'];
157
  else
158
  $title = $module->config('tpl_title');
159
+
160
+ if (!empty($params['cols']))
161
+ $cols = $params['cols'];
162
+ else
163
+ $cols = 0;
164
+
165
+ return $tpl_manager->render($template, array('items' => $data, 'title' => $title, 'keyword' => $keyword, 'post_id' => $post_id, 'module_id' => $module_id, 'cols' => $cols));
166
  }
167
 
168
  public function viewBlockData(array $module_ids, $post_id = null, $params = array())
224
  else
225
  $title = '';
226
 
227
+ if (!empty($params['cols']))
228
+ $cols = $params['cols'];
229
+ else
230
+ $cols = 0;
231
+
232
+ return $tpl_manager->render($params['template'], array('data' => $data, 'post_id' => $post_id, 'title' => $title, 'cols' => $cols, 'sort' => $params['sort'], 'order' => $params['order']));
233
  }
234
 
235
  private function spliceBlockData($data, $offset, $length)
application/Plugin.php CHANGED
@@ -14,9 +14,9 @@ use ContentEgg\application\helpers\CurrencyHelper;
14
  */
15
  class Plugin {
16
 
17
- const version = '4.3.0';
18
- const db_version = 33;
19
- const wp_requires = '4.2.2';
20
  const slug = 'content-egg';
21
  const api_base = 'http://www.keywordrush.com/api/v1';
22
  const api_base2 = 'http://67.225.139.212/~srvrush/api/v1';
@@ -51,11 +51,12 @@ class Plugin {
51
  CurrencyHelper::getInstance(GeneralConfig::getInstance()->option('lang'));
52
  ProductSearch::initAction();
53
  }
54
- ProductSearchWidget::initAction();
55
  PriceAlert::getInstance()->init();
56
  AutoblogScheduler::initAction();
57
  ModuleUpdateScheduler::initAction();
58
- WooIntegrator::initAction();
 
 
59
  }
60
  }
61
 
@@ -64,9 +65,9 @@ class Plugin {
64
  \wp_register_style('egg-bootstrap', \ContentEgg\PLUGIN_RES . '/bootstrap/css/egg-bootstrap.css');
65
  \wp_register_script('bootstrap', \ContentEgg\PLUGIN_RES . '/bootstrap/js/bootstrap.min.js', array('jquery'), null, false);
66
  \wp_register_style('egg-products', \ContentEgg\PLUGIN_RES . '/css/products.css');
67
- \wp_register_script('raphaeljs', \ContentEgg\PLUGIN_RES . '/js/morris.js/raphael.min.js', array('jquery'));
68
- \wp_register_script('morrisjs', \ContentEgg\PLUGIN_RES . '/js/morris.js/morris.min.js', array('raphaeljs'));
69
- \wp_register_style('morrisjs', \ContentEgg\PLUGIN_RES . '/js/morris.js/morris.min.css');
70
  }
71
 
72
  static public function version()
14
  */
15
  class Plugin {
16
 
17
+ const version = '4.4.3';
18
+ const db_version = 36;
19
+ const wp_requires = '4.6.0';
20
  const slug = 'content-egg';
21
  const api_base = 'http://www.keywordrush.com/api/v1';
22
  const api_base2 = 'http://67.225.139.212/~srvrush/api/v1';
51
  CurrencyHelper::getInstance(GeneralConfig::getInstance()->option('lang'));
52
  ProductSearch::initAction();
53
  }
 
54
  PriceAlert::getInstance()->init();
55
  AutoblogScheduler::initAction();
56
  ModuleUpdateScheduler::initAction();
57
+ WooIntegrator::initAction();
58
+ new ProductSearchWidget;
59
+ new PriceMoversWidget;
60
  }
61
  }
62
 
65
  \wp_register_style('egg-bootstrap', \ContentEgg\PLUGIN_RES . '/bootstrap/css/egg-bootstrap.css');
66
  \wp_register_script('bootstrap', \ContentEgg\PLUGIN_RES . '/bootstrap/js/bootstrap.min.js', array('jquery'), null, false);
67
  \wp_register_style('egg-products', \ContentEgg\PLUGIN_RES . '/css/products.css');
68
+ \wp_register_script('raphaeljs', \ContentEgg\PLUGIN_RES . '/js/morrisjs/raphael.min.js', array('jquery'));
69
+ \wp_register_script('morrisjs', \ContentEgg\PLUGIN_RES . '/js/morrisjs/morris.min.js', array('raphaeljs'));
70
+ \wp_register_style('morrisjs', \ContentEgg\PLUGIN_RES . '/js/morrisjs/morris.min.css');
71
  }
72
 
73
  static public function version()
application/PriceMoversWidget.php ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ContentEgg\application;
4
+
5
+ use ContentEgg\application\components\CEWidget;
6
+ use ContentEgg\application\models\PriceHistoryModel;
7
+ use ContentEgg\application\components\WidgetTemplateManager;
8
+ use ContentEgg\application\components\ContentManager;
9
+ use ContentEgg\application\components\ModuleManager;
10
+ use ContentEgg\application\helpers\TextHelper;
11
+
12
+ /**
13
+ * PriceMoversWidget class file
14
+ *
15
+ * @author keywordrush.com <support@keywordrush.com>
16
+ * @link http://www.keywordrush.com/
17
+ * @copyright Copyright &copy; 2017 keywordrush.com
18
+ */
19
+ class PriceMoversWidget extends CEWidget {
20
+
21
+ const shortcode = 'content-egg-price-movers';
22
+
23
+ public function __construct()
24
+ {
25
+ parent::__construct();
26
+ $this->addShortcode();
27
+ }
28
+
29
+ public function slug()
30
+ {
31
+ return 'cegg_price_movers';
32
+ }
33
+
34
+ public function description()
35
+ {
36
+ return __('Products with the biggest price drops.', 'content-egg');
37
+ }
38
+
39
+ protected function name()
40
+ {
41
+ return __('CE: Price Movers', 'content-egg');
42
+ }
43
+
44
+ public function classname()
45
+ {
46
+ return 'widget cegg_widget_products';
47
+ }
48
+
49
+ public function settings($force = false)
50
+ {
51
+ if (!$force && (empty($GLOBALS['pagenow']) || ($GLOBALS['pagenow'] != 'widgets.php' && $GLOBALS['pagenow'] != 'admin-ajax.php')))
52
+ return array();
53
+
54
+ return
55
+ array(
56
+ 'title' => array(
57
+ 'type' => 'text',
58
+ 'default' => __('Price Drops', 'content-egg-tpl'),
59
+ 'title' => __('Title', 'content-egg'),
60
+ ),
61
+ 'limit' => array(
62
+ 'type' => 'number',
63
+ 'min' => 1,
64
+ 'max' => 30,
65
+ 'default' => 5,
66
+ 'title' => __('Number of products to show', 'content-egg'),
67
+ ),
68
+ 'drop_type' => array(
69
+ 'type' => 'select',
70
+ 'default' => 'absolute',
71
+ 'title' => __('Drop type', 'content-egg'),
72
+ 'options' => array(
73
+ 'absolute' => __('Biggest absolute', 'content-egg'),
74
+ 'relative' => __('Biggest relative', 'content-egg'),
75
+ //'recent' => __('Most recent', 'content-egg'),
76
+ )
77
+ ),
78
+ 'direction' => array(
79
+ 'type' => 'select',
80
+ 'default' => 'drops',
81
+ 'title' => __('Direction', 'content-egg'),
82
+ 'options' => array(
83
+ 'drops' => __('Price drops', 'content-egg'),
84
+ 'increases' => __('Price increases', 'content-egg'),
85
+ )
86
+ ),
87
+ 'last_update' => array(
88
+ 'type' => 'select',
89
+ 'default' => 7,
90
+ 'title' => __('Last update', 'content-egg'),
91
+ 'options' => array(
92
+ 1 => __('1 day ago', 'content-egg'),
93
+ 2 => sprintf(__('%d days ago', 'content-egg'), 2),
94
+ 3 => sprintf(__('%d days ago', 'content-egg'), 3),
95
+ 4 => sprintf(__('%d days ago', 'content-egg'), 4),
96
+ 5 => sprintf(__('%d days ago', 'content-egg'), 5),
97
+ 6 => sprintf(__('%d days ago', 'content-egg'), 6),
98
+ 7 => sprintf(__('%d days ago', 'content-egg'), 7),
99
+ 21 => sprintf(__('%d days ago', 'content-egg'), 21),
100
+ 30 => sprintf(__('%d days ago', 'content-egg'), 30),
101
+ )
102
+ ),
103
+ 'template' => array(
104
+ 'type' => 'select',
105
+ 'default' => 'wdgt_price_movers_grid',
106
+ 'title' => __('Template', 'content-egg'),
107
+ 'options' => WidgetTemplateManager::getInstance($this->slug())->getTemplatesList()
108
+ ),
109
+ );
110
+ }
111
+
112
+ /**
113
+ * Front-end display of widget.
114
+ */
115
+ public function widget($args, $instance)
116
+ {
117
+ $items = $this->getItems($instance);
118
+ if (!$items)
119
+ return;
120
+
121
+ $this->beforeWidget($args, $instance);
122
+ $tpl_manager = WidgetTemplateManager::getInstance($this->slug());
123
+ if (!$tpl_manager->isTemplateExists($instance['template']))
124
+ return;
125
+
126
+ echo $tpl_manager->render($instance['template'], array('items' => $items, 'is_shortcode' => false));
127
+
128
+ $this->afterWidget($args, $instance);
129
+ }
130
+
131
+ private function getItems(array $instance)
132
+ {
133
+ $cache_key = $this->getCacheKey($instance);
134
+ $items = $this->getCache($cache_key);
135
+ if ($items === null)
136
+ {
137
+ $products = PriceHistoryModel::model()->getPriceMovers($instance);
138
+ $active_parsers = array_keys(ModuleManager::getInstance()->getAffiliateParsers(true));
139
+ $items = array();
140
+ foreach ($products as $product)
141
+ {
142
+ if (!in_array($product['module_id'], $active_parsers))
143
+ continue;
144
+ $item = ContentManager::getProductbyUniqueId($product['unique_id'], $product['module_id'], $product['post_id'], $instance);
145
+ if (!$item)
146
+ continue;
147
+
148
+ $product['discount_percent'] = ceil(100 - ($product['price'] * 100) / $product['price_old']);
149
+ $product['discount_value'] = $product['price_old'] - $product['price'];
150
+ $product['create_date'] = strtotime($product['create_date']);
151
+ $product['price_old_date'] = strtotime($product['price_old_date']);
152
+ $item['_price_movers'] = $product;
153
+ $items[] = $item;
154
+ }
155
+ $this->setCache($items, $cache_key, 3600);
156
+ }
157
+ return $items;
158
+ }
159
+
160
+ private function getCacheKey(array $instance)
161
+ {
162
+ $str = '';
163
+ foreach ($instance as $k => $v)
164
+ {
165
+ $str .= $k . $v;
166
+ }
167
+ return md5($str);
168
+ }
169
+
170
+ public function addShortcode()
171
+ {
172
+ \add_shortcode(self::shortcode, array($this, 'viewShortcode'));
173
+ }
174
+
175
+ public function viewShortcode($atts, $content = "")
176
+ {
177
+ $a = $this->prepareAttr($atts);
178
+
179
+ $items = $this->getItems($a);
180
+ if (!$items)
181
+ return;
182
+
183
+ $tpl_manager = WidgetTemplateManager::getInstance($this->slug());
184
+ if (empty($a['template']) || !$tpl_manager->isTemplateExists($a['template']))
185
+ return;
186
+
187
+ return $tpl_manager->render($a['template'], array('items' => $items, 'is_shortcode' => true, 'cols' => $a['cols']));
188
+ }
189
+
190
+ private function prepareAttr($atts)
191
+ {
192
+ $settings = $this->settings(true);
193
+
194
+ $defaults = array();
195
+ foreach ($settings as $name => $setting)
196
+ {
197
+ if (isset($setting['default']))
198
+ $defaults[$name] = $setting['default'];
199
+ else
200
+ $defaults[$name] = '';
201
+ }
202
+ $defaults['template'] = 'wdgt_price_movers_list';
203
+ $defaults['cols'] = 0;
204
+ $defaults['currency'] = '';
205
+
206
+ $a = \shortcode_atts($defaults, $atts);
207
+ $a['limit'] = (int) $a['limit'];
208
+ $a['cols'] = (int) $a['cols'];
209
+ $a['last_update'] = (int) $a['last_update'];
210
+ $a['template'] = \sanitize_text_field($a['template']);
211
+ $a['currency'] = strtoupper(TextHelper::clear($a['currency']));
212
+
213
+ return $a;
214
+ }
215
+
216
+ }
application/ProductSearchWidget.php CHANGED
@@ -2,6 +2,8 @@
2
 
3
  namespace ContentEgg\application;
4
 
 
 
5
  /**
6
  * ProductSearchWidget class file
7
  *
@@ -9,69 +11,51 @@ namespace ContentEgg\application;
9
  * @link http://www.keywordrush.com/
10
  * @copyright Copyright &copy; 2017 keywordrush.com
11
  */
12
- class ProductSearchWidget extends \WP_Widget {
13
 
14
- public static function initAction()
15
  {
16
- \add_action('widgets_init', function() {
17
- \register_widget(__CLASS__);
18
- });
19
  }
20
 
21
- /**
22
- * Register widget with WordPress.
23
- */
24
- public function __construct()
25
  {
26
- parent::__construct(
27
- 'cegg_product_search', \esc_html__('CE:Product Search', 'content-egg'), array('description' => \esc_html__('A search form for affiliate products.', 'content-egg'), 'classname' => 'widget widget_search')
28
- );
29
  }
30
 
31
- /**
32
- * Front-end display of widget.
33
- *
34
- */
35
- public function widget($args, $instance)
36
  {
37
- $title = \apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
38
-
39
- echo $args['before_widget'];
40
- if ($title)
41
- {
42
- echo $args['before_title'] . $title . $args['after_title'];
43
- }
44
-
45
- // Use current theme search form if it exists
46
- echo self::getSearchForm();
47
 
48
- echo $args['after_widget'];
 
 
49
  }
50
 
51
- /**
52
- * Back-end widget form.
53
- *
54
- */
55
- public function form($instance)
56
  {
57
- $title = !empty($instance['title']) ? $instance['title'] : '';
58
- ?>
59
- <p>
60
- <label for="<?php echo \esc_attr($this->get_field_id('title')); ?>"><?php \esc_attr_e('Title:', 'content-egg'); ?></label>
61
- <input class="widefat" id="<?php echo \esc_attr($this->get_field_id('title')); ?>" name="<?php echo \esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo \esc_attr($title); ?>">
62
- </p>
63
- <?php
 
64
  }
65
 
66
  /**
67
- * Sanitize widget form values as they are saved.
68
  */
69
- public function update($new_instance, $old_instance)
70
  {
71
- $instance = array();
72
- $instance['title'] = (!empty($new_instance['title']) ) ? sanitize_text_field($new_instance['title']) : '';
 
 
73
 
74
- return $instance;
75
  }
76
 
77
  public static function getSearchForm()
2
 
3
  namespace ContentEgg\application;
4
 
5
+ use ContentEgg\application\components\CEWidget;
6
+
7
  /**
8
  * ProductSearchWidget class file
9
  *
11
  * @link http://www.keywordrush.com/
12
  * @copyright Copyright &copy; 2017 keywordrush.com
13
  */
14
+ class ProductSearchWidget extends CEWidget {
15
 
16
+ public function slug()
17
  {
18
+ return 'cegg_product_search';
 
 
19
  }
20
 
21
+ public function description()
 
 
 
22
  {
23
+ return __('A search form for affiliate products.', 'content-egg');
 
 
24
  }
25
 
26
+ protected function name()
 
 
 
 
27
  {
28
+ return __('CE: Product Search', 'content-egg');
29
+ }
 
 
 
 
 
 
 
 
30
 
31
+ public function classname()
32
+ {
33
+ return 'widget widget_search';
34
  }
35
 
36
+ public function settings()
 
 
 
 
37
  {
38
+ return
39
+ array(
40
+ 'title' => array(
41
+ 'type' => 'text',
42
+ 'default' => '',
43
+ 'title' => __('Title', 'content-egg'),
44
+ ),
45
+ );
46
  }
47
 
48
  /**
49
+ * Front-end display of widget.
50
  */
51
+ public function widget($args, $instance)
52
  {
53
+ $this->beforeWidget($args, $instance);
54
+
55
+ // Use current theme search form if it exists
56
+ echo self::getSearchForm();
57
 
58
+ $this->afterWidget($args, $instance);
59
  }
60
 
61
  public static function getSearchForm()
application/WooIntegrator.php CHANGED
@@ -127,11 +127,12 @@ class WooIntegrator {
127
  if ($item['priceOld'])
128
  {
129
  $product->set_regular_price($item['priceOld'] * $currency_rate);
130
- $product->set_sale_price($item['price'] * $currency_rate);
 
131
  } else
132
  {
133
  /*
134
- * If my initial import from LEGO filled in all the correct Retail values,
135
  * I don’t want them touched. Retail should never really be changed regardless
136
  * of the new lowest price.
137
  */
@@ -141,7 +142,8 @@ class WooIntegrator {
141
  } else
142
  {
143
  $product->set_regular_price($item['price'] * $currency_rate);
144
- $product->set_sale_price(null);
 
145
  }
146
  }
147
  } else
@@ -152,7 +154,10 @@ class WooIntegrator {
152
  }
153
 
154
  if ($item['description'] && !$product->get_short_description())
155
- $product->set_short_description($item['description']);
 
 
 
156
 
157
  $product->set_date_modified(time());
158
 
@@ -324,6 +329,13 @@ class WooIntegrator {
324
 
325
  public static function modifyAttribute($name, $value, $slug = '')
326
  {
 
 
 
 
 
 
 
327
  /**
328
  * Modifiers
329
  */
127
  if ($item['priceOld'])
128
  {
129
  $product->set_regular_price($item['priceOld'] * $currency_rate);
130
+ if (!\apply_filters('cegg_dont_touch_sale_price', false))
131
+ $product->set_sale_price($item['price'] * $currency_rate);
132
  } else
133
  {
134
  /*
135
+ * If my initial import from Products filled in all the correct Retail values,
136
  * I don’t want them touched. Retail should never really be changed regardless
137
  * of the new lowest price.
138
  */
142
  } else
143
  {
144
  $product->set_regular_price($item['price'] * $currency_rate);
145
+ if (!\apply_filters('cegg_dont_touch_sale_price', false))
146
+ $product->set_sale_price(null);
147
  }
148
  }
149
  } else
154
  }
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
 
162
  $product->set_date_modified(time());
163
 
329
 
330
  public static function modifyAttribute($name, $value, $slug = '')
331
  {
332
+ $ignore_names = array('model', 'wifi', 'version');
333
+ foreach ($ignore_names as $in)
334
+ {
335
+ if (mb_stristr($name, $in, true, 'utf-8') !== false)
336
+ return array('name' => $name, 'value' => $value);
337
+ }
338
+
339
  /**
340
  * Modifiers
341
  */
application/admin/AeIntegrationConfig.php CHANGED
@@ -56,9 +56,11 @@ class AeIntegrationConfig extends Config {
56
 
57
  public static function isAEIntegrationPosible()
58
  {
59
- if (!in_array('affiliate-egg/affiliate-egg.php', \apply_filters('active_plugins', \get_option('active_plugins'))))
 
 
60
  return false;
61
-
62
  if (!class_exists('\Keywordrush\AffiliateEgg\ShopManager') || !\Keywordrush\AffiliateEgg\LicConfig::getInstance()->option('license_key'))
63
  return false;
64
 
56
 
57
  public static function isAEIntegrationPosible()
58
  {
59
+ include_once(ABSPATH .'wp-admin/includes/plugin.php');
60
+
61
+ if (!\is_plugin_active('affiliate-egg/affiliate-egg.php'))
62
  return false;
63
+
64
  if (!class_exists('\Keywordrush\AffiliateEgg\ShopManager') || !\Keywordrush\AffiliateEgg\LicConfig::getInstance()->option('license_key'))
65
  return false;
66
 
application/admin/EggMetabox.php CHANGED
@@ -169,7 +169,9 @@ class EggMetabox {
169
  \wp_enqueue_style('justified-gallery', \ContentEgg\PLUGIN_RES . '/justified_gallery/justifiedGallery.min.css');
170
 
171
  // Angular core
172
- \wp_enqueue_script('angularjs', '//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js', array('jquery'), null);
 
 
173
 
174
  // ContentEgg angular application
175
  \wp_enqueue_style('contentegg-admin', \ContentEgg\PLUGIN_RES . '/css/admin.css');
169
  \wp_enqueue_style('justified-gallery', \ContentEgg\PLUGIN_RES . '/justified_gallery/justifiedGallery.min.css');
170
 
171
  // Angular core
172
+ //\wp_enqueue_script('angularjs', '//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js', array('jquery'), null);
173
+ \wp_enqueue_script('angularjs', 'https://code.angularjs.org/1.6.1/angular.min.js', array('jquery'), null);
174
+
175
 
176
  // ContentEgg angular application
177
  \wp_enqueue_style('contentegg-admin', \ContentEgg\PLUGIN_RES . '/css/admin.css');
application/admin/GeneralConfig.php CHANGED
@@ -139,6 +139,27 @@ class GeneralConfig extends Config {
139
  ),
140
  'section' => __('Price alerts', 'content-egg'),
141
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  'price_alert_enabled' => array(
143
  'title' => 'Price alert',
144
  'description' => __('Allow members to subscribe for price drop alert on email.', 'content-egg') .
@@ -260,10 +281,10 @@ class GeneralConfig extends Config {
260
  'woocommerce_attributes_sync' => array(
261
  'title' => __('Attributes synchronization', 'content-egg'),
262
  'description' => __('Also synchronize attributes automatically for synchronized product.', 'content-egg'),
263
- 'callback' => array($this, 'render_checkbox'),
264
  'default' => false,
265
  'section' => __('WooCommerce synchronization', 'content-egg'),
266
- ),
267
  'woocommerce_attributes_filter' => array(
268
  'title' => __('Global attributes filter', 'content-egg'),
269
  'description' => __('How to create wocommerce attributes when synchronizing. Please, read documentation about them in our docs.', 'content-egg'),
@@ -293,8 +314,7 @@ class GeneralConfig extends Config {
293
  'all' => __('All modules', 'content-egg'),
294
  ),
295
  'default' => 'amazon',
296
- 'section' => __('WooCommerce synchronization', 'content-egg'), ),
297
-
298
  );
299
  }
300
 
139
  ),
140
  'section' => __('Price alerts', 'content-egg'),
141
  ),
142
+ 'price_drops_days' => array(
143
+ 'title' => __('Price drops period', 'content-egg'),
144
+ 'description' => __('Used for Price Movers widget.', 'content-egg'),
145
+ 'callback' => array($this, 'render_dropdown'),
146
+ 'dropdown_options' => array(
147
+ '1.' => __('The last 1 day', 'content-egg'),
148
+ '2.' => sprintf(__('The last %d days', 'content-egg'), 2),
149
+ '3.' => sprintf(__('The last %d days', 'content-egg'), 3),
150
+ '4.' => sprintf(__('The last %d days', 'content-egg'), 4),
151
+ '5.' => sprintf(__('The last %d days', 'content-egg'), 5),
152
+ '6.' => sprintf(__('The last %d days', 'content-egg'), 6),
153
+ '7.' => sprintf(__('The last %d days', 'content-egg'), 7),
154
+ '21.' => sprintf(__('The last %d days', 'content-egg'), 21),
155
+ '30.' => sprintf(__('The last %d days', 'content-egg'), 30),
156
+ '90.' => sprintf(__('The last %d days', 'content-egg'), 90),
157
+ '180.' => sprintf(__('The last %d days', 'content-egg'), 180),
158
+ '360.' => sprintf(__('The last %d days', 'content-egg'), 360),
159
+ ),
160
+ 'default' => '30.',
161
+ 'section' => __('Price alerts', 'content-egg'),
162
+ ),
163
  'price_alert_enabled' => array(
164
  'title' => 'Price alert',
165
  'description' => __('Allow members to subscribe for price drop alert on email.', 'content-egg') .
281
  'woocommerce_attributes_sync' => array(
282
  'title' => __('Attributes synchronization', 'content-egg'),
283
  'description' => __('Also synchronize attributes automatically for synchronized product.', 'content-egg'),
284
+ 'callback' => array($this, 'render_checkbox'),
285
  'default' => false,
286
  'section' => __('WooCommerce synchronization', 'content-egg'),
287
+ ),
288
  'woocommerce_attributes_filter' => array(
289
  'title' => __('Global attributes filter', 'content-egg'),
290
  'description' => __('How to create wocommerce attributes when synchronizing. Please, read documentation about them in our docs.', 'content-egg'),
314
  'all' => __('All modules', 'content-egg'),
315
  ),
316
  'default' => 'amazon',
317
+ 'section' => __('WooCommerce synchronization', 'content-egg'),),
 
318
  );
319
  }
320
 
application/admin/PrefillController.php CHANGED
@@ -44,7 +44,7 @@ class PrefillController {
44
  foreach ($post_ids as $post_id)
45
  {
46
  $post = array();
47
- $post['id'] = $post_id;
48
  $post['post_type'] = \get_post_field('post_type', $post_id);
49
  $post['post_status'] = \get_post_field('post_status', $post_id);
50
  $posts[] = $post;
@@ -95,7 +95,7 @@ class PrefillController {
95
  $minus_words = TextHelper::commaList(InputHelper::post('minus_words'));
96
  $custom_field_names = InputHelper::post('custom_field_names', array());
97
  $custom_field_values = InputHelper::post('custom_field_values', array());
98
-
99
  if ($minus_words)
100
  $minus_words = explode(',', $minus_words);
101
  $custom_field = InputHelper::post('custom_field', '');
@@ -223,21 +223,16 @@ class PrefillController {
223
  $keyword = \get_post_meta($post_id, ContentManager::META_PREFIX_KEYWORD . $keyword_source, true);
224
  }
225
 
226
- // split into words
227
- $wordlist = preg_split('/\W/u', $keyword, 0, PREG_SPLIT_NO_EMPTY);
228
- $wordlist = array_unique($wordlist);
229
-
230
- // returns only words that have minimum 2 chars
231
- /*
232
- $wordlist = array_filter($wordlist, function($val) {
233
- return mb_strlen($val, 'UTF-8') >= 2;
234
- });
235
- *
236
- */
237
-
238
- $wordlist = array_slice($wordlist, 0, $keyword_count);
239
 
240
- return join(' ', $wordlist);
241
  }
242
 
243
  private function getDensText($post_id)
44
  foreach ($post_ids as $post_id)
45
  {
46
  $post = array();
47
+ $post['id'] = $post_id;
48
  $post['post_type'] = \get_post_field('post_type', $post_id);
49
  $post['post_status'] = \get_post_field('post_status', $post_id);
50
  $posts[] = $post;
95
  $minus_words = TextHelper::commaList(InputHelper::post('minus_words'));
96
  $custom_field_names = InputHelper::post('custom_field_names', array());
97
  $custom_field_values = InputHelper::post('custom_field_values', array());
98
+
99
  if ($minus_words)
100
  $minus_words = explode(',', $minus_words);
101
  $custom_field = InputHelper::post('custom_field', '');
223
  $keyword = \get_post_meta($post_id, ContentManager::META_PREFIX_KEYWORD . $keyword_source, true);
224
  }
225
 
226
+ if (!filter_var($keyword, FILTER_VALIDATE_URL))
227
+ {
228
+ // split into words
229
+ $wordlist = preg_split('/\W/u', $keyword, 0, PREG_SPLIT_NO_EMPTY);
230
+ $wordlist = array_unique($wordlist);
231
+ $wordlist = array_slice($wordlist, 0, $keyword_count);
232
+ $keyword = join(' ', $wordlist);
233
+ }
 
 
 
 
 
234
 
235
+ return $keyword;
236
  }
237
 
238
  private function getDensText($post_id)
application/admin/views/_metabox_autoblog.php CHANGED
@@ -1,6 +1,8 @@
1
  <?php
2
 
3
  use ContentEgg\application\components\ModuleManager;
 
 
4
  ?>
5
  <table cellspacing="2" cellpadding="5" style="width: 100%;" class="form-table">
6
  <tbody>
@@ -303,25 +305,15 @@ use ContentEgg\application\components\ModuleManager;
303
  <label for="category"><?php _e('Category ', 'content-egg'); ?></label>
304
  </th>
305
  <td>
306
- <?php
307
- $opt = array('name' => 'item[category]', 'id' => 'category', 'selected' => $item['category'], 'hide_empty' => false);
308
- //\wp_dropdown_categories($opt);
309
- // categs + product categs
310
- $taxonomy = array('category');
311
- if (taxonomy_exists('product_cat'))
312
- $taxonomy[] = 'product_cat';
313
- $cat_args = array('taxonomy' => $taxonomy, 'orderby' => 'name', 'order' => 'asc', 'hide_empty' => false);
314
- $categories = \get_terms($cat_args);
315
- ?>
316
 
317
  <select name="item[category]" id="category">
318
  <?php if ($batch): ?>
319
  <option value="-1" <?php \selected($item['category'], -1); ?>>[ <?php _e('Create Automatically', 'content-egg');?> ]</option>
320
  <?php endif; ?>
321
- <?php foreach ($categories as $category): ?>
322
- <option value="<?php echo \esc_attr($category->term_id); ?>" <?php \selected($item['category'], $category->term_id); ?>>
323
- <?php echo \esc_attr($category->name); ?>
324
- <?php if ($category->taxonomy == 'product_cat'):?> [product]<?php endif; ?>
325
  </option>
326
  <?php endforeach; ?>
327
  </select>
1
  <?php
2
 
3
  use ContentEgg\application\components\ModuleManager;
4
+ use ContentEgg\application\helpers\AdminHelper;
5
+
6
  ?>
7
  <table cellspacing="2" cellpadding="5" style="width: 100%;" class="form-table">
8
  <tbody>
305
  <label for="category"><?php _e('Category ', 'content-egg'); ?></label>
306
  </th>
307
  <td>
308
+ <?php $categories = AdminHelper::getCategoryList(); ?>
 
 
 
 
 
 
 
 
 
309
 
310
  <select name="item[category]" id="category">
311
  <?php if ($batch): ?>
312
  <option value="-1" <?php \selected($item['category'], -1); ?>>[ <?php _e('Create Automatically', 'content-egg');?> ]</option>
313
  <?php endif; ?>
314
+ <?php foreach ($categories as $c_id => $c_name): ?>
315
+ <option value="<?php echo \esc_attr($c_id); ?>" <?php \selected($item['category'], $c_id); ?>>
316
+ <?php echo \esc_attr($c_name); ?>
 
317
  </option>
318
  <?php endforeach; ?>
319
  </select>
application/admin/views/_metabox_results.php CHANGED
@@ -15,7 +15,8 @@ $is_woo = (\get_post_type($GLOBALS['post']->ID) == 'product') ? true : false;
15
  <small ng-show="data.price"><b>{{data.currencyCode}} {{data.price}}</b></small>
16
  </div>
17
  <div ng-class="data.img ? 'col-md-9' : 'col-md-10'">
18
- <input type="text" placeholder="<?php _e('Title', 'content-egg'); ?>" ng-model="data.title" class="form-control" style="margin-bottom: 5px;">
 
19
  <textarea type="text" placeholder="<?php _e('Description', 'content-egg'); ?>" rows="1" ng-model="data.description" class="col-sm-12"></textarea>
20
 
21
  <?php if ($is_woo && $module->isAffiliateParser()): ?>
15
  <small ng-show="data.price"><b>{{data.currencyCode}} {{data.price}}</b></small>
16
  </div>
17
  <div ng-class="data.img ? 'col-md-9' : 'col-md-10'">
18
+ <input type="text" placeholder="<?php _e('Title', 'content-egg'); ?>" ng-model="data.title" class="col-md-10" style="margin-bottom: 5px;">
19
+ <input type="text" placeholder="<?php _e('Domain', 'content-egg'); ?>" ng-model="data.domain" class="col-md-2" style="margin-bottom: 5px;">
20
  <textarea type="text" placeholder="<?php _e('Description', 'content-egg'); ?>" rows="1" ng-model="data.description" class="col-sm-12"></textarea>
21
 
22
  <?php if ($is_woo && $module->isAffiliateParser()): ?>
application/components/CEWidget.php ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ContentEgg\application\components;
4
+
5
+ /**
6
+ * ProductSearchWidget class file
7
+ *
8
+ * @author keywordrush.com <support@keywordrush.com>
9
+ * @link http://www.keywordrush.com/
10
+ * @copyright Copyright &copy; 2017 keywordrush.com
11
+ */
12
+ abstract class CEWidget extends \WP_Widget {
13
+
14
+ public $name;
15
+ protected $slug;
16
+ protected $description;
17
+ protected $classname;
18
+ protected $settings;
19
+
20
+ public function __construct()
21
+ {
22
+ \add_action('widgets_init', function() {
23
+ \register_widget(get_called_class());
24
+ });
25
+
26
+ $this->slug = $this->slug();
27
+ $this->name = $this->name();
28
+ $this->description = $this->description();
29
+ $this->classname = $this->classname();
30
+ $this->settings = $this->settings();
31
+
32
+ parent::__construct(
33
+ $this->slug, \esc_html($this->name), array('description' => \esc_html($this->description), 'classname' => $this->classname)
34
+ );
35
+
36
+ \add_action('save_post', array($this, 'flushСache'));
37
+ \add_action('deleted_post', array($this, 'flushСache'));
38
+ \add_action('switch_theme', array($this, 'flushСache'));
39
+ \add_action('content_egg_price_history_save', array($this, 'flushСache'));
40
+ }
41
+
42
+ abstract public function slug();
43
+
44
+ abstract public function description();
45
+
46
+ abstract protected function name();
47
+
48
+ abstract public function classname();
49
+
50
+ public function settings()
51
+ {
52
+ return array();
53
+ }
54
+
55
+ public function setCache($data, $key = 0, $expire = 0)
56
+ {
57
+ if (!$key)
58
+ $key = 0;
59
+ $cache = \wp_cache_get($this->slug, 'widget');
60
+ if (!$cache || !is_array($cache))
61
+ $cache = array();
62
+ $cache[$key] = $data;
63
+ \wp_cache_set($this->slug, $cache, 'widget', $expire);
64
+ }
65
+
66
+ public function getCache($key = 0)
67
+ {
68
+ $cache = \wp_cache_get($this->slug, 'widget');
69
+ if (!$key)
70
+ $key = 0;
71
+ $cache = \wp_cache_get($this->slug, 'widget');
72
+
73
+ if (!$cache || !is_array($cache))
74
+ $cache = array();
75
+
76
+ if (isset($cache[$key]))
77
+ return $cache[$key];
78
+ else
79
+ return null;
80
+ }
81
+
82
+ public function flushСache()
83
+ {
84
+ \wp_cache_delete($this->slug, 'widget');
85
+ }
86
+
87
+ public function update($new_instance, $old_instance)
88
+ {
89
+ $instance = array();
90
+
91
+ if (!$this->settings || !is_array($this->settings))
92
+ return array();
93
+
94
+ foreach ($this->settings as $key => $setting)
95
+ {
96
+ switch ($setting['type'])
97
+ {
98
+ case 'number':
99
+ $instance[$key] = absint($new_instance[$key]);
100
+ if (isset($setting['min']) && $instance[$key] < $setting['min'])
101
+ $instance[$key] = $setting['min'];
102
+ if (isset($setting['max']) && $instance[$key] > $setting['max'])
103
+ $instance[$key] = $setting['max'];
104
+ break;
105
+ case 'textarea':
106
+ $instance[$key] = \wp_kses(trim(\wp_unslash($new_instance[$key])), \wp_kses_allowed_html('post'));
107
+ break;
108
+ case 'checkbox':
109
+ $instance[$key] = empty($new_instance[$key]) ? 0 : 1;
110
+ break;
111
+ default:
112
+ $instance[$key] = (!empty($new_instance[$key])) ? \sanitize_text_field($new_instance[$key]) : '';
113
+ break;
114
+ }
115
+ }
116
+
117
+ $this->flushСache();
118
+ return $instance;
119
+ }
120
+
121
+ public function form($instance)
122
+ {
123
+ if (!$this->settings || !is_array($this->settings))
124
+ return array();
125
+ foreach ($this->settings as $key => $setting)
126
+ {
127
+ $value = isset($instance[$key]) ? $instance[$key] : $setting['default'];
128
+ switch ($setting['type'])
129
+ {
130
+ case 'number' :
131
+ ?>
132
+ <p>
133
+ <label for="<?php echo \esc_attr($this->get_field_id($key)); ?>"><?php echo \esc_attr($setting['title']); ?>:</label>
134
+ <input class="widefat" id="<?php echo \esc_attr($this->get_field_id($key)); ?>" name="<?php echo \esc_attr($this->get_field_name($key)); ?>" type="number" min="<?php echo \esc_attr($setting['min']); ?>" max="<?php echo \esc_attr($setting['max']); ?>" value="<?php echo \esc_attr($value); ?>" />
135
+ </p>
136
+ <?php
137
+ break;
138
+
139
+ case 'select' :
140
+ ?>
141
+ <p>
142
+ <label for="<?php echo \esc_attr($this->get_field_id($key)); ?>"><?php echo \esc_attr($setting['title']); ?>:</label>
143
+ <select class="widefat" id="<?php echo \esc_attr($this->get_field_id($key)); ?>" name="<?php echo \esc_attr($this->get_field_name($key)); ?>">
144
+ <?php foreach ($setting['options'] as $option_key => $option_value) : ?>
145
+ <option value="<?php echo \esc_attr($option_key); ?>" <?php \selected($option_key, $value); ?>><?php echo \esc_html($option_value); ?></option>
146
+ <?php endforeach; ?>
147
+ </select>
148
+ </p>
149
+ <?php
150
+ break;
151
+
152
+ case 'textarea' :
153
+ ?>
154
+ <p>
155
+ <label for="<?php echo $this->get_field_id($key); ?>"><?php echo $setting['title']; ?>:</label>
156
+ <textarea class="widefat <?php echo esc_attr($class); ?>" id="<?php echo esc_attr($this->get_field_id($key)); ?>" name="<?php echo $this->get_field_name($key); ?>" cols="20" rows="3"><?php echo esc_textarea($value); ?></textarea>
157
+ <?php if (isset($setting['desc'])) : ?>
158
+ <small><?php echo esc_html($setting['desc']); ?></small>
159
+ <?php endif; ?>
160
+ </p>
161
+ <?php
162
+ break;
163
+
164
+ case 'checkbox' :
165
+ ?>
166
+ <p>
167
+ <input class="checkbox" id="<?php echo \esc_attr($this->get_field_id($key)); ?>" name="<?php echo \esc_attr($this->get_field_name($key)); ?>" type="checkbox" value="1" <?php checked($value, 1); ?> />
168
+ <label for="<?php echo \esc_attr($this->get_field_id($key)); ?>"><?php echo \esc_attr($setting['title']); ?></label>
169
+ </p>
170
+ <?php
171
+ break;
172
+ default :
173
+ ?>
174
+ <p>
175
+ <label for="<?php echo \esc_attr($this->get_field_id($key)); ?>"><?php echo \esc_attr($setting['title']); ?>:</label>
176
+ <input class="widefat" id="<?php echo \esc_attr($this->get_field_id($key)); ?>" name="<?php echo \esc_attr($this->get_field_name($key)); ?>" type="text" value="<?php echo \esc_attr($value); ?>">
177
+ </p>
178
+ <?php
179
+ break;
180
+ }
181
+ }
182
+ }
183
+
184
+ public function beforeWidget($args, $instance)
185
+ {
186
+ $title = \apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
187
+ echo $args['before_widget'];
188
+ if ($title)
189
+ echo $args['before_title'] . $title . $args['after_title'];
190
+ }
191
+
192
+ public function afterWidget($args, $instance)
193
+ {
194
+ echo $args['after_widget'];
195
+ }
196
+
197
+ }
application/components/ContentManager.php CHANGED
@@ -7,6 +7,7 @@ use ContentEgg\application\helpers\ArrayHelper;
7
  use ContentEgg\application\admin\GeneralConfig;
8
  use ContentEgg\application\models\PriceHistoryModel;
9
  use ContentEgg\application\PriceAlert;
 
10
 
11
  /**
12
  * ContentManager class file
@@ -203,9 +204,10 @@ class ContentManager {
203
  $data = self::dataPreviewPrepare($data, $module_id, $post_id, $params);
204
  self::$_view_data[$data_id] = $data;
205
  }
206
-
207
- // locale fix...
208
  $data = self::$_view_data[$data_id];
 
 
209
  if (!empty($params['locale']))
210
  {
211
  foreach ($data as $key => $d)
@@ -215,6 +217,26 @@ class ContentManager {
215
  }
216
  }
217
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  return $data;
219
  }
220
 
@@ -233,8 +255,13 @@ class ContentManager {
233
  {
234
  $is_ssl = \is_ssl();
235
  $http_home_url = str_replace('https://', 'http://', \home_url('/'));
 
 
236
  foreach ($data as $key => $d)
237
  {
 
 
 
238
  // domain fix && logo
239
  if (empty($d['extra']['domain']) && isset($d['domain']))
240
  $data[$key]['extra']['domain'] = $d['domain'];
@@ -250,6 +277,7 @@ class ContentManager {
250
  $data[$key]['img'] = str_replace('http://', '//', $d['img']);
251
 
252
  $data[$key]['post_id'] = $post_id;
 
253
  }
254
  // local redirect & other
255
  $module = ModuleManager::getInstance()->factory($module_id);
@@ -259,9 +287,9 @@ class ContentManager {
259
  return $data;
260
  }
261
 
262
- public static function getProductbyUniqueId($unique_id, $module_id, $post_id)
263
  {
264
- $data = self::getViewData($module_id, $post_id);
265
  if ($data && isset($data[$unique_id]))
266
  return $data[$unique_id];
267
  else
7
  use ContentEgg\application\admin\GeneralConfig;
8
  use ContentEgg\application\models\PriceHistoryModel;
9
  use ContentEgg\application\PriceAlert;
10
+ use ContentEgg\application\helpers\CurrencyHelper;
11
 
12
  /**
13
  * ContentManager class file
204
  $data = self::dataPreviewPrepare($data, $module_id, $post_id, $params);
205
  self::$_view_data[$data_id] = $data;
206
  }
207
+
 
208
  $data = self::$_view_data[$data_id];
209
+
210
+ // locale fix...
211
  if (!empty($params['locale']))
212
  {
213
  foreach ($data as $key => $d)
217
  }
218
  }
219
 
220
+ // convert all prices to one currency
221
+ if (!empty($params['currency']))
222
+ {
223
+ foreach ($data as $key => $d)
224
+ {
225
+ $rate = CurrencyHelper::getCurrencyRate($d['currencyCode'], $params['currency']);
226
+ if (!$rate)
227
+ continue;
228
+
229
+ if (!empty($d['price']))
230
+ {
231
+ $data[$key]['price'] = $d['price'] * $rate;
232
+ $data[$key]['currencyCode'] = $params['currency'];
233
+ }
234
+ if (!empty($d['priceOld']))
235
+ {
236
+ $data[$key]['priceOld'] = $d['priceOld'] * $rate;
237
+ }
238
+ }
239
+ }
240
  return $data;
241
  }
242
 
255
  {
256
  $is_ssl = \is_ssl();
257
  $http_home_url = str_replace('https://', 'http://', \home_url('/'));
258
+ //$base_currency = GeneralConfig::getInstance()->option('base_currency');
259
+
260
  foreach ($data as $key => $d)
261
  {
262
+ if (empty($data[$key]['extra']) || !is_array($data[$key]['extra']))
263
+ $data[$key]['extra'] = array();
264
+
265
  // domain fix && logo
266
  if (empty($d['extra']['domain']) && isset($d['domain']))
267
  $data[$key]['extra']['domain'] = $d['domain'];
277
  $data[$key]['img'] = str_replace('http://', '//', $d['img']);
278
 
279
  $data[$key]['post_id'] = $post_id;
280
+ $data[$key]['module_id'] = $module_id;
281
  }
282
  // local redirect & other
283
  $module = ModuleManager::getInstance()->factory($module_id);
287
  return $data;
288
  }
289
 
290
+ public static function getProductbyUniqueId($unique_id, $module_id, $post_id, $params = array())
291
  {
292
+ $data = self::getViewData($module_id, $post_id, $params);
293
  if ($data && isset($data[$unique_id]))
294
  return $data[$unique_id];
295
  else
application/components/Cpa.php CHANGED
@@ -80,7 +80,7 @@ class Cpa {
80
  'epnclick.ru' => 'to',
81
  'alipromo.com' => 'to', //epn.bz
82
  //'click.linksynergy.com' => 'murl',
83
- 'click.linksynergy.com' => 'RD_PARM1',
84
  );
85
 
86
  $p = parse_url($deeplink);
80
  'epnclick.ru' => 'to',
81
  'alipromo.com' => 'to', //epn.bz
82
  //'click.linksynergy.com' => 'murl',
83
+ //'click.linksynergy.com' => 'RD_PARM1',
84
  );
85
 
86
  $p = parse_url($deeplink);
application/components/LinkHandler.php CHANGED
@@ -28,6 +28,11 @@ class LinkHandler {
28
  */
29
  public static function createAffUrl($url, $deeplink, $item = array(), $subid = '')
30
  {
 
 
 
 
 
31
  // profitshare fix. return if url already created
32
  if (!empty($item['url']) && strstr($item['url'], '/l.profitshare.ro/'))
33
  return $item['url'];
28
  */
29
  public static function createAffUrl($url, $deeplink, $item = array(), $subid = '')
30
  {
31
+ // custom filter
32
+ $filtered = \apply_filters('cegg_create_affiliate_link', $url, $deeplink);
33
+ if ($filtered != $url)
34
+ return $url;
35
+
36
  // profitshare fix. return if url already created
37
  if (!empty($item['url']) && strstr($item['url'], '/l.profitshare.ro/'))
38
  return $item['url'];
application/components/WidgetTemplateManager.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ContentEgg\application\components;
4
+
5
+ /**
6
+ * WidgetTemplateManager class file
7
+ *
8
+ * @author keywordrush.com <support@keywordrush.com>
9
+ * @link http://www.keywordrush.com/
10
+ * @copyright Copyright &copy; 2017 keywordrush.com
11
+ */
12
+ class WidgetTemplateManager extends TemplateManager {
13
+
14
+ const TEMPLATE_DIR = 'templates';
15
+ const CUSTOM_TEMPLATE_DIR = 'content-egg-templates';
16
+ const TEMPLATE_PREFIX = 'wdgt_';
17
+
18
+ protected $widget_slug;
19
+ protected $widget_short_slug;
20
+ private static $_instances = array();
21
+
22
+ public static function getInstance($widget_slug)
23
+ {
24
+ if (!isset(self::$_instances[$widget_slug]))
25
+ {
26
+ $class = get_called_class();
27
+ self::$_instances[$widget_slug] = new $class($widget_slug);
28
+ }
29
+ return self::$_instances[$widget_slug];
30
+ }
31
+
32
+ private function __construct($widget_slug)
33
+ {
34
+ $this->widget_slug = $widget_slug;
35
+ $this->widget_short_slug = preg_replace('/^cegg_/', '', $this->widget_slug);
36
+ }
37
+
38
+ public function getTempatePrefix()
39
+ {
40
+ return self::TEMPLATE_PREFIX . $this->widget_short_slug . '_';
41
+ }
42
+
43
+ public function getTempateDir()
44
+ {
45
+ return \ContentEgg\PLUGIN_PATH . self::TEMPLATE_DIR;
46
+ }
47
+
48
+ public function getCustomTempateDirs()
49
+ {
50
+ return array(
51
+ 'child-theme' => \get_stylesheet_directory() . '/' . self::CUSTOM_TEMPLATE_DIR, //child theme
52
+ 'theme' => \get_template_directory() . '/' . self::CUSTOM_TEMPLATE_DIR, // theme
53
+ 'custom' => \ABSPATH . 'wp-content/' . self::CUSTOM_TEMPLATE_DIR,
54
+ );
55
+ }
56
+
57
+ public function render($view_name, array $_data = array())
58
+ {
59
+ if (!self::isCustomTemplate($view_name))
60
+ $this->enqueueProductsStyle();
61
+ return parent::render($view_name, $_data);
62
+ }
63
+
64
+ }
application/helpers/AdminHelper.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ContentEgg\application\helpers;
4
+
5
+ use ContentEgg\application\admin\GeneralConfig;
6
+
7
+
8
+ /**
9
+ * AdminHelper class file
10
+ *
11
+ * @author keywordrush.com <support@keywordrush.com>
12
+ * @link http://www.keywordrush.com/
13
+ * @copyright Copyright &copy; 2017 keywordrush.com
14
+ *
15
+ */
16
+ class AdminHelper {
17
+
18
+ public static function getCategoryList()
19
+ {
20
+ $opt = array('name' => 'item[category]', 'id' => 'category', 'hide_empty' => false);
21
+
22
+ // categs + product categs
23
+ $taxonomy = array('category');
24
+
25
+ // @todo: widget is initialized before woo? taxonomy does not exist
26
+ if (in_array('product', GeneralConfig::getInstance()->option('post_types')) && \taxonomy_exists('product_cat'))
27
+ $taxonomy[] = 'product_cat';
28
+
29
+ $cat_args = array('taxonomy' => $taxonomy, 'orderby' => 'name', 'order' => 'asc', 'hide_empty' => false);
30
+ $categories = \get_terms($cat_args);
31
+
32
+ $results = array();
33
+ foreach ($categories as $key => $category)
34
+ {
35
+ $results[$category->term_id] = $category->name;
36
+ if ($category->taxonomy == 'product_cat')
37
+ $results[$category->term_id] .= ' [product]';
38
+ }
39
+
40
+ return $results;
41
+ }
42
+
43
+ }
application/helpers/CurrencyHelper.php CHANGED
@@ -16,6 +16,7 @@ class CurrencyHelper {
16
  protected $currencies = array();
17
  protected $locales = array();
18
  private static $instance = null;
 
19
 
20
  public static function getInstance($locale = null)
21
  {
@@ -269,6 +270,14 @@ class CurrencyHelper {
269
  'num_decimals' => 2,
270
  'name' => 'Turkish Lira',
271
  ),
 
 
 
 
 
 
 
 
272
  );
273
  }
274
 
@@ -353,36 +362,70 @@ class CurrencyHelper {
353
  return array_keys(self::currencies());
354
  }
355
 
356
- public static function queryCurrencyRate($from, $to)
 
 
 
357
  {
358
- $yql_base_url = "http://query.yahooapis.com/v1/public/yql";
359
- $yql_query = 'select * from yahoo.finance.xchange where pair in ("' . $from . $to . '")';
360
- $yql_query_url = $yql_base_url . "?q=" . urlencode($yql_query);
361
- $yql_query_url .= "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
362
-
363
- $response = \wp_remote_get($yql_query_url);
364
- if (\is_wp_error($response))
365
- return 0;
366
-
367
- if (!$result = json_decode(\wp_remote_retrieve_body($response), true))
368
- return 0;
 
 
 
 
 
 
 
 
 
 
 
 
369
 
370
- if (!isset($result['query']['results']['rate']['Rate']))
 
 
 
 
 
 
 
371
  return 0;
 
372
 
373
- return (float) $result['query']['results']['rate']['Rate'];
 
 
374
  }
375
 
376
  public static function getCurrencyRate($from, $to)
377
  {
 
 
 
 
 
378
  $transient_name = 'currency-rate-' . $from . $to;
379
- $rate = \get_transient($transient_name);
380
- if ($rate === false)
381
  {
382
- $rate = self::queryCurrencyRate($from, $to);
383
- \set_transient($transient_name, $rate, 6 * 3600);
 
 
 
 
 
384
  }
385
- return $rate;
386
  }
387
 
388
  }
16
  protected $currencies = array();
17
  protected $locales = array();
18
  private static $instance = null;
19
+ private static $currencyRates = array();
20
 
21
  public static function getInstance($locale = null)
22
  {
270
  'num_decimals' => 2,
271
  'name' => 'Turkish Lira',
272
  ),
273
+ 'IDR' => array(
274
+ 'currency_symbol' => 'Rp',
275
+ 'currency_pos' => 'left_space',
276
+ 'thousand_sep' => ',',
277
+ 'decimal_sep' => '.',
278
+ 'num_decimals' => 2,
279
+ 'name' => 'Indonesian Rupiah',
280
+ ),
281
  );
282
  }
283
 
362
  return array_keys(self::currencies());
363
  }
364
 
365
+ /**
366
+ * @link: http://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html#dev
367
+ */
368
+ public static function queryCurrencyRateEcb($from, $to, $force = false)
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';
375
+ $params = array(
376
+ 'timeout' => 15,
377
+ 'user-agent' => 'Content Egg WP Plugin (http://www.keywordrush.com/en/contentegg)'
378
+ );
379
+ $response = \wp_remote_get($url, $params);
380
+ $rates = array();
381
+ if ($response && !\is_wp_error($response))
382
+ {
383
+ $results = TextHelper::unserialize_xml(\wp_remote_retrieve_body($response));
384
+ if (!isset($results['Cube']['Cube']['Cube']))
385
+ return 0;
386
+ foreach ($results['Cube']['Cube']['Cube'] as $r)
387
+ {
388
+ $rates[$r['@attributes']['currency']] = (float) $r['@attributes']['rate'];
389
+ }
390
+ }
391
+ \set_transient($transient_name, $rates, 6 * 3600);
392
+ }
393
 
394
+ if ($from == 'EUR' && isset($rates[$to]))
395
+ {
396
+ return $rates[$to];
397
+ } elseif (isset($rates[$from]) && isset($rates[$to]))
398
+ {
399
+ $rate = $rates[$to] / $rates[$from];
400
+ return $rate;
401
+ } else
402
  return 0;
403
+ }
404
 
405
+ public static function queryCurrencyRate($from, $to)
406
+ {
407
+ return self::queryCurrencyRateEcb($from, $to);
408
  }
409
 
410
  public static function getCurrencyRate($from, $to)
411
  {
412
+ if ($from == 'RUR')
413
+ $from = 'RUB';
414
+ if ($to == 'RUR')
415
+ $to = 'RUB';
416
+
417
  $transient_name = 'currency-rate-' . $from . $to;
418
+ if (!isset(self::$currencyRates[$transient_name]))
 
419
  {
420
+ $rate = \get_transient($transient_name);
421
+ if ($rate === false)
422
+ {
423
+ $rate = self::queryCurrencyRate($from, $to);
424
+ \set_transient($transient_name, $rate, 24 * 3600);
425
+ }
426
+ self::$currencyRates[$transient_name] = $rate;
427
  }
428
+ return self::$currencyRates[$transient_name];
429
  }
430
 
431
  }
application/helpers/TemplateHelper.php CHANGED
@@ -6,6 +6,7 @@ use ContentEgg\application\components\ContentManager;
6
  use ContentEgg\application\models\PriceHistoryModel;
7
  use ContentEgg\application\helpers\ArrayHelper;
8
  use ContentEgg\application\admin\GeneralConfig;
 
9
 
10
  /**
11
  * TemplateHelper class file
@@ -332,7 +333,7 @@ class TemplateHelper {
332
  (array('unique_id = %s AND module_id = %s', array($unique_id, $module_id))), false);
333
  $params = array(
334
  'select' => 'date(create_date) as date, price as price',
335
- 'where' => $where . ' AND TIMESTAMPDIFF( DAY, create_date, "' . current_time('mysql') . '") <= ' . $days,
336
  //'group' => 'date',
337
  'order' => 'date ASC'
338
  );
@@ -354,13 +355,15 @@ class TemplateHelper {
354
  $prices[] = $price;
355
  }
356
 
357
- //add last known price to the chart
358
- $price = array(
359
- 'date' => $r['date'],
360
- 'price' => $r['price'],
361
- );
362
- $prices[] = $price;
363
-
 
 
364
  $data = array(
365
  'chartType' => 'Area',
366
  'data' => $prices,
@@ -479,8 +482,18 @@ class TemplateHelper {
479
  public static function getMerhantIconUrl(array $item, $blank_on_error = false)
480
  {
481
  $prefix = 'icon_';
482
- if (empty($item['domain']) || preg_match('/^amazon\./', $item['domain']))
483
- return $blank_on_error ? self::getBlankImg() : false;
 
 
 
 
 
 
 
 
 
 
484
  $remote_url = 'https://www.google.com/s2/favicons?domain=' . urlencode($item['domain']);
485
  return self::getMerchantImageUrl($item, $prefix, $remote_url, $blank_on_error);
486
  }
@@ -576,19 +589,61 @@ class TemplateHelper {
576
  return ucfirst($parts[0]);
577
  }
578
 
579
- public static function sortByPrice(array $data)
580
  {
581
- usort($data, function($a, $b) {
582
- if (!$a['price'])
583
- return 1;
584
- if (!$b['price'])
585
- return -1;
586
- return ($a['price'] < $b['price']) ? -1 : 1;
587
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
588
  return $data;
589
  }
590
 
591
- public static function sortAllByPrice(array $data)
592
  {
593
  $all_items = array();
594
  foreach ($data as $module_id => $items)
@@ -599,7 +654,7 @@ class TemplateHelper {
599
  $all_items[] = $item_ar;
600
  }
601
  }
602
- return TemplateHelper::sortByPrice($all_items);
603
  }
604
 
605
  public static function buyNowBtnText($print = true)
@@ -619,6 +674,32 @@ class TemplateHelper {
619
  return $current_user->user_email;
620
  }
621
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
622
  private static function btnText($option_name, $default, $print = true)
623
  {
624
  $text = GeneralConfig::getInstance()->option($option_name);
6
  use ContentEgg\application\models\PriceHistoryModel;
7
  use ContentEgg\application\helpers\ArrayHelper;
8
  use ContentEgg\application\admin\GeneralConfig;
9
+ use ContentEgg\application\components\ModuleManager;
10
 
11
  /**
12
  * TemplateHelper class file
333
  (array('unique_id = %s AND module_id = %s', array($unique_id, $module_id))), false);
334
  $params = array(
335
  'select' => 'date(create_date) as date, price as price',
336
+ 'where' => $where . ' AND TIMESTAMPDIFF( DAY, create_date, "' . \current_time('mysql') . '") <= ' . $days,
337
  //'group' => 'date',
338
  'order' => 'date ASC'
339
  );
355
  $prices[] = $price;
356
  }
357
 
358
+ //add last known price to the chart
359
+ /*
360
+ $price = array(
361
+ 'date' => $r['date'],
362
+ 'price' => $r['price'],
363
+ );
364
+ $prices[] = $price;
365
+ *
366
+ */
367
  $data = array(
368
  'chartType' => 'Area',
369
  'data' => $prices,
482
  public static function getMerhantIconUrl(array $item, $blank_on_error = false)
483
  {
484
  $prefix = 'icon_';
485
+
486
+ if (!empty($item['module_id']) && $item['module_id'] == 'Amazon')
487
+ {
488
+ $show_small_logos = ModuleManager::getInstance()->parserFactory($item['module_id'])->config('show_small_logos');
489
+ if (!$show_small_logos)
490
+ return $blank_on_error ? self::getBlankImg() : false;
491
+ }
492
+ /*
493
+ if (empty($item['domain']) || preg_match('/^amazon\./', $item['domain']))
494
+ return $blank_on_error ? self::getBlankImg() : false;
495
+ *
496
+ */
497
  $remote_url = 'https://www.google.com/s2/favicons?domain=' . urlencode($item['domain']);
498
  return self::getMerchantImageUrl($item, $prefix, $remote_url, $blank_on_error);
499
  }
589
  return ucfirst($parts[0]);
590
  }
591
 
592
+ public static function sortByPrice(array $data, $order = 'asc')
593
  {
594
+ if (!$order)
595
+ $order = 'asc';
596
+ if (!in_array($order, array('asc', 'desc')))
597
+ $order = 'asc';
598
+ // convert all prices to one currency
599
+ $currency_codes = array();
600
+ foreach ($data as $d)
601
+ {
602
+ if (empty($d['currencyCode']))
603
+ continue;
604
+
605
+ if (!isset($currency_codes[$d['currencyCode']]))
606
+ $currency_codes[$d['currencyCode']] = 1;
607
+ else
608
+ $currency_codes[$d['currencyCode']] ++;
609
+ }
610
+ arsort($currency_codes);
611
+ $base_currency = key($currency_codes);
612
+ foreach ($data as $key => $d)
613
+ {
614
+ if (!empty($d['currencyCode']) && $d['currencyCode'] != $base_currency)
615
+ {
616
+ $rate = CurrencyHelper::getCurrencyRate($d['currencyCode'], $base_currency);
617
+ if (!$rate)
618
+ $rate = 1;
619
+ $data[$key]['converted_price'] = $d['price'] * $rate;
620
+ } else
621
+ $data[$key]['converted_price'] = $d['price'];
622
+ }
623
+
624
+ if ($order == 'asc')
625
+ {
626
+ usort($data, function($a, $b) {
627
+ if (!$a['converted_price'])
628
+ return 1;
629
+ if (!$b['converted_price'])
630
+ return -1;
631
+ return ($a['converted_price'] < $b['converted_price']) ? -1 : 1;
632
+ });
633
+ } else
634
+ {
635
+ usort($data, function($a, $b) {
636
+ if (!$a['converted_price'])
637
+ return 1;
638
+ if (!$b['converted_price'])
639
+ return -1;
640
+ return ($a['converted_price'] < $b['converted_price']) ? 1 : -1;
641
+ });
642
+ }
643
  return $data;
644
  }
645
 
646
+ public static function sortAllByPrice(array $data, $order = 'asc')
647
  {
648
  $all_items = array();
649
  foreach ($data as $module_id => $items)
654
  $all_items[] = $item_ar;
655
  }
656
  }
657
+ return TemplateHelper::sortByPrice($all_items, $order);
658
  }
659
 
660
  public static function buyNowBtnText($print = true)
674
  return $current_user->user_email;
675
  }
676
 
677
+ public static function getDaysAgo($ptime)
678
+ {
679
+ $etime = current_time('timestamp') - $ptime;
680
+ if ($etime < 1)
681
+ return '';
682
+ $d = $etime / (24 * 60 * 60);
683
+ if ($d < 1)
684
+ return __('today', 'content-egg-tpl');
685
+ $d = ceil($d);
686
+
687
+ if ($d > 1)
688
+ return sprintf(__('%d days ago', 'content-egg-tpl'), array($d));
689
+ else
690
+ return sprintf(__('%d day ago', 'content-egg-tpl'), array($d));
691
+ }
692
+
693
+ public static function getAmazonDisclaimer()
694
+ {
695
+ return __('Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply to the purchase of this product.', 'content-egg-tpl');
696
+ }
697
+
698
+ public static function printAmazonDisclaimer()
699
+ {
700
+ echo '<i class="fa fa-question-circle-o" title="' . \esc_attr(self::getAmazonDisclaimer()) . '"></i>';
701
+ }
702
+
703
  private static function btnText($option_name, $default, $print = true)
704
  {
705
  $text = GeneralConfig::getInstance()->option($option_name);
application/models/PriceHistoryModel.php CHANGED
@@ -25,10 +25,16 @@ class PriceHistoryModel extends Model {
25
  unique_id varchar(255) NOT NULL,
26
  module_id varchar(255) NOT NULL,
27
  create_date datetime NOT NULL,
28
- price float(12,2) NOT NULL,
 
 
29
  post_id bigint(20) unsigned DEFAULT NULL,
 
30
  KEY uid (unique_id(80),module_id(30)),
31
- KEY create_date (create_date)
 
 
 
32
  ) $this->charset_collate;";
33
  }
34
 
@@ -39,12 +45,52 @@ class PriceHistoryModel extends Model {
39
 
40
  public function save(array $item)
41
  {
 
42
  if (empty($item['create_date']))
43
  $item['create_date'] = current_time('mysql');
 
 
 
 
 
 
 
 
 
 
 
 
44
  $this->getDb()->insert($this->tableName(), $item);
 
 
 
45
  return true;
46
  }
47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  public function getLastPriceValue($unique_id, $module_id, $offset = null)
49
  {
50
  $params = array(
@@ -143,4 +189,93 @@ class PriceHistoryModel extends Model {
143
  }
144
  }
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  }
25
  unique_id varchar(255) NOT NULL,
26
  module_id varchar(255) NOT NULL,
27
  create_date datetime NOT NULL,
28
+ price float(12,2) NOT NULL,
29
+ price_old float(12,2) DEFAULT NULL,
30
+ price_old_date datetime DEFAULT NULL,
31
  post_id bigint(20) unsigned DEFAULT NULL,
32
+ is_latest tinyint(1) DEFAULT 0,
33
  KEY uid (unique_id(80),module_id(30)),
34
+ KEY create_date (create_date),
35
+ KEY price (price),
36
+ KEY price_old (price_old),
37
+ KEY is_latest (is_latest)
38
  ) $this->charset_collate;";
39
  }
40
 
45
 
46
  public function save(array $item)
47
  {
48
+ $item['is_latest'] = 1;
49
  if (empty($item['create_date']))
50
  $item['create_date'] = current_time('mysql');
51
+
52
+ if (empty($item['price_old']))
53
+ {
54
+ $old_data = $this->getOldPrice($item['unique_id'], $item['module_id']);
55
+ if ($old_data)
56
+ {
57
+ $item['price_old'] = $old_data['price'];
58
+ $item['price_old_date'] = $old_data['create_date'];
59
+ }
60
+ }
61
+
62
+ $this->getDb()->update($this->tableName(), array('is_latest' => 0), array('unique_id' => $item['unique_id'], 'module_id' => $item['module_id']));
63
  $this->getDb()->insert($this->tableName(), $item);
64
+
65
+ \do_action('content_egg_price_history_save', $item);
66
+
67
  return true;
68
  }
69
 
70
+ private function getOldPrice($unique_id, $module_id)
71
+ {
72
+ // price known date
73
+ $price_drops_days = (int) GeneralConfig::getInstance()->option('price_drops_days');
74
+ $sql = 'SELECT create_date FROM ' . $this->tableName() . ' WHERE unique_id = %s AND module_id = %s AND create_date <= NOW() - INTERVAL %d DAY ORDER BY create_date DESC LIMIT 1';
75
+ $sql = $this->getDb()->prepare($sql, array($unique_id, $module_id, $price_drops_days));
76
+ $known_date = $this->getDb()->get_var($sql);
77
+
78
+ $where = '';
79
+ if ($known_date)
80
+ $where = $this->getDb()->prepare('create_date > %s', array($known_date));
81
+ else
82
+ $where = $this->getDb()->prepare('create_date >= NOW() - INTERVAL %d DAY', array($price_drops_days));
83
+
84
+ $sql = 'SELECT t.*
85
+ FROM ' . $this->tableName() . ' t
86
+ WHERE price=(SELECT MAX(price) FROM ' . $this->tableName() . ' WHERE unique_id = %s AND module_id = %s AND ' . $where . ')
87
+ AND unique_id = %s AND module_id = %s AND ' . $where;
88
+
89
+ $sql = $this->getDb()->prepare($sql, array($unique_id, $module_id, $unique_id, $module_id));
90
+ $old_data = $this->getDb()->get_row($sql, \ARRAY_A);
91
+ return $old_data;
92
+ }
93
+
94
  public function getLastPriceValue($unique_id, $module_id, $offset = null)
95
  {
96
  $params = array(
189
  }
190
  }
191
 
192
+ public function getPriceMoversOld(array $params = array())
193
+ {
194
+
195
+ $defaults = array(
196
+ 'time_period' => 7,
197
+ 'limit' => 5,
198
+ 'drop_type' => 'absolute',
199
+ 'direction' => 'drops',
200
+ );
201
+ $params = \wp_parse_args($params, $defaults);
202
+
203
+ $params['time_period'] = (int) $params['time_period'];
204
+ $params['limit'] = (int) $params['limit'];
205
+
206
+ if ($params['direction'] == 'drops')
207
+ $order = 'DESC';
208
+ else
209
+ $order = 'ASC';
210
+
211
+ if ($params['drop_type'] == 'relative')
212
+ $change = '(100 - (p_last.price * 100) / p_prev.price)'; //relative
213
+ else
214
+ $change = '(p_prev.price - p_last.price)'; // absolute
215
+
216
+ $sql = '
217
+ SELECT
218
+ MAX(p_last.create_date) as last_date,
219
+ p_last.unique_id,
220
+ p_last.post_id,
221
+ p_last.module_id,
222
+ p_prev.price as old_price,
223
+ p_prev.create_date as old_date,
224
+ p_last.price as last_price,
225
+ ' . $change . ' as `change`
226
+ FROM ' . $this->tableName() . ' p_last
227
+ INNER JOIN (SELECT unique_id, create_date, MAX(price) as price FROM ' . $this->tableName() . ' GROUP BY unique_id) AS p_prev
228
+ ON p_last.unique_id = p_prev.unique_id
229
+ AND p_last.create_date >= NOW() - INTERVAL ' . $params['time_period'] . ' DAY
230
+ INNER JOIN ' . $this->getDb()->posts . ' AS post
231
+ ON post.ID = p_last.post_id
232
+ AND post.post_status = "publish"
233
+ GROUP BY unique_id
234
+ ORDER BY `change` ' . $order . '
235
+ LIMIT ' . $params['limit'];
236
+ return $this->getDb()->get_results($sql, \ARRAY_A);
237
+ }
238
+
239
+ public function getPriceMovers(array $params = array())
240
+ {
241
+ $defaults = array(
242
+ 'limit' => 5,
243
+ 'last_update' => 7,
244
+ 'drop_type' => 'absolute',
245
+ 'direction' => 'drops',
246
+ );
247
+ $params = \wp_parse_args($params, $defaults);
248
+ $params['limit'] = (int) $params['limit'];
249
+ $params['last_update'] = (int) $params['last_update'];
250
+ if ($params['direction'] == 'drops')
251
+ {
252
+ $order = 'DESC';
253
+ $direction_where = 'price_old - price >= 0';
254
+ } else
255
+ {
256
+ $order = 'ASC';
257
+ $direction_where = 'price_old - price <= 0';
258
+ };
259
+
260
+ if ($params['drop_type'] == 'relative')
261
+ $change = '(100 - (price * 100) / price_old)';
262
+ else
263
+ $change = '(price_old - price)'; // absolute
264
+
265
+ $sql = '
266
+ SELECT
267
+ price_history.*, ' . $change . ' as pchange
268
+ FROM ' . $this->tableName() . ' as price_history
269
+ INNER JOIN ' . $this->getDb()->posts . ' AS post
270
+ ON post.ID = price_history.post_id
271
+ AND post.post_status = "publish"
272
+ WHERE ' . $direction_where . ' AND is_latest = 1 AND create_date >= NOW() - INTERVAL ' . $params['last_update'] . ' DAY
273
+ GROUP BY unique_id
274
+ ORDER BY pchange ' . $order . '
275
+ LIMIT ' . $params['limit'];
276
+ $results = $this->getDb()->get_results($sql, \ARRAY_A);
277
+
278
+ return $results;
279
+ }
280
+
281
  }
application/modules/AE/AEModule.php CHANGED
@@ -11,6 +11,7 @@ use ContentEgg\application\components\LinkHandler;
11
  use ContentEgg\application\components\ContentManager;
12
  use \Keywordrush\AffiliateEgg\ParserManager;
13
  use ContentEgg\application\helpers\TemplateHelper;
 
14
 
15
  /**
16
  * AEModule class file
@@ -45,6 +46,7 @@ class AEModule extends AffiliateParserModule {
45
  $uri = str_replace('http://', '', $uri);
46
  $uri = str_replace('https://', '', $uri);
47
  $uri = str_replace('www.', '', $uri);
 
48
  return $uri;
49
  }
50
 
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
46
  $uri = str_replace('http://', '', $uri);
47
  $uri = str_replace('https://', '', $uri);
48
  $uri = str_replace('www.', '', $uri);
49
+ $uri = strtolower($uri);
50
  return $uri;
51
  }
52
 
application/modules/Amazon/AmazonConfig.php CHANGED
@@ -257,7 +257,7 @@ class AmazonConfig extends AffiliateParserModuleConfig {
257
  'section' => 'default',
258
  ),
259
  'https_img' => array(
260
- 'title' => __('Use images with https (use it if you also have https site)', 'content-egg'),
261
  'description' => __('Rewrite url of images with https. Use it if you have SSL on your domain', 'content-egg'),
262
  'callback' => array($this, 'render_checkbox'),
263
  'default' => false,
@@ -270,6 +270,14 @@ class AmazonConfig extends AffiliateParserModuleConfig {
270
  'default' => false,
271
  'section' => 'default',
272
  ),
 
 
 
 
 
 
 
 
273
  );
274
 
275
  foreach (self::getLocalesList() as $locale_id => $locale_name)
@@ -341,7 +349,7 @@ class AmazonConfig extends AffiliateParserModuleConfig {
341
  'it' => 'amazon.it',
342
  'es' => 'amazon.es',
343
  'ca' => 'amazon.ca',
344
- 'br' => 'amazon.br',
345
  'in' => 'amazon.in',
346
  'mx' => 'amazon.com.mx',
347
  );
257
  'section' => 'default',
258
  ),
259
  'https_img' => array(
260
+ 'title' => __('Use images with https', 'content-egg'),
261
  'description' => __('Rewrite url of images with https. Use it if you have SSL on your domain', 'content-egg'),
262
  'callback' => array($this, 'render_checkbox'),
263
  'default' => false,
270
  'default' => false,
271
  'section' => 'default',
272
  ),
273
+ 'show_small_logos' => array(
274
+ 'title' => __('Small logos', 'content-egg'),
275
+ 'description' => __('Show small logos', 'content-egg') . '<p class="description">' . sprintf(__('Read more: <a target="_blank" href="%s">Amazon brand usage guidelines</a>.', 'content-egg'), 'https://advertising.amazon.com/ad-specs/en/policy/brand-usage') . '</p>',
276
+ 'callback' => array($this, 'render_checkbox'),
277
+ 'default' => false,
278
+ 'section' => 'default',
279
+ ),
280
+
281
  );
282
 
283
  foreach (self::getLocalesList() as $locale_id => $locale_name)
349
  'it' => 'amazon.it',
350
  'es' => 'amazon.es',
351
  'ca' => 'amazon.ca',
352
+ 'br' => 'amazon.com.br',
353
  'in' => 'amazon.in',
354
  'mx' => 'amazon.com.mx',
355
  );
application/modules/Amazon/AmazonModule.php CHANGED
@@ -240,6 +240,9 @@ class AmazonModule extends AffiliateParserModule {
240
  {
241
  if (isset($results[$item['unique_id']]))
242
  $items[$key] = $results[$item['unique_id']];
 
 
 
243
  }
244
 
245
  return $items;
@@ -258,7 +261,6 @@ class AmazonModule extends AffiliateParserModule {
258
  $options['ResponseGroup'] = 'Offers,VariationOffers';
259
 
260
  // update iframe url for customer reviews
261
- //if ($this->config('customer_reviews') && $this->config('customer_reviews_iframe'))
262
  if ($this->config('customer_reviews'))
263
  {
264
  $options['ResponseGroup'] .= ',Reviews';
@@ -294,7 +296,9 @@ class AmazonModule extends AffiliateParserModule {
294
  {
295
  $items[$key]['extra']['customerReviews'] = (array) new ExtraAmazonCustomerReviews;
296
  $items[$key]['extra']['customerReviews'] = ExtraData::fillAttributes($items[$key]['extra']['customerReviews'], $results[$i]['CustomerReviews']);
297
- }
 
 
298
  $items[$key]['domain'] = AmazonConfig::getDomainByLocale($locale);
299
 
300
  if (!$this->config('save_img'))
@@ -417,7 +421,8 @@ class AmazonModule extends AffiliateParserModule {
417
  {
418
  $extra->customerReviews = new ExtraAmazonCustomerReviews;
419
  ExtraData::fillAttributes($extra->customerReviews, $r['CustomerReviews']);
420
- }
 
421
 
422
  // Editorial Reviews
423
  if (isset($r['EditorialReviews']['EditorialReview']))
@@ -641,9 +646,11 @@ class AmazonModule extends AffiliateParserModule {
641
  case 'ca':
642
  return 'http://www.amazon.ca';
643
  case 'br':
644
- return 'http://www.amazon.br';
645
  case 'in':
646
  return 'http://www.amazon.in';
 
 
647
  default: //'us'
648
  return 'http://www.amazon.com';
649
  }
240
  {
241
  if (isset($results[$item['unique_id']]))
242
  $items[$key] = $results[$item['unique_id']];
243
+
244
+ //@DEBUG
245
+ //$items[$key]['price'] = $items[$key]['price'] - rand(1, 10);
246
  }
247
 
248
  return $items;
261
  $options['ResponseGroup'] = 'Offers,VariationOffers';
262
 
263
  // update iframe url for customer reviews
 
264
  if ($this->config('customer_reviews'))
265
  {
266
  $options['ResponseGroup'] .= ',Reviews';
296
  {
297
  $items[$key]['extra']['customerReviews'] = (array) new ExtraAmazonCustomerReviews;
298
  $items[$key]['extra']['customerReviews'] = ExtraData::fillAttributes($items[$key]['extra']['customerReviews'], $results[$i]['CustomerReviews']);
299
+ } else
300
+ $items[$key]['extra']['customerReviews'] = array();
301
+
302
  $items[$key]['domain'] = AmazonConfig::getDomainByLocale($locale);
303
 
304
  if (!$this->config('save_img'))
421
  {
422
  $extra->customerReviews = new ExtraAmazonCustomerReviews;
423
  ExtraData::fillAttributes($extra->customerReviews, $r['CustomerReviews']);
424
+ } else
425
+ $extra->customerReviews = array();
426
 
427
  // Editorial Reviews
428
  if (isset($r['EditorialReviews']['EditorialReview']))
646
  case 'ca':
647
  return 'http://www.amazon.ca';
648
  case 'br':
649
+ return 'http://www.amazon.com.br';
650
  case 'in':
651
  return 'http://www.amazon.in';
652
+ case 'mx':
653
+ return 'http://www.amazon.com.mx';
654
  default: //'us'
655
  return 'http://www.amazon.com';
656
  }
application/modules/Offer/OfferModule.php CHANGED
@@ -69,10 +69,17 @@ class OfferModule extends AffiliateParserModule {
69
  else
70
  continue;
71
 
72
- $parser->setUrl($url);
73
- $price = $parser->xpathScalar($item['extra']['priceXpath']);
74
- if (!$price)
 
 
 
 
 
75
  continue;
 
 
76
  // assign new price
77
  $items[$key]['price'] = (float) TextHelper::parsePriceAmount($price);
78
  }
@@ -117,7 +124,7 @@ class OfferModule extends AffiliateParserModule {
117
 
118
  public function renderMetaboxModule()
119
  {
120
- $this->render('metabox_module', array('module_id' => $this->getId(), 'module' => $this));
121
  }
122
 
123
  }
69
  else
70
  continue;
71
 
72
+ try
73
+ {
74
+ $parser->setUrl($url);
75
+ $price = $parser->xpathScalar($item['extra']['priceXpath']);
76
+ if (!$price)
77
+ continue;
78
+ } catch (\Exception $e)
79
+ {
80
  continue;
81
+ }
82
+
83
  // assign new price
84
  $items[$key]['price'] = (float) TextHelper::parsePriceAmount($price);
85
  }
124
 
125
  public function renderMetaboxModule()
126
  {
127
+ $this->render('metabox_module', array('module_id' => $this->getId(), 'module' => $this ));
128
  }
129
 
130
  }
application/modules/Offer/views/metabox_module.php CHANGED
@@ -1,3 +1,4 @@
 
1
  <div ng-controllerTMP="<?php echo $module_id; ?>Controller">
2
 
3
  <input type="hidden" name="cegg_data[<?php echo $module_id; ?>]" ng-value="models.<?php echo $module_id; ?>.added | json" />
@@ -38,8 +39,8 @@
38
  <div class="clearfix"></div>
39
 
40
  <?php // [RESULTS] ?>
41
-
42
- <div ng-init="activeResultTabs['<?php echo $module_id; ?>']=true" ui-sortable="{ 'ui-floating': true }" ng-model="models.<?php echo $module_id; ?>.added" class="row">
43
  <div class="col-md-12 added_data" ng-repeat="data in models.<?php echo $module_id; ?>.added">
44
  <div class="row" style="padding: 5px;">
45
  <div class="col-md-1" ng-if="data.img">
@@ -52,15 +53,15 @@
52
  </div>
53
  <div class="col-md-2" style="padding-right:0px;">
54
  <select class="form-control" ng-model="data.rating" convert-to-number>
55
- <option value="1"><?php _e('Rating', 'content-egg');?> - 1</option>
56
- <option value="2"><?php _e('Rating', 'content-egg');?> - 2</option>
57
- <option value="3"><?php _e('Rating', 'content-egg');?> - 3</option>
58
- <option value="4"><?php _e('Rating', 'content-egg');?> - 4</option>
59
- <option value="5"><?php _e('Rating', 'content-egg');?> - 5</option>
60
  </select>
61
  </div>
62
  </div>
63
-
64
  <div class="row" style="margin:0px;">
65
  <div class="col-md-6" style="padding:0px;">
66
  <input type="text" placeholder="<?php _e('Offer URL', 'content-egg'); ?> (<?php _e('required', 'content-egg'); ?>)" ng-model="data.orig_url" class="form-control" style="margin-bottom: 5px;">
@@ -79,9 +80,9 @@
79
  </div>
80
  <div class="col-md-1" style="padding-right:0px;">
81
  <select class="form-control" ng-model="data.currencyCode">
82
- <?php foreach (\ContentEgg\application\helpers\CurrencyHelper::getCurrenciesList() as $currency): ?>
83
- <option value="<?php echo esc_attr($currency);?>"><?php echo esc_html($currency);?></option>
84
- <?php endforeach; ?>
85
  </select>
86
  </div>
87
  <div class="col-md-5" style="padding-right:0px;">
@@ -91,12 +92,16 @@
91
  </div>
92
 
93
  <textarea type="text" placeholder="<?php _e('Description', 'content-egg'); ?>" rows="1" ng-model="data.description" class="col-sm-12" style="margin-top: 5px;"></textarea>
 
 
 
 
94
  </div>
95
  <div class="col-md-2">
96
  <span ng-if="data.orig_url"><a href="{{data.orig_url}}" target="_blank"><?php _e('Go to ', 'content-egg'); ?></a><br><br></span>
97
  <div style="padding:0xp;margin:0px;padding-top:10px;"><a style="color:#D03300;" ng-click="delete(data, '<?php echo $module_id; ?>')"><i class="glyphicon glyphicon-remove"></i> <?php _e('Remove', 'content-egg'); ?></a></div>
98
-
99
- <span ng-show="data.last_update"><?php _e('Last update: '); ?>{{data.last_update * 1000 | date:'shortDate'}}</span>
100
  </div>
101
  </div>
102
  </div>
1
+ <?php $is_woo = (\get_post_type($GLOBALS['post']->ID) == 'product') ? true : false; ?>
2
  <div ng-controllerTMP="<?php echo $module_id; ?>Controller">
3
 
4
  <input type="hidden" name="cegg_data[<?php echo $module_id; ?>]" ng-value="models.<?php echo $module_id; ?>.added | json" />
39
  <div class="clearfix"></div>
40
 
41
  <?php // [RESULTS] ?>
42
+
43
+ <div ng-init="activeResultTabs['<?php echo $module_id; ?>'] = true" ui-sortable="{ 'ui-floating': true }" ng-model="models.<?php echo $module_id; ?>.added" class="row">
44
  <div class="col-md-12 added_data" ng-repeat="data in models.<?php echo $module_id; ?>.added">
45
  <div class="row" style="padding: 5px;">
46
  <div class="col-md-1" ng-if="data.img">
53
  </div>
54
  <div class="col-md-2" style="padding-right:0px;">
55
  <select class="form-control" ng-model="data.rating" convert-to-number>
56
+ <option value="1"><?php _e('Rating', 'content-egg'); ?> - 1</option>
57
+ <option value="2"><?php _e('Rating', 'content-egg'); ?> - 2</option>
58
+ <option value="3"><?php _e('Rating', 'content-egg'); ?> - 3</option>
59
+ <option value="4"><?php _e('Rating', 'content-egg'); ?> - 4</option>
60
+ <option value="5"><?php _e('Rating', 'content-egg'); ?> - 5</option>
61
  </select>
62
  </div>
63
  </div>
64
+
65
  <div class="row" style="margin:0px;">
66
  <div class="col-md-6" style="padding:0px;">
67
  <input type="text" placeholder="<?php _e('Offer URL', 'content-egg'); ?> (<?php _e('required', 'content-egg'); ?>)" ng-model="data.orig_url" class="form-control" style="margin-bottom: 5px;">
80
  </div>
81
  <div class="col-md-1" style="padding-right:0px;">
82
  <select class="form-control" ng-model="data.currencyCode">
83
+ <?php foreach (\ContentEgg\application\helpers\CurrencyHelper::getCurrenciesList() as $currency): ?>
84
+ <option value="<?php echo esc_attr($currency); ?>"><?php echo esc_html($currency); ?></option>
85
+ <?php endforeach; ?>
86
  </select>
87
  </div>
88
  <div class="col-md-5" style="padding-right:0px;">
92
  </div>
93
 
94
  <textarea type="text" placeholder="<?php _e('Description', 'content-egg'); ?>" rows="1" ng-model="data.description" class="col-sm-12" style="margin-top: 5px;"></textarea>
95
+ <?php if ($is_woo && $module->isAffiliateParser()): ?>
96
+ <label><input ng-true-value="'true'" type="checkbox" ng-model="data.woo_sync" name="woo_sync" ng-change="wooRadioChange(data.unique_id, 'woo_sync')"> <?php _e('Woo synchronization', 'content-egg'); ?></label>
97
+ <?php endif; ?>
98
+
99
  </div>
100
  <div class="col-md-2">
101
  <span ng-if="data.orig_url"><a href="{{data.orig_url}}" target="_blank"><?php _e('Go to ', 'content-egg'); ?></a><br><br></span>
102
  <div style="padding:0xp;margin:0px;padding-top:10px;"><a style="color:#D03300;" ng-click="delete(data, '<?php echo $module_id; ?>')"><i class="glyphicon glyphicon-remove"></i> <?php _e('Remove', 'content-egg'); ?></a></div>
103
+
104
+ <span ng-show="data.last_update"><?php _e('Last update: '); ?>{{data.last_update * 1000| date:'shortDate'}}</span>
105
  </div>
106
  </div>
107
  </div>
application/templates/data_coupon.php CHANGED
@@ -57,7 +57,7 @@ use ContentEgg\application\helpers\TemplateHelper;
57
 
58
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
59
  <div class="cegg-mb5">
60
- <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, false)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
61
  </div>
62
  <?php endif; ?>
63
 
57
 
58
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
59
  <div class="cegg-mb5">
60
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
61
  </div>
62
  <?php endif; ?>
63
 
application/templates/data_grid.php CHANGED
@@ -30,7 +30,7 @@ use ContentEgg\application\helpers\TemplateHelper;
30
  <div class="producttitle">
31
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
32
  <div class="cegg-mb10">
33
- <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, false)); ?>" /> <?php endif; ?><small class="title-case"><?php echo esc_html($merhant); ?></small>
34
  </div>
35
  <?php endif; ?>
36
  <?php echo esc_html(TemplateHelper::truncate($item['title'], 80)); ?>
@@ -81,7 +81,10 @@ use ContentEgg\application\helpers\TemplateHelper;
81
  <?php endforeach; ?>
82
  <?php if ($module_id == 'Amazon'): ?>
83
  <div class="text-muted text-right">
84
- <small><?php _e('Last updated on', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?></small>
 
 
 
85
  </div>
86
  <?php endif; ?>
87
 
30
  <div class="producttitle">
31
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
32
  <div class="cegg-mb10">
33
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="title-case"><?php echo esc_html($merhant); ?></small>
34
  </div>
35
  <?php endif; ?>
36
  <?php echo esc_html(TemplateHelper::truncate($item['title'], 80)); ?>
81
  <?php endforeach; ?>
82
  <?php if ($module_id == 'Amazon'): ?>
83
  <div class="text-muted text-right">
84
+ <small>
85
+ <?php _e('Last updated on', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?>
86
+ <?php TemplateHelper::printAmazonDisclaimer(); ?>
87
+ </small>
88
  </div>
89
  <?php endif; ?>
90
 
application/templates/data_item.php CHANGED
@@ -59,7 +59,10 @@ use ContentEgg\application\helpers\TemplateHelper;
59
  </div>
60
  <div class="cegg-last-update-row cegg-mb15">
61
  <span class="text-muted">
62
- <small><?php _e('as of', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?></small>
 
 
 
63
  </span>
64
  </div>
65
  </div>
@@ -73,7 +76,7 @@ use ContentEgg\application\helpers\TemplateHelper;
73
  <?php if ($item['description']): ?>
74
  <p><?php echo $item['description']; ?></p>
75
  <?php endif; ?>
76
- <?php $this->renderPartialModule('_item_details_bottom', array('Envato', 'Udemu'), array('item' => $item)); ?>
77
  <?php $this->renderBlock('item_reviews', array('item' => $item)); ?>
78
  </div>
79
  </div>
59
  </div>
60
  <div class="cegg-last-update-row cegg-mb15">
61
  <span class="text-muted">
62
+ <small>
63
+ <?php _e('as of', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?>
64
+ <?php if ($module_id == 'Amazon') TemplateHelper::printAmazonDisclaimer(); ?>
65
+ </small>
66
  </span>
67
  </div>
68
  </div>
76
  <?php if ($item['description']): ?>
77
  <p><?php echo $item['description']; ?></p>
78
  <?php endif; ?>
79
+ <?php $this->renderPartialModule('_item_details_bottom', array('Envato', 'Udemy'), array('item' => $item)); ?>
80
  <?php $this->renderBlock('item_reviews', array('item' => $item)); ?>
81
  </div>
82
  </div>
application/templates/data_list.php CHANGED
@@ -74,7 +74,7 @@ use ContentEgg\application\helpers\TextHelper;
74
 
75
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
76
  <div class="cegg-mb5">
77
- <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, false)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
78
  </div>
79
  <?php endif; ?>
80
 
@@ -90,7 +90,10 @@ use ContentEgg\application\helpers\TextHelper;
90
  <?php if ($module_id == 'Amazon'): ?>
91
  <div class="row">
92
  <div class="col-md-12 text-right text-muted">
93
- <small><?php _e('Last updated on', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?></small>
 
 
 
94
  </div>
95
  </div>
96
  <?php endif; ?>
74
 
75
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
76
  <div class="cegg-mb5">
77
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
78
  </div>
79
  <?php endif; ?>
80
 
90
  <?php if ($module_id == 'Amazon'): ?>
91
  <div class="row">
92
  <div class="col-md-12 text-right text-muted">
93
+ <small>
94
+ <?php _e('Last updated on', 'content-egg-tpl'); ?> <?php echo TemplateHelper::getLastUpdateFormatted($module_id, $post_id); ?>
95
+ <?php TemplateHelper::printAmazonDisclaimer(); ?>
96
+ </small>
97
  </div>
98
  </div>
99
  <?php endif; ?>
application/templates/data_price_tracker_alert.php CHANGED
@@ -44,7 +44,7 @@ use ContentEgg\application\helpers\TemplateHelper;
44
 
45
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
46
  <div class="cegg-mb5">
47
- <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, false)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
48
  </div>
49
  <?php endif; ?>
50
 
44
 
45
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
46
  <div class="cegg-mb5">
47
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
48
  </div>
49
  <?php endif; ?>
50
 
content-egg.php CHANGED
@@ -6,7 +6,7 @@ namespace ContentEgg;
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.3.0
10
  Author: keywordrush.com
11
  Author URI: http://www.keywordrush.com
12
  Text Domain: content-egg
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.4.3
10
  Author: keywordrush.com
11
  Author URI: http://www.keywordrush.com
12
  Text Domain: content-egg
languages/content-egg.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2017 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.3.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg\n"
7
- "POT-Creation-Date: 2017-11-22 18:14:23+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -16,16 +16,79 @@ msgstr ""
16
  msgid "New version"
17
  msgstr ""
18
 
19
- #: application/ProductSearchWidget.php:27
20
- msgid "CE:Product Search"
21
  msgstr ""
22
 
23
- #: application/ProductSearchWidget.php:27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  msgid "A search form for affiliate products."
25
  msgstr ""
26
 
27
- #: application/ProductSearchWidget.php:60
28
- msgid "Title:"
29
  msgstr ""
30
 
31
  #: application/admin/AdminNotice.php:23
@@ -101,12 +164,12 @@ msgid "Delete"
101
  msgstr ""
102
 
103
  #: application/admin/AutoblogTable.php:65
104
- #: application/admin/views/_metabox_autoblog.php:24
105
  msgid "Works"
106
  msgstr ""
107
 
108
  #: application/admin/AutoblogTable.php:67
109
- #: application/admin/views/_metabox_autoblog.php:25
110
  msgid "Stoped"
111
  msgstr ""
112
 
@@ -135,7 +198,7 @@ msgid "The field \"%s\" can not be empty"
135
  msgstr ""
136
 
137
  #: application/admin/EnvatoConfig.php:38 application/admin/EnvatoConfig.php:56
138
- #: application/admin/GeneralConfig.php:215
139
  msgid "Field \"%s\" filled with wrong data."
140
  msgstr ""
141
 
@@ -205,221 +268,248 @@ msgid "The field \"%s\" can't be more than %d."
205
  msgstr ""
206
 
207
  #: application/admin/GeneralConfig.php:140
208
- #: application/admin/GeneralConfig.php:151
209
- #: application/admin/GeneralConfig.php:203
210
- #: application/admin/GeneralConfig.php:218
 
211
  msgid "Price alerts"
212
  msgstr ""
213
 
 
 
 
 
214
  #: application/admin/GeneralConfig.php:144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  msgid "Allow members to subscribe for price drop alert on email."
216
  msgstr ""
217
 
218
- #: application/admin/GeneralConfig.php:145
219
  msgid "Active subscriptions now: <b>%d</b>"
220
  msgstr ""
221
 
222
- #: application/admin/GeneralConfig.php:146
223
  msgid "Messages are sent for last %d days: <b>%d</b>"
224
  msgstr ""
225
 
226
- #: application/admin/GeneralConfig.php:147
227
  msgid "Export: [ <a href=\"%s\">All</a> | <a href=\"%s\">Active</a> ]"
228
  msgstr ""
229
 
230
- #: application/admin/GeneralConfig.php:148
231
  msgid "This option requires \"Price history\" option (must be enabled) to work."
232
  msgstr ""
233
 
234
- #: application/admin/GeneralConfig.php:154
235
  msgid "Button color"
236
  msgstr ""
237
 
238
- #: application/admin/GeneralConfig.php:155
239
  msgid "Button color for standard templates."
240
  msgstr ""
241
 
242
- #: application/admin/GeneralConfig.php:163
243
  msgid "Buy now button text"
244
  msgstr ""
245
 
246
- #: application/admin/GeneralConfig.php:164
247
- #: application/admin/GeneralConfig.php:173
248
  msgid "It will be used instead of \"%s\"."
249
  msgstr ""
250
 
251
- #: application/admin/GeneralConfig.php:172
252
  msgid "Coupon button text"
253
  msgstr ""
254
 
255
- #: application/admin/GeneralConfig.php:181
256
- #: application/admin/GeneralConfig.php:190
257
  msgid "Redirect prefix"
258
  msgstr ""
259
 
260
- #: application/admin/GeneralConfig.php:182
261
  msgid "Custom prefix for local redirect links."
262
  msgstr ""
263
 
264
- #: application/admin/GeneralConfig.php:190
265
  msgid "The field \"%s\" can contain only Latin letters and digits."
266
  msgstr ""
267
 
268
- #: application/admin/GeneralConfig.php:195
269
  msgid "From Name"
270
  msgstr ""
271
 
272
- #: application/admin/GeneralConfig.php:196
273
  msgid "This name will appear in the From Name column of emails sent from CE plugin."
274
  msgstr ""
275
 
276
- #: application/admin/GeneralConfig.php:206
277
  msgid "From Email"
278
  msgstr ""
279
 
280
- #: application/admin/GeneralConfig.php:207
281
  msgid "Customize the From Email address."
282
  msgstr ""
283
 
284
- #: application/admin/GeneralConfig.php:207
285
  msgid "To avoid your email being marked as spam, it is recommended your \"from\" match your website."
286
  msgstr ""
287
 
288
- #: application/admin/GeneralConfig.php:221
289
  msgid "Search modules"
290
  msgstr ""
291
 
292
- #: application/admin/GeneralConfig.php:222
293
  msgid "Select modules to search on frontend."
294
  msgstr ""
295
 
296
- #: application/admin/GeneralConfig.php:223
297
  msgid "Do not select more than 1-2 modules."
298
  msgstr ""
299
 
300
- #: application/admin/GeneralConfig.php:224
301
  msgid "Please note, AE modules work slowly and are not recommended for use as search modules."
302
  msgstr ""
303
 
304
- #: application/admin/GeneralConfig.php:225
305
  msgid "Do not forget to add search widget or shorcode [content-egg-search-form]."
306
  msgstr ""
307
 
308
- #: application/admin/GeneralConfig.php:229
309
- #: application/admin/GeneralConfig.php:237
310
  msgid "Frontend search"
311
  msgstr ""
312
 
313
- #: application/admin/GeneralConfig.php:232
314
  msgid "Search page template"
315
  msgstr ""
316
 
317
- #: application/admin/GeneralConfig.php:233
318
  msgid "Template for body of search page."
319
  msgstr ""
320
 
321
- #: application/admin/GeneralConfig.php:234
322
  msgid "You can use shortcodes, for example: [content-egg module=Amazon template=grid]"
323
  msgstr ""
324
 
325
- #: application/admin/GeneralConfig.php:240
326
  msgid "Modules for synchronization"
327
  msgstr ""
328
 
329
- #: application/admin/GeneralConfig.php:241
330
  msgid "Select modules for automatic synchronization with WooCommerce."
331
  msgstr ""
332
 
333
- #: application/admin/GeneralConfig.php:245
334
- #: application/admin/GeneralConfig.php:258
335
- #: application/admin/GeneralConfig.php:265
336
- #: application/admin/GeneralConfig.php:277
337
- #: application/admin/GeneralConfig.php:284
338
- #: application/admin/GeneralConfig.php:296
339
  msgid "WooCommerce synchronization"
340
  msgstr ""
341
 
342
- #: application/admin/GeneralConfig.php:248
343
  msgid "Automatic synchronization"
344
  msgstr ""
345
 
346
- #: application/admin/GeneralConfig.php:249
347
  msgid "How to choose product for automatic synchronization with WooCommerce."
348
  msgstr ""
349
 
350
- #: application/admin/GeneralConfig.php:252
351
- #: application/admin/views/_metabox_autoblog.php:416
352
  msgid "Minimum price"
353
  msgstr ""
354
 
355
- #: application/admin/GeneralConfig.php:253
356
- #: application/admin/views/_metabox_autoblog.php:417
357
  msgid "Maximum price"
358
  msgstr ""
359
 
360
- #: application/admin/GeneralConfig.php:254
361
- #: application/admin/views/_metabox_autoblog.php:418
362
  msgid "Random"
363
  msgstr ""
364
 
365
- #: application/admin/GeneralConfig.php:255
366
  msgid "Manually only"
367
  msgstr ""
368
 
369
- #: application/admin/GeneralConfig.php:261
370
  msgid "Attributes synchronization"
371
  msgstr ""
372
 
373
- #: application/admin/GeneralConfig.php:262
374
  msgid "Also synchronize attributes automatically for synchronized product."
375
  msgstr ""
376
 
377
- #: application/admin/GeneralConfig.php:268
378
  msgid "Global attributes filter"
379
  msgstr ""
380
 
381
- #: application/admin/GeneralConfig.php:269
382
  msgid "How to create wocommerce attributes when synchronizing. Please, read documentation about them in our docs."
383
  msgstr ""
384
 
385
- #: application/admin/GeneralConfig.php:272
386
  msgid "Default filter"
387
  msgstr ""
388
 
389
- #: application/admin/GeneralConfig.php:273
390
  msgid "Whitelist attribute names"
391
  msgstr ""
392
 
393
- #: application/admin/GeneralConfig.php:274
394
  msgid "Blacklist attribute names"
395
  msgstr ""
396
 
397
- #: application/admin/GeneralConfig.php:280
398
  msgid "Attributes list"
399
  msgstr ""
400
 
401
- #: application/admin/GeneralConfig.php:281
402
  msgid "Black / white list of woocommerce global (filterable) attributes. Enter a comma separated list."
403
  msgstr ""
404
 
405
- #: application/admin/GeneralConfig.php:287
406
  msgid "Show update date"
407
  msgstr ""
408
 
409
- #: application/admin/GeneralConfig.php:288
410
  msgid "Show price update date for WooCommerce products."
411
  msgstr ""
412
 
413
- #: application/admin/GeneralConfig.php:291
414
  #: application/modules/GoogleImages/GoogleImagesConfig.php:164
415
  msgid "Disabled"
416
  msgstr ""
417
 
418
- #: application/admin/GeneralConfig.php:292
419
  msgid "Amazon only"
420
  msgstr ""
421
 
422
- #: application/admin/GeneralConfig.php:293
423
  msgid "All modules"
424
  msgstr ""
425
 
@@ -521,260 +611,260 @@ msgstr ""
521
  msgid "Data saved:"
522
  msgstr ""
523
 
524
- #: application/admin/views/_metabox_autoblog.php:10
525
  #: application/models/AutoblogModel.php:72
526
  #: application/modules/Ozon/OzonConfig.php:82
527
  msgid "Name"
528
  msgstr ""
529
 
530
- #: application/admin/views/_metabox_autoblog.php:14
531
  msgid "Name for autoblogging (optional)"
532
  msgstr ""
533
 
534
- #: application/admin/views/_metabox_autoblog.php:20
535
  msgid "Task status"
536
  msgstr ""
537
 
538
- #: application/admin/views/_metabox_autoblog.php:27
539
  msgid "You can stop autoblogging."
540
  msgstr ""
541
 
542
- #: application/admin/views/_metabox_autoblog.php:33
543
  msgid "Work frequency"
544
  msgstr ""
545
 
546
- #: application/admin/views/_metabox_autoblog.php:37
547
  msgid "Every hour"
548
  msgstr ""
549
 
550
- #: application/admin/views/_metabox_autoblog.php:38
551
  msgid "5 times in a day"
552
  msgstr ""
553
 
554
- #: application/admin/views/_metabox_autoblog.php:39
555
  msgid "Twice daily"
556
  msgstr ""
557
 
558
- #: application/admin/views/_metabox_autoblog.php:40
559
  msgid "Once a day"
560
  msgstr ""
561
 
562
- #: application/admin/views/_metabox_autoblog.php:41
563
  msgid "Each three days"
564
  msgstr ""
565
 
566
- #: application/admin/views/_metabox_autoblog.php:42
567
  msgid "Once a week"
568
  msgstr ""
569
 
570
- #: application/admin/views/_metabox_autoblog.php:43
571
  msgid "Once in 2 weeks"
572
  msgstr ""
573
 
574
- #: application/admin/views/_metabox_autoblog.php:45
575
  msgid "How often autoblogging will run this task"
576
  msgstr ""
577
 
578
- #: application/admin/views/_metabox_autoblog.php:51
579
- #: application/admin/views/_metabox_autoblog.php:140
580
  #: application/models/AutoblogModel.php:78
581
  msgid "Keywords"
582
  msgstr ""
583
 
584
- #: application/admin/views/_metabox_autoblog.php:59
585
  msgid "Uppercase First Letter for Each Word"
586
  msgstr ""
587
 
588
- #: application/admin/views/_metabox_autoblog.php:60
589
  msgid "Uppercase first letter"
590
  msgstr ""
591
 
592
- #: application/admin/views/_metabox_autoblog.php:61
593
  msgid "Sort with alpha order"
594
  msgstr ""
595
 
596
- #: application/admin/views/_metabox_autoblog.php:62
597
  msgid "All words are inactive"
598
  msgstr ""
599
 
600
- #: application/admin/views/_metabox_autoblog.php:63
601
  msgid "All words are active"
602
  msgstr ""
603
 
604
- #: application/admin/views/_metabox_autoblog.php:64
605
  msgid "Clear list"
606
  msgstr ""
607
 
608
- #: application/admin/views/_metabox_autoblog.php:68
609
  msgid "Total"
610
  msgstr ""
611
 
612
- #: application/admin/views/_metabox_autoblog.php:74
613
  msgid "Hints"
614
  msgstr ""
615
 
616
- #: application/admin/views/_metabox_autoblog.php:75
617
  msgid "Trends"
618
  msgstr ""
619
 
620
- #: application/admin/views/_metabox_autoblog.php:76
621
  msgid "Products"
622
  msgstr ""
623
 
624
- #: application/admin/views/_metabox_autoblog.php:83
625
  msgid "Yandex"
626
  msgstr ""
627
 
628
- #: application/admin/views/_metabox_autoblog.php:84
629
  msgid "Yandex.Market"
630
  msgstr ""
631
 
632
- #: application/admin/views/_metabox_autoblog.php:87
633
  msgid "Start enter keyword"
634
  msgstr ""
635
 
636
- #: application/admin/views/_metabox_autoblog.php:112
637
  msgid "Load..."
638
  msgstr ""
639
 
640
- #: application/admin/views/_metabox_autoblog.php:124
641
  msgid "Each keyword from separate line."
642
  msgstr ""
643
 
644
- #: application/admin/views/_metabox_autoblog.php:125
645
  msgid "One keyword is one post."
646
  msgstr ""
647
 
648
- #: application/admin/views/_metabox_autoblog.php:126
649
  msgid "Handled keywords are marked by [brackets]."
650
  msgstr ""
651
 
652
- #: application/admin/views/_metabox_autoblog.php:127
653
  msgid "When all keywords will be processed, task will stop."
654
  msgstr ""
655
 
656
- #: application/admin/views/_metabox_autoblog.php:130
657
- #: application/admin/views/_metabox_autoblog.php:168
658
  msgid "You can also use separate keywords for some modules:"
659
  msgstr ""
660
 
661
- #: application/admin/views/_metabox_autoblog.php:148
662
  msgid "Two format are supported: "
663
  msgstr ""
664
 
665
- #: application/admin/views/_metabox_autoblog.php:151
666
  msgid "CSV files in format:"
667
  msgstr ""
668
 
669
- #: application/admin/views/_metabox_autoblog.php:160
670
  msgid "Divider - \";\""
671
  msgstr ""
672
 
673
- #: application/admin/views/_metabox_autoblog.php:161
674
  msgid "For each category will be created separate task for autoblog."
675
  msgstr ""
676
 
677
- #: application/admin/views/_metabox_autoblog.php:163
678
  msgid "TXT files:"
679
  msgstr ""
680
 
681
- #: application/admin/views/_metabox_autoblog.php:164
682
  msgid "Simple text file with list of keywords (each word from separate line)."
683
  msgstr ""
684
 
685
- #: application/admin/views/_metabox_autoblog.php:166
686
  msgid "File must be in UTF-8"
687
  msgstr ""
688
 
689
- #: application/admin/views/_metabox_autoblog.php:179
690
  msgid "Keywords for handle"
691
  msgstr ""
692
 
693
- #: application/admin/views/_metabox_autoblog.php:184
694
  msgid "How many keywords to process at once. We don't recommend to use more than 5 keywords."
695
  msgstr ""
696
 
697
- #: application/admin/views/_metabox_autoblog.php:189
698
  msgid "Title template"
699
  msgstr ""
700
 
701
- #: application/admin/views/_metabox_autoblog.php:196
702
  msgid "Template for title of post"
703
  msgstr ""
704
 
705
- #: application/admin/views/_metabox_autoblog.php:197
706
  msgid "Use tags:"
707
  msgstr ""
708
 
709
- #: application/admin/views/_metabox_autoblog.php:198
710
  msgid "For display data of plugin use special tags, for example:"
711
  msgstr ""
712
 
713
- #: application/admin/views/_metabox_autoblog.php:199
714
  msgid "You also can set index number for access to data of plugin"
715
  msgstr ""
716
 
717
- #: application/admin/views/_metabox_autoblog.php:200
718
  msgid "You can use \"formulas\" with synonyms, of which one will be selected with a random option, for example, {Discount|Sale|Cheap}."
719
  msgstr ""
720
 
721
- #: application/admin/views/_metabox_autoblog.php:207
722
  msgid "Template for post."
723
  msgstr ""
724
 
725
- #: application/admin/views/_metabox_autoblog.php:213
726
  msgid "Template for body of post."
727
  msgstr ""
728
 
729
- #: application/admin/views/_metabox_autoblog.php:214
730
  msgid "You can use shortcodes, for example:"
731
  msgstr ""
732
 
733
- #: application/admin/views/_metabox_autoblog.php:216
734
- #: application/admin/views/_metabox_autoblog.php:437
735
- #: application/admin/views/_metabox_autoblog.php:459
736
  msgid "\"Formulas\", and also all tags from title template, will also work here."
737
  msgstr ""
738
 
739
- #: application/admin/views/_metabox_autoblog.php:223
740
  msgid "Only choosed modules"
741
  msgstr ""
742
 
743
- #: application/admin/views/_metabox_autoblog.php:234
744
  msgid "Run only definite modules for this task."
745
  msgstr ""
746
 
747
- #: application/admin/views/_metabox_autoblog.php:235
748
  msgid "If you don't choose anything, all active modules will be used."
749
  msgstr ""
750
 
751
- #: application/admin/views/_metabox_autoblog.php:242
752
  msgid "Exclude modules"
753
  msgstr ""
754
 
755
- #: application/admin/views/_metabox_autoblog.php:253
756
  msgid "Chosen modules will not run in this configuration. "
757
  msgstr ""
758
 
759
- #: application/admin/views/_metabox_autoblog.php:260
760
  #: application/admin/views/prefill.php:86
761
  msgid "Post status"
762
  msgstr ""
763
 
764
- #: application/admin/views/_metabox_autoblog.php:272
765
  #: application/admin/views/prefill.php:74
766
  msgid "Post type"
767
  msgstr ""
768
 
769
- #: application/admin/views/_metabox_autoblog.php:290
770
  msgid "User"
771
  msgstr ""
772
 
773
- #: application/admin/views/_metabox_autoblog.php:297
774
  msgid "This user will be author of posts."
775
  msgstr ""
776
 
777
- #: application/admin/views/_metabox_autoblog.php:303
778
  #: application/modules/Aliexpress/AliexpressConfig.php:87
779
  #: application/modules/CityadsProducts/CityadsProductsConfig.php:87
780
  #: application/modules/CjLinks/CjLinksConfig.php:123
@@ -789,147 +879,143 @@ msgstr ""
789
  msgid "Category "
790
  msgstr ""
791
 
792
- #: application/admin/views/_metabox_autoblog.php:319
793
  msgid "Create Automatically"
794
  msgstr ""
795
 
796
- #: application/admin/views/_metabox_autoblog.php:331
797
  msgid "Default category for posts."
798
  msgstr ""
799
 
800
- #: application/admin/views/_metabox_autoblog.php:333
801
  msgid "\"Create Automatically\" means, that categories will be created based on data of CSV file with keywords and categories."
802
  msgstr ""
803
 
804
- #: application/admin/views/_metabox_autoblog.php:341
805
  msgid "Dynamic categories"
806
  msgstr ""
807
 
808
- #: application/admin/views/_metabox_autoblog.php:345
809
  msgid "Do not create"
810
  msgstr ""
811
 
812
- #: application/admin/views/_metabox_autoblog.php:346
813
  msgid "Create category"
814
  msgstr ""
815
 
816
- #: application/admin/views/_metabox_autoblog.php:347
817
  msgid "Create nested categories"
818
  msgstr ""
819
 
820
- #: application/admin/views/_metabox_autoblog.php:349
821
  msgid "Create a category automatically, if the main product has a category data."
822
  msgstr ""
823
 
824
- #: application/admin/views/_metabox_autoblog.php:355
825
  msgid "Minimum modules required"
826
  msgstr ""
827
 
828
- #: application/admin/views/_metabox_autoblog.php:360
829
  msgid "Post will not be published if no content for such number of modules."
830
  msgstr ""
831
 
832
- #: application/admin/views/_metabox_autoblog.php:366
833
  msgid "Minimum reviews required"
834
  msgstr ""
835
 
836
- #: application/admin/views/_metabox_autoblog.php:371
837
  msgid "Post will not be published if there are no user reviews. This option works only for AE modules."
838
  msgstr ""
839
 
840
- #: application/admin/views/_metabox_autoblog.php:377
841
  #: application/modules/AdmitadProducts/AdmitadProductsConfig.php:150
842
  msgid "Automatic update"
843
  msgstr ""
844
 
845
- #: application/admin/views/_metabox_autoblog.php:388
846
  msgid "For selected modules, the current keyword will be used as a keyword for autoupdate. Data of the module will be updated periodically In accordance with the configuration of the lifetime of the cache."
847
  msgstr ""
848
 
849
- #: application/admin/views/_metabox_autoblog.php:394
850
  msgid "Required modules"
851
  msgstr ""
852
 
853
- #: application/admin/views/_metabox_autoblog.php:405
854
  msgid "Post will not be publicized if no results for these modules."
855
  msgstr ""
856
 
857
- #: application/admin/views/_metabox_autoblog.php:412
858
  msgid "Main product"
859
  msgstr ""
860
 
861
- #: application/admin/views/_metabox_autoblog.php:421
862
  msgid "How to choose \"main\" product?"
863
  msgstr ""
864
 
865
- #: application/admin/views/_metabox_autoblog.php:422
866
  msgid "Then you can use tags:"
867
  msgstr ""
868
 
869
- #: application/admin/views/_metabox_autoblog.php:429
870
  msgid "Tags"
871
  msgstr ""
872
 
873
- #: application/admin/views/_metabox_autoblog.php:436
874
  msgid "Comma separated list of tags."
875
  msgstr ""
876
 
877
- #: application/admin/views/_metabox_autoblog.php:445
878
  #: application/admin/views/prefill.php:104
879
  msgid "Add custom fields"
880
  msgstr ""
881
 
882
- #: application/admin/views/_metabox_autoblog.php:450
883
  msgid "Custom Field"
884
  msgstr ""
885
 
886
- #: application/admin/views/_metabox_autoblog.php:455
887
  msgid "Value"
888
  msgstr ""
889
 
890
- #: application/admin/views/_metabox_results.php:18
891
- #: application/components/ParserModuleConfig.php:57
892
- #: application/modules/Coupon/views/metabox_module.php:51
893
- #: application/modules/Offer/views/metabox_module.php:51
894
- #: application/modules/Walmart/WalmartConfig.php:94
895
- #: application/modules/Youtube/YoutubeConfig.php:64
896
- #: application/modules/Youtube/views/search_panel.php:10
897
- msgid "Title"
898
  msgstr ""
899
 
900
- #: application/admin/views/_metabox_results.php:19
901
  #: application/modules/Coupon/views/metabox_module.php:104
902
- #: application/modules/Offer/views/metabox_module.php:93
903
  msgid "Description"
904
  msgstr ""
905
 
906
- #: application/admin/views/_metabox_results.php:22
 
907
  msgid "Woo synchronization"
908
  msgstr ""
909
 
910
- #: application/admin/views/_metabox_results.php:24
911
  msgid "Woo attributes"
912
  msgstr ""
913
 
914
- #: application/admin/views/_metabox_results.php:26
915
  #: application/admin/views/_metabox_search_results.php:13
916
  msgid "Attributes:"
917
  msgstr ""
918
 
919
- #: application/admin/views/_metabox_results.php:52
920
  #: application/admin/views/_promo_box.php:42
921
  #: application/modules/Coupon/views/metabox_module.php:110
922
- #: application/modules/Offer/views/metabox_module.php:96
923
  msgid "Go to "
924
  msgstr ""
925
 
926
- #: application/admin/views/_metabox_results.php:57
927
  #: application/modules/Coupon/views/metabox_module.php:111
928
- #: application/modules/Offer/views/metabox_module.php:97
929
  msgid "Remove"
930
  msgstr ""
931
 
932
- #: application/admin/views/_metabox_results.php:61
933
  msgid "Last update:"
934
  msgstr ""
935
 
@@ -1102,13 +1188,13 @@ msgstr ""
1102
  #: application/admin/views/metabox_general.php:32
1103
  #: application/admin/views/metabox_module.php:40
1104
  #: application/modules/Coupon/views/metabox_module.php:34
1105
- #: application/modules/Offer/views/metabox_module.php:34
1106
  msgid "Remove all"
1107
  msgstr ""
1108
 
1109
  #: application/admin/views/metabox_module.php:24
1110
  #: application/modules/Coupon/views/metabox_module.php:24
1111
- #: application/modules/Offer/views/metabox_module.php:24
1112
  msgid "Shortcode Template"
1113
  msgstr ""
1114
 
@@ -1122,7 +1208,7 @@ msgstr ""
1122
 
1123
  #: application/admin/views/metabox_module.php:40
1124
  #: application/modules/Coupon/views/metabox_module.php:34
1125
- #: application/modules/Offer/views/metabox_module.php:34
1126
  msgid "Are you sure you want to delete all results?"
1127
  msgstr ""
1128
 
@@ -1350,10 +1436,6 @@ msgstr ""
1350
  msgid "Priority sets order of modules in post. 0 - is the most highest priority."
1351
  msgstr ""
1352
 
1353
- #: application/components/ParserModuleConfig.php:49
1354
- msgid "Template"
1355
- msgstr ""
1356
-
1357
  #: application/components/ParserModuleConfig.php:50
1358
  msgid "Default template"
1359
  msgstr ""
@@ -1484,8 +1566,8 @@ msgstr ""
1484
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:81
1485
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:35
1486
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:35
1487
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:92
1488
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:92
1489
  #: application/modules/Twitter/TwitterConfig.php:80
1490
  #: application/modules/Udemy/UdemyConfig.php:64
1491
  #: application/modules/Viglink/ViglinkConfig.php:50
@@ -1525,8 +1607,8 @@ msgstr ""
1525
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:82
1526
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:36
1527
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:36
1528
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:93
1529
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:93
1530
  #: application/modules/Udemy/UdemyConfig.php:65
1531
  #: application/modules/Viglink/ViglinkConfig.php:51
1532
  #: application/modules/Walmart/WalmartConfig.php:49
@@ -1571,8 +1653,8 @@ msgstr ""
1571
  #: application/modules/Shareasale/ShareasaleConfig.php:76
1572
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:46
1573
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:46
1574
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:103
1575
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:103
1576
  #: application/modules/Udemy/UdemyConfig.php:79
1577
  #: application/modules/Viglink/ViglinkConfig.php:60
1578
  #: application/modules/Walmart/WalmartConfig.php:63
@@ -1609,8 +1691,8 @@ msgstr ""
1609
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:93
1610
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:47
1611
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:47
1612
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:104
1613
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:104
1614
  #: application/modules/Udemy/UdemyConfig.php:80
1615
  #: application/modules/Viglink/ViglinkConfig.php:61
1616
  #: application/modules/Walmart/WalmartConfig.php:64
@@ -1661,8 +1743,8 @@ msgstr ""
1661
  #: application/modules/QwantImages/QwantImagesConfig.php:62
1662
  #: application/modules/Shareasale/ShareasaleConfig.php:107
1663
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:157
1664
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:168
1665
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:168
1666
  #: application/modules/Twitter/TwitterConfig.php:125
1667
  #: application/modules/Udemy/UdemyConfig.php:212
1668
  #: application/modules/Viglink/ViglinkConfig.php:123
@@ -1704,8 +1786,8 @@ msgstr ""
1704
  #: application/modules/QwantImages/QwantImagesConfig.php:63
1705
  #: application/modules/Shareasale/ShareasaleConfig.php:108
1706
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:158
1707
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:169
1708
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:169
1709
  #: application/modules/Twitter/TwitterConfig.php:126
1710
  #: application/modules/Udemy/UdemyConfig.php:213
1711
  #: application/modules/Viglink/ViglinkConfig.php:124
@@ -1715,7 +1797,7 @@ msgstr ""
1715
  msgid "Save images on server"
1716
  msgstr ""
1717
 
1718
- #: application/modules/AE/AEModule.php:38
1719
  msgid "Affiliate Egg parser for %s"
1720
  msgstr ""
1721
 
@@ -1840,7 +1922,7 @@ msgstr ""
1840
  #: application/modules/Pepperjam/PepperjamConfig.php:147
1841
  #: application/modules/Shareasale/ShareasaleConfig.php:114
1842
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:164
1843
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:175
1844
  #: application/modules/VkNews/VkNewsConfig.php:49
1845
  #: application/modules/Walmart/WalmartConfig.php:132
1846
  #: application/modules/Youtube/YoutubeConfig.php:85
@@ -1870,7 +1952,7 @@ msgstr ""
1870
  #: application/modules/Pepperjam/PepperjamConfig.php:148
1871
  #: application/modules/Shareasale/ShareasaleConfig.php:115
1872
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:165
1873
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:176
1874
  #: application/modules/VkNews/VkNewsConfig.php:50
1875
  #: application/modules/Walmart/WalmartConfig.php:133
1876
  #: application/modules/Youtube/YoutubeConfig.php:86
@@ -2376,7 +2458,7 @@ msgid "The maximum size of the item description. 0 - do not cut."
2376
  msgstr ""
2377
 
2378
  #: application/modules/Amazon/AmazonConfig.php:260
2379
- msgid "Use images with https (use it if you also have https site)"
2380
  msgstr ""
2381
 
2382
  #: application/modules/Amazon/AmazonConfig.php:261
@@ -2387,11 +2469,23 @@ msgstr ""
2387
  msgid "Enabling this option violates rules of API."
2388
  msgstr ""
2389
 
2390
- #: application/modules/Amazon/AmazonConfig.php:278
 
 
 
 
 
 
 
 
 
 
 
 
2391
  msgid "Tracking ID for %s locale"
2392
  msgstr ""
2393
 
2394
- #: application/modules/Amazon/AmazonConfig.php:279
2395
  msgid "Type here your tracking ID for this locale if you need multiple locale parsing"
2396
  msgstr ""
2397
 
@@ -2824,10 +2918,6 @@ msgstr ""
2824
  msgid "Wallpaper images"
2825
  msgstr ""
2826
 
2827
- #: application/modules/BingImages/BingImagesConfig.php:195
2828
- msgid "Domain"
2829
- msgstr ""
2830
-
2831
  #: application/modules/BingImages/BingImagesConfig.php:196
2832
  msgid "Limit the search to only that domain. For example ask: wikimedia.org"
2833
  msgstr ""
@@ -3205,6 +3295,22 @@ msgstr ""
3205
  msgid "Module is in test mode."
3206
  msgstr ""
3207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3208
  #: application/modules/Coupon/CouponModule.php:22
3209
  msgid "Add a coupon code manually."
3210
  msgstr ""
@@ -3215,8 +3321,8 @@ msgstr ""
3215
 
3216
  #: application/modules/Coupon/views/metabox_module.php:51
3217
  #: application/modules/Coupon/views/metabox_module.php:60
3218
- #: application/modules/Offer/views/metabox_module.php:51
3219
- #: application/modules/Offer/views/metabox_module.php:66
3220
  msgid "required"
3221
  msgstr ""
3222
 
@@ -3245,7 +3351,7 @@ msgid "End date (YYYY/MM/DD)"
3245
  msgstr ""
3246
 
3247
  #: application/modules/Coupon/views/metabox_module.php:112
3248
- #: application/modules/Offer/views/metabox_module.php:99
3249
  msgid "Last update: "
3250
  msgstr ""
3251
 
@@ -3294,7 +3400,7 @@ msgid "Set this if you want to direct traffic over <a href=\"http://www.keywordr
3294
  msgstr ""
3295
 
3296
  #: application/modules/Ebay/EbayConfig.php:90
3297
- #: application/modules/Offer/views/metabox_module.php:69
3298
  #: application/modules/Ozon/OzonConfig.php:30
3299
  msgid "Deeplink"
3300
  msgstr ""
@@ -3754,7 +3860,7 @@ msgstr ""
3754
 
3755
  #: application/modules/GdeSlon/GdeSlonConfig.php:82
3756
  #: application/modules/LomadeeProducts/LomadeeProductsConfig.php:110
3757
- #: application/modules/Offer/views/metabox_module.php:75
3758
  #: application/modules/Udemy/UdemyConfig.php:153
3759
  #: application/modules/Walmart/WalmartConfig.php:93
3760
  msgid "Price"
@@ -3769,7 +3875,7 @@ msgid "New products"
3769
  msgstr ""
3770
 
3771
  #: application/modules/GdeSlon/GdeSlonConfig.php:91
3772
- msgid "Limit search by categories. You can find shop ID <a target=\"_blank\" href=\"http://api.gdeslon.ru/merchants\">here</a>. You can set multiple ID with comma."
3773
  msgstr ""
3774
 
3775
  #: application/modules/GdeSlon/GdeSlonConfig.php:101
@@ -4010,11 +4116,11 @@ msgid "The way the offers are sorted."
4010
  msgstr ""
4011
 
4012
  #: application/modules/LomadeeProducts/LomadeeProductsConfig.php:109
4013
- #: application/modules/Offer/views/metabox_module.php:55
4014
  #: application/modules/Offer/views/metabox_module.php:56
4015
  #: application/modules/Offer/views/metabox_module.php:57
4016
  #: application/modules/Offer/views/metabox_module.php:58
4017
  #: application/modules/Offer/views/metabox_module.php:59
 
4018
  #: application/modules/Ozon/OzonConfig.php:172
4019
  #: application/modules/Youtube/YoutubeConfig.php:62
4020
  #: application/modules/Youtube/views/search_panel.php:8
@@ -4056,7 +4162,7 @@ msgid "Belarus"
4056
  msgstr ""
4057
 
4058
  #: application/modules/Market/MarketConfig.php:80
4059
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:118
4060
  #: application/modules/TradetrackerCoupons/views/search_panel.php:3
4061
  msgid "Offers"
4062
  msgstr ""
@@ -4120,23 +4226,23 @@ msgstr ""
4120
  msgid "Manually create offer from any site with price update."
4121
  msgstr ""
4122
 
4123
- #: application/modules/Offer/views/metabox_module.php:33
4124
  msgid "Add offer"
4125
  msgstr ""
4126
 
4127
- #: application/modules/Offer/views/metabox_module.php:66
4128
  msgid "Offer URL"
4129
  msgstr ""
4130
 
4131
- #: application/modules/Offer/views/metabox_module.php:72
4132
  msgid "Image URL"
4133
  msgstr ""
4134
 
4135
- #: application/modules/Offer/views/metabox_module.php:78
4136
  msgid "Old price"
4137
  msgstr ""
4138
 
4139
- #: application/modules/Offer/views/metabox_module.php:88
4140
  msgid "XPath Price Selector"
4141
  msgstr ""
4142
 
@@ -4596,7 +4702,7 @@ msgid "Access key for Tradedoubler Products API. You can get it <a href=\"https:
4596
  msgstr ""
4597
 
4598
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:92
4599
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:114
4600
  msgid "Feed ID"
4601
  msgstr ""
4602
 
@@ -4627,53 +4733,53 @@ msgstr ""
4627
  msgid "Your TradeTracker locale."
4628
  msgstr ""
4629
 
4630
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:114
4631
  msgid "Items type"
4632
  msgstr ""
4633
 
4634
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:117
4635
  #: application/modules/TradetrackerCoupons/views/search_panel.php:2
4636
  msgid "Vouchers"
4637
  msgstr ""
4638
 
4639
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:119
4640
  #: application/modules/TradetrackerCoupons/views/search_panel.php:4
4641
  msgid "Text Links"
4642
  msgstr ""
4643
 
4644
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:125
4645
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:159
4646
  msgid "Banner Dimension ID"
4647
  msgstr ""
4648
 
4649
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:134
4650
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:132
4651
  msgid "Campaign ID"
4652
  msgstr ""
4653
 
4654
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:143
4655
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:141
4656
  msgid "Campaign Category ID"
4657
  msgstr ""
4658
 
4659
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:152
4660
  msgid "Unsubscribed campaigns"
4661
  msgstr ""
4662
 
4663
- #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:153
4664
  msgid "Include unsubscribed campaigns."
4665
  msgstr ""
4666
 
4667
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:123
4668
  msgid "Feed Category Name"
4669
  msgstr ""
4670
 
4671
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:150
4672
  #: application/modules/Viglink/ViglinkConfig.php:93
4673
  msgid "Price From"
4674
  msgstr ""
4675
 
4676
- #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:159
4677
  #: application/modules/Viglink/ViglinkConfig.php:102
4678
  msgid "Price To"
4679
  msgstr ""
@@ -4865,7 +4971,11 @@ msgstr ""
4865
  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."
4866
  msgstr ""
4867
 
4868
- #: application/modules/Viglink/ViglinkConfig.php:134
 
 
 
 
4869
  #: application/modules/Walmart/WalmartConfig.php:82
4870
  msgid "[ All ]"
4871
  msgstr ""
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.4.3\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg\n"
7
+ "POT-Creation-Date: 2018-01-21 19:46:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
16
  msgid "New version"
17
  msgstr ""
18
 
19
+ #: application/PriceMoversWidget.php:36
20
+ msgid "Products with the biggest price drops."
21
  msgstr ""
22
 
23
+ #: application/PriceMoversWidget.php:41
24
+ msgid "CE: Price Movers"
25
+ msgstr ""
26
+
27
+ #: application/PriceMoversWidget.php:59 application/ProductSearchWidget.php:43
28
+ #: application/admin/views/_metabox_results.php:18
29
+ #: application/components/ParserModuleConfig.php:57
30
+ #: application/modules/Coupon/views/metabox_module.php:51
31
+ #: application/modules/Offer/views/metabox_module.php:52
32
+ #: application/modules/Walmart/WalmartConfig.php:94
33
+ #: application/modules/Youtube/YoutubeConfig.php:64
34
+ #: application/modules/Youtube/views/search_panel.php:10
35
+ msgid "Title"
36
+ msgstr ""
37
+
38
+ #: application/PriceMoversWidget.php:66
39
+ msgid "Number of products to show"
40
+ msgstr ""
41
+
42
+ #: application/PriceMoversWidget.php:71
43
+ msgid "Drop type"
44
+ msgstr ""
45
+
46
+ #: application/PriceMoversWidget.php:73
47
+ msgid "Biggest absolute"
48
+ msgstr ""
49
+
50
+ #: application/PriceMoversWidget.php:74
51
+ msgid "Biggest relative"
52
+ msgstr ""
53
+
54
+ #: application/PriceMoversWidget.php:81
55
+ msgid "Direction"
56
+ msgstr ""
57
+
58
+ #: application/PriceMoversWidget.php:83
59
+ msgid "Price drops"
60
+ msgstr ""
61
+
62
+ #: application/PriceMoversWidget.php:84
63
+ msgid "Price increases"
64
+ msgstr ""
65
+
66
+ #: application/PriceMoversWidget.php:90
67
+ msgid "Last update"
68
+ msgstr ""
69
+
70
+ #: application/PriceMoversWidget.php:92
71
+ msgid "1 day ago"
72
+ msgstr ""
73
+
74
+ #: application/PriceMoversWidget.php:93 application/PriceMoversWidget.php:94
75
+ #: application/PriceMoversWidget.php:95 application/PriceMoversWidget.php:96
76
+ #: application/PriceMoversWidget.php:97 application/PriceMoversWidget.php:98
77
+ #: application/PriceMoversWidget.php:99 application/PriceMoversWidget.php:100
78
+ msgid "%d days ago"
79
+ msgstr ""
80
+
81
+ #: application/PriceMoversWidget.php:106
82
+ #: application/components/ParserModuleConfig.php:49
83
+ msgid "Template"
84
+ msgstr ""
85
+
86
+ #: application/ProductSearchWidget.php:23
87
  msgid "A search form for affiliate products."
88
  msgstr ""
89
 
90
+ #: application/ProductSearchWidget.php:28
91
+ msgid "CE: Product Search"
92
  msgstr ""
93
 
94
  #: application/admin/AdminNotice.php:23
164
  msgstr ""
165
 
166
  #: application/admin/AutoblogTable.php:65
167
+ #: application/admin/views/_metabox_autoblog.php:26
168
  msgid "Works"
169
  msgstr ""
170
 
171
  #: application/admin/AutoblogTable.php:67
172
+ #: application/admin/views/_metabox_autoblog.php:27
173
  msgid "Stoped"
174
  msgstr ""
175
 
198
  msgstr ""
199
 
200
  #: application/admin/EnvatoConfig.php:38 application/admin/EnvatoConfig.php:56
201
+ #: application/admin/GeneralConfig.php:236
202
  msgid "Field \"%s\" filled with wrong data."
203
  msgstr ""
204
 
268
  msgstr ""
269
 
270
  #: application/admin/GeneralConfig.php:140
271
+ #: application/admin/GeneralConfig.php:161
272
+ #: application/admin/GeneralConfig.php:172
273
+ #: application/admin/GeneralConfig.php:224
274
+ #: application/admin/GeneralConfig.php:239
275
  msgid "Price alerts"
276
  msgstr ""
277
 
278
+ #: application/admin/GeneralConfig.php:143
279
+ msgid "Price drops period"
280
+ msgstr ""
281
+
282
  #: application/admin/GeneralConfig.php:144
283
+ msgid "Used for Price Movers widget."
284
+ msgstr ""
285
+
286
+ #: application/admin/GeneralConfig.php:147
287
+ msgid "The last 1 day"
288
+ msgstr ""
289
+
290
+ #: application/admin/GeneralConfig.php:148
291
+ #: application/admin/GeneralConfig.php:149
292
+ #: application/admin/GeneralConfig.php:150
293
+ #: application/admin/GeneralConfig.php:151
294
+ #: application/admin/GeneralConfig.php:152
295
+ #: application/admin/GeneralConfig.php:153
296
+ #: application/admin/GeneralConfig.php:154
297
+ #: application/admin/GeneralConfig.php:155
298
+ #: application/admin/GeneralConfig.php:156
299
+ #: application/admin/GeneralConfig.php:157
300
+ #: application/admin/GeneralConfig.php:158
301
+ msgid "The last %d days"
302
+ msgstr ""
303
+
304
+ #: application/admin/GeneralConfig.php:165
305
  msgid "Allow members to subscribe for price drop alert on email."
306
  msgstr ""
307
 
308
+ #: application/admin/GeneralConfig.php:166
309
  msgid "Active subscriptions now: <b>%d</b>"
310
  msgstr ""
311
 
312
+ #: application/admin/GeneralConfig.php:167
313
  msgid "Messages are sent for last %d days: <b>%d</b>"
314
  msgstr ""
315
 
316
+ #: application/admin/GeneralConfig.php:168
317
  msgid "Export: [ <a href=\"%s\">All</a> | <a href=\"%s\">Active</a> ]"
318
  msgstr ""
319
 
320
+ #: application/admin/GeneralConfig.php:169
321
  msgid "This option requires \"Price history\" option (must be enabled) to work."
322
  msgstr ""
323
 
324
+ #: application/admin/GeneralConfig.php:175
325
  msgid "Button color"
326
  msgstr ""
327
 
328
+ #: application/admin/GeneralConfig.php:176
329
  msgid "Button color for standard templates."
330
  msgstr ""
331
 
332
+ #: application/admin/GeneralConfig.php:184
333
  msgid "Buy now button text"
334
  msgstr ""
335
 
336
+ #: application/admin/GeneralConfig.php:185
337
+ #: application/admin/GeneralConfig.php:194
338
  msgid "It will be used instead of \"%s\"."
339
  msgstr ""
340
 
341
+ #: application/admin/GeneralConfig.php:193
342
  msgid "Coupon button text"
343
  msgstr ""
344
 
345
+ #: application/admin/GeneralConfig.php:202
346
+ #: application/admin/GeneralConfig.php:211
347
  msgid "Redirect prefix"
348
  msgstr ""
349
 
350
+ #: application/admin/GeneralConfig.php:203
351
  msgid "Custom prefix for local redirect links."
352
  msgstr ""
353
 
354
+ #: application/admin/GeneralConfig.php:211
355
  msgid "The field \"%s\" can contain only Latin letters and digits."
356
  msgstr ""
357
 
358
+ #: application/admin/GeneralConfig.php:216
359
  msgid "From Name"
360
  msgstr ""
361
 
362
+ #: application/admin/GeneralConfig.php:217
363
  msgid "This name will appear in the From Name column of emails sent from CE plugin."
364
  msgstr ""
365
 
366
+ #: application/admin/GeneralConfig.php:227
367
  msgid "From Email"
368
  msgstr ""
369
 
370
+ #: application/admin/GeneralConfig.php:228
371
  msgid "Customize the From Email address."
372
  msgstr ""
373
 
374
+ #: application/admin/GeneralConfig.php:228
375
  msgid "To avoid your email being marked as spam, it is recommended your \"from\" match your website."
376
  msgstr ""
377
 
378
+ #: application/admin/GeneralConfig.php:242
379
  msgid "Search modules"
380
  msgstr ""
381
 
382
+ #: application/admin/GeneralConfig.php:243
383
  msgid "Select modules to search on frontend."
384
  msgstr ""
385
 
386
+ #: application/admin/GeneralConfig.php:244
387
  msgid "Do not select more than 1-2 modules."
388
  msgstr ""
389
 
390
+ #: application/admin/GeneralConfig.php:245
391
  msgid "Please note, AE modules work slowly and are not recommended for use as search modules."
392
  msgstr ""
393
 
394
+ #: application/admin/GeneralConfig.php:246
395
  msgid "Do not forget to add search widget or shorcode [content-egg-search-form]."
396
  msgstr ""
397
 
398
+ #: application/admin/GeneralConfig.php:250
399
+ #: application/admin/GeneralConfig.php:258
400
  msgid "Frontend search"
401
  msgstr ""
402
 
403
+ #: application/admin/GeneralConfig.php:253
404
  msgid "Search page template"
405
  msgstr ""
406
 
407
+ #: application/admin/GeneralConfig.php:254
408
  msgid "Template for body of search page."
409
  msgstr ""
410
 
411
+ #: application/admin/GeneralConfig.php:255
412
  msgid "You can use shortcodes, for example: [content-egg module=Amazon template=grid]"
413
  msgstr ""
414
 
415
+ #: application/admin/GeneralConfig.php:261
416
  msgid "Modules for synchronization"
417
  msgstr ""
418
 
419
+ #: application/admin/GeneralConfig.php:262
420
  msgid "Select modules for automatic synchronization with WooCommerce."
421
  msgstr ""
422
 
423
+ #: application/admin/GeneralConfig.php:266
424
+ #: application/admin/GeneralConfig.php:279
425
+ #: application/admin/GeneralConfig.php:286
426
+ #: application/admin/GeneralConfig.php:298
427
+ #: application/admin/GeneralConfig.php:305
428
+ #: application/admin/GeneralConfig.php:317
429
  msgid "WooCommerce synchronization"
430
  msgstr ""
431
 
432
+ #: application/admin/GeneralConfig.php:269
433
  msgid "Automatic synchronization"
434
  msgstr ""
435
 
436
+ #: application/admin/GeneralConfig.php:270
437
  msgid "How to choose product for automatic synchronization with WooCommerce."
438
  msgstr ""
439
 
440
+ #: application/admin/GeneralConfig.php:273
441
+ #: application/admin/views/_metabox_autoblog.php:408
442
  msgid "Minimum price"
443
  msgstr ""
444
 
445
+ #: application/admin/GeneralConfig.php:274
446
+ #: application/admin/views/_metabox_autoblog.php:409
447
  msgid "Maximum price"
448
  msgstr ""
449
 
450
+ #: application/admin/GeneralConfig.php:275
451
+ #: application/admin/views/_metabox_autoblog.php:410
452
  msgid "Random"
453
  msgstr ""
454
 
455
+ #: application/admin/GeneralConfig.php:276
456
  msgid "Manually only"
457
  msgstr ""
458
 
459
+ #: application/admin/GeneralConfig.php:282
460
  msgid "Attributes synchronization"
461
  msgstr ""
462
 
463
+ #: application/admin/GeneralConfig.php:283
464
  msgid "Also synchronize attributes automatically for synchronized product."
465
  msgstr ""
466
 
467
+ #: application/admin/GeneralConfig.php:289
468
  msgid "Global attributes filter"
469
  msgstr ""
470
 
471
+ #: application/admin/GeneralConfig.php:290
472
  msgid "How to create wocommerce attributes when synchronizing. Please, read documentation about them in our docs."
473
  msgstr ""
474
 
475
+ #: application/admin/GeneralConfig.php:293
476
  msgid "Default filter"
477
  msgstr ""
478
 
479
+ #: application/admin/GeneralConfig.php:294
480
  msgid "Whitelist attribute names"
481
  msgstr ""
482
 
483
+ #: application/admin/GeneralConfig.php:295
484
  msgid "Blacklist attribute names"
485
  msgstr ""
486
 
487
+ #: application/admin/GeneralConfig.php:301
488
  msgid "Attributes list"
489
  msgstr ""
490
 
491
+ #: application/admin/GeneralConfig.php:302
492
  msgid "Black / white list of woocommerce global (filterable) attributes. Enter a comma separated list."
493
  msgstr ""
494
 
495
+ #: application/admin/GeneralConfig.php:308
496
  msgid "Show update date"
497
  msgstr ""
498
 
499
+ #: application/admin/GeneralConfig.php:309
500
  msgid "Show price update date for WooCommerce products."
501
  msgstr ""
502
 
503
+ #: application/admin/GeneralConfig.php:312
504
  #: application/modules/GoogleImages/GoogleImagesConfig.php:164
505
  msgid "Disabled"
506
  msgstr ""
507
 
508
+ #: application/admin/GeneralConfig.php:313
509
  msgid "Amazon only"
510
  msgstr ""
511
 
512
+ #: application/admin/GeneralConfig.php:314
513
  msgid "All modules"
514
  msgstr ""
515
 
611
  msgid "Data saved:"
612
  msgstr ""
613
 
614
+ #: application/admin/views/_metabox_autoblog.php:12
615
  #: application/models/AutoblogModel.php:72
616
  #: application/modules/Ozon/OzonConfig.php:82
617
  msgid "Name"
618
  msgstr ""
619
 
620
+ #: application/admin/views/_metabox_autoblog.php:16
621
  msgid "Name for autoblogging (optional)"
622
  msgstr ""
623
 
624
+ #: application/admin/views/_metabox_autoblog.php:22
625
  msgid "Task status"
626
  msgstr ""
627
 
628
+ #: application/admin/views/_metabox_autoblog.php:29
629
  msgid "You can stop autoblogging."
630
  msgstr ""
631
 
632
+ #: application/admin/views/_metabox_autoblog.php:35
633
  msgid "Work frequency"
634
  msgstr ""
635
 
636
+ #: application/admin/views/_metabox_autoblog.php:39
637
  msgid "Every hour"
638
  msgstr ""
639
 
640
+ #: application/admin/views/_metabox_autoblog.php:40
641
  msgid "5 times in a day"
642
  msgstr ""
643
 
644
+ #: application/admin/views/_metabox_autoblog.php:41
645
  msgid "Twice daily"
646
  msgstr ""
647
 
648
+ #: application/admin/views/_metabox_autoblog.php:42
649
  msgid "Once a day"
650
  msgstr ""
651
 
652
+ #: application/admin/views/_metabox_autoblog.php:43
653
  msgid "Each three days"
654
  msgstr ""
655
 
656
+ #: application/admin/views/_metabox_autoblog.php:44
657
  msgid "Once a week"
658
  msgstr ""
659
 
660
+ #: application/admin/views/_metabox_autoblog.php:45
661
  msgid "Once in 2 weeks"
662
  msgstr ""
663
 
664
+ #: application/admin/views/_metabox_autoblog.php:47
665
  msgid "How often autoblogging will run this task"
666
  msgstr ""
667
 
668
+ #: application/admin/views/_metabox_autoblog.php:53
669
+ #: application/admin/views/_metabox_autoblog.php:142
670
  #: application/models/AutoblogModel.php:78
671
  msgid "Keywords"
672
  msgstr ""
673
 
674
+ #: application/admin/views/_metabox_autoblog.php:61
675
  msgid "Uppercase First Letter for Each Word"
676
  msgstr ""
677
 
678
+ #: application/admin/views/_metabox_autoblog.php:62
679
  msgid "Uppercase first letter"
680
  msgstr ""
681
 
682
+ #: application/admin/views/_metabox_autoblog.php:63
683
  msgid "Sort with alpha order"
684
  msgstr ""
685
 
686
+ #: application/admin/views/_metabox_autoblog.php:64
687
  msgid "All words are inactive"
688
  msgstr ""
689
 
690
+ #: application/admin/views/_metabox_autoblog.php:65
691
  msgid "All words are active"
692
  msgstr ""
693
 
694
+ #: application/admin/views/_metabox_autoblog.php:66
695
  msgid "Clear list"
696
  msgstr ""
697
 
698
+ #: application/admin/views/_metabox_autoblog.php:70
699
  msgid "Total"
700
  msgstr ""
701
 
702
+ #: application/admin/views/_metabox_autoblog.php:76
703
  msgid "Hints"
704
  msgstr ""
705
 
706
+ #: application/admin/views/_metabox_autoblog.php:77
707
  msgid "Trends"
708
  msgstr ""
709
 
710
+ #: application/admin/views/_metabox_autoblog.php:78
711
  msgid "Products"
712
  msgstr ""
713
 
714
+ #: application/admin/views/_metabox_autoblog.php:85
715
  msgid "Yandex"
716
  msgstr ""
717
 
718
+ #: application/admin/views/_metabox_autoblog.php:86
719
  msgid "Yandex.Market"
720
  msgstr ""
721
 
722
+ #: application/admin/views/_metabox_autoblog.php:89
723
  msgid "Start enter keyword"
724
  msgstr ""
725
 
726
+ #: application/admin/views/_metabox_autoblog.php:114
727
  msgid "Load..."
728
  msgstr ""
729
 
730
+ #: application/admin/views/_metabox_autoblog.php:126
731
  msgid "Each keyword from separate line."
732
  msgstr ""
733
 
734
+ #: application/admin/views/_metabox_autoblog.php:127
735
  msgid "One keyword is one post."
736
  msgstr ""
737
 
738
+ #: application/admin/views/_metabox_autoblog.php:128
739
  msgid "Handled keywords are marked by [brackets]."
740
  msgstr ""
741
 
742
+ #: application/admin/views/_metabox_autoblog.php:129
743
  msgid "When all keywords will be processed, task will stop."
744
  msgstr ""
745
 
746
+ #: application/admin/views/_metabox_autoblog.php:132
747
+ #: application/admin/views/_metabox_autoblog.php:170
748
  msgid "You can also use separate keywords for some modules:"
749
  msgstr ""
750
 
751
+ #: application/admin/views/_metabox_autoblog.php:150
752
  msgid "Two format are supported: "
753
  msgstr ""
754
 
755
+ #: application/admin/views/_metabox_autoblog.php:153
756
  msgid "CSV files in format:"
757
  msgstr ""
758
 
759
+ #: application/admin/views/_metabox_autoblog.php:162
760
  msgid "Divider - \";\""
761
  msgstr ""
762
 
763
+ #: application/admin/views/_metabox_autoblog.php:163
764
  msgid "For each category will be created separate task for autoblog."
765
  msgstr ""
766
 
767
+ #: application/admin/views/_metabox_autoblog.php:165
768
  msgid "TXT files:"
769
  msgstr ""
770
 
771
+ #: application/admin/views/_metabox_autoblog.php:166
772
  msgid "Simple text file with list of keywords (each word from separate line)."
773
  msgstr ""
774
 
775
+ #: application/admin/views/_metabox_autoblog.php:168
776
  msgid "File must be in UTF-8"
777
  msgstr ""
778
 
779
+ #: application/admin/views/_metabox_autoblog.php:181
780
  msgid "Keywords for handle"
781
  msgstr ""
782
 
783
+ #: application/admin/views/_metabox_autoblog.php:186
784
  msgid "How many keywords to process at once. We don't recommend to use more than 5 keywords."
785
  msgstr ""
786
 
787
+ #: application/admin/views/_metabox_autoblog.php:191
788
  msgid "Title template"
789
  msgstr ""
790
 
791
+ #: application/admin/views/_metabox_autoblog.php:198
792
  msgid "Template for title of post"
793
  msgstr ""
794
 
795
+ #: application/admin/views/_metabox_autoblog.php:199
796
  msgid "Use tags:"
797
  msgstr ""
798
 
799
+ #: application/admin/views/_metabox_autoblog.php:200
800
  msgid "For display data of plugin use special tags, for example:"
801
  msgstr ""
802
 
803
+ #: application/admin/views/_metabox_autoblog.php:201
804
  msgid "You also can set index number for access to data of plugin"
805
  msgstr ""
806
 
807
+ #: application/admin/views/_metabox_autoblog.php:202
808
  msgid "You can use \"formulas\" with synonyms, of which one will be selected with a random option, for example, {Discount|Sale|Cheap}."
809
  msgstr ""
810
 
811
+ #: application/admin/views/_metabox_autoblog.php:209
812
  msgid "Template for post."
813
  msgstr ""
814
 
815
+ #: application/admin/views/_metabox_autoblog.php:215
816
  msgid "Template for body of post."
817
  msgstr ""
818
 
819
+ #: application/admin/views/_metabox_autoblog.php:216
820
  msgid "You can use shortcodes, for example:"
821
  msgstr ""
822
 
823
+ #: application/admin/views/_metabox_autoblog.php:218
824
+ #: application/admin/views/_metabox_autoblog.php:429
825
+ #: application/admin/views/_metabox_autoblog.php:451
826
  msgid "\"Formulas\", and also all tags from title template, will also work here."
827
  msgstr ""
828
 
829
+ #: application/admin/views/_metabox_autoblog.php:225
830
  msgid "Only choosed modules"
831
  msgstr ""
832
 
833
+ #: application/admin/views/_metabox_autoblog.php:236
834
  msgid "Run only definite modules for this task."
835
  msgstr ""
836
 
837
+ #: application/admin/views/_metabox_autoblog.php:237
838
  msgid "If you don't choose anything, all active modules will be used."
839
  msgstr ""
840
 
841
+ #: application/admin/views/_metabox_autoblog.php:244
842
  msgid "Exclude modules"
843
  msgstr ""
844
 
845
+ #: application/admin/views/_metabox_autoblog.php:255
846
  msgid "Chosen modules will not run in this configuration. "
847
  msgstr ""
848
 
849
+ #: application/admin/views/_metabox_autoblog.php:262
850
  #: application/admin/views/prefill.php:86
851
  msgid "Post status"
852
  msgstr ""
853
 
854
+ #: application/admin/views/_metabox_autoblog.php:274
855
  #: application/admin/views/prefill.php:74
856
  msgid "Post type"
857
  msgstr ""
858
 
859
+ #: application/admin/views/_metabox_autoblog.php:292
860
  msgid "User"
861
  msgstr ""
862
 
863
+ #: application/admin/views/_metabox_autoblog.php:299
864
  msgid "This user will be author of posts."
865
  msgstr ""
866
 
867
+ #: application/admin/views/_metabox_autoblog.php:305
868
  #: application/modules/Aliexpress/AliexpressConfig.php:87
869
  #: application/modules/CityadsProducts/CityadsProductsConfig.php:87
870
  #: application/modules/CjLinks/CjLinksConfig.php:123
879
  msgid "Category "
880
  msgstr ""
881
 
882
+ #: application/admin/views/_metabox_autoblog.php:312
883
  msgid "Create Automatically"
884
  msgstr ""
885
 
886
+ #: application/admin/views/_metabox_autoblog.php:323
887
  msgid "Default category for posts."
888
  msgstr ""
889
 
890
+ #: application/admin/views/_metabox_autoblog.php:325
891
  msgid "\"Create Automatically\" means, that categories will be created based on data of CSV file with keywords and categories."
892
  msgstr ""
893
 
894
+ #: application/admin/views/_metabox_autoblog.php:333
895
  msgid "Dynamic categories"
896
  msgstr ""
897
 
898
+ #: application/admin/views/_metabox_autoblog.php:337
899
  msgid "Do not create"
900
  msgstr ""
901
 
902
+ #: application/admin/views/_metabox_autoblog.php:338
903
  msgid "Create category"
904
  msgstr ""
905
 
906
+ #: application/admin/views/_metabox_autoblog.php:339
907
  msgid "Create nested categories"
908
  msgstr ""
909
 
910
+ #: application/admin/views/_metabox_autoblog.php:341
911
  msgid "Create a category automatically, if the main product has a category data."
912
  msgstr ""
913
 
914
+ #: application/admin/views/_metabox_autoblog.php:347
915
  msgid "Minimum modules required"
916
  msgstr ""
917
 
918
+ #: application/admin/views/_metabox_autoblog.php:352
919
  msgid "Post will not be published if no content for such number of modules."
920
  msgstr ""
921
 
922
+ #: application/admin/views/_metabox_autoblog.php:358
923
  msgid "Minimum reviews required"
924
  msgstr ""
925
 
926
+ #: application/admin/views/_metabox_autoblog.php:363
927
  msgid "Post will not be published if there are no user reviews. This option works only for AE modules."
928
  msgstr ""
929
 
930
+ #: application/admin/views/_metabox_autoblog.php:369
931
  #: application/modules/AdmitadProducts/AdmitadProductsConfig.php:150
932
  msgid "Automatic update"
933
  msgstr ""
934
 
935
+ #: application/admin/views/_metabox_autoblog.php:380
936
  msgid "For selected modules, the current keyword will be used as a keyword for autoupdate. Data of the module will be updated periodically In accordance with the configuration of the lifetime of the cache."
937
  msgstr ""
938
 
939
+ #: application/admin/views/_metabox_autoblog.php:386
940
  msgid "Required modules"
941
  msgstr ""
942
 
943
+ #: application/admin/views/_metabox_autoblog.php:397
944
  msgid "Post will not be publicized if no results for these modules."
945
  msgstr ""
946
 
947
+ #: application/admin/views/_metabox_autoblog.php:404
948
  msgid "Main product"
949
  msgstr ""
950
 
951
+ #: application/admin/views/_metabox_autoblog.php:413
952
  msgid "How to choose \"main\" product?"
953
  msgstr ""
954
 
955
+ #: application/admin/views/_metabox_autoblog.php:414
956
  msgid "Then you can use tags:"
957
  msgstr ""
958
 
959
+ #: application/admin/views/_metabox_autoblog.php:421
960
  msgid "Tags"
961
  msgstr ""
962
 
963
+ #: application/admin/views/_metabox_autoblog.php:428
964
  msgid "Comma separated list of tags."
965
  msgstr ""
966
 
967
+ #: application/admin/views/_metabox_autoblog.php:437
968
  #: application/admin/views/prefill.php:104
969
  msgid "Add custom fields"
970
  msgstr ""
971
 
972
+ #: application/admin/views/_metabox_autoblog.php:442
973
  msgid "Custom Field"
974
  msgstr ""
975
 
976
+ #: application/admin/views/_metabox_autoblog.php:447
977
  msgid "Value"
978
  msgstr ""
979
 
980
+ #: application/admin/views/_metabox_results.php:19
981
+ #: application/modules/BingImages/BingImagesConfig.php:195
982
+ msgid "Domain"
 
 
 
 
 
983
  msgstr ""
984
 
985
+ #: application/admin/views/_metabox_results.php:20
986
  #: application/modules/Coupon/views/metabox_module.php:104
987
+ #: application/modules/Offer/views/metabox_module.php:94
988
  msgid "Description"
989
  msgstr ""
990
 
991
+ #: application/admin/views/_metabox_results.php:23
992
+ #: application/modules/Offer/views/metabox_module.php:96
993
  msgid "Woo synchronization"
994
  msgstr ""
995
 
996
+ #: application/admin/views/_metabox_results.php:25
997
  msgid "Woo attributes"
998
  msgstr ""
999
 
1000
+ #: application/admin/views/_metabox_results.php:27
1001
  #: application/admin/views/_metabox_search_results.php:13
1002
  msgid "Attributes:"
1003
  msgstr ""
1004
 
1005
+ #: application/admin/views/_metabox_results.php:53
1006
  #: application/admin/views/_promo_box.php:42
1007
  #: application/modules/Coupon/views/metabox_module.php:110
1008
+ #: application/modules/Offer/views/metabox_module.php:101
1009
  msgid "Go to "
1010
  msgstr ""
1011
 
1012
+ #: application/admin/views/_metabox_results.php:58
1013
  #: application/modules/Coupon/views/metabox_module.php:111
1014
+ #: application/modules/Offer/views/metabox_module.php:102
1015
  msgid "Remove"
1016
  msgstr ""
1017
 
1018
+ #: application/admin/views/_metabox_results.php:62
1019
  msgid "Last update:"
1020
  msgstr ""
1021
 
1188
  #: application/admin/views/metabox_general.php:32
1189
  #: application/admin/views/metabox_module.php:40
1190
  #: application/modules/Coupon/views/metabox_module.php:34
1191
+ #: application/modules/Offer/views/metabox_module.php:35
1192
  msgid "Remove all"
1193
  msgstr ""
1194
 
1195
  #: application/admin/views/metabox_module.php:24
1196
  #: application/modules/Coupon/views/metabox_module.php:24
1197
+ #: application/modules/Offer/views/metabox_module.php:25
1198
  msgid "Shortcode Template"
1199
  msgstr ""
1200
 
1208
 
1209
  #: application/admin/views/metabox_module.php:40
1210
  #: application/modules/Coupon/views/metabox_module.php:34
1211
+ #: application/modules/Offer/views/metabox_module.php:35
1212
  msgid "Are you sure you want to delete all results?"
1213
  msgstr ""
1214
 
1436
  msgid "Priority sets order of modules in post. 0 - is the most highest priority."
1437
  msgstr ""
1438
 
 
 
 
 
1439
  #: application/components/ParserModuleConfig.php:50
1440
  msgid "Default template"
1441
  msgstr ""
1566
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:81
1567
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:35
1568
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:35
1569
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:93
1570
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:93
1571
  #: application/modules/Twitter/TwitterConfig.php:80
1572
  #: application/modules/Udemy/UdemyConfig.php:64
1573
  #: application/modules/Viglink/ViglinkConfig.php:50
1607
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:82
1608
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:36
1609
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:36
1610
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:94
1611
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:94
1612
  #: application/modules/Udemy/UdemyConfig.php:65
1613
  #: application/modules/Viglink/ViglinkConfig.php:51
1614
  #: application/modules/Walmart/WalmartConfig.php:49
1653
  #: application/modules/Shareasale/ShareasaleConfig.php:76
1654
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:46
1655
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:46
1656
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:104
1657
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:104
1658
  #: application/modules/Udemy/UdemyConfig.php:79
1659
  #: application/modules/Viglink/ViglinkConfig.php:60
1660
  #: application/modules/Walmart/WalmartConfig.php:63
1691
  #: application/modules/SkimlinksCoupons/SkimlinksCouponsConfig.php:93
1692
  #: application/modules/TradedoublerCoupons/TradedoublerCouponsConfig.php:47
1693
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:47
1694
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:105
1695
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:105
1696
  #: application/modules/Udemy/UdemyConfig.php:80
1697
  #: application/modules/Viglink/ViglinkConfig.php:61
1698
  #: application/modules/Walmart/WalmartConfig.php:64
1743
  #: application/modules/QwantImages/QwantImagesConfig.php:62
1744
  #: application/modules/Shareasale/ShareasaleConfig.php:107
1745
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:157
1746
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:169
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:123
1786
  #: application/modules/QwantImages/QwantImagesConfig.php:63
1787
  #: application/modules/Shareasale/ShareasaleConfig.php:108
1788
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:158
1789
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:170
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:124
1797
  msgid "Save images on server"
1798
  msgstr ""
1799
 
1800
+ #: application/modules/AE/AEModule.php:39
1801
  msgid "Affiliate Egg parser for %s"
1802
  msgstr ""
1803
 
1922
  #: application/modules/Pepperjam/PepperjamConfig.php:147
1923
  #: application/modules/Shareasale/ShareasaleConfig.php:114
1924
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:164
1925
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:176
1926
  #: application/modules/VkNews/VkNewsConfig.php:49
1927
  #: application/modules/Walmart/WalmartConfig.php:132
1928
  #: application/modules/Youtube/YoutubeConfig.php:85
1952
  #: application/modules/Pepperjam/PepperjamConfig.php:148
1953
  #: application/modules/Shareasale/ShareasaleConfig.php:115
1954
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:165
1955
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:177
1956
  #: application/modules/VkNews/VkNewsConfig.php:50
1957
  #: application/modules/Walmart/WalmartConfig.php:133
1958
  #: application/modules/Youtube/YoutubeConfig.php:86
2458
  msgstr ""
2459
 
2460
  #: application/modules/Amazon/AmazonConfig.php:260
2461
+ msgid "Use images with https"
2462
  msgstr ""
2463
 
2464
  #: application/modules/Amazon/AmazonConfig.php:261
2469
  msgid "Enabling this option violates rules of API."
2470
  msgstr ""
2471
 
2472
+ #: application/modules/Amazon/AmazonConfig.php:274
2473
+ msgid "Small logos"
2474
+ msgstr ""
2475
+
2476
+ #: application/modules/Amazon/AmazonConfig.php:275
2477
+ msgid "Show small logos"
2478
+ msgstr ""
2479
+
2480
+ #: application/modules/Amazon/AmazonConfig.php:275
2481
+ msgid "Read more: <a target=\"_blank\" href=\"%s\">Amazon brand usage guidelines</a>."
2482
+ msgstr ""
2483
+
2484
+ #: application/modules/Amazon/AmazonConfig.php:286
2485
  msgid "Tracking ID for %s locale"
2486
  msgstr ""
2487
 
2488
+ #: application/modules/Amazon/AmazonConfig.php:287
2489
  msgid "Type here your tracking ID for this locale if you need multiple locale parsing"
2490
  msgstr ""
2491
 
2918
  msgid "Wallpaper images"
2919
  msgstr ""
2920
 
 
 
 
 
2921
  #: application/modules/BingImages/BingImagesConfig.php:196
2922
  msgid "Limit the search to only that domain. For example ask: wikimedia.org"
2923
  msgstr ""
3295
  msgid "Module is in test mode."
3296
  msgstr ""
3297
 
3298
+ #: application/modules/Coupon/CouponConfig.php:26
3299
+ msgid "Hide expired"
3300
+ msgstr ""
3301
+
3302
+ #: application/modules/Coupon/CouponConfig.php:27
3303
+ msgid "Hide expired coupons."
3304
+ msgstr ""
3305
+
3306
+ #: application/modules/Coupon/CouponConfig.php:32
3307
+ msgid "Hide future"
3308
+ msgstr ""
3309
+
3310
+ #: application/modules/Coupon/CouponConfig.php:33
3311
+ msgid "Hide future coupons."
3312
+ msgstr ""
3313
+
3314
  #: application/modules/Coupon/CouponModule.php:22
3315
  msgid "Add a coupon code manually."
3316
  msgstr ""
3321
 
3322
  #: application/modules/Coupon/views/metabox_module.php:51
3323
  #: application/modules/Coupon/views/metabox_module.php:60
3324
+ #: application/modules/Offer/views/metabox_module.php:52
3325
+ #: application/modules/Offer/views/metabox_module.php:67
3326
  msgid "required"
3327
  msgstr ""
3328
 
3351
  msgstr ""
3352
 
3353
  #: application/modules/Coupon/views/metabox_module.php:112
3354
+ #: application/modules/Offer/views/metabox_module.php:104
3355
  msgid "Last update: "
3356
  msgstr ""
3357
 
3400
  msgstr ""
3401
 
3402
  #: application/modules/Ebay/EbayConfig.php:90
3403
+ #: application/modules/Offer/views/metabox_module.php:70
3404
  #: application/modules/Ozon/OzonConfig.php:30
3405
  msgid "Deeplink"
3406
  msgstr ""
3860
 
3861
  #: application/modules/GdeSlon/GdeSlonConfig.php:82
3862
  #: application/modules/LomadeeProducts/LomadeeProductsConfig.php:110
3863
+ #: application/modules/Offer/views/metabox_module.php:76
3864
  #: application/modules/Udemy/UdemyConfig.php:153
3865
  #: application/modules/Walmart/WalmartConfig.php:93
3866
  msgid "Price"
3875
  msgstr ""
3876
 
3877
  #: application/modules/GdeSlon/GdeSlonConfig.php:91
3878
+ msgid "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."
3879
  msgstr ""
3880
 
3881
  #: application/modules/GdeSlon/GdeSlonConfig.php:101
4116
  msgstr ""
4117
 
4118
  #: application/modules/LomadeeProducts/LomadeeProductsConfig.php:109
 
4119
  #: application/modules/Offer/views/metabox_module.php:56
4120
  #: application/modules/Offer/views/metabox_module.php:57
4121
  #: application/modules/Offer/views/metabox_module.php:58
4122
  #: application/modules/Offer/views/metabox_module.php:59
4123
+ #: application/modules/Offer/views/metabox_module.php:60
4124
  #: application/modules/Ozon/OzonConfig.php:172
4125
  #: application/modules/Youtube/YoutubeConfig.php:62
4126
  #: application/modules/Youtube/views/search_panel.php:8
4162
  msgstr ""
4163
 
4164
  #: application/modules/Market/MarketConfig.php:80
4165
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:119
4166
  #: application/modules/TradetrackerCoupons/views/search_panel.php:3
4167
  msgid "Offers"
4168
  msgstr ""
4226
  msgid "Manually create offer from any site with price update."
4227
  msgstr ""
4228
 
4229
+ #: application/modules/Offer/views/metabox_module.php:34
4230
  msgid "Add offer"
4231
  msgstr ""
4232
 
4233
+ #: application/modules/Offer/views/metabox_module.php:67
4234
  msgid "Offer URL"
4235
  msgstr ""
4236
 
4237
+ #: application/modules/Offer/views/metabox_module.php:73
4238
  msgid "Image URL"
4239
  msgstr ""
4240
 
4241
+ #: application/modules/Offer/views/metabox_module.php:79
4242
  msgid "Old price"
4243
  msgstr ""
4244
 
4245
+ #: application/modules/Offer/views/metabox_module.php:89
4246
  msgid "XPath Price Selector"
4247
  msgstr ""
4248
 
4702
  msgstr ""
4703
 
4704
  #: application/modules/TradedoublerProducts/TradedoublerProductsConfig.php:92
4705
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:115
4706
  msgid "Feed ID"
4707
  msgstr ""
4708
 
4733
  msgid "Your TradeTracker locale."
4734
  msgstr ""
4735
 
4736
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:115
4737
  msgid "Items type"
4738
  msgstr ""
4739
 
4740
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:118
4741
  #: application/modules/TradetrackerCoupons/views/search_panel.php:2
4742
  msgid "Vouchers"
4743
  msgstr ""
4744
 
4745
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:120
4746
  #: application/modules/TradetrackerCoupons/views/search_panel.php:4
4747
  msgid "Text Links"
4748
  msgstr ""
4749
 
4750
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:126
4751
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:160
4752
  msgid "Banner Dimension ID"
4753
  msgstr ""
4754
 
4755
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:135
4756
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:133
4757
  msgid "Campaign ID"
4758
  msgstr ""
4759
 
4760
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:144
4761
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:142
4762
  msgid "Campaign Category ID"
4763
  msgstr ""
4764
 
4765
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:153
4766
  msgid "Unsubscribed campaigns"
4767
  msgstr ""
4768
 
4769
+ #: application/modules/TradetrackerCoupons/TradetrackerCouponsConfig.php:154
4770
  msgid "Include unsubscribed campaigns."
4771
  msgstr ""
4772
 
4773
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:124
4774
  msgid "Feed Category Name"
4775
  msgstr ""
4776
 
4777
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:151
4778
  #: application/modules/Viglink/ViglinkConfig.php:93
4779
  msgid "Price From"
4780
  msgstr ""
4781
 
4782
+ #: application/modules/TradetrackerProducts/TradetrackerProductsConfig.php:160
4783
  #: application/modules/Viglink/ViglinkConfig.php:102
4784
  msgid "Price To"
4785
  msgstr ""
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:130
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:137
4979
  #: application/modules/Walmart/WalmartConfig.php:82
4980
  msgid "[ All ]"
4981
  msgstr ""
languages/tpl/content-egg-tpl-DE.mo CHANGED
Binary file
languages/tpl/content-egg-tpl-DE.po ADDED
@@ -0,0 +1,721 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Content Egg 3.4.1\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg-tpl\n"
5
+ "POT-Creation-Date: 2017-03-04 17:13+0200\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "PO-Revision-Date: 2018-01-23 09:56+0200\n"
10
+ "Language-Team: German\n"
11
+ "X-Generator: Poedit 1.8.11\n"
12
+ "Last-Translator: Topollino <topollinchen@gmail.com>\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "Language: de\n"
15
+
16
+ #: application/PriceAlert.php:324
17
+ msgid "<a href=\"%s\">Save %s (%s%%) on %s</a>"
18
+ msgstr "<a href=\"%s\">Speicher %s (%s%%) bei %s</a>"
19
+
20
+ #: application/PriceAlert.php:334
21
+ msgid ""
22
+ "This present alert has now expired. You may <a href=\"%s\">create a new "
23
+ "alert</a> for this item."
24
+ msgstr ""
25
+ "Dieser Alarm ist abgelaufen. Du kannst aber <a href=\"%s\">einen neuen "
26
+ "Alarm</a> für dieses Produkt erstellen."
27
+
28
+ #: application/PriceAlert.php:335
29
+ msgid ""
30
+ "If you don't want to receive any price alerts from us in the future, <a href="
31
+ "\"%s\">please click here</a>."
32
+ msgstr ""
33
+ "Wenn du in Zukunft keine Preisalarme mehr von uns haben möchtest, <a href="
34
+ "\"%s\">dann klick bitte hier</a>."
35
+
36
+ #: application/admin/views/_metabox_results.php:15
37
+ #: application/admin/views/_metabox_search_results.php:12
38
+ msgid "EAN:"
39
+ msgstr "EAN:"
40
+
41
+ #: application/components/ContentManager.php:447
42
+ msgid "Rating"
43
+ msgstr "Bewertung"
44
+
45
+ #: application/helpers/TemplateHelper.php:23
46
+ #: application/helpers/TemplateHelper.php:44
47
+ msgid "number_format_decimal_point"
48
+ msgstr "number_format_decimal_point"
49
+
50
+ #: application/helpers/TemplateHelper.php:24
51
+ #: application/helpers/TemplateHelper.php:45
52
+ msgid "number_format_thousands_sep"
53
+ msgstr "number_format_thousands_sep"
54
+
55
+ #: application/helpers/TemplateHelper.php:116
56
+ msgid "d"
57
+ msgstr "d"
58
+
59
+ #: application/helpers/TemplateHelper.php:118
60
+ msgid "h"
61
+ msgstr "h"
62
+
63
+ #: application/helpers/TemplateHelper.php:120
64
+ #: application/helpers/TemplateHelper.php:122
65
+ #: application/modules/Ebay/templates/data_item.php:71
66
+ msgid "m"
67
+ msgstr "m"
68
+
69
+ #: application/modules/AE/templates/data_grid.php:7
70
+ #: application/modules/AdmitadProducts/templates/data_grid.php:7
71
+ #: application/modules/Affiliatewindow/templates/data_grid.php:7
72
+ #: application/modules/AffilinetProducts/templates/data_grid.php:7
73
+ #: application/modules/Aliexpress/templates/data_grid.php:7
74
+ #: application/modules/Amazon/templates/data_grid.php:9
75
+ #: application/modules/CityadsProducts/templates/data_grid.php:7
76
+ #: application/modules/CjProducts/templates/data_grid.php:7
77
+ #: application/modules/Ebay/templates/data_grid.php:7
78
+ #: application/modules/Envato/templates/data_grid.php:7
79
+ #: application/modules/Flipkart/templates/data_grid.php:7
80
+ #: application/modules/GdeSlon/templates/data_grid.php:7
81
+ #: application/modules/Impactradius/templates/data_grid.php:7
82
+ #: application/modules/Linkshare/templates/data_grid.php:7
83
+ #: application/modules/Offer/templates/data_grid.php:7
84
+ #: application/modules/Optimisemedia/templates/data_grid.php:7
85
+ #: application/modules/PayTM/templates/data_grid.php:7
86
+ #: application/modules/Pepperjam/templates/data_grid.php:7
87
+ #: application/modules/Shareasale/templates/data_grid.php:7
88
+ #: application/modules/TradedoublerProducts/templates/data_grid.php:7
89
+ #: application/modules/Udemy/templates/data_grid.php:7
90
+ #: application/modules/Zanox/templates/data_grid.php:7
91
+ msgid "Grid"
92
+ msgstr "Gitter"
93
+
94
+ #: application/modules/AE/templates/data_item.php:7
95
+ #: application/modules/AdmitadProducts/templates/data_item.php:7
96
+ #: application/modules/Affiliatewindow/templates/data_item.php:7
97
+ #: application/modules/AffilinetProducts/templates/data_item.php:7
98
+ #: application/modules/Aliexpress/templates/data_item.php:7
99
+ #: application/modules/Amazon/templates/data_item.php:7
100
+ #: application/modules/CityadsProducts/templates/data_item.php:7
101
+ #: application/modules/CjProducts/templates/data_item.php:7
102
+ #: application/modules/Ebay/templates/data_item.php:6
103
+ #: application/modules/Envato/templates/data_item.php:7
104
+ #: application/modules/Flipkart/templates/data_item.php:7
105
+ #: application/modules/GdeSlon/templates/data_item.php:7
106
+ #: application/modules/Impactradius/templates/data_item.php:7
107
+ #: application/modules/Linkshare/templates/data_item.php:7
108
+ #: application/modules/Market/templates/data_item.php:5
109
+ #: application/modules/Offer/templates/data_item.php:7
110
+ #: application/modules/Optimisemedia/templates/data_item.php:7
111
+ #: application/modules/Ozon/templates/data_item.php:7
112
+ #: application/modules/PayTM/templates/data_item.php:7
113
+ #: application/modules/Pepperjam/templates/data_item.php:7
114
+ #: application/modules/Shareasale/templates/data_item.php:7
115
+ #: application/modules/TradedoublerProducts/templates/data_item.php:7
116
+ #: application/modules/Udemy/templates/data_item.php:7
117
+ #: application/modules/Zanox/templates/data_item.php:7
118
+ msgid "Product card"
119
+ msgstr "Product card"
120
+
121
+ #: application/modules/AE/templates/data_list.php:6
122
+ #: application/modules/AdmitadProducts/templates/data_list.php:6
123
+ #: application/modules/Affiliatewindow/templates/data_list.php:6
124
+ #: application/modules/AffilinetProducts/templates/data_list.php:6
125
+ #: application/modules/Aliexpress/templates/data_list.php:6
126
+ #: application/modules/Amazon/templates/data_list.php:6
127
+ #: application/modules/CityadsProducts/templates/data_list.php:6
128
+ #: application/modules/CjProducts/templates/data_list.php:6
129
+ #: application/modules/Ebay/templates/data_list.php:6
130
+ #: application/modules/Envato/templates/data_list.php:6
131
+ #: application/modules/Flipkart/templates/data_list.php:6
132
+ #: application/modules/GdeSlon/templates/data_list.php:6
133
+ #: application/modules/Impactradius/templates/data_list.php:6
134
+ #: application/modules/Linkshare/templates/data_list.php:6
135
+ #: application/modules/Offer/templates/data_list.php:6
136
+ #: application/modules/Optimisemedia/templates/data_list.php:6
137
+ #: application/modules/Ozon/templates/data_grid.php:7
138
+ #: application/modules/Ozon/templates/data_list.php:6
139
+ #: application/modules/PayTM/templates/data_list.php:6
140
+ #: application/modules/Pepperjam/templates/data_list.php:6
141
+ #: application/modules/Shareasale/templates/data_list.php:6
142
+ #: application/modules/TradedoublerProducts/templates/data_list.php:6
143
+ #: application/modules/Udemy/templates/data_list.php:6
144
+ #: application/modules/Zanox/templates/data_list.php:6
145
+ msgid "List"
146
+ msgstr "Liste"
147
+
148
+ #: application/modules/AE/templates/data_price_tracker_alert.php:7
149
+ #: application/modules/AdmitadProducts/templates/data_price_tracker_alert.php:7
150
+ #: application/modules/Affiliatewindow/templates/data_price_tracker_alert.php:7
151
+ #: application/modules/AffilinetProducts/templates/data_price_tracker_alert.php:7
152
+ #: application/modules/Aliexpress/templates/data_price_tracker_alert.php:7
153
+ #: application/modules/Amazon/templates/data_price_tracker_alert.php:7
154
+ #: application/modules/CjProducts/templates/data_price_tracker_alert.php:7
155
+ #: application/modules/Flipkart/templates/data_price_tracker_alert.php:7
156
+ #: application/modules/GdeSlon/templates/data_price_tracker_alert.php:7
157
+ #: application/modules/Impactradius/templates/data_price_tracker_alert.php:7
158
+ #: application/modules/Linkshare/templates/data_price_tracker_alert.php:7
159
+ #: application/modules/Offer/templates/data_price_tracker_alert.php:7
160
+ #: application/modules/Optimisemedia/templates/data_price_tracker_alert.php:7
161
+ #: application/modules/Ozon/templates/data_price_tracker_alert.php:7
162
+ #: application/modules/PayTM/templates/data_price_tracker_alert.php:7
163
+ #: application/modules/Pepperjam/templates/data_price_tracker_alert.php:7
164
+ #: application/modules/Shareasale/templates/data_price_tracker_alert.php:7
165
+ #: application/modules/TradedoublerProducts/templates/data_price_tracker_alert.php:7
166
+ #: application/modules/Zanox/templates/data_price_tracker_alert.php:7
167
+ #: application/templates/data_price_tracker_alert.php:5
168
+ msgid "Price tracker & alert"
169
+ msgstr "Preistracker & Alarm"
170
+
171
+ #: application/modules/AdmitadCoupons/templates/data_coupons.php:6
172
+ #: application/modules/AffilinetCoupons/templates/data_coupons.php:6
173
+ #: application/modules/TradedoublerCoupons/templates/data_coupons.php:6
174
+ msgid "Coupons"
175
+ msgstr "Gutscheine"
176
+
177
+ #: application/modules/Amazon/templates/data_compare.php:6
178
+ #: application/modules/Amazon/templates/data_compare.php:40
179
+ #: application/modules/Ozon/templates/data_compare.php:6
180
+ #: application/modules/Ozon/templates/data_compare.php:28
181
+ msgid "Compare"
182
+ msgstr "Vergleichen"
183
+
184
+ #: application/modules/Amazon/templates/data_compare.php:64
185
+ #: application/modules/Ozon/templates/data_compare.php:45
186
+ msgid "User Rating"
187
+ msgstr "Nutzerwertung"
188
+
189
+ #: application/modules/Amazon/templates/data_compare.php:75
190
+ msgid "ratings"
191
+ msgstr "Bewertungen"
192
+
193
+ #: application/modules/Amazon/templates/data_compare.php:79
194
+ #: application/modules/Ozon/templates/data_compare.php:59
195
+ msgid "See all reviews"
196
+ msgstr "Alle Bewertungen anschauen"
197
+
198
+ #: application/modules/Amazon/templates/data_compare.php:99
199
+ #: application/templates/data_item.php:49
200
+ #: application/templates/data_list.php:68 templates/block_offers_list.php:69
201
+ #: templates/block_offers_logo.php:47
202
+ msgid "Too low to display"
203
+ msgstr "Zu niedrig zum Anzeigen"
204
+
205
+ #: application/modules/Amazon/templates/data_compare.php:102
206
+ #: application/modules/Ebay/templates/data_item.php:81
207
+ #: application/templates/blocks/item_after_price_row.php:20
208
+ #: application/templates/data_list.php:75 templates/block_offers_list.php:77
209
+ #: templates/block_offers_logo.php:56
210
+ msgid "Free shipping"
211
+ msgstr "Kostenloser Versand"
212
+
213
+ #: application/modules/Amazon/templates/data_compare.php:108
214
+ #: application/templates/blocks/item_after_price_row.php:9
215
+ #: application/templates/data_list.php:40
216
+ msgid "new"
217
+ msgstr "neu"
218
+
219
+ #: application/modules/Amazon/templates/data_compare.php:110
220
+ #: application/modules/Amazon/templates/data_compare.php:115
221
+ #: application/templates/blocks/item_after_price_row.php:11
222
+ #: application/templates/blocks/item_after_price_row.php:16
223
+ #: application/templates/data_list.php:42
224
+ #: application/templates/data_list.php:49
225
+ msgid "from"
226
+ msgstr "von"
227
+
228
+ #: application/modules/Amazon/templates/data_compare.php:115
229
+ #: application/templates/blocks/item_after_price_row.php:16
230
+ #: application/templates/data_list.php:49
231
+ msgid "used"
232
+ msgstr "gebraucht"
233
+
234
+ #: application/modules/Amazon/templates/data_compare.php:128
235
+ #: application/modules/Amazon/templates/data_compare.php:249
236
+ #: application/modules/Ozon/templates/data_compare.php:85
237
+ #: application/modules/Ozon/templates/data_compare.php:166
238
+ msgid "Shop Now"
239
+ msgstr "Jetzt kaufen"
240
+
241
+ #: application/modules/Amazon/templates/data_compare.php:141
242
+ #: application/templates/blocks/item_features.php:3
243
+ #: application/templates/blocks/item_features.php:13
244
+ #: application/templates/blocks/item_features.php:22
245
+ #: application/templates/blocks/item_features.php:31
246
+ #: application/templates/blocks/item_features.php:40
247
+ #: application/templates/blocks/item_features.php:49
248
+ msgid "Features"
249
+ msgstr "Eigenschaften"
250
+
251
+ #: application/modules/Amazon/templates/data_compare.php:191
252
+ #: application/modules/Ozon/templates/data_compare.php:139
253
+ msgid "User Reviews"
254
+ msgstr "Nutzerwertungen"
255
+
256
+ #: application/modules/Amazon/templates/data_compare.php:216
257
+ msgid "Expert Reviews"
258
+ msgstr "Expertenbewertungen"
259
+
260
+ #: application/modules/Amazon/templates/data_compare.php:232
261
+ msgid "Barcodes"
262
+ msgstr "Barcodes"
263
+
264
+ #: application/modules/Amazon/templates/data_compare.php:260
265
+ msgid "Images"
266
+ msgstr "Bilder"
267
+
268
+ #: application/modules/BingImages/templates/data_image.php:5
269
+ #: application/modules/GoogleImages/templates/data_image.php:5
270
+ #: application/modules/Pixabay/templates/data_image.php:5
271
+ msgid "Image"
272
+ msgstr "Bild"
273
+
274
+ #: application/modules/BingImages/templates/data_justified_gallery.php:7
275
+ #: application/modules/Flickr/templates/data_justified_gallery.php:7
276
+ #: application/modules/GoogleImages/templates/data_justified_gallery.php:7
277
+ #: application/modules/Ozon/templates/data_compare.php:179
278
+ #: application/modules/Pixabay/templates/data_justified_gallery.php:7
279
+ msgid "Gallery"
280
+ msgstr "Galerie"
281
+
282
+ #: application/modules/CjLinks/templates/data_universal.php:6
283
+ msgid "Universal"
284
+ msgstr "Universal"
285
+
286
+ #: application/modules/CjLinks/templates/data_universal.php:38
287
+ #: application/templates/data_coupon.php:37
288
+ msgid "Ends:"
289
+ msgstr "Endet:"
290
+
291
+ # Zusammenhang?
292
+ #: application/modules/CjLinks/templates/data_universal.php:49
293
+ #: application/templates/data_coupon.php:53
294
+ msgid "Shop Sale"
295
+ msgstr "Angebot holen"
296
+
297
+ #: application/modules/Clickbank/templates/data_simple.php:6
298
+ #: application/modules/Flickr/templates/data_simple.php:5
299
+ #: application/modules/Freebase/templates/data_simple.php:5
300
+ #: application/modules/GoogleBooks/templates/data_simple.php:5
301
+ #: application/modules/GoogleImages/templates/data_simple.php:5
302
+ #: application/modules/Twitter/templates/data_simple.php:5
303
+ #: application/modules/VkNews/templates/data_simple.php:5
304
+ #: application/modules/Youtube/templates/data_simple.php:5
305
+ msgid "Simple"
306
+ msgstr "Einfach"
307
+
308
+ #: application/modules/Ebay/templates/data_item.php:58
309
+ #: application/templates/data_grid.php:67
310
+ msgid "Bids:"
311
+ msgstr "Gebote:"
312
+
313
+ #: application/modules/Ebay/templates/data_item.php:63
314
+ msgid "Item condition:"
315
+ msgstr "Artikelzustand:"
316
+
317
+ #: application/modules/Ebay/templates/data_item.php:70
318
+ msgid "Time left:"
319
+ msgstr "Verbleibende Zeit:"
320
+
321
+ #: application/modules/Ebay/templates/data_item.php:75
322
+ msgid "Ended:"
323
+ msgstr "Beendet:"
324
+
325
+ # Keine Ahnung was EEK ist
326
+ #: application/modules/Ebay/templates/data_item.php:85
327
+ msgid "EEK:"
328
+ msgstr "EEK"
329
+
330
+ #: application/modules/Envato/templates/_item_details.php:2
331
+ #: application/modules/Udemy/templates/_item_details.php:2
332
+ msgid "What Will I Learn?"
333
+ msgstr "Was werde ich lernen"
334
+
335
+ #: application/modules/Envato/templates/_item_details.php:10
336
+ #: application/modules/Udemy/templates/_item_details.php:10
337
+ msgid "Requirements"
338
+ msgstr "Anforderungen"
339
+
340
+ #: application/modules/Envato/templates/_item_details.php:18
341
+ #: application/modules/Udemy/templates/_item_details.php:18
342
+ msgid "Target audience"
343
+ msgstr "Zielgruppe"
344
+
345
+ #: application/modules/Flickr/templates/data_justified_gallery.php:62
346
+ msgid "Photo: %s on Flickr"
347
+ msgstr "Foto: %s auf Flickr"
348
+
349
+ #: application/modules/Flickr/templates/data_simple.php:20
350
+ msgid "Photo %s on Flickr"
351
+ msgstr "Foto %s auf Flickr"
352
+
353
+ #: application/modules/Freebase/templates/data_simple.php:27
354
+ msgid "Source:"
355
+ msgstr "Quelle:"
356
+
357
+ #: application/modules/Market/templates/data_item.php:33
358
+ msgid "Customer reviews:"
359
+ msgstr "Kundenbewertungen:"
360
+
361
+ #: application/modules/Market/templates/data_item.php:43
362
+ msgid "Average price"
363
+ msgstr "Durchschnittspreis"
364
+
365
+ #: application/modules/Market/templates/data_item.php:50
366
+ msgid "Data from Yandex.Market"
367
+ msgstr "Daten von Yandex.Market"
368
+
369
+ #: application/modules/Market/templates/data_item.php:83
370
+ msgid "free"
371
+ msgstr "kostenlos"
372
+
373
+ #: application/modules/Market/templates/data_item.php:90
374
+ msgid "Pickup"
375
+ msgstr "Abholen"
376
+
377
+ #: application/modules/Market/templates/data_item.php:94
378
+ msgid "In stock"
379
+ msgstr "Auf Lager"
380
+
381
+ #: application/modules/Market/templates/data_item.php:96
382
+ msgid "Not available"
383
+ msgstr "Nicht verfügbar"
384
+
385
+ #: application/modules/Market/templates/data_item.php:101
386
+ msgid "Visit store"
387
+ msgstr "Shop besuchen"
388
+
389
+ #: application/modules/Market/templates/data_item.php:109
390
+ #: application/templates/blocks/item_reviews.php:4
391
+ #: application/templates/blocks/item_reviews.php:57
392
+ msgid "Customer reviews"
393
+ msgstr "Kundenbewertungen"
394
+
395
+ #: application/modules/Market/templates/data_item.php:127
396
+ msgid "Pros:"
397
+ msgstr "Vorteile:"
398
+
399
+ #: application/modules/Market/templates/data_item.php:128
400
+ msgid "Cons:"
401
+ msgstr "Nachteile:"
402
+
403
+ #: application/modules/Market/templates/data_item.php:129
404
+ msgid "Comment:"
405
+ msgstr "Kommentar:"
406
+
407
+ #: application/modules/Market/templates/data_item.php:135
408
+ msgid "All reviews on Yandex.Market"
409
+ msgstr "Alle Bewertungen auf Yandex.Market"
410
+
411
+ #: application/modules/Offer/views/metabox_module.php:97
412
+ msgid "Last update: "
413
+ msgstr "Letztes Update:"
414
+
415
+ #: application/modules/Ozon/templates/data_compare.php:56
416
+ msgid "Reviews:"
417
+ msgstr "Bewertungen:"
418
+
419
+ #: application/modules/Ozon/templates/data_compare.php:98
420
+ msgid "Description"
421
+ msgstr "Beschreibung"
422
+
423
+ # Zusammenhang?
424
+ #: application/modules/Youtube/templates/data_responsive_embed.php:5
425
+ msgid "Large"
426
+ msgstr "Groß"
427
+
428
+ # Zusammenhang?
429
+ #: application/modules/Youtube/templates/data_tile.php:5
430
+ msgid "Tile"
431
+ msgstr "Kacheln"
432
+
433
+ #: application/templates/blocks/item_features.php:59
434
+ msgid "Specifications"
435
+ msgstr "Spezifikationen"
436
+
437
+ #: application/templates/blocks/item_reviews.php:9
438
+ msgid "customer reviews"
439
+ msgstr "Kundenbewertungen"
440
+
441
+ #: application/templates/blocks/item_reviews.php:37
442
+ msgid "User reviews"
443
+ msgstr "Nuterwertungen"
444
+
445
+ #: application/templates/blocks/item_reviews.php:51
446
+ msgid "View all reviews"
447
+ msgstr "Alle Bewertungen"
448
+
449
+ #: application/templates/data_coupon.php:25
450
+ #: application/templates/data_coupon.php:32
451
+ msgid "OFF"
452
+ msgstr "AUS"
453
+
454
+ #: templates/block_offers_list.php:9
455
+ msgid "All offers list"
456
+ msgstr "Alle Angebotslisten"
457
+
458
+ #: templates/block_offers_logo.php:9
459
+ msgid "All offers list with logos"
460
+ msgstr "Alle Angebote mit Logos auflisten"
461
+
462
+ #. Plugin Name of the plugin/theme
463
+ msgid "Content Egg"
464
+ msgstr "Content Egg"
465
+
466
+ #. Plugin URI of the plugin/theme
467
+ msgid "http://www.keywordrush.com/contentegg"
468
+ msgstr "http://www.keywordrush.com/contentegg"
469
+
470
+ #. Description of the plugin/theme
471
+ msgid ""
472
+ "Easily adding auto updating products from affiliate systems and additional "
473
+ "content to posts. [ATTENTION: before update PRO version of plugin, activate "
474
+ "plugin!]"
475
+ msgstr ""
476
+ "Einfaches Hinzufügen von automatisch aktualisierenden Produkten von "
477
+ "Affiliate-Systemen und zusätzlichen Inhalten zu Beiträgen. [ACHTUNG: vor dem "
478
+ "Update auf die PRO Version des Plugins, Plugin aktivieren!]"
479
+
480
+ #. Author of the plugin/theme
481
+ msgid "keywordrush.com"
482
+ msgstr "keywordrush.com"
483
+
484
+ #. Author URI of the plugin/theme
485
+ msgid "http://www.keywordrush.com"
486
+ msgstr "http://www.keywordrush.com"
487
+
488
+ #: application/PriceAlert.php:87
489
+ msgid "All fields are required."
490
+ msgstr "Alle Felder sind erforderlich"
491
+
492
+ #: application/PriceAlert.php:90
493
+ msgid "Your email address is invalid."
494
+ msgstr "Deine Email-Adresse ist ungültig"
495
+
496
+ #: application/PriceAlert.php:93
497
+ msgid "The price has already been reached."
498
+ msgstr "Dieser Preis ist bereits erreicht."
499
+
500
+ #: application/PriceAlert.php:101
501
+ msgid "You already tracking this product."
502
+ msgstr "Du folgst diesem Produkt bereits."
503
+
504
+ #: application/PriceAlert.php:119
505
+ msgid ""
506
+ "We are now tracking this product for you. Please verify your email address "
507
+ "to be notified of price drops."
508
+ msgstr ""
509
+ "Wir verfolgen dieses Produkt jetzt für dich. Bitte überprüfe deine E-Mail-"
510
+ "Adresse, um über Preissenkungen benachrichtigt zu werden."
511
+
512
+ #: application/PriceAlert.php:121
513
+ msgid "Internal Error. Please notify the administrator."
514
+ msgstr "Interner Fehler. Bitte benachrichtige den Administrator."
515
+
516
+ #: application/PriceAlert.php:127
517
+ msgid "Welcome to %s"
518
+ msgstr "Willkommen bei %s"
519
+
520
+ #: application/PriceAlert.php:137
521
+ msgid "Hello,"
522
+ msgstr "Hallo,"
523
+
524
+ #: application/PriceAlert.php:138
525
+ msgid "You have successfully set a price drop alert for %s."
526
+ msgstr "Du hast erfolgreich deinen Preisalarm für %s gesetzt."
527
+
528
+ #: application/PriceAlert.php:139
529
+ msgid ""
530
+ "We will not send you any price alerts until you verified your email address."
531
+ msgstr ""
532
+ "Wir dürfen dir keine Preisbenachrichtigungen senden, bis du deine E-Mail-"
533
+ "Adresse bestätigt hast."
534
+
535
+ #: application/PriceAlert.php:140
536
+ msgid ""
537
+ "Please open this link to validate your email address:<br> <a href=\"%s\">%s</"
538
+ "a>"
539
+ msgstr "Bitte öffne diesen Link, um deine E-Mail-Adresse zu bestätigen:"
540
+
541
+ # Zusammenhang?
542
+ #: application/PriceAlert.php:148
543
+ msgid "Thank You,\\r\\n Team %s"
544
+ msgstr "Vielen Dank,\\r\\n Team %s"
545
+
546
+ #: application/PriceAlert.php:201
547
+ msgid ""
548
+ "Your email has been verified. We will let you know by email when the Price "
549
+ "Drops."
550
+ msgstr ""
551
+ "Deine Email-Adresse ist nun bestätigt. Wir melden uns wieder, wenn dein "
552
+ "Wunschpreis erreicht wurde."
553
+
554
+ #: application/PriceAlert.php:201
555
+ msgid "Success!"
556
+ msgstr "Erfolg!"
557
+
558
+ #: application/PriceAlert.php:218
559
+ msgid "You are now unsubscribed from our Price Alerts via email."
560
+ msgstr ""
561
+ "Du bist jetzt von unseren Preisbenachrichtigungen per E-Mail abgemeldet."
562
+
563
+ #: application/PriceAlert.php:218
564
+ msgid "Unsubscribed!"
565
+ msgstr "Abgemeldet!"
566
+
567
+ #: application/PriceAlert.php:234
568
+ msgid " Ok "
569
+ msgstr "Ok"
570
+
571
+ #: application/PriceAlert.php:306
572
+ msgid "Price alert: \"%s\""
573
+ msgstr "Preisalarm: \"%s\""
574
+
575
+ #: application/PriceAlert.php:322
576
+ msgid "Good news!"
577
+ msgstr "Gute Nachrichten!"
578
+
579
+ #: application/PriceAlert.php:323
580
+ msgid "The price target you set for the item has been reached."
581
+ msgstr ""
582
+ "Der gewünscht Preis, den du für den Artikel festgelegt hast, wurde erreicht."
583
+
584
+ #: application/PriceAlert.php:326
585
+ msgid "Desired Price: %s"
586
+ msgstr "Gewünschter Preis: %s"
587
+
588
+ #: application/PriceAlert.php:327
589
+ msgid "Current Price: <strong>%s</strong>"
590
+ msgstr "Aktueller Preis: <strong>%s</strong>"
591
+
592
+ #: application/PriceAlert.php:328
593
+ #: application/modules/Amazon/templates/data_compare.php:120
594
+ #: application/modules/Ozon/templates/data_compare.php:77
595
+ #: application/templates/data_item.php:62
596
+ #: application/templates/data_price_tracker_alert.php:39
597
+ msgid "as of"
598
+ msgstr "ab"
599
+
600
+ #: application/PriceAlert.php:329
601
+ msgid "Price dropped from %s to %s"
602
+ msgstr "Preis fiel von %s auf %s"
603
+
604
+ #: application/PriceAlert.php:331
605
+ msgid "<a href=\"%s\">More info...</a>"
606
+ msgstr "<a href=\"%s\">Mehr Informationen...</a>"
607
+
608
+ #: application/admin/views/_metabox_results.php:16
609
+ msgid "Last update:"
610
+ msgstr "Letztes Update:"
611
+
612
+ #: application/helpers/TemplateHelper.php:310
613
+ #: application/modules/Amazon/templates/data_compare.php:87
614
+ #: application/modules/Ozon/templates/data_compare.php:67
615
+ #: application/templates/data_price_tracker_alert.php:37
616
+ msgid "Price"
617
+ msgstr "Preis"
618
+
619
+ #: application/modules/Amazon/templates/data_compare.php:132
620
+ #: application/modules/Amazon/templates/data_compare.php:253
621
+ #: application/modules/Ebay/templates/data_item.php:53
622
+ #: application/modules/Ozon/templates/data_compare.php:89
623
+ #: application/modules/Ozon/templates/data_compare.php:170
624
+ #: application/templates/data_price_tracker_alert.php:44
625
+ msgid "BUY THIS ITEM"
626
+ msgstr "JETZT KAUFEN!"
627
+
628
+ #: application/modules/Ebay/templates/data_item.php:39
629
+ msgid "Buy It Now"
630
+ msgstr "Jetzt kaufen"
631
+
632
+ #: application/modules/Ebay/templates/data_item.php:53
633
+ msgid "VIEW THIS ITEM"
634
+ msgstr "JETZT ANSCHAUEN"
635
+
636
+ #: application/templates/blocks/price_alert_inline.php:8
637
+ msgid "Wait For A Price Drop"
638
+ msgstr "Auf einen Preisrückgang warten"
639
+
640
+ #: application/templates/blocks/price_alert_inline.php:14
641
+ #: application/templates/blocks/price_alert_inline.php:15
642
+ msgid "Your Email"
643
+ msgstr "Deine Email-Adresse"
644
+
645
+ #: application/templates/blocks/price_alert_inline.php:18
646
+ #: application/templates/blocks/price_alert_inline.php:24
647
+ msgid "Desired Price"
648
+ msgstr "Gewünschter Preis"
649
+
650
+ #: application/templates/blocks/price_alert_inline.php:30
651
+ msgid "SET ALERT"
652
+ msgstr "ALARM SETZEN"
653
+
654
+ #: application/templates/blocks/price_alert_inline.php:35
655
+ msgid "You will receive a notification when the price drops."
656
+ msgstr ""
657
+ "Du erhälst eine Benachrichtigung, wenn dein gewünschter Preis erreicht wird."
658
+
659
+ #: application/templates/blocks/price_history.php:5
660
+ msgid "Price History"
661
+ msgstr "Preishistorie"
662
+
663
+ #: application/templates/blocks/price_history.php:14
664
+ msgid "Statistics"
665
+ msgstr "Statistiken"
666
+
667
+ #: application/templates/blocks/price_history.php:17
668
+ msgid "Current Price"
669
+ msgstr "Aktueller Preis"
670
+
671
+ #: application/templates/blocks/price_history.php:29
672
+ msgid "Highest Price"
673
+ msgstr "Höchster Preis"
674
+
675
+ #: application/templates/blocks/price_history.php:35
676
+ msgid "Lowest Price"
677
+ msgstr "Niedrigster Preis"
678
+
679
+ #: application/templates/blocks/price_history.php:41
680
+ msgid "Since"
681
+ msgstr "Seit"
682
+
683
+ #: application/templates/blocks/price_history.php:44
684
+ msgid "Last price changes"
685
+ msgstr "Letzte Preisänderungen"
686
+
687
+ #: application/templates/data_grid.php:72
688
+ #: application/templates/data_item.php:56
689
+ #: application/templates/data_list.php:72 templates/block_offers_list.php:74
690
+ #: templates/block_offers_logo.php:53
691
+ msgid "Buy This Item"
692
+ msgstr "Jetzt kaufen!"
693
+
694
+ #: application/templates/data_grid.php:85
695
+ #: application/templates/data_list.php:85
696
+ msgid "Last updated on"
697
+ msgstr "Letztes Update am"
698
+
699
+ #: templates/block_price_statistics.php:10
700
+ msgid "Price statistics"
701
+ msgstr "Preisstatistik"
702
+
703
+ #: templates/block_price_statistics.php:34
704
+ msgid "All prices mentioned above are in %s."
705
+ msgstr "Alle oben genannten Preise sind in %s."
706
+
707
+ #: templates/block_price_statistics.php:37
708
+ msgid "This product is available in %s."
709
+ msgstr "Dieser Artikel ist bei %s verfügbar."
710
+
711
+ #: templates/block_price_statistics.php:39
712
+ msgid "At %s you can purchase %s for only %s"
713
+ msgstr "Bei %s kannst du %s für nur %s erhalten."
714
+
715
+ #: templates/block_price_statistics.php:39
716
+ msgid "which is %s%% less than the cost in %s (%s)."
717
+ msgstr "was %s%% weniger als %s (%s) ist."
718
+
719
+ #: templates/block_price_statistics.php:40
720
+ msgid "The lowest price of %s was obtained on %s."
721
+ msgstr "Der niedrigste Preis von %s wurde am %s gefunden."
languages/tpl/content-egg-tpl.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2017 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.3.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg-tpl\n"
7
- "POT-Creation-Date: 2017-11-22 18:14:16+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -107,9 +107,13 @@ msgstr ""
107
  #: application/PriceAlert.php:328
108
  #: application/modules/Amazon/templates/data_compare.php:120
109
  #: application/modules/Ozon/templates/data_compare.php:77
110
- #: application/templates/data_item.php:62
111
  #: application/templates/data_price_tracker_alert.php:38
112
- #: templates/block_offers_list.php:72 templates/block_offers_logo.php:72
 
 
 
 
113
  msgid "as of"
114
  msgstr ""
115
 
@@ -129,6 +133,10 @@ msgstr ""
129
  msgid "If you don't want to receive any price alerts from us in the future, <a href=\"%s\">please click here</a>."
130
  msgstr ""
131
 
 
 
 
 
132
  #: application/ProductSearch.php:73
133
  msgid "Sorry. No products found."
134
  msgstr ""
@@ -137,21 +145,21 @@ msgstr ""
137
  msgid "Search Results for \"%s\""
138
  msgstr ""
139
 
140
- #: application/ProductSearchWidget.php:95
141
  msgid "Product Search..."
142
  msgstr ""
143
 
144
- #: application/WooIntegrator.php:488
145
  msgid "Last updated on %s"
146
  msgstr ""
147
 
148
- #: application/admin/GeneralConfig.php:164
149
- #: application/helpers/TemplateHelper.php:584
150
  msgid "Buy Now"
151
  msgstr ""
152
 
153
- #: application/admin/GeneralConfig.php:173
154
- #: application/helpers/TemplateHelper.php:589
155
  msgid "Shop Sale"
156
  msgstr ""
157
 
@@ -160,55 +168,71 @@ msgstr ""
160
  msgid "Future"
161
  msgstr ""
162
 
163
- #: application/admin/views/_metabox_results.php:61
164
  msgid "Last update:"
165
  msgstr ""
166
 
167
- #: application/components/ContentManager.php:411
168
  #: application/modules/Market/templates/data_item.php:127
169
  msgid "Pros:"
170
  msgstr ""
171
 
172
- #: application/components/ContentManager.php:413
173
  #: application/modules/Market/templates/data_item.php:128
174
  msgid "Cons:"
175
  msgstr ""
176
 
177
- #: application/components/ContentManager.php:499
178
  msgid "Rating"
179
  msgstr ""
180
 
181
- #: application/helpers/TemplateHelper.php:24
182
- #: application/helpers/TemplateHelper.php:45
183
  msgid "number_format_decimal_point"
184
  msgstr ""
185
 
186
- #: application/helpers/TemplateHelper.php:25
187
- #: application/helpers/TemplateHelper.php:46
188
  msgid "number_format_thousands_sep"
189
  msgstr ""
190
 
191
- #: application/helpers/TemplateHelper.php:117
192
  msgid "d"
193
  msgstr ""
194
 
195
- #: application/helpers/TemplateHelper.php:119
196
  msgid "h"
197
  msgstr ""
198
 
199
- #: application/helpers/TemplateHelper.php:121
200
- #: application/helpers/TemplateHelper.php:123
201
  #: application/modules/Ebay/templates/data_item.php:71
202
  msgid "m"
203
  msgstr ""
204
 
205
- #: application/helpers/TemplateHelper.php:346
206
  #: application/modules/Amazon/templates/data_compare.php:87
207
  #: application/modules/Ozon/templates/data_compare.php:67
208
  #: application/templates/data_price_tracker_alert.php:36
209
  msgid "Price"
210
  msgstr ""
211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  #: application/modules/AE/templates/data_grid.php:7
213
  #: application/modules/AdmitadProducts/templates/data_grid.php:7
214
  #: application/modules/Affiliatewindow/templates/data_grid.php:7
@@ -236,6 +260,7 @@ msgstr ""
236
  #: application/modules/Viglink/templates/data_grid.php:7
237
  #: application/modules/Walmart/templates/data_grid.php:7
238
  #: application/modules/Zanox/templates/data_grid.php:7
 
239
  msgid "Grid"
240
  msgstr ""
241
 
@@ -311,6 +336,7 @@ msgstr ""
311
  #: application/modules/Amazon/templates/data_price_tracker_alert.php:7
312
  #: application/modules/Bolcom/templates/data_price_tracker_alert.php:7
313
  #: application/modules/CjProducts/templates/data_price_tracker_alert.php:7
 
314
  #: application/modules/Flipkart/templates/data_price_tracker_alert.php:7
315
  #: application/modules/GdeSlon/templates/data_price_tracker_alert.php:7
316
  #: application/modules/Impactradius/templates/data_price_tracker_alert.php:7
@@ -372,8 +398,8 @@ msgstr ""
372
  #: application/modules/Amazon/templates/data_compare.php:102
373
  #: application/modules/Ebay/templates/data_item.php:81
374
  #: application/templates/blocks/item_after_price_row.php:20
375
- #: application/templates/data_list.php:82 templates/block_offers_list.php:88
376
- #: templates/block_offers_logo.php:82
377
  msgid "Free shipping"
378
  msgstr ""
379
 
@@ -381,6 +407,7 @@ msgstr ""
381
  #: application/templates/blocks/item_after_price_row.php:9
382
  #: application/templates/data_list.php:54 templates/block_offers_list.php:57
383
  #: templates/block_offers_logo.php:57 templates/block_price_comparison.php:44
 
384
  msgid "new"
385
  msgstr ""
386
 
@@ -393,6 +420,8 @@ msgstr ""
393
  #: templates/block_offers_list.php:66 templates/block_offers_logo.php:59
394
  #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:46
395
  #: templates/block_price_comparison.php:53
 
 
396
  msgid "from"
397
  msgstr ""
398
 
@@ -400,6 +429,7 @@ msgstr ""
400
  #: application/templates/blocks/item_after_price_row.php:16
401
  #: application/templates/data_list.php:63 templates/block_offers_list.php:66
402
  #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:53
 
403
  msgid "used"
404
  msgstr ""
405
 
@@ -473,7 +503,7 @@ msgid "Simple"
473
  msgstr ""
474
 
475
  #: application/modules/Coupon/views/metabox_module.php:112
476
- #: application/modules/Offer/views/metabox_module.php:99
477
  msgid "Last update: "
478
  msgstr ""
479
 
@@ -486,7 +516,7 @@ msgid "VIEW THIS ITEM"
486
  msgstr ""
487
 
488
  #: application/modules/Ebay/templates/data_item.php:58
489
- #: application/templates/data_grid.php:66
490
  msgid "Bids:"
491
  msgstr ""
492
 
@@ -692,6 +722,7 @@ msgstr ""
692
 
693
  #: application/templates/data_coupon.php:25
694
  #: application/templates/data_coupon.php:32
 
695
  msgid "OFF"
696
  msgstr ""
697
 
@@ -703,11 +734,15 @@ msgstr ""
703
  msgid "End date:"
704
  msgstr ""
705
 
706
- #: application/templates/data_grid.php:84
707
- #: application/templates/data_list.php:93
708
  msgid "Last updated on"
709
  msgstr ""
710
 
 
 
 
 
711
  #: templates/block_offers_list.php:9
712
  msgid "Sorted offers list with product images"
713
  msgstr ""
@@ -771,6 +806,10 @@ msgstr ""
771
  #: templates/block_price_statistics.php:40
772
  msgid "The lowest price of %s was obtained on %s."
773
  msgstr ""
 
 
 
 
774
  #. Plugin Name of the plugin/theme
775
  msgid "Content Egg"
776
  msgstr ""
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.4.3\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/content-egg-tpl\n"
7
+ "POT-Creation-Date: 2018-01-21 19:46:33+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
107
  #: application/PriceAlert.php:328
108
  #: application/modules/Amazon/templates/data_compare.php:120
109
  #: application/modules/Ozon/templates/data_compare.php:77
110
+ #: application/templates/data_item.php:63
111
  #: application/templates/data_price_tracker_alert.php:38
112
+ #: templates/block_offers_list.php:73 templates/block_offers_logo.php:73
113
+ #: templates/wdgt_price_movers_grid.php:47
114
+ #: templates/wdgt_price_movers_grid.php:60
115
+ #: templates/wdgt_price_movers_list.php:31
116
+ #: templates/wdgt_price_movers_list.php:44
117
  msgid "as of"
118
  msgstr ""
119
 
133
  msgid "If you don't want to receive any price alerts from us in the future, <a href=\"%s\">please click here</a>."
134
  msgstr ""
135
 
136
+ #: application/PriceMoversWidget.php:58
137
+ msgid "Price Drops"
138
+ msgstr ""
139
+
140
  #: application/ProductSearch.php:73
141
  msgid "Sorry. No products found."
142
  msgstr ""
145
  msgid "Search Results for \"%s\""
146
  msgstr ""
147
 
148
+ #: application/ProductSearchWidget.php:79
149
  msgid "Product Search..."
150
  msgstr ""
151
 
152
+ #: application/WooIntegrator.php:495
153
  msgid "Last updated on %s"
154
  msgstr ""
155
 
156
+ #: application/admin/GeneralConfig.php:185
157
+ #: application/helpers/TemplateHelper.php:662
158
  msgid "Buy Now"
159
  msgstr ""
160
 
161
+ #: application/admin/GeneralConfig.php:194
162
+ #: application/helpers/TemplateHelper.php:667
163
  msgid "Shop Sale"
164
  msgstr ""
165
 
168
  msgid "Future"
169
  msgstr ""
170
 
171
+ #: application/admin/views/_metabox_results.php:62
172
  msgid "Last update:"
173
  msgstr ""
174
 
175
+ #: application/components/ContentManager.php:439
176
  #: application/modules/Market/templates/data_item.php:127
177
  msgid "Pros:"
178
  msgstr ""
179
 
180
+ #: application/components/ContentManager.php:441
181
  #: application/modules/Market/templates/data_item.php:128
182
  msgid "Cons:"
183
  msgstr ""
184
 
185
+ #: application/components/ContentManager.php:527
186
  msgid "Rating"
187
  msgstr ""
188
 
189
+ #: application/helpers/TemplateHelper.php:25
190
+ #: application/helpers/TemplateHelper.php:46
191
  msgid "number_format_decimal_point"
192
  msgstr ""
193
 
194
+ #: application/helpers/TemplateHelper.php:26
195
+ #: application/helpers/TemplateHelper.php:47
196
  msgid "number_format_thousands_sep"
197
  msgstr ""
198
 
199
+ #: application/helpers/TemplateHelper.php:118
200
  msgid "d"
201
  msgstr ""
202
 
203
+ #: application/helpers/TemplateHelper.php:120
204
  msgid "h"
205
  msgstr ""
206
 
207
+ #: application/helpers/TemplateHelper.php:122
208
+ #: application/helpers/TemplateHelper.php:124
209
  #: application/modules/Ebay/templates/data_item.php:71
210
  msgid "m"
211
  msgstr ""
212
 
213
+ #: application/helpers/TemplateHelper.php:372
214
  #: application/modules/Amazon/templates/data_compare.php:87
215
  #: application/modules/Ozon/templates/data_compare.php:67
216
  #: application/templates/data_price_tracker_alert.php:36
217
  msgid "Price"
218
  msgstr ""
219
 
220
+ #: application/helpers/TemplateHelper.php:684
221
+ msgid "today"
222
+ msgstr ""
223
+
224
+ #: application/helpers/TemplateHelper.php:688
225
+ msgid "%d days ago"
226
+ msgstr ""
227
+
228
+ #: application/helpers/TemplateHelper.php:690
229
+ msgid "%d day ago"
230
+ msgstr ""
231
+
232
+ #: application/helpers/TemplateHelper.php:695
233
+ msgid "Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply to the purchase of this product."
234
+ msgstr ""
235
+
236
  #: application/modules/AE/templates/data_grid.php:7
237
  #: application/modules/AdmitadProducts/templates/data_grid.php:7
238
  #: application/modules/Affiliatewindow/templates/data_grid.php:7
260
  #: application/modules/Viglink/templates/data_grid.php:7
261
  #: application/modules/Walmart/templates/data_grid.php:7
262
  #: application/modules/Zanox/templates/data_grid.php:7
263
+ #: templates/wdgt_price_movers_grid.php:7
264
  msgid "Grid"
265
  msgstr ""
266
 
336
  #: application/modules/Amazon/templates/data_price_tracker_alert.php:7
337
  #: application/modules/Bolcom/templates/data_price_tracker_alert.php:7
338
  #: application/modules/CjProducts/templates/data_price_tracker_alert.php:7
339
+ #: application/modules/Ebay/templates/data_price_tracker_alert.php:7
340
  #: application/modules/Flipkart/templates/data_price_tracker_alert.php:7
341
  #: application/modules/GdeSlon/templates/data_price_tracker_alert.php:7
342
  #: application/modules/Impactradius/templates/data_price_tracker_alert.php:7
398
  #: application/modules/Amazon/templates/data_compare.php:102
399
  #: application/modules/Ebay/templates/data_item.php:81
400
  #: application/templates/blocks/item_after_price_row.php:20
401
+ #: application/templates/data_list.php:82 templates/block_offers_list.php:91
402
+ #: templates/block_offers_logo.php:85
403
  msgid "Free shipping"
404
  msgstr ""
405
 
407
  #: application/templates/blocks/item_after_price_row.php:9
408
  #: application/templates/data_list.php:54 templates/block_offers_list.php:57
409
  #: templates/block_offers_logo.php:57 templates/block_price_comparison.php:44
410
+ #: templates/wdgt_price_movers_list.php:51
411
  msgid "new"
412
  msgstr ""
413
 
420
  #: templates/block_offers_list.php:66 templates/block_offers_logo.php:59
421
  #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:46
422
  #: templates/block_price_comparison.php:53
423
+ #: templates/wdgt_price_movers_list.php:53
424
+ #: templates/wdgt_price_movers_list.php:60
425
  msgid "from"
426
  msgstr ""
427
 
429
  #: application/templates/blocks/item_after_price_row.php:16
430
  #: application/templates/data_list.php:63 templates/block_offers_list.php:66
431
  #: templates/block_offers_logo.php:66 templates/block_price_comparison.php:53
432
+ #: templates/wdgt_price_movers_list.php:60
433
  msgid "used"
434
  msgstr ""
435
 
503
  msgstr ""
504
 
505
  #: application/modules/Coupon/views/metabox_module.php:112
506
+ #: application/modules/Offer/views/metabox_module.php:104
507
  msgid "Last update: "
508
  msgstr ""
509
 
516
  msgstr ""
517
 
518
  #: application/modules/Ebay/templates/data_item.php:58
519
+ #: application/templates/data_grid.php:66 templates/block_offers_grid.php:77
520
  msgid "Bids:"
521
  msgstr ""
522
 
722
 
723
  #: application/templates/data_coupon.php:25
724
  #: application/templates/data_coupon.php:32
725
+ #: templates/wdgt_price_movers_grid.php:41
726
  msgid "OFF"
727
  msgstr ""
728
 
734
  msgid "End date:"
735
  msgstr ""
736
 
737
+ #: application/templates/data_grid.php:85
738
+ #: application/templates/data_list.php:94
739
  msgid "Last updated on"
740
  msgstr ""
741
 
742
+ #: templates/block_offers_grid.php:9
743
+ msgid "Grid with prices (3 column)"
744
+ msgstr ""
745
+
746
  #: templates/block_offers_list.php:9
747
  msgid "Sorted offers list with product images"
748
  msgstr ""
806
  #: templates/block_price_statistics.php:40
807
  msgid "The lowest price of %s was obtained on %s."
808
  msgstr ""
809
+
810
+ #: templates/wdgt_price_movers_list.php:7
811
+ msgid "List (for shortcode)"
812
+ msgstr ""
813
  #. Plugin Name of the plugin/theme
814
  msgid "Content Egg"
815
  msgstr ""
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Content Egg ===
2
  Contributors: keywordrush,wpsoul
3
  Tags: content, affiliate, autoblogging, amazon, affilinet, coupons, linkshare, shareasale, ozon, flickr, youtube, commission junction, aliexpress, cj, images, wikipedia, freebase, ecommerce, links, shortcode, monetize, search engine optimization, ebay, zanox, moneymaking, price comparison, google images, timesaving, clickbank, linkshare, pixabay, admitad, affilitewindow, optimisemedia, tradedoubler, flipkart, paytm, price alert, tracker, impactradius, pepperjam, pepperjamnetwork, udemy, envato, tradetracker, viglink, skimlinks
4
- Requires at least: 4.2.2
5
- Tested up to: 4.9
6
- Stable tag: 4.3.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -110,6 +110,18 @@ If you can do any Wordpress page templates – you can do also templates for Con
110
 
111
  == Changelog ==
112
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  = 4.3.0 =
114
  * New: Google Images module.
115
  * New: Coupon module: Hide expired coupons option.
1
  === Content Egg ===
2
  Contributors: keywordrush,wpsoul
3
  Tags: content, affiliate, autoblogging, amazon, affilinet, coupons, linkshare, shareasale, ozon, flickr, youtube, commission junction, aliexpress, cj, images, wikipedia, freebase, ecommerce, links, shortcode, monetize, search engine optimization, ebay, zanox, moneymaking, price comparison, google images, timesaving, clickbank, linkshare, pixabay, admitad, affilitewindow, optimisemedia, tradedoubler, flipkart, paytm, price alert, tracker, impactradius, pepperjam, pepperjamnetwork, udemy, envato, tradetracker, viglink, skimlinks
4
+ Requires at least: 4.6.0
5
+ Tested up to: 4.9.2
6
+ Stable tag: 4.4.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
110
 
111
  == Changelog ==
112
 
113
+ = 4.4.3 =
114
+ * New: Price Movers widget.
115
+ * New: Price Movers shortcode: [content-egg-price-movers].
116
+ * New: Currency shortcode parameter to convert all prices to one currency: [content-egg-block template=offers_grid currency=EUR]
117
+ * New: Block template:: Grid with prices (3 column).
118
+ * New: Sort order (asc/desc) for block shortcodes: [content-egg-block template=offers_list order=desc].
119
+ * New: Amazon price disclaimer.
120
+ * New: Amazon module: Show small logos option.
121
+ * New: Woocommerce synchronization for Offer module.
122
+ * New: Сurrency converter for order products by price.
123
+ * New: Ability to edit Domain field for products.
124
+
125
  = 4.3.0 =
126
  * New: Google Images module.
127
  * New: Coupon module: Hide expired coupons option.
res/bootstrap/css/egg-bootstrap.css CHANGED
@@ -5238,4 +5238,3 @@ button.egg-container .close {
5238
  display: none !important;
5239
  }
5240
  }
5241
- /*# sourceMappingURL=bootstrap.css.map */
5238
  display: none !important;
5239
  }
5240
  }
 
res/css/products.css CHANGED
@@ -14,13 +14,17 @@ span.rating_small{white-space:nowrap}
14
  .cegg-gridbox .producttitle, .cegg-gridbox .producttitle a {line-height: 20px;margin-bottom: 10px;font-weight:normal;color: gray;}
15
  .cegg-gridbox .productprice {color: black;font-weight:bold;line-height: 20px;margin-bottom: 10px;}
16
  .cegg-gridbox .productprice strike {color: grey;font-weight:normal;}
 
17
  .cegg-gridbox .cegg-thumb{text-align: center; padding: 15px;}
18
  .cegg-price-tracker-item .cegg-thumb{text-align: center;}
19
  .cegg-gridbox .cegg-thumb img, .cegg-price-tracker-item .cegg-thumb img{border: 0 none;box-shadow: none; max-height: 200px; }
 
20
  .egg-list-coupons .cegg-thumb{text-align: center; margin-bottom: 10px}
21
  .egg-list-coupons .cegg-thumb img{max-height: 30px;}
22
  .egg-container .cegg-promotion {line-height: 18px;}
23
  .egg-container .cegg-promotion {border-radius: 4px;top: 25px;left: 0;height: 24px;position: absolute;width: auto;z-index: 10;}
 
 
24
  .egg-container .cegg-discount {background: none repeat scroll 0 0 #eb5e58;border-radius: 0 4px 4px 0;color: #fff;display: inline-block;float: left;font-size: 16px;font-weight: lighter;height: 100%;padding: 3px 5px;}
25
  .egg-container .egg-padding-top {padding-top: 22px;}
26
  .borderless tbody tr td, .borderless tbody tr th, .borderless thead tr th {border: none;}
@@ -29,11 +33,11 @@ span.rating_small{white-space:nowrap}
29
  .egg-container.egg-compare .row{border-bottom: 1px solid #ddd; padding: 15px 0px; margin-bottom: 0}
30
  .egg-container .egg-listcontainer .row:before, .egg-container .egg-listcontainer .row:after{ display: none;}
31
  .egg-container .egg-listcontainer {display: table; border-collapse: collapse; margin-bottom: 30px;width: 100%;}
32
- .egg-container .egg-listcontainer .row-products{display: table-row;}
33
- .egg-container .egg-listcontainer .row-products > div{ display: table-cell; float: none; vertical-align: middle; border-bottom: 1px solid #eee; padding: 18px 10px}
34
- .egg-container .egg-listcontainer .row-products:last-child > div{ border: none }
35
- .egg-container .egg-listcontainer .row-products > div:first-child{padding-left:0;}
36
- .egg-container .egg-listcontainer .row-products > div:last-child{padding-right:0;}
37
  .egg-container .row-products span.no-bold {font-size: 14px;font-weight: normal;}
38
  .egg-container, .egg-list .row-products {clear: both; overflow: hidden;}
39
  .egg-list .row-products{margin-bottom:15px;margin-top:0}
@@ -77,32 +81,30 @@ span.rating_small{white-space:nowrap}
77
  .cegg-font60 {font-size: 60%;}
78
  .cegg-lineheight15 {line-height: 15px;}
79
  .cegg-price-tracker-item .price-alert-title {color: #111;font-weight:bold;line-height: 20px;}
 
80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
 
82
- .cegg-price-comparison{
83
- margin-bottom: 0px;
84
- }
85
- .cegg-price-comparison td a{
86
- display: block;
87
- }
88
-
89
- .cegg-price-comparison .cegg-buttons_col {
90
- background-color: #2BBBAD !important;
91
- text-align: center;
92
- vertical-align: middle !important;
93
- }
94
- .cegg-price-comparison .cegg-buttons_col a {
95
- color: #fff !important;
96
- }
97
- .cegg-price-comparison .cegg-price_col a{
98
- text-decoration: none; box-shadow: none; color: #111; font-weight:bold;
99
- }
100
- .cegg-price-comparison .cegg-merhant_col {
101
- vertical-align: middle !important;
102
- }
103
- .cegg-price-comparison .cegg-merhant_col a {
104
- text-decoration: none; box-shadow: none; color: #111; vertical-align: middle !important;
105
- }
106
 
107
  @media (max-width: 768px) {
108
  .egg-container .egg-listcontainer, .egg-container .egg-listcontainer .row-products, .egg-container .egg-listcontainer .row-products > div{ display: block;}
@@ -112,8 +114,6 @@ span.rating_small{white-space:nowrap}
112
  .cegg-list-withlogos .cegg-btn-cell{text-align: center;}
113
  .egg-container .cegg-image-cell img{max-height:300px}
114
  .cegg-price-tracker-panel .col-md-5{text-align: left;}
115
-
116
- /*.egg-item .col-md-6{padding:0; text-align:left !important}*/
117
  }
118
 
119
  @media (min-width:768px){
14
  .cegg-gridbox .producttitle, .cegg-gridbox .producttitle a {line-height: 20px;margin-bottom: 10px;font-weight:normal;color: gray;}
15
  .cegg-gridbox .productprice {color: black;font-weight:bold;line-height: 20px;margin-bottom: 10px;}
16
  .cegg-gridbox .productprice strike {color: grey;font-weight:normal;}
17
+ .cegg-thumb{text-align: center;}
18
  .cegg-gridbox .cegg-thumb{text-align: center; padding: 15px;}
19
  .cegg-price-tracker-item .cegg-thumb{text-align: center;}
20
  .cegg-gridbox .cegg-thumb img, .cegg-price-tracker-item .cegg-thumb img{border: 0 none;box-shadow: none; max-height: 200px; }
21
+ .egg-grid-wdgt .cegg-thumb img{max-height: 150px; }
22
  .egg-list-coupons .cegg-thumb{text-align: center; margin-bottom: 10px}
23
  .egg-list-coupons .cegg-thumb img{max-height: 30px;}
24
  .egg-container .cegg-promotion {line-height: 18px;}
25
  .egg-container .cegg-promotion {border-radius: 4px;top: 25px;left: 0;height: 24px;position: absolute;width: auto;z-index: 10;}
26
+ .egg-container .cegg-position-container {display: inline-block;position: absolute;width: auto;top: 0px;left:20px;z-index: 10;}
27
+ .egg-container .cegg-position-text {position: relative;color: #fff;font-weight: bold;background: #eb5e58;width: 30px;height: 30px;display: inline-block;line-height: 30px;border-radius: 50%;font-size: 15px;}
28
  .egg-container .cegg-discount {background: none repeat scroll 0 0 #eb5e58;border-radius: 0 4px 4px 0;color: #fff;display: inline-block;float: left;font-size: 16px;font-weight: lighter;height: 100%;padding: 3px 5px;}
29
  .egg-container .egg-padding-top {padding-top: 22px;}
30
  .borderless tbody tr td, .borderless tbody tr th, .borderless thead tr th {border: none;}
33
  .egg-container.egg-compare .row{border-bottom: 1px solid #ddd; padding: 15px 0px; margin-bottom: 0}
34
  .egg-container .egg-listcontainer .row:before, .egg-container .egg-listcontainer .row:after{ display: none;}
35
  .egg-container .egg-listcontainer {display: table; border-collapse: collapse; margin-bottom: 30px;width: 100%;}
36
+ .egg-container .row-products{display: table-row;}
37
+ .egg-container .row-products > div{ display: table-cell; float: none; vertical-align: middle; border-bottom: 1px solid #eee; padding: 18px 10px}
38
+ .egg-container .row-products:last-child > div{ border: none }
39
+ .egg-container .row-products > div:first-child{padding-left:0;}
40
+ .egg-container .row-products > div:last-child{padding-right:0;}
41
  .egg-container .row-products span.no-bold {font-size: 14px;font-weight: normal;}
42
  .egg-container, .egg-list .row-products {clear: both; overflow: hidden;}
43
  .egg-list .row-products{margin-bottom:15px;margin-top:0}
81
  .cegg-font60 {font-size: 60%;}
82
  .cegg-lineheight15 {line-height: 15px;}
83
  .cegg-price-tracker-item .price-alert-title {color: #111;font-weight:bold;line-height: 20px;}
84
+ .egg-text-bold {font-weight: bold;}
85
 
86
+ .egg-grid-wdgt .product-discount-value {font-size: 18px;margin-right: 1px;font-weight: bold;white-space:nowrap;}
87
+ .egg-grid-wdgt .product-discount-symbol {letter-spacing: 0;font-weight: bold; font-size: 16px;}
88
+ .egg-grid-wdgt .product-discount-value, .product-discount-symbol, .product-discount-off {color: #f22a2c;}
89
+ .egg-grid-wdgt .product-discount-off {font-size: 14px;font-weight: bold;white-space: nowrap;}
90
+ .egg-grid-wdgt .product-discount, .product-price {float: left;display: inline;}
91
+ .egg-grid-wdgt .product-name, .product-meta, .product-price {font-size: 14px;color: #212121;font-weight: normal;}
92
+ .egg-grid-wdgt .product-price-old {font-size: 14px;line-height: 1em;min-height: 1em;color: #757575;text-decoration: line-through;}
93
+ .egg-grid-wdgt .product-price-new {font-size: 18px;font-weight: bold;}
94
+ .egg-grid-wdgt .product-price-new {font-size: 18px;font-weight: bold;}
95
+ .egg-grid-wdgt-row .cegg-wdgt-gridbox {border-bottom: 1px solid #eee; margin-bottom: 0; margin-top: 15px;}
96
+ .egg-grid-wdgt .cegg-wdgt-gridbox:hover a {text-decoration: underline;}
97
+ .egg-list-wdgt .cegg-discount-off {font-size: 18px;}
98
+ .egg-grid-wdgt-row .cegg-wdgt-gridbox:last-child{border-bottom: none;}
99
+ .widget .egg-grid-wdgt{margin-bottom:0px;}
100
 
101
+ .cegg-price-comparison{margin-bottom: 0px;}
102
+ .cegg-price-comparison td a{display: block; }
103
+ .cegg-price-comparison .cegg-buttons_col {background-color: #2BBBAD !important;text-align: center;vertical-align: middle !important;}
104
+ .cegg-price-comparison .cegg-buttons_col a {color: #fff !important;}
105
+ .cegg-price-comparison .cegg-price_col a{text-decoration: none; box-shadow: none; color: #111; font-weight:bold;}
106
+ .cegg-price-comparison .cegg-merhant_col {vertical-align: middle !important;}
107
+ .cegg-price-comparison .cegg-merhant_col a {text-decoration: none; box-shadow: none; color: #111; vertical-align: middle !important;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
 
109
  @media (max-width: 768px) {
110
  .egg-container .egg-listcontainer, .egg-container .egg-listcontainer .row-products, .egg-container .egg-listcontainer .row-products > div{ display: block;}
114
  .cegg-list-withlogos .cegg-btn-cell{text-align: center;}
115
  .egg-container .cegg-image-cell img{max-height:300px}
116
  .cegg-price-tracker-panel .col-md-5{text-align: left;}
 
 
117
  }
118
 
119
  @media (min-width:768px){
res/js/{morris.js → morrisjs}/README.md RENAMED
File without changes
res/js/{morris.js → morrisjs}/morris.min.css RENAMED
File without changes
res/js/{morris.js → morrisjs}/morris.min.js RENAMED
File without changes
res/js/{morris.js → morrisjs}/raphael.min.js RENAMED
File without changes
res/logos/ebay-it.png ADDED
Binary file
templates/block_offers_grid.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name: Grid with prices (3 column)
4
+ * Modules:
5
+ * Module Types: PRODUCT
6
+ *
7
+ */
8
+
9
+ __('Grid with prices (3 column)', 'content-egg-tpl');
10
+
11
+ use ContentEgg\application\helpers\TemplateHelper;
12
+ ?>
13
+ <div class="egg-container egg-grid">
14
+ <?php if ($title): ?>
15
+ <h3><?php echo esc_html($title); ?></h3>
16
+ <?php endif; ?>
17
+
18
+ <div class="container-fluid">
19
+ <?php $i = 0; ?>
20
+ <div class="row">
21
+
22
+ <?php foreach ($data as $module_id => $items): ?>
23
+
24
+ <?php foreach ($items as $item): ?>
25
+
26
+ <div class="col-md-4 cegg-gridbox">
27
+ <a rel="nofollow" target="_blank" href="<?php echo esc_url($item['url']) ?>">
28
+
29
+ <div class="cegg-thumb">
30
+ <?php if ($item['percentageSaved'] && $item['percentageSaved'] < 100 && $item['percentageSaved'] > 0): ?>
31
+ <div class="cegg-promotion">
32
+ <span class="cegg-discount">- <?php echo round($item['percentageSaved']); ?>%</span>
33
+ </div>
34
+ <?php endif; ?>
35
+
36
+ <?php if ($item['img']): ?>
37
+ <img src="<?php echo esc_attr($item['img']) ?>" alt="<?php echo esc_attr($item['title']); ?>" />
38
+ <?php endif; ?>
39
+ </div>
40
+
41
+ <div class="producttitle">
42
+ <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
43
+ <div class="cegg-mb10">
44
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="title-case"><?php echo esc_html($merhant); ?></small>
45
+ </div>
46
+ <?php endif; ?>
47
+ <?php echo esc_html(TemplateHelper::truncate($item['title'], 80)); ?>
48
+ </div>
49
+
50
+ <?php if ((int) $item['rating'] > 0 && (int) $item['rating'] <= 5): ?>
51
+ <div class="cegg-title-rating">
52
+ <span class="rating_small"><?php
53
+ echo str_repeat("<span>&#x2605;</span>", (int) $item['rating']);
54
+ echo str_repeat("<span>☆</span>", 5 - (int) $item['rating']);
55
+ ?></span>
56
+ <?php if (!empty($item['reviewsCount'])): ?><small class="cegg-reviews-count small-text">(<?php echo (int) $item['reviewsCount']; ?>)</small><?php endif; ?>
57
+
58
+ </div>
59
+ <?php elseif (!empty($item['extra']['data']['rating'])): ?>
60
+ <div class="cegg-title-rating">
61
+ <span class="rating_small"><?php
62
+ echo str_repeat("<span>&#x2605;</span>", (int) $item['extra']['data']['rating']);
63
+ echo str_repeat("<span>☆</span>", 5 - (int) $item['extra']['data']['rating']);
64
+ ?></span>
65
+ </div>
66
+ <?php endif; ?>
67
+
68
+ <div class="productprice">
69
+ <?php if ($item['price']): ?>
70
+ <?php if ($item['priceOld']): ?><strike><?php echo TemplateHelper::formatPriceCurrency($item['priceOld'], $item['currencyCode'], '<small>', '</small>'); ?></strike>&nbsp;<?php endif; ?>
71
+ <span class="cegg-price"><?php echo TemplateHelper::formatPriceCurrency($item['price'], $item['currencyCode']); ?></span>
72
+ <?php endif; ?>
73
+ </div>
74
+
75
+ <?php if (!empty($item['extra']['sellingStatus']['bidCount'])): ?>
76
+ <div class="cegg-ebay-grid-bids"><small>
77
+ <?php _e('Bids:', 'content-egg-tpl'); ?> <?php echo $item['extra']['sellingStatus']['bidCount']; ?>
78
+ </small></div>
79
+ <?php endif; ?>
80
+
81
+ <div class="cegg-btn-grid cegg-hidden">
82
+ <a rel="nofollow" target="_blank" href="<?php echo $item['url']; ?>" class="btn btn-success"><?php TemplateHelper::buyNowBtnText(); ?></a>
83
+ </div>
84
+ </a>
85
+ </div>
86
+
87
+
88
+
89
+ <?php $i++; ?>
90
+ <?php if ($i % 3 == 0): ?>
91
+ <div class="clearfix"></div>
92
+ <?php endif; ?>
93
+ <?php endforeach; ?>
94
+ <?php endforeach; ?>
95
+
96
+ </div>
97
+ </div>
98
+
99
+
100
+ </div>
templates/block_offers_list.php CHANGED
@@ -12,7 +12,7 @@ use ContentEgg\application\helpers\TemplateHelper;
12
  use ContentEgg\application\helpers\TextHelper;
13
  ?>
14
  <?php
15
- $all_items = TemplateHelper::sortAllByPrice($data);
16
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
17
  ?>
18
 
@@ -69,7 +69,10 @@ $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
69
  <?php endif; ?>
70
 
71
  <?php if ($item['module_id'] == 'Amazon' && $amazon_last_updated): ?>
72
- <div class="cegg-font60 cegg-lineheight15"><?php _e('as of', 'content-egg-tpl'); ?> <?php echo $amazon_last_updated; ?></div>
 
 
 
73
  <?php endif; ?>
74
 
75
  </div>
@@ -80,7 +83,7 @@ $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
80
  </div>
81
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
82
  <div class="cegg-mb5">
83
- <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, false)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
84
  </div>
85
  <?php endif; ?>
86
 
12
  use ContentEgg\application\helpers\TextHelper;
13
  ?>
14
  <?php
15
+ $all_items = TemplateHelper::sortAllByPrice($data, $order);
16
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
17
  ?>
18
 
69
  <?php endif; ?>
70
 
71
  <?php if ($item['module_id'] == 'Amazon' && $amazon_last_updated): ?>
72
+ <div class="cegg-font60 cegg-lineheight15">
73
+ <?php _e('as of', 'content-egg-tpl'); ?> <?php echo $amazon_last_updated; ?>
74
+ <?php TemplateHelper::printAmazonDisclaimer(); ?>
75
+ </div>
76
  <?php endif; ?>
77
 
78
  </div>
83
  </div>
84
  <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
85
  <div class="cegg-mb5">
86
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
87
  </div>
88
  <?php endif; ?>
89
 
templates/block_offers_logo.php CHANGED
@@ -13,7 +13,7 @@ use ContentEgg\application\helpers\TextHelper;
13
  ?>
14
 
15
  <?php
16
- $all_items = TemplateHelper::sortAllByPrice($data);
17
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
18
  ?>
19
 
@@ -69,7 +69,10 @@ $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
69
  <?php endif; ?>
70
 
71
  <?php if ($item['module_id'] == 'Amazon' && $amazon_last_updated): ?>
72
- <div class="cegg-font60 cegg-lineheight15"><?php _e('as of', 'content-egg-tpl'); ?> <?php echo $amazon_last_updated; ?></div>
 
 
 
73
  <?php endif; ?>
74
 
75
  </div>
13
  ?>
14
 
15
  <?php
16
+ $all_items = TemplateHelper::sortAllByPrice($data, $order);
17
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
18
  ?>
19
 
69
  <?php endif; ?>
70
 
71
  <?php if ($item['module_id'] == 'Amazon' && $amazon_last_updated): ?>
72
+ <div class="cegg-font60 cegg-lineheight15">
73
+ <?php _e('as of', 'content-egg-tpl'); ?> <?php echo $amazon_last_updated; ?>
74
+ <?php TemplateHelper::printAmazonDisclaimer(); ?>
75
+ </div>
76
  <?php endif; ?>
77
 
78
  </div>
templates/block_price_comparison.php CHANGED
@@ -12,7 +12,7 @@ use ContentEgg\application\helpers\TemplateHelper;
12
  ?>
13
 
14
  <?php
15
- $all_items = TemplateHelper::sortAllByPrice($data);
16
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
17
  ?>
18
 
12
  ?>
13
 
14
  <?php
15
+ $all_items = TemplateHelper::sortAllByPrice($data, $order);
16
  $amazon_last_updated = TemplateHelper::getLastUpdateFormattedAmazon($data);
17
  ?>
18
 
templates/wdgt_price_movers_grid.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name: Grid
4
+ *
5
+ */
6
+
7
+ __('Grid', 'content-egg-tpl');
8
+
9
+ use ContentEgg\application\helpers\TemplateHelper;
10
+
11
+ if ($is_shortcode)
12
+ $cols = 2;
13
+ else
14
+ $cols = 1;
15
+ ?>
16
+
17
+
18
+ <div class="egg-container egg-grid egg-grid-wdgt">
19
+ <div class="row egg-grid-wdgt-row">
20
+ <?php $i = 0; ?>
21
+ <?php foreach ($items as $key => $item): ?>
22
+
23
+ <div class="col-md-<?php echo 12 / $cols; ?> cegg-wdgt-gridbox">
24
+ <a rel="nofollow" target="_blank" href="<?php echo $item['url']; ?>">
25
+ <div class="cegg-thumb cegg-mb15">
26
+ <div class="cegg-position-container">
27
+ <span class="cegg-position-text"><?php echo $key + 1; ?></span>
28
+ </div>
29
+
30
+ <?php if ($item['img']): ?>
31
+ <img src="<?php echo \esc_attr($item['img']) ?>" alt="<?php echo \esc_attr($item['title']); ?>" />
32
+ <?php endif; ?>
33
+ </div>
34
+ <h5 title="<?php echo \esc_html($item['title']); ?>"><?php echo esc_html(TemplateHelper::truncate($item['title'], 100)); ?></a></h5>
35
+ </a>
36
+ <div class="row cegg-mb15">
37
+ <?php if ($item['_price_movers']['discount_percent'] > 0): ?>
38
+ <div class="col-xs-2 cegg-product-discount">
39
+ <span class="product-discount-value"><?php echo $item['_price_movers']['discount_percent']; ?><span class="product-discount-symbol">%</span></span>
40
+ <div class="product-discount-off">
41
+ <?php _e('OFF', 'content-egg-tpl'); ?>
42
+ </div>
43
+ </div>
44
+ <?php endif; ?>
45
+ <div class="col-xs-7">
46
+ <?php if ($item['_price_movers']['discount_value']): ?>
47
+ <span class="product-price-old text-muted" title="<?php echo \esc_attr(__('as of', 'content-egg-tpl') . ' ' . TemplateHelper::formatDate($item['_price_movers']['price_old_date'])); ?>">
48
+ <?php echo TemplateHelper::formatPriceCurrency($item['_price_movers']['price_old'], $item['currencyCode']); ?>
49
+ </span>
50
+ <?php endif; ?>
51
+ <?php if ($item['price']): ?>
52
+ <div class="product-price-new">
53
+ <?php echo TemplateHelper::formatPriceCurrency($item['price'], $item['currencyCode']); ?>
54
+ <?php if ($item['_price_movers']['discount_value'] > 0): ?>
55
+ <i class="fa fa-arrow-down text-success"></i>
56
+ <?php endif; ?>
57
+ <?php if ($item['_price_movers']['discount_value'] < 0): ?>
58
+ <i class="fa fa-arrow-up text-danger"></i>
59
+ <?php endif; ?>
60
+ <i class="fa fa-question-circle-o text-muted" title="<?php echo \esc_attr(__('as of', 'content-egg-tpl') . ' ' . TemplateHelper::formatDatetime($item['_price_movers']['create_date'])); ?>"></i>
61
+ </div>
62
+ <?php endif; ?>
63
+ </div>
64
+ <div class="col-xs-3 cegg-image-cell">
65
+ <?php if ($logo = TemplateHelper::getMerhantLogoUrl($item, true)): ?>
66
+ <img class="cegg-merhant-logo" src="<?php echo esc_attr($logo); ?>" title="<?php echo esc_attr($item['domain']); ?>" alt="<?php echo esc_attr($item['domain']); ?>" />
67
+ <?php endif; ?>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ <?php $i++; ?>
72
+ <?php if ($i % $cols == 0 && $i < count($items) - 1): ?>
73
+ <div class="clearfix"></div>
74
+ <?php endif; ?>
75
+
76
+ <?php endforeach; ?>
77
+ </div>
78
+ </div>
templates/wdgt_price_movers_list.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Name: List (for shortcode)
4
+ *
5
+ */
6
+
7
+ __('List (for shortcode)', 'content-egg-tpl');
8
+
9
+ use ContentEgg\application\helpers\TemplateHelper;
10
+ ?>
11
+ <div class="egg-container cegg-list-withlogos egg-list-wdgt">
12
+ <div class="egg-listcontainer">
13
+ <?php foreach ($items as $key => $item): ?>
14
+ <div class="row-products">
15
+ <div class="col-md-2 col-sm-2 col-xs-12 cegg-image-cell">
16
+ <?php if ($item['img']): ?>
17
+ <a rel="nofollow" target="_blank" href="<?php echo $item['url']; ?>">
18
+ <img src="<?php echo $item['img']; ?>" alt="<?php echo esc_attr($item['title']); ?>" />
19
+ </a>
20
+ <?php endif; ?>
21
+ </div>
22
+ <div class="col-md-3 col-sm-3 col-xs-12 cegg-desc-cell">
23
+ <div class="cegg-no-top-margin cegg-list-logo-title">
24
+ <b><a rel="nofollow" target="_blank" href="<?php echo $item['url']; ?>">
25
+ <?php echo esc_html(TemplateHelper::truncate($item['title'], 100)); ?>
26
+ </a></b>
27
+ </div>
28
+ </div>
29
+ <div class="col-md-1 col-sm-1 col-xs-12 cegg-price-cell text-center">
30
+ <?php if ($item['_price_movers']['discount_value']): ?>
31
+ <div class="text-muted" title="<?php echo \esc_attr(__('as of', 'content-egg-tpl') . ' ' . TemplateHelper::formatDate($item['_price_movers']['price_old_date'])); ?>">
32
+ <strike class="egg-text-bold"><?php echo TemplateHelper::formatPriceCurrency($item['_price_movers']['price_old'], $item['currencyCode']); ?></strike>
33
+ </div>
34
+ <small class="text-muted"><?php echo TemplateHelper::getDaysAgo($item['_price_movers']['price_old_date']); ?></small>
35
+
36
+ <?php endif; ?>
37
+ </div>
38
+ <div class="col-md-2 col-sm-2 col-xs-12 cegg-price-cell text-center">
39
+ <div class="cegg-price-row">
40
+
41
+ <?php if ($item['price']): ?>
42
+ <div class="cegg-price">
43
+ <?php echo TemplateHelper::formatPriceCurrency($item['price'], $item['currencyCode']); ?>
44
+ <i class="fa fa-question-circle-o text-muted" title="<?php echo \esc_attr(__('as of', 'content-egg-tpl') . ' ' . TemplateHelper::formatDatetime($item['last_update'])); ?>"></i>
45
+ </div>
46
+ <?php endif; ?>
47
+
48
+ <?php if (!empty($item['extra']['totalNew'])): ?>
49
+ <div class="cegg-font60 cegg-lineheight15">
50
+ <?php echo $item['extra']['totalNew']; ?>
51
+ <?php _e('new', 'content-egg-tpl'); ?>
52
+ <?php if ($item['extra']['lowestNewPrice']): ?>
53
+ <?php _e('from', 'content-egg-tpl'); ?> <?php echo TemplateHelper::formatPriceCurrency($item['extra']['lowestNewPrice'], $item['currencyCode']); ?>
54
+ <?php endif; ?>
55
+ </div>
56
+ <?php endif; ?>
57
+ <?php if (!empty($item['extra']['totalUsed'])): ?>
58
+ <div class="cegg-font60 cegg-lineheight15">
59
+ <?php echo $item['extra']['totalUsed']; ?>
60
+ <?php _e('used', 'content-egg-tpl'); ?> <?php _e('from', 'content-egg-tpl'); ?>
61
+ <?php echo TemplateHelper::formatPriceCurrency($item['extra']['lowestUsedPrice'], $item['currencyCode']); ?>
62
+ </div>
63
+ <?php endif; ?>
64
+
65
+ </div>
66
+ </div>
67
+ <div class="col-md-1 col-sm-1 col-xs-12 text-center">
68
+ <span class="cegg-discount-off">
69
+ <?php if ($item['_price_movers']['discount_value'] > 0): ?>
70
+ <i class="fa fa-arrow-down text-success"></i>
71
+ <span class="text-success">
72
+ <?php endif; ?>
73
+ <?php if ($item['_price_movers']['discount_value'] < 0): ?>
74
+ <i class="fa fa-arrow-up text-danger"></i>
75
+ <span class="text-danger">
76
+ <?php endif; ?>
77
+ <?php if ($item['_price_movers']['discount_percent'] != 0): ?>
78
+ <?php echo $item['_price_movers']['discount_percent']; ?>%
79
+ <?php endif; ?>
80
+ </span>
81
+ </span>
82
+ <?php if ($item['_price_movers']['discount_value']): ?>
83
+ <small class="text-muted">
84
+ <?php
85
+ if ($item['_price_movers']['discount_value'] > 0)
86
+ echo '-';
87
+ else
88
+ echo '+';
89
+ ?><?php echo TemplateHelper::formatPriceCurrency($item['_price_movers']['discount_value'], $item['currencyCode']); ?>
90
+ </small>
91
+ <?php endif; ?>
92
+ </div>
93
+ <div class="col-md-2 col-sm-2 col-xs-12 cegg-btn-cell">
94
+ <div class="cegg-btn-row cegg-mb5">
95
+ <a rel="nofollow" target="_blank" href="<?php echo $item['url']; ?>" class="btn btn-success"><?php TemplateHelper::buyNowBtnText(); ?></a>
96
+ </div>
97
+ <?php if ($merhant = TemplateHelper::getMerhantName($item)): ?>
98
+ <div class="cegg-mb5">
99
+ <?php if (!empty($item['domain'])): ?><img src="<?php echo esc_attr(TemplateHelper::getMerhantIconUrl($item, true)); ?>" /> <?php endif; ?><small class="text-muted title-case"><?php echo esc_html($merhant); ?></small>
100
+ </div>
101
+ <?php endif; ?>
102
+ </div>
103
+ </div>
104
+ <?php endforeach; ?>
105
+ </div>
106
+ </div>