Exemplo n.º 1
0
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if (!$ISPswScheme['IsActive']) {
    return new gException('SCHEME_NOT_ACTIVE', 'Выбранный тарифный план заказа ПО ISPsystem не активен');
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# проверяем IP адрес который нам воткнули, если это внешний заказ
if (!$ISPswScheme['IsInternal']) {
    #-------------------------------------------------------------------------------
    $ISPswInfo = array('IP' => $IP, 'pricelist_id' => $ISPswScheme['pricelist_id'], 'period' => $ISPswScheme['period']);
    #-------------------------------------------------------------------------------
    if (!BillManager_Check_ISPsystem_IP($ServerSettings, $ISPswInfo)) {
        return new gException('ISPsw_IP_ADDRESS_IN_USE', SPrintF('Для указанного IP адреса [%s] уже есть лицензия такого типа. За более подробной информацией, обратитесь в службу поддержки пользователей', $IP));
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# проверка - есть ли заказ от этого пользователя на этот IP
if ($ISPswScheme['IsInternal']) {
    #-------------------------------------------------------------------------------
    $Where = array('`StatusID` != "Deleted"', SPrintF('`IP` = "%s"', $IP), SPrintF('`UserID` = %u', $Contract['UserID']), SPrintF('(SELECT `SoftWareGroup` FROM `ISPswSchemes` WHERE `ISPswOrdersOwners`.`SchemeID` = `ISPswSchemes`.`ID`) = %u', $ISPswScheme['SoftWareGroup']));
    #-------------------------------------------------------------------------------
    $Count = DB_Count('ISPswOrdersOwners', array('Where' => $Where));
    if (Is_Error($Count)) {
        return ERROR | @Trigger_Error(500);
    }
Exemplo n.º 2
0
            #-------------------------------------------------------------------------------
            # помечаем старую лицензию как свободную
            $IsUpdate = DB_Update('ISPswLicenses', array('IsUsed' => 'no', 'IsInternal' => 'yes', 'Flag' => ''), array('ID' => $LicenseID));
            #-------------------------------------------------------------------------------
            if (Is_Error($IsUpdate)) {
                return ERROR | @Trigger_Error(500);
            }
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
} else {
    #-------------------------------------------------------------------------------
    # если лицензия внешняя, проверяем новый IP, и меняем адресок
    if (!BillManager_Check_ISPsystem_IP($Settings, $ISPswScheme)) {
        if (!$remoteip) {
            return new gException('ISPsw_IP_ADDRESS_IN_USE', SPrintF('Для указанного IP адреса [%s] уже есть лицензия такого типа. За более подробной информацией, обратитесь в службу поддержки пользователей', $IP));
        }
    }
    #-------------------------------------------------------------------------------
    $ISPswScheme['elid'] = $ISPswLicense['elid'];
    #-------------------------------------------------------------------------------
    $IsCreate = BillManager_Change_IP($Settings, $ISPswScheme);
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
switch (ValueOf($IsCreate)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':