Skip to content

Commit 01d6fad

Browse files
Modify OS in license function is added
1 parent dffb2a9 commit 01d6fad

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

src/Plugin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ public static function getRequirements(GenericEvent $event)
137137
$loader->add_requirement('directadmin_deactivate', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
138138
$loader->add_page_requirement('directadmin_makepayment', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
139139
$loader->add_page_requirement('activate_free_license', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
140+
$loader->add_requirement('directadmin_modify_os', '/../vendor/detain/myadmin-directadmin-licensing/src/directadmin.inc.php');
140141
}
141142

142143
/**

src/directadmin.inc.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,3 +419,40 @@ function_requirements('class.FreeDirectAdmin');
419419
$license_key = $daObj->create($ipAddress, $email, 'vps - '.$ipAddress, $hostname);
420420
return $license_key;
421421
}
422+
423+
/**
424+
* Modify license OS
425+
*
426+
* @param int $lid DA portal License ID
427+
* @param string $os Operating System
428+
*
429+
* @return array/boolean $response
430+
*/
431+
function directadmin_modify_os($lid, $os)
432+
{
433+
if ($lid) {
434+
$licenses = get_directadmin_licenses();
435+
$os_string = directadmin_get_os_list();
436+
$os_arr = explode(PHP_EOL, trim($os_string));
437+
foreach($os_arr as $row) {
438+
$os_exp = explode('=', $row);
439+
$os_list[$os_exp[0]] = $os_exp[1];
440+
}
441+
if (isset($licenses[$lid])) { //validate license id
442+
if (in_array($os , array_keys($os_list))) {
443+
$url = 'https://www.directadmin.com/clients/api/special.php?lid='.$lid;
444+
$post = [
445+
'saveos' => 'OS Updated',
446+
'os' => $os
447+
];
448+
$response = directadmin_req($url, $post);
449+
return $response;
450+
} else {
451+
myadmin_log('licenses', 'info', 'Invalid OS is passed.', __LINE__, __FILE__, 'licenses');
452+
}
453+
} else {
454+
myadmin_log('licenses', 'info', 'Invalid DA License Id passed.', __LINE__, __FILE__, 'licenses');
455+
}
456+
}
457+
return false;
458+
}

0 commit comments

Comments
 (0)