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 "".