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)) {
#------------------------------------------------------------------------------- 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);