Completed
Push — master ( e813e3...7dc83c )
by Johnny
02:20
created

Videos::listChannelVideos()   B

Complexity

Conditions 6
Paths 3

Size

Total Lines 37
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 42

Importance

Changes 1
Bugs 1 Features 0
Metric Value
c 1
b 1
f 0
dl 0
loc 37
ccs 0
cts 35
cp 0
rs 8.439
cc 6
eloc 30
nc 3
nop 1
crap 42
1
<?php
2
namespace Redbox\Twitch\Resource;
3
use Redbox\Twitch;
4
5
class Videos extends ResourceAbstract
6
{
7
    public function listTopVideos($args = array())
8
    {
9
        $response = $this->call('listTopVideos', $args);
10
11
        $videos = [];
12
13
        if (is_object($response) === true) {
14
            if (isset($response->videos) === true) {
15
                foreach($response->videos as $vid) {
16
                    $video = new Twitch\Video();
17
                    $video->setTitle($vid->title);
18
                    $video->setDescription($vid->description);
19
                    $video->setBroadcastId($vid->broadcast_id);
20
                    $video->setStatus($vid->status);
21
                    $video->setTagList($vid->tag_list);
22
                    $video->setRecordedAt($vid->recorded_at);
23
                    $video->setGame($vid->game);
24
                    $video->setLength($vid->length);
25
                    $video->setDeleteAt($vid->delete_at);
26
                    $video->setVodType($vid->vod_type);
27
                    $video->setIsMuted($vid->is_muted);
28
                    $video->setPreview($vid->preview);
29
                    $video->setThumbnails($vid->thumbnails);
30
                    $video->setResolutions($vid->resolutions);
31
                    $video->setBroadcastType($vid->broadcast_type);
32
                    $video->setCreatedAt($vid->created_at);
33
                    $video->setChannel($vid->channel);
34
                    $video->setFps($vid->fps);
35
                    $video->setViews($vid->views);
36
                    $video->setUrl($vid->url);
37
                    $video->setId($vid->_id);
38
                    $videos[] = $video;
39
                }
40
            }
41
        }
42
        return $videos;
43
    }
44
45
    public function getVideo($args = array())
46
    {
47
        $response = $this->call('getVideo', $args);
48
49
        if(is_object($response) && isset($response->title))
50
        {
51
            $video = new Twitch\Video();
52
            $video->setTitle($response->title);
53
            $video->setDescription($response->description);
54
            $video->setBroadcastId($response->broadcast_id);
55
            $video->setStatus($response->status);
56
            $video->setTagList($response->tag_list);
57
            $video->setRecordedAt($response->recorded_at);
58
            $video->setGame($response->game);
59
            $video->setLength($response->length);
60
            $video->setDeleteAt($response->delete_at);
61
            $video->setVodType($response->vod_type);
62
            $video->setIsMuted($response->is_muted);
63
            $video->setPreview($response->preview);
64
            $video->setThumbnails($response->thumbnails);
65
            $video->setResolutions($response->resolutions);
66
            $video->setBroadcastType($response->broadcast_type);
67
            $video->setCreatedAt($response->created_at);
68
            $video->setChannel($response->channel);
69
            $video->setFps($response->fps);
70
            $video->setViews($response->views);
71
            $video->setUrl($response->url);
72
            $video->setId($response->_id);
73
            return $video;
74
        }
75
        return false;
76
    }
77
78
    public function listChannelVideos($args = array())
79
    {
80
        $response = $this->call('listChannelVideos', $args);
81
82
        $videos = [];
83
84
        if (is_object($response) === true) {
85
            if (isset($response->videos) === true) {
86
                foreach($response->videos as $vid) {
87
                    $video = new Twitch\Video();
88
                    $video->setTitle($vid->title);
89
                    $video->setDescription($vid->description);
90
                    $video->setBroadcastId($vid->broadcast_id);
91
                    $video->setStatus($vid->status);
92
                    $video->setTagList($vid->tag_list);
93
                    $video->setRecordedAt($vid->recorded_at);
94
                    $video->setGame($vid->game);
95
                    $video->setLength($vid->length);
96
                    if (isset($vid->delete_at)) $video->setDeleteAt($vid->delete_at);
97
                    if (isset($vid->vod_type)) $video->setVodType($vid->vod_type);
98
                    $video->setIsMuted($vid->is_muted);
99
                    $video->setPreview($vid->preview);
100
                    $video->setThumbnails($vid->thumbnails);
101
                    $video->setResolutions($vid->resolutions);
102
                    $video->setBroadcastType($vid->broadcast_type);
103
                    $video->setCreatedAt($vid->created_at);
104
                    $video->setChannel($vid->channel);
105
                    $video->setFps($vid->fps);
106
                    $video->setViews($vid->views);
107
                    $video->setUrl($vid->url);
108
                    $video->setId($vid->_id);
109
                    $videos[] = $video;
110
                }
111
            }
112
        }
113
        return $videos;
114
    }
115
116
    public function listVideosFollowed($args = array())
117
    {
118
        $response = $this->call('listVideosFollowed', $args);
119
120
        $videos = [];
121
122
        if (isset($response->videos) === true) {
123
            foreach($response->videos as $vid) {
124
125
                $video = new Twitch\Video();
126
                $video->setTitle($vid->title);
127
                $video->setDescription($vid->description);
128
                $video->setBroadcastId($vid->broadcast_id);
129
                $video->setStatus($vid->status);
130
                $video->setTagList($vid->tag_list);
131
                $video->setRecordedAt($vid->recorded_at);
132
                $video->setGame($vid->game);
133
                $video->setLength($vid->length);
134
                $video->setDeleteAt($vid->delete_at);
135
                $video->setVodType($vid->vod_type);
136
                $video->setIsMuted($vid->is_muted);
137
                $video->setPreview($vid->preview);
138
                $video->setThumbnails($vid->thumbnails);
139
                $video->setResolutions($vid->resolutions);
140
                $video->setBroadcastType($vid->broadcast_type);
141
                $video->setCreatedAt($vid->created_at);
142
                $video->setChannel($vid->channel);
143
                $video->setFps($vid->fps);
144
                $video->setViews($vid->views);
145
                $video->setUrl($vid->url);
146
                $video->setId($vid->_id);
147
                $videos[] = $video;
148
            }
149
        }
150
151
        return $videos;
152
    }
153
}