Skip to content

Commit 1545543

Browse files
Delete func for Free License
1 parent 01d6fad commit 1545543

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

src/Plugin.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

src/directadmin.inc.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,22 @@ function_requirements('class.FreeDirectAdmin');
420420
return $license_key;
421421
}
422422

423+
/**
424+
* Delete a license
425+
*
426+
* @param int $lid DA portal License ID
427+
*
428+
* @return array/boolean $response
429+
*/
430+
function delete_free_license($lid, $type)
431+
{
432+
myadmin_log('licenses', 'info', "Called delete_free_license($lid)", __LINE__, __FILE__);
433+
function_requirements('class.FreeDirectAdmin');
434+
$daObj = new FreeDirectAdmin('licenses', $type, false, false);
435+
$license_key = $daObj->delete($lid);
436+
return $license_key;
437+
}
438+
423439
/**
424440
* Modify license OS
425441
*

0 commit comments

Comments
 (0)