if (Is_Error($Change_IP)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IUpdate = array('StatusDate' => Time(), 'ip_change_date' => Time(), 'IsUsed' => 'yes', 'ip' => $ISPswScheme['IP']); #------------------------------------------------------------------------------- $IUpdate['IsInternal'] = $ISPswScheme['IsInternal'] ? TRUE : FALSE; #------------------------------------------------------------------------------- $IsUpdate = DB_Update('ISPswLicenses', $IUpdate, array('ID' => $License['LicenseID'])); #------------------------------------------------------------------------------- if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # разблокируем if (!BillManager_UnLock($Server, $ISPswScheme)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # всё путём, лицензия создана $IsCreate = $License; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- # свободная лицензия не найдена, надо заказывать $IsCreate = BillManager_Create($Server, $ISPswScheme); if (Is_Error($IsCreate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- }
# меняем IP лицензии if (BillManager_Change_IP($Settings, $ISPswScheme)) { #------------------------------------------------------------------------------- $IsUpdate = DB_Update('ISPswLicenses', array('UpdateDate' => Time(), 'IsUsed' => TRUE, 'ip' => $ISPswScheme['IP']), array('Where' => SPrintF('`elid` = %u', $elid))); if (Is_Error($IsUpdate)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- return ERROR | @Trigger_Error(500); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # разблокируем if (!BillManager_UnLock($Settings, $ISPswScheme)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- # всё путём, лицензия создана $IsCreate = TRUE; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- # свободная лицензия не найдена, надо заказывать $IsCreate = BillManager_Create($Settings, $ISPswScheme); #------------------------------------------------------------------------------- if ($IsCreate) { #------------------------------------------------------------------------------- # помечаем старую лицензию как свободную $IsUpdate = DB_Update('ISPswLicenses', array('IsUsed' => 'no', 'IsInternal' => 'yes', 'Flag' => ''), array('ID' => $LicenseID));