{"id":2842,"date":"2026-09-14T13:38:45","date_gmt":"2026-09-14T13:38:45","guid":{"rendered":"https:\/\/www.premioculturaimpresasociale.it\/home\/check-in-19-premio-2026\/"},"modified":"2026-09-14T14:36:06","modified_gmt":"2026-09-14T14:36:06","slug":"check-in-19-premio-2026","status":"publish","type":"page","link":"https:\/\/www.premioculturaimpresasociale.it\/home\/check-in-19-premio-2026\/","title":{"rendered":"Controllo accessi staff \u2014 19\u00b0 Premio Cultura d\u2019Impresa 2026"},"content":{"rendered":"<style>.premio-checkin{max-width:820px;margin:40px auto;padding:0 18px;font-family:Arial,sans-serif;color:#10213f}.premio-checkin__head{background:linear-gradient(135deg,#071b3d,#123a6d);color:#fff;padding:32px;border-bottom:5px solid #caa04c}.premio-checkin__eyebrow{margin:0 0 8px;color:#e7c978;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.premio-checkin h1{margin:0;font-family:Georgia,serif;font-size:34px;line-height:1.1}.premio-checkin__body{padding:28px;background:#faf8f2;border:1px solid #e3d7b9}.premio-checkin label{display:block;margin-bottom:8px;font-weight:800;color:#123a6d}.premio-checkin input{box-sizing:border-box;width:100%;padding:14px;border:1px solid #a9b6c7;font:inherit}.premio-checkin button,.premio-checkin__record{display:inline-block;margin-top:13px;padding:13px 18px;background:#caa04c;color:#071b3d;border:0;font-weight:800;text-decoration:none;cursor:pointer}.premio-checkin__result{display:none;margin-top:22px;padding:18px;border-left:5px solid #caa04c;background:#fff;line-height:1.55}.premio-checkin__result.is-success{display:block;border-left-color:#287a48}.premio-checkin__result.is-error{display:block;border-left-color:#b13d33}.premio-checkin__status{display:inline-block;margin-top:8px;padding:4px 8px;font-weight:700;font-size:13px}.premio-checkin__status--pending{background:#fff1bd;color:#6d5300}.premio-checkin__status--done{background:#d8f0df;color:#155b2d}.premio-checkin__help{margin:20px 0 0;font-size:14px;line-height:1.55;color:#536174}<\/style>\n<section class=\"premio-checkin\" aria-labelledby=\"checkin-title\">\n<header class=\"premio-checkin__head\">\n<p class=\"premio-checkin__eyebrow\">Accesso riservato allo staff<\/p>\n<h1 id=\"checkin-title\">Controllo accessi<br \/>19\u00b0 Premio 2026<\/h1>\n<\/header>\n<div class=\"premio-checkin__body\">\n<p>Apri questa pagina dopo aver effettuato l\u2019accesso WordPress sul dispositivo di servizio. Usa il lettore QR del dispositivo di servizio oppure il pulsante \u201cLeggi QR con fotocamera\u201d; in alternativa, inserisci il codice manualmente.<\/p>\n<p><label for=\"premio-ticket\">Codice ticket<\/label><input id=\"premio-ticket\" autocomplete=\"off\" inputmode=\"text\" placeholder=\"Incolla o digita il codice del QR\"><button type=\"button\" id=\"premio-verifica\">Verifica registrazione<\/button><\/p>\n<div id=\"premio-esito\" class=\"premio-checkin__result\" aria-live=\"polite\"><\/div>\n<p class=\"premio-checkin__help\"><strong>Procedura:<\/strong> dopo la verifica, apri il record e usa l\u2019azione <em>Mark as Viewed<\/em> nel pannello JetFormBuilder per segnare l\u2019accesso come effettuato. Se il QR non si apre, cerca il codice o il nominativo nel record.<\/p>\n<\/div>\n<\/section>\n<p><script>(()=>{const formTitle='Registrazione online \u2014 19\u00b0 Premio Cultura d\u2019Impresa 2026';const input=document.getElementById('premio-ticket'),button=document.getElementById('premio-verifica'),result=document.getElementById('premio-esito');let nonce=window.wpApiSettings&&window.wpApiSettings.nonce;const getNonce=async()=>{if(nonce)return nonce;const r=await fetch('\/wp-admin\/admin-ajax.php?action=rest-nonce',{credentials:'same-origin'});const t=(await r.text()).trim();if(!\/^[a-f0-9]{10}$\/i.test(t))throw new Error('Sessione staff non disponibile');nonce=t;return nonce;};const esc=v=>String(v??'').replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));const readCode=raw=>{try{const u=new URL(raw);return u.searchParams.get('ticket')||raw.trim()}catch(e){return raw.trim()}};async function fields(id){const load=async page=>fetch('\/wp-json\/jet-form-builder\/v1\/records\/fields-box\/'+id+'?page='+page,{headers:{'X-WP-Nonce':nonce},credentials:'same-origin'}).then(r=>r.json());const first=await load(1);let list=[...(first.list||[])];for(let page=2;list.length<(first.total||0);page++){const next=await load(page);list=list.concat(next.list||[]);if(!(next.list||[]).length)break}return Object.fromEntries(list.map(x=>[x.name?.value?.name,x.value?.value]));}async function verify(){const code=readCode(input.value);if(!code){result.className='premio-checkin__result is-error';result.textContent='Inserisci o apri un codice ticket.';return}try{await getNonce()}catch(e){result.className='premio-checkin__result is-error';result.textContent='Questa pagina richiede una sessione WordPress per lo staff.';return}button.disabled=true;button.textContent='Verifica in corso\u2026';try{const r=await fetch('\/wp-json\/jet-form-builder\/v1\/records\/fetch-page',{headers:{'X-WP-Nonce':nonce},credentials:'same-origin'});const j=await r.json();const list=(j.list||[]).filter(x=>(x.form?.value?.text||'')===formTitle);for(const row of list){const id=row.choose?.value;const f=await fields(id);if(String(f.qr_token||'')===code){const done=(row.actions?.value||[]).some(a=>a.value==='mark_not_viewed');const status=done?'<span class=\"premio-checkin__status premio-checkin__status--done\">Gi\u00e0 segnato come verificato<\/span>':'<span class=\"premio-checkin__status premio-checkin__status--pending\">Da segnare come verificato<\/span>';result.className='premio-checkin__result is-success';result.innerHTML='<strong>Registrazione trovata<\/strong><br \/>Partecipante: '+esc(f.nome_cognome)+'<br \/>Email: '+esc(f.email)+'<br \/>Posti riservati: '+esc(f.numero_partecipanti)+'<br \/>Codice: '+esc(code)+'<br \/>'+status+'<br \/><a class=\"premio-checkin__record\" href=\"\/wp-admin\/edit.php?post_type=jet-form-builder&amp;page=jfb-records&amp;item_id='+id+'\">Apri record e conferma accesso<\/a>';return}}result.className='premio-checkin__result is-error';result.textContent='Nessuna registrazione corrispondente a questo codice.'}catch(e){result.className='premio-checkin__result is-error';result.textContent='Impossibile consultare il registro. Verifica di aver effettuato il login WordPress.'}finally{button.disabled=false;button.textContent='Verifica registrazione'}}button.addEventListener('click',verify);input.addEventListener('keydown',e=>{if(e.key==='Enter'){e.preventDefault();verify()}});const q=new URLSearchParams(location.search).get('ticket');if(q){input.value=q;verify()}})();<\/script><script id=\"premio-checkin-confirm\">(()=>{const result=document.getElementById('premio-esito');if(!result)return;const addButton=()=>{if(!\/Registrazione trovata\/.test(result.textContent)||document.getElementById('premio-conferma-accesso')||\/Gi\u00e0 segnato come verificato|Ingresso confermato\/.test(result.textContent))return;const link=result.querySelector('a.premio-checkin__record');const id=link?new URL(link.href).searchParams.get('item_id'):null;if(!id)return;const btn=document.createElement('button');btn.type='button';btn.id='premio-conferma-accesso';btn.className='premio-checkin__record';btn.textContent='Conferma ingresso';btn.addEventListener('click',async()=>{btn.disabled=true;btn.textContent='Conferma in corso\u2026';try{const nr=(await fetch('https:\/\/www.premioculturaimpresasociale.it\/wp-admin\/admin-ajax.php?action=rest-nonce',{credentials:'same-origin'}).then(r=>r.text())).trim();if(!\/^[a-f0-9]{10}$\/i.test(nr))throw new Error('sessione non disponibile');const response=await fetch('https:\/\/www.premioculturaimpresasociale.it\/wp-json\/jet-form-builder\/v1\/records-table\/view',{method:'POST',headers:{'X-WP-Nonce':nr,'Content-Type':'application\/json'},credentials:'same-origin',body:JSON.stringify({checked:[Number(id)]})});if(!response.ok)throw new Error('aggiornamento non riuscito');btn.remove();const status=result.querySelector('.premio-checkin__status');if(status){status.className='premio-checkin__status premio-checkin__status--done';status.textContent='Ingresso confermato';}const note=document.createElement('p');note.style.cssText='margin:12px 0 0;font-weight:800;color:#155b2d';note.textContent='Check-in registrato correttamente.';result.append(note);}catch(error){btn.disabled=false;btn.textContent='Riprova conferma ingresso';const note=document.createElement('p');note.style.cssText='margin:12px 0 0;font-weight:800;color:#b13d33';note.textContent='Impossibile confermare l\u2019ingresso. Verifica la sessione WordPress.';result.append(note);}});result.append(btn);};new MutationObserver(addButton).observe(result,{childList:true,subtree:true});addButton();})();<\/script><script id=\"premio-camera-reader\">(()=>{const verify=document.getElementById('premio-verifica'),input=document.getElementById('premio-ticket');if(!verify||!input||document.getElementById('premio-leggi-qr'))return;const button=document.createElement('button');button.type='button';button.id='premio-leggi-qr';button.className='premio-checkin__record';button.style.marginLeft='8px';button.textContent='Leggi QR con fotocamera';const message=document.createElement('p');message.id='premio-camera-message';message.style.cssText='margin:10px 0 0;font-weight:700;color:#173c72';button.addEventListener('click',async()=>{if(!('BarcodeDetector' in window)||!navigator.mediaDevices?.getUserMedia){message.textContent='La fotocamera QR non \u00e8 supportata su questo dispositivo: usa un lettore QR oppure inserisci il codice manualmente.';return;}let stream;try{button.disabled=true;button.textContent='Fotocamera in avvio\u2026';stream=await navigator.mediaDevices.getUserMedia({video:{facingMode:{ideal:'environment'}},audio:false});const video=document.createElement('video');video.setAttribute('playsinline','');video.autoplay=true;video.muted=true;video.style.cssText='display:block;width:100%;max-width:360px;margin:14px 0;border:3px solid #caa04c;border-radius:4px';message.after(video);video.srcObject=stream;await video.play();const detector=new BarcodeDetector({formats:['qr_code']});message.textContent='Inquadra il QR del partecipante.';const scan=async()=>{try{const codes=await detector.detect(video);const code=codes[0]?.rawValue?.trim();if(code){input.value=code;input.dispatchEvent(new Event('input',{bubbles:true}));stream.getTracks().forEach(track=>track.stop());video.remove();button.disabled=false;button.textContent='Leggi QR con fotocamera';message.textContent='Codice acquisito. Verifica in corso\u2026';verify.click();return;}}catch(error){}requestAnimationFrame(scan);};scan();}catch(error){if(stream)stream.getTracks().forEach(track=>track.stop());button.disabled=false;button.textContent='Leggi QR con fotocamera';message.textContent='Impossibile aprire la fotocamera. Verifica l\u2019autorizzazione oppure inserisci il codice manualmente.';}});verify.after(button);button.after(message);})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Accesso riservato allo staff Controllo accessi19\u00b0 Premio 2026 Apri questa pagina dopo aver effettuato l\u2019accesso WordPress sul dispositivo di servizio. Usa il lettore QR del dispositivo di servizio oppure il pulsante \u201cLeggi QR con fotocamera\u201d; in alternativa, inserisci il codice manualmente. Codice ticketVerifica registrazione Procedura: dopo la verifica, apri il record e usa l\u2019azione Mark [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2842","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/pages\/2842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/comments?post=2842"}],"version-history":[{"count":5,"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/pages\/2842\/revisions"}],"predecessor-version":[{"id":2854,"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/pages\/2842\/revisions\/2854"}],"wp:attachment":[{"href":"https:\/\/www.premioculturaimpresasociale.it\/home\/wp-json\/wp\/v2\/media?parent=2842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}