Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /*obfv1*/ // Copyright 2015 Extendware // Are you trying to customize your extens..

Decoded Output download

?><?php /*obfv1*/
// Copyright  2015 Extendware
// Are you trying to customize your extension? Contact us (http://www.extendware.com/contacts/) and we can help!
// Please note, not all files are encoded and different extensions have different levels of encoding.
// We are always happy to provide guideance if you are experiencing an issue!



/**
 * Below are methods found in this class
 *
 * @method mixed public __()
 * @method mixed public __construct()
 * @method mixed public cookiesMatchDisqualifiers()
 * @method mixed public deleteCookie($name)
 * @method mixed public getActiveVirtualKeys(array $activeVirtualKeys = array())
 * @method mixed public getBeginMarker($key, array $params = array(), $dataKey = null, $force = false)
 * @method mixed public getConfig()
 * @method mixed public getCookieSegmentationKey()
 * @method mixed public getData($key, $default = null)
 * @method mixed public getEndMarker($key, $force = false)
 * @method mixed public getFrontendFormKey()
 * @method mixed public getFrontendSessionId()
 * @method mixed public getHeadersFromSerialized($headers)
 * @method mixed public getIgnoredParameters()
 * @method mixed static public getInjectorCacheCookieValue()
 * @method mixed public getInjectorsFromContent($content)
 * @method mixed public getIpAddress()
 * @method mixed public getIsNotDefaultRequest()
 * @method mixed public getLighteningCacheDirectory()
 * @method mixed public getLighteningCacheFile($cacheKey)
 * @method mixed public getNullMarker($key, array $params = array(), $dataKey = null)
 * @method mixed public getPageRule($rule, array $pagePath = null)
 * @method mixed public getPattern($key, $dataKey)
 * @method mixed public getReasonsNotDefaultRequest()
 * @method mixed public getSegmentableCookieValues($includeUnset = false)
 * @method mixed public getSegmentableCookies()
 * @method mixed public getStoreId()
 * @method mixed public getTaxClassKey($shippingAddress = null, $billingAddress = null, $customerTaxClass = null, $store = null)
 * @method mixed public getTranslatedCustomerGroupId($id = null)
 * @method mixed public getUserAgentSegmentationKey()
 * @method mixed public getVirtualKeyFromKeys(array $keys = array())
 * @method mixed public getVirtualKeyValues(array $activeVirtualKeys = array())
 * @method mixed public getVirtualKeysCookieValue(array $virtualKeys)
 * @method mixed public getVirtualKeysFromCookies(array $include = null)
 * @method mixed public getVirtualKeysValuesFromCookies(array $include = null, $decode = false)
 * @method mixed public injectFooterWidget($content, $type, $isDefaultable, $pagePath, $key = null, $ttl = null, array $cache = array(), array $tags = null)
 * @method mixed public injectWidget($content, $type, $time)
 * @method mixed public isAllowedByIpRules($ip = null)
 * @method mixed public isHeadersSent($log = true)
 * @method mixed public isModuleEnabled($moduleName = null)
 * @method mixed public isModuleOutputEnabled($moduleName = null)
 * @method mixed public isPageCacheEnabled()
 * @method mixed public isPageCacheEnabledInConfig()
 * @method mixed public log($message, $force = false, $level = null)
 * @method mixed public recordRecentlyViewedProductFromRequest($request, array $params = array())
 * @method mixed public replaceMarkers($content)
 * @method mixed public sendCookie($name, $value, $offset = null, $storeId = null, $httpOnly = null)
 * @method mixed public sendIsNotDefaultRequestCookie()
 * @method mixed public sendSegmentableCookies(array $cookies = array())
 * @method mixed public sendVirtualKeyCookies(array $virtualKeys = array())
 * @method mixed public sendVirtualKeyValueCookies(array $virtualKeys = array())
 * @method mixed public setAndCheckState()
 * @method mixed public setCanOutputMarkers($bool)
 * @method mixed public setData($key, $value)
 * @method mixed public setIsNotDefaultRequestReason($value, $reason = 'default')
 * @method mixed public setReasonNotDefaultRequest($name, $value)
 * @method mixed static public setStoreId($storeId)
 * @method mixed public uriMatchesDisqualifiers()
 * @method mixed public userAgentMatchDisqualifiers()
 *
 */
?><?php
class ExtendwareInternal_EWPageCache_Helper_Data { static private $phbugl; static protected $storeId = null; static private $_1ghzp1y = array(); static private $fz1xz4 = true; public function __construct() { if (!self::$phbugl) self::$phbugl = new Extendware_EWPageCache_Helper_Config(); } public function _1d3ufgd() { return substr(md5($this->k2u9ed() . 'XXclWbaChK'), 0, 16); } public function k2u9ed() { static $_0 = null; if ($_0 === null) { $_0 = isset($_COOKIE[self::$phbugl->getFrontendCookieName()]) ? $_COOKIE[self::$phbugl->getFrontendCookieName()] : md5(uniqid(null, true)); if (isset($_GET[self::$phbugl->getSessionParamName()])) $_0 = $_GET[self::$phbugl->getSessionParamName()]; } return $_0; } public function _8jzdbs($_0) { $_0 = @unserialize($_0); if (is_array($_0) === false) $_0 = array(); $_1 = array(); foreach ($_0 as $_2) { if (in_array(strtolower($_2['name']), array('content-type', 'x-frame-options', 'http/1.0', 'http/1.1'))) { if (in_array(strtolower($_2['name']), array('content-type', 'x-frame-options'))) { $_2['name'] .= ':'; } $_1[$_2['name']] = $_2['value']; } } return $_1; } static public function getInjectorCacheCookieValue() { $_0 = self::$phbugl->getInjectorCacheCookieName(); if (isset($_COOKIE[$_0])) { return $_COOKIE[$_0]; } return null; } static public function setStoreId($_0) { self::$storeId = $_0; } public function _2ssre5() { if (class_exists('Mage_Core_Model_App', false) === true) { $_0 = Mage::app()->getStores(); if (empty($_0) === false) { return Mage::app()->getStore()->getId(); } } return self::$storeId; } public function kixvra() { return self::$phbugl; } public function _1685btv(array $_0 = array()) { foreach ($_0 as $_1 => $_2) { $_3 = null; if ($_2 === null) $_3 = -86400; $this->_1xz7sti(self::$phbugl->getVirtualKeyValuePrefix() . $_1, $_2, $_3); } $_4 = $this->_1ucz426(); $_5 = array_diff_key($_4, $_0); foreach ($_5 as $_1 => $_2) { $this->_1xz7sti(self::$phbugl->getVirtualKeyValuePrefix() . $_1, $_2); } } public function pcv4jy(array $_0) { $_1 = $this->_6n7ip(array_keys($_0)); $_2 = array(); foreach ($_0 as $_3 => $_4) { if ($_4 === null or isset($_1[$_3]) === false) { $_2[$_3] = null; continue; } $_5 = http_build_query($_1[$_3]); $_6 = substr(md5($_5 . $_4 . 'RITh4pgz7r'), 0, 10); $_2[$_3] = $_6 . ':' . $_5; } return $_2; } public function k9iccu() { return (self::$phbugl->isPrimaryCacheEnabled() === true || self::$phbugl->isSecondaryCacheEnabled() === true); } public function _1bl0vkc() { return (Mage::getSingleton('ewpagecache/cache_primary')->isEnabled() === true || Mage::getSingleton('ewpagecache/cache_secondary')->isEnabled() === true); } public function _1t4soc(array $_0 = array()) { foreach ($_0 as $_1 => $_2) { $_3 = null; if ($_2 === null) $_3 = -86400; $this->_1xz7sti(self::$phbugl->getVirtualKeyPrefix() . $_1, $_2, $_3); } $_4 = $this->_1h90xh4(); $_5 = array_diff_key($_4, $_0); foreach ($_5 as $_1 => $_2) { $this->_1xz7sti(self::$phbugl->getVirtualKeyPrefix() . $_1, $_2); } return $this; } public function _1k9tan4(array $_0 = array()) { $_1 = $this->_2mx14j(); foreach ($_0 as $_2 => $_3) { $_4 = null; if ($_3 === null) $_4 = -86400; elseif (isset($_1[$_2])) { $_4 = $_1[$_2]['expiry']; } $this->_1xz7sti($_2, $_3, $_4); } return $this; } public function vj1pnc() { static $_0 = null; if ($_0 === null) { $_1 = self::$phbugl->getLighteningCacheDirectory(); if (realpath(BP . $_1) == realpath(BP)) { $_1 = '/var/cache/extendware/ewpagecache/static'; } $_0 = BP . $_1; } return $_0; } public function _1avb2su($_0) { $_1 = $this->vj1pnc() . DS . substr($_0, 0, 2) . DS . substr($_0, 2, 2); return $_1 . DS . $_0 . '.html'; } public function _1h90xh4(array $_0 = null) { $_1 = array(); foreach ($_COOKIE as $_2 => $_3) { if (strpos($_2, self::$phbugl->getVirtualKeyPrefix()) === 0) { $_4 = substr($_2, strlen(self::$phbugl->getVirtualKeyPrefix())); if (!$_0 or in_array($_4, $_0) === true) { $_1[$_4] = $_3; } } } return $_1; } public function _1d6xfta(array $_0 = array()) { if (empty($_0)) return null; if (count($_0) == 1) { $_1 = array_filter($_0); if (empty($_1)) return 'default'; } return substr(md5(join('~!~', $_0)), 0, 8); } public function _1ucz426(array $_0 = null, $_1 = false) { $_2 = array(); foreach ($_COOKIE as $_3 => $_4) { if (strpos($_3, self::$phbugl->getVirtualKeyValuePrefix()) === 0) { $_5 = substr($_3, strlen(self::$phbugl->getVirtualKeyValuePrefix())); if (!$_0 or in_array($_5, $_0) === true) { if ($_1 === true) { if (strpos($_4, ':') !== false) { list($_6, $_7) = explode(':', $_4, 2); if ($_6 == @substr(md5($_7 . $_COOKIE[self::$phbugl->getVirtualKeyPrefix() . $_5] . 'RITh4pgz7r'), 0, 10)) { @parse_str($_7, $_4); } } if (!is_array($_4)) $_4 = array(); } $_2[$_5] = $_4; } } } return $_2; } public function _2mx14j() { static $_0 = null; if ($_0 === null) $_0 = self::$phbugl->getSegmentableCookies(); return $_0; } protected function _1ycoxc8() { static $_0 = null; if ($_0 === null) { $_0 = array(); $_1 = headers_list(); foreach ($_1 as $_2) { list($_3, $_4) = preg_split('/\s*\:\s*/', $_2, 2); $_3 = strtolower($_3); if ($_3 == 'set-cookie') { $_5 = $_6 = null; $_7 = preg_split('/\s*;\s*/', $_4); if (empty($_7) === false) { @list($_5, $_6) = explode('=', array_shift($_7), 2); foreach ($_7 as $_8) { @list ($_9, $a) = explode('=', array_shift($_7), 2); if ($_9 == 'expires') { if (time() >= strtotime($a)) { $_6 = null; } } } } if ($_5 and $_6 !== null) { $_0[$_5] = $_6; } else { unset($_0[$_5]); } }; } } return $_0; } public function p34rws($_0 = false) { static $_1 = array(); if (isset($_1[$_0]) === false) { $_1[$_0] = array(); $_2 = $this->_2mx14j(); $_3 = $this->_1ycoxc8(); foreach ($_2 as $_4) { if (array_key_exists($_4['name'], $_3) === true) { $_1[$_0][$_4['name']] = $_3[$_4['name']]; continue; } if (array_key_exists($_4['name'], $_COOKIE) === true) { $_1[$_0][$_4['name']] = $_COOKIE[$_4['name']]; } elseif ($_0 === true) { $_1[$_0][$_4['name']] = null; } } } return $_1[$_0]; } public function iugllu(array $_0 = array()) { $_1 = $this->_1iimti0('virtual_keys'); $_2 = array(); foreach ($_1 as $_3 => $_4) { $_3 = $_4['alias']; if (in_array($_3, $_0) === false) { continue; } $_2[$_3] = $_4; } return $_2; } public function _6n7ip(array $_0 = array()) { $_1 = $this->iugllu($_0); $_2 = array(); foreach ($_1 as $_3) { $_4 = $_3['alias']; $_2[$_4] = array(); foreach ($_3['model_params'] as $_5 => $_6) { $_7 = null; $_8 = Mage::getSingleton($_6['model']); if ($_8) { if ($_6['key']) $_7 = $_8->getData($_6['key']); } if ($_7 !== null) { $_2[$_4][$_5] = $_7; } } } return $_2; } public function _1iimti0($_0, array $_1 = null) { static $_2 = array( 'cacheable' => 'bool', 'logging' => 'bool', 'primary_cache' => 'bool', 'secondary_cache' => 'bool', 'lightening_cache' => 'bool', 'cache_lifetime' => 'int', 'max_age' => 'array', 'virtual_keys' => 'array', 'active_virtual_keys' => 'array', 'virtual_key_groups' => 'array' ); static $_3 = array(); if ($_1 === null) { if (class_exists('Mage_Core_Model_App', false) === false) $_1 = array(null, null, null); else $_1 = array(Mage::app()->getRequest()->getModuleName(), Mage::app()->getRequest()->getControllerName(), Mage::app()->getRequest()->getActionName()); } $_4 = $_0 . '|' . join('-', $_1); if (array_key_exists($_4, $_3) === true) { return $_3[$_4]; } if ($_0 == 'active_virtual_keys' or $_0 == 'virtual_key_groups') { if (self::$phbugl->isVirtualKeysEnabled() === false) { return $_3[$_4] = array(); } } $_3[$_4] = null; $_5 = $this->_17184mz($_1); if (empty($_5) === false) { $_6 = self::$phbugl->getCachingPageRules(); foreach ($_5 as $_7) { if (is_array($_6[$_7]) and array_key_exists($_0, $_6[$_7]) === true) { $_3[$_4] = $_6[$_7][$_0]; break; } } } if (isset($_2[$_0])) { if ($_2[$_0] == 'bool') $_3[$_4] = (bool) $_3[$_4]; elseif ($_2[$_0] == 'int') $_3[$_4] = (($_3[$_4] !== null and $_3[$_4] != '') ? (int) $_3[$_4] : null); elseif ($_2[$_0] == 'array') $_3[$_4] = is_array($_3[$_4]) ? $_3[$_4] : array(); } return $_3[$_4]; } protected function _17184mz(array $_0) { static $_1 = array(); $_2 = join('-', $_0); if (isset($_1[$_2]) === false) { $_1[$_2] = array(); $_3 = self::$phbugl->getCachingPageRules(); if (empty($_0) === false) { do { $_4 = join('-', $_0); if (isset($_3[$_4]) === true) { array_push($_1[$_2], $_4); } } while (array_pop($_0)); } if (empty($_1[$_2]) === false) { if (isset($_3['__default_match'])) array_push($_1[$_2], '__default_match'); if (isset($_3['__default_match_system'])) array_push($_1[$_2], '__default_match_system'); } elseif (empty($_1[$_2]) === false) { if (isset($_3['__default_no_match'])) array_push($_1[$_2], '__default_no_match'); if (isset($_3['__default_no_match_system'])) array_push($_1[$_2], '__default_no_match_system'); } if (isset($_3['__default'])) array_push($_1[$_2], '__default'); if (isset($_3['__default_system'])) array_push($_1[$_2], '__default_system'); } return $_1[$_2]; } public function oibx1s($_0, $_1, $_2) { if (self::r5ddu4() === true or @$this->fd2t12() === false) { return $_0; } $_3 = new Extendware_EWPageCache_Helper_Config(); $_0 = preg_replace('/<div\s+?class="page">/is', '<!--ewpagecache:demo_widget/--><div class="page">', $_0); $_4 = 'no cache being used'; if ($_1 == 'primary') $_4 = 'fastest cache level'; elseif ($_1 == 'secondary') { if (!isset($_GET['__no_lightening_cache']) or !isset($_GET['__no_primary_cache'])) { $_4 = ' - <b>WARNING! Delete browser cookies to get back into primary / lightening cache</b>'; } else $_4 = 'second fastest cache level'; } $_5 = preg_replace('/\?.*$/', '', $_SERVER['REQUEST_URI']); $_6 = $_SERVER['QUERY_STRING']; foreach (array('__no_lightening_cache', '__no_primary_cache', '__no_secondary_cache', '__no_ajax_holepunches') as $_7) { $_6 = preg_replace('/\&?' . preg_quote($_7, '/') . '=.+?\&?/', '&', $_6); $_6 = preg_replace('/\&+/', '&', $_6); } $_6 = preg_replace('/\&$/', '', $_6); $_6 = preg_replace('/^\&/', '', $_6); $_6 = preg_replace('/\?$/', '', $_6); $_8 = $_6 ? $_6 . '&' : $_6; $_9 = true; if ($_1 == 'no-cache' and Extendware_EWPageCache_Model_Cache_Secondary::$isPageCacheable === false) { if (!isset($_GET['__no_secondary_cache'])) { $_9 = false; } } $a = ''; if ($_1 == 'secondary') { $a = ' - <u>will be much faster when primary cache is used</u>'; } elseif ($_1 == 'no-cache') $a = ' - <b>no cache is being used</b> - The more overloaded your DB is, the slower this number is. Cached pages are fast no matter how many products you have.'; $b = '<div style="background: #E2E9EB; text-align:left; padding: 5px 10px; border-bottom: 2px solid black;">'; $b .= '<div style="font-size: 20px; font-weight:bold">Full Page Cache Widget</div>'; if ($_9 === true) { $b .= '<div style="margin-left: 10px; font-size: 16px;">'; $b .= '<div style="font-size: 13px"><b>You might need to refresh the page to view cached results.</b> Results depend on hardware, server load, and configuration. We offer a 30 day guarantee so you can compare against other solutions / try it on your hardware.</div>'; $b .= '<div style="margin-top: 10px"><b>Test Cache Level:</b> <a href="' . $_5.($_6 ? '?'.$_6 : '') . '"><b>Lightening</b></a> | <a href="' . $_5.($_6 ? '?'.$_6 : '') . '?__no_lightening_cache=1"><b>Primary / Default</b></a> | <a href="' . $_5.'?'.$_8 . '__no_primary_cache=1&__no_lightening_cache=1"><b>Secondary</b></a> | <a href="' . $_5.'?'.$_8 . '__no_primary_cache=1&__no_secondary_cache=1&__no_lightening_cache=1"><b>No-cache</b></a></div>'; $b .= '<div style="margin-left: 10px; font-size: 13px">Select the cache level you want to test to view relative performance. If the primary cache level refuses to be used it is because your session is in a state that makes using it unreliable. You will need to delete all cookies / use a different browser to get a fresh session. <u>This is a multi-level cache solution, so it means more pages are cached than any other solution</u>. A multi-level cache is important because the primary cache cannot be used for all user sessions. In this situation, a fall-back secondary cache is far better than using no cache, which is what our competitors do.</div>'; $b .= '<div style="margin-top: 10px;"><b>Parse time:</b> <u>' . ($_2 < 0.01 ? '<b style="color: green">< 0.01s</b>' : sprintf('%.2fs', $_2)) . '</u>' . $a . '</div>'; $b .= '<div style="margin-left: 10px; font-size: 13px"><b>This is used only to show relative performance between cache levels.</b> This number cannot be used to compare different page cache solutions. Only a benchmark on identical hardware can show this.</div>'; $b .= '<div style="margin-top: 10px"><b>Cache level:</b> <u>' . ucfirst($_1) . '</u> - ' . $_4 . '</div>'; $b .= '<div style="margin-left: 10px; font-size: 13px">The lightening / primary cache are fastest followed by secondary cache. If you have added to cart or logged in, then you will only be able to see the secondary cache level.</div>'; $b .= '<div style="margin-top: 10px;"><b>Cache backend:</b> <u>' . ucfirst(str_replace('ew', '', $_3->getCacheMethod())) . '</u> - 7+ backends available (redis, file, apc, xcache, memcached, etc)</div>'; $b .= '<div style="margin-left: 10px; font-size: 13px">The current backend used. The demo uses file by default and does not have all backends available to it. Different backends have different performance characteristics.</div>'; $b .= '</div>'; } else { $b .= '<div style="margin-left: 10px; font-size: 14px;">'; $b .= 'This page is not cacheable using the default settings. For this page to be cacheable you would have to configure the extension in <i>Extendware -> Manage Extensions -> Page Cache -> Configure</i>.'; $b .= 'You must be careful enabling new page types to be cached to ensure no tainted data goes into the cache'; $b .= '</div>'; } $b .= '</div>'; $_0 = str_replace('<!--ewpagecache:demo_widget/-->', $b, $_0); return $_0; } public function _1ny0gjr($_0, $_1, $_2, $_3, $_4 = null, $_5 = null, array $_6 = array(), array $_7 = null) { if (self::r5ddu4() === true or @$this->fd2t12() === false) { return $_0; } if ($_3 === null and is_array($_6) and isset($_6['request']['module'])) { $_3 = $_6['request']['module'].'-'.$_6['request']['controller'].'-'.$_6['request']['action']; } if ($_7 === null and !in_array($_1, array('primary', 'lightening'))) $_7 = Mage::getSingleton('ewpagecache/cache_secondary')->getTagsForSave(); $_0 = str_ireplace('</body>', '<!--ewpagecache:footer_widget/--></body>', $_0); $_8 = ($_1 != 'no-cache' or Mage::getSingleton('ewpagecache/cache_secondary')->isPageCachingAllowedByPageRules() === true); $_9 = array(); $a = array('Magento Extensions'); $b = '<div id="ewpagecache_footer_widget" style="background: black; color: gray; text-align: center; z-index:99999999"><div>'; $b .= sprintf('<span id="extendware_link" style="float: right"><a href="http://www.extendware.com/" target="_blank" style="color: gray;text-decoration: none;">%s</a></span>', $a[rand(0, count($a) - 1)]); if ($_8 === false) { $b .= sprintf('<b>&lt;%s/&gt; must be added to the page rules in order for this page to be cacheable (not all pages should be cached).</b>', $_3); } else { $_9[] = '<b>level:</b> <span id="ewpagecache-level">' . $_1 . '</span>'; if ($_5 !== null and $_5 >= 0) $_9[] .= '<b>ttl:</b> ' . $_5; $_9[] = '<b>defaultable:</b> ' . (int)$_2; if ($_3) $_9[] = '<b>page-path:</b> ' . $_3; if ($_4 !== null) { $c = '<b>key:</b> ' . $_4; if (isset($_6['base_url']) and $_6['base_url']) { $d = $_6['base_url'] .= 'ewpagecache/cache/removeItem?id=' . rawurlencode($_4); if ($d) { if (isset($_SERVER['HTTPS']) and $_SERVER['HTTPS']) { $d = str_replace('http://', 'https://', $d); } $e = mt_rand(1, 999999); $c .= '<script>function ewpagecacheRemoveItem' . $e . '() { 
							var url = ' . @json_encode(str_split(strrev($d))) . ';
							url = url.reverse().join("");
							
							var xmlhttp;
							if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();
							else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
							if (!xmlhttp) window.location = url;
							else {
								xmlhttp.open("GET",url,false);
								xmlhttp.send();
	
								if (xmlhttp.responseText.indexOf("OK") >= 0) {
									alert("The page has been deleted from cache");
								} else alert(xmlhttp.responseText);
							}
						}</script>'; $c .= ' <a href="javascript:ewpagecacheRemoveItem' . $e . '();">[x]</a>'; } } $_9[] = $c; } if (!$_2 and self::$phbugl->isSecondaryCacheEnabled() === false and $_1 == 'no-cache') { $b .= '<b>To use a cache you must enable the secondary cache or delete browser cookies to re-enter primary cache.</b>'; } else { $b .= implode('; ', $_9); if (is_array($_7) and empty($_7) === false) { $b .= '<span title="' . implode(', ', $_7) . '" style="float: left">[tags]</span>'; } } } $b .= '</div></div>'; $_0 = str_replace('<!--ewpagecache:footer_widget/-->', $b, $_0); return $_0; } public function fd2t12($_0 = null) { if ($_0 === null) $_0 = $this->nt2ofz(); $_1 = self::$phbugl->getDeveloperIpRules(); $_2 = true; foreach ($_1 as $_3) { $_2 = $this->uu5afp($_3, $_0); if ($_2) break; } return $_2; } public function nt2ofz() { static $_0 = null; if ($_0 === null) { $_1 = '/^(\d+\.\d+\.\d+\.\d+)$/'; if (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match($_1,$_SERVER['HTTP_CF_CONNECTING_IP'])) return $_SERVER['HTTP_CF_CONNECTING_IP']; elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match($_1,$_SERVER['HTTP_CLIENT_IP'])) return $_0 = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match($_1,$_SERVER['HTTP_X_FORWARDED_FOR'])) return $_0 = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED']) && preg_match($_1,$_SERVER['HTTP_X_FORWARDED'])) return $_0 = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR']) && preg_match($_1,$_SERVER['HTTP_FORWARDED_FOR'])) return $_0 = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED']) && preg_match($_1,$_SERVER['HTTP_FORWARDED'])) return $_0 = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR']) && preg_match($_1,$_SERVER['REMOTE_ADDR'])) return $_0 = $_SERVER['REMOTE_ADDR']; if (preg_match($_1, $_0, $_2)) { return $_2[0]; } return 'UNKNOWN'; } return $_0; } protected function uu5afp($_0, $_1) { $_2 = explode('.', $_0); $_3 = explode('.', $_1); if (count($_3) < 4) return false; while (count($_2) < count($_3)) { $_2[] = '*'; } $_4 = count($_3); for ($_5 = 0; $_5 < $_4; $_5++) { $_0 = $_2[$_5]; $_6 = $_3[$_5]; if ($_0 == '') $_0 = '*'; if (preg_match('/^[0-9]+$/', $_0)) { if ($_0 != $_6) return false; } elseif (preg_match('/^([0-9]+)\-([0-9]+)$/', $_0, $_7)) { if ($_6 < $_7[1] or $_6 > $_7[2]) return false; } elseif ($_0 != '*') { return false; } } return true; } public function _1e50dsy($_0, array $_1 = array()) { if (self::$phbugl->isRecentlyViewedProductsEnabled() === true) { $_2 = $_3 = $_4 = $_1 = null; if (is_array($_0)) { $_2 = $_0['module']; $_3 = $_0['controller']; $_4 = $_0['action']; $_1 = $_0['params']; } elseif (is_object($_0)) { $_2 = $_0->getModuleName(); $_3 = $_0->getControllerName(); $_4 = $_0->getActionName(); $_1 = $_0->getParams(); } if ($_2 == 'catalog' and $_3 == 'product' and $_4 == 'view' and isset($_1['id']) and $_1['id'] > 0) { $this->d2v1gv(true, 'product-view'); if (!Mage::getSingleton('log/visitor')->getId()) { $_5 = Mage::getSingleton('core/session')->getData('visitor_data/visitor_id'); if ($_5 > 0) Mage::getSingleton('log/visitor')->load($_5); } if (Mage::getSingleton('log/visitor')->getId() > 0) { try { Mage::getModel('reports/product_index_viewed')->setVisitorId(Mage::getSingleton('log/visitor')->getId())->setProductId($_1['id'])->save()->calculate(); } catch (Exception $_6) { } } } } } public function d2v1gv($_0, $_1 = 'default') { if ($_1 !== null) { $this->_16ocbo5($_1, $_0 ? $_0 : null); } return $this; } public function oz5ocx() { static $_0 = false; if ($_0 === false) { $_0 = true; $_1 = $this->_8yi3ni(); if (empty($_1) === false) { $this->_1xz7sti(self::$phbugl->getNoPrimaryCacheCookieName(), 1); Mage::getSingleton('core/session')->setIsNotDefaultRequest(true); } elseif (self::$phbugl->isPrimaryCacheReentryEnabled() === true) { $this->_10mba30(self::$phbugl->getNoPrimaryCacheCookieName()); Mage::getSingleton('core/session')->setIsNotDefaultRequest(false); $this->unj2pc('reentered_primary_cache', true); } elseif (isset($_COOKIE[self::$phbugl->getNoPrimaryCacheCookieName()])) { if (!Mage::getSingleton('core/session')->getIsNotDefaultRequest()) { Mage::getSingleton('core/session')->setIsNotDefaultRequest(true); } } } return $this; } public function unj2pc($_0, $_1) { self::$_1ghzp1y[$_0] = $_1; return $this; } public function _1wvd2rr($_0, $_1 = null) { return array_key_exists($_0, self::$_1ghzp1y) ? self::$_1ghzp1y[$_0] : $_1; } public function _8yi3ni() { $_0 = Mage::getSingleton('core/session')->getReasonsNotDefaultRequest(); return is_array($_0) === true ? $_0 : array(); } public function _16ocbo5($_0, $_1) { $_2 = $this->_8yi3ni(); $this->_1xr7gxd(sprintf('Changing not default request reason %s with value %s', $_0, (int)$_1)); if ($_1 !== null) $_2[$_0] = $_1; elseif(self::$phbugl->isPrimaryCacheReentryEnabled() === true) { $_3 = self::$phbugl->getPrimaryCacheReentryTypes(); if (in_array($_0, $_3) === true or $_0 == 'post') { unset($_2[$_0]); } } Mage::getSingleton('core/session')->setReasonsNotDefaultRequest($_2); if (empty($_2) === false) { Mage::getSingleton('core/session')->setIsNotDefaultRequest(true); } $_4 = substr(uniqid(null, true), 0, 8); Mage::getSingleton('core/session')->setInjectorCacheKey($_4); $this->_1xz7sti(self::$phbugl->getInjectorCacheCookieName(), $_4); return $this; } protected function _59dkzh($_0) { $_1 = self::$phbugl->getCookieSettings(); $_2 = isset($_1[$_0]) ? $_1[$_0] : array( 'httponly' => true, ); return $_2; } public function _10mba30($_0) { return $this->_1xz7sti($_0, null, -86400); } public function _1xz7sti($_0, $_1, $_2 = null, $_3 = null, $_4 = null) { static $_5 = null; static $_6 = null; $_7 = time(); if ($_3 === null) $_3 = self::_2ssre5(); $_8 = $this->_59dkzh($_3); if ($_2 === null) { if (isset($_8['lifetime']) === true and (int)$_8['lifetime'] > 0) { $_2 = $_7 + (int)$_8['lifetime']; } else $_2 = $_7 + 3600; } elseif ($_2 == 0) $_2 = 0; else $_2 += $_7; if ($_2 >= $_7 or array_key_exists($_0, $_COOKIE) === true) { if ($_5 === null) { if (isset($_8['domain']) and $_8['domain']) $_5 = $_8['domain']; else $_5 = @$_SERVER['HTTP_HOST']; } if ($_6 == null) { if (isset($_8['path']) and $_8['path']) $_6 = $_8['path']; else { $_6 = '/'; $_9 = (isset($_SERVER['SCRIPT_FILENAME'])) ? basename($_SERVER['SCRIPT_FILENAME']) : ''; $a = $this->ict1s8(); if (empty($a) === false) { if (basename($a) === $_9) { $b = dirname($a); } else { $b = $a; } if (substr(PHP_OS, 0, 3) === 'WIN') { $b = str_replace('\', '/', $b); } $b = str_replace('\', '/', $b); $b = rtrim($b, '/'); if (empty($b) === false) { $_6 = $b; } } } } $c = false; if (isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] == 'on') { $c = self::$phbugl->isSecureCookiesEnabled(); } if ($_4 === null) { $_4 = (bool)$_8['httponly']; } if (!$_4) { if (!$c) { if (!$_8['domain']) { $_5 = null; } } } if ($this->_1lrqxlu() === false) { setcookie($_0, $_1, $_2, $_6, $_5, $c, (bool) $_4); } } return $this; } public function _1lrqxlu($_0 = true) { $_1 = $_2 = null; $_3 = headers_sent($_1, $_2); if ($_3 === true and $_1) { $this->_1xr7gxd(sprintf('WARNING: headers already sent at %s:%s', $_1, $_2)); } return $_3; } protected function ict1s8() { static $_0 = null; if ($_0 !== null) return $_0; $_1 = (isset($_SERVER['SCRIPT_FILENAME'])) ? basename($_SERVER['SCRIPT_FILENAME']) : ''; if (isset($_SERVER['SCRIPT_NAME']) && basename($_SERVER['SCRIPT_NAME']) === $_1) { $_0 = $_SERVER['SCRIPT_NAME']; } elseif (isset($_SERVER['PHP_SELF']) && basename($_SERVER['PHP_SELF']) === $_1) { $_0 = $_SERVER['PHP_SELF']; } elseif (isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === $_1) { $_0 = $_SERVER['ORIG_SCRIPT_NAME']; } else { $_2 = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : ''; $_3 = isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : ''; $_4 = explode('/', trim($_3, '/')); $_4 = array_reverse($_4); $_5 = 0; $_6 = count($_4); $_0 = ''; do { $_7 = $_4[$_5]; $_0 = '/' . $_7 . $_0; ++$_5; } while (($_6 > $_5) && (false !== ($_8 = strpos($_2, $_0))) && (0 != $_8)); } $_9 = $this->xvq48v(); if (0 === strpos($_9, $_0)) { $_0 = str_replace('\', '/', $_0); return $_0; } if (0 === strpos($_9, dirname($_0))) { $_0 = rtrim(dirname($_0), '/'); $_0 = str_replace('\', '/', $_0); return $_0; } $a = $_9; if (($_8 = strpos($_9, '?')) !== false) { $a = substr($_9, 0, $_8); } $b = basename($_0); if (empty($b) || !strpos($a, $b)) { $_0 = ''; return $_0; } if ((strlen($_9) >= strlen($_0)) && ((false !== ($_8 = strpos($_9, $_0))) && ($_8 !== 0))) { $_0 = substr($_9, 0, $_8 + strlen($_0)); } $_0 = str_replace('\', '/', $_0); $_0 = rtrim($_0, '/'); return $_0; } protected function xvq48v() { static $_0 = null; if ($_0 !== null) return $_0; if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { $_0 = $_SERVER['HTTP_X_REWRITE_URL']; } elseif ( isset($_SERVER['IIS_WasUrlRewritten']) && $_SERVER['IIS_WasUrlRewritten'] == '1' && isset($_SERVER['UNENCODED_URL']) && $_SERVER['UNENCODED_URL'] != '' ) { $_0 = $_SERVER['UNENCODED_URL']; } elseif (isset($_SERVER['REQUEST_URI'])) { $_0 = $_SERVER['REQUEST_URI']; $_1 = explode(':', $_SERVER['HTTP_HOST']); $_2 = ((isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] == 'on') ? 'https' : 'http'); $_3 = $_2 . '://' . $_1[0]; if (strpos($_0, $_3) === 0) { $_0 = substr($_0, strlen($_3)); } } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { $_0 = $_SERVER['ORIG_PATH_INFO']; if (!empty($_SERVER['QUERY_STRING'])) { $_0 .= '?' . $_SERVER['QUERY_STRING']; } } return $_0; } public function _10p6350() { return (bool)Mage::getSingleton('core/session')->getIsNotDefaultRequest(); } public function r5ddu4() { static $_0 = null; if ($_0 === null) { $_0 = false; $_1 = self::$phbugl->getRunnableUrlFilters(); if (class_exists('Mage', false)) { $_2 = Mage::getConfig(); if ($_2) { $_3 = (string)$_2->getNode('admin/routers/adminhtml/args/frontName'); $_1[] = '/' . preg_quote($_3, '/') . '\//'; } } if (empty($_1) === true) $_1[] = '/' . preg_quote('admin', '/') . '/'; $_1[] = '/' . preg_quote('dashboard/index', '/') . '/'; $_1[] = '/' . preg_quote('extendware_', '/') . '/'; $_1[] = '/' . preg_quote('ewpagecache', '/') . '/'; foreach ($_1 as $_4) { if (isset($_SERVER['REQUEST_URI']) and preg_match($_4, $_SERVER['REQUEST_URI'])) { $_0 = true; break; } } } return $_0; } public function _4nawbd() { static $_0 = null; if ($_0 === null) { $_0 = false; $_1 = self::$phbugl->getRunnableCookieDisqualifiers(); foreach ($_1 as $_2) { if (isset($_COOKIE[$_2]) === true) { $_0 = true; break; } } } return $_0; } public function _1mnb0vg() { static $_0 = null; if ($_0 === null) { $_0 = false; $_1 = self::$phbugl->getRunnableUserAgentDisqualifiers(); foreach ($_1 as $_2) { if (strpos($_2, '/') !== 0) $_2 = '/' . trim($_2, '/') . '/'; if (@preg_match($_2, $_SERVER['HTTP_USER_AGENT'])) { $_0 = true; break; } } } return $_0; } public function _1dliaq3() { static $_0 = null; if ($_0 === null) { $_0 = ''; $_1 = self::$phbugl->getSegmentableUserAgents(); foreach ($_1 as $_2 => $_3) { foreach ($_3 as $_4) { if (strpos($_4, '/') !== 0) $_4 = '/' . trim($_4, '/') . '/'; if (@preg_match($_4, $_SERVER['HTTP_USER_AGENT'])) { $_0 = md5($_2); break; } } } } return $_0; } public function _8001yy() { static $_0 = null; if ($_0 === null) { $_1 = ''; $_2 = $this->_2mx14j(); foreach ($_2 as $_3 => $_4) { $_4 = isset($_COOKIE[$_3]) ? $_COOKIE[$_3] : $_4; if (isset($_4{0})) { $_1 .= $_3 . '=' . $_4 . '@'; } } $_0 = crc32($_1); } return $_0; } public function xl63fm() { $_0 = self::$phbugl; $_1 = Mage::app()->getRequest(); $this->_1xz7sti($_0->getCacheInitiatedCookieName(), 1); if (isset($_COOKIE[$_0->getFrontendCookieName()]) and isset($_COOKIE[$_0->getCacheInitiatedCookieName()]) === false) { return $this->d2v1gv(true, 'untracked-session'); } elseif ($_1->isPost() and $this->_1iimti0('on_post') == 'disable_primary') { return $this->d2v1gv(true, 'post'); } elseif (isset($_COOKIE['persistent_shopping_cart']) === true) { return $this->d2v1gv(true, 'persistent-shopping-cart'); } elseif ($this->_10p6350() === true) { return $this->d2v1gv(true, null); } $_2 = $this->_1iimti0('disable_cache'); if (isset($_2['level']) and strpos($_2['level'], 'primary') !== false) { $_3 = isset($_2['reason']) ? $_2['reason'] : 'default'; $this->d2v1gv(true, $_3); } return $this; } public function mvci0($_0, $_1) { return sprintf('/(?:%s|%s.*?%s)/is', preg_quote(self::_1wkq9ao($_0, array(), $_1), '/'), preg_quote(self::afpsl6($_0, array(), $_1, true), '/'), preg_quote(self::rml4b6($_0, true), '/')); } public function pfp349($_0 = null) { static $_1 = null; if ($_1 === null) $_1 = self::$phbugl->getTranslatedCustomerGroups(); if ($_0 === null) $_0 = Mage::getSingleton('customer/session')->getCustomerGroupId(); $_0 = (int) $_0; if (isset($_1[$_0])) $_0 = $_1[$_0]; return (int)$_0; } public function _1vai6i1($_0 = null, $_1 = null, $_2 = null, $_3 = null) { $_4 = self::$phbugl->getTaxClassPieces(); if (empty($_4) === true) return null; if (Mage::getSingleton('customer/session')->getCustomerId() > 0) { if ($_0 === null) $_0 = Mage::getSingleton('customer/session')->getCustomer()->getDefaultShippingAddress(); if ($_1 === null) $_1 = Mage::getSingleton('customer/session')->getCustomer()->getDefaultBillingAddress(); if ($_2 === null) $_2 = Mage::getSingleton('customer/session')->getCustomer()->getTaxClassId(); if ($_3 === null) $_3 = Mage::app()->getStore(); } $_5 = array(); $_6 = Mage::getSingleton('tax/calculation')->getRateRequest($_0, $_1, $_2, $_3); foreach ($_4 as $_7) { $_5[] = $_6[$_7]; } $_8 = array(); $_6 = Mage::getSingleton('tax/calculation')->getRateOriginRequest($_3); foreach ($_4 as $_7) { $_8[] = $_6[$_7]; } $_7 = crc32(implode('-', $_5)); $_9 = crc32(implode('-', $_8)); return $_7 == $_9 ? null : $_7; } public function md7tmg() { static $_0 = null; if ($_0 === null) { $_0 = self::$phbugl->getIgnoredParameters(); $_0[] = Extendware_EWPageCache_Model_Cache_Abstract::OPTIONS_GET_PARAM; } return $_0; } public function _1jbkw17($_0) { if (Extendware_EWPageCache_Model_Cache_Secondary::isSecondaryCacheAllowed() === false) { return array(); } $_1 = '(?:' . preg_quote(self::_1wkq9ao('REPLACE', array(), 'REPLACE'), '/') . '|' . preg_quote(self::afpsl6('REPLACE', array(), 'REPLACE'), '/') . ')'; $_1 = str_replace('REPLACE', '([^>]*?)', $_1); if (preg_match_all(sprintf('/%s/ims', $_1), $_0, $_2, PREG_SET_ORDER)) { foreach ($_2 as $_3) { @$_4[] = array( 'key' => $_3[1] ? $_3[1] : $_3[3], 'data_key' => $_3[2] ? $_3[2] : $_3[4] ); } return $_4; } return array(); } protected function l8a8jd($_0, array $_1 = array(), $_2 = null) { if (empty($_1) === false) { $_3 = Mage::getSingleton('ewpagecache/cache_secondary'); $_2 = $_3->setInjectorData($_0, $_1, $_2); } return $_2; } public function afpsl6($_0, array $_1 = array(), $_2 = null, $_3 = false) { if ($_0 != 'REPLACE' and $_3 === false) { if (self::$fz1xz4 === false) return ''; if (self::$phbugl->isSecondaryCacheEnabled() === false) return ''; if (Mage::getSingleton('ewpagecache/cache_secondary')->isPageCachingAllowedByPageRules() === false) return ''; } $_2 = $this->l8a8jd($_0, $_1, $_2); return sprintf('<!--ewpagecache:%s_begin:%s-->', $_0, $_2); } public function rml4b6($_0, $_1 = false) { if ($_0 != 'REPLACE' and $_1 === false) { if (self::$fz1xz4 === false) return ''; if (self::$phbugl->isSecondaryCacheEnabled() === false) return ''; if (Mage::getSingleton('ewpagecache/cache_secondary')->isPageCachingAllowedByPageRules() === false) return ''; } return sprintf('<!--ewpagecache:%s_end-->', $_0); } public function _1wkq9ao($_0, array $_1 = array(), $_2 = null) { $_2 = $this->l8a8jd($_0, $_1, $_2); return sprintf('<!--ewpagecache:%s:%s/-->', $_0, $_2); } public function _1013b9($_0) { return preg_replace('/<!--ewpagecache:([^>]*?)\_begin:([^>]*?)-->.*?<!--ewpagecache:()\_end-->/is', '<!--ewpagecache::/-->', $_0); } public function _1xr7gxd($_0, $_1 = false, $_2 = null) { static $_3 = null; if ($_3 === null) $_3 = self::$phbugl->isLogEnabled(); if ($_1 === false) { $_1 = (bool)$_3; if ($this->fd2t12() === false) { $_1 = false; } } if ($_1 === true) { $_4 = explode('_', strtolower(substr(get_class($this), 0, strpos(get_class($this), '_Helper')))); Mage::getConfig()->getOptions()->createDirIfNotExists(Mage::getBaseDir('var') . DS . 'log' . DS . $_4[0]); Mage::log($_0, $_2, $_4[0] . DS . $_4[1] . '.log', $_1); } return $this; } public function _8ha4no($_0) { self::$fz1xz4 = (bool)$_0; return $this; } public function _1hv9zr3() { $_0 = func_get_args(); $_1 = new Mage_Core_Model_Translate_Expr(array_shift($_0), 'Extendware_EWPageCache'); array_unshift($_0, $_1); return Mage::app()->getTranslator()->translate($_0); } public function _15wqwr5($_0 = null) { if ($_0 === null) { $_0 = 'Extendware_EWPageCache'; } if (!Mage::getConfig()->getNode('modules/' . $_0)) { return false; } $_1 = Mage::getConfig()->getNode('modules/' . $_0 . '/active'); if (!$_1 || !in_array((string)$_1, array('true', '1'))) { return false; } return true; } public function _1mz6h8h($_0 = null) { if ($_0 === null) { $_0 = 'Extendware_EWPageCache'; } if (!$this->_15wqwr5($_0)) { return false; } if (Mage::getStoreConfigFlag('advanced/modules_disable_output/' . $_0)) { return false; } return true; } public function __call($_0 , $_1) { list($_0, $_1) = func_get_args(); switch(md5(strtolower(sprintf('%s-%s-method', __CLASS__, $_0)))) { case '16f724e8842c808150b324cb2678b879': return call_user_func_array(array($this, "_1d3ufgd"), $_1);break; case 'ccc97065ab7a28e0d02f3247727bfe4d': return call_user_func_array(array($this, "k2u9ed"), $_1);break; case 'b48e2c76ce8ccf11512bbcb45e43b455': return call_user_func_array(array($this, "_8jzdbs"), $_1);break; case '9cb7194d64afcf32bcdf452bf733d80a': return call_user_func_array(array($this, "_2ssre5"), $_1);break; case '7b6efe3405226f567a3827c127ccc7db': return call_user_func_array(array($this, "kixvra"), $_1);break; case 'e4754306992997e7d654eebf54363011': return call_user_func_array(array($this, "_1685btv"), $_1);break; case 'eac7bfd3f1bf8b78c4b6f944c84c21fb': return call_user_func_array(array($this, "pcv4jy"), $_1);break; case '90bf128e9936c5a9060c51054cc6b925': return call_user_func_array(array($this, "k9iccu"), $_1);break; case 'df1b57d5f515c47b7a6c62d01532e4eb': return call_user_func_array(array($this, "_1bl0vkc"), $_1);break; case 'd8d20ace8e0d969bdd05960d6a933e44': return call_user_func_array(array($this, "_1t4soc"), $_1);break; case '0d660511c56471bf495e783a84d4bbd2': return call_user_func_array(array($this, "_1k9tan4"), $_1);break; case '01ba4628d8af156156e74f13aefb0353': return call_user_func_array(array($this, "vj1pnc"), $_1);break; case '6c868d7baee9d58b1ef80af605f9f138': return call_user_func_array(array($this, "_1avb2su"), $_1);break; case '5c8671f8cc91b2ccf11d9de28dba70ee': return call_user_func_array(array($this, "_1h90xh4"), $_1);break; case 'c4152bea69f1d094cb6332e3c7d04e3f': return call_user_func_array(array($this, "_1d6xfta"), $_1);break; case '8102a23d74542f386fed0a850f0c9f7e': return call_user_func_array(array($this, "_1ucz426"), $_1);break; case '130320b14629529087b8b15e87d5c929': return call_user_func_array(array($this, "_2mx14j"), $_1);break; case '899b5a85365f0d0d3150bf2dbea39c0c': return call_user_func_array(array($this, "_1ycoxc8"), $_1);break; case 'e1c19d418fd141300e49c0fd37280aec': return call_user_func_array(array($this, "p34rws"), $_1);break; case 'e90435d8574af4f64b1569c84f3c0873': return call_user_func_array(array($this, "iugllu"), $_1);break; case '763db4163cabba07086cea906d16e9c8': return call_user_func_array(array($this, "_6n7ip"), $_1);break; case 'e9285ff55e230bbc8af1e12ca7454bca': return call_user_func_array(array($this, "_1iimti0"), $_1);break; case 'e78f833157d7b8f50dc450cc251bbfe3': return call_user_func_array(array($this, "_17184mz"), $_1);break; case '2f39d31705793ab00144e0e759849922': return call_user_func_array(array($this, "oibx1s"), $_1);break; case '0e61fba50b222425240f1cab561c1bcc': return call_user_func_array(array($this, "_1ny0gjr"), $_1);break; case 'd2039630dcdf36b3e215255260dc0177': return call_user_func_array(array($this, "fd2t12"), $_1);break; case '46ad455297d7b4ca7666c0f97169be79': return call_user_func_array(array($this, "nt2ofz"), $_1);break; case 'c8647c798c14e88bcd51d7d436e176f3': return call_user_func_array(array($this, "uu5afp"), $_1);break; case '6f27cb7de66d7016446f371e504d3dfa': return call_user_func_array(array($this, "_1e50dsy"), $_1);break; case 'd0e6ecfa249f0bcf1b0ab513884ac8b8': return call_user_func_array(array($this, "d2v1gv"), $_1);break; case '48a1217fd4c5f686f5d17fd8ea9ad089': return call_user_func_array(array($this, "oz5ocx"), $_1);break; case 'a25a43687e16c9b2feb58e60bf01e712': return call_user_func_array(array($this, "unj2pc"), $_1);break; case 'b80edd691f06be0f28401ec7469a549a': return call_user_func_array(array($this, "_1wvd2rr"), $_1);break; case '8b8ff09a70628e13b5f5935236fdbd28': return call_user_func_array(array($this, "_8yi3ni"), $_1);break; case '330b31c9ae8d37fd97cc574091936aaa': return call_user_func_array(array($this, "_16ocbo5"), $_1);break; case '6991ce543d4ede52d7aaff8675a9694a': return call_user_func_array(array($this, "_59dkzh"), $_1);break; case 'd6ff56a5efe1f569ca784a20b177dfaa': return call_user_func_array(array($this, "_10mba30"), $_1);break; case '873d57145273d79953a13fcc773893cf': return call_user_func_array(array($this, "_1xz7sti"), $_1);break; case '7e9592e02eb67be20d7415836bac34a9': return call_user_func_array(array($this, "_1lrqxlu"), $_1);break; case '497740cf1bcbb7b00e905c1d39f598e4': return call_user_func_array(array($this, "ict1s8"), $_1);break; case '6d75f39f18588a5764d26294e3820c0b': return call_user_func_array(array($this, "xvq48v"), $_1);break; case '713eaa2083d5152f9f207bed03d215ca': return call_user_func_array(array($this, "_10p6350"), $_1);break; case '5b0aea330b5960db349423ab990b3969': return call_user_func_array(array($this, "r5ddu4"), $_1);break; case '7225eba587e977620c84cacb04d2f1ec': return call_user_func_array(array($this, "_4nawbd"), $_1);break; case 'd49b90632e45c7c62f5c21e000db3a13': return call_user_func_array(array($this, "_1mnb0vg"), $_1);break; case '25a025a8089fb012e194ef055ece7ce6': return call_user_func_array(array($this, "_1dliaq3"), $_1);break; case 'e7555a6860ddfbcdb15f703bb37d99cd': return call_user_func_array(array($this, "_8001yy"), $_1);break; case 'dd42e4faac48bf0d71ef32c9b0c594f2': return call_user_func_array(array($this, "xl63fm"), $_1);break; case '361b55d34c12fabd242ddaf7a6b63a83': return call_user_func_array(array($this, "mvci0"), $_1);break; case 'b3001cd4f0cd8e45da8eb7a038cd6107': return call_user_func_array(array($this, "pfp349"), $_1);break; case '29eb61afc51c09b22a2ef0080c57b5aa': return call_user_func_array(array($this, "_1vai6i1"), $_1);break; case 'd39311112d3c34ff43bf7094df1deccc': return call_user_func_array(array($this, "md7tmg"), $_1);break; case '5498dc8a8154ef9b60b83d5eedb828f7': return call_user_func_array(array($this, "_1jbkw17"), $_1);break; case '8704959012fee2c8ce1821645c1305a3': return call_user_func_array(array($this, "l8a8jd"), $_1);break; case '8dc69ec16e375a9a2126f6a6ce450ca4': return call_user_func_array(array($this, "afpsl6"), $_1);break; case '6c4873605ce4fbb57faa68fd67ea2f20': return call_user_func_array(array($this, "rml4b6"), $_1);break; case 'f33157056b56b3daf53f478d5d74b26c': return call_user_func_array(array($this, "_1wkq9ao"), $_1);break; case '2a0710d084348e4081c7908ec6ea3b4f': return call_user_func_array(array($this, "_1013b9"), $_1);break; case '5fb8eacb229d295c62791484046eca98': return call_user_func_array(array($this, "_1xr7gxd"), $_1);break; case '2e19393bbe6009b6a9bcc94a9ff1ef04': return call_user_func_array(array($this, "_8ha4no"), $_1);break; case '79aac247032f380dff73b09b80b78e67': return call_user_func_array(array($this, "_1hv9zr3"), $_1);break; case '5b4728d620eb5ccd26ac717c426ee252': return call_user_func_array(array($this, "_15wqwr5"), $_1);break; case 'db79d2f68a228188b8fd1c11f2f8a3d7': return call_user_func_array(array($this, "_1mz6h8h"), $_1);break; } foreach (class_parents(__CLASS__) as $_2) { if (method_exists($_2, '__call') === true) { return parent::__call($_0, $_1); } } $_3 = debug_backtrace(); $_4 = array_shift($_3); $_5 = $_6 = 'unknown'; foreach ($_3 as $_7) { if ($_5 == 'unknown' and isset($_7['file'])) $_5 = $_7['file']; if ($_6 == 'unknown' and isset($_7['line'])) $_5 = $_7['line']; } $_8 = sprintf('Fatal error: Call to undefined method %s::%s() in %s on line %d', __CLASS__, $_0, $_5, $_6); trigger_error($_8, E_USER_ERROR); die($_8); } public static function __callStatic($_0 , $_1) { list($_0, $_1) = func_get_args(); switch(md5(strtolower(sprintf('%s-%s-method', __CLASS__, $_0)))) { case '16f724e8842c808150b324cb2678b879': return call_user_func_array(array("self", "_1d3ufgd"), $_1);break; case 'ccc97065ab7a28e0d02f3247727bfe4d': return call_user_func_array(array("self", "k2u9ed"), $_1);break; case 'b48e2c76ce8ccf11512bbcb45e43b455': return call_user_func_array(array("self", "_8jzdbs"), $_1);break; case '9cb7194d64afcf32bcdf452bf733d80a': return call_user_func_array(array("self", "_2ssre5"), $_1);break; case '7b6efe3405226f567a3827c127ccc7db': return call_user_func_array(array("self", "kixvra"), $_1);break; case 'e4754306992997e7d654eebf54363011': return call_user_func_array(array("self", "_1685btv"), $_1);break; case 'eac7bfd3f1bf8b78c4b6f944c84c21fb': return call_user_func_array(array("self", "pcv4jy"), $_1);break; case '90bf128e9936c5a9060c51054cc6b925': return call_user_func_array(array("self", "k9iccu"), $_1);break; case 'df1b57d5f515c47b7a6c62d01532e4eb': return call_user_func_array(array("self", "_1bl0vkc"), $_1);break; case 'd8d20ace8e0d969bdd05960d6a933e44': return call_user_func_array(array("self", "_1t4soc"), $_1);break; case '0d660511c56471bf495e783a84d4bbd2': return call_user_func_array(array("self", "_1k9tan4"), $_1);break; case '01ba4628d8af156156e74f13aefb0353': return call_user_func_array(array("self", "vj1pnc"), $_1);break; case '6c868d7baee9d58b1ef80af605f9f138': return call_user_func_array(array("self", "_1avb2su"), $_1);break; case '5c8671f8cc91b2ccf11d9de28dba70ee': return call_user_func_array(array("self", "_1h90xh4"), $_1);break; case 'c4152bea69f1d094cb6332e3c7d04e3f': return call_user_func_array(array("self", "_1d6xfta"), $_1);break; case '8102a23d74542f386fed0a850f0c9f7e': return call_user_func_array(array("self", "_1ucz426"), $_1);break; case '130320b14629529087b8b15e87d5c929': return call_user_func_array(array("self", "_2mx14j"), $_1);break; case '899b5a85365f0d0d3150bf2dbea39c0c': return call_user_func_array(array("self", "_1ycoxc8"), $_1);break; case 'e1c19d418fd141300e49c0fd37280aec': return call_user_func_array(array("self", "p34rws"), $_1);break; case 'e90435d8574af4f64b1569c84f3c0873': return call_user_func_array(array("self", "iugllu"), $_1);break; case '763db4163cabba07086cea906d16e9c8': return call_user_func_array(array("self", "_6n7ip"), $_1);break; case 'e9285ff55e230bbc8af1e12ca7454bca': return call_user_func_array(array("self", "_1iimti0"), $_1);break; case 'e78f833157d7b8f50dc450cc251bbfe3': return call_user_func_array(array("self", "_17184mz"), $_1);break; case '2f39d31705793ab00144e0e759849922': return call_user_func_array(array("self", "oibx1s"), $_1);break; case '0e61fba50b222425240f1cab561c1bcc': return call_user_func_array(array("self", "_1ny0gjr"), $_1);break; case 'd2039630dcdf36b3e215255260dc0177': return call_user_func_array(array("self", "fd2t12"), $_1);break; case '46ad455297d7b4ca7666c0f97169be79': return call_user_func_array(array("self", "nt2ofz"), $_1);break; case 'c8647c798c14e88bcd51d7d436e176f3': return call_user_func_array(array("self", "uu5afp"), $_1);break; case '6f27cb7de66d7016446f371e504d3dfa': return call_user_func_array(array("self", "_1e50dsy"), $_1);break; case 'd0e6ecfa249f0bcf1b0ab513884ac8b8': return call_user_func_array(array("self", "d2v1gv"), $_1);break; case '48a1217fd4c5f686f5d17fd8ea9ad089': return call_user_func_array(array("self", "oz5ocx"), $_1);break; case 'a25a43687e16c9b2feb58e60bf01e712': return call_user_func_array(array("self", "unj2pc"), $_1);break; case 'b80edd691f06be0f28401ec7469a549a': return call_user_func_array(array("self", "_1wvd2rr"), $_1);break; case '8b8ff09a70628e13b5f5935236fdbd28': return call_user_func_array(array("self", "_8yi3ni"), $_1);break; case '330b31c9ae8d37fd97cc574091936aaa': return call_user_func_array(array("self", "_16ocbo5"), $_1);break; case '6991ce543d4ede52d7aaff8675a9694a': return call_user_func_array(array("self", "_59dkzh"), $_1);break; case 'd6ff56a5efe1f569ca784a20b177dfaa': return call_user_func_array(array("self", "_10mba30"), $_1);break; case '873d57145273d79953a13fcc773893cf': return call_user_func_array(array("self", "_1xz7sti"), $_1);break; case '7e9592e02eb67be20d7415836bac34a9': return call_user_func_array(array("self", "_1lrqxlu"), $_1);break; case '497740cf1bcbb7b00e905c1d39f598e4': return call_user_func_array(array("self", "ict1s8"), $_1);break; case '6d75f39f18588a5764d26294e3820c0b': return call_user_func_array(array("self", "xvq48v"), $_1);break; case '713eaa2083d5152f9f207bed03d215ca': return call_user_func_array(array("self", "_10p6350"), $_1);break; case '5b0aea330b5960db349423ab990b3969': return call_user_func_array(array("self", "r5ddu4"), $_1);break; case '7225eba587e977620c84cacb04d2f1ec': return call_user_func_array(array("self", "_4nawbd"), $_1);break; case 'd49b90632e45c7c62f5c21e000db3a13': return call_user_func_array(array("self", "_1mnb0vg"), $_1);break; case '25a025a8089fb012e194ef055ece7ce6': return call_user_func_array(array("self", "_1dliaq3"), $_1);break; case 'e7555a6860ddfbcdb15f703bb37d99cd': return call_user_func_array(array("self", "_8001yy"), $_1);break; case 'dd42e4faac48bf0d71ef32c9b0c594f2': return call_user_func_array(array("self", "xl63fm"), $_1);break; case '361b55d34c12fabd242ddaf7a6b63a83': return call_user_func_array(array("self", "mvci0"), $_1);break; case 'b3001cd4f0cd8e45da8eb7a038cd6107': return call_user_func_array(array("self", "pfp349"), $_1);break; case '29eb61afc51c09b22a2ef0080c57b5aa': return call_user_func_array(array("self", "_1vai6i1"), $_1);break; case 'd39311112d3c34ff43bf7094df1deccc': return call_user_func_array(array("self", "md7tmg"), $_1);break; case '5498dc8a8154ef9b60b83d5eedb828f7': return call_user_func_array(array("self", "_1jbkw17"), $_1);break; case '8704959012fee2c8ce1821645c1305a3': return call_user_func_array(array("self", "l8a8jd"), $_1);break; case '8dc69ec16e375a9a2126f6a6ce450ca4': return call_user_func_array(array("self", "afpsl6"), $_1);break; case '6c4873605ce4fbb57faa68fd67ea2f20': return call_user_func_array(array("self", "rml4b6"), $_1);break; case 'f33157056b56b3daf53f478d5d74b26c': return call_user_func_array(array("self", "_1wkq9ao"), $_1);break; case '2a0710d084348e4081c7908ec6ea3b4f': return call_user_func_array(array("self", "_1013b9"), $_1);break; case '5fb8eacb229d295c62791484046eca98': return call_user_func_array(array("self", "_1xr7gxd"), $_1);break; case '2e19393bbe6009b6a9bcc94a9ff1ef04': return call_user_func_array(array("self", "_8ha4no"), $_1);break; case '79aac247032f380dff73b09b80b78e67': return call_user_func_array(array("self", "_1hv9zr3"), $_1);break; case '5b4728d620eb5ccd26ac717c426ee252': return call_user_func_array(array("self", "_15wqwr5"), $_1);break; case 'db79d2f68a228188b8fd1c11f2f8a3d7': return call_user_func_array(array("self", "_1mz6h8h"), $_1);break; } foreach (class_parents(__CLASS__) as $_2) { if (method_exists($_2, '__call') === true) { return parent::__callStatic($_0, $_1); } } $_3 = debug_backtrace(); $_4 = array_shift($_3); $_5 = $_6 = 'unknown'; foreach ($_3 as $_7) { if ($_5 == 'unknown' and isset($_7['file'])) $_5 = $_7['file']; if ($_6 == 'unknown' and isset($_7['line'])) $_5 = $_7['line']; } $_8 = sprintf('Fatal error: Call to undefined method %s::%s() in %s on line %d', __CLASS__, $_0, $_5, $_6); trigger_error($_8, E_USER_ERROR); die($_8); } }?><?php
if (defined('Extendware:Extendware_EWPageCache_Helper_Data:Rewrite') === false) { class Extendware_EWPageCache_Helper_Data extends ExtendwareInternal_EWPageCache_Helper_Data {} } 

Did this file decode correctly?

Original Code

<?php /*obfv1*/
// Copyright  2015 Extendware
// Are you trying to customize your extension? Contact us (http://www.extendware.com/contacts/) and we can help!
// Please note, not all files are encoded and different extensions have different levels of encoding.
// We are always happy to provide guideance if you are experiencing an issue!



/**
 * Below are methods found in this class
 *
 * @method mixed public __()
 * @method mixed public __construct()
 * @method mixed public cookiesMatchDisqualifiers()
 * @method mixed public deleteCookie($name)
 * @method mixed public getActiveVirtualKeys(array $activeVirtualKeys = array())
 * @method mixed public getBeginMarker($key, array $params = array(), $dataKey = null, $force = false)
 * @method mixed public getConfig()
 * @method mixed public getCookieSegmentationKey()
 * @method mixed public getData($key, $default = null)
 * @method mixed public getEndMarker($key, $force = false)
 * @method mixed public getFrontendFormKey()
 * @method mixed public getFrontendSessionId()
 * @method mixed public getHeadersFromSerialized($headers)
 * @method mixed public getIgnoredParameters()
 * @method mixed static public getInjectorCacheCookieValue()
 * @method mixed public getInjectorsFromContent($content)
 * @method mixed public getIpAddress()
 * @method mixed public getIsNotDefaultRequest()
 * @method mixed public getLighteningCacheDirectory()
 * @method mixed public getLighteningCacheFile($cacheKey)
 * @method mixed public getNullMarker($key, array $params = array(), $dataKey = null)
 * @method mixed public getPageRule($rule, array $pagePath = null)
 * @method mixed public getPattern($key, $dataKey)
 * @method mixed public getReasonsNotDefaultRequest()
 * @method mixed public getSegmentableCookieValues($includeUnset = false)
 * @method mixed public getSegmentableCookies()
 * @method mixed public getStoreId()
 * @method mixed public getTaxClassKey($shippingAddress = null, $billingAddress = null, $customerTaxClass = null, $store = null)
 * @method mixed public getTranslatedCustomerGroupId($id = null)
 * @method mixed public getUserAgentSegmentationKey()
 * @method mixed public getVirtualKeyFromKeys(array $keys = array())
 * @method mixed public getVirtualKeyValues(array $activeVirtualKeys = array())
 * @method mixed public getVirtualKeysCookieValue(array $virtualKeys)
 * @method mixed public getVirtualKeysFromCookies(array $include = null)
 * @method mixed public getVirtualKeysValuesFromCookies(array $include = null, $decode = false)
 * @method mixed public injectFooterWidget($content, $type, $isDefaultable, $pagePath, $key = null, $ttl = null, array $cache = array(), array $tags = null)
 * @method mixed public injectWidget($content, $type, $time)
 * @method mixed public isAllowedByIpRules($ip = null)
 * @method mixed public isHeadersSent($log = true)
 * @method mixed public isModuleEnabled($moduleName = null)
 * @method mixed public isModuleOutputEnabled($moduleName = null)
 * @method mixed public isPageCacheEnabled()
 * @method mixed public isPageCacheEnabledInConfig()
 * @method mixed public log($message, $force = false, $level = null)
 * @method mixed public recordRecentlyViewedProductFromRequest($request, array $params = array())
 * @method mixed public replaceMarkers($content)
 * @method mixed public sendCookie($name, $value, $offset = null, $storeId = null, $httpOnly = null)
 * @method mixed public sendIsNotDefaultRequestCookie()
 * @method mixed public sendSegmentableCookies(array $cookies = array())
 * @method mixed public sendVirtualKeyCookies(array $virtualKeys = array())
 * @method mixed public sendVirtualKeyValueCookies(array $virtualKeys = array())
 * @method mixed public setAndCheckState()
 * @method mixed public setCanOutputMarkers($bool)
 * @method mixed public setData($key, $value)
 * @method mixed public setIsNotDefaultRequestReason($value, $reason = 'default')
 * @method mixed public setReasonNotDefaultRequest($name, $value)
 * @method mixed static public setStoreId($storeId)
 * @method mixed public uriMatchesDisqualifiers()
 * @method mixed public userAgentMatchDisqualifiers()
 *
 */

$_F=__FILE__;$_X="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";$_D=strrev("edoced" . "_46esab");eval(gzuncompress($_D($_X)));

Function Calls

strrev 1
gzuncompress 1
base64_decode 1

Variables

$_D base64_decode
$_F index.php
$_X eJztfWt321aS4OfOr4C9Tkgmkog3CNmW4thyopPE9spKp+fYHh48LiTYJMEA..

Stats

MD5 c70c7b198bbef82e3b51dd2f39d88e4d
Eval Count 1
Decode Time 116 ms