* [CentreFranceBridge] Add bridge
* [CentreFranceBridge] Fix bridge
* [CentreFranceBridge] Fix bridge
* [CentreFranceBridge] Improved icon choice
* [CentreFranceBridge] Fetch additional data from articles
* [CentreFranceBridge] New parameter to allow client to control how many articles to fetch
* [CentreFranceBridge] Improve bridge name based on existing parameters
* [CentreFranceBridge] Fixed some edge cases
* refactor: reorder
* fix
---------
Co-authored-by: Dag <me@dvikan.no>
* add NurembergerNachrichten bridge
apply suggested changes and fix regions
put collectData on top
replace self:: with -> for methodcalls
* refactor: remove unused var
* refactor: order methods
* fix
---------
Co-authored-by: Dag <me@dvikan.no>
The bridge stopped working after the API server stopped accepting a trailing slash after the ID in the URL. This is being fixed. Also, the show title in the JSON was ignored. This is being fixed as well
* [Mailman2Bridge.php] enable PCRE_MULTILINE pattern modifier
Enable PCRE_MULTILINE pattern modifier on mbox content parsing. Without it parsing monthly archives results in only a single message each.
* [Mailman2Bridge.php] extend mbox "From_ lines" pattern
Extend PCRE pattern matching individual "From_ lines" used to split single messages in mbox content.
In addition to the matching line having to start with 'From ' it now also has to end with time and date (hh:mm:ss yyyy).
This makes the pattern slightly more robust against accidental matches when a line within the actual message body starts with 'From ' which Mailman 2 (Pipermail) may not be configured to disambiguate.
* [Mailman2Bridge.php] remove trailing slash from URI constant
---------
Co-authored-by: enwu <108224417+8279279374@users.noreply.github.com>
* [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.