Skip to content

Commit e1b4719

Browse files
Updates to handle free da license
1 parent a72e81c commit e1b4719

2 files changed

Lines changed: 20 additions & 4 deletions

File tree

src/Plugin.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,15 @@ public static function getActivate(GenericEvent $event)
4848
$serviceClass = $event->getSubject();
4949
if ($event['category'] == get_service_define('DIRECTADMIN')) {
5050
myadmin_log(self::$module, 'info', 'Directadmin Activation', __LINE__, __FILE__, self::$module, $serviceClass->getId());
51-
function_requirements('directadmin_get_best_type');
52-
function_requirements('activate_directadmin');
53-
$response = activate_directadmin($serviceClass->getIp(), directadmin_get_best_type(self::$module, $serviceClass->getType()), $event['email'], $event['email'], self::$module.$serviceClass->getId(), '');
51+
$freeDaTypes = run_event('get_free_da_service_types', true, 'licenses');
52+
if (in_array($serviceClass->getType(), array_keys($freeDaTypes))) {
53+
function_requirements('activate_free_license');
54+
$response = activate_free_license($serviceClass->getIp(), $serviceClass->getType(), $event['email'], $serviceClass->getHostname());
55+
} else {
56+
function_requirements('directadmin_get_best_type');
57+
function_requirements('activate_directadmin');
58+
$response = activate_directadmin($serviceClass->getIp(), directadmin_get_best_type(self::$module, $serviceClass->getType()), $event['email'], $event['email'], self::$module.$serviceClass->getId(), '');
59+
}
5460
$serviceClass
5561
->setKey($response)
5662
->save();
@@ -130,6 +136,7 @@ public static function getRequirements(GenericEvent $event)
130136
$loader->add_requirement('deactivate_directadmin', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
131137
$loader->add_requirement('directadmin_deactivate', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
132138
$loader->add_page_requirement('directadmin_makepayment', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
139+
$loader->add_page_requirement('activate_free_license', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
133140
}
134141

135142
/**

src/directadmin.inc.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,4 +408,13 @@ function directadmin_get_products() {
408408
$response = directadmin_req($url, $post);
409409
myadmin_log('licenses', 'info', $response, __LINE__, __FILE__, 'licenses');
410410
return $response;
411-
}
411+
}
412+
413+
function activate_free_license($ipAddress, $type, $email, $hostname = '')
414+
{
415+
myadmin_log('licenses', 'info', "Called activate_free_license($ipAddress, $type, $email, $hostname)", __LINE__, __FILE__);
416+
function_requirements('class.FreeDirectAdmin');
417+
$daObj = new FreeDirectAdmin('licenses', $type, false, false);
418+
$license_key = $daObj->create($ipAddress, $email, 'vps - '.$ipAddress, $hostname);
419+
return $license_key;
420+
}

0 commit comments

Comments
 (0)