FEEDZY RSS Feeds Lite - Version 2.0

Version Description

Download this release

Release Info

Developer briKou
Plugin Icon 128x128 FEEDZY RSS Feeds Lite
Version 2.0
Comparing to
See all releases

Code changes from version 1.7.1 to 2.0

feedzy-rss-feed.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: FEEDZY RSS Feeds is a small and lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your WordPress site through simple shortcodes.
6
  * Author: Brice CAPOBIANCO
7
  * Author URI: http://b-website.com/
8
- * Version: 1.7.1
9
  * Text Domain: feedzy_rss_translate
10
  * Domain Path: /langs
11
  */
@@ -28,36 +28,35 @@ if ( !defined('ABSPATH') ) {
28
  /***************************************************************
29
  * Load plugin textdomain
30
  ***************************************************************/
31
- if (!function_exists('feedzy_rss_load_textdomain')) {
32
- function feedzy_rss_load_textdomain() {
33
- $path = dirname(plugin_basename( __FILE__ )) . '/langs/';
34
- $loaded = load_plugin_textdomain( 'feedzy_rss_translate', false, $path);
35
- }
36
- add_action('init', 'feedzy_rss_load_textdomain');
37
  }
 
38
 
39
 
40
  /***************************************************************
41
  * Add custom meta link on plugin list page
42
  ***************************************************************/
43
- if ( ! function_exists( 'feedzy_meta_links' ) ) {
44
- function feedzy_meta_links( $links, $file ) {
45
- if ( strpos( $file, 'feedzy-rss-feed.php' ) !== false ) {
46
- $links[0] = '<a href="http://b-website.com/" target="_blank"><img src="' . plugins_url('img/icon-bweb.svg', __FILE__ ) . '" style="margin-bottom: -4px; width: 18px;" alt="b*web"/></a>&nbsp;&nbsp;'. $links[0];
47
- $links[] = '<a href="http://b-website.com/feedzy-rss-feeds-wordpress-plugin-using-simplepie" target="_blank" title="'. __( 'Documentation and examples', 'feedzy_rss_translate' ) .'"><strong style="color:#db3939">'. __( 'Documentation and examples', 'feedzy_rss_translate' ) .'</strong></a>';
48
- $links[] = '<a href="http://b-website.com/category/plugins" target="_blank" title="'. __( 'More b*web Plugins', 'feedzy_rss_translate' ) .'">'. __( 'More b*web Plugins', 'feedzy_rss_translate' ) .'</a>';
49
- $links[] = '<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7Z6YVM63739Y8" target="_blank" title="'. __( 'Donate', 'feedzy_rss_translate' ) .'"><strong>'. __( 'Donate', 'feedzy_rss_translate' ) .'</strong></a>';
50
- }
51
- return $links;
52
  }
53
- add_filter( 'plugin_row_meta', 'feedzy_meta_links', 10, 2 );
54
  }
 
55
 
56
 
57
  /***************************************************************
58
  * Load plugin files
59
  ***************************************************************/
60
- require_once( plugin_dir_path( __FILE__ ) . 'feedzy-rss-feeds-ui.php' );
 
 
 
61
 
62
 
63
  /***************************************************************
@@ -77,313 +76,6 @@ add_action('init', 'feedzy_register_custom_style');
77
  add_action('wp_footer', 'feedzy_print_custom_style');
78
 
79
 
80
- /***************************************************************
81
- * Get an image from the feed
82
- ***************************************************************/
83
- if (!function_exists('feedzy_returnImage')) {
84
- function feedzy_returnImage ($text) {
85
- $text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
86
- $pattern = "/<img[^>]+\>/i";
87
- preg_match($pattern, $text, $matches);
88
- $text = $matches[0];
89
- return $text;
90
- }
91
- }
92
-
93
-
94
- /***************************************************************
95
- * Filter out image url which we got from previous returnImage() function
96
- ***************************************************************/
97
- if (!function_exists('feedzy_scrapeImage')) {
98
- function feedzy_scrapeImage($text) {
99
- $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
100
- preg_match($pattern, $text, $link);
101
- $link = $link[1];
102
- $link = urldecode($link);
103
- return $link;
104
- }
105
- }
106
-
107
-
108
- /***************************************************************
109
- * Main shortcode function
110
- ***************************************************************/
111
- if (!function_exists('feedzy_rss')) {
112
-
113
- function feedzy_rss($atts, $content = "") {
114
-
115
- global $feedzyStyle;
116
- $feedzyStyle = true;
117
- //Retrieve & extract shorcode parameters
118
- extract(shortcode_atts(array(
119
- "feeds" => '', //comma separated feeds url
120
- "max" => '5', //number of feeds items (0 for unlimited)
121
- "feed_title" => 'yes', //display feed title yes/no
122
- "target" => '_blank', //_blank, _self
123
- "title" => '', //strip title after X char
124
- "meta" => 'yes', //yes, no
125
- "summary" => 'yes', //strip title
126
- "summarylength" => '', //strip summary after X char
127
- "thumb" => 'yes', //yes, no
128
- "default" => '', //default thumb URL if no image found (only if thumb is set to yes)
129
- "size" => '', //thumbs pixel size
130
- "keywords_title" => '' //only display item if title contains specific keywords (comma-separated list/case sensitive)
131
- ), $atts));
132
- $count = 0;
133
-
134
- if ($max == '0') {
135
- $max = '999';
136
- } else if (empty($max) || !ctype_digit($max)) {
137
- $max = '5';
138
- }
139
-
140
- if (empty($size) || !ctype_digit($size))
141
- $size = '150';
142
-
143
- if (!empty($title) && !ctype_digit($title))
144
- $title = '';
145
-
146
- if (!empty($keywords_title))
147
- $keywords_title = array_map('trim', explode(',', $keywords_title));
148
-
149
- if (!empty($summarylength) && !ctype_digit($summarylength))
150
- $summarylength = '';
151
-
152
- if (!empty($default)) {
153
- $default = $default;
154
- } else {
155
- $default = plugins_url('img/feedzy-default.jpg', __FILE__);
156
- }
157
-
158
-
159
-
160
- if (!class_exists('SimplePie'))
161
- require_once(ABSPATH . WPINC . '/class-feed.php');
162
-
163
- if (!empty($feeds)) {
164
-
165
- $feedURL = explode(',', $feeds);
166
- $feedURL = array_splice($feedURL, 0, 3);
167
- if (count($feedURL) === 1) {
168
- $feedURL = $feedURL[0];
169
- };
170
- }
171
-
172
- //Process SimplePie
173
- $feed = new SimplePie();
174
- $feed->set_feed_url($feedURL);
175
- $feed->enable_cache(true);
176
- $feed->enable_order_by_date(true);
177
- $feed->set_cache_class('WP_Feed_Cache');
178
- $feed->set_file_class('WP_SimplePie_File');
179
- $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 7200, $feedURL));
180
- do_action_ref_array('wp_feed_options', array($feed, $feedURL));
181
- $feed->strip_comments(true);
182
- $feed->strip_htmltags(false);
183
- $feed->init();
184
- $feed->handle_content_type();
185
-
186
- if ($feed->error()) {
187
-
188
- $content .= '<div id="message" class="error"><p>' . __('Sorry, this feed is currently unavailable or does not exists anymore.', 'feedzy_rss_translate') . '</p></div>';
189
- }
190
-
191
- $content .= '<div class="feedzy-rss">';
192
-
193
- if ($feed_title == 'yes') {
194
-
195
- $content .= '<div class="rss_header">';
196
- $content .= '<h2><a href="' . $feed->get_permalink() . '">' . $feed->get_title() . '</a> <span> ' . $feed->get_description() . '</span></h2>';
197
- $content .= '</div>';
198
- }
199
-
200
- //Loop through RSS feed
201
- foreach ($feed->get_items() as $item) {
202
-
203
- $continue = true;
204
- //Check if keywords are in title
205
- if (!empty($keywords_title)) {
206
- $continue = false;
207
- foreach ($keywords_title as $keyword) {
208
- if (strpos($item->get_title(), $keyword) !== false) {
209
- $continue = true;
210
- }
211
- }
212
- }
213
-
214
- if ($continue == true) {
215
-
216
- //Count items
217
- if ($count >= $max)
218
- break;
219
- $count++;
220
-
221
- //Fetch image thumbnail
222
- if ($thumb == 'yes') {
223
- $thethumbnail = "";
224
-
225
- if ($enclosure = $item->get_enclosure()) {
226
-
227
-
228
- //item thumb
229
- if ($thumbnail = $enclosure->get_thumbnail()) {
230
-
231
- $thethumbnail = $thumbnail;
232
- }
233
-
234
- //media:thumbnail
235
- if (isset($enclosure->thumbnails)) {
236
-
237
- foreach ((array) $enclosure->thumbnails as $thumbnail) {
238
-
239
- $thethumbnail = $thumbnail;
240
- }
241
- }
242
-
243
- //enclosure
244
- if ($thumbnail = $enclosure->embed()) {
245
-
246
- $pattern = '/https?:\/\/.*\.(?:jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/iU';
247
-
248
- if (preg_match($pattern, $thumbnail, $matches)) {
249
-
250
- $thethumbnail = $matches[0];
251
- }
252
- }
253
-
254
- //media:content
255
- foreach ((array) $enclosure->get_link() as $thumbnail) {
256
-
257
- $pattern = '/https?:\/\/.*\.(?:jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/iU';
258
- $imgsrc = $thumbnail;
259
-
260
-
261
- if (preg_match($pattern, $imgsrc, $matches)) {
262
-
263
- $thethumbnail = $matches[0];
264
- ;
265
- break;
266
- }
267
- }
268
- }
269
-
270
- //description image
271
- if (empty($thethumbnail)) {
272
-
273
- $feedDescription = $item->get_description();
274
- $image = feedzy_returnImage($feedDescription);
275
- $thethumbnail = feedzy_scrapeImage($image);
276
- }
277
-
278
- //content image
279
- if (empty($thethumbnail)) {
280
-
281
- $feedDescription = $item->get_content();
282
- $image = feedzy_returnImage($feedDescription);
283
- $thethumbnail = feedzy_scrapeImage($image);
284
- }
285
- }
286
-
287
- //Padding ratio based on image size
288
- $paddinTop = number_format((15 / 150) * $size, 0);
289
- $paddinBottom = number_format((25 / 150) * $size, 0);
290
-
291
- //Build element DOM
292
- $content .= '<div class="rss_item" style="padding: ' . $paddinTop . 'px 0 ' . $paddinBottom . 'px">';
293
- if ($thumb == 'yes') {
294
-
295
- $contentThumb = '';
296
-
297
- $contentThumb .= '<div class="rss_image" style="width:' . $size . 'px; height:' . $size . 'px;">';
298
- $contentThumb .= '<a href="' . $item->get_permalink() . '" target="' . $target . '" title="' . $item->get_title() . '" >';
299
-
300
- if (!empty($thethumbnail)) {
301
- $contentThumb .= '<span style="width:' . $size . 'px; height:' . $size . 'px; background-image: none, url(' . $thethumbnail . '), url(' . $default . ');" alt="' . $item->get_title() . '"></span/>';
302
- } else if (empty($thethumbnail)) {
303
- $contentThumb .= '<span style="width:' . $size . 'px; height:' . $size . 'px; background-image:url(' . $default . ');" alt="' . $item->get_title() . '"></span/>';
304
- }
305
-
306
- $contentThumb .= '</a>';
307
- $contentThumb .= '</div>';
308
-
309
- //Filter: feedzy_thumb_output
310
- $content .= apply_filters( 'feedzy_thumb_output', $contentThumb );
311
-
312
- }
313
-
314
- $contentTitle = '';
315
- $contentTitle .= '<span class="title"><a href="' . $item->get_permalink() . '" target="' . $target . '">';
316
-
317
- if (is_numeric($title) && strlen($item->get_title()) > $title) {
318
-
319
- $contentTitle .= preg_replace('/\s+?(\S+)?$/', '', substr($item->get_title(), 0, $title)) . '...';
320
- } else {
321
-
322
- $contentTitle .= $item->get_title();
323
- }
324
-
325
- $contentTitle .= '</a></span>';
326
-
327
- //Filter: feedzy_title_output
328
- $content .= apply_filters( 'feedzy_title_output', $contentTitle );
329
-
330
- $content .= '<div class="rss_content">';
331
-
332
- if ($meta == 'yes') {
333
-
334
- $contentMeta = '';
335
- $contentMeta .= '<small>' . __('Posted by', 'feedzy_rss_translate') . ' ';
336
-
337
- if ($author = $item->get_author()) {
338
-
339
- $domain = parse_url($item->get_permalink());
340
- $contentMeta .= '<a href="http://' . $domain["host"] . '" target="' . $target . '" title="' . $domain["host"] . '" >' . $author->get_name() . ' </a>';
341
- }
342
-
343
- $contentMeta .= __('on', 'feedzy_rss_translate') . ' ' . $item->get_date(get_option('date_format')) . ' ' . __('at', 'feedzy_rss_translate') . ' ' . $item->get_date(get_option('time_format'));
344
- $contentMeta .= '</small>';
345
-
346
- //Filter: feedzy_meta_output
347
- $content .= apply_filters( 'feedzy_meta_output', $contentMeta );
348
-
349
- }
350
- if ($summary == 'yes') {
351
-
352
-
353
- $contentSummary = '';
354
- $contentSummary .= '<p>';
355
-
356
- $description = trim(strip_tags($item->get_description()));
357
- $description = trim(chop($description, '[&hellip;]'));
358
-
359
- if (is_numeric($summarylength) && strlen($description) > $summarylength) {
360
-
361
- $contentSummary .= preg_replace('/\s+?(\S+)?$/', '', substr($description, 0, $summarylength)) . ' […]';
362
- } else {
363
-
364
- $contentSummary .= $description . ' […]';
365
- }
366
-
367
- $contentSummary .= '</p>';
368
-
369
- //Filter: feedzy_summary_output
370
- $content .= apply_filters( 'feedzy_summary_output', $contentSummary, $item->get_permalink() );
371
-
372
- }
373
- $content .= '</div>';
374
- $content .= '</div>';
375
- } //endContinue
376
- } //endforeach
377
-
378
- $content .= '</div>';
379
- return apply_filters( 'feedzy_global_output', $content );
380
- }
381
-
382
- //end of feedzy_rss
383
- add_shortcode('feedzy-rss', 'feedzy_rss');
384
- }
385
-
386
-
387
  /***************************************************************
388
  * Insert cover picture to main rss feed content
389
  ***************************************************************/
5
  * Description: FEEDZY RSS Feeds is a small and lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your WordPress site through simple shortcodes.
6
  * Author: Brice CAPOBIANCO
7
  * Author URI: http://b-website.com/
8
+ * Version: 2.0
9
  * Text Domain: feedzy_rss_translate
10
  * Domain Path: /langs
11
  */
28
  /***************************************************************
29
  * Load plugin textdomain
30
  ***************************************************************/
31
+ function feedzy_rss_load_textdomain() {
32
+ $path = dirname(plugin_basename( __FILE__ )) . '/langs/';
33
+ $loaded = load_plugin_textdomain( 'feedzy_rss_translate', false, $path);
 
 
 
34
  }
35
+ add_action('init', 'feedzy_rss_load_textdomain');
36
 
37
 
38
  /***************************************************************
39
  * Add custom meta link on plugin list page
40
  ***************************************************************/
41
+ function feedzy_meta_links( $links, $file ) {
42
+ if ( strpos( $file, 'feedzy-rss-feed.php' ) !== false ) {
43
+ $links[0] = '<a href="http://b-website.com/" target="_blank"><img src="' . plugins_url('img/icon-bweb.svg', __FILE__ ) . '" style="margin-bottom: -4px; width: 18px;" alt="b*web"/></a>&nbsp;&nbsp;'. $links[0];
44
+ $links[] = '<a href="http://b-website.com/feedzy-rss-feeds-wordpress-plugin-using-simplepie" target="_blank" title="'. __( 'Documentation and examples', 'feedzy_rss_translate' ) .'"><strong style="color:#db3939">'. __( 'Documentation and examples', 'feedzy_rss_translate' ) .'</strong></a>';
45
+ $links[] = '<a href="http://b-website.com/category/plugins" target="_blank" title="'. __( 'More b*web Plugins', 'feedzy_rss_translate' ) .'">'. __( 'More b*web Plugins', 'feedzy_rss_translate' ) .'</a>';
46
+ $links[] = '<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7Z6YVM63739Y8" target="_blank" title="'. __( 'Donate', 'feedzy_rss_translate' ) .'"><strong>'. __( 'Donate', 'feedzy_rss_translate' ) .'</strong></a>';
 
 
 
47
  }
48
+ return $links;
49
  }
50
+ add_filter( 'plugin_row_meta', 'feedzy_meta_links', 10, 2 );
51
 
52
 
53
  /***************************************************************
54
  * Load plugin files
55
  ***************************************************************/
56
+ $feedzyFiles = array( 'shortcode', 'widget','ui');
57
+ foreach( $feedzyFiles as $feedzyFile ){
58
+ require_once( plugin_dir_path( __FILE__ ) . 'feedzy-rss-feeds-' . $feedzyFile . '.php' );
59
+ }
60
 
61
 
62
  /***************************************************************
76
  add_action('wp_footer', 'feedzy_print_custom_style');
77
 
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /***************************************************************
80
  * Insert cover picture to main rss feed content
81
  ***************************************************************/
feedzy-rss-feeds-shortcode.php ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /***************************************************************
3
+ * Get an image from the feed
4
+ ***************************************************************/
5
+ function feedzy_returnImage ($text) {
6
+ $text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
7
+ $pattern = "/<img[^>]+\>/i";
8
+ preg_match($pattern, $text, $matches);
9
+ $text = $matches[0];
10
+ return $text;
11
+ }
12
+
13
+
14
+ /***************************************************************
15
+ * Filter out image url which we got from previous returnImage() function
16
+ ***************************************************************/
17
+ function feedzy_scrapeImage($text) {
18
+ $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
19
+ preg_match($pattern, $text, $link);
20
+ $link = $link[1];
21
+ $link = urldecode($link);
22
+ return $link;
23
+ }
24
+
25
+
26
+ /***************************************************************
27
+ * Main shortcode function
28
+ ***************************************************************/
29
+ function feedzy_rss($atts, $content = "") {
30
+
31
+ global $feedzyStyle;
32
+ $feedzyStyle = true;
33
+ $count = 0;
34
+
35
+ //Retrieve & extract shorcode parameters
36
+ extract(shortcode_atts(array(
37
+ "feeds" => '', //comma separated feeds url
38
+ "max" => '5', //number of feeds items (0 for unlimited)
39
+ "feed_title" => 'yes', //display feed title yes/no
40
+ "target" => '_blank', //_blank, _self
41
+ "title" => '', //strip title after X char
42
+ "meta" => 'yes', //yes, no
43
+ "summary" => 'yes', //strip title
44
+ "summarylength" => '', //strip summary after X char
45
+ "thumb" => 'yes', //yes, no
46
+ "default" => '', //default thumb URL if no image found (only if thumb is set to yes)
47
+ "size" => '', //thumbs pixel size
48
+ "keywords_title" => '' //only display item if title contains specific keywords (comma-separated list/case sensitive)
49
+ ), $atts));
50
+
51
+ if ($max == '0') {
52
+ $max = '999';
53
+ } else if (empty($max) || !ctype_digit($max)) {
54
+ $max = '5';
55
+ }
56
+
57
+ if (empty($size) || !ctype_digit($size))
58
+ $size = '150';
59
+
60
+ if (!empty($title) && !ctype_digit($title))
61
+ $title = '';
62
+
63
+ if (!empty($keywords_title))
64
+ $keywords_title = array_map('trim', explode(',', $keywords_title));
65
+
66
+ if (!empty($summarylength) && !ctype_digit($summarylength))
67
+ $summarylength = '';
68
+
69
+ if (!empty($default)) {
70
+ $default = $default;
71
+ } else {
72
+ $default = plugins_url('img/feedzy-default.jpg', __FILE__);
73
+ }
74
+
75
+
76
+
77
+ if (!class_exists('SimplePie'))
78
+ require_once(ABSPATH . WPINC . '/class-feed.php');
79
+
80
+ if (!empty($feeds)) {
81
+
82
+ $feedURL = explode(',', $feeds);
83
+ $feedURL = array_splice($feedURL, 0, 3);
84
+ if (count($feedURL) === 1) {
85
+ $feedURL = $feedURL[0];
86
+ };
87
+ }
88
+
89
+ //Load SimplePie Instance
90
+ $feed = new SimplePie();
91
+ $feed->set_feed_url($feedURL);
92
+ $feed->enable_cache(true);
93
+ $feed->enable_order_by_date(true);
94
+ $feed->set_cache_class('WP_Feed_Cache');
95
+ $feed->set_file_class('WP_SimplePie_File');
96
+ $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 7200, $feedURL));
97
+ do_action_ref_array('wp_feed_options', array($feed, $feedURL));
98
+ $feed->strip_comments(true);
99
+ $feed->strip_htmltags(false);
100
+ $feed->init();
101
+ $feed->handle_content_type();
102
+
103
+ if ($feed->error()) {
104
+
105
+ $content .= '<div id="message" class="error"><p>' . __('Sorry, this feed is currently unavailable or does not exists anymore.', 'feedzy_rss_translate') . '</p></div>';
106
+ }
107
+
108
+ $content .= '<div class="feedzy-rss">';
109
+
110
+ if ($feed_title == 'yes') {
111
+
112
+ $content .= '<div class="rss_header">';
113
+ $content .= '<h2><a href="' . $feed->get_permalink() . '">' . $feed->get_title() . '</a> <span> ' . $feed->get_description() . '</span></h2>';
114
+ $content .= '</div>';
115
+ }
116
+
117
+ //Loop through RSS feed
118
+ foreach ($feed->get_items() as $item) {
119
+
120
+ $continue = true;
121
+ //Check if keywords are in title
122
+ if (!empty($keywords_title)) {
123
+ $continue = false;
124
+ foreach ($keywords_title as $keyword) {
125
+ if (strpos($item->get_title(), $keyword) !== false) {
126
+ $continue = true;
127
+ }
128
+ }
129
+ }
130
+
131
+ if ($continue == true) {
132
+
133
+ //Count items
134
+ if ($count >= $max)
135
+ break;
136
+ $count++;
137
+
138
+ //Fetch image thumbnail
139
+ if ($thumb == 'yes') {
140
+ $thethumbnail = "";
141
+
142
+
143
+ if ($enclosures = $item->get_enclosures()) {
144
+
145
+ foreach( (array) $enclosures as $enclosure){
146
+
147
+ //item thumb
148
+ if ($thumbnail = $enclosure->get_thumbnail()) {
149
+
150
+ $thethumbnail = $thumbnail;
151
+ }
152
+
153
+ //media:thumbnail
154
+ if (isset($enclosure->thumbnails)) {
155
+
156
+ foreach ((array) $enclosure->thumbnails as $thumbnail) {
157
+
158
+ $thethumbnail = $thumbnail;
159
+ }
160
+ }
161
+
162
+ //enclosure
163
+ if ($thumbnail = $enclosure->embed()) {
164
+
165
+ $pattern = '/https?:\/\/.*\.(?:jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/iU';
166
+
167
+ if (preg_match($pattern, $thumbnail, $matches)) {
168
+
169
+ $thethumbnail = $matches[0];
170
+ }
171
+ }
172
+
173
+ //media:content
174
+ foreach ( (array) $enclosure->get_link() as $thumbnail) {
175
+
176
+ $pattern = '/https?:\/\/.*\.(?:jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/iU';
177
+ $imgsrc = $thumbnail;
178
+
179
+
180
+ if (preg_match($pattern, $imgsrc, $matches)) {
181
+
182
+ $thethumbnail = $matches[0];
183
+ break;
184
+ }
185
+ }
186
+
187
+ //break loop if thumbnail found
188
+ if ( ! empty( $thethumbnail ) )
189
+ break;
190
+
191
+ }
192
+
193
+ }
194
+
195
+
196
+ //content image
197
+ if (empty($thethumbnail)) {
198
+
199
+ $feedDescription = $item->get_content();
200
+ $image = feedzy_returnImage($feedDescription);
201
+ $thethumbnail = feedzy_scrapeImage($image);
202
+
203
+ }
204
+
205
+ //description image
206
+ if ( empty( $thethumbnail ) ) {
207
+
208
+ $feedDescription = $item->get_description();
209
+ $image = feedzy_returnImage($feedDescription);
210
+ $thethumbnail = feedzy_scrapeImage($image);
211
+ }
212
+
213
+ }
214
+
215
+ //Padding ratio based on image size
216
+ $paddinTop = number_format((15 / 150) * $size, 0);
217
+ $paddinBottom = number_format((25 / 150) * $size, 0);
218
+
219
+ //Build element DOM
220
+ $content .= '<div class="rss_item" style="padding: ' . $paddinTop . 'px 0 ' . $paddinBottom . 'px">';
221
+ if ($thumb == 'yes') {
222
+
223
+ $contentThumb = '';
224
+
225
+ $contentThumb .= '<div class="rss_image" style="width:' . $size . 'px; height:' . $size . 'px;">';
226
+ $contentThumb .= '<a href="' . $item->get_permalink() . '" target="' . $target . '" title="' . $item->get_title() . '" >';
227
+
228
+ if (!empty($thethumbnail)) {
229
+ $contentThumb .= '<span style="width:' . $size . 'px; height:' . $size . 'px; background-image: none, url(' . $thethumbnail . '), url(' . $default . ');" alt="' . $item->get_title() . '"></span/>';
230
+ } else if (empty($thethumbnail)) {
231
+ $contentThumb .= '<span style="width:' . $size . 'px; height:' . $size . 'px; background-image:url(' . $default . ');" alt="' . $item->get_title() . '"></span/>';
232
+ }
233
+
234
+ $contentThumb .= '</a>';
235
+ $contentThumb .= '</div>';
236
+
237
+ //Filter: feedzy_thumb_output
238
+ $content .= apply_filters( 'feedzy_thumb_output', $contentThumb );
239
+
240
+ }
241
+
242
+ $contentTitle = '';
243
+ $contentTitle .= '<span class="title"><a href="' . $item->get_permalink() . '" target="' . $target . '">';
244
+
245
+ if (is_numeric($title) && strlen($item->get_title()) > $title) {
246
+
247
+ $contentTitle .= preg_replace('/\s+?(\S+)?$/', '', substr($item->get_title(), 0, $title)) . '...';
248
+ } else {
249
+
250
+ $contentTitle .= $item->get_title();
251
+ }
252
+
253
+ $contentTitle .= '</a></span>';
254
+
255
+ //Filter: feedzy_title_output
256
+ $content .= apply_filters( 'feedzy_title_output', $contentTitle );
257
+
258
+ $content .= '<div class="rss_content">';
259
+
260
+ if ($meta == 'yes') {
261
+
262
+ $contentMeta = '';
263
+ $contentMeta .= '<small>' . __('Posted by', 'feedzy_rss_translate') . ' ';
264
+
265
+ if ($author = $item->get_author()) {
266
+
267
+ $domain = parse_url($item->get_permalink());
268
+ $contentMeta .= '<a href="http://' . $domain["host"] . '" target="' . $target . '" title="' . $domain["host"] . '" >' . $author->get_name() . ' </a>';
269
+ }
270
+
271
+ $contentMeta .= __('on', 'feedzy_rss_translate') . ' ' . $item->get_date(get_option('date_format')) . ' ' . __('at', 'feedzy_rss_translate') . ' ' . $item->get_date(get_option('time_format'));
272
+ $contentMeta .= '</small>';
273
+
274
+ //Filter: feedzy_meta_output
275
+ $content .= apply_filters( 'feedzy_meta_output', $contentMeta );
276
+
277
+ }
278
+ if ($summary == 'yes') {
279
+
280
+
281
+ $contentSummary = '';
282
+ $contentSummary .= '<p>';
283
+
284
+ $description = trim(strip_tags($item->get_description()));
285
+ $description = trim(chop($description, '[&hellip;]'));
286
+
287
+ if (is_numeric($summarylength) && strlen($description) > $summarylength) {
288
+
289
+ $contentSummary .= preg_replace('/\s+?(\S+)?$/', '', substr($description, 0, $summarylength)) . ' […]';
290
+ } else {
291
+
292
+ $contentSummary .= $description . ' […]';
293
+ }
294
+
295
+ $contentSummary .= '</p>';
296
+
297
+ //Filter: feedzy_summary_output
298
+ $content .= apply_filters( 'feedzy_summary_output', $contentSummary, $item->get_permalink() );
299
+
300
+ }
301
+ $content .= '</div>';
302
+ $content .= '</div>';
303
+ } //endContinue
304
+ } //endforeach
305
+
306
+ $content .= '</div>';
307
+ return apply_filters( 'feedzy_global_output', $content );
308
+
309
+ }//end of feedzy_rss
310
+ add_shortcode('feedzy-rss', 'feedzy_rss');
feedzy-rss-feeds-widget.php ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /***************************************************************
3
+ * Load the Widget options
4
+ ***************************************************************/
5
+ add_action('widgets_init', create_function('', 'return register_widget("feedzy_wp_widget");'));
6
+ class feedzy_wp_widget extends WP_Widget {
7
+
8
+ // constructor
9
+ function feedzy_wp_widget() {
10
+ parent::WP_Widget(false, $name = __('Feedzy RSS Feeds', 'feedzy_wp_widget') );
11
+ }
12
+
13
+ // widget form creation
14
+ function form($instance) {
15
+
16
+ // Check values
17
+ if( $instance) {
18
+ $title = esc_attr($instance['title']);
19
+ $textarea = esc_attr($instance['textarea']);
20
+ $feeds = esc_attr($instance['feeds']);
21
+ $max = esc_attr($instance['max']);
22
+ $target = esc_attr($instance['target']);
23
+ $titlelength = esc_attr($instance['titlelength']);
24
+ $meta = esc_attr($instance['meta']);
25
+ $summary = esc_attr($instance['summary']);
26
+ $summarylength = esc_attr($instance['summarylength']);
27
+ $thumb = esc_attr($instance['thumb']);
28
+ $default = esc_attr($instance['default']);
29
+ $size = esc_attr($instance['size']);
30
+ $keywords_title = esc_attr($instance['keywords_title']);
31
+ } else {
32
+ $title = '';
33
+ $textarea = '';
34
+ $feeds = '';
35
+ $max = '';
36
+ $target = '';
37
+ $titlelength = '';
38
+ $meta = '';
39
+ $summary = '';
40
+ $summarylength = '';
41
+ $thumb = '';
42
+ $default = '';
43
+ $size = '';
44
+ $keywords_title = '';
45
+ }
46
+ ?>
47
+
48
+ <p>
49
+ <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Widget Title', 'feedzy_rss_translate'); ?></label>
50
+ <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
51
+ </p>
52
+ <p>
53
+ <label for="<?php echo $this->get_field_id('textarea'); ?>"><?php _e('Intro text', 'feedzy_rss_translate'); ?></label>
54
+ <textarea class="widefat" id="<?php echo $this->get_field_id('textarea'); ?>" name="<?php echo $this->get_field_name('textarea'); ?>"><?php echo $textarea; ?></textarea>
55
+ </p>
56
+ <p>
57
+ <label for="<?php echo $this->get_field_id('feeds'); ?>"><?php _e('The feed(s) URL (comma-separated list).', 'feedzy_rss_translate'); ?></label>
58
+ <input class="widefat" id="<?php echo $this->get_field_id('feeds'); ?>" name="<?php echo $this->get_field_name('feeds'); ?>" type="text" value="<?php echo $feeds; ?>" />
59
+ </p>
60
+ <p>
61
+ <label for="<?php echo $this->get_field_id('max'); ?>"><?php _e('Number of items to display.', 'feedzy_rss_translate'); ?></label>
62
+ <input class="widefat" id="<?php echo $this->get_field_id('max'); ?>" name="<?php echo $this->get_field_name('max'); ?>" type="text" value="<?php echo $max; ?>" />
63
+ </p>
64
+ <p>
65
+ <label for="<?php echo $this->get_field_id('target'); ?>"><?php _e('Links may be opened in the same window or a new tab.', 'feedzy_rss_translate'); ?></label>
66
+ <select name="<?php echo $this->get_field_name('target'); ?>" id="<?php echo $this->get_field_id('target'); ?>" class="widefat">
67
+ <?php
68
+ $options = array('_blank', '_parent', '_self', '_top', 'framename');
69
+ foreach ($options as $option) {
70
+ echo '<option value="' . $option . '" id="' . $option . '"', $target == $option ? ' selected="selected"' : '', '>', $option, '</option>';
71
+ }
72
+ ?>
73
+ </select>
74
+ </p>
75
+ <p>
76
+ <label for="<?php echo $this->get_field_id('titlelength'); ?>"><?php _e('Trim the title of the item after X characters.', 'feedzy_rss_translate'); ?></label>
77
+ <input class="widefat" id="<?php echo $this->get_field_id('titlelength'); ?>" name="<?php echo $this->get_field_name('titlelength'); ?>" type="text" value="<?php echo $titlelength; ?>" />
78
+ </p>
79
+ <p>
80
+ <input id="<?php echo $this->get_field_id('meta'); ?>" name="<?php echo $this->get_field_name('meta'); ?>" type="checkbox" value="1" <?php checked( '1', $meta ); ?> />
81
+ <label for="<?php echo $this->get_field_id('meta'); ?>"><?php _e('Should we display the date of publication and the author name?', 'feedzy_rss_translate'); ?></label>
82
+ </p>
83
+ <p>
84
+ <input id="<?php echo $this->get_field_id('summary'); ?>" name="<?php echo $this->get_field_name('summary'); ?>" type="checkbox" value="1" <?php checked( '1', $summary ); ?> />
85
+ <label for="<?php echo $this->get_field_id('summary'); ?>"><?php _e('Should we display a description (abstract) of the retrieved item?', 'feedzy_rss_translate'); ?></label>
86
+ </p>
87
+ <p>
88
+ <label for="<?php echo $this->get_field_id('summarylength'); ?>"><?php _e('Crop description (summary) of the element after X characters.', 'feedzy_rss_translate'); ?></label>
89
+ <input class="widefat" id="<?php echo $this->get_field_id('summarylength'); ?>" name="<?php echo $this->get_field_name('summarylength'); ?>" type="text" value="<?php echo $summarylength; ?>" />
90
+ </p>
91
+ <p>
92
+ <input id="<?php echo $this->get_field_id('thumb'); ?>" name="<?php echo $this->get_field_name('thumb'); ?>" type="checkbox" value="1" <?php checked( '1', $thumb ); ?> />
93
+ <label for="<?php echo $this->get_field_id('thumb'); ?>"><?php _e('Should we display the first image of the content if it is available?', 'feedzy_rss_translate'); ?></label>
94
+ </p>
95
+ <p>
96
+ <label for="<?php echo $this->get_field_id('default'); ?>"><?php _e('Default thumbnail URL if no image is found.', 'feedzy_rss_translate'); ?></label>
97
+ <input class="widefat" id="<?php echo $this->get_field_id('default'); ?>" name="<?php echo $this->get_field_name('default'); ?>" type="text" value="<?php echo $default; ?>" />
98
+ </p>
99
+ <p>
100
+ <label for="<?php echo $this->get_field_id('size'); ?>"><?php _e('Thumblails dimension. Do not include "px". Eg: 150', 'feedzy_rss_translate'); ?></label>
101
+ <input class="widefat" id="<?php echo $this->get_field_id('size'); ?>" name="<?php echo $this->get_field_name('size'); ?>" type="text" value="<?php echo $size; ?>" />
102
+ </p>
103
+ <p>
104
+ <label for="<?php echo $this->get_field_id('keywords_title'); ?>"><?php _e('Only display item if title contains specific keyword(s) (comma-separated list/case sensitive).', 'feedzy_rss_translate'); ?></label>
105
+ <input class="widefat" id="<?php echo $this->get_field_id('keywords_title'); ?>" name="<?php echo $this->get_field_name('keywords_title'); ?>" type="text" value="<?php echo $keywords_title; ?>" />
106
+ </p>
107
+
108
+ <?php
109
+
110
+ }
111
+
112
+ // update widget
113
+ function update($new_instance, $old_instance) {
114
+ $instance = $old_instance;
115
+ $instance['title'] = strip_tags($new_instance['title']);
116
+ if ( current_user_can('unfiltered_html') ) {
117
+ $instance['textarea'] = $new_instance['textarea'];
118
+ } else {
119
+ $instance['textarea'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['textarea']) ) );
120
+ }
121
+ $instance['feeds'] = strip_tags($new_instance['feeds']);
122
+ $instance['max'] = strip_tags($new_instance['max']);
123
+ $instance['target'] = strip_tags($new_instance['target']);
124
+ $instance['titlelength'] = strip_tags($new_instance['titlelength']);
125
+ $instance['meta'] = strip_tags($new_instance['meta']);
126
+ $instance['summary'] = strip_tags($new_instance['summary']);
127
+ $instance['summarylength'] = strip_tags($new_instance['summarylength']);
128
+ $instance['thumb'] = strip_tags($new_instance['thumb']);
129
+ $instance['default'] = strip_tags($new_instance['default']);
130
+ $instance['size'] = strip_tags($new_instance['size']);
131
+ $instance['keywords_title'] = strip_tags($new_instance['keywords_title']);
132
+ return $instance;
133
+ }
134
+
135
+ // display widget
136
+ function widget($args, $instance) {
137
+
138
+ extract( $args );
139
+
140
+ $title = apply_filters('widget_title', $instance['title']);
141
+ $textarea = apply_filters( 'widget_textarea', empty( $instance['textarea'] ) ? '' : $instance['textarea'], $instance );
142
+
143
+ echo $before_widget;
144
+
145
+ // Display the widget body
146
+ echo '<div class="widget-text feedzy_wp_widget_box">';
147
+
148
+ // Check if title is set
149
+ if ( $title )
150
+ echo $before_title . $title . $after_title;
151
+
152
+ // Check if text intro is set
153
+ if( isset( $instance['textarea'] ) && !empty( $instance['textarea'] ) )
154
+ echo '<p class="feedzy-widget-intro">' . wpautop($textarea) . '</p>';
155
+
156
+
157
+ $items = array('meta', 'summary', 'thumb');
158
+ foreach($items as $item){
159
+ if($instance[$item] == true){
160
+ $instance[$item] = 'yes';
161
+ } else {
162
+ $instance[$item] = 'no';
163
+ }
164
+ }
165
+
166
+ echo feedzy_rss( array(
167
+ "feeds" => $instance['feeds'],
168
+ "max" => $instance['max'],
169
+ "feed_title" => 'no',
170
+ "target" => $instance['target'],
171
+ "title" => $instance['titlelength'],
172
+ "meta" => $instance['meta'],
173
+ "summary" => $instance['summary'],
174
+ "summarylength" => $instance['summarylength'],
175
+ "thumb" => $instance['thumb'],
176
+ "default" => $instance['default'],
177
+ "size" => $instance['size'],
178
+ "keywords_title" => $instance['keywords_title']
179
+ ) );
180
+
181
+ echo '</div>';
182
+
183
+ echo $after_widget;
184
+
185
+ }
186
+ }
readme.txt → js/readme.txt RENAMED
@@ -3,23 +3,23 @@ Contributors: briKou
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7Z6YVM63739Y8
4
  Tags: RSS, SimplePie, shortcode, feed, thumbnail, image, rss feeds, aggregator, tinyMCE, WYSIWYG, MCE, UI, flux, plugin, WordPress
5
  Requires at least: 3.7
6
- Tested up to: 4.0
7
- Stable tag: 1.7.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
 
12
- FEEDZY RSS Feeds is a small and lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your WordPress site through simple shortcodes.
13
 
14
  == Description ==
15
 
16
- FEEDZY RSS Feeds is a small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes.
17
 
18
- The plugin uses the SimplePie CLASS php natively included in WordPress. SimplePie is a RSS parser that can read the information contained in a feed, process it, and finally display it.
19
 
20
  FEEDZY RSS Feeds therefore supports any additional library and uses only the bare minimum to ensure good performance (minimalistic CSS + cache).
21
 
22
- You may use this plugin in your widgets and your pages and reuse the shortcode several times within the same page.
23
 
24
  By activating this plugin, your cover picture will be inserted into your RSS feeds. By doing so, you'll make it will easier for external sites to retrieve images from your feeds.
25
 
@@ -94,10 +94,19 @@ Yes it is.
94
 
95
  1. Simple example
96
  2. Inserting a shortcode in the WYSIWYG
 
 
97
 
98
 
99
  == Changelog ==
100
 
 
 
 
 
 
 
 
101
  = 1.7.1 =
102
  * Fix typo in PHP which cause issue on fetching images
103
 
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7Z6YVM63739Y8
4
  Tags: RSS, SimplePie, shortcode, feed, thumbnail, image, rss feeds, aggregator, tinyMCE, WYSIWYG, MCE, UI, flux, plugin, WordPress
5
  Requires at least: 3.7
6
+ Tested up to: 4.1
7
+ Stable tag: 2.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
 
12
+ FEEDZY RSS Feeds is a small & lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your site with shortcodes & widgets.
13
 
14
  == Description ==
15
 
16
+ FEEDZY RSS Feeds is a small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
17
 
18
+ The plugin uses the SimplePie php CLASS natively included in WordPress. SimplePie is a RSS parser that can read the information contained in a feed, process it, and finally display it.
19
 
20
  FEEDZY RSS Feeds therefore supports any additional library and uses only the bare minimum to ensure good performance (minimalistic CSS + cache).
21
 
22
+ You may use this plugin in your widgets and your pages and reuse the shortcode + widget several times within the same page.
23
 
24
  By activating this plugin, your cover picture will be inserted into your RSS feeds. By doing so, you'll make it will easier for external sites to retrieve images from your feeds.
25
 
94
 
95
  1. Simple example
96
  2. Inserting a shortcode in the WYSIWYG
97
+ 3. Widget admin
98
+ 4. Widget render
99
 
100
 
101
  == Changelog ==
102
 
103
+ = 2.0 =
104
+ * Widget added
105
+ * Translation update
106
+ * Better plugin file structure
107
+ * Improve image fetching with multiple enclosures
108
+ * Tested on WP 4.1 with success!
109
+
110
  = 1.7.1 =
111
  * Fix typo in PHP which cause issue on fetching images
112
 
langs/feedzy_rss_translate-fr_FR.mo CHANGED
Binary file
langs/feedzy_rss_translate-fr_FR.po CHANGED
@@ -1,173 +1,199 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: FEEDZY RSS Feeds by b*web v1.5.2\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: \n"
6
- "PO-Revision-Date: 2014-11-27 20:21:40+0000\n"
7
- "Last-Translator: superadminopl <brice.capobianco@openlog.fr>\n"
8
- "Language-Team: \n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "Plural-Forms: nplurals=2; plural=n>1;\n"
13
- "X-Generator: CSL v1.x\n"
14
- "X-Poedit-Language: French\n"
15
- "X-Poedit-Country: FRANCE\n"
16
- "X-Poedit-SourceCharset: utf-8\n"
17
- "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
18
- "X-Poedit-Basepath: \n"
19
- "X-Poedit-Bookmarks: \n"
20
- "X-Poedit-SearchPath-0: .\n"
21
- "X-Textdomain-Support: yes"
22
-
23
- #: feedzy-rss-feed.php:188
24
- #@ feedzy_rss_translate
25
- msgid "Sorry, this feed is currently unavailable or does not exists anymore."
26
- msgstr "Désolé, ce flux est actuellement indisponible ou n'existe plus."
27
-
28
- #: feedzy-rss-feed.php:336
29
- #@ feedzy_rss_translate
30
- msgid "Posted by"
31
- msgstr "Publié par"
32
-
33
- #: feedzy-rss-feed.php:345
34
- #@ feedzy_rss_translate
35
- msgid "on"
36
- msgstr "le"
37
-
38
- #: feedzy-rss-feed.php:345
39
- #@ feedzy_rss_translate
40
- msgid "at"
41
- msgstr "à"
42
-
43
- #: feedzy-rss-feed.php:47
44
- #@ feedzy_rss_translate
45
- msgid "Documentation and examples"
46
- msgstr "Documentation and exemples"
47
-
48
- #: feedzy-rss-feed.php:48
49
- #@ feedzy_rss_translate
50
- msgid "More b*web Plugins"
51
- msgstr "Plus de plugins b*web"
52
-
53
- #: feedzy-rss-feed.php:49
54
- #@ feedzy_rss_translate
55
- msgid "Donate"
56
- msgstr "Faire un don"
57
-
58
- #: feedzy-rss-feeds-ui-lang.php:11
59
- #@ feedzy_rss_translate
60
- msgid "Insert FEEDZY RSS Feeds Shortcode"
61
- msgstr "Insérer un shortcode FEEDZY RSS Feeds"
62
-
63
- #: feedzy-rss-feeds-ui-lang.php:13
64
- #@ feedzy_rss_translate
65
- msgid "Number of items to display."
66
- msgstr "Nombre d’éléments à remonter."
67
-
68
- #: feedzy-rss-feeds-ui-lang.php:15
69
- #@ feedzy_rss_translate
70
- msgid "Links may be opened in the same window or a new tab."
71
- msgstr "Les liens peuvent être ouverts dans la même fenêtre ou dans un nouvel onglet."
72
-
73
- #: feedzy-rss-feeds-ui-lang.php:16
74
- #@ feedzy_rss_translate
75
- msgid "Trim the title of the item after X characters."
76
- msgstr "Rogner le titre de l’élément après X caractères."
77
-
78
- #: feedzy-rss-feeds-ui-lang.php:17
79
- #@ feedzy_rss_translate
80
- msgid "Should we display the date of publication and the author name?"
81
- msgstr "Doit-on afficher la date de publication ainsi que le nom de l’auteur de l’élément ?"
82
-
83
- #: feedzy-rss-feeds-ui-lang.php:18
84
- #@ feedzy_rss_translate
85
- msgid "Should we display a description (abstract) of the retrieved item?"
86
- msgstr "Doit-on afficher la description (le résumé) de l’élément ?"
87
-
88
- #: feedzy-rss-feeds-ui-lang.php:19
89
- #@ feedzy_rss_translate
90
- msgid "Crop description (summary) of the element after X characters."
91
- msgstr "Rogner la description (le résumé) de l’élément après X caractères."
92
-
93
- #: feedzy-rss-feeds-ui-lang.php:20
94
- #@ feedzy_rss_translate
95
- msgid "Should we display the first image of the content if it is available?"
96
- msgstr "Doit-on afficher la première image du contenu si elle est disponible ?"
97
-
98
- #: feedzy-rss-feeds-ui-lang.php:21
99
- #@ feedzy_rss_translate
100
- msgid "Default thumbnail URL if no image is found."
101
- msgstr "URL de la miniature par défaut si aucune image n’est trouvée."
102
-
103
- #: feedzy-rss-feeds-ui-lang.php:22
104
- #@ feedzy_rss_translate
105
- msgid "Thumblails dimension. Do not include \"px\". Eg: 150"
106
- msgstr "Dimensions de la miniature. Ne pas inclure “px”. Ex : 150"
107
-
108
- #: feedzy-rss-feeds-ui-lang.php:23
109
- #@ feedzy_rss_translate
110
- msgid "Only display item if title contains specific keyword(s) (comma-separated list/case sensitive)."
111
- msgstr "Afficher un élément seulement si son titre contient l’un des mots clés spécifiés (liste séparée par des virgules/sensible à la case)"
112
-
113
- #: feedzy-rss-feeds-ui-lang.php:24
114
- #@ feedzy_rss_translate
115
- msgid "Do not specify"
116
- msgstr "Ne pas préciser"
117
-
118
- #: feedzy-rss-feeds-ui-lang.php:25
119
- #@ feedzy_rss_translate
120
- msgid "No"
121
- msgstr "Non"
122
-
123
- #: feedzy-rss-feeds-ui-lang.php:26
124
- #@ feedzy_rss_translate
125
- msgid "Yes"
126
- msgstr "Oui"
127
-
128
- #: feedzy-rss-feeds-ui-lang.php:12
129
- #@ feedzy_rss_translate
130
- msgid "The feed(s) URL (comma-separated list)."
131
- msgstr "URL(s) du(des) flux RSS (liste séparée par des virgules)."
132
-
133
- #: feedzy-rss-feeds-ui-lang.php:14
134
- #@ feedzy_rss_translate
135
- msgid "Should we display the RSS title?"
136
- msgstr "Doit-on afficher le titre du flux RSS ?"
137
-
138
- #. translators: plugin header field 'Name'
139
- #: feedzy-rss-feed.php:0
140
- #@ feedzy_rss_translate
141
- msgid "FEEDZY RSS Feeds by b*web"
142
- msgstr ""
143
-
144
- #. translators: plugin header field 'Description'
145
- #: feedzy-rss-feed.php:0
146
- #@ feedzy_rss_translate
147
- msgid "FEEDZY RSS Feeds is a small and lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your WordPress site through simple shortcodes."
148
- msgstr "FEEDZY RSS Feeds est un petit plugin léger, rapide et très simple d'utilisation qui vous permet d'agréger des flux RSS dans votre site WordPress grâce à des shortcodes entièrement paramétrables."
149
-
150
- #. translators: plugin header field 'Author'
151
- #: feedzy-rss-feed.php:0
152
- #@ feedzy_rss_translate
153
- msgid "Brice CAPOBIANCO"
154
- msgstr ""
155
-
156
- #. translators: plugin header field 'AuthorURI'
157
- #: feedzy-rss-feed.php:0
158
- #@ feedzy_rss_translate
159
- msgid "http://b-website.com/"
160
- msgstr ""
161
-
162
- #. translators: plugin header field 'Version'
163
- #: feedzy-rss-feed.php:0
164
- #@ feedzy_rss_translate
165
- msgid "1.5.2"
166
- msgstr ""
167
-
168
- #. translators: plugin header field 'PluginURI'
169
- #: feedzy-rss-feed.php:0
170
- #@ feedzy_rss_translate
171
- msgid "http://b-website.com/feedzy-rss-feeds-wordpress-plugin-using-simplepie"
172
- msgstr "http://b-website.com/feedzy-rss-feeds-plugin-wordpress-gratuit-utilisant-simplepie"
173
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: FEEDZY RSS Feeds by b*web v1.7.1\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2014-12-16 17:37:04+0000\n"
7
+ "Last-Translator: superadminopl <brice.capobianco@openlog.fr>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n>1;\n"
13
+ "X-Generator: CSL v1.x\n"
14
+ "X-Poedit-Language: French\n"
15
+ "X-Poedit-Country: FRANCE\n"
16
+ "X-Poedit-SourceCharset: utf-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
18
+ "X-Poedit-Basepath: \n"
19
+ "X-Poedit-Bookmarks: \n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+ "X-Textdomain-Support: yes"
22
+
23
+ #: feedzy-rss-feeds-shortcode.php:105
24
+ #@ feedzy_rss_translate
25
+ msgid "Sorry, this feed is currently unavailable or does not exists anymore."
26
+ msgstr "Désolé, ce flux est actuellement indisponible ou n'existe plus."
27
+
28
+ #: feedzy-rss-feeds-shortcode.php:252
29
+ #@ feedzy_rss_translate
30
+ msgid "Posted by"
31
+ msgstr "Publié par"
32
+
33
+ #: feedzy-rss-feeds-shortcode.php:260
34
+ #@ feedzy_rss_translate
35
+ msgid "on"
36
+ msgstr "le"
37
+
38
+ #: feedzy-rss-feeds-shortcode.php:260
39
+ #@ feedzy_rss_translate
40
+ msgid "at"
41
+ msgstr "à"
42
+
43
+ #: feedzy-rss-feed.php:44
44
+ #@ feedzy_rss_translate
45
+ msgid "Documentation and examples"
46
+ msgstr "Documentation and exemples"
47
+
48
+ #: feedzy-rss-feed.php:45
49
+ #@ feedzy_rss_translate
50
+ msgid "More b*web Plugins"
51
+ msgstr "Plus de plugins b*web"
52
+
53
+ #: feedzy-rss-feed.php:46
54
+ #@ feedzy_rss_translate
55
+ msgid "Donate"
56
+ msgstr "Faire un don"
57
+
58
+ #: feedzy-rss-feeds-ui-lang.php:11
59
+ #@ feedzy_rss_translate
60
+ msgid "Insert FEEDZY RSS Feeds Shortcode"
61
+ msgstr "Insérer un shortcode FEEDZY RSS Feeds"
62
+
63
+ #: feedzy-rss-feeds-ui-lang.php:13
64
+ #: feedzy-rss-feeds-widget.php:61
65
+ #@ feedzy_rss_translate
66
+ msgid "Number of items to display."
67
+ msgstr "Nombre d’éléments à remonter."
68
+
69
+ #: feedzy-rss-feeds-ui-lang.php:15
70
+ #: feedzy-rss-feeds-widget.php:65
71
+ #@ feedzy_rss_translate
72
+ msgid "Links may be opened in the same window or a new tab."
73
+ msgstr "Les liens peuvent être ouverts dans la même fenêtre ou dans un nouvel onglet."
74
+
75
+ #: feedzy-rss-feeds-ui-lang.php:16
76
+ #: feedzy-rss-feeds-widget.php:76
77
+ #@ feedzy_rss_translate
78
+ msgid "Trim the title of the item after X characters."
79
+ msgstr "Rogner le titre de l’élément après X caractères."
80
+
81
+ #: feedzy-rss-feeds-ui-lang.php:17
82
+ #: feedzy-rss-feeds-widget.php:81
83
+ #@ feedzy_rss_translate
84
+ msgid "Should we display the date of publication and the author name?"
85
+ msgstr "Doit-on afficher la date de publication ainsi que le nom de l’auteur de l’élément ?"
86
+
87
+ #: feedzy-rss-feeds-ui-lang.php:18
88
+ #: feedzy-rss-feeds-widget.php:85
89
+ #@ feedzy_rss_translate
90
+ msgid "Should we display a description (abstract) of the retrieved item?"
91
+ msgstr "Doit-on afficher la description (le résumé) de l’élément ?"
92
+
93
+ #: feedzy-rss-feeds-ui-lang.php:19
94
+ #: feedzy-rss-feeds-widget.php:88
95
+ #@ feedzy_rss_translate
96
+ msgid "Crop description (summary) of the element after X characters."
97
+ msgstr "Rogner la description (le résumé) de l’élément après X caractères."
98
+
99
+ #: feedzy-rss-feeds-ui-lang.php:20
100
+ #: feedzy-rss-feeds-widget.php:93
101
+ #@ feedzy_rss_translate
102
+ msgid "Should we display the first image of the content if it is available?"
103
+ msgstr "Doit-on afficher la première image du contenu si elle est disponible ?"
104
+
105
+ #: feedzy-rss-feeds-ui-lang.php:21
106
+ #: feedzy-rss-feeds-widget.php:96
107
+ #@ feedzy_rss_translate
108
+ msgid "Default thumbnail URL if no image is found."
109
+ msgstr "URL de la miniature par défaut si aucune image n’est trouvée."
110
+
111
+ #: feedzy-rss-feeds-ui-lang.php:22
112
+ #: feedzy-rss-feeds-widget.php:100
113
+ #@ feedzy_rss_translate
114
+ msgid "Thumblails dimension. Do not include \"px\". Eg: 150"
115
+ msgstr "Dimensions de la miniature. Ne pas inclure “px”. Ex : 150"
116
+
117
+ #: feedzy-rss-feeds-ui-lang.php:23
118
+ #: feedzy-rss-feeds-widget.php:104
119
+ #@ feedzy_rss_translate
120
+ msgid "Only display item if title contains specific keyword(s) (comma-separated list/case sensitive)."
121
+ msgstr "Afficher un élément seulement si son titre contient l’un des mots clés spécifiés (liste séparée par des virgules/sensible à la case)"
122
+
123
+ #: feedzy-rss-feeds-ui-lang.php:24
124
+ #@ feedzy_rss_translate
125
+ msgid "Do not specify"
126
+ msgstr "Ne pas préciser"
127
+
128
+ #: feedzy-rss-feeds-ui-lang.php:25
129
+ #@ feedzy_rss_translate
130
+ msgid "No"
131
+ msgstr "Non"
132
+
133
+ #: feedzy-rss-feeds-ui-lang.php:26
134
+ #@ feedzy_rss_translate
135
+ msgid "Yes"
136
+ msgstr "Oui"
137
+
138
+ #: feedzy-rss-feeds-ui-lang.php:12
139
+ #: feedzy-rss-feeds-widget.php:57
140
+ #@ feedzy_rss_translate
141
+ msgid "The feed(s) URL (comma-separated list)."
142
+ msgstr "URL(s) du(des) flux RSS (liste séparée par des virgules)."
143
+
144
+ #: feedzy-rss-feeds-ui-lang.php:14
145
+ #@ feedzy_rss_translate
146
+ msgid "Should we display the RSS title?"
147
+ msgstr "Doit-on afficher le titre du flux RSS ?"
148
+
149
+ #. translators: plugin header field 'Name'
150
+ #: feedzy-rss-feed.php:0
151
+ #@ feedzy_rss_translate
152
+ msgid "FEEDZY RSS Feeds by b*web"
153
+ msgstr ""
154
+
155
+ #. translators: plugin header field 'Description'
156
+ #: feedzy-rss-feed.php:0
157
+ #@ feedzy_rss_translate
158
+ msgid "FEEDZY RSS Feeds is a small and lightweight plugin. Fast and easy to use, it aggregates RSS feeds into your WordPress site through simple shortcodes."
159
+ msgstr "FEEDZY RSS Feeds est un petit plugin léger, rapide et très simple d'utilisation qui vous permet d'agréger des flux RSS dans votre site WordPress grâce à des shortcodes entièrement paramétrables."
160
+
161
+ #. translators: plugin header field 'Author'
162
+ #: feedzy-rss-feed.php:0
163
+ #@ feedzy_rss_translate
164
+ msgid "Brice CAPOBIANCO"
165
+ msgstr ""
166
+
167
+ #. translators: plugin header field 'AuthorURI'
168
+ #: feedzy-rss-feed.php:0
169
+ #@ feedzy_rss_translate
170
+ msgid "http://b-website.com/"
171
+ msgstr ""
172
+
173
+ #. translators: plugin header field 'PluginURI'
174
+ #: feedzy-rss-feed.php:0
175
+ #@ feedzy_rss_translate
176
+ msgid "http://b-website.com/feedzy-rss-feeds-wordpress-plugin-using-simplepie"
177
+ msgstr "http://b-website.com/feedzy-rss-feeds-plugin-wordpress-gratuit-utilisant-simplepie"
178
+
179
+ #. translators: plugin header field 'Version'
180
+ #: feedzy-rss-feed.php:0
181
+ #@ feedzy_rss_translate
182
+ msgid "1.7.1"
183
+ msgstr ""
184
+
185
+ #: feedzy-rss-feeds-widget.php:10
186
+ #@ feedzy_wp_widget
187
+ msgid "Feedzy RSS Feeds"
188
+ msgstr ""
189
+
190
+ #: feedzy-rss-feeds-widget.php:49
191
+ #@ feedzy_rss_translate
192
+ msgid "Widget Title"
193
+ msgstr "Titre du Widget"
194
+
195
+ #: feedzy-rss-feeds-widget.php:53
196
+ #@ feedzy_rss_translate
197
+ msgid "Intro text"
198
+ msgstr "Texte d'intro"
199
+