Giter VIP home page Giter VIP logo

feedzy-rss-feeds's People

Contributors

bogdanpopa90 avatar chesio avatar contactashish13 avatar danycaissy avatar dascalescuro avatar dependabot[bot] avatar gfg-development avatar girishpanchal30 avatar grigoremihai avatar hardeepasrani avatar harshitarora-in avatar ineagu avatar mariusghitulescu avatar mghenciu avatar pdclark avatar pirate-bot avatar preda-bogdan avatar radu-themeisle avatar rodica-andronache avatar selul avatar soare-robert-daniel avatar vytisbulkevicius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feedzy-rss-feeds's Issues

Possible enhancement made by user

User said this:

"Hi, I use FEEDZY RSS and i really like it. Suggested update for the plug in is to make it available that the main link could be a audio file. i did the following edit: feedzy-rss-feeds/feedzy-rss-feeds-shortcode.php

$contentTitle .= '<span class="title"><a href="' . $item->get_permalink() . '" target="' . $target . '">'; $contentTitle .= '<audio controls style=" width:180px"> <source src="' . $item->get_permalink() . '" type="audio/mpeg"> </audio><br>';

works even better now! - so people can play the podcast right in the sidebar"

Loading HTTP images over HTTPS

So the plugin, for obvious reasons, can't load HTTP images on a HTTPS website, and that's not plugin's fault. But I have a workaround for this and maybe we can add that to the plugin?

If the site is running on HTTPS and someone tries to fetch a feed which is over HTTP, can we pull the images and display it using a CDN over HTTPS?

@selul @ineagu

add fallback for not writable cache location

Now that we have a separate SimplePie util class, maybe we can investigate how we can solve the warning when the cache directory is not writable,
Ref:
https://wordpress.org/support/topic/class-simplepie-php/

The approach which I would like to use

  1. Check if the default cache location is writable if is return that and bail.
  2. If is not, use a directory inside the uploads folder, called feedzy-cache, you can use -> http://simplepie.org/wiki/reference/simplepie/set_cache_location
  3. if 2 is not possible ( can not create the folder or something similar ), use this to disable cache at all -> http://simplepie.org/wiki/reference/simplepie/enable_cache

Let me know what do you think about this ?

Also, if you find any patterns that we can cover using unit tests, go for them.

Display just the image on feed thumbnails

@selul
According to my conversation here: https://wordpress.org/support/topic/default-image-problem/ I found no way to use the custom image if the feed has a default image. I mean, the feed url is: https://katikitti.com/feed/

When I use thumb="yes" or thumb="auto" in the shortcode,

screen shot 2018-02-28 at 03 02 56

I can see the default images from the feed.

screen shot 2018-02-28 at 03 03 21

But When I use thumb="no". There is no image used.

screen shot 2018-02-28 at 03 04 06

Is there any way to display the image we want to display, even if the feed has a image?

full text parse solution

@contactashish13 it seems many users are requesting a full text parse solution, something that will fetch article content directly from the link, not from the RSS feed.

In order to do this, we will need a 3rd party server that will act as a middleware.

Basically, the server will receive a list of RSS feeds and will return RSS feed resources with all the items combined, but instead of the feed content, it will get the article full content.

We will need to use a 3rd party library to make the process work smoother.

Here is an example that I found out, I'm open to any other suggestions
https://github.com/Dither/full-text-rs

Also, we will need to have an authentication service, because every call to this middleware server will have the license string and it will check the license against themeisle.com.

On the 1st phase, I would like for you to do a bit of research for the best alternative to do this and after we can move forward with the work.

Thanks!

google news smart max

when using feeds from google news, and the user is using the max attribute within the shortcode which is greater than the num query argument of the news feed, the feed is still limited to the num query arg,

E.g [feedzy-rss feeds="http://news.google.com/news?hl=en&gl=us&q=Tourette&num=20&um=1&ie=UTF-8&output=rss" max="30" target="_blank" refresh="1_hours" title="120" meta="yes" summary="yes" summarylength="275" size="160"]

because num=20 the max=30 is ignored as we dont have more than 20 items in the feed.

We should do a smart feed convert, which alter the num query arg if the google news feed is used.

maximum attr not working

@preda-bogdan the max number of items does not seems to work, is always fetching 5 items.

I have tried this code:
[feedzy-rss feeds="http://themeisle.com/blog/feed" maximum="2" ]

And is showing still 5 items

Author URL adding double protocode

Author URL in feeds in adding http twice, like:

href="http://http://www.example.com"

We can remove one http but it doesn't make any sense if the site is running over https, so it's better to leave it // instead of defining a protocol.

Using alt in span

In some places, we are using alt with span which makes no sense. Sending a pull to replace alt tags with title.

Only first <img> in article is scraped

Function feedzy_return_image (in feedzy-rss-feeds-admin-abstract.php) scrapes only the first <img>, and if it is blacklisted, no image is returned. To fix this change this code:

    preg_match( $pattern, $img, $matches );
    if ( isset( $matches[0] ) ) {
        $blacklistCount = 0;
        foreach ( $matches as $matche ) {
            $link      = $this->feedzy_scrape_image( $matche );

to

    preg_match_all( $pattern, $img, $matches );
    if ( isset( $matches[0] ) ) {
        foreach ( $matches[0] as $matche ) {
            $blacklistCount = 0;
            $link      = $this->feedzy_scrape_image( $matche );

This goes through every <img> and returns first that is not blacklisted.

add general settings

@contactashish13 i would like to add a general settings page, under the Feedzy main menu.

this will provide 4 fields which will be used when fetching the feed content:

  1. User agent - add a input field for allowing users to add custom user agents. The user agent will be set in this function
    public function fetch_feed( $feedURL, $cache = '12_hours' ) {
    and using the http_headers_useragent filter. Make sure after the fetch is done, to remove the function hooked to that filter in order to avoid problems with other requests.
  2. Proxy settings, proxy host, port user and password . you need to setup the some constants to use proxies, you have them detailed here: https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-http-proxy.php as well as hooking into pre_http_send_through_proxy fitering for allowing using proxy only for that specific url and not other. Also when defining the constans you need to make sure those were not defined before.

change shortcode order

@contactashish13 we need to add a sorting attribute to the Feedzy shortcode.

  1. Add the sorting order in the Feedzy popup in the WordPress editor.
  2. The options will be name_asc, name_desc, date_asc, date_desc. The default will be the current order.
  3. You can check this on how we can achieve this custom order, maybe it helps -> http://simplepie.org/wiki/reference/simplepie/sort_items
  4. Make sure this change will not affect older users, by changing the order of their items.

Feed URLs without http do not work

When we place a feed URL without http/https, it does not work. Example: themeisle.com/blog/feed.

It would be a good to have this feature to add http/https automatically if URL provided by the user is not having it.

@selul

add cache control

i would like to add a new attribute to the shortcode, called refresh which will handle the the cache lifetime.

In the wizzard shortcode builder we will have a select for choose between ( 10_mins, 1_hours, 3_hours, 12hours, 1_days, 15_days) but when editing the shortcode inline, they can add combination of number + _ + unit where number can be anything between 1-100 and unit can be mins,hours,days

We need to validate the shortcode attribute value against this format, explode after _ and see if the 1st part is a number between 1-100 and 2nd is a valid unit between those 3.

The feed cache will be change using this filter wp_feed_cache_transient_lifetime before calling the fetch_feed and removed after we call end the fetching.

WE need to make also appropiate unit test to see that this is working ok.

test new version

@contactashish13 i would like your help in testing this new version using the next scenarios:

Use Case 1

Use case 2

Use case 3

  • Make some widgets/shortcodes using both development versions of free and pro installed and make sure they are rendering properly

Please report any problem you find using enough details for us to replicate it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.