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