function IPtoCountry($IP)
{
    $IP = sprintf('%u', IP2Long($IP));
    $query = "SELECT country_code2 FROM ip_country WHERE IP_from <= {$IP} AND IP_to >= {$IP} LIMIT 1";
    $result = mysql_query($query);
    if (mysql_num_rows($result) == 0) {
        $country = "--";
    } else {
        $row = mysql_fetch_object($result);
        $country = $row->country_name;
    }
    return $country;
}
#-------------------------------------------------------------------------------
$Table[] = array('IP лицензии', $ISPswOrder['IP']);
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if (!Is_Null($ISPswOrder['LicenseID'])) {
    #-------------------------------------------------------------------------------
    $Table[] = array('Внутренний идентификатор', $ISPswOrder['LicenseID']);
    #-------------------------------------------------------------------------------
    $Table[] = array('Номер лицензии ISPsystem (elid)', $ISPswOrder['elid']);
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    $Pattern = $ISPswOrder['pricelist_id'] > 1000 ? 'http://%s:1500/%s' : 'http://%s/manager/%s';
    # TODO: надо по типу панели определять окончание панели управления
    $Mgr = 'ispmgr';
    #-------------------------------------------------------------------------------
    $Url = SPrintF($Pattern, Long2IP(IP2Long($ISPswOrder['LicenseIP'])), $Mgr);
    #-------------------------------------------------------------------------------
    $Comp = Comp_Load('Formats/String', $Url, 35, $Url);
    if (Is_Error($Comp)) {
        return ERROR | @Trigger_Error(500);
    }
    #-------------------------------------------------------------------------------
    $Table[] = array('Панель управления', new Tag('TD', array('class' => 'Standard'), $Comp));
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
$Table[] = 'Прочее';
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Formats/Logic', $ISPswOrder['IsAutoProlong']);
if (Is_Error($Comp)) {
Exemple #3
0
 #-------------------------------------------------------------------------------
 if ($DSOrderID) {
     #-------------------------------------------------------------------------------
     $SelectCount++;
     $OrderType = "DS";
     $DependOrderID = $DSOrderID;
     $Columns = array('IP');
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 if ($SelectCount > 1) {
     return new gException('ISPsw_SELECTED_MORE_THAN_ONE_ORDER', 'Лицензию можно прикрепить только к одному заказу. Выберите лишь один пункт.');
 }
 #-------------------------------------------------------------------------------
 # тупая проверка IP на валидность - на этом этапе больше ничего не проверить
 $IP = Long2IP(IP2Long($IP));
 #-----------------------------------------------------------------------------
 Debug(SPrintF('[comp/www/ISPswOrder]: IP = %s', $IP));
 #-----------------------------------------------------------------------------
 # если не задан ИП и не задан зависимый заказ - вертаем ошибку
 if ($IP == '0.0.0.0' && !$OrderType) {
     return new gException('ISPsw_NO_DEPEND_ORDER_OR_VALID_IP', 'Укажите заказ к которому вы заказываете лицензию, или, корректный IP адрес');
 }
 #-----------------------------------------------------------------------------
 ## select IP for order - если он не задан явно
 if ($IP == '0.0.0.0') {
     #-------------------------------------------------------------------------------
     $OrderInfo = DB_Select(SPrintF('%sOrdersOwners', $OrderType), $Columns, array('ID' => $DependOrderID, 'UNIQ'));
     switch (ValueOf($OrderInfo)) {
         case 'error':
             return ERROR | @Trigger_Error(500);