X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FProxy.php;h=839442797ef8ed3b7a29bb3df63874266952fe7e;hb=e519b782fd2180d326ffbd9fc8f1d6fca111ce98;hp=4feb0b680f27ddfcb1a03799d7ba9198a11a0fdd;hpb=b852e5842bffcc1df1e5ac5d356fd9f19b7af499;p=friendica.git diff --git a/src/Util/Proxy.php b/src/Util/Proxy.php index 4feb0b680f..839442797e 100644 --- a/src/Util/Proxy.php +++ b/src/Util/Proxy.php @@ -1,12 +1,30 @@ . + * + */ namespace Friendica\Util; -use Friendica\Core\Config; use Friendica\DI; /** - * @brief Proxy utilities class + * Proxy utilities class */ class Proxy { @@ -19,11 +37,20 @@ class Proxy /** * Sizes constants */ - const SIZE_MICRO = 'micro'; - const SIZE_THUMB = 'thumb'; - const SIZE_SMALL = 'small'; - const SIZE_MEDIUM = 'medium'; - const SIZE_LARGE = 'large'; + const SIZE_MICRO = 'micro'; // 48 + const SIZE_THUMB = 'thumb'; // 80 + const SIZE_SMALL = 'small'; // 300 + const SIZE_MEDIUM = 'medium'; // 600 + const SIZE_LARGE = 'large'; // 1024 + + /** + * Pixel Sizes + */ + const PIXEL_MICRO = 48; + const PIXEL_THUMB = 80; + const PIXEL_SMALL = 300; + const PIXEL_MEDIUM = 600; + const PIXEL_LARGE = 1024; /** * Accepted extensions @@ -39,27 +66,26 @@ class Proxy ]; /** - * @brief Private constructor + * Private constructor */ private function __construct () { // No instances from utilities classes } /** - * @brief Transform a remote URL into a local one. + * Transform a remote URL into a local one. * * This function only performs the URL replacement on http URL and if the * provided URL isn't local, "the isn't deactivated" (sic) and if the config * system.proxy_disabled is set to false. * * @param string $url The URL to proxyfy - * @param bool $writemode Returns a local path the remote URL should be saved to * @param string $size One of the ProxyUtils::SIZE_* constants * * @return string The proxyfied URL or relative path * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function proxifyUrl($url, $writemode = false, $size = '') + public static function proxifyUrl($url, $size = '') { // Get application instance $a = DI::app(); @@ -80,24 +106,16 @@ class Proxy } // Is the proxy disabled? - if (Config::get('system', 'proxy_disabled')) { + if (DI::config()->get('system', 'proxy_disabled')) { return $url; } // Image URL may have encoded ampersands for display which aren't desirable for proxy $url = html_entity_decode($url, ENT_NOQUOTES, 'utf-8'); - // Creating a sub directory to reduce the amount of files in the cache directory - $basepath = $a->getBasePath() . '/proxy'; - $shortpath = hash('md5', $url); $longpath = substr($shortpath, 0, 2); - if (is_dir($basepath) && $writemode && !is_dir($basepath . '/' . $longpath)) { - mkdir($basepath . '/' . $longpath); - chmod($basepath . '/' . $longpath, 0777); - } - $longpath .= '/' . strtr(base64_encode($url), '+/', '-_'); // Extract the URL extension @@ -115,20 +133,15 @@ class Proxy } // Too long files aren't supported by Apache - // Writemode in combination with long files shouldn't be possible - if ((strlen($proxypath) > 250) && $writemode) { - return $shortpath; - } elseif (strlen($proxypath) > 250) { + if (strlen($proxypath) > 250) { return DI::baseUrl() . '/proxy/' . $shortpath . '?url=' . urlencode($url); - } elseif ($writemode) { - return $longpath; } else { return $proxypath . $size; } } /** - * @brief "Proxifies" HTML code's image tags + * "Proxifies" HTML code's image tags * * "Proxifies", means replaces image URLs in given HTML code with those from * proxy storage directory. @@ -146,13 +159,13 @@ class Proxy } /** - * @brief Checks if the URL is a local URL. + * Checks if the URL is a local URL. * * @param string $url * @return boolean * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - private static function isLocalImage($url) + public static function isLocalImage($url) { if (substr($url, 0, 1) == '/') { return true; @@ -170,7 +183,7 @@ class Proxy } /** - * @brief Return the array of query string parameters from a URL + * Return the array of query string parameters from a URL * * @param string $url URL to parse * @return array Associative array of query string parameters @@ -186,7 +199,7 @@ class Proxy } /** - * @brief Call-back method to replace the UR + * Call-back method to replace the UR * * @param array $matches Matches from preg_replace_callback() * @return string Proxified HTML image tag