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 | WP RSS Aggregator |
Version | 4.3 |
Comparing to | |
See all releases |
Code changes from version 4.2.3 to 4.3
- changelog.txt +8 -0
- css/admin-3.8.css +11 -0
- css/styles.css +8 -4
- images/welcome-page/authors.png +0 -0
- includes/admin-options.php +93 -44
- includes/admin-welcome.php +28 -42
- includes/custom-feed.php +40 -25
- includes/feed-display.php +109 -76
- includes/feed-importing.php +18 -3
- includes/feed-processing.php +1 -1
- includes/update.php +5 -2
- readme.txt +9 -1
- wp-rss-aggregator.php +3 -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 |
-
|
120 |
-
|
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>
|
136 |
-
<li><strong>Enhanced:</strong>
|
137 |
-
<li><strong>
|
138 |
-
<li><strong>Fixed bug:</strong>
|
139 |
-
<li><strong>Fixed bug:</strong>
|
140 |
-
<li><strong>Fixed bug:</strong>
|
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
|
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:
|
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 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
<
|
126 |
-
|
127 |
-
<
|
128 |
-
<
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
25 |
-
|
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 |
-
|
|
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
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
|
|
|
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(
|
199 |
|
200 |
-
|
201 |
-
|
|
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
|
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 |
-
|
215 |
-
|
216 |
-
|
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 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
-
|
247 |
-
|
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 |
-
|
|
|
263 |
|
264 |
} else {
|
265 |
-
|
266 |
-
echo
|
267 |
}
|
268 |
|
269 |
-
|
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 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
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' => '
|
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' =>
|
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.
|
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.
|
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.
|
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.
|
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' ) )
|