WP RSS Aggregator - Version 4.6.1

Version Description

(2014-10-06) = * Enhanced: Improved internationalization in the plugin, for better translations. * Fixed bug: If the feed source age limit was left empty, the global setting was used instead of ignoring the limit.

Download this release

Release Info

Developer Mekku
Plugin Icon 128x128 WP RSS Aggregator
Version 4.6.1
Comparing to
See all releases

Code changes from version 4.6 to 4.6.1

changelog.txt CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  4.6 (2014-09-22)
2
  Enhanced: Improved the user interface, with better responsiveness and tooltips.
3
  Enhanced: Removes the ID column. The ID is now shown fixed in row actions.
1
+ 4.6.1 (2014-10-06)
2
+ Enhanced: Improved internationalization in the plugin, for better translations.
3
+ Fixed bug: If the feed source age limit was left empty, the global setting was used instead of ignoring the limit.
4
+
5
  4.6 (2014-09-22)
6
  Enhanced: Improved the user interface, with better responsiveness and tooltips.
7
  Enhanced: Removes the ID column. The ID is now shown fixed in row actions.
includes/OPML.php CHANGED
@@ -39,7 +39,7 @@ class WPRSS_OPML {
39
 
40
  } catch (Exception $e) {
41
  // If an exception is caught. Throw an error message
42
- throw new Exception( __( 'An error occured: The file might not be a valid OPML file or is corrrupt. ', 'wprss' ), 1);
43
  }
44
  }
45
 
39
 
40
  } catch (Exception $e) {
41
  // If an exception is caught. Throw an error message
42
+ throw new Exception( __( 'An error occured: The file might not be a valid OPML file or is corrrupt. ', WPRSS_TEXT_DOMAIN ), 1);
43
  }
44
  }
45
 
includes/admin-addons.php CHANGED
@@ -10,36 +10,43 @@
10
 
11
  $premium = array();
12
  $premium[] = array(
13
- 'title' => __( "Excerpts & Thumbnails", 'wprss' ),
14
- 'description' => __( "Adds the ability to display thumbnails and excerpts. Perfect for adding some life and color to your feed item display. For more flexibility Feed to Post is a better option.", 'wprss' ),
15
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
16
  'active' => is_plugin_active( 'wp-rss-excerpts-thumbnails/wp-rss-excerpts-thumbnails.php' ),
17
  'url' => 'http://www.wprssaggregator.com/extensions/excerpts-thumbnails/'
18
  );
19
  $premium[] = array(
20
- 'title' => __( "Categories", 'wprss' ),
21
- 'description' => __( "Assign categories to your feed sources. Then display a particular category or multiple categories on a post or page via shortcodes.", 'wprss' ),
22
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
23
  'active' => is_plugin_active( 'wp-rss-categories/wp-rss-categories.php' ),
24
  'url' => 'http://www.wprssaggregator.com/extensions/categories/'
25
  );
26
  $premium[] = array(
27
- 'title' => __( "Keyword Filtering", 'wprss' ),
28
- 'description' => __( "Import feeds that contain specific keywords in either the title or their content. Control what gets imported to your blog. You can use keywords, keyphrases and categories.", 'wprss' ),
29
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
30
  'active' => is_plugin_active( 'wp-rss-keyword-filtering/wp-rss-keyword-filtering.php' ),
31
  'url' => 'http://www.wprssaggregator.com/extensions/keyword-filtering/'
32
  );
33
  $premium[] = array(
34
- 'title' => __( "Feed to Post", 'wprss' ),
35
- 'description' => __( "Allows you to import feed items into posts or any other custom post type that you have created. Takes WP RSS Aggregator to a whole new level of flexibility.", 'wprss' ),
36
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
37
  'active' => is_plugin_active( 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' ),
38
  'url' => 'http://www.wprssaggregator.com/extensions/feed-to-post/'
39
  );
40
  $premium[] = array(
41
- 'title' => __( "WordAi", 'wprss' ),
42
- 'description' => __( "Allows you to spin the content for posts imported by Feed to Post using WordAi. Cleverly rewrite your posts without changing their meaning and maintaining human readability.", 'wprss' ),
 
 
 
 
 
 
 
43
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
44
  'active' => is_plugin_active( 'wp-rss-wordai/wp-rss-wordai.php' ),
45
  'url' => 'http://www.wprssaggregator.com/extension/wordai/'
@@ -49,9 +56,9 @@
49
  <div class="wrap">
50
  <?php screen_icon( 'wprss-aggregator' ); ?>
51
 
52
- <h2><?php _e( 'Add-Ons', 'wprss' ); ?></h2>
53
- <p><?php _e( "The following Add-ons are available to increase the functionality of the WP RSS Aggregator plugin.", 'wprss' ); ?><br />
54
- <?php _e( "Each Add-on can be installed as a separate plugin. Note that activating the Feed to Post plugin will deactivate the Categories and Excerpts & Thumbnails add-ons.", 'wprss' ); ?></p>
55
 
56
  <div id="add-ons" class="clearfix">
57
 
@@ -67,9 +74,9 @@
67
  </div>
68
  <div class="footer">
69
  <?php if( $addon['active'] ): ?>
70
- <a class="button button-disabled"><span class="wprss-sprite-tick"></span><?php _e( "Installed", 'wprss' ); ?></a>
71
  <?php else: ?>
72
- <a target="_blank" href="<?php echo $addon['url']; ?>" class="button"><?php _e( "Purchase & Install", 'wprss' ); ?></a>
73
  <?php endif; ?>
74
  </div>
75
  </div>
10
 
11
  $premium = array();
12
  $premium[] = array(
13
+ 'title' => __( "Excerpts & Thumbnails", WPRSS_TEXT_DOMAIN ),
14
+ 'description' => __( "Adds the ability to display thumbnails and excerpts. Perfect for adding some life and color to your feed item display. For more flexibility Feed to Post is a better option.", WPRSS_TEXT_DOMAIN ),
15
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
16
  'active' => is_plugin_active( 'wp-rss-excerpts-thumbnails/wp-rss-excerpts-thumbnails.php' ),
17
  'url' => 'http://www.wprssaggregator.com/extensions/excerpts-thumbnails/'
18
  );
19
  $premium[] = array(
20
+ 'title' => __( "Categories", WPRSS_TEXT_DOMAIN ),
21
+ 'description' => __( "Assign categories to your feed sources. Then display a particular category or multiple categories on a post or page via shortcodes.", WPRSS_TEXT_DOMAIN ),
22
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
23
  'active' => is_plugin_active( 'wp-rss-categories/wp-rss-categories.php' ),
24
  'url' => 'http://www.wprssaggregator.com/extensions/categories/'
25
  );
26
  $premium[] = array(
27
+ 'title' => __( "Keyword Filtering", WPRSS_TEXT_DOMAIN ),
28
+ 'description' => __( "Import feeds that contain specific keywords in either the title or their content. Control what gets imported to your blog. You can use keywords, keyphrases and categories.", WPRSS_TEXT_DOMAIN ),
29
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
30
  'active' => is_plugin_active( 'wp-rss-keyword-filtering/wp-rss-keyword-filtering.php' ),
31
  'url' => 'http://www.wprssaggregator.com/extensions/keyword-filtering/'
32
  );
33
  $premium[] = array(
34
+ 'title' => __( "Feed to Post", WPRSS_TEXT_DOMAIN ),
35
+ 'description' => __( "Allows you to import feed items into posts or any other custom post type that you have created. Takes WP RSS Aggregator to a whole new level of flexibility.", WPRSS_TEXT_DOMAIN ),
36
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
37
  'active' => is_plugin_active( 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' ),
38
  'url' => 'http://www.wprssaggregator.com/extensions/feed-to-post/'
39
  );
40
  $premium[] = array(
41
+ 'title' => __( "Full Text RSS Feeds", WPRSS_TEXT_DOMAIN ),
42
+ 'description' => __( "This add-ons provides the connectivity to our Full Text Premium service, which gives you unlimited feed items returned per feed source.", WPRSS_TEXT_DOMAIN ),
43
+ 'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
44
+ 'active' => is_plugin_active( 'wp-rss-full-text-feeds/wp-rss-full-text.php' ),
45
+ 'url' => 'http://www.wprssaggregator.com/extension/full-text-rss-feeds/'
46
+ );
47
+ $premium[] = array(
48
+ 'title' => __( "WordAi", WPRSS_TEXT_DOMAIN ),
49
+ 'description' => __( "Allows you to spin the content for posts imported by Feed to Post using WordAi. Cleverly rewrite your posts without changing their meaning and maintaining human readability.", WPRSS_TEXT_DOMAIN ),
50
  'thumbnail' => WPRSS_IMG .'add-ons/wprss.jpg',
51
  'active' => is_plugin_active( 'wp-rss-wordai/wp-rss-wordai.php' ),
52
  'url' => 'http://www.wprssaggregator.com/extension/wordai/'
56
  <div class="wrap">
57
  <?php screen_icon( 'wprss-aggregator' ); ?>
58
 
59
+ <h2><?php _e( 'Add-Ons', WPRSS_TEXT_DOMAIN ); ?></h2>
60
+ <p><?php _e( "The following Add-ons are available to increase the functionality of the WP RSS Aggregator plugin.", WPRSS_TEXT_DOMAIN ); ?><br />
61
+ <?php _e( "Each Add-on can be installed as a separate plugin. Note that activating the Feed to Post plugin will deactivate the Categories and Excerpts & Thumbnails add-ons.", WPRSS_TEXT_DOMAIN ); ?></p>
62
 
63
  <div id="add-ons" class="clearfix">
64
 
74
  </div>
75
  <div class="footer">
76
  <?php if( $addon['active'] ): ?>
77
+ <a class="button button-disabled"><span class="wprss-sprite-tick"></span><?php _e( "Installed", WPRSS_TEXT_DOMAIN ); ?></a>
78
  <?php else: ?>
79
+ <a target="_blank" href="<?php echo $addon['url']; ?>" class="button"><?php _e( "Purchase & Install", WPRSS_TEXT_DOMAIN ); ?></a>
80
  <?php endif; ?>
81
  </div>
82
  </div>
includes/admin-ajax-notice.php CHANGED
@@ -10,46 +10,33 @@
10
  *
11
  */
12
 
13
-
14
- add_action( 'admin_init', 'wprss_admin_notice' );
15
  /**
16
- * Serves up a notice to leave a review for this plugin
17
  *
18
  * @since 3.0
19
- */
20
- function wprss_admin_notice() {
21
  global $pagenow, $typenow;
22
  if ( empty( $typenow ) && !empty( $_GET['post'] ) ) {
23
  $post = get_post( $_GET['post'] );
24
  if ( $post !== NULL && !is_wp_error( $post ) )
25
  $typenow = $post->post_type;
26
  }
27
- $notices_settings = get_option( 'wprss_settings_notices' );
28
-
29
- // Display the admin notice only if it hasn't been hidden and we are on a screen of WP RSS Aggregator
30
- if ( ( false == $notices_settings ) && ( ( $typenow == 'wprss_feed' ) || ( $typenow == 'wprss_feed_item' ) ) ) {
31
- add_action( 'admin_notices', 'wprss_display_admin_notice' );
32
- }
33
-
34
- }
35
-
36
-
37
- /**
38
- * Renders the administration notice. Also renders a hidden nonce used for security when processing the Ajax request.
39
- *
40
- * @since 3.0
41
- */
42
- function wprss_display_admin_notice() {
43
-
44
- $html = '<div id="ajax-notification" class="updated">';
45
- $html .= '<p>';
46
- $html .= __( 'Did you know that you can get more RSS features? Excerpts, thumbnails, keyword filtering, importing into posts and more... Check out the <a target="_blank" href="http://www.wprssaggregator.com/extensions"><strong>extensions</strong></a> page.
47
- <a href="javascript:;" id="dismiss-ajax-notification" style="float:right;">Dismiss this notification</a>', 'wprss' );
48
- $html .= '</p>';
49
- $html .= '<span id="ajax-notification-nonce" class="hidden">' . wp_create_nonce( 'ajax-notification-nonce' ) . '</span>';
50
- $html .= '</div><!-- /.updated -->';
51
-
52
- echo $html;
53
  }
54
 
55
 
10
  *
11
  */
12
 
13
+ add_action( 'admin_notices', 'wprss_display_admin_notice' );
 
14
  /**
15
+ * Renders the administration notice. Also renders a hidden nonce used for security when processing the Ajax request.
16
  *
17
  * @since 3.0
18
+ */
19
+ function wprss_display_admin_notice() {
20
  global $pagenow, $typenow;
21
  if ( empty( $typenow ) && !empty( $_GET['post'] ) ) {
22
  $post = get_post( $_GET['post'] );
23
  if ( $post !== NULL && !is_wp_error( $post ) )
24
  $typenow = $post->post_type;
25
  }
26
+ $notices_settings = get_option( 'wprss_settings_notices' );
27
+
28
+ if ( ( false == $notices_settings ) && ( ( $typenow == 'wprss_feed' ) || ( $typenow == 'wprss_feed_item' ) ) ) {
29
+ $html = '<div id="ajax-notification" class="updated">';
30
+ $html .= '<p>';
31
+ $html .= __( 'Did you know that you can get more RSS features? Excerpts, thumbnails, keyword filtering, importing into posts and more... ', WPRSS_TEXT_DOMAIN );
32
+ $html .= __( 'Check out the', WPRSS_TEXT_DOMAIN ) . ' <a target="_blank" href="http://www.wprssaggregator.com/extensions"><strong>' . __( 'extensions', 'WPRSS_TEXT_DOMAIN' ) . '</strong></a> ' . __( 'page.', WPRSS_TEXT_DOMAIN );
33
+ $html .= '<a href="javascript:;" id="dismiss-ajax-notification" style="float:right;">' . __( 'Dismiss this notification', WPRSS_TEXT_DOMAIN ) . '</a>';
34
+ $html .= '</p>';
35
+ $html .= '<span id="ajax-notification-nonce" class="hidden">' . wp_create_nonce( 'ajax-notification-nonce' ) . '</span>';
36
+ $html .= '</div>';
37
+
38
+ echo $html;
39
+ }
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
41
 
42
 
includes/admin-dashboard.php CHANGED
@@ -22,8 +22,8 @@
22
  function wprss_admin_menu() {
23
  // Welcome Page
24
  add_dashboard_page(
25
- __( 'Welcome to WP RSS Aggregator', 'wprss' ),
26
- __( 'Welcome to WP RSS Aggregator', 'wprss' ),
27
  'manage_options',
28
  'wprss-welcome',
29
  'wprss_show_welcome_screen'
22
  function wprss_admin_menu() {
23
  // Welcome Page
24
  add_dashboard_page(
25
+ __( 'Welcome to WP RSS Aggregator', WPRSS_TEXT_DOMAIN ),
26
+ __( 'Welcome to WP RSS Aggregator', WPRSS_TEXT_DOMAIN ),
27
  'manage_options',
28
  'wprss-welcome',
29
  'wprss_show_welcome_screen'
includes/admin-debugging.php CHANGED
@@ -100,16 +100,16 @@
100
  */
101
  function wprss_debug_update_feeds() {
102
  ?>
103
- <h3><?php _e( 'Update All Feeds Now', 'wprss' ); ?></h3>
104
- <p><?php _e( 'Click the blue button to update all active feed items now. This will check all feed sources for any new feed items.', 'wprss' ); ?>
105
- <br><?php _e( 'Existing feed items will not be modified.', 'wprss' ); ?>
106
  </p>
107
- <p><?php _e( '<strong>Note:</strong> This might take more than a few seconds if you have many feed sources.', 'wprss' ); ?></p>
108
 
109
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
110
 
111
  <?php wp_nonce_field( 'wprss-update-feed-items' );
112
- submit_button( __( 'Update all feeds', 'wprss' ), 'primary', 'update-feeds', true ); ?>
113
 
114
  </form>
115
  <?php
@@ -123,14 +123,14 @@
123
  */
124
  function wprss_debug_reimport_feeds() {
125
  ?>
126
- <h3><?php _e( 'Delete and Re-import Feeds', 'wprss' ); ?></h3>
127
- <p><?php _e( 'Click the red button to delete all imported feed items and re-import them.', 'wprss' ); ?></p>
128
- <p><?php _e( '<em><strong>Note:</strong> This is a server-intensive process and should only be used when instructed to by support staff.</em>', 'wprss' ); ?></p>
129
 
130
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
131
 
132
  <?php wp_nonce_field( 'wprss-delete-import-feed-items' );
133
- submit_button( __( 'Delete and Re-import all feeds', 'wprss' ), 'button-red', 'reimport-feeds', true ); ?>
134
 
135
  </form>
136
  <?php
@@ -144,14 +144,14 @@
144
  */
145
  function wprss_debug_restore_settings() {
146
  ?>
147
- <h3><?php _e( 'Restore Default Settings', 'wprss' ); ?></h3>
148
- <p><?php _e( 'Click the red button to reset the plugin settings to default.', 'wprss' ); ?></p>
149
- <p><?php _e( '<em><strong>Note:</strong> This cannot be undone. Once the settings have been reset, your old settings cannot be restored.</em>', 'wprss' ); ?></p>
150
 
151
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
152
 
153
  <?php wp_nonce_field( 'wprss-restore-settings' );
154
- submit_button( __( 'Restore Default Settings', 'wprss' ), 'button-red', 'restore-settings', true ); ?>
155
 
156
  </form>
157
  <?php
@@ -165,13 +165,13 @@
165
  */
166
  function wprss_debug_clear_log_button() {
167
  ?>
168
- <h3><?php _e( 'Error Log', 'wprss' ); ?></h3>
169
 
170
  <textarea readonly="readonly" id="wprss-error-log-textarea"><?php echo wprss_get_log(); ?></textarea>
171
 
172
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="POST">
173
  <?php wp_nonce_field( 'wprss-clear-error-log' );
174
- submit_button( __( 'Clear log', 'wprss' ), 'button-primary', 'error-log', true ); ?>
175
  </form>
176
 
177
  <?php
@@ -199,7 +199,7 @@
199
  <div class="wrap">
200
  <?php screen_icon( 'wprss-aggregator' ); ?>
201
 
202
- <h2><?php _e( 'Debugging', 'wprss' ); ?></h2>
203
  <?php
204
  if ( isset( $_GET['debug_message'] )) {//&& ( check_admin_referer( 'wprss-delete-import-feed-items' ) || check_admin_referer( 'wprss-update-feed-items' ) ) ) {
205
  $message = $_GET['debug_message'];
@@ -248,8 +248,8 @@
248
  *
249
  * @since 3.0
250
  */
251
- function wprss_debugging_admin_notice_update_feeds() {
252
- echo '<div class="updated"><p>Feeds are being updated in the background.</p></div>';
253
  }
254
 
255
  /**
@@ -257,8 +257,8 @@
257
  *
258
  * @since 3.0
259
  */
260
- function wprss_debugging_admin_notice_reimport_feeds() {
261
- echo '<div class="updated"><p>Feeds deleted and are being re-imported in the background.</p></div>';
262
  }
263
 
264
 
@@ -267,8 +267,8 @@
267
  *
268
  * @since 3.9.6
269
  */
270
- function wprss_debugging_admin_notice_clear_log() {
271
- echo '<div class="updated"><p>The error log has been cleared.</p></div>';
272
  }
273
 
274
 
@@ -277,8 +277,8 @@
277
  *
278
  * @since 4.4
279
  */
280
- function wprss_debugging_admin_notice_reset_settings() {
281
- echo '<div class="updated"><p>The plugin settings have been reset to default.</p></div>';
282
  }
283
 
284
 
100
  */
101
  function wprss_debug_update_feeds() {
102
  ?>
103
+ <h3><?php _e( 'Update All Feeds Now', WPRSS_TEXT_DOMAIN ); ?></h3>
104
+ <p><?php _e( 'Click the blue button to update all active feed items now. This will check all feed sources for any new feed items.', WPRSS_TEXT_DOMAIN ); ?>
105
+ <br><?php _e( 'Existing feed items will not be modified.', WPRSS_TEXT_DOMAIN ); ?>
106
  </p>
107
+ <p><?php _e( '<strong>Note:</strong> This might take more than a few seconds if you have many feed sources.', WPRSS_TEXT_DOMAIN ); ?></p>
108
 
109
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
110
 
111
  <?php wp_nonce_field( 'wprss-update-feed-items' );
112
+ submit_button( __( 'Update all feeds', WPRSS_TEXT_DOMAIN ), 'primary', 'update-feeds', true ); ?>
113
 
114
  </form>
115
  <?php
123
  */
124
  function wprss_debug_reimport_feeds() {
125
  ?>
126
+ <h3><?php _e( 'Delete and Re-import Feeds', WPRSS_TEXT_DOMAIN ); ?></h3>
127
+ <p><?php _e( 'Click the red button to delete all imported feed items and re-import them.', WPRSS_TEXT_DOMAIN ); ?></p>
128
+ <p><?php _e( '<em><strong>Note:</strong> This is a server-intensive process and should only be used when instructed to by support staff.</em>', WPRSS_TEXT_DOMAIN ); ?></p>
129
 
130
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
131
 
132
  <?php wp_nonce_field( 'wprss-delete-import-feed-items' );
133
+ submit_button( __( 'Delete and Re-import all feeds', WPRSS_TEXT_DOMAIN ), 'button-red', 'reimport-feeds', true ); ?>
134
 
135
  </form>
136
  <?php
144
  */
145
  function wprss_debug_restore_settings() {
146
  ?>
147
+ <h3><?php _e( 'Restore Default Settings', WPRSS_TEXT_DOMAIN ); ?></h3>
148
+ <p><?php _e( 'Click the red button to reset the plugin settings to default.', WPRSS_TEXT_DOMAIN ); ?></p>
149
+ <p><?php _e( '<em><strong>Note:</strong> This cannot be undone. Once the settings have been reset, your old settings cannot be restored.</em>', WPRSS_TEXT_DOMAIN ); ?></p>
150
 
151
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="post">
152
 
153
  <?php wp_nonce_field( 'wprss-restore-settings' );
154
+ submit_button( __( 'Restore Default Settings', WPRSS_TEXT_DOMAIN ), 'button-red', 'restore-settings', true ); ?>
155
 
156
  </form>
157
  <?php
165
  */
166
  function wprss_debug_clear_log_button() {
167
  ?>
168
+ <h3><?php _e( 'Error Log', WPRSS_TEXT_DOMAIN ); ?></h3>
169
 
170
  <textarea readonly="readonly" id="wprss-error-log-textarea"><?php echo wprss_get_log(); ?></textarea>
171
 
172
  <form action="edit.php?post_type=wprss_feed&page=wprss-debugging" method="POST">
173
  <?php wp_nonce_field( 'wprss-clear-error-log' );
174
+ submit_button( __( 'Clear log', WPRSS_TEXT_DOMAIN ), 'button-primary', 'error-log', true ); ?>
175
  </form>
176
 
177
  <?php
199
  <div class="wrap">
200
  <?php screen_icon( 'wprss-aggregator' ); ?>
201
 
202
+ <h2><?php _e( 'Debugging', WPRSS_TEXT_DOMAIN ); ?></h2>
203
  <?php
204
  if ( isset( $_GET['debug_message'] )) {//&& ( check_admin_referer( 'wprss-delete-import-feed-items' ) || check_admin_referer( 'wprss-update-feed-items' ) ) ) {
205
  $message = $_GET['debug_message'];
248
  *
249
  * @since 3.0
250
  */
251
+ function wprss_debugging_admin_notice_update_feeds() {
252
+ ?><div class="updated"><p><?php _e( 'Feeds are being updated in the background.', WPRSS_TEXT_DOMAIN ) ?></p></div><?php
253
  }
254
 
255
  /**
257
  *
258
  * @since 3.0
259
  */
260
+ function wprss_debugging_admin_notice_reimport_feeds() {
261
+ ?><div class="updated"><p><?php _e( 'Feeds deleted and are being re-imported in the background.', WPRSS_TEXT_DOMAIN ) ?></p></div><?php
262
  }
263
 
264
 
267
  *
268
  * @since 3.9.6
269
  */
270
+ function wprss_debugging_admin_notice_clear_log() {
271
+ ?><div class="updated"><p><?php _e( 'The error log has been cleared.', WPRSS_TEXT_DOMAIN ) ?></p></div><?php
272
  }
273
 
274
 
277
  *
278
  * @since 4.4
279
  */
280
+ function wprss_debugging_admin_notice_reset_settings() {
281
+ ?><div class="updated"><p><?php _e( 'The plugin settings have been reset to default.', WPRSS_TEXT_DOMAIN ) ?></p></div><?php
282
  }
283
 
284
 
includes/admin-display.php CHANGED
@@ -17,16 +17,16 @@
17
  $columns = array(
18
  'cb' => '<input type="checkbox" />',
19
  'errors' => '',
20
- 'title' => __( 'Name', 'wprss' ),
21
  );
22
 
23
  $columns = apply_filters( 'wprss_set_feed_custom_columns', $columns );
24
 
25
  // Columns to add when feed is not trashed
26
  if ( !isset( $_GET['post_status'] ) || $_GET['post_status'] !== 'trash' ) {
27
- $columns['state'] = __( 'State', 'wprss' );
28
- $columns['updates'] = __( 'Updates', 'wprss' );
29
- $columns['feed-count'] = __( apply_filters( 'wprss_feed_items_count_column', 'Imported items' ), 'wprss' );
30
  }
31
 
32
  return $columns;
@@ -45,7 +45,7 @@
45
  case 'errors':
46
  $errors = get_post_meta( $post_id, 'wprss_error_last_import', true );
47
  $showClass = ( $errors === 'true' )? 'wprss-show' : '';
48
- $msg = "This feed source experienced an error during the last feed fetch or validation check. Re-check the feed source URL or check the Error Log in the Debugging page for more details.";
49
  echo "<i title=\"$msg\" class=\"fa fa-warning fa-fw wprss-feed-error-symbol $showClass\"></i>";
50
  break;
51
  case 'state':
@@ -58,11 +58,11 @@
58
 
59
  ?>
60
  <p>
61
- <span class="wprss-indicator-<?php echo $indicator; ?>" title="<?php echo $text; ?>">
62
  <i class="fa fa-circle"></i>
63
  </span>
64
  <input type="hidden" name="wprss-redirect" value="1" />
65
- <button type="submit" class='button-secondary' title="<?php echo $button; ?>" name="wprss-feed-id" value="<?php echo $post_id; ?>">
66
  <i class='fa fa-<?php echo $icon; ?>'></i>
67
  </button>
68
  </p>
@@ -85,16 +85,16 @@
85
 
86
  // Update the meta field
87
  if ( wprss_is_feed_source_active( $post_id ) ) {
88
- $next_update_text = $next_update === FALSE ? 'None': human_time_diff( $next_update, time() );
89
  } else {
90
- $next_update_text = 'Paused';
91
  }
92
  update_post_meta( $post_id, 'wprss_next_update', $next_update_text );
93
 
94
  ?>
95
 
96
  <p>
97
- Next update:
98
  <code class="next-update">
99
  <?php echo $next_update_text; ?>
100
  </code>
@@ -102,10 +102,10 @@
102
 
103
  <?php if ( $last_update !== '' ): ?>
104
  <p class="last-update-container">
105
- Last updated:
106
- <code class="last-update"><?php echo human_time_diff( $last_update, time() ); ?> <?php _e('ago'); ?></code>
107
  <?php if ( $last_update_items !== '' ): ?>
108
- <span class="last-update-imported-container"><br/>Last update imported: <code class="last-update-imported"><?php echo $last_update_items; ?></code> items</span>
109
  <?php endif; ?>
110
  </p>
111
  <?php endif;
@@ -117,10 +117,12 @@
117
  $seconds_for_next_update = wprss_get_next_feed_source_update( $post_id ) - time();
118
  $showClass = ( ( $seconds_for_next_update < 10 && $seconds_for_next_update > 0 ) || wprss_is_feed_source_deleting( $post_id ) )? 'wprss-show' : '';
119
 
120
- echo '<p>';
121
- echo "<span class=\"items-imported\">{$items->post_count}</span>";
122
- echo "<i class=\"fa fa-fw fa-refresh fa-spin wprss-updating-feed-icon $showClass\" title=\"Updating feed source\"></i>";
123
- echo '</p>';
 
 
124
 
125
  // Set meta field for items imported
126
  update_post_meta( $post_id, 'wprss_items_imported', $items->post_count );
@@ -206,10 +208,10 @@
206
 
207
  $columns = array (
208
  'cb' => '<input type="checkbox" />',
209
- 'title' => __( 'Name', 'wprss' ),
210
- 'permalink' => __( 'Permalink', 'wprss' ),
211
- 'publishdate' => __( 'Date published', 'wprss' ),
212
- 'source' => __( 'Source', 'wprss' )
213
  );
214
  return apply_filters( 'wprss_set_feed_item_custom_columns', $columns );
215
  }
@@ -298,16 +300,16 @@
298
 
299
  $messages[ 'wprss_feed' ] = array(
300
  0 => '', // Unused. Messages start at index 1.
301
- 1 => __( 'Feed source updated. ', 'wprss' ),
302
- 2 => __( 'Custom field updated.', 'wprss' ),
303
- 3 => __( 'Custom field deleted.', 'wprss' ),
304
- 4 => __( 'Feed source updated.', 'wprss' ),
305
  5 => '',
306
- 6 => __( 'Feed source saved.', 'wprss' ),
307
- 7 => __( 'Feed source saved.', 'wprss' ),
308
- 8 => __( 'Feed source submitted.', 'wprss' ),
309
  9 => '',
310
- 10 => __( 'Feed source updated.', 'wprss' )
311
  );
312
 
313
  return apply_filters( 'wprss_feed_updated_messages', $messages );
@@ -332,7 +334,7 @@
332
  }
333
  elseif ( get_post_type($post) === 'wprss_feed' ) {
334
  $actions = array_reverse( $actions );
335
- $actions['id'] = "<span class='wprss-row-id'>ID: $post->ID</span>";
336
  $actions = array_reverse( $actions );
337
 
338
  unset( $actions[ 'view'] );
@@ -347,14 +349,14 @@
347
  $post->ID
348
  );
349
  $view_items_text = apply_filters( 'wprss_view_feed_items_row_action_text', 'View items' );
350
- $actions['view-items'] = '<a href="' . $view_items_link . '">' . __( $view_items_text, 'wprss' ) . '</a>';
351
 
352
  $fetch_items_row_action_text = apply_filters( 'wprss_fetch_items_row_action_text', 'Fetch items' );
353
- $actions[ 'fetch' ] = '<a href="javascript:;" class="wprss_ajax_action" pid="'. $post->ID .'" purl="'.home_url().'/wp-admin/admin-ajax.php">' . __( $fetch_items_row_action_text, 'wprss' ) . '</a>';
354
 
355
  $purge_feeds_row_action_text = apply_filters( 'wprss_purge_feeds_row_action_text', 'Delete items' );
356
  $purge_feeds_row_action_title = apply_filters( 'wprss_purge_feeds_row_action_title', 'Delete feed items imported by this feed source' );
357
- $actions['purge-posts'] = "<a href='".admin_url("edit.php?post_type=wprss_feed&purge-feed-items=" . $post->ID . $page ) . "' title='" . __( $purge_feeds_row_action_title, 'wprss' ) . "' >" . __( $purge_feeds_row_action_text, 'wprss' ) . "</a>";
358
 
359
  $actions['trash'] = $trash;
360
  }
@@ -439,7 +441,7 @@
439
  * @since 3.5
440
  */
441
  function wprss_notify_about_deleting_source_feed_items() {
442
- $message = __( apply_filters( 'wprss_notify_about_deleting_source_feed_items_message', 'The feed items for this feed source are being deleted in the background.' ), 'wprss' );
443
  echo '<div class="updated"><p>' . $message . '</p></div>';
444
  }
445
 
@@ -520,7 +522,7 @@
520
  function wprss_change_publish_button_text( $translation, $text ) {
521
  if ( 'wprss_feed' == get_post_type()) {
522
  if ( $text == 'Publish' )
523
- return __( 'Publish Feed', 'wprss' );
524
  }
525
  return apply_filters( 'wprss_change_publish_button_text', $translation );
526
  }
@@ -561,7 +563,7 @@
561
  $wp_admin_bar->add_node( array(
562
  'href' => $view_items_link,
563
  'id' => 'view',
564
- 'title' => $view_items_text,
565
  'meta' => array(
566
  'target' => $link_target
567
  )
17
  $columns = array(
18
  'cb' => '<input type="checkbox" />',
19
  'errors' => '',
20
+ 'title' => __( 'Name', WPRSS_TEXT_DOMAIN ),
21
  );
22
 
23
  $columns = apply_filters( 'wprss_set_feed_custom_columns', $columns );
24
 
25
  // Columns to add when feed is not trashed
26
  if ( !isset( $_GET['post_status'] ) || $_GET['post_status'] !== 'trash' ) {
27
+ $columns['state'] = __( 'State', WPRSS_TEXT_DOMAIN );
28
+ $columns['updates'] = __( 'Updates', WPRSS_TEXT_DOMAIN );
29
+ $columns['feed-count'] = __( apply_filters( 'wprss_feed_items_count_column', 'Imported items' ), WPRSS_TEXT_DOMAIN );
30
  }
31
 
32
  return $columns;
45
  case 'errors':
46
  $errors = get_post_meta( $post_id, 'wprss_error_last_import', true );
47
  $showClass = ( $errors === 'true' )? 'wprss-show' : '';
48
+ $msg = __( "This feed source experienced an error during the last feed fetch or validation check. Re-check the feed source URL or check the Error Log in the Debugging page for more details.", WPRSS_TEXT_DOMAIN );
49
  echo "<i title=\"$msg\" class=\"fa fa-warning fa-fw wprss-feed-error-symbol $showClass\"></i>";
50
  break;
51
  case 'state':
58
 
59
  ?>
60
  <p>
61
+ <span class="wprss-indicator-<?php echo $indicator; ?>" title="<?php _e( $text, WPRSS_TEXT_DOMAIN ) ?>">
62
  <i class="fa fa-circle"></i>
63
  </span>
64
  <input type="hidden" name="wprss-redirect" value="1" />
65
+ <button type="submit" class='button-secondary' title="<?php _e( $button, WPRSS_TEXT_DOMAIN ) ?>" name="wprss-feed-id" value="<?php echo $post_id; ?>">
66
  <i class='fa fa-<?php echo $icon; ?>'></i>
67
  </button>
68
  </p>
85
 
86
  // Update the meta field
87
  if ( wprss_is_feed_source_active( $post_id ) ) {
88
+ $next_update_text = $next_update === FALSE ? __( 'None', WPRSS_TEXT_DOMAIN ) : human_time_diff( $next_update, time() );
89
  } else {
90
+ $next_update_text = __( 'Paused', WPRSS_TEXT_DOMAIN );
91
  }
92
  update_post_meta( $post_id, 'wprss_next_update', $next_update_text );
93
 
94
  ?>
95
 
96
  <p>
97
+ <?php _e( 'Next update:', WPRSS_TEXT_DOMAIN ) ?>
98
  <code class="next-update">
99
  <?php echo $next_update_text; ?>
100
  </code>
102
 
103
  <?php if ( $last_update !== '' ): ?>
104
  <p class="last-update-container">
105
+ <?php _e( 'Last updated:', WPRSS_TEXT_DOMAIN ) ?>
106
+ <code class="last-update"><?php echo sprintf( __( '%1$s ago', WPRSS_TEXT_DOMAIN ), human_time_diff( $last_update, time() ) ) ?></code>
107
  <?php if ( $last_update_items !== '' ): ?>
108
+ <span class="last-update-imported-container"><br/><?php echo sprintf( __( 'Last update imported: <code class="last-update-imported">%1$d</code> items', WPRSS_TEXT_DOMAIN ), $last_update_items ) ?></span>
109
  <?php endif; ?>
110
  </p>
111
  <?php endif;
117
  $seconds_for_next_update = wprss_get_next_feed_source_update( $post_id ) - time();
118
  $showClass = ( ( $seconds_for_next_update < 10 && $seconds_for_next_update > 0 ) || wprss_is_feed_source_deleting( $post_id ) )? 'wprss-show' : '';
119
 
120
+ ?>
121
+ <p>
122
+ <span class="items-imported"><?php echo $items->post_count ?></span>
123
+ <i class="fa fa-fw fa-refresh fa-spin wprss-updating-feed-icon <?php echo $showClass ?>" title="<?php _e( 'Updating feed source', WPRSS_TEXT_DOMAIN ) ?>"></i>
124
+ </p>
125
+ <?php
126
 
127
  // Set meta field for items imported
128
  update_post_meta( $post_id, 'wprss_items_imported', $items->post_count );
208
 
209
  $columns = array (
210
  'cb' => '<input type="checkbox" />',
211
+ 'title' => __( 'Name', WPRSS_TEXT_DOMAIN ),
212
+ 'permalink' => __( 'Permalink', WPRSS_TEXT_DOMAIN ),
213
+ 'publishdate' => __( 'Date published', WPRSS_TEXT_DOMAIN ),
214
+ 'source' => __( 'Source', WPRSS_TEXT_DOMAIN )
215
  );
216
  return apply_filters( 'wprss_set_feed_item_custom_columns', $columns );
217
  }
300
 
301
  $messages[ 'wprss_feed' ] = array(
302
  0 => '', // Unused. Messages start at index 1.
303
+ 1 => __( 'Feed source updated. ', WPRSS_TEXT_DOMAIN ),
304
+ 2 => __( 'Custom field updated.', WPRSS_TEXT_DOMAIN ),
305
+ 3 => __( 'Custom field deleted.', WPRSS_TEXT_DOMAIN ),
306
+ 4 => __( 'Feed source updated.', WPRSS_TEXT_DOMAIN ),
307
  5 => '',
308
+ 6 => __( 'Feed source saved.', WPRSS_TEXT_DOMAIN ),
309
+ 7 => __( 'Feed source saved.', WPRSS_TEXT_DOMAIN ),
310
+ 8 => __( 'Feed source submitted.', WPRSS_TEXT_DOMAIN ),
311
  9 => '',
312
+ 10 => __( 'Feed source updated.', WPRSS_TEXT_DOMAIN )
313
  );
314
 
315
  return apply_filters( 'wprss_feed_updated_messages', $messages );
334
  }
335
  elseif ( get_post_type($post) === 'wprss_feed' ) {
336
  $actions = array_reverse( $actions );
337
+ $actions['id'] = '<span class="wprss-row-id">' . sprintf( __( 'ID: %1$s', WPRSS_TEXT_DOMAIN ), $post->ID ) . '</span>';
338
  $actions = array_reverse( $actions );
339
 
340
  unset( $actions[ 'view'] );
349
  $post->ID
350
  );
351
  $view_items_text = apply_filters( 'wprss_view_feed_items_row_action_text', 'View items' );
352
+ $actions['view-items'] = '<a href="' . $view_items_link . '">' . __( $view_items_text, WPRSS_TEXT_DOMAIN ) . '</a>';
353
 
354
  $fetch_items_row_action_text = apply_filters( 'wprss_fetch_items_row_action_text', 'Fetch items' );
355
+ $actions[ 'fetch' ] = '<a href="javascript:;" class="wprss_ajax_action" pid="'. $post->ID .'" purl="'.home_url().'/wp-admin/admin-ajax.php">' . __( $fetch_items_row_action_text, WPRSS_TEXT_DOMAIN ) . '</a>';
356
 
357
  $purge_feeds_row_action_text = apply_filters( 'wprss_purge_feeds_row_action_text', 'Delete items' );
358
  $purge_feeds_row_action_title = apply_filters( 'wprss_purge_feeds_row_action_title', 'Delete feed items imported by this feed source' );
359
+ $actions['purge-posts'] = "<a href='".admin_url("edit.php?post_type=wprss_feed&purge-feed-items=" . $post->ID . $page ) . "' title='" . __( $purge_feeds_row_action_title, WPRSS_TEXT_DOMAIN ) . "' >" . __( $purge_feeds_row_action_text, WPRSS_TEXT_DOMAIN ) . "</a>";
360
 
361
  $actions['trash'] = $trash;
362
  }
441
  * @since 3.5
442
  */
443
  function wprss_notify_about_deleting_source_feed_items() {
444
+ $message = __( apply_filters( 'wprss_notify_about_deleting_source_feed_items_message', 'The feed items for this feed source are being deleted in the background.' ), WPRSS_TEXT_DOMAIN );
445
  echo '<div class="updated"><p>' . $message . '</p></div>';
446
  }
447
 
522
  function wprss_change_publish_button_text( $translation, $text ) {
523
  if ( 'wprss_feed' == get_post_type()) {
524
  if ( $text == 'Publish' )
525
+ return __( 'Publish Feed', WPRSS_TEXT_DOMAIN );
526
  }
527
  return apply_filters( 'wprss_change_publish_button_text', $translation );
528
  }
563
  $wp_admin_bar->add_node( array(
564
  'href' => $view_items_link,
565
  'id' => 'view',
566
+ 'title' => __( $view_items_text, WPRSS_TEXT_DOMAIN ),
567
  'meta' => array(
568
  'target' => $link_target
569
  )
includes/admin-editor.php CHANGED
@@ -84,7 +84,7 @@
84
  foreach ( $feed_sources as $source ) {
85
  $feed_sources_both_select .= '<option value="' . $source->ID . '" >' . $source->post_title . '</option>';
86
  }
87
- $feed_sources_both_select .= '</select><p>Hold Ctrl or Mac Command key when clicking to select more than one feed source.</p>';
88
 
89
  $feed_sources_select .= $feed_sources_both_select;
90
  $feed_sources_exclude_select .= $feed_sources_both_select;
@@ -94,11 +94,11 @@
94
  <tbody>
95
 
96
  <tr>
97
- <td id="wprss-dialog-all-sources-label">Feed Sources</td>
98
  <td>
99
- <input id="wprss-dialog-all-sources" type="checkbox" checked> <label for="wprss-dialog-all-sources">All feed sources</label>
100
  <div id="wprss-dialog-sources-container" style="display:none">
101
- <p>Choose the feed source to display:</p>
102
  <?php echo $feed_sources_select; ?>
103
  </div>
104
  <script>
@@ -119,16 +119,16 @@
119
  </tr>
120
 
121
  <tr id="wprss-dialog-exclude-row">
122
- <td id="wprss-dialog-exclude-label">Exclude:</td>
123
  <td>
124
- <p>Choose the feed sources to exclude:</p>
125
  <?php echo $feed_sources_exclude_select; ?>
126
  </td>
127
  </tr>
128
 
129
  <tr>
130
- <td>Feed Limit:</td>
131
- <td> <input id="wprss-dialog-feed-limit" type="number" class="wprss-number-roller" placeholder="Ignore" min="0" /> </td>
132
  </tr>
133
 
134
  <?php do_action( 'wprss_return_dialog_contents' ); ?>
@@ -136,7 +136,7 @@
136
  <tr>
137
  <td></td>
138
  <td>
139
- <button id="wprss-dialog-submit">Add shortcode</button>
140
  </td>
141
  </tr>
142
 
84
  foreach ( $feed_sources as $source ) {
85
  $feed_sources_both_select .= '<option value="' . $source->ID . '" >' . $source->post_title . '</option>';
86
  }
87
+ $feed_sources_both_select .= '</select><p>' . __( 'Hold Ctrl or Mac Command key when clicking to select more than one feed source.' , WPRSS_TEXT_DOMAIN ) . '</p>';
88
 
89
  $feed_sources_select .= $feed_sources_both_select;
90
  $feed_sources_exclude_select .= $feed_sources_both_select;
94
  <tbody>
95
 
96
  <tr>
97
+ <td id="wprss-dialog-all-sources-label"><?php _e( 'Feed Sources', WPRSS_TEXT_DOMAIN ) ?></td>
98
  <td>
99
+ <input id="wprss-dialog-all-sources" type="checkbox" checked> <label for="wprss-dialog-all-sources"><?php _e( 'All feed sources', WPRSS_TEXT_DOMAIN ) ?></label>
100
  <div id="wprss-dialog-sources-container" style="display:none">
101
+ <p><?php _e( 'Choose the feed source to display:', WPRSS_TEXT_DOMAIN ) ?></p>
102
  <?php echo $feed_sources_select; ?>
103
  </div>
104
  <script>
119
  </tr>
120
 
121
  <tr id="wprss-dialog-exclude-row">
122
+ <td id="wprss-dialog-exclude-label"><?php _e( 'Exclude:', WPRSS_TEXT_DOMAIN ) ?></td>
123
  <td>
124
+ <p><?php _e( 'Choose the feed sources to exclude:', WPRSS_TEXT_DOMAIN ) ?></p>
125
  <?php echo $feed_sources_exclude_select; ?>
126
  </td>
127
  </tr>
128
 
129
  <tr>
130
+ <td><?php _e( 'Feed Limit:', WPRSS_TEXT_DOMAIN ) ?></td>
131
+ <td> <input id="wprss-dialog-feed-limit" type="number" class="wprss-number-roller" placeholder="<?php _e( 'Ignore', WPRSS_TEXT_DOMAIN ) ?> " min="0" /> </td>
132
  </tr>
133
 
134
  <?php do_action( 'wprss_return_dialog_contents' ); ?>
136
  <tr>
137
  <td></td>
138
  <td>
139
+ <button id="wprss-dialog-submit"><?php _e( 'Add shortcode', WPRSS_TEXT_DOMAIN ) ?></button>
140
  </td>
141
  </tr>
142
 
includes/admin-heartbeat.php CHANGED
@@ -45,10 +45,10 @@ function wprss_feed_source_updates() {
45
  }
46
  // Set the text appropriately
47
  if ( ! wprss_is_feed_source_active( $feed_id ) ) {
48
- $feed_source_data['next-update'] = "Paused";
49
  }
50
  elseif( $next_update === FALSE ) {
51
- $feed_source_data['next-update'] = "None";
52
  }
53
  else {
54
  $feed_source_data['next-update'] = human_time_diff( $next_update, time() );
45
  }
46
  // Set the text appropriately
47
  if ( ! wprss_is_feed_source_active( $feed_id ) ) {
48
+ $feed_source_data['next-update'] = __( 'Paused', WPRSS_TEXT_DOMAIN );
49
  }
50
  elseif( $next_update === FALSE ) {
51
+ $feed_source_data['next-update'] = __( 'None', WPRSS_TEXT_DOMAIN );
52
  }
53
  else {
54
  $feed_source_data['next-update'] = human_time_diff( $next_update, time() );
includes/admin-help.php CHANGED
@@ -10,18 +10,19 @@
10
  <div class="wrap">
11
  <?php screen_icon( 'wprss-aggregator' ); ?>
12
 
13
- <h2><?php _e( 'Help & Support', 'wprss' ); ?></h2>
14
- <h3>Documentation</h3>
15
- <p>In the <a href="www.wprssaggregator.com/documentation/">documentation area</a> on the WP RSS Aggregator website you will find comprehensive details on how to use the core plugin
16
- and all the add-ons.</p><p>There are also some videos to help you make a quick start to setting up and enjoying this plugin.</p>
17
- <h3>Frequently Asked Questions (FAQ)</h3>
18
- <p>If after going through the documentation you still have questions, please take a look at the <a href="http://www.wprssaggregator.com/faq/">FAQ page</a> on the site, we set this
19
- up purposely to answer the most commonly asked questions by our users.</p>
20
- <h3>Support Forums - Core (free version) Plugin Users Only</h3>
21
- <p>If you're using the free version of the plugin found on WordPress.org, you can ask questions on the <a href="http://wordpress.org/support/plugin/wp-rss-aggregator">support forum</a>.</p>
22
- <h3>Email Ticketing System - Premium Add-on Users Only</h3>
23
- <p>If you still can't find an answer to your query after reading the documentation and going through the FAQ, just <a href="http://www.wprssaggregator.com/contact/">open a support request ticket</a>.<br>
24
- We'll be happy to help you out.</p>
 
25
  </div>
26
  <?php
27
  }
10
  <div class="wrap">
11
  <?php screen_icon( 'wprss-aggregator' ); ?>
12
 
13
+ <h2><?php _e( 'Help & Support', WPRSS_TEXT_DOMAIN ); ?></h2>
14
+ <h3><?php _e( 'Documentation', WPRSS_TEXT_DOMAIN ) ?></h3>
15
+ <?php echo wpautop( __('In the <a href="www.wprssaggregator.com/documentation/">documentation area</a> on the WP RSS Aggregator website you will find comprehensive details on how to use the core plugin and all the add-ons.
16
+
17
+ There are also some videos to help you make a quick start to setting up and enjoying this plugin.', WPRSS_TEXT_DOMAIN) ) ?>
18
+ <h3><?php _e( 'Frequently Asked Questions (FAQ)', WPRSS_TEXT_DOMAIN ) ?></h3>
19
+ <?php echo wpautop( __('If after going through the documentation you still have questions, please take a look at the <a href="http://www.wprssaggregator.com/faq/">FAQ page</a> on the site, we set this up purposely to answer the most commonly asked questions by our users.', WPRSS_TEXT_DOMAIN) ) ?>
20
+
21
+ <h3><?php _e( 'Support Forums - Core (free version) Plugin Users Only', WPRSS_TEXT_DOMAIN ) ?></h3>
22
+ <?php echo wpautop( __( "If you're using the free version of the plugin found on WordPress.org, you can ask questions on the " . '<a href="http://wordpress.org/support/plugin/wp-rss-aggregator">support forum</a>.', WPRSS_TEXT_DOMAIN ) ) ?>
23
+ <h3><?php _e( 'Email Ticketing System - Premium Add-on Users Only', WPRSS_TEXT_DOMAIN ) ?></h3>
24
+ <?php echo wpautop( __( "If you still can't find an answer to your query after reading the documentation and going through the FAQ, just " . '<a href="http://www.wprssaggregator.com/contact/">open a support request ticket</a>.' . "
25
+ We'll be happy to help you out.", WPRSS_TEXT_DOMAIN ) ) ?>
26
  </div>
27
  <?php
28
  }
includes/admin-import-export.php CHANGED
@@ -57,7 +57,7 @@
57
  function wprss_notify_bulk_add() {
58
  global $wprss_bulk_count; ?>
59
  <div class="updated">
60
- <p><?php _e('Successfully imported', 'wprss'); ?> <code><?php echo $wprss_bulk_count; ?></code> <?php _e('feed sources','wprss'); ?>.</p>
61
  </div>
62
  <?php
63
  }
@@ -113,7 +113,7 @@
113
  * @since 3.1
114
  */
115
  function wp_rss_aggregator_export_notice() {
116
- echo '<div class="updated"><p>All options are export successfully.</p></div>';
117
 
118
  }
119
 
@@ -124,7 +124,7 @@
124
  * @since 3.1
125
  */
126
  function wp_rss_aggregator_import_notice1() {
127
- echo '<div class="updated"><p>' . __( 'All options are restored successfully.', 'wprss' ) . '</p></div>';
128
 
129
  }
130
 
@@ -135,7 +135,7 @@
135
  * @since 3.1
136
  */
137
  function wp_rss_aggregator_import_notice2() {
138
- echo '<div class="error"><p>' . __( 'Invalid file or file size too big.', 'wprss' ) . '</p></div>';
139
 
140
  }
141
 
@@ -189,49 +189,49 @@
189
  <?php screen_icon( 'wprss-aggregator' ); ?>
190
 
191
  <!-- Bulk Add -->
192
- <h2><?php _e( 'Bulk Feed Import', 'wprss' ); ?></h2>
193
- <p><?php _e('Import multiple feed sources at once, by entering the name and URLs of your feeds below.', 'wprss'); ?></p>
194
- <p><?php _e('Separate the name and the URL using a comma on each line:', 'wprss'); ?>
195
- <code><?php _e('Feed Name, http://www.myfeed.com', 'wprss'); ?></code>
196
  </p>
197
  <form id="bulk-add-form" method="POST">
198
  <textarea rows="6" cols="80" form="bulk-add-form" name="bulk-feeds" autofocus></textarea>
199
  <br/>
200
  <?php wp_nonce_field('wprss-bulk-import', 'wprss-bulk-import'); ?>
201
- <input type="submit" class="button-secondary" name="bulk-add" value="Bulk Import" />
202
  </form>
203
  <hr/>
204
 
205
  <!-- Settings Import/Export -->
206
- <h2><?php _e( 'Import & Export Settings', 'wprss' ); ?></h2>
207
 
208
- <h3><?php _e( 'Export Settings', 'wprss' ); ?></h3>
209
- <p><?php _e( 'Click the <strong>Export Settings</strong> button to generate a file containing all the settings used by WP RSS Aggregator', 'wprss' ); ?></p>
210
- <p><?php _e( 'After exporting, you can either use the backup file to restore your settings to this site or to another WordPress site.</p>', 'wprss' ); ?></p>
211
  <?php do_action( 'wprss_export_section' ); ?>
212
  <form method="post">
213
  <p class="submit">
214
  <?php wp_nonce_field( 'wprss-settings-export' ); ?>
215
- <input type="submit" name="export" value="<?php _e( 'Export Settings', 'wprss' ); ?>" class="button" />
216
  </p>
217
  </form>
218
 
219
- <h3><?php _e( 'Import Settings', 'wprss' ); ?></h3>
220
- <p><?php _e( 'Click the <strong>Choose file</strong> button and choose a backup file.', 'wprss' ); ?></p>
221
- <p><?php _e( 'Press the <strong>Import Settings</strong> button, and WordPress will do the rest for you.', 'wprss' ); ?></p>
222
  <?php do_action( 'wprss_import_section' ); ?>
223
  <form method='post' enctype='multipart/form-data'>
224
  <p class="submit">
225
  <?php wp_nonce_field( 'wprss-settings-import' ); ?>
226
  <input type='file' name='import' />
227
- <input type='submit' name='import' value="<?php _e( 'Import Settings', 'wprss' ); ?>" class="button" />
228
  </p>
229
  </form>
230
 
231
- <h3><?php _e( 'Importing/Exporting Feed Sources', 'wprss' ); ?></h3>
232
- <p><?php _e( 'To import/export your feed sources, please use the standard WordPress <a href="' . get_admin_url() . 'import.php">Import</a> and <a href="' . get_admin_url() . 'export.php">Export</a> functionality.', 'wprss' ); ?></p>
233
- <p><?php _e( 'On the <a href="' . get_admin_url() . 'export.php">Export</a> page, check the <strong>Feed Sources</strong> radio button and click the <strong>Download Export File</strong> button. WordPress will then create an XML file containing all the feed sources.', 'wprss' ); ?></p>
234
- <p><?php _e( 'On the <a href="' . get_admin_url() . 'import.php">Import</a> page, choose the previously created file and click the <strong>Upload file and import</strong> button.', 'wprss' ); ?></p>
235
 
236
  </div>
237
  <?php
57
  function wprss_notify_bulk_add() {
58
  global $wprss_bulk_count; ?>
59
  <div class="updated">
60
+ <p><?php echo sprintf( __( 'Successfully imported <code>%1$s</code> feed sources.', WPRSS_TEXT_DOMAIN ), $wprss_bulk_count )?></p>
61
  </div>
62
  <?php
63
  }
113
  * @since 3.1
114
  */
115
  function wp_rss_aggregator_export_notice() {
116
+ ?><div class="updated"><?php echo wpautop( __( 'All options are exported successfully.', WPRSS_TEXT_DOMAIN ) ) ?></div><?php
117
 
118
  }
119
 
124
  * @since 3.1
125
  */
126
  function wp_rss_aggregator_import_notice1() {
127
+ ?><div class="updated"><?php echo wpautop( __( 'All options are restored successfully.', WPRSS_TEXT_DOMAIN ) ) ?></div><?php
128
 
129
  }
130
 
135
  * @since 3.1
136
  */
137
  function wp_rss_aggregator_import_notice2() {
138
+ ?><div class="error"><?php echo wpautop( __( 'Invalid file or file size too big.', WPRSS_TEXT_DOMAIN ) ) ?></div><?php
139
 
140
  }
141
 
189
  <?php screen_icon( 'wprss-aggregator' ); ?>
190
 
191
  <!-- Bulk Add -->
192
+ <h2><?php _e( 'Bulk Feed Import', WPRSS_TEXT_DOMAIN ); ?></h2>
193
+ <p><?php _e( 'Import multiple feed sources at once, by entering the name and URLs of your feeds below.', WPRSS_TEXT_DOMAIN ); ?></p>
194
+ <p><?php _e( 'Separate the name and the URL using a comma on each line:', WPRSS_TEXT_DOMAIN ); ?>
195
+ <code><?php _e( 'Feed Name, http://www.myfeed.com', WPRSS_TEXT_DOMAIN ); ?></code>
196
  </p>
197
  <form id="bulk-add-form" method="POST">
198
  <textarea rows="6" cols="80" form="bulk-add-form" name="bulk-feeds" autofocus></textarea>
199
  <br/>
200
  <?php wp_nonce_field('wprss-bulk-import', 'wprss-bulk-import'); ?>
201
+ <input type="submit" class="button-secondary" name="bulk-add" value="<?php _e( 'Bulk Import', WPRSS_TEXT_DOMAIN ) ?>" />
202
  </form>
203
  <hr/>
204
 
205
  <!-- Settings Import/Export -->
206
+ <h2><?php _e( 'Import & Export Settings', WPRSS_TEXT_DOMAIN ); ?></h2>
207
 
208
+ <h3><?php _e( 'Export Settings', WPRSS_TEXT_DOMAIN ); ?></h3>
209
+ <?php echo wpautop( __( 'Click the <strong>Export Settings</strong> button to generate a file containing all the settings used by WP RSS Aggregator', WPRSS_TEXT_DOMAIN ) ) ?>
210
+ <?php echo wpautop( __( 'After exporting, you can either use the backup file to restore your settings to this site or to another WordPress site.', WPRSS_TEXT_DOMAIN ) ) ?>
211
  <?php do_action( 'wprss_export_section' ); ?>
212
  <form method="post">
213
  <p class="submit">
214
  <?php wp_nonce_field( 'wprss-settings-export' ); ?>
215
+ <input type="submit" name="export" value="<?php _e( 'Export Settings', WPRSS_TEXT_DOMAIN ); ?>" class="button" />
216
  </p>
217
  </form>
218
 
219
+ <h3><?php _e( 'Import Settings', WPRSS_TEXT_DOMAIN ); ?></h3>
220
+ <?php echo wpautop( __( 'Click the <strong>Choose file</strong> button and choose a backup file.', WPRSS_TEXT_DOMAIN ) ) ?>
221
+ <?php echo wpautop( __( 'Press the <strong>Import Settings</strong> button, and WordPress will do the rest for you.', WPRSS_TEXT_DOMAIN ) ) ?>
222
  <?php do_action( 'wprss_import_section' ); ?>
223
  <form method='post' enctype='multipart/form-data'>
224
  <p class="submit">
225
  <?php wp_nonce_field( 'wprss-settings-import' ); ?>
226
  <input type='file' name='import' />
227
+ <input type='submit' name='import' value="<?php _e( 'Import Settings', WPRSS_TEXT_DOMAIN ); ?>" class="button" />
228
  </p>
229
  </form>
230
 
231
+ <h3><?php _e( 'Importing/Exporting Feed Sources', WPRSS_TEXT_DOMAIN ); ?></h3>
232
+ <?php echo wpautop( sprintf( __( 'To import/export your feed sources, please use the standard WordPress <a href="%1$simport.php">Import</a> and <a href="%1$sexport.php">Export</a> functionality.', WPRSS_TEXT_DOMAIN ), get_admin_url() ) ) ?>
233
+ <?php echo wpautop( sprintf( __( 'On the <a href="%1$sexport.php">Export</a> page, check the <strong>Feed Sources</strong> radio button and click the <strong>Download Export File</strong> button. WordPress will then create an XML file containing all the feed sources.', WPRSS_TEXT_DOMAIN ), get_admin_url() ) ) ?>
234
+ <?php echo wpautop( sprintf( __( 'On the <a href="%1$simport.php">Import</a> page, choose the previously created file and click the <strong>Upload file and import</strong> button.', WPRSS_TEXT_DOMAIN ), get_admin_url() ) ) ?>
235
 
236
  </div>
237
  <?php
includes/admin-metaboxes.php CHANGED
@@ -14,7 +14,7 @@
14
 
15
  add_meta_box(
16
  'submitdiv', // $id
17
- __( 'Save Feed Source', 'wprss' ), // $title
18
  'post_submit_meta_box', // $callback
19
  'wprss_feed', // $page
20
  'side', // $context
@@ -23,7 +23,7 @@
23
 
24
  add_meta_box(
25
  'preview_meta_box',
26
- __( 'Feed Preview', 'wprss' ),
27
  'wprss_preview_meta_box_callback',
28
  'wprss_feed',
29
  'side',
@@ -32,7 +32,7 @@
32
 
33
  add_meta_box(
34
  'wprss-feed-processing-meta',
35
- __( 'Feed Processing', 'wprss' ),
36
  'wprss_feed_processing_meta_box_callback',
37
  'wprss_feed',
38
  'side',
@@ -42,7 +42,7 @@
42
  if ( !defined('WPRSS_FTP_VERSION') && !defined('WPRSS_ET_VERSION') && !defined('WPRSS_C_VERSION') ) {
43
  add_meta_box(
44
  'wprss-like-meta',
45
- __( 'Like This Plugin?', 'wprss' ),
46
  'wprss_like_meta_box_callback',
47
  'wprss_feed',
48
  'side',
@@ -52,7 +52,7 @@
52
 
53
  add_meta_box(
54
  'custom_meta_box',
55
- __( 'Feed Source Details', 'wprss' ),
56
  'wprss_show_meta_box_callback',
57
  'wprss_feed',
58
  'normal',
@@ -72,7 +72,7 @@
72
 
73
  // Field Array
74
  $wprss_meta_fields[ 'url' ] = array(
75
- 'label' => __( 'URL', 'wprss' ),
76
  'id' => $prefix .'url',
77
  'type' => 'url',
78
  'after' => 'wprss_validate_feed_link',
@@ -80,13 +80,13 @@
80
  );
81
 
82
  $wprss_meta_fields[ 'limit' ] = array(
83
- 'label' => __( 'Limit', 'wprss' ),
84
  'id' => $prefix . 'limit',
85
  'type' => 'number'
86
  );
87
 
88
  $wprss_meta_fields[ 'enclosure' ] = array(
89
- 'label' => __( 'Link to enclosure', 'wprss' ),
90
  'id' => $prefix . 'enclosure',
91
  'type' => 'checkbox'
92
  );
@@ -111,18 +111,18 @@
111
  wp_nonce_field( basename( __FILE__ ), 'wprss_meta_box_nonce' );
112
 
113
  // Fix for WordpRess SEO JS issue
114
- echo '<input type="hidden" id="content" value="" />';
115
 
116
  // Begin the field table and loop
117
- echo '<table class="form-table wprss-form-table">';
118
 
119
  foreach ( $meta_fields as $field ) {
120
  // get value of this field if it exists for this post
121
  $meta = get_post_meta( $post->ID, $field['id'], true );
122
  // begin a table row with
123
- echo '<tr>
124
- <th><label for="' . $field['id'] . '">' . $field['label'] . '</label></th>
125
- <td>';
126
 
127
  if ( isset( $field['before'] ) && !empty( $field['before'] ) ) {
128
  call_user_func( $field['before'] );
@@ -138,6 +138,8 @@
138
  $tooltip = isset( $field['tooltip'] ) ? trim( $field['tooltip'] ) : null;
139
  $tooltip_id = isset( $field['id'] ) ? $field_tooltip_id_prefix . $field['id'] : uniqid( $field_tooltip_id_prefix );
140
 
 
 
141
  /*
142
  * So, here's how tooltips work here.
143
  * Tooltip output will be attempted in any case.
@@ -153,52 +155,53 @@
153
  // text/url
154
  case 'url':
155
  case 'text':
156
- echo '<input type="'.$field['type'].'" name="'.$field['id'].'" id="'.$field['id'].'" value="'. esc_attr( $meta ) .'" placeholder="'.__($field['placeholder'], 'wprss').'" class="wprss-text-input"/>';
157
  echo $help->tooltip( $tooltip_id, $tooltip );
158
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
159
- echo '<br>label for="'.$field['id'].'"><span class="description">'.$field['desc'].'</span></label>';
160
  }
161
  break;
162
 
163
  // textarea
164
  case 'textarea':
165
- echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows="4">'. esc_attr( $meta ) .'</textarea>';
166
  echo $help->tooltip( $tooltip_id, $tooltip );
167
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
168
- echo '<br>label for="'.$field['id'].'"><span class="description">'.$field['desc'].'</span></label>';
169
  }
170
  break;
171
 
172
  // checkbox
173
  case 'checkbox':
174
- echo '<input type="hidden" name="'.$field['id'].'" value="false" />';
175
- echo '<input type="checkbox" name="'.$field['id'].'" id="'.$field['id'].'" value="true" ', checked( $meta, 'true' ), ' />';
 
176
  echo $help->tooltip( $tooltip_id, $tooltip );
177
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
178
- echo '<label for="'.$field['id'].'"><span class="description">'.$field['desc'].'</span></label>';
179
  }
180
  break;
181
 
182
  // select
183
  case 'select':
184
- echo '<select name="'.$field['id'].'" id="'.$field['id'].'">';
185
  foreach ($field['options'] as $option) {
186
- echo '<option', $meta == $option['value'] ? ' selected="selected"' : '', ' value="'.$option['value'].'">'.$option['label'].'</option>';
187
  }
188
 
189
- echo '</select>';
190
  echo $help->tooltip( $tooltip_id, $tooltip );
191
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
192
- echo '<label for="'.$field['id'].'"><span class="description">'.$field['desc'].'</span></label>';
193
  }
194
  break;
195
 
196
  // number
197
  case 'number':
198
- echo '<input class="wprss-number-roller" type="number" placeholder="Default" min="0" name="'.$field['id'].'" id="'.$field['id'].'" value="'.esc_attr( $meta ).'" />';
199
  echo $help->tooltip( $tooltip_id, $tooltip );
200
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
201
- echo '<label for="'.$field['id'].'"><span class="description">'.$field['desc'].'</span></label>';
202
  }
203
  break;
204
 
@@ -208,9 +211,9 @@
208
  call_user_func( $field['after'] );
209
  }
210
 
211
- echo '</td></tr>';
212
  } // end foreach
213
- echo '</table>'; // end table
214
  }
215
 
216
 
@@ -371,7 +374,7 @@
371
  if ( $has_date ) {
372
  $item_date = human_time_diff( $item->get_date('U'), current_time('timestamp')).' '.__( 'ago', 'rc_mdm' );
373
  } else {
374
- $item_date = '<em>[No Date]</em>';
375
  }
376
  // Start displaying item content within a <li> tag
377
  echo '<li>';
@@ -392,18 +395,10 @@
392
  else {
393
  ?>
394
  <span class="invalid-feed-url">
395
- <strong><?php _e( 'Invalid feed URL', 'wprss' ); ?></strong> -
396
- <?php _e( 'Double check the feed source URL setting above.' , 'wprss' ); ?>
397
  </span>
398
-
399
- <p><?php _e( 'Not sure where to find the RSS feed on a website?', 'wprss' ); ?>
400
- <a target="_blank" href="http://webtrends.about.com/od/webfeedsyndicationrss/ss/rss_howto.htm">
401
- <?php _e( 'Click here' ); ?>
402
- </a>
403
- <?php _e( 'for a visual guide' , 'wprss' ); ?>
404
- </p>
405
-
406
- <?php
407
  }
408
 
409
  $force_feed = get_post_meta( $post->ID, 'wprss_force_feed', TRUE ); ?>
@@ -420,7 +415,7 @@
420
  <?php
421
  }
422
 
423
- else _e( 'No feed URL defined yet', 'wprss' );
424
  }
425
 
426
 
@@ -450,12 +445,12 @@
450
 
451
  // Prepare the states
452
  $states = array(
453
- 'active' => __( 'Active', 'wprss' ),
454
- 'paused' => __( 'Paused', 'wprss' ),
455
  );
456
 
457
  // Prepare the schedules
458
- $default_interval = __( 'Default', 'wprss' );
459
  $wprss_schedules = apply_filters( 'wprss_schedules', wprss_get_schedules() );
460
  $default_interval_key = wprss_get_default_feed_source_update_interval();
461
  $schedules = array_merge(
@@ -575,12 +570,12 @@
575
  function wprss_help_meta_box_callback() {
576
  echo '<p><a href="http://www.wprssaggregator.com/documentation/">View the documentation</p>';
577
  echo '<p><strong>';
578
- _e( 'Need help?', 'wprss' );
579
  echo '</strong> <a target="_blank" href="http://wordpress.org/support/plugin/wp-rss-aggregator">';
580
- _e( 'Check out the support forum', 'wprss' );
581
  echo '</a></p>';
582
  echo '</strong> <a target="_blank" href="http://www.wprssaggregator.com/feature-requests/">';
583
- _e( 'Suggest a new feature', 'wprss' );
584
  echo '</a></p>';
585
  }
586
 
@@ -593,12 +588,12 @@
593
  function wprss_like_meta_box_callback() { ?>
594
 
595
  <ul>
596
- <li><a href="http://wordpress.org/extend/plugins/wp-rss-aggregator/"><?php _e( 'Give it a 5 star rating on WordPress.org', 'wprss' ) ?></a></li>
597
- <li class="donate_link"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X9GP6BL4BLXBJ"><?php _e('Donate a token of your appreciation', 'wprss' ); ?></a></li>
598
  </ul>
599
  <?php
600
  echo '<p><strong>';
601
- _e( 'Check out the Premium Extensions:', 'wprss' );
602
  echo '</strong>'; ?>
603
  <ul>
604
  <li><a href="http://www.wprssaggregator.com/extension/feed-to-post/"><?php echo 'Feed to Post'; ?></a></li>
@@ -619,8 +614,8 @@
619
  function wprss_follow_meta_box_callback() {
620
  ?>
621
  <ul>
622
- <li class="twitter"><a href="http://twitter.com/wpmayor"><?php _e( 'Follow WP Mayor on Twitter.', 'wprss' ) ?></a></li>
623
- <li class="facebook"><a href="https://www.facebook.com/wpmayor"><?php _e( 'Like WP Mayor on Facebook.', 'wprss' ) ?></a></li>
624
  </ul>
625
  <?php }
626
 
14
 
15
  add_meta_box(
16
  'submitdiv', // $id
17
+ __( 'Save Feed Source', WPRSS_TEXT_DOMAIN ), // $title
18
  'post_submit_meta_box', // $callback
19
  'wprss_feed', // $page
20
  'side', // $context
23
 
24
  add_meta_box(
25
  'preview_meta_box',
26
+ __( 'Feed Preview', WPRSS_TEXT_DOMAIN ),
27
  'wprss_preview_meta_box_callback',
28
  'wprss_feed',
29
  'side',
32
 
33
  add_meta_box(
34
  'wprss-feed-processing-meta',
35
+ __( 'Feed Processing', WPRSS_TEXT_DOMAIN ),
36
  'wprss_feed_processing_meta_box_callback',
37
  'wprss_feed',
38
  'side',
42
  if ( !defined('WPRSS_FTP_VERSION') && !defined('WPRSS_ET_VERSION') && !defined('WPRSS_C_VERSION') ) {
43
  add_meta_box(
44
  'wprss-like-meta',
45
+ __( 'Like This Plugin?', WPRSS_TEXT_DOMAIN ),
46
  'wprss_like_meta_box_callback',
47
  'wprss_feed',
48
  'side',
52
 
53
  add_meta_box(
54
  'custom_meta_box',
55
+ __( 'Feed Source Details', WPRSS_TEXT_DOMAIN ),
56
  'wprss_show_meta_box_callback',
57
  'wprss_feed',
58
  'normal',
72
 
73
  // Field Array
74
  $wprss_meta_fields[ 'url' ] = array(
75
+ 'label' => __( 'URL', WPRSS_TEXT_DOMAIN ),
76
  'id' => $prefix .'url',
77
  'type' => 'url',
78
  'after' => 'wprss_validate_feed_link',
80
  );
81
 
82
  $wprss_meta_fields[ 'limit' ] = array(
83
+ 'label' => __( 'Limit', WPRSS_TEXT_DOMAIN ),
84
  'id' => $prefix . 'limit',
85
  'type' => 'number'
86
  );
87
 
88
  $wprss_meta_fields[ 'enclosure' ] = array(
89
+ 'label' => __( 'Link to enclosure', WPRSS_TEXT_DOMAIN ),
90
  'id' => $prefix . 'enclosure',
91
  'type' => 'checkbox'
92
  );
111
  wp_nonce_field( basename( __FILE__ ), 'wprss_meta_box_nonce' );
112
 
113
  // Fix for WordpRess SEO JS issue
114
+ ?><input type="hidden" id="content" value="" /><?php
115
 
116
  // Begin the field table and loop
117
+ ?><table class="form-table wprss-form-table"><?php
118
 
119
  foreach ( $meta_fields as $field ) {
120
  // get value of this field if it exists for this post
121
  $meta = get_post_meta( $post->ID, $field['id'], true );
122
  // begin a table row with
123
+ ?><tr>
124
+ <th><label for="<?php echo $field['id'] ?>"><?php echo $field['label'] /* Should be already translated */ ?></label></th>
125
+ <td><?php
126
 
127
  if ( isset( $field['before'] ) && !empty( $field['before'] ) ) {
128
  call_user_func( $field['before'] );
138
  $tooltip = isset( $field['tooltip'] ) ? trim( $field['tooltip'] ) : null;
139
  $tooltip_id = isset( $field['id'] ) ? $field_tooltip_id_prefix . $field['id'] : uniqid( $field_tooltip_id_prefix );
140
 
141
+ $field_description = __( $field['desc'], WPRSS_TEXT_DOMAIN );
142
+
143
  /*
144
  * So, here's how tooltips work here.
145
  * Tooltip output will be attempted in any case.
155
  // text/url
156
  case 'url':
157
  case 'text':
158
+ ?><input type="<?php echo $field['type'] ?>" name="<?php echo $field['id'] ?>" id="<?php echo $field['id'] ?>" value="<?php echo esc_attr( $meta ) ?>" placeholder="<?php _e( $field['placeholder'], WPRSS_TEXT_DOMAIN ) ?>" class="wprss-text-input"/><?php
159
  echo $help->tooltip( $tooltip_id, $tooltip );
160
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
161
+ ?><br /><label for="<?php echo $field['id'] ?>"><span class="description"><?php _e( $field['desc'], WPRSS_TEXT_DOMAIN ) ?></span></label><?php
162
  }
163
  break;
164
 
165
  // textarea
166
  case 'textarea':
167
+ ?><textarea name="<?php echo $field['id'] ?>" id="<?php echo $field['id'] ?>" cols="60" rows="4"><?php echo esc_attr( $meta ) ?></textarea><?php
168
  echo $help->tooltip( $tooltip_id, $tooltip );
169
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
170
+ ?><br /><label for="<?php echo $field['id'] ?>"><span class="description"><?php echo $field_description ?></span></label><?php
171
  }
172
  break;
173
 
174
  // checkbox
175
  case 'checkbox':
176
+ ?>
177
+ <input type="hidden" name="<?php echo $field['id'] ?>" value="false" />
178
+ <input type="checkbox" name="<?php echo $field['id'] ?>" id="<?php echo $field['id'] ?>" value="true" <?php checked( $meta, 'true' ) ?> /><?php
179
  echo $help->tooltip( $tooltip_id, $tooltip );
180
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
181
+ ?><label for="<?php echo $field['id'] ?>"><span class="description"><?php echo $field_description ?></span></label><?php
182
  }
183
  break;
184
 
185
  // select
186
  case 'select':
187
+ ?><select name="<?php echo $field['id'] ?>" id="<?php $field['id'] ?>"><?php
188
  foreach ($field['options'] as $option) {
189
+ ?><option<?php if ( $meta == $option['value'] ): ?> selected="selected"<?php endif ?> value="<?php echo $option['value'] ?>"><?php echo $option['label'] ?></option><?php
190
  }
191
 
192
+ ?></select><?php
193
  echo $help->tooltip( $tooltip_id, $tooltip );
194
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
195
+ ?><label for="<?php echo $field['id'] ?>"><span class="description"><?php echo $field_description ?></span></label><?php
196
  }
197
  break;
198
 
199
  // number
200
  case 'number':
201
+ ?><input class="wprss-number-roller" type="number" placeholder="<?php _e( 'Default', WPRSS_TEXT_DOMAIN ) ?>" min="0" name="<?php echo $field['id'] ?>" id="<?php echo $field['id'] ?>" value="<?php echo esc_attr( $meta ) ?>" /><?php
202
  echo $help->tooltip( $tooltip_id, $tooltip );
203
  if ( strlen( trim( $field['desc'] ) ) > 0 ) {
204
+ ?><label for="<?php echo $field['id'] ?>"><span class="description"><?php echo $field_description ?></span></label><?php
205
  }
206
  break;
207
 
211
  call_user_func( $field['after'] );
212
  }
213
 
214
+ ?></td></tr><?php
215
  } // end foreach
216
+ ?></table><?php
217
  }
218
 
219
 
374
  if ( $has_date ) {
375
  $item_date = human_time_diff( $item->get_date('U'), current_time('timestamp')).' '.__( 'ago', 'rc_mdm' );
376
  } else {
377
+ $item_date = '<em>[' . __( 'No Date', WPRSS_TEXT_DOMAIN ) . ']</em>';
378
  }
379
  // Start displaying item content within a <li> tag
380
  echo '<li>';
395
  else {
396
  ?>
397
  <span class="invalid-feed-url">
398
+ <?php _e( '<strong>Invalid feed URL</strong> - Double check the feed source URL setting above.', WPRSS_TEXT_DOMAIN ) ?>
 
399
  </span>
400
+ <?php
401
+ echo wpautop( sprintf( __( 'Not sure where to find the RSS feed on a website? <a target="_blank" href="%1$s">Click here</a> for a visual guide. ', WPRSS_TEXT_DOMAIN ), 'http://webtrends.about.com/od/webfeedsyndicationrss/ss/rss_howto.htm' ) );
 
 
 
 
 
 
 
402
  }
403
 
404
  $force_feed = get_post_meta( $post->ID, 'wprss_force_feed', TRUE ); ?>
415
  <?php
416
  }
417
 
418
+ else _e( 'No feed URL defined yet', WPRSS_TEXT_DOMAIN );
419
  }
420
 
421
 
445
 
446
  // Prepare the states
447
  $states = array(
448
+ 'active' => __( 'Active', WPRSS_TEXT_DOMAIN ),
449
+ 'paused' => __( 'Paused', WPRSS_TEXT_DOMAIN ),
450
  );
451
 
452
  // Prepare the schedules
453
+ $default_interval = __( 'Default', WPRSS_TEXT_DOMAIN );
454
  $wprss_schedules = apply_filters( 'wprss_schedules', wprss_get_schedules() );
455
  $default_interval_key = wprss_get_default_feed_source_update_interval();
456
  $schedules = array_merge(
570
  function wprss_help_meta_box_callback() {
571
  echo '<p><a href="http://www.wprssaggregator.com/documentation/">View the documentation</p>';
572
  echo '<p><strong>';
573
+ _e( 'Need help?', WPRSS_TEXT_DOMAIN );
574
  echo '</strong> <a target="_blank" href="http://wordpress.org/support/plugin/wp-rss-aggregator">';
575
+ _e( 'Check out the support forum', WPRSS_TEXT_DOMAIN );
576
  echo '</a></p>';
577
  echo '</strong> <a target="_blank" href="http://www.wprssaggregator.com/feature-requests/">';
578
+ _e( 'Suggest a new feature', WPRSS_TEXT_DOMAIN );
579
  echo '</a></p>';
580
  }
581
 
588
  function wprss_like_meta_box_callback() { ?>
589
 
590
  <ul>
591
+ <li><a href="http://wordpress.org/extend/plugins/wp-rss-aggregator/"><?php _e( 'Give it a 5 star rating on WordPress.org', WPRSS_TEXT_DOMAIN ) ?></a></li>
592
+ <li class="donate_link"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X9GP6BL4BLXBJ"><?php _e( 'Donate a token of your appreciation', WPRSS_TEXT_DOMAIN ); ?></a></li>
593
  </ul>
594
  <?php
595
  echo '<p><strong>';
596
+ _e( 'Check out the Premium Extensions:', WPRSS_TEXT_DOMAIN );
597
  echo '</strong>'; ?>
598
  <ul>
599
  <li><a href="http://www.wprssaggregator.com/extension/feed-to-post/"><?php echo 'Feed to Post'; ?></a></li>
614
  function wprss_follow_meta_box_callback() {
615
  ?>
616
  <ul>
617
+ <li class="twitter"><a href="http://twitter.com/wpmayor"><?php _e( 'Follow WP Mayor on Twitter.', WPRSS_TEXT_DOMAIN ) ?></a></li>
618
+ <li class="facebook"><a href="https://www.facebook.com/wpmayor"><?php _e( 'Like WP Mayor on Facebook.', WPRSS_TEXT_DOMAIN ) ?></a></li>
619
  </ul>
620
  <?php }
621
 
includes/admin-options.php CHANGED
@@ -408,7 +408,7 @@
408
  * @since 3.0
409
  */
410
  function wprss_settings_general_callback() {
411
- echo '<p>' . __( 'These are the general settings for WP RSS Aggregator.', WPRSS_TEXT_DOMAIN ) . '</p>';
412
  }
413
 
414
 
@@ -417,7 +417,7 @@
417
  * @since 3.5
418
  */
419
  function wprss_settings_display_callback() {
420
- echo '<p>' . __( 'In this section you can find some general options that control how the feed items are displayed.', WPRSS_TEXT_DOMAIN ) . '</p>';
421
  }
422
 
423
 
@@ -427,7 +427,7 @@
427
  * @since 4.2.4
428
  */
429
  function wprss_settings_source_callback() {
430
- echo '<p>' . __( 'Options that control how the feed item\'s source is displayed.', WPRSS_TEXT_DOMAIN ) . '</p>';
431
  }
432
 
433
  /**
@@ -436,7 +436,7 @@
436
  * @since 4.2.4
437
  */
438
  function wprss_settings_date_callback() {
439
- echo '<p>' . __( 'Options that control how the feed item\'s date is displayed.', WPRSS_TEXT_DOMAIN ) . '</p>';
440
  }
441
 
442
 
@@ -445,7 +445,7 @@
445
  * @since 3.0
446
  */
447
  function wprss_settings_styles_callback() {
448
- echo '<p>' . __( 'If you would like to disable all styles used in this plugin, tick the checkbox.', WPRSS_TEXT_DOMAIN ) . '</p>';
449
  }
450
 
451
 
@@ -454,7 +454,7 @@
454
  * @since 3.0
455
  */
456
  function wprss_secure_reset_section_callback() {
457
- echo '<p>' . __( 'Set your security reset code, in case of any errors.', WPRSS_TEXT_DOMAIN ) . '</p>';
458
  }
459
 
460
 
@@ -463,7 +463,7 @@
463
  * @since 3.0
464
  */
465
  function wprss_tracking_section_callback() {
466
- echo '<p>' . __( 'Participate in helping us make the plugin better.', WPRSS_TEXT_DOMAIN ) . '</p>';
467
  }
468
 
469
 
@@ -699,11 +699,11 @@
699
  ?>
700
 
701
  <input id="<?php echo $field['field_id'] ?>" name="wprss_settings_general[limit_feed_items_age]" type="number" min="0"
702
- class="wprss-number-roller" placeholder="<?php echo _e( 'No limit', WPRSS_TEXT_DOMAIN ) ?>" value="<?php echo $limit_feed_items_age; ?>" />
703
 
704
  <select id="limit-feed-items-age-unit" name="wprss_settings_general[limit_feed_items_age_unit]">
705
  <?php foreach ( $units as $unit ) : ?>
706
- <option value="<?php echo $unit ?>" <?php selected( $limit_feed_items_age_unit, $unit ) ?> ><?php echo $unit ?></option>
707
  <?php endforeach ?>
708
  </select>
709
  <?php echo wprss_settings_inline_help( $field['field_id'], $field['tooltip'] ) ?>
408
  * @since 3.0
409
  */
410
  function wprss_settings_general_callback() {
411
+ echo wpautop( __( 'These are the general settings for WP RSS Aggregator.', WPRSS_TEXT_DOMAIN ) );
412
  }
413
 
414
 
417
  * @since 3.5
418
  */
419
  function wprss_settings_display_callback() {
420
+ echo wpautop( __( 'In this section you can find some general options that control how the feed items are displayed.', WPRSS_TEXT_DOMAIN ) );
421
  }
422
 
423
 
427
  * @since 4.2.4
428
  */
429
  function wprss_settings_source_callback() {
430
+ echo wpautop( __( "Options that control how the feed item's source is displayed.", WPRSS_TEXT_DOMAIN ) );
431
  }
432
 
433
  /**
436
  * @since 4.2.4
437
  */
438
  function wprss_settings_date_callback() {
439
+ echo wpautop( __( "Options that control how the feed item's date is displayed.", WPRSS_TEXT_DOMAIN ) );
440
  }
441
 
442
 
445
  * @since 3.0
446
  */
447
  function wprss_settings_styles_callback() {
448
+ echo wpautop( __( 'If you would like to disable all styles used in this plugin, tick the checkbox.', WPRSS_TEXT_DOMAIN ) );
449
  }
450
 
451
 
454
  * @since 3.0
455
  */
456
  function wprss_secure_reset_section_callback() {
457
+ echo wpautop( __( 'Set your security reset code, in case of any errors.', WPRSS_TEXT_DOMAIN ) );
458
  }
459
 
460
 
463
  * @since 3.0
464
  */
465
  function wprss_tracking_section_callback() {
466
+ echo wpautop( __( 'Participate in helping us make the plugin better.', WPRSS_TEXT_DOMAIN ) );
467
  }
468
 
469
 
699
  ?>
700
 
701
  <input id="<?php echo $field['field_id'] ?>" name="wprss_settings_general[limit_feed_items_age]" type="number" min="0"
702
+ class="wprss-number-roller" placeholder="<?php _e( 'No limit', WPRSS_TEXT_DOMAIN ) ?>" value="<?php echo $limit_feed_items_age; ?>" />
703
 
704
  <select id="limit-feed-items-age-unit" name="wprss_settings_general[limit_feed_items_age_unit]">
705
  <?php foreach ( $units as $unit ) : ?>
706
+ <option value="<?php echo $unit ?>" <?php selected( $limit_feed_items_age_unit, $unit ) ?> ><?php _e( $unit, WPRSS_TEXT_DOMAIN ) ?></option>
707
  <?php endforeach ?>
708
  </select>
709
  <?php echo wprss_settings_inline_help( $field['field_id'], $field['tooltip'] ) ?>
includes/admin-statistics.php CHANGED
@@ -146,7 +146,7 @@ function wprss_send_tracking_data() {
146
  function wprss_tracking_notice() {
147
  ?>
148
  <div class="updated">
149
- <p><b>WP RSS Aggregator:</b> Data report sent!</p>
150
  </div>
151
  <?php
152
  }
146
  function wprss_tracking_notice() {
147
  ?>
148
  <div class="updated">
149
+ <?php echo wpautop( __( '<b>WP RSS Aggregator:</b> Data report sent!', WPRSS_TEXT_DOMAIN ) ) ?>
150
  </div>
151
  <?php
152
  }
includes/admin-welcome.php CHANGED
@@ -72,9 +72,9 @@
72
  ?>
73
 
74
  <div class="wrap about-wrap">
75
- <h1><?php printf( __( 'Welcome to WP RSS Aggregator %s !', 'wprss' ), WPRSS_VERSION ); ?></h1>
76
  <div class="wprss-about-text">
77
- Thank you for upgrading to the latest version!
78
  </div>
79
  <!-- <div class="wprss-badge">Version</div>-->
80
 
@@ -82,7 +82,7 @@
82
  <h2 class="nav-tab-wrapper">
83
  <a class="nav-tab <?php if ( $tab === null ) echo 'nav-tab-active'; ?>"
84
  href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'wprss-welcome' ), 'index.php' ) ) ); ?>">
85
- What's New?
86
  </a>
87
 
88
  <!-- SHOW ALL TABS -->
@@ -90,7 +90,7 @@
90
 
91
  <a class="nav-tab <?php if ( $tab === $slug ) echo 'nav-tab-active'; ?>"
92
  href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'wprss-welcome', 'tab' => $slug ), 'index.php' ) ) ); ?>">
93
- <?php echo $title; ?>
94
  </a>
95
 
96
  <?php endforeach; ?>
@@ -106,77 +106,65 @@
106
  default: ?>
107
  <div class="changelog">
108
 
109
- <h2 class="about-headline-callout">Bulk Adding Feed Sources</h2>
110
  <div class="about-overview">
111
- <img src="<?php echo WPRSS_IMG;?>welcome-page/bulk-add.png" />
112
- <p>
113
- The new bulk adding option saves you time by allowing you to enter your feed names and URLs
114
- all at once.
115
- <br/>
116
  Simply type in or paste your feed sources, and with the press of a button, your feed sources will instantly be created!
117
- <br/>
118
- Try it now from the
119
- <a href="<?php echo admin_url('edit.php?post_type=wprss_feed&page=wprss-import-export-settings'); ?>">Import &amp; Export</a>
120
- page.
121
- </p>
122
  </div>
123
 
124
- <h2 class="about-headline-callout">Feed Item Blacklist</h2>
125
  <div class="feature-section col three-col">
126
  <div class="col-1">
127
  <img src="<?php echo WPRSS_IMG;?>welcome-page/trash-feed-item.png" />
128
- <h4>Trash undesired items</h4>
129
- <p>
130
- Did a feed import an item that you do not wish to keep? Up till now, <strong>WP RSS Aggregator</strong>
131
- only allowed you to trash the item and keep it in your trash.
132
- </p>
133
  </div>
134
  <div class="col-2">
135
  <img src="<?php echo WPRSS_IMG;?>welcome-page/blacklist-feed-item.png" />
136
- <h4>Blacklist Trashed Items</h4>
137
- <p>
138
- Permanently deleting the item will cause it to be re-imported.
139
- Using the new <strong>Delete Permanently &amp; Blacklist</strong> option, the feed item is deleted
140
- and added to the <strong>Blacklist</strong>.
141
- </p>
142
  </div>
143
  <div class="col-3 last-feature">
144
  <img src="<?php echo WPRSS_IMG;?>welcome-page/blacklist.png" />
145
- <h4>The Blacklist</h4>
146
- <p>
147
- This is your list of unwanted feed item links. Any item in this list will be ignored by
148
- <strong>WP RSS Aggregator</strong> in the future, meaning it won't be imported from any of your
149
- feed sources.
150
- </p>
151
  </div>
152
  </div>
153
 
154
  <hr/>
155
 
156
- <h3>Check out our add-ons:</h3>
157
 
158
  <ul>
159
- <li><strong><a href="http://www.wprssaggregator.com/extension/feed-post/" target="wprss_ftp">Feed to Post</a></strong></li>
160
- <li><strong><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/" target="wprss_et">Excerpts &amp; Thumbnails</a></strong></li>
161
- <li><strong><a href="http://www.wprssaggregator.com/extension/categories/" target="wprss_cat">Categories</a></strong></li>
162
- <li><strong><a href="http://www.wprssaggregator.com/extension/keyword-filtering/" target="wprss_kf">Keyword Filtering</a></strong></li>
163
- <li><strong><a href="http://www.wprssaggregator.com/extension/wordai/" target="wprss_ai">WordAi</a></strong></li>
 
164
  </ul>
165
  </p>
166
- <p>More information about add-ons can be found on our website <a href="http://www.wprssaggregator.com">www.wprssaggregator.com</a></p>
167
 
168
  <hr/>
169
 
170
- <h3>Changelog for v<?php echo WPRSS_VERSION; ?></h3>
171
  <ul>
172
  <?php // CHANGELOG
173
  $changelog = wprss_parse_changelog();
174
  foreach( $changelog as $entry ): ?>
175
- <li><strong><?php echo $entry['type']; ?></strong>: <?php echo $entry['desc']; ?></li>
176
  <?php endforeach; ?>
177
  </ul>
178
-
179
- <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>
180
 
181
  </div>
182
 
@@ -187,7 +175,7 @@
187
  case 'et': ?>
188
 
189
  <p class="about-description">
190
- Fetch RSS feed excerpts to your blog and add thumbnails! Perfect for adding some life and color to your feeds.
191
  </p>
192
 
193
  <?php
@@ -197,7 +185,7 @@
197
  case 'cat': ?>
198
 
199
  <p class="about-description">
200
- Organize your feeds into custom categories. Filter feed items by category and make custom WordPress feeds for specific categories.
201
  </p>
202
 
203
  <?php
@@ -207,7 +195,7 @@
207
  case 'kf': ?>
208
 
209
  <p class="about-description">
210
- Import and store feeds that contain specific keywords in either the title or their content. Control what gets imported to your blog.
211
  </p>
212
 
213
  <?php
@@ -217,7 +205,7 @@
217
 
218
  <hr/>
219
 
220
- <p><a href="<?php echo $settings_url; ?>">Go to WP RSS Aggregator settings</a></p>
221
 
222
  </div>
223
 
72
  ?>
73
 
74
  <div class="wrap about-wrap">
75
+ <h1><?php printf( __( 'Welcome to WP RSS Aggregator %1$s!', WPRSS_TEXT_DOMAIN ), WPRSS_VERSION ); ?></h1>
76
  <div class="wprss-about-text">
77
+ <?php _e( 'Thank you for upgrading to the latest version!', WPRSS_TEXT_DOMAIN ) ?>
78
  </div>
79
  <!-- <div class="wprss-badge">Version</div>-->
80
 
82
  <h2 class="nav-tab-wrapper">
83
  <a class="nav-tab <?php if ( $tab === null ) echo 'nav-tab-active'; ?>"
84
  href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'wprss-welcome' ), 'index.php' ) ) ); ?>">
85
+ <?php _e( "What's New?", WPRSS_TEXT_DOMAIN ) ?>
86
  </a>
87
 
88
  <!-- SHOW ALL TABS -->
90
 
91
  <a class="nav-tab <?php if ( $tab === $slug ) echo 'nav-tab-active'; ?>"
92
  href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'wprss-welcome', 'tab' => $slug ), 'index.php' ) ) ); ?>">
93
+ <?php _e( $title, WPRSS_TEXT_DOMAIN ) ?>
94
  </a>
95
 
96
  <?php endforeach; ?>
106
  default: ?>
107
  <div class="changelog">
108
 
109
+ <h2 class="about-headline-callout"><?php _e( 'Bulk Adding Feed Sources', WPRSS_TEXT_DOMAIN ) ?></h2>
110
  <div class="about-overview">
111
+ <img src="<?php echo WPRSS_IMG; ?>welcome-page/bulk-add.png" />
112
+ <?php echo wpautop( sprintf( __('The new bulk adding option saves you time by allowing you to enter your feed names and URLs all at once.
 
 
 
113
  Simply type in or paste your feed sources, and with the press of a button, your feed sources will instantly be created!
114
+ Try it now from the <a href="%1$s">Import &amp; Export</a> page.', WPRSS_TEXT_DOMAIN), 'edit.php?post_type=wprss_feed&page=wprss-import-export-settings' ) ) ?>
 
 
 
 
115
  </div>
116
 
117
+ <h2 class="about-headline-callout"><?php _e( 'Feed Item Blacklist', WPRSS_TEXT_DOMAIN ) ?></h2>
118
  <div class="feature-section col three-col">
119
  <div class="col-1">
120
  <img src="<?php echo WPRSS_IMG;?>welcome-page/trash-feed-item.png" />
121
+ <h4><?php _e( 'Trash undesired items', WPRSS_TEXT_DOMAIN ) ?></h4>
122
+ <?php echo wpautop( sprintf( __('Did a feed import an item that you do not wish to keep? Up till now, <strong>WP RSS Aggregator</strong>'
123
+ . 'only allowed you to trash the item and keep it in your trash.', WPRSS_TEXT_DOMAIN) ) ) ?>
 
 
124
  </div>
125
  <div class="col-2">
126
  <img src="<?php echo WPRSS_IMG;?>welcome-page/blacklist-feed-item.png" />
127
+ <h4><?php _e( 'Blacklist Trashed Items', WPRSS_TEXT_DOMAIN ) ?></h4>
128
+ <?php echo wpautop( sprintf( __('Permanently deleting the item will cause it to be re-imported. '
129
+ . 'Using the new <strong>Delete Permanently &amp; Blacklist</strong> option, the feed item is deleted '
130
+ . 'and added to the <strong>Blacklist</strong>.', WPRSS_TEXT_DOMAIN) ) ) ?>
 
 
131
  </div>
132
  <div class="col-3 last-feature">
133
  <img src="<?php echo WPRSS_IMG;?>welcome-page/blacklist.png" />
134
+ <h4><?php _e( 'The Blacklist', WPRSS_TEXT_DOMAIN ) ?></h4>
135
+ <?php echo wpautop( sprintf( __('This is your list of unwanted feed item links. Any item in this list will be ignored by '
136
+ . "<strong>WP RSS Aggregator</strong> in the future, meaning it won't be imported from any of your feed sources."
137
+ . 'and added to the <strong>Blacklist</strong>.', WPRSS_TEXT_DOMAIN) ) ) ?>
 
 
138
  </div>
139
  </div>
140
 
141
  <hr/>
142
 
143
+ <h3><?php _e( 'Check out our add-ons:', WPRSS_TEXT_DOMAIN ) ?></h3>
144
 
145
  <ul>
146
+ <li><strong><a href="http://www.wprssaggregator.com/extension/feed-post/" target="wprss_ftp"><?php _e( 'Feed to Post', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
147
+ <li><strong><a href="http://www.wprssaggregator.com/extension/excerpts-thumbnails/" target="wprss_et"><?php _e( 'Excerpts &amp; Thumbnails', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
148
+ <li><strong><a href="http://www.wprssaggregator.com/extension/categories/" target="wprss_cat"><?php _e( 'Categories', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
149
+ <li><strong><a href="http://www.wprssaggregator.com/extension/keyword-filtering/" target="wprss_kf"><?php _e( 'Keyword Filtering', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
150
+ <li><strong><a href="http://www.wprssaggregator.com/extension/full-text-rss-feeds/" target="wprss_kf"><?php _e( 'Full Text RSS Feeds', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
151
+ <li><strong><a href="http://www.wprssaggregator.com/extension/wordai/" target="wprss_ai"><?php _e( 'WordAi', WPRSS_TEXT_DOMAIN ); ?></a></strong></li>
152
  </ul>
153
  </p>
154
+ <?php echo wpautop( sprintf( __('More information about add-ons can be found on our website <a href="%1$s">%2$s</a>', WPRSS_TEXT_DOMAIN), 'http://www.wprssaggregator.com', 'www.wprssaggregator.com' ) ) ?>
155
 
156
  <hr/>
157
 
158
+ <h3><?php printf( __( 'Changelog for v%1$s', WPRSS_TEXT_DOMAIN ), WPRSS_VERSION ) ?></h3>
159
  <ul>
160
  <?php // CHANGELOG
161
  $changelog = wprss_parse_changelog();
162
  foreach( $changelog as $entry ): ?>
163
+ <li><strong><?php _e( $entry['type'], WPRSS_TEXT_DOMAIN ) ?></strong>: <?php _e( $entry['desc'], WPRSS_TEXT_DOMAIN ) ?></li>
164
  <?php endforeach; ?>
165
  </ul>
166
+
167
+ <?php echo wpautop( sprintf( __('Need functionality not already available in core or the add-ons? You can <a href="%1$s">suggest new features</a>!', WPRSS_TEXT_DOMAIN), 'http://www.wprssaggregator.com/feature-requests/' ) ) ?>
168
 
169
  </div>
170
 
175
  case 'et': ?>
176
 
177
  <p class="about-description">
178
+ <?php _e( 'Fetch RSS feed excerpts to your blog and add thumbnails! Perfect for adding some life and color to your feeds.', WPRSS_TEXT_DOMAIN ) ?>
179
  </p>
180
 
181
  <?php
185
  case 'cat': ?>
186
 
187
  <p class="about-description">
188
+ <?php _e( 'Organize your feeds into custom categories. Filter feed items by category and make custom WordPress feeds for specific categories.', WPRSS_TEXT_DOMAIN ) ?>
189
  </p>
190
 
191
  <?php
195
  case 'kf': ?>
196
 
197
  <p class="about-description">
198
+ <?php _e( 'Import and store feeds that contain specific keywords in either the title or their content. Control what gets imported to your blog.', WPRSS_TEXT_DOMAIN ) ?>
199
  </p>
200
 
201
  <?php
205
 
206
  <hr/>
207
 
208
+ <p><a href="<?php echo $settings_url; ?>"><?php _e( 'Go to WP RSS Aggregator settings', WPRSS_TEXT_DOMAIN ) ?></a></p>
209
 
210
  </div>
211
 
includes/admin.php CHANGED
@@ -36,11 +36,11 @@
36
  global $submenu;
37
  unset( $submenu['edit.php?post_type=wprss_feed'][10] );
38
  //create submenu items
39
- add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Export & Import Settings', 'wprss' ), __( 'Import & Export', 'wprss' ), apply_filters( 'wprss_capability', 'manage_feed_settings' ), 'wprss-import-export-settings', 'wprss_import_export_settings_page_display' );
40
- add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'WP RSS Aggregator Settings', 'wprss' ), __( 'Settings', 'wprss' ), apply_filters( 'wprss_capability', 'manage_feed_settings' ), 'wprss-aggregator-settings', 'wprss_settings_page_display' );
41
- add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Debugging', 'wprss' ), __( 'Debugging', 'wprss' ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-debugging', 'wprss_debugging_page_display' );
42
- add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Add-Ons', 'wprss' ), __( 'Add-Ons', 'wprss' ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-addons', 'wprss_addons_page_display' );
43
- add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Help & Support', 'wprss' ), __( 'Help & Support', 'wprss' ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-help', 'wprss_help_page_display' );
44
  }
45
 
46
  add_filter('admin_body_class', 'wprss_base_admin_body_class');
@@ -90,7 +90,7 @@
90
  * @return void
91
  */
92
  function wprss_change_title_text() {
93
- return __( 'Name this feed (e.g. WP Mayor)', 'wprss' );
94
  }
95
 
96
 
@@ -107,8 +107,8 @@
107
  // check to make sure we are on the correct plugin
108
  if ( $plugin_file == 'wp-rss-aggregator/wp-rss-aggregator.php' ) {
109
  // the anchor tag and href to the URLs we want.
110
- $settings_link = '<a href="' . admin_url() . 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings">' . __( 'Settings', 'wprss' ) . '</a>';
111
- $docs_link = '<a href="http://www.wprssaggregator.com/documentation/">' . __( 'Documentation', 'wprss' ) . '</a>';
112
  // add the links to the beginning of the list
113
  array_unshift( $action_links, $settings_link, $docs_link );
114
  }
@@ -135,14 +135,9 @@
135
 
136
  // Show the notice ?>
137
  <div class="updated">
138
- <p>
139
- <b>WP RSS Aggregator</b>:
140
- There are saved licenses that have not yet been actived. Go to the
141
- <a href="<?php echo admin_url() . 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings&tab=licenses_settings'; ?>">
142
- License page
143
- </a>
144
- to activate them.
145
- </p>
146
  </div>
147
  <?php
148
  }
36
  global $submenu;
37
  unset( $submenu['edit.php?post_type=wprss_feed'][10] );
38
  //create submenu items
39
+ add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Export & Import Settings', WPRSS_TEXT_DOMAIN ), __( 'Import & Export', WPRSS_TEXT_DOMAIN ), apply_filters( 'wprss_capability', 'manage_feed_settings' ), 'wprss-import-export-settings', 'wprss_import_export_settings_page_display' );
40
+ add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'WP RSS Aggregator Settings', WPRSS_TEXT_DOMAIN ), __( 'Settings', WPRSS_TEXT_DOMAIN ), apply_filters( 'wprss_capability', 'manage_feed_settings' ), 'wprss-aggregator-settings', 'wprss_settings_page_display' );
41
+ add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Debugging', WPRSS_TEXT_DOMAIN ), __( 'Debugging', WPRSS_TEXT_DOMAIN ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-debugging', 'wprss_debugging_page_display' );
42
+ add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Add-Ons', WPRSS_TEXT_DOMAIN ), __( 'Add-Ons', WPRSS_TEXT_DOMAIN ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-addons', 'wprss_addons_page_display' );
43
+ add_submenu_page( 'edit.php?post_type=wprss_feed', __( 'Help & Support', WPRSS_TEXT_DOMAIN ), __( 'Help & Support', WPRSS_TEXT_DOMAIN ), apply_filters( 'wprss_capability', 'manage_feed_settings'), 'wprss-help', 'wprss_help_page_display' );
44
  }
45
 
46
  add_filter('admin_body_class', 'wprss_base_admin_body_class');
90
  * @return void
91
  */
92
  function wprss_change_title_text() {
93
+ return __( 'Name this feed (e.g. WP Mayor)', WPRSS_TEXT_DOMAIN );
94
  }
95
 
96
 
107
  // check to make sure we are on the correct plugin
108
  if ( $plugin_file == 'wp-rss-aggregator/wp-rss-aggregator.php' ) {
109
  // the anchor tag and href to the URLs we want.
110
+ $settings_link = '<a href="' . admin_url() . 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings">' . __( 'Settings', WPRSS_TEXT_DOMAIN ) . '</a>';
111
+ $docs_link = '<a href="http://www.wprssaggregator.com/documentation/">' . __( 'Documentation', WPRSS_TEXT_DOMAIN ) . '</a>';
112
  // add the links to the beginning of the list
113
  array_unshift( $action_links, $settings_link, $docs_link );
114
  }
135
 
136
  // Show the notice ?>
137
  <div class="updated">
138
+ <?php echo wpautop( sprintf( __('<b>WP RSS Aggregator</b>:'
139
+ . ' There are saved licenses that have not yet been actived. Go to the'
140
+ . ' <a href="%1$s">License page</a> to activate them.', WPRSS_TEXT_DOMAIN ), admin_url() . 'edit.php?post_type=wprss_feed&page=wprss-aggregator-settings&tab=licenses_settings' ) ) ?>
 
 
 
 
 
141
  </div>
142
  <?php
143
  }
includes/cpt-feeds.php CHANGED
@@ -79,8 +79,8 @@
79
  $name = $obj->labels->name;
80
 
81
  // Print the <link> tag
82
- $feedname = sprintf( __( '%1$s &raquo; %2$s Feed', 'wprss' ), $siteName, $name );
83
- printf( __( '<link rel="%1$s" type="%2$s" title="%3$s" href="%4$s" />'."\n", 'wprss' ),"alternate","application/rss+xml", $feedname, $feed );
84
  }
85
  }
86
 
79
  $name = $obj->labels->name;
80
 
81
  // Print the <link> tag
82
+ $feedname = sprintf( __( '%1$s &raquo; %2$s Feed', WPRSS_TEXT_DOMAIN ), $siteName, $name );
83
+ printf( __( '<link rel="%1$s" type="%2$s" title="%3$s" href="%4$s" />'."\n", WPRSS_TEXT_DOMAIN ),"alternate","application/rss+xml", $feedname, $feed );
84
  }
85
  }
86
 
includes/cron-jobs.php CHANGED
@@ -61,23 +61,23 @@
61
  $frequencies = array(
62
  'five_min' => array(
63
  'interval' => 5 * MINUTE_IN_SECONDS,
64
- 'display' => __( 'Once every five minutes', 'wprss' )
65
  ),
66
  'ten_min' => array(
67
  'interval' => 10 * MINUTE_IN_SECONDS,
68
- 'display' => __( 'Once every ten minutes', 'wprss' )
69
  ),
70
  'fifteen_min' => array(
71
  'interval' => 15 * MINUTE_IN_SECONDS,
72
- 'display' => __( 'Once every fifteen minutes', 'wprss' )
73
  ),
74
  'thirty_min' => array(
75
  'interval' => 30 * MINUTE_IN_SECONDS,
76
- 'display' => __( 'Once every thirty minutes', 'wprss' )
77
  ),
78
  'two_hours' => array(
79
  'interval' => 2 * HOUR_IN_SECONDS,
80
- 'display' => __( 'Once every two hours', 'wprss' )
81
  ),
82
  );
83
 
61
  $frequencies = array(
62
  'five_min' => array(
63
  'interval' => 5 * MINUTE_IN_SECONDS,
64
+ 'display' => __( 'Once every five minutes', WPRSS_TEXT_DOMAIN )
65
  ),
66
  'ten_min' => array(
67
  'interval' => 10 * MINUTE_IN_SECONDS,
68
+ 'display' => __( 'Once every ten minutes', WPRSS_TEXT_DOMAIN )
69
  ),
70
  'fifteen_min' => array(
71
  'interval' => 15 * MINUTE_IN_SECONDS,
72
+ 'display' => __( 'Once every fifteen minutes', WPRSS_TEXT_DOMAIN )
73
  ),
74
  'thirty_min' => array(
75
  'interval' => 30 * MINUTE_IN_SECONDS,
76
+ 'display' => __( 'Once every thirty minutes', WPRSS_TEXT_DOMAIN )
77
  ),
78
  'two_hours' => array(
79
  'interval' => 2 * HOUR_IN_SECONDS,
80
+ 'display' => __( 'Once every two hours', WPRSS_TEXT_DOMAIN )
81
  ),
82
  );
83
 
includes/custom-post-types.php CHANGED
@@ -18,18 +18,18 @@
18
  $labels = apply_filters(
19
  'wprss_feed_post_type_labels',
20
  array(
21
- 'name' => __( 'Feed Sources', 'wprss' ),
22
- 'singular_name' => __( 'Feed Source', 'wprss' ),
23
- 'add_new' => __( 'Add New', 'wprss' ),
24
- 'all_items' => __( 'Feed Sources', 'wprss' ),
25
- 'add_new_item' => __( 'Add New Feed Source', 'wprss' ),
26
- 'edit_item' => __( 'Edit Feed Source', 'wprss' ),
27
- 'new_item' => __( 'New Feed Source', 'wprss' ),
28
- 'view_item' => __( 'View Feed Source', 'wprss' ),
29
- 'search_items' => __( 'Search Feeds', 'wprss' ),
30
- 'not_found' => __( 'No Feed Sources Found', 'wprss' ),
31
- 'not_found_in_trash' => __( 'No Feed Sources Found In Trash', 'wprss' ),
32
- 'menu_name' => __( 'RSS Aggregator', 'wprss' )
33
  )
34
  );
35
 
@@ -68,13 +68,13 @@
68
  $labels = apply_filters(
69
  'wprss_feed_item_post_type_labels',
70
  array(
71
- 'name' => __( 'Feed Items', 'wprss' ),
72
- 'singular_name' => __( 'Feed Item', 'wprss' ),
73
- 'all_items' => __( 'Feed Items', 'wprss' ),
74
- 'view_item' => __( 'View Feed Items', 'wprss' ),
75
- 'search_items' => __( 'Search Feed Items', 'wprss' ),
76
- 'not_found' => __( 'No Feed Items Found', 'wprss' ),
77
- 'not_found_in_trash' => __( 'No Feed Items Found In Trash', 'wprss' )
78
  )
79
  );
80
 
18
  $labels = apply_filters(
19
  'wprss_feed_post_type_labels',
20
  array(
21
+ 'name' => __( 'Feed Sources', WPRSS_TEXT_DOMAIN ),
22
+ 'singular_name' => __( 'Feed Source', WPRSS_TEXT_DOMAIN ),
23
+ 'add_new' => __( 'Add New', WPRSS_TEXT_DOMAIN ),
24
+ 'all_items' => __( 'Feed Sources', WPRSS_TEXT_DOMAIN ),
25
+ 'add_new_item' => __( 'Add New Feed Source', WPRSS_TEXT_DOMAIN ),
26
+ 'edit_item' => __( 'Edit Feed Source', WPRSS_TEXT_DOMAIN ),
27
+ 'new_item' => __( 'New Feed Source', WPRSS_TEXT_DOMAIN ),
28
+ 'view_item' => __( 'View Feed Source', WPRSS_TEXT_DOMAIN ),
29
+ 'search_items' => __( 'Search Feeds', WPRSS_TEXT_DOMAIN ),
30
+ 'not_found' => __( 'No Feed Sources Found', WPRSS_TEXT_DOMAIN ),
31
+ 'not_found_in_trash' => __( 'No Feed Sources Found In Trash', WPRSS_TEXT_DOMAIN ),
32
+ 'menu_name' => __( 'RSS Aggregator', WPRSS_TEXT_DOMAIN )
33
  )
34
  );
35
 
68
  $labels = apply_filters(
69
  'wprss_feed_item_post_type_labels',
70
  array(
71
+ 'name' => __( 'Feed Items', WPRSS_TEXT_DOMAIN ),
72
+ 'singular_name' => __( 'Feed Item', WPRSS_TEXT_DOMAIN ),
73
+ 'all_items' => __( 'Feed Items', WPRSS_TEXT_DOMAIN ),
74
+ 'view_item' => __( 'View Feed Items', WPRSS_TEXT_DOMAIN ),
75
+ 'search_items' => __( 'Search Feed Items', WPRSS_TEXT_DOMAIN ),
76
+ 'not_found' => __( 'No Feed Items Found', WPRSS_TEXT_DOMAIN ),
77
+ 'not_found_in_trash' => __( 'No Feed Items Found In Trash', WPRSS_TEXT_DOMAIN )
78
  )
79
  );
80
 
includes/feed-blacklist.php CHANGED
@@ -168,11 +168,11 @@ function wprss_blacklist_cpt() {
168
  'capability_type' => 'wprss_blacklist',
169
  'supports' => array('title'),
170
  'labels' => array(
171
- 'name' => __( 'Blacklist', 'wprss' ),
172
- 'singular_name' => __( 'Blacklist', 'wprss' ),
173
- 'all_items' => __( 'Blacklist', 'wprss' ),
174
- 'search_items' => __( 'Search Blacklist', 'wprss' ),
175
- 'not_found' => __( 'You do not have any items blacklisted yet!', 'wprss' ),
176
  )
177
  ));
178
  }
@@ -206,14 +206,14 @@ function wprss_blacklist_row_actions( $actions ) {
206
 
207
  // Prepare the text
208
  $text = apply_filters( 'wprss_blacklist_row_action_text', 'Delete Permanently &amp; Blacklist' );
209
- $text = __( $text, 'wprss' );
210
 
211
  // Prepare the hint
212
  $hint = apply_filters(
213
  'wprss_blacklist_row_action_hint',
214
  "The item will be deleted permanently, and its permalink will be recorded in the blacklist"
215
  );
216
- $hint = esc_attr( __( $hint, 'wprss' ) );
217
 
218
  // Add the blacklist action
219
  $actions['blacklist-item'] = "<span class='delete'><a title='$hint' href='$url'>$text</a></span>";
@@ -224,7 +224,7 @@ function wprss_blacklist_row_actions( $actions ) {
224
  $paged = isset( $_GET['paged'] )? '&paged=' . $_GET['paged'] : '';
225
  $remove_url = wp_nonce_url( 'post.php?wprss-blacklist-remove='.get_the_ID(), 'blacklist-remove-' . get_the_ID(), 'wprss_blacklist_trash' );
226
  $actions = array(
227
- 'trash' => '<a href="'.$remove_url.'">Remove from blacklist</a>'
228
  );
229
  }
230
 
168
  'capability_type' => 'wprss_blacklist',
169
  'supports' => array('title'),
170
  'labels' => array(
171
+ 'name' => __( 'Blacklist', WPRSS_TEXT_DOMAIN ),
172
+ 'singular_name' => __( 'Blacklist', WPRSS_TEXT_DOMAIN ),
173
+ 'all_items' => __( 'Blacklist', WPRSS_TEXT_DOMAIN ),
174
+ 'search_items' => __( 'Search Blacklist', WPRSS_TEXT_DOMAIN ),
175
+ 'not_found' => __( 'You do not have any items blacklisted yet!', WPRSS_TEXT_DOMAIN ),
176
  )
177
  ));
178
  }
206
 
207
  // Prepare the text
208
  $text = apply_filters( 'wprss_blacklist_row_action_text', 'Delete Permanently &amp; Blacklist' );
209
+ $text = __( $text, WPRSS_TEXT_DOMAIN );
210
 
211
  // Prepare the hint
212
  $hint = apply_filters(
213
  'wprss_blacklist_row_action_hint',
214
  "The item will be deleted permanently, and its permalink will be recorded in the blacklist"
215
  );
216
+ $hint = esc_attr( __( $hint, WPRSS_TEXT_DOMAIN ) );
217
 
218
  // Add the blacklist action
219
  $actions['blacklist-item'] = "<span class='delete'><a title='$hint' href='$url'>$text</a></span>";
224
  $paged = isset( $_GET['paged'] )? '&paged=' . $_GET['paged'] : '';
225
  $remove_url = wp_nonce_url( 'post.php?wprss-blacklist-remove='.get_the_ID(), 'blacklist-remove-' . get_the_ID(), 'wprss_blacklist_trash' );
226
  $actions = array(
227
+ 'trash' => '<a href="'.$remove_url.'">' . __( 'Remove from blacklist', WPRSS_TEXT_DOMAIN ) . '</a>'
228
  );
229
  }
230
 
includes/feed-display.php CHANGED
@@ -208,10 +208,10 @@
208
 
209
  // Prepare the text that precedes the source
210
  $text_preceding_source = wprss_get_general_setting('text_preceding_source');
211
- $text_preceding_source = ltrim( $text_preceding_source . ' ' );
212
 
213
  $text_preceding_date = wprss_get_general_setting('text_preceding_date');
214
- $text_preceding_date = ltrim( $text_preceding_date . ' ' );
215
 
216
  do_action( 'wprss_get_post_data' );
217
 
@@ -234,11 +234,11 @@
234
  do_action( 'wprss_after_feed_item_title', $extra_meta, $display_settings, get_the_ID() );
235
 
236
  // FEED ITEM META ?>
237
- <div class='wprss-feed-meta'>
238
 
239
  <!-- SOURCE -->
240
  <?php if ( wprss_get_general_setting('source_enable') == 1 ) : ?>
241
- <span class='feed-source'>
242
  <?php $source_link_text = apply_filters('wprss_item_source_link', wprss_link_display( $source_url, $source_name, $source_link )) ?>
243
  <?php $source_link_text = $text_preceding_source . $source_link_text ?>
244
  <?php echo $source_link_text ?>
@@ -259,7 +259,7 @@
259
  if ( wprss_get_general_setting('authors_enable') == 1 && $author !== NULL && is_string( $author ) && $author !== '' ) : ?>
260
  <span class="feed-author">
261
  <?php $author_text = apply_filters('wprss_item_author', $author) ?>
262
- By <?php echo $author_text; ?>
263
  </span>
264
  <?php endif; ?>
265
 
@@ -270,7 +270,7 @@
270
  $time_ago = human_time_diff( $timestamp, time() ); ?>
271
  <div class="wprss-time-ago">
272
  <?php $time_ago_text = apply_filters('wprss_item_time_ago', $time_ago) ?>
273
- <?php echo $time_ago_text; ?> ago
274
  </div>
275
  <?php
276
  }
@@ -298,7 +298,7 @@
298
 
299
  } else {
300
  // Not items found message
301
- echo apply_filters( 'no_feed_items_found', __( 'No feed items found.', 'wprss' ) );
302
  }
303
 
304
  // Reset the WordPress query
@@ -348,8 +348,8 @@
348
  // Otherwise, using default paginations
349
  else {
350
  $output .= '<div class="nav-links">';
351
- $output .= ' <div class="nav-previous alignleft">' . get_next_posts_link( 'Older posts' ) . '</div>';
352
- $output .= ' <div class="nav-next alignright">' . get_previous_posts_link( 'Newer posts' ) . '</div>';
353
  $output .= '</div>';
354
  return $output;
355
  }
208
 
209
  // Prepare the text that precedes the source
210
  $text_preceding_source = wprss_get_general_setting('text_preceding_source');
211
+ $text_preceding_source = ltrim( __( $text_preceding_source, WPRSS_TEXT_DOMAIN ) . ' ' );
212
 
213
  $text_preceding_date = wprss_get_general_setting('text_preceding_date');
214
+ $text_preceding_date = ltrim( __( $text_preceding_date, WPRSS_TEXT_DOMAIN ) . ' ' );
215
 
216
  do_action( 'wprss_get_post_data' );
217
 
234
  do_action( 'wprss_after_feed_item_title', $extra_meta, $display_settings, get_the_ID() );
235
 
236
  // FEED ITEM META ?>
237
+ <div class="wprss-feed-meta">
238
 
239
  <!-- SOURCE -->
240
  <?php if ( wprss_get_general_setting('source_enable') == 1 ) : ?>
241
+ <span class="feed-source">
242
  <?php $source_link_text = apply_filters('wprss_item_source_link', wprss_link_display( $source_url, $source_name, $source_link )) ?>
243
  <?php $source_link_text = $text_preceding_source . $source_link_text ?>
244
  <?php echo $source_link_text ?>
259
  if ( wprss_get_general_setting('authors_enable') == 1 && $author !== NULL && is_string( $author ) && $author !== '' ) : ?>
260
  <span class="feed-author">
261
  <?php $author_text = apply_filters('wprss_item_author', $author) ?>
262
+ <?php printf( __( 'By %1$s', WPRSS_TEXT_DOMAIN ), $author_text ) ?>
263
  </span>
264
  <?php endif; ?>
265
 
270
  $time_ago = human_time_diff( $timestamp, time() ); ?>
271
  <div class="wprss-time-ago">
272
  <?php $time_ago_text = apply_filters('wprss_item_time_ago', $time_ago) ?>
273
+ <?php printf( __( '%1$s ago', WPRSS_TEXT_DOMAIN ), $time_ago_text ) ?>
274
  </div>
275
  <?php
276
  }
298
 
299
  } else {
300
  // Not items found message
301
+ echo apply_filters( 'no_feed_items_found', __( 'No feed items found.', WPRSS_TEXT_DOMAIN ) );
302
  }
303
 
304
  // Reset the WordPress query
348
  // Otherwise, using default paginations
349
  else {
350
  $output .= '<div class="nav-links">';
351
+ $output .= ' <div class="nav-previous alignleft">' . get_next_posts_link( __( 'Older posts', WPRSS_TEXT_DOMAIN ) ) . '</div>';
352
+ $output .= ' <div class="nav-next alignright">' . get_previous_posts_link( __( 'Newer posts', WPRSS_TEXT_DOMAIN ) ) . '</div>';
353
  $output .= '</div>';
354
  return $output;
355
  }
includes/feed-importing.php CHANGED
@@ -109,7 +109,7 @@
109
  wprss_items_insert_post( $items_to_insert, $feed_ID );
110
  }
111
  } else {
112
- wprss_log("The feed URL is not valid! Please recheck.");
113
  }
114
 
115
  $next_scheduled = get_post_meta( $feed_ID, 'wprss_reschedule_event', TRUE );
109
  wprss_items_insert_post( $items_to_insert, $feed_ID );
110
  }
111
  } else {
112
+ wprss_log_obj('The feed URL is not valid! Please recheck', $feed_url);
113
  }
114
 
115
  $next_scheduled = get_post_meta( $feed_ID, 'wprss_reschedule_event', TRUE );
includes/feed-processing.php CHANGED
@@ -409,12 +409,14 @@
409
  function wprss_get_max_age_for_feed_source( $source_id ) {
410
  $general_settings = get_option( 'wprss_settings_general' );
411
  // Get the meta data for age for this feed source
412
- $age_limit = get_post_meta( $source_id, 'wprss_age_limit', TRUE );
413
  $age_unit = get_post_meta( $source_id, 'wprss_age_unit', TRUE );
414
 
415
  // If the meta does not exist, use the global settings
416
- $age_limit = ( $age_limit === '' )? wprss_get_general_setting( 'limit_feed_items_age' ) : $age_limit;
417
- $age_unit = ( $age_unit === '' )? wprss_get_general_setting( 'limit_feed_items_age_unit' ) : $age_unit;
 
 
418
 
419
  // If the age limit is an empty string, use no limit
420
  if ( $age_limit === '' ) {
409
  function wprss_get_max_age_for_feed_source( $source_id ) {
410
  $general_settings = get_option( 'wprss_settings_general' );
411
  // Get the meta data for age for this feed source
412
+ $age_limit = trim( get_post_meta( $source_id, 'wprss_age_limit', TRUE ) );
413
  $age_unit = get_post_meta( $source_id, 'wprss_age_unit', TRUE );
414
 
415
  // If the meta does not exist, use the global settings
416
+ if( $age_limit === '' ) {
417
+ $age_limit = trim( wprss_get_general_setting( 'limit_feed_items_age' ) );
418
+ $age_unit = wprss_get_general_setting( 'limit_feed_items_age_unit' );
419
+ }
420
 
421
  // If the age limit is an empty string, use no limit
422
  if ( $age_limit === '' ) {
includes/feed-states.php CHANGED
@@ -107,7 +107,7 @@
107
  function wprss_notify_feed_sources_activated() {
108
  ?>
109
  <div class="updated">
110
- <p>The feed sources have been activated!</p>
111
  </div>
112
  <?php
113
  }
@@ -121,7 +121,7 @@
121
  function wprss_notify_feed_sources_paused() {
122
  ?>
123
  <div class="updated">
124
- <p>The feed sources have been paused!</p>
125
  </div>
126
  <?php
127
  }
107
  function wprss_notify_feed_sources_activated() {
108
  ?>
109
  <div class="updated">
110
+ <?php echo wpautop( __( 'The feed sources have been activated!', WPRSS_TEXT_DOMAIN ) ) ?>
111
  </div>
112
  <?php
113
  }
121
  function wprss_notify_feed_sources_paused() {
122
  ?>
123
  <div class="updated">
124
+ <?php echo wpautop( __( 'The feed sources have been paused!!', WPRSS_TEXT_DOMAIN ) ) ?>
125
  </div>
126
  <?php
127
  }
includes/licensing.php CHANGED
@@ -149,14 +149,14 @@ function wprss_license_settings() {
149
  // Settings Section
150
  add_settings_section(
151
  "wprss_settings_{$addon_id}_licenses_section",
152
- $addon_name .' '. __( 'License', 'wprss' ),
153
  '__return_empty_string',
154
  'wprss_settings_license_keys'
155
  );
156
  // License key field
157
  add_settings_field(
158
  "wprss_settings_{$addon_id}_license",
159
- __( 'License Key', 'wprss' ),
160
  'wprss_license_key_field',
161
  'wprss_settings_license_keys',
162
  "wprss_settings_{$addon_id}_licenses_section",
@@ -165,7 +165,7 @@ function wprss_license_settings() {
165
  // Activate license button
166
  add_settings_field(
167
  "wprss_settings_{$addon_id}_activate_license",
168
- __( 'Activate License', 'wprss' ),
169
  'wprss_activate_license_button',
170
  'wprss_settings_license_keys',
171
  "wprss_settings_{$addon_id}_licenses_section",
@@ -186,9 +186,9 @@ function wprss_license_key_field( $args ) {
186
  <input id="wprss-<?php echo $addon_id; ?>-license-key" name="wprss_settings_license_keys[<?php echo $addon_id; ?>_license_key]"
187
  type="text" value="<?php echo esc_attr( $license ); ?>" style="width: 300px;"
188
  />
189
- <label class='description' for='wprss-<?php echo $addon_id; ?>-license-key'>
190
- <?php _e( 'Enter your license key', 'wprss' ); ?>
191
- </label> <?
192
  }
193
 
194
 
@@ -207,11 +207,11 @@ function wprss_activate_license_button( $args ) {
207
  $btn_name = "wprss_{$addon_id}_license_" . ( $valid? 'deactivate' : 'activate' );
208
  wp_nonce_field( "wprss_{$addon_id}_license_nonce", "wprss_{$addon_id}_license_nonce" ); ?>
209
 
210
- <input type="submit" class="button-secondary" name="<?php echo $btn_name; ?>" value="<?php _e( $btn_text, 'wprss' ); ?>" />
211
  <span id="wprss-<?php echo $addon_id; ?>-license-status-text">
212
  <strong>Status:
213
  <span class="wprss-<?php echo $addon_id; ?>-license-<?php echo $status; ?>">
214
- <?php _e( ucfirst($status), 'wprss' ); ?>
215
  <?php if ( $status === 'valid' ) : ?>
216
  <i class="fa fa-check"></i>
217
  <?php elseif( $status === 'invalid' ): ?>
149
  // Settings Section
150
  add_settings_section(
151
  "wprss_settings_{$addon_id}_licenses_section",
152
+ $addon_name .' '. __( 'License', WPRSS_TEXT_DOMAIN ),
153
  '__return_empty_string',
154
  'wprss_settings_license_keys'
155
  );
156
  // License key field
157
  add_settings_field(
158
  "wprss_settings_{$addon_id}_license",
159
+ __( 'License Key', WPRSS_TEXT_DOMAIN ),
160
  'wprss_license_key_field',
161
  'wprss_settings_license_keys',
162
  "wprss_settings_{$addon_id}_licenses_section",
165
  // Activate license button
166
  add_settings_field(
167
  "wprss_settings_{$addon_id}_activate_license",
168
+ __( 'Activate License', WPRSS_TEXT_DOMAIN ),
169
  'wprss_activate_license_button',
170
  'wprss_settings_license_keys',
171
  "wprss_settings_{$addon_id}_licenses_section",
186
  <input id="wprss-<?php echo $addon_id; ?>-license-key" name="wprss_settings_license_keys[<?php echo $addon_id; ?>_license_key]"
187
  type="text" value="<?php echo esc_attr( $license ); ?>" style="width: 300px;"
188
  />
189
+ <label class="description" for="wprss-<?php echo $addon_id; ?>-license-key">
190
+ <?php _e( 'Enter your license key', WPRSS_TEXT_DOMAIN ); ?>
191
+ </label><?php
192
  }
193
 
194
 
207
  $btn_name = "wprss_{$addon_id}_license_" . ( $valid? 'deactivate' : 'activate' );
208
  wp_nonce_field( "wprss_{$addon_id}_license_nonce", "wprss_{$addon_id}_license_nonce" ); ?>
209
 
210
+ <input type="submit" class="button-secondary" name="<?php echo $btn_name; ?>" value="<?php _e( $btn_text, WPRSS_TEXT_DOMAIN ); ?>" />
211
  <span id="wprss-<?php echo $addon_id; ?>-license-status-text">
212
  <strong>Status:
213
  <span class="wprss-<?php echo $addon_id; ?>-license-<?php echo $status; ?>">
214
+ <?php _e( ucfirst($status), WPRSS_TEXT_DOMAIN ); ?>
215
  <?php if ( $status === 'valid' ) : ?>
216
  <i class="fa fa-check"></i>
217
  <?php elseif( $status === 'invalid' ): ?>
includes/opml-importer.php CHANGED
@@ -60,9 +60,9 @@
60
  */
61
  public function opml_import() {
62
  // Show the Icon and Title
63
- echo '<div class="wrap">';
64
  screen_icon();
65
- echo '<h2>Import OPML</h2>';
66
 
67
  // Get the current step from URL query string
68
  $step = empty( $_GET['step'] ) ? 0 : (int) $_GET['step'];
@@ -72,9 +72,9 @@
72
  default :
73
  case 0 :
74
  // Show the Import Message and the import upload form
75
- echo '<p>' . __( 'Howdy! Import your feeds here from an OPML (.xml) export file.', 'wprss' ) . '</p>';
76
- echo '<p>' . __( "Click the button below, choose your file, and click 'Upload'.", 'wprss' ) . '</p>';
77
- echo '<p>' . __( 'We will take care of the rest.', 'wprss' ) . '</p>';
78
 
79
  // Show an import upload form that submits to the same page, with GET parameter step=1
80
  wp_import_upload_form( 'admin.php?import=wprss_opml_importer&amp;step=1' );
@@ -94,7 +94,7 @@
94
  break;
95
  }
96
 
97
- echo '</div>';
98
  }
99
 
100
 
@@ -105,14 +105,14 @@
105
 
106
  // If the 'error' property is set, show the error message and return FALSE
107
  if ( isset( $file['error'] ) ) {
108
- echo '<p><strong>' . __( 'Sorry, an error has been encountered.', 'wprss' ) . '</strong><br />';
109
  echo esc_html( $file['error'] ) . '</p>';
110
  return false;
111
  // If the file does not exist, then show the error message and return FALSE
112
  } else if ( ! file_exists( $file['file'] ) ) {
113
- echo '<p><strong>' . __( 'Sorry, it seems your uploaded file has been misplaced!', 'wprss' ) . '</strong><br />';
114
- echo __( 'The uploaded file could not be found at ', 'wprss') . '<code>' . esc_html( $file['file'] ) . '</code>';
115
- echo __( 'It is likely that this was caused by a permissions problem.' , 'wprss' );
116
  echo '</p>';
117
  return false;
118
  }
@@ -184,16 +184,16 @@
184
  $opml = new WPRSS_OPML( $file );
185
 
186
  // Show Success Message
187
- echo '<h3>Feeds were imported successfully!</h3>';
188
 
189
  // Show imported feeds
190
  ?>
191
  <table class="widefat">
192
  <thead>
193
  <tr>
194
- <th>ID</th>
195
- <th>Title</th>
196
- <th>URL</th>
197
  </tr>
198
  </thead>
199
 
@@ -222,9 +222,9 @@
222
 
223
  <tfoot>
224
  <tr>
225
- <th>ID</th>
226
- <th>Title</th>
227
- <th>URL</th>
228
  </tr>
229
  </tfoot>
230
 
@@ -233,7 +233,7 @@
233
 
234
  } catch (Exception $e) {
235
  // Show Error Message
236
- echo '<div class="error"><p>' . $e->getMessage() . '</p></div>';
237
  }
238
  }
239
 
@@ -254,12 +254,9 @@
254
 
255
  register_importer(
256
  'wprss_opml_importer',
257
- 'WP RSS OPML',
258
- 'Import Feeds from an OPML file into WP RSS Aggregator',
259
  array( WPRSS_OPML_Importer::$singleton ,'opml_import' )
260
  );
261
 
262
  }
263
-
264
-
265
- ?>
60
  */
61
  public function opml_import() {
62
  // Show the Icon and Title
63
+ ?><div class="wrap"><?php
64
  screen_icon();
65
+ ?><h2><?php _e( 'Import OPML', WPRSS_TEXT_DOMAIN ) ?></h2><?php
66
 
67
  // Get the current step from URL query string
68
  $step = empty( $_GET['step'] ) ? 0 : (int) $_GET['step'];
72
  default :
73
  case 0 :
74
  // Show the Import Message and the import upload form
75
+ echo '<p>' . __( 'Howdy! Import your feeds here from an OPML (.xml) export file.', WPRSS_TEXT_DOMAIN ) . '</p>';
76
+ echo '<p>' . __( "Click the button below, choose your file, and click 'Upload'.", WPRSS_TEXT_DOMAIN ) . '</p>';
77
+ echo '<p>' . __( 'We will take care of the rest.', WPRSS_TEXT_DOMAIN ) . '</p>';
78
 
79
  // Show an import upload form that submits to the same page, with GET parameter step=1
80
  wp_import_upload_form( 'admin.php?import=wprss_opml_importer&amp;step=1' );
94
  break;
95
  }
96
 
97
+ ?></div><?php
98
  }
99
 
100
 
105
 
106
  // If the 'error' property is set, show the error message and return FALSE
107
  if ( isset( $file['error'] ) ) {
108
+ echo '<p><strong>' . __( 'Sorry, an error has been encountered.', WPRSS_TEXT_DOMAIN ) . '</strong><br />';
109
  echo esc_html( $file['error'] ) . '</p>';
110
  return false;
111
  // If the file does not exist, then show the error message and return FALSE
112
  } else if ( ! file_exists( $file['file'] ) ) {
113
+ echo '<p><strong>' . __( 'Sorry, it seems your uploaded file has been misplaced!', WPRSS_TEXT_DOMAIN ) . '</strong><br />';
114
+ echo __( 'The uploaded file could not be found at ', WPRSS_TEXT_DOMAIN ) . '<code>' . esc_html( $file['file'] ) . '</code>';
115
+ echo __( 'It is likely that this was caused by a permissions problem.' , WPRSS_TEXT_DOMAIN );
116
  echo '</p>';
117
  return false;
118
  }
184
  $opml = new WPRSS_OPML( $file );
185
 
186
  // Show Success Message
187
+ ?><h3><?php _e( 'Feeds were imported successfully!', WPRSS_TEXT_DOMAIN ) ?></h3><?php
188
 
189
  // Show imported feeds
190
  ?>
191
  <table class="widefat">
192
  <thead>
193
  <tr>
194
+ <th><?php _e( 'ID', WPRSS_TEXT_DOMAIN ) ?></th>
195
+ <th><?php _e( 'Title', WPRSS_TEXT_DOMAIN ) ?></th>
196
+ <th><?php _e( 'URL', WPRSS_TEXT_DOMAIN ) ?></th>
197
  </tr>
198
  </thead>
199
 
222
 
223
  <tfoot>
224
  <tr>
225
+ <th><?php _e( 'ID', WPRSS_TEXT_DOMAIN ) ?></th>
226
+ <th><?php _e( 'Title', WPRSS_TEXT_DOMAIN ) ?></th>
227
+ <th><?php _e( 'URL', WPRSS_TEXT_DOMAIN ) ?></th>
228
  </tr>
229
  </tfoot>
230
 
233
 
234
  } catch (Exception $e) {
235
  // Show Error Message
236
+ ?><div class="error"><?php echo wpautop( __( $e->getMessage(), WPRSS_TEXT_DOMAIN ) ) ?></div><?php
237
  }
238
  }
239
 
254
 
255
  register_importer(
256
  'wprss_opml_importer',
257
+ __( 'WP RSS OPML', WPRSS_TEXT_DOMAIN ),
258
+ __( 'Import Feeds from an OPML file into WP RSS Aggregator', WPRSS_TEXT_DOMAIN ),
259
  array( WPRSS_OPML_Importer::$singleton ,'opml_import' )
260
  );
261
 
262
  }
 
 
 
includes/scripts.php CHANGED
@@ -27,6 +27,10 @@
27
  $screen = get_current_screen();
28
 
29
  wp_enqueue_script( 'wprss-admin-addon-ajax', WPRSS_JS .'admin-addon-ajax.js', array('jquery') );
 
 
 
 
30
  wp_enqueue_style( 'wprss-admin-editor-styles', WPRSS_CSS . 'admin-editor.css' );
31
  wp_enqueue_style( 'wprss-admin-tracking-styles', WPRSS_CSS . 'admin-tracking-styles.css' );
32
 
@@ -37,7 +41,19 @@
37
  $page == 'wprss-aggregator-settings' || $screen->post_type === 'wprss_blacklist' ) {
38
  wp_enqueue_style( 'wprss-admin-styles', WPRSS_CSS . 'admin-styles.css' );
39
  wp_enqueue_style( 'wprss-fa', WPRSS_CSS . 'font-awesome.min.css' );
 
40
  wp_enqueue_script( 'wprss-admin-custom', WPRSS_JS .'admin-custom.js', array('jquery','jquery-ui-datepicker','jquery-ui-slider') );
 
 
 
 
 
 
 
 
 
 
 
41
  wp_enqueue_script( 'jquery-ui-timepicker-addon', WPRSS_JS .'jquery-ui-timepicker-addon.js', array('jquery','jquery-ui-datepicker') );
42
  wp_enqueue_style( 'jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css' );
43
  if ( 'post' === $screen->base && 'wprss_feed' === $screen->post_type ) {
@@ -46,11 +62,18 @@
46
  }
47
  if ( 'wprss_feed' === $screen->post_type ) {
48
  wp_enqueue_script( 'wprss-custom-bulk-actions', WPRSS_JS . 'admin-custom-bulk-actions.js', array( 'jquery' ) );
 
 
 
 
49
  }
50
  }
51
  // Load Heartbeat script and set dependancy for Heartbeat to ensure Heartbeat is loaded
52
  if ( 'edit' === $screen->base && $screen->post_type === 'wprss_feed' && apply_filters('wprss_ajax_polling', TRUE) === TRUE ) {
53
  wp_enqueue_script( 'wprss-feed-source-table-heartbeat', WPRSS_JS .'heartbeat.js' );
 
 
 
54
  }
55
 
56
  else if ( 'dashboard_page_wprss-welcome' === $screen->base ) {
27
  $screen = get_current_screen();
28
 
29
  wp_enqueue_script( 'wprss-admin-addon-ajax', WPRSS_JS .'admin-addon-ajax.js', array('jquery') );
30
+ wp_localize_script( 'wprss-admin-addon-ajax', 'wprss_admin_addon_ajax', array(
31
+ 'please_wait' => __( 'Please wait ...', WPRSS_TEXT_DOMAIN )
32
+ ) );
33
+
34
  wp_enqueue_style( 'wprss-admin-editor-styles', WPRSS_CSS . 'admin-editor.css' );
35
  wp_enqueue_style( 'wprss-admin-tracking-styles', WPRSS_CSS . 'admin-tracking-styles.css' );
36
 
41
  $page == 'wprss-aggregator-settings' || $screen->post_type === 'wprss_blacklist' ) {
42
  wp_enqueue_style( 'wprss-admin-styles', WPRSS_CSS . 'admin-styles.css' );
43
  wp_enqueue_style( 'wprss-fa', WPRSS_CSS . 'font-awesome.min.css' );
44
+
45
  wp_enqueue_script( 'wprss-admin-custom', WPRSS_JS .'admin-custom.js', array('jquery','jquery-ui-datepicker','jquery-ui-slider') );
46
+ wp_localize_script( 'wprss-admin-custom', 'wprss_admin_custom', array(
47
+ 'failed_to_import' => __( 'Failed to import', WPRSS_TEXT_DOMAIN ),
48
+ 'items_are_importing' => __( 'Items are importing', WPRSS_TEXT_DOMAIN ),
49
+ 'please_wait' => __( 'Please wait ...', WPRSS_TEXT_DOMAIN ),
50
+ 'bulk_add' => __( 'Bulk Add', WPRSS_TEXT_DOMAIN ),
51
+ 'ok' => __( 'OK', WPRSS_TEXT_DOMAIN ),
52
+ 'cancel' => __( 'Cancel', WPRSS_TEXT_DOMAIN ),
53
+ 'blacklist_desc' => __( 'The feed items listed here will be disregarded when importing new items from your feed sources.', WPRSS_TEXT_DOMAIN ),
54
+ 'blacklist_remove' => __( 'Remove selected from Blacklist', WPRSS_TEXT_DOMAIN ),
55
+ ) );
56
+
57
  wp_enqueue_script( 'jquery-ui-timepicker-addon', WPRSS_JS .'jquery-ui-timepicker-addon.js', array('jquery','jquery-ui-datepicker') );
58
  wp_enqueue_style( 'jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css' );
59
  if ( 'post' === $screen->base && 'wprss_feed' === $screen->post_type ) {
62
  }
63
  if ( 'wprss_feed' === $screen->post_type ) {
64
  wp_enqueue_script( 'wprss-custom-bulk-actions', WPRSS_JS . 'admin-custom-bulk-actions.js', array( 'jquery' ) );
65
+ wp_localize_script( 'wprss-custom-bulk-actions', 'wprss_admin_bulk', array(
66
+ 'activate' => __( 'Activate', WPRSS_TEXT_DOMAIN ),
67
+ 'pause' => __( 'Pause', WPRSS_TEXT_DOMAIN )
68
+ ) );
69
  }
70
  }
71
  // Load Heartbeat script and set dependancy for Heartbeat to ensure Heartbeat is loaded
72
  if ( 'edit' === $screen->base && $screen->post_type === 'wprss_feed' && apply_filters('wprss_ajax_polling', TRUE) === TRUE ) {
73
  wp_enqueue_script( 'wprss-feed-source-table-heartbeat', WPRSS_JS .'heartbeat.js' );
74
+ wp_localize_script( 'wprss-feed-source-table-heartbeat', 'wprss_admin_heartbeat', array(
75
+ 'ago' => __( 'ago', WPRSS_TEXT_DOMAIN )
76
+ ) );
77
  }
78
 
79
  else if ( 'dashboard_page_wprss-welcome' === $screen->base ) {
includes/shortcodes.php CHANGED
@@ -8,7 +8,7 @@
8
 
9
  //Enqueue scripts / styles
10
  wp_enqueue_script( 'jquery.colorbox-min', WPRSS_JS . 'jquery.colorbox-min.js', array( 'jquery' ) );
11
- wp_enqueue_script( 'custom', WPRSS_JS . 'custom.js', array( 'jquery', 'jquery.colorbox-min' ) );
12
 
13
  $general_settings = get_option( 'wprss_settings_general' );
14
 
8
 
9
  //Enqueue scripts / styles
10
  wp_enqueue_script( 'jquery.colorbox-min', WPRSS_JS . 'jquery.colorbox-min.js', array( 'jquery' ) );
11
+ wp_enqueue_script( 'wprss_custom', WPRSS_JS . 'custom.js', array( 'jquery', 'jquery.colorbox-min' ) );
12
 
13
  $general_settings = get_option( 'wprss_settings_general' );
14
 
includes/system-info.php CHANGED
@@ -24,13 +24,13 @@
24
 
25
  $browser = new Browser();
26
  ?>
27
- <h3><?php _e( 'System Information', 'wprss' ) ?></h3>
28
  <?php
29
  $form_url = admin_url( 'edit.php?post_type=wprss_feed&page=wprss-debugging' );
30
  $nonce_url = wp_nonce_url( $form_url, 'wprss-sysinfo' );
31
  ?>
32
  <form action="<?php echo esc_url( $nonce_url ); ?>" method="post">
33
- <textarea readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="wprss-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'wprss' ); ?>">
34
  ### Begin System Info ###
35
 
36
  ## Please include this information when posting support requests ##
@@ -76,7 +76,7 @@ UPLOAD_MAX_FILESIZE: <?php if ( function_exists( 'phpversion' ) ) echo ( wp
76
  POST_MAX_SIZE: <?php if ( function_exists( 'phpversion' ) ) echo ( wprss_let_to_num( ini_get( 'post_max_size' ) )/( 1024*1024 ) )."MB"; ?><?php echo "\n"; ?>
77
  WordPress Memory Limit: <?php echo ( wprss_let_to_num( WP_MEMORY_LIMIT )/( 1024*1024 ) )."MB"; ?><?php echo "\n"; ?>
78
  DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
79
- FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? __( 'Your server supports fsockopen.', 'wprss' ) : __( 'Your server does not support fsockopen.', 'wprss' ); ?><?php echo "\n"; ?>
80
 
81
  ACTIVE PLUGINS:
82
 
@@ -149,7 +149,7 @@ if ( get_bloginfo( 'version' ) < '3.4' ) {
149
  </textarea>
150
  <p class="submit">
151
  <input type="hidden" name="wprss-action" value="download_sysinfo" />
152
- <?php submit_button( __( 'Download System Info File', 'wprss' ), 'primary', 'wprss-download-sysinfo', false ); ?>
153
  </p>
154
  </form>
155
 
24
 
25
  $browser = new Browser();
26
  ?>
27
+ <h3><?php _e( 'System Information', WPRSS_TEXT_DOMAIN ) ?></h3>
28
  <?php
29
  $form_url = admin_url( 'edit.php?post_type=wprss_feed&page=wprss-debugging' );
30
  $nonce_url = wp_nonce_url( $form_url, 'wprss-sysinfo' );
31
  ?>
32
  <form action="<?php echo esc_url( $nonce_url ); ?>" method="post">
33
+ <textarea readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="wprss-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', WPRSS_TEXT_DOMAIN ); ?>">
34
  ### Begin System Info ###
35
 
36
  ## Please include this information when posting support requests ##
76
  POST_MAX_SIZE: <?php if ( function_exists( 'phpversion' ) ) echo ( wprss_let_to_num( ini_get( 'post_max_size' ) )/( 1024*1024 ) )."MB"; ?><?php echo "\n"; ?>
77
  WordPress Memory Limit: <?php echo ( wprss_let_to_num( WP_MEMORY_LIMIT )/( 1024*1024 ) )."MB"; ?><?php echo "\n"; ?>
78
  DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
79
+ FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? __( 'Your server supports fsockopen.', WPRSS_TEXT_DOMAIN ) : __( 'Your server does not support fsockopen.', WPRSS_TEXT_DOMAIN ); ?><?php echo "\n"; ?>
80
 
81
  ACTIVE PLUGINS:
82
 
149
  </textarea>
150
  <p class="submit">
151
  <input type="hidden" name="wprss-action" value="download_sysinfo" />
152
+ <?php submit_button( __( 'Download System Info File', WPRSS_TEXT_DOMAIN ), 'primary', 'wprss-download-sysinfo', false ); ?>
153
  </p>
154
  </form>
155
 
includes/update.php CHANGED
@@ -64,9 +64,9 @@
64
 
65
  // NO FOLLOW CHANGE FIX
66
  $options = get_option( 'wprss_settings_general' );
67
- if ( $options['follow_dd'] === __( "No Follow", 'wprss' ) ) {
68
  $options['follow_dd'] = 'no_follow';
69
- } elseif ( $options['follow_dd'] === __( "Follow", 'wprss' ) ) {
70
  $options['follow_dd'] = 'follow';
71
  }
72
  }
64
 
65
  // NO FOLLOW CHANGE FIX
66
  $options = get_option( 'wprss_settings_general' );
67
+ if ( $options['follow_dd'] === __( "No Follow", WPRSS_TEXT_DOMAIN ) ) {
68
  $options['follow_dd'] = 'no_follow';
69
+ } elseif ( $options['follow_dd'] === __( "Follow", WPRSS_TEXT_DOMAIN ) ) {
70
  $options['follow_dd'] = 'follow';
71
  }
72
  }
js/admin-addon-ajax.js CHANGED
@@ -21,7 +21,7 @@ jQuery( document ).ready( function($) {
21
  }
22
  }
23
  });
24
- $(this).text('Please wait ...');
25
  }
26
  });
27
 
21
  }
22
  }
23
  });
24
+ $(this).text( wprss_admin_addon_ajax.please_wait );
25
  }
26
  });
27
 
js/admin-custom-bulk-actions.js CHANGED
@@ -3,15 +3,15 @@
3
  *
4
  * @since 2.5
5
  */
6
- (function($){
7
 
8
  $(document).ready( function(){
9
  var bulk_actions_select = $( 'select[name="action"]' );
10
  var bulk_actions_trash = bulk_actions_select.find( "option[value='trash']" );
11
 
12
- $( '<option>' ).attr( 'value', 'activate' ).text( 'Activate' ).insertBefore( bulk_actions_trash );
13
- $( '<option>' ).attr( 'value', 'pause' ).text( 'Pause' ).insertBefore( bulk_actions_trash );
14
  });
15
 
16
 
17
- })(jQuery);
3
  *
4
  * @since 2.5
5
  */
6
+ (function($, wprss_admin_bulk){
7
 
8
  $(document).ready( function(){
9
  var bulk_actions_select = $( 'select[name="action"]' );
10
  var bulk_actions_trash = bulk_actions_select.find( "option[value='trash']" );
11
 
12
+ $( '<option>' ).attr( 'value', 'activate' ).text( wprss_admin_bulk.activate ).insertBefore( bulk_actions_trash );
13
+ $( '<option>' ).attr( 'value', 'pause' ).text( wprss_admin_bulk.pause ).insertBefore( bulk_actions_trash );
14
  });
15
 
16
 
17
+ })(jQuery, wprss_admin_bulk);
js/admin-custom.js CHANGED
@@ -14,14 +14,14 @@ function fetch_items_row_action_callback(){
14
  },
15
  success: function( response, status, jqXHR ){
16
  console.log( jqXHR );
17
- link.text( 'Items are importing!' );
18
  jQuery('table.wp-list-table tbody tr.post-' + id + ' td.column-feed-count i.fa-spin').addClass('wprss-show');
19
  setTimeout( function(){
20
  link.text( original_text ).click( fetch_items_row_action_callback );
21
  }, 3500 );
22
  },
23
  error: function( response, status, error ){
24
- link.text( 'Failed to import: ' + error );
25
  setTimeout( function(){
26
  link.text( original_text ).click( fetch_items_row_action_callback );
27
  }, 3500 );
@@ -42,7 +42,7 @@ function fetch_items_row_action_callback(){
42
  }, 3500 );
43
  }
44
  );*/
45
- link.text('Please wait ...');
46
  link.unbind('click');
47
  };
48
 
@@ -170,11 +170,11 @@ jQuery(window).load( function(){
170
  /**
171
  * WP-like collapsing settings in metabox
172
  */
173
- (function($){
174
  $(window).load( function(){
175
 
176
  // Adds the Bulk Add button
177
- $('<a>').text('Bulk Add').attr('href', wprss_urls.import_export).addClass('add-new-h2').insertAfter( $('.add-new-h2') );
178
 
179
  // Initialize all collapsable meta settings
180
  $('.wprss-meta-slider').each(function(){
@@ -256,9 +256,9 @@ jQuery(window).load( function(){
256
  };
257
 
258
  // Create the OK Button
259
- var okBtn = $('<a>').addClass('wprss-slider-button button-secondary').text('OK').click( update );
260
  // Create the Cancel Button
261
- var cancelBtn = $('<a>').addClass('wprss-slider-button').text('Cancel').click( function() {
262
  fields.each( function(){
263
  $(this).val( $(this).attr( 'data-old-value' ) );
264
  $(this).removeAttr( 'data-old-value' );
@@ -278,22 +278,22 @@ jQuery(window).load( function(){
278
  });
279
 
280
  });
281
- })(jQuery);
282
 
283
 
284
  // For Blacklist
285
- (function($) {
286
  $(document).ready( function(){
287
  if ( $('body').hasClass('post-type-wprss_blacklist') ) {
288
 
289
 
290
 
291
- $('<p>').text('The feed items listed here will be disregarded when importing new items from your feed sources.')
292
  .insertBefore( $('.tablenav.top') );
293
 
294
 
295
  // Construct the bulk delete button
296
- $('<a>').addClass('button').attr('href', '#').text('Remove selected from Blacklist')
297
  // Add it to the page
298
  .appendTo( $('div.tablenav.top div.bulkactions') )
299
  // Bind the click event
@@ -316,7 +316,7 @@ jQuery(window).load( function(){
316
  $('table.wp-list-table a.row-title').contents().unwrap();
317
  }
318
  });
319
- })(jQuery);
320
 
321
 
322
  // Utility string trim method, if it does not exist
14
  },
15
  success: function( response, status, jqXHR ){
16
  console.log( jqXHR );
17
+ link.text( wprss_admin_custom.items_are_importing + '!' );
18
  jQuery('table.wp-list-table tbody tr.post-' + id + ' td.column-feed-count i.fa-spin').addClass('wprss-show');
19
  setTimeout( function(){
20
  link.text( original_text ).click( fetch_items_row_action_callback );
21
  }, 3500 );
22
  },
23
  error: function( response, status, error ){
24
+ link.text( wprss_admin_custom.failed_to_import + ': ' + error );
25
  setTimeout( function(){
26
  link.text( original_text ).click( fetch_items_row_action_callback );
27
  }, 3500 );
42
  }, 3500 );
43
  }
44
  );*/
45
+ link.text( wprss_admin_custom.please_wait );
46
  link.unbind('click');
47
  };
48
 
170
  /**
171
  * WP-like collapsing settings in metabox
172
  */
173
+ (function($, wprss_admin_custom){
174
  $(window).load( function(){
175
 
176
  // Adds the Bulk Add button
177
+ $('<a>').text( wprss_admin_custom.bulk_add ).attr('href', wprss_urls.import_export).addClass('add-new-h2').insertAfter( $('.add-new-h2') );
178
 
179
  // Initialize all collapsable meta settings
180
  $('.wprss-meta-slider').each(function(){
256
  };
257
 
258
  // Create the OK Button
259
+ var okBtn = $('<a>').addClass('wprss-slider-button button-secondary').text( wprss_admin_custom.ok ).click( update );
260
  // Create the Cancel Button
261
+ var cancelBtn = $('<a>').addClass('wprss-slider-button').text( wprss_admin_custom.cancel ).click( function() {
262
  fields.each( function(){
263
  $(this).val( $(this).attr( 'data-old-value' ) );
264
  $(this).removeAttr( 'data-old-value' );
278
  });
279
 
280
  });
281
+ })(jQuery, wprss_admin_custom);
282
 
283
 
284
  // For Blacklist
285
+ (function($, wprss_admin_custom) {
286
  $(document).ready( function(){
287
  if ( $('body').hasClass('post-type-wprss_blacklist') ) {
288
 
289
 
290
 
291
+ $('<p>').text( wprss_admin_custom.blacklist_desc )
292
  .insertBefore( $('.tablenav.top') );
293
 
294
 
295
  // Construct the bulk delete button
296
+ $('<a>').addClass('button').attr('href', '#').text( wprss_admin_custom.blacklist_remove )
297
  // Add it to the page
298
  .appendTo( $('div.tablenav.top div.bulkactions') )
299
  // Bind the click event
316
  $('table.wp-list-table a.row-title').contents().unwrap();
317
  }
318
  });
319
+ })(jQuery, wprss_admin_custom);
320
 
321
 
322
  // Utility string trim method, if it does not exist
js/heartbeat.js CHANGED
@@ -1,4 +1,4 @@
1
- (function($){
2
 
3
 
4
  /**
@@ -7,6 +7,7 @@
7
  var getFeedSourceIDS = function() {
8
  var ids = [];
9
  $('table.wp-list-table tbody tr').each( function(){
 
10
  ids.push( $(this).attr('id').split('-')[1] );
11
  });
12
  return ids;
@@ -51,7 +52,7 @@
51
  if ( feed_source['last-update'] == '' )
52
  updatesCol.find('p.last-update-container').hide();
53
  else
54
- updatesCol.find('code.last-update').text( feed_source['last-update'] + " ago" );
55
 
56
  // Update the last update items count
57
  if ( feed_source['last-update-imported'] == '' )
@@ -120,4 +121,4 @@
120
  });
121
 
122
 
123
- })(jQuery);
1
+ (function($, wprss_admin_heartbeat){
2
 
3
 
4
  /**
7
  var getFeedSourceIDS = function() {
8
  var ids = [];
9
  $('table.wp-list-table tbody tr').each( function(){
10
+ if ( $(this).hasClass('no-items') ) return;
11
  ids.push( $(this).attr('id').split('-')[1] );
12
  });
13
  return ids;
52
  if ( feed_source['last-update'] == '' )
53
  updatesCol.find('p.last-update-container').hide();
54
  else
55
+ updatesCol.find('code.last-update').text( feed_source['last-update'] + ' ' + wprss_admin_heartbeat.ago );
56
 
57
  // Update the last update items count
58
  if ( feed_source['last-update-imported'] == '' )
121
  });
122
 
123
 
124
+ })(jQuery, wprss_admin_heartbeat);
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: 4.0
8
- Stable tag: 4.6
9
  License: GPLv2 or later
10
  The no.1 RSS feed importer for WordPress. Premium add-ons available for more functionality.
11
 
@@ -165,6 +165,10 @@ The full documentation section can be found on the [WP RSS Aggregator website](w
165
 
166
  == Changelog ==
167
 
 
 
 
 
168
  = 4.6 (2014-09-22) =
169
  * Enhanced: Improved the user interface, with better responsiveness and tooltips.
170
  * Enhanced: Removes the ID column. The ID is now shown fixed in row actions.
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: 4.0
8
+ Stable tag: 4.6.1
9
  License: GPLv2 or later
10
  The no.1 RSS feed importer for WordPress. Premium add-ons available for more functionality.
11
 
165
 
166
  == Changelog ==
167
 
168
+ = 4.6.1 (2014-10-06) =
169
+ * Enhanced: Improved internationalization in the plugin, for better translations.
170
+ * Fixed bug: If the feed source age limit was left empty, the global setting was used instead of ignoring the limit.
171
+
172
  = 4.6 (2014-09-22) =
173
  * Enhanced: Improved the user interface, with better responsiveness and tooltips.
174
  * Enhanced: Removes the ID column. The ID is now shown fixed in row actions.
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.6
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.6
33
  * @since 1.0
34
  * @author Jean Galea <info@wprssaggregator.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.6', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )
@@ -248,15 +248,15 @@
248
 
249
  'target' => '#wpadminbar',
250
  'options' => array(
251
- 'content' => '<h3>' . __( 'Help improve WP RSS Aggregator', 'wprss' ) . '</h3>' . '<p>' . __( 'You\'ve just installed WP RSS Aggregator. Please helps us improve it by allowing us to gather anonymous usage stats so we know which configurations, plugins and themes to test with.', 'wprss' ) . '</p>',
252
  'position' => array(
253
  'edge' => 'top',
254
  'align' => 'center',
255
  ),
256
  'active' => TRUE,
257
  'btns' => array(
258
- 'wprss-tracking-opt-out' => __( 'Do not allow tracking', 'wprss' ),
259
- 'wprss-tracking-opt-in' => __( 'Allow tracking', 'wprss' ),
260
  )
261
  )
262
  )
@@ -442,7 +442,7 @@
442
  * @return void
443
  */
444
  function wprss_load_textdomain() {
445
- load_plugin_textdomain( 'wprss', false, WPRSS_LANG );
446
  }
447
 
448
 
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.6.1
7
  Author: Jean Galea
8
  Author URI: http://www.wprssaggregator.com
9
  License: GPLv2
29
 
30
  /**
31
  * @package WPRSSAggregator
32
+ * @version 4.6.1
33
  * @since 1.0
34
  * @author Jean Galea <info@wprssaggregator.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.6.1', true );
47
 
48
  // Set the database version number of the plugin.
49
  if( !defined( 'WPRSS_DB_VERSION' ) )
248
 
249
  'target' => '#wpadminbar',
250
  'options' => array(
251
+ 'content' => '<h3>' . __( 'Help improve WP RSS Aggregator', WPRSS_TEXT_DOMAIN ) . '</h3>' . '<p>' . __( 'You\'ve just installed WP RSS Aggregator. Please helps us improve it by allowing us to gather anonymous usage stats so we know which configurations, plugins and themes to test with.', WPRSS_TEXT_DOMAIN ) . '</p>',
252
  'position' => array(
253
  'edge' => 'top',
254
  'align' => 'center',
255
  ),
256
  'active' => TRUE,
257
  'btns' => array(
258
+ 'wprss-tracking-opt-out' => __( 'Do not allow tracking', WPRSS_TEXT_DOMAIN ),
259
+ 'wprss-tracking-opt-in' => __( 'Allow tracking', WPRSS_TEXT_DOMAIN ),
260
  )
261
  )
262
  )
442
  * @return void
443
  */
444
  function wprss_load_textdomain() {
445
+ load_plugin_textdomain( WPRSS_TEXT_DOMAIN, false, WPRSS_LANG );
446
  }
447
 
448