44
55use OpenProvider \API \ApiHelper ;
66use WHMCS \Database \Capsule ;
7+ use OpenProvider \WhmcsRegistrar \helpers \DnssecManagement ;
78
89/**
910 * Class DnssecToggleController
@@ -35,10 +36,8 @@ public function output($vars)
3536 return [];
3637 }
3738
38- $ this ->ensureDnssecColumn ();
39-
4039 $ row = Capsule::table ('tbldomains ' )
41- ->select ('id ' ,'domain ' , ' dnssecmanagement ' )
40+ ->select ('id ' ,'domain ' )
4241 ->where ('id ' , $ domainId )
4342 ->first ();
4443
@@ -51,8 +50,7 @@ public function output($vars)
5150 $ tld_enabled = false ;
5251 }
5352
54- $ admin_enabled = $ row && (int )($ row ->dnssecmanagement ?? 0 ) === 1 ;
55-
53+ $ admin_enabled = DnssecManagement::getFlag ((int )$ row ->id ) === 1 ;
5654 $ enabled = $ tld_enabled && $ admin_enabled ;
5755
5856 $ html = '
@@ -78,18 +76,16 @@ public function save($vars)
7876
7977 unset($ _SESSION ['op_dnssec_popup ' ]);
8078
81- $ this ->ensureDnssecColumn ();
82-
8379 $ row = Capsule::table ('tbldomains ' )
84- ->select ('id ' ,'domain ' , ' dnssecmanagement ' )
80+ ->select ('id ' ,'domain ' )
8581 ->where ('id ' , $ domainId )
8682 ->first ();
8783
8884 if (!$ row ) {
8985 return ;
9086 }
9187
92- $ current = ( int )( $ row ->dnssecmanagement ?? 0 );
88+ $ current = DnssecManagement:: getFlag (( int )$ row ->id );
9389 $ checkEnable = isset ($ _REQUEST ['op_dnssec_management ' ]) && $ _REQUEST ['op_dnssec_management ' ] == '1 ' ;
9490 $ wantsEnable = $ checkEnable ? 1 : 0 ;
9591 $ tld = $ this ->extractTldFromFqdn ((string )$ row ->domain );
@@ -102,7 +98,7 @@ public function save($vars)
10298
10399 if ($ wantsEnable === $ current ) {
104100 if ($ wantsEnable === 1 && !$ allowed ) {
105- $ this -> updateDnssecFlag ((int ) $ row ->id , 0 );
101+ DnssecManagement:: setFlag ((int ) $ row ->id , 0 );
106102 $ this ->setDnssecPopup (
107103 (int ) $ row ->id ,
108104 'warning ' ,
@@ -116,12 +112,12 @@ public function save($vars)
116112 }
117113
118114 if (!$ allowed && $ wantsEnable === 0 && $ current === 1 ) {
119- $ this -> updateDnssecFlag ((int ) $ row ->id , 0 );
115+ DnssecManagement:: setFlag ((int ) $ row ->id , 0 );
120116 return ;
121117 }
122118
123119 if ($ wantsEnable === 0 ) {
124- $ this -> updateDnssecFlag ((int ) $ row ->id , 0 );
120+ DnssecManagement:: setFlag ((int ) $ row ->id , 0 );
125121 $ this ->setDnssecPopup (
126122 (int ) $ row ->id ,
127123 'success ' ,
@@ -132,15 +128,15 @@ public function save($vars)
132128 }
133129
134130 if ($ allowed ) {
135- $ this -> updateDnssecFlag ((int ) $ row ->id , 1 );
131+ DnssecManagement:: setFlag ((int ) $ row ->id , 1 );
136132 $ this ->setDnssecPopup (
137133 (int ) $ row ->id ,
138134 'success ' ,
139135 'enabled ' ,
140136 'DNSSEC management has been successfully enabled for the domain. The client can now manage DNSSEC from the client area. '
141137 );
142138 } else {
143- $ this -> updateDnssecFlag ((int ) $ row ->id , 0 );
139+ DnssecManagement:: setFlag ((int ) $ row ->id , 0 );
144140 $ this ->setDnssecPopup (
145141 (int ) $ row ->id ,
146142 'warning ' ,
@@ -261,30 +257,6 @@ private function jsonInline($str)
261257 return json_encode ((string )$ str , JSON_HEX_TAG |JSON_HEX_APOS |JSON_HEX_AMP |JSON_HEX_QUOT );
262258 }
263259
264- private function ensureDnssecColumn (): void
265- {
266- $ table = 'tbldomains ' ;
267- $ col = 'dnssecmanagement ' ;
268-
269- try {
270- if (!Capsule::schema ()->hasTable ($ table ) || Capsule::schema ()->hasColumn ($ table , $ col )) {
271- return ;
272- }
273- Capsule::schema ()->table ($ table , function ($ t ) use ($ col ) {
274- $ t ->tinyInteger ($ col )->unsigned ()->default (1 );
275- });
276- } catch (\Exception $ e ) {}
277- }
278-
279- private function updateDnssecFlag (int $ domainId , int $ value ): void
280- {
281- try {
282- Capsule::table ('tbldomains ' )
283- ->where ('id ' , $ domainId )
284- ->update (['dnssecmanagement ' => $ value ]);
285- } catch (\Exception $ e ) {}
286- }
287-
288260 private function setDnssecPopup (
289261 int $ domainId ,
290262 string $ type ,
0 commit comments