First of all I want to say that this is an ugly way of doing things. Most probably the ugliest. If you didn't want to add the company name in here I will. It's interiorwebdesign.com. Most probably the things sent to their server are the magento version, the extension version and the url of your website. You can check for sure by doing base64_decode
on the value of the sdata
parameter sent to them. I don't know what the answer should be if your licence is correct, but in case there is an error this is the response:
checkout.o_p_c_l_s = '2';
deljsphp();
Look in the code for a function called deljsphp
. I think that disables your checkout.
[EDIT]
Because I get mad when I see these types of extensions I decided to waste some time for investigating.
Here is what I found.
The result of the request should be a link to a js file or some js code on their server. After decoding the js file from the extension I found this function:
start: function () {
this.s_code = $('opc_s_data').value;
$('opc_s_data').remove();
if (this.s_code == '') {
this.opcdis();
return false
}
addjsphp(this.s_code);
this.getActionResults(0)
},
so if the code 'license' is valid some js is added to the DOM through addjsphp
that looks like this:
function addjsphp(u) {
var me = document.createElement('div');
me.setAttribute('id', 'opcstataj');
var p = 'html';
var th1 = document.getElementsByTagName(p)[0];
th1.appendChild(me);
var th = document.getElementById('opcstataj');
var s = document.createElement('script');
s.setAttribute('language', 'javascript');
s.setAttribute('type', 'text/javascript');
s.setAttribute('src', u);
th.appendChild(s)
}
I don't know (yet) how the js from their server should look like, but here is what you can try. Not sure if it works. Edit the js file skin\frontend\base\default\js\onepagecheckout.pack.js
and at the end of the file add this:
function deljsphp(){
return 1;
}
This should override the original deljsphp
function, that by the way looks like this:
function deljsphp() {
var th = $('opcstataj');
if (th && th != null && th != undefined) th.remove()
}
Basically it removes the <script>
tag added from their server.
Other info
The code that is being eval'd in the the line you mentioned in the question is this:
eval(gzinflate(base64_decode('jZAxb8MgEIXn+FfQCBl7qL1UHRLRDFGkLlWjOM0SVRHBV4NqwIKLqqrKfy84S9MuXeDgcd97BzWiI5xQVDrcPnSAT6IDi24HPmhni3KeUePaqyfP6+VPWV2Jy5Nv0Hl48X1UJ5OMhqhPow3/onE95xGXSteec2WFgXhQ51xIjEAuFcj3aaS2AkVsPIoA93cHsNK1UNAwGiZicQNmwM+CHprVZrfa7Nnjdrtu2GtJ8pz8ueWcM2dZuWAKcQhsNu4s0k6+TwOoULFZXWuL4LXzH3BsIejOVtKZ2lw+pXaD7LUEGyCVl8jVoIZFSHE5q8bY80y/FWlAIJwThhCQlb+NeidFr1zA/0K/AQ==')));
Going further...this is the code that actually gets evaluated:
$mag = $this->getMagentoVersion();
$mod = $this->getOPCVersion();
$h = $this->getCurStoreUrl();
$s = "mag={$mag}&mod={$mod}&hname={$h}&action=check";
$data = base64_encode($s);
$hs = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')?'https':'http';
$url = $hs.'://interiorwebdesign.com/magento/opclicense/opcaction.php?sdata='.$data;
if($mode == 'test')
$url = $hs.'://localhost/opclicense/opcaction.php?sdata='.$data;
This confirms my initial suspicions on what is sent to their servers.