WP RSS Aggregator - Version 4.0.9

Version Description

(2014-03-27) = * Enhanced: Added a filter to modify the feeds template. * Fixed bug: Nested lists in feeds template.

Download this release

Release Info

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

Code changes from version 4.0.8 to 4.0.9

changelog.txt CHANGED
@@ -1,5 +1,9 @@
1
- 4.0.8 (2014-03-20)
2
- Enhanced: Fetch feeds row action now registers a cron job.
 
 
 
 
3
  Enhanced: Increased fetch feed timeout to 30 seconds.
4
  Fixed bug: Using the shortcode makes the comments section always open.
5
 
1
+ 4.0.9 (2014-03-27)
2
+ Enhanced: Added a filter to modify the feeds template.
3
+ Fixed bug: Nested lists in feeds template.
4
+
5
+ 4.0.8 (2014-03-20)
6
+ Enhanced: Fetch feeds row action now registers a cron job.
7
  Enhanced: Increased fetch feed timeout to 30 seconds.
8
  Fixed bug: Using the shortcode makes the comments section always open.
9
 
includes/admin-statistics.php ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( !defined( 'WPRSS_TRACKING_SERVER_URL' ) )
4
+ define( 'WPRSS_TRACKING_SERVER_URL', 'http://www.wprssaggregator.com/', TRUE );
5
+
6
+ if ( !defined( 'WPRSS_TRACKING_INTEVAL' ) )
7
+ define( 'WPRSS_TRACKING_INTEVAL', 'daily', TRUE );
8
+
9
+
10
+ add_action( 'admin_init', 'wprss_send_tracking_data' );
11
+ function wprss_send_tracking_data() {
12
+
13
+ // Get the tracking transient.
14
+ $transient = get_transient( 'wprss_tracking_transient' );
15
+ // If the transient did not expire, exit out of function
16
+ if ( $transient !== FALSE && !isset( $_GET['wprss_send_report'] ) ) return;
17
+ // If the GET parameter is set, show an admin notice
18
+ if ( isset( $_GET['wprss_send_report'] ) ) {
19
+ add_action( 'admin_notices', 'wprss_tracking_notice' );
20
+ }
21
+
22
+ // Check if running on localhost
23
+ $site_url = site_url();
24
+ $running_on_local = preg_match_all( "/(localhost|127\.0\.0\.1)/", $site_url, $matches ) > 0;
25
+ if( $running_on_local ) {
26
+ return;
27
+ }
28
+
29
+ // Get data about the plugin
30
+ $plugin_data = get_plugin_data( WPRSS_FILE_CONSTANT );
31
+
32
+ // Get the theme name
33
+ if ( function_exists( 'wp_get_theme' ) ) {
34
+ $theme_data = wp_get_theme();
35
+ $theme_name = $theme_data->Name;
36
+ } else {
37
+ $theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
38
+ $theme_name = $theme_data['Name'];
39
+ }
40
+
41
+ // Get plugins
42
+ $plugins = get_plugins();
43
+ $active_plugins_option = get_option( 'active_plugins', array() );
44
+ // Prepare plugin arrays
45
+ $active_plugins = array();
46
+ $inactive_plugins = array();
47
+ // Loop through plugins
48
+ foreach ( $plugins as $plugins_path => $plugin_info ) {
49
+ // If plugin found in active plugins list, then add to the active_plugins array
50
+ if ( in_array( $plugins_path, $active_plugins_option ) ) {
51
+ $add_to = &$active_plugins;
52
+ }
53
+ // Otherwise add to inactive_plugins array
54
+ else {
55
+ $add_to = &$inactive_plugins;
56
+ }
57
+ // Add the plugin info to the chosen array
58
+ $add_to[] = $plugin_info['Name'] . ' v' . $plugin_info['Version'];
59
+ }
60
+
61
+ // If multisite
62
+ if ( is_multisite() ) {
63
+ // Get network plugins
64
+ $network_plugins = wp_get_active_network_plugins();
65
+ $network_active_plugins_option = get_site_option( 'active_sitewide_plugins', array() );
66
+ // Prepare plugin array
67
+ $network_active_plugins = array();
68
+ // Loop through plugins
69
+ foreach ( $network_plugins as $plugin_path ) {
70
+ // Get plugin basename
71
+ $plugin_base = plugin_basename( $plugin_path );
72
+ // If the plugin basename is found in the active network plugin list
73
+ if ( array_key_exists( $plugin_base, $network_active_plugins_option ) ) {
74
+ // Get the plugin info and add it to the plugin list
75
+ $plugin_info = get_plugin_data( $plugin_path );
76
+ $network_active_plugins[] = $plugin_info['Name'] . ' v' . $plugin_info['Version'];
77
+ }
78
+ }
79
+ } else {
80
+ // Otherwise, indicate that the site is not a multisite installation
81
+ $network_active_plugins = 'Not multisite';
82
+ }
83
+
84
+
85
+ // Detect add-ons
86
+ $addons = array();
87
+ if ( defined( 'WPRSS_C_VERSION' ) ) {
88
+ $addons[] = 'Categories';
89
+ }
90
+ if ( defined( 'WPRSS_ET_VERSION' ) ) {
91
+ $addons[] = 'Excerpts & Thumbnails';
92
+ }
93
+ if ( defined( 'WPRSS_KF_VERSION' ) ) {
94
+ $addons[] = 'Keyword Filtering';
95
+ }
96
+ if ( defined( 'WPRSS_FTP_VERSION' ) ) {
97
+ $addons[] = 'Feed to Post';
98
+ }
99
+
100
+ // Compile the data
101
+ $data = array(
102
+ 'Site URL' => base64_encode( $site_url ),
103
+ 'Plugin Version' => $plugin_data['Version'],
104
+ 'Active Add-ons' => $addons,
105
+ 'Theme Name' => $theme_name,
106
+ 'Site Name' => str_replace( ' ', '', get_bloginfo( 'name' ) ),
107
+ 'Plugin Count' => count( get_option( 'active_plugins' ) ),
108
+ 'Active Plugins' => $active_plugins,
109
+ 'Network Active Plugins' => $network_active_plugins,
110
+ 'Inactive Plugins' => $inactive_plugins,
111
+ 'WordPress Version' => get_bloginfo( 'version' ),
112
+ );
113
+
114
+ // Send the data
115
+ wp_remote_post(
116
+ WPRSS_TRACKING_SERVER_URL,
117
+ array(
118
+ 'method' => 'POST',
119
+ 'timeout' => 45,
120
+ 'redirection' => 5,
121
+ 'httpversion' => '1.0',
122
+ 'blocking' => true,
123
+ 'headers' => array(),
124
+ 'body' => array(
125
+ 'wprss_tracking_data' => $data,
126
+ ),
127
+ 'cookies' => array()
128
+ )
129
+ );
130
+
131
+ // Set a transient that expires in 1 day. When it expires, this function will run agai
132
+ // Expiration: 60secs * 60mins * 24hrs = 1 day
133
+ set_transient( 'wprss_tracking_transient', '-', 60 * 60 * 24 );
134
+ }
135
+
136
+
137
+ /**
138
+ * Shows a notice that notifies the user that the data report has been sent.
139
+ *
140
+ * @since 1.0
141
+ */
142
+ function wprss_tracking_notice() {
143
+ ?>
144
+ <div class="updated">
145
+ <p><b>WP RSS Aggregator:</b> Data report sent!</p>
146
+ </div>
147
+ <?php
148
+ }
includes/admin-welcome.php CHANGED
@@ -74,7 +74,8 @@
74
 
75
  <h3>Changelog for v<?php echo WPRSS_VERSION; ?></h3>
76
  <ul>
77
- <li><strong>Fixed bug:</strong> Using the shortcode makes the comments section always open.</li>
 
78
  </ul>
79
 
80
 
74
 
75
  <h3>Changelog for v<?php echo WPRSS_VERSION; ?></h3>
76
  <ul>
77
+ <li><strong>Enhanced: </strong>Added a filter to modify the feeds template.</li>
78
+ <li><strong>Fixed bug: </strong>Nested lists in feeds template.</li>
79
  </ul>
80
 
81
 
includes/feed-display.php CHANGED
@@ -206,7 +206,7 @@
206
 
207
  $output .= ' | ' .
208
  ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
209
- '</span></div>' . "$link_after";
210
  }
211
 
212
  else if ( ( $general_settings['source_enable'] == 1 ) && ( $general_settings['date_enable'] == 0 ) ) {
@@ -218,22 +218,21 @@
218
  }
219
  else $output .= $source_name;
220
 
221
- $output .= '</span></div>' . "$link_after";
222
  }
223
 
224
  else if ( ( $general_settings['source_enable'] == 0 ) && ( $general_settings['date_enable'] == 1 ) ) {
225
  $output .= '<div class="source-date"><span class="feed-source">' .
226
  ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
227
- '</span></div>' . "$link_after";
228
  }
229
 
230
- // No source, no date
231
- else { $output .= "$link_after"; }
232
-
233
  if ( $general_settings['time_ago_format_enable'] == 1 ) {
234
  $output .= '<div class="time-ago">' . human_time_diff( $timestamp, time() ) . ' ago</div>';
235
  }
236
 
 
 
237
 
238
  }
239
  $output .= "$links_after";
206
 
207
  $output .= ' | ' .
208
  ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
209
+ '</span></div>';
210
  }
211
 
212
  else if ( ( $general_settings['source_enable'] == 1 ) && ( $general_settings['date_enable'] == 0 ) ) {
218
  }
219
  else $output .= $source_name;
220
 
221
+ $output .= '</span></div>';
222
  }
223
 
224
  else if ( ( $general_settings['source_enable'] == 0 ) && ( $general_settings['date_enable'] == 1 ) ) {
225
  $output .= '<div class="source-date"><span class="feed-source">' .
226
  ( !empty( $general_settings['text_preceding_date'] ) ? $general_settings['text_preceding_date'] . ' ' : '' ) . $date .
227
+ '</span></div>';
228
  }
229
 
 
 
 
230
  if ( $general_settings['time_ago_format_enable'] == 1 ) {
231
  $output .= '<div class="time-ago">' . human_time_diff( $timestamp, time() ) . ' ago</div>';
232
  }
233
 
234
+ $output = apply_filters( 'wprss_single_feed_output', $output );
235
+ $output .= "$link_after";
236
 
237
  }
238
  $output .= "$links_after";
readme.txt CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.wprssaggregator.com
5
  Tags: rss, feeds, aggregation, 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.8.1
8
- Stable tag: 4.0.8
9
  License: GPLv2 or later
10
  Imports and aggregates multiple RSS Feeds using SimplePie. Outputs feeds sorted by date (latest first).
11
 
@@ -71,7 +71,9 @@ WP RSS Aggregator uses the SimplePie class to import and handle feeds, and store
71
  Italian - Davide De Maestri
72
 
73
  = Reviewed On =
 
74
  * [Kikolani](http://kikolani.com/create-latest-posts-portfolio-page-wp-rss-aggregator.html)
 
75
  * [IndexWP](www.indexwp.com/wp-rss-aggregator-plugin-review/)
76
  * [WPulsar](http://www.wpulsar.com/wp-rss-aggregator-plugin-feed-to-posts-keyword-filtering-review/)
77
  * [Kevin Muldoon](http://www.kevinmuldoon.com/wp-rss-aggregator-wordpress-plugin/)
@@ -134,6 +136,10 @@ You can do that with the [Feed to Post](http://www.wprssaggregator.com/extension
134
 
135
  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.
136
 
 
 
 
 
137
 
138
  == Screenshots ==
139
 
@@ -150,6 +156,10 @@ Yes, within the [Feed to Post](http://www.wprssaggregator.com/extensions/feed-to
150
 
151
  == Changelog ==
152
 
 
 
 
 
153
  = 4.0.8 (2014-03-20) =
154
  * Fixed bug: Using the shortcode makes the comments section always open.
155
 
5
  Tags: rss, feeds, aggregation, 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.8.1
8
+ Stable tag: 4.0.9
9
  License: GPLv2 or later
10
  Imports and aggregates multiple RSS Feeds using SimplePie. Outputs feeds sorted by date (latest first).
11
 
71
  Italian - Davide De Maestri
72
 
73
  = Reviewed On =
74
+ * [WP Kube](http://www.wpkube.com/wp-rss-aggregator-wordpress-review/)
75
  * [Kikolani](http://kikolani.com/create-latest-posts-portfolio-page-wp-rss-aggregator.html)
76
+ * [WP Eka](www.wpeka.com/wp-rss-aggregators-plugin.html)
77
  * [IndexWP](www.indexwp.com/wp-rss-aggregator-plugin-review/)
78
  * [WPulsar](http://www.wpulsar.com/wp-rss-aggregator-plugin-feed-to-posts-keyword-filtering-review/)
79
  * [Kevin Muldoon](http://www.kevinmuldoon.com/wp-rss-aggregator-wordpress-plugin/)
136
 
137
  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.
138
 
139
+ = Where can I find the documentation for the plugin? =
140
+
141
+ The full documentation section can be found on the [WP RSS Aggregator website](www.wprssaggregator.com/documentation/), the documentation also includes an extensive FAQ list.
142
+
143
 
144
  == Screenshots ==
145
 
156
 
157
  == Changelog ==
158
 
159
+ = 4.0.9 (2014-03-27) =
160
+ * Enhanced: Added a filter to modify the feeds template.
161
+ * Fixed bug: Nested lists in feeds template.
162
+
163
  = 4.0.8 (2014-03-20) =
164
  * Fixed bug: Using the shortcode makes the comments section always open.
165
 
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.0.8
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.0.8
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.0.8', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )
@@ -170,6 +170,9 @@
170
  /* Load the admin editor file */
171
  require_once ( WPRSS_INC . 'admin-editor.php' );
172
 
 
 
 
173
  // Load the logging functions file
174
  require_once ( WPRSS_INC . 'admin-log.php' );
175
 
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.0.9
7
  Author: Jean Galea
8
  Author URI: http://www.wprssaggregator.com
9
  License: GPLv2
29
 
30
  /**
31
  * @package WPRSSAggregator
32
+ * @version 4.0.9
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.0.9', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )
170
  /* Load the admin editor file */
171
  require_once ( WPRSS_INC . 'admin-editor.php' );
172
 
173
+ // Load the statistics functions file
174
+ require_once ( WPRSS_INC . 'admin-statistics.php' );
175
+
176
  // Load the logging functions file
177
  require_once ( WPRSS_INC . 'admin-log.php' );
178