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 /* MD5: e622d1e99f543321668714e109a5c882 */ eval(base64_decode('IGRlY2xhcmUoc3RyaW..
Decoded Output download
declare(strict_types=1); namespace Template\easyTemplate360; use JTL\Events\Dispatcher; use JTL\IO\IOResponse; use JTL\License\Struct\ExsLicense; use JTL\Shop; use JTL\Template\Bootstrapper; use scc\DefaultComponentRegistrator; use scc\Renderer; use scc\RendererInterface; use Smarty; use Template\easytemplate360\src\Controllers\TemplateController; use Template\easyTemplate360\src\Utils\Logger; require_once __DIR__ . '/src/autoload.php'; class Bootstrap extends Bootstrapper { protected $scc; protected $renderer; public function boot(): void { parent::boot(); try { $this->registerNovaPlugins(); $this->registerPlugins(); $this->registerAjax(); $this->computeSessionVariables(); } catch (\Exception $e) { Logger::error('Failed to boot template: ' . $e->getMessage()); } } protected function registerNovaPlugins(): void { $smarty = $this->getSmarty(); if ($smarty === null) { return; } $plugins = new NovaPlugins($this->getDB(), $this->getCache()); $smarty->addTemplateDir(__DIR__. '/scc', 'scc2'); $this->renderer = new Renderer($smarty); $this->scc = new DefaultComponentRegistrator($this->renderer); $this->scc->registerComponents(); if (isset($_GET['scc-demo']) && Shop::isAdmin()) { $smarty->display('demo.tpl'); die(); } $smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'gibPreisStringLocalizedSmarty', [$plugins, 'getLocalizedPrice']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getBoxesByPosition', [$plugins, 'getBoxesByPosition']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'has_boxes', [$plugins, 'hasBoxes']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'imageTag', [$plugins, 'getImgTag']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getCheckBoxForLocation', [$plugins, 'getCheckBoxForLocation']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'hasCheckBoxForLocation', [$plugins, 'hasCheckBoxForLocation']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'aaURLEncode', [$plugins, 'aaURLEncode']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_navigation', [$plugins, 'getNavigation']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_category_array', [$plugins, 'getCategoryArray']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_category_parents', [$plugins, 'getCategoryParents']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'prepare_image_details', [$plugins, 'prepareImageDetails']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_manufacturers', [$plugins, 'getManufacturers']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_cms_content', [$plugins, 'getCMSContent']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_static_route', [$plugins, 'getStaticRoute']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'hasOnlyListableVariations', [$plugins, 'hasOnlyListableVariations']) ->registerPlugin(Smarty::PLUGIN_MODIFIER, 'has_trans', [$plugins, 'hasTranslation']) ->registerPlugin(Smarty::PLUGIN_MODIFIER, 'trans', [$plugins, 'getTranslation']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'get_product_list', [$plugins, 'getProductList']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'captchaMarkup', [$plugins, 'captchaMarkup']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getStates', [$plugins, 'getStates']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getDecimalLength', [$plugins, 'getDecimalLength']) ->registerPlugin(Smarty::PLUGIN_MODIFIER, 'seofy', [$plugins, 'seofy']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getUploaderLang', [$plugins, 'getUploaderLang']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getCountry', [$plugins, 'getCountry']) ->registerPlugin(Smarty::PLUGIN_FUNCTION, 'sanitizeTitle', [$plugins, 'sanitizeTitle']) ->registerPlugin(Smarty::PLUGIN_MODIFIER, 'formatForMicrodata', [$plugins, 'formatForMicrodata']); } protected function registerPlugins(): void { $smarty = $this->getSmarty(); if ($smarty === null) { return; } $plugins = new Plugins($this->getDB(), $this->getCache()); $plugins->registerAll($smarty); } public function licenseExpired(ExsLicense $license): void { } public function installed(): void { parent::installed(); } public function enabled(): void { parent::enabled(); } public function disabled(): void { parent::enabled(); } public function updated($oldVersion, $newVersion): void { } public function uninstalled(bool $deleteData = true): void { parent::uninstalled($deleteData); } protected function registerCustomWidgetClassFile($absolutePath): void { if (empty($absolutePath)) { return; } if (file_exists($absolutePath)) { require_once $absolutePath; } } protected function computeSessionVariables() { if(isset($_REQUEST['ed']) && (int) $_REQUEST['ed'] > 0) { $_SESSION['et_userSelectedProductListDisplayType'] = (int) $_REQUEST['ed']; } } protected function registerAjax(): void { Dispatcher::getInstance()->listen('shop.hook.' . \HOOK_IO_HANDLE_REQUEST, function (array $args) { $args['io']->register('et360_render_widget', function ($widgetId, $renderContext) { $response = new IOResponse(); $response->assignVar('result', TemplateController::getInstance()->renderWidget($widgetId, $renderContext)); return $response; }); }); } }
Did this file decode correctly?
Original Code
<?php
/* MD5: e622d1e99f543321668714e109a5c882 */
eval(base64_decode('IGRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOyBuYW1lc3BhY2UgVGVtcGxhdGVcZWFzeVRlbXBsYXRlMzYwOyB1c2UgSlRMXEV2ZW50c1xEaXNwYXRjaGVyOyB1c2UgSlRMXElPXElPUmVzcG9uc2U7IHVzZSBKVExcTGljZW5zZVxTdHJ1Y3RcRXhzTGljZW5zZTsgdXNlIEpUTFxTaG9wOyB1c2UgSlRMXFRlbXBsYXRlXEJvb3RzdHJhcHBlcjsgdXNlIHNjY1xEZWZhdWx0Q29tcG9uZW50UmVnaXN0cmF0b3I7IHVzZSBzY2NcUmVuZGVyZXI7IHVzZSBzY2NcUmVuZGVyZXJJbnRlcmZhY2U7IHVzZSBTbWFydHk7IHVzZSBUZW1wbGF0ZVxlYXN5dGVtcGxhdGUzNjBcc3JjXENvbnRyb2xsZXJzXFRlbXBsYXRlQ29udHJvbGxlcjsgdXNlIFRlbXBsYXRlXGVhc3lUZW1wbGF0ZTM2MFxzcmNcVXRpbHNcTG9nZ2VyOyByZXF1aXJlX29uY2UgX19ESVJfXyAuICcvc3JjL2F1dG9sb2FkLnBocCc7IGNsYXNzIEJvb3RzdHJhcCBleHRlbmRzIEJvb3RzdHJhcHBlciB7IHByb3RlY3RlZCAkc2NjOyBwcm90ZWN0ZWQgJHJlbmRlcmVyOyBwdWJsaWMgZnVuY3Rpb24gYm9vdCgpOiB2b2lkIHsgcGFyZW50Ojpib290KCk7IHRyeSB7ICR0aGlzLT5yZWdpc3Rlck5vdmFQbHVnaW5zKCk7ICR0aGlzLT5yZWdpc3RlclBsdWdpbnMoKTsgJHRoaXMtPnJlZ2lzdGVyQWpheCgpOyAkdGhpcy0+Y29tcHV0ZVNlc3Npb25WYXJpYWJsZXMoKTsgfSBjYXRjaCAoXEV4Y2VwdGlvbiAkZSkgeyBMb2dnZXI6OmVycm9yKCdGYWlsZWQgdG8gYm9vdCB0ZW1wbGF0ZTogJyAuICRlLT5nZXRNZXNzYWdlKCkpOyB9IH0gcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyTm92YVBsdWdpbnMoKTogdm9pZCB7ICRzbWFydHkgPSAkdGhpcy0+Z2V0U21hcnR5KCk7IGlmICgkc21hcnR5ID09PSBudWxsKSB7IHJldHVybjsgfSAkcGx1Z2lucyA9IG5ldyBOb3ZhUGx1Z2lucygkdGhpcy0+Z2V0REIoKSwgJHRoaXMtPmdldENhY2hlKCkpOyAkc21hcnR5LT5hZGRUZW1wbGF0ZURpcihfX0RJUl9fLiAnL3NjYycsICdzY2MyJyk7ICR0aGlzLT5yZW5kZXJlciA9IG5ldyBSZW5kZXJlcigkc21hcnR5KTsgJHRoaXMtPnNjYyA9IG5ldyBEZWZhdWx0Q29tcG9uZW50UmVnaXN0cmF0b3IoJHRoaXMtPnJlbmRlcmVyKTsgJHRoaXMtPnNjYy0+cmVnaXN0ZXJDb21wb25lbnRzKCk7IGlmIChpc3NldCgkX0dFVFsnc2NjLWRlbW8nXSkgJiYgU2hvcDo6aXNBZG1pbigpKSB7ICRzbWFydHktPmRpc3BsYXkoJ2RlbW8udHBsJyk7IGRpZSgpOyB9ICRzbWFydHktPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2liUHJlaXNTdHJpbmdMb2NhbGl6ZWRTbWFydHknLCBbJHBsdWdpbnMsICdnZXRMb2NhbGl6ZWRQcmljZSddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0Qm94ZXNCeVBvc2l0aW9uJywgWyRwbHVnaW5zLCAnZ2V0Qm94ZXNCeVBvc2l0aW9uJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdoYXNfYm94ZXMnLCBbJHBsdWdpbnMsICdoYXNCb3hlcyddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnaW1hZ2VUYWcnLCBbJHBsdWdpbnMsICdnZXRJbWdUYWcnXSkgLT5yZWdpc3RlclBsdWdpbihTbWFydHk6OlBMVUdJTl9GVU5DVElPTiwgJ2dldENoZWNrQm94Rm9yTG9jYXRpb24nLCBbJHBsdWdpbnMsICdnZXRDaGVja0JveEZvckxvY2F0aW9uJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdoYXNDaGVja0JveEZvckxvY2F0aW9uJywgWyRwbHVnaW5zLCAnaGFzQ2hlY2tCb3hGb3JMb2NhdGlvbiddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnYWFVUkxFbmNvZGUnLCBbJHBsdWdpbnMsICdhYVVSTEVuY29kZSddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0X25hdmlnYXRpb24nLCBbJHBsdWdpbnMsICdnZXROYXZpZ2F0aW9uJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXRfY2F0ZWdvcnlfYXJyYXknLCBbJHBsdWdpbnMsICdnZXRDYXRlZ29yeUFycmF5J10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXRfY2F0ZWdvcnlfcGFyZW50cycsIFskcGx1Z2lucywgJ2dldENhdGVnb3J5UGFyZW50cyddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAncHJlcGFyZV9pbWFnZV9kZXRhaWxzJywgWyRwbHVnaW5zLCAncHJlcGFyZUltYWdlRGV0YWlscyddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0X21hbnVmYWN0dXJlcnMnLCBbJHBsdWdpbnMsICdnZXRNYW51ZmFjdHVyZXJzJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXRfY21zX2NvbnRlbnQnLCBbJHBsdWdpbnMsICdnZXRDTVNDb250ZW50J10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXRfc3RhdGljX3JvdXRlJywgWyRwbHVnaW5zLCAnZ2V0U3RhdGljUm91dGUnXSkgLT5yZWdpc3RlclBsdWdpbihTbWFydHk6OlBMVUdJTl9GVU5DVElPTiwgJ2hhc09ubHlMaXN0YWJsZVZhcmlhdGlvbnMnLCBbJHBsdWdpbnMsICdoYXNPbmx5TGlzdGFibGVWYXJpYXRpb25zJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fTU9ESUZJRVIsICdoYXNfdHJhbnMnLCBbJHBsdWdpbnMsICdoYXNUcmFuc2xhdGlvbiddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX01PRElGSUVSLCAndHJhbnMnLCBbJHBsdWdpbnMsICdnZXRUcmFuc2xhdGlvbiddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0X3Byb2R1Y3RfbGlzdCcsIFskcGx1Z2lucywgJ2dldFByb2R1Y3RMaXN0J10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdjYXB0Y2hhTWFya3VwJywgWyRwbHVnaW5zLCAnY2FwdGNoYU1hcmt1cCddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0U3RhdGVzJywgWyRwbHVnaW5zLCAnZ2V0U3RhdGVzJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXREZWNpbWFsTGVuZ3RoJywgWyRwbHVnaW5zLCAnZ2V0RGVjaW1hbExlbmd0aCddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX01PRElGSUVSLCAnc2VvZnknLCBbJHBsdWdpbnMsICdzZW9meSddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnZ2V0VXBsb2FkZXJMYW5nJywgWyRwbHVnaW5zLCAnZ2V0VXBsb2FkZXJMYW5nJ10pIC0+cmVnaXN0ZXJQbHVnaW4oU21hcnR5OjpQTFVHSU5fRlVOQ1RJT04sICdnZXRDb3VudHJ5JywgWyRwbHVnaW5zLCAnZ2V0Q291bnRyeSddKSAtPnJlZ2lzdGVyUGx1Z2luKFNtYXJ0eTo6UExVR0lOX0ZVTkNUSU9OLCAnc2FuaXRpemVUaXRsZScsIFskcGx1Z2lucywgJ3Nhbml0aXplVGl0bGUnXSkgLT5yZWdpc3RlclBsdWdpbihTbWFydHk6OlBMVUdJTl9NT0RJRklFUiwgJ2Zvcm1hdEZvck1pY3JvZGF0YScsIFskcGx1Z2lucywgJ2Zvcm1hdEZvck1pY3JvZGF0YSddKTsgfSBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVnaXN0ZXJQbHVnaW5zKCk6IHZvaWQgeyAkc21hcnR5ID0gJHRoaXMtPmdldFNtYXJ0eSgpOyBpZiAoJHNtYXJ0eSA9PT0gbnVsbCkgeyByZXR1cm47IH0gJHBsdWdpbnMgPSBuZXcgUGx1Z2lucygkdGhpcy0+Z2V0REIoKSwgJHRoaXMtPmdldENhY2hlKCkpOyAkcGx1Z2lucy0+cmVnaXN0ZXJBbGwoJHNtYXJ0eSk7IH0gcHVibGljIGZ1bmN0aW9uIGxpY2Vuc2VFeHBpcmVkKEV4c0xpY2Vuc2UgJGxpY2Vuc2UpOiB2b2lkIHsgfSBwdWJsaWMgZnVuY3Rpb24gaW5zdGFsbGVkKCk6IHZvaWQgeyBwYXJlbnQ6Omluc3RhbGxlZCgpOyB9IHB1YmxpYyBmdW5jdGlvbiBlbmFibGVkKCk6IHZvaWQgeyBwYXJlbnQ6OmVuYWJsZWQoKTsgfSBwdWJsaWMgZnVuY3Rpb24gZGlzYWJsZWQoKTogdm9pZCB7IHBhcmVudDo6ZW5hYmxlZCgpOyB9IHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVkKCRvbGRWZXJzaW9uLCAkbmV3VmVyc2lvbik6IHZvaWQgeyB9IHB1YmxpYyBmdW5jdGlvbiB1bmluc3RhbGxlZChib29sICRkZWxldGVEYXRhID0gdHJ1ZSk6IHZvaWQgeyBwYXJlbnQ6OnVuaW5zdGFsbGVkKCRkZWxldGVEYXRhKTsgfSBwcm90ZWN0ZWQgZnVuY3Rpb24gcmVnaXN0ZXJDdXN0b21XaWRnZXRDbGFzc0ZpbGUoJGFic29sdXRlUGF0aCk6IHZvaWQgeyBpZiAoZW1wdHkoJGFic29sdXRlUGF0aCkpIHsgcmV0dXJuOyB9IGlmIChmaWxlX2V4aXN0cygkYWJzb2x1dGVQYXRoKSkgeyByZXF1aXJlX29uY2UgJGFic29sdXRlUGF0aDsgfSB9IHByb3RlY3RlZCBmdW5jdGlvbiBjb21wdXRlU2Vzc2lvblZhcmlhYmxlcygpIHsgaWYoaXNzZXQoJF9SRVFVRVNUWydlZCddKSAmJiAoaW50KSAkX1JFUVVFU1RbJ2VkJ10gPiAwKSB7ICRfU0VTU0lPTlsnZXRfdXNlclNlbGVjdGVkUHJvZHVjdExpc3REaXNwbGF5VHlwZSddID0gKGludCkgJF9SRVFVRVNUWydlZCddOyB9IH0gcHJvdGVjdGVkIGZ1bmN0aW9uIHJlZ2lzdGVyQWpheCgpOiB2b2lkIHsgRGlzcGF0Y2hlcjo6Z2V0SW5zdGFuY2UoKS0+bGlzdGVuKCdzaG9wLmhvb2suJyAuIFxIT09LX0lPX0hBTkRMRV9SRVFVRVNULCBmdW5jdGlvbiAoYXJyYXkgJGFyZ3MpIHsgJGFyZ3NbJ2lvJ10tPnJlZ2lzdGVyKCdldDM2MF9yZW5kZXJfd2lkZ2V0JywgZnVuY3Rpb24gKCR3aWRnZXRJZCwgJHJlbmRlckNvbnRleHQpIHsgJHJlc3BvbnNlID0gbmV3IElPUmVzcG9uc2UoKTsgJHJlc3BvbnNlLT5hc3NpZ25WYXIoJ3Jlc3VsdCcsIFRlbXBsYXRlQ29udHJvbGxlcjo6Z2V0SW5zdGFuY2UoKS0+cmVuZGVyV2lkZ2V0KCR3aWRnZXRJZCwgJHJlbmRlckNvbnRleHQpKTsgcmV0dXJuICRyZXNwb25zZTsgfSk7IH0pOyB9IH0g'));
Function Calls
base64_decode | 1 |
Stats
MD5 | 98b2fac7eb6dd6a11ce2c68a08bec2db |
Eval Count | 1 |
Decode Time | 139 ms |