diff --git a/custom-pages/dnssec.php b/custom-pages/dnssec.php index 9989dd4b..a4aa9f96 100644 --- a/custom-pages/dnssec.php +++ b/custom-pages/dnssec.php @@ -1,113 +1,9 @@ setPageTitle(PAGE_NAME); - -$domainId = $_GET['domainid']; -$domain = \WHMCS\Database\Capsule::table('tbldomains') - ->where('id', $domainId) - ->first(); - -if (!$domain->dnsmanagement && isset($_SERVER["HTTP_REFERER"])) { - header("Location: " . $_SERVER["HTTP_REFERER"]); -} -elseif (!$domain->dnsmanagement) { - header("Location: " . '/whmcs/'); -} - -$domainName = $domain->domain; - -$OpenProvider = new OpenProvider(); -$api = $OpenProvider->api; - -$domainArray = explode('.', $domainName); -$args = [ - 'domain' => [ - 'extension' => $domainArray[count($domainArray) - 1], - 'name' => implode('.', array_slice($domainArray, 0, count($domainArray) - 1)), - ], -]; - -$dnssecKeys = []; -$isDnssecEnabled = false; -try { - $domain = $api->sendRequest('retrieveDomainRequest', $args); - $dnssecKeys = $domain['dnssecKeys']; - $isDnssecEnabled = $domain['isDnssecEnabled']; -} catch (\Exception $e) { - header("Location: " . $_SERVER["HTTP_REFERER"]); -} - -$ca->assign('dnssecKeys', $dnssecKeys); -$ca->assign('isDnssecEnabled', $isDnssecEnabled); -$ca->assign('apiUrlUpdateDnssecRecords', Configuration::getApiUrl('dnssec-record-update')); -$ca->assign('apiUrlTurnOnOffDnssec', Configuration::getApiUrl('dnssec-enabled-update')); -$ca->assign('domainId', $domainId); -$ca->assign('jsModuleUrl', Configuration::getJsModuleUrl(MODULE_NAME)); -$ca->assign('cssModuleUrl', Configuration::getCssModuleUrl(MODULE_NAME)); - -$ca->addToBreadCrumb('index.php', Lang::trans('globalsystemname')); -$ca->addToBreadCrumb('clientarea.php', Lang::trans('clientareatitle')); -$ca->addToBreadCrumb('clientarea.php?action=domains', Lang::trans('clientareanavdomains')); -$ca->addToBreadCrumb('clientarea.php?action=domaindetails&id=' . $domainId, $domainName); -$ca->addToBreadCrumb('dnssec.php', PAGE_NAME); - -$ca->initPage(); - -$ca->requireLogin(); - -$primarySidebar = Menu::primarySidebar('domainView'); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('Overview') - ->setLabel('Overview') - ->setUri("clientarea.php?action=domaindetails&id={$domainId}") - ->setOrder(0); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('Auto Renew') - ->setLabel('Auto Renew') - ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabAutorenew") - ->setOrder(10); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('Nameservers') - ->setLabel('Nameservers') - ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabNameservers") - ->setOrder(20); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('Addons') - ->setLabel('Addons') - ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabAddons") - ->setOrder(30); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('Contact Information') - ->setLabel('Contact Information') - ->setUri("clientarea.php?action=domaincontacts&domainid={$domainId}") - ->setOrder(40); - -$primarySidebar->getChild('Domain Details Management') - ->addChild('DNS Management') - ->setLabel('DNS Management') - ->setUri("clientarea.php?action=domaindns&domainid={$domainId}") - ->setOrder(50); - -$ca->setTemplate('/modules/registrars/openprovider/includes/templates/dnssec.tpl'); - -$ca->output(); +openprovider_registrar_launch_decorator('showDnssecPage', []); diff --git a/modules/registrars/openprovider/Controllers/System/DnssecPageController.php b/modules/registrars/openprovider/Controllers/System/DnssecPageController.php new file mode 100644 index 00000000..4a57f867 --- /dev/null +++ b/modules/registrars/openprovider/Controllers/System/DnssecPageController.php @@ -0,0 +1,125 @@ +apiHelper = $apiHelper; + } + + public function show($params) + { + $ca = new ClientArea(); + + $ca->setPageTitle(self::PAGE_NAME); + + $domainId = $_GET['domainid']; + $domain = \WHMCS\Database\Capsule::table('tbldomains') + ->where('id', $domainId) + ->first(); + + if (!$domain->dnsmanagement && isset($_SERVER['HTTP_REFERER'])) { + header('Location: ' . $_SERVER['HTTP_REFERER']); + } + elseif (!$domain->dnsmanagement) { + header('Location: ' . '/'); + } + + $domainObj = DomainFullNameToDomainObject::convert($domain->domain); + + try { + $domainOp = $this->apiHelper->getDomain($domainObj); + $dnssecKeys = $domainOp['dnssecKeys']; + $isDnssecEnabled = $domainOp['isDnssecEnabled']; + } catch (\Exception $e) { + header('Location: ' . $_SERVER["HTTP_REFERER"]); + } + + $ca->assign('dnssecKeys', $dnssecKeys); + $ca->assign('isDnssecEnabled', $isDnssecEnabled); + $ca->assign('apiUrlUpdateDnssecRecords', Configuration::getApiUrl('dnssec-record-update')); + $ca->assign('apiUrlTurnOnOffDnssec', Configuration::getApiUrl('dnssec-enabled-update')); + $ca->assign('domainId', $domainId); + $ca->assign('jsModuleUrl', Configuration::getJsModuleUrl(self::MODULE_NAME)); + $ca->assign('cssModuleUrl', Configuration::getCssModuleUrl(self::MODULE_NAME)); + + $ca->addToBreadCrumb('index.php', \Lang::trans('globalsystemname')); + $ca->addToBreadCrumb('clientarea.php', \Lang::trans('clientareatitle')); + $ca->addToBreadCrumb('clientarea.php?action=domains', \Lang::trans('clientareanavdomains')); + $ca->addToBreadCrumb('clientarea.php?action=domaindetails&id=' . $domainId, $domain->domain); + $ca->addToBreadCrumb('dnssec.php', self::PAGE_NAME); + + $ca->initPage(); + + $ca->requireLogin(); + + $primarySidebar = \Menu::primarySidebar('domainView'); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('Overview') + ->setLabel('Overview') + ->setUri("clientarea.php?action=domaindetails&id={$domainId}") + ->setOrder(0); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('Auto Renew') + ->setLabel('Auto Renew') + ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabAutorenew") + ->setOrder(10); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('Nameservers') + ->setLabel('Nameservers') + ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabNameservers") + ->setOrder(20); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('Addons') + ->setLabel('Addons') + ->setUri("clientarea.php?action=domaindetails&id={$domainId}#tabAddons") + ->setOrder(30); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('Contact Information') + ->setLabel('Contact Information') + ->setUri("clientarea.php?action=domaincontacts&domainid={$domainId}") + ->setOrder(40); + + $primarySidebar->getChild('Domain Details Management') + ->addChild('DNS Management') + ->setLabel('DNS Management') + ->setUri("clientarea.php?action=domaindns&domainid={$domainId}") + ->setOrder(50); + + $ca->setTemplate('/modules/registrars/openprovider/includes/templates/dnssec.tpl'); + + $ca->output(); + } +} diff --git a/modules/registrars/openprovider/api/api.php b/modules/registrars/openprovider/api/api.php index 024eb34b..336867ed 100644 --- a/modules/registrars/openprovider/api/api.php +++ b/modules/registrars/openprovider/api/api.php @@ -1,4 +1,5 @@ $_GET['userid'], ]; -openprovider_registrar_launch('system') - ->output($params, 'updateContactsTagApi'); +openprovider_registrar_launch_decorator('updateContactsTagApi', $params); diff --git a/modules/registrars/openprovider/api/dnssec-enabled-update/index.php b/modules/registrars/openprovider/api/dnssec-enabled-update/index.php index 8673c65d..a951af91 100644 --- a/modules/registrars/openprovider/api/dnssec-enabled-update/index.php +++ b/modules/registrars/openprovider/api/dnssec-enabled-update/index.php @@ -7,6 +7,4 @@ 'domainId' => $_GET['domainId'], ]; -openprovider_registrar_launch('system') - ->output($params, 'updateDnsSecEnabledApi'); - +openprovider_registrar_launch_decorator('updateDnsSecEnabledApi', $params); diff --git a/modules/registrars/openprovider/api/dnssec-record-update/index.php b/modules/registrars/openprovider/api/dnssec-record-update/index.php index 9f9960ec..2f34e2e2 100644 --- a/modules/registrars/openprovider/api/dnssec-record-update/index.php +++ b/modules/registrars/openprovider/api/dnssec-record-update/index.php @@ -10,6 +10,4 @@ 'action' => $_GET['action'], ]; -openprovider_registrar_launch('system') - ->output($params, 'updateDnsSecRecordApi'); - +openprovider_registrar_launch_decorator('updateDnsSecRecordApi', $params); diff --git a/modules/registrars/openprovider/routes/system.php b/modules/registrars/openprovider/routes/system.php index 794de99e..f2fd049f 100644 --- a/modules/registrars/openprovider/routes/system.php +++ b/modules/registrars/openprovider/routes/system.php @@ -58,4 +58,7 @@ 'updateContactsTagApi' => 'ApiController@updateContactsTag', 'updateDnsSecRecordApi' => 'ApiController@updateDnsSecRecord', 'updateDnsSecEnabledApi' => 'ApiController@updateDnsSecEnabled', + + // customPages + 'showDnssecPage' => 'DnssecPageController@show', ]; diff --git a/modules/registrars/openprovider/src/Configuration.php b/modules/registrars/openprovider/src/Configuration.php index 825d43dc..b320f478 100644 --- a/modules/registrars/openprovider/src/Configuration.php +++ b/modules/registrars/openprovider/src/Configuration.php @@ -72,8 +72,8 @@ public static function getCssModuleUrl($cssModuleName) return self::_getServerUrl() . "modules/registrars/openprovider/includes/templates/css/modules/{$cssModuleName}.css"; } - private static function _getServerUrl() + public static function _getServerUrl() { return localAPI('GetConfigurationValue', ['setting' => 'SystemURL'])['value']; } -} \ No newline at end of file +}