WP RSS Aggregator - Version 4.3

Version Description

(2014-08-04) = * New Feature: Feed items now also import authors. * Enhanced: Custom feed is now in RSS 2.0 format. * Enhanced: Improved the display template for feed items. * Fixed bug: Custom feed was not working in Firefox. * Fixed bug: Some feed items were showing items from another feed source. * Fixed bug: The feed limit in the global settings was not working.

Download this release

Release Info

Developer jeangalea
Plugin Icon 128x128 WP RSS Aggregator
Version 4.3
Comparing to
See all releases

Code changes from version 4.2.3 to 4.3

changelog.txt CHANGED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  4.2.3 (2014-07-29)
2
  Enhanced: Added an option to choose between the current pagination type, and numbered pagination.
3
  Enhanced: The Feed Preview now also shows the total number of items in the feed.
1
+ 4.3 (2014-08-04)
2
+ New Feature: Feed items now also import authors.
3
+ Enhanced: Custom feed is now in RSS 2.0 format.
4
+ Enhanced: Improved the display template for feed items.
5
+ Fixed bug: Custom feed was not working in Firefox.
6
+ Fixed bug: Some feed items were showing items from another feed source.
7
+ Fixed bug: The feed limit in the global settings was not working.
8
+
9
  4.2.3 (2014-07-29)
10
  Enhanced: Added an option to choose between the current pagination type, and numbered pagination.
11
  Enhanced: The Feed Preview now also shows the total number of items in the feed.
css/admin-3.8.css CHANGED
@@ -34,3 +34,14 @@
34
  #check-out-addons {
35
  margin-top: 15px;
36
  }
 
 
 
 
 
 
 
 
 
 
 
34
  #check-out-addons {
35
  margin-top: 15px;
36
  }
37
+
38
+ /* WP 3.8+ Settings Page */
39
+
40
+ body.wprss_feed_page_wprss-aggregator-settings .wrap h3 {
41
+ font-size: 1.5em;
42
+ margin-top: 1.8em;
43
+ margin-bottom: 0.6em;
44
+ }
45
+ body.wprss_feed_page_wprss-aggregator-settings .wrap h3 + p {
46
+ margin-top: 0.4em;
47
+ }
css/styles.css CHANGED
@@ -9,10 +9,6 @@ li.feed-item { margin-bottom: 10px; }
9
  max-width:100%; float:left; margin-top: 0.5em; margin-right:10px;
10
  }
11
 
12
- div.source-date { clear: both; }
13
-
14
- span.feed-source { font-size: 90%; }
15
-
16
  .green {
17
  color: #0BD600;
18
  }
@@ -20,4 +16,12 @@ span.feed-source { font-size: 90%; }
20
  .nav-links {
21
  overflow: hidden;
22
  margin-bottom: 20px;
 
 
 
 
 
 
 
 
23
  }
9
  max-width:100%; float:left; margin-top: 0.5em; margin-right:10px;
10
  }
11
 
 
 
 
 
12
  .green {
13
  color: #0BD600;
14
  }
16
  .nav-links {
17
  overflow: hidden;
18
  margin-bottom: 20px;
19
+ }
20
+
21
+ div.wprss-feed-meta > span {
22
+ font-size: 90%;
23
+ clear: both;
24
+ }
25
+ div.wprss-feed-meta > span:not(:last-child):after {
26
+ content: ' | ';
27
  }
images/welcome-page/authors.png ADDED
Binary file
includes/admin-options.php CHANGED
@@ -13,7 +13,7 @@
13
 
14
  /**
15
  * Returns the given general setting option value form the database, or the default value if it is not found.
16
- *
17
  * @param option_name The name of the option to get
18
  * @return mixed
19
  * @since 3.7.1
@@ -24,30 +24,30 @@
24
  return ( ( isset( $options[ $option_name ] ) )? $options[$option_name] : $defaults[$option_name] );
25
  }
26
 
27
-
28
  add_action( 'admin_init', 'wprss_admin_init' );
29
  /**
30
  * Register and define options and settings
31
  * @since 2.0
32
  * @todo add option for cron frequency
33
  *
34
- * Note: In the future might change to
35
- * the way EDD builds the settings pages, cleaner method.
36
- */
37
  function wprss_admin_init() {
38
 
39
- register_setting(
40
  'wprss_settings_general', // A settings group name.
41
  'wprss_settings_general', // The name of an option to sanitize and save.
42
  'wprss_settings_general_validate' // A callback function that sanitizes the option's value.
43
- );
44
 
45
  // Licensing of add-ons
46
- register_setting(
47
- 'wprss_settings_license_keys',
48
- 'wprss_settings_license_keys',
49
- 'wprss_settings_license_keys_validate'
50
- );
51
 
52
 
53
  $sections = apply_filters(
@@ -55,6 +55,8 @@
55
  array(
56
  'general' => __( 'General plugin settings', 'wprss' ),
57
  'display' => __( 'Display settings', 'wprss' ),
 
 
58
  'styles' => __( 'Styles', 'wprss' ),
59
  )
60
  );
@@ -73,7 +75,7 @@
73
  'callback' => 'wprss_setting_limit_feed_items_callback'
74
  ),
75
  'limit-feed-items-imported' => array(
76
- 'label' => __( 'Limit feed items per feed', 'wprss' ),
77
  'callback' => 'wprss_setting_limit_feed_items_imported_callback'
78
  ),
79
  'cron-interval' => array(
@@ -99,6 +101,43 @@
99
  ),
100
 
101
  'display' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  'source-enable' => array(
103
  'label' => __( 'Show source', 'wprss' ),
104
  'callback' => 'wprss_setting_source_enable_callback'
@@ -106,7 +145,7 @@
106
  'text-preceding-source' => array(
107
  'label' => __( 'Text preceding source', 'wprss' ),
108
  'callback' => 'wprss_setting_text_preceding_source_callback'
109
- ),
110
  'source-link' => array(
111
  'label' => __( 'Link source', 'wprss' ),
112
  'callback' => 'wprss_setting_source_link_callback'
@@ -115,27 +154,18 @@
115
  'label' => __( 'Source link open behaviour', 'wprss' ),
116
  'callback' => 'wprss_setting_open_dd_callback'
117
  ),
 
118
 
119
- 'link-enable' => array(
120
- 'label' => __( 'Link title', 'wprss' ),
121
- 'callback' => 'wprss_setting_title_link_callback'
122
- ),
123
- 'title-limit' => array(
124
- 'label' => __( 'Title maximum length', 'wprss' ),
125
- 'callback' => 'wprss_setting_title_length_callback'
126
- ),
127
- 'video-links' => array(
128
- 'label' => __( 'For video feed items use', 'wprss' ),
129
- 'callback' => 'wprss_setting_video_links_callback'
130
- ),
131
- 'follow-dd' => array(
132
- 'label' => __( 'Set links as nofollow', 'wprss' ),
133
- 'callback' => 'wprss_setting_follow_dd_callback'
134
- ),
135
  'date-enable' => array(
136
  'label' => __( 'Show date', 'wprss' ),
137
  'callback' => 'wprss_setting_date_enable_callback'
138
  ),
 
 
 
 
139
  'date-format' => array(
140
  'label' => __( 'Date format', 'wprss' ),
141
  'callback' => 'wprss_setting_date_format_callback'
@@ -144,18 +174,6 @@
144
  'label' => __( 'Time ago format', 'wprss' ),
145
  'callback' => 'wprss_setting_time_ago_format_enable_callback'
146
  ),
147
- 'text-preceding-date' => array(
148
- 'label' => __( 'Text preceding date', 'wprss' ),
149
- 'callback' => 'wprss_setting_text_preceding_date_callback'
150
- ),
151
- 'pagination' => array(
152
- 'label' => __( 'Pagination type', 'wprss' ),
153
- 'callback' => 'wprss_setting_pagination_type_callback',
154
- ),
155
- 'feed-limit' => array(
156
- 'label' => __( 'Feed display limit', 'wprss' ),
157
- 'callback' => 'wprss_setting_feed_limit_callback'
158
- ),
159
  ),
160
 
161
  'styles' => array(
@@ -176,7 +194,7 @@
176
  foreach( $settings as $section => $fields ) {
177
  if ( count( $fields ) > 0 ) {
178
  $section_desc = $sections[ $section ];
179
- add_settings_section(
180
  "wprss_settings_${section}_section",
181
  $section_desc,
182
  "wprss_settings_${section}_callback",
@@ -291,7 +309,7 @@
291
 
292
  submit_button( __( 'Save Settings', 'wprss' ) );
293
 
294
- ?>
295
  </form>
296
  </div>
297
  <?php
@@ -316,6 +334,25 @@
316
  }
317
 
318
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  /**
320
  * General settings styles section header
321
  * @since 3.0
@@ -500,6 +537,18 @@
500
  }
501
 
502
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  /**
504
  * Pagination Type
505
  *
13
 
14
  /**
15
  * Returns the given general setting option value form the database, or the default value if it is not found.
16
+ *
17
  * @param option_name The name of the option to get
18
  * @return mixed
19
  * @since 3.7.1
24
  return ( ( isset( $options[ $option_name ] ) )? $options[$option_name] : $defaults[$option_name] );
25
  }
26
 
27
+
28
  add_action( 'admin_init', 'wprss_admin_init' );
29
  /**
30
  * Register and define options and settings
31
  * @since 2.0
32
  * @todo add option for cron frequency
33
  *
34
+ * Note: In the future might change to
35
+ * the way EDD builds the settings pages, cleaner method.
36
+ */
37
  function wprss_admin_init() {
38
 
39
+ register_setting(
40
  'wprss_settings_general', // A settings group name.
41
  'wprss_settings_general', // The name of an option to sanitize and save.
42
  'wprss_settings_general_validate' // A callback function that sanitizes the option's value.
43
+ );
44
 
45
  // Licensing of add-ons
46
+ register_setting(
47
+ 'wprss_settings_license_keys',
48
+ 'wprss_settings_license_keys',
49
+ 'wprss_settings_license_keys_validate'
50
+ );
51
 
52
 
53
  $sections = apply_filters(
55
  array(
56
  'general' => __( 'General plugin settings', 'wprss' ),
57
  'display' => __( 'Display settings', 'wprss' ),
58
+ 'source' => __( 'Source settings', 'wprss' ),
59
+ 'date' => __( 'Date settings', 'wprss' ),
60
  'styles' => __( 'Styles', 'wprss' ),
61
  )
62
  );
75
  'callback' => 'wprss_setting_limit_feed_items_callback'
76
  ),
77
  'limit-feed-items-imported' => array(
78
+ 'label' => __( 'Limit feed items per feed', 'wprss' ),
79
  'callback' => 'wprss_setting_limit_feed_items_imported_callback'
80
  ),
81
  'cron-interval' => array(
101
  ),
102
 
103
  'display' => array(
104
+ // Title options
105
+ 'link-enable' => array(
106
+ 'label' => __( 'Link title', 'wprss' ),
107
+ 'callback' => 'wprss_setting_title_link_callback'
108
+ ),
109
+ 'title-limit' => array(
110
+ 'label' => __( 'Title maximum length', 'wprss' ),
111
+ 'callback' => 'wprss_setting_title_length_callback'
112
+ ),
113
+
114
+
115
+
116
+ // Misc Options
117
+ 'authors-enable' => array(
118
+ 'label' => __( 'Show authors', 'wprss' ),
119
+ 'callback' => 'wprss_setting_authors_enable_callback',
120
+ ),
121
+ 'video-links' => array(
122
+ 'label' => __( 'For video feed items use', 'wprss' ),
123
+ 'callback' => 'wprss_setting_video_links_callback'
124
+ ),
125
+ 'pagination' => array(
126
+ 'label' => __( 'Pagination type', 'wprss' ),
127
+ 'callback' => 'wprss_setting_pagination_type_callback',
128
+ ),
129
+ 'feed-limit' => array(
130
+ 'label' => __( 'Feed display limit', 'wprss' ),
131
+ 'callback' => 'wprss_setting_feed_limit_callback'
132
+ ),
133
+ 'follow-dd' => array(
134
+ 'label' => __( 'Set links as nofollow', 'wprss' ),
135
+ 'callback' => 'wprss_setting_follow_dd_callback'
136
+ ),
137
+ ),
138
+
139
+ // Source Options
140
+ 'source' => array(
141
  'source-enable' => array(
142
  'label' => __( 'Show source', 'wprss' ),
143
  'callback' => 'wprss_setting_source_enable_callback'
145
  'text-preceding-source' => array(
146
  'label' => __( 'Text preceding source', 'wprss' ),
147
  'callback' => 'wprss_setting_text_preceding_source_callback'
148
+ ),
149
  'source-link' => array(
150
  'label' => __( 'Link source', 'wprss' ),
151
  'callback' => 'wprss_setting_source_link_callback'
154
  'label' => __( 'Source link open behaviour', 'wprss' ),
155
  'callback' => 'wprss_setting_open_dd_callback'
156
  ),
157
+ ),
158
 
159
+ // Date options
160
+ 'date' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  'date-enable' => array(
162
  'label' => __( 'Show date', 'wprss' ),
163
  'callback' => 'wprss_setting_date_enable_callback'
164
  ),
165
+ 'text-preceding-date' => array(
166
+ 'label' => __( 'Text preceding date', 'wprss' ),
167
+ 'callback' => 'wprss_setting_text_preceding_date_callback'
168
+ ),
169
  'date-format' => array(
170
  'label' => __( 'Date format', 'wprss' ),
171
  'callback' => 'wprss_setting_date_format_callback'
174
  'label' => __( 'Time ago format', 'wprss' ),
175
  'callback' => 'wprss_setting_time_ago_format_enable_callback'
176
  ),
 
 
 
 
 
 
 
 
 
 
 
 
177
  ),
178
 
179
  'styles' => array(
194
  foreach( $settings as $section => $fields ) {
195
  if ( count( $fields ) > 0 ) {
196
  $section_desc = $sections[ $section ];
197
+ add_settings_section(
198
  "wprss_settings_${section}_section",
199
  $section_desc,
200
  "wprss_settings_${section}_callback",
309
 
310
  submit_button( __( 'Save Settings', 'wprss' ) );
311
 
312
+ ?>
313
  </form>
314
  </div>
315
  <?php
334
  }
335
 
336
 
337
+ /**
338
+ * Display settings for source section header
339
+ *
340
+ * @since 4.2.4
341
+ */
342
+ function wprss_settings_source_callback() {
343
+ echo '<p>' . __( 'In this section you can find the options that control how the feed items are displayed.', 'wprss' ) . '</p>';
344
+ }
345
+
346
+ /**
347
+ * Display settings for date section header
348
+ *
349
+ * @since 4.2.4
350
+ */
351
+ function wprss_settings_date_callback() {
352
+ echo '<p>' . __( 'In this section you can find the options that control how the feed items are displayed.', 'wprss' ) . '</p>';
353
+ }
354
+
355
+
356
  /**
357
  * General settings styles section header
358
  * @since 3.0
537
  }
538
 
539
 
540
+ /**
541
+ * Shows the feed item authors option
542
+ *
543
+ * @since 4.2.4
544
+ */
545
+ function wprss_setting_authors_enable_callback() {
546
+ $authors_enable = wprss_get_general_setting( 'authors_enable' );
547
+ echo "<input id='authors-enable' name='wprss_settings_general[authors_enable]' type='checkbox' value='1' " . checked( 1, $authors_enable, false ) . " />";
548
+ echo "<label class='description' for='authors-enable'>Check this box to show the author name for each feed item, if specified in the feed.</label>";
549
+ }
550
+
551
+
552
  /**
553
  * Pagination Type
554
  *
includes/admin-welcome.php CHANGED
@@ -20,6 +20,8 @@
20
  if ( isset( $_GET['tab'] ) && !empty( $_GET['tab'] ) ) {
21
  $tab = $_GET['tab'];
22
  }
 
 
23
 
24
  ?>
25
 
@@ -58,6 +60,24 @@
58
  default: ?>
59
  <div class="changelog">
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  <h2 class="about-headline-callout">New Pagination Options</h2>
62
  <div class="feature-section col two-col">
63
  <div class="col-1">
@@ -80,41 +100,7 @@
80
 
81
 
82
  <hr/>
83
-
84
-
85
- <h2 class="about-headline-callout">Feed Sources Page Visual Updated!</h2>
86
- <div class="feature-section col three-col">
87
-
88
- <div class="col-1">
89
- <img src="<?php echo WPRSS_IMG;?>welcome-page/spinning-icon.gif" />
90
- <h4>Live Updates</h4>
91
- <p>
92
- Your feed sources page now shows you new information as soon as it's available.
93
- With the new live updates, you no longer have to refresh the page to check for updates and changes.
94
- </p>
95
- </div>
96
-
97
- <div class="col-2">
98
- <img src="<?php echo WPRSS_IMG;?>welcome-page/updates.png" />
99
- <h4>More Information</h4>
100
- <p>
101
- We've renamed the <strong>Next Update</strong> column to <strong>Updates</strong>,
102
- and added to it <strong>two</strong> new fields, showing you the last time
103
- your feed source was updated, and how many items it imported.
104
- </p>
105
- </div>
106
-
107
- <div class="col-3 last-feature">
108
- <img src="<?php echo WPRSS_IMG;?>welcome-page/view-items.png" />
109
- <h4>View Items</h4>
110
- <p>
111
- The new <strong>View items</strong> row action link lets you view the feed items for that feed source
112
- alone, separate from the rest of your imported feed items. We've also cleaned up the rest of the row actions.
113
- </p>
114
- </div>
115
- </div>
116
-
117
- <hr/>
118
 
119
  <h3>Check out our add-ons:</h3>
120
 
@@ -132,12 +118,12 @@
132
 
133
  <h3>Changelog for v<?php echo WPRSS_VERSION; ?></h3>
134
  <ul>
135
- <li><strong>Enhanced:</strong> Added an option to choose between the current pagination type, and numbered pagination.</li>
136
- <li><strong>Enhanced:</strong> The Feed Preview now also shows the total number of items in the feed.</li>
137
- <li><strong>Fixed bug:</strong> A PHP warning error was being shown in the System Info.</li>
138
- <li><strong>Fixed bug:</strong> Language files were not always being referenced correctly.</li>
139
- <li><strong>Fixed bug:</strong> Manually fetching a feed fails if the feed is scheduled to update in the next 10 minutes.</li>
140
- <li><strong>Fixed bug:</strong> Bing RSS feeds were importing duplicates on every update.</li>
141
  </ul>
142
 
143
  <p>Need functionality not already available in core or the add-ons? You can <a href="http://www.wprssaggregator.com/feature-requests/">suggest new features</a>!</p>
@@ -181,7 +167,7 @@
181
 
182
  <hr/>
183
 
184
- <p><a href="<?php echo admin_url( 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings'); ?>">Go to WP RSS Aggregator settings</a></p>
185
 
186
  </div>
187
 
20
  if ( isset( $_GET['tab'] ) && !empty( $_GET['tab'] ) ) {
21
  $tab = $_GET['tab'];
22
  }
23
+
24
+ $settings_url = admin_url( 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings');
25
 
26
  ?>
27
 
60
  default: ?>
61
  <div class="changelog">
62
 
63
+ <h2 class="about-headline-callout">New Author Importing!</h2>
64
+ <div class="about-overview">
65
+ <img src="<?php echo WPRSS_IMG;?>welcome-page/authors.png" />
66
+ <h4>Author Names for Feed Items</h4>
67
+ <p>
68
+ Show the name of the author for each feed item you import!
69
+ <br/>
70
+ Perfect for giving attribution to the original author of an article.
71
+ <br/>
72
+ Head over to the
73
+ <a href="<?php echo $settings_url; ?>">settings page</a>
74
+ to enable the option and start importing authors names!
75
+ <br/>
76
+ More options soon!
77
+ </p>
78
+ </div>
79
+
80
+
81
  <h2 class="about-headline-callout">New Pagination Options</h2>
82
  <div class="feature-section col two-col">
83
  <div class="col-1">
100
 
101
 
102
  <hr/>
103
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
  <h3>Check out our add-ons:</h3>
106
 
118
 
119
  <h3>Changelog for v<?php echo WPRSS_VERSION; ?></h3>
120
  <ul>
121
+ <li><strong>New Feature:</strong> Feed items now also import authors.</li>
122
+ <li><strong>Enhanced:</strong> Custom feed is now in RSS 2.0 format.</li>
123
+ <li><strong>Enhanced:</strong> Improved the display template for feed items.</li>
124
+ <li><strong>Fixed bug:</strong> Custom feed was not working in Firefox.</li>
125
+ <li><strong>Fixed bug:</strong> Some feed items were showing items from another feed source.</li>
126
+ <li><strong>Fixed bug:</strong> The feed limit in the global settings was not working.</li>
127
  </ul>
128
 
129
  <p>Need functionality not already available in core or the add-ons? You can <a href="http://www.wprssaggregator.com/feature-requests/">suggest new features</a>!</p>
167
 
168
  <hr/>
169
 
170
+ <p><a href="<?php echo $settings_url; ?>">Go to WP RSS Aggregator settings</a></p>
171
 
172
  </div>
173
 
includes/custom-feed.php CHANGED
@@ -104,36 +104,51 @@
104
 
105
  $custom_feed_title = wprss_get_general_setting( 'custom_feed_title' );
106
 
 
 
107
  // Send content header and start ATOM output
108
- header('Content-Type: text/xml');
109
  // Disabling caching
110
  header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
111
  header('Pragma: no-cache'); // HTTP 1.0.
112
  header('Expires: 0'); // Proxies.
113
- echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?' . '>';
114
- ?>
115
- <feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" >
116
- <title type="text"><?php echo $custom_feed_title; ?></title>
117
- <?php
118
- // Start the Loop
119
- while ( have_posts() ) : the_post();
120
- $source = get_post_meta( get_the_ID(), 'wprss_feed_id', TRUE );
121
- $permalink = get_post_meta( get_the_ID(), 'wprss_item_permalink', true );
122
- ?>
123
- <entry>
124
- <title><![CDATA[<?php the_title_rss(); ?>]]></title>
125
- <link href="<?php echo $permalink; ?>" />
126
- <?php // Enable below to link to post on our site rather than original source ?>
127
- <published><?php echo get_post_time( 'Y-m-d\TH:i:s\Z' ); ?></published>
128
- <content type="html"><![CDATA[<?php the_content(); ?>]]></content>
129
- <source url="<?php echo get_post_meta( $source, 'wprss_url', TRUE ); ?>"><?php echo get_the_title( $source ); ?></source>
130
- <?php do_action( 'wprss_custom_feed_entry', get_the_ID() ); ?>
131
- </entry>
132
- <?php
133
- // End of the Loop
134
- endwhile;
135
- ?>
136
- </feed>
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  <?php
138
  }
139
 
104
 
105
  $custom_feed_title = wprss_get_general_setting( 'custom_feed_title' );
106
 
107
+ $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');
108
+ header( "$protocol 200 OK" );
109
  // Send content header and start ATOM output
110
+ header('Content-Type: application/rss+xml');
111
  // Disabling caching
112
  header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
113
  header('Pragma: no-cache'); // HTTP 1.0.
114
  header('Expires: 0'); // Proxies.
115
+ echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '"?>';
116
+ ?>
117
+
118
+ <rss version="2.0"
119
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
120
+ xmlns:wfw="http://wellformedweb.org/CommentAPI/"
121
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
122
+ xmlns:atom="http://www.w3.org/2005/Atom"
123
+ xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
124
+ xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
125
+ xmlns:media="http://search.yahoo.com/mrss/" >
126
+ <channel>
127
+ <title><?php echo $custom_feed_title; ?></title>
128
+ <description></description>
129
+ <link><?php echo get_site_url(); ?></link>
130
+ <atom:link href="<?php echo $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] ?>" rel="self" type="application/rss+xml" />
131
+ <?php // Start the Loop
132
+ while ( have_posts() ) : the_post();
133
+ $source = get_post_meta( get_the_ID(), 'wprss_feed_id', TRUE );
134
+ $permalink = get_post_meta( get_the_ID(), 'wprss_item_permalink', true );
135
+
136
+ ?>
137
+ <item>
138
+ <title><![CDATA[<?php the_title_rss(); ?>]]></title>
139
+ <link><?php echo $permalink; ?></link>
140
+ <guid isPermaLink="true"><?php echo $permalink; ?></guid>
141
+ <pubDate><?php echo get_post_time( DATE_RSS ); ?></pubDate>
142
+ <description><![CDATA[<?php the_content(); ?>]]></description>
143
+ <content:encoded><![CDATA[<?php the_content(); ?>]]></content:encoded>
144
+ <source url="<?php echo get_post_meta( $source, 'wprss_url', TRUE ); ?>"><?php echo get_the_title( $source ); ?></source>
145
+ <?php do_action( 'wprss_custom_feed_entry', get_the_ID() ); ?>
146
+ </item>
147
+ <?php
148
+ endwhile; // END OF LOOP
149
+ ?>
150
+ </channel>
151
+ </rss>
152
  <?php
153
  }
154
 
includes/feed-display.php CHANGED
@@ -12,7 +12,7 @@
12
  * @since 3.0
13
  */
14
  function wprss_get_display_settings( $settings ) {
15
-
16
  $args = wp_parse_args(
17
  $settings,
18
  array(
@@ -21,32 +21,25 @@
21
  )
22
  );
23
 
24
- $display_settings = array(
25
- 'open' => '',
26
- 'follow' => ''
27
- );
28
-
29
  switch ( $args['open_dd'] ) {
30
-
31
  case 'Lightbox' :
32
  $display_settings['open'] = 'class="colorbox"';
33
  break;
34
-
35
  case 'New window' :
36
  $display_settings['open'] = 'target="_blank"';
37
  break;
38
  }
39
 
40
- switch ( $args['follow_dd'] ) {
 
41
 
42
- case 'no_follow' :
43
- $display_settings['follow'] = 'rel="nofollow"';
44
- break;
45
-
46
- default:
47
- $display_settings['follow'] = '';
48
- break;
49
- }
50
 
51
  do_action( 'wprss_get_settings' );
52
 
@@ -160,117 +153,157 @@
160
  function wprss_default_display_template( $display_settings, $args, $feed_items ) {
161
  global $wp_query;
162
  global $paged;
 
 
163
  $old_wp_query = $wp_query;
164
  $wp_query = $feed_items;
165
 
 
166
  $general_settings = get_option( 'wprss_settings_general' );
167
  $excerpts_settings = get_option( 'wprss_settings_excerpts' );
168
  $thumbnails_settings = get_option( 'wprss_settings_thumbnails' );
169
 
 
170
  $source_link = isset( $general_settings['source_link'] )? $general_settings['source_link'] : 0;
 
171
  // Declare each item in $args as its own variable
172
  extract( $args, EXTR_SKIP );
173
 
 
174
  $output = '';
175
 
176
 
177
- if( $feed_items->have_posts() ) {
 
178
 
 
179
  $output .= "$links_before";
180
 
 
181
  while ( $feed_items->have_posts() ) {
 
182
  $feed_items->the_post();
 
183
  $permalink = get_post_meta( get_the_ID(), 'wprss_item_permalink', true );
184
  $enclosure = get_post_meta( get_the_ID(), 'wprss_item_enclosure', true );
185
  $feed_source_id = get_post_meta( get_the_ID(), 'wprss_feed_id', true );
186
  $link_enclosure = get_post_meta( $feed_source_id, 'wprss_enclosure', true );
187
  $source_name = get_the_title( $feed_source_id );
188
  $source_url = get_post_meta( $feed_source_id, 'wprss_site_url', true );
189
- // Fallback for feeds created with older versions of the plugin
190
- if ( $source_url === '' )
191
- $source_url = get_post_meta( $feed_source_id, 'wprss_url', true );
192
-
193
- do_action( 'wprss_get_post_data' );
194
-
195
  $timestamp = intval( get_post_meta( get_the_ID(), 'wprss_item_date', true ) );
196
 
 
 
197
  // convert from Unix timestamp
198
- $date = date_i18n( $general_settings['date_format'], $timestamp );
199
 
200
- // Prepare the title
201
- $feed_item_title = get_the_title();
 
202
 
203
- if ( $general_settings['title_link'] == 1 ) {
204
- $feed_item_title_link = $permalink;
205
- if ( $link_enclosure === 'true' && $enclosure !== '' ) {
206
- $feed_item_title_link = $enclosure;
207
- }
208
- $output .= "$link_before" . '<a ' . $display_settings['open'] . ' ' . $display_settings['follow'] . ' href="'. $feed_item_title_link . '">'. $feed_item_title. '</a>';
209
- }
210
- else {
211
- $output .= "$link_before" . $feed_item_title;
212
- }
213
 
214
- if ( ( $general_settings['source_enable'] == 1 ) && ( $general_settings['date_enable'] == 1 ) ) {
215
- $output .= '<div class="source-date"><span class="feed-source">' .
216
- ( !empty( $general_settings['text_preceding_source'] ) ? $general_settings['text_preceding_source'] . ' ' : '' );
217
-
218
- if ( $source_link == 1 ) {
219
- $output .= '<a href="' . $source_url . '">' . $source_name . "</a>";
220
- }
221
- else $output .= $source_name;
222
-
223
- $output .= ' | ' .
224
- ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
225
- '</span></div>';
226
- }
227
-
228
- else if ( ( $general_settings['source_enable'] == 1 ) && ( $general_settings['date_enable'] == 0 ) ) {
229
- $output .= '<div class="source-date"><span class="feed-source">' .
230
- ( !empty( $general_settings['text_preceding_source'] ) ? $general_settings['text_preceding_source'] . ' ' : '' );
231
-
232
- if ( $source_link == 1 ) {
233
- $output .= '<a href="' . $source_url . '">' . $source_name . "</a>";
234
- }
235
- else $output .= $source_name;
236
-
237
- $output .= '</span></div>';
238
- }
239
 
240
- else if ( ( $general_settings['source_enable'] == 0 ) && ( $general_settings['date_enable'] == 1 ) ) {
241
- $output .= '<div class="source-date"><span class="feed-source">' .
242
- ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
243
- '</span></div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  }
245
 
246
- if ( $general_settings['time_ago_format_enable'] == 1 ) {
247
- $output .= '<div class="time-ago">' . human_time_diff( $timestamp, time() ) . ' ago</div>';
248
- }
249
-
250
  $output = apply_filters( 'wprss_single_feed_output', $output );
251
  $output .= "$link_after";
252
 
253
  }
 
 
254
  $output .= "$links_after";
255
 
 
256
  if ( !isset( $args['pagination'] ) || !in_array( $args['pagination'], array('off','false','0',0) ) ) {
257
  $output = apply_filters( 'wprss_pagination', $output );
258
  }
259
 
 
260
  $output = apply_filters( 'feed_output', $output );
261
 
262
- echo $output;
 
263
 
264
  } else {
265
- $output = apply_filters( 'no_feed_items_found', __( 'No feed items found.', 'wprss' ) );
266
- echo $output;
267
  }
268
 
269
- $wp_query = $old_wp_query;
270
-
271
  wp_reset_postdata();
272
  }
273
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
 
275
  add_filter( 'wprss_pagination', 'wprss_pagination_links' );
276
  /**
12
  * @since 3.0
13
  */
14
  function wprss_get_display_settings( $settings ) {
15
+ // Parse the arguments together with their default values
16
  $args = wp_parse_args(
17
  $settings,
18
  array(
21
  )
22
  );
23
 
24
+ // Prepare the 'open' setting - how to open links for feed items
25
+ $open = '';
 
 
 
26
  switch ( $args['open_dd'] ) {
 
27
  case 'Lightbox' :
28
  $display_settings['open'] = 'class="colorbox"';
29
  break;
 
30
  case 'New window' :
31
  $display_settings['open'] = 'target="_blank"';
32
  break;
33
  }
34
 
35
+ // Prepare the 'follow' setting - whether links marked as nofollow or not
36
+ $follow = ( $args['follow_dd'] == 'no_follow' )? 'rel="nofollow"' : '';
37
 
38
+ // Prepare the final settings array
39
+ $display_settings = array(
40
+ 'open' => $open,
41
+ 'follow' => $follow
42
+ );
 
 
 
43
 
44
  do_action( 'wprss_get_settings' );
45
 
153
  function wprss_default_display_template( $display_settings, $args, $feed_items ) {
154
  global $wp_query;
155
  global $paged;
156
+
157
+ // Swap the current WordPress Query with our own
158
  $old_wp_query = $wp_query;
159
  $wp_query = $feed_items;
160
 
161
+ // Prepare the options
162
  $general_settings = get_option( 'wprss_settings_general' );
163
  $excerpts_settings = get_option( 'wprss_settings_excerpts' );
164
  $thumbnails_settings = get_option( 'wprss_settings_thumbnails' );
165
 
166
+ // Normalize the source_link option
167
  $source_link = isset( $general_settings['source_link'] )? $general_settings['source_link'] : 0;
168
+
169
  // Declare each item in $args as its own variable
170
  extract( $args, EXTR_SKIP );
171
 
172
+ // Prepare the output
173
  $output = '';
174
 
175
 
176
+ // Check if our current query returned any feed items
177
+ if ( $feed_items->have_posts() ) {
178
 
179
+ // PRINT LINKS BEFORE LIST OF FEED ITEMS
180
  $output .= "$links_before";
181
 
182
+ // FOR EACH ITEM
183
  while ( $feed_items->have_posts() ) {
184
+ // Prepare the item
185
  $feed_items->the_post();
186
+ // Get the item meta
187
  $permalink = get_post_meta( get_the_ID(), 'wprss_item_permalink', true );
188
  $enclosure = get_post_meta( get_the_ID(), 'wprss_item_enclosure', true );
189
  $feed_source_id = get_post_meta( get_the_ID(), 'wprss_feed_id', true );
190
  $link_enclosure = get_post_meta( $feed_source_id, 'wprss_enclosure', true );
191
  $source_name = get_the_title( $feed_source_id );
192
  $source_url = get_post_meta( $feed_source_id, 'wprss_site_url', true );
 
 
 
 
 
 
193
  $timestamp = intval( get_post_meta( get_the_ID(), 'wprss_item_date', true ) );
194
 
195
+ // Fallback for feeds created with older versions of the plugin
196
+ if ( $source_url === '' ) $source_url = get_post_meta( $feed_source_id, 'wprss_url', true );
197
  // convert from Unix timestamp
198
+ $date = date_i18n( wprss_get_general_setting('date_format'), $timestamp );
199
 
200
+ // Prepare the title
201
+ $feed_item_title = get_the_title();
202
+ $feed_item_title_link = ( $link_enclosure === 'true' && $enclosure !== '' )? $enclosure : $permalink;
203
 
204
+ // Prepare the text that precedes the source
205
+ $text_preceding_source = wprss_get_general_setting('text_preceding_source');
206
+ $text_preceding_source = ltrim( $text_preceding_source . ' ' );
 
 
 
 
 
 
 
207
 
208
+ $text_preceding_date = wprss_get_general_setting('text_preceding_date');
209
+ $text_preceding_date = ltrim( $text_preceding_date . ' ' );
210
+
211
+ do_action( 'wprss_get_post_data' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
 
213
+ ///////////////////////////////////////////////////////////////
214
+ // BEGIN TEMPLATE
215
+
216
+ // Begin output buffering
217
+ ob_start();
218
+ // Print the links before
219
+ echo $link_before;
220
+
221
+ // The Title
222
+ echo wprss_link_display( $feed_item_title_link, $feed_item_title, wprss_get_general_setting('title_link') );
223
+
224
+ // FEED ITEM META ?>
225
+ <div class='wprss-feed-meta'>
226
+
227
+ <!-- SOURCE -->
228
+ <?php if ( wprss_get_general_setting('source_enable') == 1 ) : ?>
229
+ <span class='feed-source'>
230
+ <?php echo $text_preceding_source . wprss_link_display( $source_url, $source_name, $source_link ); ?>
231
+ </span>
232
+ <?php endif; ?>
233
+
234
+ <!-- DATE -->
235
+ <?php if ( wprss_get_general_setting('date_enable') == 1 ) : ?>
236
+ <span class='feed-date'>
237
+ <?php echo $text_preceding_date . $date; ?>
238
+ </span>
239
+ <?php endif; ?>
240
+
241
+ <!-- AUTHOR -->
242
+ <?php $author = get_post_meta( get_the_ID(), 'wprss_item_author', TRUE );
243
+ if ( wprss_get_general_setting('authors_enable') == 1 && $author !== NULL && is_string( $author ) && $author !== '' ) : ?>
244
+ <span class="feed-author">
245
+ By <?php echo $author; ?>
246
+ </span>
247
+ <?php endif; ?>
248
+
249
+ </div>
250
+
251
+ <?php // TIME AGO
252
+ if ( wprss_get_general_setting('date_enable') == 1 && wprss_get_general_setting('time_ago_format_enable') == 1 ) {
253
+ $time_ago = human_time_diff( $timestamp, time() ); ?>
254
+ <div class="wprss-time-ago">
255
+ <?php echo $time_ago; ?> ago
256
+ </div>
257
+ <?php
258
  }
259
 
260
+ // END TEMPLATE - Retrieve buffered output
261
+ $output .= ob_get_clean();
 
 
262
  $output = apply_filters( 'wprss_single_feed_output', $output );
263
  $output .= "$link_after";
264
 
265
  }
266
+
267
+ // OUTPUT LINKS AFTER LIST OF FEED ITEMS
268
  $output .= "$links_after";
269
 
270
+ // Add pagination if needed
271
  if ( !isset( $args['pagination'] ) || !in_array( $args['pagination'], array('off','false','0',0) ) ) {
272
  $output = apply_filters( 'wprss_pagination', $output );
273
  }
274
 
275
+ // Filter the final output
276
  $output = apply_filters( 'feed_output', $output );
277
 
278
+ // Print the output
279
+ echo $output;
280
 
281
  } else {
282
+ // Not items found message
283
+ echo apply_filters( 'no_feed_items_found', __( 'No feed items found.', 'wprss' ) );
284
  }
285
 
286
+ // Reset the WordPress query
287
+ $wp_query = $old_wp_query;
288
  wp_reset_postdata();
289
  }
290
+
291
+
292
+ /**
293
+ * Generates an HTML link, using the saved display settings.
294
+ *
295
+ * @param string $link The link URL
296
+ * @param string $text The link text to display
297
+ * @param string $bool Optional boolean. If FALSE, the text is returned unlinked. Default: TRUE.
298
+ * @return string The generated link
299
+ * @since 4.2.4
300
+ */
301
+ function wprss_link_display( $link, $text, $bool = TRUE ) {
302
+ $display_settings = wprss_get_display_settings( get_option( 'wprss_settings_general' ) );
303
+ $a = $bool ? "<a {$display_settings['open']} {$display_settings['follow']} href='$link'>$text</a>" : $text;
304
+ return $a;
305
+ }
306
+
307
 
308
  add_filter( 'wprss_pagination', 'wprss_pagination_links' );
309
  /**
includes/feed-importing.php CHANGED
@@ -42,8 +42,17 @@
42
 
43
  // Get the feed limit from post meta
44
  $feed_limit = get_post_meta( $feed_ID, 'wprss_limit', true );
45
- // Sanitize the limit. If smaller or equal to zero, or an empty string, set to NULL.
46
- $feed_limit = ( $feed_limit <= 0 || empty( $feed_limit ) )? NULL : $feed_limit;
 
 
 
 
 
 
 
 
 
47
 
48
  // Filter the URL for validaty
49
  if ( filter_var( $feed_url, FILTER_VALIDATE_URL ) ) {
@@ -52,7 +61,7 @@
52
  // If got NULL, convert to an empty array
53
  if ( $items === NULL ) $items = array();
54
 
55
- // If the feed has its own meta limit,
56
  if ( $feed_limit !== NULL ) {
57
  // slice the items array using the feed meta limit
58
  // @todo - Check current number of feed items for source, and delete oldest to make room for new, to keep to the limit.
@@ -469,6 +478,12 @@
469
  update_post_meta( $inserted_ID, 'wprss_item_enclosure', $enclosure_url );
470
  update_post_meta( $inserted_ID, 'wprss_item_description', $item->get_description() );
471
  update_post_meta( $inserted_ID, 'wprss_item_date', $item->get_date( 'U' ) ); // Save as Unix timestamp format
 
 
 
 
 
 
472
  update_post_meta( $inserted_ID, 'wprss_feed_id', $feed_ID);
473
  do_action( 'wprss_items_create_post_meta', $inserted_ID, $item, $feed_ID );
474
  }
42
 
43
  // Get the feed limit from post meta
44
  $feed_limit = get_post_meta( $feed_ID, 'wprss_limit', true );
45
+
46
+ // If the feed has no individual limit
47
+ if ( $feed_limit === '' || intval($feed_limit) <= 0 ) {
48
+ // Get the global limit
49
+ $global_limit = wprss_get_general_setting('limit_feed_items_imported');
50
+ // If no global limit is set, mark as NULL
51
+ if ( $global_limit === '' || intval($global_limit) <= 0 ) {
52
+ $feed_limit = NULL;
53
+ }
54
+ else $feed_limit = $global_limit;
55
+ }
56
 
57
  // Filter the URL for validaty
58
  if ( filter_var( $feed_url, FILTER_VALIDATE_URL ) ) {
61
  // If got NULL, convert to an empty array
62
  if ( $items === NULL ) $items = array();
63
 
64
+ // If using a limit ...
65
  if ( $feed_limit !== NULL ) {
66
  // slice the items array using the feed meta limit
67
  // @todo - Check current number of feed items for source, and delete oldest to make room for new, to keep to the limit.
478
  update_post_meta( $inserted_ID, 'wprss_item_enclosure', $enclosure_url );
479
  update_post_meta( $inserted_ID, 'wprss_item_description', $item->get_description() );
480
  update_post_meta( $inserted_ID, 'wprss_item_date', $item->get_date( 'U' ) ); // Save as Unix timestamp format
481
+
482
+ $author = $item->get_author();
483
+ if ( $author ) {
484
+ update_post_meta( $inserted_ID, 'wprss_item_author', $author->get_name() );
485
+ }
486
+
487
  update_post_meta( $inserted_ID, 'wprss_feed_id', $feed_ID);
488
  do_action( 'wprss_items_create_post_meta', $inserted_ID, $item, $feed_ID );
489
  }
includes/feed-processing.php CHANGED
@@ -85,7 +85,7 @@
85
  array(
86
  'key' => 'wprss_feed_id',
87
  'value' => $source_id,
88
- 'compare' => 'LIKE',
89
  ),
90
  ),
91
  'suppress_filters' => 1
85
  array(
86
  'key' => 'wprss_feed_id',
87
  'value' => $source_id,
88
+ 'compare' => '=',
89
  ),
90
  ),
91
  'suppress_filters' => 1
includes/update.php CHANGED
@@ -211,7 +211,7 @@
211
  'text_preceding_date' => 'Published on',
212
 
213
  // from version 3.1
214
- 'limit_feed_items_imported' => 200,
215
 
216
  // from version 3.3
217
  'custom_feed_url' => 'wprss',
@@ -236,7 +236,10 @@
236
 
237
  // From version 4.2.3
238
  'pagination' => 'default',
239
- )
 
 
 
240
  );
241
 
242
  // Return the default settings
211
  'text_preceding_date' => 'Published on',
212
 
213
  // from version 3.1
214
+ 'limit_feed_items_imported' => 0,
215
 
216
  // from version 3.3
217
  'custom_feed_url' => 'wprss',
236
 
237
  // From version 4.2.3
238
  'pagination' => 'default',
239
+
240
+ // From 4.2.4
241
+ 'authors_enable' => 0,
242
+ )
243
  );
244
 
245
  // Return the default settings
readme.txt CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.wprssaggregator.com
5
  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
6
  Requires at least: 3.3
7
  Tested up to: 3.9.1
8
- Stable tag: 4.2.3
9
  License: GPLv2 or later
10
  Imports and aggregates multiple RSS Feeds using SimplePie. Outputs feeds sorted by date (latest first).
11
 
@@ -163,6 +163,14 @@ The full documentation section can be found on the [WP RSS Aggregator website](w
163
 
164
  == Changelog ==
165
 
 
 
 
 
 
 
 
 
166
  = 4.2.3 (2014-07-29) =
167
  * Enhanced: Added an option to choose between the current pagination type, and numbered pagination.
168
  * Enhanced: The Feed Preview now also shows the total number of items in the feed.
5
  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
6
  Requires at least: 3.3
7
  Tested up to: 3.9.1
8
+ Stable tag: 4.3
9
  License: GPLv2 or later
10
  Imports and aggregates multiple RSS Feeds using SimplePie. Outputs feeds sorted by date (latest first).
11
 
163
 
164
  == Changelog ==
165
 
166
+ = 4.3 (2014-08-04) =
167
+ * New Feature: Feed items now also import authors.
168
+ * Enhanced: Custom feed is now in RSS 2.0 format.
169
+ * Enhanced: Improved the display template for feed items.
170
+ * Fixed bug: Custom feed was not working in Firefox.
171
+ * Fixed bug: Some feed items were showing items from another feed source.
172
+ * Fixed bug: The feed limit in the global settings was not working.
173
+
174
  = 4.2.3 (2014-07-29) =
175
  * Enhanced: Added an option to choose between the current pagination type, and numbered pagination.
176
  * Enhanced: The Feed Preview now also shows the total number of items in the feed.
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.2.3
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.2.3
33
  * @since 1.0
34
  * @author Jean Galea <info@jeangalea.com>
35
  * @copyright Copyright (c) 2012-2014, 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.2.3', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )
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.3
7
  Author: Jean Galea
8
  Author URI: http://www.wprssaggregator.com
9
  License: GPLv2
29
 
30
  /**
31
  * @package WPRSSAggregator
32
+ * @version 4.3
33
  * @since 1.0
34
  * @author Jean Galea <info@jeangalea.com>
35
  * @copyright Copyright (c) 2012-2014, Jean Galea
43
 
44
  // Set the version number of the plugin.
45
  if( !defined( 'WPRSS_VERSION' ) )
46
+ define( 'WPRSS_VERSION', '4.3', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )