From 037d5866ca04312166a990ca3f2c5327a971fa79 Mon Sep 17 00:00:00 2001 From: Yaman Qalieh Date: Wed, 8 Jun 2022 19:37:06 -0400 Subject: [PATCH] [BandcampDailyBridge] Fix list duplicates (#2795) --- bridges/BandcampDailyBridge.php | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/bridges/BandcampDailyBridge.php b/bridges/BandcampDailyBridge.php index 9d67e96b..a512022d 100644 --- a/bridges/BandcampDailyBridge.php +++ b/bridges/BandcampDailyBridge.php @@ -7,7 +7,7 @@ class BandcampDailyBridge extends BridgeAbstract { const PARAMETERS = array( 'Latest articles' => array(), 'Best of' => array( - 'content' => array( + 'best-content' => array( 'name' => 'content', 'type' => 'list', 'values' => array( @@ -28,7 +28,7 @@ class BandcampDailyBridge extends BridgeAbstract { ), ), 'Genres' => array( - 'content' => array( + 'genres-content' => array( 'name' => 'content', 'type' => 'list', 'values' => array( @@ -62,7 +62,7 @@ class BandcampDailyBridge extends BridgeAbstract { ), ), 'Franchises' => array( - 'content' => array( + 'franchises-content' => array( 'name' => 'content', 'type' => 'list', 'values' => array( @@ -133,23 +133,28 @@ class BandcampDailyBridge extends BridgeAbstract { case 'Best of': case 'Genres': case 'Franchises': - return self::URI . '/' . $this->getInput('content'); + // TODO Switch to array_key_first once php >= 7.3 + $contentKey = key(self::PARAMETERS[$this->queriedContext]); + return self::URI . '/' . $this->getInput($contentKey); default: return parent::getURI(); } } public function getName() { - if ($this->queriedContext === 'Latest articles') { - return $this->queriedContext . ' - Bandcamp Daily'; + switch($this->queriedContext) { + case 'Latest articles': + return $this->queriedContext . ' - Bandcamp Daily'; + case 'Best of': + case 'Genres': + case 'Franchises': + // TODO Switch to array_key_first once php >= 7.3 + $contentKey = key(self::PARAMETERS[$this->queriedContext]); + $contentValues = array_flip(self::PARAMETERS[$this->queriedContext][$contentKey]['values']); + + return $contentValues[$this->getInput($contentKey)] . ' - Bandcamp Daily'; + default: + return parent::getName(); } - - if (!is_null($this->getInput('content'))) { - $contentValues = array_flip(self::PARAMETERS[$this->queriedContext]['content']['values']); - - return $contentValues[$this->getInput('content')] . ' - Bandcamp Daily'; - } - - return parent::getName(); } }