Closed Kian987 closed 1 year ago
@Kian987 thanks for the follow-up.
Whenever it comes to Gateway Timeout - it is not an issue of the specific feature (update contacts), it is imho the result of earlier getConfigArray flooding. I am also wondering why the issue we patched in getConfigArray isn't solving it for all installations. Do you mind sharing the URL of the "Domain Registrations" Overview (feel free to hide the hostname) of an affected system for reference? In the meanwhile, I am checking alternatives ...
Again, thanks for reporting all this. This will receive highest priority on our end.
504 Gateway Timeout -> we moved the validation of API connectivity now out of getConfigArray
to config_validate
. A undocumented way we got forwarded by WHMCS customer support.
So, any issue related to 504 Gateway Timeout I consider as patched from Code Perspective. You're receiving that error as result of making to many requests for a certain time interval. If this still occurs, please open a support ticket and include the affected account name so that technicians can check if it got blacklisted because of this.
for completeness: v4.0.5 is patching that Gateway error.
The issue with .it registrations, I opened an internal task for the IBS Backend Devs to have an eye on it. I'll keep you in the loop.
Thanks for reply.
Do you mind sharing the URL of the "Domain Registrations" Overview (feel free to hide the hostname) of an affected system for reference? In the meanwhile, I am checking alternatives ...
What do you mean? Just the query string? Here you go https://{SYSTEM_URL}/{WHMCS_ADMIN_DIR}/index.php/{WHMCS_ADMIN_DIR}/domains
. Before you ask yes, WHMCS admin directory (default is /admin
) appears twice but that's how WHMCS works.
As for the rest I am going to try the latest version.
In the meantime let me share with you a hint for IBS. Apparently IBS never wanted to fully understand how .it extension works. No matter how many times I tried to explain. Hopefully you are more inclined to listen π
NIC (Italian Registry) supports way more than just .it extension. At the moment of writing this, there are 252 additional extensions. Here is the list.
Array
(
[0] => .ag.it
[1] => .al.it
[2] => .an.it
[3] => .ao.it
[4] => .aq.it
[5] => .ar.it
[6] => .ap.it
[7] => .at.it
[8] => .av.it
[9] => .ba.it
[10] => .bt.it
[11] => .bl.it
[12] => .bn.it
[13] => .bg.it
[14] => .bi.it
[15] => .bo.it
[16] => .bz.it
[17] => .bs.it
[18] => .br.it
[19] => .ca.it
[20] => .cl.it
[21] => .cb.it
[22] => .ci.it
[23] => .ce.it
[24] => .ct.it
[25] => .cz.it
[26] => .ch.it
[27] => .co.it
[28] => .cs.it
[29] => .cr.it
[30] => .kr.it
[31] => .cn.it
[32] => .en.it
[33] => .fm.it
[34] => .fe.it
[35] => .fi.it
[36] => .fg.it
[37] => .fc.it
[38] => .fr.it
[39] => .ge.it
[40] => .go.it
[41] => .gr.it
[42] => .im.it
[43] => .is.it
[44] => .sp.it
[45] => .lt.it
[46] => .le.it
[47] => .lc.it
[48] => .li.it
[49] => .lo.it
[50] => .lu.it
[51] => .mc.it
[52] => .mn.it
[53] => .ms.it
[54] => .mt.it
[55] => .vs.it
[56] => .me.it
[57] => .mi.it
[58] => .mo.it
[59] => .mb.it
[60] => .na.it
[61] => .no.it
[62] => .nu.it
[63] => .og.it
[64] => .ot.it
[65] => .or.it
[66] => .pd.it
[67] => .pa.it
[68] => .pr.it
[69] => .pv.it
[70] => .pg.it
[71] => .pu.it
[72] => .pe.it
[73] => .pc.it
[74] => .pi.it
[75] => .pt.it
[76] => .pn.it
[77] => .pz.it
[78] => .po.it
[79] => .rg.it
[80] => .ra.it
[81] => .rc.it
[82] => .re.it
[83] => .ri.it
[84] => .rn.it
[85] => .rm.it
[86] => .ro.it
[87] => .sa.it
[88] => .ss.it
[89] => .sv.it
[90] => .si.it
[91] => .sr.it
[92] => .so.it
[93] => .ta.it
[94] => .te.it
[95] => .tr.it
[96] => .to.it
[97] => .tp.it
[98] => .tn.it
[99] => .tv.it
[100] => .ts.it
[101] => .ud.it
[102] => .va.it
[103] => .ve.it
[104] => .vb.it
[105] => .vc.it
[106] => .vr.it
[107] => .vv.it
[108] => .vi.it
[109] => .vt.it
[110] => .agrigento.it
[111] => .alessandria.it
[112] => .ancona.it
[113] => .aosta.it
[114] => .laquila.it
[115] => .arezzo.it
[116] => .ascoli-piceno.it
[117] => .ascolipiceno.it
[118] => .asti.it
[119] => .avellino.it
[120] => .bari.it
[121] => .barletta-andria-trani.it
[122] => .barlettaandriatrani.it
[123] => .belluno.it
[124] => .benevento.it
[125] => .bergamo.it
[126] => .biella.it
[127] => .bologna.it
[128] => .bolzano.it
[129] => .brescia.it
[130] => .brindisi.it
[131] => .cagliari.it
[132] => .caltanissetta.it
[133] => .campobasso.it
[134] => .carbonia-iglesias.it
[135] => .carboniaiglesias.it
[136] => .caserta.it
[137] => .catania.it
[138] => .catanzaro.it
[139] => .chieti.it
[140] => .como.it
[141] => .cosenza.it
[142] => .cremona.it
[143] => .crotone.it
[144] => .cuneo.it
[145] => .enna.it
[146] => .fermo.it
[147] => .ferrara.it
[148] => .firenze.it
[149] => .foggia.it
[150] => .forli-cesena.it
[151] => .forlicesena.it
[152] => .frosinone.it
[153] => .genova.it
[154] => .gorizia.it
[155] => .grosseto.it
[156] => .imperia.it
[157] => .isernia.it
[158] => .la-spezia.it
[159] => .latina.it
[160] => .lecce.it
[161] => .lecco.it
[162] => .livorno.it
[163] => .lodi.it
[164] => .lucca.it
[165] => .macerata.it
[166] => .mantova.it
[167] => .massa-carrara.it
[168] => .massacarrara.it
[169] => .matera.it
[170] => .medio-campidano.it
[171] => .mediocampidano.it
[172] => .messina.it
[173] => .milano.it
[174] => .modena.it
[175] => .monza-brianza.it
[176] => .monzabrianza.it
[177] => .napoli.it
[178] => .novara.it
[179] => .nuoro.it
[180] => .ogliastra.it
[181] => .olbia-tempio.it
[182] => .olbiatempio.it
[183] => .oristano.it
[184] => .padova.it
[185] => .palermo.it
[186] => .parma.it
[187] => .pavia.it
[188] => .perugia.it
[189] => .pesaro-urbino.it
[190] => .pesarourbino.it
[191] => .pescara.it
[192] => .piacenza.it
[193] => .pisa.it
[194] => .pistoia.it
[195] => .pordenone.it
[196] => .potenza.it
[197] => .prato.it
[198] => .ragusa.it
[199] => .ravenna.it
[200] => .reggio-calabria.it
[201] => .reggiocalabria.it
[202] => .reggio-emilia.it
[203] => .reggioemilia.it
[204] => .rieti.it
[205] => .rimini.it
[206] => .roma.it
[207] => .rovigo.it
[208] => .salerno.it
[209] => .sassari.it
[210] => .savona.it
[211] => .siena.it
[212] => .siracusa.it
[213] => .sondrio.it
[214] => .taranto.it
[215] => .teramo.it
[216] => .terni.it
[217] => .torino.it
[218] => .trapani.it
[219] => .trento.it
[220] => .treviso.it
[221] => .trieste.it
[222] => .udine.it
[223] => .varese.it
[224] => .venezia.it
[225] => .verbania.it
[226] => .vercelli.it
[227] => .verona.it
[228] => .vibo-valentia.it
[229] => .vibovalentia.it
[230] => .vicenza.it
[231] => .viterbo.it
[232] => .abruzzo.it
[233] => .basilicata.it
[234] => .calabria.it
[235] => .campania.it
[236] => .emiliaromagna.it
[237] => .friuliveneziagiulia.it
[238] => .lazio.it
[239] => .liguria.it
[240] => .lombardia.it
[241] => .marche.it
[242] => .molise.it
[243] => .piemonte.it
[244] => .puglia.it
[245] => .sardegna.it
[246] => .sicilia.it
[247] => .toscana.it
[248] => .trentinoaltoadige.it
[249] => .umbria.it
[250] => .valledaosta.it
[251] => .veneto.it
)
In essence NIC lets you prefix .it with Italian regions (eg. abruzzo.it, sicilia.it) and provinces both as short-codes (eg. rm.it, mi.it) and full names (roma.it, milano.it). In other words you can register things like:
Don't panic now π All these additional extensions have the same costs of .it and do not require any tuning to work. Registering example.it and example.milano.it is the same exact thing. You don't even have to change anything for whois.
Okay so what's the problem? Additional domain fields. As I said earlier, all these extensions works exactly like .it meaning that they require the same parameters. The question is that ibs_additionaldomainfields.php
has rules just for .it.
/* * ************* START .IT****************** */
$additionaldomainfields[".it"] = [];
$additionaldomainfields[".it"]["legalentity"] = [
"Name" => "Legal Entity Type",
"DisplayName" => "Holder Type",
"Type" => "dropdown",
"Options" => "1. Italian and foreign natural persons|1. Italian and foreign natural persons,2. Companies/one man companies|2. Companies/one man companies,3. Freelance workers/professionals|3. Freelance workers/professionals,4. non-profit organizations|4. non-profit organizations,5. public organizations|5. public organizations,6. other subjects|6. other subjects,7. foreigners who match 2 - 6|7. foreigners who match 2 - 6",
"Default" => "1. Italian and foreign natural persons",
"Required" => true,
"LangVar" => "itLegalEntity"
];
$additionaldomainfields[".it"]["nationality"] = [
"Name" => "Nationality",
"DisplayName" => "Nationality",
"Type" => "dropdown",
"Options" => "AF|Afghanistan,AX|Aland Islands,AL|Albania,DZ|Algeria,AS|American Samoa,AD|Andorra,AO|Angola,AI|Anguilla,AQ|Antarctica,AG|Antigua and Barbuda,AR|Argentina,AM|Armenia,AW|Aruba,AU|Australia,AT|Austria,AZ|Azerbaijan,BS|Bahamas,BH|Bahrain,BD|Bangladesh,BB|Barbados,BY|Belarus,BE|Belgium,BZ|Belize,BJ|Benin,BM|Bermuda,BT|Bhutan,BO|Bolivia,BA|Bosnia and Herzegovina,BW|Botswana,BV|Bouvet Island,BR|Brazil,IO|British Indian Ocean Territory,VG|British Virgin Islands,BN|Brunei,BG|Bulgaria,BF|Burkina Faso,BI|Burundi,KH|Cambodia,CM|Cameroon,CA|Canada,CV|Cape Verde,KY|Cayman Islands,CF|Central African Republic,TD|Chad,CL|Chile,CN|China,CX|Christmas Island,CC|Cocos (Keeling) Islands,CO|Colombia,KM|Comoros,CG|Congo,CK|Cook Islands,CR|Costa Rica,HR|Croatia,CU|Cuba,CY|Cyprus,CZ|Czech Republic,CD|Democratic Republic of Congo,DK|Denmark,DJ|Djibouti,DM|Dominica,DO|Dominican Republic,TL|East Timor,EC|Ecuador,EG|Egypt,SV|El Salvador,GQ|Equatorial Guinea,ER|EritreaEE|Estonia,ET|Ethiopia,FK|Falkland Islands,FO|Faroe Islands,FM|Federated States of Micronesia,FJ|FijiFI|Finland,FR|FranceGF|French Guyana,PF|French Polynesia,TF|French Southern Territories,GA|Gabon,GM|Gambia,GE|Georgia,DE|Germany,GH|Ghana,GI|Gibraltar,GR|Greece,GL|Greenland,GD|Grenada,GP|Guadeloupe,GU|Guam,GT|Guatemala,GN|Guinea,GW|Guinea-Bissau,GY|Guyana,HT|Haiti,HM|Heard Island and Mcdonald Islands,HN|Honduras,HK|Hong Kong,HU|Hungary,IS|Iceland,IN|India,ID|Indonesia,IR|Iran,IQ|Iraq,IE|Ireland,IL|Israel,IT|Italy,CI|Ivory Coast,JM|Jamaica,JP|Japan,JO|Jordan,KZ|Kazakhstan,KE|Kenya,KI|Kiribati,KW|Kuwait,KG|Kyrgyzstan,LA|Laos,LV|Latvia,LB|Lebanon,LS|Lesotho,LR|Liberia,LY|Libya,LI|Liechtenstein,LT|Lithuania,LU|Luxembourg,MO|Macau,MK|Macedonia,MG|Madagascar,MW|Malawi,MY|Malaysia,MV|Maldives,ML|Mali,MT|Malta,MH|Marshall Islands,MQ|Martinique,MR|Mauritania,MU|Mauritius,YT|Mayotte,MX|Mexico,MD|Moldova,MC|Monaco,MN|Mongolia,ME|Montenegro,MS|Montserrat,MA|Morocco,MZ|Mozambique,MM|Myanmar,NA|Namibia,NR|Nauru,NP|Nepal,NL|Netherlands,AN|Netherlands Antilles,NC|New Caledonia,NZ|New Zealand,NI|Nicaragua,NE|Niger,NG|Nigeria,NU|Niue,NF|Norfolk Island,KP|North Korea,MP|Northern Mariana Islands,NO|Norway,OM|Oman,PK|Pakistan,PW|Palau,PS|Palestinian Occupied Territories,PA|Panama,PG|Papua New Guinea,PY|Paraguay,PE|Peru,PH|Philippines,PN|Pitcairn Islands,PL|Poland,PT|Portugal,PR|Puerto Rico,QA|Qatar,RE|Reunion,RO|Romania,RU|Russia,RW|Rwanda,SH|Saint Helena and Dependencies,KN|Saint Kitts and Nevis,LC|Saint Lucia,PM|Saint Pierre and Miquelon,VC|Saint Vincent and the Grenadines,WS|Samoa,SM|San Marino,ST|Sao Tome and Principe,SA|Saudi Arabia,SN|Senegal,RS|Serbia,SC|Seychelles,SL|Sierra Leone,SG|Singapore,SK|Slovakia,SI|Slovenia,SB|Solomon Islands,SO|Somalia,ZA|South Africa,GS|South Georgia and South Sandwich Islands,KR|South Korea,ES|Spain,LK|Sri Lanka,SD|Sudan,SR|Suriname,SJ|Svalbard and Jan Mayen,SZ|Swaziland,SE|Sweden,CH|Switzerland,SY|Syria,TW|Taiwan,TJ|Tajikistan,TZ|Tanzania,TH|Thailand,TG|Togo,TK|Tokelau,TO|Tonga,TT|Trinidad and Tobago,TN|Tunisia,TR|Turkey,TM|Turkmenistan,TC|Turks And Caicos Islands,TV|Tuvalu,VI|US Virgin Islands,UG|Uganda,UA|Ukraine,AE|United Arab Emirates,GB|United Kingdom,US|United States,UM|United States Minor Outlying Islands,UY|UruguayUZ|Uzbekistan,VU|Vanuatu,VA|Vatican City,VE|Venezuela,VN|Vietnam,WF|Wallis and Futuna,EH|Western Sahara,YE|Yemen,ZM|Zambia,ZW|Zimbabwe",
"Default" => "IT",
"Required" => true,
"LAngVar" => "itNationality",
];
//for ugrade need to execute: UPDATE `tbldomainsadditionalfields` INNER JOIN `tbldomains` ON `tbldomains`.id=`tbldomainsadditionalfields`.`domainid` SET `tbldomainsadditionalfields`.`name`="VATTAXPassportIDNumber" WHERE `tbldomainsadditionalfields`.`name`="VAT/TAX/Passport/ID Number" AND `tbldomains`.`registrar`="ibs"
$additionaldomainfields[".it"]["identificationnumber"] = [
"Name" => "VATTAXPassportIDNumber",
"DisplayName" => "VAT/TAX/Passport/ID Number",
"Type" => "text",
"Size" => "30",
"Default" => "",
"Required" => true,
"LangVar" => "itIdentificationNumber",
];
$additionaldomainfields[".it"]["whois"] = [
"Name" => "Hide data in public WHOIS",
"DisplayName" => "Hide data in public WHOIS",
"Type" => "tickbox",
"LangVar" => "itWhois",
];
$additionaldomainfields[".it"]["terms"] = [
"Name" => "itterms",
"DisplayName" => "Accept .it registry <a href=\"itterms.html\" target=\"_blank\">terms and conditions</a>",
"Type" => "tickbox",
"Required" => true,
"LangVar" => "itTerms",
];
/************** END .IT*******************/
All you need to do is adding a foreach at the very end or this section so that the above parameters are replicated for all other 252 extension as follows.
/************** START .IT REGIONS AND PROVINCES*******************/
$additional_it_extensions = [ '.ag.it', '.al.it', '.an.it', '.ao.it', '.aq.it', '.ar.it', '.ap.it', '.at.it', '.av.it', '.ba.it', '.bt.it', '.bl.it', '.bn.it', '.bg.it', '.bi.it', '.bo.it', '.bz.it', '.bs.it', '.br.it', '.ca.it', '.cl.it', '.cb.it', '.ci.it', '.ce.it', '.ct.it', '.cz.it', '.ch.it', '.co.it', '.cs.it', '.cr.it', '.kr.it', '.cn.it', '.en.it', '.fm.it', '.fe.it', '.fi.it', '.fg.it', '.fc.it', '.fr.it', '.ge.it', '.go.it', '.gr.it', '.im.it', '.is.it', '.sp.it', '.lt.it', '.le.it', '.lc.it', '.li.it', '.lo.it', '.lu.it', '.mc.it', '.mn.it', '.ms.it', '.mt.it', '.vs.it', '.me.it', '.mi.it', '.mo.it', '.mb.it', '.na.it', '.no.it', '.nu.it', '.og.it', '.ot.it', '.or.it', '.pd.it', '.pa.it', '.pr.it', '.pv.it', '.pg.it', '.pu.it', '.pe.it', '.pc.it', '.pi.it', '.pt.it', '.pn.it', '.pz.it', '.po.it', '.rg.it', '.ra.it', '.rc.it', '.re.it', '.ri.it', '.rn.it', '.rm.it', '.ro.it', '.sa.it', '.ss.it', '.sv.it', '.si.it', '.sr.it', '.so.it', '.ta.it', '.te.it', '.tr.it', '.to.it', '.tp.it', '.tn.it', '.tv.it', '.ts.it', '.ud.it', '.va.it', '.ve.it', '.vb.it', '.vc.it', '.vr.it', '.vv.it', '.vi.it', '.vt.it', '.agrigento.it', '.alessandria.it', '.ancona.it', '.aosta.it', '.laquila.it', '.arezzo.it', '.ascoli-piceno.it', '.ascolipiceno.it', '.asti.it', '.avellino.it', '.bari.it', '.barletta-andria-trani.it', '.barlettaandriatrani.it', '.belluno.it', '.benevento.it', '.bergamo.it', '.biella.it', '.bologna.it', '.bolzano.it', '.brescia.it', '.brindisi.it', '.cagliari.it', '.caltanissetta.it', '.campobasso.it', '.carbonia-iglesias.it', '.carboniaiglesias.it', '.caserta.it', '.catania.it', '.catanzaro.it', '.chieti.it', '.como.it', '.cosenza.it', '.cremona.it', '.crotone.it', '.cuneo.it', '.enna.it', '.fermo.it', '.ferrara.it', '.firenze.it', '.foggia.it', '.forli-cesena.it', '.forlicesena.it', '.frosinone.it', '.genova.it', '.gorizia.it', '.grosseto.it', '.imperia.it', '.isernia.it', '.la-spezia.it', '.latina.it', '.lecce.it', '.lecco.it', '.livorno.it', '.lodi.it', '.lucca.it', '.macerata.it', '.mantova.it', '.massa-carrara.it', '.massacarrara.it', '.matera.it', '.medio-campidano.it', '.mediocampidano.it', '.messina.it', '.milano.it', '.modena.it', '.monza-brianza.it', '.monzabrianza.it', '.napoli.it', '.novara.it', '.nuoro.it', '.ogliastra.it', '.olbia-tempio.it', '.olbiatempio.it', '.oristano.it', '.padova.it', '.palermo.it', '.parma.it', '.pavia.it', '.perugia.it', '.pesaro-urbino.it', '.pesarourbino.it', '.pescara.it', '.piacenza.it', '.pisa.it', '.pistoia.it', '.pordenone.it', '.potenza.it', '.prato.it', '.ragusa.it', '.ravenna.it', '.reggio-calabria.it', '.reggiocalabria.it', '.reggio-emilia.it', '.reggioemilia.it', '.rieti.it', '.rimini.it', '.roma.it', '.rovigo.it', '.salerno.it', '.sassari.it', '.savona.it', '.siena.it', '.siracusa.it', '.sondrio.it', '.taranto.it', '.teramo.it', '.terni.it', '.torino.it', '.trapani.it', '.trento.it', '.treviso.it', '.trieste.it', '.udine.it', '.varese.it', '.venezia.it', '.verbania.it', '.vercelli.it', '.verona.it', '.vibo-valentia.it', '.vibovalentia.it', '.vicenza.it', '.viterbo.it', '.abruzzo.it', '.basilicata.it', '.calabria.it', '.campania.it', '.emiliaromagna.it', '.friuliveneziagiulia.it', '.lazio.it', '.liguria.it', '.lombardia.it', '.marche.it', '.molise.it', '.piemonte.it', '.puglia.it', '.sardegna.it', '.sicilia.it', '.toscana.it', '.trentinoaltoadige.it', '.umbria.it', '.valledaosta.it', '.veneto.it' ];
foreach ($additional_it_extensions as $extension) {
foreach ($additionaldomainfields['.it'] as $params) {
$additionaldomainfields[$extension] = $params;
}
}
/************** END .IT REGIONS AND PROVINCES*******************/
In all these years I never managed to get IBS to add this simple change hence I always had to add it manually on every system I manage. Could you consider to include it? Make sure that it works for you (I assume no responsibility π). For what is worth I'm using it from more than a decade on hundreds of WHMCS.
@Kian987 phew :dancers:
Let me see what I can do... Thanks for that feedback, very helpful.
@Kian987 v4.0.6 is now including the .it 3rd level TLD additional fields.
@Kian987 regarding the .it registration you addressed: we received the html entity in the lastname - is that part of customer data? Can you check that please?
@Kian987 just fyi as it is .it related - 4.0.7 patched an issue with TransferDomain (registrant_dotitnationality).
@Kian987 regarding the .it registration you addressed: we received the html entity in the lastname - is that part of customer data? Can you check that please?
This is all we have in tbldomainsadditionalfields
for the given domain.
As you can see entity is set in Legal Entity Type
field.
As for lastname, as you can see from the screenshot I included in my first post (this one), every *_lastname
parameter (registrant_lastname
, technical_lastname
, billing_lastname
) is the same and corresponds to user's lastname. There's no entity here.
As for savecontactdetails
(or Domain/Update
) that never works since always, I found out why.
The page from which endusers update their details (clientarea.php?action=domaincontacts&domainid={DOMAIN_ID}
) doesn't pick up additional domain fields. The problem occurs with all TLDs that require at least one mandatory additional domain field.
I don't know if the page in question is supposed to iterate over additional domain fields so that such fields can be seen and edited or if the module just loads them automatically on save (no edit supported), but for sure IBS module is not transmitting any additional field.
That's why the update never works from years. It can only work with TLDs that do not have any mandatory additional field.
The page from which endusers update their details (clientarea.php?action=domaincontacts&domainid={DOMAIN_ID}) doesn't pick up additional domain fields. The problem occurs with all TLDs that require at least one mandatory additional domain field.
Yes, that's the design of WHMCS. If I recall correctly, the IBS Integration has a additional fields sub menu entry on client area. There such fields can be filled and submitted and finally followed by the Contact Data update. The design of whmcs is in that regard not following best practices ... In Registrar Frontends, you always see the contact data form together with additional domain fields (which makes sense to avoid a two-step update process).
WHMCS is including the fields then in $params when contact data is submitted. In case there's nothing broken with the module, the fields are mapped into the API Command and included in the API request.
The IBS Integration isn't therefore the bad guy, it starts with WHMCS in 1st line - still, I'll have to check .it fields after the findings for the IBS API have been patched (your initial reported case) - they are on it.
A patch has been rolled out for the .IT registration on API-side. The only thing questionable to us is: d'Alessandro
which is indeed invalid and should be d'Alessandro
. Where is that exactly coming from?
I checked the HEXONET integration and there, we do have an explicit html_entity_decode call in place. Looks like WHMCS is messing up the data for some reason -> I could imagine the Transliteration Process to have an impact. https://docs.whmcs.com/Custom_Transliteration
WHMCS comes with a default integrated transliteration which could be the cause or if you have a custom one in place, that one. Just my two cents.
I took now the hexonet solution over and I guess that will do the trick. v4.0.8 is out.
@Kian987 I moved the additional field topic out to a separate github issue and explained it there again. We'll keep that one updated, but as there's a way provided via IBS - we consider it as not urgent which leaves us also time for digging deeper and playing around with child themes, hooks, ... and talking to WHMCS.
Hi,
sadly the current state of IBS isn't good. It is not usable. Even the most basic features are no longer reliable. Keep in mind what I am describing is occurring on multiple systems of different providers that are using a wide variety of WHMCS versions.
504 Gateway Timeout still occurring
First thing first, what I described here last week is still happening. The same exact module on some systems still causes 504 Gateway Timeout. On some others it works. I have no idea why
getconfigarray
/Account/Balance/Get
requests keep flooding IBS API server. The only option these providers have is to keep using IBS v1 module.Wrong validations, values... wrong everything
Second. It seems that today we have lost the ability to register some .it domains but I suspect the issue also applies to other extensions since the principle is the same.
I also think that the issue is not directly caused by the module. IBS API probably plays a role here. Maybe IBS changed something on their side but such changes are unknown to WHMCS module.
Take a look at the following screenshot (left side request, right side response).
As you can see we have errors everywhere that don't make any sense:
registrant_dotitregcode
depends onregistrant_dotitentitytype
. For natural persons (1) like in this case, it is equal to Tax ID / Codice Fiscale. It's a value that looks like followsRSSMRA70A41F205Z
- this one is fake but valid. Now according to IBSFiscal code birthday does not validate
. This makes absolutely no sense! The birthday of the customer in question is perfectly valid. I suspect IBS implemented a check for italian Tax IDs but they failed. Their validation isn't workingUpdate contacts still not working
Last week when I opened my first bug report all we wanted was the ability to restore a feature that stopped working without notice. I am talking about updating domain contacts (tech, registrant, billing).
Now not only this feature is still not working but providers are experiencing Gateway Timeouts, inexplicable errors and validations that make no sense.