From 1a529fac462345c0dfeaff170d13452a9df41099 Mon Sep 17 00:00:00 2001 From: Dag Date: Sat, 8 Jul 2023 22:53:23 +0200 Subject: [PATCH] fix(soundcloud): bug in prior cache refactor (#3516) --- bridges/SoundcloudBridge.php | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/bridges/SoundcloudBridge.php b/bridges/SoundcloudBridge.php index c9f55e9e..9fdf74d4 100644 --- a/bridges/SoundcloudBridge.php +++ b/bridges/SoundcloudBridge.php @@ -36,13 +36,17 @@ class SoundCloudBridge extends BridgeAbstract private $feedTitle = null; private $feedIcon = null; - private $clientIDCache = null; + private $cache = null; private $clientIdRegex = '/client_id.*?"(.+?)"/'; private $widgetRegex = '/widget-.+?\.js/'; public function collectData() { + $this->cache = RssBridge::getCache(); + $this->cache->setScope('SoundCloudBridge'); + $this->cache->setKey(['client_id']); + $res = $this->getUser($this->getInput('u')); $this->feedTitle = $res->username; @@ -116,22 +120,11 @@ HTML; return parent::getName(); } - private function initClientIDCache() - { - if ($this->clientIDCache !== null) { - return; - } - - $this->clientIDCache = RssBridge::getCache(); - $this->clientIDCache->setScope('SoundCloudBridge'); - $this->clientIDCache->setKey(['client_id']); - } - private function getClientID() { - $this->initClientIDCache(); - - $clientID = $this->clientIDCache->loadData(); + $this->cache->setScope('SoundCloudBridge'); + $this->cache->setKey(['client_id']); + $clientID = $this->cache->loadData(); if ($clientID == null) { return $this->refreshClientID(); @@ -142,8 +135,6 @@ HTML; private function refreshClientID() { - $this->initClientIDCache(); - $playerHTML = getContents($this->playerUrl); // Extract widget JS filenames from player page @@ -161,7 +152,9 @@ HTML; if (preg_match($this->clientIdRegex, $widgetJS, $matches)) { $clientID = $matches[1]; - $this->clientIDCache->saveData($clientID); + $this->cache->setScope('SoundCloudBridge'); + $this->cache->setKey(['client_id']); + $this->cache->saveData($clientID); return $clientID; }