* [ModifyBridge] New bridge to modify feeds
Create a general bridge that can modify the common fields of feeds
with regular expressions.
* [ModifyBridge] Also modify <enclosure> element
Additionally to the list of <enclosures>.
* [TarnkappeBridge] changed "unwanted stuff"
em was removed because the annoying affiliate info, but it also deleted the text from blockquotes.
The p-element with the affiliate info has no attributes like class, but it is the only p-element with a style-attribute, so I used this to identify it.
* Update TarnkappeBridge.php
removed whitespace
* Update TarnkappeBridge.php
don't know why I did it twice before
* [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