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 /* Copyright (c) Nicsoft LLC */ eval( '?>' . base64_decode('PD9waHANCg0Kc2Vzc2lvbl9z..
Decoded Output download
?>b'<?php
session_start ();
include \'../inc/auth_header.php\';
include_once \'../config.php\';
include_once \'../classes/Database.php\';
$jobname = isset ( $_POST [\'jobname\'] ) ? $_POST [\'jobname\'] : \'\';
$jobname = isset ( $_GET [\'jobname\'] ) ? $_GET [\'jobname\'] : \'\';
$mobileversion = isset ( $_POST [\'mobileversion\'] ) ? $_POST [\'mobileversion\'] : \'\';
$mobileversion = isset ( $_GET [\'mobileversion\'] ) ? $_GET [\'mobileversion\'] : \'\';
if ($jobname == \'\')
die ( \'ERROR|No Job Name To Save.\' );
if($_SESSION [\'fb_user_privilege\'] == 9)
{
$sql = "SELECT COUNT(id) AS ct FROM fb_jobs WHERE job_name = ?;";
$params = array((string)$jobname);
$row = Database::pdo_procedure_params($sql, $params);
$user_count = $row[1][0][\'ct\'];
} else {
$sql = "SELECT COUNT(id) AS ct FROM fb_jobs WHERE job_name = ? AND user_id = ?;";
$params = array((string)$jobname, (int)$_SESSION[\'fb_user_id\']);
$row = Database::pdo_procedure_params($sql, $params);
$user_count = $row[1][0][\'ct\'];
}
if($user_count == 0)
die(\'ERROR|You Do Not Have Access To This Job.\');
if (! file_exists ( "../../output/forms/" . $jobname ))
die ( \'ERROR|Job Does Not Exist In The File System.\' );
$zipname = "../../output/forms/" . strtolower ( $jobname ) . \'.zip\';
if(isset($mobileversion) && $mobileversion == "1") {
$zip = new ZipArchive ( );
if (! $zip->open ( $zipname, ZIPARCHIVE::CREATE )) {
return false;
}
addFolderToZip ("../../output/forms/" . $jobname . \'/\', $zip, "standard/" );
addFolderToZip ("../../output/forms/" . $jobname . \'-mobile/\', $zip, "mobile/" );
$pass = $zip->close();
} else {
ExtendedZip::zipTree("../../output/forms/" . $jobname . \'/\', $zipname, ZipArchive::CREATE); $pass = true;
}
if(!$pass){
echo \'Export Error: Unfortunately the export function failed to create a zip file, this probably happened because your server doesn\'t have the <a target="_blank" href="http://www.php.net/manual/en/zip.installation.php">PHP Zip</a> extension installed.\';
} else {
header ( "Pragma: public" );
header ( "Expires: 0" );
header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header ( "Cache-Control: private", false );
header ( "Content-disposition: attachment; filename=\"" . strtolower ( $jobname ) . ".zip\"" );
echo file_get_contents ( $zipname );
unlink ( $zipname );
}
function addFolderToZip($dir, $zipArchive, $zipdir = \'\'){
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
if(!empty($zipdir)) $zipArchive->addEmptyDir($zipdir);
while (($file = readdir($dh)) !== false) {
if(!is_file($dir . $file)){
if( ($file !== ".") && ($file !== "..")){
addFolderToZip($dir . $file . "/", $zipArchive, $zipdir . $file . "/");
}
}else{
$zipArchive->addFile($dir . $file, $zipdir . $file);
}
}
}
}
}
class ExtendedZip extends ZipArchive {
public function addTree($dirname, $localname = \'\') {
if ($localname)
$this->addEmptyDir($localname);
$this->_addTree($dirname, $localname);
}
protected function _addTree($dirname, $localname) {
$dir = opendir($dirname);
while ($filename = readdir($dir)) {
if ($filename == \'.\' || $filename == \'..\')
continue;
$path = $dirname . \'/\' . $filename;
$localpath = $localname ? ($localname . \'/\' . $filename) : $filename;
if (is_dir($path)) {
$this->addEmptyDir($localpath);
$this->_addTree($path, $localpath);
}
else if (is_file($path)) {
$this->addFile($path, $localpath);
}
}
closedir($dir);
}
public static function zipTree($dirname, $zipFilename, $flags = 0, $localname = \'\') {
$zip = new self();
$zip->open($zipFilename, $flags);
$zip->addTree($dirname, $localname);
$zip->close();
}
}
function Zip_2($source, $destination)
{
if (!extension_loaded(\'zip\') || !file_exists($source)) {
return false;
}
$zip = new ZipArchive();
if (!$zip->open($destination, ZIPARCHIVE::CREATE)) {
return false;
}
if (strtoupper(substr(PHP_OS, 0, 3)) === \'WIN\') {
DEFINE(\'DS\', DIRECTORY_SEPARATOR);
} else {
DEFINE(\'DS\', \'/\');
}
$source = str_replace(\'\\', DS, realpath($source));
if (is_dir($source) === true)
{
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
echo $source;
foreach ($files as $file)
{
$file = str_replace(\'\\',DS, $file);
if( in_array(substr($file, strrpos($file, DS)+1), array(\'.\', \'..\')) )
continue;
$file = realpath($file);
if (is_dir($file) === true)
{
$zip->addEmptyDir(str_replace($source . DS, \'\', $file . DS));
}
else if (is_file($file) === true)
{
$zip->addFromString(str_replace($source . DS, \'\', $file), file_get_contents($file));
}
echo $source;
}
}
else if (is_file($source) === true)
{
$zip->addFromString(basename($source), file_get_contents($source));
}
return $zip->close();
}
function Zip_1($source, $destination) {
if (! extension_loaded ( \'zip\' ) || ! file_exists ( $source )) {
return false;
}
$zip = new ZipArchive ( );
if (! $zip->open ( $destination, ZIPARCHIVE::CREATE )) {
return false;
}
$source = str_replace ( \'\\', \'/\', realpath ( $source ) );
if (is_dir ( $source ) === true) {
$files = new RecursiveIteratorIterator ( new RecursiveDirectoryIterator ( $source ), RecursiveIteratorIterator::SELF_FIRST );
foreach ( $files as $file ) {
$file = str_replace ( \'\\', \'/\', $file );
if (in_array ( substr ( $file, strrpos ( $file, \'/\' ) + 1 ), array (\'.\', \'..\' ) ))
continue;
if (is_dir ( $file ) === true) {
$zip->addEmptyDir ( str_replace ( $source . \'/\', \'\', $file . \'/\' ) );
} else if (is_file ( $file ) === true) {
$zip->addFromString ( str_replace ( $source . \'/\', \'\', $file ), file_get_contents ( $file ) );
}
}
} else if (is_file ( $source ) === true) {
$zip->addFromString ( basename ( $source ), file_get_contents ( $source ) );
}
return $zip->close ();
}
?>'
Did this file decode correctly?
Original Code
<?php /* Copyright (c) Nicsoft LLC */ eval( '?>' . base64_decode('PD9waHANCg0Kc2Vzc2lvbl9zdGFydCAoKTsNCmluY2x1ZGUgJy4uL2luYy9hdXRoX2hlYWRlci5waHAnOw0KDQppbmNsdWRlX29uY2UgJy4uL2NvbmZpZy5waHAnOw0KaW5jbHVkZV9vbmNlICcuLi9jbGFzc2VzL0RhdGFiYXNlLnBocCc7DQoNCg0KJGpvYm5hbWUgPSBpc3NldCAoICRfUE9TVCBbJ2pvYm5hbWUnXSApID8gJF9QT1NUIFsnam9ibmFtZSddIDogJyc7DQokam9ibmFtZSA9IGlzc2V0ICggJF9HRVQgWydqb2JuYW1lJ10gKSA/ICRfR0VUIFsnam9ibmFtZSddIDogJyc7DQoNCg0KJG1vYmlsZXZlcnNpb24gPSBpc3NldCAoICRfUE9TVCBbJ21vYmlsZXZlcnNpb24nXSApID8gJF9QT1NUIFsnbW9iaWxldmVyc2lvbiddIDogJyc7DQokbW9iaWxldmVyc2lvbiA9IGlzc2V0ICggJF9HRVQgWydtb2JpbGV2ZXJzaW9uJ10gKSA/ICRfR0VUIFsnbW9iaWxldmVyc2lvbiddIDogJyc7DQoNCmlmICgkam9ibmFtZSA9PSAnJykNCglkaWUgKCAnRVJST1J8Tm8gSm9iIE5hbWUgVG8gU2F2ZS4nICk7DQoJDQoNCg0KDQoNCg0KDQoNCg0KaWYoJF9TRVNTSU9OIFsnZmJfdXNlcl9wcml2aWxlZ2UnXSA9PSA5KQ0Kew0KCSRzcWwgPSAiU0VMRUNUIENPVU5UKGlkKSBBUyBjdCBGUk9NIGZiX2pvYnMgV0hFUkUgam9iX25hbWUgPSA/OyI7DQoJJHBhcmFtcyA9IGFycmF5KChzdHJpbmcpJGpvYm5hbWUpOw0KCSRyb3cgPSBEYXRhYmFzZTo6cGRvX3Byb2NlZHVyZV9wYXJhbXMoJHNxbCwgJHBhcmFtcyk7DQoJJHVzZXJfY291bnQgPSAkcm93WzFdWzBdWydjdCddOw0KDQp9IGVsc2Ugew0KDQoJJHNxbCA9ICJTRUxFQ1QgQ09VTlQoaWQpIEFTIGN0IEZST00gZmJfam9icyBXSEVSRSBqb2JfbmFtZSA9ID8gQU5EIHVzZXJfaWQgPSA/OyI7DQoJJHBhcmFtcyA9IGFycmF5KChzdHJpbmcpJGpvYm5hbWUsIChpbnQpJF9TRVNTSU9OWydmYl91c2VyX2lkJ10pOw0KCSRyb3cgPSBEYXRhYmFzZTo6cGRvX3Byb2NlZHVyZV9wYXJhbXMoJHNxbCwgJHBhcmFtcyk7DQoJJHVzZXJfY291bnQgPSAkcm93WzFdWzBdWydjdCddOw0KDQp9DQoNCg0KaWYoJHVzZXJfY291bnQgPT0gMCkNCglkaWUoJ0VSUk9SfFlvdSBEbyBOb3QgSGF2ZSBBY2Nlc3MgVG8gVGhpcyBKb2IuJyk7DQoNCgkNCg0KaWYgKCEgZmlsZV9leGlzdHMgKCAiLi4vLi4vb3V0cHV0L2Zvcm1zLyIgLiAkam9ibmFtZSApKQ0KCWRpZSAoICdFUlJPUnxKb2IgRG9lcyBOb3QgRXhpc3QgSW4gVGhlIEZpbGUgU3lzdGVtLicgKTsNCgkNCg0KJHppcG5hbWUgPSAiLi4vLi4vb3V0cHV0L2Zvcm1zLyIgLiBzdHJ0b2xvd2VyICggJGpvYm5hbWUgKSAuICcuemlwJzsNCg0KDQppZihpc3NldCgkbW9iaWxldmVyc2lvbikgJiYgJG1vYmlsZXZlcnNpb24gPT0gIjEiKSB7DQoNCgkkemlwID0gbmV3IFppcEFyY2hpdmUgKCApOw0KCWlmICghICR6aXAtPm9wZW4gKCAkemlwbmFtZSwgWklQQVJDSElWRTo6Q1JFQVRFICkpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCgkNCglhZGRGb2xkZXJUb1ppcCAoIi4uLy4uL291dHB1dC9mb3Jtcy8iIC4gJGpvYm5hbWUgLiAnLycsICR6aXAsICJzdGFuZGFyZC8iICk7DQoJYWRkRm9sZGVyVG9aaXAgKCIuLi8uLi9vdXRwdXQvZm9ybXMvIiAuICRqb2JuYW1lIC4gJy1tb2JpbGUvJywgJHppcCwgIm1vYmlsZS8iICk7DQoJDQoJJHBhc3MgPSAkemlwLT5jbG9zZSgpOw0KCQ0KfSBlbHNlIHsNCgkNCgkNCgkNCgkNCgkNCglFeHRlbmRlZFppcDo6emlwVHJlZSgiLi4vLi4vb3V0cHV0L2Zvcm1zLyIgLiAkam9ibmFtZSAuICcvJywgJHppcG5hbWUsIFppcEFyY2hpdmU6OkNSRUFURSk7ICRwYXNzID0gdHJ1ZTsNCgkNCn0NCg0KDQppZighJHBhc3Mpew0KCWVjaG8gJ0V4cG9ydCBFcnJvcjogVW5mb3J0dW5hdGVseSB0aGUgZXhwb3J0IGZ1bmN0aW9uIGZhaWxlZCB0byBjcmVhdGUgYSB6aXAgZmlsZSwgdGhpcyBwcm9iYWJseSBoYXBwZW5lZCBiZWNhdXNlIHlvdXIgc2VydmVyIGRvZXNuXCd0IGhhdmUgdGhlIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL3ppcC5pbnN0YWxsYXRpb24ucGhwIj5QSFAgWmlwPC9hPiBleHRlbnNpb24gaW5zdGFsbGVkLic7CQ0KfSBlbHNlIHsNCgkNCgkNCgloZWFkZXIgKCAiUHJhZ21hOiBwdWJsaWMiICk7DQoJaGVhZGVyICggIkV4cGlyZXM6IDAiICk7DQoJaGVhZGVyICggIkNhY2hlLUNvbnRyb2w6IG11c3QtcmV2YWxpZGF0ZSwgcG9zdC1jaGVjaz0wLCBwcmUtY2hlY2s9MCIgKTsNCgloZWFkZXIgKCAiQ2FjaGUtQ29udHJvbDogcHJpdmF0ZSIsIGZhbHNlICk7IA0KDQoJaGVhZGVyICggIkNvbnRlbnQtZGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiIiAuIHN0cnRvbG93ZXIgKCAkam9ibmFtZSApIC4gIi56aXBcIiIgKTsNCgkNCgllY2hvIGZpbGVfZ2V0X2NvbnRlbnRzICggJHppcG5hbWUgKTsNCgkNCgkNCgl1bmxpbmsgKCAkemlwbmFtZSApOw0KDQp9DQoNCg0KDQoNCg0KZnVuY3Rpb24gYWRkRm9sZGVyVG9aaXAoJGRpciwgJHppcEFyY2hpdmUsICR6aXBkaXIgPSAnJyl7DQoJaWYgKGlzX2RpcigkZGlyKSkgew0KCQlpZiAoJGRoID0gb3BlbmRpcigkZGlyKSkgew0KDQoJCQkNCgkJCWlmKCFlbXB0eSgkemlwZGlyKSkgJHppcEFyY2hpdmUtPmFkZEVtcHR5RGlyKCR6aXBkaXIpOw0KDQoJCQkNCgkJCXdoaWxlICgoJGZpbGUgPSByZWFkZGlyKCRkaCkpICE9PSBmYWxzZSkgew0KDQoJCQkJDQoJCQkJaWYoIWlzX2ZpbGUoJGRpciAuICRmaWxlKSl7DQoJCQkJCQ0KCQkJCQlpZiggKCRmaWxlICE9PSAiLiIpICYmICgkZmlsZSAhPT0gIi4uIikpew0KCQkJCQkJYWRkRm9sZGVyVG9aaXAoJGRpciAuICRmaWxlIC4gIi8iLCAkemlwQXJjaGl2ZSwgJHppcGRpciAuICRmaWxlIC4gIi8iKTsNCgkJCQkJfQ0KDQoJCQkJfWVsc2V7DQoJCQkJCQ0KCQkJCQkkemlwQXJjaGl2ZS0+YWRkRmlsZSgkZGlyIC4gJGZpbGUsICR6aXBkaXIgLiAkZmlsZSk7DQoNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQpjbGFzcyBFeHRlbmRlZFppcCBleHRlbmRzIFppcEFyY2hpdmUgew0KDQoJDQoJcHVibGljIGZ1bmN0aW9uIGFkZFRyZWUoJGRpcm5hbWUsICRsb2NhbG5hbWUgPSAnJykgew0KCQlpZiAoJGxvY2FsbmFtZSkNCgkJCSR0aGlzLT5hZGRFbXB0eURpcigkbG9jYWxuYW1lKTsNCgkJJHRoaXMtPl9hZGRUcmVlKCRkaXJuYW1lLCAkbG9jYWxuYW1lKTsNCgl9DQoNCgkNCglwcm90ZWN0ZWQgZnVuY3Rpb24gX2FkZFRyZWUoJGRpcm5hbWUsICRsb2NhbG5hbWUpIHsNCgkJJGRpciA9IG9wZW5kaXIoJGRpcm5hbWUpOw0KCQl3aGlsZSAoJGZpbGVuYW1lID0gcmVhZGRpcigkZGlyKSkgew0KCQkJDQoJCQlpZiAoJGZpbGVuYW1lID09ICcuJyB8fCAkZmlsZW5hbWUgPT0gJy4uJykNCgkJCQljb250aW51ZTsNCg0KCQkJDQoJCQkkcGF0aCA9ICRkaXJuYW1lIC4gJy8nIC4gJGZpbGVuYW1lOw0KCQkJJGxvY2FscGF0aCA9ICRsb2NhbG5hbWUgPyAoJGxvY2FsbmFtZSAuICcvJyAuICRmaWxlbmFtZSkgOiAkZmlsZW5hbWU7DQoJCQlpZiAoaXNfZGlyKCRwYXRoKSkgew0KCQkJCQ0KCQkJCSR0aGlzLT5hZGRFbXB0eURpcigkbG9jYWxwYXRoKTsNCgkJCQkkdGhpcy0+X2FkZFRyZWUoJHBhdGgsICRsb2NhbHBhdGgpOw0KCQkJfQ0KCQkJZWxzZSBpZiAoaXNfZmlsZSgkcGF0aCkpIHsNCgkJCQkNCgkJCQkkdGhpcy0+YWRkRmlsZSgkcGF0aCwgJGxvY2FscGF0aCk7DQoJCQl9DQoJCX0NCgkJY2xvc2VkaXIoJGRpcik7DQoJfQ0KDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiB6aXBUcmVlKCRkaXJuYW1lLCAkemlwRmlsZW5hbWUsICRmbGFncyA9IDAsICRsb2NhbG5hbWUgPSAnJykgew0KCQkkemlwID0gbmV3IHNlbGYoKTsNCgkJJHppcC0+b3BlbigkemlwRmlsZW5hbWUsICRmbGFncyk7DQoJCSR6aXAtPmFkZFRyZWUoJGRpcm5hbWUsICRsb2NhbG5hbWUpOw0KCQkkemlwLT5jbG9zZSgpOw0KCX0NCn0NCg0KDQoNCg0KDQpmdW5jdGlvbiBaaXBfMigkc291cmNlLCAkZGVzdGluYXRpb24pDQp7DQoJaWYgKCFleHRlbnNpb25fbG9hZGVkKCd6aXAnKSB8fCAhZmlsZV9leGlzdHMoJHNvdXJjZSkpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCSR6aXAgPSBuZXcgWmlwQXJjaGl2ZSgpOw0KCWlmICghJHppcC0+b3BlbigkZGVzdGluYXRpb24sIFpJUEFSQ0hJVkU6OkNSRUFURSkpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCWlmIChzdHJ0b3VwcGVyKHN1YnN0cihQSFBfT1MsIDAsIDMpKSA9PT0gJ1dJTicpIHsNCgkJREVGSU5FKCdEUycsIERJUkVDVE9SWV9TRVBBUkFUT1IpOyANCgl9IGVsc2Ugew0KCQlERUZJTkUoJ0RTJywgJy8nKTsgDQoJfQ0KDQoNCgkkc291cmNlID0gc3RyX3JlcGxhY2UoJ1xcJywgRFMsIHJlYWxwYXRoKCRzb3VyY2UpKTsNCg0KCWlmIChpc19kaXIoJHNvdXJjZSkgPT09IHRydWUpDQoJew0KCQkkZmlsZXMgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJHNvdXJjZSksIFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3I6OlNFTEZfRklSU1QpOw0KCQllY2hvICRzb3VyY2U7DQoJCWZvcmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkNCgkJew0KCQkJJGZpbGUgPSBzdHJfcmVwbGFjZSgnXFwnLERTLCAkZmlsZSk7DQoJCQkNCgkJCWlmKCBpbl9hcnJheShzdWJzdHIoJGZpbGUsIHN0cnJwb3MoJGZpbGUsIERTKSsxKSwgYXJyYXkoJy4nLCAnLi4nKSkgKQ0KCQkJCWNvbnRpbnVlOw0KDQoJCQkkZmlsZSA9IHJlYWxwYXRoKCRmaWxlKTsNCg0KCQkJaWYgKGlzX2RpcigkZmlsZSkgPT09IHRydWUpDQoJCQl7DQoJCQkJJHppcC0+YWRkRW1wdHlEaXIoc3RyX3JlcGxhY2UoJHNvdXJjZSAuIERTLCAnJywgJGZpbGUgLiBEUykpOw0KCQkJfQ0KCQkJZWxzZSBpZiAoaXNfZmlsZSgkZmlsZSkgPT09IHRydWUpDQoJCQl7DQoJCQkJJHppcC0+YWRkRnJvbVN0cmluZyhzdHJfcmVwbGFjZSgkc291cmNlIC4gRFMsICcnLCAkZmlsZSksIGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSk7DQoJCQl9DQoJCQllY2hvICRzb3VyY2U7DQoJCX0NCgl9DQoJZWxzZSBpZiAoaXNfZmlsZSgkc291cmNlKSA9PT0gdHJ1ZSkNCgl7DQoJCSR6aXAtPmFkZEZyb21TdHJpbmcoYmFzZW5hbWUoJHNvdXJjZSksIGZpbGVfZ2V0X2NvbnRlbnRzKCRzb3VyY2UpKTsNCgl9DQoNCglyZXR1cm4gJHppcC0+Y2xvc2UoKTsNCn0NCg0KDQoNCmZ1bmN0aW9uIFppcF8xKCRzb3VyY2UsICRkZXN0aW5hdGlvbikgew0KCQ0KCWlmICghIGV4dGVuc2lvbl9sb2FkZWQgKCAnemlwJyApIHx8ICEgZmlsZV9leGlzdHMgKCAkc291cmNlICkpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCgkNCgkkemlwID0gbmV3IFppcEFyY2hpdmUgKCApOw0KCWlmICghICR6aXAtPm9wZW4gKCAkZGVzdGluYXRpb24sIFpJUEFSQ0hJVkU6OkNSRUFURSApKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJDQoJJHNvdXJjZSA9IHN0cl9yZXBsYWNlICggJ1xcJywgJy8nLCByZWFscGF0aCAoICRzb3VyY2UgKSApOw0KCQ0KCWlmIChpc19kaXIgKCAkc291cmNlICkgPT09IHRydWUpIHsNCgkJJGZpbGVzID0gbmV3IFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3IgKCBuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IgKCAkc291cmNlICksIFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3I6OlNFTEZfRklSU1QgKTsNCgkJDQoJCWZvcmVhY2ggKCAkZmlsZXMgYXMgJGZpbGUgKSB7DQoJCQkkZmlsZSA9IHN0cl9yZXBsYWNlICggJ1xcJywgJy8nLCAkZmlsZSApOw0KCQkJDQoJCQkNCgkJCWlmIChpbl9hcnJheSAoIHN1YnN0ciAoICRmaWxlLCBzdHJycG9zICggJGZpbGUsICcvJyApICsgMSApLCBhcnJheSAoJy4nLCAnLi4nICkgKSkNCgkJCQljb250aW51ZTsNCgkJCQ0KCQkJDQoJCQkNCgkJCQ0KCQkJaWYgKGlzX2RpciAoICRmaWxlICkgPT09IHRydWUpIHsNCgkJCQkkemlwLT5hZGRFbXB0eURpciAoIHN0cl9yZXBsYWNlICggJHNvdXJjZSAuICcvJywgJycsICRmaWxlIC4gJy8nICkgKTsNCgkJCX0gZWxzZSBpZiAoaXNfZmlsZSAoICRmaWxlICkgPT09IHRydWUpIHsNCgkJCQkkemlwLT5hZGRGcm9tU3RyaW5nICggc3RyX3JlcGxhY2UgKCAkc291cmNlIC4gJy8nLCAnJywgJGZpbGUgKSwgZmlsZV9nZXRfY29udGVudHMgKCAkZmlsZSApICk7DQoJCQl9DQoJCX0NCgl9IGVsc2UgaWYgKGlzX2ZpbGUgKCAkc291cmNlICkgPT09IHRydWUpIHsNCgkJJHppcC0+YWRkRnJvbVN0cmluZyAoIGJhc2VuYW1lICggJHNvdXJjZSApLCBmaWxlX2dldF9jb250ZW50cyAoICRzb3VyY2UgKSApOw0KCX0NCgkNCglyZXR1cm4gJHppcC0+Y2xvc2UgKCk7DQoJDQp9DQoNCj8+')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 0f3b6340d17902ef5874c8cbb432e617 |
Eval Count | 1 |
Decode Time | 62 ms |