mirror of https://github.com/helloxz/imgurl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.1 KiB
96 lines
2.1 KiB
<?php |
|
|
|
namespace Tinify; |
|
|
|
const VERSION = "1.5.2"; |
|
|
|
class Tinify { |
|
private static $key = NULL; |
|
private static $appIdentifier = NULL; |
|
private static $proxy = NULL; |
|
|
|
private static $compressionCount = NULL; |
|
private static $client = NULL; |
|
|
|
public static function setKey($key) { |
|
self::$key = $key; |
|
self::$client = NULL; |
|
} |
|
|
|
public static function setAppIdentifier($appIdentifier) { |
|
self::$appIdentifier = $appIdentifier; |
|
self::$client = NULL; |
|
} |
|
|
|
public static function setProxy($proxy) { |
|
self::$proxy = $proxy; |
|
self::$client = NULL; |
|
} |
|
|
|
public static function getCompressionCount() { |
|
return self::$compressionCount; |
|
} |
|
|
|
public static function setCompressionCount($compressionCount) { |
|
self::$compressionCount = $compressionCount; |
|
} |
|
|
|
public static function getClient() { |
|
if (!self::$key) { |
|
throw new AccountException("Provide an API key with Tinify\setKey(...)"); |
|
} |
|
|
|
if (!self::$client) { |
|
self::$client = new Client(self::$key, self::$appIdentifier, self::$proxy); |
|
} |
|
|
|
return self::$client; |
|
} |
|
|
|
public static function setClient($client) { |
|
self::$client = $client; |
|
} |
|
} |
|
|
|
function setKey($key) { |
|
return Tinify::setKey($key); |
|
} |
|
|
|
function setAppIdentifier($appIdentifier) { |
|
return Tinify::setAppIdentifier($appIdentifier); |
|
} |
|
|
|
function setProxy($proxy) { |
|
return Tinify::setProxy($proxy); |
|
} |
|
|
|
function getCompressionCount() { |
|
return Tinify::getCompressionCount(); |
|
} |
|
|
|
function compressionCount() { |
|
return Tinify::getCompressionCount(); |
|
} |
|
|
|
function fromFile($path) { |
|
return Source::fromFile($path); |
|
} |
|
|
|
function fromBuffer($string) { |
|
return Source::fromBuffer($string); |
|
} |
|
|
|
function fromUrl($string) { |
|
return Source::fromUrl($string); |
|
} |
|
|
|
function validate() { |
|
try { |
|
Tinify::getClient()->request("post", "/shrink"); |
|
} catch (AccountException $err) { |
|
if ($err->status == 429) return true; |
|
throw $err; |
|
} catch (ClientException $err) { |
|
return true; |
|
} |
|
}
|
|
|