Version Description
- 2018-04-02
Download this release
Release Info
Developer | codeinwp |
Plugin | FEEDZY RSS Feeds Lite |
Version | 3.2.10 |
Comparing to | |
See all releases |
Code changes from version 3.2.9 to 3.2.10
- CHANGELOG.md +5 -0
- css/feedzy-rss-feeds.css +1 -1
- feedzy-rss-feed.php +7 -1
- includes/abstract/feedzy-rss-feeds-admin-abstract.php +10 -12
- includes/admin/feedzy-rss-feeds-admin.php +1 -1
- includes/admin/feedzy-rss-feeds-ui-lang.php +23 -0
- includes/feedzy-rss-feeds.php +1 -1
- includes/util/feedzy-rss-feeds-util-simplepie.php +85 -0
- readme.md +13 -0
- readme.txt +13 -0
- themeisle-hash.json +1 -1
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php +7 -0
- vendor/codeinwp/themeisle-sdk/load.php +1 -1
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/installed.json +4 -4
CHANGELOG.md
CHANGED
@@ -1,4 +1,9 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
2 |
### v3.2.9 - 2018-03-07
|
3 |
**Changes:**
|
4 |
* Automatically fix deprecated google news feeds.
|
1 |
|
2 |
+
### v3.2.10 - 2018-04-02
|
3 |
+
**Changes:**
|
4 |
+
* Adds shortcode attribute for feed items order ( title ASC/DESC, date ASC/DESC).
|
5 |
+
* Improve documentation and examples.
|
6 |
+
|
7 |
### v3.2.9 - 2018-03-07
|
8 |
**Changes:**
|
9 |
* Automatically fix deprecated google news feeds.
|
css/feedzy-rss-feeds.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* feedzy-rss-feeds.css
|
3 |
* Feedzy RSS Feed
|
4 |
* Copyright: (c) 2016 Themeisle, themeisle.com
|
5 |
-
* Version: 3.2.
|
6 |
* Plugin Name: FEEDZY RSS Feeds
|
7 |
* Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
|
8 |
* Author: Themeisle
|
2 |
* feedzy-rss-feeds.css
|
3 |
* Feedzy RSS Feed
|
4 |
* Copyright: (c) 2016 Themeisle, themeisle.com
|
5 |
+
* Version: 3.2.10
|
6 |
* Plugin Name: FEEDZY RSS Feeds
|
7 |
* Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
|
8 |
* Author: Themeisle
|
feedzy-rss-feed.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: Feedzy RSS Feeds Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
|
17 |
* Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
|
18 |
-
* Version: 3.2.
|
19 |
* Author: Themeisle
|
20 |
* Author URI: http://themeisle.com
|
21 |
* License: GPL-2.0+
|
@@ -75,6 +75,12 @@ function feedzy_rss_feeds_autoload( $class ) {
|
|
75 |
if ( is_readable( $filename ) ) {
|
76 |
require_once $filename;
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
return true;
|
79 |
}
|
80 |
}
|
15 |
* Plugin Name: Feedzy RSS Feeds Lite
|
16 |
* Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
|
17 |
* Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
|
18 |
+
* Version: 3.2.10
|
19 |
* Author: Themeisle
|
20 |
* Author URI: http://themeisle.com
|
21 |
* License: GPL-2.0+
|
75 |
if ( is_readable( $filename ) ) {
|
76 |
require_once $filename;
|
77 |
|
78 |
+
return true;
|
79 |
+
}
|
80 |
+
$filename = plugin_dir_path( __FILE__ ) . 'includes/util/' . str_replace( '_', '-', strtolower( $class ) ) . '.php';
|
81 |
+
if ( is_readable( $filename ) ) {
|
82 |
+
require_once $filename;
|
83 |
+
|
84 |
return true;
|
85 |
}
|
86 |
}
|
includes/abstract/feedzy-rss-feeds-admin-abstract.php
CHANGED
@@ -232,7 +232,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
232 |
$sc = $this->get_short_code_attributes( $atts );
|
233 |
$feedURL = $this->normalize_urls( $sc['feeds'] );
|
234 |
$cache = $sc['refresh'];
|
235 |
-
$feed = $this->fetch_feed( $feedURL, $cache );
|
236 |
if ( is_string( $feed ) ) {
|
237 |
return $feed;
|
238 |
}
|
@@ -281,6 +281,8 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
281 |
'keywords_title' => '',
|
282 |
// cache refresh
|
283 |
'refresh' => '12_hours',
|
|
|
|
|
284 |
// only display item if title contains specific keywords (comma-separated list/case sensitive)
|
285 |
), $atts, 'feedzy_default'
|
286 |
);
|
@@ -348,15 +350,16 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
348 |
*
|
349 |
* @param array $feedURL The feeds urls to fetch content from.
|
350 |
* @param string $cache The cache string (eg. 1_hour, 30_min etc.).
|
|
|
351 |
*
|
352 |
* @return SimplePie|string|void|WP_Error The feed resource.
|
353 |
*/
|
354 |
-
public function fetch_feed( $feedURL, $cache = '12_hours' ) {
|
355 |
// Load SimplePie if not already
|
356 |
do_action( 'feedzy_pre_http_setup', $feedURL );
|
357 |
|
358 |
// Load SimplePie Instance
|
359 |
-
$feed = $this->init_feed( $feedURL, $cache ); // Not used as log as #41304 is Opened.
|
360 |
|
361 |
// Report error when is an error loading the feed
|
362 |
if ( is_wp_error( $feed ) ) {
|
@@ -369,7 +372,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
369 |
|
370 |
$feedURL = $this->get_valid_feed_urls( $feedURL, $cache );
|
371 |
|
372 |
-
$feed = $this->init_feed( $feedURL, $cache ); // Not used as log as #41304 is Opened.
|
373 |
|
374 |
}
|
375 |
|
@@ -392,16 +395,11 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
392 |
*
|
393 |
* @param string $feedURL The feed URL.
|
394 |
* @param string $cache The cache string (eg. 1_hour, 30_min etc.).
|
|
|
395 |
*
|
396 |
* @return SimplePie
|
397 |
*/
|
398 |
-
private function init_feed( $feedURL, $cache ) {
|
399 |
-
if ( ! class_exists( 'SimplePie' ) ) {
|
400 |
-
require_once( ABSPATH . WPINC . '/class-simplepie.php' );
|
401 |
-
require_once( ABSPATH . WPINC . '/class-wp-feed-cache.php' );
|
402 |
-
require_once( ABSPATH . WPINC . '/class-wp-feed-cache-transient.php' );
|
403 |
-
require_once( ABSPATH . WPINC . '/class-wp-simplepie-file.php' );
|
404 |
-
}
|
405 |
$unit_defaults = array(
|
406 |
'mins' => MINUTE_IN_SECONDS,
|
407 |
'hours' => HOUR_IN_SECONDS,
|
@@ -417,7 +415,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
|
|
417 |
}
|
418 |
}
|
419 |
|
420 |
-
$feed = new
|
421 |
$feed->set_file_class( 'WP_SimplePie_File' );
|
422 |
$default_agent = $this->get_default_user_agent( $feedURL );
|
423 |
$feed->set_useragent( apply_filters( 'http_headers_useragent', $default_agent ) );
|
232 |
$sc = $this->get_short_code_attributes( $atts );
|
233 |
$feedURL = $this->normalize_urls( $sc['feeds'] );
|
234 |
$cache = $sc['refresh'];
|
235 |
+
$feed = $this->fetch_feed( $feedURL, $cache, $sc );
|
236 |
if ( is_string( $feed ) ) {
|
237 |
return $feed;
|
238 |
}
|
281 |
'keywords_title' => '',
|
282 |
// cache refresh
|
283 |
'refresh' => '12_hours',
|
284 |
+
// sorting.
|
285 |
+
'sort' => '',
|
286 |
// only display item if title contains specific keywords (comma-separated list/case sensitive)
|
287 |
), $atts, 'feedzy_default'
|
288 |
);
|
350 |
*
|
351 |
* @param array $feedURL The feeds urls to fetch content from.
|
352 |
* @param string $cache The cache string (eg. 1_hour, 30_min etc.).
|
353 |
+
* @param array $sc The shortcode attributes.
|
354 |
*
|
355 |
* @return SimplePie|string|void|WP_Error The feed resource.
|
356 |
*/
|
357 |
+
public function fetch_feed( $feedURL, $cache = '12_hours', $sc ) {
|
358 |
// Load SimplePie if not already
|
359 |
do_action( 'feedzy_pre_http_setup', $feedURL );
|
360 |
|
361 |
// Load SimplePie Instance
|
362 |
+
$feed = $this->init_feed( $feedURL, $cache, $sc ); // Not used as log as #41304 is Opened.
|
363 |
|
364 |
// Report error when is an error loading the feed
|
365 |
if ( is_wp_error( $feed ) ) {
|
372 |
|
373 |
$feedURL = $this->get_valid_feed_urls( $feedURL, $cache );
|
374 |
|
375 |
+
$feed = $this->init_feed( $feedURL, $cache, $sc ); // Not used as log as #41304 is Opened.
|
376 |
|
377 |
}
|
378 |
|
395 |
*
|
396 |
* @param string $feedURL The feed URL.
|
397 |
* @param string $cache The cache string (eg. 1_hour, 30_min etc.).
|
398 |
+
* @param array $sc The shortcode attributes.
|
399 |
*
|
400 |
* @return SimplePie
|
401 |
*/
|
402 |
+
private function init_feed( $feedURL, $cache, $sc ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
$unit_defaults = array(
|
404 |
'mins' => MINUTE_IN_SECONDS,
|
405 |
'hours' => HOUR_IN_SECONDS,
|
415 |
}
|
416 |
}
|
417 |
|
418 |
+
$feed = new Feedzy_Rss_Feeds_Util_SimplePie( $sc );
|
419 |
$feed->set_file_class( 'WP_SimplePie_File' );
|
420 |
$default_agent = $this->get_default_user_agent( $feedURL );
|
421 |
$feed->set_useragent( apply_filters( 'http_headers_useragent', $default_agent ) );
|
includes/admin/feedzy-rss-feeds-admin.php
CHANGED
@@ -328,7 +328,7 @@ class Feedzy_Rss_Feeds_Admin extends Feedzy_Rss_Feeds_Admin_Abstract {
|
|
328 |
public function feedzy_filter_plugin_row_meta( $links, $file ) {
|
329 |
if ( strpos( $file, 'feedzy-rss-feed.php' ) !== false ) {
|
330 |
$new_links = array(
|
331 |
-
'doc' => '<a href="
|
332 |
'more_features' => '<a href="' . FEEDZY_UPSELL_LINK . '" target="_blank" title="' . __( 'More Plugins', 'feedzy-rss-feeds' ) . '">' . __( 'More Features', 'feedzy-rss-feeds' ) . '<i style="width: 17px; height: 17px; margin-left: 4px; color: #ffca54; font-size: 17px; vertical-align: -3px;" class="dashicons dashicons-unlock more-features-icon"></i></a>',
|
333 |
);
|
334 |
$links = array_merge( $links, $new_links );
|
328 |
public function feedzy_filter_plugin_row_meta( $links, $file ) {
|
329 |
if ( strpos( $file, 'feedzy-rss-feed.php' ) !== false ) {
|
330 |
$new_links = array(
|
331 |
+
'doc' => '<a href="https://docs.themeisle.com/article/658-feedzy-rss-feeds" target="_blank" title="' . __( 'Documentation and examples', 'feedzy-rss-feeds' ) . '">' . __( 'Documentation and examples', 'feedzy-rss-feeds' ) . '</a>',
|
332 |
'more_features' => '<a href="' . FEEDZY_UPSELL_LINK . '" target="_blank" title="' . __( 'More Plugins', 'feedzy-rss-feeds' ) . '">' . __( 'More Features', 'feedzy-rss-feeds' ) . '<i style="width: 17px; height: 17px; margin-left: 4px; color: #ffca54; font-size: 17px; vertical-align: -3px;" class="dashicons dashicons-unlock more-features-icon"></i></a>',
|
333 |
);
|
334 |
$links = array_merge( $links, $new_links );
|
includes/admin/feedzy-rss-feeds-ui-lang.php
CHANGED
@@ -151,6 +151,29 @@ class Feedzy_Rss_Feeds_Ui_Lang {
|
|
151 |
),
|
152 |
),
|
153 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
),
|
155 |
),
|
156 |
'section_item' => array(
|
151 |
),
|
152 |
),
|
153 |
),
|
154 |
+
'sort' => array(
|
155 |
+
'label' => __( 'Sorting order.', 'feedzy-rss-feeds' ),
|
156 |
+
'type' => 'select',
|
157 |
+
'value' => '',
|
158 |
+
'opts' => array(
|
159 |
+
'date_desc' => array(
|
160 |
+
'label' => __( 'Date Descending', 'feedzy-rss-feeds' ),
|
161 |
+
'value' => 'date_desc',
|
162 |
+
),
|
163 |
+
'date_asc' => array(
|
164 |
+
'label' => __( 'Date Ascending', 'feedzy-rss-feeds' ),
|
165 |
+
'value' => 'date_asc',
|
166 |
+
),
|
167 |
+
'title_desc' => array(
|
168 |
+
'label' => __( 'Title Descending', 'feedzy-rss-feeds' ),
|
169 |
+
'value' => 'title_desc',
|
170 |
+
),
|
171 |
+
'title_asc' => array(
|
172 |
+
'label' => __( 'Title Ascending', 'feedzy-rss-feeds' ),
|
173 |
+
'value' => 'title_asc',
|
174 |
+
),
|
175 |
+
),
|
176 |
+
),
|
177 |
),
|
178 |
),
|
179 |
'section_item' => array(
|
includes/feedzy-rss-feeds.php
CHANGED
@@ -104,7 +104,7 @@ class Feedzy_Rss_Feeds {
|
|
104 |
*/
|
105 |
public function init() {
|
106 |
self::$plugin_name = 'feedzy-rss-feeds';
|
107 |
-
self::$version = '3.2.
|
108 |
self::$instance->load_dependencies();
|
109 |
self::$instance->set_locale();
|
110 |
self::$instance->define_admin_hooks();
|
104 |
*/
|
105 |
public function init() {
|
106 |
self::$plugin_name = 'feedzy-rss-feeds';
|
107 |
+
self::$version = '3.2.10';
|
108 |
self::$instance->load_dependencies();
|
109 |
self::$instance->set_locale();
|
110 |
self::$instance->define_admin_hooks();
|
includes/util/feedzy-rss-feeds-util-simplepie.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The class that contains a custom implementation of SimplePie.
|
4 |
+
*
|
5 |
+
* @link http://themeisle.com
|
6 |
+
*
|
7 |
+
* @package feedzy-rss-feeds
|
8 |
+
* @subpackage feedzy-rss-feeds/includes/util
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! class_exists( 'SimplePie' ) ) {
|
12 |
+
require_once( ABSPATH . WPINC . '/class-simplepie.php' );
|
13 |
+
require_once( ABSPATH . WPINC . '/class-wp-feed-cache.php' );
|
14 |
+
require_once( ABSPATH . WPINC . '/class-wp-feed-cache-transient.php' );
|
15 |
+
require_once( ABSPATH . WPINC . '/class-wp-simplepie-file.php' );
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* The class that contains a custom implementation of SimplePie.
|
20 |
+
*
|
21 |
+
* Class that contains a custom implementation of SimplePie.
|
22 |
+
*
|
23 |
+
* @package feedzy-rss-feeds
|
24 |
+
* @subpackage feedzy-rss-feeds/includes/util
|
25 |
+
* @author Themeisle <friends@themeisle.com>
|
26 |
+
*/
|
27 |
+
class Feedzy_Rss_Feeds_Util_SimplePie extends SimplePie {
|
28 |
+
|
29 |
+
/**
|
30 |
+
* The shortcode attributes.
|
31 |
+
*
|
32 |
+
* @access private
|
33 |
+
* @var array $sc The shortcode attributes.
|
34 |
+
*/
|
35 |
+
private static $sc;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Whether custom sorting is enabled.
|
39 |
+
*
|
40 |
+
* @access private
|
41 |
+
* @var bool $custom_sorting Whether custom sorting is enabled.
|
42 |
+
*/
|
43 |
+
private static $custom_sorting = false;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Initialize the class and set its properties.
|
47 |
+
*
|
48 |
+
* @access public
|
49 |
+
*
|
50 |
+
* @param array $sc The shortcode attributes.
|
51 |
+
*/
|
52 |
+
public function __construct( $sc ) {
|
53 |
+
self::$sc = $sc;
|
54 |
+
if ( array_key_exists( 'sort', self::$sc ) && ! empty( self::$sc['sort'] ) ) {
|
55 |
+
if ( 'date_desc' === self::$sc['sort'] ) {
|
56 |
+
$this->enable_order_by_date( true );
|
57 |
+
} else {
|
58 |
+
self::$custom_sorting = true;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
parent::__construct();
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Sorting callback for items
|
66 |
+
*
|
67 |
+
* @access public
|
68 |
+
* @param SimplePie $a The SimplePieItem.
|
69 |
+
* @param SimplePie $b The SimplePieItem.
|
70 |
+
* @return boolean
|
71 |
+
*/
|
72 |
+
public static function sort_items( $a, $b ) {
|
73 |
+
if ( self::$custom_sorting ) {
|
74 |
+
switch ( self::$sc['sort'] ) {
|
75 |
+
case 'title_desc':
|
76 |
+
return $a->get_title() <= $b->get_title();
|
77 |
+
case 'title_asc':
|
78 |
+
return $a->get_title() > $b->get_title();
|
79 |
+
case 'date_asc':
|
80 |
+
return $a->get_date( 'U' ) > $b->get_date( 'U' );
|
81 |
+
}
|
82 |
+
}
|
83 |
+
return parent::sort_items( $a, $b );
|
84 |
+
}
|
85 |
+
}
|
readme.md
CHANGED
@@ -141,6 +141,7 @@ Become a translator and send me your translation! [Contact-me](http://themeisle.
|
|
141 |
|
142 |
|
143 |
|
|
|
144 |
### Is it responsive friendly? ###
|
145 |
|
146 |
Yes it is.
|
@@ -338,6 +339,12 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
338 |
= How to sort feed items by date =
|
339 |
[https://docs.themeisle.com/article/817-how-to-sort-feed-items-by-date](https://docs.themeisle.com/article/817-how-to-sort-feed-items-by-date)
|
340 |
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
== Screenshots ==
|
342 |
|
343 |
1. Simple example
|
@@ -347,6 +354,12 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
347 |
|
348 |
|
349 |
## Changelog ##
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
### 3.2.9 - 2018-03-07 ###
|
351 |
|
352 |
* Automatically fix deprecated google news feeds.
|
141 |
|
142 |
|
143 |
|
144 |
+
|
145 |
### Is it responsive friendly? ###
|
146 |
|
147 |
Yes it is.
|
339 |
= How to sort feed items by date =
|
340 |
[https://docs.themeisle.com/article/817-how-to-sort-feed-items-by-date](https://docs.themeisle.com/article/817-how-to-sort-feed-items-by-date)
|
341 |
|
342 |
+
= How to add rel="nofollow" to feed links =
|
343 |
+
[https://docs.themeisle.com/article/839-how-to-add-relnofollow-to-feed-links](https://docs.themeisle.com/article/839-how-to-add-relnofollow-to-feed-links)
|
344 |
+
|
345 |
+
= What to do when you get Warning: ./cache is not writeable =
|
346 |
+
[https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable](https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable)
|
347 |
+
|
348 |
== Screenshots ==
|
349 |
|
350 |
1. Simple example
|
354 |
|
355 |
|
356 |
## Changelog ##
|
357 |
+
### 3.2.10 - 2018-04-02 ###
|
358 |
+
|
359 |
+
* Adds shortcode attribute for feed items order ( title ASC/DESC, date ASC/DESC).
|
360 |
+
* Improve documentation and examples.
|
361 |
+
|
362 |
+
|
363 |
### 3.2.9 - 2018-03-07 ###
|
364 |
|
365 |
* Automatically fix deprecated google news feeds.
|
readme.txt
CHANGED
@@ -142,6 +142,7 @@ Become a translator and send me your translation! [Contact-me](http://themeisle.
|
|
142 |
|
143 |
|
144 |
|
|
|
145 |
= Is it responsive friendly? =
|
146 |
|
147 |
Yes it is.
|
@@ -345,6 +346,12 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
345 |
= What to do when you get Warning: ./cache is not writeable =
|
346 |
[https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable](https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable)
|
347 |
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
== Screenshots ==
|
349 |
|
350 |
1. Simple example
|
@@ -354,6 +361,12 @@ You have to check first if your feed is valid. Please test it here: https://vali
|
|
354 |
|
355 |
|
356 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
= 3.2.9 - 2018-03-07 =
|
358 |
|
359 |
* Automatically fix deprecated google news feeds.
|
142 |
|
143 |
|
144 |
|
145 |
+
|
146 |
= Is it responsive friendly? =
|
147 |
|
148 |
Yes it is.
|
346 |
= What to do when you get Warning: ./cache is not writeable =
|
347 |
[https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable](https://docs.themeisle.com/article/840-what-to-do-when-you-get-warning-cache-is-not-writeable)
|
348 |
|
349 |
+
= How to exclude feeds with certain words in it =
|
350 |
+
[https://docs.themeisle.com/article/850-how-to-exclude-feeds-with-certain-words-in-it](https://docs.themeisle.com/article/850-how-to-exclude-feeds-with-certain-words-in-it)
|
351 |
+
|
352 |
+
= How to add canonical tags for imported posts =
|
353 |
+
[https://docs.themeisle.com/article/841-how-to-add-canonical-tags-for-imported-posts](https://docs.themeisle.com/article/841-how-to-add-canonical-tags-for-imported-posts)
|
354 |
+
|
355 |
== Screenshots ==
|
356 |
|
357 |
1. Simple example
|
361 |
|
362 |
|
363 |
== Changelog ==
|
364 |
+
= 3.2.10 - 2018-04-02 =
|
365 |
+
|
366 |
+
* Adds shortcode attribute for feed items order ( title ASC/DESC, date ASC/DESC).
|
367 |
+
* Improve documentation and examples.
|
368 |
+
|
369 |
+
|
370 |
= 3.2.9 - 2018-03-07 =
|
371 |
|
372 |
* Automatically fix deprecated google news feeds.
|
themeisle-hash.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"feedzy-rss-feed.php":"
|
1 |
+
{"feedzy-rss-feed.php":"9eecff7228cb1a609226a99cb1b060e1","index.php":"71c0755260138a4b7b2182c3c61179f6","uninstall.php":"0ef18b49fd2c8fa27b1c1ee8fe679428"}
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit1a6d3daad47ba361225084f74b398ed0::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitece39da69fa44bf20b4c84fec6ff3a92::getLoader();
|
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php
CHANGED
@@ -61,6 +61,10 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
|
|
61 |
* @var array $allowed_authors The allowed authors.
|
62 |
*/
|
63 |
private $allowed_authors = array( 'proteusthemes.com', 'anarieldesign.com', 'prothemedesign.com', 'cssigniter.com' );
|
|
|
|
|
|
|
|
|
64 |
/**
|
65 |
* @var bool $requires_license Either user needs to activate it with license.
|
66 |
*/
|
@@ -168,6 +172,9 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
|
|
168 |
if ( strpos( $this->author_url, $author ) !== false ) {
|
169 |
return true;
|
170 |
}
|
|
|
|
|
|
|
171 |
}
|
172 |
|
173 |
return false;
|
61 |
* @var array $allowed_authors The allowed authors.
|
62 |
*/
|
63 |
private $allowed_authors = array( 'proteusthemes.com', 'anarieldesign.com', 'prothemedesign.com', 'cssigniter.com' );
|
64 |
+
/**
|
65 |
+
* @var array $allowed_external_products The allowed external_products.
|
66 |
+
*/
|
67 |
+
private $allowed_products = array( 'zermatt', 'neto', 'olsen', 'benson', 'romero', 'carmack', 'puzzle', 'broadsheet', 'girlywp', 'veggie', 'zeko', 'maishawp', 'didi', 'liber', 'medicpress-pt', 'adrenaline-pt', 'consultpress-pt', 'legalpress-pt', 'gympress-pt', 'readable-pt', 'bolts-pt' );
|
68 |
/**
|
69 |
* @var bool $requires_license Either user needs to activate it with license.
|
70 |
*/
|
172 |
if ( strpos( $this->author_url, $author ) !== false ) {
|
173 |
return true;
|
174 |
}
|
175 |
+
if ( in_array( $this->get_slug(), $this->allowed_products ) ) {
|
176 |
+
return true;
|
177 |
+
}
|
178 |
}
|
179 |
|
180 |
return false;
|
vendor/codeinwp/themeisle-sdk/load.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
*/
|
12 |
|
13 |
// Current SDK version and path.
|
14 |
-
$themeisle_sdk_version = '2.1.
|
15 |
$themeisle_sdk_path = dirname( __FILE__ );
|
16 |
|
17 |
global $themeisle_sdk_max_version;
|
11 |
*/
|
12 |
|
13 |
// Current SDK version and path.
|
14 |
+
$themeisle_sdk_version = '2.1.2';
|
15 |
$themeisle_sdk_path = dirname( __FILE__ );
|
16 |
|
17 |
global $themeisle_sdk_max_version;
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitaf478236361ccc2d2535d598c48f53a6
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInitaf478236361ccc2d2535d598c48f53a6
|
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit1a6d3daad47ba361225084f74b398ed0
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit1a6d3daad47ba361225084f74b398ed0', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit1a6d3daad47ba361225084f74b398ed0', 'loadClassLoader'));
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
+
composerRequire1a6d3daad47ba361225084f74b398ed0($fileIdentifier, $file);
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
function composerRequire1a6d3daad47ba361225084f74b398ed0($fileIdentifier, $file)
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
vendor/composer/autoload_real_52.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
-
class
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitd834d5da94ce25600ba545f3b66f6602 {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInitece39da69fa44bf20b4c84fec6ff3a92 {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitece39da69fa44bf20b4c84fec6ff3a92', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitece39da69fa44bf20b4c84fec6ff3a92', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/installed.json
CHANGED
@@ -6,15 +6,15 @@
|
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
-
"time": "2018-
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
9 |
+
"reference": "18bcad4b82796f4b6996dea42832ce3518924f25"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/18bcad4b82796f4b6996dea42832ce3518924f25",
|
14 |
+
"reference": "18bcad4b82796f4b6996dea42832ce3518924f25",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
+
"time": "2018-03-19 21:12:50",
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|