-
Stefan Galinski authoredStefan Galinski authored
YoutubeController.php 2.06 KiB
<?php
namespace SGalinski\SgYoutube\Controller;
/***************************************************************
* Copyright notice
* (c) sgalinski Internet Services (https://www.sgalinski.de)
* All rights reserved
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use Exception;
use SGalinski\SgYoutube\Service\YoutubeService;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
/**
* The Youtube Controller
*/
class YoutubeController extends ActionController {
/**
* @var YoutubeService
*/
protected $youtubeService;
/**
* Injects the youtube service. Is lot faster to use the inject method than the inject annotation!
*
* @param YoutubeService $youtubeService
* @return void
*/
public function injectYoutubeService(YoutubeService $youtubeService) {
$this->youtubeService = $youtubeService;
}
/**
* Renders the Youtube video view
*
* @return void
*/
public function indexAction() {
$id = $this->settings['id'];
$maxResults = (string) $this->settings['maxResults'];
$apiKey = $this->settings['apiKey'];
try {
$jsonArray = $this->youtubeService->getJsonAsArray($id, $maxResults, $apiKey);
} catch (Exception $exception) {
return '<div style="color: red;">' . $exception->getMessage() . '</div>';
}
$this->view->assignMultiple(
[
'feed' => $jsonArray['items'],
'response' => $jsonArray
]
);
}
}