<?php require_once "ThirdPartyController.php"; require_once "ise/php-soundcloud/src/Soundcloud/Service.php"; class SoundcloudController extends ThirdPartyController { /** * @var SoundcloudService */ protected $_service; /** * @var string Application_Model_Preference service request token accessor function name */ protected $_SERVICE_TOKEN_ACCESSOR = 'setSoundCloudRequestToken'; /** * Set up SoundCloud access variables. */ public function init() { parent::init(); $this->_service = new SoundcloudService(); } /** * Fetch the permalink to a file on SoundCloud and redirect to it. */ public function viewOnSoundCloudAction() { $request = $this->getRequest(); $id = $request->getParam('id'); try { $soundcloudLink = $this->_service->getLinkToFile($id); header('Location: ' . $soundcloudLink); } catch (Soundcloud\Exception\InvalidHttpResponseCodeException $e) { // Redirect to a 404 so the user knows something went wrong header('Location: ' . $this->_baseUrl . 'error/error-404'); } } }