@@ -72,8 +72,15 @@ public static function getDeactivate(GenericEvent $event)
7272 $ serviceClass = $ event ->getSubject ();
7373 if ($ event ['category ' ] == get_service_define ('DIRECTADMIN ' )) {
7474 myadmin_log (self ::$ module , 'info ' , 'Directadmin Deactivation ' , __LINE__ , __FILE__ , self ::$ module , $ serviceClass ->getId ());
75- function_requirements ('deactivate_directadmin ' );
76- $ event ['success ' ] = deactivate_directadmin ($ serviceClass ->getIp ());
75+ $ freeDaTypes = run_event ('get_free_da_service_types ' , true , 'licenses ' );
76+ if (in_array ($ serviceClass ->getType (), array_keys ($ freeDaTypes ))) {
77+ function_requirements ('delete_free_license ' );
78+ $ response = delete_free_license ($ serviceClass ->getKey (), $ serviceClass ->getType ());
79+ $ event ['success ' ] = true ;
80+ } else {
81+ function_requirements ('deactivate_directadmin ' );
82+ $ event ['success ' ] = deactivate_directadmin ($ serviceClass ->getIp ());
83+ }
7784 $ event ->stopPropagation ();
7885 }
7986 }
@@ -137,6 +144,7 @@ public static function getRequirements(GenericEvent $event)
137144 $ loader ->add_requirement ('directadmin_deactivate ' , '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php ' );
138145 $ loader ->add_page_requirement ('directadmin_makepayment ' , '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php ' );
139146 $ loader ->add_page_requirement ('activate_free_license ' , '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php ' );
147+ $ loader ->add_page_requirement ('delete_free_license ' , '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php ' );
140148 $ loader ->add_requirement ('directadmin_modify_os ' , '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php ' );
141149 }
142150
0 commit comments