Skip to content

Commit 6d74fa7

Browse files
committed
work on the deactivate parallels code so it lookps through all the keys on a given ip for paralllels deactivating them and improved logging
1 parent 51bf3f6 commit 6d74fa7

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

src/parallels.inc.php

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,25 @@ function deactivate_parallels($ipAddress)
7878
myadmin_log('licenses', 'info', "Parallels Deactivation ({$ipAddress})", __LINE__, __FILE__);
7979
function_requirements('class.Parallels');
8080
$parallels = new \Detain\Parallels\Parallels();
81-
$key = $parallels->getMainKeyFromIp($ipAddress);
82-
request_log('licenses', false, __FUNCTION__, 'parallels', 'getMainKeyFromIp', $ipAddress, $key);
83-
myadmin_log('licenses', 'info', "Parallels getMainKeyFromIp({$ipAddress}) = {$key} Raw Response: ".json_encode($parallels->response), __LINE__, __FILE__);
84-
if ($key !== false) {
85-
$response = $parallels->terminateKey($key);
86-
request_log('licenses', false, __FUNCTION__, 'parallels', 'terminateKey', $key, $response);
87-
myadmin_log('licenses', 'info', "Parallels TerminateKey({$key}) Response: ".json_encode($response), __LINE__, __FILE__);
81+
$response = $parallels->getKeyNumbers($ipAddress);
82+
request_log('licenses', false, __FUNCTION__, 'parallels', 'getMainKeyFromIp', $ipAddress, $response);
83+
myadmin_log('licenses', 'info', "Parallels getMainKeyFromIp({$ipAddress}): ".json_encode($response), __LINE__, __FILE__);
84+
if (isset($response['keyNumbers'])) {
85+
$keys = $response['keyNumbers'];
86+
$status = json_decode(file_get_contents(__DIR__.'/../../../../include/config/plesk.json'), true);
87+
foreach ($keys as $key) {
88+
$response = $parallels->terminateKey($key);
89+
request_log('licenses', false, __FUNCTION__, 'parallels', 'terminateKey', $key, $response);
90+
myadmin_log('licenses', 'info', "Parallels TerminateKey({$key}) Response: ".json_encode($response), __LINE__, __FILE__);
91+
if (array_key_exists($key, $status)) {
92+
$status[$key]['terminated'] = true;
93+
file_put_contents(__DIR__.'/../../../../include/config/plesk.json', json_encode($status, JSON_PRETTY_PRINT));
94+
}
95+
if (array_key_exists(str_replace('0001', '0000', $key), $status)) {
96+
$status[str_replace('0001', '0000', $key)]['terminated'] = true;
97+
file_put_contents(__DIR__.'/../../../../include/config/plesk.json', json_encode($status, JSON_PRETTY_PRINT));
98+
}
99+
}
88100
} else {
89101
myadmin_log('licenses', 'info', 'Parallels No Key Found to Terminate', __LINE__, __FILE__);
90102
}

0 commit comments

Comments
 (0)