<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> <%@ taglib prefix="fsp" uri="FIRSTpersonalisation" %> <%! /** * Checks if goven roles are contained by roles cookie. checkAllRoles defines, if all roles need to be in cookie (-> true) or just one of them (-> false) **/ private boolean checkRoles(Cookie[] cookies, java.util.List roles, boolean checkAllRoles, boolean negateCondition) { boolean returnValue = true; if (roles!= null && !roles.isEmpty()) { java.util.List currentRoles = new java.util.ArrayList(); if (cookies != null) { for (Cookie currentCookie : cookies) { if (currentCookie.getName().equals("GRIT.GWA.ROLES")) { String value = currentCookie.getValue(); if (value != null && !"".equals(value)) { String decryptValue = decrypt(value); if (decryptValue != null) { String[] valueArray = decryptValue.split(","); java.util.Collections.addAll(currentRoles, valueArray); } } } } } if (negateCondition) { if (checkAllRoles) { // if one role from roles is contained by currentRoles, return true, // because we need to check if ALL roles from roles are contained by currentRoles returnValue = true; for (Object role : roles) { returnValue = returnValue && currentRoles.contains((String)role); } } else { returnValue = true; // if one role from roles is contained by currentRoles, return false for (Object role : roles) { if (currentRoles.contains((String)role)) { returnValue = false; } } } } else { // regular check if (checkAllRoles) { // all roles from roles must be contained by currentRoles returnValue = currentRoles.containsAll(roles); } else { returnValue = false; // only one role from roles must be contained by currentRoles for (Object role : roles) { if (currentRoles.contains((String)role)) { returnValue = true; } } } } } return returnValue; } /** * Compute key for decryption **/ private static javax.crypto.spec.SecretKeySpec setKey(char[] myKey) { java.security.MessageDigest sha; javax.crypto.spec.SecretKeySpec secretKey = null; try { final java.nio.ByteBuffer bb = java.nio.charset.StandardCharsets.UTF_8.encode(java.nio.CharBuffer.wrap(myKey)); byte[] key = new byte[bb.remaining()]; bb.get(key); sha = java.security.MessageDigest.getInstance("SHA-256"); key = sha.digest(key); key = java.util.Arrays.copyOf(key, 16); secretKey = new javax.crypto.spec.SecretKeySpec(key, "AES"); } catch (java.security.NoSuchAlgorithmException e) { // do nothing } return secretKey; } /** * Decrypt given string **/ public static String decrypt(String strToDecrypt) { try { javax.crypto.spec.SecretKeySpec secretKey = setKey("CHANGE-ME-GROHEWEBAPP".toCharArray()); javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("AES"); cipher.init(javax.crypto.Cipher.DECRYPT_MODE, secretKey); return new String(cipher.doFinal(java.util.Base64.getUrlDecoder().decode(strToDecrypt))); } catch (Exception e) { // do nothing } return ""; } private String showRoles(Cookie[] cookies) { String returnValue = ""; if (cookies != null) { for (Cookie currentCookie : cookies) { if (currentCookie.getName().equals("GRIT.GWA.ROLES")) { String value = currentCookie.getValue(); if (value != null && !"".equals(value)) { returnValue = decrypt(value); } } } } return returnValue; } private boolean checkRolesSet(Cookie[] cookies) { boolean returnValue = false; if (cookies != null) { for (Cookie currentCookie : cookies) { if (currentCookie.getName().equals("GRIT.GWA.ROLES")) { returnValue = true; break; } } } return returnValue; } public boolean includeContentByTargetGroup(String allowedGroups, String targetGroup) { return allowedGroups.contains(targetGroup); } %> <% java.util.Set possibleCookieValues = new java.util.HashSet(); possibleCookieValues.add("daa"); possibleCookieValues.add("end"); possibleCookieValues.add("inst"); java.lang.String targetGroupCookieValue = ""; if(request != null){ java.lang.String targetGroupRequestParameter = request.getParameter("target_group"); if(targetGroupRequestParameter != null && !targetGroupRequestParameter.isEmpty() && possibleCookieValues.contains(targetGroupRequestParameter)){ targetGroupCookieValue = targetGroupRequestParameter; javax.servlet.http.Cookie targetGroupCookie = new javax.servlet.http.Cookie("target_group", targetGroupRequestParameter); targetGroupCookie.setPath("/"); response.addCookie(targetGroupCookie); } //String targetGroup = getTargetGroupFromCookie(); } %> <%@ taglib prefix="fsp" uri="FIRSTpersonalisation" %> | GROHE
<% boolean set_secondary_nav_open = false; String cookieValue = ""; if (targetGroupCookieValue != null && !targetGroupCookieValue.isEmpty()) { cookieValue = targetGroupCookieValue; } else if (request != null) { Cookie[] cookies = request.getCookies(); String cookieName = "target_group"; if (cookies != null) { for (Cookie currentCookie : cookies) { if (currentCookie.getName().equals(cookieName)) { if (currentCookie.getValue() != null) { cookieValue = currentCookie.getValue(); } } } } } %><% boolean daa = includeContentByTargetGroup("daa",cookieValue); boolean daa_inst = includeContentByTargetGroup("daa_inst",cookieValue); boolean daa_end = includeContentByTargetGroup("daa_end",cookieValue); boolean daa_end_inst = includeContentByTargetGroup("daa_end_inst",cookieValue); boolean end = includeContentByTargetGroup("end",cookieValue); boolean end_inst = includeContentByTargetGroup("end_inst",cookieValue); boolean inst = includeContentByTargetGroup("inst",cookieValue); %>

CONDIZIONI DI PARTECIPAZIONE

<% boolean showContent1618990512761 = true; if(showContent1618990512761) {%>

1. Criteri di ammissibilità

1.1 GROHE offre, nell’ambito dell’iniziativa promozionale soluzioni per l’acqua GROHE, un accredito di 100 CHF per i costi di montaggio per le soluzioni per l’acqua GROHE acquistate in Svizzera.

1.2 Per poter richiedere l’accredito nell’ambito della nostra iniziativa promozionale è necessario aver acquistato il prodotto con un’unica transazione nel periodo compreso tra il 1° agosto 2018 e il 31 dicembre 2020. I 100 CHF verranno addebitati soltanto documentando i costi di montaggio sulla copia della ricevuta di acquisto di una soluzione GROHE Blue Home o GROHE Red. Il rimborso viene effettuato esclusivamente sulla base della ricevuta dell’installatore, trasmessa dal destinatario della ricevuta.

1.3 Tutti gli altri prodotti sono esclusi dalla presente iniziativa. Sono parimenti esclusi dalla presente iniziativa gli acquisti avvenuti al di fuori del periodo di validità della stessa, nonché gli acquisti di prodotti di seconda mano, rigenerati riparati o copiati.

1.4 Per partecipare è necessario avere almeno 18 anni ed essere residenti in Svizzera. Inoltrando la richiesta si dichiara di accettare le Condizioni Generali.

1.5 L’iniziativa promozionale non è cumulabile con altre promozioni o iniziative.

1.6 Le richieste sono limitate a un prodotto per ogni casa. Non hanno diritto a inoltrare richieste i collaboratori di GROHE, né le persone in altro modo legate all’azienda, alle sue filiali o alle sue rappresentanze. GROHE esclude ogni richiesta di questo tipo.

2. Riscossione

2.1 Per poter fare richiesta dell’accredito, è necessario segnalare l’acquisto avvalendosi del modulo online su https://www.grohe.ch/it_ch/wassersysteme-aktion/ e caricare la ricevuta d’acquisto con indicazione dei costi di montaggio e della data d’acquisto. Tutte le richieste devono pervenire entro le 0.00 del 31 gennaio 2020. Non si accettano richieste pervenute oltre tale data.

2.2 GROHE non si assume nessuna responsabilità per le richieste che in fase di invio vengono perse, deviate, inoltrate o danneggiate o per le richieste pervenute in ritardo indipendentemente dalle cause. Questo comprende anche ad esempio errori postali, malfunzionamenti tecnici, problemi tecnici di qualsiasi tipo sui sistemi, satelliti, reti, server, computer, hardware e software. Le richieste pervenute via fax o telefono non verranno prese in considerazione. I moduli illeggibili, incompleti o modificati non sono validi, come non lo sono le richieste contenenti moduli che non sono stati compilati secondo le Condizioni Generali. GROHE non riconosce ricevute di accettazione postale o prove di trasmissione come prova di validità della richiesta.

3. Accredito

3.1 Invitiamo ad attendere fino a 28 giorni a partire dalla data di ricezione della richiesta inviata tramite modulo corredata dai documenti necessari, dal momento che la richiesta dovrà prima essere elaborata e dovranno essere eseguiti i necessari controlli volti a verificare che la stessa rispetti le Condizioni Generali.

3.2 Se la richiesta soddisfa i criteri necessari si riceverà l’importo accreditato. L’importo viene accreditato dopo la ricezione e verifica della richiesta.

4. Varie

4.1 GROHE si riserva il diritto di ritirare, modificare o sostituire l’iniziativa promozionale o le presenti Condizioni Generali senza preavviso. Nel caso in cui per circostanze imprevedibili questo risulti inevitabile, i diritti del cliente rimangono validi.

4.2 GROHE si riserva il diritto di controllare che ogni richiedente abbia le credenziali per poter partecipare al fine di tutelarsi illimitatamente contro richieste fraudolente, non valide o ripetute. È responsabilità del richiedente provare che il prodotto non sia stato restituito entro i 28 giorni dalla data della consegna o dell’acquisto. Le richieste relative a prodotti che sono stati restituiti, nonché richieste maligne o fraudolente, o altre richieste che non rispettano le Condizioni Generali non sono valide.

4.3 Nella misura in cui il contesto giuridico lo permette, GROHE esclude ogni responsabilità per perdita, danneggiamento o violazione di ogni tipo, indipendentemente dalle cause, di cui il richiedente sia vittima nell’ambito della presente iniziativa promozionale. Le presenti Condizioni Generali non escludono in nessun caso la responsabilità di GROHE per danni personali o morte causata dai collaboratori o rappresentanti di GROHE.

4.4 Tutti i dati personali messi a disposizione saranno utilizzati da GROHE e dai suoi rappresentanti o aziende del gruppo, nel rispetto dell’informativa sulla privacy esclusivamente ai fini dell’iniziativa promozionale.

4.5 L’iniziativa promozionale è promossa da GROHE Deutschland Vertriebs GmbH. Tutti i simboli della merce sono di proprietà o di licenza di GROHE. GROHE si impegna adeguatamente affinché tutte le informazioni messe a disposizione del cliente siano corrette, complete e aggiornate. Questo non garantisce che le stesse siano prive di errori.

<% } // end of if %>