GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Issues (9)

src/Api/AnalyticsLive.php (2 issues)

1
<?php
2
3
4
namespace ApiVideo\Client\Api;
5
6
use ApiVideo\Client\Model\Analytic\PlayerSession;
7
use DateTime;
8
use Exception;
9
10
class AnalyticsLive extends BaseApi
11
{
12
    /**
13
     * @param            $liveStreamId
14
     * @param null       $period
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $period is correct as it would always require null to be passed?
Loading history...
15
     * @param array      $parameters
16
     * @return PlayerSession[]|null
17
     */
18
    public function search($liveStreamId, $period = null, array $parameters = array())
19
    {
20
        if (null !== $period) {
0 ignored issues
show
The condition null !== $period is always false.
Loading history...
21
            $parameters['period'] = $period;
22
        }
23
24
        $currentPage            = isset($parameters['currentPage']) ? $parameters['currentPage'] : 1;
25
        $parameters['pageSize'] = isset($parameters['pageSize']) ? $parameters['pageSize'] : 100;
26
        $allAnalytics           = array();
27
28
        do {
29
            $parameters['currentPage'] = $currentPage;
30
            $response                  = $this->browser->get("/analytics/live-streams/$liveStreamId?".http_build_query($parameters));
31
32
            if (!$response->isSuccessful()) {
33
                $this->registerLastError($response);
34
35
                return null;
36
            }
37
38
            $json = json_decode($response->getContent(), true);
39
            $analytics = $json['data'];
40
            $allAnalytics[] = $this->castAll($analytics);
41
42
            if (isset($parameters['currentPage'])) {
43
                break;
44
            }
45
46
            $pagination = $json['pagination'];
47
            $pagination['currentPage']++;
48
        } while ($pagination['pagesTotal'] >= $pagination['currentPage']);
49
50
        $allAnalytics = call_user_func_array('array_merge', $allAnalytics);
51
52
        return $allAnalytics;
53
    }
54
55
    /**
56
     * @param array $object
57
     * @return PlayerSession
58
     * @throws Exception
59
     */
60
    protected function cast(array $object)
61
    {
62
        $analyticData = new PlayerSession();
63
64
        // Build Analytic Session
65
        $analyticData->session->sessionId = $object['session']['sessionId'];
66
        $analyticData->session->loadedAt = new DateTime($object['session']['loadedAt']);
67
        $analyticData->session->endedAt = new DateTime($object['session']['endedAt']);
68
        if (isset($object['session']['metadata'])) {
69
            $analyticData->session->metadata = $object['session']['metadata'];
70
        }
71
72
        // Build Analytic Location
73
        $analyticData->location->country = $object['location']['country'];
74
        $analyticData->location->city = $object['location']['city'];
75
76
        // Build Analytic Referrer
77
        $analyticData->referrer->url = $object['referrer']['url'];
78
        $analyticData->referrer->medium = $object['referrer']['medium'];
79
        $analyticData->referrer->source = $object['referrer']['source'];
80
        $analyticData->referrer->searchTerm = $object['referrer']['searchTerm'];
81
82
        // Build Analytic Device
83
        $analyticData->device->type = $object['device']['type'];
84
        $analyticData->device->vendor = $object['device']['vendor'];
85
        $analyticData->device->model = $object['device']['model'];
86
87
        // Build Analytic Os
88
        $analyticData->os->name = $object['os']['name'];
89
        $analyticData->os->shortname = $object['os']['shortname'];
90
        $analyticData->os->version = $object['os']['version'];
91
92
        // Build Analytic Client
93
        $analyticData->client->type = $object['client']['type'];
94
        $analyticData->client->name = $object['client']['name'];
95
        $analyticData->client->version = $object['client']['version'];
96
97
        return $analyticData;
98
    }
99
}
100