user_email;
$user_first_name=get_user_meta($user_id,’billing_first_name’,true);
$user_last_name=get_user_meta($user_id,’billing_last_name’,true);
$user_pw=$user_first_name.’.’.$user_last_name;
$user_pw=strtolower($user_pw);
$sql = “SELECT locked,guru,pp FROM domains where uid=’$user_id’ and domain_name=’$domain_name’ limit 1”;
$result = $conn->query($sql);
$count = $result->num_rows;
if ($count > 0) {
$row = $result->fetch_assoc();
$is_guru=$row[“guru”];
$privacy_protect=$row[“pp”];
}
if ($count < 1) {
// See if user already registered at Resello
$locked = "n";
$sqlre = "SELECT rid FROM domains where uid='$user_id' limit 1";
$resultre = $conn->query($sqlre);
$countre = $resultre->num_rows;
$user_rid = “”;
if ($countre > 0){
$rowre = $resultre->fetch_assoc();
$user_rid = $rowre[“rid”];
}
// Register New Resello Customer if not already registered
if ($user_rid == “”) {
$user_info = get_user_by( ‘id’, $user_id );
$user_email=$user_info->user_email;
$user_first_name=get_user_meta($user_id,’billing_first_name’,true);
$user_last_name=get_user_meta($user_id,’billing_last_name’,true);
$user_name=$user_first_name.’ ‘.$user_last_name;
$user_address=get_user_meta($user_id,’billing_address_1′,true);
$user_city=get_user_meta($user_id,’billing_city’,true);
$user_state=get_user_meta($user_id,’billing_state’,true);
$user_zip=get_user_meta($user_id,’billing_postcode’,true);
$user_phone=get_user_meta($user_id,’billing_phone’,true);
$user_phone=str_replace(“-“,””,$user_phone);
$user_phone=str_replace(“(“,””,$user_phone);
$user_phone=str_replace(“)”,””,$user_phone);
$user_phone=’+1.’.$user_phone;
$user_ip = $_SERVER[‘REMOTE_ADDR’];
// Create the new Resello Customer
$user_rpw=$user_pw.’@guru.sitebuilder’;
$customer_info = array(
‘name’ => $user_name,
‘address’ => $user_address,
‘zipcode’ => $user_zip,
‘city’ => $user_city,
‘state’ => $user_state,
‘country’ => ‘US’,
‘voice’ => $user_phone,
‘password’ => $user_rpw,
’email’ => $user_email,
‘registration_ip’ => $user_ip
);
try
{
$hostcontrol_customer = $hc_api_client->customer->create($customer_info);
$user_rid = $hostcontrol_customer->id;
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred creating customer, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
} // End new resello customer post
// Register New Domain at Resello for this Customer
$reg_type=””;
$reg_length=””;
$sqlgoid = “SELECT order_item_id FROM wp_woocommerce_order_itemmeta where meta_key=’Domain’ and meta_value=’$domain_name’ limit 1”;
$resultgoid = $conn->query($sqlgoid);
$rowgoid = $resultgoid->fetch_assoc();
$o_id = $rowgoid[“order_item_id”];
$sqldl = “SELECT meta_value FROM wp_woocommerce_order_itemmeta where order_item_id=’$o_id’ and meta_key=’Length’ limit 1”;
$resultdl = $conn->query($sqldl);
$rowdl = $resultdl->fetch_assoc();
$reg_length = $rowdl[“meta_value”];
$reg_length = str_replace(” Year”,””,$reg_length);
$reg_length = str_replace(“s”,””,$reg_length);
if ($reg_length != “”){
// $interval=$reg_length*12;
$interval=12;
} else {
$interval=12;
}
$sqldt = “SELECT meta_value FROM wp_woocommerce_order_itemmeta where order_item_id=’$o_id’ and meta_key=’Type’ limit 1”;
$resultdt = $conn->query($sqldt);
$rowdt = $resultdt->fetch_assoc();
$reg_type = $rowdt[“meta_value”];
if ($reg_type == “Private”){
$privacy_protect=1;
} else {
$privacy_protect=0;
}
try
{
$resultrd = $hc_api_client->domain->register($user_rid, $domain_name, $interval, $privacy_protect);
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
// Get Resello Domain Info for the first time, write to DB
try
{
$resultns = $hc_api_client->domain->getNameservers($domain_name);
$name_server[0]=””;
$name_server[1]=””;
$name_server[2]=””;
$count=0;
$total=count($resultns);
while ($count < $total){
$name_server[$count]=$resultns[$count]->hostname;
$count=$count+1;
}
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred getting initial domain info, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
$sqlhost = “SELECT order_item_id FROM wp_woocommerce_order_items where order_item_name like ‘%Hosting%’ and order_id=’$pid’ limit 1″;
$resulthost = $conn->query($sqlhost);
$counthost = $resulthost->num_rows;
if ($counthost > 0) {
$is_guru=”y”;
$ns1up = “ns1.open-wide-web.com”;
$ns2up = “ns2.open-wide-web.com”;
$ns3up = “ns3.open-wide-web.com”;
$new_nameservers = array($ns1up,$ns2up,$ns3up);
try
{
$resultns = $hc_api_client->domain->setNameservers($domain_name, $new_nameservers);
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
}
if ($name_server[0] != “”){
$sql2 = “INSERT INTO domains (uid,oid,domain_name,original_ns1,original_ns2,original_ns3,locked,guru,rid,pp) VALUES (‘$uid’, ‘$order_id’, ‘$domain_name’, ‘$name_server[0]’, ‘$name_server[1]’, ‘$name_server[2]’, ‘n’, ‘$is_guru’, ‘$user_rid’, $privacy_protect)”;
$result2 = $conn->query($sql2);
}
} else {
// User Guru Updates
// —————–
// Update Nameservers
if ($nameserver_type == “default”) {
$sqlns = “SELECT original_ns1,original_ns2,original_ns3 FROM domains where uid=’$user_id’ and domain_name=’$domain_name’ limit 1”;
$resultns = $conn->query($sqlns);
$rowns = $resultns->fetch_assoc();
$ns1up = $rowns[“original_ns1”];
$ns2up = $rowns[“original_ns2”];
$ns3up = $rowns[“original_ns3″];
$new_nameservers = array($ns1up,$ns2up,$ns3up);
try
{
$resultns = $hc_api_client->domain->setNameservers($domain_name, $new_nameservers);
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
}
if ($nameserver_type == “guru”) {
$ns1up = “ns1.open-wide-web.com”;
$ns2up = “ns2.open-wide-web.com”;
$ns3up = “ns3.open-wide-web.com”;
$new_nameservers = array($ns1up,$ns2up,$ns3up);
try
{
$resultns = $hc_api_client->domain->setNameservers($domain_name, $new_nameservers);
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
}
if ($nameserver_type == “custom”) {
if ($nameserver1 == “” or $nameserver2 == “”) {
print “PLEASE NOTE: At least two nameserver addresses are required.”;
} else {
$ns1up = $nameserver1;
$ns2up = $nameserver2;
$new_nameservers = array($ns1up,$ns2up);
if ($nameserver3 != “”) {
$ns3up = $nameserver3;
$new_nameservers[2]=$ns3up;
}
if ($nameserver4 != “”) {
$ns4up = $nameserver4;
$new_nameservers[3]=$ns4up;
}
if ($nameserver5 != “”) {
$ns5up = $nameserver5;
$new_nameservers[4]=$ns5up;
}
try
{
$resultns = $hc_api_client->domain->setNameservers($domain_name, $new_nameservers);
}
catch(HostControlAPIClientError $e)
{
echo ‘An error occurred, please double check your nameserver addresses and try again or submit a support ticket.’;
// echo ‘An error occurred, please double check your nameserver addresses and try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
}
}
// Update Registrar Lock
$sql = “SELECT locked FROM domains where uid=’$user_id’ and domain_name=’$domain_name’ limit 1”;
$result = $conn->query($sql);
$row = $result->fetch_assoc();
if ($locked == “”){
$locked = $row[“locked”];
} else {
$sql3 = “UPDATE domains set locked=’$locked’ where uid=’$user_id’ and domain_name=’$domain_name'”;
$result3 = $conn->query($sql3);
}
}
// Finish and Display
//——————-
// Get current domain info from Resello
try
{
$result = $hc_api_client->domain->get($domain_name);
$reg_date=$result->created;
$reg_date=strtotime($reg_date);
$reg_date=date(“F j, Y”,$reg_date);
$due_date=$result->expires;
$due_date=strtotime($due_date);
$due_date=date(“F j, Y”,$due_date);
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred during domain post. Please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
$sql = “SELECT order_item_id FROM wp_woocommerce_order_itemmeta where meta_key=’Domain’ and meta_value=’$domain_name’ limit 1”;
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$oid = $row[“order_item_id”];
$sql2 = “SELECT meta_value FROM wp_woocommerce_order_itemmeta where meta_key=’_line_total’ and order_item_id=’$oid’ limit 1”;
$result2 = $conn->query($sql2);
$row2 = $result2->fetch_assoc();
$paid = $row2[“meta_value”];
list($domain, $ext) = explode(‘.’, $domain_name, 2);
if ($ext == “com”){
$renewal_amt=13.99;
}
if ($ext == “net”){
$renewal_amt=15.99;
}
if ($ext == “org”){
$renewal_amt=14.99;
}
if ($ext == “info”){
$renewal_amt=16.99;
}
if ($ext == “biz”){
$renewal_amt=14.99;
}
if ($ext == “guru”){
$renewal_amt=31.99;
}
try
{
$result = $hc_api_client->domain->getNameservers($domain_name);
$name_server[0]=””;
$name_server[1]=””;
$name_server[2]=””;
$name_server[3]=””;
$name_server[4]=””;
$count=0;
$total=count($result);
while ($count < $total){
$name_server[$count]=$result[$count]->hostname;
$count=$count+1;
}
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please try again or submit a support ticket.
Error Message: ‘ . $e->getMessage();
}
$checkns=$name_server[0];
$custom_selected=”checked”;
$sitebuilder_selected=””;
$guru_selected=””;
if (strpos($checkns,’hostcontrol’) !== false) {
$sitebuilder_selected=”checked”;
$custom_selected=””;
} elseif (strpos($checkns,’open-wide-web’) !== false) {
$guru_selected=”checked”;
$custom_selected=””;
}
try
{
$resultgd = $hc_api_client->domain->getAuthcode($domain_name);
$auth_code=$resultgd->auth_code;
if ($locked == “y”){
$auth_code = “Unlock Domain to Get Code”;
}
}
catch(HostControlAPIClientError $e)
{
echo ”;
// echo ‘An error occurred, please contact Guru: ‘ . $e->getMessage();
}
$d1 = new DateTime($reg_date);
$d2 = new DateTime($due_date);
$time_remaining = ($d1->diff($d2)->m + ($d1->diff($d2)->y*12))/12;
$say_time_remaining = ($d1->diff($d2)->m + ($d1->diff($d2)->y*12));
$say_month = “months”;
if ($time_remaining < .084){
$say_orless = " or less";
$say_month = "month";
}
print '
Domain Information
‘;
if ($say_time_remaining < 3){
print 'You have ‘.$say_time_remaining.’ ‘.$say_month.$say_orless.’ before your domain expires.
‘;
}
print ‘
Privacy Protection
Domain Warden™ Privacy protection is ‘;
if ($privacy_protect == 1){
print ‘ENABLED. (additional $8.99/year)’;
} else {
print ‘DISABLED
Purchase Domain Warden™ Privacy Protection
($8.99 per year, prorated. Takes up to 24 hours to activate.)
‘;
}
print ‘
Name Servers
Registrar Lock
Authorization Code
‘;
} else {
print “
This domain does not belong to you!
“;
}
} else {
print “
You are not supposed to be here!
“;
}
?>