]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Irc/extlib/phergie/Phergie/Plugin/Url/Shorten/Abstract.php
Merge branch 'social-master' into rewrites-master/type-hints-asserts
[quix0rs-gnu-social.git] / plugins / Irc / extlib / phergie / Phergie / Plugin / Url / Shorten / Abstract.php
diff --git a/plugins/Irc/extlib/phergie/Phergie/Plugin/Url/Shorten/Abstract.php b/plugins/Irc/extlib/phergie/Phergie/Plugin/Url/Shorten/Abstract.php
deleted file mode 100644 (file)
index 607d165..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/**
- * Phergie 
- *
- * PHP version 5
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.
- * It is also available through the world-wide-web at this URL:
- * http://phergie.org/license
- *
- * @category  Phergie 
- * @package   Phergie_Plugin_Php
- * @author    Phergie Development Team <team@phergie.org>
- * @copyright 2008-2010 Phergie Development Team (http://phergie.org)
- * @license   http://phergie.org/license New BSD License
- * @link      http://pear.phergie.org/package/Phergie_Plugin_Php
- */
-
-/**
- * URL shortener abstract class
- *
- * @category Phergie 
- * @package  Phergie_Plugin_Url
- * @author   Phergie Development Team <team@phergie.org>
- * @license  http://phergie.org/license New BSD License
- * @link     http://pear.phergie.org/package/Phergie_Plugin_Url
- * @uses     Phergie_Plugin_Http pear.phergie.org
- */
-abstract class Phergie_Plugin_Url_Shorten_Abstract
-{
-    protected $http;
-
-    /**
-     * Constructor
-     *
-     * @param Phergie_Plugin_Http $http instance of the http plugin
-     */
-    public function __construct(Phergie_Plugin_Http $http)
-    {
-        $this->http = $http;
-    }
-
-    /**
-     * Returns an array of request parameters given a url to shorten. The
-     * following keys are valid request parameters:
-     *
-     *  * 'uri': the URI for the request (required)
-     *  * 'query': an array of key-value pairs sent in a GET request
-     *  * 'post': an array of key-value pairs sent in a POST request
-     *  * 'callback': to be called after the request is finished. Should accept
-     *    a Phergie_Plugin_Http_Response object and return either the shortened
-     *    url or false if an error has occured.
-     *
-     * If the 'post' key is present a POST request shall be made; otherwise
-     * a GET request will be made. The 'post' key can be an empty array and
-     * a post request will still be made.
-     *
-     * If no callback is provided the contents of the response will be returned.
-     *
-     * @param string $url the url to shorten
-     *
-     * @return array the request parameters
-     */
-    protected abstract function getRequestParams($url);
-
-    /**
-     * Shortens a given url.
-     *
-     * @param string $url the url to shorten
-     *
-     * @return string the shortened url or false on a failure
-     */
-    public function shorten($url)
-    {
-        $defaults = array('get' => array(), 'post' => array(), 'callback' => null);
-        $options = array('timeout' => 2);
-        $params = $this->getRequestParams($url) + $defaults;
-
-        // Should some kind of notice be thrown? Maybe just if getRequestParams does not return an array?
-        if (!is_array($params) || empty($params['uri'])) {
-            return $url;
-        }
-
-        if (!empty($params['post'])) {
-            $response = $this->http->post($params['uri'], $params['get'], $params['post'], $options);
-        } else {
-            $response = $this->http->get($params['uri'], $params['get'], $options);
-        }
-
-        if (is_callable($params['callback'])) {
-            return call_user_func($params['callback'], $response);
-        }
-
-        $code = $response->getCode();
-        $content = trim($response->getContent);
-        if ($code < 200 || $code >= 300 || empty($content)) {
-            return false;
-        }
-
-        return $response->getContent();
-    }
-}