rss-bridge/bridges/MydealsBridge.php
sysadminstory 2ee615e588
[PepperBridgeAbstract, DealabsBridge, HotUKDealsBridge, MydealsBridge] Streamlining Group Management (#4336)
* [PepperBridgeAbstract, DealabsBridge, HotUKDealsBridge, MydealsBridge] Streamlining Group Management

Since groups can change URLs, be created, or removed at the discretion
of website administrators, maintaining a valid and functional list of
groups is impractical.

Users can now enter the part of the URL that defines the group in a text
field, rather than searching through a lengthy, likely outdated list.

The way the RSS feed title is retrieved had to be adjusted accordingly.

Titles are now cached for 15 days to avoid unnecessary website access
and to prevent potential bot blocking.

Existing feeds will continue to work, as their parameters remain
unchanged; only the method for inputting them has been modified.

* [PepperBridgeAbstract, DealabsBridge, HotUKDealsBridge, MydealsBridge] Streamlining Group Management

Coding policy fixes

* [PepperBridgeAbstract, DealabsBridge, HotUKDealsBridge, MydealsBridge] Streamlining Group Management

Fix wrong comment

* [PepperBridgeAbstract, DealabsBridge, HotUKDealsBridge, MydealsBridge] Streamlining Group Management

Add Example values for Group context
2024-11-23 19:11:36 +01:00

102 lines
3.7 KiB
PHP

<?php
class MydealsBridge extends PepperBridgeAbstract
{
const NAME = 'Mydealz bridge';
const URI = 'https://www.mydealz.de/';
const DESCRIPTION = 'Zeigt die Deals von mydealz.de';
const MAINTAINER = 'sysadminstory';
const PARAMETERS = [
'Suche nach Stichworten' => [
'q' => [
'name' => 'Stichworten',
'type' => 'text',
'exampleValue' => 'lamp',
'required' => true
],
'hide_expired' => [
'name' => 'Abgelaufenes ausblenden',
'type' => 'checkbox',
],
'hide_local' => [
'name' => 'Lokales ausblenden',
'type' => 'checkbox',
'title' => 'Deals im physischen Geschäft ausblenden',
],
'priceFrom' => [
'name' => 'Minimaler Preis',
'type' => 'text',
'title' => 'Minmaler Preis in Euros',
'required' => false
],
'priceTo' => [
'name' => 'Maximaler Preis',
'type' => 'text',
'title' => 'maximaler Preis in Euro',
'required' => false
],
],
'Deals pro Gruppen' => [
'group' => [
'name' => 'Gruppen',
'type' => 'text',
'exampleValue' => 'dsl',
'title' => 'Gruppenname in der URL: Der einzugebende Gruppenname steht nach "https://www.mydealz.de/gruppe/" und vor einem "?".
Beispiel: Wenn die URL der Gruppe, die im Browser angezeigt wird, :
https://www.mydealz.de/gruppe/dsl?sortBy=temp
Dann geben Sie ein:
dsl',
],
'order' => [
'name' => 'sortieren nach',
'type' => 'list',
'title' => 'Sortierung der deals',
'values' => [
'Vom heißesten zum kältesten Deal' => '-hot',
'Vom jüngsten Deal zum ältesten' => '-new',
]
],
],
'Überwachung Diskussion' => [
'url' => [
'name' => 'URL der Diskussion',
'type' => 'text',
'required' => true,
'title' => 'URL-Diskussion zu überwachen: https://www.mydealz.de/diskussion/title-123',
'exampleValue' => 'https://www.mydealz.de/diskussion/anleitung-wie-schreibe-ich-einen-deal-1658317',
],
'only_with_url' => [
'name' => 'Kommentare ohne URL ausschließen',
'type' => 'checkbox',
'title' => 'Kommentare, die keine URL enthalten, im Feed ausschließen',
'defaultValue' => false,
]
]
];
public $lang = [
'bridge-uri' => self::URI,
'bridge-name' => self::NAME,
'context-keyword' => 'Suche nach Stichworten',
'context-group' => 'Deals pro Gruppen',
'context-talk' => 'Überwachung Diskussion',
'uri-group' => 'gruppe/',
'uri-deal' => 'deals/',
'uri-merchant' => 'search/gutscheine?merchant-id=',
'request-error' => 'Could not request mydeals',
'thread-error' => 'Die ID der Diskussion kann nicht ermittelt werden. Überprüfen Sie die eingegebene URL',
'currency' => '€',
'price' => 'Preis',
'shipping' => 'Versand',
'origin' => 'Ursprung',
'discount' => 'Rabatte',
'title-keyword' => 'Suche',
'title-group' => 'Gruppe',
'title-talk' => 'Überwachung Diskussion',
'deal-type' => 'Angebotsart',
'localdeal' => 'Lokales Angebot',
'context-hot' => '-hot',
'context-new' => '-new',
];
}