3 or strlen($mode) > 3 or strlen($step) > 2){exit;}
include_once $workdir.'/includes/orderfunctions.php';
$mykey=sqlsingle("select * from config where id='1'","privatekey");
//bad things
if($_GET['term']){exit;}
if(!$_GET['mode'] and !$_SESSION['mode']){
$_SESSION['mode'] = "ds";
$mode = "ds";
}else{
$mode=($_GET['mode']!='') ? $_GET['mode'] : $_SESSION['mode'];
$_SESSION['mode'] = $mode;
}
//affil
include($workdir."/includes/affil.php");
//end affil
$orderInProgress = $_GET['step'];
switch ($mode){
case "ds":
default:
$step = $_GET['step'];
$step=($step!='') ? $step : '1';
$content = false;
function validate_cart(){
global $step,$this_pkg_config,$apiurl,$base;
switch ($step){
case "2":
if(!$_SESSION['ocart']['package'] || !$_SESSION['ocart']['term']){
header("Location: order.php?err=1");
}
break;
case "3":
if(!$_SESSION['ocart']['domain1'] || !$_SESSION['ocart']['domain2']){
header("Location: order.php?step=2&err=4");
break;
}
if(!$this_pkg_config['planname']){header("Location: order.php?err=1");}
if($_SESSION['mode']=="ds"){
$cf1 = sqlsingle("select * from ds_plans where planname = '".$this_pkg_config['planname']."'","custom_fields");
}else{
$cf1 = sqlsingle("select * from hosting_plans where planname = '".$this_pkg_config['planname']."'","custom_fields");
}
$cfneeded=false;
$dmsg.="
";
if($_POST['cf']){
$cf2 = str_replace("||","|",$cf1);
$cfarr = explode("|",$cf2);
$_SESSION['ocart']['err'] = false;
foreach ($cfarr as $lkey => $lval){
if($lval != ""){
$this_result = @mysql_fetch_array(mysql_query("select * FROM customfields WHERE id='$lval' and active='1' and signup='1'"));
if($this_result['ereq']=="1" and $_POST['cf'][$lval] == ""){
$_SESSION['ocart']['err'].="The field \"".$this_result['etext']."\" is required
";
$err = "1";
}
}
}
if($err){
header("Location: order.php?step=2&err=4b");
}
}
case "4":
if(!$this_pkg_config['planname']){header("Location: order.php?err=1");}
if($_POST['dc'] == "2" or $_POST['dc'] == "3"){
global $mykey;
if($apiurl==""){
$url = $base."/interface.php";
}else{
$url = $apiurl;
}
$command = "checkdomain";
$params="sld=".$_POST['domain1a']."&tld=".$_POST['domain2a']."";
$help = "0";
$data="command=$command&maccesskey=$mykey&$params";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$ret = curl_exec($ch);
//NOTAVAL AVAIL
}else if($_POST['dc'] == "4"){
list ($_POST['domain1a'], $_POST['domain2a'], $cTld2) = mb_split ('[.]', $_POST['domain1b']);
if ($cTld2 != ""){
if(mb_eregi("name",$cTld2)){
$_POST['domain1a'] = $_POST['domain1a'] . "." . $_POST['domain2a'];$_POST['domain2a']=$cTld2;
}else{
$cTld = $_POST['domain2a'] . "." . $cTld2;
}
}
if(strtolower($_POST['domain1a'])=="domain" and strtolower($_POST['domain2a'])=="com" and $_POST['domain1a'] != ISEMPTYCART){
$ret="NOTAVAIL";
$_POST['dc'] = "2";
}else{
$ret="AVAIL";
}
}else{
if(strtolower($_POST['domain1'])=="domain" and strtolower($_POST['domain2'])=="com"){
$ret="NOTAVAIL";
$_POST['dc'] = "2";
}else{
$ret="AVAIL";
}
}
if(trim($ret)!="AVAIL" and $_POST['dc'] == "2"){
header("Location: order.php?step=2&err=4c&domain1a=".$_POST['domain1a']."&domain2a=".$_POST['domain2a']);
}else if(trim($ret)!="NOTAVAIL" and $_POST['dc'] == "3"){
header("Location: order.php?step=2&err=4d&domain1a=".$_POST['domain1a']."&domain2a=".$_POST['domain2a']);
}else if($_POST['dc'] == "3" and check_domain_local($_POST['domain1a'],$_POST['domain2a'])){
header("Location: order.php?step=2&err=4d&domain1a=".$_POST['domain1a']."&domain2a=".$_POST['domain2a']);
}
break;
case "5":
case "6":
if(!$_SESSION['ocart']['package']){
header("Location: order.php?err=2");
break;
}
if(!$_SESSION['ocart']['term']){
header("Location: order.php?err=3");
break;
}
if(!$_SESSION['ocart']['domain1'] || !$_SESSION['ocart']['domain2']){
header("Location: order.php?step=2&err=4");
break;
}
break;
default:
break;
}
}
switch ($step){
case "2":
$location = "
".OPROGRESS2."
";
$_SESSION['ocart']['package']=($_SESSION['ocart']['package']!='') ? $_SESSION['ocart']['package'] : $_POST['package'];
$_SESSION['ocart']['spt']=($_SESSION['ocart']['spt']!='') ? $_SESSION['ocart']['spt'] : $_POST['spt'];
$_SESSION['ocart']['term']=($_SESSION['ocart']['term']!='') ? $_SESSION['ocart']['term'] : $_POST['term'];
$this_pkg_config = get_package("",$_SESSION['ocart']['package']);
$vc = validate_cart();
if($err=="4"){
$dmsg = "".OMISSINGDOMAIN."
";
}else if($err=="4c"){
$dmsg = "".ODOMAINNA."
";
}else if($err=="4d"){
$dmsg = "".ODOMAINTNA."
";
}else if($err=="4b"){
$dmsg = $_SESSION['ocart']['err'];
$dmsg = "".$_SESSION['ocart']['err']."
";
}
$step="4";
switch(strtolower($_SESSION['ocart']['term'])){
case "monthly":
$tterm=MONTHLY;
break;
case "quarterly":
$tterm=QUARTERLY;
break;
case "biannually":
$tterm=BIANNUALLY;
break;
case "annually":
$tterm=ANNUALLY;
break;
case "biennially":
$tterm=BIENNIALLY;
break;
case "triennially":
$tterm=TRIENNIALLY;
break;
}
$contenta = "
";
$content .= "";
break;
case "4":
$location = "".OPROGRESS4."
";
if($_POST['dc'] == "2" or $_POST['dc'] == "3"){
$pos = strpos($_POST['domain1a'], ".");
if ($pos){$_POST['domain1a'] = substr($_POST['domain1a'],0,$pos);}
$_SESSION['ocart']['domain1'] = sanitize_ordstr(strtolower(trim($_POST['domain1a'])));
$_SESSION['ocart']['domain2'] = sanitize_ordstr(strtolower(trim($_POST['domain2a'])));
}else if($_POST['dc'] == "4"){
$pos = strpos($_POST['domain1b'], ".");
if ($pos){$_POST['domain1'] = substr($_POST['domain1b'],0,$pos);}else{$_POST['domain1'] = $_POST['domain1b'];}
$_SESSION['ocart']['domain1'] = sanitize_ordstr(strtolower(trim($_POST['domain1'])));
$_SESSION['ocart']['domain2'] = sanitize_ordstr(strtolower(trim($_POST['domain2'])));
}else{
$_SESSION['ocart']['domain1'] = sanitize_ordstr(strtolower(trim($_POST['domain1'])));
$_SESSION['ocart']['domain2'] = sanitize_ordstr(strtolower(trim($_POST['domain2'])));
}
$this_pkg_config = get_package("",$_SESSION['ocart']['package']);
$i=0;
foreach($_POST as $pkey => $pval){
if(strstr($pkey,"addon") and $pval != "none"){
$_SESSION['ocart'][$pkey] = $pval;
$i++;
}
}
$vc = validate_cart();
$step="5";
switch(strtolower($_SESSION['ocart']['term'])){
case "monthly":
$tterm=MONTHLY;
break;
case "quarterly":
$tterm=QUARTERLY;
break;
case "biannually":
$tterm=BIANNUALLY;
break;
case "annually":
$tterm=ANNUALLY;
break;
case "biennially":
$tterm=BIENNIALLY;
break;
case "triennially":
$tterm=TRIENNIALLY;
break;
}
$this_pkg_config = get_package("",$_SESSION['ocart']['package']);
$content .= "";
$content .= "";
break;
default:
//show the type list and have them pick a package
if($_SESSION['ocart']['spt'] and !$_GET['spt'] and $_GET['spt'] != "0"){
$_GET['spt'] = $_SESSION['ocart']['spt'];
}
$_SESSION['ocart'] = false;
//did they send in the spt id as ?spt=X?
$spt = $_GET['spt'];
$spt=($spt!='' && $spt!='0') ? $spt : false;
if($spt){
$_SESSION['ocart']['spt'] = $spt;
}
$err = $_GET['err'];
if($err=="1"){
$dmsg = "".INVALIDORDER."
";
}else if($err=="2"){
$dmsg = "".INVALIDORDER."
";
}else if($err=="3"){
$dmsg = "".INVALIDORDER."
";
}
//did they send in the package id as ?package=X?
if($_GET['package']){
if($_GET['mode']=="hs" or $_GET['mode']=="gs"){
$thispack = sqlarray("select default_term,planname,id,type from hosting_plans where id='".$_GET['package']."'");
}else{
$thispack = sqlarray("select default_term,planname,id,type from ds_plans where id='".$_GET['package']."'");
}
$_SESSION['ocart']['term'] = get_term($thispack['default_term']);
$_SESSION['ocart']['package'] = $thispack['id'];
$_SESSION['ocart']['spt']=$thispack['type'];
header("Location: order.php?step=2");
}
if($mode=="hs" or $mode=="gs"){
$packages = build_order_pulldowns($spt,"hs");
}else{
$packages = build_order_pulldowns($spt,"ds");
}
if($packages == "EMPTY"){
$spt = false;
$_SESSION['ocart']['spt'] = false;
$dmsg = "".NOMATCHINGSPT."
";
}else{
$cats = build_otype_list($_SESSION['ocart']['spt']);
$content = "
";
$content .= $packages;
}
$step="2";
break;
}
if($_SESSION['mode'] == "ds"){
if($spt!=""){
$sptcheck=@constant("DSHOSTINGBLURB$spt");
$sptcheck2=@constant("DSHOSTINGTITLE$spt");
$hostingblurb=$sptcheck;
$hostingtitle=$sptcheck2;
}
if($hostingblurb=="" or $hostingtitle==""){
$hostingblurb=DSHOSTINGBLURB;
$hostingtitle=DSHOSTINGTITLE;
}
}else{
if($spt!=""){
$sptcheck=@constant("HOSTINGBLURB$spt");
$sptcheck2=@constant("HOSTINGTITLE$spt");
$hostingblurb=$sptcheck;
$hostingtitle=$sptcheck2;
}
if($hostingblurb=="" or $hostingtitle==""){
$hostingblurb=HOSTINGBLURB;
$hostingtitle=HOSTINGTITLE;
}
}
break;
}
//charge up template vars
include $workdir.'/includes/gparser.php';
//specific vars
$template->set_var("hdescription", $hdescription);
$template->set_var("hostingtable", $hostingtable);
$template->set_var("hostingblurb", $hostingblurb);
$template->set_var("hostingtitle", $hostingtitle);
$template->set_var("hosting", $hosting);
$template->set_var("spt", $spt);
$template->set_var("pt", $pt);
$template->set_var('content', $content);
$template->set_var('contenta', $contenta);
$template->set_var('step', $step);
$template->set_var('location', $location);
$template->set_var('dmsg', $dmsg);
$template->set_var('mode', $_SESSION['mode']);
$template->set_var('pt', $_SESSION['mode']);
$template->set_var('plan', $this_pkg_config['planname']);
//v3 templates only /s
$template->set_var('orderInProgress', $orderInProgress);
if ( (!$orderInProgress) || ($orderInProgress == "1") ) {
$orderblurb = "$hostingblurb
";
}else{
$orderblurb = "";
}
$template->set_var('orderblurb', $orderblurb);
//v3 templates only /e
//end specific vars
//end charge up template vars
if($maintmode=='True'){
print $template->parse('maintmode.php');
exit;
}
print $template->parse('order.php');
?>