GoogleShortUrl::shortUrl()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 11
nc 1
nop 2
dl 0
loc 17
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * The MIT License (MIT)
4
 * Copyright (c) 2017 Angel Cruz <[email protected]>
5
 *
6
 * Permission is hereby granted, free of charge, to any person obtaining a copy
7
 * of this software and associated documentation files (the “Software”), to deal
8
 * in the Software without restriction, including without limitation the rights
9
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
 * copies of the Software, and to permit persons to whom the Software is
11
 * furnished to do so, subject to the following conditions:
12
 *
13
 * The above copyright notice and this permission notice shall be included in
14
 * all copies or substantial portions of the Software.
15
 *
16
 * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
 * THE SOFTWARE.
23
 *
24
 * @author Angel Cruz <[email protected]>
25
 * @license MIT License
26
 * @copyright 2017 Angel Cruz
27
 */
28
29
namespace Abr4xas\Utils;
30
31
class GoogleShortUrl
32
{
33
34
    /**
35
     * Generar URL
36
     *
37
     * @param $param url
0 ignored issues
show
Bug introduced by
The type Abr4xas\Utils\url was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
38
     * @param $apiKey string llave api de Google
39
     *
40
     * @return array resultado de la transaccion
41
     */
42
    public static function shortUrl($param, $apiKey)
43
    { 
44
        $curlSession = curl_init();
45
        curl_setopt($curlSession, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url?key=' . $apiKey);
46
        curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true);
47
48
        $requestData = [
49
            'longUrl' => $param
50
        ];
51
52
        curl_setopt($curlSession, CURLOPT_POST, true);
53
        curl_setopt($curlSession, CURLOPT_HTTPHEADER, [ 'Content-type: application/json' ]);
54
        curl_setopt($curlSession, CURLOPT_POSTFIELDS, json_encode($requestData));
55
        $jsonData = json_decode(curl_exec($curlSession), true);
56
        curl_close($curlSession);
57
        
58
        return $jsonData[ 'id' ];
59
    }
60
    
61
}
62