More preparations for prices per registrar option

This commit is contained in:
Pinga 2024-07-28 22:30:56 +03:00
parent 75512b7da9
commit 6183744174
3 changed files with 44 additions and 11 deletions

View file

@ -3159,13 +3159,24 @@ class DomainsController extends Controller
$creditLimit = $result['creditLimit']; $creditLimit = $result['creditLimit'];
$renew_price = $db->selectValue( $renew_price = $db->selectValue(
'SELECT m12 FROM domain_price WHERE tldid = ? AND command = ? LIMIT 1', "SELECT m12
[$tldid, 'renew'] FROM domain_price
WHERE tldid = ?
AND command = ?
AND (registrar_id = ? OR registrar_id IS NULL)
ORDER BY registrar_id DESC
LIMIT 1",
[$tldid, 'renew', $clid]
); );
$restore_price = $db->selectValue( $restore_price = $db->selectValue(
'SELECT price FROM domain_restore_price WHERE tldid = ? LIMIT 1', "SELECT price
[$tldid] FROM domain_restore_price
WHERE tldid = ?
AND (registrar_id = ? OR registrar_id IS NULL)
ORDER BY registrar_id DESC
LIMIT 1",
[$tldid, $clid]
); );
if (($registrar_balance + $creditLimit) < ($renew_price + $restore_price)) { if (($registrar_balance + $creditLimit) < ($renew_price + $restore_price)) {

View file

@ -377,8 +377,15 @@ function processDomainCheck($conn, $db, $xml, $trans, $clid) {
$returnValue = getDomainPrice($db, $domainName, $tld_id, $date_add, $commandName, $clid); $returnValue = getDomainPrice($db, $domainName, $tld_id, $date_add, $commandName, $clid);
$price = $returnValue['price']; $price = $returnValue['price'];
$sth = $db->prepare("SELECT price FROM domain_restore_price WHERE tldid = ? LIMIT 1"); $sth = $db->prepare("
$sth->execute([$tld_id]); SELECT price
FROM domain_restore_price
WHERE tldid = ?
AND (registrar_id = ? OR registrar_id IS NULL)
ORDER BY registrar_id DESC
LIMIT 1
");
$sth->execute([$tld_id, $clid]);
$restore_price = $sth->fetchColumn(); $restore_price = $sth->fetchColumn();
if ($commandName == 'restore') { if ($commandName == 'restore') {

View file

@ -1795,12 +1795,27 @@ function processDomainUpdate($conn, $db, $xml, $clid, $database_type, $trans) {
$sth->execute([$clid]); $sth->execute([$clid]);
list($registrar_balance, $creditLimit) = $sth->fetch(); list($registrar_balance, $creditLimit) = $sth->fetch();
$sth = $db->prepare("SELECT m12 FROM domain_price WHERE tldid = ? AND command = 'renew' LIMIT 1"); $sth = $db->prepare("
$sth->execute([$row['tldid']]); SELECT m12
FROM domain_price
WHERE tldid = ?
AND command = 'renew'
AND (registrar_id = ? OR registrar_id IS NULL)
ORDER BY registrar_id DESC
LIMIT 1
");
$sth->execute([$row['tldid'], $clid]);
$renew_price = $sth->fetchColumn(); $renew_price = $sth->fetchColumn();
$sth = $db->prepare("SELECT price FROM domain_restore_price WHERE tldid = ? LIMIT 1"); $sth = $db->prepare("
$sth->execute([$row['tldid']]); SELECT price
FROM domain_restore_price
WHERE tldid = ?
AND (registrar_id = ? OR registrar_id IS NULL)
ORDER BY registrar_id DESC
LIMIT 1
");
$sth->execute([$row['tldid'], $clid]);
$restore_price = $sth->fetchColumn(); $restore_price = $sth->fetchColumn();
if (($registrar_balance + $creditLimit) < ($renew_price + $restore_price)) { if (($registrar_balance + $creditLimit) < ($renew_price + $restore_price)) {