Vendor report: A matter of time and money

Six months ago Irish Computer asked some vendor luminaries for their impressions of the year to date and what they thought the rest of the year would bring. Now we

Marcus McKenna, HP PSG Ireland country manager 

No prizes for guessing who out of our panel has had the most interesting year in 2011. That award goes to Marcus McKenna, Ireland country manager at HP’s PSG unit. The start of 2011 was a time of phenomenal promise with webOS and the TouchPad tablet in the offing. "I felt full of ambition and expectation – delight, to be honest with you."

It was one of the few occasions since he started in the PC business back in 1984 where McKenna felt engaged with something with such a huge level of expectation. "Everybody wanted to know what was happening, everybody wanted to be included," he recalls, adding it’s the only time when his family were interested in the products he was involved with.

 

advertisement

 

The decision announced on 18 August, the date trips easily off his tongue, to end webOS tablet and smart phone production "was a body blow to everybody", he says. "There was an awful lot of anger, an awful lot of hurt. There were hopes and dreams and aspirations built around the product. The company acted too quickly. It hadn’t given the TouchPad enough time. Decisions were based on market penetration in US not in Europe. They shot it before it even got out of the gate as far as Europe was concerned."

Right call
The decision to kill off the TouchPad was only a small part of a much wider announcement to look at the future of HP’s entire PC business with the potential for a spin-off, sale or keeping it in-house. Wall Street was unimpressed, partners and customers bemused and HP employees perplexed. As McKenna recalls, it was a time of worry, uncertainty and instability. But before people could start to postulate on what might happen, HP sacked its CEO Leo Apothekar, installed ex-eBayer Meg Whitman in his place and not long after that – 28 October, another date that McKenna seems to know off by heart – announced its intention to keep the PSG business after all.

A few weeks later, McKenna can afford to view the saga in a positive manner, suggesting that it has helped to take away uncertainty over the future for PSG. "Had the board not announced it was considering alternatives [for PSG], there would have been a lot of speculation – it is the lowest contributor in terms of net margin and the smallest net profit contributor in the HP portfolio. The great news is that the board has made the right decision. There was a lot of guidance taken over the decision and a lot of feedback from customers that HP’s breadth of products and services was strategic." Did the upheaval have any impact on the business? August held up well but there were signs of delayed decisions in September, but he says it’s had to tell what proportion were to do with the events at HP and how much to do with the general austerity, although he admits the company had given "our competitors a silver bullet".

Looking back on 2011, he says PSG has done especially well in education in the South, 99.9% of which has been handled by the channel, and in central government and health in the North of Ireland. He believes there are opportunities in terms of dealing with strategic consortia and large frameworks given PSG’s ability to build a solution stack using other parts of its operation. "Sometimes we’ve taken an awful lot of services, competencies and values for granted, and we haven’t leveraged the scale of the company in terms of technical services and enterprise services," he says. "We’re looking to be a key partner for health and government in Ireland – we have a very, very compelling position."

The concern is that austerity measures will start to hit government and public sector business. "Because we have such a large proportion of business there it’s difficult to see commercial opportunities growing quickly enough to take up the slack but we’re taking market share from competitors." He claims there are "significant opportunities" to grow by taking market share in terms of Windows 7 refresh in the corporate space, workstations, thin clients and retail point of sale. Some of them "are not going to be massive in terms of revenue contribution" but they will provide strong margin contribution. 

Sustainable
When it comes to the channel, McKenna says he’s been surprised how strong and sustainable they have been. "I would have thought there would have been an awful lot more in the way of closures and acquisitions, but they were more resilient, flexible and adaptable than we gave them credit for. We have the most competent, capable channel operation; it’s the envy of our competitors and provides us with a clear differentiation."

He admits to having struggled a little bit with distribution this year. "When the primary companies are based in UK and all the conversations around sell-in are happening in the UK, you haven’t got the same level of engagement." To try and narrow the gap, he has recruited someone to work on a day to day basis with the distributors to improve engagement and strengthen ties with its distributor-supplied CDP accounts.

For 2012, PSG is hoping to achieve growth of 10-15% in a market projected to experience only low single digit growth. To do this, it will need to take market share from competitors. McKenna thinks its strong local presence and focus in Ireland will serve as a key differentiator compared to many rivals. It is planning to attack every opportunity in the corporate space and to win business at the multinational, global, level. "There may not be many of them about, but the scale is such that you don’t need to win many to make a difference to your overall performance."

Martin Cullen, head of SME and partner business, Microsoft 

Last time we spoke to Martin Cullen, Microsoft had finished its third fiscal quarter (end of March) and was into the final quarter for 2011. At the time, he said the software giant had enjoyed a "very strong" fiscal 2011 with growth up more than 30%.

When we catch up with him, Microsoft is well into its second quarter of fiscal 2012 and is experiencing "significant double digit growth". While the big deals have slowed down a little bit, the company is doing "a hell of a lot of business in the SMB space" which has really stepped up in the last three or four months.

Some of the SMB business is coming from upgrades on Exchange or companies refreshing Office, but he claims Microsoft is also starting to gain share on virtualisation in the mid market/SMB space. The company is in the fortuitous position of being the more likely ‘default vendor’ for customers in the SMB space making their first move into virtualisation.

The unified communications Lync product is also opening up opportunities and it is all incremental business for Microsoft. Cullen suggests it could be a good opportunity for IT partners, especially when PBX partners are starting to question whether they need to step into the IT world. He argues that it’s "the obvious next step" for IT partners. Microsoft has also seen good numbers on its CRM business from a mixture of cloud and on premise sales, but the retail space is "a tough, tough place at the moment".

Resilient
In terms of threats, he says technology has remained remarkably resilient in the downturn and suggests there’s a potential for some companies to look at the threat at the macro level and turn it into an opportunity. "Everything’s about the business case. If you can’t provide it, it won’t get through." If people can’t demonstrate IT spending will have some kind of impact on the bottom line it’s not going to go ahead.

As for the channel, it has proved to be "surprisingly stable". There was an expectation of consolidation but it hasn’t reality happened at a reseller level and the distribution consolidation took place before the recession.

But the channel is having to change how it looks at its business model in a hybrid world and how to position itself. When it sells Office 365, the areas where it is relevant to the customer in terms of how it engages is different. For instance, do they provide a managed service to Microsoft’s cloud offering? Cullen says customers don’t want to engage with Microsoft, "and they probably never did in the first place. It’s a different style of how the engagement model works. It doesn’t lessen [their role], it just tweaks it".

Looking towards 2012, which is the second half of Microsoft’s fiscal year, he says it is "relatively optimistic" because there is a continued need for companies to invest in IT. There are definitely challenges but there are also some relatively positive signs. And Microsoft is "lucky" that it brings new products to market all the time, because it "gives us additional boosters to our business".

Dermot Hayden, Sophos Ireland sales manager

Six months ago, Hayden said Sophos had "enjoyed a very good year in Ireland" with growth of around 35% for the year ending 31 March 2011. Today, he says things have been "challenging" and the vendor is having to work very hard for the business it gets. It has a growth target of 40% for the year ending March 2012 and Hayden admits Sophos is "a little behind, but not far off it: "I don’t know if we’ll do 40%, but the opportunities are there in pipeline".

The company has been helped by the fact it has broadened its portfolio, notably with the acquisition of UTM (unified threat management) provider Astaro. There are plenty of opportunities around UTM, opportunities which have always been there, he believes, but have not been addressed in the past because Astaro didn’t have a significant focus on the Irish market and Sophos didn’t have a product.

Mobile
He says there has also been huge interest and growth in the mobile area and Sophos is seeing a lot of growth in web and e-mail appliances, as well as encryption, which more businesses are starting to recognise as a fundamental requirement.

Broadening the portfolio has helped the company to cope with the price pressure being applied by customers on vendors like Sophos as they seek to "get as much as they can for as little as they can".

As for the channel, Sophos is currently bringing some significant partners on board and will run a Sophos network security training programme around Astaro. Hayden admits it has taken time to get partners on board. "Partners we targeted a year ago are only just now starting to come on board and transact business with us," he states.

Asked about potential threats to the industry going forward, he points to the obvious ructions at a macroeconomic level, but he also zooms in on a more specific problem, what if companies decide to take a risk with their security? With budgets tight and most businesses viewing security as a type of insurance (which Hayden is quick to dismiss as misguided), what would happen if they decided to say "we might just get away with it" and opted not to spend money on security?

But he sees a silver lining in this scenario too because companies that would have happily renewed a number of different security licences in the better times will now be more likely to examine them and ask whether they are good value for money. This could propel them to go out to marketplace to see if they can better value for money somewhere else and this, according to Hayden, will help Sophos. "A lot of our growth is coming from companies that are dissatisfied with their existing vendors," he claims. "So, yes, the economy is a big threat but at the same time it presents us with an opportunity as well."

Peter Trevaskis, Dell Ireland enterprise marketing manager & Paul McCord, Dell Ireland channel director

Dell is seeing a steady improvement over the year with sequential growth from quarter to quarter, says Trevaskis. "As things start to look more and more dire elsewhere, we’re trying to grow in confidence," he states. With people holding tightly onto the purse strings, it’s time for Dell to get more clever and strategic in its thinking. And as only 10% of the overall cost is wrapped up in hardware, it’s starting to look at the other 90% more closely.

Virtualisation is starting to work beyond the server level and it’s no longer just about addressing server sprawl. Now, if customers need a robust disaster recovery solution, for instance, the really good solution tends to be virtualisation. There’s also more interest in the cloud and although virtualisation is not a necessary step to the cloud environment, it’s almost becoming one as businesses try to get a more efficient enterprise to make the leap to cloud. Cloud

While interest in Ireland is focused more on the private cloud rather than the public, he believes people are definitely looking at public cloud solutions. In Dell Ireland’s case, for example, using Salesforce has helped drive down its OPEX (operating expense) costs. In the past, it was spending more than 80% of its time keeping the lights on. Now it spends 52% of the time on strategic projects and 48% on OPEX.

Dell’s performance compares well with competitors as it grows share while others are declining. "We are starting to feel pretty confident in the market," Trevaskis says. "The transformation we made over the past few years to becoming a solution provider is starting to take root." So much so that customers are starting to see Dell as a complete solutions provider to the point where it has engagements where there is no product involved.

As for the channel, McCord says it has widened its portfolio and restructured its channel programme to provide more support to the partners that do more for Dell. He admits there are still some HP legacy partners Dell would like to take on board but it’s difficult for them to move and Dell is not interested "in going in and buying business off them".

He’s very keen on distribution but it has been more difficult than he initially thought, partly because of large vested interests through the legacy business with vendors like HP and IBM. It’s also not easy with Dell’s Partner Direct model to ask partners to buy from distribution. The answer is to separate the sales model from the logistics engagement for certain partners. To assure them that Dell will still be in the background but that the distribution piece is just an extension of what it’s doing. "We’re not handing partners over lock, stock and barrel," he stresses although he believes that distribution will increasingly take on more important role. "Ultimately, all we should be doing is giving them the choice of where to buy," McCord adds.

What does 2012 hold? Trevaskis says it’s hard to gauge what will happen at the macroeconomic level but if you ignore everything going on outside Ireland, there are still plenty of prospective customers out there. "We haven’t gone to every organisation; there are a lot of people to still touch out there, to get our message to. The pressure is not coming off organisations. They’ve reached a plateau, there are those that are going down and will continue down and those that have bottomed out and are on their way back up."

Mary Lou Nolan, Cisco Ireland country manager 
According to Mary Lou Nolan, Cisco Ireland has enjoyed a surprisingly good year so far. The networking giant is nearly halfway through fiscal 2012 which ends in July next year. Things are picking up very well with the fiscal first quarter showing growth of 100%. "The momentum is there," Nolan said, "and it’s sustaining itself."

She says it’s also clear to Cisco that the twin track economy is alive and well. A lot of solutions it sells are data centre-centric and the company is doing well with multinationals based in Ireland. At the same time, there is a pent up demand in indigenous business that stopped spending in 2008 because they won’t be able to sustain that for much longer.

While Cisco is sustaining its traditional business, the emerging star is the data centre segment which grew by 300% in the fiscal first quarter. And that’s not an isolated instance as growth in the fiscal fourth quarter was up 50%. "We’re seeing really good traction with the server portfolio," Nolan adds, after a slow start where customers had perhaps been a little bit cynical about Cisco’s intentions. "It’s taken time to win mindshare," she admits, "but we’ve done it and we’ve had significant wins."

Fragile
Earlier this year, Cisco refocused its business around five areas of focus: core routing and switching business, collaboration, data centre virtualisation (including unified computing system), video and an overall architecture to tie all the elements together. Nolan says growth will come from continuing the vendor’s momentum in data centre and also in video now that Tandberg has been completely integrated into Cisco and put at the heart of its unified communications portfolio. 

As for threats, she says you only have to listen to the radio. "Everybody is a little bit worried," Nolan observes. "The biggest threat is the unknown. Things are very fragile. We’re in an unprecedented environment." And then there’s always the threat from the competition. To counter this threat, Cisco is competing very hard and being very aggressive with its pricing and marketing.

Despite the uncertainty, the channel is performing really well for Cisco. In addition, Sharptext is doing a very good job enabling second tier partners for the vendor. Nolan says it is really delivering for Cisco and helping it to reach new customers it hasn’t really engaged with before because they’ve seen it as too high end and enterprise focused. "We’re hitting what we call the long tail of the market with many deals of small value."

As for 2012, she believes that if the market sustains itself as it is and the macro environment sorts itself out, Cisco "could easily see double digit growth in 2012. The momentum is good and the traction is good".

Previous article
Next article
RELATED ARTICLES
#mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: px;} /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
Sign up for the
Technology Minute
(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='MMERGE2';ftypes[2]='text';fnames[3]='MMERGE3';ftypes[3]='text';fnames[4]='MMERGE4';ftypes[4]='text';fnames[5]='SIGNUP';ftypes[5]='text';fnames[6]='MMERGE6';ftypes[6]='imageurl';}(jQuery));var $mcj = jQuery.noConflict(true); // SMS Phone Multi-Country Functionality if(!window.MC) { window.MC = {}; } window.MC.smsPhoneData = { defaultCountryCode: 'IE', programs: [], smsProgramDataCountryNames: [] }; function getCountryUnicodeFlag(countryCode) { return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397)) }; // HTML sanitization function to prevent XSS function sanitizeHtml(str) { if (typeof str !== 'string') return ''; return str .replace(/&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, ''') .replace(/\//g, '/'); } // URL sanitization function to prevent javascript: and data: URLs function sanitizeUrl(url) { if (typeof url !== 'string') return ''; const trimmedUrl = url.trim().toLowerCase(); if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) { return '#'; } return url; } const getBrowserLanguage = () => { if (!window?.navigator?.language?.split('-')[1]) { return window?.navigator?.language?.toUpperCase(); } return window?.navigator?.language?.split('-')[1]; }; // getBrowserLanguageCode() and getSmsProgramForCountryAndLanguage() are provided globally // by the external mc-sms-phone.js script loaded alongside this inline form script. function getDefaultCountryProgram(defaultCountryCode, smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return null; } var browserCountryCode = getBrowserLanguage(); var browserLangCode = getBrowserLanguageCode(); if (browserCountryCode) { var match = getSmsProgramForCountryAndLanguage(smsProgramData, browserCountryCode, browserLangCode); if (match) { return match; } } if (defaultCountryCode) { var match = getSmsProgramForCountryAndLanguage(smsProgramData, defaultCountryCode, browserLangCode); if (match) { return match; } } return smsProgramData[0]; } function updateSmsLegalText(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } var programs = window?.MC?.smsPhoneData?.programs; if (!programs || !Array.isArray(programs)) { return; } var browserLangCode = getBrowserLanguageCode(); var program = getSmsProgramForCountryAndLanguage(programs, countryCode, browserLangCode); if (!program || !program.requiredTemplate) { return; } var smsConsentHtmlRenderingFixEnabled = true; const legalTextElement = document.querySelector('#legal-text-' + fieldName); if (!legalTextElement) { return; } const divRegex = new RegExp(']*>', 'gi'); const blockWrapperRegex = new RegExp(']*>', 'gi'); const fullAnchorRegex = new RegExp('<a.*?', 'g'); const anchorRegex = new RegExp('(.*?)'); const template = smsConsentHtmlRenderingFixEnabled ? program.requiredTemplate .replace(/\s*

]*>/gi, ' ') .replace(blockWrapperRegex, '') : program.requiredTemplate.replace(divRegex, ''); legalTextElement.textContent = ''; const parts = template.split(/(.*?)/g); parts.forEach(function(part) { if (!part) { return; } const anchorMatch = part.match(/(.+?)/); if (anchorMatch) { const linkElement = document.createElement('a'); linkElement.href = sanitizeUrl(anchorMatch[1]); linkElement.target = anchorMatch[2] ? sanitizeHtml(anchorMatch[2]) : '_blank'; linkElement.rel = 'noopener noreferrer'; linkElement.textContent = sanitizeHtml(anchorMatch[3]); legalTextElement.appendChild(linkElement); } else { legalTextElement.appendChild(document.createTextNode(part)); } }); } function generateDropdownOptions(smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return ''; } var programs = true ? smsProgramData.filter(function(p, i, arr) { return arr.findIndex(function(q) { return q.countryCode === p.countryCode; }) === i; }) : smsProgramData; return programs.map(program => { const flag = getCountryUnicodeFlag(program.countryCode); const countryName = getCountryName(program.countryCode); const callingCode = program.countryCallingCode || ''; // Sanitize all values to prevent XSS const sanitizedCountryCode = sanitizeHtml(program.countryCode || ''); const sanitizedCountryName = sanitizeHtml(countryName || ''); const sanitizedCallingCode = sanitizeHtml(callingCode || ''); return '' + sanitizedCountryName + ' ' + sanitizedCallingCode + ''; }).join(''); } function getCountryName(countryCode) { if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) { for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) { if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) { return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name; } } } return countryCode; } function getDefaultPlaceholder(countryCode) { if (!countryCode || typeof countryCode !== 'string') { return '+1 000 000 0000'; // Default US placeholder } var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; const selectedPlaceholder = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder; } function updatePlaceholder(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } const phoneInput = document.querySelector('#mce-' + fieldName); if (!phoneInput) { return; } const placeholder = getDefaultPlaceholder(countryCode); if (placeholder) { phoneInput.placeholder = placeholder; } } function updateCountryCodeInstruction(countryCode, fieldName) { updatePlaceholder(countryCode, fieldName); } function getDefaultHelpText(countryCode) { var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; if (!countryCode || typeof countryCode !== 'string') { return mockPlaceholders[0].helpText; } const selectedHelpText = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText; } function setDefaultHelpText(countryCode) { const helpTextSpan = document.querySelector('#help-text'); if (!helpTextSpan) { return; } } function updateHelpTextCountryCode(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } setDefaultHelpText(countryCode); } function initializeSmsPhoneDropdown(fieldName) { if (!fieldName || typeof fieldName !== 'string') { return; } const dropdown = document.querySelector('#country-select-' + fieldName); const displayFlag = document.querySelector('#flag-display-' + fieldName); if (!dropdown || !displayFlag) { return; } const smsPhoneData = window.MC?.smsPhoneData; if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) { dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs); } const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs); if (defaultProgram && defaultProgram.countryCode) { dropdown.value = defaultProgram.countryCode; const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode); flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag'); } updateSmsLegalText(defaultProgram.countryCode, fieldName); updatePlaceholder(defaultProgram.countryCode, fieldName); updateCountryCodeInstruction(defaultProgram.countryCode, fieldName); } var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = defaultProgram.countryCallingCode; } displayFlag?.addEventListener('click', function(e) { dropdown.focus(); }); dropdown?.addEventListener('change', function() { const selectedCountry = this.value; if (!selectedCountry || typeof selectedCountry !== 'string') { return; } const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(selectedCountry); flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag'); } const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) { return program && program.countryCode === selectedCountry; }); var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && selectedProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = selectedProgram.countryCallingCode; } updateSmsLegalText(selectedCountry, fieldName); updatePlaceholder(selectedCountry, fieldName); updateCountryCodeInstruction(selectedCountry, fieldName); }); } document.addEventListener('DOMContentLoaded', function() { const smsPhoneFields = document.querySelectorAll('[id^="country-select-"]'); smsPhoneFields.forEach(function(dropdown) { const fieldName = dropdown?.id.replace('country-select-', ''); initializeSmsPhoneDropdown(fieldName); }); });

- Advertisment -

Most Popular