Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
$j878723423f5c3ba26da="\x62\141\x73\145\x36\64\x5f\144\x65\143\x6f\144\x65";$kdd9391e7490=..
Decoded Output download
eval('
/**
* Updata - c .
* -
*
* @package moguta.cms
* @subpackage Libraries
*/
class Updata {
// C .
private static $_updataServer = UPDATE_SERVER;
/**
* .
* $noerror -
* @return bool|array $result .
*/
public static function checkUpdata($noCache = false, $noerror = false) {
$timeLastUpdata = MG::getSetting(\'timeLastUpdata\');
if (time() < $timeLastUpdata + 6 * 60 * 24 && !$noCache) { // 2 .
$resp = MG::getSetting(\'currentVersion\');
$data = json_decode($resp, true);
} else {
$count = \'\';
$summ = \'\';
if (MG::getSetting(\'consentData\')==\'true\') {
$row = DB::query(\'SELECT COUNT(`id`) as `count` FROM `\'.PREFIX.\'product`\');
$res = DB::fetchArray($row);
$count = $res[\'count\'] ? $res[\'count\'] : 0;
$row2 = DB::query(\'SELECT SUM( `summ` ) AS `summ` FROM `\'.PREFIX.\'order`
WHERE `status_id` =2 OR `status_id` =5\');
$res2 = DB::fetchArray($row2);
$summ = $res2[\'summ\'] ? $res2[\'summ\'] : 0;
}
$checkInstall = !empty($_COOKIE[\'installerMoguta\']) ? $_COOKIE[\'installerMoguta\']: \'\';
$fullVersion = self::checkVersion() ? \'true\' : \'false\';
$post = \'version=\'.VER.
\'&sName=\'.$_SERVER[\'SERVER_NAME\'].
\'&sIP=\'.(($_SERVER[\'SERVER_ADDR\'] == "::1") ? \'127.0.0.1\' : $_SERVER[\'SERVER_ADDR\']).
\'&sKey=\'.MG::getSetting(\'licenceKey\').
\'&sSiteName=\'.MG::getSetting(\'sitename\').
\'&sAdmin=\'.MG::getSetting(\'adminEmail\').
\'&timeStartEngine=\'.MG::getSetting(\'timeStartEngine\').
\'&timeFirstUpdate=\'.MG::getSetting(\'timeFirstUpdate\').
\'&sPhone=\'.MG::getSetting(\'shopPhone\').
\'&sAddress=\'.MG::getSetting(\'shopAddress\').
\'&catalog=\'.$count.
\'&orders=\'.$summ.
\'&installer=\'.$checkInstall.
\'&fullVersion=\'.$fullVersion;
$resp = self::sendCurl(self::$_updataServer.\'/updataserver\', $post);
if (stristr($resp,\'error:\')!==FALSE){
$res = explode(\'error:\', $resp);
} else {
$res = array($resp, \'false\');
}
$data = json_decode($res[0], true);
DB::query("
UPDATE `".PREFIX."setting`
SET `value`=".DB::quote($res[0])."
WHERE `option`=\'currentVersion\'
");
DB::query("
UPDATE `".PREFIX."setting`
SET `value`=".DB::quote(time())."
WHERE `option`=\'timeLastUpdata\'
");
PM::checkPluginsUpdate();
if (($res[1]!=\'false\')) {
$disabled = json_decode($res[1], true);
if ($disabled[\'status\']== \'error\'&&$disabled[\'remove\']==\'1\') {
//unlink(\'config.ini\');
if (!MG::getSetting(\'trialVersionStart\')) {
DB::query(\'INSERT INTO `\'.PREFIX.\'setting` (`id`, `option`, `value`, `active`, `name`) VALUES (NULL, "trialVersionStart", "true", "N", "")\');
}
}
$result[\'fakeKey\'] = $disabled[\'msg\'];
if (!MG::getSetting(\'trialVersion\')) {
$sql = \'INSERT INTO `\'.PREFIX.\'setting` (`id`, `option`, `value`, `active`, `name`) VALUES (NULL, "trialVersion",\'.DB::quote($disabled[\'msg\']).\', "N", "")\';
DB::query($sql);
} else {
DB::query(\'UPDATE `\'.PREFIX.\'setting` SET `value` = \'.DB::quote($disabled[\'msg\']).\' WHERE `option`= "trialVersion"\');
}
} else {
if (MG::getSetting(\'trialVersionStart\')!=\'true1\') {
DB::query(\'DELETE FROM `\'.PREFIX.\'setting` WHERE `option`= "trialVersion"\');
}
DB::query(\'DELETE FROM `\'.PREFIX.\'setting` WHERE `option`= "trialVersionStart"\');
}
}
// curl false, .
if (!$resp && !$noerror) {
echo "<div style=\'color:red; margin:10px;\'> CURL , !</div>";
}
if (!empty($data[\'dateActivateKey\'])) {
MG::setOption(array(\'option\' => \'dateActivateKey \', \'value\' => $data[\'dateActivateKey\']));
}
if ($data[\'last\']) {
$result[\'msg\'] = \'
<ul class="system-version-list">
<li> <b> : </b><span id="lVer">\'.$data[\'last\'].\'</span></li>
<li> <b> : </b><span id="fVer">\'.$data[\'final\'].\'</span></li>
<li> <b>: </b>\'.$data[\'disc\'].\'</li>
</ul>\';
$result[\'lastVersion\'] = $data[\'last\'];
$args = func_get_args();
return MG::createHook(__CLASS__."_".__FUNCTION__, $result, $args);
}
$args = func_get_args();
return MG::createHook(__CLASS__."_".__FUNCTION__, false, $args);
}
/**
* .
* @param string $version -
* @return bool
*/
public static function updataSystem($sysFold, $version) {
$file = $version.\'-m.zip\';
if (!file_exists(SITE_DIR.$file)) {
$ch = curl_init(self::$_updataServer.\'/updata/history/\'.$sysFold.\'/\'.$version.\'.zip\');
$fp = fopen($file, "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
}
$args = func_get_args();
$return = false;
if (file_exists($file)) {
$return = true;
}
if(!filesize($file)){
$return = false;
unlink($file);
}
$zip = new ZipArchive;
$res = $zip->open($file, ZIPARCHIVE::CREATE);
if ($res !== TRUE) {
$return = false;
unlink($file);
}
return MG::createHook(__CLASS__."_".__FUNCTION__, $file, $args);
}
/**
* , .
* .
*
* @param $file - ,
* @return bool
*/
public static function extractZip($file) {
if (file_exists($file)) {
$zip = new ZipArchive;
$res = $zip->open($file, ZIPARCHIVE::CREATE);
if ($res === TRUE) {
$realDocumentRoot = str_replace(DIRECTORY_SEPARATOR.\'mg-core\'.DIRECTORY_SEPARATOR.\'lib\', \'\', dirname(__FILE__));
$zip->extractTo($realDocumentRoot);
$zip->close();
unlink($file);
// , .
self::updataSubInfo(\'modificatoryInc.php\');
MG::setOption(\'timeLastUpdata\', 0);
return true;
} else {
return false;
}
}
return false;
}
/**
* , .
*
* @param string $url .
* @param string $post POST .
* @return string .
*/
private static function sendCurl($url, $post) {
// curl.
$ch = curl_init();
// URL .
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// true CURL .
curl_setopt($ch, CURLOPT_HEADER, false);
// :
// false ,
// true curl_exec.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// , POST .
curl_setopt($ch, CURLOPT_POST, true);
// .
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
// .
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
// .
$res = curl_exec($ch);
// return array();
// .
curl_close($ch);
$args = func_get_args();
return MG::createHook(__CLASS__."_".__FUNCTION__, $res, $args);
}
/**
* MySQL .
* .
* $sqlQuery $deleteArray,
* .
*
* @param string $modificatoryFile .
* @return boolean
*/
private static function updataSubInfo($modificatoryFile) {
if (!file_exists($modificatoryFile)) {
return false;
}
require_once $modificatoryFile;
if (is_array($sqlQuery)) {
foreach ($sqlQuery as $sql) {
DB::query($sql);
}
}
if (is_array($deleteArray)) {
foreach ($deleteArray as $deletedfile) {
if (file_exists($deletedfile)) {
unlink($deletedfile);
}
}
}
unlink($modificatoryFile);
return true;
}
public static function preDownload($version) {
$post = \'step=1\'.
\'&sName=\'.$_SERVER[\'SERVER_NAME\'].
\'&sIP=\'.(($_SERVER[\'SERVER_ADDR\'] == "::1") ? \'127.0.0.1\' : $_SERVER[\'SERVER_ADDR\']).
\'&sKey=\'.MG::getOption(\'licenceKey\').
\'&ver=\'.$version;
$res = self::sendCurl(self::$_updataServer.\'/updataserver\', $post);
try {
$data = json_decode($res, true);
} catch (Exception $exc) {
$data[\'msg\'] = $exc;
$data[\'status\'] = \'error\';
}
MG::setOption(array(\'option\' => \'dateActivateKey \', \'value\' => $data[\'dateActivateKey\']));
if (\'succes\' == $data[\'status\']) {
$file = self::updataSystem($data[\'msg\'], $version);
if (!file_exists($file)) {
$data[\'msg\'] = \' !\';
$data[\'status\'] = \'error\';
}
}
return $data;
}
public function checkVersion(){
$res = class_exists(\'Controllers_Compare\')||class_exists(\'Controllers_Group\') ? \'true\' : \'false\';
if ($res!=\'true\') {
$dbRes[] = DB::query(\'SHOW COLUMNS FROM `\'.PREFIX.\'product` WHERE FIELD = "system_set"\');
if($row = DB::fetchArray($dbRes)){
return true;
}
$dbRes = DB::query(\'SHOW COLUMNS FROM `\'.PREFIX.\'order` WHERE FIELD = "orders_set"\');
if($row = DB::fetchArray($dbRes)){
return true;
}
}
if ($res!=\'true\') {
$pa = new Controllers_Payment();
if (method_exists($pa, \'webmoney\')||method_exists($pa, \'yandexKassa\')||method_exists($pa, \'qiwi\')) {
return true;
}
}
$filter = new Filter(array());
if ($filter->getHtmlPropertyFilter() != \'\') {
return true;
}
return false;
}
}');
Did this file decode correctly?
Original Code
$j878723423f5c3ba26da="\x62\141\x73\145\x36\64\x5f\144\x65\143\x6f\144\x65";$kdd9391e7490="\x73\164\x72\137\x72\157\x74\61\x33";@eval($j878723423f5c3ba26da($kdd9391e7490("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")));
Function Calls
str_rot13 | 2 |
base64_decode | 2 |
Stats
MD5 | a705bdbaf814ea7247ac2c674c74dd5e |
Eval Count | 2 |
Decode Time | 115 ms |