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 | 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 +6 -2
- includes/admin-statistics.php +148 -0
- includes/admin-welcome.php +2 -1
- includes/feed-display.php +5 -6
- readme.txt +11 -1
- wp-rss-aggregator.php +6 -3
changelog.txt
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
-
4.0.
|
2 |
-
Enhanced:
|
|
|
|
|
|
|
|
|
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>
|
|
|
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>'
|
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>'
|
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 |
-
// 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.
|
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.
|
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.
|
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.
|
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 |
|