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('PD9waHANCg0KDQoNCmlmKCFz..
Decoded Output download
?>b'<?php
if(!session_id()) { session_start(); }
include_once \'../../inc/auth_header.php\';
include_once \'../../config.php\';
include_once \'../../classes/Database.php\';
include_once \'../crypto.php\';
$request = filter_input(INPUT_POST, \'requestMethod\');
$_current = filter_input(INPUT_POST, \'_current\');
include_once \'./connector.php\';
if($request == \'post_createList\'){
$c = getCreds();
if(is_object($c)){
$mysqli = new mysqli($c->host, $c->user, $c->password, $c->database);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error . "<br/>Please switch to the Connection Details tab and enter new connection values.";
return;
}
$prefix = "wp_";
if(isset($c->prefix) && $c->prefix != "")
$prefix = $c->prefix;
$mysqli->set_charset("utf8");
$res = $mysqli->query("SELECT SQL_CALC_FOUND_ROWS {$prefix}posts.ID, {$prefix}posts.post_name, {$prefix}posts.post_title, {$prefix}posts.post_status, {$prefix}posts.post_date
FROM {$prefix}posts
WHERE 1=1 AND {$prefix}posts.post_type = \'post\'
AND ({$prefix}posts.post_status = \'publish\'
OR {$prefix}posts.post_status = \'future\' OR {$prefix}posts.post_status = \'draft\'
OR {$prefix}posts.post_status = \'pending\' OR {$prefix}posts.post_status = \'private\')
ORDER BY {$prefix}posts.post_date DESC LIMIT 0, 30");
if($res == false){
echo "Bad Database";
exit(0);
}
$data = \'<ul>\';
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
$dt = new DateTime($row[\'post_date\']);
$date_pretty = date_format($dt, \'D, M d Y\');
if($row[\'post_title\'] == ""){
$row[\'post_title\'] = "<i>[No Post Title]</i>";
}
$active = \'class=""\';
if($_current == $row[\'ID\']){
$active = \'class="postUpdate_postList_active_post"\';
}
$private = " ";
if($row[\'post_status\'] == "private"){
$private = " - " . \'Private\';
}
$draft = " ";
if($row[\'post_status\'] == "draft"){
$draft = " - " . \'Draft\';
}
if(trim($row[\'post_title\']) == "")
$row[\'post_title\'] = " ";
if(trim($row[\'post_name\']) == "")
$row[\'post_name\'] = " ";
$data .= <<<EOF
<li {$active}>
<div style="clear:both;" onclick="postUpdate.loadPost(event, {$row[\'ID\']})" class="postUpdate_pageTitle">
<div style="width:30%; float:left;"><span class="postUpdate_Title">{$row[\'post_title\']}</span></div>
<div style="width:25%; float:left;"><span class="postUpdate_Name">{$row[\'post_name\']}</span></div>
<div style="width:20%; float:left;"><span class="postUpdate_Status">{$private}{$draft}</span></div>
<div style="width:25%; float:left;"><span class="postUpdate_Date">{$date_pretty}</span></div>
</div>
</li>
EOF;
}
$data .= \'</ul>\';
echo $data;
} else {
echo "Invalid or no credentials saved. Please visit the Connection Details tab to enter your database details.";
}
}
if($request == \'post_loadPost\'){
$c = getCreds();
if(is_object($c)){
$mysqli = new mysqli($c->host, $c->user, $c->password, $c->database);
$prefix = "wp_";
if(isset($c->prefix) && $c->prefix != "")
$prefix = $c->prefix;
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
return;
}
$id = filter_input(INPUT_POST, \'ID\', FILTER_SANITIZE_SPECIAL_CHARS);
$res = $mysqli->query("SELECT {$prefix}posts.ID, {$prefix}posts.post_content, {$prefix}posts.post_date, {$prefix}posts.guid
FROM {$prefix}posts
WHERE {$prefix}posts.ID = ${id}");
$data = \'\';
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
$guid = $row[\'guid\'];
$data = "<textarea id=\"postContent\" name=\"postContent\">{$row[\'post_content\']}</textarea>";
}
$data .= <<<EOF
<div id="postUpdate_postControls">
<input type="button" class="button-light" onClick="postUpdate.createiFramePost()" value="Insert iFrame Code" />
<span class="postUpdate_buttonStep"> > </span>
<input type="button" class="button-light" onClick="postUpdate.updatePost(${id})" value="Update Post" />
<span class="postUpdate_buttonStep"> > </span>
<input type="button" class="button-light" onClick="postUpdate.viewPost(\'{$guid}\')" value="View Post" />
<input type="hidden" value="{$id}" name="pageContent_currentPost" id="pageContent_currentPost" />
</div>
EOF;
echo $data;
} else {
echo "Invalid or no credentials saved. Please visit the Connection Details tab to enter your database details.";
}
}
if($request == \'post_updatePost\'){
$c = getCreds();
if(is_object($c)){
$mysqli = new mysqli($c->host, $c->user, $c->password, $c->database);
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
return;
}
$id = filter_input(INPUT_POST, \'ID\', FILTER_SANITIZE_SPECIAL_CHARS);
$post_content = filter_input(INPUT_POST, \'post_content\', FILTER_SANITIZE_MAGIC_QUOTES);
$date = date_create();
$modified = date_format($date, \'Y-m-d H:i:s\');
$prefix = "wp_";
if(isset($c->prefix) && $c->prefix != "")
$prefix = $c->prefix;
$res = $mysqli->query("UPDATE {$prefix}posts SET post_content = \'{$post_content}\', post_modified_gmt = \'${modified}\'
WHERE {$prefix}posts.ID = ${id}");
if(!$res){
echo $mysqli->error;
} else {
echo \'true\';
}
} else {
echo "Invalid or no credentials saved. Please visit the Connection Details tab to enter your database details.";
}
}
?>'
Did this file decode correctly?
Original Code
<?php /* Copyright (c) Nicsoft LLC */ eval( '?>' . base64_decode('PD9waHANCg0KDQoNCmlmKCFzZXNzaW9uX2lkKCkpIHsgc2Vzc2lvbl9zdGFydCgpOyB9DQoNCmluY2x1ZGVfb25jZSAnLi4vLi4vaW5jL2F1dGhfaGVhZGVyLnBocCc7DQppbmNsdWRlX29uY2UgJy4uLy4uL2NvbmZpZy5waHAnOw0KaW5jbHVkZV9vbmNlICcuLi8uLi9jbGFzc2VzL0RhdGFiYXNlLnBocCc7DQppbmNsdWRlX29uY2UgJy4uL2NyeXB0by5waHAnOw0KDQoNCiRyZXF1ZXN0ID0gZmlsdGVyX2lucHV0KElOUFVUX1BPU1QsICdyZXF1ZXN0TWV0aG9kJyk7DQokX2N1cnJlbnQgPSBmaWx0ZXJfaW5wdXQoSU5QVVRfUE9TVCwgJ19jdXJyZW50Jyk7DQoNCg0KaW5jbHVkZV9vbmNlICcuL2Nvbm5lY3Rvci5waHAnOw0KDQoNCg0KDQoNCg0KDQoNCmlmKCRyZXF1ZXN0ID09ICdwb3N0X2NyZWF0ZUxpc3QnKXsNCgkNCgkkYyA9IGdldENyZWRzKCk7DQogICAgDQogICAgaWYoaXNfb2JqZWN0KCRjKSl7DQogICAgICAgIA0KICAgICAgICAkbXlzcWxpID0gbmV3IG15c3FsaSgkYy0+aG9zdCwgJGMtPnVzZXIsICRjLT5wYXNzd29yZCwgJGMtPmRhdGFiYXNlKTsNCgkNCiAgICAgICAgaWYgKCRteXNxbGktPmNvbm5lY3RfZXJybm8pIHsNCiAgICAgICAgICAgIGVjaG8gIkZhaWxlZCB0byBjb25uZWN0IHRvIE15U1FMOiAoIiAuICRteXNxbGktPmNvbm5lY3RfZXJybm8gLiAiKSAiIC4gJG15c3FsaS0+Y29ubmVjdF9lcnJvciAuICI8YnIvPlBsZWFzZSBzd2l0Y2ggdG8gdGhlIENvbm5lY3Rpb24gRGV0YWlscyB0YWIgYW5kIGVudGVyIG5ldyBjb25uZWN0aW9uIHZhbHVlcy4iOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkcHJlZml4ID0gIndwXyI7DQogICAgICAgIA0KICAgICAgICBpZihpc3NldCgkYy0+cHJlZml4KSAmJiAgJGMtPnByZWZpeCAhPSAiIikNCiAgICAgICAgCSRwcmVmaXggPSAkYy0+cHJlZml4Ow0KDQogICAgICAgICRteXNxbGktPnNldF9jaGFyc2V0KCJ1dGY4Iik7DQoNCiAgICAgICAgJHJlcyA9ICRteXNxbGktPnF1ZXJ5KCJTRUxFQ1QgU1FMX0NBTENfRk9VTkRfUk9XUyB7JHByZWZpeH1wb3N0cy5JRCwgeyRwcmVmaXh9cG9zdHMucG9zdF9uYW1lLCB7JHByZWZpeH1wb3N0cy5wb3N0X3RpdGxlLCB7JHByZWZpeH1wb3N0cy5wb3N0X3N0YXR1cywgeyRwcmVmaXh9cG9zdHMucG9zdF9kYXRlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZST00geyRwcmVmaXh9cG9zdHMgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIDE9MSBBTkQgeyRwcmVmaXh9cG9zdHMucG9zdF90eXBlID0gJ3Bvc3QnIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgKHskcHJlZml4fXBvc3RzLnBvc3Rfc3RhdHVzID0gJ3B1Ymxpc2gnIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUiB7JHByZWZpeH1wb3N0cy5wb3N0X3N0YXR1cyA9ICdmdXR1cmUnIE9SIHskcHJlZml4fXBvc3RzLnBvc3Rfc3RhdHVzID0gJ2RyYWZ0JyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1IgeyRwcmVmaXh9cG9zdHMucG9zdF9zdGF0dXMgPSAncGVuZGluZycgT1IgeyRwcmVmaXh9cG9zdHMucG9zdF9zdGF0dXMgPSAncHJpdmF0ZScpIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUkRFUiBCWSB7JHByZWZpeH1wb3N0cy5wb3N0X2RhdGUgREVTQyBMSU1JVCAwLCAzMCIpOw0KDQogICAgICAgIA0KDQogICAgICAgIGlmKCRyZXMgPT0gZmFsc2Upew0KICAgICAgICAgICAgZWNobyAiQmFkIERhdGFiYXNlIjsNCiAgICAgICAgICAgIGV4aXQoMCk7DQogICAgICAgIH0NCg0KICAgICAgICAkZGF0YSA9ICc8dWw+JzsNCg0KICAgICAgICAkcmVzLT5kYXRhX3NlZWsoMCk7DQoNCg0KICAgICAgICB3aGlsZSAoJHJvdyA9ICRyZXMtPmZldGNoX2Fzc29jKCkpIHsNCiAgICAgICAgICAgICRkdCA9IG5ldyBEYXRlVGltZSgkcm93Wydwb3N0X2RhdGUnXSk7DQogICAgICAgICAgICAkZGF0ZV9wcmV0dHkgPSBkYXRlX2Zvcm1hdCgkZHQsICdELCBNIGQgWScpOw0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmKCRyb3dbJ3Bvc3RfdGl0bGUnXSA9PSAiIil7DQogICAgICAgICAgICAgICAgJHJvd1sncG9zdF90aXRsZSddID0gIjxpPltObyBQb3N0IFRpdGxlXTwvaT4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgDQogICAgICAgICAgICAkYWN0aXZlID0gJ2NsYXNzPSIiJzsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYoJF9jdXJyZW50ID09ICRyb3dbJ0lEJ10pew0KICAgICAgICAgICAgICAgICRhY3RpdmUgPSAnY2xhc3M9InBvc3RVcGRhdGVfcG9zdExpc3RfYWN0aXZlX3Bvc3QiJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgICRwcml2YXRlID0gIiZuYnNwOyI7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmKCRyb3dbJ3Bvc3Rfc3RhdHVzJ10gPT0gInByaXZhdGUiKXsNCiAgICAgICAgICAgICAgICAkcHJpdmF0ZSA9ICIgLSAiIC4gJ1ByaXZhdGUnOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICAkZHJhZnQgPSAiJm5ic3A7IjsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYoJHJvd1sncG9zdF9zdGF0dXMnXSA9PSAiZHJhZnQiKXsNCiAgICAgICAgICAgICAgICAkZHJhZnQgPSAiIC0gIiAuICdEcmFmdCc7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYodHJpbSgkcm93Wydwb3N0X3RpdGxlJ10pID09ICIiKQ0KICAgICAgICAgICAgICAgICRyb3dbJ3Bvc3RfdGl0bGUnXSA9ICImbmJzcDsiOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZih0cmltKCRyb3dbJ3Bvc3RfbmFtZSddKSA9PSAiIikNCiAgICAgICAgICAgICAgICAkcm93Wydwb3N0X25hbWUnXSA9ICImbmJzcDsiOw0KICAgICAgICAgICAgDQogICAgDQogICAgICAgICAgICAkZGF0YSAuPSA8PDxFT0YNCjxsaSB7JGFjdGl2ZX0+DQogICAgPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDsiIG9uY2xpY2s9InBvc3RVcGRhdGUubG9hZFBvc3QoZXZlbnQsIHskcm93WydJRCddfSkiIGNsYXNzPSJwb3N0VXBkYXRlX3BhZ2VUaXRsZSI+DQogICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjMwJTsgZmxvYXQ6bGVmdDsiPjxzcGFuIGNsYXNzPSJwb3N0VXBkYXRlX1RpdGxlIj57JHJvd1sncG9zdF90aXRsZSddfTwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6MjUlOyBmbG9hdDpsZWZ0OyI+PHNwYW4gY2xhc3M9InBvc3RVcGRhdGVfTmFtZSI+eyRyb3dbJ3Bvc3RfbmFtZSddfTwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6MjAlOyBmbG9hdDpsZWZ0OyI+PHNwYW4gY2xhc3M9InBvc3RVcGRhdGVfU3RhdHVzIj57JHByaXZhdGV9eyRkcmFmdH08L3NwYW4+PC9kaXY+DQogICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjI1JTsgZmxvYXQ6bGVmdDsiPjxzcGFuIGNsYXNzPSJwb3N0VXBkYXRlX0RhdGUiPnskZGF0ZV9wcmV0dHl9PC9zcGFuPjwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9saT4gICAgICAgICAgICAgICAgICAgDQpFT0Y7DQogICAgDQogICAgDQogICAgICAgIH0NCg0KDQogICAgICAgICRkYXRhIC49ICc8L3VsPic7DQoNCiAgICAgICAgZWNobyAkZGF0YTsNCiAgICAgICAgDQogICAgfSBlbHNlIHsNCiAgICAgICAgDQogICAgICAgIGVjaG8gIkludmFsaWQgb3Igbm8gY3JlZGVudGlhbHMgc2F2ZWQuIFBsZWFzZSB2aXNpdCB0aGUgQ29ubmVjdGlvbiBEZXRhaWxzIHRhYiB0byBlbnRlciB5b3VyIGRhdGFiYXNlIGRldGFpbHMuIjsNCiAgICAgICAgDQogICAgfQ0KCQ0KfQ0KDQoNCg0KaWYoJHJlcXVlc3QgPT0gJ3Bvc3RfbG9hZFBvc3QnKXsNCgkNCgkkYyA9IGdldENyZWRzKCk7DQogICAgDQogICAgaWYoaXNfb2JqZWN0KCRjKSl7DQogICAgICAgIA0KICAgICAgICAkbXlzcWxpID0gbmV3IG15c3FsaSgkYy0+aG9zdCwgJGMtPnVzZXIsICRjLT5wYXNzd29yZCwgJGMtPmRhdGFiYXNlKTsNCiAgICAgICAgDQogICAgICAgICRwcmVmaXggPSAid3BfIjsNCiAgICAgICAgDQogICAgICAgIGlmKGlzc2V0KCRjLT5wcmVmaXgpICYmICAkYy0+cHJlZml4ICE9ICIiKQ0KICAgICAgICAJJHByZWZpeCA9ICRjLT5wcmVmaXg7DQoJDQogICAgICAgICRteXNxbGktPnNldF9jaGFyc2V0KCJ1dGY4Iik7DQoNCiAgICAgICAgaWYgKCRteXNxbGktPmNvbm5lY3RfZXJybm8pIHsNCiAgICAgICAgICAgIGVjaG8gIkZhaWxlZCB0byBjb25uZWN0IHRvIE15U1FMOiAoIiAuICRteXNxbGktPmNvbm5lY3RfZXJybm8gLiAiKSAiIC4gJG15c3FsaS0+Y29ubmVjdF9lcnJvcjsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICRpZCA9IGZpbHRlcl9pbnB1dChJTlBVVF9QT1NULCAnSUQnLCBGSUxURVJfU0FOSVRJWkVfU1BFQ0lBTF9DSEFSUyk7DQoNCiAgICAgICAgJHJlcyA9ICRteXNxbGktPnF1ZXJ5KCJTRUxFQ1QgeyRwcmVmaXh9cG9zdHMuSUQsIHskcHJlZml4fXBvc3RzLnBvc3RfY29udGVudCwgeyRwcmVmaXh9cG9zdHMucG9zdF9kYXRlLCB7JHByZWZpeH1wb3N0cy5ndWlkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZST00geyRwcmVmaXh9cG9zdHMgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHskcHJlZml4fXBvc3RzLklEID0gJHtpZH0iKTsNCg0KICAgICAgICANCiAgICAgICAgJGRhdGEgPSAnJzsNCg0KICAgICAgICAkcmVzLT5kYXRhX3NlZWsoMCk7DQogICAgICAgIHdoaWxlICgkcm93ID0gJHJlcy0+ZmV0Y2hfYXNzb2MoKSkgew0KICAgICAgICAgICAgJGd1aWQgPSAkcm93WydndWlkJ107DQogICAgICAgICAgICAkZGF0YSA9ICI8dGV4dGFyZWEgaWQ9XCJwb3N0Q29udGVudFwiIG5hbWU9XCJwb3N0Q29udGVudFwiPnskcm93Wydwb3N0X2NvbnRlbnQnXX08L3RleHRhcmVhPiI7DQogICAgICAgIH0NCg0KICAgICAgICANCiAgICAgICAgJGRhdGEgLj0gPDw8RU9GDQo8ZGl2IGlkPSJwb3N0VXBkYXRlX3Bvc3RDb250cm9scyI+DQogICAgPGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ1dHRvbi1saWdodCIgb25DbGljaz0icG9zdFVwZGF0ZS5jcmVhdGVpRnJhbWVQb3N0KCkiIHZhbHVlPSJJbnNlcnQgaUZyYW1lIENvZGUiIC8+DQogICAgPHNwYW4gY2xhc3M9InBvc3RVcGRhdGVfYnV0dG9uU3RlcCI+Jm5ic3A7Jmd0OyZuYnNwOzwvc3Bhbj4NCiAgICA8aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnV0dG9uLWxpZ2h0IiBvbkNsaWNrPSJwb3N0VXBkYXRlLnVwZGF0ZVBvc3QoJHtpZH0pIiB2YWx1ZT0iVXBkYXRlIFBvc3QiIC8+DQogICAgPHNwYW4gY2xhc3M9InBvc3RVcGRhdGVfYnV0dG9uU3RlcCI+Jm5ic3A7Jmd0OyZuYnNwOzwvc3Bhbj4NCiAgICA8aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnV0dG9uLWxpZ2h0IiBvbkNsaWNrPSJwb3N0VXBkYXRlLnZpZXdQb3N0KCd7JGd1aWR9JykiIHZhbHVlPSJWaWV3IFBvc3QiIC8+DQogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgdmFsdWU9InskaWR9IiBuYW1lPSJwYWdlQ29udGVudF9jdXJyZW50UG9zdCIgaWQ9InBhZ2VDb250ZW50X2N1cnJlbnRQb3N0IiAvPg0KPC9kaXY+DQoNCkVPRjsNCg0KICAgICAgICBlY2hvICRkYXRhOw0KICAgICAgICANCiAgICB9IGVsc2Ugew0KICAgICAgICANCiAgICAgICAgZWNobyAiSW52YWxpZCBvciBubyBjcmVkZW50aWFscyBzYXZlZC4gUGxlYXNlIHZpc2l0IHRoZSBDb25uZWN0aW9uIERldGFpbHMgdGFiIHRvIGVudGVyIHlvdXIgZGF0YWJhc2UgZGV0YWlscy4iOw0KICAgICAgICANCiAgICB9DQoJDQp9DQoNCg0KaWYoJHJlcXVlc3QgPT0gJ3Bvc3RfdXBkYXRlUG9zdCcpew0KCQ0KCSRjID0gZ2V0Q3JlZHMoKTsNCiAgICANCiAgICBpZihpc19vYmplY3QoJGMpKXsNCiAgICAgICAgDQogICAgICAgICRteXNxbGkgPSBuZXcgbXlzcWxpKCRjLT5ob3N0LCAkYy0+dXNlciwgJGMtPnBhc3N3b3JkLCAkYy0+ZGF0YWJhc2UpOw0KCQ0KICAgICAgICAkbXlzcWxpLT5zZXRfY2hhcnNldCgidXRmOCIpOw0KDQogICAgICAgIGlmICgkbXlzcWxpLT5jb25uZWN0X2Vycm5vKSB7DQogICAgICAgICAgICBlY2hvICJGYWlsZWQgdG8gY29ubmVjdCB0byBNeVNRTDogKCIgLiAkbXlzcWxpLT5jb25uZWN0X2Vycm5vIC4gIikgIiAuICRteXNxbGktPmNvbm5lY3RfZXJyb3I7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAkaWQgPSBmaWx0ZXJfaW5wdXQoSU5QVVRfUE9TVCwgJ0lEJywgRklMVEVSX1NBTklUSVpFX1NQRUNJQUxfQ0hBUlMpOw0KICAgICAgICAkcG9zdF9jb250ZW50ID0gZmlsdGVyX2lucHV0KElOUFVUX1BPU1QsICdwb3N0X2NvbnRlbnQnLCBGSUxURVJfU0FOSVRJWkVfTUFHSUNfUVVPVEVTKTsNCg0KICAgICAgICAkZGF0ZSA9IGRhdGVfY3JlYXRlKCk7DQogICAgICAgICRtb2RpZmllZCA9IGRhdGVfZm9ybWF0KCRkYXRlLCAnWS1tLWQgSDppOnMnKTsNCiAgICAgICAgDQogICAgICAgICRwcmVmaXggPSAid3BfIjsNCiAgICAgICAgDQogICAgICAgIGlmKGlzc2V0KCRjLT5wcmVmaXgpICYmICAkYy0+cHJlZml4ICE9ICIiKQ0KICAgICAgICAJJHByZWZpeCA9ICRjLT5wcmVmaXg7DQoNCiAgICAgICAgJHJlcyA9ICRteXNxbGktPnF1ZXJ5KCJVUERBVEUgeyRwcmVmaXh9cG9zdHMgU0VUIHBvc3RfY29udGVudCA9ICd7JHBvc3RfY29udGVudH0nLCBwb3N0X21vZGlmaWVkX2dtdCA9ICcke21vZGlmaWVkfScNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgeyRwcmVmaXh9cG9zdHMuSUQgPSAke2lkfSIpOw0KDQogICAgICAgIGlmKCEkcmVzKXsNCiAgICAgICAgICAgIGVjaG8gICRteXNxbGktPmVycm9yOwkNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGVjaG8gJ3RydWUnOwkNCiAgICAgICAgfQ0KICAgICAgICANCiAgICB9IGVsc2Ugew0KICAgICAgICANCiAgICAgICAgZWNobyAiSW52YWxpZCBvciBubyBjcmVkZW50aWFscyBzYXZlZC4gUGxlYXNlIHZpc2l0IHRoZSBDb25uZWN0aW9uIERldGFpbHMgdGFiIHRvIGVudGVyIHlvdXIgZGF0YWJhc2UgZGV0YWlscy4iOw0KICAgICAgICANCiAgICB9DQp9DQoNCj8+')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | dbe0712650c46b2b5f2df67e27ad8494 |
Eval Count | 1 |
Decode Time | 57 ms |