WP RSS Aggregator - Version 4.7.6

Version Description

(2015-10-07) = * Enhanced: Feeds that fail to validate due to whitespace at the beginning are now supported by the plugin. * Fixed bug: Undefined variables in the System Info section in the Debugging page. * Fixed bug: Add-on license expiration notices could not be dismissed.

Download this release

Release Info

Developer markzahra
Plugin Icon 128x128 WP RSS Aggregator
Version 4.7.6
Comparing to
See all releases

Code changes from version 4.7.5 to 4.7.6

includes/admin-addons.php CHANGED
@@ -63,6 +63,15 @@
63
  'path' => 'wp-rss-wordai/wp-rss-wordai.php',
64
  'url' => 'http://www.wprssaggregator.com/extension/wordai/'
65
  );
 
 
 
 
 
 
 
 
 
66
 
67
  ?>
68
  <div class="wrap">
63
  'path' => 'wp-rss-wordai/wp-rss-wordai.php',
64
  'url' => 'http://www.wprssaggregator.com/extension/wordai/'
65
  );
66
+ $premium[] = array(
67
+ 'title' => __( "Widget", WPRSS_TEXT_DOMAIN ),
68
+ 'description' => __( "An add-on for WP RSS Aggregator that displays your imported feed items in a widget on your site. Intergrates well with Excerpts &amp; Thumbnails", WPRSS_TEXT_DOMAIN ),
69
+ 'thumbnail' => WPRSS_IMG . 'add-ons/wprss.jpg',
70
+ 'active' => is_plugin_active( 'wp-rss-widget/wp-rss-widget.php' ),
71
+ 'installed_inactive' => wprss_is_plugin_inactive( 'wp-rss-widget/wp-rss-widget.php' ),
72
+ 'path' => 'wp-rss-widget/wp-rss-widget.php',
73
+ 'url' => 'http://www.wprssaggregator.com/extension/widget/'
74
+ );
75
 
76
  ?>
77
  <div class="wrap">
includes/admin-metaboxes.php CHANGED
@@ -641,6 +641,7 @@
641
  _e( 'Check out the Premium Extensions:', WPRSS_TEXT_DOMAIN );
642
  echo '</strong>'; ?>
643
  <ul>
 
644
  <li><a href="http://www.wprssaggregator.com/extension/feed-to-post/"><?php echo 'Feed to Post'; ?></a></li>
645
  <li><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/"><?php echo 'Excerpts & Thumbnails'; ?></a></li>
646
  <li><a href="http://www.wprssaggregator.com/extension/categories/"><?php echo 'Categories'; ?></a></li>
641
  _e( 'Check out the Premium Extensions:', WPRSS_TEXT_DOMAIN );
642
  echo '</strong>'; ?>
643
  <ul>
644
+ <li><a href="http://www.wprssaggregator.com/extension/widget/"><?php echo 'Widget'; ?></a></li>
645
  <li><a href="http://www.wprssaggregator.com/extension/feed-to-post/"><?php echo 'Feed to Post'; ?></a></li>
646
  <li><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/"><?php echo 'Excerpts & Thumbnails'; ?></a></li>
647
  <li><a href="http://www.wprssaggregator.com/extension/categories/"><?php echo 'Categories'; ?></a></li>
includes/admin-options.php CHANGED
@@ -524,9 +524,9 @@
524
  $open_dd = wprss_get_general_setting('open_dd');
525
 
526
  $items = array(
527
- 'Lightbox' => __( 'Lightbox', WPRSS_TEXT_DOMAIN ),
528
- 'New window' => __( 'New window', WPRSS_TEXT_DOMAIN ),
529
- 'Self' => __( 'Self', WPRSS_TEXT_DOMAIN )
530
  );
531
  ?>
532
  <select id="<?php echo $field['field_id'] ?>" name="wprss_settings_general[open_dd]">
524
  $open_dd = wprss_get_general_setting('open_dd');
525
 
526
  $items = array(
527
+ 'lightbox' => __( 'Lightbox', WPRSS_TEXT_DOMAIN ),
528
+ 'blank' => __( 'New window', WPRSS_TEXT_DOMAIN ),
529
+ 'self' => __( 'Self', WPRSS_TEXT_DOMAIN )
530
  );
531
  ?>
532
  <select id="<?php echo $field['field_id'] ?>" name="wprss_settings_general[open_dd]">
includes/admin-welcome.php CHANGED
@@ -100,6 +100,7 @@
100
  <h3><?php _e( 'Check out our add-ons:', WPRSS_TEXT_DOMAIN ) ?></h3>
101
 
102
  <ul>
 
103
  <li><strong><a href="http://www.wprssaggregator.com/extension/feed-to-post/" target="wprss_ftp"><?php _e( 'Feed to Post', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
104
  <li><strong><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/" target="wprss_et"><?php _e( 'Excerpts &amp; Thumbnails', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
105
  <li><strong><a href="http://www.wprssaggregator.com/extension/categories/" target="wprss_cat"><?php _e( 'Categories', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
100
  <h3><?php _e( 'Check out our add-ons:', WPRSS_TEXT_DOMAIN ) ?></h3>
101
 
102
  <ul>
103
+ <li><strong><a href="http://www.wprssaggregator.com/extension/widget/" target="wprss_widget"><?php _e( 'Widget', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
104
  <li><strong><a href="http://www.wprssaggregator.com/extension/feed-to-post/" target="wprss_ftp"><?php _e( 'Feed to Post', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
105
  <li><strong><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/" target="wprss_et"><?php _e( 'Excerpts &amp; Thumbnails', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
106
  <li><strong><a href="http://www.wprssaggregator.com/extension/categories/" target="wprss_cat"><?php _e( 'Categories', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
includes/feed-access.php CHANGED
@@ -229,7 +229,7 @@ class WPRSS_SimplePie_File extends SimplePie_File {
229
  $parser = new SimplePie_HTTP_Parser( $this->headers );
230
  if ( $parser->parse() ) {
231
  $this->headers = $parser->headers;
232
- $this->body = $parser->body;
233
  $this->status_code = $parser->status_code;
234
  if ( (in_array( $this->status_code, array( 300, 301, 302, 303, 307 ) ) || $this->status_code > 307 && $this->status_code < 400) && isset( $this->headers['location'] ) && $this->redirects < $redirects ) {
235
  $this->redirects++;
@@ -291,7 +291,7 @@ class WPRSS_SimplePie_File extends SimplePie_File {
291
  $parser = new SimplePie_HTTP_Parser( $this->headers );
292
  if ( $parser->parse() ) {
293
  $this->headers = $parser->headers;
294
- $this->body = $parser->body;
295
  $this->status_code = $parser->status_code;
296
  if ( (in_array( $this->status_code, array( 300, 301, 302, 303, 307 ) ) || $this->status_code > 307 && $this->status_code < 400) && isset( $this->headers['location'] ) && $this->redirects < $redirects ) {
297
  $this->redirects++;
229
  $parser = new SimplePie_HTTP_Parser( $this->headers );
230
  if ( $parser->parse() ) {
231
  $this->headers = $parser->headers;
232
+ $this->body = trim( $parser->body );
233
  $this->status_code = $parser->status_code;
234
  if ( (in_array( $this->status_code, array( 300, 301, 302, 303, 307 ) ) || $this->status_code > 307 && $this->status_code < 400) && isset( $this->headers['location'] ) && $this->redirects < $redirects ) {
235
  $this->redirects++;
291
  $parser = new SimplePie_HTTP_Parser( $this->headers );
292
  if ( $parser->parse() ) {
293
  $this->headers = $parser->headers;
294
+ $this->body = trim( $parser->body );
295
  $this->status_code = $parser->status_code;
296
  if ( (in_array( $this->status_code, array( 300, 301, 302, 303, 307 ) ) || $this->status_code > 307 && $this->status_code < 400) && isset( $this->headers['location'] ) && $this->redirects < $redirects ) {
297
  $this->redirects++;
includes/feed-display.php CHANGED
@@ -181,7 +181,7 @@
181
  $args = wp_parse_args(
182
  $settings,
183
  array(
184
- 'open_dd' => 'New Window',
185
  'follow_dd' => '',
186
  )
187
  );
@@ -189,10 +189,10 @@
189
  // Prepare the 'open' setting - how to open links for feed items
190
  $open = '';
191
  switch ( $args['open_dd'] ) {
192
- case 'Lightbox' :
193
  $open = 'class="colorbox"';
194
  break;
195
- case 'New window' :
196
  $open = 'target="_blank"';
197
  break;
198
  }
181
  $args = wp_parse_args(
182
  $settings,
183
  array(
184
+ 'open_dd' => 'blank',
185
  'follow_dd' => '',
186
  )
187
  );
189
  // Prepare the 'open' setting - how to open links for feed items
190
  $open = '';
191
  switch ( $args['open_dd'] ) {
192
+ case 'lightbox' :
193
  $open = 'class="colorbox"';
194
  break;
195
+ case 'blank' :
196
  $open = 'target="_blank"';
197
  break;
198
  }
includes/feed-importing.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
- /**
3
- * Functions relating to feed importing
4
- *
5
- * @package WPRSSAggregator
6
- */
7
-
8
 
9
  // Warning: Order may be important
10
  add_filter('wprss_normalize_permalink', 'wprss_google_news_url_fix', 8);
1
  <?php
2
+ /**
3
+ * Functions relating to feed importing
4
+ *
5
+ * @package WPRSSAggregator
6
+ */
7
+
8
 
9
  // Warning: Order may be important
10
  add_filter('wprss_normalize_permalink', 'wprss_google_news_url_fix', 8);
includes/image-caching.php CHANGED
@@ -584,11 +584,19 @@ class WPRSS_Image_Cache {
584
  // In case the URL is specified with a relative protocol
585
  $url = ltrim( $url, '/' );
586
 
587
- // Extract filename from url for title (ignoring query string)
588
- // One of more character that is not a '?', followed by an image extension
589
- preg_match( '/[^\?]+\.(jpg|JPG|jpeg|JPEG|jpe|JPE|gif|GIF|png|PNG)/', $url, $ext_matches );
 
 
 
 
 
 
 
590
  $extension = isset( $ext_matches[1] ) ? $ext_matches[1] : null;
591
- $url_filename = basename( urldecode( $ext_matches[0] ) );
 
592
 
593
  // Get the path to the image, without the domain. ex. /news/132456/image
594
  $path_matches = array();
@@ -602,7 +610,7 @@ class WPRSS_Image_Cache {
602
 
603
  $base_filename = $extension
604
  ? basename( $url_filename, '.' . $extension )
605
- : $url_filename;
606
 
607
  if ( $hash = self::hash( $url ) )
608
  $base_filename = $base_filename . '-' .$hash;
584
  // In case the URL is specified with a relative protocol
585
  $url = ltrim( $url, '/' );
586
 
587
+ // Validate and extract extension from URL
588
+ $pattern =
589
+ '[^\?#]+?' // Anything that's not a '?' or '#', which denote the query string and fragment respectively
590
+ . '(?:' // Non-matching group, just for quantifier
591
+ . '\.' // Literal period
592
+ . '(jpg|JPG|jpeg|JPEG|jpe|JPE|gif|GIF|png|PNG)' // The actual extension; this is what we're after
593
+ . ')?' // The extension may not appear at all
594
+ . '(?:#|\?|$)' // End our search with query or fragment
595
+ ;
596
+ preg_match( sprintf( '!%1$s!', $pattern ), $url, $ext_matches );
597
  $extension = isset( $ext_matches[1] ) ? $ext_matches[1] : null;
598
+ // Fragment/query delimiters are included in the whole match
599
+ $url_filename = basename( urldecode( trim( $ext_matches[0], '#?' ) ) );
600
 
601
  // Get the path to the image, without the domain. ex. /news/132456/image
602
  $path_matches = array();
610
 
611
  $base_filename = $extension
612
  ? basename( $url_filename, '.' . $extension )
613
+ : basename( $url_filename );
614
 
615
  if ( $hash = self::hash( $url ) )
616
  $base_filename = $base_filename . '-' .$hash;
includes/licensing.php CHANGED
@@ -320,8 +320,10 @@ function wprss_show_license_notice() {
320
 
321
  $expires = strtotime( substr( $value, 0, strpos( $value, " " ) ) );
322
  $id = substr( $key, 0, strpos( $key, "_" ) );
323
- $uid = strtoupper($id);
324
-
 
 
325
  // Check if the plugin is currently activated.
326
  if ( !defined("WPRSS_{$uid}_SL_ITEM_NAME") ) {
327
  continue;
@@ -329,7 +331,7 @@ function wprss_show_license_notice() {
329
  $plugin = constant("WPRSS_{$uid}_SL_ITEM_NAME");
330
  }
331
 
332
- if ( $expires < strtotime("+2 weeks") ) {
333
  // The license is expired or expiring soon.
334
  $license_key = wprss_get_license_key($id);
335
  $msg = sprintf(
@@ -339,7 +341,7 @@ function wprss_show_license_notice() {
339
  );
340
 
341
  // User can hide expiring/expired license messages.
342
- $hide = '<a href="#" class="ajax-close-addon-notice" style="float:right;" data-addon="categories" data-notice="license">' .
343
  __('Dismiss this notification', WPRSS_TEXT_DOMAIN) . '</a>';
344
 
345
  // Only show this notice if there isn't already a notice to show for this add-on.
320
 
321
  $expires = strtotime( substr( $value, 0, strpos( $value, " " ) ) );
322
  $id = substr( $key, 0, strpos( $key, "_" ) );
323
+ $uid = strtoupper($id);
324
+
325
+ $addon_notices = get_option('wprss_addon_notices');
326
+
327
  // Check if the plugin is currently activated.
328
  if ( !defined("WPRSS_{$uid}_SL_ITEM_NAME") ) {
329
  continue;
331
  $plugin = constant("WPRSS_{$uid}_SL_ITEM_NAME");
332
  }
333
 
334
+ if ( $expires < strtotime("+2 weeks") && empty ( $addon_notices[$id]['expiry'] ) ) {
335
  // The license is expired or expiring soon.
336
  $license_key = wprss_get_license_key($id);
337
  $msg = sprintf(
341
  );
342
 
343
  // User can hide expiring/expired license messages.
344
+ $hide = '<a href="#" class="ajax-close-addon-notice" style="float:right;" data-addon="'. $id .'" data-notice="expiry">' .
345
  __('Dismiss this notification', WPRSS_TEXT_DOMAIN) . '</a>';
346
 
347
  // Only show this notice if there isn't already a notice to show for this add-on.
includes/system-info.php CHANGED
@@ -5,9 +5,9 @@
5
  * @package WPRSSAggregator
6
  * @subpackage Includes
7
  * @since 3.1
8
- * @author Jean Galea <info@jeangalea.com>
9
- * @copyright Copyright(c) 2012-2013, Jean Galea. Adapted from Easy Digital Downloads by Pippin Williamson
10
- * @link http://www.wpmayor.com
11
  * @license http://www.gnu.org/licenses/gpl.html
12
  */
13
 
@@ -19,25 +19,21 @@
19
  function wprss_system_info() {
20
  global $wpdb;
21
 
22
- if ( ! class_exists( 'Browser' ) )
23
- require_once WPRSS_DIR . 'includes/libraries/browser.php';
24
-
25
- $browser = new Browser();
26
  ?>
27
- <h3><?php _e( 'System Information', WPRSS_TEXT_DOMAIN ) ?></h3>
28
- <?php
29
- $form_url = admin_url( 'edit.php?post_type=wprss_feed&page=wprss-debugging' );
30
- $nonce_url = wp_nonce_url( $form_url, 'wprss-sysinfo' );
31
- ?>
32
- <form action="<?php echo esc_url( $nonce_url ); ?>" method="post">
33
- <textarea readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="wprss-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', WPRSS_TEXT_DOMAIN ); ?>">
34
- <?php wprss_print_system_info(); ?>
35
- </textarea>
36
- <p class="submit">
37
- <input type="hidden" name="wprss-action" value="download_sysinfo" />
38
- <?php submit_button( __( 'Download System Info File', WPRSS_TEXT_DOMAIN ), 'primary', 'wprss-download-sysinfo', false ); ?>
39
- </p>
40
- </form>
41
 
42
  <?php
43
  }
@@ -49,6 +45,13 @@
49
  * @since 4.6.8
50
  */
51
  function wprss_print_system_info() {
 
 
 
 
 
 
 
52
  ?>
53
  ### Begin System Info ###
54
 
5
  * @package WPRSSAggregator
6
  * @subpackage Includes
7
  * @since 3.1
8
+ * @author Jean Galea <info@wprssaggregator.com>
9
+ * @copyright Copyright (c) 2012-2015, Jean Galea. Adapted from Easy Digital Downloads by Pippin Williamson
10
+ * @link http://www.wprssaggregator.com/
11
  * @license http://www.gnu.org/licenses/gpl.html
12
  */
13
 
19
  function wprss_system_info() {
20
  global $wpdb;
21
 
 
 
 
 
22
  ?>
23
+ <h3><?php _e( 'System Information', WPRSS_TEXT_DOMAIN ) ?></h3>
24
+ <?php
25
+ $form_url = admin_url( 'edit.php?post_type=wprss_feed&page=wprss-debugging' );
26
+ $nonce_url = wp_nonce_url( $form_url, 'wprss-sysinfo' );
27
+ ?>
28
+ <form action="<?php echo esc_url( $nonce_url ); ?>" method="post">
29
+ <textarea readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="wprss-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', WPRSS_TEXT_DOMAIN ); ?>">
30
+ <?php wprss_print_system_info(); ?>
31
+ </textarea>
32
+ <p class="submit">
33
+ <input type="hidden" name="wprss-action" value="download_sysinfo" />
34
+ <?php submit_button( __( 'Download System Info File', WPRSS_TEXT_DOMAIN ), 'primary', 'wprss-download-sysinfo', false ); ?>
35
+ </p>
36
+ </form>
37
 
38
  <?php
39
  }
45
  * @since 4.6.8
46
  */
47
  function wprss_print_system_info() {
48
+ global $wpdb;
49
+
50
+ if ( ! class_exists( 'Browser' ) )
51
+ require_once WPRSS_DIR . 'includes/libraries/browser.php';
52
+
53
+ $browser = new Browser();
54
+
55
  ?>
56
  ### Begin System Info ###
57
 
includes/update.php CHANGED
@@ -100,9 +100,19 @@
100
  update_option( 'wprss_db_version', WPRSS_DB_VERSION );
101
  // Initialize settings
102
  wprss_settings_initialize();
103
-
 
 
 
 
 
 
 
 
 
 
 
104
  // At version 4.7.5 tracking was disabled
105
- $settings = get_option( 'wprss_settings_general' );
106
  $settings['tracking'] = '0';
107
  update_option( 'wprss_settings_general', $settings );
108
  }
@@ -197,7 +207,7 @@
197
  'wprss_default_settings_general',
198
  array(
199
  // from version 1.1
200
- 'open_dd' => __( 'New window' ),
201
  'follow_dd' => 'no_follow',
202
 
203
  // from version 2.0
100
  update_option( 'wprss_db_version', WPRSS_DB_VERSION );
101
  // Initialize settings
102
  wprss_settings_initialize();
103
+
104
+ // Open Link Behavior Name Fix
105
+ $settings = get_option( 'wprss_settings_general' );
106
+
107
+ if( $settings['open_dd'] === 'New window' || $settings['open_dd'] === __( 'New window', WPRSS_TEXT_DOMAIN ) ){
108
+ $settings['open_dd'] = 'blank';
109
+ }else if( $settings['open_dd'] === 'Lightbox' || $settings['open_dd'] === __( 'Lightbox', WPRSS_TEXT_DOMAIN ) ){
110
+ $settings['open_dd'] = 'lightbox';
111
+ }else if( $settings['open_dd'] === 'Self' || $settings['open_dd'] === __( 'Self', WPRSS_TEXT_DOMAIN ) ){
112
+ $settings['open_dd'] = 'self';
113
+ }
114
+
115
  // At version 4.7.5 tracking was disabled
 
116
  $settings['tracking'] = '0';
117
  update_option( 'wprss_settings_general', $settings );
118
  }
207
  'wprss_default_settings_general',
208
  array(
209
  // from version 1.1
210
+ 'open_dd' => 'blank',
211
  'follow_dd' => 'no_follow',
212
 
213
  // from version 2.0
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: jeangalea, Mekku, xedin.unknown, markzahra, doytch, chiragswadia
3
  Plugin URI: http://www.wprssaggregator.com
4
  Tags: rss, feeds, aggregation, rss to post, autoblog aggregator, rss import, feed aggregator, rss aggregator, multiple rss feeds, multi rss feeds, rss multi importer, feed import, feed import, multiple feed import, feed aggregation, rss feader, feed reader, feed to post, multiple feeds, multi feed importer, multi feed import, multi import, autoblogging, autoblogger, rss feeder, rss post importer, autoblog aggregator, autoblog, autopost, content curation, feedwordpress, wp rss multi import, hungryfeed, wp-o-matic, rss feed, rss feed to post, rss retriever, syndication
5
  Requires at least: 4.0
6
- Tested up to: 4.2.3
7
- Stable tag: 4.7.5
8
  License: GPLv2 or later
9
  The no.1 RSS feed importer for WordPress. Premium add-ons available for more functionality.
10
 
@@ -131,21 +131,45 @@ OR
131
 
132
 
133
  == Frequently Asked Questions ==
134
- = How can I output the feeds in my theme? =
135
 
136
- You can either call the function directly within the theme:
 
 
 
137
  `<?php wprss_display_feed_items(); ?>`
138
 
139
- Or use the shortcode in your posts and pages:
140
- [wp-rss-aggregator]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
  = Can I store imported feed items as posts? =
143
 
144
- You can do that with the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) add-on. You will not only be able to store items as posts, but also as other custom post types, as well as set the author, auto set tags and categories, and much more.
 
 
145
 
146
- = Some RSS feeds only give a short excerpt, any way around that? =
147
 
148
- Yes, within the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) add-on we have an advanced feature that can get the full content of those feeds that only supply a short excerpt.
 
 
 
 
149
 
150
  = Where can I find the documentation for the plugin? =
151
 
@@ -154,9 +178,9 @@ The full documentation section can be found on the [WP RSS Aggregator website](w
154
 
155
  == Screenshots ==
156
 
157
- 1. The output of this plugin on the frontend.
158
 
159
- 2. The output from the aggregator with the [Excerpts & Thumbnails](http://www.wprssaggregator.com/extensions/excerpts-thumbnails) add-on installed.
160
 
161
  3. Adding/Editing a feed source.
162
 
@@ -164,11 +188,16 @@ The full documentation section can be found on the [WP RSS Aggregator website](w
164
 
165
  5. The imported feeds items.
166
 
167
- 6. Plugin settings page.
168
 
169
 
170
  == Changelog ==
171
 
 
 
 
 
 
172
  = 4.7.5 (2015-09-02) =
173
  * Usage tracking now disabled.
174
  * Fixed bug: error related to undefined `ajaxurl` JS variable gone from frontend.
3
  Plugin URI: http://www.wprssaggregator.com
4
  Tags: rss, feeds, aggregation, rss to post, autoblog aggregator, rss import, feed aggregator, rss aggregator, multiple rss feeds, multi rss feeds, rss multi importer, feed import, feed import, multiple feed import, feed aggregation, rss feader, feed reader, feed to post, multiple feeds, multi feed importer, multi feed import, multi import, autoblogging, autoblogger, rss feeder, rss post importer, autoblog aggregator, autoblog, autopost, content curation, feedwordpress, wp rss multi import, hungryfeed, wp-o-matic, rss feed, rss feed to post, rss retriever, syndication
5
  Requires at least: 4.0
6
+ Tested up to: 4.3.1
7
+ Stable tag: 4.7.6
8
  License: GPLv2 or later
9
  The no.1 RSS feed importer for WordPress. Premium add-ons available for more functionality.
10
 
131
 
132
 
133
  == Frequently Asked Questions ==
134
+ = How do I display the imported feed items? =
135
 
136
+ You can either use the shortcode in your posts and pages:
137
+ `[wp-rss-aggregator]`
138
+
139
+ or you can call the function directly within your theme:
140
  `<?php wprss_display_feed_items(); ?>`
141
 
142
+ = Is there a limit on the number of feed sources I can use? =
143
+
144
+ There is no limit in place for the number of feed sources. Having many (50+) feed sources should not present any problems in itself.
145
+
146
+ However, pulling in posts from many sites is bound to put your server under some stress, so you might want to consider using a hosting solution that goes beyond your typical shared host.
147
+
148
+ Check out our dedicated page for hosting recommendations.
149
+
150
+ = Does WP RSS Aggregator work using JSON as the source? =
151
+
152
+ No, our plugin does not currently import from JSON, it only imports from RSS and Atom structured XML.
153
+
154
+ = Why do I get “No feed items found” when I insert the shortcode on a page or post? =
155
+
156
+ Try adding a few more feed sources and make sure they are valid by using the RSS Feed validator.
157
+
158
+ Secondly make sure your WordPress cron system is working well. If not, the feeds cannot be imported. If in doubt you can go to RSS Aggregator > Debugging and hit the red button to re-import all feed items. If the problem persists contact support.
159
 
160
  = Can I store imported feed items as posts? =
161
 
162
+ Yes! You can do that with the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) add-on. You will not only be able to store items as posts, but also as other custom post types, as well as set the author, auto set tags and categories, import images into the gallery or set featured images, and much more.
163
+
164
+ = Some RSS feeds only give a short excerpt. Any way around that? =
165
 
166
+ Yes, along with the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to-post) add-on we have another add-on called [Full Text RSS Feeds](http://www.wprssaggregator.com/extension/full-text-rss-feeds/) that can get the full content of those feeds that only supply a short excerpt.
167
 
168
+ = I’m not sure which premium add-ons are right for me. Can you help me out? =
169
+
170
+ Sure! We wrote a post just for you. Read about which add-ons you should buy, we explain the different types of usage so you’ll know what to expect when purchasing.
171
+
172
+ If you need any further help you can contact our support team [here](http://www.wprssaggregator.com/contact/).
173
 
174
  = Where can I find the documentation for the plugin? =
175
 
178
 
179
  == Screenshots ==
180
 
181
+ 1. Feed items imported by WP RSS Aggregator displayed on the front-end using the shortcode.
182
 
183
+ 2. Feed Items imported by WP RSS Aggregator and displayed with the [Excerpts & Thumbnails](http://www.wprssaggregator.com/extensions/excerpts-thumbnails) add-on installed.
184
 
185
  3. Adding/Editing a feed source.
186
 
188
 
189
  5. The imported feeds items.
190
 
191
+ 6. WP RSS Aggregator's Settings page.
192
 
193
 
194
  == Changelog ==
195
 
196
+ = 4.7.6 (2015-10-07) =
197
+ * Enhanced: Feeds that fail to validate due to whitespace at the beginning are now supported by the plugin.
198
+ * Fixed bug: Undefined variables in the System Info section in the Debugging page.
199
+ * Fixed bug: Add-on license expiration notices could not be dismissed.
200
+
201
  = 4.7.5 (2015-09-02) =
202
  * Usage tracking now disabled.
203
  * Fixed bug: error related to undefined `ajaxurl` JS variable gone from frontend.
wp-rss-aggregator.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP RSS Aggregator
4
  Plugin URI: http://www.wprssaggregator.com
5
  Description: Imports and aggregates multiple RSS Feeds using SimplePie
6
- Version: 4.7.5
7
  Author: Jean Galea
8
  Author URI: http://www.wprssaggregator.com
9
  License: GPLv2
@@ -29,7 +29,7 @@
29
 
30
  /**
31
  * @package WPRSSAggregator
32
- * @version 4.7.5
33
  * @since 1.0
34
  * @author Jean Galea <info@wprssaggregator.com>
35
  * @copyright Copyright (c) 2012-2015, Jean Galea
@@ -43,7 +43,7 @@
43
 
44
  // Set the version number of the plugin.
45
  if( !defined( 'WPRSS_VERSION' ) )
46
- define( 'WPRSS_VERSION', '4.7.5', true );
47
 
48
  if( !defined( 'WPRSS_WP_MIN_VERSION' ) )
49
  define( 'WPRSS_WP_MIN_VERSION', '4.0', true );
3
  Plugin Name: WP RSS Aggregator
4
  Plugin URI: http://www.wprssaggregator.com
5
  Description: Imports and aggregates multiple RSS Feeds using SimplePie
6
+ Version: 4.7.6
7
  Author: Jean Galea
8
  Author URI: http://www.wprssaggregator.com
9
  License: GPLv2
29
 
30
  /**
31
  * @package WPRSSAggregator
32
+ * @version 4.7.6
33
  * @since 1.0
34
  * @author Jean Galea <info@wprssaggregator.com>
35
  * @copyright Copyright (c) 2012-2015, Jean Galea
43
 
44
  // Set the version number of the plugin.
45
  if( !defined( 'WPRSS_VERSION' ) )
46
+ define( 'WPRSS_VERSION', '4.7.6', true );
47
 
48
  if( !defined( 'WPRSS_WP_MIN_VERSION' ) )
49
  define( 'WPRSS_WP_MIN_VERSION', '4.0', true );