Ticketa
Registered
Привет,
някой правил ли е интеграция на следното API: https://www.phpclasses.org/package/3219-PHP-Manipulate-domain-registration-using-the-Enom-API.html#view_files
Всичко което е вътре - работи коректно.
Проблема ми е, че не мога да създам допълнителна функция, която да взема цените и при проверка на домейн да добавя в табличен вид цените:
name | price | buy/bussy
blabla.com | 19.99$ | buy
blabla.net | 19.99$ | bussy
В момента проверявам така:
Всичко е коректно с малката разлика, че не успявам да взема цените от профила в Еном.
За целта тръгнах към класа да добавя нова функция: GrabPrice(), обаче не работи коректно:
Обаче, не успявам да взема коректно данните. В самата функция съм сложил примерен масив с коректни данни (как изглежда масива , който търся)
Иначе, работещ вариант за вземане на цените е този:
Просто трябва да го "нагодя" към класа с функцията , за да сработи :? :? :? :? :? :?
П.С. Не желая да използвам whmcs.
ЕДИТ:
След малко тестове коригирах функцията (по-горе) и успях да print_r-на резултата , изглежда по този начин:
Остава само да се "внедри" към foreach , частта , съдействие?
Би трябвало да изглежда нещо подобно за по-добро структуриране:
някой правил ли е интеграция на следното API: https://www.phpclasses.org/package/3219-PHP-Manipulate-domain-registration-using-the-Enom-API.html#view_files
Всичко което е вътре - работи коректно.
Проблема ми е, че не мога да създам допълнителна функция, която да взема цените и при проверка на домейн да добавя в табличен вид цените:
name | price | buy/bussy
blabla.com | 19.99$ | buy
blabla.net | 19.99$ | bussy
В момента проверявам така:
Код:
$enom = new EnomService('USERNAME_ENOM', 'APIKEY_ENOM'', false, true); //user,pass,ssl,live(false,true)
$enom->debug = false;
$finddomain = ( isset($_GET['finddomain']) && trim($_GET['finddomain']) != '' ) ? trim($_GET['finddomain']) : '';
$finddomain = str_replace(' ', '-', $finddomain);
if ( $finddomain ) {
foreach ($enom->checkDomain($finddomain, 'com,net,co.uk,biz,org,info,us,eu') as $key => $element) {
if($element == 1) {
$element = '<a href="#purchase" class="btn btn-primary">Buy this domain</a>';
} else {
$element = 'домейна е зает';
}
//for($i=0; $i<count($enom->GrabPrice()); $i++)
//{
//if($enom->GrabPrice()['tld'.$i] == 'com') {
//$price = $enom->GrabPrice()['registerprice'.$i];
//} elseif($enom->GrabPrice()['tld'.$i] == 'com') {
//$price = $enom->GrabPrice()['registerprice'.$i];
//}
//}
//print($enom->GrabPrice()['tld1']);die;
//print($enom->GrabPrice()['registerprice1']);die;
$content .= '
<tr>
<td>'.$key.'</td>
<td><b>€ 16.79 / per year</b><p>VAT is included. Promo price for first year.</p></td>
<td>'.$element.'</td>
</tr>';
}
}
Всичко е коректно с малката разлика, че не успявам да взема цените от профила в Еном.
За целта тръгнах към класа да добавя нова функция: GrabPrice(), обаче не работи коректно:
Код:
function GrabPrice()
{
/*
SimpleXMLElement Object
(
[tld] => com
[tldid] => 0
[registerprice] => 15.95
[resellerpricereg] => 15.50
[registerenabled] => true
[renewprice] => 15.95
[resellerpricerenew] => 15.50
[renewenabled] => true
[transferprice] => 15.95
[resellerpricetran] => 15.50
[transferenabled] => true
[rgpprice] => 250.00
[resellerpricergp] => 250.00
[rgpenabled] => true
[IDNCategory] =>
)
*/
$this->_setCommand('PE_GetRetailPricing');
$this->addParam( 'TLDOnly', 1);
$this->addParam( 'years', 1);
if( !$this->process() || '0' != $this->response['ErrCount'] )
{
return $this->_returnError();
}
$result = array();
return $this->response;
}
Обаче, не успявам да взема коректно данните. В самата функция съм сложил примерен масив с коректни данни (как изглежда масива , който търся)
Иначе, работещ вариант за вземане на цените е този:
Код:
// Grab domain pricing data from ENOM
$apiUrl = 'http://reseller.enom.com/interface.asp?command=PE_GetRetailPricing&TLDOnly=1&years=1&uid=' . ENOM_USER . '&pw=' . ENOM_PASS . '&responsetype=xml';
$xmlFeed = simplexml_load_file($apiUrl);
$enomData = $xmlFeed->pricestructure->tld;
$enomDataCount = count($xmlFeed->pricestructure->tld);
if ($enomDataCount > 0) {
$count = 0;
for ($i = 0; $i < $enomDataCount; $i++) {
$tldFromEnom = (string)$enomData[$i]->tld;
if (in_array_r($tldFromEnom, $tldsList)) {
$registerPrice = $enomData[$i]->registerprice;
$renewPrice = $enomData[$i]->renewprice;
$transferPrice = $enomData[$i]->transferprice;
echo "Found domain '{$tldFromEnom}' and grabbed prices";
$relid = $tldsList[$tldFromEnom]['id'];
echo "id: " . $relid.'<br>';
echo 'registerPrice: $'.$registerPrice.'<br>';
echo 'renewPrice: $'.$renewPrice.'<br>';
echo 'transferPrice: $'.$transferPrice.'<br>';
$count++;
}
}
}
Просто трябва да го "нагодя" към класа с функцията , за да сработи :? :? :? :? :? :?
П.С. Не желая да използвам whmcs.
ЕДИТ:
След малко тестове коригирах функцията (по-горе) и успях да print_r-на резултата , изглежда по този начин:
Код:
Array
(
[tld1] => com
[tldid1] => 0
[registerprice1] => 15.95
[resellerpricereg1] => 15.50
[registerenabled1] => true
[renewprice1] => 15.95
[resellerpricerenew1] => 15.50
[renewenabled1] => true
[transferprice1] => 15.95
[resellerpricetran1] => 15.50
[transferenabled1] => true
[rgpprice1] => 250.00
[resellerpricergp1] => 250.00
[rgpenabled1] => true
[IDNCategory1] =>
[tld2] => net
[tldid2] => 1
[registerprice2] => 23.95
[resellerpricereg2] => 17.00
[registerenabled2] => true
[renewprice2] => 23.95
[resellerpricerenew2] => 17.00
[renewenabled2] => true
[transferprice2] => 23.95
[resellerpricetran2] => 17.00
[transferenabled2] => true
[rgpprice2] => 250.00
[resellerpricergp2] => 250.00
[rgpenabled2] => true
[IDNCategory2] =>
[tld3] => me
[tldid3] => 93
[registerprice3] => 37.50
[resellerpricereg3] => 22.00
[registerenabled3] => true
[renewprice3] => 37.50
[resellerpricerenew3] => 22.00
[renewenabled3] => true
[transferprice3] => 37.50
[resellerpricetran3] => 22.00
[transferenabled3] => true
[rgpprice3] => 250.00
[resellerpricergp3] => 250.00
[rgpenabled3] => true
[IDNCategory3] =>
Остава само да се "внедри" към foreach , частта , съдействие?
Би трябвало да изглежда нещо подобно за по-добро структуриране:
Код:
SimpleXMLElement Object
(
[tld] => com
[tldid] => 0
[registerprice] => 15.95
[resellerpricereg] => 15.50
[registerenabled] => true
[renewprice] => 15.95
[resellerpricerenew] => 15.50
[renewenabled] => true
[transferprice] => 15.95
[resellerpricetran] => 15.50
[transferenabled] => true
[rgpprice] => 250.00
[resellerpricergp] => 250.00
[rgpenabled] => true
[IDNCategory] => SimpleXMLElement Object
(
)
)