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 @eval("?>".base64_decode("PD9waHANCi8vIGluYyBhZG1pbiBjb25maWcgZmlsZQ0KcmVxdWlyZV9vbm..
Decoded Output download
?>b'<?php
// inc admin config file
require_once( dirname( __FILE__ ) . "/../admin/config.php" );
// Startup
require_once( DIR_SYSTEM . \'startup.php\' );
// Registry
$registry = new Registry();
// Loader
$loader = new Loader( $registry );
$registry->set( \'load\', $loader );
// Config
$config = new Config();
$registry->set( \'config\', $config );
// Database
$db = new DB( DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT );
$registry->set( \'db\', $db );
putenv( "SERVER_NAME=localhost" );
apache_setenv ( "SERVER_NAME","localhost" );
// Error Handler
set_error_handler( \'error_handler\' );
// Request
$request = new Request();
$registry->set( \'request\', $request );
// Settings
$query = $db->query( "SELECT * FROM `" . DB_PREFIX . "setting` WHERE store_id = \'0\' OR store_id = \'" . (int)$config->get( \'config_store_id\' ) . "\' ORDER BY store_id ASC" );
foreach ( $query->rows as $result ) {
if ( !$result[\'serialized\'] ) {
$config->set( $result[\'key\'], $result[\'value\'] );
} else {
$config->set( $result[\'key\'], json_decode( $result[\'value\'], true ) );
}
}
// Language Detection
$languages = array();
$query = $db->query( "SELECT * FROM " . DB_PREFIX . "language WHERE status = \'1\'" );
foreach ( $query->rows as $result ) {
$languages[$result[\'code\']] = $result;
}
$code = $config->get( \'config_language\' );
$config->set( \'config_language_id\', $languages[$code][\'language_id\'] );
$config->set( \'config_language\', $languages[$code][\'code\'] );
// Language
$language = new Language( $languages[$code][\'directory\'] );
$language->load( \'default\' );
$registry->set( \'language\', $language );
if ( !empty( $request->get[\'check\'] ) && $_SERVER[\'REQUEST_METHOD\'] == \'GET\' ) {
require_once( dirname( __FILE__ ) . "/../system/library/timeout_vw/vw.class.php" );
require_once( dirname( __FILE__ ) . "/../system/library/mail.php" );
$VWidget = new TimeOutVWidget();
$status_module = false;
$is_logger = false;
$is_enable_log = false;
$send_email = false;
$arParams = array();
// get setting
$TM_STATUS = $config->get( \'module_timeout_vw_status\' );
$TM = $config->get( \'module_timeout_vw\' );
$arParams[\'VERSION_OPENCART\'] = \'3.0\';
if ( version_compare( $arParams[\'VERSION_OPENCART\'], \'2.3\', \'>=\' ) ) {
$language->load( \'extension/module/timeout_vw\' );
} else {
$language->load( \'module/timeout_vw\' );
}
if ( version_compare( $arParams[\'VERSION_OPENCART\'], \'2.3\', \'>=\' ) ) {
$arParams[\'EDIT_MODULE\'] = HTTP_CATALOG.\'/admin/index.php?route=extension/module/timeout_vw\';
} else {
$arParams[\'EDIT_MODULE\'] = HTTP_CATALOG.\'/admin/index.php?route=module/timeout_vw\';
}
$arParams[\'TXT_VALID1\'] = htmlspecialchars( $VWidget->getKey() );
$arParams[\'TXT_VALID2\'] = htmlspecialchars( $request->get[\'check\'], ENT_COMPAT, \'UTF-8\' );
$arParams[\'STATUS\'][\'MODULE\'] = intval( $TM_STATUS );
$arParams[\'STATUS\'][\'CRON\'] = intval( $TM[ \'enable\' ] );
$arParams[\'STATUS\'][\'LOG\'] = intval( $TM[ \'logger\' ] );
$arParams[\'STATUS\'][\'TO_EMAIL\'] = intval( $TM[ \'email\' ] );
$arParams[\'ADMIN_TIMEZONE\'] = $TM[ \'timezone\' ];
$arParams[\'CLIENT_DOMAIN\'] = HTTP_CATALOG;
$arParams[\'MODULE_TITLE\'] = $language->get( \'heading_title\' );
$arParams[\'STORE_EMAIL\'] = $config->get( \'config_email\' );
$arParams[\'STORE_TITLE\'] = $config->get( \'config_name\' );
$arParams[\'STORE_ADMIN\'] = $config->get( \'config_owner\' );
$arParams[\'SERVER_TIME\'] = date( "H:i:s" );
$FROM = $TM[ \'time_before\' ];
$AFTER = $TM[ \'time_after\' ];
$arParams[\'CURRENT_TIME_ENABLED\'] = ( isset( $FROM ) ) ? $FROM . \':00\' : \'10\' . \':00\';
$arParams[\'CURRENT_TIME_DISABLED\'] = ( isset( $AFTER ) ) ? $AFTER . \':00\' : \'19\' . \':00\';
//
if ( $arParams[\'STATUS\'][\'MODULE\'] == 1 ) {
$status_module = true;
}
// cron
if ( $arParams[\'STATUS\'][\'CRON\'] == 1 ) {
$is_enable_cron = true;
} else {
unset( $_POST, $_GET, $arParams );
die();
}
//
if ( $arParams[\'STATUS\'][\'TO_EMAIL\'] == 1 ) {
$send_email = true;
}
// :
if ( $arParams[\'STATUS\'][\'LOG\'] == 1 ) {
$is_logger = true;
}
//
if ( isset( $request->get[\'check\'] ) && $is_enable_cron ) {
// -
if ( $arParams[\'TXT_VALID2\'] === $arParams[\'TXT_VALID1\'] ) {
$vw_point = $VWidget->timeoutWork( $arParams );
$arParams[\'WORK\'] = $vw_point;
$arParams[\'VW_DESCRIPTION\'] = $vw_point[\'STATUS_TEXT\'];
$arParams[\'VW_POINT\'] = $vw_point[\'STATUS\'];
$arParams[\'VW_TITLE\'] = $language->get( \'email_title\' );
if ( $vw_point[\'STATUS\'] == 1 ) { //
$res = $db->query( "UPDATE `" . DB_PREFIX . "setting` SET `value` = \'1\' WHERE `code` = \'timeout_vw\' AND `key` = \'timeout_vw_status\'" );
if ( !$res ) {
if ( $is_logger ) { // -
$VWidget->logger( $language->get( "error_database" ) );
}
}
$arParams[\'VW_MESSAGE\'] = $language->get( \'email_desc_open\' );
if ( $is_logger ) { // save log
$VWidget->logger( $language->get( "support_widget_enable" ) );
}
if ( $send_email ) { //
$VWidget->send_email( $arParams );
}
} else
//
if ( $vw_point[\'STATUS\'] == 2 ) {
$res = $db->query( "UPDATE `" . DB_PREFIX . "setting` SET `value` = \'0\' WHERE `code` = \'timeout_vw\' AND `key` = \'timeout_vw_status\'" );
if ( !$res ) {
if ( $is_logger ) {
$VWidget->logger( $language->get( "error_database" ) );
}
}
$arParams[\'VW_MESSAGE\'] = $language->get( \'email_desc_close\' );
if ( $is_logger ) {
$VWidget->logger( $language->get( "support_widget_disable" ) );
}
if ( $send_email ) {
$VWidget->send_email( $arParams );
}
} else {
if ( $is_logger ) { // -
$VWidget->logger( $language->get( "error_unknown" ) );
}
}
} else {
if ( $is_logger ) { // -
$VWidget->logger( $language->get("error_request_server") );
}
}
} else {
if ( $is_logger ) {
$VWidget->logger( $language->get("error_request_cron") );
}
}
unset( $arParams );
die();
} else {
die();
}
/**
* @param $errno
* @param $errstr
* @param $errfile
* @param $errline
* @return bool
*/
function error_handler( $errno, $errstr, $errfile, $errline )
{
$VWidget = new TimeOutVWidget();
switch ( $errno ) {
case E_NOTICE:
case E_USER_NOTICE:
$error = \'Notice\';
break;
case E_WARNING:
case E_USER_WARNING:
$error = \'Warning\';
break;
case E_ERROR:
case E_USER_ERROR:
$error = \'Fatal Error\';
break;
default:
$error = \'Unknown\';
break;
}
$VWidget->logger( \'PHP \' . $error . \': \' . $errstr . \' in \' . $errfile . \' on line \' . $errline );
return true;
}
?>'
Did this file decode correctly?
Original Code
<?php @eval("?>".base64_decode("PD9waHANCi8vIGluYyBhZG1pbiBjb25maWcgZmlsZQ0KcmVxdWlyZV9vbmNlKCBkaXJuYW1lKCBfX0ZJTEVfXyApIC4gIi8uLi9hZG1pbi9jb25maWcucGhwIiApOw0KDQovLyBTdGFydHVwDQpyZXF1aXJlX29uY2UoIERJUl9TWVNURU0gLiAnc3RhcnR1cC5waHAnICk7DQoNCi8vIFJlZ2lzdHJ5DQokcmVnaXN0cnkgPSBuZXcgUmVnaXN0cnkoKTsNCg0KLy8gTG9hZGVyDQokbG9hZGVyID0gbmV3IExvYWRlciggJHJlZ2lzdHJ5ICk7DQokcmVnaXN0cnktPnNldCggJ2xvYWQnLCAkbG9hZGVyICk7DQoNCi8vIENvbmZpZw0KJGNvbmZpZyA9IG5ldyBDb25maWcoKTsNCiRyZWdpc3RyeS0+c2V0KCAnY29uZmlnJywgJGNvbmZpZyApOw0KDQovLyBEYXRhYmFzZQ0KJGRiID0gbmV3IERCKCBEQl9EUklWRVIsIERCX0hPU1ROQU1FLCBEQl9VU0VSTkFNRSwgREJfUEFTU1dPUkQsIERCX0RBVEFCQVNFLCBEQl9QT1JUICk7DQokcmVnaXN0cnktPnNldCggJ2RiJywgJGRiICk7DQoNCnB1dGVudiggIlNFUlZFUl9OQU1FPWxvY2FsaG9zdCIgKTsNCmFwYWNoZV9zZXRlbnYgKCAiU0VSVkVSX05BTUUiLCJsb2NhbGhvc3QiICk7DQoNCi8vIEVycm9yIEhhbmRsZXINCnNldF9lcnJvcl9oYW5kbGVyKCAnZXJyb3JfaGFuZGxlcicgKTsNCg0KDQovLyBSZXF1ZXN0DQokcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCk7DQokcmVnaXN0cnktPnNldCggJ3JlcXVlc3QnLCAkcmVxdWVzdCApOw0KDQovLyBTZXR0aW5ncw0KJHF1ZXJ5ID0gJGRiLT5xdWVyeSggIlNFTEVDVCAqIEZST00gYCIgLiBEQl9QUkVGSVggLiAic2V0dGluZ2AgV0hFUkUgc3RvcmVfaWQgPSAnMCcgT1Igc3RvcmVfaWQgPSAnIiAuIChpbnQpJGNvbmZpZy0+Z2V0KCAnY29uZmlnX3N0b3JlX2lkJyApIC4gIicgT1JERVIgQlkgc3RvcmVfaWQgQVNDIiApOw0KZm9yZWFjaCAoICRxdWVyeS0+cm93cyBhcyAkcmVzdWx0ICkgew0KICAgIGlmICggISRyZXN1bHRbJ3NlcmlhbGl6ZWQnXSApIHsNCiAgICAgICAgJGNvbmZpZy0+c2V0KCAkcmVzdWx0WydrZXknXSwgJHJlc3VsdFsndmFsdWUnXSApOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRjb25maWctPnNldCggJHJlc3VsdFsna2V5J10sIGpzb25fZGVjb2RlKCAkcmVzdWx0Wyd2YWx1ZSddLCB0cnVlICkgKTsNCiAgICB9DQp9DQoNCi8vIExhbmd1YWdlIERldGVjdGlvbg0KJGxhbmd1YWdlcyA9IGFycmF5KCk7DQokcXVlcnkgPSAkZGItPnF1ZXJ5KCAiU0VMRUNUICogRlJPTSAiIC4gREJfUFJFRklYIC4gImxhbmd1YWdlIFdIRVJFIHN0YXR1cyA9ICcxJyIgKTsNCmZvcmVhY2ggKCAkcXVlcnktPnJvd3MgYXMgJHJlc3VsdCApIHsNCiAgICAkbGFuZ3VhZ2VzWyRyZXN1bHRbJ2NvZGUnXV0gPSAkcmVzdWx0Ow0KfQ0KJGNvZGUgPSAkY29uZmlnLT5nZXQoICdjb25maWdfbGFuZ3VhZ2UnICk7DQokY29uZmlnLT5zZXQoICdjb25maWdfbGFuZ3VhZ2VfaWQnLCAkbGFuZ3VhZ2VzWyRjb2RlXVsnbGFuZ3VhZ2VfaWQnXSApOw0KJGNvbmZpZy0+c2V0KCAnY29uZmlnX2xhbmd1YWdlJywgJGxhbmd1YWdlc1skY29kZV1bJ2NvZGUnXSApOw0KDQovLyBMYW5ndWFnZQ0KJGxhbmd1YWdlID0gbmV3IExhbmd1YWdlKCAkbGFuZ3VhZ2VzWyRjb2RlXVsnZGlyZWN0b3J5J10gKTsNCiRsYW5ndWFnZS0+bG9hZCggJ2RlZmF1bHQnICk7DQokcmVnaXN0cnktPnNldCggJ2xhbmd1YWdlJywgJGxhbmd1YWdlICk7DQoNCg0KaWYgKCAhZW1wdHkoICRyZXF1ZXN0LT5nZXRbJ2NoZWNrJ10gKSAmJiAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnR0VUJyApIHsNCg0KICAgIHJlcXVpcmVfb25jZSggZGlybmFtZSggX19GSUxFX18gKSAuICIvLi4vc3lzdGVtL2xpYnJhcnkvdGltZW91dF92dy92dy5jbGFzcy5waHAiICk7DQogICAgcmVxdWlyZV9vbmNlKCBkaXJuYW1lKCBfX0ZJTEVfXyApIC4gIi8uLi9zeXN0ZW0vbGlicmFyeS9tYWlsLnBocCIgKTsNCiAgICANCiAgICAkVldpZGdldCA9IG5ldyBUaW1lT3V0VldpZGdldCgpOw0KDQogICAgJHN0YXR1c19tb2R1bGUgPSBmYWxzZTsNCiAgICAkaXNfbG9nZ2VyID0gZmFsc2U7DQogICAgJGlzX2VuYWJsZV9sb2cgPSBmYWxzZTsNCiAgICAkc2VuZF9lbWFpbCA9IGZhbHNlOw0KICAgICRhclBhcmFtcyA9IGFycmF5KCk7DQoNCiAgICAvLyBnZXQgc2V0dGluZw0KICAgICRUTV9TVEFUVVMgPSAkY29uZmlnLT5nZXQoICdtb2R1bGVfdGltZW91dF92d19zdGF0dXMnICk7DQogICAgJFRNID0gJGNvbmZpZy0+Z2V0KCAnbW9kdWxlX3RpbWVvdXRfdncnICk7DQogICAgJGFyUGFyYW1zWydWRVJTSU9OX09QRU5DQVJUJ10gPSAnMy4wJzsNCiAgICANCiAgICBpZiAoIHZlcnNpb25fY29tcGFyZSggJGFyUGFyYW1zWydWRVJTSU9OX09QRU5DQVJUJ10sICcyLjMnLCAnPj0nICkgKSB7DQogICAgICAgICRsYW5ndWFnZS0+bG9hZCggJ2V4dGVuc2lvbi9tb2R1bGUvdGltZW91dF92dycgKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkbGFuZ3VhZ2UtPmxvYWQoICdtb2R1bGUvdGltZW91dF92dycgKTsNCiAgICB9DQogICAgDQogICAgaWYgKCB2ZXJzaW9uX2NvbXBhcmUoICRhclBhcmFtc1snVkVSU0lPTl9PUEVOQ0FSVCddLCAnMi4zJywgJz49JyApICkgew0KICAgICAgICAkYXJQYXJhbXNbJ0VESVRfTU9EVUxFJ10gPSBIVFRQX0NBVEFMT0cuJy9hZG1pbi9pbmRleC5waHA/cm91dGU9ZXh0ZW5zaW9uL21vZHVsZS90aW1lb3V0X3Z3JzsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkYXJQYXJhbXNbJ0VESVRfTU9EVUxFJ10gPSBIVFRQX0NBVEFMT0cuJy9hZG1pbi9pbmRleC5waHA/cm91dGU9bW9kdWxlL3RpbWVvdXRfdncnOw0KICAgIH0NCg0KICAgICRhclBhcmFtc1snVFhUX1ZBTElEMSddID0gaHRtbHNwZWNpYWxjaGFycyggJFZXaWRnZXQtPmdldEtleSgpICk7DQogICAgJGFyUGFyYW1zWydUWFRfVkFMSUQyJ10gPSBodG1sc3BlY2lhbGNoYXJzKCAkcmVxdWVzdC0+Z2V0WydjaGVjayddLCBFTlRfQ09NUEFULCAnVVRGLTgnICk7DQogICAgJGFyUGFyYW1zWydTVEFUVVMnXVsnTU9EVUxFJ10gPSBpbnR2YWwoICRUTV9TVEFUVVMgKTsNCiAgICAkYXJQYXJhbXNbJ1NUQVRVUyddWydDUk9OJ10gPSBpbnR2YWwoICRUTVsgJ2VuYWJsZScgXSApOw0KICAgICRhclBhcmFtc1snU1RBVFVTJ11bJ0xPRyddID0gaW50dmFsKCAkVE1bICdsb2dnZXInIF0gKTsNCiAgICAkYXJQYXJhbXNbJ1NUQVRVUyddWydUT19FTUFJTCddID0gaW50dmFsKCAkVE1bICdlbWFpbCcgXSApOw0KICAgICRhclBhcmFtc1snQURNSU5fVElNRVpPTkUnXSA9ICRUTVsgJ3RpbWV6b25lJyBdOw0KICAgICRhclBhcmFtc1snQ0xJRU5UX0RPTUFJTiddID0gSFRUUF9DQVRBTE9HOw0KICAgICRhclBhcmFtc1snTU9EVUxFX1RJVExFJ10gPSAkbGFuZ3VhZ2UtPmdldCggJ2hlYWRpbmdfdGl0bGUnICk7DQogICAgJGFyUGFyYW1zWydTVE9SRV9FTUFJTCddID0gJGNvbmZpZy0+Z2V0KCAnY29uZmlnX2VtYWlsJyApOw0KICAgICRhclBhcmFtc1snU1RPUkVfVElUTEUnXSA9ICRjb25maWctPmdldCggJ2NvbmZpZ19uYW1lJyApOw0KICAgICRhclBhcmFtc1snU1RPUkVfQURNSU4nXSA9ICRjb25maWctPmdldCggJ2NvbmZpZ19vd25lcicgKTsNCiAgICAkYXJQYXJhbXNbJ1NFUlZFUl9USU1FJ10gPSBkYXRlKCAiSDppOnMiICk7DQoNCiAgICANCiAgICAkRlJPTSA9ICRUTVsgJ3RpbWVfYmVmb3JlJyBdOw0KICAgICRBRlRFUiA9ICRUTVsgJ3RpbWVfYWZ0ZXInIF07DQogICAgJGFyUGFyYW1zWydDVVJSRU5UX1RJTUVfRU5BQkxFRCddID0gKCBpc3NldCggJEZST00gKSApID8gJEZST00gLiAnOjAwJyA6ICcxMCcgLiAnOjAwJzsNCiAgICAkYXJQYXJhbXNbJ0NVUlJFTlRfVElNRV9ESVNBQkxFRCddID0gKCBpc3NldCggJEFGVEVSICkgKSA/ICRBRlRFUiAuICc6MDAnIDogJzE5JyAuICc6MDAnOw0KDQogICAgLy8g0YHRgtCw0YLRg9GBINC80L7QtNGD0LvRjw0KICAgIGlmICggJGFyUGFyYW1zWydTVEFUVVMnXVsnTU9EVUxFJ10gPT0gMSApIHsNCiAgICAgICAgJHN0YXR1c19tb2R1bGUgPSB0cnVlOw0KICAgIH0NCg0KICAgIC8vINC10YHQu9C4INCy0LrQuyBjcm9uDQogICAgaWYgKCAkYXJQYXJhbXNbJ1NUQVRVUyddWydDUk9OJ10gPT0gMSApIHsNCiAgICAgICAgJGlzX2VuYWJsZV9jcm9uID0gdHJ1ZTsNCiAgICB9IGVsc2Ugew0KICAgICAgICB1bnNldCggJF9QT1NULCAkX0dFVCwgJGFyUGFyYW1zICk7DQogICAgICAgIGRpZSgpOw0KICAgIH0NCg0KICAgIC8vINGB0YLQsNGC0YPRgSDQv9C+0YfRgtGLDQogICAgaWYgKCAkYXJQYXJhbXNbJ1NUQVRVUyddWydUT19FTUFJTCddID09IDEgKSB7DQogICAgICAgICRzZW5kX2VtYWlsID0gdHJ1ZTsNCiAgICB9DQoNCiAgICAvLyDRgdGC0LDRgtGD0YE6INC30LDQv9C40YHRjCDQsiDQu9C+0LMNCiAgICBpZiAoICRhclBhcmFtc1snU1RBVFVTJ11bJ0xPRyddID09IDEgKSB7DQogICAgICAgICRpc19sb2dnZXIgPSB0cnVlOw0KICAgIH0NCiAgICANCiAgICANCiAgICANCiAgICANCg0KICAgIC8v0L/RgNC+0LLQtdGA0LrQsCDQstGF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YUNCiAgICBpZiAoIGlzc2V0KCAkcmVxdWVzdC0+Z2V0WydjaGVjayddICkgJiYgJGlzX2VuYWJsZV9jcm9uICkgew0KDQogICAgICAgIC8v0L/RgNC+0LLQtdGA0LrQsCDRhdC10Ygt0YHRgtGA0L7QutC4DQogICAgICAgIGlmICggJGFyUGFyYW1zWydUWFRfVkFMSUQyJ10gPT09ICRhclBhcmFtc1snVFhUX1ZBTElEMSddICkgew0KDQogICAgICAgICAgICAkdndfcG9pbnQgPSAkVldpZGdldC0+dGltZW91dFdvcmsoICRhclBhcmFtcyApOw0KICAgICAgICAgICAgJGFyUGFyYW1zWydXT1JLJ10gPSAkdndfcG9pbnQ7DQogICAgICAgICAgICAkYXJQYXJhbXNbJ1ZXX0RFU0NSSVBUSU9OJ10gPSAkdndfcG9pbnRbJ1NUQVRVU19URVhUJ107DQogICAgICAgICAgICAkYXJQYXJhbXNbJ1ZXX1BPSU5UJ10gPSAkdndfcG9pbnRbJ1NUQVRVUyddOw0KICAgICAgICAgICAgJGFyUGFyYW1zWydWV19USVRMRSddID0gJGxhbmd1YWdlLT5nZXQoICdlbWFpbF90aXRsZScgKTsNCg0KDQogICAgICAgICAgICBpZiAoICR2d19wb2ludFsnU1RBVFVTJ10gPT0gMSApIHsgLy8g0LXRgdC70Lgg0YDQsNCx0L7Rh9C10LUg0LLRgNC10LzRjyDRgtC+INC/0YDQvtCy0LXRgNGP0LXQvCDQtNCw0LvRjNGI0LUg0YHQvtGB0YLQvtGP0L3QuNC1INC60L3QvtC/0LrQuA0KICAgICAgICAgICAgICAgICRyZXMgPSAkZGItPnF1ZXJ5KCAiVVBEQVRFIGAiIC4gREJfUFJFRklYIC4gInNldHRpbmdgIFNFVCBgdmFsdWVgID0gJzEnIFdIRVJFIGBjb2RlYCA9ICd0aW1lb3V0X3Z3JyBBTkQgYGtleWAgPSAndGltZW91dF92d19zdGF0dXMnIiApOw0KICAgICAgICAgICAgICAgIGlmICggISRyZXMgKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICggJGlzX2xvZ2dlciApIHsgLy/QtdGB0LvQuCDQstC60Lsg0YLQviDQt9Cw0L/QuNGB0YvQstCw0YLRjCDQsiDQu9C+0LMt0YTQsNC50LsNCiAgICAgICAgICAgICAgICAgICAgICAgICRWV2lkZ2V0LT5sb2dnZXIoICRsYW5ndWFnZS0+Z2V0KCAiZXJyb3JfZGF0YWJhc2UiICkgKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICRhclBhcmFtc1snVldfTUVTU0FHRSddID0gJGxhbmd1YWdlLT5nZXQoICdlbWFpbF9kZXNjX29wZW4nICk7DQoNCiAgICAgICAgICAgICAgICBpZiAoICRpc19sb2dnZXIgKSB7IC8vIHNhdmUgbG9nDQogICAgICAgICAgICAgICAgICAgICRWV2lkZ2V0LT5sb2dnZXIoICRsYW5ndWFnZS0+Z2V0KCAic3VwcG9ydF93aWRnZXRfZW5hYmxlIiApICk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKCAkc2VuZF9lbWFpbCApIHsgLy/QtdGB0LvQuCDQstC60Lsg0L7Qv9GG0LjRjyDRgtC+INC+0YLQv9GA0LDQstC70Y/RgtGMINGD0LLQtdC00L7QvNC70LXQvdC40LUg0L3QsCDQv9C+0YfRgtGDDQogICAgICAgICAgICAgICAgICAgICRWV2lkZ2V0LT5zZW5kX2VtYWlsKCAkYXJQYXJhbXMgKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0gZWxzZQ0KDQogICAgICAgICAgICAgICAgLy8g0LXRgdC70Lgg0L3QtSDRgNCw0LHQvtGH0LXQtSDQstGA0LXQvNGPINGC0L4g0L/RgNC+0LLQtdGA0Y/QtdC8INC00LDQu9GM0YjQtSDRgdC+0YHRgtC+0Y/QvdC40LUg0LrQvdC+0L/QutC4DQogICAgICAgICAgICAgICAgaWYgKCAkdndfcG9pbnRbJ1NUQVRVUyddID09IDIgKSB7DQogICAgICAgICAgICAgICAgICAgICRyZXMgPSAkZGItPnF1ZXJ5KCAiVVBEQVRFIGAiIC4gREJfUFJFRklYIC4gInNldHRpbmdgIFNFVCBgdmFsdWVgID0gJzAnIFdIRVJFIGBjb2RlYCA9ICd0aW1lb3V0X3Z3JyBBTkQgYGtleWAgPSAndGltZW91dF92d19zdGF0dXMnIiApOw0KICAgICAgICAgICAgICAgICAgICBpZiAoICEkcmVzICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAkaXNfbG9nZ2VyICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRWV2lkZ2V0LT5sb2dnZXIoICRsYW5ndWFnZS0+Z2V0KCAiZXJyb3JfZGF0YWJhc2UiICkgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICRhclBhcmFtc1snVldfTUVTU0FHRSddID0gJGxhbmd1YWdlLT5nZXQoICdlbWFpbF9kZXNjX2Nsb3NlJyApOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICggJGlzX2xvZ2dlciApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRWV2lkZ2V0LT5sb2dnZXIoICRsYW5ndWFnZS0+Z2V0KCAic3VwcG9ydF93aWRnZXRfZGlzYWJsZSIgKSApOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICggJHNlbmRfZW1haWwgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkVldpZGdldC0+c2VuZF9lbWFpbCggJGFyUGFyYW1zICk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkaXNfbG9nZ2VyICkgeyAvL9C10YHQu9C4INCy0LrQuyDRgtC+INC30LDQv9C40YHRi9Cy0LDRgtGMINCyINC70L7Qsy3RhNCw0LnQuw0KICAgICAgICAgICAgICAgICAgICAgICAgJFZXaWRnZXQtPmxvZ2dlciggJGxhbmd1YWdlLT5nZXQoICJlcnJvcl91bmtub3duIiApICk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0NCg0KDQogICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgIGlmICggJGlzX2xvZ2dlciApIHsgLy/QtdGB0LvQuCDQstC60Lsg0YLQviDQt9Cw0L/QuNGB0YvQstCw0YLRjCDQsiDQu9C+0LMt0YTQsNC50LsNCiAgICAgICAgICAgICAgICAkVldpZGdldC0+bG9nZ2VyKCAkbGFuZ3VhZ2UtPmdldCgiZXJyb3JfcmVxdWVzdF9zZXJ2ZXIiKSApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgIH0gZWxzZSB7DQoNCiAgICAgICAgaWYgKCAkaXNfbG9nZ2VyICkgew0KICAgICAgICAgICAgJFZXaWRnZXQtPmxvZ2dlciggJGxhbmd1YWdlLT5nZXQoImVycm9yX3JlcXVlc3RfY3JvbiIpICk7DQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgIHVuc2V0KCAkYXJQYXJhbXMgKTsNCiAgICBkaWUoKTsNCg0KfSBlbHNlIHsNCiAgICBkaWUoKTsNCn0NCg0KDQoNCi8qKg0KICogQHBhcmFtICRlcnJubw0KICogQHBhcmFtICRlcnJzdHINCiAqIEBwYXJhbSAkZXJyZmlsZQ0KICogQHBhcmFtICRlcnJsaW5lDQogKiBAcmV0dXJuIGJvb2wNCiAqLw0KZnVuY3Rpb24gZXJyb3JfaGFuZGxlciggJGVycm5vLCAkZXJyc3RyLCAkZXJyZmlsZSwgJGVycmxpbmUgKQ0Kew0KICAgICRWV2lkZ2V0ID0gbmV3IFRpbWVPdXRWV2lkZ2V0KCk7DQogICAgc3dpdGNoICggJGVycm5vICkgew0KICAgICAgICBjYXNlIEVfTk9USUNFOg0KICAgICAgICBjYXNlIEVfVVNFUl9OT1RJQ0U6DQogICAgICAgICAgICAkZXJyb3IgPSAnTm90aWNlJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIEVfV0FSTklORzoNCiAgICAgICAgY2FzZSBFX1VTRVJfV0FSTklORzoNCiAgICAgICAgICAgICRlcnJvciA9ICdXYXJuaW5nJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlIEVfRVJST1I6DQogICAgICAgIGNhc2UgRV9VU0VSX0VSUk9SOg0KICAgICAgICAgICAgJGVycm9yID0gJ0ZhdGFsIEVycm9yJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgJGVycm9yID0gJ1Vua25vd24nOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgfQ0KICAgICRWV2lkZ2V0LT5sb2dnZXIoICdQSFAgJyAuICRlcnJvciAuICc6ICAnIC4gJGVycnN0ciAuICcgaW4gJyAuICRlcnJmaWxlIC4gJyBvbiBsaW5lICcgLiAkZXJybGluZSApOw0KICAgIHJldHVybiB0cnVlOw0KfQ0KDQo/Pg==")); /* Likeopencart.com / Email: [email protected] / 2020 (C) All rights reserved! */
Function Calls
base64_decode | 1 |
Stats
MD5 | f7b636d46f60dd7278b8ce491b285ada |
Eval Count | 1 |
Decode Time | 57 ms |