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