This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/plugins/registrar/ENOM.php
2008-11-26 14:50:40 -08:00

155 lines
4.0 KiB
PHP

<?php
/**
* AgileBill - Open Billing Software
*
* This body of work is free software; you can redistribute it and/or
* modify it under the terms of the Open AgileBill License
* License as published at http://www.agileco.com/agilebill/license1-4.txt
*
* For questions, help, comments, discussion, etc., please join the
* Agileco community forums at http://forum.agileco.com/
*
* @link http://www.agileco.com/
* @copyright 2004-2008 Agileco, LLC.
* @license http://www.agileco.com/agilebill/license1-4.txt
* @author Tony Landis <tony@agileco.com>
* @package AgileBill
* @version 1.4.93
*/
/*
============================================================================
Available Config Variables:
============================================================================
enom_user
enom_pass
enom_mode (0/1 test/live)
============================================================================
*/
class plg_reg_ENOM
{
function plg_reg_ENOM ($obj)
{
$this->registrar = $obj->registrar;
$this->domainrs = $obj->domain;
$this->domain_name = $obj->domain['domain_name'].'.'.$obj->domain['domain_tld'];
$this->domain = $obj->domain['domain_name'];
$this->tld = $obj->domain['domain_tld'];
$this->term = $obj->domain['domain_term'];
if(!empty($obj->server['ns_primary']))
$this->ns1 = $obj->server['ns_primary'];
else
$this->ns1 = $obj->registrar['ns1'];
if(!empty($obj->server['ns_secondary']))
$this->ns2 = $obj->server['ns_secondary'];
else
$this->ns2 = $obj->registrar['ns2'];
if(!empty($obj->server['ns_ip_primary']))
$this->nsip1 = $obj->server['ns_ip_primary'];
else
$this->nsip1 = $obj->registrar['ns1ip'];
if(!empty($obj->server['ns_ip_secondary']))
$this->nsip2 = $obj->server['ns_ip_secondary'];
else
$this->nsip2 = $obj->registrar['ns2ip'];
# get the account details for the registrant:
$db = &DB();
$q = "SELECT * FROM ".AGILE_DB_PREFIX."account WHERE
id = ".$db->qstr( $this->domainrs['account_id'] )." AND
site_id = ".$db->qstr(DEFAULT_SITE);
$rs = $db->Execute($q);
if ($rs->RecordCount() == 1) {
$this->account = $rs->fields;
}
# set the test mode
if($this->registrar['enom_mode'] == "1")
$this->host = 'reseller.enom.com';
else
$this->host = 'resellertest.enom.com';
}
### Register domain
function register()
{
# Compose the data to post:
$url = '/interface.asp';
$vars = array(
'Command' => 'Purchase',
'UID' => $this->registrar['enom_user'],
'PW' => $this->registrar['enom_pass'],
'SLD' => $this->domain,
'TLD' => $this->tld,
'NS1' => $this->ns1,
'NS2' => $this->ns2,
'RegistrantFirstName' => $this->account['first_name'],
'RegistrantLastName' => $this->account['last_name'],
'RegistrantAddress1' => $this->account['address1'],
'RegistrantCity' => $this->account['city'],
'RegistrantStateProvince' => $this->account['state'],
'RegistrantPostalCode' => $this->account['zip'],
'RegistrantEmailAddress' => $this->account['email'],
'RegistrantPhone' => '0-000-000-000',
'RegistrantFax' => '0-000-000-000',
'RegistrantNexus' => 'na',
'RegistrantPurpose' => 'non',
'UnLockRegistrar' => '0',
'NumYears' => $this->term,
'ResponseType' => 'HTML'
);
# For .co.uk TLDs
$tld = strtolower($this->tld);
if($tld == 'co.uk')
{
$vars['uk_legal_type'] = 'OTHER';
$vars['uk_reg_co_no'] = 'NA';
}
# Do the post
include_once(PATH_CORE.'post.inc.php');
$post = new CORE_post;
$result = $post->post_data($this->host, $url, $vars);
# Debug
if($this->registrar['debug'])
echo "<BR><u>Result:</u> $result <BR>";
# Get results
if(eregi("Command completed successfully", $result)) {
return TRUE;
} else {
return FALSE;
}
}
### Renew domain
function renew()
{
return false;
}
### Transfer domain
function transfer()
{
return false;
}
### Park domain
function park()
{
return false;
}
}
?>