Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval(base64_decode("LyogVGhpcyBmaWxlIGlzIENvcHlyaWdodCBBbHRvTGFicyAyMDE2LiAqLwoKY2xhc3MgQW..
Decoded Output download
/* This file is Copyright AltoLabs 2016. */
class AltoLabs_Snappic_Model_Connect extends Mage_Core_Model_Abstract {
protected $_sendable;
public function notifySnappicApi($topic) {
$helper = $this->getHelper();
Mage::log('Snappic: notifySnappicApi ' . $helper->getApiHost() . '/magento/webhooks', null, 'snappic.log');
$client = new Zend_Http_Client($helper->getApiHost() . '/magento/webhooks');
$client->setMethod(Zend_Http_Client::POST);
$sendable = $this->seal($this->getSendable());
$client->setRawData($sendable);
$headers = array(
'Content-type' => 'application/json',
'X-Magento-Shop-Domain' => $helper->getDomain(),
'X-Magento-Topic' => $topic,
'X-Magento-Webhook-Signature' => $this->signPayload($sendable),
);
$client->setHeaders($headers);
try {
$response = $client->request();
if (!$response->isSuccessful()) {
return false;
}
} catch (Exception $e) {
return false;
}
return true;
}
public function getSnappicStore() {
Mage::log('Snappic: getSnappicStore', null, 'snappic.log');
if ($this->get('snappicStore')) {
return $this->get('snappicStore');
}
$helper = $this->getHelper();
$domain = $helper->getDomain();
$client = new Zend_Http_Client($helper->getApiHost() . '/stores/current?domain=' . $domain);
$client->setMethod(Zend_Http_Client::GET);
try {
$body = $client->request()->getBody();
$snappicStore = Mage::helper('core')->jsonDecode($body, Zend_Json::TYPE_OBJECT);
$this->setData('snappicStore', $snappicStore);
return $snappicStore;
} catch (Exception $e) {
return null;
}
}
public function getFacebookId() {
$helper = $this->getHelper();
$configPath = $helper->getConfigPath('facebook/pixel_id');
$facebookId = Mage::getStoreConfig($configPath);
if (empty($facebookId)) {
Mage::log('Trying to fetch Facebook ID from Snappic API...', null, 'snappic.log');
$facebookId = $this->getSnappicStore()->facebook_pixel_id;
if (!empty($facebookId)) {
Mage::log('Got facebook ID from API: ' . $facebookId, null, 'snappic.log');
Mage::app()->getConfig()->saveConfig($configPath, $facebookId);
}
}
return $facebookId;
}
public function setSendable($sendable) {
$this->_sendable = $sendable;
return $this;
}
public function getSendable() {
return $this->_sendable;
}
protected function seal($input) {
return Mage::helper('core')->jsonEncode(array('data' => $input));
}
protected function signPayload($data) {
return md5($this->getHelper()->getSecret() . $data);
}
protected function getHelper() {
return Mage::helper('altolabs_snappic');
}
}
Did this file decode correctly?
Original Code
eval(base64_decode("LyogVGhpcyBmaWxlIGlzIENvcHlyaWdodCBBbHRvTGFicyAyMDE2LiAqLwoKY2xhc3MgQWx0b0xhYnNfU25hcHBpY19Nb2RlbF9Db25uZWN0IGV4dGVuZHMgTWFnZV9Db3JlX01vZGVsX0Fic3RyYWN0IHsKICBwcm90ZWN0ZWQgJF9zZW5kYWJsZTsKCiAgcHVibGljIGZ1bmN0aW9uIG5vdGlmeVNuYXBwaWNBcGkoJHRvcGljKSB7CiAgICAkaGVscGVyID0gJHRoaXMtPmdldEhlbHBlcigpOwogICAgTWFnZTo6bG9nKCdTbmFwcGljOiBub3RpZnlTbmFwcGljQXBpICcgLiAkaGVscGVyLT5nZXRBcGlIb3N0KCkgLiAnL21hZ2VudG8vd2ViaG9va3MnLCBudWxsLCAnc25hcHBpYy5sb2cnKTsKICAgICRjbGllbnQgPSBuZXcgWmVuZF9IdHRwX0NsaWVudCgkaGVscGVyLT5nZXRBcGlIb3N0KCkgLiAnL21hZ2VudG8vd2ViaG9va3MnKTsKICAgICRjbGllbnQtPnNldE1ldGhvZChaZW5kX0h0dHBfQ2xpZW50OjpQT1NUKTsKICAgICRzZW5kYWJsZSA9ICR0aGlzLT5zZWFsKCR0aGlzLT5nZXRTZW5kYWJsZSgpKTsKICAgICRjbGllbnQtPnNldFJhd0RhdGEoJHNlbmRhYmxlKTsKICAgICRoZWFkZXJzID0gYXJyYXkoCiAgICAgICdDb250ZW50LXR5cGUnICAgICAgICAgICAgICAgID0+ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgJ1gtTWFnZW50by1TaG9wLURvbWFpbicgICAgICAgPT4gJGhlbHBlci0+Z2V0RG9tYWluKCksCiAgICAgICdYLU1hZ2VudG8tVG9waWMnICAgICAgICAgICAgID0+ICR0b3BpYywKICAgICAgJ1gtTWFnZW50by1XZWJob29rLVNpZ25hdHVyZScgPT4gJHRoaXMtPnNpZ25QYXlsb2FkKCRzZW5kYWJsZSksCiAgICApOwogICAgJGNsaWVudC0+c2V0SGVhZGVycygkaGVhZGVycyk7CgogICAgdHJ5IHsKICAgICAgJHJlc3BvbnNlID0gJGNsaWVudC0+cmVxdWVzdCgpOwogICAgICBpZiAoISRyZXNwb25zZS0+aXNTdWNjZXNzZnVsKCkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldFNuYXBwaWNTdG9yZSgpIHsKICAgIE1hZ2U6OmxvZygnU25hcHBpYzogZ2V0U25hcHBpY1N0b3JlJywgbnVsbCwgJ3NuYXBwaWMubG9nJyk7CiAgICBpZiAoJHRoaXMtPmdldCgnc25hcHBpY1N0b3JlJykpIHsKICAgICAgcmV0dXJuICR0aGlzLT5nZXQoJ3NuYXBwaWNTdG9yZScpOwogICAgfQogICAgJGhlbHBlciA9ICR0aGlzLT5nZXRIZWxwZXIoKTsKICAgICRkb21haW4gPSAkaGVscGVyLT5nZXREb21haW4oKTsKICAgICRjbGllbnQgPSBuZXcgWmVuZF9IdHRwX0NsaWVudCgkaGVscGVyLT5nZXRBcGlIb3N0KCkgLiAnL3N0b3Jlcy9jdXJyZW50P2RvbWFpbj0nIC4gJGRvbWFpbik7CiAgICAkY2xpZW50LT5zZXRNZXRob2QoWmVuZF9IdHRwX0NsaWVudDo6R0VUKTsKICAgIHRyeSB7CiAgICAgICRib2R5ID0gJGNsaWVudC0+cmVxdWVzdCgpLT5nZXRCb2R5KCk7CiAgICAgICRzbmFwcGljU3RvcmUgPSBNYWdlOjpoZWxwZXIoJ2NvcmUnKS0+anNvbkRlY29kZSgkYm9keSwgWmVuZF9Kc29uOjpUWVBFX09CSkVDVCk7CiAgICAgICR0aGlzLT5zZXREYXRhKCdzbmFwcGljU3RvcmUnLCAkc25hcHBpY1N0b3JlKTsKICAgICAgcmV0dXJuICRzbmFwcGljU3RvcmU7CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0RmFjZWJvb2tJZCgpIHsKICAgICRoZWxwZXIgPSAkdGhpcy0+Z2V0SGVscGVyKCk7CiAgICAkY29uZmlnUGF0aCA9ICRoZWxwZXItPmdldENvbmZpZ1BhdGgoJ2ZhY2Vib29rL3BpeGVsX2lkJyk7CiAgICAkZmFjZWJvb2tJZCA9IE1hZ2U6OmdldFN0b3JlQ29uZmlnKCRjb25maWdQYXRoKTsKICAgIGlmIChlbXB0eSgkZmFjZWJvb2tJZCkpIHsKICAgICAgTWFnZTo6bG9nKCdUcnlpbmcgdG8gZmV0Y2ggRmFjZWJvb2sgSUQgZnJvbSBTbmFwcGljIEFQSS4uLicsIG51bGwsICdzbmFwcGljLmxvZycpOwogICAgICAkZmFjZWJvb2tJZCA9ICR0aGlzLT5nZXRTbmFwcGljU3RvcmUoKS0+ZmFjZWJvb2tfcGl4ZWxfaWQ7CiAgICAgIGlmICghZW1wdHkoJGZhY2Vib29rSWQpKSB7CiAgICAgICAgTWFnZTo6bG9nKCdHb3QgZmFjZWJvb2sgSUQgZnJvbSBBUEk6ICcgLiAkZmFjZWJvb2tJZCwgbnVsbCwgJ3NuYXBwaWMubG9nJyk7CiAgICAgICAgTWFnZTo6YXBwKCktPmdldENvbmZpZygpLT5zYXZlQ29uZmlnKCRjb25maWdQYXRoLCAkZmFjZWJvb2tJZCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAkZmFjZWJvb2tJZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRTZW5kYWJsZSgkc2VuZGFibGUpIHsKICAgICR0aGlzLT5fc2VuZGFibGUgPSAkc2VuZGFibGU7CiAgICByZXR1cm4gJHRoaXM7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VuZGFibGUoKSB7CiAgICByZXR1cm4gJHRoaXMtPl9zZW5kYWJsZTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBzZWFsKCRpbnB1dCkgewogICAgcmV0dXJuIE1hZ2U6OmhlbHBlcignY29yZScpLT5qc29uRW5jb2RlKGFycmF5KCdkYXRhJyA9PiAkaW5wdXQpKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBzaWduUGF5bG9hZCgkZGF0YSkgewogICAgcmV0dXJuIG1kNSgkdGhpcy0+Z2V0SGVscGVyKCktPmdldFNlY3JldCgpIC4gJGRhdGEpOwogIH0KCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldEhlbHBlcigpIHsKICAgIHJldHVybiBNYWdlOjpoZWxwZXIoJ2FsdG9sYWJzX3NuYXBwaWMnKTsKICB9Cn0K"));
Function Calls
| base64_decode | 1 |
Stats
| MD5 | 812045f6c040727eb4f8b51db9eef25d |
| Eval Count | 1 |
| Decode Time | 97 ms |