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 $QEECE4FCBC0CE109B677C7E627A72EBF3="eNpEvduSq7gWbftJG4HJKD9ODAJjIxKhC+gNEJEYBCZt0s..
Decoded Output download
?><?php
if (!defined('E_STRICT')) define('E_STRICT', 2048);
if (!defined('E_RECOVERABLE_ERROR')) define('E_RECOVERABLE_ERROR', 4096);
if (!defined('E_DEPRECATED')) define('E_DEPRECATED', 8192);
if (!defined('E_USER_DEPRECATED')) define('E_USER_DEPRECATED', 16384);
@error_reporting (E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_USER_DEPRECATED);
require "whois_servers.php";
require "language.php";
require "idna_convert.class.php";
if (!empty($_POST)) while(list($name, $value) = each($_POST)) $$name = $value;
if (!isset($_SESSION['numberofitems']))
$_SESSION['numberofitems']=0;
if (!isset($_SESSION['numberremoved']))
$_SESSION['numberremoved']=0;
// Convert all coupon codes to lower case
if (isset($coupon))
{
if(function_exists("array_change_key_case"))
$coupon=array_change_key_case($coupon);
}
$couponcode=strtolower(trim($_POST['cfcoupon']));
if (!empty($couponcode))
{
if ( (!isset($_SESSION['couponcode']) || empty($_SESSION['couponcode'])) && $coupon[$couponcode]!="")
$_SESSION['couponcode'] = $couponcode;
else
$coupondiscount=0;
}
if ($coupon[$_SESSION['couponcode']]!="") {
$coupondata=explode(",",$coupon[$_SESSION['couponcode']]);
if (isset($coupondata[0]))
{
$disval=trim($coupondata[0]);
if ($disval[strlen($disval)-1]=="%")
{
$disval=substr($disval,0,strlen($disval)-1);
$coupondiscounttypedomain="P";
$coupondiscountdomain=$disval/100;
}
else
{
$coupondiscounttypedomain="D";
$coupondiscountdomain=$disval;
}
}
if (isset($coupondata[1]))
$coupondiscountdomainmin=trim($coupondata[1]);
if (isset($coupondata[2]))
{
$disval=trim($coupondata[2]);
if ($disval[strlen($disval)-1]=="%")
{
$disval=substr($disval,0,strlen($disval)-1);
$coupondiscounttypehosting="P";
$coupondiscounthosting=$disval/100;
}
else
{
$coupondiscounttypehosting="D";
$coupondiscounthosting=$disval;
}
}
if (isset($coupondata[3]))
$coupondiscounthostingmin=trim($coupondata[3]);
if (isset($coupondata[4]))
$coupondiscounthostingtype=trim($coupondata[4]);
// See if coupon expired
if (isset($coupondata[5]))
{
$disval=trim($coupondata[5]);
if ($disval!="")
{
if (mktime(23,59,59,substr($disval,2,2),substr($disval,0,2),substr($disval,4,4))<time())
{
$coupondiscount=0;
unset($_SESSION['couponcode']);
}
}
}
}
if (!isset($_POST['cfemail']))
$cfemail="";
if (($bannedemails!="") && ($cfemail!="") && preg_match("/$cfemail/i", $bannedemails, $match)) {
print "<script language=\"JavaScript\" type=\"text/javascript\">alert (\"$lang_mailer_error $lang_banned_email\"); window.location=\"/\";</script>
";
exit;
}
if (!isset($_POST['dcaction']))
$dcaction="";
if (!isset($_POST['domain']))
$domain="";
if ($idnsupport=="Y") {
$IDN = new idna_convert();
// The input string, if input is not UTF-8 or UCS-4, it must be converted before
$input = $_REQUEST['domain'];
$output = $IDN->encode($_REQUEST['domain']);
$domain = $output;
}
if (!isset($_POST['domainstatus']))
$domainstatus="";
if ($_REQUEST['dcaction']=="whoislookup")
$dcaction="whoislookup";
if (($grechaptcha_domaincheck=="Y") || ($grechaptcha_whoislookup=="Y") || ($grechaptcha_signup=="Y")) {
$post_data = "secret=".$grechaptcha_secretkey."&response=".$_REQUEST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Content-Type: application/x-www-form-urlencoded; charset=utf-8',
'Content-Length: ' . strlen($post_data)));
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$googresp = curl_exec($ch);
$decgoogresp = json_decode($googresp);
curl_close($ch);
}
$numdomreg=count($register);
$numdomtran=count($transfer);
$numhosting=count($hosting);
if ($copyright!="Copyright-DomainCart_v5.30-www.domaincart.net") {
print "<script language=\"JavaScript\" type=\"text/javascript\">alert ('Error: INVALID LICENSE'); window.location=\"https://www.domaincart.net/\";</script>
";
exit;
}
print "<script src=\"https://www.google.com/recaptcha/api.js\"></script>
";
print "<script type=\"text/javascript\">
";
print "//<![CDATA[
";
if ($grechaptcha_whoislookup=="Y")
print "var submitwhois = function () {\$('#whois').submit();\$('#whoisbtn').prop('disabled', true);\$('#whoisinput').prop('disabled', true);\$('#whoisbtn').html('".$lang_wait."');}
";
if ($grechaptcha_signup=="Y")
print "function submitorderform() {\$('#orderformbtn').removeAttr('disabled');}
";
print "function noenter() {
";
print "return !(window.event && window.event.keyCode == 13); }
";
print "function AddToCart(form)
";
print "{
";
print " form.dcaction.value=\"add\"
";
print " form.submit()
";
print "}
";
print "function AddOut(form)
";
print "{
";
print " form.action=\"\"
";
print " form.dcaction.value=\"addout\"
";
print " form.submit()
";
print "}
";
print "function RemoveFromCart(form)
";
print "{
";
print " form.dcaction.value=\"remove\"
";
print " form.submit()
";
print "}
";
print "function Checkout(form)
";
print "{
";
print " form.action=\"\"
";
print " form.dcaction.value=\"checkout\"
";
print " form.submit()
";
print "}
";
print "//]]>
";
print "</script>
";
if ($dcaction=="whoislookup") {
if ($idnsupport!="Y")
$domain = $_REQUEST['domain'];
// For conformity make domain lowercase and trim whitespace
$domain=accentstrtolower(trim($domain));
$domain= preg_replace('/\s+/', '',$domain);
// Also remove http:// or https://
if (strcmp("https://",substr($domain,0,8))==0)
$domain=substr($domain,8,strlen($domain)-8);
if (strcmp("http://",substr($domain,0,7))==0)
$domain=substr($domain,7,strlen($domain)-7);
if ((strcmp("www.",substr($domain,0,4))==0) && ($domainstatus!="Hosting"))
$domain=substr($domain,4,strlen($domain)-4);
if (($domain!="") && (time() - ( isset($_SESSION['domain'])?$_SESSION['domain']:0 )< 5)) {
print "<script type=\"text/javascript\">function checklength(i) { 'use strict'; if (i < 5) { i = \"0\" + i; } return i; } var minutes, seconds, count, counter, timer; count = 5; counter = setInterval(timer, 1000); function timer() { 'use strict'; count = count - 1; minutes = checklength(Math.floor(count / 60)); seconds = checklength(count - minutes * 60); if (count < 0) { clearInterval(counter); return; } document.getElementById(\"timer\").innerHTML = minutes + ':' + seconds + ' '; if (count === 0) { location.reload(); } }</script>
";
print "<div class=\"alert alert-danger\">$lang_whois_timelimit</div>
";
}
else {
// update the session
$_SESSION['domain'] = time();
if ($allowwhoislookup=="Y") {
print "<div class=\"well text-center margin-top\">
";
print "<h3>$lang_whois_title</h3>
";
print "<form method=\"get\" id=\"whois\" action=\"\">
";
print "<input type=\"hidden\" name=\"dcaction\" value=\"whoislookup\">
";
print "<div class=\"form-group\">
";
print "<div class=\"input-group col-xs-10 col-xs-offset-1\">
";
print "<input type=\"text\" name=\"domain\" id=\"whoisinput\" value=\"";
if (($domain!="") && (($grechaptcha_whoislookup=="Y") && ($decgoogresp->success != true)))
print "$domain";
print "\" placeholder=\"$lang_exampledomain\" class=\"input-md form-control\" required>
";
print "<span class=\"input-group-btn\">
";
print "<button type=\"submit\" class=\"btn btn-info\" id=\"whoisbtn\"><span class=\"glyphicon glyphicon-search\"></span> <span class=\"hidden-xs\">$lang_whois_btn</span></button>
";
print "</span>
";
print "</div>
";
print "</div>
";
if ($grechaptcha_whoislookup=="Y")
print "<div class=\"g-recaptcha\" data-sitekey=\"".$grechaptcha_sitekey."\" data-callback=\"submitwhois\"></div>
";
print "</form>
";
print "</div>
";
if (($domain!="") && ((($grechaptcha_whoislookup=="Y") && ($decgoogresp->success == true)) || ($grechaptcha_whoislookup!="Y")))
$i=Whois($domain,"",$reg);
}
else
$i=-1;
if (($domain!="") && ($grechaptcha_whoislookup=="Y") && ($decgoogresp->success == false))
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_grechaptcha_err</div>
";
if ($i==-1)
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_whois_disabled</div>
";
if ($i==5)
print("<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_whois_connecterr</div>
");
if ($i==2)
print("<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_whois_exterr</div>
");
if ($i==3)
print("<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_whois_domainerr</div>
");
if (($i==0) || ($i==1) || ($i==6)) {
if (($domain!="") && ((($grechaptcha_whoislookup=="Y") && ($decgoogresp->success == true)) || ($grechaptcha_whoislookup!="Y"))) {
print("<div class=\"panel panel-default\"><div class=\"panel-body\">");
for($k=0;$k<count($reg);$k++)
print("$reg[$k]<br>");
print "</div></div>
";
}
}
}
}
// If adding to shopping cart
if (($dcaction=="add") || ($dcaction=="addout"))
{
for ($k=1;$k<=$n;$k++)
{
$var="addtocart".$k;
if (strcasecmp($$var,"on")==0)
{
// Check for duplicate domain
$dupl=False;
$hvar="h".$k;
if ($$hvar>-1)
$hostingdesc=strtok($hosting[$$hvar],",");
else
$hostingdesc="";
$rvar="r".$k;
if ($$rvar==-1)
$regtype="H";
if (($$rvar>-1) && ($$rvar<100))
$regtype="R";
if (($$rvar>-1) && ($$rvar>=100))
$regtype="T";
$dvar="d".$k;
$xvar="x".$k;
for ($j=1;$j<=$_SESSION['numberofitems'];$j++)
{
if (($_SESSION['domain'.$j]==$$dvar.$$xvar) && ((($_SESSION['regtype'.$j]==$regtype) && ($regtype!="H")) || ($_SESSION['hostingdesc'.$j]==$hostingdesc)) && ($_SESSION['removed'.$j]==False))
{
$dupl=True;
break;
}
}
if ($dupl==False)
{
// Get hosting options for this entry
$hvar="h".$k;
if ($$hvar>-1)
{
$hostingdesc=strtok($hosting[$$hvar],",");
$hostingsetup=strtok(",");
$hostingprice=strtok(",");
$hostingrecurr=strtoupper(strtok(","));
}
else
{
$hostingdesc="";
$hostingsetup=0;
$hostingprice=0;
$hostingrecurr="";
}
// Get domain options for this entry
$rvar="r".$k;
if ($$rvar==-1)
{
$regtype="H";
$regprice=0;
$regperiod=0;
}
if (($$rvar>-1) && ($$rvar<100))
{
$regtype="R"; // Register domain
for ($j=0;$j<$numdomreg;$j++)
{
if (strtok($register[$j],",")==$$xvar)
{
$temp=strtok(","); // Get reg period string
$regperiods=explode(":",$temp);
$regperiod=$regperiods[$$rvar];
$temp=strtok(","); // Get reg prices for each period
// See whether there is another price for shorter domain names
$otherprice=strtok(",");
if (strtolower(substr($otherprice,0,6))=="length")
{
$pos=strpos($otherprice,"(");
$pos2=strpos($otherprice,")");
$len=substr($otherprice,$pos+1,$pos2-$pos-1);
$minlen=strtok($len,"-");
$maxlen=strtok("-");
if ((strlen($$dvar)>=$minlen) && (strlen($$dvar)<=$maxlen))
{
$temp=strtok($otherprice,"=");
$temp=strtok("=");
}
}
$regprices=explode(":",$temp);
$regprice=$regprices[$$rvar];
break;
}
}
}
if (($$rvar>-1) && ($$rvar>=100))
{
$regtype="T"; // Transfer domain
for ($j=0;$j<$numdomtran;$j++)
{
if (strtok($transfer[$j],",")==$$xvar)
{
$temp=strtok(","); // Get reg period string
$regperiods=explode(":",$temp);
$regperiod=$regperiods[$$rvar-100];
$temp=strtok(","); // Get reg prices for each period
// See whether there is another price for shorter domain names
$otherprice=strtok(",");
if (strtolower(substr($otherprice,0,6))=="length")
{
$pos=strpos($otherprice,"(");
$pos2=strpos($otherprice,")");
$len=substr($otherprice,$pos+1,$pos2-$pos-1);
$minlen=strtok($len,"-");
$maxlen=strtok("-");
if ((strlen($$dvar)>=$minlen) && (strlen($$dvar)<=$maxlen))
{
$temp=strtok($otherprice,"=");
$temp=strtok("=");
}
}
$regprices=explode(":",$temp);
$regprice=$regprices[$$rvar-100];
break;
}
}
}
// If hosting package, domain registration or transfer ordered then add to shopping cart
if (($hostingdesc!="") || ($regtype!="H"))
{
if (($hostingsetup + $hostingprice + $regprice) >= $minimum_order_amount) {
$_SESSION['numberofitems']++;
$numitems=$_SESSION['numberofitems'];
$_SESSION['removed'.$numitems]=False;
$_SESSION['domain'.$numitems]=$$dvar.$$xvar;
$_SESSION['domain'.$numitems] = htmlentities($_SESSION['domain'.$numitems], ENT_QUOTES);
$_SESSION['hostingdesc'.$numitems]=$hostingdesc;
$_SESSION['hostingsetup'.$numitems]=$hostingsetup;
$_SESSION['hostingprice'.$numitems]=$hostingprice;
$_SESSION['hostingrecurr'.$numitems]=$hostingrecurr;
$_SESSION['regtype'.$numitems]=$regtype;
$regpricecurrent=$regprice;
if (($discountfordomain > 0) && (($hostingsetup + $hostingprice) > $minamoutfordiscountdomain))
{
$regpricediscount=($regprice * ($discountfordomain/100));
$regprice=($regpricecurrent - $regpricediscount);
$regprice=sprintf("%01.2f",$regprice);
if ($discountfordomain=="100")
$regperiod="1";
}
$_SESSION['regperiod'.$numitems]=$regperiod;
$_SESSION['regprice'.$numitems]=$regprice;
$_SESSION['regpricecurrent'.$numitems]=$regpricecurrent;
}
else
$minimum_order_required="True";
}
}
}
}
if (($dcaction=="addout") && (($_SESSION['numberofitems']-$_SESSION['numberremoved'])<1))
$dcaction="add";
}
// If removing items from shopping cart
if (($dcaction=="remove") || ($dcaction=="checkout"))
{
for ($k=1;$k<=$_SESSION['numberofitems'];$k++)
{
$rvar="rem".$k;
if (strcasecmp($$rvar,"on")==0)
{
$_SESSION['numberremoved']++;
$_SESSION['removed'.$k]=True;
}
}
if (($dcaction=="checkout") && (($_SESSION['numberofitems']-$_SESSION['numberremoved'])<1))
$dcaction="remove";
}
// Display checkbox for each domain supported
if (($dcaction=="check") || ($dcaction=="remove") || ($dcaction=="add") || ($dcaction==""))
{
// For conformity make domain lowercase and trim whitespace
$domain=accentstrtolower(trim($domain));
$domain= preg_replace('/\s+/', '',$domain);
// Also remove http:// or https://
if (strcmp("https://",substr($domain,0,8))==0)
$domain=substr($domain,8,strlen($domain)-8);
if (strcmp("http://",substr($domain,0,7))==0)
$domain=substr($domain,7,strlen($domain)-7);
if ((strcmp("www.",substr($domain,0,4))==0) && ($domainstatus!="Hosting"))
$domain=substr($domain,4,strlen($domain)-4);
// If no checkbox selected then tick first checkbox
if ($dcaction=="check")
{
$numdt=0;
// If no checkboxes selected then see if user entered domain extension
$domainext="";
$found=0;
// Try to get domain extension if one is typed
// Treat .name slightly differently
if (substr($domain,strlen($domain)-5,5)==".name")
{
$domainext=".name";
$domain=substr($domain,0,strlen($domain)-5);
$found=1;
}
else
{
// Get domain extension by taking everything from first '.'
$pos=strpos($domain,".");
if (is_integer($pos))
{
$pdomt=substr($domain,$pos,strlen($domain)-$pos);
for ($k=0;$k<count($ws);$k++)
{
$dt=strtok($ws[$k],",");
if (strcasecmp($dt,$pdomt)==0)
{
$domainext=$pdomt;
$domain=substr($domain,0,$pos);
$found=1;
break;
}
}
}
}
// If found=0 then it means user didn't type a recognised domain extension
// so if domain contains a dot then assume everything after it is the extension.
if ($found==0)
{
$pos=strpos($domain,".");
if (is_integer($pos))
{
$domainext=substr($domain,$pos,strlen($domain)-$pos);
$domain=substr($domain,0,$pos);
}
}
if (($domainstatus!="Hosting") && ($domainext==""))
{
for ($k=1;$k<=$numdomreg;$k++)
{
$var="ext".$k;
if (strcasecmp($$var,"on")==0)
$numdt++;
}
for ($k=1;$k<=$numdomtran;$k++)
{
$var="ext".$k;
if (strcasecmp($$var,"on")==0)
$numdt++;
}
}
// If not extension type (and no checkbox clicked) then tick first checkbox
if (($domainext=="") && ($numdt==0))
$ext1="on";
}
print("<div class=\"well text-center margin-top domainsearch\">
");
print("<form action=\"\" method=\"post\">");
print("<input type=\"hidden\" name=\"dcaction\" value=\"check\" />");
print("<input type=\"hidden\" name=\"domainstatus\" value=\"Register\" />");
print("<h3>$lang_choose_domain</h3>
");
print("<p>$lang_choose_domain_info</p>
");
print("<div class=\"form-group col-xs-10 col-xs-offset-1\">
");
$de=1;
if (($ext=="Y") && ($de<$numdomreg)) {
print("<div class=\"input-group input-group-md\">
");
print("<input class=\"input-md form-control\" name=\"domain\" id=\"domain\" type=\"text\" value=\"\" placeholder=\"".$lang_exampledomain."\" data-error-msg=\"".$lang_validatedomain."\" required>
");
print("<span class=\"input-group-btn\">
");
print("<button class=\"btn btn-info btn-md\" type=\"button\" onClick=\"jQuery('#mtlds').slideToggle(); jQuery(this).find('span:first').toggleClass('glyphicon-plus').toggleClass('glyphicon-minus');\"><span class=\"glyphicon glyphicon-plus\" id=\"#plusminus\"></span> <span class=\"hidden-xs\">$lang_multitld</span></button>
");
print("</span>
");
print("</div>
");
print("<div id=\"mtlds\" style=\"display:none;\">
");
while($de<=$numdomreg)
{
$dt=strtok($register[$de-1],",");
print("<label class=\"checkbox-inline\"><input type=\"checkbox\" name=\"ext$de\"");
print(">$dt</label>");
$de++;
}
print("</div>
");
}
else if (($numdomreg>0) || ($numdomtran>0) || ($numhosting))
print("<input class=\"input-md form-control\" name=\"domain\" id=\"domain\" type=\"text\" value=\"\" placeholder=\"".$lang_exampledomain."\" data-error-msg=\"".$lang_validatedomain."\" required>
");
print("</div>
");
print("<div class=\"form-group\">
");
print("<div class=\"input-group input-group-md col-xs-10 col-xs-offset-1\">
");
if ($numdomreg>0)
print("<input type=\"submit\" onclick=\"form.domainstatus.value='Register';\" value=\"$lang_btn_register\" class=\"btn btn-primary btn-md\">
");
if (($numdomreg>0) && ($numdomtran>0))
print("<input type=\"submit\" onclick=\"form.domainstatus.value='Transfer';\" value=\"$lang_btn_transfer\" class=\"btn btn-success btn-md\">
");
if ($numhosting>0)
print("<input type=\"submit\" onclick=\"form.domainstatus.value='Hosting';\" value=\"$lang_btn_hosting\" class=\"btn btn-md btn-default\">
");
print("</div>
");
print("</div>
");
if ($grechaptcha_domaincheck=="Y")
print "<div class=\"g-recaptcha\" data-sitekey=\"".$grechaptcha_sitekey."\"></div>
";
print("</form>
");
print("</div>
");
if ($minimum_order_required==True)
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_minimum_order_amount$symbolleft$minimum_order_amount$symbolright</div>
";
if ($dupl==True)
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_duplucate_order</div>
";
if (!empty($couponcode) && $coupondiscount=="0")
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_coupon_invalid</div>
";
if (($domain=="") && ($dcaction=="check"))
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_validatedomain</div>
";
}
// If check clicked then create table of results
if ($dcaction=="check")
{
if (($grechaptcha_domaincheck=="Y") && ($decgoogresp->success == false))
print "<div class=\"alert alert-danger\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">×</a>$lang_grechaptcha_err</div>
";
else {
print("<div class=\"row\">
");
print("<div class=\"col-md-12\">
");
print("<h3>$lang_query_results</h3>
");
print("<form action=\"\" method=\"post\" class=\"form-horizontal\">
");
print "<input name=\"dcaction\" type=\"hidden\" value=\"\" />
";
print("<table class=\"table table-striped table-bordered\">
");
print("<thead>
");
print("<tr>
");
print("<th class=\"active text-center\">$lang_domain</th>
");
print("<th class=\"active text-center\">$lang_domain_option</th>
");
if ($numhosting>0)
print("<th class=\"active text-center\">$lang_hosting_option</th>
");
print("<th class=\"active text-center\">$lang_buy</th>
");
print("</tr>
");
print("</thead>
");
print("<tbody>
");
// If user entered domain extension then just deal with that one domain.
// If not then we should deal with each domain checkbox that is set
if ($domainext!="")
$max=1;
else if ($domainstatus == "Register")
$max=$numdomreg;
else if ($domainstatus == "Transfer")
$max=$numdomtran;
else if ($domainstatus == "Hosting")
$max=1;
$canaddtocart=0;
for ($k=1;$k<=$max;$k++)
{
$var="ext".$k;
if ((strcasecmp($$var,"on")==0) || ($domainext!=""))
{
print("<tr>
");
if ($domainext!="")
$dt=$domainext;
else if ($domainstatus == "Register")
$dt=strtok($register[$k-1],",");
else if ($domainstatus == "Transfer")
$dt=strtok($transfer[$k-1],",");
else if ($domainstatus == "Hosting")
$dt= ".com";
// See if extension supported for registration and or transfers
$registersupported=-1;
$transfersupported=-1;
for ($j=0;$j<$numdomreg;$j++)
{
if ($dt==strtok($register[$j],","))
{
$registersupported=$j;
break;
}
}
for ($j=0;$j<$numdomtran;$j++)
{
if ($dt==strtok($transfer[$j],","))
{
$transfersupported=$j;
break;
}
}
// set_time_limit(60); // Insert if lookup takes longer than 30 seconds and times out
$Reg="*"; // Flag to Whois not to do second full whois for .com etc as not required here
$i=Whois($domain,$dt,$Reg);
// Domain column
print("<td class=\"text-center\">
");
print("<p class=\"text-muted\">");
if ($idnsupport=="Y")
print $IDN->decode($domain);
else
print $domain;
print("$dt</p>");
print ("<input name=\"d$k\" type=\"hidden\" value=\"");
if ($idnsupport=="Y")
print $IDN->decode($domain);
else
print $domain;
print("\" />
");
print ("<input name=\"x$k\" type=\"hidden\" value=\"$dt\" />
");
print("</td>
");
// Domain Options column
print("<td class=\"text-center\">
");
if ($i==0)
{
if ($domainstatus=="Register")
{
if ($registersupported>=0)
{
print "<select name=\"r$k\" class=\"form-control\">
";
// We need to add an option for each registration period
strtok($register[$registersupported],",");
$temp=strtok(","); // Get reg period string
$regperiods=explode(":",$temp);
$temp=strtok(","); // Get reg prices for each period
// See whether there is another price for shorter domain names
$otherprice=strtok(",");
if (strtolower(substr($otherprice,0,6))=="length")
{
$pos=strpos($otherprice,"(");
$pos2=strpos($otherprice,")");
$len=substr($otherprice,$pos+1,$pos2-$pos-1);
$minlen=strtok($len,"-");
$maxlen=strtok("-");
if ((strlen($domain)>=$minlen) && (strlen($domain)<=$maxlen))
{
$temp=strtok($otherprice,"=");
$temp=strtok("=");
}
}
$regprices=explode(":",$temp);
for ($j=0;$j<count($regperiods);$j++)
{
if ($j==0)
print "<option selected=\"selected\" value=\"$j\">$lang_register $regperiods[$j] $lang_year $symbolleft$regprices[$j]$symbolright</option>
";
else
print "<option value=\"$j\">$lang_register $regperiods[$j] $lang_year $symbolleft$regprices[$j]$symbolright</option>
";
}
print "</select>
";
}
if ($registersupported==-1)
{
print "<span class=\"label label-danger\">$lang_invalid_domain</span>";
}
}
if ($domainstatus=="Transfer")
{
print "<span class=\"label label-danger\">$lang_invalid_domain</span>";
}
}
if ($i==1)
{
if ($domainstatus=="Register")
{
if ($registersupported>=0)
{
print "<span class=\"label label-danger\">$lang_unavailable</span> (<a href=\"?dcaction=whoislookup&domain=$domain$dt\" target=\"_blank\">$lang_whois_link</a>)
";
}
if ($registersupported==-1)
{
print "<span class=\"label label-danger\">$lang_invalid_domain</span>";
}
}
if ($domainstatus=="Transfer")
{
if ($transfersupported>=0)
{
print "<select name=\"r$k\" class=\"form-control\">
";
// We need to add an option for each registration period
strtok($transfer[$transfersupported],",");
$temp=strtok(","); // Get transfer period string
$regperiods=explode(":",$temp);
$temp=strtok(","); // Get transfer prices for each period
// See whether there is another price for shorter domain names
$otherprice=strtok(",");
if (strtolower(substr($otherprice,0,6))=="length")
{
$pos=strpos($otherprice,"(");
$pos2=strpos($otherprice,")");
$len=substr($otherprice,$pos+1,$pos2-$pos-1);
$minlen=strtok($len,"-");
$maxlen=strtok("-");
if ((strlen($domain)>=$minlen) && (strlen($domain)<=$maxlen))
{
$temp=strtok($otherprice,"=");
$temp=strtok("=");
}
}
$regprices=explode(":",$temp);
for ($j=0;$j<count($regperiods);$j++)
{
$t=$j+100;
print "<option value=\"$t\">$lang_transfer $regperiods[$j] $lang_year $symbolleft$regprices[$j]$symbolright</option>
";
}
print "</select>
";
}
if ($transfersupported==-1)
{
print "<span class=\"label label-danger\">$lang_invalid_domain</span>";
}
}
}
if (($domainstatus=="Hosting") && ($i!=3))
{
if ($numhosting>0)
{
print "<select name=\"r$k\" class=\"form-control\">
";
print "<option value=\"-1\">$lang_hosting_only</option>
";
print "</select>
";
}
else
print("×");
}
if ($i==3)
print("<span class=\"label label-danger\">$lang_invalid_domain</span>");
if ($domainstatus!="Hosting"){
if ($i==2)
print "<span class=\"label label-danger\">$lang_cannot_verify</span>
";
if ($i==5)
print("<span class=\"label label-danger\">$lang_whois_problem</span>");
}
print("</td>
");
// Hosting Options column
if ($numhosting>0)
{
print("<td class=\"text-center\">
");
if ($i==0)
{
if ($domainstatus=="Register")
{
if ($registersupported>=0)
{
print "<select name=\"h$k\" class=\"form-control\">
";
if ($hostingrequired!="Y")
print "<option value=\"-1\">$lang_no_hosting</option>
";
// We need to add an option for each hosting package
for ($j=0;$j<$numhosting;$j++)
{
$hostingdesc=strtok($hosting[$j],",");
$hostingsetup=strtok(",");
$hostingprice=strtok(",");
$hostingrecurr=strtoupper(strtok(","));
if ($hostingsetup==0)
print "<option value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright</option>
";
else
print "<option value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright ($lang_setup $symbolleft$hostingsetup$symbolright)</option>
";
}
print "</select>
";
}
else
print "×";
}
}
if ($i==1)
{
if ($domainstatus=="Transfer")
{
if ($transfersupported!=-1)
{
print "<select name=\"h$k\" class=\"form-control\">
";
if ($hostingrequired!="Y")
print "<option value=\"-1\">$lang_no_hosting</option>
";
// We need to add an option for each hosting package
for ($j=0;$j<$numhosting;$j++)
{
$hostingdesc=strtok($hosting[$j],",");
$hostingsetup=strtok(",");
$hostingprice=strtok(",");
$hostingrecurr=strtoupper(strtok(","));
if (($transfersupported!=-1) && ($j==0))
$select="SELECTED";
else
$select="";
if ($hostingsetup==0)
print "<option $select value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright</option>
";
else
print "<option $select value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright ($lang_setup $symbolleft$hostingsetup$symbolright)</option>
";
}
print "</select>
";
}
else
print "×
";
}
}
if (($domainstatus=="Hosting") && ($i!=3))
{
print "<select name=\"h$k\" class=\"form-control\">
";
// We need to add an option for each hosting package
for ($j=0;$j<$numhosting;$j++)
{
$hostingdesc=strtok($hosting[$j],",");
$hostingsetup=strtok(",");
$hostingprice=strtok(",");
$hostingrecurr=strtoupper(strtok(","));
if ($hostingsetup==0)
print "<option value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright</option>
";
else
print "<option value=\"$j\">$hostingdesc $symbolleft$hostingprice$symbolright ($lang_setup $symbolleft$hostingsetup$symbolright)</option>
";
}
print "</select>
";
}
if ($i>1)
print("×");
if (($i==1) && ($domainstatus=="Register"))
print "×";
if (($i==0) && ($domainstatus=="Transfer"))
print "×";
print("</td>
");
}
else
print("<input name=\"h$k\" type=\"hidden\" value=\"-1\" />
");
// Buy checkbox column
print("<td class=\"text-center\">
");
$allowaddtocart=0;
if (($i==0) && ($registersupported>-1) && ($domainstatus=="Register"))
$allowaddtocart=1;
if (($i==1) && ($transfersupported>-1) && ($domainstatus=="Transfer"))
$allowaddtocart=1;
if (($numhosting>0) && ($i!=3) && ($domainstatus!="Register") && ($domainstatus!="Transfer"))
$allowaddtocart=1;
if ($allowaddtocart==1)
{
$canaddtocart++;
print "<input name=\"addtocart$k\" type=\"checkbox\" checked=\"checked\" />
";
}
else
print("×");
print("</td>
");
print("</tr>
");
}
}
print("</tbody>
");
print("</table>
");
if ($canaddtocart>0)
{
print("<div class=\"row text-center\">
");
print("<div class=\"col-md-6\">
");
if (!isset($_SESSION['couponcode']) || empty($_SESSION['couponcode']) || $coupondiscount=="0")
{
print("<div class=\"form-horizontal well well-sm\">
");
print("<div class=\"row\">
");
print("<label class=\"control-label col-md-4\" for=\"promocode\">$lang_coupon</label>
");
print("<div class=\"col-md-8\">
");
print("<div class=\"input-group\">
");
print("<input type=\"text\" name=\"cfcoupon\" class=\"form-control input-sm\" onkeypress=\"return noenter()\">
");
print("<span class=\"input-group-btn\">
");
print("<button type=\"button\" class=\"btn btn-info btn-sm\" onclick=\"AddToCart(this.form);\">$lang_btn_coupon</button>
");
print("</span>
");
print("</div>
");
print("</div>
");
print("</div>
");
print("</div>
");
}
print("</div>
");
print("<div class=\"col-md-6\">
");
print("<div class=\"well well-sm\" style=\"border:none;background:none;box-shadow:none\">
");
print("<input name=\"n\" type=\"hidden\" value=\"$max\" />");
print("<input type=\"button\" value=\"$lang_addtocart\" onclick=\"AddToCart(this.form);\" class=\"btn btn-success\" /> <input type=\"button\" value=\"$lang_btn_checkout\" onclick=\"AddOut(this.form);\" class=\"btn btn-primary\" />
");
print("</div>
");
print("</div>
");
print("</div>
");
}
print("</form>
");
print("</div>
");
print("</div>
");
}
}
if (($dcaction=="check") || ($dcaction=="add") || ($dcaction=="remove") || ($dcaction==""))
{
// If there are items in shopping cart then display them
if (($_SESSION['numberofitems']-$_SESSION['numberremoved'])>0)
{
print("<form action=\"\" method=\"post\">
");
print("<input name=\"dcaction\" type=\"hidden\" value=\"\">
");
print("<h3>$lang_order_summary</h3>
");
print("<table class=\"table\">
");
print("<thead>
");
print("<tr>
");
print("<th class=\"active\">$lang_description</th>
");
print("<th class=\"active\">$lang_price</th>
");
print("</tr>
");
print("</thead>
");
print("<tbody>
");
$total=0.00;
$recurringtotal=0.00;
$total_tax=0.00;
$discounttotal=0.00;
for ($k=1;$k<=$_SESSION['numberofitems'];$k++)
{
if ($_SESSION['removed'.$k]==False)
{
$subtotal=0.00;
$discount=0.00;
print("<tr>
");
print("<td>
");
if ($_SESSION['regtype'.$k]=="H")
print("$lang_hosting_only <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em>, ");
if ($_SESSION['regtype'.$k]=="R")
{
print("$lang_register <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em> ".$_SESSION['regperiod'.$k]." $lang_year ");
if ($_SESSION['regprice'.$k]<$_SESSION['regpricecurrent'.$k])
print("<s class=\"text-danger\">$symbolleft".$_SESSION['regpricecurrent'.$k]." $symbolright</s> ");
print("$symbolleft".$_SESSION['regprice'.$k]." $symbolright, ");
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($_SESSION['regprice'.$k] * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
}
if ($_SESSION['regtype'.$k]=="T")
{
print("$lang_transfer <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em> ".$_SESSION['regperiod'.$k]." $lang_year ");
if ($_SESSION['regprice'.$k]<$_SESSION['regpricecurrent'.$k])
print("<s class=\"text-danger\">$symbolleft".$_SESSION['regpricecurrent'.$k]." $symbolright</s> ");
print("$symbolleft".$_SESSION['regprice'.$k]." $symbolright, ");
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($_SESSION['regprice'.$k] * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
}
$subtotal=$subtotal+$_SESSION['regprice'.$k];
if ($numhosting>0)
{
$hostingdesc=$_SESSION['hostingdesc'.$k];
$hostingsetup=$_SESSION['hostingsetup'.$k];
$hostingprice=$_SESSION['hostingprice'.$k];
$hostingrecurr=$_SESSION['hostingrecurr'.$k];
if ($hostingdesc=="")
{
print ("$lang_no_hosting");
}
else
{
// Check to see if recurring billing
if ($hostingsetup==0)
print "$hostingdesc $symbolleft$hostingprice$symbolright";
else
print "$hostingdesc $symbolleft$hostingprice$symbolright ($lang_setup $symbolleft$hostingsetup$symbolright)";
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($hostingprice>=$coupondiscounthostingmin))
{
if ($coupondiscounttypehosting=="P")
$discount = ($discount + ($hostingprice * $coupondiscounthosting));
else
$discount = $discount+$coupondiscounthosting;
}
$subtotal=$subtotal+$hostingprice+$hostingsetup;
if ($hostingrecurr!="S") {
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($hostingprice>=$coupondiscounthostingmin) && ($coupondiscounthostingtype=="R"))
{
if ($coupondiscounttypehosting=="P")
$hostingprice = ($hostingprice - ($hostingprice * $coupondiscounthosting));
else
$hostingprice = $hostingprice-$coupondiscounthosting;
}
if (($tax > 0) && ($tax!="")) {
$product_tax=$hostingprice*($tax/100);
$hostingprice=$hostingprice+$product_tax;
}
$recurringtotal=$recurringtotal+$hostingprice;
}
}
}
print("</td >
");
print("<td>
");
printf("$symbolleft%01.2f",$subtotal);
print("$symbolright");
print("</td>
");
print("</tr>");
print("<tr>");
print("<td><div class=\"text-danger\"><input name=\"rem$k\" type=\"checkbox\" value=\"ON\"> $lang_remove</div></td>");
print("<td> </td>");
print("</tr>");
print("<tr>");
print("<td colspan=\"2\" class=\"active\"> </td>");
print("</tr>");
$subtotal=$subtotal-$discount;
if (($tax > 0) && ($tax!="")) {
$sub_tax=$subtotal*($tax/100);
$subtotal=$subtotal+$sub_tax;
$total_tax=$total_tax+$sub_tax;
}
$total=$total+$subtotal;
$discounttotal=$discounttotal+$discount;
}
}
if ($discounttotal > 0)
{
print("<tr>
");
print("<td class=\"text-right text-danger\">");
print("$lang_discount");
print("</td>
");
print("<td class=\"text-danger\">-");
printf("$symbolleft%01.2f",$discounttotal);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
if ($tax > 0)
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_tax");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total_tax);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
if ($recurringtotal > 0)
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_monthly_fee");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$recurringtotal);
print("$symbolright");
print("</td>
");
print("</tr>
");
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_total_due_now");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
else
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_total");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
print("</tbody>
");
print("</table>
");
print("<div class=\"row text-right\">
");
print("<div class=\"col-md-12\">
");
print("<div class=\"well well-sm\" style=\"border:none;background:none;box-shadow:none\">
");
print("<input type=\"button\" class=\"btn btn-danger\" onclick=\"RemoveFromCart(this.form);\" value=\"$lang_btn_update\">
");
print("<input type=\"button\" class=\"btn btn-primary\" onClick=\"Checkout(this.form);\" value=\"$lang_btn_checkout\">
");
print("</div>
");
print("</div>
");
print("</div>
");
print("</form>
");
}
}
if (($dcaction=="checkout") || ($dcaction=="addout"))
{
// If there are items in shopping cart then display them so that client can verify
$addtocartregister=0;
$addtocarttransfer=0;
$addtocarthosting=0;
if (($_SESSION['numberofitems']-$_SESSION['numberremoved'])>0)
{
print("<h3>$lang_order_summary</h3>");
print("<form action=\"\" method=\"post\">
");
print "<input name=\"dcaction\" type=\"hidden\" value=\"\" />
";
print("<table class=\"table\">
");
print("<thead>
");
print("<tr>
");
print("<th class=\"active\">$lang_description</th>
");
print("<th class=\"active\">$lang_price</th>
");
print("</tr>
");
print("</thead>
");
print("<tbody>
");
$total=0.00;
$recurringtotal=0.00;
$total_tax=0.00;
$discounttotal=0.00;
for ($k=1;$k<=$_SESSION['numberofitems'];$k++)
{
if ($_SESSION['removed'.$k]==False)
{
$subtotal=0.00;
$discount=0.00;
print("<tr>
");
print("<td>
");
if ($_SESSION['regtype'.$k]=="H")
print("$lang_hosting_only <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em>, ");
if ($_SESSION['regtype'.$k]=="R")
{
$addtocartregister=1;
print("$lang_register <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em> ".$_SESSION['regperiod'.$k]." $lang_year ");
if ($_SESSION['regprice'.$k]<$_SESSION['regpricecurrent'.$k])
print("<s class=\"text-danger\">$symbolleft".$_SESSION['regpricecurrent'.$k]." $symbolright</s> ");
print("$symbolleft".$_SESSION['regprice'.$k]." $symbolright, ");
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($_SESSION['regprice'.$k] * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
}
if ($_SESSION['regtype'.$k]=="T")
{
$addtocarttransfer=1;
print("$lang_transfer <em class=\"text-muted\">".$_SESSION['domain'.$k]."</em> ".$_SESSION['regperiod'.$k]." $lang_year ");
if ($_SESSION['regprice'.$k]<$_SESSION['regpricecurrent'.$k])
print("<s class=\"text-danger\">$symbolleft".$_SESSION['regpricecurrent'.$k]." $symbolright</s> ");
print("$symbolleft".$_SESSION['regprice'.$k]." $symbolright, ");
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($_SESSION['regprice'.$k] * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
}
$subtotal=$subtotal+$_SESSION['regprice'.$k];
if ($numhosting>0)
{
$hostingdesc=$_SESSION['hostingdesc'.$k];
$hostingsetup=$_SESSION['hostingsetup'.$k];
$hostingprice=$_SESSION['hostingprice'.$k];
$hostingrecurr=$_SESSION['hostingrecurr'.$k];
if ($hostingdesc=="")
{
print ("$lang_no_hosting");
}
else
{
$addtocarthosting=1;
// Check to see if recurring billing
if ($hostingsetup==0)
print "$hostingdesc $symbolleft$hostingprice$symbolright";
else
print "$hostingdesc $symbolleft$hostingprice$symbolright ($lang_setup $symbolleft$hostingsetup$symbolright)";
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($hostingprice>=$coupondiscounthostingmin))
{
if ($coupondiscounttypehosting=="P")
$discount = ($discount + ($hostingprice * $coupondiscounthosting));
else
$discount = $discount+$coupondiscounthosting;
}
$subtotal=$subtotal+$hostingprice+$hostingsetup;
if ($hostingrecurr!="S") {
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($hostingprice>=$coupondiscounthostingmin) && ($coupondiscounthostingtype=="R"))
{
if ($coupondiscounttypehosting=="P")
$hostingprice = ($hostingprice - ($hostingprice * $coupondiscounthosting));
else
$hostingprice = $hostingprice-$coupondiscounthosting;
}
if (($tax > 0) && ($tax!="")) {
$product_tax=$hostingprice*($tax/100);
$hostingprice=$hostingprice+$product_tax;
}
$recurringtotal=$recurringtotal+$hostingprice;
}
}
}
print("</td >
");
print("<td>
");
printf("$symbolleft%01.2f",$subtotal);
print("$symbolright");
print("</td >
");
print("</tr>");
print("<tr>");
print("<td colspan=\"2\" class=\"active\"> </td>");
print("</tr>");
$subtotal=$subtotal-$discount;
if (($tax > 0) && ($tax!="")) {
$sub_tax=$subtotal*($tax/100);
$subtotal=$subtotal+$sub_tax;
$total_tax=$total_tax+$sub_tax;
}
$total=$total+$subtotal;
$discounttotal=$discounttotal+$discount;
}
}
if ($discounttotal > 0)
{
print("<tr>
");
print("<td class=\"text-right text-danger\">");
print("$lang_discount");
print("</td>
");
print("<td class=\"text-danger\">-");
printf("$symbolleft%01.2f",$discounttotal);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
if ($tax > 0)
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_tax");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total_tax);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
if ($recurringtotal > 0)
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_monthly_fee");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$recurringtotal);
print("$symbolright");
print("</td>
");
print("</tr>
");
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_total_due_now");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
else
{
print("<tr>
");
print("<td class=\"text-right\">");
print("$lang_total");
print("</td>
");
print("<td>");
printf("$symbolleft%01.2f",$total);
print("$symbolright");
print("</td>
");
print("</tr>
");
}
print("</tbody>
");
print("</table>
");
print("<div class=\"row text-right\">
");
print("<div class=\"col-md-12\">
");
print("<div class=\"well well-sm\" style=\"border:none;background:none;box-shadow:none\">
");
print("<input type=\"button\" class=\"btn btn-success\" onclick=\"ModifyOrder(this.form);\" value=\"$lang_btn_continue\">
");
print("</div>
");
print("</div>
");
print("</div>
");
print("</form>
");
}
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "//<![CDATA[
";
print "function ModifyOrder(form)
";
print "{
";
print " form.submit()
";
print "}
";
print "// - JavaScript - -->
";
print "//]]>
";
print " </script>
";
print "<h3>$lang_contactform_title</h3>
";
print "<p>$lang_contactform_info</p>
";
print "<form action=\"\" method=\"post\" id=\"orderform\" novalidate>
";
print "<input name=\"dcaction\" type=\"hidden\" value=\"order\" />
";
print "<fieldset class=\"well well-sm form-horizontal\">
";
// Create table row and text input for each form field
for ($k=0;$k<count($cform);$k++)
{
$formv=explode(",",$cform[$k]);
print "<div class=\"form-group\">
";
print "<label class=\"col-md-2 control-label\" for=\"cf".$formv[0]."\">
";
print " ".$formv[1];
if ($formv[2]!="")
print "*";
print "</label>
";
print "<div class=\"col-md-5\"><input type=\"";
if (($formv[0]!="email") && ($formv[0]!="tel") && ($formv[0]!="number") && ($formv[0]!="url") && ($formv[0]!="date"))
print "text";
else
print "$formv[0]";
print "\" name=\"cf".$formv[0]."\" id=\"cf".$formv[0]."\" class=\"form-control\" ";
if ($formv[2]!="")
print "data-error-msg=\"".$formv[2]."\" required";
print "></div>
";
print "</div>
";
}
print "<div class=\"form-group\">
";
print "<label class=\"col-md-2 control-label\" for=\"cfnewsletter\">".$lang_newsletter_name."</label>
";
print "<div class=\"col-md-5\"><input type=\"checkbox\" name=\"cfnewsletter\" value=\"".$lang_newsletter_value."\"> ".$lang_newsletter_info."</div>
";
print "</div>
";
print "<div class=\"form-group\">
";
print "<label class=\"col-md-2 control-label\" for=\"cfpaymethod\">
";
print "$lang_paymethod";
print "</label>
";
print "<div class=\"col-md-5\">
";
print "<select name=\"cfpaymethod\" id=\"cfpaymethod\" class=\"form-control\" required>
";
$pg=explode(",",$paymentgateways);
$pgname=explode(",",$paymentgatewaysnames);
for ($k=0;$k<count($pg);$k++)
{
print " <option value=\"".$pg[$k]."\">";
if (!empty($pgname[$k]))
print $pgname[$k];
else
print $pg[$k];
print "</option>
";
}
print "</select>
";
print "</div>
";
print "</div>
";
print "</fieldset>
";
print "<div class=\"well well-sm text-center\">
";
if ($agreements!="")
{
print "<div class=\"form-group\">
";
print "<div class=\"tandc-wrapper\"><input name=\"Agree\" value=\"Agreed\" type=\"checkbox\" id=\"Agree\" data-error-msg=\"".$lang_agreement."\" required /><label for=\"Agree\">
";
// Insert hyperlink in relevant part of text
$agreetext=explode("!!!","$lang_terms");
print " ".$agreetext[0];
if (count($agreetext)>1)
print "<a href=\"$agreements\" target=\"_blank\" class=\"dcart\">".$agreetext[1]."</a>";
if (count($agreetext)>2)
print $agreetext[2];
print "</label>
";
print "</div>
";
print "</div>
";
}
print "<div class=\"form-group\">
";
if ($grechaptcha_signup=="Y")
print "<div class=\"g-recaptcha\" data-sitekey=\"".$grechaptcha_sitekey."\" data-callback=\"submitorderform\"></div>
";
print "<input type=\"submit\" class=\"btn btn-primary\" name=\"button2\" id=\"orderformbtn\" value=\"$lang_btn_checkout\"";
if ($grechaptcha_signup=="Y")
print " disabled=\"disabled\"";
print ">
";
print "</div>
";
print "</div>
";
print "</form>
";
}
if ($dcaction=="order") {
if (($grechaptcha_signup=="Y") && ($decgoogresp->success == false)) {
print "<script language=\"JavaScript\" type=\"text/javascript\">alert (\"".$lang_grechaptcha_err."\"); window.location=\"/\";</script>
";
exit;
}
if ($_SESSION['numberofitems'] > 0)
{
// This is the final step where we call the credit card handling service.
// Send email to vendor with order details. As this happens before the purchasers
// credit card is approved we should warn the vendor to verify order goes through.
$ordnum=(string) time(); // Unique vendor order number based on time and date.
// Get all form variables
reset($_POST);
while(list($namepair, $valuepair) = each($_POST))
{
$$namepair = $valuepair;
if (substr($namepair,0,2)=="cf")
{
$formname[]=substr($namepair,2,strlen($namepair)-2);
$formvalue[]=$valuepair;
}
}
// Create text for order details.
$total=0.00;
$recurringtotal=0.00;
$total_tax=0.00;
$discounttotal=0.00;
if (strcasecmp($cfpaymethod,"2CO")==0) {
$rate=$rate2co;
$gatewaycurrency="";
$symbolleft=$symbolleft2co;
$symbolright=$symbolright2co;
}
if (strcasecmp($cfpaymethod,"Paypal")==0) {
$rate=$paypalrate;
$gatewaycurrency=$paypalcurrency;
$symbolleft=$paypalsymbolleft;
$symbolright=$paypalsymbolright;
}
if (strcasecmp($cfpaymethod,"Skrill")==0) {
$rate=$skrillrate;
$gatewaycurrency=$skrillcurrency;
$symbolleft=$skrillsymbolleft;
$symbolright=$skrillsymbolright;
}
if (strcasecmp($cfpaymethod,"Nochex")==0) {
$rate=$nochexrate;
$gatewaycurrency="";
$symbolleft=$nochexsymbolleft;
$symbolright=$nochexsymbolright;
}
if (strcasecmp($cfpaymethod,"EGold")==0) {
$rate=$egoldrate;
$gatewaycurrency="";
$symbolleft=$egoldsymbolleft;
$symbolright=$egoldsymbolright;
}
if (strcasecmp($cfpaymethod,"Worldpay")==0) {
$rate=$wprate;
$gatewaycurrency=$wpcurrency;
$symbolleft=$wpsymbolleft;
$symbolright=$wpsymbolright;
}
if (strcasecmp($cfpaymethod,"IdealING")==0) {
$rate=$idealINGrate;
$gatewaycurrency=$idealINGcurrency;
$symbolleft=$idealINGsymbolleft;
$symbolright=$idealINGsymbolright;
}
if (strcasecmp($cfpaymethod,"IdealRABO")==0) {
$rate=$idealRABOrate;
$gatewaycurrency=$idealRABOcurrency;
$symbolleft=$idealRABOsymbolleft;
$symbolright=$idealRABOsymbolright;
}
if (strcasecmp($cfpaymethod,"IdealABNAMRO")==0) {
$rate=$idealABNAMROrate;
$gatewaycurrency=$idealABNAMROcurrency;
$symbolleft=$idealABNAMROsymbolleft;
$symbolright=$idealABNAMROsymbolright;
}
if (strcasecmp($cfpaymethod,"Paymate")==0) {
$rate=$paymaterate;
$gatewaycurrency=$paymatecurrency;
$symbolleft=$paymatesymbolleft;
$symbolright=$paymatesymbolright;
}
if (strcasecmp($cfpaymethod,"CDGCommerce")==0) {
$rate=$cdgrate;
$gatewaycurrency="";
$symbolleft=$cdgsymbolleft;
$symbolright=$cdgsymbolright;
}
if (strcasecmp($cfpaymethod,"Authorize.net")==0) {
$rate=$authrate;
$gatewaycurrency=$authcurrency;
$symbolleft=$authsymbolleft;
$symbolright=$authsymbolright;
}
if (strcasecmp($cfpaymethod,"Payza")==0) {
$rate=$payzarate;
$gatewaycurrency=$payzacurrency;
$symbolleft=$payzasymbolleft;
$symbolright=$payzasymbolright;
}
if (strcasecmp($cfpaymethod,"OKPAY")==0) {
$rate=$okrate;
$gatewaycurrency=$okcurrency;
$symbolleft=$oksymbolleft;
$symbolright=$oksymbolright;
}
if (strcasecmp($cfpaymethod,"Cashu")==0) {
$rate=$cashurate;
$gatewaycurrency=$cashucurrency;
$symbolleft=$cashusymbolleft;
$symbolright=$cashusymbolright;
}
if (strcasecmp($cfpaymethod,"DIXIPAY")==0) {
$rate=$dixipayrate;
$gatewaycurrency="$dixipaycurrency";
$symbolleft=$dixisymbolleft;
$symbolright=$dixisymbolright;
}
if (strcasecmp($cfpaymethod,"OneCard")==0) {
$rate=$onecardrate;
$gatewaycurrency=$onecardcurrency;
$symbolleft=$onecardsymbolleft;
$symbolright=$onecardsymbolright;
}
if (strcasecmp($cfpaymethod,"CCAvenue")==0) {
$rate=$ccavenuerate;
$gatewaycurrency=$ccavenuecurrency;
$symbolleft=$ccavenuesymbolleft;
$symbolright=$ccavenuesymbolright;
}
if (strcasecmp($cfpaymethod,"PayFast")==0) {
$rate=$payfastrate;
$gatewaycurrency=$payfastcurrency;
$symbolleft=$payfastsymbolleft;
$symbolright=$payfastsymbolright;
}
if (strcasecmp($cfpaymethod,"Stripe")==0) {
$rate=$striperate;
$gatewaycurrency=$stripecurrency;
$symbolleft=$stripesymbolleft;
$symbolright=$stripesymbolright;
}
if (strcasecmp($cfpaymethod,"Payeer")==0) {
$rate=$payeerrate;
$gatewaycurrency=$payeercurrency;
$symbolleft=$payeersymbolleft;
$symbolright=$payeersymbolright;
}
if (strcasecmp($cfpaymethod,"SolidTrustPay")==0) {
$rate=$stprate;
$gatewaycurrency=$stpcurrency;
$symbolleft=$stpsymbolleft;
$symbolright=$stpsymbolright;
}
if (strcasecmp($cfpaymethod,"PerfectMoney")==0) {
$rate=$perfectmoneyrate;
$gatewaycurrency=$perfectmoneycurrency;
$symbolleft=$perfectmoneysymbolleft;
$symbolright=$perfectmoneysymbolright;
}
if (strcasecmp($cfpaymethod,"Payulatam")==0) {
$rate=$payulatamrate;
$gatewaycurrency=$payulatamcurrency;
$symbolleft=$payulatamsymbolleft;
$symbolright=$payulatamsymbolright;
}
if (strcasecmp($cfpaymethod,"Manual")==0) {
$rate=$manualrate;
$gatewaycurrency=$manualcurrency;
$symbolleft=$manualsymbolleft;
$symbolright=$manualsymbolright;
}
if (strcasecmp($cfpaymethod,"CPG")==0) {
$rate=$cpgrate;
$gatewaycurrency=$cpgcurrency;
$symbolleft=$cpgsymbolleft;
$symbolright=$cpgsymbolright;
}
if (($autocurrencyconverter=="Y") && ($gatewaycurrency!="") && ($gatewaycurrency!=$currencycode))
$autorate=currency($currencycode,$gatewaycurrency,1);
if ($autorate>0)
$rate=$autorate;
$orderdetails.="<table cellpadding=\"0\" cellspacing=\"0\" style=\"border:1px solid #ccc;border-right:none;width:100%;max-width:720px;\"><tr><td style=\"border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:5px; color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">".$lang_description."</td><td style=\"border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:5px; color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">".$lang_subtotal."</td></tr>";
for ($k=1;$k<=$_SESSION['numberofitems'];$k++)
{
if ($_SESSION['removed'.$k]==False)
{
$subtotal=0;
$discount=0;
$orderdetails.="<tr><td valign=\"top\" style=\"border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:5px; color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
if ($_SESSION['regtype'.$k]=="H")
$orderdetails.="$lang_hosting_only"." ".$_SESSION['domain'.$k];
if ($_SESSION['regtype'.$k]=="R")
{
$regprice=$_SESSION['regprice'.$k];
$regprice=$regprice*$rate;
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($regprice * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
$regprice=sprintf("%01.2f",$regprice);
$orderdetails.="$lang_register"." ".$_SESSION['domain'.$k];
$orderdetails.=" ".$_SESSION['regperiod'.$k]." "."$lang_year"." ".$symbolleft.$regprice.$symbolright;
$subtotal=$subtotal+$regprice;
}
if ($_SESSION['regtype'.$k]=="T")
{
$regprice=$_SESSION['regprice'.$k];
$regprice=$regprice*$rate;
if (($coupondiscount!="0") && ($coupondiscountdomain>0) && ($_SESSION['regprice'.$k] >= $coupondiscountdomainmin))
{
if ($coupondiscounttypedomain=="P")
$discount = ($discount + ($regprice * $coupondiscountdomain));
else
$discount = $discount + $coupondiscountdomain;
}
$regprice=sprintf("%01.2f",$regprice);
$orderdetails.="$lang_transfer"." ".$_SESSION['domain'.$k];
$orderdetails.=" ".$_SESSION['regperiod'.$k]." "."$lang_year"." ".$symbolleft.$regprice.$symbolright;
$subtotal=$subtotal+$regprice;
}
// If hosting options listed and user selected one with value greater than 0 then show it
if (($numhosting>0) && ($_SESSION['hostingdesc'.$k]!=""))
{
$hostingprice=$_SESSION['hostingprice'.$k];
$hostingprice=$hostingprice*$rate;
$hostingsetup=$_SESSION['hostingsetup'.$k];
$hostingsetup=$hostingsetup*$rate;
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($_SESSION['hostingprice'.$k]>=$coupondiscounthostingmin))
{
if ($coupondiscounttypehosting=="P")
$discount = ($discount + ($hostingprice * $coupondiscounthosting));
else
$discount = $discount+$coupondiscounthosting;
}
$hostingprice=sprintf("%01.2f",$hostingprice);
$hostingsetup=sprintf("%01.2f",$hostingsetup);
if ($_SESSION['hostingsetup'.$k]>0)
$orderdetails.=", ".$_SESSION['hostingdesc'.$k]." ".$symbolleft.$hostingprice.$symbolright." ("."$lang_setup"." ".$symbolleft.$hostingsetup.$symbolright.")";
if ($_SESSION['hostingsetup'.$k]==0)
$orderdetails.=", ".$_SESSION['hostingdesc'.$k]." ".$symbolleft.$hostingprice.$symbolright;
$subtotal=$subtotal+$hostingsetup+$hostingprice;
if ($_SESSION['hostingrecurr'.$k]!="S") {
if (($coupondiscount!="0") && ($coupondiscounthosting>0) && ($_SESSION['hostingprice'.$k]>=$coupondiscounthostingmin) && ($coupondiscounthostingtype=="R"))
{
if ($coupondiscounttypehosting=="P")
$hostingprice = ($hostingprice - ($hostingprice * $coupondiscounthosting));
else
$hostingprice = $hostingprice-$coupondiscounthosting;
}
if (($tax > 0) && ($tax!="")) {
$product_tax=$hostingprice*($tax/100);
$hostingprice=$hostingprice+$product_tax;
}
$recurringtotal=$recurringtotal+$hostingprice;
$recurringtotal=sprintf("%01.2f",$recurringtotal);
}
$orderdetails.="</td>";
}
$orderdetails.="<td valign=\"top\" style=\"border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:5px; color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
$orderdetails.=$symbolleft.sprintf("%01.2f",$subtotal).$symbolright;
$orderdetails.="</td></tr>";
$subtotal=$subtotal-$discount;
if (($tax > 0) && ($tax!="")) {
$sub_tax=$subtotal*($tax/100);
$subtotal=$subtotal+$sub_tax;
$total_tax=$total_tax+$sub_tax;
}
$total=$total+$subtotal;
$discounttotal=$discounttotal+$discount;
}
}
$total=sprintf("%01.2f",$total);
if ($discounttotal>0) {
$orderdetails.="<tr><td align=\"right\" style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">$lang_discount</td><td style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
$orderdetails.="-".$symbolleft.sprintf("%01.2f",$discounttotal).$symbolright;
$orderdetails.="</td></tr>";
}
if (($tax > 0) && ($tax!="")) {
$orderdetails.="<tr><td align=\"right\" style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">$lang_tax</td><td style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
$orderdetails.=$symbolleft.sprintf("%01.2f",$total_tax).$symbolright;
$orderdetails.="</td></tr>";
}
if ($recurringtotal>0) {
$orderdetails.="<tr><td align=\"right\" style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">$lang_total_due_now</td><td style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">";
$orderdetails.=$symbolleft.$total.$symbolright;
$orderdetails.="</td></tr>";
$orderdetails.="<tr><td align=\"right\" style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">$lang_monthly_fee</td><td style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">";
$orderdetails.=$symbolleft.$recurringtotal.$symbolright;
$orderdetails.="</td></tr>";
}
else {
$orderdetails.="<tr><td align=\"right\" style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">$lang_total</td><td style=\"border:0px; border-right:1px solid #ccc; padding:5px;color:#333;font-family:Arial,sans-serif;font-size:12px;font-weight: bold;\">";
$orderdetails.=$symbolleft.$total.$symbolright;
$orderdetails.="</td></tr>";
}
$orderdetails.="</table>";
$cfemail = $_POST['cfemail'];
$cfname = $_POST['cfname'];
// Email for vendor
$mailBody="";
$mailBody.="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset."\"></head><body><div style=\"color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
for ($i=0;$i<count($vemail);$i++)
{
$lne=$vemail[$i];
if (is_integer(strpos($lne,"!!!orderdetails!!!")))
{
// Insert order details here
$mailBody.="<p>".$orderdetails."</p>";
continue;
}
if (is_integer(strpos($lne,"!!!formfields!!!")))
{
// Insert form fields here
for ($j=0;$j<count($formname);$j++)
$mailBody.="<div style=\"color:#333;font-family:Arial,sans-serif;font-size:12px;\">".$formname[$j].": ".$formvalue[$j]."</div>";
$mailBody.="ipaddress: ".$_SERVER['REMOTE_ADDR']."<br />";
continue;
}
$lne=preg_replace('/!!!vendorcompany!!!/i',$vendorcompany,$lne);
$lne=preg_replace('/!!!vendoremail!!!/i',$vendoremail,$lne);
$lne=preg_replace('/!!!sendtoorder!!!/i',$sendtoorder,$lne);
$lne=preg_replace('/!!!ordnum!!!/i',$ordnum,$lne);
$lne=preg_replace('/!!!ipaddress!!!/i',$_SERVER['REMOTE_ADDR'],$lne);
for ($j=0;$j<count($formname);$j++)
$lne=preg_replace('/!!!'.$formname[$j].'!!!/i',$formvalue[$j],$lne);
if ($i==0)
$subject=$lne;
else
$mailBody.=$lne."<br />";
}
$mailBody.="</div></body></html>";
SendEmailOut($sendtoorder, $cfemail, $cfname, $subject, $mailBody);
// Send email to buyer confirming order.
$subject=$cemail[0];
$mailBody="";
$mailBody.="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset."\"></head><body><div style=\"color:#333;font-family:Arial,sans-serif;font-size:12px;\">";
for ($i=0;$i<count($cemail);$i++)
{
$lne=$cemail[$i];
if (is_integer(strpos($lne,"!!!orderdetails!!!")))
{
// Insert order details here
$mailBody.="<p>".$orderdetails."</p>";
continue;
}
if (is_integer(strpos($lne,"!!!formfields!!!")))
{
// Insert form fields here
for ($j=0;$j<count($formname);$j++)
$mailBody.=$formname[$j].": ".$formvalue[$j]."<br />";
continue;
}
$lne=preg_replace('/!!!vendorcompany!!!/i',$vendorcompany,$lne);
$lne=preg_replace('/!!!vendoremail!!!/i',$vendoremail,$lne);
$lne=preg_replace('/!!!ordnum!!!/i',$ordnum,$lne);
$lne=preg_replace('/!!!ipaddress!!!/i',$_SERVER['REMOTE_ADDR'],$lne);
for ($j=0;$j<count($formname);$j++)
$lne=preg_replace('/!!!'.$formname[$j].'!!!/i',$formvalue[$j],$lne);
if ($i==0)
$subject=$lne;
else
$mailBody.=$lne."<br />";
}
$mailBody.="</div></body></html>";
SendEmailOut($cfemail, $vendoremail, $vendorcompany, $subject, $mailBody);
if (($clickatell_user!="") && ($clickatell_pass!="") && ($clickatell_api_id!="") && ($clickatell_to!="") && ($lang_smstext!="")){
require("class.sendsms.php");
$lang_smstext=preg_replace('/!!!ordnum!!!/',$ordnum,$lang_smstext);
$lang_smstext=preg_replace('/!!!name!!!/',$cfname,$lang_smstext);
$lang_smstext=preg_replace('/!!!surname!!!/',$cfsurname,$lang_smstext);
$lang_smstext=preg_replace('/!!!vendorcompany!!!/',$vendorcompany,$lang_smstext);
$lang_smstext=preg_replace('/!!!email!!!/',$cfemail,$lang_smstext);
$lang_smstext=preg_replace('/!!!mobile!!!/',$cfmobile,$lang_smstext);
$to=$clickatell_to;
$to.=",".$cfmobile;
$sendsms = new SendSMS($clickatell_user,$clickatell_pass,$clickatell_api_id);
if(($sendsms->login())!=0)
$sendsms->send($to,$clickatell_from,$lang_smstext);
}
// Now get payment processed. Use chosen system
$cfpaymethod = $_POST['cfpaymethod'];
//remove all the variables in the session
session_unset();
// this would destroy the session variables
session_destroy();
// 2checkout.com payment processing
if (strcasecmp($cfpaymethod,"2CO")==0)
{
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://www.2checkout.com/checkout/purchase?sid=$vendorid2co&total=$total&cart_order_id=$ordnum\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// PayPal payment processing
if (strcasecmp($cfpaymethod,"PayPal")==0)
{
$paypaldesc=urlencode($paypaldesc);
// See if we need to do one off or recurring billing
if ($recurringtotal>0)
{
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://www.paypal.com/subscriptions/business=$paypalemail&item_name=$paypaldesc&item_number=$ordnum&no_note=1¤cy_code=$paypalcurrency&lc=$paypallanguage&return=$paypalreturn&cancel_return=$paypalcancel&invoice=$ordnum&a1=$total&p1=1&t1=M&a3=$recurringtotal&p3=1&t3=M&src=1&sra=1&no_shipping=1\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
else
{
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=$paypalemail&item_name=$paypaldesc&item_number=$ordnum&amount=$total&no_note=1¤cy_code=$paypalcurrency&lc=$paypallanguage&return=$paypalreturn&cancel_return=$paypalcancel&invoice=$ordnum&no_shipping=1\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
}
// Skrill payment processing
if (strcasecmp($cfpaymethod,"Skrill")==0)
{
print "<form name=\"skrillform\" action=\"https://pay.skrill.com\" method=\"post\" target=\"_top\">
";
print "<input type=\"hidden\" name=\"pay_to_email\" value=\"$skrillemail\">
";
print "<input type=\"hidden\" name=\"transaction_id\" value=\"$ordnum\">
";
print "<input type=\"hidden\" name=\"language\" value=\"$skrilllanguage\">
";
print "<input type=\"hidden\" name=\"currency\" value=\"$skrillcurrency\">
";
print "<input type=\"hidden\" name=\"amount\" value=\"$total\">
";
print "<input type=\"hidden\" name=\"detail1_description\" value=\"$skrilldesc\">
";
print "<input type=\"hidden\" name=\"detail1_text\" value=\"$skrilltext\">
";
print "<input type=\"hidden\" name=\"return_url\" value=\"$skrillreturn\">
";
print "<input type=\"hidden\" name=\"cancel_url\" value=\"$skrillcancel\">
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.skrillform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Nochex payment processing
if (strcasecmp($cfpaymethod,"Nochex")==0)
{
$nochexdesc=urlencode($nochexdesc);
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://secure.nochex.com/?merchant_id=$nochexmerchantid&amount=$total&order_id=$ordnum&description=$nochexdesc&success_url=$nochexsuccess&cancel_url=$nochexcancel\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// E-Gold.com payment processing
if (strcasecmp($cfpaymethod,"EGold")==0)
{
print "<form name=\"egoldform\" action=\"https://www.e-gold.com/sci_asp/payments.asp\" method=\"POST\" target=\"_top\">
";
print "<input type=\"hidden\" name=\"PAYEE_ACCOUNT\" value=\"$egoldid\">
";
print "<input type=\"hidden\" name=\"PAYEE_NAME\" value=\"$egoldname\">
";
print "<input type=\"hidden\" name=\"PAYMENT_AMOUNT\" value=\"$total\">
";
print "<input type=\"hidden\" name=\"PAYMENT_URL\" value=\"$egoldreturn\">
";
print "<input type=\"hidden\" name=\"NOPAYMENT_URL\" value=\"$egoldcancel\">
";
print "<input type=\"hidden\" name=\"PAYMENT_URL_METHOD\" value=\"LINK\">
";
print "<input type=\"hidden\" name=\"NOPAYMENT_URL_METHOD\" value=\"LINK\">
";
print "<input type=\"hidden\" name=\"BAGGAGE_FIELDS\" value=\"\">
";
print "<input type=\"hidden\" name=\"PAYMENT_UNITS\" value=\"$egoldunits\">
";
print "<input type=\"hidden\" name=\"PAYMENT_METAL_ID\" value=\"$egoldmetalid\">
";
print "<input type=\"hidden\" name=\"SUGGESTED_MEMO\" value=\"$egoldmemo\">
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.egoldform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Worldpay Futurepay payment processing
if (strcasecmp($cfpaymethod,"Worldpay")==0)
{
$wpdesc=urlencode($wpdesc);
// See if we need to do one off or recurring billing
if ($recurringtotal>0)
{
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://select.worldpay.com/wcc/purchase?instId=$wpinstid&cartId=$wpcartid&amount=$total&normalAmount=$recurringtotal¤cy=$wpcurrency&desc=$wpdesc&testMode=$wptest&futurePayType=regular&startDelayUnit=3&startDelayMult=1&intervalUnit=3&intervalMult=1&option=$wpoption&hideCurrency\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
else
{
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://select.worldpay.com/wcc/purchase?instId=$wpinstid&cartId=$wpcartid&amount=$total¤cy=$wpcurrency&desc=$wpdesc&authMode=E&hideCurrency\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
}
// Ideal ING payment processing
if (strcasecmp($cfpaymethod,"IdealING")==0)
{
$total=$total*100;
$idealINGdesc=urlencode($idealINGdesc);
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://ideal.secure-ing.com/ideal/mpiPayInitIng.do?merchantID=$idealINGid&subID=0&amount=$total&purchaseID=$ordnum&language=$idealINGlang¤cy=$idealINGcurrency&description=$idealINGdesc&itemNumber1=$idealINGitem&itemDescription1=$idealINGdesc&itemQuantity1=1&itemPrice1=$total&paymentType=ideal&validUntil=$idealINGvalid&urlCancel=$idealINGcancel&urlSuccess=$idealINGsuccess&urlError=$idealINGerror\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Ideal RABO payment processing
if (strcasecmp($cfpaymethod,"IdealRABO")==0)
{
$total=$total*100;
$idealRABOdesc=urlencode($idealRABOdesc);
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://ideal.rabobank.nl/ideal/mpiPayInitRabo.do?merchantID=$idealRABOid&subID=0&amount=$total&purchaseID=$ordnum&language=$idealRABOlang¤cy=$idealRABOcurrency&description=$idealRABOdesc&itemNumber1=$idealRABOitem&itemDescription1=$idealRABOdesc&itemQuantity1=1&itemPrice1=$total&paymentType=ideal&validUntil=$idealRABOvalid&urlCancel=$idealRABOcancel&urlSuccess=$idealRABOsuccess&urlError=$idealRABOerror\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Ideal ABN AMRO payment processing
if (strcasecmp($cfpaymethod,"IdealABNAMRO")==0)
{
$total=$total*100;
$idealABNAMROdesc=urlencode($idealABNAMROdesc);
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://ideal.abnamro.nl/ideal/mpiPayInitIng.do?merchantID=$idealABNAMROid&subID=0&amount=$total&purchaseID=$ordnum&language=$idealABNAMROlang¤cy=$idealABNAMROcurrency&description=$idealABNAMROdesc&itemNumber1=$idealABNAMROitem&itemDescription1=$idealABNAMROdesc&itemQuantity1=1&itemPrice1=$total&paymentType=ideal&validUntil=$idealABNAMROvalid&urlCancel=$idealABNAMROcancel&urlSuccess=$idealABNAMROsuccess&urlError=$idealABNAMROerror\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Paymate payment processing
if (strcasecmp($cfpaymethod,"Paymate")==0)
{
$paymatedesc=urlencode($paymatedesc);
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://www.paymate.com/PayMate/ExpressPayment?mid=$paymateid&amt=$total&ref=$paymatedesc¤cy=$paymatecurrency\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// cdgcommerce payment processing
if (strcasecmp($cfpaymethod,"CDGCommerce")==0)
{
$cdgdesc=urlencode($cdgdesc);
// See if we need to do one off or recurring billing
if ($recurringtotal>0)
{
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.location.replace(\"https://secure.paymentclearing.com/cgi-bin/mas/buynow.cgi?vendor_id=$cdgvendorid&home_page=$cdghome&showaddr=1&1-desc=$cdgdesc&1-cost=$total&1-qty=1&ret_addr=$cdgreturn&mername=$cdgmername&visaimage=1&mcimage=1&ameximage=1&discimage=1&dinerimage=1&acceptcards=1&recur_recipe=$cdgrecipe&recur_reps=999&recur_total=$recurringtotal&recur_desc=$cdgdesc\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
else
{
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.location.replace(\"https://secure.paymentclearing.com/cgi-bin/mas/buynow.cgi?vendor_id=$cdgvendorid&home_page=$cdghome&showaddr=1&1-desc=$cdgdesc&1-cost=$total&1-qty=1&ret_addr=$cdgreturn&mername=$cdgmername&visaimage=1&mcimage=1&ameximage=1&discimage=1&dinerimage=1&acceptcards=1\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
}
// Authorize.net payment processing
if (strcasecmp($cfpaymethod,"Authorize.net")==0)
{
$authdesc=urlencode($authdesc);
// Calculate authentication code
$tstamp = time ();
srand(time());
$sequence = rand(1, 1000);
$fingerprint = hmac($authtxnkey, $authloginid . "^" . $sequence . "^" . $tstamp . "^" . $total . "^" . $authcurrency);
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.location.replace(\"https://secure.authorize.net/gateway/transact.dll?x_Login=$authloginid&x_Description=$authdesc&x_Amount=$total&x_show_form=PAYMENT_FORM&x_FP_Sequence=$sequence&x_FP_Timestamp=$tstamp&x_FP_Hash=$fingerprint&x_Invoice_Num=$ordnum&x_Currency_Code=$authcurrency\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Payza payment processing
if (strcasecmp($cfpaymethod,"Payza")==0)
{
// See if we need to do one off or recurring billing
if ($recurringtotal>0)
{
print "<form name=\"payzaform\" action=\"https://secure.payza.eu/checkout\" method=\"post\" target=\"_top\">
";
print "<input name=\"ap_merchant\" type=\"hidden\" value=\"$payzamerchant\"/>
";
print "<input name=\"ap_purchasetype\" type=\"hidden\" value=\"subscription\"/>
";
print "<input name=\"ap_itemname\" type=\"hidden\" value=\"$payzaitemname\"/>
";
print "<input name=\"ap_amount\" type=\"hidden\" value=\"$recurringtotal\"/>
";
print "<input name=\"ap_setupamount\" type=\"hidden\" value=\"$total\"/>
";
print "<input name=\"ap_currency\" type=\"hidden\" value=\"$payzacurrency\"/>
";
print "<input name=\"ap_itemcode\" type=\"hidden\" value=\"$ordnum\"/>
";
print "<input name=\"ap_returnurl\" type=\"hidden\" value=\"$payzareturnurl\"/>
";
print "<input name=\"ap_cancelurl\" type=\"hidden\" value=\"$payzacancelurl\"/>
";
print "<input name=\"ap_timeunit\" type=\"hidden\" value=\"Month\"/>
";
print "<input name=\"ap_periodlength\" type=\"hidden\" value=\"1\"/>
";
print "<input name=\"ap_periodcount\" type=\"hidden\" value=\"0\"/>
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.payzaform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
else
{
print "<form name=\"payzaform\" action=\"https://secure.payza.eu/checkout\" method=\"post\" target=\"_top\">
";
print "<input name=\"ap_merchant\" type=\"hidden\" value=\"$payzamerchant\"/>
";
print "<input name=\"ap_purchasetype\" type=\"hidden\" value=\"service\"/>
";
print "<input name=\"ap_itemname\" type=\"hidden\" value=\"$payzaitemname\"/>
";
print "<input name=\"ap_amount\" type=\"hidden\" value=\"$total\"/>
";
print "<input name=\"ap_currency\" type=\"hidden\" value=\"$payzacurrency\"/>
";
print "<input name=\"ap_itemcode\" type=\"hidden\" value=\"$ordnum\"/>
";
print "<input name=\"ap_returnurl\" type=\"hidden\" value=\"$payzareturnurl\"/>
";
print "<input name=\"ap_cancelurl\" type=\"hidden\" value=\"$payzacancelurl\"/>
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.payzaform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
}
// OKPAY payment processing
if (strcasecmp($cfpaymethod,"OKPAY")==0)
{
$okdesc=urlencode($okdesc);
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://www.okpay.com/process.html?ok_receiver=$okreceiver&ok_currency=$okcurrency&ok_item_1_name=$okdesc&ok_item_1_price=$total&ok_invoice=$ordnum&ok_return_success=$oksuccess&ok_return_fail=$okfail\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Cashu payment processing
if (strcasecmp($cfpaymethod,"Cashu")==0)
{
// $token will have the MD5 digest value of the string.
$token = md5(strtolower($cashumerchantid).":".$total.":".strtolower($cashucurrency).":".$cashuencryptionkey);
print "<form name=\"cashuform\" action=\"https://www.cashu.com/cgi-bin/pcashu.cgi\" method=\"post\" target=\"_top\">
";
print "<input type=\"hidden\" name=\"merchant_id\" value=\"$cashumerchantid\">
";
print "<input type=\"hidden\" name=\"token\" value=\"$token\">
";
print "<input type=\"hidden\" name=\"display_text\" value=\"$cashudisplaytext\">
";
print "<input type=\"hidden\" name=\"currency\" value=\"$cashucurrency\">
";
print "<input type=\"hidden\" name=\"amount\" value=\"$total\">
";
print "<input type=\"hidden\" name=\"language\" value=\"$cashulanguage\">
";
print "<input type=\"hidden\" name=\"session_id\" value=\"".session_id()."\">
";
print "<input type=\"hidden\" name=\"txt1\" value=\"$ordnum\">
";
print "<input type=\"hidden\" name=\"test_mode\" value=\"0\">
";
print "<input type=\"hidden\" name=\"servicesName\" value=\"$cashuservicesname\">
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.cashuform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// DIXIPAY payment processing
if (strcasecmp($cfpaymethod,"DIXIPAY")==0)
{
$api_key = md5($ordnum.':'.$dixipayapikey);
print "<form name=\"dixipayform\" action=\"https://www.dixipay.com/order_api/index.php\" method=\"post\" target=\"_top\">
";
print "<input type=\"hidden\" name=\"recipient_account\" value=\"$dixipayrecipientacc\">
";
print "<input type=\"hidden\" name=\"recipient_name\" value=\"$dixipayrecipientname\">
";
print "<input type=\"hidden\" name=\"order\" value=\"$ordnum\">
";
print "<input type=\"hidden\" name=\"product\" value=\"$dixipayproduct\">
";
print "<input type=\"hidden\" name=\"url_return\" value=\"$dixipayurlreturn\">
";
print "<input type=\"hidden\" name=\"url_cancel\" value=\"$dixipayurlcancel\">
";
print "<input type=\"hidden\" name=\"url_status\" value=\"$dixipayurlstatus\">
";
print "<input type=\"hidden\" name=\"url_logo\" value=\"$dixipayurllogo\">
";
print "<input type=\"hidden\" name=\"lang\" value=\"$dixipaylang\">
";
print "<input type=\"hidden\" name=\"amount\" value=\"$total\">
";
print "<input type=\"hidden\" name=\"currency\" value=\"$dixipaycurrency\">
";
print "<input type=\"hidden\" name=\"api_key\" value=\"$api_key\">
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.dixipayform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// OneCard payment processing
if (strcasecmp($cfpaymethod,"OneCard")==0)
{
$onecardtimein=time();
$onecardhashkey=md5($onecardmerchid.$ordnum.$total.$onecardcurrency.$onecardtimein.$onecardtranskey);
print "<form name=\"onecardform\" action=\"https://www.onecard.net/customer/integratedPayment.html\" method=\"post\" target=\"_top\">
";
print "<input type=\"hidden\" name=\"OneCard_MerchID\" value=\"$onecardmerchid\" />
";
print "<input type=\"hidden\" name=\"OneCard_TransID\" value=\"$ordnum\" />
";
print "<input type=\"hidden\" name=\"OneCard_Amount\" value=\"$total\" />
";
print "<input type=\"hidden\" name=\"OneCard_Currency\" value=\"$onecardcurrency\" />
";
print "<input type=\"hidden\" name=\"OneCard_Timein\" value=\"$onecardtimein\" />
";
print "<input type=\"hidden\" name=\"OneCard_MProd\" value=\"$onecardmprod\" />
";
print "<input type=\"hidden\" name=\"OneCard_ReturnURL\" value=\"$onecardreturnurl\" />
";
print "<input type=\"hidden\" name=\"OneCard_HashKey\" value=\"$onecardhashkey\" />
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.onecardform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// CCAvenue payment processing
if (strcasecmp($cfpaymethod,"CCAvenue")==0)
{
$ccavenuechecksum = getccavenuechecksum($ccavenuemerchantid,$total,$ordnum ,$ccavenueredirecturl,$ccavenueworkingkey); // Validate All value
//creating a signature using the given details for security reasons
function getccavenuechecksum($ccavenuemerchantid,$total,$ordnum ,$ccavenueredirecturl,$ccavenueworkingkey) {
$str ="$ccavenuemerchantid|$ordnum|$total|$ccavenueredirecturl|$ccavenueworkingkey";
$adler = 1;
$adler = adler32($adler,$str);
return $adler;
}
//functions
function adler32($adler , $str) {
$BASE = 65521 ;
$s1 = $adler & 0xffff ;
$s2 = ($adler >> 16) & 0xffff;
for($i = 0 ; $i < strlen($str) ; $i++) {
$s1 = ($s1 + Ord($str[$i])) % $BASE ;
$s2 = ($s2 + $s1) % $BASE ;
}
return leftshift($s2 , 16) + $s1;
}
//leftshift function
function leftshift($str , $num) {
$str = DecBin($str);
for( $i = 0 ; $i < (64 - strlen($str)) ; $i++)
$str = "0".$str ;
for($i = 0 ; $i < $num ; $i++) {
$str = $str."0";
$str = substr($str , 1 );
}
return cdec($str) ;
}
//cdec function
function cdec($num) {
for ($n = 0 ; $n < strlen($num) ; $n++) {
$temp = $num[$n] ;
$dec = $dec + $temp*pow(2 , strlen($num) - $n - 1);
}
return $dec;
}
print "<form name=\"ccavenueform\" action=\"https://www.ccavenue.com/shopzone/cc_details.jsp\" method=\"post\" target=\"_top\">
";
print "<input name=\"Merchant_Id\" type=\"hidden\" value=\"$ccavenuemerchantid\"/>
";
print "<input name=\"Amount\" type=\"hidden\" value=\"$total\"/>
";
print "<input name=\"Order_Id\" type=\"hidden\" value=\"$ordnum\"/>
";
print "<input name=\"Redirect_Url\" type=\"hidden\" value=\"$ccavenueredirecturl\"/>
";
print "<input name=\"TxnType\" type=\"hidden\" value=\"A\"/>
";
print "<input name=\"ActionID\" type=\"hidden\" value=\"TXN\"/>
";
print "<input name=\"Checksum\" type=\"hidden\" value=\"$ccavenuechecksum\"/>
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.ccavenueform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// PayFast payment processing
if (strcasecmp($cfpaymethod,"PayFast")==0)
{
print "<form name=\"payfastform\" action=\"https://www.payfast.co.za/eng/process\" method=\"post\" target=\"_top\">
";
print "<input name=\"merchant_id\" type=\"hidden\" value=\"$payfastmerchantid\"/>
";
print "<input name=\"merchant_key\" type=\"hidden\" value=\"$payfastmerchantkey\"/>
";
print "<input name=\"amount\" type=\"hidden\" value=\"$total\"/>
";
print "<input name=\"return_url\" type=\"hidden\" value=\"$payfastreturnurl\"/>
";
print "<input name=\"cancel_url\" type=\"hidden\" value=\"$payfastcancelurl\"/>
";
print "<input name=\"item_name\" type=\"hidden\" value=\"$ordnum\"/>
";
print "<input name=\"item_description\" type=\"hidden\" value=\"$payfastdesc\"/>
";
print "<input name=\"m_payment_id\" type=\"hidden\" value=\"$ordnum\"/>
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.payfastform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Stripe payment processing
if (strcasecmp($cfpaymethod,"Stripe")==0)
{
$stripeamount=$total*100;
print "<form action=\"$stripeaction\" method=\"POST\" class=\"stripeform\">
";
print "<script
";
print "src=\"https://checkout.stripe.com/checkout.js\" class=\"stripe-button\"
";
print "data-key=\"$stripekey\"
";
print "data-image=\"$stripeimage\"
";
print "data-name=\"$stripename\"
";
print "data-description=\"$ordnum\"
";
print "data-amount=\"$stripeamount\"
";
print "data-locale=\"$stripelocale\"
";
print "data-currency=\"$stripecurrency\"
";
print "data-bitcoin=\"$stripebitcoin\"
";
print "data-alipay=\"$stripealipay\"
";
print "data-alipay-reusable=\"$stripealipayreusable\">
";
print "</script>
";
print "</form>
";
}
// Payeer payment processing
if (strcasecmp($cfpaymethod,"Payeer")==0)
{
$payeerdesc=base64_encode($payeerdesc);
$total = number_format(100, 2, '.', '');
$arHash = array(
$payeershop,
$ordnum,
$total,
$payeercurrency,
$payeerdesc,
$payeerkey
);
$sign = strtoupper(hash('sha256', implode(':', $arHash)));
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"https://payeer.com/merchant/?m_shop=$payeershop&m_orderid=$ordnum&m_amount=$total&m_curr=$payeercurrency&m_desc=$payeerdesc&m_sign=$sign&m_process=send\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// PerfectMoney payment processing
if (strcasecmp($cfpaymethod,"PerfectMoney")==0)
{
print "<form name=\"perfectmoneyform\" action=\"https://perfectmoney.is/api/step1.asp\" method=\"post\">
";
print "<input type=\"hidden\" name=\"SUGGESTED_MEMO\" value=\"$perfectmoneydesc\">
";
print "<input type=\"hidden\" name=\"PAYMENT_ID\" value=\"$ordnum\" />
";
print "<input type=\"hidden\" name=\"PAYMENT_AMOUNT\" value=\"$total\" />
";
print "<input type=\"hidden\" name=\"PAYEE_ACCOUNT\" value=\"$perfectmoneyid\" />
";
print "<input type=\"hidden\" name=\"PAYMENT_UNITS\" value=\"$perfectmoneycurrency\" />
";
print "<input type=\"hidden\" name=\"PAYEE_NAME\" value=\"$perfectmoneycompanyname\" />
";
print "<input type=\"hidden\" name=\"PAYMENT_URL\" value=\"$perfectmoneypaymenturl\" />
";
print "<input type=\"hidden\" name=\"PAYMENT_URL_METHOD\" value=\"LINK\" />
";
print "<input type=\"hidden\" name=\"NOPAYMENT_URL\" value=\"$perfectmoneynopaymenturl\" />
";
print "<input type=\"hidden\" name=\"NOPAYMENT_URL_METHOD\" value=\"LINK\" />
";
print "<input type=\"hidden\" name=\"STATUS_URL\" value=\"$perfectmoneystatusurl\" />
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.perfectmoneyform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// SolidTrustPay payment processing
if (strcasecmp($cfpaymethod,"SolidTrustPay")==0)
{
$stpitemid=urlencode($stpitemid);
print "<form name=\"solidtrustpayform\" action=\"https://solidtrustpay.com/handle_accver.php\" method=\"post\" target=\"_top\">
";
print "<input name=\"merchantAccount\" type=\"hidden\" value=\"$stpmerchant\"/>
";
print "<input name=\"amount\" type=\"hidden\" value=\"$total\"/>
";
print "<input name=\"currency\" type=\"hidden\" value=\"$stpcurrency\"/>
";
print "<input name=\"item_id\" type=\"hidden\" value=\"$ordnum\"/>
";
print "<input name=\"confirm_url\" type=\"hidden\" value=\"$stpconfirm\"/>
";
print "<input name=\"return_url\" type=\"hidden\" value=\"$stpreturn\"/>
";
print "<input name=\"cancel_url\" type=\"hidden\" value=\"$stpcancel\"/>
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.solidtrustpayform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Payulatam payment processing
if (strcasecmp($cfpaymethod,"Payulatam")==0)
{
// $signature will have the MD5 digest value of the string.
$signature = md5($payulatamapikey."~".$payulatammerchantid."~".$ordnum."~".$total."~".$payulatamcurrency);
print "<form name=\"payulatamform\" method=\"post\" action=\"https://gateway.payulatam.com/ppp-web-gateway/\" target=\"_top\">
";
print "<input name=\"merchantId\" type=\"hidden\" value=\"$payulatammerchantid\" >
";
print "<input name=\"accountId\" type=\"hidden\" value=\"$payulatamaccountid\" >
";
print "<input name=\"description\" type=\"hidden\" value=\"$payulatamdesc\" >
";
print "<input name=\"referenceCode\" type=\"hidden\" value=\"$ordnum\" >
";
print "<input name=\"amount\" type=\"hidden\" value=\"$total\" >
";
print "<input name=\"tax\" type=\"hidden\" value=\"$payulatamtax\" >
";
print "<input name=\"taxReturnBase\" type=\"hidden\" value=\"$payulatamtaxreturnbase\" >
";
print "<input name=\"currency\" type=\"hidden\" value=\"$payulatamcurrency\" >
";
print "<input name=\"signature\" type=\"hidden\" value=\"$signature\" >
";
print "<input name=\"test\" type=\"hidden\" value=\"$payulatamtest\" >
";
print "<input name=\"buyerEmail\" type=\"hidden\" value=\"$cfemail\" >
";
print "<input name=\"responseUrl\" type=\"hidden\" value=\"$payulatamresponseurl\" >
";
print "<input name=\"confirmationUrl\" type=\"hidden\" value=\"$payulatamconfirmationurl\" >
";
print "</form>
";
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "document.payulatamform.submit()
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Manual payment processing
if (strcasecmp($cfpaymethod,"Manual")==0)
{
print "<script language=\"JavaScript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"$manualreturn\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
// Your payment gateway
if (strcasecmp($cfpaymethod,"CPG")==0)
{
// See if we need to do one off or recurring billing
if ($recurringtotal>0)
{
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location.replace(\"$cpgurl?$cpgordernum=$ordnum&$cpgtotal=$total&$cpgrecurringtotal=$recurringtotal&$cpgother\")
";
print "// - JavaScript - -->
";
print "</script>
";
}
else
{
print "<script language=\"JavaScript\" type=\"text/javascript\">
";
print "<!-- JavaScript
";
print "window.top.location=\"$cpgurl?$cpgordernum=$ordnum&$cpgtotal=$total&$cpgother\"
";
print "// - JavaScript - -->
";
print "</script>
";
}
}
}
else
{
print "<script language=\"JavaScript\" type=\"text/javascript\">alert (\"$lang_minimum_order_amount$symbolleft$minimum_order_amount$symbolright\"); window.location=\"/\";</script>
";
exit;
}
}
function hmac($key, $data)
{
// If key is longer than 64 then hash it
if (strlen($key)>64)
$key=md5($key);
// If key is shorter than 64 then pad 0's
if (strlen($key)<64)
{
for ($k=strlen($key);$k<64;$k++)
$key=$key.chr(0);
}
// xor converted key with ipad
$str1="";
for ($k=0;$k<64;$k++)
$str1.=chr(ord($key[$k])^0x36);
// Append data
$str1=$str1.$data;
// Hash str1
$str1=cwhex2bin(md5($str1));
// xor converted key with opad
$str2="";
for ($k=0;$k<64;$k++)
$str2.=chr(ord($key[$k])^0x5C);
// Append str1 to str2
$str2.=$str1;
// Finally hash result
$str2=md5($str2);
return($str2);
}
function cwhex2bin($s)
{
for ($i=0;$i< strlen($s);$i+=2)
{
$bin.=chr(hexdec(substr($s,$i,2)));
}
return $bin;
}
function SendEmailOut($toemail, $fromemail, $fromname, $subject, $mailBody)
{
// Remove any comma in from name
$fromname = str_replace(",", " ", $fromname);
// Handle multiple email addresses
$sendtoemail=explode(",",$toemail);
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsHTML(true);
$mail->Sender = $fromemail;
$mail->From = $fromemail;
$mail->FromName = $fromname;
for ($k=0; $k<count($sendtoemail); $k++)
$mail->AddAddress($sendtoemail[$k]);
$mail->Subject = $subject;
$mail->Body = $mailBody;
if(!$mail->Send())
{
print "<script language=\"JavaScript\" type=\"text/javascript\">alert (\"$lang_mailer_error".$mail->ErrorInfo."\"); window.location=\"/\";</script>
";
exit;
}
}
function Whois($dom,$domt,&$RegDetails)
{
global $ws;
$dom=trim($dom);
$domt=trim($domt);
// Check referer
if (1!=CheckReferer())
{
return(4); // Referer is not allowed
}
$dom=accentstrtolower($dom);
$domt=strtolower($domt);
// Remove http://www. or www. if user added this
if (strcmp("http://www.",substr($dom,0,11))==0)
$dom=substr($dom,11,strlen($dom)-11);
if (strcmp("http://",substr($dom,0,7))==0)
$dom=substr($dom,7,strlen($dom)-7);
// If $domt is blank then try to get it
$found=0;
if ($domt=="")
{
// Treat .name slightly differently
if (substr($dom,strlen($dom)-5,5)==".name")
{
$domt=".name";
$dom=substr($dom,0,strlen($dom)-5);
$found=1;
}
else
{
// Get domain extension by taking everything from first '.'
$pos=strpos($dom,".");
if (is_integer($pos))
{
$pdomt=substr($dom,$pos,strlen($dom)-$pos);
}
for ($index=0;$index<count($ws);$index++)
{
$dt=strtok($ws[$index],",");
if (strcasecmp($dt,$pdomt)==0)
{
$domt=$pdomt;
$dom=substr($dom,0,strlen($dom)-strlen($dt));
$found=1;
break;
}
}
}
if ($found==0)
{
return(2); // Domain extension not recognised
}
}
if (1!=CheckValidDomain($dom,$domt))
{
return(3); // Not a valid domain name
}
$serv="";
for ($index=0;$index<count($ws);$index++)
{
if (strtok($ws[$index],",")==$domt)
{
$serv=strtok(",");
$no=strtok(",");
break;
}
}
if ($serv=="")
{
return(2); // Domain type not recognised
}
$available=0;
// Add support for domains that have no whois server but use a script to perform lookup.
// Whois server is actually a function name flagged with a * as the first character which we remove.
if (substr($serv,0,1)=="*")
{
$func=substr($serv,1,strlen($serv)-1);
return($func($dom,$domt,$RegDetails)); // Return direct from handling function
}
// If no whois server we can try a DNS check for a name server.
if (strtolower(substr($serv,0,2))=="ns")
{
$RegDetails[]="Whois data not available";
if (@checkdnsrr($dom.$domt,"NS")==false)
return(0);
return(1);
}
// Connect using normal whois server method
$noserv2=0;
if ($RegDetails=="*")
{
$RegDetails="";
$noserv2=1;
}
//exec("whois -h $serv $dom$domt",$RegDetails,$ReturnValue);
//exec("fwhois $dom$domt@$serv",$RegDetails,$ReturnValue);
$rsck=wh($serv,$dom,$domt,$RegDetails,$buf);
// If checking .com or .net then also try whois.internic.net instead if failed
if (($domt==".com") || ($domt==".net"))
{
if ((count($RegDetails)<=1) || ($rsck==0))
{
$rsck=wh("whois.internic.net",$dom,$domt,$RegDetails,$buf);
if ((count($RegDetails)<=1) || ($rsck==0))
return(5); // No connection of blocked etc for .com or .net
}
}
if ((count($RegDetails)==0) || ($rsck==0))
{
return(5); // No connection to whois server made
}
$serv2="";
for($index=0;$index<count($RegDetails);$index++)
{
$lne=strtolower($RegDetails[$index]);
$pos=strpos($lne,"whois server:");
if (is_integer($pos))
{
$serv2=substr($lne,$pos+13,strlen($RegDetails[$index])-13);
$serv2=trim($serv2);
}
}
// Normally we check for a phrase that exists when domain name is not found.
// First check to see if we are doing the reverse
$no=str_replace("!!!dom!!!",$dom,$no);
$no=str_replace("!!!domt!!!",$domt,$no);
if (substr($no,0,4)=="<!?>")
{
$no=substr($no,4,strlen($no)-4);
$available=1;
$pos=strpos(strtolower($buf),$no);
if (is_integer($pos))
{
$available=0;
}
}
else
{
$available=0;
$pos=strpos(strtolower($buf),$no);
if (is_integer($pos))
{
$available=1;
}
}
if ($available==1)
{
return(0); // Domain is not registered
}
if ($noserv2==1)
return(1); // Return now as full whois not required for the following extensions
if (($domt==".com") || ($domt==".net") || ($domt==".org") || ($domt==".cc") || ($domt==".tv"))
{
if ($serv2!="")
{
// exec("whois -h $serv2 $dom$domt",$RegDetails,$ReturnValue);
// exec("fwhois $dom$domt@$serv2",$RegDetails,$ReturnValue);
$rsck=wh($serv2,$dom,$domt,$RegDetails2,$buf2);
// if checking .com or .net and whois fails then try whois.networksolutions.com instead
if ((count($RegDetails2)<=1) || ($rsck==0))
{
if (($domt==".com") || ($domt==".net"))
{
$rsck=wh("whois.networksolutions.com",$dom,$domt,$RegDetails2,$buf2);
}
}
if ((count($RegDetails2)<=1) || ($rsck==0))
{
return(1); // No connection to second whois server made but return that domain is registered
}
$RegDetails=$RegDetails2;
$buf=$buf2;
}
}
return(1); // Domain is registered
}
function dewhois($dom,$domt,&$regdet)
{
if ($regdet=="*")
{
$regdet="";
$connection=@fsockopen("whois.denic.de",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,"-C UTF-8 ".$dom.$domt."
"); //
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"free");
if (is_integer($pos))
{
$registered=0;
break;
}
$pos=strpos($lne,"invalid");
if (is_integer($pos))
{
return(3);
}
}
return($registered);
}
else
return(5);
}
else
{
$regdet="";
$connection=@fsockopen("whois.denic.de",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,"-C UTF-8 -T ace,dn ".$dom.$domt."
");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"not found in database");
if (is_integer($pos))
{
$registered=0;
break;
}
}
return($registered);
}
else
return(5);
}
}
function nlwhois($dom,$domt,&$regdet)
{
if ($regdet=="*")
{
$regdet="";
$connection=@fsockopen("whois.domain-registry.nl",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,"is ".$dom.$domt."
");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<1)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"is free");
if (is_integer($pos))
{
$registered=0;
break;
}
$pos=strpos($lne,"invalid domain");
if (is_integer($pos))
{
return(3);
}
$pos=strpos($lne,"too busy");
if (is_integer($pos))
{
return(5);
}
}
return($registered);
}
else
return(5);
}
else
{
$regdet="";
$connection=@fsockopen("whois.domain-registry.nl",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,$dom.$domt."
");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"too busy");
if (is_integer($pos))
{
return(5);
}
// $pos=strpos($lne,"not a registered domain");
$pos=strpos($lne,"is free");
if (is_integer($pos))
{
$registered=0;
break;
}
}
return($registered);
}
else
return(5);
}
}
function bawhois($dom,$domt,&$regdet)
{
if ($domt==".ba") $domtnum="1";
if ($domt==".org.ba") $domtnum="2";
if ($domt==".net.ba") $domtnum="3";
if ($domt==".gov.ba") $domtnum="4";
if ($domt==".mil.ba") $domtnum="5";
if ($domt==".edu.ba") $domtnum="6";
if ($domt==".unsa.ba") $domtnum="7";
$regdet="";
if (!($fh=@fopen("http://www.nic.ba/stream/externo/domene_javascript.php?domennaziv=".$dom."&domenekstenzija=".$domtnum,"r")))
{
return(5);
}
$buf="";
do
{
$buf1 = fread($fh, 100000);
if (strlen($buf1) == 0)
{
break;
}
$buf .= $buf1;
}
while (true);
fclose($fh);
$pos=strpos($buf,"vraca=\"slobodan\"");
if (is_integer($pos))
{
$regdet[]=$dom.$domt." is available";
return(0);
}
else
{
$regdet[]=$dom.$domt." is registered";
$regdet[]="Full whois contact data not available for $domt domains";
return(1);
}
}
function auwhois($dom,$domt,&$regdet)
{
if ($regdet=="*")
{
$regdet="";
$connection=@fsockopen("whois-check.ausregistry.net.au",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,$dom.$domt."
");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<1)
return(5);
$registered=0;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"not available");
if (is_integer($pos))
{
$registered=1;
break;
}
}
return($registered);
}
else
return(5);
}
else
{
$regdet="";
$connection=@fsockopen("whois.ausregistry.net.au",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,$dom.$domt."
");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"no data found");
if (is_integer($pos))
{
$registered=0;
break;
}
}
return($registered);
}
else
return(5);
}
}
function zawhois($dom,$domt,&$regdet)
{
if (!($fh=@fopen("http://co.za/cgi-bin/whois.sh?Domain=".$dom,"r")))
{
return(5);
}
$buf="";
do
{
$buf1 = fread($fh, 100000);
if (strlen($buf1) == 0)
{
break;
}
$buf .= $buf1;
}
while (true);
fclose($fh);
$pos=strpos($buf,"Match: No Matches");
if (!is_integer($pos))
{
$pos=strpos($buf,"0a.");
if (is_integer($pos))
{
$buf=substr($buf,$pos,-477);
$regdet=explode("
",$buf);
}
return(1); // Not available
}
return(0); // Available
}
function eswhois($dom,$domt,&$regdet)
{
if (!($fh=@fopen("http://whois.virtualname.es/whois.php?domain=".$dom.$domt,"r")))
{
return(5);
}
$buf="";
do
{
$buf1 = fread($fh, 100000);
if (strlen($buf1) == 0)
{
break;
}
$buf .= $buf1;
}
while (true);
fclose($fh);
$pos=strpos($buf,"LIBRE");
if (!is_integer($pos))
{
$pos=strpos($buf,"Domain:");
if (is_integer($pos))
{
$buf=substr($buf,$pos,-18);
$regdet=explode("
",$buf);
}
return(1); // Not available
}
return(0); // Available
}
function wh($serv,$dom,$domt,&$regdet,&$buf)
{
$regdet="";
$handled=false;
$timeout=10.0;
$stoptime=time()+$timeout;
$connection=@fsockopen($serv,43,$errorno,$errordesc,$timeout);
if ($connection)
{
// stream_set_timeout($connection, $timeout);
// If necessary create punycode from domain name
if (($domt==".no") || ($domt==".ch") || ($domt==".li") || ($domt==".at") || ($domt==".ac.at") || ($domt==".co.at") || ($domt==".gv.at") || ($domt==".or.at") || ($domt==".se") || ($domt==".com") || ($domt==".net"))
{
if ((($domt==".com") || ($domt==".net")) && ($serv=="whois.crsnic.net"))
fputs($connection,"=$dom$domt
");
else
fputs($connection,"$dom$domt
");
$handled=true;
}
if ($domt==".mn")
{
fputs($connection,"$dom
");
$handled=true;
}
if((substr($domt,strlen($domt)-3,3)==".jp") && ($forceenglish==true))
{
fputs($connection,"$dom$domt /e
");
$handled=true;
}
if ($handled==false)
{
fputs($connection,"$dom$domt
");
}
$timedout=0;
$buf="";
do
{
$buf1 = fread($connection, 100000);
if (strlen($buf1) == 0)
{
break;
}
$buf .= $buf1;
}
while (true);
fclose($connection);
$regdet=explode("
",$buf);
return(1);
}
else
return(0);
}
function CheckReferer()
{
global $HTTP_REFERER,$allowed;
if ($allowed=="")
{
return(1); // Don't care who called us
}
$ref=strtolower($HTTP_REFERER);
$allowed=strtolower($allowed);
$refall=preg_split("/,/",$allowed,100);
for ($index=0;$index<count($refall);$index++)
{
$pos=strpos($HTTP_REFERER,$refall[$index]);
if (is_integer($pos))
{
if ($pos==0)
{
return(1); // Referer allowed access
}
}
}
return(0);
}
function CheckValidDomain($dom,$domt)
{
$dom=accentstrtolower($dom);
$domt=strtolower($domt);
// Handle .name seperately
if ($domt==".name")
{
if (is_integer(strpos($dom,".")))
{
$section=explode(".",$dom);
$first=$section[0];
$last=$section[1];
if (isset($section[2]))
return(0);
if (preg_match("/^[-a-zA-Z0-9]{1,63}$/",$first)!=True)
return(0);
if (($first[0]=="-") || ($first[strlen($first)-1]=="-"))
return(0);
if (preg_match("/^[-a-zA-Z0-9]{3,63}$/",$last)!=True)
return(0);
if (($last[0]=="-") || ($last[strlen($last)-1]=="-"))
return(0);
}
else
{
if (preg_match("/^[-a-zA-Z0-9]{3,63}$/",$dom)!=True)
return(0);
if (($dom[0]=="-") || ($dom[strlen($dom)-1]=="-"))
return(0);
}
return(1);
}
// it does not allow 1 character domain names
if (strlen($dom)<=1)
return(0);
// .co.uk, .me.uk, .org.uk and .net.uk do not allow 1 character domain names
if (($domt==".co.uk") || ($domt==".me.uk") || ($domt==".org.uk") || ($domt==".net.uk"))
{
if (strlen($dom)<=2)
return(0);
}
// .info and .biz dont allow 1 and 2 character domain names
if (($domt==".info") || ($domt==".biz"))
{
if (strlen($dom)<=2)
return(0);
}
// .jp does not allow 1 and 2 character domain names
if ($domt==".jp")
{
if (strlen($dom)<=2)
return(0);
}
// .ch and .li dont allow 1 and 2 character domain names
if (($domt==".ch") || ($domt==".li") || ($domt==".de"))
{
if (strlen($dom)<=2)
return(0);
}
// generic string of allowed characters
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
if ($domt==".no")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(225).chr(224).chr(226).chr(231).chr(233).chr(232).chr(234).chr(241).chr(243).chr(242).chr(244).chr(246).chr(252).chr(248).chr(229).chr(230);
if ($domt==".dk")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(248).chr(229).chr(230);
if ($domt==".se")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(228).chr(229).chr(246).chr(233).chr(252);
if (($domt==".ch") || ($domt==".li") || ($domt==".de") || ($domt==".at") || ($domt==".ac.at") || ($domt==".co.at") || ($domt==".gv.at") || ($domt==".or.at") || ($domt==".com") || ($domt==".net"))
{
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
for ($k=224;$k<=246;$k++)
$validmask=$validmask.chr($k);
for ($k=248;$k<=255;$k++)
$validmask=$validmask.chr($k);
}
if (strspn($dom, $validmask) != strlen($dom))
return(0);
if (($dom[0]=="-") || ($dom[strlen($dom)-1]=="-"))
return(0);
return(1);
}
function accentstrtolower($s)
{
for ($k=0;$k<strlen($s);$k++)
{
$c=ord($s[$k]);
if (($c>=65) && ($c<=90))
$c=$c+32;
if (($c>=192) && ($c<=214))
$c=$c+32;
if (($c>=216) && ($c<=222))
$c=$c+32;
$s[$k]=chr($c);
}
return($s);
}
function currency($from_currency,$to_currency,$amount) {
$from_eur_rate=0;
$to_eur_rate=0;
if ($from_currency == "EUR")
$from_eur_rate=$amount;
if ($to_currency == "EUR")
$to_eur_rate=$amount;
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
$xml_data = curl_exec($ch);
curl_close($ch);
$xmlcurrency=simplexml_load_string($xml_data);
foreach($xmlcurrency->Cube->Cube->Cube as $currency) {
if(($currency['currency'] == $from_currency) && ($from_currency != "EUR"))
$from_eur_rate=$currency['rate'];
if(($currency['currency'] == $to_currency) && ($to_currency != "EUR"))
$to_eur_rate=$currency['rate'];
}
if (($from_eur_rate!="0") && ($to_eur_rate!="0"))
$rateresult=("$to_eur_rate"/"$from_eur_rate");
else
$rateresult=0;
return $rateresult;
}
?>
Did this file decode correctly?
Original Code
<?php
$QEECE4FCBC0CE109B677C7E627A72EBF3="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";eval(base64_decode(gzuncompress(base64_decode($QEECE4FCBC0CE109B677C7E627A72EBF3))));?>
Function Calls
| gzuncompress | 3 |
| base64_decode | 6 |
Stats
| MD5 | f535c04456a5c4f47747b6bfa58704cc |
| Eval Count | 3 |
| Decode Time | 240 ms |