Current Path :
/
home
/
develito
/
public_html
/
libraries
/
googl
/
Or
Select Your Path :
Upload File :
New :
File
Dir
/home/develito/public_html/libraries/googl/api.php
<?php defined('_JEXEC') or die; /** * This file is part of googl-php * * https://github.com/sebi/googl-php * * Copyright 2011 by Sebastian Wyder <sebastian.wyder@sunrise.ch> * * googl-php 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. * * This program 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ class GooglApi { public $extended; private $target; private $apiKey; private $ch; function __construct($apiKey = null) { # Extended output mode $extended = false; # Set Google Shortener API target $this->target = 'https://www.googleapis.com/urlshortener/v1/url?'; # Set API key if available if ($apiKey != null) { $this->apiKey = $apiKey; $this->target .= 'key=' . $apiKey . '&'; } # Initialize cURL $this->ch = curl_init(); # Set our default target URL curl_setopt($this->ch, CURLOPT_URL, $this->target); # We don't want the return data to be directly outputted, so set RETURNTRANSFER to true curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true); } # Shorten a URL public function shorten($url, $extended = false) { # Payload $data = array('longUrl' => $url); $data_string = '{"longUrl": "' . $url . '"}'; # Set cURL options curl_setopt($this->ch, CURLOPT_POST, count($data)); curl_setopt($this->ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($this->ch, CURLOPT_HTTPHEADER, Array('Content-Type: application/json')); if ($extended || $this->extended) { return json_decode(curl_exec($this->ch)); } else { return json_decode(curl_exec($this->ch))->id; } } # Expand an already shortened URL public function expand($url, $extended = false) { # Set cURL options curl_setopt($this->ch, CURLOPT_URL, $this->target . 'shortUrl=' . $url); if ($extended || $this->extended) { return json_decode(curl_exec($this->ch)); } else { return json_decode(curl_exec($this->ch))->longUrl; } } function __destruct() { # Close the curl handle curl_close($this->ch); # Nulling the curl handle $this->ch = null; } } ?>