whoami7 - Manager
:
/
home
/
dataiclx
/
www
/
wp-content
/
plugins
/
nitropack
/
nitropack-sdk
/
NitroPack
/
SDK
/
Upload File:
files >> /home/dataiclx/www/wp-content/plugins/nitropack/nitropack-sdk/NitroPack/SDK/Api.php
<?php namespace NitroPack\SDK; use \NitroPack\SDK\Website as Website; class Api { private $allowedWebhooks = array('config', 'cache_clear', 'cache_ready', 'sitemap'); private $children; public function __construct($siteId, $siteSecret) { $this->children = []; $this->children["cache"] = new Api\Cache($siteId, $siteSecret); $this->children["tagger"] = new Api\Tagger($siteId, $siteSecret); $this->children["url"] = new Api\Url($siteId, $siteSecret); $this->children["stats"] = new Api\Stats($siteId, $siteSecret); $this->children["webhook"] = new Api\Webhook($siteId, $siteSecret); $this->children["warmup"] = new Api\Warmup($siteId, $siteSecret); $this->children["integration"] = new Api\Integration($siteId, $siteSecret); $this->children["variation_cookie"] = new Api\VariationCookie($siteId, $siteSecret); $this->children["safe_mode"] = new Api\SafeMode($siteId, $siteSecret); $this->children["request_maker"] = new Api\RequestMaker($siteId); $this->children["secure_request_maker"] = new Api\SecureRequestMaker($siteId, $siteSecret); $this->children["varnish"] = new Api\Varnish($siteId, $siteSecret); $this->children["excludedurls"] = new Api\ExcludedUrls($siteId, $siteSecret); $this->children["additionaldomains"] = new Api\AdditionalDomains($siteId, $siteSecret); $this->children["excludes"] = new Api\Excludes($siteId, $siteSecret); } public function __get($prop) { return !empty($this->children[$prop]) ? $this->children[$prop] : NULL; } public function setBacklog($backlog) { foreach ($this->children as $child) { $child->setBacklog($backlog); } } public function setNitroPack($nitropack) { foreach ($this->children as $child) { $child->setNitroPack($nitropack); } } public function getCache($url, $userAgent, $cookies, $isAjax, $layout, $referer) { return $this->cache->get($url, $userAgent, $cookies, $isAjax, $layout, NULL, $referer); } public function getCacheMulti($urls, $userAgent, $cookies, $isAjax, $layout, $referer) { return $this->cache->getMulti($urls, $userAgent, $cookies, $isAjax, $layout, NULL, $referer); } public function getLastCachePurge() { return $this->cache->getLastPurge(); } public function purgeCache($url = NULL, $pagecacheOnly = false, $reason = NULL, $lightPurge = false) { return $this->cache->purge($url, $pagecacheOnly, $reason, $lightPurge); } public function purgeCacheByTag($tag, $reason = NULL, $lightPurge = false) { return $this->cache->purgeByTag($tag, $reason, $lightPurge); } public function getUrls($page = 1, $limit = 250, $search = NULL, $deviceType = NULL, $status = NULL) { return $this->url->get($page, $limit, $search, $deviceType, $status); } public function getUrlsCount($search = NULL, $deviceType = NULL, $status = NULL) { $resp = $this->url->count($search, $deviceType, $status); return (int)$resp["count"]; } public function getPendingUrls($page = 1, $limit = 250, $priority = NULL) { return $this->url->getpending($page, $limit, $priority); } public function getPendingUrlsCount($priority = NULL) { $resp = $this->url->pendingCount($priority); return (int)$resp["count"]; } public function tagUrl($url, $tag) { $resp = @json_decode($this->tagger->tag($url, $tag)->getBody()); if ($resp && !$resp->success) { $msg = $resp->error ? $resp->error : "Unable to tag URL"; throw new \RuntimeException($msg); } return true; } public function untagUrl($url, $tag) { $resp = json_decode($this->tagger->remove($url, $tag)->getBody(), true); return $resp['removed']; } public function getTaggedUrls($tag, $page = 1, $limit = 250) { return $this->tagger->getUrls($tag, $page, $limit); } public function getTaggedUrlsCount($tag) { $resp = $this->tagger->getUrlsCount($tag); return (int)$resp["count"]; } public function getTags($url = NULL, $page = 1, $limit = 250) { return $this->tagger->getTags($url, $page, $limit); } public function getSavings() { return $this->stats->getSavings(); } public function getDiskUsage() { return $this->stats->getDiskUsage(); } public function getRequestUsage() { return $this->stats->getRequestUsage(); } public function resetSavingsStats() { return $this->stats->resetSavings(); } public function enableWarmup() { return $this->warmup->enable(); } public function disableWarmup() { return $this->warmup->disable(); } public function resetWarmup() { return $this->warmup->reset(); } public function setWarmupSitemap($url) { return $this->warmup->setSitemap($url); } public function unsetWarmupSitemap() { return $this->warmup->setSitemap(NULL); } public function setWarmupHomepage($url) { return $this->warmup->setHomepage($url); } public function unsetWarmupHomepage() { return $this->warmup->setHomepage(NULL); } public function estimateWarmup($id = NULL, $urls = NULL) { $resp = $this->warmup->estimate($id, $urls); if ($id) { return (int)$resp["count"]; } else { return $resp["id"]; } } public function runWarmup($urls = NULL, $force = false) { return $this->warmup->run($urls, $force); } public function getWarmupStats() { return $this->warmup->stats(); } public function unsetWebhook($type) { if (!in_array($type, $this->allowedWebhooks)) { throw new WebhookException("The webhook type '$type' is not supported!"); } try { $this->webhook->set($type, null); } catch (\RuntimeException $e) { throw new WebhookException($e->getMessage()); } } public function setWebhook($type, \NitroPack\Url\Url $url) { if (!in_array($type, $this->allowedWebhooks)) { throw new WebhookException("The webhook type '$type' is not supported!"); } if (!$url->isValid()) { throw new WebhookException(sprintf("The webhook URL '%s' is invalid!", $url->getUrl())); } try { $this->webhook->set($type, $url->getUrl()); } catch (\RuntimeException $e) { throw new WebhookException($e->getMessage()); } } public function getWebhook($type) { if (!in_array($type, $this->allowedWebhooks)) { throw new WebhookException("The webhook type '$type' is not supported!"); } try { $resp = $this->webhook->get($type); return $resp["url"]; } catch (\RuntimeException $e) { throw new WebhookException($e->getMessage()); } } public function setVariationCookie($name, $values = array(), $group = null) { if (!is_array($values) && !is_string($values)) { throw new VariationCookieException("The provided values is not an array or a string."); } else if (is_array($values)) { foreach ($values as $value) { if (!is_string($value)) { throw new VariationCookieException("A non-string cookie value has been detected."); } } } if (!is_string($name) || trim($name) == "") { throw new VariationCookieException("The provided cookie name is not a string or is empty."); } if (null !== $group && !filter_var($group, FILTER_VALIDATE_INT)) { throw new VariationCookieException("The provided group is not null, and it is not a positive integer."); } try { return $this->variation_cookie->set($name, $values, $group); } catch (\RuntimeException $e) { throw new VariationCookieException($e->getMessage()); } } public function unsetVariationCookie($name) { if (!is_string($name) || trim($name) == "") { throw new VariationCookieException("The provided cookie name is not a string or is empty."); } try { return $this->variation_cookie->delete($name); } catch (\RuntimeException $e) { throw new VariationCookieException($e->getMessage()); } } public function getVariationCookies() { try { return $this->variation_cookie->get(); } catch (\RuntimeException $e) { throw new VariationCookieException($e->getMessage()); } } public function createWebsite(Website $website) { return $this->integration->create($website); } public function updateWebsite(Website $website) { return $this->integration->update($website); } public function removeWebsite($apikey) { return $this->integration->remove($apikey); } // Get a single website via API key public function getWebsiteByAPIKey($apikey) { return $this->integration->readByAPIKey($apikey); } // Get all websites, along with a corresponding pagination public function getWebsitesPaginated($page, $limit = 250) { return $this->integration->readPaginated($page, $limit); } public function isSafeModeEnabled() { $status = $this->safe_mode->status(); return !empty($status->isEnabled); } public function enableCartCache() { $this->cache->enableCartCache(); } public function disableCartCache() { $this->cache->disableCartCache(); } public function enableVarnishIntegration() { $this->varnish->enable(); } public function disableVarnishIntegration() { $this->varnish->disable(); } public function configureVarnishIntegration($settings) { $this->varnish->configure($settings); } public function getVarnishIntegrationConfig() { return $this->varnish->get(); } public function setVarnishIntegrationConfig($settings) { $this->varnish->set($settings); } public function enableExcludedUrls() { $this->excludedurls->enable(); } public function disableExcludedUrls() { $this->excludedurls->disable(); } public function addExcludedUrl($urlPattern) { $this->excludedurls->add($urlPattern); } public function removeExcludedUrl($urlPattern) { $this->excludedurls->remove($urlPattern); } public function enableAdditionalDomains() { $this->additionaldomains->enable(); } public function disableAdditionalDomains() { $this->additionaldomains->disable(); } public function addAdditionalDomain($domain) { $this->additionaldomains->add($domain); } public function removeAdditionalDomain($domain) { $this->additionaldomains->remove($domain); } public function enableExcludes() { return $this->excludes->enable(); } public function disableExcludes() { return $this->excludes->disable(); } public function getExcludes() { return $this->excludes->get(); } public function setExcludes($excludes) { return $this->excludes->set($excludes); } }
Copyright ©2021 || Defacer Indonesia