diff --git a/bridges/TwitterBridge.php b/bridges/TwitterBridge.php index e54a5d02681..a14e5062221 100644 --- a/bridges/TwitterBridge.php +++ b/bridges/TwitterBridge.php @@ -546,8 +546,16 @@ private function getApiKey() { if($guestTokenUses === null || !is_array($guestTokenUses) || count($guestTokenUses) != 2 || $guestTokenUses[0] <= 0 || (time() - $refresh) > self::GUEST_TOKEN_EXPIRY) { $guestToken = $this->getGuestToken(); - $gt_cache->saveData(array(self::GUEST_TOKEN_USES, $guestToken)); - $r_cache->saveData(time()); + if ($guestToken === null) { + if($guestTokenUses === null) { + returnServerError('Could not parse guest token'); + } else { + $guestToken = $guestTokenUses[1]; + } + } else { + $gt_cache->saveData(array(self::GUEST_TOKEN_USES, $guestToken)); + $r_cache->saveData(time()); + } } else { $guestTokenUses[0] -= 1; $gt_cache->saveData($guestTokenUses); @@ -567,7 +575,7 @@ private function getGuestToken() { preg_match_all($guestTokenRegex, $pageContent['header'], $guestTokenMatches, PREG_SET_ORDER, 0); if (!$guestTokenMatches) preg_match_all($guestTokenRegex, $pageContent['content'], $guestTokenMatches, PREG_SET_ORDER, 0); - if (!$guestTokenMatches) returnServerError('Could not parse guest token'); + if (!$guestTokenMatches) return null; $guestToken = $guestTokenMatches[0][1]; return $guestToken; }