diff --git a/cp/app/Controllers/SystemController.php b/cp/app/Controllers/SystemController.php index 6fc0e6b..967301e 100644 --- a/cp/app/Controllers/SystemController.php +++ b/cp/app/Controllers/SystemController.php @@ -892,11 +892,11 @@ class SystemController extends Controller [ $args ]); if ($tld) { - $createPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND command = ?', [$tld['id'], 'create']); - $renewPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND command = ?', [$tld['id'], 'renew']); - $transferPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND command = ?', [$tld['id'], 'transfer']); - $tld_restore = $db->selectRow('SELECT * FROM domain_restore_price WHERE tldid = ?', - [ $tld['id'] ]); + $createPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND registrar_id = ? AND command = ?', [$tld['id'], NULL, 'create']); + $renewPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND registrar_id = ? AND command = ?', [$tld['id'], NULL, 'renew']); + $transferPrices = $db->selectRow('SELECT * FROM domain_price WHERE tldid = ? AND registrar_id = ? AND command = ?', [$tld['id'], NULL, 'transfer']); + $tld_restore = $db->selectRow('SELECT * FROM domain_restore_price WHERE tldid = ? AND registrar_id = ? ', + [ $tld['id'], NULL ]); $premium_pricing = $db->selectRow('SELECT * FROM premium_domain_pricing WHERE tld_id = ?', [ $tld['id'] ]); $premium_categories = $db->select('SELECT * FROM premium_domain_categories'); diff --git a/database/registry.mariadb.sql b/database/registry.mariadb.sql index c2c9d6d..ee1e507 100644 --- a/database/registry.mariadb.sql +++ b/database/registry.mariadb.sql @@ -37,6 +37,7 @@ CREATE TABLE IF NOT EXISTS `registry`.`settings` ( CREATE TABLE IF NOT EXISTS `registry`.`domain_price` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `tldid` int(10) unsigned NOT NULL, + `registrar_id` int(10) unsigned DEFAULT NULL, `command` enum('create','renew','transfer') NOT NULL default 'create', `m0` decimal(10,2) NOT NULL default '0.00', `m12` decimal(10,2) NOT NULL default '0.00', @@ -50,16 +51,17 @@ CREATE TABLE IF NOT EXISTS `registry`.`domain_price` ( `m108` decimal(10,2) NOT NULL default '0.00', `m120` decimal(10,2) NOT NULL default '0.00', PRIMARY KEY (`id`), - UNIQUE KEY `unique_record` (`tldid`,`command`), + UNIQUE KEY `tldid_command_registrar_id` (`tldid`,`command`,`registrar_id`), CONSTRAINT `domain_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain price'; CREATE TABLE IF NOT EXISTS `registry`.`domain_restore_price` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `tldid` int(10) unsigned NOT NULL, + `registrar_id` int(10) unsigned DEFAULT NULL, `price` decimal(10,2) NOT NULL default '0.00', PRIMARY KEY (`id`), - UNIQUE KEY `tldid` (`tldid`), + UNIQUE KEY `tldid` (`tldid`,`registrar_id`), CONSTRAINT `domain_restore_price_ibfk_1` FOREIGN KEY (`tldid`) REFERENCES `domain_tld` (`id`) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='domain restore price'; @@ -827,16 +829,16 @@ CREATE TABLE IF NOT EXISTS `registry`.`tmch_crl` ( INSERT INTO `registry`.`domain_tld` VALUES('1','.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?= 0) NOT NULL, + "registrar_id" int DEFAULT NULL, "command" varchar CHECK ("command" IN ( 'create','renew','transfer' )) NOT NULL default 'create', "m0" decimal(10,2) NOT NULL default '0.00', "m12" decimal(10,2) NOT NULL default '0.00', @@ -51,14 +52,15 @@ CREATE TABLE domain_price ( "m96" decimal(10,2) NOT NULL default '0.00', "m108" decimal(10,2) NOT NULL default '0.00', "m120" decimal(10,2) NOT NULL default '0.00', - unique ("tldid", "command") + unique ("tldid", "command", "registrar_id") ); CREATE TABLE domain_restore_price ( "id" SERIAL PRIMARY KEY, "tldid" int CHECK ("tldid" >= 0) NOT NULL, + "registrar_id" int DEFAULT NULL, "price" decimal(10,2) NOT NULL default '0.00', - unique ("tldid") + unique ("tldid", "registrar_id") ); CREATE TABLE allocation_tokens ( @@ -750,16 +752,16 @@ INSERT INTO domain_tld VALUES('1','.TEST','/^(?!-)(?!.*--)[A-Z0-9-]{1,63}(?