@@ -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