mirror of
https://github.com/Anvilcraft/jensmemes
synced 2024-11-12 13:01:30 +01:00
96 lines
2.1 KiB
PHP
96 lines
2.1 KiB
PHP
<?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;
|
|
}
|
|
}
|