* [IdealoBridge] Fix price comparison and some PHP Notice
- The prices were compared as String and the comparison was wrong in
some case : now the price are converted to float before the
comparison, so the logic works really.
- Don't show a new or used product price if it does not exist : this
prevents a PHP Notice to be thrown
* [IdealoBridge] Fix price conversion in case the price is null
The conversion as float of the text price won't work if the price is
null : we retunr null in this case now.
This commit addresses a bug where the $time variable is not set from the innertext of the $time_element when the datetime attribute is not found. The previous implementation only checked if $time was null or an empty string, which did not cover all cases where the datetime attribute might be missing. By using the empty() function, we ensure that $time is correctly set from the innertext when the datetime attribute is not present.
Adds support for multi-image attachments.
Also changes individual if-statments in "getAttachments" to if/elseif
as each post can apparently only have one attachment anyway.
* [YouTubeCommunityTabBridge] Improve building of content & title
Fixes truncated link hrefs in content and adds some general
improvements regarding the building of item content and item title
* [YouTubeCommunityTabBridge] Fix PHP deprecation warnings
Fixes the following deprecation warnings:
substr(): Passing null to parameter #1 ($string) of type string is
deprecated
Fixes#4071.
Major changes:
- the bridge's URI changed from zen.yandex.com to dzen.ru, as the former
redirects to the latter (perhaps the bridge's name should be changed
as well);
- the channel's URL is now required instead of the channel's username;
- two kinds of URLs are supported, one for channels with usernames and
one for channels with IDs in their URL;
- the channel's real name, as shown in the webpage, is now used as the
feed title.
* [ScribbleHubBridge] Add list page feed creation
* [ScribbleHubBridge] Add list title handling
* [ScribbleHubBridge] Don't include timestamp in List GUIDs
* [ScribbleHubBridge] Fix usage of dynamic property
* [FDroidRepoBridge] Simplify json retrieval
I looked into avoiding the writing-to-file and then reading-from-file altogether. Using a special file path that leaves the data in memory probably wouldn't work. But I'm unsure why we use the `index-v1.jar` file altogether.
The main F-Droid repo [lists](https://f-droid.org/en/docs/All_our_APIs/#the-repo-index) not only `index-v1.jar` (which only makes sense if we were to use the contained signature, which we don't), but also `index-v1.json` and `index-v2.json`. These json files can be fetched with `getContents`, optionally cached, and directly fed into `Json::decode` without using a temporary file. The HTTP transfer encoding can compress the file to a similar degree the jar (=zip) can. That's exactly what this commit uses.
Now the question is whether all the F-Droid repositories out there have this file. I went through the whole [list of known repositories](https://forum.f-droid.org/t/known-repositories/721) and only one repo misses the `index-v1.json` file: [Bromite](https://fdroid.bromite.org/fdroid/repo/index-v1.json). Under these circumstances we can depend on the availability of the `index-v1.json` file.
Closes#4062
* [FDroidRepoBridge] Cleanup not requiring Zip
With the last commit 1152386678, the zip
extension is not required anymore. Don't fail if it's not available.
The ttrss example/placeholder repo is offline, which fails CI jobs.
Replace it with a healthy repo and package to get working CI tests and comparisons.
* [PepperBridgeAbstract,DealabsBridge,HotUKDealsBridge,MydealsBridge] Fix search URL, No results handling fixed, Thread title and Message URL handling
Search URL has been updated according to the website.
If a search doesn't return any results, the HTML won't contain any
specific text now : the HTML structure is slightly different, so the
bridge has been updated.
The unnneded 'no-results' text is now removed from the specific bridges.
The board thread title has been removed from the content, so now we use
the page <title> element.
In case a board message is empty, there was an exception during the
filtering of message without URL.
* [PepperBridgeAbstract,DealabsBridge,HotUKDealsBridge,MydealsBridge] Fix search URL, No results handling fixed, Thread title and Message URL handling
Coding policy fixes
* refactor XPathAbstract, keep all functionality intact
* fix linter errors
* further simplify code
* set default value for raw item content to true, avoiding escaping of html tags in feed item contents by default
As the website use more and more JSON, and JSON is a machine readable
format, I migrated as much as possible to the JSON.
This simplifies the Abstract class a lot, and the Bridge classes need
less language specifi strings.
* [HeiseBridge] fix for embbedded youtube-videos
with this the embedded youtube videos will work in the feed
* Update HeiseBridge.php
* Update HeiseBridge.php
The bridge meta data has been updated to reflect that the bridge works
for other international version of Idealo.
The Price trend is displayed on every price in the the Feed element
content. The same function is now used to show the price trend in the
Feed element title, to remove some duplicate code..
- Feed items with new price tracking had "Max Price Used" instead of
"Max Price New"
- Feed Title is now customised with the product name and the Price
limits
- Fixed logic for saving prices in cache
- remove undefined variable notices
* Rewrite ComicsKingdom Bridge
Rewrite of bridge as the existing one no longer works:
- Now uses REST API
- Added optional limit to get desired number of comics
- Author now reflects the comic creators name
- Feed name and comic titles now pulled from site
- Added myself as the maintainer as I've been the one maintaining, and the existing code no longer is used
* Change API to URI to pass test
* Remove whitespace, add curly braces and switch to single quotes
* AO3Bridge: add options to fetch chapter contents and titles for list feeds
and add downloads for each fic to enclosures
* AO3Bridge: fix list default value
* AO3Bridge: fix erroneous dynamic property usage
* AO3Bridge: fix unit test failure for getURI
Exclude thread results
Some categories showed some thread in the middle of the deals : now only
the deals are handled
Updated the "no results" text to follow the sites changes
- DealabsBridge
- HotUKDealsBridge
- MydealsBridge
Add the currency in the i8n data of the bridges
- PepperBridgeAbstract
The Price, discount data ans Ships from information are in the HTML
content anymore, so switched to the js-vue2 attributes
* [DeutscheWelleBridge] Small URL fix.
Reset the $item's uri value after removing the tracking query string.
* [DeutscheWelleBridge] Fix "hero" images.
The main "hero" image for each article has src="" and relies on the
srcset attribute for the browser to pick the best image based on the
actual displayed size.
The call to `defaultLinkTo()` replaces the empty src with the article's
link, which, not being an image, breaks the image.
This change resets the src's of any such images back to "".
* Added header with useragent
* copy paste error from local test environment
* Fixed missing space in New before
* fixed missing space after comma in argument list
Fix the Deal source link
The HTML does not contain the link to the "Deal source anymore", now only an
attribute does contain the information about the Deal Source.
The JSON data is now extraced for each Deal, and used to get the
Temperature and Deal Source.
The Tiktok Website was totally changed using some "scraping" protection
(passing as parameter value generated somewhere in the bunch of
javascript to the "API URL" that was before). The iframe embed does not
have such protection. It has less information (no date, ...) but it's
better than nothing !
* [FreeTelechargerBridge] Update to the new URL
Website has changed URL and some design : this bridge is now adapted to
thoses changes
* [FreeTelechargerBridge] Fix example value
Example valuse seems to use an "old" template, switch to a newer example
that use the new template
* [FreeTelechargerBridge] Fix notice
Fix notice